@marimo-team/frontend 0.17.7 → 0.17.8

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 (856) hide show
  1. package/dist/assets/CellStatus-DPXKKvLP.js +1 -0
  2. package/dist/assets/Combination-CJczP3q7.js +41 -0
  3. package/dist/assets/ConnectedDataExplorerComponent-CrybKOL3.js +1 -0
  4. package/dist/assets/ConsoleOutput-BwPQWTZk.js +4 -0
  5. package/dist/assets/ErrorBoundary-Bu1xrDr8.js +1 -0
  6. package/dist/assets/ImageComparisonComponent-8Ap5uC96.js +1 -0
  7. package/dist/assets/ImperativeModal-kroC_7ut.js +1 -0
  8. package/dist/assets/Inputs-BbLBkwsf.js +1 -0
  9. package/dist/assets/LazyAnyLanguageCodeMirror-C5EeHVjE.js +2 -0
  10. package/dist/assets/MarimoErrorOutput-CkZl2oHu.js +9 -0
  11. package/dist/assets/Output-bwodJiCi.js +142 -0
  12. package/dist/assets/RenderHTML-DII6L-pL.js +1 -0
  13. package/dist/assets/SSRProvider-3gFeNiun.js +1 -0
  14. package/dist/assets/TinyCode-DJQhIrSL.js +1 -0
  15. package/dist/assets/VisuallyHidden-BhVlvbgE.js +1 -0
  16. package/dist/assets/__vite-browser-external-CuxDRaqz.js +1 -0
  17. package/dist/assets/__vite-browser-external-D9FJ-Z-a.js +1 -0
  18. package/dist/assets/activity-BNdjhxvI.js +1 -0
  19. package/dist/assets/add-cell-with-ai-B5g8vtHB.js +81 -0
  20. package/dist/assets/add-database-form-B0YECN2g.js +111 -0
  21. package/dist/assets/add-missing-import-CgnlhMvv.js +1 -0
  22. package/dist/assets/agent-panel-BYnzVe0R.js +287 -0
  23. package/dist/assets/ai-model-dropdown-BuNmF2aO.js +2 -0
  24. package/dist/assets/alert-DZiaW65G.js +1 -0
  25. package/dist/assets/alert-dialog-DkIHCxse.js +11 -0
  26. package/dist/assets/any-language-editor-B7W68S9J.js +3 -0
  27. package/dist/assets/api-B8WZp3pa.js +1 -0
  28. package/dist/assets/apl-DiFyycVh.js +1 -0
  29. package/dist/assets/app-config-button-BnK3MhdN.js +1 -0
  30. package/dist/assets/arc-b6bpmWtg.js +1 -0
  31. package/dist/assets/architecture-O4VJ6CD3-D5UQoxsD.js +1 -0
  32. package/dist/assets/architectureDiagram-W76B3OCA-1_iwowZU.js +36 -0
  33. package/dist/assets/arrow-left-qLn5JMUD.js +1 -0
  34. package/dist/assets/asciiarmor-BAWhqgpM.js +1 -0
  35. package/dist/assets/asn1-CtTMtM_b.js +1 -0
  36. package/dist/assets/badge-DrRlgkPx.js +1 -0
  37. package/dist/assets/between-horizontal-start-DDhAeomy.js +1 -0
  38. package/dist/assets/blockDiagram-QIGZ2CNN-DCAPq0ef.js +122 -0
  39. package/dist/assets/brainfuck-D-g39Tsa.js +1 -0
  40. package/dist/assets/bundle.esm-CC-LjhS-.js +1 -0
  41. package/dist/assets/button-DCB7VoVL.js +1 -0
  42. package/dist/assets/c4Diagram-FPNF74CW-4lagj5hx.js +10 -0
  43. package/dist/assets/cache-panel-BLbtgeIs.js +1 -0
  44. package/dist/assets/capabilities-MLRWIHmO.js +1 -0
  45. package/dist/assets/cell-actions-CwdXjy3R.js +1 -0
  46. package/dist/assets/cell-editor-D0N0SRM2.js +23 -0
  47. package/dist/assets/cell-link-CGc-QK-U.js +1 -0
  48. package/dist/assets/cells-CAMtfgeb.js +143 -0
  49. package/dist/assets/channel-BPB6RU50.js +1 -0
  50. package/dist/assets/chart-no-axes-column-C14EHesU.js +1 -0
  51. package/dist/assets/chat-components-BFOUN3AU.js +4 -0
  52. package/dist/assets/chat-panel-B_haFrpw.js +3 -0
  53. package/dist/assets/check-DqnGmZZE.js +1 -0
  54. package/dist/assets/chevron-right-Bu29x-gp.js +1 -0
  55. package/dist/assets/chunk-3AY6CYHV-DcvWgaJi.js +7 -0
  56. package/dist/assets/chunk-4BX2VUAB-CvXXOeUJ.js +1 -0
  57. package/dist/assets/chunk-55IACEB6-BD22fxS8.js +1 -0
  58. package/dist/assets/chunk-6OXUPJBA-D35vZZTe.js +2 -0
  59. package/dist/assets/chunk-7GE3RBXV-Ds_00JTJ.js +1 -0
  60. package/dist/assets/chunk-ABZYJK2D-4pv2vB7F.js +80 -0
  61. package/dist/assets/chunk-BN7GFLIU-B1gloQOG.js +1 -0
  62. package/dist/assets/chunk-CVBHYZKI-SXlNTOC2.js +1 -0
  63. package/dist/assets/chunk-CXMOBAN2-I90XR5Ox.js +54 -0
  64. package/dist/assets/chunk-EXTU4WIE-C6pnnksK.js +1 -0
  65. package/dist/assets/chunk-FMBD7UC4-CDBZqENA.js +15 -0
  66. package/dist/assets/chunk-JA3XYJ7Z-B2fvRAXr.js +11 -0
  67. package/dist/assets/chunk-JEIROHC2-CnPazemR.js +1 -0
  68. package/dist/assets/chunk-K7UQS3LO-CHpuNy1n.js +165 -0
  69. package/dist/assets/chunk-KMC2YHZD-B3DMNOXh.js +1 -0
  70. package/dist/assets/chunk-QN33PNHL-smsGJyAL.js +1 -0
  71. package/dist/assets/chunk-QYVHNE3D-BzVwaz8x.js +1 -0
  72. package/dist/assets/chunk-QZHKN3VN-tC69h88k.js +1 -0
  73. package/dist/assets/chunk-S3R3BYOJ-Oudh3LU4.js +2 -0
  74. package/dist/assets/chunk-T44TD3VJ-BZiyoqMg.js +1 -0
  75. package/dist/assets/chunk-TVAH2DTR-Cpequ-Jj.js +220 -0
  76. package/dist/assets/chunk-TZMSLE5B-DjoDt_XA.js +1 -0
  77. package/dist/assets/chunk-WFRQ32O7-CbRYDoKx.js +1 -0
  78. package/dist/assets/chunk-WFWHJNB7-CsCaphr8.js +1 -0
  79. package/dist/assets/chunk-XRWGC2XP-yBfdbqfJ.js +1 -0
  80. package/dist/assets/chunk-ZPAFE4SF-Di6HadFg.js +32 -0
  81. package/dist/assets/circle-check-CBK5T4zt.js +1 -0
  82. package/dist/assets/circle-play-CeluX0l1.js +1 -0
  83. package/dist/assets/circle-plus-gt8rkr_9.js +1 -0
  84. package/dist/assets/circle-x-65ujNh_O.js +1 -0
  85. package/dist/assets/classDiagram-KNZD7YFC-BnNfNWns.js +1 -0
  86. package/dist/assets/classDiagram-v2-RKCZMP56-Clk73TSx.js +1 -0
  87. package/dist/assets/clear-button-BVzc0Myi.js +1 -0
  88. package/dist/assets/click-outside-container-C6DEV18a.js +1 -0
  89. package/dist/assets/client-DwlQbzrX.js +2 -0
  90. package/dist/assets/clike-Del1aM7V.js +1 -0
  91. package/dist/assets/clipboard-paste-BBZtk4_E.js +1 -0
  92. package/dist/assets/clojure-DmTswoFG.js +1 -0
  93. package/dist/assets/cmake-DAoCuUDE.js +1 -0
  94. package/dist/assets/cobol-BE9N6AQ-.js +1 -0
  95. package/dist/assets/coffeescript-BRP8S7ZW.js +1 -0
  96. package/dist/assets/column-preview-CEDUFvMb.js +1 -0
  97. package/dist/assets/command-CgWi9W7A.js +1 -0
  98. package/dist/assets/command-palette-ChAq8XO9.js +1 -0
  99. package/dist/assets/common-CO0-iaVr.js +1 -0
  100. package/dist/assets/commonlisp-BS8oQjGE.js +1 -0
  101. package/dist/assets/compiler-runtime-bbSa6V1W.js +1 -0
  102. package/dist/assets/config-DOzlN8_n.js +1 -0
  103. package/dist/assets/connection-DOETP_K0.js +1 -0
  104. package/dist/assets/context-By5V2JVn.js +1 -0
  105. package/dist/assets/copy-4VJP-N0g.js +1 -0
  106. package/dist/assets/copy-icon-DFLZbTfh.js +1 -0
  107. package/dist/assets/copy-zuiMeyCQ.js +1 -0
  108. package/dist/assets/cose-bilkent-S5V4N54A-B9AnQXpu.js +1 -0
  109. package/dist/assets/createLucideIcon-DbfgBYhq.js +1 -0
  110. package/dist/assets/createReducer-CTvsuJZY.js +1 -0
  111. package/dist/assets/crystal-CRDMNjDv.js +1 -0
  112. package/dist/assets/css-us97Iddy.js +1 -0
  113. package/dist/assets/cypher-CBH6XzVc.js +1 -0
  114. package/dist/assets/cytoscape.esm-Cim8wi13.js +321 -0
  115. package/dist/assets/d-CKwQ35PI.js +1 -0
  116. package/dist/assets/dagre-5GWH7T2D-DWxayQuB.js +4 -0
  117. package/dist/assets/data-grid-overlay-editor-CAOCvAeu.js +1 -0
  118. package/dist/assets/database-zap-90vKfRkX.js +1 -0
  119. package/dist/assets/datasources-panel-BhiR0CNG.js +1 -0
  120. package/dist/assets/dependency-graph-panel-bUxgpxDE.js +4 -0
  121. package/dist/assets/diagram-N5W7TBWH-D3ZhjCs3.js +24 -0
  122. package/dist/assets/diagram-QEK2KX5R-Cb35QTLr.js +43 -0
  123. package/dist/assets/diagram-S2PKOQOG-CIOc0Udk.js +24 -0
  124. package/dist/assets/dialog-DZWinI5N.js +1 -0
  125. package/dist/assets/diff-BtPrcYlV.js +1 -0
  126. package/dist/assets/dist--8e9VGsl.js +1 -0
  127. package/dist/assets/dist-0FJpM7wG.js +1 -0
  128. package/dist/assets/dist-2rBXr-aS.js +1 -0
  129. package/dist/assets/dist-4GQeuWFQ.js +1 -0
  130. package/dist/assets/dist-B1wJF59y.js +1 -0
  131. package/dist/assets/dist-BFSjfL-I.js +2 -0
  132. package/dist/assets/dist-BGeFWVD6.js +1 -0
  133. package/dist/assets/dist-BGgBzoiO.js +1 -0
  134. package/dist/assets/dist-BN-1z8mm.js +1 -0
  135. package/dist/assets/dist-BUfDRi87.js +1 -0
  136. package/dist/assets/dist-BdkKJ3G3.js +1 -0
  137. package/dist/assets/dist-BrS3KFEl.js +1 -0
  138. package/dist/assets/dist-Bu5OuYeo.js +1 -0
  139. package/dist/assets/dist-BuEd4VGV.js +1 -0
  140. package/dist/assets/dist-Bw_ceTOd.js +1 -0
  141. package/dist/assets/dist-C6GW8SWp.js +13 -0
  142. package/dist/assets/dist-CAFoFFJF.js +1 -0
  143. package/dist/assets/dist-CIThMDB8.js +1 -0
  144. package/dist/assets/dist-CJIkd1DM.js +1 -0
  145. package/dist/assets/dist-CNZQfa8W.js +1 -0
  146. package/dist/assets/dist-COUwO6Q6.js +1 -0
  147. package/dist/assets/dist-CXTAKsYC.js +1 -0
  148. package/dist/assets/dist-CZkQ2hcE.js +1 -0
  149. package/dist/assets/dist-CbT0RiD0.js +260 -0
  150. package/dist/assets/dist-Cl7otIMy.js +3 -0
  151. package/dist/assets/dist-CmEn1nMp.js +1 -0
  152. package/dist/assets/dist-Cn3C5h2V.js +1 -0
  153. package/dist/assets/dist-CoVfzd-4.js +1 -0
  154. package/dist/assets/dist-CrvuMM2L.js +1 -0
  155. package/dist/assets/dist-CvIoRIOp.js +2 -0
  156. package/dist/assets/dist-CzaCAuEN.js +1 -0
  157. package/dist/assets/dist-D4dFcbt8.js +7 -0
  158. package/dist/assets/dist-D5QNAo1x.js +1 -0
  159. package/dist/assets/dist-D84pVwY7.js +1 -0
  160. package/dist/assets/dist-DFOg0cu_.js +1 -0
  161. package/dist/assets/dist-DOLcWI7m.js +1 -0
  162. package/dist/assets/dist-DSJ2ZFEM.js +1 -0
  163. package/dist/assets/dist-DXvMjqJ4.js +1 -0
  164. package/dist/assets/dist-DZAt7AHl.js +1 -0
  165. package/dist/assets/dist-DrAMGx2E.js +6 -0
  166. package/dist/assets/dist-Ducx4jqX.js +1 -0
  167. package/dist/assets/dist-DvTgOH5F.js +13 -0
  168. package/dist/assets/dist-ORyWvZpp.js +1 -0
  169. package/dist/assets/dist-SXxUBTmG.js +1 -0
  170. package/dist/assets/dist-USFTKxJR.js +1 -0
  171. package/dist/assets/dist-YP2XXp1Z.js +3 -0
  172. package/dist/assets/dist-_GzJQFYT.js +1 -0
  173. package/dist/assets/dist-rxj5KoqT.js +1 -0
  174. package/dist/assets/dockerfile-fDdOK3ov.js +1 -0
  175. package/dist/assets/documentation-panel-DDZFqk2y.js +1 -0
  176. package/dist/assets/download-BYnrx3yk.js +1 -0
  177. package/dist/assets/download-C81Fxkfa.js +2 -0
  178. package/dist/assets/dropdown-menu-k3cvSs56.js +1 -0
  179. package/dist/assets/dtd-BNqeF3HB.js +1 -0
  180. package/dist/assets/dylan-C2KE_ARv.js +1 -0
  181. package/dist/assets/ecl-CLD3EYom.js +1 -0
  182. package/dist/assets/edit-page-B50Sqg43.js +12 -0
  183. package/dist/assets/eiffel-C3QxGicN.js +1 -0
  184. package/dist/assets/ellipsis-mCYmaIQe.js +1 -0
  185. package/dist/assets/ellipsis-vertical-GzpLMS30.js +1 -0
  186. package/dist/assets/elm-Dc9b15sa.js +1 -0
  187. package/dist/assets/empty-state-Dfk0qult.js +1 -0
  188. package/dist/assets/en-US-Cok_jNd9.js +1 -0
  189. package/dist/assets/erDiagram-AWTI2OKA-D8ge3j7Z.js +60 -0
  190. package/dist/assets/erlang-59AUz-n0.js +1 -0
  191. package/dist/assets/error-banner-B98iBZZ2.js +1 -0
  192. package/dist/assets/error-panel-ChSJzsqJ.js +1 -0
  193. package/dist/assets/es-Bve1w9dd.js +5 -0
  194. package/dist/assets/esm-BJLcBgU0.js +1 -0
  195. package/dist/assets/esm-DXZXojh_.js +1 -0
  196. package/dist/assets/eye-off-DNEZNQI7.js +1 -0
  197. package/dist/assets/factor-B2ESt4eh.js +1 -0
  198. package/dist/assets/factor-DIE032fN.js +1 -0
  199. package/dist/assets/field-D6TVJZGU.js +1 -0
  200. package/dist/assets/file-DU2hKpP7.js +1 -0
  201. package/dist/assets/file-explorer-panel-D1u7ZSov.js +1 -0
  202. package/dist/assets/file-plus-2-C6zNvKzj.js +1 -0
  203. package/dist/assets/file-text-KeEJTZsk.js +1 -0
  204. package/dist/assets/file-video-camera-Bt4f7oOT.js +1 -0
  205. package/dist/assets/floating-outline-DJ1FXuVN.js +1 -0
  206. package/dist/assets/flowDiagram-PVAE7QVJ-C8c0HQqL.js +162 -0
  207. package/dist/assets/focus-Bg0Cm8D6.js +1 -0
  208. package/dist/assets/form-CAATHPdC.js +2 -0
  209. package/dist/assets/form-x7Qa7Rrh.js +1 -0
  210. package/dist/assets/formats-Dmio8FVx.js +1 -0
  211. package/dist/assets/forth-DjCo7dIs.js +1 -0
  212. package/dist/assets/fortran-CZmOENAN.js +1 -0
  213. package/dist/assets/ganttDiagram-OWAHRB6G-BYhkRcPP.js +267 -0
  214. package/dist/assets/gas-SoBzL_Tr.js +1 -0
  215. package/dist/assets/gherkin-DLggx8YE.js +1 -0
  216. package/dist/assets/gitGraph-ZV4HHKMB-DxnUFMI1.js +1 -0
  217. package/dist/assets/gitGraphDiagram-NY62KEGX-CCC74nFs.js +65 -0
  218. package/dist/assets/glide-data-editor-BiQxT1mz.js +132 -0
  219. package/dist/assets/globals-DlvGFwxH.js +1 -0
  220. package/dist/assets/globe-DW6c4--m.js +1 -0
  221. package/dist/assets/groovy-9IQPpZra.js +1 -0
  222. package/dist/assets/haskell-CgXYOX9c.js +1 -0
  223. package/dist/assets/haxe-aSjlIDiq.js +1 -0
  224. package/dist/assets/home-page-Ow0eLqO9.js +4 -0
  225. package/dist/assets/icons-DVWpV4I_.js +1 -0
  226. package/dist/assets/idl-BADcUAqn.js +1 -0
  227. package/dist/assets/image-DVFLPjWH.js +1 -0
  228. package/dist/assets/index-CYOH-TAt.css +2 -0
  229. package/dist/assets/index-DUlb-6KU.js +44 -0
  230. package/dist/assets/info-63CPKGFF-CGz90yJ6.js +1 -0
  231. package/dist/assets/infoDiagram-STP46IZ2-e1r2QvWV.js +2 -0
  232. package/dist/assets/input-lkQFhlrZ.js +1 -0
  233. package/dist/assets/isValid-BhOWABEg.js +1 -0
  234. package/dist/assets/javascript-C7hPrwf3.js +1 -0
  235. package/dist/assets/jotai-C7U7c6dd.js +1 -0
  236. package/dist/assets/journeyDiagram-BIP6EPQ6-l_zOcPgv.js +139 -0
  237. package/dist/assets/kanban-definition-6OIFK2YF-DCaGC54T.js +89 -0
  238. package/dist/assets/katex-CmcM9wns.js +1 -0
  239. package/dist/assets/kbd-BEZA_QXE.js +1 -0
  240. package/dist/assets/key-CaC9xuXQ.js +1 -0
  241. package/dist/assets/kiosk-mode-DIAVlB9d.js +1 -0
  242. package/dist/assets/label-BnC8-64i.js +1 -0
  243. package/dist/assets/layout-BITT6czF.js +4 -0
  244. package/dist/assets/lazy-NLnLn6Pi.js +2 -0
  245. package/dist/assets/line-BCUKzinT.js +1 -0
  246. package/dist/assets/linear-B0yoSdze.js +1 -0
  247. package/dist/assets/link-CWX-dQ90.js +1 -0
  248. package/dist/assets/links-Cd3tV5IK.js +1 -0
  249. package/dist/assets/links-Lztpt8X-.js +1 -0
  250. package/dist/assets/logs-panel-D8uwhqvR.js +1 -0
  251. package/dist/assets/loro_wasm_bg-C1LA9JRY.js +1 -0
  252. package/dist/assets/maps-B9m998ly.js +1 -0
  253. package/dist/assets/menu-items-CKlDAcIy.js +1 -0
  254. package/dist/assets/mermaid-CEnPf8cP.js +1 -0
  255. package/dist/assets/mermaid-parser.core-1z0w_R7X.js +4 -0
  256. package/dist/assets/mermaid.core-B_mKPVgh.js +11 -0
  257. package/dist/assets/mermaid.core-P1tMYu0J.js +1 -0
  258. package/dist/assets/mhchem-BxE_4AeM.js +1 -0
  259. package/dist/assets/mindmap-definition-Q6HEUPPD-BOzcEjkC.js +68 -0
  260. package/dist/assets/mllike-CvMT7BHA.js +1 -0
  261. package/dist/assets/mode-BAOMKXFj.js +1 -0
  262. package/dist/assets/multi-icon-DgSEPrIf.js +1 -0
  263. package/dist/assets/multi-map-CMSc8wqP.js +1 -0
  264. package/dist/assets/name-cell-input-kfZkR5qv.js +1 -0
  265. package/dist/assets/nsis-Bu9c7jg8.js +1 -0
  266. package/dist/assets/nsis-z1VCt9tx.js +1 -0
  267. package/dist/assets/number-overlay-editor-4hcbz-Xy.js +9 -0
  268. package/dist/assets/numbers-BrVMv_xq.js +1 -0
  269. package/dist/assets/ordinal-B3kMb9G4.js +1 -0
  270. package/dist/assets/outline-panel-PgZ3OoWh.js +1 -0
  271. package/dist/assets/packages-panel-w4yEg0ed.js +1 -0
  272. package/dist/assets/packet-HUATNLJX-CG6ZWPeY.js +1 -0
  273. package/dist/assets/panels-Cs4PsVT4.js +1 -0
  274. package/dist/assets/pie-WTHONI2E-DySJN2Hx.js +1 -0
  275. package/dist/assets/pieDiagram-ADFJNKIX-Cyw5_yhH.js +30 -0
  276. package/dist/assets/plug-DZNnmiy1.js +1 -0
  277. package/dist/assets/plus-VNKMcdhl.js +1 -0
  278. package/dist/assets/popover-ieUH9gue.js +1 -0
  279. package/dist/assets/precisionRound-JPbfj2M2.js +1 -0
  280. package/dist/assets/pug-CaaLw7eE.js +1 -0
  281. package/dist/assets/pug-i6atkyz7.js +1 -0
  282. package/dist/assets/purify.es-BNe8OHFA.js +2 -0
  283. package/dist/assets/python-01S0WAiq.js +1 -0
  284. package/dist/assets/quadrantDiagram-LMRXKWRM-r1syOKnp.js +7 -0
  285. package/dist/assets/radar-NJJJXTRR-CgK-l6zu.js +1 -0
  286. package/dist/assets/react-dom-BjyRIiB0.js +1 -0
  287. package/dist/assets/react-plotly-z6K2kWRZ.js +4030 -0
  288. package/dist/assets/react-vega-BQZ6J9sh.js +190 -0
  289. package/dist/assets/react-vega-C-rZsP2h.js +1 -0
  290. package/dist/assets/readonly-python-code-B1LohqR_.js +1 -0
  291. package/dist/assets/refresh-ccw-Dmg0YI4-.js +1 -0
  292. package/dist/assets/refresh-cw-z53rVhjq.js +1 -0
  293. package/dist/assets/renderShortcut-Cp1zXREV.js +1 -0
  294. package/dist/assets/request-registry-C9ZqbErC.js +1 -0
  295. package/dist/assets/requests-CftYh9v2.js +1 -0
  296. package/dist/assets/requests-hYqt4rnB.js +1 -0
  297. package/dist/assets/requirementDiagram-4UW4RH46-TZbgexkl.js +64 -0
  298. package/dist/assets/run-page-DQq6Ubq2.js +1 -0
  299. package/dist/assets/runs-DJSbp-nt.js +1 -0
  300. package/dist/assets/sankeyDiagram-GR3RE2ED-DOAaeXih.js +10 -0
  301. package/dist/assets/save-Dxp7SN8k.js +1 -0
  302. package/dist/assets/save-worker-1SpfMMps.js +58 -0
  303. package/dist/assets/scratchpad-panel-BHyTMkB-.js +1 -0
  304. package/dist/assets/secrets-panel-aLSYHai4.js +1 -0
  305. package/dist/assets/select-E33nSIDn.js +1 -0
  306. package/dist/assets/send-DjnZs47z.js +1 -0
  307. package/dist/assets/sequenceDiagram-C3RYC4MD-DR5X4rBt.js +145 -0
  308. package/dist/assets/settings-Dt7V2Blo.js +1 -0
  309. package/dist/assets/share-Cyx6Ke3B.js +1 -0
  310. package/dist/assets/shim-DuR5ZJNr.js +1 -0
  311. package/dist/assets/slides-component-ZimwIaSa.js +1 -0
  312. package/dist/assets/snippets-panel-q84abuax.js +1 -0
  313. package/dist/assets/spec-D64rpvwX.js +1 -0
  314. package/dist/assets/spinner-CM1AwwT-.js +1 -0
  315. package/dist/assets/square-C2sucLEB.js +1 -0
  316. package/dist/assets/square-function-C7Ij9TAd.js +1 -0
  317. package/dist/assets/square-terminal-DcEZ9Ivs.js +1 -0
  318. package/dist/assets/src-FiBAYfGy.js +1 -0
  319. package/dist/assets/state-CtYWaPuR.js +1 -0
  320. package/dist/assets/state-DLUXyYyB.js +1 -0
  321. package/dist/assets/state-dWjslxDZ.js +1 -0
  322. package/dist/assets/stateDiagram-KXAO66HF-DvUJNAH4.js +1 -0
  323. package/dist/assets/stateDiagram-v2-UMBNRL4Z-BBB1Z0py.js +1 -0
  324. package/dist/assets/step-DgNh0Im1.js +1 -0
  325. package/dist/assets/strings-jhyl_xMu.js +2 -0
  326. package/dist/assets/switch-DBfU9QHL.js +1 -0
  327. package/dist/assets/table-CTK995oK.js +1 -0
  328. package/dist/assets/table-Ny605LgF.js +1 -0
  329. package/dist/assets/tabs-DvBunSCS.js +1 -0
  330. package/dist/assets/terminal-BYIts0Wd.js +10 -0
  331. package/dist/assets/text-search-BtXNkEHU.js +1 -0
  332. package/dist/assets/textarea-faXBMy_c.js +1 -0
  333. package/dist/assets/time-B11NhaT8.js +1 -0
  334. package/dist/assets/timeline-definition-XQNQX7LJ-Dmpxcd08.js +61 -0
  335. package/dist/assets/toDate-CbcWqY6f.js +1 -0
  336. package/dist/assets/toggle-6a-IWcUo.js +1 -0
  337. package/dist/assets/tooltip-CyyA9NKX.js +61 -0
  338. package/dist/assets/tooltip-QlUG_0sW.js +1 -0
  339. package/dist/assets/tracing-panel-BNnuwoJ6.js +2 -0
  340. package/dist/assets/tracing-wtfV19jS.js +1 -0
  341. package/dist/assets/trash-2-BsccpX3E.js +1 -0
  342. package/dist/assets/trash-C8_hvhi2.js +1 -0
  343. package/dist/assets/tree-ThjH84Vh.js +11 -0
  344. package/dist/assets/treemap-75Q7IDZK-Chid_ihL.js +1 -0
  345. package/dist/assets/triangle-alert-DoSv9yQr.js +1 -0
  346. package/dist/assets/type-CnQq0uaD.js +1 -0
  347. package/dist/assets/types-BfF9hgo8.js +1 -0
  348. package/dist/assets/types-CKcqkReK.js +17 -0
  349. package/dist/assets/use-toast-BBrPeu2N.js +1 -0
  350. package/dist/assets/useAddCell-C5hu4Wun.js +1 -0
  351. package/dist/assets/useAsyncData-BIQYiPhO.js +1 -0
  352. package/dist/assets/useBoolean-Do2iSPXV.js +1 -0
  353. package/dist/assets/useCellActionButton-l2j8uD5l.js +1 -0
  354. package/dist/assets/useDateFormatter-DHQNk42q.js +1 -0
  355. package/dist/assets/useDebounce-Dc646H0x.js +1 -0
  356. package/dist/assets/useDeepCompareMemoize-DVzR9zu0.js +1 -0
  357. package/dist/assets/useDeleteCell-yV4YK-xy.js +1 -0
  358. package/dist/assets/useEvent-mw3fc-le.js +1 -0
  359. package/dist/assets/useEventListener-DVwjxFkt.js +1 -0
  360. package/dist/assets/useHotkey-VwOksnmL.js +1 -0
  361. package/dist/assets/useIframeCapabilities-CRfeZulz.js +1 -0
  362. package/dist/assets/useInstallPackage-CX-LUKF-.js +1 -0
  363. package/dist/assets/useInterval-DcwlGTe6.js +1 -0
  364. package/dist/assets/useLifecycle-DiLWmtpP.js +1 -0
  365. package/dist/assets/useNonce-CElEIK4R.js +1 -0
  366. package/dist/assets/useNotebookActions-DLx3Fygp.js +1 -0
  367. package/dist/assets/useNumberFormatter-BFHkt56k.js +1 -0
  368. package/dist/assets/usePress-CqxmpITG.js +7 -0
  369. package/dist/assets/useRunCells-DSf9mKXo.js +1 -0
  370. package/dist/assets/useSplitCell-CPKZi1bG.js +1 -0
  371. package/dist/assets/useTheme-Dsb69ewj.js +1 -0
  372. package/dist/assets/utilities.esm-BUZA9ZNB.js +3 -0
  373. package/dist/assets/utils-BPcfRUDE.js +1 -0
  374. package/dist/assets/variable-panel-DyYTOTCM.js +1 -0
  375. package/dist/assets/vega-component-vMEXqPyr.js +1 -0
  376. package/dist/assets/vega-loader.browser-BJKnSXO3.js +6 -0
  377. package/dist/assets/worker-DFkS7cAN.js +101 -0
  378. package/dist/assets/workflow-CgyFQnIM.js +1 -0
  379. package/dist/assets/write-secret-modal-zRnaYcIL.js +1 -0
  380. package/dist/assets/ws-BNjYz4sN.js +22 -0
  381. package/dist/assets/xychartDiagram-6GGTOJPD-CC5m3Qr2.js +7 -0
  382. package/dist/assets/youtube-BEn_4a_V.js +1 -0
  383. package/dist/index.html +204 -204
  384. package/package.json +13 -13
  385. package/src/__mocks__/notebook.ts +1 -1
  386. package/src/components/app-config/ai-config.tsx +1 -0
  387. package/src/components/data-table/charts/charts.tsx +49 -4
  388. package/src/components/data-table/columns.tsx +15 -0
  389. package/src/components/data-table/download-actions.tsx +4 -1
  390. package/src/components/editor/Output.tsx +37 -7
  391. package/src/components/editor/chrome/panels/write-secret-modal.tsx +1 -1
  392. package/src/components/editor/chrome/wrapper/app-chrome.tsx +9 -18
  393. package/src/components/editor/file-tree/file-viewer.tsx +35 -6
  394. package/src/components/editor/output/MarimoErrorOutput.tsx +42 -17
  395. package/src/components/editor/output/__tests__/ansi-reduce.test.ts +560 -0
  396. package/src/components/editor/output/ansi-reduce.ts +392 -0
  397. package/src/components/pages/run-page.tsx +1 -6
  398. package/src/components/ui/alert.tsx +2 -0
  399. package/src/components/ui/query-param-preserving-link.tsx +3 -0
  400. package/src/core/cells/__tests__/cells.test.ts +23 -16
  401. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +398 -1
  402. package/src/core/cells/cell.ts +6 -7
  403. package/src/core/cells/collapseConsoleOutputs.tsx +35 -45
  404. package/src/core/export/hooks.ts +4 -3
  405. package/src/core/static/__tests__/virtual-file-tracker.test.ts +42 -0
  406. package/src/core/static/virtual-file-tracker.ts +1 -1
  407. package/src/plugins/impl/DataTablePlugin.tsx +2 -0
  408. package/src/plugins/impl/FileBrowserPlugin.tsx +30 -5
  409. package/src/utils/__tests__/json-parser.test.ts +50 -9
  410. package/src/utils/json/json-parser.ts +22 -2
  411. package/dist/assets/CellStatus-CJ5BnF-2.js +0 -1
  412. package/dist/assets/Combination-BjaZc6gK.js +0 -41
  413. package/dist/assets/ConnectedDataExplorerComponent-BiJPD-um.js +0 -1
  414. package/dist/assets/ConsoleOutput-BJP_UIwR.js +0 -4
  415. package/dist/assets/ErrorBoundary-_uEOjNWh.js +0 -1
  416. package/dist/assets/ImageComparisonComponent-WABs9NdN.js +0 -1
  417. package/dist/assets/ImperativeModal-C4fZHLKz.js +0 -1
  418. package/dist/assets/Inputs-237ZzRAb.js +0 -1
  419. package/dist/assets/LazyAnyLanguageCodeMirror-BovGLUi6.js +0 -2
  420. package/dist/assets/MarimoErrorOutput-BATnwNYX.js +0 -9
  421. package/dist/assets/Output-DWmT-7NV.js +0 -142
  422. package/dist/assets/RenderHTML-DTLkV9Uh.js +0 -1
  423. package/dist/assets/SSRProvider-B8x7qo1c.js +0 -1
  424. package/dist/assets/TinyCode-GLDQZf34.js +0 -1
  425. package/dist/assets/VisuallyHidden-DqOWapbP.js +0 -1
  426. package/dist/assets/__vite-browser-external-BJyYPVNm.js +0 -1
  427. package/dist/assets/__vite-browser-external-D_SJt3Xu.js +0 -1
  428. package/dist/assets/activity-DdWPIGQX.js +0 -1
  429. package/dist/assets/add-cell-with-ai-Bf3hYYIu.js +0 -77
  430. package/dist/assets/add-database-form-D9ltJYvM.js +0 -111
  431. package/dist/assets/add-missing-import-Bc1Nj8aC.js +0 -1
  432. package/dist/assets/agent-panel-CPGu8Erd.js +0 -287
  433. package/dist/assets/ai-model-dropdown-CvhbTHha.js +0 -2
  434. package/dist/assets/alert-BqjCH_7t.js +0 -1
  435. package/dist/assets/alert-dialog-8EwWlboa.js +0 -11
  436. package/dist/assets/any-language-editor-I1TeVFID.js +0 -3
  437. package/dist/assets/api-YJHlT7KM.js +0 -1
  438. package/dist/assets/apl-C8IztUHV.js +0 -1
  439. package/dist/assets/app-config-button-B-Faif0q.js +0 -1
  440. package/dist/assets/arc-tAqWLv-B.js +0 -1
  441. package/dist/assets/architecture-O4VJ6CD3-BA-L7b4v.js +0 -1
  442. package/dist/assets/architectureDiagram-W76B3OCA-5dGU5TQs.js +0 -36
  443. package/dist/assets/arrow-left-C_-paiHG.js +0 -1
  444. package/dist/assets/asciiarmor-DYFmjXYU.js +0 -1
  445. package/dist/assets/asn1-Cfc8H1Ev.js +0 -1
  446. package/dist/assets/badge-Jfhpc30N.js +0 -1
  447. package/dist/assets/between-horizontal-start-CC0exyFi.js +0 -1
  448. package/dist/assets/blockDiagram-QIGZ2CNN-CxEhKvDB.js +0 -122
  449. package/dist/assets/brainfuck-JvCPN9qf.js +0 -1
  450. package/dist/assets/bundle.esm-BEDtDq85.js +0 -1
  451. package/dist/assets/button-ZC2axIBq.js +0 -1
  452. package/dist/assets/c4Diagram-FPNF74CW-BV6AZZEM.js +0 -10
  453. package/dist/assets/cache-panel-ClGFjnuH.js +0 -1
  454. package/dist/assets/capabilities-srilPYuF.js +0 -1
  455. package/dist/assets/cell-actions-DDza1yZz.js +0 -1
  456. package/dist/assets/cell-editor-4oTwitxm.js +0 -23
  457. package/dist/assets/cell-link-D75IV6D1.js +0 -1
  458. package/dist/assets/cells-A69p56PE.js +0 -141
  459. package/dist/assets/channel-CYaFLAI3.js +0 -1
  460. package/dist/assets/chart-no-axes-column-DYZiSI6e.js +0 -1
  461. package/dist/assets/chat-components-C2ryFVKe.js +0 -4
  462. package/dist/assets/chat-panel-CjjOlUPZ.js +0 -3
  463. package/dist/assets/check-CuBLr6Cm.js +0 -1
  464. package/dist/assets/chevron-right-BV0VfNbL.js +0 -1
  465. package/dist/assets/chunk-3AY6CYHV-CGvUwVix.js +0 -7
  466. package/dist/assets/chunk-4BX2VUAB-CEk5Yddb.js +0 -1
  467. package/dist/assets/chunk-55IACEB6-DkQ-sTvr.js +0 -1
  468. package/dist/assets/chunk-6OXUPJBA-C8TM1_vW.js +0 -2
  469. package/dist/assets/chunk-7GE3RBXV-H12zLBKj.js +0 -1
  470. package/dist/assets/chunk-ABZYJK2D-Cm5Mq_1V.js +0 -80
  471. package/dist/assets/chunk-BN7GFLIU-B2OO_dsW.js +0 -1
  472. package/dist/assets/chunk-CVBHYZKI-CMFQpulc.js +0 -1
  473. package/dist/assets/chunk-CXMOBAN2-7ndVTSz1.js +0 -54
  474. package/dist/assets/chunk-EXTU4WIE-DUVoiM8z.js +0 -1
  475. package/dist/assets/chunk-FMBD7UC4-CmHQ0YbI.js +0 -15
  476. package/dist/assets/chunk-JA3XYJ7Z-D3VjadO-.js +0 -11
  477. package/dist/assets/chunk-JEIROHC2-DJ3tpwJA.js +0 -1
  478. package/dist/assets/chunk-K7UQS3LO-Dv8pkZsr.js +0 -165
  479. package/dist/assets/chunk-KMC2YHZD-aZ_clHHw.js +0 -1
  480. package/dist/assets/chunk-QN33PNHL-kpDAjAtU.js +0 -1
  481. package/dist/assets/chunk-QYVHNE3D-D8NpnEYd.js +0 -1
  482. package/dist/assets/chunk-QZHKN3VN-B7PBWDfB.js +0 -1
  483. package/dist/assets/chunk-S3R3BYOJ-BW8g0Zog.js +0 -2
  484. package/dist/assets/chunk-T44TD3VJ-ob7Tm16D.js +0 -1
  485. package/dist/assets/chunk-TVAH2DTR-CG4Xr_vq.js +0 -220
  486. package/dist/assets/chunk-TZMSLE5B-B4Mtcg_D.js +0 -1
  487. package/dist/assets/chunk-WFRQ32O7-DaR0-qal.js +0 -1
  488. package/dist/assets/chunk-WFWHJNB7-BdOad_I6.js +0 -1
  489. package/dist/assets/chunk-XRWGC2XP-bK3mWGs8.js +0 -1
  490. package/dist/assets/chunk-ZPAFE4SF--QJ9WeVC.js +0 -36
  491. package/dist/assets/circle-check-BjYuTjAK.js +0 -1
  492. package/dist/assets/circle-play-BwTqLQdh.js +0 -1
  493. package/dist/assets/circle-plus-a4tnn8hI.js +0 -1
  494. package/dist/assets/circle-x-Dm9uA-wT.js +0 -1
  495. package/dist/assets/classDiagram-KNZD7YFC-Dd-A0E6y.js +0 -1
  496. package/dist/assets/classDiagram-v2-RKCZMP56-z-Bnr2ps.js +0 -1
  497. package/dist/assets/clear-button-B9Kao2Ra.js +0 -1
  498. package/dist/assets/click-outside-container-D--uGE-1.js +0 -1
  499. package/dist/assets/client-CtbBEHVn.js +0 -2
  500. package/dist/assets/clike-BZaAHvVH.js +0 -1
  501. package/dist/assets/clipboard-paste-BLsIEx19.js +0 -1
  502. package/dist/assets/clojure-BSAKKQkc.js +0 -1
  503. package/dist/assets/cmake-BseABbbj.js +0 -1
  504. package/dist/assets/cobol-BGW4k037.js +0 -1
  505. package/dist/assets/coffeescript-C208hoAn.js +0 -1
  506. package/dist/assets/column-preview-WPlkULp9.js +0 -1
  507. package/dist/assets/command-Dlk4i3l7.js +0 -1
  508. package/dist/assets/command-palette-4W9o2iPI.js +0 -1
  509. package/dist/assets/common-CoBkdbNK.js +0 -1
  510. package/dist/assets/commonlisp-BIQQ1lKt.js +0 -1
  511. package/dist/assets/compiler-runtime-Cr9loedd.js +0 -1
  512. package/dist/assets/config-C6qInAhC.js +0 -1
  513. package/dist/assets/connection-Bs4SQ_vu.js +0 -1
  514. package/dist/assets/context-CcLKJeA2.js +0 -1
  515. package/dist/assets/copy-Dy_tLkL8.js +0 -1
  516. package/dist/assets/copy-LsxoSTiV.js +0 -1
  517. package/dist/assets/copy-icon-CE7wmMnS.js +0 -1
  518. package/dist/assets/cose-bilkent-S5V4N54A--pmwFpj9.js +0 -1
  519. package/dist/assets/createLucideIcon-CNVopWor.js +0 -6
  520. package/dist/assets/createReducer-CeLhipaI.js +0 -1
  521. package/dist/assets/crystal-DCEDH3ZU.js +0 -1
  522. package/dist/assets/css-Dibnw1Cg.js +0 -1
  523. package/dist/assets/cypher-DJc3_Mb6.js +0 -1
  524. package/dist/assets/cytoscape.esm-iv-4upz4.js +0 -325
  525. package/dist/assets/d-512gkUMN.js +0 -1
  526. package/dist/assets/dagre-5GWH7T2D-CgiaNo9T.js +0 -4
  527. package/dist/assets/data-grid-overlay-editor-x2IZajht.js +0 -1
  528. package/dist/assets/database-zap-CCB1mGaP.js +0 -1
  529. package/dist/assets/datasources-panel-CQJ_xth2.js +0 -1
  530. package/dist/assets/dependency-graph-panel-CoeP9rzE.js +0 -4
  531. package/dist/assets/diagram-N5W7TBWH-DTy9MJII.js +0 -24
  532. package/dist/assets/diagram-QEK2KX5R-DjOP6gtV.js +0 -43
  533. package/dist/assets/diagram-S2PKOQOG-C_ZX_NyS.js +0 -24
  534. package/dist/assets/dialog-BfhgTWm1.js +0 -1
  535. package/dist/assets/diff-BSd0dkd6.js +0 -1
  536. package/dist/assets/dist--UfXdLiW.js +0 -1
  537. package/dist/assets/dist-8_YHxBVW.js +0 -1
  538. package/dist/assets/dist-B0B_Xnwd.js +0 -1
  539. package/dist/assets/dist-BCDo28Nu.js +0 -1
  540. package/dist/assets/dist-BXsTBu5U.js +0 -1
  541. package/dist/assets/dist-BcgNLefj.js +0 -1
  542. package/dist/assets/dist-BcppZLnk.js +0 -1
  543. package/dist/assets/dist-BjGT2Oog.js +0 -1
  544. package/dist/assets/dist-BkzQhIvQ.js +0 -1
  545. package/dist/assets/dist-C14Sk-Bd.js +0 -6
  546. package/dist/assets/dist-C7a7PPDV.js +0 -1
  547. package/dist/assets/dist-C9Pig92i.js +0 -1
  548. package/dist/assets/dist-CB99JjHy.js +0 -1
  549. package/dist/assets/dist-CGXP1wxK.js +0 -1
  550. package/dist/assets/dist-CMHCymvx.js +0 -7
  551. package/dist/assets/dist-CPUmJw_F.js +0 -1
  552. package/dist/assets/dist-CXL8T4lt.js +0 -1
  553. package/dist/assets/dist-CZtlXGHc.js +0 -3
  554. package/dist/assets/dist-CbvGwhr0.js +0 -2
  555. package/dist/assets/dist-Cc4LX4VW.js +0 -1
  556. package/dist/assets/dist-Cf7ieNCu.js +0 -1
  557. package/dist/assets/dist-ChBFqf3d.js +0 -1
  558. package/dist/assets/dist-ColdUi54.js +0 -1
  559. package/dist/assets/dist-Cq5s066k.js +0 -1
  560. package/dist/assets/dist-CtrBG6dK.js +0 -1
  561. package/dist/assets/dist-D-JTXier.js +0 -1
  562. package/dist/assets/dist-DE0uRLJL.js +0 -1
  563. package/dist/assets/dist-DJV2CjUA.js +0 -1
  564. package/dist/assets/dist-DM2w8f7r.js +0 -1
  565. package/dist/assets/dist-DMn_q1Eh.js +0 -1
  566. package/dist/assets/dist-DPVK6wJ-.js +0 -1
  567. package/dist/assets/dist-DRTi9ht4.js +0 -1
  568. package/dist/assets/dist-DTIHGyk9.js +0 -1
  569. package/dist/assets/dist-DcDuMWp5.js +0 -13
  570. package/dist/assets/dist-DlH6tuAC.js +0 -1
  571. package/dist/assets/dist-Dp1bFraz.js +0 -1
  572. package/dist/assets/dist-DuCOj_GR.js +0 -1
  573. package/dist/assets/dist-GE2AwHvG.js +0 -1
  574. package/dist/assets/dist-GHMC1DDU.js +0 -1
  575. package/dist/assets/dist-MHIqsPCF.js +0 -13
  576. package/dist/assets/dist-Oad1venD.js +0 -2
  577. package/dist/assets/dist-__vbIzp1.js +0 -260
  578. package/dist/assets/dist-j2I9I0a7.js +0 -1
  579. package/dist/assets/dist-nhBdVy6b.js +0 -1
  580. package/dist/assets/dist-o-4-WxUj.js +0 -1
  581. package/dist/assets/dist-ta4iJSan.js +0 -1
  582. package/dist/assets/dist-vBG1bGij.js +0 -3
  583. package/dist/assets/dockerfile-BUQq43xK.js +0 -1
  584. package/dist/assets/documentation-panel-D-JV0cpO.js +0 -1
  585. package/dist/assets/download-ByFIcaoi.js +0 -2
  586. package/dist/assets/download-ptuQ0M1w.js +0 -1
  587. package/dist/assets/dropdown-menu-uN_XMhZm.js +0 -1
  588. package/dist/assets/dtd-CfC4g15q.js +0 -1
  589. package/dist/assets/dylan-CCWaDx6W.js +0 -1
  590. package/dist/assets/ecl-48jJnqW6.js +0 -1
  591. package/dist/assets/edit-page-2tBABnJo.js +0 -12
  592. package/dist/assets/eiffel-KeAY_tfp.js +0 -1
  593. package/dist/assets/ellipsis-BgenFu2j.js +0 -1
  594. package/dist/assets/ellipsis-vertical-D4kjq0HQ.js +0 -1
  595. package/dist/assets/elm-6ttzFDzl.js +0 -1
  596. package/dist/assets/empty-state-DTECRwMh.js +0 -1
  597. package/dist/assets/en-US-D2gH55FJ.js +0 -1
  598. package/dist/assets/erDiagram-AWTI2OKA-BhuG3Zob.js +0 -60
  599. package/dist/assets/erlang-B81tzdld.js +0 -1
  600. package/dist/assets/error-banner-DoSAS3iD.js +0 -1
  601. package/dist/assets/error-panel-DV7lr4JL.js +0 -1
  602. package/dist/assets/es-vLBD1nBl.js +0 -5
  603. package/dist/assets/esm-B3nKz9z-.js +0 -1
  604. package/dist/assets/esm-DtCFmQ1n.js +0 -1
  605. package/dist/assets/eye-off-_Bp7Ir5E.js +0 -1
  606. package/dist/assets/factor-CsqObdFm.js +0 -1
  607. package/dist/assets/factor-DhbRkYZ5.js +0 -1
  608. package/dist/assets/field-CaHPDBhq.js +0 -1
  609. package/dist/assets/file-Cz8xVTWu.js +0 -1
  610. package/dist/assets/file-explorer-panel-CPQDFtpj.js +0 -1
  611. package/dist/assets/file-plus-2-SQa07cq2.js +0 -1
  612. package/dist/assets/file-text-CFgIi1A4.js +0 -1
  613. package/dist/assets/file-video-camera-DJUITpag.js +0 -1
  614. package/dist/assets/floating-outline-1_-JOoBX.js +0 -1
  615. package/dist/assets/flowDiagram-PVAE7QVJ-ChyCNRpp.js +0 -162
  616. package/dist/assets/focus-BaSDCTOl.js +0 -1
  617. package/dist/assets/form-CaSJmn0I.js +0 -1
  618. package/dist/assets/form-DaO98mWt.js +0 -2
  619. package/dist/assets/formats-BN93kMCb.js +0 -1
  620. package/dist/assets/forth-CQqhzzpN.js +0 -1
  621. package/dist/assets/fortran-CDldiiXx.js +0 -1
  622. package/dist/assets/ganttDiagram-OWAHRB6G-DvugH8E5.js +0 -267
  623. package/dist/assets/gas-Db3M7m4F.js +0 -1
  624. package/dist/assets/gherkin-CdoWQypz.js +0 -1
  625. package/dist/assets/gitGraph-ZV4HHKMB-ZSfPRi38.js +0 -1
  626. package/dist/assets/gitGraphDiagram-NY62KEGX--4NNxjip.js +0 -65
  627. package/dist/assets/glide-data-editor-Bkx-E5b2.js +0 -132
  628. package/dist/assets/globals-Dp5TPAWC.js +0 -1
  629. package/dist/assets/globe-mi3m-i9B.js +0 -1
  630. package/dist/assets/groovy-DOqC0xtQ.js +0 -1
  631. package/dist/assets/haskell-CUXnT_9K.js +0 -1
  632. package/dist/assets/haxe-C2WjsaV6.js +0 -1
  633. package/dist/assets/home-page-BhB8MZrH.js +0 -4
  634. package/dist/assets/icons-DaFojEUL.js +0 -1
  635. package/dist/assets/idl-pJdLdBWn.js +0 -1
  636. package/dist/assets/image-DW_EcY4T.js +0 -1
  637. package/dist/assets/index-BXqkmYCF.js +0 -44
  638. package/dist/assets/index-BmcO-QYJ.css +0 -2
  639. package/dist/assets/info-63CPKGFF-Bd3YpYFu.js +0 -1
  640. package/dist/assets/infoDiagram-STP46IZ2-2g5NTHp_.js +0 -2
  641. package/dist/assets/input-BNb8K99m.js +0 -1
  642. package/dist/assets/isValid-BJSfXqfd.js +0 -1
  643. package/dist/assets/javascript-DE5LhuW5.js +0 -1
  644. package/dist/assets/jinja2-BIbcpWyF.js +0 -1
  645. package/dist/assets/jinja2-DZTBdZHU.js +0 -1
  646. package/dist/assets/jotai-BTnrNcC1.js +0 -1
  647. package/dist/assets/journeyDiagram-BIP6EPQ6-DjdU63y1.js +0 -139
  648. package/dist/assets/kanban-definition-6OIFK2YF-DeCdxrC0.js +0 -89
  649. package/dist/assets/katex-CMd6pbfG.js +0 -1
  650. package/dist/assets/kbd-DbVT085u.js +0 -1
  651. package/dist/assets/key-Cx1qY8eM.js +0 -1
  652. package/dist/assets/kiosk-mode-Cw6z28XS.js +0 -1
  653. package/dist/assets/label-Dcu3RhQ4.js +0 -1
  654. package/dist/assets/layout-sf56kneH.js +0 -4
  655. package/dist/assets/lazy-oPCv0nK8.js +0 -2
  656. package/dist/assets/line-DorFmRYv.js +0 -1
  657. package/dist/assets/linear-CPlUB2Oz.js +0 -1
  658. package/dist/assets/link-BFkQTs0I.js +0 -1
  659. package/dist/assets/links-CMl0qG9J.js +0 -1
  660. package/dist/assets/links-uXibXl2j.js +0 -1
  661. package/dist/assets/logs-panel-DsJnG9V6.js +0 -1
  662. package/dist/assets/loro_wasm_bg-cCDMQ_Gu.js +0 -1
  663. package/dist/assets/maps-B1z3jt-a.js +0 -1
  664. package/dist/assets/menu-items-DwOFR2Zi.js +0 -1
  665. package/dist/assets/mermaid-D_qr_rHI.js +0 -1
  666. package/dist/assets/mermaid-parser.core-NXSENIcQ.js +0 -4
  667. package/dist/assets/mermaid.core-Cge03puN.js +0 -1
  668. package/dist/assets/mermaid.core-mcEAuawO.js +0 -11
  669. package/dist/assets/mhchem-DNnsXr4C.js +0 -1
  670. package/dist/assets/mindmap-definition-Q6HEUPPD-Da_059Wn.js +0 -68
  671. package/dist/assets/mllike-kwEb_VdR.js +0 -1
  672. package/dist/assets/mode-Bq6LjPC-.js +0 -1
  673. package/dist/assets/multi-icon-Dgzg2G90.js +0 -1
  674. package/dist/assets/multi-map-D9JaQ_m6.js +0 -1
  675. package/dist/assets/name-cell-input-DND1MD7b.js +0 -1
  676. package/dist/assets/nsis-B-5miwZp.js +0 -1
  677. package/dist/assets/nsis-znELVT3h.js +0 -1
  678. package/dist/assets/number-overlay-editor-7APxtkWt.js +0 -9
  679. package/dist/assets/numbers-CTSqyVyD.js +0 -1
  680. package/dist/assets/ordinal-Dd9FQufD.js +0 -1
  681. package/dist/assets/outline-panel-C9yH5I9w.js +0 -1
  682. package/dist/assets/packages-panel-BPiwOYBi.js +0 -1
  683. package/dist/assets/packet-HUATNLJX-sz1oFfYu.js +0 -1
  684. package/dist/assets/pie-WTHONI2E-C0bj5Jbu.js +0 -1
  685. package/dist/assets/pieDiagram-ADFJNKIX-DiHtCIiJ.js +0 -30
  686. package/dist/assets/plug-BTyO2pk-.js +0 -1
  687. package/dist/assets/plus-CRGccegF.js +0 -1
  688. package/dist/assets/popover-F0Sfc1dn.js +0 -1
  689. package/dist/assets/precisionRound-Qxa8hC2h.js +0 -1
  690. package/dist/assets/pug-CloLgaX6.js +0 -1
  691. package/dist/assets/pug-DUVdXXqU.js +0 -1
  692. package/dist/assets/purify.es-CPMOFAIu.js +0 -2
  693. package/dist/assets/python-BoGSLipj.js +0 -1
  694. package/dist/assets/quadrantDiagram-LMRXKWRM-DxicdQmH.js +0 -7
  695. package/dist/assets/radar-NJJJXTRR-BIKsYvRT.js +0 -1
  696. package/dist/assets/react-dom-D6bRRS5R.js +0 -1
  697. package/dist/assets/react-plotly-Bg7bY4cj.js +0 -4066
  698. package/dist/assets/react-vega-CRwVRb9c.js +0 -194
  699. package/dist/assets/react-vega-CYoD34Uk.js +0 -1
  700. package/dist/assets/readonly-python-code-B4MS39iL.js +0 -1
  701. package/dist/assets/refresh-ccw-Dg4gNnPm.js +0 -1
  702. package/dist/assets/refresh-cw-Duwwh0cP.js +0 -1
  703. package/dist/assets/renderShortcut-DJmsjON-.js +0 -1
  704. package/dist/assets/request-registry-k13VJQbm.js +0 -1
  705. package/dist/assets/requests-BACZP_uj.js +0 -1
  706. package/dist/assets/requests-BZ9D3oC1.js +0 -1
  707. package/dist/assets/requirementDiagram-4UW4RH46-DvqbriSU.js +0 -64
  708. package/dist/assets/run-page-iDx4MSjp.js +0 -1
  709. package/dist/assets/runs-Cc1E9Ytb.js +0 -1
  710. package/dist/assets/sankeyDiagram-GR3RE2ED-B7imli8w.js +0 -10
  711. package/dist/assets/save-M3l4CifW.js +0 -1
  712. package/dist/assets/save-worker-Bn51_kZE.js +0 -58
  713. package/dist/assets/scratchpad-panel-C_xpdU9y.js +0 -1
  714. package/dist/assets/secrets-panel-Bzd6Mi0U.js +0 -1
  715. package/dist/assets/select-5fcaZwou.js +0 -1
  716. package/dist/assets/send-CTRovYct.js +0 -1
  717. package/dist/assets/sequenceDiagram-C3RYC4MD-D3QreZOB.js +0 -145
  718. package/dist/assets/settings-p8vTgdrN.js +0 -1
  719. package/dist/assets/share-8z32Sr0F.js +0 -1
  720. package/dist/assets/shim-Cc3VMan6.js +0 -1
  721. package/dist/assets/slides-component-BT4-csZq.js +0 -1
  722. package/dist/assets/snippets-panel-BNdYY1W6.js +0 -1
  723. package/dist/assets/spec-C5SzKl5N.js +0 -1
  724. package/dist/assets/spinner-CuquyDWA.js +0 -1
  725. package/dist/assets/square-CYRwTwZO.js +0 -1
  726. package/dist/assets/square-function-sjebOKTF.js +0 -1
  727. package/dist/assets/square-terminal-CpNRLkoY.js +0 -1
  728. package/dist/assets/src-BwH0YUPh.js +0 -1
  729. package/dist/assets/state-BfH78XJJ.js +0 -1
  730. package/dist/assets/state-Cm3cZhI-.js +0 -1
  731. package/dist/assets/state-JZFfOGr9.js +0 -1
  732. package/dist/assets/stateDiagram-KXAO66HF-C4A-1CGX.js +0 -1
  733. package/dist/assets/stateDiagram-v2-UMBNRL4Z-Ya_YeL_T.js +0 -1
  734. package/dist/assets/step-BDtirdXu.js +0 -1
  735. package/dist/assets/storage-DNJOpVBd.js +0 -1
  736. package/dist/assets/strings-DHsDEFo-.js +0 -2
  737. package/dist/assets/switch-4s4187gV.js +0 -1
  738. package/dist/assets/table-C2gUjtJV.js +0 -1
  739. package/dist/assets/table-DU76OrPF.js +0 -1
  740. package/dist/assets/tabs-l9npw3ob.js +0 -1
  741. package/dist/assets/terminal-NtPz9Wz1.js +0 -10
  742. package/dist/assets/text-search-IpK7VCPx.js +0 -1
  743. package/dist/assets/textarea-DeG5mMSH.js +0 -1
  744. package/dist/assets/time-4HenLWop.js +0 -1
  745. package/dist/assets/timeline-definition-XQNQX7LJ-DgMQvm3R.js +0 -61
  746. package/dist/assets/toDate-C3oOx2yr.js +0 -1
  747. package/dist/assets/toggle-DlfY8wql.js +0 -1
  748. package/dist/assets/tooltip-BFMRXuzR.js +0 -61
  749. package/dist/assets/tooltip-BHnVWzH0.js +0 -1
  750. package/dist/assets/tracing-DOTFVxLy.js +0 -1
  751. package/dist/assets/tracing-panel-DBh_LItF.js +0 -2
  752. package/dist/assets/trash-2-BPux4_UF.js +0 -1
  753. package/dist/assets/trash-CRcefzxk.js +0 -1
  754. package/dist/assets/tree-CN8xDCJX.js +0 -11
  755. package/dist/assets/treemap-75Q7IDZK-Bao34u2H.js +0 -1
  756. package/dist/assets/type-o43RKOcp.js +0 -1
  757. package/dist/assets/types-Bh2kSb2q.js +0 -17
  758. package/dist/assets/types-CHAkS4Oz.js +0 -1
  759. package/dist/assets/use-toast-midBZAtS.js +0 -1
  760. package/dist/assets/useAddCell-CREgcbTt.js +0 -1
  761. package/dist/assets/useAsyncData-CngUoIwV.js +0 -1
  762. package/dist/assets/useBoolean-CpaqzlKu.js +0 -1
  763. package/dist/assets/useCellActionButton-BIG30Gtv.js +0 -1
  764. package/dist/assets/useDateFormatter-CPDTrKqK.js +0 -1
  765. package/dist/assets/useDebounce-DzG_89QJ.js +0 -1
  766. package/dist/assets/useDeepCompareMemoize-DiJVYA6I.js +0 -1
  767. package/dist/assets/useDeleteCell-CEsjHDdl.js +0 -1
  768. package/dist/assets/useEvent-CRDKqG3C.js +0 -1
  769. package/dist/assets/useEventListener-D1FLsfmf.js +0 -1
  770. package/dist/assets/useHotkey-NDxGNWnW.js +0 -1
  771. package/dist/assets/useIframeCapabilities-DXQ78nsN.js +0 -1
  772. package/dist/assets/useInstallPackage-I3kefbOO.js +0 -1
  773. package/dist/assets/useInterval-D5tVoshg.js +0 -1
  774. package/dist/assets/useLifecycle-DogGOXPh.js +0 -1
  775. package/dist/assets/useNonce-VIoWEX5z.js +0 -1
  776. package/dist/assets/useNotebookActions-BqA-N7b_.js +0 -1
  777. package/dist/assets/useNumberFormatter-F8R3LBxf.js +0 -1
  778. package/dist/assets/usePress-BO20vkQb.js +0 -7
  779. package/dist/assets/useRunCells-BLpH_l8E.js +0 -1
  780. package/dist/assets/useSplitCell-xUizPIKw.js +0 -1
  781. package/dist/assets/useTheme-Biy2QI0v.js +0 -1
  782. package/dist/assets/utilities.esm-Bjl8-mRM.js +0 -3
  783. package/dist/assets/utils-DEDX0RLo.js +0 -1
  784. package/dist/assets/variable-panel-91Oy0ioR.js +0 -1
  785. package/dist/assets/vega-component-DiS0PwuN.js +0 -1
  786. package/dist/assets/vega-loader.browser-D2m26-DP.js +0 -6
  787. package/dist/assets/worker-CUYGINRG.js +0 -101
  788. package/dist/assets/workflow-D14sQBPI.js +0 -1
  789. package/dist/assets/write-secret-modal-8_TgMfIA.js +0 -1
  790. package/dist/assets/ws-DBqs0vJU.js +0 -27
  791. package/dist/assets/xychartDiagram-6GGTOJPD-DReRhuio.js +0 -7
  792. package/dist/assets/youtube-CYW7gZLB.js +0 -1
  793. /package/dist/assets/{apl-BGS-6pM9.js → apl-CAJ5Afpm.js} +0 -0
  794. /package/dist/assets/{array-4wub28GG.js → array-DAkwBc1M.js} +0 -0
  795. /package/dist/assets/{asciiarmor-CbQH35y7.js → asciiarmor-B3glo3Hy.js} +0 -0
  796. /package/dist/assets/{asn1-P7HrFGaM.js → asn1-iaUkdUJn.js} +0 -0
  797. /package/dist/assets/{blob-ISoY06EG.js → blob-BgGJeXvG.js} +0 -0
  798. /package/dist/assets/{brainfuck-CSxeyQc4.js → brainfuck-C1Bv_mwK.js} +0 -0
  799. /package/dist/assets/{chunk-4KMFLZZN-ezSWKPWV.js → chunk-4KMFLZZN-Btk-7pZW.js} +0 -0
  800. /package/dist/assets/{chunk-57QY23SG-C65JnZtK.js → chunk-57QY23SG-CNHrXEp-.js} +0 -0
  801. /package/dist/assets/{clike-Bg9duJDo.js → clike-BEDWkorR.js} +0 -0
  802. /package/dist/assets/{clojure-B94DOmFw.js → clojure-g07QXTjj.js} +0 -0
  803. /package/dist/assets/{cmake-DQEKyMNG.js → cmake-DnTqIimN.js} +0 -0
  804. /package/dist/assets/{cn-ZXtYmczU.js → cn-BaXqCYqP.js} +0 -0
  805. /package/dist/assets/{cobol-CY4gVoPW.js → cobol-BKtG7u9D.js} +0 -0
  806. /package/dist/assets/{coffeescript-BwWb96Ts.js → coffeescript-D5EX_wGl.js} +0 -0
  807. /package/dist/assets/{colors-xHoM1JAe.js → colors-vEZNI1u9.js} +0 -0
  808. /package/dist/assets/{commonlisp-Cq_n1sF6.js → commonlisp-QBdsjaTi.js} +0 -0
  809. /package/dist/assets/{constants-ClC7lqCE.js → constants-BjxvUqyK.js} +0 -0
  810. /package/dist/assets/{crystal-BLTq7Sqq.js → crystal-B0kV858U.js} +0 -0
  811. /package/dist/assets/{css-CmDcdojQ.js → css-lnqtDlV_.js} +0 -0
  812. /package/dist/assets/{cypher-ByytCYVx.js → cypher-B_ciRc6O.js} +0 -0
  813. /package/dist/assets/{d-xLFRg71F.js → d-sGSUUdz9.js} +0 -0
  814. /package/dist/assets/{dagre-DzeXZWsr.js → dagre-DlsQLQOP.js} +0 -0
  815. /package/dist/assets/{defaultLocale-YmL2k7Vp.js → defaultLocale-D-ie3mwB.js} +0 -0
  816. /package/dist/assets/{defaultLocale-zQltfbSS.js → defaultLocale-DzEPn_Ia.js} +0 -0
  817. /package/dist/assets/{diff-VF6GbDch.js → diff-okFUO1eS.js} +0 -0
  818. /package/dist/assets/{dist-DiomJpDg.js → dist-Bi0uUSZq.js} +0 -0
  819. /package/dist/assets/{dist-DBrqGLzW.js → dist-D4J1GeSh.js} +0 -0
  820. /package/dist/assets/{dtd-D8qb8bJW.js → dtd-Covqp7FW.js} +0 -0
  821. /package/dist/assets/{dylan-CIkom9X4.js → dylan-Bf_wFnkY.js} +0 -0
  822. /package/dist/assets/{ecl-8wcmTiom.js → ecl-BON4bJzJ.js} +0 -0
  823. /package/dist/assets/{eiffel-D2ZBcT03.js → eiffel-CWbinnR3.js} +0 -0
  824. /package/dist/assets/{elm-Cpg3TnMc.js → elm-DKVclpIr.js} +0 -0
  825. /package/dist/assets/{emotion-is-prop-valid.esm-OoyWz_0l.js → emotion-is-prop-valid.esm-DY_d0mBI.js} +0 -0
  826. /package/dist/assets/{erlang-B4A2pXCG.js → erlang-D7Lapqoo.js} +0 -0
  827. /package/dist/assets/{extends-dwNt6GDg.js → extends-BADOB1Xm.js} +0 -0
  828. /package/dist/assets/{forth-C5F1F4pC.js → forth-CCfEYbe1.js} +0 -0
  829. /package/dist/assets/{fortran-D7Gl3Tli.js → fortran-ph1UcBiZ.js} +0 -0
  830. /package/dist/assets/{gas-BS2f8qHc.js → gas-BwHh1zIK.js} +0 -0
  831. /package/dist/assets/{gherkin-CVZcskwU.js → gherkin-a-S-92sq.js} +0 -0
  832. /package/dist/assets/{groovy-BhQsBMwW.js → groovy-W6xB3OYy.js} +0 -0
  833. /package/dist/assets/{haskell-BPbxlKgK.js → haskell-DCE9UteQ.js} +0 -0
  834. /package/dist/assets/{haxe-TKSAmiMf.js → haxe-CLcQehNU.js} +0 -0
  835. /package/dist/assets/{hotkeys-ClCtr3_I.js → hotkeys-jCLisiwR.js} +0 -0
  836. /package/dist/assets/{icon-32x32-YsJOs0Ms.js → icon-32x32-BbDKn-R9.js} +0 -0
  837. /package/dist/assets/{idl-DFgQu5Ek.js → idl-VKcM9gU6.js} +0 -0
  838. /package/dist/assets/{init-D34LU3qG.js → init-F9jkgvKE.js} +0 -0
  839. /package/dist/assets/{javascript-dAA8UGkz.js → javascript-3wn7R2v8.js} +0 -0
  840. /package/dist/assets/{jsx-runtime-mwDPpfh_.js → jsx-runtime-DmpivWpf.js} +0 -0
  841. /package/dist/assets/{katex-CkJcqOLL.js → katex-vhOJuooG.js} +0 -0
  842. /package/dist/assets/{loro_wasm_bg-CfNzVF4q.js → loro_wasm_bg-CnDIZbF4.js} +0 -0
  843. /package/dist/assets/{math-B-uM5inP.js → math-C9UoZaXa.js} +0 -0
  844. /package/dist/assets/{mllike-ClozcVVR.js → mllike-BBifUJsv.js} +0 -0
  845. /package/dist/assets/{objectWithoutPropertiesLoose-COpOcp6W.js → objectWithoutPropertiesLoose-BhduYW5j.js} +0 -0
  846. /package/dist/assets/{storage-DT9nZQTa.css → panels-DT9nZQTa.css} +0 -0
  847. /package/dist/assets/{path-CXR-wni1.js → path-C9KI-dzZ.js} +0 -0
  848. /package/dist/assets/{prop-types-Dr_68tMt.js → prop-types-DVt2dPhq.js} +0 -0
  849. /package/dist/assets/{python-Bwt6zAaD.js → python-Dt99D71K.js} +0 -0
  850. /package/dist/assets/{range-Dwpz5kHq.js → range-D-BEpYZE.js} +0 -0
  851. /package/dist/assets/{react-BcIddLXZ.js → react-cj45iF1i.js} +0 -0
  852. /package/dist/assets/{simple-mode-BrL6eoj-.js → simple-mode-NsCUKpko.js} +0 -0
  853. /package/dist/assets/{src-BuVGraFB.js → src-Ci62OB0C.js} +0 -0
  854. /package/dist/assets/{timer-CTpu0Fa6.js → timer-DTwym5Fp.js} +0 -0
  855. /package/dist/assets/{treemap-C6-dXGkc.js → treemap-Bw2ef0_x.js} +0 -0
  856. /package/dist/assets/{types-CmDbpUqg.js → types-idb4QoTQ.js} +0 -0
@@ -1,194 +0,0 @@
1
- var E4=Object.defineProperty;var f2=e=>{throw TypeError(e)};var k4=(e,t,n)=>t in e?E4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var N=(e,t,n)=>k4(e,typeof t!="symbol"?t+"":t,n),d2=(e,t,n)=>t.has(e)||f2("Cannot "+n);var h2=(e,t,n)=>(d2(e,t,"read from private field"),n?n.call(e):t.get(e)),p2=(e,t,n)=>t.has(e)?f2("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),_p=(e,t,n,r)=>(d2(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var Ql,Q9,K9;import{r as sn,s as m2}from"./chunk-DZLz74EQ.js";import{t as _4}from"./react-BcIddLXZ.js";import{t as D4}from"./jsx-runtime-mwDPpfh_.js";import{$ as g2,$t as Dp,A as y2,At as lc,B as v2,Bt as sc,C as b2,Ct as Fp,D as x2,Dt as Cp,E as w2,Et as A2,F as $p,Ft as E2,Gt as _r,Ht as k2,I as _2,It as D2,J as No,Jt as Bn,Kt as F2,L as C2,Lt as Me,M as $2,Mt as S2,N as M2,Nt as O2,O as B2,Ot as z2,P as N2,Pt as R2,Q as uc,Qt as Sp,R as T2,Rt as L2,S as F4,St as ce,T as C4,Tt as Mp,U as Op,Ut as P2,V as K,Vt as I2,Wt as zn,X as Qe,Xt as $i,Y as It,Yt as j2,Z as ie,Zt as q2,_ as $4,_t as Bp,a as cc,at as Dr,b as S4,bt as M4,c as O4,ct as Ro,d as B4,dt as ue,en as zp,et as Np,f as z4,ft as Kl,g as N4,gt as ne,ht as To,i as R4,it as me,j as U2,jt as Zl,k as Rp,kt as W2,l as G2,lt as ti,m as T4,mt as G,n as L4,nn as Tp,nt as Lp,o as H2,ot as V2,p as P4,pt as Jn,qt as X2,r as I4,rt as T,s as Y2,st as Si,t as j4,tn as fc,tt as jt,u as J2,ut as Q2,v as q4,vt as ka,w as U4,wt as Ee,x as W4,xt as _a,y as G4,yt as ge,z as K2,zt as H4}from"./vega-loader.browser-D2m26-DP.js";import{a as Z2,c as es,o as ew,s as tw}from"./precisionRound-Qxa8hC2h.js";import{a as Pp,c as nw,d as dc,f as V4,l as X4,n as Lo,o as Mi,p as Y4,r as J4,s as Ip,t as Q4,u as jp}from"./linear-CPlUB2Oz.js";import{n as rw,r as hc,t as K4}from"./ordinal-Dd9FQufD.js";import{a as Z4,i as e7,n as t7,o as qp,r as n7,s as Da,t as r7}from"./time-4HenLWop.js";import{t as xn}from"./range-Dwpz5kHq.js";import{i as i7,t as a7}from"./defaultLocale-YmL2k7Vp.js";import{S as o7,T as l7,_ as s7,b as u7,l as c7,r as f7,s as d7,w as h7}from"./defaultLocale-zQltfbSS.js";import{a as iw,b as p7,d as Up,g as m7,h as g7,i as y7,n as v7,r as b7,t as x7,u as Wp,v as w7,y as pc}from"./timer-CTpu0Fa6.js";import{n as Gp,r as qt,t as aw}from"./path-CXR-wni1.js";import{f as A7,p as E7,u as k7}from"./math-B-uM5inP.js";import{t as _7}from"./arc-tAqWLv-B.js";import{t as D7}from"./array-4wub28GG.js";import{_ as F7,a as C7,c as $7,d as S7,f as M7,g as O7,h as B7,i as z7,l as N7,m as R7,n as T7,o as L7,p as P7,r as I7,s as j7,t as q7,u as U7,v as ow}from"./step-BDtirdXu.js";import{n as W7,r as G7,t as lw}from"./line-DorFmRYv.js";import{n as Fa,t as Oi}from"./init-D34LU3qG.js";import{t as Fr}from"./colors-xHoM1JAe.js";import{a as Hp,c as sw,d as uw,f as H7,i as V7,l as X7,n as Y7,o as mc,p as J7,r as Q7,s as K7,t as Z7,u as gc}from"./treemap-C6-dXGkc.js";function eM(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(r=o-i,i+=r/++n,a+=r*(o-i));else{let o=-1;for(let l of e)(l=t(l,++o,e))!=null&&(l=+l)>=l&&(r=l-i,i+=r/++n,a+=r*(l-i))}if(n>1)return a/(n-1)}function tM(e,t){let n=eM(e,t);return n&&Math.sqrt(n)}var Ut=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let t=this._partials,n=0;for(let r=0;r<this._n&&r<32;r++){let i=t[r],a=e+i,o=Math.abs(e)<Math.abs(i)?e-(a-i):i-(a-e);o&&(t[n++]=o),e=a}return t[n]=e,this._n=n+1,this}valueOf(){let e=this._partials,t=this._n,n,r,i,a=0;if(t>0){for(a=e[--t];t>0&&(n=a,r=e[--t],a=n+r,i=r-(a-n),!i););t>0&&(i<0&&e[t-1]<0||i>0&&e[t-1]>0)&&(r=i*2,n=a+r,r==n-a&&(a=n))}return a}};function nM(e,t){return Array.from(t,n=>e[n])}function rM(e=es){if(e===es)return cw;if(typeof e!="function")throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function cw(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function fw(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?cw:rM(i);r>n;){if(r-n>600){let s=r-n+1,u=t-n+1,c=Math.log(s),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(s-f)/s)*(u-s/2<0?-1:1),h=Math.max(n,Math.floor(t-u*f/s+d)),p=Math.min(r,Math.floor(t+(s-u)*f/s+d));fw(e,t,h,p,i)}let a=e[t],o=n,l=r;for(ts(e,n,t),i(e[r],a)>0&&ts(e,n,r);o<l;){for(ts(e,o,l),++o,--l;i(e[o],a)<0;)++o;for(;i(e[l],a)>0;)--l}i(e[n],a)===0?ts(e,n,l):(++l,ts(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function ts(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Vp(e,t,n){if(e=Float64Array.from(Y4(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return qp(e);if(t>=1)return Da(e);var r,i=(r-1)*t,a=Math.floor(i),o=Da(fw(e,a).subarray(0,a+1));return o+(qp(e.subarray(a+1))-o)*(i-a)}}function dw(e,t,n=V4){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function iM(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function hw(e,t){return Vp(e,.5,t)}function*aM(e){for(let t of e)yield*t}function pw(e){return Array.from(aM(e))}function mw(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function oM(e,...t){e=new hc(e),t=t.map(lM);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e}function lM(e){return e instanceof hc?e:new hc(e)}function sM(...e){let t=new hc;for(let n of e)for(let r of n)t.add(r);return t}function uM(e,t,n){var r=new x7,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(a,o,l){o=+o,l=l==null?v7():+l,r._restart(function s(u){u+=i,r._restart(s,i+=o,l),a(u)},o,l)},r.restart(e,t,n),r)}var cM=/("(?:[^\\"]|\\.)*")|[:,]/g;function Xp(e,t={}){let n=JSON.stringify([1],void 0,t.indent===void 0?2:t.indent).slice(2,-3),r=n===""?1/0:t.maxLength===void 0?80:t.maxLength,{replacer:i}=t;return(function a(o,l,s){o&&typeof o.toJSON=="function"&&(o=o.toJSON());let u=JSON.stringify(o,i);if(u===void 0)return u;let c=r-l.length-s;if(u.length<=c){let f=u.replace(cM,(d,h)=>h||`${d} `);if(f.length<=c)return f}if(i!=null&&(o=JSON.parse(u),i=void 0),typeof o=="object"&&o){let f=l+n,d=[],h=0,p,m;if(Array.isArray(o)){p="[",m="]";let{length:g}=o;for(;h<g;h++)d.push(a(o[h],f,h===g-1?0:1)||"null")}else{p="{",m="}";let g=Object.keys(o),{length:y}=g;for(;h<y;h++){let v=g[h],b=`${JSON.stringify(v)}: `,w=a(o[v],f,b.length+(h===y-1?0:1));w!==void 0&&d.push(b+w)}}if(d.length>0)return[p,n+d.join(`,
2
- ${f}`),m].join(`
3
- ${l}`)}return u})(e,"",0)}function yc(e){let t=e||Jn,n=[],r={};return n.add=i=>{let a=t(i);return r[a]||(r[a]=1,n.push(i)),n},n.remove=i=>{let a=t(i);if(r[a]){r[a]=0;let o=n.indexOf(i);o>=0&&n.splice(o,1)}return n},n}async function vc(e,t){try{await t(e)}catch(n){e.error(n)}}var gw=Symbol("vega_id"),fM=1;function bc(e){return!!(e&&Z(e))}function Z(e){return e[gw]}function yw(e,t){return e[gw]=t,e}function Ce(e){let t=e===Object(e)?e:{data:e};return Z(t)?t:yw(t,fM++)}function Yp(e){return xc(e,Ce({}))}function xc(e,t){for(let n in e)t[n]=e[n];return t}function vw(e,t){return yw(t,Z(e))}function Ca(e,t){return e?t?(n,r)=>e(n,r)||Z(t(n))-Z(t(r)):(n,r)=>e(n,r)||Z(n)-Z(r):null}function bw(e){return e&&e.constructor===$a}function $a(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:$a,insert(l){let s=ie(l),u=s.length;for(let c=0;c<u;++c)e.push(s[c]);return this},remove(l){let s=ge(l)?r:t,u=ie(l),c=u.length;for(let f=0;f<c;++f)s.push(u[f]);return this},modify(l,s,u){let c={field:s,value:jt(u)};return ge(l)?(c.filter=l,i.push(c)):(c.tuple=l,n.push(c)),this},encode(l,s){return ge(l)?i.push({filter:l,field:s}):n.push({tuple:l,field:s}),this},clean(l){return a=l,this},reflow(){return o=!0,this},pulse(l,s){let u={},c={},f,d,h,p,m,g;for(f=0,d=s.length;f<d;++f)u[Z(s[f])]=1;for(f=0,d=t.length;f<d;++f)m=t[f],u[Z(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],s.forEach(v=>{p(v)&&(u[Z(v)]=-1)});for(f=0,d=e.length;f<d;++f)m=e[f],g=Z(m),u[g]?u[g]=1:l.add.push(Ce(e[f]));for(f=0,d=s.length;f<d;++f)m=s[f],u[Z(m)]<0&&l.rem.push(m);function y(v,b,w){w?v[b]=w(v):l.encode=b,o||(c[Z(v)]=v)}for(f=0,d=n.length;f<d;++f)h=n[f],m=h.tuple,p=h.field,g=u[Z(m)],g>0&&(y(m,p,h.value),l.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,s.forEach(v=>{p(v)&&u[Z(v)]>0&&y(v,h.field,h.value)}),l.modifies(h.field);if(o)l.mod=t.length||r.length?s.filter(v=>u[Z(v)]>0):s.slice();else for(g in c)l.mod.push(c[g]);return(a||a==null&&(t.length||r.length))&&l.clean(!0),l}}}var wc="_:mod:_";function Ac(){Object.defineProperty(this,wc,{writable:!0,value:{}})}Ac.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[wc];return t!=null&&t>=0?(a[t]!==n||r)&&(a[t]=n,o[t+":"+e]=-1,o[e]=-1):(a!==n||r)&&(i[e]=n,o[e]=ne(n)?1+n.length:-1),i},modified(e,t){let n=this[wc];if(arguments.length){if(ne(e)){for(let r=0;r<e.length;++r)if(n[e[r]])return!0;return!1}}else{for(let r in n)if(n[r])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[wc]={},this}};var dM=0,hM="pulse",pM=new Ac,mM=1,gM=2;function Pe(e,t,n,r){this.id=++dM,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),n&&this.parameters(n,r)}function xw(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}Pe.prototype={targets(){return this._targets||(this._targets=yc(Kl))},set(e){return this.value===e?0:(this.value=e,1)},skip:xw(mM),modified:xw(gM),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Ac,i=this._argops=this._argops||[],a=[],o,l,s,u,c=(f,d,h)=>{h instanceof Pe?(h!==this&&(t&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in e)if(l=e[o],o===hM)ie(l).forEach(f=>{f instanceof Pe?f!==this&&(f.targets().add(this),a.push(f)):T("Pulse parameters must be operator instances.")}),this.source=l;else if(ne(l))for(r.set(o,-1,Array(s=l.length)),u=0;u<s;++u)c(o,u,l[u]);else c(o,-1,l);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||pM,n=this._argops,r,i,a,o;if(n){let l=n.length;for(i=0;i<l;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<l;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function yM(e,t,n,r){let i=1,a;return e instanceof Pe?a=e:e&&e.prototype instanceof Pe?a=new e:ge(e)?a=new Pe(null,e):(i=0,a=new Pe(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function vM(e,t){let n=e.rank,r=t.length;for(let i=0;i<r;++i)if(n<t[i].rank){this.rerank(e);return}}var bM=0;function Ec(e,t,n){this.id=++bM,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function Bi(e,t,n){return new Ec(e,t,n)}Ec.prototype={_filter:Bn,_apply:Jn,targets(){return this._targets||(this._targets=yc(Kl))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i<r;++i)n[i].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=Bi(e);return this.targets().add(t),t},apply(e){let t=Bi(null,e);return this.targets().add(t),t},merge(){let e=Bi();this.targets().add(e);for(let t=0,n=arguments.length;t<n;++t)arguments[t].targets().add(e);return e},throttle(e){let t=-1;return this.filter(()=>{let n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){let t=Bi();return this.targets().add(Bi(null,null,Lp(e,n=>{let r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(Bi(null,null,()=>n=!0)),t.targets().add(Bi(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=Bn,this._targets=null}};function xM(e,t,n,r){let i=this,a=Bi(n,r),o=function(u){u.dataflow=i;try{a.receive(u)}catch(c){i.error(c)}finally{i.run()}},l;l=typeof e=="string"&&typeof document<"u"?document.querySelectorAll(e):ie(e);let s=l.length;for(let u=0;u<s;++u)l[u].addEventListener(t,o);return a}function wM(e,t){let n=this.locale();return H2(e,t,n.timeParse,n.utcParse)}function AM(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function EM(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:"dataflow",response:Y2(t&&t.type)});try{i=n.parse(i,t)}catch(a){r=-2,n.warn("Data ingestion failed",e,a)}}catch(a){r=-1,n.warn("Loading failed",e,a)}return{data:i,status:r}}async function kM(e,t,n){let r=this,i=r._pending||_M(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(Bn).insert(a.data||[])),i.done(),a}function _M(e){let t,n=new Promise(r=>t=r);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var DM={skip:!0};function FM(e,t,n,r,i){return(e instanceof Pe?$M:CM)(this,e,t,n,r,i),this}function CM(e,t,n,r,i,a){let o=me({},a,DM),l,s;ge(n)||(n=jt(n)),r===void 0?l=u=>e.touch(n(u)):ge(r)?(s=new Pe(null,r,i,!1),l=u=>{s.evaluate(u);let c=n(u),f=s.value;bw(f)?e.pulse(c,f,a):e.update(c,f,o)}):l=u=>e.update(n(u),r,o),t.apply(l)}function $M(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},l=new Pe(null,SM(n,r),i,!1);l.modified(o.force),l.rank=t.rank,t.targets().add(l),n&&(l.skip(!0),l.value=n.value,l.targets().add(n),e.connect(n,[l]))}}function SM(e,t){return t=ge(t)?t:jt(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function MM(e){e.rank=++this._rank}function OM(e){let t=[e],n,r,i;for(;t.length;)if(this.rank(n=t.pop()),r=n._targets)for(i=r.length;--i>=0;)t.push(n=r[i]),n===e&&T("Cycle detected in dataflow graph.")}var kc={},ni=1,zi=2,Ni=4,BM=ni|zi,ww=ni|Ni,Po=zi|5,Aw=8,ns=16,Ew=32,kw=64;function Ri(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function Jp(e,t){let n=[];return $i(e,t,r=>n.push(r)),n}function _w(e,t){let n={};return e.visit(t,r=>{n[Z(r)]=1}),r=>n[Z(r)]?null:r}function _c(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}Ri.prototype={StopPropagation:kc,ADD:ni,REM:zi,MOD:Ni,ADD_REM:BM,ADD_MOD:ww,ALL:Po,REFLOW:Aw,SOURCE:ns,NO_SOURCE:Ew,NO_FIELDS:kw,fork(e){return new Ri(this.dataflow).init(this,e)},clone(){let e=this.fork(Po);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(Po|ns)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new Ri(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,t){let n=this;return n.stamp=e.stamp,n.encode=e.encode,e.fields&&!(t&kw)&&(n.fields=e.fields),t&ni?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&zi?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Ni?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&Ew?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){let t=e||Po;return t&ni&&this.add.length||t&zi&&this.rem.length||t&Ni&&this.mod.length},reflow(e){if(e)return this.fork(Po).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Ni,_w(this,ni))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return ne(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?ne(e)?e.some(r=>n[r]):n[e]:!!n:!1},filter(e,t){let n=this;return e&ni&&(n.addF=_c(n.addF,t)),e&zi&&(n.remF=_c(n.remF,t)),e&Ni&&(n.modF=_c(n.modF,t)),e&ns&&(n.srcF=_c(n.srcF,t)),n},materialize(e){e||(e=Po);let t=this;return e&ni&&t.addF&&(t.add=Jp(t.add,t.addF),t.addF=null),e&zi&&t.remF&&(t.rem=Jp(t.rem,t.remF),t.remF=null),e&Ni&&t.modF&&(t.mod=Jp(t.mod,t.modF),t.modF=null),e&ns&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&ns)return $i(n.source,n.srcF,r),n;e&ni&&$i(n.add,n.addF,r),e&zi&&$i(n.rem,n.remF,r),e&Ni&&$i(n.mod,n.modF,r);let i=n.source;if(e&Aw&&i){let a=n.add.length+n.mod.length;a===i.length||(a?$i(i,_w(n,ww),r):$i(i,n.srcF,r))}return n}};function Qp(e,t,n,r){let i=this,a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let o of n)if(o.stamp===t){if(o.fields){let l=i.fields||(i.fields={});for(let s in o.fields)l[s]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}G(Qp,Ri,{fork(e){let t=new Ri(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?ne(e)?e.some(r=>n[r]):n[e]:0},filter(){T("MultiPulse does not support filtering.")},materialize(){T("MultiPulse does not support materialization.")},visit(e,t){let n=this,r=n.pulses,i=r.length,a=0;if(e&n.SOURCE)for(;a<i;++a)r[a].visit(e,t);else for(;a<i;++a)r[a].stamp===n.stamp&&r[a].visit(e,t);return n}});async function zM(e,t,n){let r=this,i=[];if(r._pulse)return Dw(r);if(r._pending&&await r._pending,t&&await vc(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let a=++r._clock;r._pulse=new Ri(r,a,e),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=yc(Kl);let o=0,l,s,u;try{for(;r._heap.size()>0;){if(l=r._heap.pop(),l.rank!==l.qrank){r._enqueue(l,!0);continue}s=l.run(r._getPulse(l,e)),s.then?s=await s:s.async&&(i.push(s.async),s=kc),s!==kc&&l._targets&&l._targets.forEach(c=>r._enqueue(c)),++o}}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){let c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await vc(r,c[f].callback)}return n&&await vc(r,n),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}async function NM(e,t,n){for(;this._running;)await this._running;let r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running}function RM(e,t,n){return this._pulse?Dw(this):(this.evaluate(e,t,n),this)}function TM(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(r){this.error(r)}}function Dw(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}function LM(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function PM(e,t){let n=e.source,r=this._clock;return n&&ne(n)?new Qp(this,r,n.map(i=>i.pulse),t):this._input[e.id]||IM(this._pulse,n&&n.pulse)}function IM(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==kc&&(e.source=t.source),e)}var Kp={skip:!1,force:!1};function jM(e,t){let n=t||Kp;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function qM(e,t,n){let r=n||Kp;return(e.set(t)||r.force)&&this.touch(e,r),this}function UM(e,t,n){this.touch(e,n||Kp);let r=new Ri(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function WM(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),Fw(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,GM(t,0,e)):r=n,r}}}function Fw(e,t,n,r){let i,a,o=e[n];for(;n>t;){if(a=n-1>>1,i=e[a],r(o,i)<0){e[n]=i,n=a;continue}break}return e[n]=o}function GM(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,l;for(;o<i;)l=o+1,l<i&&n(e[o],e[l])>=0&&(o=l),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,Fw(e,r,t,n)}function Io(){this.logger(Cp()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=G2();try{this._loader=cc()}catch{}this._touched=yc(Kl),this._input={},this._pulse=null,this._heap=WM((e,t)=>e.qrank-t.qrank),this._postrun=[]}function rs(e){return function(){return this._log[e].apply(this,arguments)}}Io.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:rs("error"),warn:rs("warn"),info:rs("info"),debug:rs("debug"),logLevel:rs("level"),cleanThreshold:1e4,add:yM,connect:vM,rank:MM,rerank:OM,pulse:UM,touch:jM,update:qM,changeset:$a,ingest:AM,parse:wM,preload:kM,request:EM,events:xM,on:FM,evaluate:zM,run:RM,runAsync:NM,runAfter:TM,_enqueue:LM,_getPulse:PM};function O(e,t){Pe.call(this,e,null,t)}G(O,Pe,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||(t=e),t.then?t=t.then(n=>this.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var jo={};function Cw(e){let t=$w(e);return t&&t.Definition||null}function $w(e){return e&&(e=e.toLowerCase()),ue(jo,e)?jo[e]:null}function*Sw(e,t){if(t==null)for(let n of e)n!=null&&n!==""&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function Zp(e,t,n){let r=Float64Array.from(Sw(e,n));return r.sort(es),t.map(i=>dw(r,i))}function em(e,t){return Zp(e,[.25,.5,.75],t)}function tm(e,t){let n=e.length,r=tM(e,t),i=em(e,t),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*n**-.2}function Mw(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,s,u,c,f,d,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=h/t,f=0,d=e.steps.length;f<d&&e.steps[f]<c;++f);l=e.steps[Math.max(0,f-1)]}else{for(s=Math.ceil(Math.log(t)/r),u=e.minstep||0,l=Math.max(u,n**+(Math.round(Math.log(h)/r)-s));Math.ceil(h/l)>t;)l*=n;for(f=0,d=i.length;f<d;++f)c=l/i[f],c>=u&&h/c<=t&&(l=c)}c=Math.log(l);let p=n**(-(c>=0?0:~~(-c/r)+1)-1);return(e.nice||e.nice===void 0)&&(c=Math.floor(a/l+p)*l,a=a<c?c-l:c,o=Math.ceil(o/l)*l),{start:a,stop:o===a?a+l:o,step:l}}var Nn=Math.random;function HM(e){Nn=e}function Ow(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(Sw(e,r)),a=i.length,o=t,l,s,u,c;for(u=0,c=Array(o);u<o;++u){for(l=0,s=0;s<a;++s)l+=i[~~(Nn()*a)];c[u]=l/a}return c.sort(es),[Vp(c,n/2),Vp(c,1-n/2)]}function Bw(e,t,n,r){r||(r=(d=>d));let i=e.length,a=new Float64Array(i),o=0,l=1,s=r(e[0]),u=s,c=s+t,f;for(;l<i;++l){if(f=r(e[l]),f>=c){for(u=(s+u)/2;o<l;++o)a[o]=u;c=f+t,s=f}u=f}for(u=(s+u)/2;o<l;++o)a[o]=u;return n?VM(a,t+t/4):a}function VM(e,t){let n=e.length,r=0,i=1,a,o;for(;e[r]===e[i];)++i;for(;i<n;){for(a=i+1;e[i]===e[a];)++a;if(e[i]-e[i-1]<t){for(o=i+(r+a-i-i>>1);o<i;)e[o++]=e[i];for(;o>i;)e[o--]=e[r]}r=i,i=a}return e}function XM(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function YM(e,t){t??(t=e,e=0);let n,r,i,a={min(o){return arguments.length?(n=o||0,i=r-n,a):n},max(o){return arguments.length?(r=o||0,i=r-n,a):r},sample(){return n+Math.floor(i*Nn())},pdf(o){return o===Math.floor(o)&&o>=n&&o<r?1/i:0},cdf(o){let l=Math.floor(o);return l<n?0:l>=r?1:(l-n+1)/i},icdf(o){return o>=0&&o<=1?n-1+Math.floor(o*i):NaN}};return a.min(e).max(t)}var zw=Math.sqrt(2*Math.PI),JM=Math.SQRT2,is=NaN;function Dc(e,t){e||(e=0),t??(t=1);let n=0,r=0,i,a;if(is===is)n=is,is=NaN;else{do n=Nn()*2-1,r=Nn()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,is=r*a}return e+n*t}function nm(e,t,n){n??(n=1);let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*zw)}function Fc(e,t,n){t||(t=0),n??(n=1);let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let o=Math.exp(-i*i/2),l;i<7.07106781186547?(l=.0352624965998911*i+.700383064443688,l=l*i+6.37396220353165,l=l*i+33.912866078383,l=l*i+112.079291497871,l=l*i+221.213596169931,l=l*i+220.206867912376,a=o*l,l=.0883883476483184*i+1.75566716318264,l=l*i+16.064177579207,l=l*i+86.7807322029461,l=l*i+296.564248779674,l=l*i+637.333633378831,l=l*i+793.826512519948,l=l*i+440.413735824752,a/=l):(l=i+.65,l=i+4/l,l=i+3/l,l=i+2/l,l=i+1/l,a=o/l/2.506628274631)}return r>0?1-a:a}function Cc(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*JM*QM(2*e-1)}function QM(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function rm(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Dc(n,r),pdf:a=>nm(a,n,r),cdf:a=>Fc(a,n,r),icdf:a=>Cc(a,n,r)};return i.mean(e).stdev(t)}function im(e,t){let n=rm(),r=0,i={data(a){return arguments.length?(e=a,r=a?a.length:0,i.bandwidth(t)):e},bandwidth(a){return arguments.length?(t=a,!t&&e&&(t=tm(e)),i):t},sample(){return e[~~(Nn()*r)]+t*n.sample()},pdf(a){let o=0,l=0;for(;l<r;++l)o+=n.pdf((a-e[l])/t);return o/t/r},cdf(a){let o=0,l=0;for(;l<r;++l)o+=n.cdf((a-e[l])/t);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function am(e,t){return e||(e=0),t??(t=1),Math.exp(e+Dc()*t)}function om(e,t,n){if(e<=0)return 0;t||(t=0),n??(n=1);let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*zw*e)}function lm(e,t,n){return Fc(Math.log(e),t,n)}function sm(e,t,n){return Math.exp(Cc(e,t,n))}function Nw(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>am(n,r),pdf:a=>om(a,n,r),cdf:a=>lm(a,n,r),icdf:a=>sm(a,n,r)};return i.mean(e).stdev(t)}function Rw(e,t){let n=0,r;function i(o){let l=[],s=0,u;for(u=0;u<n;++u)s+=l[u]=o[u]==null?1:+o[u];for(u=0;u<n;++u)l[u]/=s;return l}let a={weights(o){return arguments.length?(r=i(t=o||[]),a):t},distributions(o){return arguments.length?(o?(n=o.length,e=o):(n=0,e=[]),a.weights(t)):e},sample(){let o=Nn(),l=e[n-1],s=r[0],u=0;for(;u<n-1;s+=r[++u])if(o<s){l=e[u];break}return l.sample()},pdf(o){let l=0,s=0;for(;s<n;++s)l+=r[s]*e[s].pdf(o);return l},cdf(o){let l=0,s=0;for(;s<n;++s)l+=r[s]*e[s].cdf(o);return l},icdf(){throw Error("Mixture icdf not supported.")}};return a.distributions(e).weights(t)}function um(e,t){return t??(t=e??1,e=0),e+(t-e)*Nn()}function cm(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function fm(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function dm(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function Tw(e,t){let n,r,i={min(a){return arguments.length?(n=a||0,i):n},max(a){return arguments.length?(r=a??1,i):r},sample:()=>um(n,r),pdf:a=>cm(a,n,r),cdf:a=>fm(a,n,r),icdf:a=>dm(a,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function hm(e,t,n){let r=0,i=0;for(let a of e){let o=n(a);t(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function as(e,t,n,r){let i=r-e*e,a=Math.abs(i)<1e-24?0:(n-e*t)/i;return[t-a*e,a]}function $c(e,t,n,r){e=e.filter(h=>{let p=t(h),m=n(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&e.sort((h,p)=>t(h)-t(p));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),l=0,s=0,u=0,c,f,d;for(d of e)a[l]=c=+t(d),o[l]=f=+n(d),++l,s+=(c-s)/l,u+=(f-u)/l;for(l=0;l<i;++l)a[l]-=s,o[l]-=u;return[a,o,s,u]}function os(e,t,n,r){let i=-1,a,o;for(let l of e)a=t(l),o=n(l),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function qo(e,t,n,r,i){let a=0,o=0;return os(e,t,n,(l,s)=>{let u=s-i(l),c=s-r;a+=u*u,o+=c*c}),1-a/o}function pm(e,t,n){let r=0,i=0,a=0,o=0,l=0;os(e,t,n,(c,f)=>{++l,r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let s=as(r,i,a,o),u=c=>s[0]+s[1]*c;return{coef:s,predict:u,rSquared:qo(e,t,n,i,u)}}function Lw(e,t,n){let r=0,i=0,a=0,o=0,l=0;os(e,t,n,(c,f)=>{++l,c=Math.log(c),r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let s=as(r,i,a,o),u=c=>s[0]+s[1]*Math.log(c);return{coef:s,predict:u,rSquared:qo(e,t,n,i,u)}}function Pw(e,t,n){let[r,i,a,o]=$c(e,t,n),l=0,s=0,u=0,c=0,f=0,d,h,p;os(e,t,n,(v,b)=>{d=r[f++],h=Math.log(b),p=d*b,l+=(b*h-l)/f,s+=(p-s)/f,u+=(p*h-u)/f,c+=(d*p-c)/f});let[m,g]=as(s/o,l/o,u/o,c/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:qo(e,t,n,o,y)}}function Iw(e,t,n){let r=0,i=0,a=0,o=0,l=0,s=0;os(e,t,n,(f,d)=>{let h=Math.log(f),p=Math.log(d);++s,r+=(h-r)/s,i+=(p-i)/s,a+=(h*p-a)/s,o+=(h*h-o)/s,l+=(d-l)/s});let u=as(r,i,a,o),c=f=>u[0]*f**+u[1];return u[0]=Math.exp(u[0]),{coef:u,predict:c,rSquared:qo(e,t,n,l,c)}}function mm(e,t,n){let[r,i,a,o]=$c(e,t,n),l=r.length,s=0,u=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<l;)p=r[h],m=i[h++],g=p*p,s+=(g-s)/h,u+=(g*p-u)/h,c+=(g*g-c)/h,f+=(p*m-f)/h,d+=(g*m-d)/h;let y=c-s*s,v=s*y-u*u,b=(d*s-f*u)/v,w=(f*y-d*u)/v,A=-b*s,E=x=>(x-=a,b*x*x+w*x+A+o);return{coef:[A-w*a+b*a*a+o,w-2*b*a,b],predict:E,rSquared:qo(e,t,n,o,E)}}function jw(e,t,n,r){if(r===0)return hm(e,t,n);if(r===1)return pm(e,t,n);if(r===2)return mm(e,t,n);let[i,a,o,l]=$c(e,t,n),s=i.length,u=[],c=[],f=r+1,d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<s;++p)m+=i[p]**+d*a[p];for(u.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<s;++p)m+=i[p]**+(d+h);g[h]=m}c.push(g)}c.push(u);let y=ZM(c),v=b=>{b-=o;let w=l+y[0]+y[1]*b+y[2]*b*b;for(d=3;d<f;++d)w+=y[d]*b**+d;return w};return{coef:KM(f,y,-o,l),predict:v,rSquared:qo(e,t,n,l,v)}}function KM(e,t,n,r){let i=Array(e),a,o,l,s;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(l=t[a],s=1,i[a]+=l,o=1;o<=a;++o)s*=(a+1-o)/o,i[a-o]+=l*n**+o*s;return i[0]+=r,i}function ZM(e){let t=e.length-1,n=[],r,i,a,o,l;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)l=e[a][r],e[a][r]=e[a][o],e[a][o]=l;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(l=0,a=i+1;a<t;++a)l+=e[a][i]*n[a];n[i]=(e[t][i]-l)/e[i][i]}return n}var qw=2,Uw=1e-12;function Ww(e,t,n,r){let[i,a,o,l]=$c(e,t,n,!0),s=i.length,u=Math.max(2,~~(r*s)),c=new Float64Array(s),f=new Float64Array(s),d=new Float64Array(s).fill(1);for(let h=-1;++h<=qw;){let p=[0,u-1];for(let g=0;g<s;++g){let y=i[g],v=p[0],b=p[1],w=y-i[v]>i[b]-y?v:b,A=0,E=0,x=0,k=0,_=0,F=1/Math.abs(i[w]-y||1);for(let C=v;C<=b;++C){let M=i[C],D=a[C],S=eO(Math.abs(y-M)*F)*d[C],L=M*S;A+=S,E+=L,x+=D*S,k+=D*L,_+=M*L}let[$,R]=as(E/A,x/A,k/A,_/A);c[g]=$+R*y,f[g]=Math.abs(a[g]-c[g]),tO(i,g+1,p)}if(h===qw)break;let m=hw(f);if(Math.abs(m)<Uw)break;for(let g=0,y,v;g<s;++g)y=f[g]/(6*m),d[g]=y>=1?Uw:(v=1-y*y)*v}return nO(i,c,o,l)}function eO(e){return(e=1-e*e*e)*e*e}function tO(e,t,n){let r=e[t],i=n[0],a=n[1]+1;if(!(a>=e.length))for(;t>i&&e[a]-r<=r-e[i];)n[0]=++i,n[1]=a,++a}function nO(e,t,n,r){let i=e.length,a=[],o=0,l=0,s=[],u;for(;o<i;++o)u=e[o]+n,s[0]===u?s[1]+=(t[o]-s[1])/++l:(l=0,s[1]+=r,s=[u,t[o]],a.push(s));return s[1]+=r,a}var rO=.5*Math.PI/180;function Sc(e,t,n,r){n||(n=25),r=Math.max(n,r||200);let i=m=>[m,e(m)],a=t[0],o=t[1],l=o-a,s=l/r,u=[i(a)],c=[];if(n===r){for(let m=1;m<r;++m)u.push(i(a+m/n*l));return u.push(i(o)),u}else{c.push(i(o));for(let m=n;--m>0;)c.push(i(a+m/n*l))}let f=u[0],d=c[c.length-1],h=1/l,p=iO(f[1],c);for(;d;){let m=i((f[0]+d[0])/2);m[0]-f[0]>=s&&aO(f,m,d,h,p)>rO?c.push(m):(f=d,u.push(d),c.pop()),d=c[c.length-1]}return u}function iO(e,t){let n=e,r=e,i=t.length;for(let a=0;a<i;++a){let o=t[a][1];o<n&&(n=o),o>r&&(r=o)}return 1/(r-n)}function aO(e,t,n,r,i){let a=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),o=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(a-o)}var oO=sn({aggregate:()=>Ti,bin:()=>bm,collect:()=>xm,compare:()=>Jw,countpattern:()=>wm,cross:()=>Am,density:()=>Em,dotbin:()=>_m,expression:()=>rA,extent:()=>Dm,facet:()=>Mc,field:()=>iA,filter:()=>Cm,flatten:()=>$m,fold:()=>Sm,formula:()=>Mm,generate:()=>aA,impute:()=>Om,joinaggregate:()=>Bm,kde:()=>zm,key:()=>oA,load:()=>lA,lookup:()=>Rm,multiextent:()=>sA,multivalues:()=>uA,params:()=>cA,pivot:()=>Tm,prefacet:()=>fA,project:()=>Lm,proxy:()=>dA,quantile:()=>Pm,relay:()=>hA,sample:()=>Im,sequence:()=>jm,sieve:()=>pA,subflow:()=>Fm,timeunit:()=>qm,tupleindex:()=>gA,values:()=>yA,window:()=>Um});function lO(e){return t=>{let n=e.length,r=1,i=String(e[0](t));for(;r<n;++r)i+="|"+e[r](t);return i}}function gm(e){return!e||!e.length?function(){return""}:e.length===1?e[0]:lO(e)}function Gw(e,t,n){return n||e+(t?"_"+t:"")}var ym=()=>{},sO={init:ym,add:ym,rem:ym,idx:0},ls={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.valid?e.sum:void 0,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t<e.min||e.min===void 0)&&(e.min=t)},rem:(e,t)=>{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||e.max===void 0)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t<e.min&&(e.argmin=n)},rem:(e,t)=>{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,t)=>{e.exp=0,e.exp_r=t},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,t)=>e.exp=e.exp_r*e.exp+t,rem:(e,t)=>e.exp=(e.exp-t/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},ss=Object.keys(ls).filter(e=>e!=="__count__");function uO(e,t){return(n,r)=>me({name:e,aggregate_param:r,out:n||e},sO,t)}[...ss,"__count__"].forEach(e=>{ls[e]=uO(e,ls[e])});function Hw(e,t,n){return ls[e](n,t)}function Vw(e,t){return e.idx-t.idx}function cO(e){let t={};e.forEach(r=>t[r.name]=r);let n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=ls[i]())})};return e.forEach(n),Object.values(t).sort(Vw)}function fO(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function dO(e,t){if(e==null||e===""){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function hO(e,t){if(e==null||e===""){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function pO(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function Xw(e,t){let n=t||Jn,r=cO(e),i=e.slice().sort(Vw);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=fO,a.prototype.add=dO,a.prototype.rem=hO,a.prototype.set=pO,a.prototype.get=n,a.fields=e.map(o=>o.out),a}function vm(e){this._key=e?ti(e):Z,this.reset()}var At=vm.prototype;At.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},At.add=function(e){this._add.push(e)},At.rem=function(e){this._rem.push(e)},At.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),o={},l,s,u;for(l=0;l<i;++l)o[n(t[l])]=1;for(l=0,s=0;l<r;++l)o[n(u=e[l])]?o[n(u)]=0:a[s++]=u;return this._rem=[],this._add=a},At.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+"",ue(n,a)||(n[a]=1,++i);return i},At.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=V2(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},At.argmin=function(e){return this.extent(e)[0]||{}},At.argmax=function(e){return this.extent(e)[1]||{}},At.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},At.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},At.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=em(this.values(),e),this._get=e),this._q},At.q1=function(e){return this.quartile(e)[0]},At.q2=function(e){return this.quartile(e)[1]},At.q3=function(e){return this.quartile(e)[2]},At.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=Ow(this.values(),1e3,.05,e),this._get=e),this._ci},At.ci0=function(e){return this.ci(e)[0]},At.ci1=function(e){return this.ci(e)[1]};function Ti(e){O.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}Ti.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:ss},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},G(Ti,O,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,a=>n.add(a))):(n.value=n.value||n.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(l){let s,u,c,f;for(s in l)for(c=l[s].tuple,u=0;u<i;++u)r[u][f=c[n[u]]]=f}a(e._prev),a(t);function o(l,s,u){let c=n[u],f=r[u++];for(let d in f){let h=l?l+"|"+d:d;s[c]=f[d],u<i?o(h,s,u):t[h]||e.cell(h,s)}}o("",{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(v){let b=ie(It(v)),w=b.length,A=0,E;for(;A<w;++A)r[E=b[A]]||(r[E]=1,t.push(E))}this._dims=ie(e.groupby),this._dnames=this._dims.map(v=>{let b=Qe(v);return i(v),n.push(b),b}),this.cellkey=e.key?e.key:gm(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||["count"],l=e.aggregate_params||[null],s=e.as||[],u=a.length,c={},f,d,h,p,m,g,y;for(u!==o.length&&T("Unmatched number of fields and aggregate ops."),y=0;y<u;++y){if(f=a[y],d=o[y],h=l[y]||null,f==null&&d!=="count"&&T("Null aggregate field specified."),m=Qe(f),g=Gw(d,m,s[y]),n.push(g),d==="count"){this._counts.push(g);continue}p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(Hw(d,h,g))}return this._measures=this._measures.map(v=>Xw(v,v.field)),Object.create(null)},cellkey:gm(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let r=this._measures,i=r.length;n.agg=Array(i);for(let a=0;a<i;++a)n.agg[a]=new r[a](n)}return n.store&&(n.data=new vm),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[n[o]]=r[o](e);return t?vw(t.tuple,a):Ce(a)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(--n.num,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,a=e.add,o=e.rem,l=e.mod,s,u,c,f;if(r)for(u in r)s=r[u],(!i||s.num)&&o.push(s.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(t[c])),t[c]=null;for(c=0,f=this._mlen;c<f;++c)s=n[c],(s.num===0&&i?o:l).push(this.celltuple(s)),n[c]=null;return this._alen=this._mlen=0,this._prev=null,e}});var mO=1e-14;function bm(e){O.call(this,null,e)}bm.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},G(bm,O,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||["bin0","bin1"],l=o[0],s=o[1],u;return e.modified()?(t=t.reflow(!0),u=t.SOURCE):u=t.modified(It(e.field))?t.ADD_MOD:t.ADD,t.visit(u,n?c=>{let f=r(c);c[l]=f,c[s]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[l]=r(c)),t.modifies(n?o:l)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=Mw(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,l;(o=e.anchor)!=null&&(l=o-(i+r*Math.floor((o-i)/r)),i+=l,a+=l);let s=function(u){let c=zn(t(u));return c==null?null:c<i?-1/0:c>a?1/0:(c=Math.max(i,Math.min(c,a-r)),i+r*Math.floor(mO+(c-i)/r))};return s.start=i,s.stop=n.stop,s.step=r,this.value=No(s,It(t),e.name||"bin_"+Qe(t))}});function Yw(e,t,n){let r=e,i=t||[],a=n||[],o={},l=0;return{add:s=>a.push(s),remove:s=>o[r(s)]=++l,size:()=>i.length,data:(s,u)=>(l&&(l=(i=i.filter(c=>!o[r(c)]),o={},0)),u&&s&&i.sort(s),a.length&&(i=s?W2(s,i,a.sort(s)):i.concat(a),a=[]),i)}}function xm(e){O.call(this,[],e)}xm.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},G(xm,O,{transform(e,t){let n=t.fork(t.ALL),r=Yw(Z,this.value,n.materialize(n.ADD).add),i=e.sort,a=t.changed()||i&&(e.modified("sort")||t.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(a),this.value=n.source=r.data(Ca(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function Jw(e){Pe.call(this,null,gO,e)}G(Jw,Pe);function gO(e){return this.value&&!e.modified()?this.value:Np(e.fields,e.orders)}function wm(e){O.call(this,null,e)}wm.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};function yO(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase();break}return e.match(n)}G(wm,O,{transform(e,t){let n=f=>d=>{for(var h=yO(l(d),e.case,a)||[],p,m=0,g=h.length;m<g;++m)o.test(p=h[m])||f(p)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,l=e.field,s=e.as||["text","count"],u=n(f=>i[f]=1+(i[f]||0)),c=n(f=>--i[f]);return r?t.visit(t.SOURCE,u):(t.visit(t.ADD,u),t.visit(t.REM,c)),this._finish(t,s)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),l,s,u;for(l in n)s=r[l],u=n[l]||0,!s&&u?(r[l]=s=Ce({}),s[i]=l,s[a]=u,o.add.push(s)):u===0?(s&&o.rem.push(s),n[l]=null,r[l]=null):s[a]!==u&&(s[a]=u,o.mod.push(s));return o.modifies(t)}});function Am(e){O.call(this,null,e)}Am.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},G(Am,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=vO(l,i,a,e.filter||Bn)):n.mod=l,n.source=this.value,n.modifies(r)}});function vO(e,t,n,r){for(var i=[],a={},o=e.length,l=0,s,u;l<o;++l)for(a[t]=u=e[l],s=0;s<o;++s)a[n]=e[s],r(a)&&(i.push(Ce(a)),a={},a[t]=u);return i}var Qw={kde:im,mixture:Rw,normal:rm,lognormal:Nw,uniform:Tw},bO="distributions",Kw="function",xO="field";function Zw(e,t){let n=e[Kw];ue(Qw,n)||T("Unknown distribution function: "+n);let r=Qw[n]();for(let i in e)i===xO?r.data((e.from||t()).map(e[i])):i===bO?r[i](e[i].map(a=>Zw(a,t))):typeof r[i]===Kw&&r[i](e[i]);return r}function Em(e){O.call(this,null,e)}var eA=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],wO={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:eA},{name:"weights",type:"number",array:!0}]};Em.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:eA.concat(wO)},{name:"as",type:"string",array:!0,default:["value","density"]}]},G(Em,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=Zw(e.distribution,AO(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||"pdf";o!=="pdf"&&o!=="cdf"&&T("Invalid density method: "+o),!e.extent&&!r.data&&T("Missing density extent parameter."),o=r[o];let l=e.as||["value","density"],s=e.extent||Dr(r.data()),u=Sc(o,s,i,a).map(c=>{let f={};return f[l[0]]=c[0],f[l[1]]=c[1],Ce(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});function AO(e){return()=>e.materialize(e.SOURCE).source}function tA(e,t){return e?e.map((n,r)=>t[r]||Qe(n)):null}function km(e,t,n){let r=[],i=f=>f(s),a,o,l,s,u,c;if(t==null)r.push(e.map(n));else for(a={},o=0,l=e.length;o<l;++o)s=e[o],u=t.map(i),c=a[u],c||(a[u]=c=[],c.dims=u,r.push(c)),c.push(n(s));return r}var nA="bin";function _m(e){O.call(this,null,e)}_m.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:nA}]};var EO=(e,t)=>sc(Dr(e,t))/30;G(_m,O,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=km(t.source,e.groupby,Jn),i=e.smooth||!1,a=e.field,o=e.step||EO(n,a),l=Ca((p,m)=>a(p)-a(m)),s=e.as||nA,u=r.length,c=1/0,f=-1/0,d=0,h;for(;d<u;++d){let p=r[d].sort(l);h=-1;for(let m of Bw(p,o,i,a))m<c&&(c=m),m>f&&(f=m),p[++h][s]=m}return this.value={start:c,stop:f,step:o},t.reflow(!0).modifies(s)}});function rA(e){Pe.call(this,null,kO,e),this.modified(!0)}G(rA,Pe);function kO(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:No(n=>t(n,e),It(t),Qe(t))}function Dm(e){O.call(this,[void 0,void 0],e)}Dm.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},G(Dm,O,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),a=n[0],o=n[1];if((i||a==null)&&(a=1/0,o=-1/0),t.visit(i?t.SOURCE:t.ADD,l=>{let s=zn(r(l));s!=null&&(s<a&&(a=s),s>o&&(o=s))}),!Number.isFinite(a)||!Number.isFinite(o)){let l=Qe(r);l&&(l=` for field "${l}"`),t.dataflow.warn(`Infinite extent${l}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Fm(e,t){Pe.call(this,e),this.parent=t,this.count=0}G(Fm,Pe,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){--this.count,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}});function Mc(e){O.call(this,{},e),this._keys=Ro();let t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;r<i;++r)n(t[r],r,t)}}G(Mc,O,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=ue(i,e)&&i[e],o,l;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(l=r||(l=this._group[e])&&l.tuple,o=n.dataflow,a=new Fm(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,l)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let n=this._targets.filter(r=>r&&r.count>0);this.initTargets(n)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified("key"),l=s=>this.subflow(s,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,s=>{let u=Z(s),c=a.get(u);c!==void 0&&(a.delete(u),l(c).rem(s))}),t.visit(t.ADD,s=>{let u=r(s);a.set(Z(s),u),l(u).add(s)}),o||t.modified(r.fields)?t.visit(t.MOD,s=>{let u=Z(s),c=a.get(u),f=r(s);c===f?l(f).mod(s):(a.set(u,f),l(c).rem(s),l(f).add(s))}):t.changed(t.MOD)&&t.visit(t.MOD,s=>{l(a.get(Z(s))).mod(s)}),o&&t.visit(t.REFLOW,s=>{let u=Z(s),c=a.get(u),f=r(s);c!==f&&(a.set(u,f),l(c).rem(s),l(f).add(s))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function iA(e){Pe.call(this,null,_O,e)}G(iA,Pe);function _O(e){return this.value&&!e.modified()?this.value:ne(e.name)?ie(e.name).map(t=>ti(t)):ti(e.name,e.as)}function Cm(e){O.call(this,Ro(),e)}Cm.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},G(Cm,O,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,l=i.mod,s=e.expr,u=!0;t.visit(t.REM,f=>{let d=Z(f);r.has(d)?r.delete(d):o.push(f)}),t.visit(t.ADD,f=>{s(f,e)?a.push(f):r.set(Z(f),1)});function c(f){let d=Z(f),h=s(f,e),p=r.get(d);h&&p?(r.delete(d),a.push(f)):!h&&!p?(r.set(d,1),o.push(f)):u&&h&&!p&&l.push(f)}return t.visit(t.MOD,c),e.modified()&&(u=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function $m(e){O.call(this,[],e)}$m.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},G($m,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=tA(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,l=>{let s=r.map(h=>h(l)),u=s.reduce((h,p)=>Math.max(h,p.length),0),c=0,f,d;for(;c<u;++c){for(d=Yp(l),f=0;f<o;++f)d[i[f]]=s[f][c]??null;a&&(d[a]=c),n.add.push(d)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function Sm(e){O.call(this,[],e)}Sm.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},G(Sm,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(Qe),a=e.as||["key","value"],o=a[0],l=a[1],s=r.length;return n.rem=this.value,t.visit(t.SOURCE,u=>{for(let c=0,f;c<s;++c)f=Yp(u),f[o]=i[c],f[l]=r[c](u),n.add.push(f)}),this.value=n.source=n.add,n.modifies(a)}});function Mm(e){O.call(this,null,e)}Mm.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},G(Mm,O,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,o=>o[r]=n(o,e))}});function aA(e){O.call(this,[],e)}G(aA,O,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,l,s;if(a>0){for(o=[];--a>=0;)o.push(s=Ce(r(e))),i.push(s);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,i=i.slice(-a);return n.source=this.value=i,n}});var Oc={value:"value",median:hw,mean:iM,min:qp,max:Da},DO=[];function Om(e){O.call(this,[],e)}Om.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function FO(e){var t=e.method||Oc.value,n;if(Oc[t]==null)T("Unrecognized imputation method: "+t);else return t===Oc.value?(n=e.value===void 0?0:e.value,()=>n):Oc[t]}function CO(e){let t=e.field;return n=>n?t(n):NaN}G(Om,O,{transform(e,t){var n=t.fork(t.ALL),r=FO(e),i=CO(e),a=Qe(e.field),o=Qe(e.key),l=(e.groupby||[]).map(Qe),s=$O(t.source,e.groupby,e.key,e.keyvals),u=[],c=this.value,f=s.domain.length,d,h,p,m,g,y,v,b,w,A;for(g=0,b=s.length;g<b;++g)for(d=s[g],p=d.values,h=NaN,v=0;v<f;++v)if(d[v]==null){for(m=s.domain[v],A={_impute:!0},y=0,w=p.length;y<w;++y)A[l[y]]=p[y];A[o]=m,A[a]=Number.isNaN(h)?h=r(d,i):h,u.push(Ce(A))}return u.length&&(n.add=n.materialize(n.ADD).add.concat(u)),c.length&&(n.rem=n.materialize(n.REM).rem.concat(c)),this.value=u,n}});function $O(e,t,n,r){var i=y=>y(g),a=[],o=r?r.slice():[],l={},s={},u,c,f,d,h,p,m,g;for(o.forEach((y,v)=>l[y]=v+1),d=0,m=e.length;d<m;++d)g=e[d],p=n(g),h=l[p]||(l[p]=o.push(p)),c=(u=t?t.map(i):DO)+"",(f=s[c])||(f=s[c]=[],a.push(f),f.values=u),f[h-1]=g;return a.domain=o,a}function Bm(e){Ti.call(this,e)}Bm.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:ss},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},G(Bm,Ti,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,a=>n.add(a))):(i=n.value=n.value||this.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),n.changes(),t.visit(t.SOURCE,a=>{me(a,i[n.cellkey(a)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function zm(e){O.call(this,null,e)}zm.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},G(zm,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=km(r,e.groupby,e.field),a=(e.groupby||[]).map(Qe),o=e.bandwidth,l=e.cumulative?"cdf":"pdf",s=e.as||["value","density"],u=[],c=e.extent,f=e.steps||e.minsteps||25,d=e.steps||e.maxsteps||200;l!=="pdf"&&l!=="cdf"&&T("Invalid density method: "+l),e.resolve==="shared"&&(c||(c=Dr(r,e.field)),f=d=e.steps||d),i.forEach(h=>{let p=im(h,o)[l],m=e.counts?h.length:1;Sc(p,c||Dr(h),f,d).forEach(g=>{let y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[s[0]]=g[0],y[s[1]]=g[1]*m,u.push(Ce(y))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});function oA(e){Pe.call(this,null,SO,e)}G(oA,Pe);function SO(e){return this.value&&!e.modified()?this.value:Mp(e.fields,e.flat)}function lA(e){O.call(this,[],e),this._pending=null}G(lA,O,{transform(e,t){let n=t.dataflow;return this._pending?Nm(this,t,this._pending):MO(e)?t.StopPropagation:e.values?Nm(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(r=>(this._pending=ie(r.data),i=>i.touch(this)))}:n.request(e.url,e.format).then(r=>Nm(this,t,ie(r.data)))}});function MO(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}function Nm(e,t,n){n.forEach(Ce);let r=t.fork(t.NO_FIELDS&t.NO_SOURCE);return r.rem=e.value,e.value=r.source=r.add=n,e._pending=null,r.rem.length&&r.clean(!0),r}function Rm(e){O.call(this,{},e)}Rm.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},G(Rm,O,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),l=n.length,s=o?t.SOURCE:t.ADD,u=t,c=e.as,f,d,h;return i?(d=i.length,l>1&&!c&&T('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==l*d&&T('The "as" parameter has too few output field names.'),c||(c=i.map(Qe)),f=function(p){for(var m=0,g=0,y,v;m<l;++m)if(v=r.get(n[m](p)),v==null)for(y=0;y<d;++y,++g)p[c[g]]=a;else for(y=0;y<d;++y,++g)p[c[g]]=i[y](v)}):(c||T("Missing output field names."),f=function(p){for(var m=0,g;m<l;++m)g=r.get(n[m](p)),p[c[m]]=g??a}),o?u=t.reflow(!0):(h=n.some(p=>t.modified(p.fields)),s|=h?t.MOD:0),t.visit(s,f),u.modifies(c)}});function sA(e){Pe.call(this,null,OO,e)}G(sA,Pe);function OO(e){if(this.value&&!e.modified())return this.value;let t=e.extents,n=t.length,r=1/0,i=-1/0,a,o;for(a=0;a<n;++a)o=t[a],o[0]<r&&(r=o[0]),o[1]>i&&(i=o[1]);return[r,i]}function uA(e){Pe.call(this,null,BO,e)}G(uA,Pe);function BO(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function cA(e){O.call(this,null,e)}G(cA,O,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function Tm(e){Ti.call(this,e)}Tm.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:ss,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},G(Tm,Ti,{_transform:Ti.prototype.transform,transform(e,t){return this._transform(zO(e,t),t)}});function zO(e,t){let n=e.field,r=e.value,i=(e.op==="count"?"__count__":e.op)||"sum",a=It(n).concat(It(r)),o=RO(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(l=>NO(l,n,r,a)),as:o.map(l=>l+""),modified:e.modified.bind(e)}}function NO(e,t,n,r){return No(i=>t(i)===e?n(i):NaN,r,e+"")}function RO(e,t,n){let r={},i=[];return n.visit(n.SOURCE,a=>{let o=e(a);r[o]||(r[o]=1,i.push(o))}),i.sort(uc),t?i.slice(0,t):i}function fA(e){Mc.call(this,e)}G(fA,Mc,{transform(e,t){let n=e.subflow,r=e.field,i=a=>this.subflow(Z(a),n,t,a);return(e.modified("field")||r&&t.modified(It(r)))&&T("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,a=>{let o=i(a);r(a).forEach(l=>o.mod(l))}),t.visit(t.ADD,a=>{let o=i(a);r(a).forEach(l=>o.add(Ce(l)))}),t.visit(t.REM,a=>{let o=i(a);r(a).forEach(l=>o.rem(l))})):(t.visit(t.MOD,a=>i(a).mod(a)),t.visit(t.ADD,a=>i(a).add(a)),t.visit(t.REM,a=>i(a).rem(a))),t.clean()&&t.runAfter(()=>this.clean()),t}});function Lm(e){O.call(this,null,e)}Lm.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},G(Lm,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=tA(e.fields,e.as||[]),a=r?(l,s)=>TO(l,s,r,i):xc,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,l=>{let s=Z(l);n.rem.push(o[s]),o[s]=null}),t.visit(t.ADD,l=>{let s=a(l,Ce({}));o[Z(l)]=s,n.add.push(s)}),t.visit(t.MOD,l=>{n.mod.push(a(l,o[Z(l)]))}),n}});function TO(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function dA(e){O.call(this,null,e)}G(dA,O,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Pm(e){O.call(this,null,e)}Pm.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};var LO=1e-14;G(Pm,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;let i=t.materialize(t.SOURCE).source,a=km(i,e.groupby,e.field),o=(e.groupby||[]).map(Qe),l=[],s=e.step||.01,u=e.probs||xn(s/2,1-LO,s),c=u.length;return a.forEach(f=>{let d=Zp(f,u);for(let h=0;h<c;++h){let p={};for(let m=0;m<o.length;++m)p[o[m]]=f.dims[m];p[r[0]]=u[h],p[r[1]]=d[h],l.push(Ce(p))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l,n}});function hA(e){O.call(this,null,e)}G(hA,O,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,i=>{let a=Z(i);n.rem.push(r[a]),r[a]=null}),t.visit(t.ADD,i=>{let a=Yp(i);r[Z(i)]=a,n.add.push(a)}),t.visit(t.MOD,i=>{let a=r[Z(i)];for(let o in i)a[o]=i[o],n.modifies(o);n.mod.push(a)})),n}});function Im(e){O.call(this,[],e),this.count=0}Im.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},G(Im,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((c,f)=>(c[Z(f)]=1,c),{}),o=this.value,l=this.count,s=0;function u(c){let f,d;o.length<i?o.push(c):(d=~~((l+1)*Nn()),d<o.length&&d>=s&&(f=o[d],a[Z(f)]&&n.rem.push(f),o[d]=c)),++l}if(t.rem.length&&(t.visit(t.REM,c=>{let f=Z(c);a[f]&&(a[f]=-1,n.rem.push(c)),--l}),o=o.filter(c=>a[Z(c)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(s=l=o.length,t.visit(t.SOURCE,c=>{a[Z(c)]||u(c)}),s=-1),r&&o.length>i){let c=o.length-i;for(let f=0;f<c;++f)a[Z(o[f])]=-1,n.rem.push(o[f]);o=o.slice(c)}return t.mod.length&&t.visit(t.MOD,c=>{a[Z(c)]&&n.mod.push(c)}),t.add.length&&t.visit(t.ADD,u),(t.add.length||s<0)&&(n.add=o.filter(c=>!a[Z(c)])),this.count=l,this.value=n.source=o,n}});function jm(e){O.call(this,null,e)}jm.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},G(jm,O,{transform(e,t){if(this.value&&!e.modified())return;let n=t.materialize().fork(t.MOD),r=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=xn(e.start,e.stop,e.step||1).map(i=>{let a={};return a[r]=i,Ce(a)}),n.add=t.add.concat(this.value),n}});function pA(e){O.call(this,null,e),this.modified(!0)}G(pA,O,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function qm(e){O.call(this,null,e)}var mA=["unit0","unit1"];qm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:b2,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:mA}]},G(qm,O,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone==="utc",a=this._floor(e,t),o=(i?$p:Rp)(a.unit).offset,l=e.as||mA,s=l[0],u=l[1],c=a.step,f=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(It(n)))&&(t=t.reflow(!0),h=t.SOURCE,f=1/0,d=-1/0),t.visit(h,p=>{let m=n(p),g,y;m==null?(p[s]=null,r&&(p[u]=null)):(p[s]=g=y=a(m),r&&(p[u]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,t.modifies(r?l:s)},_floor(e,t){let n=e.timezone==="utc",{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:w2({extent:e.extent||Dr(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=M2(r),o=this.value||{},l=(n?N2:B2)(a,i);return l.unit=Me(a),l.units=a,l.step=i,l.start=o.start,l.stop=o.stop,this.value=l}});function gA(e){O.call(this,Ro(),e)}G(gA,O,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=l=>i.set(r(l),l),o=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,l=>i.delete(r(l))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function yA(e){O.call(this,null,e)}G(yA,O,{transform(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(Ca(e.sort)):t.source).map(e.field))}});function PO(e,t,n,r){let i=us[e](t,n);return{init:i.init||Sp,update:function(a,o){o[r]=i.next(a)}}}var us={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?++e:e}}},percent_rank:function(){let e=us.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||T("ntile num must be greater than zero.");let n=us.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||T("nth_value nth must be greater than zero."),{next:n=>{let r=n.i0+(t-1);return r<n.i1?e(n.data[r]):null}}},prev_value:function(e){let t;return{init:()=>t=null,next:n=>{let r=e(n.data[n.index]);return r==null?t:t=r}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{let i=r.data;return r.index<=n?t:(n=IO(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function IO(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var jO=Object.keys(us);function vA(e){let t=ie(e.ops),n=ie(e.fields),r=ie(e.params),i=ie(e.aggregate_params),a=ie(e.as),o=this.outputs=[],l=this.windows=[],s={},u={},c=[],f=[],d=!0;function h(p){ie(It(p)).forEach(m=>s[m]=1)}h(e.sort),t.forEach((p,m)=>{let g=n[m],y=r[m],v=i[m]||null,b=Qe(g),w=Gw(p,b,a[m]);if(h(g),o.push(w),ue(us,p))l.push(PO(p,g,y,w));else{if(g==null&&p!=="count"&&T("Null aggregate field specified."),p==="count"){c.push(w);return}d=!1;let A=u[b];A||(A=u[b]=[],A.field=g,f.push(A)),A.push(Hw(p,v,w))}}),(c.length||f.length)&&(this.cell=qO(f,c,d)),this.inputs=Object.keys(s)}var bA=vA.prototype;bA.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},bA.update=function(e,t){let n=this.cell,r=this.windows,i=e.data,a=r&&r.length,o;if(n){for(o=e.p0;o<e.i0;++o)n.rem(i[o]);for(o=e.p1;o<e.i1;++o)n.add(i[o]);n.set(t)}for(o=0;o<a;++o)r[o].update(e,t)};function qO(e,t,n){e=e.map(s=>Xw(s,s.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var l=r.data=new vm;return r.add=function(s){if(r.num+=1,!n){l&&l.add(s);for(let u=0;u<i;++u)a[u].add(a[u].get(s),s)}},r.rem=function(s){if(--r.num,!n){l&&l.rem(s);for(let u=0;u<i;++u)a[u].rem(a[u].get(s),s)}},r.set=function(s){let u,c;for(l&&l.values(),u=0,c=t.length;u<c;++u)s[t[u]]=r.num;if(!n)for(u=0,c=a.length;u<c;++u)a[u].set(s)},r.init=function(){r.num=0,l&&l.reset();for(let s=0;s<i;++s)a[s].init()},r}function Um(e){O.call(this,{},e),this._mlen=0,this._mods=[]}Um.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:jO.concat(ss)},{name:"params",type:"number",null:!0,array:!0},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},G(Um,O,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=Ca(e.sort),i=gm(e.groupby),a=l=>this.group(i(l)),o=this.state;(!o||n)&&(o=this.state=new vA(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,l=>a(l).add(l))):(t.visit(t.REM,l=>a(l).remove(l)),t.visit(t.ADD,l=>a(l).add(l)));for(let l=0,s=this._mlen;l<s;++l)UO(this._mods[l],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=Yw(Z),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function UO(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],l=e.data(n),s=l.length,u=a?tw(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:l,compare:i||jt(-1)};t.init();for(let f=0;f<s;++f)WO(c,o,f,s),a&&GO(c,u),t.update(c,l[f])}function WO(e,t,n,r){e.p0=e.i0,e.p1=e.i1,e.i0=t[0]==null?0:Math.max(0,n-Math.abs(t[0])),e.i1=t[1]==null?r:Math.min(r,n+Math.abs(t[1])+1),e.index=n}function GO(e,t){let n=e.i0,r=e.i1-1,i=e.compare,a=e.data,o=a.length-1;n>0&&!i(a[n],a[n-1])&&(e.i0=t.left(a,a[n])),r<o&&!i(a[r],a[r+1])&&(e.i1=t.right(a,a[r]))}function xA(e,t,n){var r=null,i=qt(!0),a=null,o=ow,l=null,s=aw(u);e=typeof e=="function"?e:e===void 0?W7:qt(+e),t=typeof t=="function"?t:qt(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?G7:qt(+n);function u(f){var d,h,p,m=(f=D7(f)).length,g,y=!1,v,b=Array(m),w=Array(m);for(a??(l=o(v=s())),d=0;d<=m;++d){if(!(d<m&&i(g=f[d],d,f))===y)if(y=!y)h=d,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=d-1;p>=h;--p)l.point(b[p],w[p]);l.lineEnd(),l.areaEnd()}y&&(b[d]=+e(g,d,f),w[d]=+t(g,d,f),l.point(r?+r(g,d,f):b[d],n?+n(g,d,f):w[d]))}if(v)return l=null,v+""||null}function c(){return lw().defined(i).curve(o).context(a)}return u.x=function(f){return arguments.length?(e=typeof f=="function"?f:qt(+f),r=null,u):e},u.x0=function(f){return arguments.length?(e=typeof f=="function"?f:qt(+f),u):e},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:qt(+f),u):r},u.y=function(f){return arguments.length?(t=typeof f=="function"?f:qt(+f),n=null,u):t},u.y0=function(f){return arguments.length?(t=typeof f=="function"?f:qt(+f),u):t},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:qt(+f),u):n},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(n)},u.lineX1=function(){return c().x(r).y(t)},u.defined=function(f){return arguments.length?(i=typeof f=="function"?f:qt(!!f),u):i},u.curve=function(f){return arguments.length?(o=f,a!=null&&(l=o(a)),u):o},u.context=function(f){return arguments.length?(f==null?a=l=null:l=o(a=f),u):a},u}var HO={draw(e,t){let n=A7(t/k7);e.moveTo(n,0),e.arc(0,0,n,0,E7)}};function VO(e,t){let n=null,r=aw(i);e=typeof e=="function"?e:qt(e||HO),t=typeof t=="function"?t:qt(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:qt(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:qt(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function Li(e,t){if(typeof document<"u"&&document.createElement){let n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}var XO=()=>typeof Image<"u"?Image:null;function wA(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,nw),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return wA(e).unknown(t)},e=arguments.length?Array.from(e,nw):[0,1],Lo(n)}function AA(e){return Math.log(e)}function EA(e){return Math.exp(e)}function YO(e){return-Math.log(-e)}function JO(e){return-Math.exp(-e)}function QO(e){return isFinite(e)?+("1e"+e):e<0?0:e}function KO(e){return e===10?QO:e===Math.E?Math.exp:t=>e**+t}function ZO(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function kA(e){return(t,n)=>-e(-t,n)}function Wm(e){let t=e(AA,EA),n=t.domain,r=10,i,a;function o(){return i=ZO(r),a=KO(r),n()[0]<0?(i=kA(i),a=kA(a),e(YO,JO)):e(AA,EA),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{let s=n(),u=s[0],c=s[s.length-1],f=c<u;f&&([u,c]=[c,u]);let d=i(u),h=i(c),p,m,g=l==null?10:+l,y=[];if(!(r%1)&&h-d<g){if(d=Math.floor(d),h=Math.ceil(h),u>0){for(;d<=h;++d)for(p=1;p<r;++p)if(m=d<0?p/a(-d):p*a(d),!(m<u)){if(m>c)break;y.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(m<u)){if(m>c)break;y.push(m)}y.length*2<g&&(y=ew(u,c,g))}else y=ew(d,h,Math.min(h-d,g)).map(a);return f?y.reverse():y},t.tickFormat=(l,s)=>{if(l??(l=10),s??(s=r===10?"s":","),typeof s!="function"&&(!(r%1)&&(s=i7(s)).precision==null&&(s.trim=!0),s=a7(s)),l===1/0)return s;let u=Math.max(1,r*l/t.ticks().length);return c=>{let f=c/a(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=u?s(c):""}},t.nice=()=>n(n7(n(),{floor:l=>a(Math.floor(i(l))),ceil:l=>a(Math.ceil(i(l)))})),t}function _A(){let e=Wm(Ip()).domain([1,10]);return e.copy=()=>Pp(e,_A()).base(e.base()),Fa.apply(e,arguments),e}function DA(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function FA(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Gm(e){var t=1,n=e(DA(t),FA(t));return n.constant=function(r){return arguments.length?e(DA(t=+r),FA(t)):t},Lo(n)}function CA(){var e=Gm(Ip());return e.copy=function(){return Pp(e,CA()).constant(e.constant())},Fa.apply(e,arguments)}function $A(e){return function(t){return t<0?-((-t)**+e):t**+e}}function eB(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function tB(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Mi,Mi),n=1;function r(){return n===1?e(Mi,Mi):n===.5?e(eB,tB):e($A(n),$A(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Lo(t)}function Vm(){var e=Hm(Ip());return e.copy=function(){return Pp(e,Vm()).exponent(e.exponent())},Fa.apply(e,arguments),e}function nB(){return Vm.apply(null,arguments).exponent(.5)}function SA(){var e=[],t=[],n=[],r;function i(){var o=0,l=Math.max(1,t.length);for(n=Array(l-1);++o<l;)n[o-1]=dw(e,o/l);return a}function a(o){return o==null||isNaN(o=+o)?r:t[dc(n,o)]}return a.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(es),i()},a.range=function(o){return arguments.length?(t=Array.from(o),i()):t.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return SA().domain(e).range(t).unknown(r)},Fa.apply(a,arguments)}function MA(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(s){return s!=null&&s<=s?i[dc(r,s,0,n)]:a}function l(){var s=-1;for(r=Array(n);++s<n;)r[s]=((s+1)*t-(s-n)*e)/(n+1);return o}return o.domain=function(s){return arguments.length?([e,t]=s,e=+e,t=+t,l()):[e,t]},o.range=function(s){return arguments.length?(n=(i=Array.from(s)).length-1,l()):i.slice()},o.invertExtent=function(s){var u=i.indexOf(s);return u<0?[NaN,NaN]:u<1?[e,r[0]]:u>=n?[r[n-1],t]:[r[u-1],r[u]]},o.unknown=function(s){return arguments.length&&(a=s),o},o.thresholds=function(){return r.slice()},o.copy=function(){return MA().domain([e,t]).range(i).unknown(a)},Fa.apply(Lo(o),arguments)}function OA(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[dc(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return OA().domain(e).range(t).unknown(n)},Fa.apply(i,arguments)}function rB(){return Fa.apply(r7(Z4,e7,d7,c7,s7,u7,o7,h7,l7,f7).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Bc(){var e=0,t=1,n,r,i,a,o=Mi,l=!1,s;function u(f){return f==null||isNaN(f=+f)?s:o(i===0?.5:(f=(a(f)-n)*i,l?Math.max(0,Math.min(1,f)):f))}u.domain=function(f){return arguments.length?([e,t]=f,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),u):[e,t]},u.clamp=function(f){return arguments.length?(l=!!f,u):l},u.interpolator=function(f){return arguments.length?(o=f,u):o};function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,o=f(h,p),u):[o(0),o(1)]}}return u.range=c(Up),u.rangeRound=c(Wp),u.unknown=function(f){return arguments.length?(s=f,u):s},function(f){return a=f,n=f(e),r=f(t),i=n===r?0:1/(r-n),u}}function Pi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Xm(){var e=Lo(Bc()(Mi));return e.copy=function(){return Pi(e,Xm())},Oi.apply(e,arguments)}function BA(){var e=Wm(Bc()).domain([1,10]);return e.copy=function(){return Pi(e,BA()).base(e.base())},Oi.apply(e,arguments)}function zA(){var e=Gm(Bc());return e.copy=function(){return Pi(e,zA()).constant(e.constant())},Oi.apply(e,arguments)}function Ym(){var e=Hm(Bc());return e.copy=function(){return Pi(e,Ym()).exponent(e.exponent())},Oi.apply(e,arguments)}function iB(){return Ym.apply(null,arguments).exponent(.5)}function zc(){var e=0,t=.5,n=1,r=1,i,a,o,l,s,u=Mi,c,f=!1,d;function h(m){return isNaN(m=+m)?d:(m=.5+((m=+c(m))-a)*(r*m<r*a?l:s),u(f?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([e,t,n]=m,i=c(e=+e),a=c(t=+t),o=c(n=+n),l=i===a?0:.5/(a-i),s=a===o?0:.5/(o-a),r=a<i?-1:1,h):[e,t,n]},h.clamp=function(m){return arguments.length?(f=!!m,h):f},h.interpolator=function(m){return arguments.length?(u=m,h):u};function p(m){return function(g){var y,v,b;return arguments.length?([y,v,b]=g,u=iw(m,[y,v,b]),h):[u(0),u(.5),u(1)]}}return h.range=p(Up),h.rangeRound=p(Wp),h.unknown=function(m){return arguments.length?(d=m,h):d},function(m){return c=m,i=m(e),a=m(t),o=m(n),l=i===a?0:.5/(a-i),s=a===o?0:.5/(o-a),r=a<i?-1:1,h}}function NA(){var e=Lo(zc()(Mi));return e.copy=function(){return Pi(e,NA())},Oi.apply(e,arguments)}function RA(){var e=Wm(zc()).domain([.1,1,10]);return e.copy=function(){return Pi(e,RA()).base(e.base())},Oi.apply(e,arguments)}function TA(){var e=Gm(zc());return e.copy=function(){return Pi(e,TA()).constant(e.constant())},Oi.apply(e,arguments)}function Jm(){var e=Hm(zc());return e.copy=function(){return Pi(e,Jm()).exponent(e.exponent())},Oi.apply(e,arguments)}function aB(){return Jm.apply(null,arguments).exponent(.5)}var oB=Fr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),lB=Fr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),sB=Fr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),uB=Fr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),cB=Fr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),fB=Fr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),dB=Fr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),hB=Fr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),pB=Fr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),mB=Fr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function Qm(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var gB="identity",Nc="linear",Km="sqrt",Zm="symlog",yB="time",Ii="sequential",Uo="diverging",cs="quantile",e0="quantize",LA="threshold",vB="ordinal",bB="point",xB="band",wB="bin-ordinal",ct="continuous",fs="discrete",ds="discretizing",Rn="interpolating",t0="temporal";function AB(e){return function(t){let n=t[0],r=t[1],i;return r<n&&(i=n,n=r,r=i),[e.invert(n),e.invert(r)]}}function EB(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,l,s,u;for(i<r&&(l=r,r=i,i=l),s=0,u=n.length;s<u;++s)n[s]>=r&&n[s]<=i&&(a<0&&(a=s),o=s);if(!(a<0))return r=e.invertExtent(n[a]),i=e.invertExtent(n[o]),[r[0]===void 0?r[1]:r[0],i[1]===void 0?i[0]:i[1]]}}function n0(){let e=rw().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,l=0,s=0,u=.5;delete e.unknown;function c(){let f=t().length,d=r[1]<r[0],h=r[1-d],p=Qm(f,l,s),m=r[d-0];i=(h-m)/(p||1),o&&(i=Math.floor(i)),m+=(h-m-i*(f-l))*u,a=i*(1-l),o&&(m=Math.round(m),a=Math.round(a));let g=xn(f).map(y=>m+i*y);return n(d?g.reverse():g)}return e.domain=function(f){return arguments.length?(t(f),c()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],c()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],o=!0,c()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(f){return arguments.length?(o=!!f,c()):o},e.padding=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),l=s,c()):l},e.paddingInner=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},e.paddingOuter=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},e.align=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},e.invertRange=function(f){if(f[0]==null||f[1]==null)return;let d=r[1]<r[0],h=d?n().reverse():n(),p=h.length-1,m=+f[0],g=+f[1],y,v,b;if(!(m!==m||g!==g)&&(g<m&&(b=m,m=g,g=b),!(g<h[0]||m>r[1-d])))return y=Math.max(0,jp(h,m)-1),v=m===g?y:jp(h,g)-1,m-h[y]>a+1e-10&&++y,d&&(b=y,y=p-v,v=p-b),y>v?void 0:t().slice(y,v+1)},e.invert=function(f){let d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return n0().domain(t()).range(r).round(o).paddingInner(l).paddingOuter(s).align(u)},c()}function PA(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return PA(t())},e}function kB(){return PA(n0().paddingInner(1))}var _B=Array.prototype.map;function DB(e){return _B.call(e,zn)}var FB=Array.prototype.slice;function IA(){let e=[],t=[];function n(r){return r==null||r!==r?void 0:t[(dc(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=DB(r),n):e.slice()},n.range=function(r){return arguments.length?(t=FB.call(r),n):t.slice()},n.tickFormat=function(r,i){return J4(e[0],Me(e),r??10,i)},n.copy=function(){return IA().domain(n.domain()).range(n.range())},n}var Rc=new Map,jA=Symbol("vega_scale");function qA(e){return e[jA]=!0,e}function UA(e){return e&&e[jA]===!0}function CB(e,t,n){let r=function(){let i=t();return i.invertRange||(i.invertRange=i.invert?AB(i):i.invertExtent?EB(i):void 0),i.type=e,qA(i)};return r.metadata=_r(ie(n)),r}function ke(e,t,n){return arguments.length>1?(Rc.set(e,CB(e,t,n)),this):WA(e)?Rc.get(e):void 0}ke(gB,wA),ke(Nc,Q4,ct),ke("log",_A,[ct,"log"]),ke("pow",Vm,ct),ke(Km,nB,ct),ke(Zm,CA,ct),ke(yB,t7,[ct,t0]),ke("utc",rB,[ct,t0]),ke(Ii,Xm,[ct,Rn]),ke(`${Ii}-${Nc}`,Xm,[ct,Rn]),ke(`${Ii}-log`,BA,[ct,Rn,"log"]),ke(`${Ii}-pow`,Ym,[ct,Rn]),ke(`${Ii}-${Km}`,iB,[ct,Rn]),ke(`${Ii}-${Zm}`,zA,[ct,Rn]),ke(`${Uo}-${Nc}`,NA,[ct,Rn]),ke(`${Uo}-log`,RA,[ct,Rn,"log"]),ke(`${Uo}-pow`,Jm,[ct,Rn]),ke(`${Uo}-${Km}`,aB,[ct,Rn]),ke(`${Uo}-${Zm}`,TA,[ct,Rn]),ke(cs,SA,[ds,cs]),ke(e0,MA,ds),ke(LA,OA,ds),ke(wB,IA,[fs,ds]),ke(vB,rw,fs),ke(xB,n0,fs),ke(bB,kB,fs);function WA(e){return Rc.has(e)}function Sa(e,t){let n=Rc.get(e);return n&&n.metadata[t]}function r0(e){return Sa(e,ct)}function Wo(e){return Sa(e,fs)}function i0(e){return Sa(e,ds)}function GA(e){return Sa(e,"log")}function $B(e){return Sa(e,t0)}function HA(e){return Sa(e,Rn)}function VA(e){return Sa(e,cs)}var SB=["clamp","base","constant","exponent"];function XA(e,t){let n=t[0],r=Me(t)-n;return function(i){return e(n+i*r)}}function Tc(e,t,n){return iw(a0(t||"rgb",n),e)}function YA(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function JA(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?jt(.5):(i=(a=e.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=ke(a)().domain([t,n]).range([0,1]),SB.forEach(l=>e[l]?o[l](e[l]()):0),o)}function a0(e,t){let n=y7[MB(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function MB(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}var OB={blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},BB={accent:lB,category10:oB,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:sB,observable10:uB,paired:cB,pastel1:fB,pastel2:dB,set1:hB,set2:pB,set3:mB,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function QA(e){if(ne(e))return e;let t=e.length/6|0,n=Array(t);for(let r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function KA(e,t){for(let n in e)o0(n,t(e[n]))}var ZA={};KA(BB,QA),KA(OB,e=>Tc(QA(e)));function o0(e,t){return e&&(e=e.toLowerCase()),arguments.length>1?(ZA[e]=t,this):ZA[e]}var zB=e=>ne(e)?e.map(t=>String(t)):String(e),NB=(e,t)=>e[1]-t[1],RB=(e,t)=>t[1]-e[1];function l0(e,t,n){let r;return _a(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null&&(t=Math.min(t,Math.floor(sc(e.domain())/n||1)+1))),ce(t)&&(r=t.step,t=t.interval),Ee(t)&&(t=e.type==="time"?Rp(t):e.type=="utc"?$p(t):T("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function eE(e,t,n){let r=e.range(),i=r[0],a=Me(r),o=NB;if(i>a&&(r=a,a=i,i=r,o=RB),i=Math.floor(i),a=Math.ceil(a),t=t.map(l=>[l,e(l)]).filter(l=>i<=l[1]&&l[1]<=a).sort(o).map(l=>l[0]),n>0&&t.length>1){let l=[t[0],Me(t)];for(;t.length>n&&t.length>=3;)t=t.filter((s,u)=>!(u%2));t.length<3&&(t=l)}return t}function s0(e,t){return e.bins?eE(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function tE(e,t,n,r,i,a){let o=t.type,l=zB;if(o==="time"||i==="time")l=e.timeFormat(r);else if(o==="utc"||i==="utc")l=e.utcFormat(r);else if(GA(o)){let s=e.formatFloat(r);if(a||t.bins)l=s;else{let u=nE(t,n,!1);l=c=>u(c)?s(c):""}}else if(t.tickFormat){let s=t.domain();l=e.formatSpan(s[0],s[s.length-1],n,r)}else r&&(l=e.format(r));return l}function nE(e,t,n){let r=s0(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),l=s=>{let u=s/i**+Math.round(Math.log(s)/a);return u*i<i-.5&&(u*=i),u<=o};return n?r.filter(l):l}var u0={[cs]:"quantiles",[e0]:"thresholds",[LA]:"domain"},rE={[cs]:"quantiles",[e0]:"domain"};function iE(e,t){return e.bins?PB(e.bins):e.type==="log"?nE(e,t,!0):u0[e.type]?LB(e[u0[e.type]]()):s0(e,t)}function TB(e,t,n){let r=t[rE[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0],o;for(o=1;o<i;++o)a=Math.min(a,r[o]-r[o-1]);return e.formatSpan(0,a,30,n)}function LB(e){let t=[-1/0].concat(e);return t.max=1/0,t}function PB(e){let t=e.slice(0,-1);return t.max=Me(e),t}var IB=e=>u0[e.type]||e.bins;function aE(e,t,n,r,i,a,o){let l=rE[t.type]&&a!=="time"&&a!=="utc"?TB(e,t,i):tE(e,t,n,i,a,o);return r==="symbol"&&IB(t)?jB(l):r==="discrete"?qB(l):UB(l)}var jB=e=>(t,n,r)=>{let i=oE(r[n+1],oE(r.max,1/0)),a=lE(t,e),o=lE(i,e);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},oE=(e,t)=>e??t,qB=e=>(t,n)=>n?e(t):null,UB=e=>t=>e(t),lE=(e,t)=>Number.isFinite(e)?t(e):null;function WB(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+Me(t),a=i-r;if(e.type==="threshold"){let o=n?a/n:.1;r-=o,i+=o,a=i-r}return o=>(o-r)/a}function GB(e,t,n,r){let i=r||t.type;return Ee(n)&&$B(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),!n&&i==="time"?e.timeFormat("%A, %d %B %Y, %X"):!n&&i==="utc"?e.utcFormat("%A, %d %B %Y, %X UTC"):aE(e,t,5,null,n,r,!0)}function sE(e,t,n){n||(n={});let r=Math.max(3,n.maxlen||7),i=GB(e,t,n.format,n.formatType);if(i0(t.type)){let a=iE(t).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}else if(Wo(t.type)){let a=t.domain(),o=a.length,l=o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ");return`${o} value${o===1?"":"s"}: ${l}`}else{let a=t.domain();return`values from ${i(a[0])} to ${i(Me(a))}`}}var uE=0;function HB(){uE=0}var Lc="p_";function c0(e){return e&&e.gradient}function cE(e,t,n){let r=e.gradient,i=e.id,a=r==="radial"?Lc:"";return i||(i=e.id="gradient_"+uE++,r==="radial"?(e.x1=Cr(e.x1,.5),e.y1=Cr(e.y1,.5),e.r1=Cr(e.r1,0),e.x2=Cr(e.x2,.5),e.y2=Cr(e.y2,.5),e.r2=Cr(e.r2,.5),a=Lc):(e.x1=Cr(e.x1,0),e.y1=Cr(e.y1,0),e.x2=Cr(e.x2,1),e.y2=Cr(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function Cr(e,t){return e??t}function fE(e,t){var n=[],r;return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,a){return n.push({offset:i,color:a}),r}}}var dE={basis:{curve:F7},"basis-closed":{curve:O7},"basis-open":{curve:B7},bundle:{curve:R7,tension:"beta",value:.85},cardinal:{curve:P7,tension:"tension",value:0},"cardinal-open":{curve:S7,tension:"tension",value:0},"cardinal-closed":{curve:M7,tension:"tension",value:0},"catmull-rom":{curve:U7,tension:"alpha",value:.5},"catmull-rom-closed":{curve:N7,tension:"alpha",value:.5},"catmull-rom-open":{curve:$7,tension:"alpha",value:.5},linear:{curve:ow},"linear-closed":{curve:j7},monotone:{horizontal:L7,vertical:C7},natural:{curve:z7},step:{curve:I7},"step-after":{curve:q7},"step-before":{curve:T7}};function f0(e,t,n){var r=ue(dE,e)&&dE[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&n!=null&&(i=i[r.tension](n))),i}var VB={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},XB=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,YB=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,JB=/^((\s+,?\s*)|(,\s*))/,QB=/^[01]/;function Go(e){let t=[];return(e.match(XB)||[]).forEach(n=>{let r=n[0],i=r.toLowerCase(),a=VB[i],o=KB(i,a,n.slice(1).trim()),l=o.length;if(l<a||l&&l%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([r,...o.slice(0,a)]),l!==a){i==="m"&&(r=r==="M"?"L":"l");for(let s=a;s<l;s+=a)t.push([r,...o.slice(s,s+a)])}}),t}function KB(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let o=e==="a"&&(a===3||a===4)?QB:YB,l=n.slice(i).match(o);if(l===null)throw Error("Invalid SVG path, incorrect parameter type");i+=l[0].length,r.push(+l[0]);let s=n.slice(i).match(JB);s!==null&&(i+=s[0].length)}return r}var ji=Math.PI/180,ZB=1e-14,Ma=Math.PI/2,$r=Math.PI*2,Ho=Math.sqrt(3)/2,d0={},h0={},hE=[].join;function ez(e,t,n,r,i,a,o,l,s){let u=hE.call(arguments);if(d0[u])return d0[u];let c=o*ji,f=Math.sin(c),d=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let h=d*(l-e)*.5+f*(s-t)*.5,p=d*(s-t)*.5-f*(l-e)*.5,m=h*h/(n*n)+p*p/(r*r);m>1&&(m=Math.sqrt(m),n*=m,r*=m);let g=d/n,y=f/n,v=-f/r,b=d/r,w=g*l+y*s,A=v*l+b*s,E=g*e+y*t,x=v*e+b*t,k=1/((E-w)*(E-w)+(x-A)*(x-A))-.25;k<0&&(k=0);let _=Math.sqrt(k);a==i&&(_=-_);let F=.5*(w+E)-_*(x-A),$=.5*(A+x)+_*(E-w),R=Math.atan2(A-$,w-F),C=Math.atan2(x-$,E-F)-R;C<0&&a===1?C+=$r:C>0&&a===0&&(C-=$r);let M=Math.ceil(Math.abs(C/(Ma+.001))),D=[];for(let S=0;S<M;++S)D[S]=[F,$,R+S*C/M,R+(S+1)*C/M,n,r,f,d];return d0[u]=D}function tz(e){let t=hE.call(e);if(h0[t])return h0[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],l=e[5],s=e[6],u=e[7];let c=u*o,f=-s*l,d=s*o,h=u*l,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),b=Math.sin(v*.5),w=8/3*b*b/Math.sin(v),A=n+p-w*m,E=r+m+w*p,x=n+g,k=r+y,_=x+w*y,F=k-w*g;return h0[t]=[c*A+f*E,d*A+h*E,c*_+f*F,d*_+h*F,c*x+f*k,d*x+h*k]}var Tn=["l",0,0,0,0,0,0,0];function nz(e,t,n){let r=Tn[0]=e[0];if(r==="a"||r==="A")Tn[1]=t*e[1],Tn[2]=n*e[2],Tn[3]=e[3],Tn[4]=e[4],Tn[5]=e[5],Tn[6]=t*e[6],Tn[7]=n*e[7];else if(r==="h"||r==="H")Tn[1]=t*e[1];else if(r==="v"||r==="V")Tn[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)Tn[i]=(i%2==1?t:n)*e[i];return Tn}function hs(e,t,n,r,i,a){var o,l=null,s=0,u=0,c=0,f=0,d,h,p,m,g=0,y=0;n??(n=0),r??(r=0),i??(i=1),a??(a=i),e.beginPath&&e.beginPath();for(var v=0,b=t.length;v<b;++v){switch(o=t[v],(i!==1||a!==1)&&(o=nz(o,i,a)),o[0]){case"l":s+=o[1],u+=o[2],e.lineTo(s+n,u+r);break;case"L":s=o[1],u=o[2],e.lineTo(s+n,u+r);break;case"h":s+=o[1],e.lineTo(s+n,u+r);break;case"H":s=o[1],e.lineTo(s+n,u+r);break;case"v":u+=o[1],e.lineTo(s+n,u+r);break;case"V":u=o[1],e.lineTo(s+n,u+r);break;case"m":s+=o[1],u+=o[2],g=s,y=u,e.moveTo(s+n,u+r);break;case"M":s=o[1],u=o[2],g=s,y=u,e.moveTo(s+n,u+r);break;case"c":d=s+o[5],h=u+o[6],c=s+o[3],f=u+o[4],e.bezierCurveTo(s+o[1]+n,u+o[2]+r,c+n,f+r,d+n,h+r),s=d,u=h;break;case"C":s=o[5],u=o[6],c=o[3],f=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,c+n,f+r,s+n,u+r);break;case"s":d=s+o[3],h=u+o[4],c=2*s-c,f=2*u-f,e.bezierCurveTo(c+n,f+r,s+o[1]+n,u+o[2]+r,d+n,h+r),c=s+o[1],f=u+o[2],s=d,u=h;break;case"S":d=o[3],h=o[4],c=2*s-c,f=2*u-f,e.bezierCurveTo(c+n,f+r,o[1]+n,o[2]+r,d+n,h+r),s=d,u=h,c=o[1],f=o[2];break;case"q":d=s+o[3],h=u+o[4],c=s+o[1],f=u+o[2],e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h;break;case"Q":d=o[3],h=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,d+n,h+r),s=d,u=h,c=o[1],f=o[2];break;case"t":d=s+o[1],h=u+o[2],l[0].match(/[QqTt]/)===null?(c=s,f=u):l[0]==="t"?(c=2*s-p,f=2*u-m):l[0]==="q"&&(c=2*s-c,f=2*u-f),p=c,m=f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h,c=s+o[1],f=u+o[2];break;case"T":d=o[1],h=o[2],c=2*s-c,f=2*u-f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h;break;case"a":pE(e,s+n,u+r,[o[1],o[2],o[3],o[4],o[5],o[6]+s+n,o[7]+u+r]),s+=o[6],u+=o[7];break;case"A":pE(e,s+n,u+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),s=o[6],u=o[7];break;case"z":case"Z":s=g,u=y,e.closePath();break}l=o}}function pE(e,t,n,r){let i=ez(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let a=0;a<i.length;++a){let o=tz(i[a]);e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}var mE=.5773502691896257,gE={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,$r)}},cross:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/2.5;e.moveTo(-n,-r),e.lineTo(-n,r),e.lineTo(-r,r),e.lineTo(-r,n),e.lineTo(r,n),e.lineTo(r,r),e.lineTo(n,r),e.lineTo(n,-r),e.lineTo(r,-r),e.lineTo(r,-n),e.lineTo(-r,-n),e.lineTo(-r,-r),e.closePath()}},diamond:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.closePath()}},square:{draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},arrow:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/7,i=n/2.5,a=n/8;e.moveTo(-r,n),e.lineTo(r,n),e.lineTo(r,-a),e.lineTo(i,-a),e.lineTo(0,-n),e.lineTo(-i,-a),e.lineTo(-r,-a),e.closePath()}},wedge:{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n,i=r-n*mE,a=n/4;e.moveTo(0,-r-i),e.lineTo(-a,r-i),e.lineTo(a,r-i),e.closePath()}},triangle:{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n,i=r-n*mE;e.moveTo(0,-r-i),e.lineTo(-n,r-i),e.lineTo(n,r-i),e.closePath()}},"triangle-up":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n;e.moveTo(0,-r),e.lineTo(-n,r),e.lineTo(n,r),e.closePath()}},"triangle-down":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n;e.moveTo(0,r),e.lineTo(-n,-r),e.lineTo(n,-r),e.closePath()}},"triangle-right":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n;e.moveTo(r,0),e.lineTo(-r,-n),e.lineTo(-r,n),e.closePath()}},"triangle-left":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Ho*n;e.moveTo(-r,0),e.lineTo(r,-n),e.lineTo(r,n),e.closePath()}},stroke:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(n,0)}}};function yE(e){return ue(gE,e)?gE[e]:rz(e)}var p0={};function rz(e){if(!ue(p0,e)){let t=Go(e);p0[e]={draw:function(n,r){hs(n,t,0,0,Math.sqrt(r)/2)}}}return p0[e]}var qi=.448084975506;function iz(e){return e.x}function az(e){return e.y}function oz(e){return e.width}function lz(e){return e.height}function ri(e){return typeof e=="function"?e:()=>+e}function Pc(e,t,n){return Math.max(t,Math.min(e,n))}function vE(){var e=iz,t=az,n=oz,r=lz,i=ri(0),a=i,o=i,l=i,s=null;function u(c,f,d){var h,p=f??+e.call(this,c),m=d??+t.call(this,c),g=+n.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,b=Pc(+i.call(this,c),0,v),w=Pc(+a.call(this,c),0,v),A=Pc(+o.call(this,c),0,v),E=Pc(+l.call(this,c),0,v);if(s||(s=h=Gp()),b<=0&&w<=0&&A<=0&&E<=0)s.rect(p,m,g,y);else{var x=p+g,k=m+y;s.moveTo(p+b,m),s.lineTo(x-w,m),s.bezierCurveTo(x-qi*w,m,x,m+qi*w,x,m+w),s.lineTo(x,k-E),s.bezierCurveTo(x,k-qi*E,x-qi*E,k,x-E,k),s.lineTo(p+A,k),s.bezierCurveTo(p+qi*A,k,p,k-qi*A,p,k-A),s.lineTo(p,m+b),s.bezierCurveTo(p,m+qi*b,p+qi*b,m,p+b,m),s.closePath()}if(h)return s=null,h+""||null}return u.x=function(c){return arguments.length?(e=ri(c),u):e},u.y=function(c){return arguments.length?(t=ri(c),u):t},u.width=function(c){return arguments.length?(n=ri(c),u):n},u.height=function(c){return arguments.length?(r=ri(c),u):r},u.cornerRadius=function(c,f,d,h){return arguments.length?(i=ri(c),a=f==null?i:ri(f),l=d==null?i:ri(d),o=h==null?a:ri(h),u):i},u.context=function(c){return arguments.length?(s=c??null,u):s},u}function bE(){var e,t,n,r,i=null,a,o,l,s;function u(f,d,h){let p=h/2;if(a){var m=l-d,g=f-o;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,b=(g/=y)*s,w=Math.atan2(g,m);i.moveTo(o-v,l-b),i.lineTo(f-m*p,d-g*p),i.arc(f,d,p,w-Math.PI,w),i.lineTo(o+v,l+b),i.arc(o,l,s,w,w+Math.PI)}else i.arc(f,d,p,0,$r);i.closePath()}else a=1;o=f,l=d,s=p}function c(f){var d,h=f.length,p,m=!1,g;for(i??(i=g=Gp()),d=0;d<=h;++d)!(d<h&&r(p=f[d],d,f))===m&&(m=!m)&&(a=0),m&&u(+e(p,d,f),+t(p,d,f),+n(p,d,f));if(g)return i=null,g+""||null}return c.x=function(f){return arguments.length?(e=f,c):e},c.y=function(f){return arguments.length?(t=f,c):t},c.size=function(f){return arguments.length?(n=f,c):n},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(i=f??null,c):i},c}function ps(e,t){return e??t}var ms=e=>e.x||0,gs=e=>e.y||0,sz=e=>e.width||0,uz=e=>e.height||0,cz=e=>(e.x||0)+(e.width||0),fz=e=>(e.y||0)+(e.height||0),dz=e=>e.startAngle||0,hz=e=>e.endAngle||0,pz=e=>e.padAngle||0,mz=e=>e.innerRadius||0,gz=e=>e.outerRadius||0,yz=e=>e.cornerRadius||0,vz=e=>ps(e.cornerRadiusTopLeft,e.cornerRadius)||0,bz=e=>ps(e.cornerRadiusTopRight,e.cornerRadius)||0,xz=e=>ps(e.cornerRadiusBottomRight,e.cornerRadius)||0,wz=e=>ps(e.cornerRadiusBottomLeft,e.cornerRadius)||0,Az=e=>ps(e.size,64),Ez=e=>e.size||1,Ic=e=>e.defined!==!1,kz=e=>yE(e.shape||"circle"),_z=_7().startAngle(dz).endAngle(hz).padAngle(pz).innerRadius(mz).outerRadius(gz).cornerRadius(yz),Dz=xA().x(ms).y1(gs).y0(fz).defined(Ic),Fz=xA().y(gs).x1(ms).x0(cz).defined(Ic),Cz=lw().x(ms).y(gs).defined(Ic),$z=vE().x(ms).y(gs).width(sz).height(uz).cornerRadius(vz,bz,xz,wz),Sz=VO().type(kz).size(Az),Mz=bE().x(ms).y(gs).defined(Ic).size(Ez);function m0(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Oz(e,t){return _z.context(e)(t)}function Bz(e,t){let n=t[0],r=n.interpolate||"linear";return(n.orient==="horizontal"?Fz:Dz).curve(f0(r,n.orient,n.tension)).context(e)(t)}function zz(e,t){let n=t[0],r=n.interpolate||"linear";return Cz.curve(f0(r,n.orient,n.tension)).context(e)(t)}function Vo(e,t,n,r){return $z.context(e)(t,n,r)}function Nz(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Rz(e,t){return Sz.context(e)(t)}function Tz(e,t){return Mz.context(e)(t)}var xE=1;function Lz(){xE=1}function g0(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+xE++),o=i.clipping[a]||(i.clipping[a]={id:a});return ge(r)?o.path=r(null):m0(n)?o.path=Vo(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function lt(e){this.clear(),e&&this.union(e)}lt.prototype={clone(){return new lt(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,l=Math.cos(e),s=Math.sin(e),u=t-t*l+n*s,c=n-t*s-n*l;return[l*r-s*i+u,s*r+l*i+c,l*r-s*o+u,s*r+l*o+c,l*a-s*i+u,s*a+l*i+c,l*a-s*o+u,s*a+l*o+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function jc(e){this.mark=e,this.bounds=this.bounds||new lt}function qc(e){jc.call(this,e),this.items=this.items||[]}G(qc,jc);var wE=class{constructor(e){this._pending=0,this._loader=e||cc()}pending(){return this._pending}sanitizeURL(e){let t=this;return AE(t),t._loader.sanitize(e,{context:"href"}).then(n=>(ys(t),n)).catch(()=>(ys(t),null))}loadImage(e){let t=this,n=XO();return AE(t),t._loader.sanitize(e,{context:"image"}).then(r=>{let i=r.href;if(!i||!n)throw{url:i};let a=new n,o=ue(r,"crossOrigin")?r.crossOrigin:"anonymous";return o!=null&&(a.crossOrigin=o),a.onload=()=>ys(t),a.onerror=()=>ys(t),a.src=i,a}).catch(r=>(ys(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function AE(e){e._pending+=1}function ys(e){--e._pending}function ii(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?Pz(t,r):0))}return e}function Pz(e,t){return e.strokeJoin&&e.strokeJoin!=="miter"?0:t}var Iz=$r-1e-8,Uc,Wc,Gc,Oa,y0,Hc,v0,b0,Ui=(e,t)=>Uc.add(e,t),Vc=(e,t)=>Ui(Wc=e,Gc=t),EE=e=>Ui(e,Uc.y1),kE=e=>Ui(Uc.x1,e),Ba=(e,t)=>y0*e+v0*t,za=(e,t)=>Hc*e+b0*t,x0=(e,t)=>Ui(Ba(e,t),za(e,t)),w0=(e,t)=>Vc(Ba(e,t),za(e,t));function vs(e,t){return Uc=e,t?(Oa=t*ji,y0=b0=Math.cos(Oa),Hc=Math.sin(Oa),v0=-Hc):(y0=b0=1,Oa=Hc=v0=0),jz}var jz={beginPath(){},closePath(){},moveTo:w0,lineTo:w0,rect(e,t,n,r){Oa?(x0(e+n,t),x0(e+n,t+r),x0(e,t+r),w0(e,t)):(Ui(e+n,t+r),Vc(e,t))},quadraticCurveTo(e,t,n,r){let i=Ba(e,t),a=za(e,t),o=Ba(n,r),l=za(n,r);_E(Wc,i,o,EE),_E(Gc,a,l,kE),Vc(o,l)},bezierCurveTo(e,t,n,r,i,a){let o=Ba(e,t),l=za(e,t),s=Ba(n,r),u=za(n,r),c=Ba(i,a),f=za(i,a);DE(Wc,o,s,c,EE),DE(Gc,l,u,f,kE),Vc(c,f)},arc(e,t,n,r,i,a){if(r+=Oa,i+=Oa,Wc=n*Math.cos(i)+e,Gc=n*Math.sin(i)+t,Math.abs(i-r)>Iz)Ui(e-n,t-n),Ui(e+n,t+n);else{let o=u=>Ui(n*Math.cos(u)+e,n*Math.sin(u)+t),l,s;if(o(r),o(i),i!==r)if(r%=$r,r<0&&(r+=$r),i%=$r,i<0&&(i+=$r),i<r&&(a=!a,l=r,r=i,i=l),a)for(i-=$r,l=r-r%Ma,s=0;s<4&&l>i;++s,l-=Ma)o(l);else for(l=r-r%Ma+Ma,s=0;s<4&&l<i;++s,l+=Ma)o(l)}}};function _E(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function DE(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,l=e-t,s=0,u=0,c;Math.abs(a)>ZB?(c=o*o+l*a,c>=0&&(c=Math.sqrt(c),s=(-o+c)/a,u=(-o-c)/a)):s=.5*l/o,0<s&&s<1&&i(FE(s,e,t,n,r)),0<u&&u<1&&i(FE(u,e,t,n,r))}function FE(e,t,n,r,i){let a=1-e,o=a*a,l=e*e;return o*a*t+3*o*e*n+3*a*l*r+l*e*i}var Wi=(Wi=Li(1,1))?Wi.getContext("2d"):null,A0=new lt;function E0(e){return function(t,n){if(!Wi)return!0;e(Wi,t),A0.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=A0;for(let l=i;l<=o;++l)for(let s=r;s<=a;++s)if(Wi.isPointInPath(s,l))return!0;return!1}}function k0(e,t){return t.contains(e.x||0,e.y||0)}function CE(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(A0.set(n,r,n+i,r+a))}function $E(e,t){let n=e.x||0,r=e.y||0;return Xo(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function Xo(e,t,n,r,i){let{x1:a,y1:o,x2:l,y2:s}=e,u=r-t,c=i-n,f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0&&(h=-u,p=-(a-t)),g===1&&(h=u,p=l-t),g===2&&(h=-c,p=-(o-n)),g===3&&(h=c,p=s-n),Math.abs(h)<1e-10&&p<0)return!1;if(m=p/h,h<0){if(m>d)return!1;m>f&&(f=m)}else if(h>0){if(m<f)return!1;m<d&&(d=m)}}return!0}function Yo(e,t){e.globalCompositeOperation=t.blend||"source-over"}function Qn(e,t){return e??t}function SE(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function qz(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient==="radial")a=e.createRadialGradient(n.x1+Qn(t.x1,.5)*r,n.y1+Qn(t.y1,.5)*i,Math.max(r,i)*Qn(t.r1,0),n.x1+Qn(t.x2,.5)*r,n.y1+Qn(t.y2,.5)*i,Math.max(r,i)*Qn(t.r2,.5));else{let o=Qn(t.x1,0),l=Qn(t.y1,0),s=Qn(t.x2,1),u=Qn(t.y2,0);if(o===s||l===u||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+l*i,n.x1+s*r,n.y1+u*i);else{let c=Li(Math.ceil(r),Math.ceil(i)),f=c.getContext("2d");return f.scale(r,i),f.fillStyle=SE(f.createLinearGradient(o,l,s,u),t.stops),f.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}}return SE(a,t.stops)}function ME(e,t,n){return c0(n)?qz(e,n,t.bounds):n}function Xc(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0?(e.globalAlpha=n,e.fillStyle=ME(e,t,t.fill),!0):!1}var Uz=[];function Jo(e,t,n){var r=(r=t.strokeWidth)??1;return r<=0?!1:(n*=t.strokeOpacity==null?1:t.strokeOpacity,n>0?(e.globalAlpha=n,e.strokeStyle=ME(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||Uz),e.lineDashOffset=t.strokeDashOffset||0),!0):!1)}function Wz(e,t){return e.zindex-t.zindex||e.index-t.index}function _0(e){if(!e.zdirty)return e.zitems;var t=e.items,n=[],r,i,a;for(i=0,a=t.length;i<a;++i)r=t[i],r.index=i,r.zindex&&n.push(r);return e.zdirty=!1,e.zitems=n.sort(Wz)}function Kn(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=_0(e);if(a&&a.length){for(r=0,i=n.length;r<i;++r)n[r].zindex||t(n[r]);n=a}for(r=0,i=n.length;r<i;++r)t(n[r])}function Yc(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=_0(e);for(a&&a.length&&(n=a),i=n.length;--i>=0;)if(r=t(n[i]))return r;if(n===a){for(n=e.items,i=n.length;--i>=0;)if(!n[i].zindex&&(r=t(n[i])))return r}return null}function D0(e){return function(t,n,r){Kn(n,i=>{(!r||r.intersects(i.bounds))&&OE(e,t,i,i)})}}function Gz(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&OE(e,t,n.items[0],n.items)}}function OE(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Yo(t,n),n.fill&&Xc(t,n,i)&&t.fill(),n.stroke&&Jo(t,n,i)&&t.stroke()))}function Jc(e){return e||(e=Bn),function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,Yc(n,l=>{let s=l.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,l,r,i,a,o))return l})}}function bs(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,l=t??o.fill,s=o.stroke&&n.isPointInStroke,u,c;return s&&(u=o.strokeWidth,c=o.strokeCap,n.lineWidth=u??1,n.lineCap=c??"butt"),e(n,r)?!1:l&&n.isPointInPath(i,a)||s&&n.isPointInStroke(i,a)}}function F0(e){return Jc(bs(e))}function Na(e,t){return"translate("+e+","+t+")"}function C0(e){return"rotate("+e+")"}function Hz(e,t){return"scale("+e+","+t+")"}function BE(e){return Na(e.x||0,e.y||0)}function Vz(e){return Na(e.x||0,e.y||0)+(e.angle?" "+C0(e.angle):"")}function Xz(e){return Na(e.x||0,e.y||0)+(e.angle?" "+C0(e.angle):"")+(e.scaleX||e.scaleY?" "+Hz(e.scaleX||1,e.scaleY||1):"")}function $0(e,t,n){function r(o,l){o("transform",Vz(l)),o("d",t(null,l))}function i(o,l){return t(vs(o,l.angle),l),ii(o,l).translate(l.x||0,l.y||0)}function a(o,l){var s=l.x||0,u=l.y||0,c=l.angle||0;o.translate(s,u),c&&o.rotate(c*=ji),o.beginPath(),t(o,l),c&&o.rotate(-c),o.translate(-s,-u)}return{type:e,tag:"path",nested:!1,attr:r,bound:i,draw:D0(a),pick:F0(a),isect:n||E0(a)}}var Yz=$0("arc",Oz);function Jz(e,t){for(var n=e[0].orient==="horizontal"?t[1]:t[0],r=e[0].orient==="horizontal"?"y":"x",i=e.length,a=1/0,o,l;--i>=0;)e[i].defined!==!1&&(l=Math.abs(e[i][r]-n),l<a&&(a=l,o=e[i]));return o}function Qz(e,t){for(var n=(e[0].strokeWidth||1)**2,r=e.length,i,a,o;--r>=0;)if(e[r].defined!==!1&&(i=e[r].x-t[0],a=e[r].y-t[1],o=i*i+a*a,o<n))return e[r];return null}function Kz(e,t){for(var n=e.length,r,i,a;--n>=0;)if(e[n].defined!==!1&&(r=e[n].x-t[0],i=e[n].y-t[1],a=r*r+i*i,r=e[n].size||1,a<r*r))return e[n];return null}function S0(e,t,n){function r(s,u){var c=u.mark.items;c.length&&s("d",t(null,c))}function i(s,u){var c=u.items;return c.length===0?s:(t(vs(s),c),ii(s,c[0]))}function a(s,u){s.beginPath(),t(s,u)}let o=bs(a);function l(s,u,c,f,d,h){var p=u.items,m=u.bounds;return!p||!p.length||m&&!m.contains(d,h)?null:(c*=s.pixelRatio,f*=s.pixelRatio,o(s,p,c,f)?p[0]:null)}return{type:e,tag:"path",nested:!0,attr:r,bound:i,draw:Gz(a),pick:l,isect:k0,tip:n}}var Zz=S0("area",Bz,Jz);function eN(e,t){var n=t.clip;e.save(),ge(n)?(e.beginPath(),n(e),e.clip()):zE(e,t.group)}function zE(e,t){e.beginPath(),m0(t)?Vo(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function NE(e){let t=Qn(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function tN(e,t){e("transform",BE(t))}function RE(e,t){let n=NE(t);e("d",Vo(null,t,n,n))}function nN(e,t){e("class","background"),e("aria-hidden",!0),RE(e,t)}function rN(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?RE(e,t):e("d","")}function iN(e,t,n){e("clip-path",t.clip?g0(n,t,t):null)}function aN(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let i=0;i<r;++i)e.union(n[i].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),ii(e,t),e.translate(t.x||0,t.y||0)}function xs(e,t,n,r){let i=NE(t);e.beginPath(),Vo(e,t,(n||0)+i,(r||0)+i)}var oN=bs(xs),lN=bs(xs,!1),sN=bs(xs,!0);function uN(e,t,n,r){Kn(t,i=>{let a=i.x||0,o=i.y||0,l=i.strokeForeground,s=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&s&&(xs(e,i,a,o),Yo(e,i),i.fill&&Xc(e,i,s)&&e.fill(),i.stroke&&!l&&Jo(e,i,s)&&e.stroke()),e.save(),e.translate(a,o),i.clip&&zE(e,i),n&&n.translate(-a,-o),Kn(i,u=>{(u.marktype==="group"||r==null||r.includes(u.marktype))&&this.draw(e,u,n,r)}),n&&n.translate(a,o),e.restore(),l&&i.stroke&&s&&(xs(e,i,a,o),Yo(e,i),Jo(e,i,s)&&e.stroke())})}function cN(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,l=r*e.pixelRatio;return Yc(t,s=>{let u,c,f,d=s.bounds;if(d&&!d.contains(i,a))return;c=s.x||0,f=s.y||0;let h=c+(s.width||0),p=f+(s.height||0),m=s.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(e.save(),e.translate(c,f),c=i-c,f=a-f,m&&m0(s)&&!sN(e,s,o,l))return e.restore(),null;let g=s.strokeForeground,y=t.interactive!==!1;return y&&g&&s.stroke&&lN(e,s,o,l)?(e.restore(),s):(u=Yc(s,v=>fN(v,c,f)?this.pick(v,n,r,c,f):null),!u&&y&&(s.fill||!g&&s.stroke)&&oN(e,s,o,l)&&(u=s),e.restore(),u||null)})}function fN(e,t,n){return(e.interactive!==!1||e.marktype==="group")&&e.bounds&&e.bounds.contains(t,n)}var dN={type:"group",tag:"g",nested:!1,attr:tN,bound:aN,draw:uN,pick:cN,isect:CE,content:iN,background:nN,foreground:rN},ws={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function M0(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function O0(e,t){return e.width==null?!t||!t.width?0:e.aspect!==!1&&e.height?e.height*t.width/t.height:t.width:e.width}function B0(e,t){return e.height==null?!t||!t.height?0:e.aspect!==!1&&e.width?e.width*t.height/t.width:t.height:e.height}function Qc(e,t){return e==="center"?t/2:e==="right"?t:0}function Kc(e,t){return e==="middle"?t/2:e==="bottom"?t:0}function hN(e,t,n){let r=M0(t,n),i=O0(t,r),a=B0(t,r),o=(t.x||0)-Qc(t.align,i),l=(t.y||0)-Kc(t.baseline,a);e("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",ws["xmlns:xlink"],"xlink:href"),e("transform",Na(o,l)),e("width",i),e("height",a),e("preserveAspectRatio",t.aspect===!1?"none":"xMidYMid")}function pN(e,t){let n=t.image,r=O0(t,n),i=B0(t,n),a=(t.x||0)-Qc(t.align,r),o=(t.y||0)-Kc(t.baseline,i);return e.set(a,o,a+r,o+i)}function mN(e,t,n){Kn(t,r=>{if(n&&!n.intersects(r.bounds))return;let i=M0(r,this),a=O0(r,i),o=B0(r,i);if(a===0||o===0)return;let l=(r.x||0)-Qc(r.align,a),s=(r.y||0)-Kc(r.baseline,o),u,c,f;r.aspect!==!1&&(u=i.width/i.height,c=r.width/r.height,u===u&&c===c&&u!==c&&(c<u?(f=a/u,s+=(o-f)/2,o=f):(f=o*u,l+=(a-f)/2,a=f))),(i.complete||i.toDataURL)&&(Yo(e,r),e.globalAlpha=r.opacity??1,e.imageSmoothingEnabled=r.smooth!==!1,e.drawImage(i,l,s,a,o))})}var gN={type:"image",tag:"image",nested:!1,attr:hN,bound:pN,draw:mN,pick:Jc(),isect:Bn,get:M0,xOffset:Qc,yOffset:Kc},yN=S0("line",zz,Qz);function vN(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e("vector-effect","non-scaling-stroke"),e("transform",Xz(t)),e("d",t.path)}function Zc(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,l=(t.angle||0)*ji,s=t.pathCache;(!s||s.path!==n)&&((t.pathCache=s=Go(n)).path=n),l&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(l),hs(e,s,0,0,a,o),e.rotate(-l),e.translate(-r,-i)):hs(e,s,r,i,a,o)}function bN(e,t){return Zc(vs(e,t.angle),t)?e.set(0,0,0,0):ii(e,t,!0)}var xN={type:"path",tag:"path",nested:!1,attr:vN,bound:bN,draw:D0(Zc),pick:F0(Zc),isect:E0(Zc)};function wN(e,t){e("d",Vo(null,t))}function AN(e,t){var n,r;return ii(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function TE(e,t){e.beginPath(),Vo(e,t)}var EN={type:"rect",tag:"path",nested:!1,attr:wN,bound:AN,draw:D0(TE),pick:F0(TE),isect:CE};function kN(e,t){e("transform",BE(t)),e("x2",t.x2==null?0:t.x2-(t.x||0)),e("y2",t.y2==null?0:t.y2-(t.y||0))}function _N(e,t){var n,r;return ii(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function LE(e,t,n){var r,i,a,o;return t.stroke&&Jo(e,t,n)?(r=t.x||0,i=t.y||0,a=t.x2==null?r:t.x2,o=t.y2==null?i:t.y2,e.beginPath(),e.moveTo(r,i),e.lineTo(a,o),!0):!1}function DN(e,t,n){Kn(t,r=>{if(!(n&&!n.intersects(r.bounds))){var i=r.opacity==null?1:r.opacity;i&&LE(e,r,i)&&(Yo(e,r),e.stroke())}})}function FN(e,t,n,r){return e.isPointInStroke?LE(e,t,1)&&e.isPointInStroke(n,r):!1}var CN={type:"rule",tag:"line",nested:!1,attr:kN,bound:_N,draw:DN,pick:Jc(FN),isect:$E},$N=$0("shape",Nz),SN=$0("symbol",Rz,k0),PE=z2(),wn={height:Sr,measureWidth:z0,estimateWidth:ef,width:ef,canvas:IE};IE(!0);function IE(e){wn.width=e&&Wi?z0:ef}function ef(e,t){return jE(Hi(e,t),Sr(e))}function jE(e,t){return~~(.8*e.length*t)}function z0(e,t){return Sr(e)<=0||!(t=Hi(e,t))?0:qE(t,tf(e))}function qE(e,t){let n=`(${t}) ${e}`,r=PE.get(n);return r===void 0&&(Wi.font=t,r=Wi.measureText(e).width,PE.set(n,r)),r}function Sr(e){return e.fontSize==null?11:+e.fontSize||0}function Gi(e){return e.lineHeight==null?Sr(e)+2:e.lineHeight}function MN(e){return ne(e)?e.length>1?e:e[0]:e}function As(e){return MN(e.lineBreak&&e.text&&!ne(e.text)?e.text.split(e.lineBreak):e.text)}function N0(e){let t=As(e);return(ne(t)?t.length-1:0)*Gi(e)}function Hi(e,t){let n=t==null?"":(t+"").trim();return e.limit>0&&n.length?BN(e,n):n}function ON(e){if(wn.width===z0){let t=tf(e);return n=>qE(n,t)}else if(wn.width===ef){let t=Sr(e);return n=>jE(n,t)}else return t=>wn.width(e,t)}function BN(e,t){var n=+e.limit,r=ON(e);if(r(t)<n)return t;var i=e.ellipsis||"\u2026",a=e.dir==="rtl",o=0,l=t.length,s;if(n-=r(i),a){for(;o<l;)s=o+l>>>1,r(t.slice(s))>n?o=s+1:l=s;return i+t.slice(o)}else{for(;o<l;)s=1+(o+l>>>1),r(t.slice(0,s))<n?o=s:l=s-1;return t.slice(0,o)+i}}function Es(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function tf(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+Sr(e)+"px "+Es(e,t)}function R0(e){var t=e.baseline,n=Sr(e);return Math.round(t==="top"?.79*n:t==="middle"?.3*n:t==="bottom"?-.21*n:t==="line-top"?.29*n+.5*Gi(e):t==="line-bottom"?.29*n-.5*Gi(e):0)}var zN={left:"start",center:"middle",right:"end"},ks=new lt;function nf(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-Ma,t+=r*Math.cos(i),n+=r*Math.sin(i)),ks.x1=t,ks.y1=n,ks}function NN(e,t){var n=t.dx||0,r=(t.dy||0)+R0(t),i=nf(t),a=i.x1,o=i.y1,l=t.angle||0,s;e("text-anchor",zN[t.align]||"start"),l?(s=Na(a,o)+" "+C0(l),(n||r)&&(s+=" "+Na(n,r))):s=Na(a+n,o+r),e("transform",s)}function T0(e,t,n){var r=wn.height(t),i=t.align,a=nf(t),o=a.x1,l=a.y1,s=t.dx||0,u=(t.dy||0)+R0(t)-Math.round(.8*r),c=As(t),f;if(ne(c)?(r+=Gi(t)*(c.length-1),f=c.reduce((d,h)=>Math.max(d,wn.width(t,h)),0)):f=wn.width(t,c),i==="center"?s-=f/2:i==="right"&&(s-=f),e.set(s+=o,u+=l,s+f,u+r),t.angle&&!n)e.rotate(t.angle*ji,o,l);else if(n===2)return e.rotatedPoints(t.angle*ji,o,l);return e}function RN(e,t,n){Kn(t,r=>{var i=r.opacity==null?1:r.opacity,a,o,l,s,u,c,f;if(!(n&&!n.intersects(r.bounds)||i===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(e.font=tf(r),e.textAlign=r.align||"left",a=nf(r),o=a.x1,l=a.y1,r.angle&&(e.save(),e.translate(o,l),e.rotate(r.angle*ji),o=l=0),o+=r.dx||0,l+=(r.dy||0)+R0(r),c=As(r),Yo(e,r),ne(c))for(u=Gi(r),s=0;s<c.length;++s)f=Hi(r,c[s]),r.fill&&Xc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Jo(e,r,i)&&e.strokeText(f,o,l),l+=u;else f=Hi(r,c),r.fill&&Xc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Jo(e,r,i)&&e.strokeText(f,o,l);r.angle&&e.restore()}})}function TN(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=nf(t),l=o.x1,s=o.y1,u=T0(ks,t,1),c=-t.angle*ji,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(l-f*l+d*s),p=d*i+f*a+(s-d*l-f*s);return u.contains(h,p)}function LN(e,t){let n=T0(ks,e,2);return Xo(t,n[0],n[1],n[2],n[3])||Xo(t,n[0],n[1],n[4],n[5])||Xo(t,n[4],n[5],n[6],n[7])||Xo(t,n[2],n[3],n[6],n[7])}var An={arc:Yz,area:Zz,group:dN,image:gN,line:yN,path:xN,rect:EN,rule:CN,shape:$N,symbol:SN,text:{type:"text",tag:"text",nested:!1,attr:NN,bound:T0,draw:RN,pick:Jc(TN),isect:LN},trail:S0("trail",Tz,Kz)};function L0(e,t,n){var r=An[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new lt),e,n)}var UE={mark:null};function WE(e,t,n){var r=An[e.marktype],i=r.bound,a=e.items,o=a&&a.length,l,s,u,c;if(r.nested)return o?u=a[0]:(UE.mark=e,u=UE),c=L0(u,i,n),t=t&&t.union(c)||c,t;if(t=t||e.bounds&&e.bounds.clear()||new lt,o)for(l=0,s=a.length;l<s;++l)t.union(L0(a[l],i,n));return e.bounds=t}var PN="marktype.name.role.interactive.clip.items.zindex.x.y.width.height.align.baseline.fill.fillOpacity.opacity.blend.stroke.strokeOpacity.strokeWidth.strokeCap.strokeDash.strokeDashOffset.strokeForeground.strokeOffset.startAngle.endAngle.innerRadius.outerRadius.cornerRadius.padAngle.cornerRadiusTopLeft.cornerRadiusTopRight.cornerRadiusBottomLeft.cornerRadiusBottomRight.interpolate.tension.orient.defined.url.aspect.smooth.path.scaleX.scaleY.x2.y2.size.shape.text.angle.theta.radius.dir.dx.dy.ellipsis.limit.lineBreak.lineHeight.font.fontSize.fontWeight.fontStyle.fontVariant.description.aria.ariaRole.ariaRoleDescription".split(".");function GE(e,t){return JSON.stringify(e,PN,t)}function HE(e){return VE(typeof e=="string"?JSON.parse(e):e)}function VE(e){var t=e.marktype,n=e.items,r,i,a;if(n)for(i=0,a=n.length;i<a;++i)r=t?"mark":"group",n[i][r]=e,n[i].zindex&&(n[i][r].zdirty=!0),(t||r)==="group"&&VE(n[i]);return t&&WE(e),e}var XE=class{constructor(e){arguments.length?this.root=HE(e):(this.root=YE({marktype:"group",name:"root",role:"frame"}),this.root.items=[new qc(this.root)])}toJSON(e){return GE(this.root,e||0)}mark(e,t,n){t||(t=this.root.items[0]);let r=YE(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function YE(e,t){let n={bounds:new lt,clip:!!e.clip,group:t,interactive:e.interactive!==!1,items:[],marktype:e.marktype,name:e.name||void 0,role:e.role||void 0,zindex:e.zindex||0};return e.aria!=null&&(n.aria=e.aria),e.description&&(n.description=e.description),n}function Vi(e,t,n){return!e&&typeof document<"u"&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function P0(e,t){t=t.toLowerCase();for(var n=e.childNodes,r=0,i=n.length;r<i;++r)if(n[r].tagName.toLowerCase()===t)return n[r]}function ft(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Vi(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function Ln(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function JE(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function rf(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function IN(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=An[i.marktype]).tip){for(o=rf(t,n),o[0]-=r[0],o[1]-=r[1];e=e.mark.group;)o[0]-=e.x||0,o[1]-=e.y||0;e=a.tip(i.items,o)}return e}var I0=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||cc(),this._tooltip=t||jN}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let r in t)n.push(...t[r]);return n}eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(r=>{let i=new MouseEvent(e.type,e),a=Vi(null,"a");for(let o in r)a.setAttribute(o,r[o]);a.dispatchEvent(i)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=IN(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),l=i.x1+r[0]+n.left,s=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,s+=e.y||0;return{x:l,y:s,width:a,height:o,left:l,top:s,right:l+a,bottom:s+o}}};function jN(e,t,n,r){e.element().setAttribute("title",r||"")}var _s=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new wE(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let i=n._call;n._ready=n._loader.ready().then(a=>{a&&i(),n._ready=null})}return r}sanitizeURL(e){return this._load("sanitizeURL",e)}loadImage(e){return this._load("loadImage",e)}},qN="keydown",UN="keypress",WN="keyup",QE="dragenter",af="dragleave",KE="dragover",j0="pointerdown",GN="pointerup",of="pointermove",lf="pointerout",ZE="pointerover",q0="mousedown",HN="mouseup",ek="mousemove",sf="mouseout",tk="mouseover",uf="click",VN="dblclick",XN="wheel",nk="mousewheel",cf="touchstart",ff="touchmove",df="touchend",YN=[qN,UN,WN,QE,af,KE,j0,GN,of,lf,ZE,q0,HN,ek,sf,tk,uf,VN,XN,nk,cf,ff,df],U0=of,Ds=sf,W0=uf,Fs=class extends I0{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=YN,this.pointermove=ik([of,ek],[ZE,tk],[lf,sf]),this.dragover=ik([KE],[QE],[af]),this.pointerout=ak([lf,sf]),this.dragleave=ak([af])}initialize(e,t,n){return this._canvas=e&&P0(e,"canvas"),[uf,q0,j0,of,lf,af].forEach(r=>rk(this,r)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(e){this.fire(nk,e)}pointerdown(e){this._down=this._active,this.fire(j0,e)}mousedown(e){this._down=this._active,this.fire(q0,e)}click(e){this._down===this._active&&(this.fire(uf,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._first=(this._active=this._touch,!1)),this.fire(cf,e,!0)}touchmove(e){this.fire(ff,e,!0)}touchend(e){this.fire(df,e,!0),this._touch=null}fire(e,t,n){let r=n?this._touch:this._active,i=this._handlers[e];if(t.vegaType=e,e===W0&&r&&r.href?this.handleHref(t,r,r.href):(e===U0||e===Ds)&&this.handleTooltip(t,r,e!==Ds),i)for(let a=0,o=i.length;a<o;++a)i[a].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(rk(this,e),(r[n]||(r[n]=[])).push({type:e,handler:t})),this}off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&r.splice(i,1),this}pickEvent(e){let t=rf(e,this._canvas),n=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-n[0],t[1]-n[1])}pick(e,t,n,r,i){let a=this.context();return An[e.marktype].pick.call(this,a,e,t,n,r,i)}},JN=e=>e===cf||e===ff||e===df?[cf,ff,df]:[e];function rk(e,t){JN(t).forEach(n=>QN(e,n))}function QN(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}function Cs(e,t,n){t.forEach(r=>e.fire(r,n))}function ik(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?Cs(this,e,r):((!i||!i.exit)&&Cs(this,n,r),this._active=a,Cs(this,t,r),Cs(this,e,r))}}function ak(e){return function(t){Cs(this,e,t),this._active=null}}function KN(){return typeof window<"u"&&window.devicePixelRatio||1}function ZN(e,t,n,r,i,a){let o=typeof HTMLElement<"u"&&e instanceof HTMLElement&&e.parentNode!=null,l=e.getContext("2d"),s=o?KN():i;for(let u in e.width=t*s,e.height=n*s,a)l[u]=a[u];return o&&s!==1&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=s,l.setTransform(s,0,0,s,s*r[0],s*r[1]),e}var hf=class extends _s{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new lt,this._tempb=new lt}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Li(1,1,this._options.type),e&&this._canvas&&(Ln(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(e,t,n,r,i)}resize(e,t,n,r){if(super.resize(e,t,n,r),this._canvas)ZN(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let i=this._options.externalContext;i||T("CanvasRenderer is missing a valid canvas or context"),i.scale(this._scale,this._scale),i.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,l=eR(r,i,a);n.save();let s=this._redraw||o.empty()?(this._redraw=!1,l.expand(1)):tR(n,l.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,s,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!=="group"&&r!=null&&!r.includes(t.marktype))return;let i=An[t.marktype];t.clip&&eN(e,t),i.draw.call(this,e,t,n,r),t.clip&&e.restore()}clear(e,t,n,r){let i=this._options,a=this.context();i.type!=="pdf"&&!i.externalContext&&a.clearRect(e,t,n,r),this._bgcolor!=null&&(a.fillStyle=this._bgcolor,a.fillRect(e,t,n,r))}},eR=(e,t,n)=>new lt().set(0,0,t,n).translate(-e[0],-e[1]);function tR(e,t,n){return t.expand(1).round(),e.pixelRatio%1&&t.scale(e.pixelRatio).round().scale(1/e.pixelRatio),t.translate(-(n[0]%1),-(n[1]%1)),e.beginPath(),e.rect(t.x1,t.y1,t.width(),t.height()),e.clip(),t}var ok=class extends I0{constructor(e,t){super(e,t);let n=this;n._hrefHandler=G0(n,(r,i)=>{i&&i.href&&n.handleHref(r,i,i.href)}),n._tooltipHandler=G0(n,(r,i)=>{n.handleTooltip(r,i,r.type!==Ds)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(W0,this._hrefHandler),r.removeEventListener(U0,this._tooltipHandler),r.removeEventListener(Ds,this._tooltipHandler)),this._svg=r=e&&P0(e,"svg"),r&&(r.addEventListener(W0,this._hrefHandler),r.addEventListener(U0,this._tooltipHandler),r.addEventListener(Ds,this._tooltipHandler)),super.initialize(e,t,n)}canvas(){return this._svg}on(e,t){let n=this.eventName(e),r=this._handlers;if(this._handlerIndex(r[n],e,t)<0){let i={type:e,handler:t,listener:G0(this,t)};(r[n]||(r[n]=[])).push(i),this._svg&&this._svg.addEventListener(n,i.listener)}return this}off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this}},G0=(e,t)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,t.call(e._obj,n,r)},lk="aria-hidden",H0="aria-label",V0="role",X0="aria-roledescription",sk="graphics-object",Y0="graphics-symbol",uk=(e,t,n)=>({[V0]:e,[X0]:t,[H0]:n||void 0}),nR=_r(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),ck={axis:{desc:"axis",caption:aR},legend:{desc:"legend",caption:oR},"title-text":{desc:"title",caption:e=>`Title text '${pk(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${pk(e)}'`}},fk={ariaRole:V0,ariaRoleDescription:X0,description:H0};function dk(e,t){let n=t.aria===!1;if(e(lk,n||void 0),n||t.description==null)for(let r in fk)e(fk[r],void 0);else{let r=t.mark.marktype;e(H0,t.description),e(V0,t.ariaRole||(r==="group"?sk:Y0)),e(X0,t.ariaRoleDescription||`${r} mark`)}}function hk(e){return e.aria===!1?{[lk]:!0}:nR[e.role]?null:ck[e.role]?iR(e,ck[e.role]):rR(e)}function rR(e){let t=e.marktype;return uk(t==="group"||t==="text"||e.items.some(n=>n.description!=null&&n.aria!==!1)?sk:Y0,`${t} mark container`,e.description)}function iR(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return uk(t.role||Y0,t.desc,n.description||r(n))}catch{return null}}function pk(e){return ie(e.text).join(" ")}function aR(e){let t=e.datum,n=e.orient,r=t.title?mk(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),l=a.type;return`${n==="left"||n==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${Wo(l)?"discrete":l} scale with ${sE(o,a,e)}`}function oR(e){let t=e.datum,n=t.title?mk(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,l=o.scales[i[a[0]]].value,s=o.dataflow.locale();return sR(r)+(n?` titled '${n}'`:"")+` for ${lR(a)} with ${sE(s,l,e)}`}function mk(e){try{return ie(Me(e.items).items[0].text).join(" ")}catch{return null}}function lR(e){return e=e.map(t=>t+(t==="fill"||t==="stroke"?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Me(e)}function sR(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var gk=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),uR=e=>gk(e).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;");function J0(){let e="",t="",n="",r=[],i=()=>t=n="",a=s=>{t&&(e+=`${t}>${n}`,i()),r.push(s)},o=(s,u)=>(u!=null&&(t+=` ${s}="${uR(u)}"`),l),l={open(s,...u){a(s),t="<"+s;for(let c of u)for(let f in c)o(f,c[f]);return l},close(){let s=r.pop();return t?e+=t+(n?`>${n}</${s}>`:"/>"):e+=`</${s}>`,i(),l},attr:o,text:s=>(n+=gk(s),l),toString:()=>e};return l}var yk=e=>vk(J0(),e)+"";function vk(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let i=0;i<r;++i)e.attr(n[i].name,n[i].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let r of n)r.nodeType===3?e.text(r.nodeValue):vk(e,r)}return e.close()}var pf={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},mf={blend:"mix-blend-mode"},bk={fill:"none","stroke-miterlimit":10},$s=0,xk="http://www.w3.org/2000/xmlns/",dt=ws.xmlns,Q0=class extends _s{constructor(e){super(e),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(e,t,n,r,i){return this._defs={},this._clearDefs(),e&&(this._svg=ft(e,0,"svg",dt),this._svg.setAttributeNS(xk,"xmlns",dt),this._svg.setAttributeNS(xk,"xmlns:xlink",ws["xmlns:xlink"]),this._svg.setAttribute("version",ws.version),this._svg.setAttribute("class","marks"),Ln(e,1),this._root=ft(this._svg,$s,"g",dt),Xi(this._root,bk),Ln(this._svg,$s+1)),this.background(this._bgcolor),super.initialize(e,t,n,r,i)}background(e){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",e),super.background(...arguments)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svg&&(Xi(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){let e=this._svg,t=this._bgcolor;if(!e)return null;let n;t&&(e.removeAttribute("style"),n=ft(e,$s,"rect",dt),Xi(n,{width:this._width,height:this._height,fill:t}));let r=yk(e);return t&&(e.removeChild(n),this._svg.style.setProperty("background-color",t)),r}_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),Ln(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,l,s;for(o=0,l=e.length;o<l;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=An[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,wk(n,t),r.items.forEach(u=>{u.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(s=r.items[0],s._svg&&this._update(a,s._svg,s)):n._svg&&(s=n._svg.parentNode,s&&s.removeChild(n._svg)),n._svg=null;continue}n=a.nested?r.items[0]:n,n._update!==t&&(!n._svg||!n._svg.ownerSVGElement?(this._dirtyAll=!1,wk(n,t)):this._update(a,n._svg,n),n._update=t)}return!this._dirtyAll}mark(e,t,n,r){if(!this.isDirty(t))return t._svg;let i=this._svg,a=t.marktype,o=An[a],l=t.interactive===!1?"none":null,s=o.tag==="g",u=Ak(t,e,n,"g",i);if(a!=="group"&&r!=null&&!r.includes(a))return Ln(u,0),t._svg;u.setAttribute("class",JE(t));let c=hk(t);for(let p in c)Wt(u,p,c[p]);s||Wt(u,"pointer-events",l),Wt(u,"clip-path",t.clip?g0(this,t,t.group):null);let f=null,d=0,h=p=>{let m=this.isDirty(p),g=Ak(p,u,f,o.tag,i);m&&(this._update(o,g,p),s&&dR(this,g,p,r)),f=g,++d};return o.nested?t.items.length&&h(t.items[0]):Kn(t,h),Ln(u,d),u}_update(e,t,n){ai=t,Mt=t.__values__,dk(Ss,n),e.attr(Ss,n,this);let r=pR[e.type];r&&r.call(this,e,t,n),ai&&this.style(ai,n)}style(e,t){if(t!=null){for(let n in pf){let r=n==="font"?Es(t):t[n];if(r===Mt[n])continue;let i=pf[n];r==null?e.removeAttribute(i):(c0(r)&&(r=cE(r,this._defs.gradient,Ek())),e.setAttribute(i,r+"")),Mt[n]=r}for(let n in mf)gf(e,mf[n],t[n])}}defs(){let e=this._svg,t=this._defs,n=t.el,r=0;for(let i in t.gradient)n||(t.el=n=ft(e,$s+1,"defs",dt)),r=cR(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=ft(e,$s+1,"defs",dt)),r=fR(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):Ln(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function wk(e,t){for(;e&&e.dirty!==t;e=e.mark.group)if(e.dirty=t,e.mark&&e.mark.dirty!==t)e.mark.dirty=t;else return}function cR(e,t,n){let r,i,a;if(t.gradient==="radial"){let o=ft(e,n++,"pattern",dt);Xi(o,{id:Lc+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=ft(o,0,"rect",dt),Xi(o,{width:1,height:1,fill:`url(${Ek()}#${t.id})`}),e=ft(e,n++,"radialGradient",dt),Xi(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=ft(e,n++,"linearGradient",dt),Xi(e,{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(r=0,i=t.stops.length;r<i;++r)a=ft(e,r,"stop",dt),a.setAttribute("offset",t.stops[r].offset),a.setAttribute("stop-color",t.stops[r].color);return Ln(e,r),n}function fR(e,t,n){let r;return e=ft(e,n,"clipPath",dt),e.setAttribute("id",t.id),t.path?(r=ft(e,0,"path",dt),r.setAttribute("d",t.path)):(r=ft(e,0,"rect",dt),Xi(r,{x:0,y:0,width:t.width,height:t.height})),Ln(e,1),n+1}function dR(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;Kn(n,o=>{i=e.mark(t,o,i,r),++a}),Ln(t,1+a)}function Ak(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Vi(o,r,dt),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:"default"},r==="g"))){let l=Vi(o,"path",dt);a.appendChild(l),l.__data__=e;let s=Vi(o,"g",dt);a.appendChild(s),s.__data__=e;let u=Vi(o,"path",dt);a.appendChild(u),u.__data__=e,u.__values__={fill:"default"}}return(a.ownerSVGElement!==i||hR(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function hR(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var ai=null,Mt=null,pR={group(e,t,n){let r=ai=t.childNodes[2];Mt=r.__values__,e.foreground(Ss,n,this),Mt=t.__values__,ai=t.childNodes[1],e.content(Ss,n,this);let i=ai=t.childNodes[0];e.background(Ss,n,this);let a=n.mark.interactive===!1?"none":null;if(a!==Mt.events&&(Wt(r,"pointer-events",a),Wt(i,"pointer-events",a),Mt.events=a),n.strokeForeground&&n.stroke){let o=n.fill;Wt(r,"display",null),this.style(i,n),Wt(i,"stroke",null),o&&(n.fill=null),Mt=r.__values__,this.style(r,n),o&&(n.fill=o),ai=null}else Wt(r,"display","none")},image(e,t,n){n.smooth===!1?(gf(t,"image-rendering","optimizeSpeed"),gf(t,"image-rendering","pixelated")):gf(t,"image-rendering",null)},text(e,t,n){let r=As(n),i,a,o,l;ne(r)?(a=r.map(s=>Hi(n,s)),i=a.join(`
4
- `),i!==Mt.text&&(Ln(t,0),o=t.ownerDocument,l=Gi(n),a.forEach((s,u)=>{let c=Vi(o,"tspan",dt);c.__data__=n,c.textContent=s,u&&(c.setAttribute("x",0),c.setAttribute("dy",l)),t.appendChild(c)}),Mt.text=i)):(a=Hi(n,r),a!==Mt.text&&(t.textContent=a,Mt.text=a)),Wt(t,"font-family",Es(n)),Wt(t,"font-size",Sr(n)+"px"),Wt(t,"font-style",n.fontStyle),Wt(t,"font-variant",n.fontVariant),Wt(t,"font-weight",n.fontWeight)}};function Ss(e,t,n){t!==Mt[e]&&(n?mR(ai,e,t,n):Wt(ai,e,t),Mt[e]=t)}function gf(e,t,n){n!==Mt[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+""),Mt[t]=n)}function Xi(e,t){for(let n in t)Wt(e,n,t[n])}function Wt(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function mR(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function Ek(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var kk=class extends _s{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=J0();t.open("svg",me({},ws,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));let n=this._bgcolor;return n&&n!=="transparent"&&n!=="none"&&t.open("rect",{width:this._width,height:this._height,fill:n}).close(),t.open("g",bk,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this}mark(e,t){let n=An[t.marktype],r=n.tag,i=[dk,n.attr];e.open("g",{class:JE(t),"clip-path":t.clip?g0(this,t,t.group):null},hk(t),{"pointer-events":r!=="g"&&t.interactive===!1?"none":null});let a=o=>{let l=this.href(o);if(l&&e.open("a",l),e.open(r,this.attr(t,o,i,r==="g"?null:r)),r==="text"){let s=As(o);if(ne(s)){let u={x:0,dy:Gi(o)};for(let c=0;c<s.length;++c)e.open("tspan",c?u:null).text(Hi(o,s[c])).close()}else e.text(Hi(o,s))}else if(r==="g"){let s=o.strokeForeground,u=o.fill,c=o.stroke;s&&c&&(o.stroke=null),e.open("path",this.attr(t,o,n.background,"bgrect")).close(),e.open("g",this.attr(t,o,n.content)),Kn(o,f=>this.mark(e,f)),e.close(),s&&c?(u&&(o.fill=null),o.stroke=c,e.open("path",this.attr(t,o,n.foreground,"bgrect")).close(),u&&(o.fill=u)):e.open("path",this.attr(t,o,n.foreground,"bgfore")).close()}e.close(),l&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):Kn(t,a),e.close()}href(e){let t=e.href,n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(r=>{r["xlink:href"]=r.href,r.href=null,(this._hrefs||(this._hrefs={}))[t]=r})}return null}attr(e,t,n,r){let i={},a=(o,l,s,u)=>{i[u||o]=l};return Array.isArray(n)?n.forEach(o=>o(a,t,this)):n(a,t,this),r&&gR(i,t,e,r,this._defs),i}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){for(let r in e.open("defs"),t){let i=t[r],a=i.stops;i.gradient==="radial"?(e.open("pattern",{id:Lc+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close(),e.close(),e.open("radialGradient",{id:r,fx:i.x1,fy:i.y1,fr:i.r1,cx:i.x2,cy:i.y2,r:i.r2})):e.open("linearGradient",{id:r,x1:i.x1,x2:i.x2,y1:i.y1,y2:i.y2});for(let o=0;o<a.length;++o)e.open("stop",{offset:a[o].offset,"stop-color":a[o].color}).close();e.close()}for(let r in n){let i=n[r];e.open("clipPath",{id:r}),i.path?e.open("path",{d:i.path}).close():e.open("rect",{x:0,y:0,width:i.width,height:i.height}).close(),e.close()}e.close()}}};function gR(e,t,n,r,i){let a;if(t==null||(r==="bgrect"&&n.interactive===!1&&(e["pointer-events"]="none"),r==="bgfore"&&(n.interactive===!1&&(e["pointer-events"]="none"),e.display="none",t.fill!==null)))return e;for(let o in r==="image"&&t.smooth===!1&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),r==="text"&&(e["font-family"]=Es(t),e["font-size"]=Sr(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight),pf){let l=t[o],s=pf[o];l==="transparent"&&(s==="fill"||s==="stroke")||l!=null&&(c0(l)&&(l=cE(l,i.gradient,"")),e[s]=l)}for(let o in mf){let l=t[o];l!=null&&(a||(a=[]),a.push(`${mf[o]}: ${l};`))}return a&&(e.style=a.join(" ")),e}var Zn={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};function yR(e){Zn.svgMarkTypes=e.svgMarkTypes??["text"],Zn.svgOnTop=e.svgOnTop??!0,Zn.debug=e.debug??!1}var K0=class extends _s{constructor(e){super(e),this._svgRenderer=new Q0(e),this._canvasRenderer=new hf(e)}initialize(e,t,n,r,i){this._root_el=ft(e,0,"div");let a=ft(this._root_el,0,"div"),o=ft(this._root_el,1,"div");return this._root_el.style.position="relative",Zn.debug||(a.style.height="100%",o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.height="100%",o.style.width="100%"),this._svgEl=Zn.svgOnTop?o:a,this._canvasEl=Zn.svgOnTop?a:o,this._svgEl.style.pointerEvents="none",this._canvasRenderer.initialize(this._canvasEl,t,n,r,i),this._svgRenderer.initialize(this._svgEl,t,n,r,i),super.initialize(e,t,n,r,i)}dirty(e){return Zn.svgMarkTypes.includes(e.mark.marktype)?this._svgRenderer.dirty(e):this._canvasRenderer.dirty(e),this}_render(e,t){let n=(t??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(r=>!Zn.svgMarkTypes.includes(r));this._svgRenderer.render(e,Zn.svgMarkTypes),this._canvasRenderer.render(e,n)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svgRenderer.resize(e,t,n,r),this._canvasRenderer.resize(e,t,n,r),this}background(e){return Zn.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},_k=class extends Fs{constructor(e,t){super(e,t)}initialize(e,t,n){let r=ft(ft(e,0,"div"),Zn.svgOnTop?0:1,"div");return super.initialize(r,t,n)}},Dk="canvas",Fk="hybrid",Ck="png",$k="svg",Sk="none",Yi={Canvas:Dk,PNG:Ck,SVG:$k,Hybrid:Fk,None:Sk},Ra={};Ra[Dk]=Ra[Ck]={renderer:hf,headless:hf,handler:Fs},Ra[$k]={renderer:Q0,headless:kk,handler:ok},Ra[Fk]={renderer:K0,headless:K0,handler:_k},Ra[Sk]={};function yf(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(Ra[e]=t,this):Ra[e]}function Mk(e,t,n){let r=[],i=new lt().union(t),a=e.marktype;return a?Ok(e,i,n,r):a==="group"?Bk(e,i,n,r):T("Intersect scene must be mark node or group item.")}function Ok(e,t,n,r){if(vR(e,t,n)){let i=e.items,a=e.marktype,o=i.length,l=0;if(a==="group")for(;l<o;++l)Bk(i[l],t,n,r);else for(let s=An[a].isect;l<o;++l){let u=i[l];zk(u,t,s)&&r.push(u)}}return r}function vR(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype==="group"||e.interactive!==!1&&(!n||n(e)))}function Bk(e,t,n,r){n&&n(e.mark)&&zk(e,t,An.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,l=e.y||0;t.translate(-o,-l);for(let s=0;s<a;++s)Ok(i[s],t,n,r);t.translate(o,l)}return r}function zk(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var Z0=new lt;function Nk(e){let t=e.clip;if(ge(t))t(vs(Z0.clear()));else if(t)Z0.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(Z0)}var bR=1e-9;function eg(e,t,n){return e===t?!0:n==="path"?Rk(e,t):e instanceof Date&&t instanceof Date?+e==+t:_a(e)&&_a(t)?Math.abs(e-t)<=bR:!e||!t||!ce(e)&&!ce(t)?e==t:xR(e,t)}function Rk(e,t){return eg(Go(e),Go(t))}function xR(e,t){var n=Object.keys(e),r=Object.keys(t),i,a;if(n.length!==r.length)return!1;for(n.sort(),r.sort(),a=n.length-1;a>=0;a--)if(n[a]!=r[a])return!1;for(a=n.length-1;a>=0;a--)if(i=n[a],!eg(e[i],t[i],i))return!1;return typeof e==typeof t}function wR(){Lz(),HB()}var AR=sn({bound:()=>Hk,identifier:()=>ug,mark:()=>Xk,overlap:()=>Yk,render:()=>t_,viewlayout:()=>l_}),Qo="top",er="left",tr="right",Ji="bottom",ER="top-left",kR="top-right",_R="bottom-left",DR="bottom-right",tg="start",ng="middle",Gt="end",FR="x",CR="y",vf="group",rg="axis",ig="title",$R="frame",SR="scope",ag="legend",Tk="row-header",Lk="row-footer",Pk="row-title",Ik="column-header",jk="column-footer",qk="column-title",MR="padding",OR="symbol",Uk="fit",Wk="fit-x",Gk="fit-y",BR="pad",og="none",bf="all",lg="each",sg="flush",Qi="column",Ki="row";function Hk(e){O.call(this,null,e)}G(Hk,O,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=An[i],o=a.bound,l=r.bounds,s;if(a.nested)r.items.length&&n.dirty(r.items[0]),l=xf(r,o),r.items.forEach(u=>{u.bounds.clear().union(l)});else if(i===vf||e.modified())switch(t.visit(t.MOD,u=>n.dirty(u)),l.clear(),r.items.forEach(u=>l.union(xf(u,o))),r.role){case rg:case ag:case ig:t.reflow()}else s=t.changed(t.REM),t.visit(t.ADD,u=>{l.union(xf(u,o))}),t.visit(t.MOD,u=>{s||(s=l.alignsWith(u.bounds)),n.dirty(u),l.union(xf(u,o))}),s&&(l.clear(),r.items.forEach(u=>l.union(u.bounds)));return Nk(r),t.modifies("bounds")}});function xf(e,t,n){return t(e.bounds.clear(),e,n)}var Vk=":vega_identifier:";function ug(e){O.call(this,0,e)}ug.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},G(ug,O,{transform(e,t){let n=zR(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,a=>a[r]=a[r]||++i),n.set(this.value=i),t}});function zR(e){return e._signals[Vk]||(e._signals[Vk]=e.add(0))}function Xk(e){O.call(this,null,e)}G(Xk,O,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,NR(e),e.index),n.group.context=e.context,e.context.group||(e.context.group=n.group),n.source=this.source,n.clip=e.clip,n.interactive=e.interactive,this.value=n);let r=n.marktype===vf?qc:jc;return t.visit(t.ADD,i=>r.call(i,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});function NR(e){let t=e.groups,n=e.parent;return t&&t.size===1?t.get(Object.keys(t.object)[0]):t&&n?t.lookup(n):null}function Yk(e){O.call(this,null,e)}var Jk={parity:e=>e.filter((t,n)=>n%2?t.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((r,i)=>!i||!Qk(n.bounds,r.bounds,t)?(n=r,1):r.opacity=0)}},Qk=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),Kk=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,a;n<r;i=a,++n)if(Qk(i,a=e[n].bounds,t))return!0},RR=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},TR=(e,t,n)=>{var r=e.range(),i=new lt;return t===Qo||t===Ji?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),a=>i.encloses(a.bounds)},Zk=e=>(e.forEach(t=>t.opacity=1),e),e_=(e,t)=>e.reflow(t.modified()).modifies("opacity");G(Yk,O,{transform(e,t){let n=Jk[e.method]||Jk.parity,r=e.separation||0,i=t.materialize(t.SOURCE).source,a,o;if(!i||!i.length)return;if(!e.method)return e.modified("method")&&(Zk(i),t=e_(t,e)),t;if(i=i.filter(RR),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=Zk(i),t=e_(t,e),a.length>=3&&Kk(a,r)){do a=n(a,r);while(a.length>=3&&Kk(a,r));a.length<3&&!Me(i).opacity&&(a.length>1&&(Me(a).opacity=0),Me(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=TR(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(s=>{o(s)||(s.opacity=0)}));let l=a[0].mark.bounds.clear();return i.forEach(s=>{s.opacity&&l.union(s.bounds)}),t}});function t_(e){O.call(this,null,e)}G(t_,O,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,r=>n.dirty(r)),t.fields&&t.fields.zindex){let r=t.source&&t.source[0];r&&(r.mark.zdirty=!0)}}});var Ot=new lt;function Ko(e,t,n){return e[t]===n?0:(e[t]=n,1)}function LR(e){var t=e.items[0].orient;return t===er||t===tr}function PR(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function IR(e,t,n,r){var i=t.items[0],a=i.datum,o=i.translate==null?.5:i.translate,l=i.orient,s=PR(a),u=i.range,c=i.offset,f=i.position,d=i.minExtent,h=i.maxExtent,p=a.title&&i.items[s[2]].items[0],m=i.titlePadding,g=i.bounds,y=p&&N0(p),v=0,b=0,w,A;switch(Ot.clear().union(g),g.clear(),(w=s[0])>-1&&g.union(i.items[w].bounds),(w=s[1])>-1&&g.union(i.items[w].bounds),l){case Qo:v=f||0,b=-c,A=Math.max(d,Math.min(h,-g.y1)),g.add(0,-A).add(u,0),p&&wf(e,p,A,m,y,0,-1,g);break;case er:v=-c,b=f||0,A=Math.max(d,Math.min(h,-g.x1)),g.add(-A,0).add(0,u),p&&wf(e,p,A,m,y,1,-1,g);break;case tr:v=n+c,b=f||0,A=Math.max(d,Math.min(h,g.x2)),g.add(0,0).add(A,u),p&&wf(e,p,A,m,y,1,1,g);break;case Ji:v=f||0,b=r+c,A=Math.max(d,Math.min(h,g.y2)),g.add(0,0).add(u,A),p&&wf(e,p,A,m,0,0,1,g);break;default:v=i.x,b=i.y}return ii(g.translate(v,b),i),Ko(i,"x",v+o)|Ko(i,"y",b+o)&&(i.bounds=Ot,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function wf(e,t,n,r,i,a,o,l){let s=t.bounds;if(t.auto){let u=o*(n+i+r),c=0,f=0;e.dirty(t),a?c=(t.x||0)-(t.x=u):f=(t.y||0)-(t.y=u),t.mark.bounds.clear().union(s.translate(-c,-f)),e.dirty(t)}l.union(s)}var n_=(e,t)=>Math.floor(Math.min(e,t)),r_=(e,t)=>Math.ceil(Math.max(e,t));function jR(e){var t=e.items,n=t.length,r=0,i,a;let o={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;r<n;++r)if(i=t[r],a=i.items,i.marktype===vf)switch(i.role){case rg:case ag:case ig:break;case Tk:o.rowheaders.push(...a);break;case Lk:o.rowfooters.push(...a);break;case Ik:o.colheaders.push(...a);break;case jk:o.colfooters.push(...a);break;case Pk:o.rowtitle=a[0];break;case qk:o.coltitle=a[0];break;default:o.marks.push(...a)}return o}function qR(e){return new lt().set(0,0,e.width||0,e.height||0)}function UR(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function Ge(e,t,n){return(ce(e)?e[t]:e)??(n===void 0?0:n)}function i_(e){return e<0?Math.ceil(-e):0}function a_(e,t,n){var r=!n.nodirty,i=n.bounds===sg?qR:UR,a=Ot.set(0,0,0,0),o=Ge(n.align,Qi),l=Ge(n.align,Ki),s=Ge(n.padding,Qi),u=Ge(n.padding,Ki),c=n.columns||t.length,f=c<=0?1:Math.ceil(t.length/c),d=t.length,h=Array(d),p=Array(c),m=0,g=Array(d),y=Array(f),v=0,b=Array(d),w=Array(d),A=Array(d),E,x,k,_,F,$,R,C,M,D,S;for(x=0;x<c;++x)p[x]=0;for(x=0;x<f;++x)y[x]=0;for(x=0;x<d;++x)$=t[x],F=A[x]=i($),$.x=$.x||0,b[x]=0,$.y=$.y||0,w[x]=0,k=x%c,_=~~(x/c),m=Math.max(m,R=Math.ceil(F.x2)),v=Math.max(v,C=Math.ceil(F.y2)),p[k]=Math.max(p[k],R),y[_]=Math.max(y[_],C),h[x]=s+i_(F.x1),g[x]=u+i_(F.y1),r&&e.dirty(t[x]);for(x=0;x<d;++x)x%c===0&&(h[x]=0),x<c&&(g[x]=0);if(o===lg)for(k=1;k<c;++k){for(S=0,x=k;x<d;x+=c)S<h[x]&&(S=h[x]);for(x=k;x<d;x+=c)h[x]=S+p[k-1]}else if(o===bf){for(S=0,x=0;x<d;++x)x%c&&S<h[x]&&(S=h[x]);for(x=0;x<d;++x)x%c&&(h[x]=S+m)}else for(o=!1,k=1;k<c;++k)for(x=k;x<d;x+=c)h[x]+=p[k-1];if(l===lg)for(_=1;_<f;++_){for(S=0,x=_*c,E=x+c;x<E;++x)S<g[x]&&(S=g[x]);for(x=_*c;x<E;++x)g[x]=S+y[_-1]}else if(l===bf){for(S=0,x=c;x<d;++x)S<g[x]&&(S=g[x]);for(x=c;x<d;++x)g[x]=S+v}else for(l=!1,_=1;_<f;++_)for(x=_*c,E=x+c;x<E;++x)g[x]+=y[_-1];for(M=0,x=0;x<d;++x)M=h[x]+(x%c?M:0),b[x]+=M-t[x].x;for(k=0;k<c;++k)for(D=0,x=k;x<d;x+=c)D+=g[x],w[x]+=D-t[x].y;if(o&&Ge(n.center,Qi)&&f>1)for(x=0;x<d;++x)F=o===bf?m:p[x%c],M=F-A[x].x2-t[x].x-b[x],M>0&&(b[x]+=M/2);if(l&&Ge(n.center,Ki)&&c!==1)for(x=0;x<d;++x)F=l===bf?v:y[~~(x/c)],D=F-A[x].y2-t[x].y-w[x],D>0&&(w[x]+=D/2);for(x=0;x<d;++x)a.union(A[x].translate(b[x],w[x]));switch(M=Ge(n.anchor,FR),D=Ge(n.anchor,CR),Ge(n.anchor,Qi)){case Gt:M-=a.width();break;case ng:M-=a.width()/2}switch(Ge(n.anchor,Ki)){case Gt:D-=a.height();break;case ng:D-=a.height()/2}for(M=Math.round(M),D=Math.round(D),a.clear(),x=0;x<d;++x)t[x].mark.bounds.clear();for(x=0;x<d;++x)$=t[x],$.x+=b[x]+=M,$.y+=w[x]+=D,a.union($.mark.bounds.union($.bounds.translate(b[x],w[x]))),r&&e.dirty($);return a}function WR(e,t,n){var r=jR(t),i=r.marks,a=n.bounds===sg?GR:HR,o=n.offset,l=n.columns||i.length,s=l<=0?1:Math.ceil(i.length/l),u=s*l,c,f,d,h,p,m,g;let y=a_(e,i,n);y.empty()&&y.set(0,0,0,0),r.rowheaders&&(m=Ge(n.headerBand,Ki,null),c=Af(e,r.rowheaders,i,l,s,-Ge(o,"rowHeader"),n_,0,a,"x1",0,l,1,m)),r.colheaders&&(m=Ge(n.headerBand,Qi,null),f=Af(e,r.colheaders,i,l,l,-Ge(o,"columnHeader"),n_,1,a,"y1",0,1,l,m)),r.rowfooters&&(m=Ge(n.footerBand,Ki,null),d=Af(e,r.rowfooters,i,l,s,Ge(o,"rowFooter"),r_,0,a,"x2",l-1,l,1,m)),r.colfooters&&(m=Ge(n.footerBand,Qi,null),h=Af(e,r.colfooters,i,l,l,Ge(o,"columnFooter"),r_,1,a,"y2",u-l,1,l,m)),r.rowtitle&&(p=Ge(n.titleAnchor,Ki),g=Ge(o,"rowTitle"),g=p===Gt?d+g:c-g,m=Ge(n.titleBand,Ki,.5),o_(e,r.rowtitle,g,0,y,m)),r.coltitle&&(p=Ge(n.titleAnchor,Qi),g=Ge(o,"columnTitle"),g=p===Gt?h+g:f-g,m=Ge(n.titleBand,Qi,.5),o_(e,r.coltitle,g,1,y,m))}function GR(e,t){return t==="x1"?e.x||0:t==="y1"?e.y||0:t==="x2"?(e.x||0)+(e.width||0):t==="y2"?(e.y||0)+(e.height||0):void 0}function HR(e,t){return e.bounds[t]}function Af(e,t,n,r,i,a,o,l,s,u,c,f,d,h){var p=n.length,m=0,g=0,y,v,b,w,A,E,x,k,_;if(!p)return m;for(y=c;y<p;y+=f)n[y]&&(m=o(m,s(n[y],u)));if(!t.length)return m;for(t.length>i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),m+=a,v=0,w=t.length;v<w;++v)e.dirty(t[v]),t[v].mark.bounds.clear();for(y=c,v=0,w=t.length;v<w;++v,y+=f){for(E=t[v],A=E.mark.bounds,b=y;b>=0&&(x=n[b])==null;b-=d);l?(k=h==null?x.x:Math.round(x.bounds.x1+h*x.bounds.width()),_=m):(k=m,_=h==null?x.y:Math.round(x.bounds.y1+h*x.bounds.height())),A.union(E.bounds.translate(k-(E.x||0),_-(E.y||0))),E.x=k,E.y=_,e.dirty(E),g=o(g,A[u])}return g}function o_(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,l=n;r?o=Math.round(i.x1+a*i.width()):l=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),l-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=l,e.dirty(t)}}function VR(e,t){let n=e[t]||{};return(r,i)=>n[r]==null?e[r]==null?i:e[r]:n[r]}function XR(e,t){let n=-1/0;return e.forEach(r=>{r.offset!=null&&(n=Math.max(n,r.offset))}),n>-1/0?n:t}function YR(e,t,n,r,i,a,o){let l=VR(n,t),s=XR(e,l("offset",0)),u=l("anchor",tg),c=u===Gt?1:u===ng?.5:0,f={align:lg,bounds:l("bounds",sg),columns:l("direction")==="vertical"?1:e.length,padding:l("margin",8),center:l("center"),nodirty:!0};switch(t){case er:f.anchor={x:Math.floor(r.x1)-s,column:Gt,y:c*(o||r.height()+2*r.y1),row:u};break;case tr:f.anchor={x:Math.ceil(r.x2)+s,y:c*(o||r.height()+2*r.y1),row:u};break;case Qo:f.anchor={y:Math.floor(i.y1)-s,row:Gt,x:c*(a||i.width()+2*i.x1),column:u};break;case Ji:f.anchor={y:Math.ceil(i.y2)+s,x:c*(a||i.width()+2*i.x1),column:u};break;case ER:f.anchor={x:s,y:s};break;case kR:f.anchor={x:a-s,y:s,column:Gt};break;case _R:f.anchor={x:s,y:o-s,row:Gt};break;case DR:f.anchor={x:a-s,y:o-s,column:Gt,row:Gt};break}return f}function JR(e,t){var n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,o=n.x,l=n.y,s,u;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),KR(e,n,n.items[0].items[0]),a=QR(n,a),s=2*n.padding,u=2*n.padding,a.empty()||(s=Math.ceil(a.width()+s),u=Math.ceil(a.height()+u)),r.type===OR&&ZR(n.items[0].items[0].items[0].items),i!==og&&(n.x=o=0,n.y=l=0),n.width=s,n.height=u,ii(a.set(o,l,o+s,l+u),n),n.mark.bounds.clear().union(a),n}function QR(e,t){return e.items.forEach(n=>t.union(n.bounds)),t.x1=e.padding,t.y1=e.padding,t}function KR(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(!t.datum.title)(i||a)&&Ms(e,n,i,a);else{var o=t.items[1].items[0],l=o.anchor,s=t.titlePadding||0,u=r-o.x,c=r-o.y;switch(o.orient){case er:i+=Math.ceil(o.bounds.width())+s;break;case tr:case Ji:break;default:a+=o.bounds.height()+s}switch((i||a)&&Ms(e,n,i,a),o.orient){case er:c+=Zo(t,n,o,l,1,1);break;case tr:u+=Zo(t,n,o,Gt,0,0)+s,c+=Zo(t,n,o,l,1,1);break;case Ji:u+=Zo(t,n,o,l,0,0),c+=Zo(t,n,o,Gt,-1,0,1)+s;break;default:u+=Zo(t,n,o,l,0,0)}(u||c)&&Ms(e,o,u,c),(u=Math.round(o.bounds.x1-r))<0&&(Ms(e,n,-u,0),Ms(e,o,-u,0))}}function Zo(e,t,n,r,i,a,o){let l=e.datum.type!=="symbol",s=n.datum.vgrad,u=(l&&(a||!s)&&!o?t.items[0]:t).bounds[i?"y2":"x2"]-e.padding,c=s&&a?u:0,f=s&&a?0:u,d=i<=0?0:N0(n);return Math.round(r===tg?c:r===Gt?f-d:.5*(u-d))}function Ms(e,t,n,r){t.x+=n,t.y+=r,t.bounds.translate(n,r),t.mark.bounds.translate(n,r),e.dirty(t)}function ZR(e){let t=e.reduce((n,r)=>(n[r.column]=Math.max(r.bounds.x2-r.x,n[r.column]||0),n),{});e.forEach(n=>{n.width=t[n.column],n.height=n.bounds.y2-n.y})}function eT(e,t,n,r,i){var a=t.items[0],o=a.frame,l=a.orient,s=a.anchor,u=a.offset,c=a.padding,f=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],h=l===er||l===tr?r:n,p=0,m=0,g=0,y=0,v=0,b;if(o===vf?l===er&&(p=r,h=0):l===er?(p=i.y2,h=i.y1):l===tr?(p=i.y1,h=i.y2):(p=i.x1,h=i.x2),b=s===tg?p:s===Gt?h:(p+h)/2,d&&d.text){switch(l){case Qo:case Ji:v=f.bounds.height()+c;break;case er:y=f.bounds.width()+c;break;case tr:y=-f.bounds.width()-c;break}Ot.clear().union(d.bounds),Ot.translate(y-(d.x||0),v-(d.y||0)),Ko(d,"x",y)|Ko(d,"y",v)&&(e.dirty(d),d.bounds.clear().union(Ot),d.mark.bounds.clear().union(Ot),e.dirty(d)),Ot.clear().union(d.bounds)}else Ot.clear();switch(Ot.union(f.bounds),l){case Qo:m=b,g=i.y1-Ot.height()-u;break;case er:m=i.x1-Ot.width()-u,g=b;break;case tr:m=i.x2+Ot.width()+u,g=b;break;case Ji:m=b,g=i.y2+u;break;default:m=a.x,g=a.y}return Ko(a,"x",m)|Ko(a,"y",g)&&(Ot.translate(m,g),e.dirty(a),a.bounds.clear().union(Ot),t.bounds.clear().union(Ot),e.dirty(a)),a.bounds}function l_(e){O.call(this,null,e)}G(l_,O,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(r=>{e.layout&&WR(n,r,e.layout),nT(n,r,e)}),tT(e.mark.group)?t.reflow():t}});function tT(e){return e&&e.mark.role!=="legend-entry"}function nT(e,t,n){var r=t.items,i=Math.max(0,t.width||0),a=Math.max(0,t.height||0),o=new lt().set(0,0,i,a),l=o.clone(),s=o.clone(),u=[],c,f,d,h,p,m;for(p=0,m=r.length;p<m;++p)switch(f=r[p],f.role){case rg:h=LR(f)?l:s,h.union(IR(e,f,i,a));break;case ig:c=f;break;case ag:u.push(JR(e,f));break;case $R:case SR:case Tk:case Lk:case Pk:case Ik:case jk:case qk:l.union(f.bounds),s.union(f.bounds);break;default:o.union(f.bounds)}if(u.length){let g={};for(let y in u.forEach(v=>{d=v.orient||tr,d!==og&&(g[d]||(g[d]=[])).push(v)}),g){let v=g[y];a_(e,v,YR(v,y,n.legends,l,s,i,a))}u.forEach(y=>{let v=y.bounds;if(v.equals(y._bounds)||(y.bounds=y._bounds,e.dirty(y),y.bounds=v,e.dirty(y)),n.autosize&&(n.autosize.type===Uk||n.autosize.type===Wk||n.autosize.type===Gk))switch(y.orient){case er:case tr:o.add(v.x1,0).add(v.x2,0);break;case Qo:case Ji:o.add(0,v.y1).add(0,v.y2)}else o.union(v)})}o.union(l).union(s),c&&o.union(eT(e,c,i,a,o)),t.clip&&o.set(0,0,t.width||0,t.height||0),rT(e,t,o,n)}function rT(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,l=e._height,s=Math.max(0,t.width||0),u=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1)),d=Math.max(0,Math.ceil(n.x2-s)),h=Math.max(0,Math.ceil(n.y2-c));if(i.contains===MR){let p=e.padding();o-=p.left+p.right,l-=p.top+p.bottom}a===og?(u=0,f=0,s=o,c=l):a===Uk?(s=Math.max(0,o-u-d),c=Math.max(0,l-f-h)):a===Wk?(s=Math.max(0,o-u-d),l=c+f+h):a===Gk?(o=s+u+d,c=Math.max(0,l-f-h)):a===BR&&(o=s+u+d,l=c+f+h),e._resizeView(o,l,s,c,[u,f],i.resize)}var iT=sn({axisticks:()=>s_,datajoin:()=>u_,encode:()=>c_,legendentries:()=>f_,linkpath:()=>cg,pie:()=>fg,scale:()=>y_,sortitems:()=>x_,stack:()=>hg});function s_(e){O.call(this,null,e)}G(s_,O,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.scale,o=l0(a,e.count==null?e.values?e.values.length:10:e.count,e.minstep),l=e.format||tE(n,a,o,e.formatSpecifier,e.formatType,!!e.values),s=e.values?eE(a,e.values,o):s0(a,o);return i&&(r.rem=i),i=s.map((u,c)=>Ce({index:c/(s.length-1||1),value:u,label:l(u)})),e.extra&&i.length&&i.push(Ce({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}});function u_(e){O.call(this,null,e)}function aT(){return Ce({})}function oT(e){let t=Ro().test(n=>n.exit);return t.lookup=n=>t.get(e(n)),t}G(u_,O,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||aT,a=e.key||Z,o=this.value;return ne(r.encode)&&(r.encode=null),o&&(e.modified("key")||t.modified(a))&&T("DataJoin does not support modified key function or fields."),o||(t=t.addAll(),this.value=o=oT(a)),t.visit(t.ADD,l=>{let s=a(l),u=o.get(s);u?u.exit?(o.empty--,r.add.push(u)):r.mod.push(u):(u=i(l),o.set(s,u),r.add.push(u)),u.datum=l,u.exit=!1}),t.visit(t.MOD,l=>{let s=a(l),u=o.get(s);u&&(u.datum=l,r.mod.push(u))}),t.visit(t.REM,l=>{let s=a(l),u=o.get(s);l===u.datum&&!u.exit&&(r.rem.push(u),u.exit=!0,++o.empty)}),t.changed(t.ADD_MOD)&&r.modifies("datum"),(t.clean()||e.clean&&o.empty>n.cleanThreshold)&&n.runAfter(o.clean),r}});function c_(e){O.call(this,null,e)}G(c_,O,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(ne(a))if(n.changed()||a.every(f=>i[f]))a=a[0],n.encode=null;else return t.StopPropagation;var o=a==="enter",l=i.update||Si,s=i.enter||Si,u=i.exit||Si,c=(a&&!o?i[a]:l)||Si;if(t.changed(t.ADD)&&(t.visit(t.ADD,f=>{s(f,e),l(f,e)}),n.modifies(s.output),n.modifies(l.output),c!==Si&&c!==l&&(t.visit(t.ADD,f=>{c(f,e)}),n.modifies(c.output))),t.changed(t.REM)&&u!==Si&&(t.visit(t.REM,f=>{u(f,e)}),n.modifies(u.output)),o||c!==Si){let f=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(f,d=>{let h=s(d,e)||r;(c(d,e)||h)&&n.mod.push(d)}),n.mod.length&&n.modifies(s.output)):t.visit(f,d=>{(c(d,e)||r)&&n.mod.push(d)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:t.StopPropagation}});function f_(e){O.call(this,[],e)}G(f_,O,{transform(e,t){if(this.value!=null&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.type||"symbol",o=e.scale,l=+e.limit,s=l0(o,e.count==null?5:e.count,e.minstep),u=!!e.values||a==="symbol",c=e.format||aE(n,o,s,a,e.formatSpecifier,e.formatType,u),f=e.values||iE(o,s),d,h,p,m,g;return i&&(r.rem=i),a==="symbol"?(l&&f.length>l?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),i=f.slice(0,l-1),g=!0):i=f,ge(p=e.size)?(!e.values&&o(i[0])===0&&(i=i.slice(1)),m=i.reduce((y,v)=>Math.max(y,p(v,e)),0)):p=jt(m=p||8),i=i.map((y,v)=>Ce({index:v,label:c(y,v,i),value:y,offset:m,size:p(y,e)})),g&&(g=f[i.length],i.push(Ce({index:i.length,label:`\u2026${f.length-i.length} entries`,value:g,offset:m,size:p(g,e)})))):a==="gradient"?(d=o.domain(),h=JA(o,d[0],Me(d)),f.length<3&&!e.values&&d[0]!==Me(d)&&(f=[d[0],Me(d)]),i=f.map((y,v)=>Ce({index:v,label:c(y,v,f),value:y,perc:h(y)}))):(p=f.length-1,h=WB(o),i=f.map((y,v)=>Ce({index:v,label:c(y,v,f),value:y,perc:v?h(y):0,perc2:v===p?1:h(f[v+1])}))),r.source=i,r.add=i,this.value=i,r}});var lT=e=>e.source.x,sT=e=>e.source.y,uT=e=>e.target.x,cT=e=>e.target.y;function cg(e){O.call(this,{},e)}cg.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},G(cg,O,{transform(e,t){var n=e.sourceX||lT,r=e.sourceY||sT,i=e.targetX||uT,a=e.targetY||cT,o=e.as||"path",l=e.orient||"vertical",s=e.shape||"line",u=m_.get(s+"-"+l)||m_.get(s);return u||T("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,c=>{c[o]=u(n(c),r(c),i(c),a(c))}),t.reflow(e.modified()).modifies(o)}});var d_=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,fT=(e,t,n,r)=>d_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),h_=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2,l=180*Math.atan2(a,i)/Math.PI;return"M"+e+","+t+"A"+o+","+o+" "+l+" 0 1 "+n+","+r},dT=(e,t,n,r)=>h_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),p_=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),l=.2*(a-i);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(r-o)+" "+n+","+r},hT=(e,t,n,r)=>p_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),pT=(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,mT=(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,gT=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=Math.abs(n-e)>Math.PI?n<=e:n>e;return"M"+t*i+","+t*a+"A"+t+","+t+" 0 0,"+(s?1:0)+" "+t*o+","+t*l+"L"+r*o+","+r*l},yT=(e,t,n,r)=>{let i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},vT=(e,t,n,r)=>{let i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},bT=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=(t+r)/2;return"M"+t*i+","+t*a+"C"+s*i+","+s*a+" "+s*o+","+s*l+" "+r*o+","+r*l},m_=Ro({line:d_,"line-radial":fT,arc:h_,"arc-radial":dT,curve:p_,"curve-radial":hT,"orthogonal-horizontal":pT,"orthogonal-vertical":mT,"orthogonal-radial":gT,"diagonal-horizontal":yT,"diagonal-vertical":vT,"diagonal-radial":bT});function fg(e){O.call(this,null,e)}fg.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},G(fg,O,{transform(e,t){var n=e.as||["startAngle","endAngle"],r=n[0],i=n[1],a=e.field||Zl,o=e.startAngle||0,l=e.endAngle==null?2*Math.PI:e.endAngle,s=t.source,u=s.map(a),c=u.length,f=o,d=(l-o)/mw(u),h=xn(c),p,m,g;for(e.sort&&h.sort((y,v)=>u[y]-u[v]),p=0;p<c;++p)g=u[h[p]],m=s[h[p]],m[r]=f,m[i]=f+=g*d;return this.value=u,t.reflow(e.modified()).modifies(n)}});var xT=5;function wT(e){let t=e.type;return!e.bins&&(t==="linear"||t==="pow"||t==="sqrt")}function g_(e){return r0(e)&&e!=="sequential"}var AT=_r(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function y_(e){O.call(this,null,e),this.modified(!0)}G(y_,O,{transform(e,t){var n=t.dataflow,r=this.value,i=ET(e);for(i in(!r||i!==r.type)&&(this.value=r=ke(i)()),e)if(!AT[i]){if(i==="padding"&&g_(r.type))continue;ge(r[i])?r[i](e[i]):n.warn("Unsupported scale property: "+i)}return $T(r,e,CT(r,e,_T(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function ET(e){var t=e.type,n="",r;return t==="sequential"?Ii+"-"+Nc:(kT(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?Ii+"-":r===3?Uo+"-":""),(n+t||"linear").toLowerCase())}function kT(e){let t=e.type;return r0(t)&&t!=="time"&&t!=="utc"&&(e.scheme||e.range&&e.range.length&&e.range.every(Ee))}function _T(e,t,n){let r=DT(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,a=e.type,o=t.zero||t.zero===void 0&&wT(e),l,s;if(!i)return 0;if((o||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(l=(i=i.slice()).length-1||1,o&&(i[0]>0&&(i[0]=0),i[l]<0&&(i[l]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[l]=t.domainMax),t.domainMid!=null)){s=t.domainMid;let u=s>i[l]?l+1:s<i[0]?0:l;u!==l&&n.warn("Scale domainMid exceeds domain min or max.",s),i.splice(u,0,s)}return g_(a)&&t.padding&&i[0]!==Me(i)&&(i=FT(a,i,t.range,t.padding,t.exponent,t.constant)),e.domain(v_(a,i,n)),a==="ordinal"&&e.unknown(t.domainImplicit?K4:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&l0(e,t.nice)||null),i.length}function DT(e,t,n){return t?(e.domain(v_(e.type,t,n)),t.length):-1}function FT(e,t,n,r,i,a){var o=Math.abs(Me(n)-n[0]),l=o/(o-2*r),s=e==="log"?zp(t,null,l):e==="sqrt"?fc(t,null,l,.5):e==="pow"?fc(t,null,l,i||1):e==="symlog"?Tp(t,null,l,a||1):Dp(t,null,l);return t=t.slice(),t[0]=s[0],t[t.length-1]=s[1],t}function v_(e,t,n){return GA(e)&&Math.abs(t.reduce((r,i)=>r+(i<0?-1:i>0?1:0),0))!==t.length&&n.warn("Log scale domain includes zero: "+K(t)),t}function CT(e,t,n){let r=t.bins;if(r&&!ne(r)){let i=e.domain(),a=i[0],o=Me(i),l=r.step,s=r.start==null?a:r.start,u=r.stop==null?o:r.stop;l||T("Scale bins parameter missing step property."),s<a&&(s=l*Math.ceil(a/l)),u>o&&(u=l*Math.floor(o/l)),r=xn(s,u+l/2,l)}return r?e.bins=r:e.bins&&delete e.bins,e.type==="bin-ordinal"&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}function $T(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(t.rangeStep!=null)a=ST(r,t,n);else if(t.scheme&&(a=MT(r,t,n),ge(a))){if(e.interpolator)return e.interpolator(a);T(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&HA(r))return e.interpolator(Tc(dg(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(a0(t.interpolate,t.interpolateGamma)):ge(e.round)?e.round(i):ge(e.rangeRound)&&e.interpolate(i?Wp:Up),a&&e.range(dg(a,t.reverse))}function ST(e,t,n){e!=="band"&&e!=="point"&&T("Only band and point scales support rangeStep.");var r=(t.paddingOuter==null?t.padding:t.paddingOuter)||0,i=e==="point"?1:(t.paddingInner==null?t.padding:t.paddingInner)||0;return[0,t.rangeStep*Qm(n,i,r)]}function MT(e,t,n){var r=t.schemeExtent,i,a;return ne(t.scheme)?a=Tc(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),a=o0(i),a||T(`Unrecognized scheme name: ${t.scheme}`)),n=e==="threshold"?n+1:e==="bin-ordinal"?n-1:e==="quantile"||e==="quantize"?+t.schemeCount||xT:n,HA(e)?b_(a,r,t.reverse):ge(a)?YA(b_(a,r),n):e==="ordinal"?a:a.slice(0,n)}function b_(e,t,n){return ge(e)&&(t||n)?XA(e,dg(t||[0,1],n)):e}function dg(e,t){return t?e.slice().reverse():e}function x_(e){O.call(this,null,e)}G(x_,O,{transform(e,t){let n=e.modified("sort")||t.changed(t.ADD)||t.modified(e.sort.fields)||t.modified("datum");return n&&t.source.sort(Ca(e.sort)),this.modified(n),t}});var w_="zero",A_="center",E_="normalize",k_=["y0","y1"];function hg(e){O.call(this,null,e)}hg.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:w_,values:[w_,A_,E_]},{name:"as",type:"string",array:!0,length:2,default:k_}]},G(hg,O,{transform(e,t){var n=e.as||k_,r=n[0],i=n[1],a=Ca(e.sort),o=e.field||Zl,l=e.offset===A_?OT:e.offset===E_?BT:zT,s=NT(t.source,e.groupby,a,o),u,c,f;for(u=0,c=s.length,f=s.max;u<c;++u)l(s[u],f,o,r,i);return t.reflow(e.modified()).modifies(n)}});function OT(e,t,n,r,i){for(var a=(t-e.sum)/2,o=e.length,l=0,s;l<o;++l)s=e[l],s[r]=a,s[i]=a+=Math.abs(n(s))}function BT(e,t,n,r,i){for(var a=1/e.sum,o=0,l=e.length,s=0,u=0,c;s<l;++s)c=e[s],c[r]=o,c[i]=o=a*(u+=Math.abs(n(c)))}function zT(e,t,n,r,i){for(var a=0,o=0,l=e.length,s=0,u,c;s<l;++s)c=e[s],u=+n(c),u<0?(c[r]=o,c[i]=o+=u):(c[r]=a,c[i]=a+=u)}function NT(e,t,n,r){var i=[],a=m=>m(c),o,l,s,u,c,f,d,h,p;if(t==null)i.push(e.slice());else for(o={},l=0,s=e.length;l<s;++l)c=e[l],f=t.map(a),d=o[f],d||(o[f]=d=[],i.push(d)),d.push(c);for(f=0,p=0,u=i.length;f<u;++f){for(d=i[f],l=0,h=0,s=d.length;l<s;++l)h+=Math.abs(r(d[l]));d.sum=h,h>p&&(p=h),n&&d.sort(n)}return i.max=p,i}var Oe=1e-6,pe=Math.PI,Ke=pe/2,Ef=pe/4,Ht=pe*2,nt=180/pe,de=pe/180,ve=Math.abs,el=Math.atan,Pn=Math.atan2,re=Math.cos,kf=Math.ceil,__=Math.exp,pg=Math.hypot,_f=Math.log,mg=Math.pow,ee=Math.sin,In=Math.sign||function(e){return e>0?1:e<0?-1:0},Vt=Math.sqrt,gg=Math.tan;function D_(e){return e>1?0:e<-1?pe:Math.acos(e)}function un(e){return e>1?Ke:e<-1?-Ke:Math.asin(e)}function Et(){}function Df(e,t){e&&C_.hasOwnProperty(e.type)&&C_[e.type](e,t)}var F_={Feature:function(e,t){Df(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Df(n[r].geometry,t)}},C_={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){yg(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)yg(n[r],t,0)},Polygon:function(e,t){$_(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)$_(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Df(n[r],t)}};function yg(e,t,n){var r=-1,i=e.length-n,a;for(t.lineStart();++r<i;)a=e[r],t.point(a[0],a[1],a[2]);t.lineEnd()}function $_(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)yg(e[n],t,1);t.polygonEnd()}function oi(e,t){e&&F_.hasOwnProperty(e.type)?F_[e.type](e,t):Df(e,t)}var Ff=new Ut,Cf=new Ut,S_,M_,vg,bg,xg,Mr={point:Et,lineStart:Et,lineEnd:Et,polygonStart:function(){Ff=new Ut,Mr.lineStart=RT,Mr.lineEnd=TT},polygonEnd:function(){var e=+Ff;Cf.add(e<0?Ht+e:e),this.lineStart=this.lineEnd=this.point=Et},sphere:function(){Cf.add(Ht)}};function RT(){Mr.point=LT}function TT(){O_(S_,M_)}function LT(e,t){Mr.point=O_,S_=e,M_=t,e*=de,t*=de,vg=e,bg=re(t=t/2+Ef),xg=ee(t)}function O_(e,t){e*=de,t*=de,t=t/2+Ef;var n=e-vg,r=n>=0?1:-1,i=r*n,a=re(t),o=ee(t),l=xg*o,s=bg*a+l*re(i),u=l*r*ee(i);Ff.add(Pn(u,s)),vg=e,bg=a,xg=o}function PT(e){return Cf=new Ut,oi(e,Mr),Cf*2}function $f(e){return[Pn(e[1],e[0]),un(e[2])]}function Ta(e){var t=e[0],n=e[1],r=re(n);return[r*re(t),r*ee(t),ee(n)]}function Sf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function tl(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function wg(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Mf(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Of(e){var t=Vt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Ye,cn,Ze,En,La,B_,z_,nl,Os,Zi,li,si={point:Ag,lineStart:R_,lineEnd:T_,polygonStart:function(){si.point=L_,si.lineStart=IT,si.lineEnd=jT,Os=new Ut,Mr.polygonStart()},polygonEnd:function(){Mr.polygonEnd(),si.point=Ag,si.lineStart=R_,si.lineEnd=T_,Ff<0?(Ye=-(Ze=180),cn=-(En=90)):Os>1e-6?En=90:Os<-1e-6&&(cn=-90),li[0]=Ye,li[1]=Ze},sphere:function(){Ye=-(Ze=180),cn=-(En=90)}};function Ag(e,t){Zi.push(li=[Ye=e,Ze=e]),t<cn&&(cn=t),t>En&&(En=t)}function N_(e,t){var n=Ta([e*de,t*de]);if(nl){var r=tl(nl,n),i=tl([r[1],-r[0],0],r);Of(i),i=$f(i);var a=e-La,o=a>0?1:-1,l=i[0]*nt*o,s,u=ve(a)>180;u^(o*La<l&&l<o*e)?(s=i[1]*nt,s>En&&(En=s)):(l=(l+360)%360-180,u^(o*La<l&&l<o*e)?(s=-i[1]*nt,s<cn&&(cn=s)):(t<cn&&(cn=t),t>En&&(En=t))),u?e<La?kn(Ye,e)>kn(Ye,Ze)&&(Ze=e):kn(e,Ze)>kn(Ye,Ze)&&(Ye=e):Ze>=Ye?(e<Ye&&(Ye=e),e>Ze&&(Ze=e)):e>La?kn(Ye,e)>kn(Ye,Ze)&&(Ze=e):kn(e,Ze)>kn(Ye,Ze)&&(Ye=e)}else Zi.push(li=[Ye=e,Ze=e]);t<cn&&(cn=t),t>En&&(En=t),nl=n,La=e}function R_(){si.point=N_}function T_(){li[0]=Ye,li[1]=Ze,si.point=Ag,nl=null}function L_(e,t){if(nl){var n=e-La;Os.add(ve(n)>180?n+(n>0?360:-360):n)}else B_=e,z_=t;Mr.point(e,t),N_(e,t)}function IT(){Mr.lineStart()}function jT(){L_(B_,z_),Mr.lineEnd(),ve(Os)>1e-6&&(Ye=-(Ze=180)),li[0]=Ye,li[1]=Ze,nl=null}function kn(e,t){return(t-=e)<0?t+360:t}function qT(e,t){return e[0]-t[0]}function P_(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function UT(e){var t,n,r,i,a,o,l;if(En=Ze=-(Ye=cn=1/0),Zi=[],oi(e,si),n=Zi.length){for(Zi.sort(qT),t=1,r=Zi[0],a=[r];t<n;++t)i=Zi[t],P_(r,i[0])||P_(r,i[1])?(kn(r[0],i[1])>kn(r[0],r[1])&&(r[1]=i[1]),kn(i[0],r[1])>kn(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=a.length-1,t=0,r=a[n];t<=n;r=i,++t)i=a[t],(l=kn(r[1],i[0]))>o&&(o=l,Ye=i[0],Ze=r[1])}return Zi=li=null,Ye===1/0||cn===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ye,cn],[Ze,En]]}var Bs,Bf,zf,Nf,Rf,Tf,Lf,Pf,Eg,kg,_g,I_,j_,Xt,Yt,Jt,nr={sphere:Et,point:Dg,lineStart:q_,lineEnd:U_,polygonStart:function(){nr.lineStart=HT,nr.lineEnd=VT},polygonEnd:function(){nr.lineStart=q_,nr.lineEnd=U_}};function Dg(e,t){e*=de,t*=de;var n=re(t);zs(n*re(e),n*ee(e),ee(t))}function zs(e,t,n){++Bs,zf+=(e-zf)/Bs,Nf+=(t-Nf)/Bs,Rf+=(n-Rf)/Bs}function q_(){nr.point=WT}function WT(e,t){e*=de,t*=de;var n=re(t);Xt=n*re(e),Yt=n*ee(e),Jt=ee(t),nr.point=GT,zs(Xt,Yt,Jt)}function GT(e,t){e*=de,t*=de;var n=re(t),r=n*re(e),i=n*ee(e),a=ee(t),o=Pn(Vt((o=Yt*a-Jt*i)*o+(o=Jt*r-Xt*a)*o+(o=Xt*i-Yt*r)*o),Xt*r+Yt*i+Jt*a);Bf+=o,Tf+=o*(Xt+(Xt=r)),Lf+=o*(Yt+(Yt=i)),Pf+=o*(Jt+(Jt=a)),zs(Xt,Yt,Jt)}function U_(){nr.point=Dg}function HT(){nr.point=XT}function VT(){W_(I_,j_),nr.point=Dg}function XT(e,t){I_=e,j_=t,e*=de,t*=de,nr.point=W_;var n=re(t);Xt=n*re(e),Yt=n*ee(e),Jt=ee(t),zs(Xt,Yt,Jt)}function W_(e,t){e*=de,t*=de;var n=re(t),r=n*re(e),i=n*ee(e),a=ee(t),o=Yt*a-Jt*i,l=Jt*r-Xt*a,s=Xt*i-Yt*r,u=pg(o,l,s),c=un(u),f=u&&-c/u;Eg.add(f*o),kg.add(f*l),_g.add(f*s),Bf+=c,Tf+=c*(Xt+(Xt=r)),Lf+=c*(Yt+(Yt=i)),Pf+=c*(Jt+(Jt=a)),zs(Xt,Yt,Jt)}function YT(e){Bs=Bf=zf=Nf=Rf=Tf=Lf=Pf=0,Eg=new Ut,kg=new Ut,_g=new Ut,oi(e,nr);var t=+Eg,n=+kg,r=+_g,i=pg(t,n,r);return i<1e-12&&(t=Tf,n=Lf,r=Pf,Bf<1e-6&&(t=zf,n=Nf,r=Rf),i=pg(t,n,r),i<1e-12)?[NaN,NaN]:[Pn(n,t)*nt,un(r/i)*nt]}function Fg(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function Cg(e,t){return ve(e)>pe&&(e-=Math.round(e/Ht)*Ht),[e,t]}Cg.invert=Cg;function G_(e,t,n){return(e%=Ht)?t||n?Fg(V_(e),X_(t,n)):V_(e):t||n?X_(t,n):Cg}function H_(e){return function(t,n){return t+=e,ve(t)>pe&&(t-=Math.round(t/Ht)*Ht),[t,n]}}function V_(e){var t=H_(e);return t.invert=H_(-e),t}function X_(e,t){var n=re(e),r=ee(e),i=re(t),a=ee(t);function o(l,s){var u=re(s),c=re(l)*u,f=ee(l)*u,d=ee(s),h=d*n+c*r;return[Pn(f*i-h*a,c*n-d*r),un(h*i+f*a)]}return o.invert=function(l,s){var u=re(s),c=re(l)*u,f=ee(l)*u,d=ee(s),h=d*i-f*a;return[Pn(f*i+d*a,c*n+h*r),un(h*n-c*r)]},o}function JT(e){e=G_(e[0]*de,e[1]*de,e.length>2?e[2]*de:0);function t(n){return n=e(n[0]*de,n[1]*de),n[0]*=nt,n[1]*=nt,n}return t.invert=function(n){return n=e.invert(n[0]*de,n[1]*de),n[0]*=nt,n[1]*=nt,n},t}function QT(e,t,n,r,i,a){if(n){var o=re(t),l=ee(t),s=r*n;i==null?(i=t+r*Ht,a=t-s/2):(i=Y_(o,i),a=Y_(o,a),(r>0?i<a:i>a)&&(i+=r*Ht));for(var u,c=i;r>0?c>a:c<a;c-=s)u=$f([o,-l*re(c),-l*ee(c)]),e.point(u[0],u[1])}}function Y_(e,t){t=Ta(t),t[0]-=e,Of(t);var n=D_(-t[1]);return((-t[2]<0?-n:n)+Ht-Oe)%Ht}function J_(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:Et,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function If(e,t){return ve(e[0]-t[0])<1e-6&&ve(e[1]-t[1])<1e-6}function jf(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Q_(e,t,n,r,i){var a=[],o=[],l,s;if(e.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g=p[0],y=p[m],v;if(If(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),l=0;l<m;++l)i.point((g=p[l])[0],g[1]);i.lineEnd();return}y[0]+=2*Oe}a.push(v=new jf(g,p,null,!0)),o.push(v.o=new jf(g,null,v,!1)),a.push(v=new jf(y,p,null,!1)),o.push(v.o=new jf(y,null,v,!0))}}),a.length){for(o.sort(t),K_(a),K_(o),l=0,s=o.length;l<s;++l)o[l].e=n=!n;for(var u=a[0],c,f;;){for(var d=u,h=!0;d.v;)if((d=d.n)===u)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(l=0,s=c.length;l<s;++l)i.point((f=c[l])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(c=d.p.z,l=c.length-1;l>=0;--l)i.point((f=c[l])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,h=!h}while(!d.v);i.lineEnd()}}}function K_(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function $g(e){return ve(e[0])<=pe?e[0]:In(e[0])*((ve(e[0])+pe)%Ht-pe)}function KT(e,t){var n=$g(t),r=t[1],i=ee(r),a=[ee(n),-re(n),0],o=0,l=0,s=new Ut;i===1?r=Ke+Oe:i===-1&&(r=-Ke-Oe);for(var u=0,c=e.length;u<c;++u)if(d=(f=e[u]).length)for(var f,d,h=f[d-1],p=$g(h),m=h[1]/2+Ef,g=ee(m),y=re(m),v=0;v<d;++v,p=w,g=E,y=x,h=b){var b=f[v],w=$g(b),A=b[1]/2+Ef,E=ee(A),x=re(A),k=w-p,_=k>=0?1:-1,F=_*k,$=F>pe,R=g*E;if(s.add(Pn(R*_*ee(F),y*x+R*re(F))),o+=$?k+_*Ht:k,$^p>=n^w>=n){var C=tl(Ta(h),Ta(b));Of(C);var M=tl(a,C);Of(M);var D=($^k>=0?-1:1)*un(M[2]);(r>D||r===D&&(C[0]||C[1]))&&(l+=$^k>=0?1:-1)}}return(o<-1e-6||o<1e-6&&s<-1e-12)^l&1}function Z_(e,t,n,r){return function(i){var a=t(i),o=J_(),l=t(o),s=!1,u,c,f,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=v,d.lineEnd=b,c=[],u=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,c=pw(c);var w=KT(u,r);c.length?(s||(s=(i.polygonStart(),!0)),Q_(c,eL,w,n,i)):w&&(s||(s=(i.polygonStart(),!0)),i.lineStart(),n(null,null,1,i),i.lineEnd()),s&&(s=(i.polygonEnd(),!1)),c=u=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(w,A){e(w,A)&&i.point(w,A)}function p(w,A){a.point(w,A)}function m(){d.point=p,a.lineStart()}function g(){d.point=h,a.lineEnd()}function y(w,A){f.push([w,A]),l.point(w,A)}function v(){l.lineStart(),f=[]}function b(){y(f[0][0],f[0][1]),l.lineEnd();var w=l.clean(),A=o.result(),E,x=A.length,k,_,F;if(f.pop(),u.push(f),f=null,x){if(w&1){if(_=A[0],(k=_.length-1)>0){for(s||(s=(i.polygonStart(),!0)),i.lineStart(),E=0;E<k;++E)i.point((F=_[E])[0],F[1]);i.lineEnd()}return}x>1&&w&2&&A.push(A.pop().concat(A.shift())),c.push(A.filter(ZT))}}return d}}function ZT(e){return e.length>1}function eL(e,t){return((e=e.x)[0]<0?e[1]-Ke-Oe:Ke-e[1])-((t=t.x)[0]<0?t[1]-Ke-Oe:Ke-t[1])}var eD=Z_(function(){return!0},tL,rL,[-pe,-Ke]);function tL(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var l=a>0?pe:-pe,s=ve(a-t);ve(s-pe)<1e-6?(e.point(t,n=(n+o)/2>0?Ke:-Ke),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),e.point(a,n),i=0):r!==l&&s>=pe&&(ve(t-r)<1e-6&&(t-=r*Oe),ve(a-l)<1e-6&&(a-=l*Oe),n=nL(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),i=0),e.point(t=a,n=o),r=l},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function nL(e,t,n,r){var i,a,o=ee(e-n);return ve(o)>1e-6?el((ee(t)*(a=re(r))*ee(n)-ee(r)*(i=re(t))*ee(e))/(i*a*o)):(t+r)/2}function rL(e,t,n,r){var i;if(e==null)i=n*Ke,r.point(-pe,i),r.point(0,i),r.point(pe,i),r.point(pe,0),r.point(pe,-i),r.point(0,-i),r.point(-pe,-i),r.point(-pe,0),r.point(-pe,i);else if(ve(e[0]-t[0])>1e-6){var a=e[0]<t[0]?pe:-pe;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function iL(e){var t=re(e),n=2*de,r=t>0,i=ve(t)>Oe;function a(c,f,d,h){QT(h,e,n,d,c,f)}function o(c,f){return re(c)*re(f)>t}function l(c){var f,d,h,p,m;return{lineStart:function(){p=h=!1,m=1},point:function(g,y){var v=[g,y],b,w=o(g,y),A=r?w?0:u(g,y):w?u(g+(g<0?pe:-pe),y):0;if(!f&&(p=h=w)&&c.lineStart(),w!==h&&(b=s(f,v),(!b||If(f,b)||If(v,b))&&(v[2]=1)),w!==h)m=0,w?(c.lineStart(),b=s(v,f),c.point(b[0],b[1])):(b=s(f,v),c.point(b[0],b[1],2),c.lineEnd()),f=b;else if(i&&f&&r^w){var E;!(A&d)&&(E=s(v,f,!0))&&(m=0,r?(c.lineStart(),c.point(E[0][0],E[0][1]),c.point(E[1][0],E[1][1]),c.lineEnd()):(c.point(E[1][0],E[1][1]),c.lineEnd(),c.lineStart(),c.point(E[0][0],E[0][1],3)))}w&&(!f||!If(f,v))&&c.point(v[0],v[1]),f=v,h=w,d=A},lineEnd:function(){h&&c.lineEnd(),f=null},clean:function(){return m|(p&&h)<<1}}}function s(c,f,d){var h=Ta(c),p=Ta(f),m=[1,0,0],g=tl(h,p),y=Sf(g,g),v=g[0],b=y-v*v;if(!b)return!d&&c;var w=t*y/b,A=-t*v/b,E=tl(m,g),x=Mf(m,w);wg(x,Mf(g,A));var k=E,_=Sf(x,k),F=Sf(k,k),$=_*_-F*(Sf(x,x)-1);if(!($<0)){var R=Vt($),C=Mf(k,(-_-R)/F);if(wg(C,x),C=$f(C),!d)return C;var M=c[0],D=f[0],S=c[1],L=f[1],U;D<M&&(U=M,M=D,D=U);var H=D-M,ae=ve(H-pe)<Oe,fe=ae||H<1e-6;if(!ae&&L<S&&(U=S,S=L,L=U),fe?ae?S+L>0^C[1]<(ve(C[0]-M)<1e-6?S:L):S<=C[1]&&C[1]<=L:H>pe^(M<=C[0]&&C[0]<=D)){var Fe=Mf(k,(-_+R)/F);return wg(Fe,x),[C,$f(Fe)]}}}function u(c,f){var d=r?e:pe-e,h=0;return c<-d?h|=1:c>d&&(h|=2),f<-d?h|=4:f>d&&(h|=8),h}return Z_(o,l,a,r?[0,-e]:[-pe,e-pe])}function aL(e,t,n,r,i,a){var o=e[0],l=e[1],s=t[0],u=t[1],c=0,f=1,d=s-o,h=u-l,p=n-o;if(!(!d&&p>0)){if(p/=d,d<0){if(p<c)return;p<f&&(f=p)}else if(d>0){if(p>f)return;p>c&&(c=p)}if(p=i-o,!(!d&&p<0)){if(p/=d,d<0){if(p>f)return;p>c&&(c=p)}else if(d>0){if(p<c)return;p<f&&(f=p)}if(p=r-l,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<f&&(f=p)}else if(h>0){if(p>f)return;p>c&&(c=p)}if(p=a-l,!(!h&&p<0)){if(p/=h,h<0){if(p>f)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<f&&(f=p)}return c>0&&(e[0]=o+c*d,e[1]=l+c*h),f<1&&(t[0]=o+f*d,t[1]=l+f*h),!0}}}}}var Ns=1e9,qf=-Ns;function tD(e,t,n,r){function i(u,c){return e<=u&&u<=n&&t<=c&&c<=r}function a(u,c,f,d){var h=0,p=0;if(u==null||(h=o(u,f))!==(p=o(c,f))||s(u,c)<0^f>0)do d.point(h===0||h===3?e:n,h>1?r:t);while((h=(h+f+4)%4)!==p);else d.point(c[0],c[1])}function o(u,c){return ve(u[0]-e)<1e-6?c>0?0:3:ve(u[0]-n)<1e-6?c>0?2:1:ve(u[1]-t)<1e-6?c>0?1:0:c>0?3:2}function l(u,c){return s(u.x,c.x)}function s(u,c){var f=o(u,1),d=o(c,1);return f===d?f===0?c[1]-u[1]:f===1?u[0]-c[0]:f===2?u[1]-c[1]:c[0]-u[0]:f-d}return function(u){var c=u,f=J_(),d,h,p,m,g,y,v,b,w,A,E,x={point:k,lineStart:R,lineEnd:C,polygonStart:F,polygonEnd:$};function k(D,S){i(D,S)&&c.point(D,S)}function _(){for(var D=0,S=0,L=h.length;S<L;++S)for(var U=h[S],H=1,ae=U.length,fe=U[0],Fe,be,ln=fe[0],Pt=fe[1];H<ae;++H)Fe=ln,be=Pt,fe=U[H],ln=fe[0],Pt=fe[1],be<=r?Pt>r&&(ln-Fe)*(r-be)>(Pt-be)*(e-Fe)&&++D:Pt<=r&&(ln-Fe)*(r-be)<(Pt-be)*(e-Fe)&&--D;return D}function F(){c=f,d=[],h=[],E=!0}function $(){var D=_(),S=E&&D,L=(d=pw(d)).length;(S||L)&&(u.polygonStart(),S&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),L&&Q_(d,l,D,a,u),u.polygonEnd()),c=u,d=h=p=null}function R(){x.point=M,h&&h.push(p=[]),A=!0,w=!1,v=b=NaN}function C(){d&&(M(m,g),y&&w&&f.rejoin(),d.push(f.result())),x.point=k,w&&c.lineEnd()}function M(D,S){var L=i(D,S);if(h&&p.push([D,S]),A)m=D,g=S,y=L,A=!1,L&&(c.lineStart(),c.point(D,S));else if(L&&w)c.point(D,S);else{var U=[v=Math.max(qf,Math.min(Ns,v)),b=Math.max(qf,Math.min(Ns,b))],H=[D=Math.max(qf,Math.min(Ns,D)),S=Math.max(qf,Math.min(Ns,S))];aL(U,H,e,t,n,r)?(w||(c.lineStart(),c.point(U[0],U[1])),c.point(H[0],H[1]),L||c.lineEnd(),E=!1):L&&(c.lineStart(),c.point(D,S),E=!1)}v=D,b=S,w=L}return x}}function nD(e,t,n){var r=xn(e,t-Oe,n).concat(t);return function(i){return r.map(function(a){return[i,a]})}}function rD(e,t,n){var r=xn(e,t-Oe,n).concat(t);return function(i){return r.map(function(a){return[a,i]})}}function oL(){var e,t,n,r,i,a,o,l,s=10,u=s,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return xn(kf(r/c)*c,n,c).map(p).concat(xn(kf(l/f)*f,o,f).map(m)).concat(xn(kf(t/s)*s,e,s).filter(function(b){return ve(b%c)>Oe}).map(d)).concat(xn(kf(a/u)*u,i,u).filter(function(b){return ve(b%f)>Oe}).map(h))}return y.lines=function(){return v().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(o).slice(1),p(n).reverse().slice(1),m(l).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],l=+b[0][1],o=+b[1][1],r>n&&(b=r,r=n,n=b),l>o&&(b=l,l=o,o=b),y.precision(g)):[[r,l],[n,o]]},y.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],a=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),a>i&&(b=a,a=i,i=b),y.precision(g)):[[t,a],[e,i]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.stepMinor=function(b){return arguments.length?(s=+b[0],u=+b[1],y):[s,u]},y.precision=function(b){return arguments.length?(g=+b,d=nD(a,i,90),h=rD(t,e,g),p=nD(l,o,90),m=rD(r,n,g),y):g},y.extentMajor([[-180,-90+Oe],[180,90-Oe]]).extentMinor([[-180,-80-Oe],[180,80+Oe]])}var Rs=e=>e,Sg=new Ut,Mg=new Ut,iD,aD,Og,Bg,ea={point:Et,lineStart:Et,lineEnd:Et,polygonStart:function(){ea.lineStart=lL,ea.lineEnd=uL},polygonEnd:function(){ea.lineStart=ea.lineEnd=ea.point=Et,Sg.add(ve(Mg)),Mg=new Ut},result:function(){var e=Sg/2;return Sg=new Ut,e}};function lL(){ea.point=sL}function sL(e,t){ea.point=oD,iD=Og=e,aD=Bg=t}function oD(e,t){Mg.add(Bg*e-Og*t),Og=e,Bg=t}function uL(){oD(iD,aD)}var lD=ea,rl=1/0,Uf=rl,Ts=-rl,Wf=Ts,cL={point:fL,lineStart:Et,lineEnd:Et,polygonStart:Et,polygonEnd:Et,result:function(){var e=[[rl,Uf],[Ts,Wf]];return Ts=Wf=-(Uf=rl=1/0),e}};function fL(e,t){e<rl&&(rl=e),e>Ts&&(Ts=e),t<Uf&&(Uf=t),t>Wf&&(Wf=t)}var Gf=cL,zg=0,Ng=0,Ls=0,Hf=0,Vf=0,il=0,Rg=0,Tg=0,Ps=0,sD,uD,Or,Br,rr={point:Pa,lineStart:cD,lineEnd:fD,polygonStart:function(){rr.lineStart=pL,rr.lineEnd=mL},polygonEnd:function(){rr.point=Pa,rr.lineStart=cD,rr.lineEnd=fD},result:function(){var e=Ps?[Rg/Ps,Tg/Ps]:il?[Hf/il,Vf/il]:Ls?[zg/Ls,Ng/Ls]:[NaN,NaN];return zg=Ng=Ls=Hf=Vf=il=Rg=Tg=Ps=0,e}};function Pa(e,t){zg+=e,Ng+=t,++Ls}function cD(){rr.point=dL}function dL(e,t){rr.point=hL,Pa(Or=e,Br=t)}function hL(e,t){var n=e-Or,r=t-Br,i=Vt(n*n+r*r);Hf+=i*(Or+e)/2,Vf+=i*(Br+t)/2,il+=i,Pa(Or=e,Br=t)}function fD(){rr.point=Pa}function pL(){rr.point=gL}function mL(){dD(sD,uD)}function gL(e,t){rr.point=dD,Pa(sD=Or=e,uD=Br=t)}function dD(e,t){var n=e-Or,r=t-Br,i=Vt(n*n+r*r);Hf+=i*(Or+e)/2,Vf+=i*(Br+t)/2,il+=i,i=Br*e-Or*t,Rg+=i*(Or+e),Tg+=i*(Br+t),Ps+=i*3,Pa(Or=e,Br=t)}var hD=rr;function pD(e){this._context=e}pD.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Ht);break}},result:Et};var Lg=new Ut,Pg,mD,gD,Is,js,Xf={point:Et,lineStart:function(){Xf.point=yL},lineEnd:function(){Pg&&yD(mD,gD),Xf.point=Et},polygonStart:function(){Pg=!0},polygonEnd:function(){Pg=null},result:function(){var e=+Lg;return Lg=new Ut,e}};function yL(e,t){Xf.point=yD,mD=Is=e,gD=js=t}function yD(e,t){Is-=e,js-=t,Lg.add(Vt(Is*Is+js*js)),Is=e,js=t}var vD=Xf,bD,Yf,xD,wD,AD=class{constructor(e){this._append=e==null?ED:vL(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,t){switch(this._point){case 0:this._append`M${e},${t}`,this._point=1;break;case 1:this._append`L${e},${t}`;break;default:if(this._append`M${e},${t}`,this._radius!==xD||this._append!==Yf){let n=this._radius,r=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,xD=n,Yf=this._append,wD=this._,this._=r}this._+=wD;break}}result(){let e=this._;return this._="",e.length?e:null}};function ED(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function vL(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return ED;if(t!==bD){let n=10**t;bD=t,Yf=function(r){let i=1;this._+=r[0];for(let a=r.length;i<a;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}return Yf}function kD(e,t){let n=3,r=4.5,i,a;function o(l){return l&&(typeof r=="function"&&a.pointRadius(+r.apply(this,arguments)),oi(l,i(a))),a.result()}return o.area=function(l){return oi(l,i(lD)),lD.result()},o.measure=function(l){return oi(l,i(vD)),vD.result()},o.bounds=function(l){return oi(l,i(Gf)),Gf.result()},o.centroid=function(l){return oi(l,i(hD)),hD.result()},o.projection=function(l){return arguments.length?(i=l==null?(e=null,Rs):(e=l).stream,o):e},o.context=function(l){return arguments.length?(a=l==null?(t=null,new AD(n)):new pD(t=l),typeof r!="function"&&a.pointRadius(r),o):t},o.pointRadius=function(l){return arguments.length?(r=typeof l=="function"?l:(a.pointRadius(+l),+l),o):r},o.digits=function(l){if(!arguments.length)return n;if(l==null)n=null;else{let s=Math.floor(l);if(!(s>=0))throw RangeError(`invalid digits: ${l}`);n=s}return t===null&&(a=new AD(n)),o},o.projection(e).digits(n).context(t)}function Jf(e){return function(t){var n=new Ig;for(var r in e)n[r]=e[r];return n.stream=t,n}}function Ig(){}Ig.prototype={constructor:Ig,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function jg(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),oi(n,e.stream(Gf)),t(Gf.result()),r!=null&&e.clipExtent(r),e}function Qf(e,t,n){return jg(e,function(r){var i=t[1][0]-t[0][0],a=t[1][1]-t[0][1],o=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),l=+t[0][0]+(i-o*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(a-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([l,s])},n)}function qg(e,t,n){return Qf(e,[[0,0],t],n)}function Ug(e,t,n){return jg(e,function(r){var i=+t,a=i/(r[1][0]-r[0][0]),o=(i-a*(r[1][0]+r[0][0]))/2,l=-a*r[0][1];e.scale(150*a).translate([o,l])},n)}function Wg(e,t,n){return jg(e,function(r){var i=+t,a=i/(r[1][1]-r[0][1]),o=-a*r[0][0],l=(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,l])},n)}var _D=16,bL=re(30*de);function DD(e,t){return+t?wL(e,t):xL(e)}function xL(e){return Jf({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function wL(e,t){function n(r,i,a,o,l,s,u,c,f,d,h,p,m,g){var y=u-r,v=c-i,b=y*y+v*v;if(b>4*t&&m--){var w=o+d,A=l+h,E=s+p,x=Vt(w*w+A*A+E*E),k=un(E/=x),_=ve(ve(E)-1)<1e-6||ve(a-f)<1e-6?(a+f)/2:Pn(A,w),F=e(_,k),$=F[0],R=F[1],C=$-r,M=R-i,D=v*C-y*M;(D*D/b>t||ve((y*C+v*M)/b-.5)>.3||o*d+l*h+s*p<bL)&&(n(r,i,a,o,l,s,$,R,_,w/=x,A/=x,E,m,g),g.point($,R),n($,R,_,w,A,E,u,c,f,d,h,p,m,g))}}return function(r){var i,a,o,l,s,u,c,f,d,h,p,m,g={point:y,lineStart:v,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=A},polygonEnd:function(){r.polygonEnd(),g.lineStart=v}};function y(k,_){k=e(k,_),r.point(k[0],k[1])}function v(){f=NaN,g.point=b,r.lineStart()}function b(k,_){var F=Ta([k,_]),$=e(k,_);n(f,d,c,h,p,m,f=$[0],d=$[1],c=k,h=F[0],p=F[1],m=F[2],_D,r),r.point(f,d)}function w(){g.point=y,r.lineEnd()}function A(){v(),g.point=E,g.lineEnd=x}function E(k,_){b(i=k,_),a=f,o=d,l=h,s=p,u=m,g.point=b}function x(){n(f,d,c,h,p,m,a,o,i,l,s,u,_D,r),g.lineEnd=w,w()}return g}}var AL=Jf({point:function(e,t){this.stream.point(e*de,t*de)}});function EL(e){return Jf({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function kL(e,t,n,r,i){function a(o,l){return o*=r,l*=i,[t+e*o,n-e*l]}return a.invert=function(o,l){return[(o-t)/e*r,(n-l)/e*i]},a}function FD(e,t,n,r,i,a){if(!a)return kL(e,t,n,r,i);var o=re(a),l=ee(a),s=o*e,u=l*e,c=o/e,f=l/e,d=(l*n-o*t)/e,h=(l*t+o*n)/e;function p(m,g){return m*=r,g*=i,[s*m-u*g+t,n-u*m-s*g]}return p.invert=function(m,g){return[r*(c*m-f*g+d),i*(h-f*m-c*g)]},p}function zr(e){return CD(function(){return e})()}function CD(e){var t,n=150,r=480,i=250,a=0,o=0,l=0,s=0,u=0,c,f=0,d=1,h=1,p=null,m=eD,g=null,y,v,b,w=Rs,A=.5,E,x,k,_,F;function $(D){return k(D[0]*de,D[1]*de)}function R(D){return D=k.invert(D[0],D[1]),D&&[D[0]*nt,D[1]*nt]}$.stream=function(D){return _&&F===D?_:_=AL(EL(c)(m(E(w(F=D)))))},$.preclip=function(D){return arguments.length?(m=D,p=void 0,M()):m},$.postclip=function(D){return arguments.length?(w=D,g=y=v=b=null,M()):w},$.clipAngle=function(D){return arguments.length?(m=+D?iL(p=D*de):(p=null,eD),M()):p*nt},$.clipExtent=function(D){return arguments.length?(w=D==null?(g=y=v=b=null,Rs):tD(g=+D[0][0],y=+D[0][1],v=+D[1][0],b=+D[1][1]),M()):g==null?null:[[g,y],[v,b]]},$.scale=function(D){return arguments.length?(n=+D,C()):n},$.translate=function(D){return arguments.length?(r=+D[0],i=+D[1],C()):[r,i]},$.center=function(D){return arguments.length?(a=D[0]%360*de,o=D[1]%360*de,C()):[a*nt,o*nt]},$.rotate=function(D){return arguments.length?(l=D[0]%360*de,s=D[1]%360*de,u=D.length>2?D[2]%360*de:0,C()):[l*nt,s*nt,u*nt]},$.angle=function(D){return arguments.length?(f=D%360*de,C()):f*nt},$.reflectX=function(D){return arguments.length?(d=D?-1:1,C()):d<0},$.reflectY=function(D){return arguments.length?(h=D?-1:1,C()):h<0},$.precision=function(D){return arguments.length?(E=DD(x,A=D*D),M()):Vt(A)},$.fitExtent=function(D,S){return Qf($,D,S)},$.fitSize=function(D,S){return qg($,D,S)},$.fitWidth=function(D,S){return Ug($,D,S)},$.fitHeight=function(D,S){return Wg($,D,S)};function C(){var D=FD(n,0,0,d,h,f).apply(null,t(a,o)),S=FD(n,r-D[0],i-D[1],d,h,f);return c=G_(l,s,u),x=Fg(t,S),k=Fg(c,x),E=DD(x,A),M()}function M(){return _=F=null,$}return function(){return t=e.apply(this,arguments),$.invert=t.invert&&R,C()}}function Gg(e){var t=0,n=pe/3,r=CD(e),i=r(t,n);return i.parallels=function(a){return arguments.length?r(t=a[0]*de,n=a[1]*de):[t*nt,n*nt]},i}function _L(e){var t=re(e);function n(r,i){return[r*t,ee(i)/t]}return n.invert=function(r,i){return[r/t,un(i*t)]},n}function DL(e,t){var n=ee(e),r=(n+ee(t))/2;if(ve(r)<1e-6)return _L(e);var i=1+n*(2*r-n),a=Vt(i)/r;function o(l,s){var u=Vt(i-2*r*ee(s))/r;return[u*ee(l*=r),a-u*re(l)]}return o.invert=function(l,s){var u=a-s,c=Pn(l,ve(u))*In(u);return u*r<0&&(c-=pe*In(l)*In(u)),[c/r,un((i-(l*l+u*u)*r*r)/(2*r))]},o}function Kf(){return Gg(DL).scale(155.424).center([0,33.6442])}function $D(){return Kf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function FL(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function CL(){var e,t,n=$D(),r,i=Kf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=Kf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l,s,u={point:function(d,h){s=[d,h]}};function c(d){var h=d[0],p=d[1];return s=null,r.point(h,p),s||(a.point(h,p),s)||(l.point(h,p),s)}c.invert=function(d){var h=n.scale(),p=n.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?o:n).invert(d)},c.stream=function(d){return e&&t===d?e:e=FL([n.stream(t=d),i.stream(d),o.stream(d)])},c.precision=function(d){return arguments.length?(n.precision(d),i.precision(d),o.precision(d),f()):n.precision()},c.scale=function(d){return arguments.length?(n.scale(d),i.scale(d*.35),o.scale(d),c.translate(n.translate())):n.scale()},c.translate=function(d){if(!arguments.length)return n.translate();var h=n.scale(),p=+d[0],m=+d[1];return r=n.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(u),a=i.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+Oe,m+.12*h+Oe],[p-.214*h-Oe,m+.234*h-Oe]]).stream(u),l=o.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+Oe,m+.166*h+Oe],[p-.115*h-Oe,m+.234*h-Oe]]).stream(u),f()},c.fitExtent=function(d,h){return Qf(c,d,h)},c.fitSize=function(d,h){return qg(c,d,h)},c.fitWidth=function(d,h){return Ug(c,d,h)},c.fitHeight=function(d,h){return Wg(c,d,h)};function f(){return e=t=null,c}return c.scale(1070)}function SD(e){return function(t,n){var r=re(t),i=re(n),a=e(r*i);return a===1/0?[2,0]:[a*i*ee(t),a*ee(n)]}}function qs(e){return function(t,n){var r=Vt(t*t+n*n),i=e(r),a=ee(i),o=re(i);return[Pn(t*a,r*o),un(r&&n*a/r)]}}var MD=SD(function(e){return Vt(2/(1+e))});MD.invert=qs(function(e){return 2*un(e/2)});function $L(){return zr(MD).scale(124.75).clipAngle(179.999)}var OD=SD(function(e){return(e=D_(e))&&e/ee(e)});OD.invert=qs(function(e){return e});function SL(){return zr(OD).scale(79.4188).clipAngle(179.999)}function Zf(e,t){return[e,_f(gg((Ke+t)/2))]}Zf.invert=function(e,t){return[e,2*el(__(t))-Ke]};function ML(){return BD(Zf).scale(961/Ht)}function BD(e){var t=zr(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,l,s,u;t.scale=function(f){return arguments.length?(r(f),c()):r()},t.translate=function(f){return arguments.length?(i(f),c()):i()},t.center=function(f){return arguments.length?(n(f),c()):n()},t.clipExtent=function(f){return arguments.length?(f==null?o=l=s=u=null:(o=+f[0][0],l=+f[0][1],s=+f[1][0],u=+f[1][1]),c()):o==null?null:[[o,l],[s,u]]};function c(){var f=pe*r(),d=t(JT(t.rotate()).invert([0,0]));return a(o==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===Zf?[[Math.max(d[0]-f,o),l],[Math.min(d[0]+f,s),u]]:[[o,Math.max(d[1]-f,l)],[s,Math.min(d[1]+f,u)]])}return c()}function ed(e){return gg((Ke+e)/2)}function OL(e,t){var n=re(e),r=e===t?ee(e):_f(n/re(t))/_f(ed(t)/ed(e)),i=n*mg(ed(e),r)/r;if(!r)return Zf;function a(o,l){i>0?l<-Ke+1e-6&&(l=-Ke+Oe):l>Ke-1e-6&&(l=Ke-Oe);var s=i/mg(ed(l),r);return[s*ee(r*o),i-s*re(r*o)]}return a.invert=function(o,l){var s=i-l,u=In(r)*Vt(o*o+s*s),c=Pn(o,ve(s))*In(s);return s*r<0&&(c-=pe*In(o)*In(s)),[c/r,2*el(mg(i/u,1/r))-Ke]},a}function BL(){return Gg(OL).scale(109.5).parallels([30,30])}function td(e,t){return[e,t]}td.invert=td;function zL(){return zr(td).scale(152.63)}function NL(e,t){var n=re(e),r=e===t?ee(e):(n-re(t))/(t-e),i=n/r+e;if(ve(r)<1e-6)return td;function a(o,l){var s=i-l,u=r*o;return[s*ee(u),i-s*re(u)]}return a.invert=function(o,l){var s=i-l,u=Pn(o,ve(s))*In(s);return s*r<0&&(u-=pe*In(o)*In(s)),[u/r,i-In(r)*Vt(o*o+s*s)]},a}function RL(){return Gg(NL).scale(131.154).center([0,13.9389])}var Us=1.340264,Ws=-.081106,Gs=893e-6,Hs=.003796,nd=Vt(3)/2,TL=12;function zD(e,t){var n=un(nd*ee(t)),r=n*n,i=r*r*r;return[e*re(n)/(nd*(Us+3*Ws*r+i*(7*Gs+9*Hs*r))),n*(Us+Ws*r+i*(Gs+Hs*r))]}zD.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,l,s;a<TL&&(l=n*(Us+Ws*r+i*(Gs+Hs*r))-t,s=Us+3*Ws*r+i*(7*Gs+9*Hs*r),n-=o=l/s,r=n*n,i=r*r*r,!(ve(o)<1e-12));++a);return[nd*e*(Us+3*Ws*r+i*(7*Gs+9*Hs*r))/re(n),un(ee(n)/nd)]};function LL(){return zr(zD).scale(177.158)}function ND(e,t){var n=re(t),r=re(e)*n;return[n*ee(e)/r,ee(t)/r]}ND.invert=qs(el);function PL(){return zr(ND).scale(144.049).clipAngle(60)}function IL(){var e=1,t=0,n=0,r=1,i=1,a=0,o,l,s=null,u,c,f,d=1,h=1,p=Jf({point:function(w,A){var E=b([w,A]);this.stream.point(E[0],E[1])}}),m=Rs,g,y;function v(){return d=e*r,h=e*i,g=y=null,b}function b(w){var A=w[0]*d,E=w[1]*h;if(a){var x=E*o-A*l;A=A*o+E*l,E=x}return[A+t,E+n]}return b.invert=function(w){var A=w[0]-t,E=w[1]-n;if(a){var x=E*o+A*l;A=A*o-E*l,E=x}return[A/d,E/h]},b.stream=function(w){return g&&y===w?g:g=p(m(y=w))},b.postclip=function(w){return arguments.length?(m=w,s=u=c=f=null,v()):m},b.clipExtent=function(w){return arguments.length?(m=w==null?(s=u=c=f=null,Rs):tD(s=+w[0][0],u=+w[0][1],c=+w[1][0],f=+w[1][1]),v()):s==null?null:[[s,u],[c,f]]},b.scale=function(w){return arguments.length?(e=+w,v()):e},b.translate=function(w){return arguments.length?(t=+w[0],n=+w[1],v()):[t,n]},b.angle=function(w){return arguments.length?(a=w%360*de,l=ee(a),o=re(a),v()):a*nt},b.reflectX=function(w){return arguments.length?(r=w?-1:1,v()):r<0},b.reflectY=function(w){return arguments.length?(i=w?-1:1,v()):i<0},b.fitExtent=function(w,A){return Qf(b,w,A)},b.fitSize=function(w,A){return qg(b,w,A)},b.fitWidth=function(w,A){return Ug(b,w,A)},b.fitHeight=function(w,A){return Wg(b,w,A)},b}function RD(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}RD.invert=function(e,t){var n=t,r=25,i;do{var a=n*n,o=a*a;n-=i=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.015085*3+o*(-.044475*7+.028874*9*a-.005916*11*o)))}while(ve(i)>1e-6&&--r>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function jL(){return zr(RD).scale(175.295)}function TD(e,t){return[re(t)*ee(e),ee(t)]}TD.invert=qs(un);function qL(){return zr(TD).scale(249.5).clipAngle(90+Oe)}function LD(e,t){var n=re(t),r=1+re(e)*n;return[n*ee(e)/r,ee(t)/r]}LD.invert=qs(function(e){return 2*el(e)});function UL(){return zr(LD).scale(250).clipAngle(142)}function PD(e,t){return[_f(gg((Ke+t)/2)),-e]}PD.invert=function(e,t){return[-t,2*el(__(e))-Ke]};function WL(){var e=BD(PD),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}var GL=Math.abs,Hg=Math.cos,rd=Math.sin,al=Math.PI,Vg=al/2;al/4;var ID=HL(2);al*2,180/al,al/180;function jD(e){return e>1?Vg:e<-1?-Vg:Math.asin(e)}function HL(e){return e>0?Math.sqrt(e):0}function VL(e,t){var n=e*rd(t),r=30,i;do t-=i=(t+rd(t)-n)/(1+Hg(t));while(GL(i)>1e-6&&--r>0);return t/2}function XL(e,t,n){function r(i,a){return[e*i*Hg(a=VL(n,a)),t*rd(a)]}return r.invert=function(i,a){return a=jD(a/t),[i/(e*Hg(a)),jD((2*a+rd(2*a))/n)]},r}var YL=XL(ID/Vg,ID,al);function JL(){return zr(YL).scale(169.529)}var QL=kD(),Xg=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function KL(e,t){return function n(){let r=t();return r.type=e,r.path=kD().projection(r),r.copy=r.copy||function(){let i=n();return Xg.forEach(a=>{r[a]&&i[a](r[a]())}),i.path.pointRadius(r.path.pointRadius()),i},qA(r)}}function Yg(e,t){if(!e||typeof e!="string")throw Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(id[e]=KL(e,t),this):id[e]||null}function qD(e){return e&&e.path||QL}var id={albers:$D,albersusa:CL,azimuthalequalarea:$L,azimuthalequidistant:SL,conicconformal:BL,conicequalarea:Kf,conicequidistant:RL,equalEarth:LL,equirectangular:zL,gnomonic:PL,identity:IL,mercator:ML,mollweide:JL,naturalEarth1:jL,orthographic:qL,stereographic:UL,transversemercator:WL};for(let e in id)Yg(e,id[e]);var ZL=sn({contour:()=>Zg,geojson:()=>n1,geopath:()=>r1,geopoint:()=>i1,geoshape:()=>a1,graticule:()=>o1,heatmap:()=>l1,isocontour:()=>Jg,kde2d:()=>Kg,projection:()=>JD});function eP(){}var ui=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function UD(){var e=1,t=1,n=l;function r(s,u){return u.map(c=>i(s,c))}function i(s,u){var c=[],f=[];return a(s,u,d=>{n(d,s,u),tP(d)>0?c.push([d]):f.push(d)}),f.forEach(d=>{for(var h=0,p=c.length,m;h<p;++h)if(nP((m=c[h])[0],d)!==-1){m.push(d);return}}),{type:"MultiPolygon",value:u,coordinates:c}}function a(s,u,c){var f=[],d=[],h=p=-1,p,m,g=s[0]>=u,y,v;for(ui[g<<1].forEach(b);++h<e-1;)m=g,g=s[h+1]>=u,ui[m|g<<1].forEach(b);for(ui[g<<0].forEach(b);++p<t-1;){for(h=-1,g=s[p*e+e]>=u,y=s[p*e]>=u,ui[g<<1|y<<2].forEach(b);++h<e-1;)m=g,g=s[p*e+e+h+1]>=u,v=y,y=s[p*e+h+1]>=u,ui[m|g<<1|y<<2|v<<3].forEach(b);ui[g|y<<3].forEach(b)}for(h=-1,y=s[p*e]>=u,ui[y<<2].forEach(b);++h<e-1;)v=y,y=s[p*e+h+1]>=u,ui[y<<2|v<<3].forEach(b);ui[y<<3].forEach(b);function b(w){var A=[w[0][0]+h,w[0][1]+p],E=[w[1][0]+h,w[1][1]+p],x=o(A),k=o(E),_,F;(_=d[x])?(F=f[k])?(delete d[_.end],delete f[F.start],_===F?(_.ring.push(E),c(_.ring)):f[_.start]=d[F.end]={start:_.start,end:F.end,ring:_.ring.concat(F.ring)}):(delete d[_.end],_.ring.push(E),d[_.end=k]=_):(_=f[k])?(F=d[x])?(delete f[_.start],delete d[F.end],_===F?(_.ring.push(E),c(_.ring)):f[F.start]=d[_.end]={start:F.start,end:_.end,ring:F.ring.concat(_.ring)}):(delete f[_.start],_.ring.unshift(A),f[_.start=x]=_):f[x]=d[k]={start:x,end:k,ring:[A,E]}}}function o(s){return s[0]*2+s[1]*(e+1)*4}function l(s,u,c){s.forEach(f=>{var d=f[0],h=f[1],p=d|0,m=h|0,g,y=u[m*e+p];d>0&&d<e&&p===d&&(g=u[m*e+p-1],f[0]=d+(c-g)/(y-g)-.5),h>0&&h<t&&m===h&&(g=u[(m-1)*e+p],f[1]=h+(c-g)/(y-g)-.5)})}return r.contour=i,r.size=function(s){if(!arguments.length)return[e,t];var u=Math.floor(s[0]),c=Math.floor(s[1]);return u>=0&&c>=0||T("invalid size"),e=u,t=c,r},r.smooth=function(s){return arguments.length?(n=s?l:eP,r):n===l},r}function tP(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}function nP(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=rP(e,t[n]))return i;return 0}function rP(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,l=o-1;a<o;l=a++){var s=e[a],u=s[0],c=s[1],f=e[l],d=f[0],h=f[1];if(iP(s,f,t))return 0;c>r!=h>r&&n<(d-u)*(r-c)/(h-c)+u&&(i=-i)}return i}function iP(e,t,n){var r;return aP(e,t,n)&&oP(e[r=+(e[0]===t[0])],n[r],t[r])}function aP(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function oP(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function WD(e,t,n){return function(r){var i=Dr(r),a=n?Math.min(i[0],0):i[0],o=i[1],l=o-a,s=t?Z2(a,o,e):l/(e+1);return xn(a+s,o,s)}}function Jg(e){O.call(this,null,e)}Jg.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},G(Jg,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=e.field||Jn,a=UD().smooth(e.smooth!==!1),o=e.thresholds||lP(r,i,e),l=e.as===null?null:e.as||"contour",s=[];return r.forEach(u=>{let c=i(u),f=a.size([c.width,c.height])(c.values,ne(o)?o:o(c.values));sP(f,c,u,e),f.forEach(d=>{s.push(xc(u,Ce(l==null?d:{[l]:d})))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=s,n}});function lP(e,t,n){let r=WD(n.levels||10,n.nice,n.zero!==!1);return n.resolve==="shared"?r(e.map(i=>Da(t(i).values))):r}function sP(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(ge(i)&&(i=i(n,r)),ge(a)&&(a=a(n,r)),(i===1||i==null)&&!a)return;let o=(_a(i)?i:i[0])||1,l=(_a(i)?i:i[1])||1,s=a&&a[0]||0,u=a&&a[1]||0;e.forEach(GD(t,o,l,s,u))}function GD(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,l=t*n<0;function s(f){f.forEach(u)}function u(f){l&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-a)*t+r,f[1]=(f[1]-o)*n+i}return function(f){return f.coordinates.forEach(s),f}}function HD(e,t,n){let r=e>=0?e:tm(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function Qg(e){return ge(e)?e:jt(+e)}function VD(){var e=s=>s[0],t=s=>s[1],n=Zl,r=[-1,-1],i=960,a=500,o=2;function l(s,u){let c=HD(r[0],s,e)>>o,f=HD(r[1],s,t)>>o,d=c?c+2:0,h=f?f+2:0,p=2*d+(i>>o),m=2*h+(a>>o),g=new Float32Array(p*m),y=new Float32Array(p*m),v=g;s.forEach(w=>{let A=d+(+e(w)>>o),E=h+(+t(w)>>o);A>=0&&A<p&&E>=0&&E<m&&(g[A+E*p]+=+n(w))}),c>0&&f>0?(ol(p,m,g,y,c),ll(p,m,y,g,f),ol(p,m,g,y,c),ll(p,m,y,g,f),ol(p,m,g,y,c),ll(p,m,y,g,f)):c>0?(ol(p,m,g,y,c),ol(p,m,y,g,c),ol(p,m,g,y,c),v=y):f>0&&(ll(p,m,g,y,f),ll(p,m,y,g,f),ll(p,m,g,y,f),v=y);let b=u?2**(-2*o):1/mw(v);for(let w=0,A=p*m;w<A;++w)v[w]*=b;return{values:v,scale:1<<o,width:p,height:m,x1:d,y1:h,x2:d+(i>>o),y2:h+(a>>o)}}return l.x=function(s){return arguments.length?(e=Qg(s),l):e},l.y=function(s){return arguments.length?(t=Qg(s),l):t},l.weight=function(s){return arguments.length?(n=Qg(s),l):n},l.size=function(s){if(!arguments.length)return[i,a];var u=+s[0],c=+s[1];return u>=0&&c>=0||T("invalid size"),i=u,a=c,l},l.cellSize=function(s){return arguments.length?((s=+s)>=1||T("invalid cell size"),o=Math.floor(Math.log(s)/Math.LN2),l):1<<o},l.bandwidth=function(s){return arguments.length?(s=ie(s),s.length===1&&(s=[+s[0],+s[0]]),s.length!==2&&T("invalid bandwidth"),r=s,l):r},l}function ol(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let l=0,s=0;l<e+i;++l)l<e&&(s+=n[l+o*e]),l>=i&&(l>=a&&(s-=n[l-a+o*e]),r[l-i+o*e]=s/Math.min(l+1,e-1+a-l,a))}function ll(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let l=0,s=0;l<t+i;++l)l<t&&(s+=n[o+l*e]),l>=i&&(l>=a&&(s-=n[o+(l-a)*e]),r[o+(l-i)*e]=s/Math.min(l+1,t-1+a-l,a))}function Kg(e){O.call(this,null,e)}Kg.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};var uP=["x","y","weight","size","cellSize","bandwidth"];function XD(e,t){return uP.forEach(n=>t[n]==null?0:e[n](t[n])),e}G(Kg,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=cP(r,e.groupby),a=(e.groupby||[]).map(Qe),o=XD(VD(),e),l=e.as||"grid",s=[];function u(c,f){for(let d=0;d<a.length;++d)c[a[d]]=f[d];return c}return s=i.map(c=>Ce(u({[l]:o(c,e.counts)},c.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=s,n}});function cP(e,t){var n=[],r=c=>c(l),i,a,o,l,s,u;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],s=t.map(r),u=i[s],u||(i[s]=u=[],u.dims=s,n.push(u)),u.push(l);return n}function Zg(e){O.call(this,null,e)}Zg.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]},G(Zg,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=UD().smooth(e.smooth!==!1),i=e.values,a=e.thresholds||WD(e.count||10,e.nice,!!i),o=e.size,l,s;return i||(i=(i=t.materialize(t.SOURCE).source,l=XD(VD(),e)(i,!0),s=GD(l,l.scale||1,l.scale||1,0,0),o=[l.width,l.height],l.values)),a=ne(a)?a:a(i),i=r.size(o)(i,a),s&&i.forEach(s),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(Ce),n}});var e1="Feature",t1="FeatureCollection",fP="MultiPoint";function n1(e){O.call(this,null,e)}n1.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},G(n1,O,{transform(e,t){var n=this._features,r=this._points,i=e.fields,a=i&&i[0],o=i&&i[1],l=e.geojson||!i&&Jn,s=t.ADD,u=e.modified()||t.changed(t.REM)||t.modified(It(l))||a&&t.modified(It(a))||o&&t.modified(It(o));(!this.value||u)&&(s=t.SOURCE,this._features=n=[],this._points=r=[]),l&&t.visit(s,c=>n.push(l(c))),a&&o&&(t.visit(s,c=>{var f=a(c),d=o(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&r.push([f,d])}),n=n.concat({type:e1,geometry:{type:fP,coordinates:r}})),this.value={type:t1,features:n}}});function r1(e){O.call(this,null,e)}r1.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},G(r1,O,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||Jn,a=e.as||"path",o=n.SOURCE;!r||e.modified()?(this.value=r=qD(e.projection),n.materialize().reflow()):o=i===Jn||t.modified(i.fields)?n.ADD_MOD:n.ADD;let l=dP(r,e.pointRadius);return n.visit(o,s=>s[a]=r(i(s))),r.pointRadius(l),n.modifies(a)}});function dP(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function i1(e){O.call(this,null,e)}i1.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},G(i1,O,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||["x","y"],o=a[0],l=a[1],s;function u(c){let f=n([r(c),i(c)]);f?(c[o]=f[0],c[l]=f[1]):(c[o]=void 0,c[l]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,u):(s=t.modified(r.fields)||t.modified(i.fields),t.visit(s?t.ADD_MOD:t.ADD,u)),t.modifies(a)}});function a1(e){O.call(this,null,e)}a1.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},G(a1,O,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.as||"shape",a=n.ADD;return(!r||e.modified())&&(this.value=r=hP(qD(e.projection),e.field||ti("datum"),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,o=>o[i]=r),n.modifies(i)}});function hP(e,t,n){let r=n==null?i=>e(t(i)):i=>{var a=e.pointRadius(),o=e.pointRadius(n)(t(i));return e.pointRadius(a),o};return r.context=i=>(e.context(i),r),r}function o1(e){O.call(this,[],e),this.generator=oL()}o1.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},G(o1,O,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let a in e)ge(r[a])&&r[a](e[a]);return i=r(),n.length?t.mod.push(vw(n[0],i)):t.add.push(Ce(i)),n[0]=i,t}});function l1(e){O.call(this,null,e)}l1.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},G(l1,O,{transform(e,t){if(!t.changed()&&!e.modified())return t.StopPropagation;var n=t.materialize(t.SOURCE).source,r=e.resolve==="shared",i=e.field||Jn,a=mP(e.opacity,e),o=pP(e.color,e),l=e.as||"image",s={$x:0,$y:0,$value:0,$max:r?Da(n.map(u=>Da(i(u).values))):0};return n.forEach(u=>{let c=i(u),f=me({},u,s);r||(f.$max=Da(c.values||[])),u[l]=gP(c,f,o.dep?o:jt(o(f)),a.dep?a:jt(a(f)))}),t.reflow(!0).modifies(l)}});function pP(e,t){let n;return ge(e)?(n=r=>pc(e(r,t)),n.dep=YD(e)):n=jt(pc(e||"#888")),n}function mP(e,t){let n;return ge(e)?(n=r=>e(r,t),n.dep=YD(e)):e?n=jt(e):(n=r=>r.$value/r.$max||0,n.dep=!0),n}function YD(e){if(!ge(e))return!1;let t=_r(It(e));return t.$x||t.$y||t.$value||t.$max}function gP(e,t,n,r){let i=e.width,a=e.height,o=e.x1||0,l=e.y1||0,s=e.x2||i,u=e.y2||a,c=e.values,f=c?g=>c[g]:Sp,d=Li(s-o,u-l),h=d.getContext("2d"),p=h.getImageData(0,0,s-o,u-l),m=p.data;for(let g=l,y=0;g<u;++g){t.$y=g-l;for(let v=o,b=g*i;v<s;++v,y+=4){t.$x=v-o,t.$value=f(v+b);let w=n(t);m[y+0]=w.r,m[y+1]=w.g,m[y+2]=w.b,m[y+3]=~~(255*r(t))}}return h.putImageData(p,0,0),d}function JD(e){O.call(this,null,e),this.modified(!0)}G(JD,O,{transform(e,t){let n=this.value;return!n||e.modified("type")?(this.value=n=vP(e.type),Xg.forEach(r=>{e[r]!=null&&QD(n,r,e[r])})):Xg.forEach(r=>{e.modified(r)&&QD(n,r,e[r])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&yP(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function yP(e,t){let n=bP(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function vP(e){let t=Yg((e||"mercator").toLowerCase());return t||T("Unrecognized projection type: "+e),t()}function QD(e,t,n){ge(e[t])&&e[t](n)}function bP(e){return e=ie(e),e.length===1?e[0]:{type:t1,features:e.reduce((t,n)=>t.concat(xP(n)),[])}}function xP(e){return e.type===t1?e.features:ie(e).filter(t=>t!=null).map(t=>t.type===e1?t:{type:e1,geometry:t})}function wP(e,t){var n,r=1;e??(e=0),t??(t=0);function i(){var a,o=n.length,l,s=0,u=0;for(a=0;a<o;++a)l=n[a],s+=l.x,u+=l.y;for(s=(s/o-e)*r,u=(u/o-t)*r,a=0;a<o;++a)l=n[a],l.x-=s,l.y-=u}return i.initialize=function(a){n=a},i.x=function(a){return arguments.length?(e=+a,i):e},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(r=+a,i):r},i}function AP(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return KD(this.cover(t,n),t,n,e)}function KD(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},l=e._x0,s=e._y0,u=e._x1,c=e._y1,f,d,h,p,m,g,y,v;if(!a)return e._root=o,e;for(;a.length;)if((m=t>=(f=(l+u)/2))?l=f:u=f,(g=n>=(d=(s+c)/2))?s=d:c=d,i=a,!(a=a[y=g<<1|m]))return i[y]=o,e;if(h=+e._x.call(null,a.data),p=+e._y.call(null,a.data),t===h&&n===p)return o.next=a,i?i[y]=o:e._root=o,e;do i=i?i[y]=[,,,,]:e._root=[,,,,],(m=t>=(f=(l+u)/2))?l=f:u=f,(g=n>=(d=(s+c)/2))?s=d:c=d;while((y=g<<1|m)==(v=(p>=d)<<1|h>=f));return i[v]=a,i[y]=o,e}function EP(e){var t,n,r=e.length,i,a,o=Array(r),l=Array(r),s=1/0,u=1/0,c=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,l[n]=a,i<s&&(s=i),i>c&&(c=i),a<u&&(u=a),a>f&&(f=a));if(s>c||u>f)return this;for(this.cover(s,u).cover(c,f),n=0;n<r;++n)KD(this,o[n],l[n],e[n]);return this}function kP(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,l=this._root,s,u;n>e||e>=i||r>t||t>=a;)switch(u=(t<r)<<1|e<n,s=[,,,,],s[u]=l,l=s,o*=2,u){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=l)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function _P(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function DP(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Qt(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function FP(e,t,n){var r,i=this._x0,a=this._y0,o,l,s,u,c=this._x1,f=this._y1,d=[],h=this._root,p,m;for(h&&d.push(new Qt(h,i,a,c,f)),n==null?n=1/0:(i=e-n,a=t-n,c=e+n,f=t+n,n*=n);p=d.pop();)if(!(!(h=p.node)||(o=p.x0)>c||(l=p.y0)>f||(s=p.x1)<i||(u=p.y1)<a))if(h.length){var g=(o+s)/2,y=(l+u)/2;d.push(new Qt(h[3],g,y,s,u),new Qt(h[2],o,y,g,u),new Qt(h[1],g,l,s,y),new Qt(h[0],o,l,g,y)),(m=(t>=y)<<1|e>=g)&&(p=d[d.length-1],d[d.length-1]=d[d.length-1-m],d[d.length-1-m]=p)}else{var v=e-+this._x.call(null,h.data),b=t-+this._y.call(null,h.data),w=v*v+b*b;if(w<n){var A=Math.sqrt(n=w);i=e-A,a=t-A,c=e+A,f=t+A,r=h.data}}return r}function CP(e){if(isNaN(c=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,l=this._y0,s=this._x1,u=this._y1,c,f,d,h,p,m,g,y;if(!n)return this;if(n.length)for(;;){if((p=c>=(d=(o+s)/2))?o=d:s=d,(m=f>=(h=(l+u)/2))?l=h:u=h,t=n,!(n=n[g=m<<1|p]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,y=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=a,this)}function $P(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function SP(){return this._root}function MP(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function OP(e){var t=[],n,r=this._root,i,a,o,l,s;for(r&&t.push(new Qt(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,l=n.x1,s=n.y1)&&r.length){var u=(a+l)/2,c=(o+s)/2;(i=r[3])&&t.push(new Qt(i,u,c,l,s)),(i=r[2])&&t.push(new Qt(i,a,c,u,s)),(i=r[1])&&t.push(new Qt(i,u,o,l,c)),(i=r[0])&&t.push(new Qt(i,a,o,u,c))}return this}function BP(e){var t=[],n=[],r;for(this._root&&t.push(new Qt(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,l=r.y0,s=r.x1,u=r.y1,c=(o+s)/2,f=(l+u)/2;(a=i[0])&&t.push(new Qt(a,o,l,c,f)),(a=i[1])&&t.push(new Qt(a,c,l,s,f)),(a=i[2])&&t.push(new Qt(a,o,f,c,u)),(a=i[3])&&t.push(new Qt(a,c,f,s,u))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function zP(e){return e[0]}function NP(e){return arguments.length?(this._x=e,this):this._x}function RP(e){return e[1]}function TP(e){return arguments.length?(this._y=e,this):this._y}function s1(e,t,n){var r=new u1(t??zP,n??RP,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function u1(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function ZD(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Kt=s1.prototype=u1.prototype;Kt.copy=function(){var e=new u1(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=ZD(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=ZD(r));return e},Kt.add=AP,Kt.addAll=EP,Kt.cover=kP,Kt.data=_P,Kt.extent=DP,Kt.find=FP,Kt.remove=CP,Kt.removeAll=$P,Kt.root=SP,Kt.size=MP,Kt.visit=OP,Kt.visitAfter=BP,Kt.x=NP,Kt.y=TP;function Zt(e){return function(){return e}}function ta(e){return(e()-.5)*1e-6}function LP(e){return e.x+e.vx}function PP(e){return e.y+e.vy}function IP(e){var t,n,r,i=1,a=1;typeof e!="function"&&(e=Zt(e==null?1:+e));function o(){for(var u,c=t.length,f,d,h,p,m,g,y=0;y<a;++y)for(f=s1(t,LP,PP).visitAfter(l),u=0;u<c;++u)d=t[u],m=n[d.index],g=m*m,h=d.x+d.vx,p=d.y+d.vy,f.visit(v);function v(b,w,A,E,x){var k=b.data,_=b.r,F=m+_;if(k){if(k.index>d.index){var $=h-k.x-k.vx,R=p-k.y-k.vy,C=$*$+R*R;C<F*F&&($===0&&($=ta(r),C+=$*$),R===0&&(R=ta(r),C+=R*R),C=(F-(C=Math.sqrt(C)))/C*i,d.vx+=($*=C)*(F=(_*=_)/(g+_)),d.vy+=(R*=C)*F,k.vx-=$*(F=1-F),k.vy-=R*F)}return}return w>h+F||E<h-F||A>p+F||x<p-F}}function l(u){if(u.data)return u.r=n[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function s(){if(t){var u,c=t.length,f;for(n=Array(c),u=0;u<c;++u)f=t[u],n[f.index]=+e(f,u,t)}}return o.initialize=function(u,c){t=u,r=c,s()},o.iterations=function(u){return arguments.length?(a=+u,o):a},o.strength=function(u){return arguments.length?(i=+u,o):i},o.radius=function(u){return arguments.length?(e=typeof u=="function"?u:Zt(+u),s(),o):e},o}function jP(e){return e.index}function eF(e,t){var n=e.get(t);if(!n)throw Error("node not found: "+t);return n}function qP(e){var t=jP,n=f,r,i=Zt(30),a,o,l,s,u,c=1;e??(e=[]);function f(g){return 1/Math.min(l[g.source.index],l[g.target.index])}function d(g){for(var y=0,v=e.length;y<c;++y)for(var b=0,w,A,E,x,k,_,F;b<v;++b)w=e[b],A=w.source,E=w.target,x=E.x+E.vx-A.x-A.vx||ta(u),k=E.y+E.vy-A.y-A.vy||ta(u),_=Math.sqrt(x*x+k*k),_=(_-a[b])/_*g*r[b],x*=_,k*=_,E.vx-=x*(F=s[b]),E.vy-=k*F,A.vx+=x*(F=1-F),A.vy+=k*F}function h(){if(o){var g,y=o.length,v=e.length,b=new Map(o.map((A,E)=>[t(A,E,o),A])),w;for(g=0,l=Array(y);g<v;++g)w=e[g],w.index=g,typeof w.source!="object"&&(w.source=eF(b,w.source)),typeof w.target!="object"&&(w.target=eF(b,w.target)),l[w.source.index]=(l[w.source.index]||0)+1,l[w.target.index]=(l[w.target.index]||0)+1;for(g=0,s=Array(v);g<v;++g)w=e[g],s[g]=l[w.source.index]/(l[w.source.index]+l[w.target.index]);r=Array(v),p(),a=Array(v),m()}}function p(){if(o)for(var g=0,y=e.length;g<y;++g)r[g]=+n(e[g],g,e)}function m(){if(o)for(var g=0,y=e.length;g<y;++g)a[g]=+i(e[g],g,e)}return d.initialize=function(g,y){o=g,u=y,h()},d.links=function(g){return arguments.length?(e=g,h(),d):e},d.id=function(g){return arguments.length?(t=g,d):t},d.iterations=function(g){return arguments.length?(c=+g,d):c},d.strength=function(g){return arguments.length?(n=typeof g=="function"?g:Zt(+g),p(),d):n},d.distance=function(g){return arguments.length?(i=typeof g=="function"?g:Zt(+g),m(),d):i},d}var UP=1664525,WP=1013904223,tF=4294967296;function GP(){let e=1;return()=>(e=(UP*e+WP)%tF)/tF}function HP(e){return e.x}function VP(e){return e.y}var XP=10,YP=Math.PI*(3-Math.sqrt(5));function JP(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,l=new Map,s=b7(f),u=p7("tick","end"),c=GP();e??(e=[]);function f(){d(),u.call("tick",t),n<r&&(s.stop(),u.call("end",t))}function d(m){var g,y=e.length,v;m===void 0&&(m=1);for(var b=0;b<m;++b)for(n+=(a-n)*i,l.forEach(function(w){w(n)}),g=0;g<y;++g)v=e[g],v.fx==null?v.x+=v.vx*=o:(v.x=v.fx,v.vx=0),v.fy==null?v.y+=v.vy*=o:(v.y=v.fy,v.vy=0);return t}function h(){for(var m=0,g=e.length,y;m<g;++m){if(y=e[m],y.index=m,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var v=XP*Math.sqrt(.5+m),b=m*YP;y.x=v*Math.cos(b),y.y=v*Math.sin(b)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function p(m){return m.initialize&&m.initialize(e,c),m}return h(),t={tick:d,restart:function(){return s.restart(f),t},stop:function(){return s.stop(),t},nodes:function(m){return arguments.length?(e=m,h(),l.forEach(p),t):e},alpha:function(m){return arguments.length?(n=+m,t):n},alphaMin:function(m){return arguments.length?(r=+m,t):r},alphaDecay:function(m){return arguments.length?(i=+m,t):+i},alphaTarget:function(m){return arguments.length?(a=+m,t):a},velocityDecay:function(m){return arguments.length?(o=1-m,t):1-o},randomSource:function(m){return arguments.length?(c=m,l.forEach(p),t):c},force:function(m,g){return arguments.length>1?(g==null?l.delete(m):l.set(m,p(g)),t):l.get(m)},find:function(m,g,y){var v=0,b=e.length,w,A,E,x,k;for(y==null?y=1/0:y*=y,v=0;v<b;++v)x=e[v],w=m-x.x,A=g-x.y,E=w*w+A*A,E<y&&(k=x,y=E);return k},on:function(m,g){return arguments.length>1?(u.on(m,g),t):u.on(m)}}}function QP(){var e,t,n,r,i=Zt(-30),a,o=1,l=1/0,s=.81;function u(h){var p,m=e.length,g=s1(e,HP,VP).visitAfter(f);for(r=h,p=0;p<m;++p)t=e[p],g.visit(d)}function c(){if(e){var h,p=e.length,m;for(a=Array(p),h=0;h<p;++h)m=e[h],a[m.index]=+i(m,h,e)}}function f(h){var p=0,m,g,y=0,v,b,w;if(h.length){for(v=b=w=0;w<4;++w)(m=h[w])&&(g=Math.abs(m.value))&&(p+=m.value,y+=g,v+=g*m.x,b+=g*m.y);h.x=v/y,h.y=b/y}else{m=h,m.x=m.data.x,m.y=m.data.y;do p+=a[m.data.index];while(m=m.next)}h.value=p}function d(h,p,m,g){if(!h.value)return!0;var y=h.x-t.x,v=h.y-t.y,b=g-p,w=y*y+v*v;if(b*b/s<w)return w<l&&(y===0&&(y=ta(n),w+=y*y),v===0&&(v=ta(n),w+=v*v),w<o&&(w=Math.sqrt(o*w)),t.vx+=y*h.value*r/w,t.vy+=v*h.value*r/w),!0;if(!(h.length||w>=l)){(h.data!==t||h.next)&&(y===0&&(y=ta(n),w+=y*y),v===0&&(v=ta(n),w+=v*v),w<o&&(w=Math.sqrt(o*w)));do h.data!==t&&(b=a[h.data.index]*r/w,t.vx+=y*b,t.vy+=v*b);while(h=h.next)}}return u.initialize=function(h,p){e=h,n=p,c()},u.strength=function(h){return arguments.length?(i=typeof h=="function"?h:Zt(+h),c(),u):i},u.distanceMin=function(h){return arguments.length?(o=h*h,u):Math.sqrt(o)},u.distanceMax=function(h){return arguments.length?(l=h*h,u):Math.sqrt(l)},u.theta=function(h){return arguments.length?(s=h*h,u):Math.sqrt(s)},u}function KP(e){var t=Zt(.1),n,r,i;typeof e!="function"&&(e=Zt(e==null?0:+e));function a(l){for(var s=0,u=n.length,c;s<u;++s)c=n[s],c.vx+=(i[s]-c.x)*r[s]*l}function o(){if(n){var l,s=n.length;for(r=Array(s),i=Array(s),l=0;l<s;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Zt(+l),o(),a):t},a.x=function(l){return arguments.length?(e=typeof l=="function"?l:Zt(+l),o(),a):e},a}function ZP(e){var t=Zt(.1),n,r,i;typeof e!="function"&&(e=Zt(e==null?0:+e));function a(l){for(var s=0,u=n.length,c;s<u;++s)c=n[s],c.vy+=(i[s]-c.y)*r[s]*l}function o(){if(n){var l,s=n.length;for(r=Array(s),i=Array(s),l=0;l<s;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Zt(+l),o(),a):t},a.y=function(l){return arguments.length?(e=typeof l=="function"?l:Zt(+l),o(),a):e},a}var eI=sn({force:()=>f1}),nF={center:wP,collide:IP,nbody:QP,link:qP,x:KP,y:ZP},Vs="forces",c1=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],tI=["static","iterations"],rF=["x","y","vx","vy"];function f1(e){O.call(this,null,e)}f1.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:rF}]},G(f1,O,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(c1),a=e.iterations||300;if(n?(r&&(t.modifies("index"),n.nodes(t.source)),(i||t.changed(t.MOD))&&iF(n,e,0,t)):(this.value=n=rI(t.source,e),n.on("tick",nI(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies("index")),i||r||e.modified(tI)||t.changed()&&e.restart){if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-n.alphaMin()**(1/a)),e.static)for(n.stop();--a>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let l=this._argops,s=0,u=l.length,c;s<u;++s)if(c=l[s],!(c.name!==Vs||c.op._argval.force!=="link")){for(var r=c.op._argops,i=0,a=r.length,o;i<a;++i)if(r[i].name==="links"&&(o=r[i].op.source)){n.pulse(o,n.changeset().reflow());break}}return t.reflow(e.modified()).modifies(rF)}});function nI(e,t){return()=>e.touch(t).run()}function rI(e,t){let n=JP(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),iF(n,t,!0).on("end",()=>a=!0)}function iF(e,t,n,r){var i=ie(t.forces),a,o,l,s;for(a=0,o=c1.length;a<o;++a)l=c1[a],l!==Vs&&t.modified(l)&&e[l](t[l]);for(a=0,o=i.length;a<o;++a)s=Vs+a,l=n||t.modified(Vs,a)?aI(i[a]):r&&iI(i[a],r)?e.force(s):null,l&&e.force(s,l);for(o=e.numForces||0;a<o;++a)e.force(Vs+a,null);return e.numForces=i.length,e}function iI(e,t){var n,r;for(n in e)if(ge(r=e[n])&&t.modified(It(r)))return 1;return 0}function aI(e){var t,n;for(n in ue(nF,e.force)||T("Unrecognized force: "+e.force),t=nF[e.force](),e)ge(t[n])&&oI(t[n],e[n],e);return t}function oI(e,t,n){e(ge(t)?r=>t(r,n):t)}function lI(e,t){return e.parent===t.parent?1:2}function sI(e){return e.reduce(uI,0)/e.length}function uI(e,t){return e+t.x}function cI(e){return 1+e.reduce(fI,0)}function fI(e,t){return Math.max(e,t.y)}function dI(e){for(var t;t=e.children;)e=t[0];return e}function hI(e){for(var t;t=e.children;)e=t[t.length-1];return e}function pI(){var e=lI,t=1,n=1,r=!1;function i(a){var o,l=0;a.eachAfter(function(d){var h=d.children;h?(d.x=sI(h),d.y=cI(h)):(d.x=o?l+=e(d,o):0,d.y=0,o=d)});var s=dI(a),u=hI(a),c=s.x-e(s,u)/2,f=u.x+e(u,s)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*t,d.y=(a.y-d.y)*n}:function(d){d.x=(d.x-c)/(f-c)*t,d.y=(1-(a.y?d.y/a.y:1))*n})}return i.separation=function(a){return arguments.length?(e=a,i):e},i.size=function(a){return arguments.length?(r=!1,t=+a[0],n=+a[1],i):r?null:[t,n]},i.nodeSize=function(a){return arguments.length?(r=!0,t=+a[0],n=+a[1],i):r?[t,n]:null},i}var mI=1664525,gI=1013904223,aF=4294967296;function yI(){let e=1;return()=>(e=(mI*e+gI)%aF)/aF}function vI(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function bI(e,t){let n=e.length,r,i;for(;n;)i=t()*n--|0,r=e[n],e[n]=e[i],e[i]=r;return e}function xI(e,t){for(var n=0,r=(e=bI(Array.from(e),t)).length,i=[],a,o;n<r;)a=e[n],o&&oF(o,a)?++n:(o=AI(i=wI(i,a)),n=0);return o}function wI(e,t){var n,r;if(d1(t,e))return[t];for(n=0;n<e.length;++n)if(ad(t,e[n])&&d1(Xs(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(ad(Xs(e[n],e[r]),t)&&ad(Xs(e[n],t),e[r])&&ad(Xs(e[r],t),e[n])&&d1(lF(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}function ad(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function oF(e,t){var n=e.r-t.r+Math.max(e.r,t.r,1)*1e-9,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function d1(e,t){for(var n=0;n<t.length;++n)if(!oF(e,t[n]))return!1;return!0}function AI(e){switch(e.length){case 1:return EI(e[0]);case 2:return Xs(e[0],e[1]);case 3:return lF(e[0],e[1],e[2])}}function EI(e){return{x:e.x,y:e.y,r:e.r}}function Xs(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,l=t.r,s=a-n,u=o-r,c=l-i,f=Math.sqrt(s*s+u*u);return{x:(n+a+s/f*c)/2,y:(r+o+u/f*c)/2,r:(f+i+l)/2}}function lF(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,l=t.y,s=t.r,u=n.x,c=n.y,f=n.r,d=r-o,h=r-u,p=i-l,m=i-c,g=s-a,y=f-a,v=r*r+i*i-a*a,b=v-o*o-l*l+s*s,w=v-u*u-c*c+f*f,A=h*p-d*m,E=(p*w-m*b)/(A*2)-r,x=(m*g-p*y)/A,k=(h*b-d*w)/(A*2)-i,_=(d*y-h*g)/A,F=x*x+_*_-1,$=2*(a+E*x+k*_),R=E*E+k*k-a*a,C=-(Math.abs(F)>1e-6?($+Math.sqrt($*$-4*F*R))/(2*F):R/$);return{x:r+E+x*C,y:i+k+_*C,r:C}}function sF(e,t,n){var r=e.x-t.x,i,a,o=e.y-t.y,l,s,u=r*r+o*o;u?(a=t.r+n.r,a*=a,s=e.r+n.r,s*=s,a>s?(i=(u+s-a)/(2*u),l=Math.sqrt(Math.max(0,s/u-i*i)),n.x=e.x-i*r-l*o,n.y=e.y-i*o+l*r):(i=(u+a-s)/(2*u),l=Math.sqrt(Math.max(0,a/u-i*i)),n.x=t.x+i*r-l*o,n.y=t.y+i*o+l*r)):(n.x=t.x+n.r,n.y=t.y)}function uF(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function cF(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,a=(t.y*n.r+n.y*t.r)/r;return i*i+a*a}function od(e){this._=e,this.next=null,this.previous=null}function kI(e,t){if(!(a=(e=vI(e)).length))return 0;var n=e[0],r,i,a,o,l,s,u,c,f,d;if(n.x=0,n.y=0,!(a>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;sF(r,n,i=e[2]),n=new od(n),r=new od(r),i=new od(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(s=3;s<a;++s){sF(n._,r._,i=e[s]),i=new od(i),u=r.next,c=n.previous,f=r._.r,d=n._.r;do if(f<=d){if(uF(u._,i._)){r=u,n.next=r,r.previous=n,--s;continue e}f+=u._.r,u=u.next}else{if(uF(c._,i._)){n=c,n.next=r,r.previous=n,--s;continue e}d+=c._.r,c=c.previous}while(u!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=cF(n);(i=i.next)!==r;)(l=cF(i))<o&&(n=i,o=l);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=xI(n,t),s=0;s<a;++s)n=e[s],n.x-=i.x,n.y-=i.y;return i.r}function _I(e){return Math.sqrt(e.value)}function DI(){var e=null,t=1,n=1,r=sw;function i(a){let o=yI();return a.x=t/2,a.y=n/2,e?a.eachBefore(fF(e)).eachAfter(h1(r,.5,o)).eachBefore(dF(1)):a.eachBefore(fF(_I)).eachAfter(h1(sw,1,o)).eachAfter(h1(r,a.r/Math.min(t,n),o)).eachBefore(dF(Math.min(t,n)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(e=gc(a),i):e},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(r=typeof a=="function"?a:X7(+a),i):r},i}function fF(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function h1(e,t,n){return function(r){if(i=r.children){var i,a,o=i.length,l=e(r)*t||0,s;if(l)for(a=0;a<o;++a)i[a].r+=l;if(s=kI(i,n),l)for(a=0;a<o;++a)i[a].r-=l;r.r=s+l}}}function dF(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function FI(){var e=1,t=1,n=0,r=!1;function i(o){var l=o.height+1;return o.x0=o.y0=n,o.x1=e,o.y1=t/l,o.eachBefore(a(t,l)),r&&o.eachBefore(K7),o}function a(o,l){return function(s){s.children&&mc(s,s.x0,o*(s.depth+1)/l,s.x1,o*(s.depth+2)/l);var u=s.x0,c=s.y0,f=s.x1-n,d=s.y1-n;f<u&&(u=f=(u+f)/2),d<c&&(c=d=(c+d)/2),s.x0=u,s.y0=c,s.x1=f,s.y1=d}}return i.round=function(o){return arguments.length?(r=!!o,i):r},i.size=function(o){return arguments.length?(e=+o[0],t=+o[1],i):[e,t]},i.padding=function(o){return arguments.length?(n=+o,i):n},i}var CI={depth:-1},hF={},p1={};function $I(e){return e.id}function SI(e){return e.parentId}function pF(){var e=$I,t=SI,n;function r(i){var a=Array.from(i),o=e,l=t,s,u,c,f,d,h,p,m,g=new Map;if(n!=null){let y=a.map((w,A)=>MI(n(w,A,i))),v=y.map(mF),b=new Set(y).add("");for(let w of v)b.has(w)||(b.add(w),y.push(w),v.push(mF(w)),a.push(p1));o=(w,A)=>y[A],l=(w,A)=>v[A]}for(c=0,s=a.length;c<s;++c)u=a[c],h=a[c]=new uw(u),(p=o(u,c,i))!=null&&(p+="")&&(m=h.id=p,g.set(m,g.has(m)?hF:h)),(p=l(u,c,i))!=null&&(p+="")&&(h.parent=p);for(c=0;c<s;++c)if(h=a[c],p=h.parent){if(d=g.get(p),!d)throw Error("missing: "+p);if(d===hF)throw Error("ambiguous: "+p);d.children?d.children.push(h):d.children=[h],h.parent=d}else{if(f)throw Error("multiple roots");f=h}if(!f)throw Error("no root");if(n!=null){for(;f.data===p1&&f.children.length===1;)f=f.children[0],--s;for(let y=a.length-1;y>=0&&(h=a[y],h.data===p1);--y)h.data=null}if(f.parent=CI,f.eachBefore(function(y){y.depth=y.parent.depth+1,--s}).eachBefore(H7),f.parent=null,s>0)throw Error("cycle");return f}return r.id=function(i){return arguments.length?(e=gc(i),r):e},r.parentId=function(i){return arguments.length?(t=gc(i),r):t},r.path=function(i){return arguments.length?(n=gc(i),r):n},r}function MI(e){e=`${e}`;let t=e.length;return m1(e,t-1)&&!m1(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function mF(e){let t=e.length;if(t<2)return"";for(;--t>1&&!m1(e,t););return e.slice(0,t)}function m1(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function OI(e,t){return e.parent===t.parent?1:2}function g1(e){var t=e.children;return t?t[0]:e.t}function y1(e){var t=e.children;return t?t[t.length-1]:e.t}function BI(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function zI(e){for(var t=0,n=0,r=e.children,i=r.length,a;--i>=0;)a=r[i],a.z+=t,a.m+=t,t+=a.s+(n+=a.c)}function NI(e,t,n){return e.a.parent===t.parent?e.a:n}function ld(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}ld.prototype=Object.create(uw.prototype);function RI(e){for(var t=new ld(e,0),n,r=[t],i,a,o,l;n=r.pop();)if(a=n._.children)for(n.children=Array(l=a.length),o=l-1;o>=0;--o)r.push(i=n.children[o]=new ld(a[o],o)),i.parent=n;return(t.parent=new ld(null,0)).children=[t],t}function TI(){var e=OI,t=1,n=1,r=null;function i(u){var c=RI(u);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)u.eachBefore(s);else{var f=u,d=u,h=u;u.eachBefore(function(v){v.x<f.x&&(f=v),v.x>d.x&&(d=v),v.depth>h.depth&&(h=v)});var p=f===d?1:e(f,d)/2,m=p-f.x,g=t/(d.x+p+m),y=n/(h.depth||1);u.eachBefore(function(v){v.x=(v.x+m)*g,v.y=v.depth*y})}return u}function a(u){var c=u.children,f=u.parent.children,d=u.i?f[u.i-1]:null;if(c){zI(u);var h=(c[0].z+c[c.length-1].z)/2;d?(u.z=d.z+e(u._,d._),u.m=u.z-h):u.z=h}else d&&(u.z=d.z+e(u._,d._));u.parent.A=l(u,d,u.parent.A||f[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function l(u,c,f){if(c){for(var d=u,h=u,p=c,m=d.parent.children[0],g=d.m,y=h.m,v=p.m,b=m.m,w;p=y1(p),d=g1(d),p&&d;)m=g1(m),h=y1(h),h.a=u,w=p.z+v-d.z-g+e(p._,d._),w>0&&(BI(NI(p,u,f),u,w),g+=w,y+=w),v+=p.m,g+=d.m,b+=m.m,y+=h.m;p&&!y1(h)&&(h.t=p,h.m+=v-y),d&&!g1(m)&&(m.t=d,m.m+=g-b,f=u)}return f}function s(u){u.x*=t,u.y=u.depth*n}return i.separation=function(u){return arguments.length?(e=u,i):e},i.size=function(u){return arguments.length?(r=!1,t=+u[0],n=+u[1],i):r?null:[t,n]},i.nodeSize=function(u){return arguments.length?(r=!0,t=+u[0],n=+u[1],i):r?[t,n]:null},i}function LI(e,t,n,r,i){var a=e.children,o,l=a.length,s,u=Array(l+1);for(u[0]=s=o=0;o<l;++o)u[o+1]=s+=a[o].value;c(0,l,e.value,t,n,r,i);function c(f,d,h,p,m,g,y){if(f>=d-1){var v=a[f];v.x0=p,v.y0=m,v.x1=g,v.y1=y;return}for(var b=u[f],w=h/2+b,A=f+1,E=d-1;A<E;){var x=A+E>>>1;u[x]<w?A=x+1:E=x}w-u[A-1]<u[A]-w&&f+1<A&&--A;var k=u[A]-b,_=h-k;if(g-p>y-m){var F=h?(p*_+g*k)/h:g;c(f,A,k,p,m,F,y),c(A,d,_,F,m,g,y)}else{var $=h?(m*_+y*k)/h:y;c(f,A,k,p,m,g,$),c(A,d,_,p,$,g,y)}}}function PI(e,t,n,r,i){(e.depth&1?Hp:mc)(e,t,n,r,i)}var II=(function e(t){function n(r,i,a,o,l){if((s=r._squarify)&&s.ratio===t)for(var s,u,c,f,d=-1,h,p=s.length,m=r.value;++d<p;){for(u=s[d],c=u.children,f=u.value=0,h=c.length;f<h;++f)u.value+=c[f].value;u.dice?mc(u,i,a,o,m?a+=(l-a)*u.value/m:l):Hp(u,i,a,m?i+=(o-i)*u.value/m:o,l),m-=u.value}else r._squarify=s=Q7(t,r,i,a,o,l),s.ratio=t}return n.ratio=function(r){return e((r=+r)>1?r:1)},n})(Y7),jI=sn({nest:()=>b1,pack:()=>w1,partition:()=>E1,stratify:()=>k1,tree:()=>D1,treelinks:()=>F1,treemap:()=>$1});function v1(e,t,n){let r={};return e.each(i=>{let a=i.data;n(a)&&(r[t(a)]=i)}),e.lookup=r,e}function b1(e){O.call(this,null,e)}b1.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};var qI=e=>e.values;G(b1,O,{transform(e,t){t.source||T("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(o=>{o.children&&bc(o.data)&&i.rem.push(o.data)}),this.value=a=J7({values:ie(e.keys).reduce((o,l)=>(o.key(l),o),UI()).entries(i.source)},qI),n&&a.each(o=>{o.children&&(o=Ce(o.data),i.add.push(o),i.source.push(o))}),v1(a,Z,Z)),i.source.root=a,i}});function UI(){let e=[],t={entries:i=>r(n(i,0),0),key:i=>(e.push(i),t)};function n(i,a){if(a>=e.length)return i;let o=i.length,l=e[a++],s={},u={},c=-1,f,d,h;for(;++c<o;)f=l(d=i[c])+"",(h=s[f])?h.push(d):s[f]=[d];for(f in s)u[f]=n(s[f],a);return u}function r(i,a){if(++a>e.length)return i;let o=[];for(let l in i)o.push({key:l,values:r(i[l],a)});return o}return t}function ci(e){O.call(this,null,e)}var WI=(e,t)=>e.parent===t.parent?1:2;G(ci,O,{transform(e,t){(!t.source||!t.source.root)&&T(this.constructor.name+" transform requires a backing tree data source.");let n=this.layout(e.method),r=this.fields,i=t.source.root,a=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(Ca(e.sort,o=>o.data)),GI(n,this.params,e),n.separation&&n.separation(e.separation===!1?Zl:WI);try{this.value=n(i)}catch(o){T(o)}return i.each(o=>HI(o,r,a)),t.reflow(e.modified()).modifies(a).modifies("leaf")}});function GI(e,t,n){for(let r,i=0,a=t.length;i<a;++i)r=t[i],r in n&&e[r](n[r])}function HI(e,t,n){let r=e.data,i=t.length-1;for(let a=0;a<i;++a)r[n[a]]=e[t[a]];r[n[i]]=e.children?e.children.length:0}var x1=["x","y","r","depth","children"];function w1(e){ci.call(this,e)}w1.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:x1.length,default:x1}]},G(w1,ci,{layout:DI,params:["radius","size","padding"],fields:x1});var A1=["x0","y0","x1","y1","depth","children"];function E1(e){ci.call(this,e)}E1.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:A1.length,default:A1}]},G(E1,ci,{layout:FI,params:["size","round","padding"],fields:A1});function k1(e){O.call(this,null,e)}k1.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},G(k1,O,{transform(e,t){t.source||T("Stratify transform requires an upstream data source.");let n=this.value,r=e.modified(),i=t.fork(t.ALL).materialize(t.SOURCE),a=!n||r||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return i.source=i.source.slice(),a&&(n=i.source.length?v1(pF().id(e.key).parentId(e.parentKey)(i.source),e.key,Bn):v1(pF()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var gF={tidy:TI,cluster:pI},_1=["x","y","depth","children"];function D1(e){ci.call(this,e)}D1.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:_1.length,default:_1}]},G(D1,ci,{layout(e){let t=e||"tidy";if(ue(gF,t))return gF[t]();T("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:_1});function F1(e){O.call(this,[],e)}F1.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},G(F1,O,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||T("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,o=>a[Z(o)]=1),r.each(o=>{let l=o.data,s=o.parent&&o.parent.data;s&&a[Z(l)]&&a[Z(s)]&&i.add.push(Ce({source:s,target:l}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,o=>a[Z(o)]=1),n.forEach(o=>{(a[Z(o.source)]||a[Z(o.target)])&&i.mod.push(o)})),i}});var yF={binary:LI,dice:mc,slice:Hp,slicedice:PI,squarify:V7,resquarify:II},C1=["x0","y0","x1","y1","depth","children"];function $1(e){ci.call(this,e)}$1.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:C1.length,default:C1}]},G($1,ci,{layout(){let e=Z7();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{ue(yF,t)?e.tile(yF[t]):T("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:C1});var VI=sn({label:()=>P1}),S1=4278190080;function XI(e,t){let n=e.bitmap();return(t||[]).forEach(r=>n.set(e(r.boundary[0]),e(r.boundary[3]))),[n,void 0]}function YI(e,t,n,r,i){let a=e.width,o=e.height,l=r||i,s=Li(a,o).getContext("2d"),u=Li(a,o).getContext("2d"),c=l&&Li(a,o).getContext("2d");n.forEach(k=>sd(s,k,!1)),sd(u,t,!1),l&&sd(c,t,!0);let f=M1(s,a,o),d=M1(u,a,o),h=l&&M1(c,a,o),p=e.bitmap(),m=l&&e.bitmap(),g,y,v,b,w,A,E,x;for(y=0;y<o;++y)for(g=0;g<a;++g)w=y*a+g,A=f[w]&S1,x=d[w]&S1,E=l&&h[w]&S1,(A||E||x)&&(v=e(g),b=e(y),!i&&(A||x)&&p.set(v,b),l&&(A||E)&&m.set(v,b));return[p,m]}function M1(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function sd(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r==="group"?t.forEach(i=>{i.items.forEach(a=>sd(e,a.items,n))}):An[r].draw(e,{items:n?t.map(JI):t})}function JI(e){let t=xc(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}var fi=5,en=31,Ys=32,na=new Uint32Array(Ys+1),ir=new Uint32Array(Ys+1);ir[0]=0,na[0]=~ir[0];for(let e=1;e<=Ys;++e)ir[e]=ir[e-1]<<1|1,na[e]=~ir[e];function QI(e,t){let n=new Uint32Array(~~((e*t+Ys)/Ys));function r(a,o){n[a]|=o}function i(a,o){n[a]&=o}return{array:n,get:(a,o)=>{let l=o*e+a;return n[l>>>fi]&1<<(l&en)},set:(a,o)=>{let l=o*e+a;r(l>>>fi,1<<(l&en))},clear:(a,o)=>{let l=o*e+a;i(l>>>fi,~(1<<(l&en)))},getRange:(a,o,l,s)=>{let u=s,c,f,d,h;for(;u>=o;--u)if(c=u*e+a,f=u*e+l,d=c>>>fi,h=f>>>fi,d===h){if(n[d]&na[c&en]&ir[(f&en)+1])return!0}else{if(n[d]&na[c&en]||n[h]&ir[(f&en)+1])return!0;for(let p=d+1;p<h;++p)if(n[p])return!0}return!1},setRange:(a,o,l,s)=>{let u,c,f,d,h;for(;o<=s;++o)if(u=o*e+a,c=o*e+l,f=u>>>fi,d=c>>>fi,f===d)r(f,na[u&en]&ir[(c&en)+1]);else for(r(f,na[u&en]),r(d,ir[(c&en)+1]),h=f+1;h<d;++h)r(h,4294967295)},clearRange:(a,o,l,s)=>{let u,c,f,d,h;for(;o<=s;++o)if(u=o*e+a,c=o*e+l,f=u>>>fi,d=c>>>fi,f===d)i(f,ir[u&en]|na[(c&en)+1]);else for(i(f,ir[u&en]),i(d,na[(c&en)+1]),h=f+1;h<d;++h)i(h,0)},outOfBounds:(a,o,l,s)=>a<0||o<0||s>=t||l>=e}}function KI(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),o=l=>~~((l+n)/r);return o.invert=l=>l*r-n,o.bitmap=()=>QI(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}function ZI(e,t,n,r){let i=e.width,a=e.height;return function(o){let l=o.datum.datum.items[r].items,s=l.length,u=o.datum.fontSize,c=wn.width(o.datum,o.datum.text),f=0,d,h,p,m,g,y,v;for(let b=0;b<s;++b)d=l[b].x,p=l[b].y,h=l[b].x2===void 0?d:l[b].x2,m=l[b].y2===void 0?p:l[b].y2,g=(d+h)/2,y=(p+m)/2,v=Math.abs(h-d+m-p),v>=f&&(f=v,o.x=g,o.y=y);return g=c/2,y=u/2,d=o.x-g,h=o.x+g,p=o.y-y,m=o.y+y,o.align="center",d<0&&h<=i?o.align="left":0<=d&&i<h&&(o.align="right"),o.baseline="middle",p<0&&m<=a?o.baseline="top":0<=p&&a<m&&(o.baseline="bottom"),!0}}function ud(e,t,n,r,i,a){let o=n/2;return e-o<0||e+o>i||t-(o=r/2)<0||t+o>a}function ra(e,t,n,r,i,a,o,l){let s=i*a/(r*2),u=e(t-s),c=e(t+s),f=e(n-(a/=2)),d=e(n+a);return o.outOfBounds(u,f,c,d)||o.getRange(u,f,c,d)||l&&l.getRange(u,f,c,d)}function ej(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1];function s(u,c,f,d,h){let p=e.invert(u),m=e.invert(c),g=f,y=a,v;if(!ud(p,m,d,h,i,a)&&!ra(e,p,m,h,d,g,o,l)&&!ra(e,p,m,h,d,h,o,null)){for(;y-g>=1;)v=(g+y)/2,ra(e,p,m,h,d,v,o,l)?y=v:g=v;if(g>f)return[p,m,g,!0]}}return function(u){let c=u.datum.datum.items[r].items,f=c.length,d=u.datum.fontSize,h=wn.width(u.datum,u.datum.text),p=n?d:0,m=!1,g=!1,y=0,v,b,w,A,E,x,k,_,F,$,R,C,M,D,S,L,U;for(let H=0;H<f;++H){for(v=c[H].x,w=c[H].y,b=c[H].x2===void 0?v:c[H].x2,A=c[H].y2===void 0?w:c[H].y2,v>b&&(U=v,v=b,b=U),w>A&&(U=w,w=A,A=U),F=e(v),R=e(b),$=~~((F+R)/2),C=e(w),D=e(A),M=~~((C+D)/2),k=$;k>=F;--k)for(_=M;_>=C;--_)L=s(k,_,p,h,d),L&&([u.x,u.y,p,m]=L);for(k=$;k<=R;++k)for(_=M;_<=D;++_)L=s(k,_,p,h,d),L&&([u.x,u.y,p,m]=L);!m&&!n&&(S=Math.abs(b-v+A-w),E=(v+b)/2,x=(w+A)/2,S>=y&&!ud(E,x,h,d,i,a)&&!ra(e,E,x,d,h,d,o,null)&&(y=S,u.x=E,u.y=x,g=!0))}return m||g?(E=h/2,x=d/2,o.setRange(e(u.x-E),e(u.y-x),e(u.x+E),e(u.y+x)),u.align="center",u.baseline="middle",!0):!1}}var tj=[-1,-1,1,1],nj=[-1,1,-1,1];function rj(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],s=e.bitmap();return function(u){let c=u.datum.datum.items[r].items,f=c.length,d=u.datum.fontSize,h=wn.width(u.datum,u.datum.text),p=[],m=n?d:0,g=!1,y=!1,v=0,b,w,A,E,x,k,_,F,$,R,C,M;for(let D=0;D<f;++D){for(b=c[D].x,A=c[D].y,w=c[D].x2===void 0?b:c[D].x2,E=c[D].y2===void 0?A:c[D].y2,p.push([e((b+w)/2),e((A+E)/2)]);p.length;)if([_,F]=p.pop(),!(o.get(_,F)||l.get(_,F)||s.get(_,F))){s.set(_,F);for(let S=0;S<4;++S)x=_+tj[S],k=F+nj[S],s.outOfBounds(x,k,x,k)||p.push([x,k]);if(x=e.invert(_),k=e.invert(F),$=m,R=a,!ud(x,k,h,d,i,a)&&!ra(e,x,k,d,h,$,o,l)&&!ra(e,x,k,d,h,d,o,null)){for(;R-$>=1;)C=($+R)/2,ra(e,x,k,d,h,C,o,l)?R=C:$=C;$>m&&(u.x=x,u.y=k,m=$,g=!0)}}!g&&!n&&(M=Math.abs(w-b+E-A),x=(b+w)/2,k=(A+E)/2,M>=v&&!ud(x,k,h,d,i,a)&&!ra(e,x,k,d,h,d,o,null)&&(v=M,u.x=x,u.y=k,y=!0))}return g||y?(x=h/2,k=d/2,o.setRange(e(u.x-x),e(u.y-k),e(u.x+x),e(u.y+k)),u.align="center",u.baseline="middle",!0):!1}}var ij=["right","center","left"],aj=["bottom","middle","top"];function oj(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],s=r.length;return function(u){let c=u.boundary,f=u.datum.fontSize;if(c[2]<0||c[5]<0||c[0]>i||c[3]>a)return!1;let d=u.textWidth??0,h,p,m,g,y,v,b,w,A,E,x,k,_,F,$;for(let R=0;R<s;++R){if(h=(n[R]&3)-1,p=(n[R]>>>2&3)-1,m=h===0&&p===0||r[R]<0,g=h&&p?Math.SQRT1_2:1,y=r[R]<0?-1:1,v=c[1+h]+r[R]*h*g,x=c[4+p]+y*f*p/2+r[R]*p*g,w=x-f/2,A=x+f/2,k=e(v),F=e(w),$=e(A),!d)if(vF(k,k,F,$,o,l,v,v,w,A,c,m))d=wn.width(u.datum,u.datum.text);else continue;if(E=v+y*d*h/2,v=E-d/2,b=E+d/2,k=e(v),_=e(b),vF(k,_,F,$,o,l,v,b,w,A,c,m))return u.x=h?h*y<0?b:v:E,u.y=p?p*y<0?A:w:x,u.align=ij[h*y+1],u.baseline=aj[p*y+1],o.setRange(k,F,_,$),!0}return!1}}function vF(e,t,n,r,i,a,o,l,s,u,c,f){return!(i.outOfBounds(e,n,t,r)||(f&&a||i).getRange(e,n,t,r))}var O1=0,B1=4,z1=8,N1=0,R1=1,T1=2,lj={"top-left":O1+N1,top:O1+R1,"top-right":O1+T1,left:B1+N1,middle:B1+R1,right:B1+T1,"bottom-left":z1+N1,bottom:z1+R1,"bottom-right":z1+T1},sj={naive:ZI,"reduced-search":ej,floodfill:rj};function uj(e,t,n,r,i,a,o,l,s,u,c){if(!e.length)return e;let f=Math.max(r.length,i.length),d=cj(r,f),h=fj(i,f),p=dj(e[0].datum),m=p==="group"&&e[0].datum.items[s].marktype,g=m==="area",y=hj(p,m,l,s),v=u===null||u===1/0,b=g&&c==="naive",w=-1,A=-1,E=e.map(F=>{let $=v?wn.width(F,F.text):void 0;return w=Math.max(w,$),A=Math.max(A,F.fontSize),{datum:F,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(F),textWidth:$}});u=u===null||u===1/0?Math.max(w,A)+Math.max(...r):u;let x=KI(t[0],t[1],u),k;if(!b){n&&E.sort((R,C)=>n(R.datum,C.datum));let F=!1;for(let R=0;R<h.length&&!F;++R)F=h[R]===5||d[R]<0;let $=(p&&o||g)&&e.map(R=>R.datum);k=a.length||$?YI(x,$||[],a,F,g):XI(x,o&&E)}let _=g?sj[c](x,k,o,s):oj(x,k,h,d);return E.forEach(F=>F.opacity=+_(F)),E}function cj(e,t){let n=new Float64Array(t),r=e.length;for(let i=0;i<r;++i)n[i]=e[i]||0;for(let i=r;i<t;++i)n[i]=n[r-1];return n}function fj(e,t){let n=new Int8Array(t),r=e.length;for(let i=0;i<r;++i)n[i]|=lj[e[i]];for(let i=r;i<t;++i)n[i]=n[r-1];return n}function dj(e){return e&&e.mark&&e.mark.marktype}function hj(e,t,n,r){let i=a=>[a.x,a.x,a.x,a.y,a.y,a.y];return e?e==="line"||e==="area"?a=>i(a.datum):t==="line"?a=>{let o=a.datum.items[r].items;return i(o.length?o[n==="start"?0:o.length-1]:{x:NaN,y:NaN})}:a=>{let o=a.datum.bounds;return[o.x1,(o.x1+o.x2)/2,o.x2,o.y1,(o.y1+o.y2)/2,o.y2]}:i}var L1=["x","y","opacity","align","baseline"],bF=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function P1(e){O.call(this,null,e)}P1.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:bF},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:L1.length,default:L1}]},G(P1,O,{transform(e,t){function n(a){let o=e[a];return ge(o)&&t.modified(o.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n("sort")))return;(!e.size||e.size.length!==2)&&T("Size parameter should be specified as a [width, height] array.");let i=e.as||L1;return uj(t.materialize(t.SOURCE).source||[],e.size,e.sort,ie(e.offset==null?1:e.offset),ie(e.anchor||bF),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||"end",e.markIndex||0,e.padding===void 0?0:e.padding,e.method||"naive").forEach(a=>{let o=a.datum;o[i[0]]=a.x,o[i[1]]=a.y,o[i[2]]=a.opacity,o[i[3]]=a.align,o[i[4]]=a.baseline}),t.reflow(r).modifies(i)}});var pj=sn({loess:()=>I1,regression:()=>q1});function xF(e,t){var n=[],r=function(c){return c(l)},i,a,o,l,s,u;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],s=t.map(r),u=i[s],u||(i[s]=u=[],u.dims=s,n.push(u)),u.push(l);return n}function I1(e){O.call(this,null,e)}I1.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},G(I1,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=xF(r,e.groupby),a=(e.groupby||[]).map(Qe),o=a.length,l=e.as||[Qe(e.x),Qe(e.y)],s=[];i.forEach(u=>{Ww(u,e.x,e.y,e.bandwidth||.3).forEach(c=>{let f={};for(let d=0;d<o;++d)f[a[d]]=u.dims[d];f[l[0]]=c[0],f[l[1]]=c[1],s.push(Ce(f))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});var j1={constant:hm,linear:pm,log:Lw,exp:Pw,pow:Iw,quad:mm,poly:jw},mj=(e,t)=>e==="poly"?t:e==="quad"?2:1;function q1(e){O.call(this,null,e)}q1.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(j1)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},G(q1,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=xF(r,e.groupby),a=(e.groupby||[]).map(Qe),o=e.method||"linear",l=e.order==null?3:e.order,s=mj(o,l),u=e.as||[Qe(e.x),Qe(e.y)],c=j1[o],f=[],d=e.extent;ue(j1,o)||T("Invalid regression method: "+o),d!=null&&o==="log"&&d[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach(h=>{if(h.length<=s){t.dataflow.warn("Skipping regression with more parameters than data points.");return}let p=c(h,e.x,e.y,l);if(e.params){f.push(Ce({keys:h.dims,coef:p.coef,rSquared:p.rSquared}));return}let m=d||Dr(h,e.x),g=y=>{let v={};for(let b=0;b<a.length;++b)v[a[b]]=h.dims[b];v[u[0]]=y[0],v[u[1]]=y[1],f.push(Ce(v))};o==="linear"||o==="constant"?m.forEach(y=>g([y,p.predict(y)])):Sc(p.predict,m,25,200).forEach(g)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});const $e=11102230246251565e-32,Bt=134217729;(3+8*$e)*$e;function U1(e,t,n,r,i){let a,o,l,s,u=t[0],c=r[0],f=0,d=0;c>u==c>-u?(a=u,u=t[++f]):(a=c,c=r[++d]);let h=0;if(f<e&&d<n)for(c>u==c>-u?(o=u+a,l=a-(o-u),u=t[++f]):(o=c+a,l=a-(o-c),c=r[++d]),a=o,l!==0&&(i[h++]=l);f<e&&d<n;)c>u==c>-u?(o=a+u,s=o-a,l=a-(o-s)+(u-s),u=t[++f]):(o=a+c,s=o-a,l=a-(o-s)+(c-s),c=r[++d]),a=o,l!==0&&(i[h++]=l);for(;f<e;)o=a+u,s=o-a,l=a-(o-s)+(u-s),u=t[++f],a=o,l!==0&&(i[h++]=l);for(;d<n;)o=a+c,s=o-a,l=a-(o-s)+(c-s),c=r[++d],a=o,l!==0&&(i[h++]=l);return(a!==0||h===0)&&(i[h++]=a),h}function gj(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function P(e){return new Float64Array(e)}var yj=(3+16*$e)*$e,vj=(2+12*$e)*$e,bj=(9+64*$e)*$e*$e,sl=P(4),wF=P(8),AF=P(12),EF=P(16),tn=P(4);function xj(e,t,n,r,i,a,o){let l,s,u,c,f,d,h,p,m,g,y,v,b,w,A,E,x,k,_=e-i,F=n-i,$=t-a,R=r-a;w=_*R,d=Bt*_,h=d-(d-_),p=_-h,d=Bt*R,m=d-(d-R),g=R-m,A=p*g-(w-h*m-p*m-h*g),E=$*F,d=Bt*$,h=d-(d-$),p=$-h,d=Bt*F,m=d-(d-F),g=F-m,x=p*g-(E-h*m-p*m-h*g),y=A-x,f=A-y,sl[0]=A-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-E,f=b-y,sl[1]=b-(y+f)+(f-E),k=v+y,f=k-v,sl[2]=v-(k-f)+(y-f),sl[3]=k;let C=gj(4,sl),M=vj*o;if(C>=M||-C>=M||(f=e-_,l=e-(_+f)+(f-i),f=n-F,u=n-(F+f)+(f-i),f=t-$,s=t-($+f)+(f-a),f=r-R,c=r-(R+f)+(f-a),l===0&&s===0&&u===0&&c===0)||(M=bj*o+33306690738754706e-32*Math.abs(C),C+=_*c+R*l-($*u+F*s),C>=M||-C>=M))return C;w=l*R,d=Bt*l,h=d-(d-l),p=l-h,d=Bt*R,m=d-(d-R),g=R-m,A=p*g-(w-h*m-p*m-h*g),E=s*F,d=Bt*s,h=d-(d-s),p=s-h,d=Bt*F,m=d-(d-F),g=F-m,x=p*g-(E-h*m-p*m-h*g),y=A-x,f=A-y,tn[0]=A-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-E,f=b-y,tn[1]=b-(y+f)+(f-E),k=v+y,f=k-v,tn[2]=v-(k-f)+(y-f),tn[3]=k;let D=U1(4,sl,4,tn,wF);w=_*c,d=Bt*_,h=d-(d-_),p=_-h,d=Bt*c,m=d-(d-c),g=c-m,A=p*g-(w-h*m-p*m-h*g),E=$*u,d=Bt*$,h=d-(d-$),p=$-h,d=Bt*u,m=d-(d-u),g=u-m,x=p*g-(E-h*m-p*m-h*g),y=A-x,f=A-y,tn[0]=A-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-E,f=b-y,tn[1]=b-(y+f)+(f-E),k=v+y,f=k-v,tn[2]=v-(k-f)+(y-f),tn[3]=k;let S=U1(D,wF,4,tn,AF);return w=l*c,d=Bt*l,h=d-(d-l),p=l-h,d=Bt*c,m=d-(d-c),g=c-m,A=p*g-(w-h*m-p*m-h*g),E=s*u,d=Bt*s,h=d-(d-s),p=s-h,d=Bt*u,m=d-(d-u),g=u-m,x=p*g-(E-h*m-p*m-h*g),y=A-x,f=A-y,tn[0]=A-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-E,f=b-y,tn[1]=b-(y+f)+(f-E),k=v+y,f=k-v,tn[2]=v-(k-f)+(y-f),tn[3]=k,EF[U1(S,AF,4,tn,EF)-1]}function cd(e,t,n,r,i,a){let o=(t-a)*(n-i),l=(e-i)*(r-a),s=o-l,u=Math.abs(o+l);return Math.abs(s)>=yj*u?s:-xj(e,t,n,r,i,a,u)}(7+56*$e)*$e,(3+28*$e)*$e,(26+288*$e)*$e*$e,P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(8),P(8),P(8),P(4),P(8),P(8),P(8),P(12),P(192),P(192),(10+96*$e)*$e,(4+48*$e)*$e,(44+576*$e)*$e*$e,P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(8),P(8),P(8),P(8),P(8),P(8),P(8),P(8),P(8),P(4),P(4),P(4),P(8),P(16),P(16),P(16),P(32),P(32),P(48),P(64),P(1152),P(1152),(16+224*$e)*$e,(5+72*$e)*$e,(71+1408*$e)*$e*$e,P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(4),P(24),P(24),P(24),P(24),P(24),P(24),P(24),P(24),P(24),P(24),P(1152),P(1152),P(1152),P(1152),P(1152),P(2304),P(2304),P(3456),P(5760),P(8),P(8),P(8),P(16),P(24),P(48),P(48),P(96),P(192),P(384),P(384),P(384),P(768),P(96),P(96),P(96),P(1152);var kF=2**-52,fd=new Uint32Array(512),_F=class Z9{static from(t,n=_j,r=Dj){let i=t.length,a=new Float64Array(i*2);for(let o=0;o<i;o++){let l=t[o];a[2*o]=n(l),a[2*o+1]=r(l)}return new Z9(a)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:a}=this,o=t.length>>1,l=1/0,s=1/0,u=-1/0,c=-1/0;for(let _=0;_<o;_++){let F=t[2*_],$=t[2*_+1];F<l&&(l=F),$<s&&(s=$),F>u&&(u=F),$>c&&(c=$),this._ids[_]=_}let f=(l+u)/2,d=(s+c)/2,h,p,m;for(let _=0,F=1/0;_<o;_++){let $=W1(f,d,t[2*_],t[2*_+1]);$<F&&(h=_,F=$)}let g=t[2*h],y=t[2*h+1];for(let _=0,F=1/0;_<o;_++){if(_===h)continue;let $=W1(g,y,t[2*_],t[2*_+1]);$<F&&$>0&&(p=_,F=$)}let v=t[2*p],b=t[2*p+1],w=1/0;for(let _=0;_<o;_++){if(_===h||_===p)continue;let F=Ej(g,y,v,b,t[2*_],t[2*_+1]);F<w&&(m=_,w=F)}let A=t[2*m],E=t[2*m+1];if(w===1/0){for(let $=0;$<o;$++)this._dists[$]=t[2*$]-t[0]||t[2*$+1]-t[1];ul(this._ids,this._dists,0,o-1);let _=new Uint32Array(o),F=0;for(let $=0,R=-1/0;$<o;$++){let C=this._ids[$],M=this._dists[C];M>R&&(_[F++]=C,R=M)}this.hull=_.subarray(0,F),this.triangles=new Uint32Array,this.halfedges=new Uint32Array;return}if(cd(g,y,v,b,A,E)<0){let _=p,F=v,$=b;p=m,v=A,b=E,m=_,A=F,E=$}let x=kj(g,y,v,b,A,E);this._cx=x.x,this._cy=x.y;for(let _=0;_<o;_++)this._dists[_]=W1(t[2*_],t[2*_+1],x.x,x.y);ul(this._ids,this._dists,0,o-1),this._hullStart=h;let k=3;r[h]=n[m]=p,r[p]=n[h]=m,r[m]=n[p]=h,i[h]=0,i[p]=1,i[m]=2,a.fill(-1),a[this._hashKey(g,y)]=h,a[this._hashKey(v,b)]=p,a[this._hashKey(A,E)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let _=0,F,$;_<this._ids.length;_++){let R=this._ids[_],C=t[2*R],M=t[2*R+1];if(_>0&&Math.abs(C-F)<=kF&&Math.abs(M-$)<=kF||(F=C,$=M,R===h||R===p||R===m))continue;let D=0;for(let ae=0,fe=this._hashKey(C,M);ae<this._hashSize&&(D=a[(fe+ae)%this._hashSize],!(D!==-1&&D!==r[D]));ae++);D=n[D];let S=D,L;for(;L=r[S],cd(C,M,t[2*S],t[2*S+1],t[2*L],t[2*L+1])>=0;)if(S=L,S===D){S=-1;break}if(S===-1)continue;let U=this._addTriangle(S,R,r[S],-1,-1,i[S]);i[R]=this._legalize(U+2),i[S]=U,k++;let H=r[S];for(;L=r[H],cd(C,M,t[2*H],t[2*H+1],t[2*L],t[2*L+1])<0;)U=this._addTriangle(H,R,L,i[R],-1,i[H]),i[R]=this._legalize(U+2),r[H]=H,k--,H=L;if(S===D)for(;L=n[S],cd(C,M,t[2*L],t[2*L+1],t[2*S],t[2*S+1])<0;)U=this._addTriangle(L,R,S,-1,i[S],i[L]),this._legalize(U+2),i[L]=U,r[S]=S,k--,S=L;this._hullStart=n[R]=S,r[S]=n[H]=R,r[R]=H,a[this._hashKey(C,M)]=R,a[this._hashKey(t[2*S],t[2*S+1])]=S}this.hull=new Uint32Array(k);for(let _=0,F=this._hullStart;_<k;_++)this.hull[_]=F,F=r[F];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(wj(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,a=0,o=0;for(;;){let l=r[t],s=t-t%3;if(o=s+(t+2)%3,l===-1){if(a===0)break;t=fd[--a];continue}let u=l-l%3,c=s+(t+1)%3,f=u+(l+2)%3,d=n[o],h=n[t],p=n[c],m=n[f];if(Aj(i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){n[t]=m,n[l]=d;let g=r[f];if(g===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=t;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(t,g),this._link(l,r[o]),this._link(o,f);let y=u+(l+1)%3;a<fd.length&&(fd[a++]=y)}else{if(a===0)break;t=fd[--a]}}return o}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,a,o){let l=this.trianglesLen;return this._triangles[l]=t,this._triangles[l+1]=n,this._triangles[l+2]=r,this._link(l,i),this._link(l+1,a),this._link(l+2,o),this.trianglesLen+=3,l}};function wj(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function W1(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function Aj(e,t,n,r,i,a,o,l){let s=e-o,u=t-l,c=n-o,f=r-l,d=i-o,h=a-l,p=s*s+u*u,m=c*c+f*f,g=d*d+h*h;return s*(f*g-m*h)-u*(c*g-m*d)+p*(c*h-f*d)<0}function Ej(e,t,n,r,i,a){let o=n-e,l=r-t,s=i-e,u=a-t,c=o*o+l*l,f=s*s+u*u,d=.5/(o*u-l*s),h=(u*c-l*f)*d,p=(o*f-s*c)*d;return h*h+p*p}function kj(e,t,n,r,i,a){let o=n-e,l=r-t,s=i-e,u=a-t,c=o*o+l*l,f=s*s+u*u,d=.5/(o*u-l*s);return{x:e+(u*c-l*f)*d,y:t+(o*f-s*c)*d}}function ul(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let a=e[i],o=t[a],l=i-1;for(;l>=n&&t[e[l]]>o;)e[l+1]=e[l--];e[l+1]=a}else{let i=n+r>>1,a=n+1,o=r;Js(e,i,a),t[e[n]]>t[e[r]]&&Js(e,n,r),t[e[a]]>t[e[r]]&&Js(e,a,r),t[e[n]]>t[e[a]]&&Js(e,n,a);let l=e[a],s=t[l];for(;;){do a++;while(t[e[a]]<s);do o--;while(t[e[o]]>s);if(o<a)break;Js(e,a,o)}e[n+1]=e[o],e[o]=l,r-a+1>=o-n?(ul(e,t,a,r),ul(e,t,n,o-1)):(ul(e,t,n,o-1),ul(e,t,a,r))}}function Js(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function _j(e){return e[0]}function Dj(e){return e[1]}var DF=1e-6,Ia=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error("negative radius");this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>DF||Math.abs(this._y1-i)>DF)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},G1=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},Fj=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p<g;p+=3,m+=2){let b=n[p]*2,w=n[p+1]*2,A=n[p+2]*2,E=e[b],x=e[b+1],k=e[w],_=e[w+1],F=e[A],$=e[A+1],R=k-E,C=_-x,M=F-E,D=$-x,S=(R*D-C*M)*2;if(Math.abs(S)<1e-9){if(i===void 0){i=a=0;for(let U of t)i+=e[U*2],a+=e[U*2+1];i/=t.length,a/=t.length}let L=1e9*Math.sign((i-E)*D-(a-x)*M);y=(E+F)/2-L*D,v=(x+$)/2+L*M}else{let L=1/S,U=R*R+C*C,H=M*M+D*D;y=E+(D*U-C*H)*L,v=x+(R*H-M*U)*L}o[m]=y,o[m+1]=v}let l=t[t.length-1],s,u=l*4,c,f=e[2*l],d,h=e[2*l+1];r.fill(0);for(let p=0;p<t.length;++p)l=t[p],s=u,c=f,d=h,u=l*4,f=e[2*l],h=e[2*l+1],r[s+2]=r[u]=d-h,r[s+3]=r[u+1]=f-c}render(e){let t=e==null?e=new Ia:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let u=0,c=n.length;u<c;++u){let f=n[u];if(f<u)continue;let d=Math.floor(u/3)*2,h=Math.floor(f/3)*2,p=a[d],m=a[d+1],g=a[h],y=a[h+1];this._renderSegment(p,m,g,y,e)}let l,s=i[i.length-1];for(let u=0;u<i.length;++u){l=s,s=i[u];let c=Math.floor(r[s]/3)*2,f=a[c],d=a[c+1],h=l*4,p=this._project(f,d,o[h+2],o[h+3]);p&&this._renderSegment(f,d,p[0],p[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new Ia:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new Ia:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let a=2;a<i;a+=2)(r[a]!==r[a-2]||r[a+1]!==r[a-1])&&t.lineTo(r[a],r[a+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let r=this.cellPolygon(t);r&&(r.index=t,yield r)}}cellPolygon(e){let t=new G1;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),l=this._regioncode(n,r);o===0&&l===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,l))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let r=this._clip(n);if(r){e:for(let i=0,a=t.length;i<a;i+=2)for(let o=0,l=r.length;o<l;o+=2)if(t[i]===r[o]&&t[i+1]===r[o+1]&&t[(i+2)%a]===r[(o+l-2)%l]&&t[(i+3)%a]===r[(o+l-1)%l]){yield n;break e}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],l=a;do{let s=Math.floor(l/3);if(o.push(t[s*2],t[s*2+1]),l=l%3==2?l-2:l+1,i[l]!==e)break;l=r[l]}while(l!==a&&l!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],l=t[n-1],s,u=this._regioncode(o,l),c,f=0;for(let d=0;d<n;d+=2)if(i=o,a=l,o=t[d],l=t[d+1],s=u,u=this._regioncode(o,l),s===0&&u===0)c=f,f=0,r?r.push(o,l):r=[o,l];else{let h,p,m,g,y;if(s===0){if((h=this._clipSegment(i,a,o,l,s,u))===null)continue;[p,m,g,y]=h}else{if((h=this._clipSegment(o,l,i,a,u,s))===null)continue;[g,y,p,m]=h,c=f,f=this._edgecode(p,m),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(p,m):r=[p,m]}c=f,f=this._edgecode(g,y),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(g,y):r=[g,y]}if(r)c=f,f=this._edgecode(r[0],r[1]),c&&f&&this._edge(e,c,f,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let l,s,u=i||a;u&8?(l=e+(n-e)*(this.ymax-t)/(r-t),s=this.ymax):u&4?(l=e+(n-e)*(this.ymin-t)/(r-t),s=this.ymin):u&2?(s=t+(r-t)*(this.xmax-e)/(n-e),l=this.xmax):(s=t+(r-t)*(this.xmin-e)/(n-e),l=this.xmin),i?(e=l,t=s,i=this._regioncode(e,t)):(n=l,r=s,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),l;if((l=this._project(o[0],o[1],n,r))&&o.unshift(l[0],l[1]),(l=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(l[0],l[1]),o=this._clipFinite(e,o))for(let s=0,u=o.length,c,f=this._edgecode(o[u-2],o[u-1]);s<u;s+=2)c=f,f=this._edgecode(o[s],o[s+1]),c&&f&&(s=this._edge(e,c,f,o,s),u=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let a,o;switch(t){case 5:t=4;continue;case 4:t=6,a=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,a=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,a=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,a=this.xmin,o=this.ymin;break}(r[i]!==a||r[i+1]!==o)&&this.contains(e,a,o)&&(r.splice(i,0,a,o),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,l;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(l=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(l=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,l=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,l=t+(i=a)*r)}return[o,l]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},Cj=2*Math.PI,cl=Math.pow;function $j(e){return e[0]}function Sj(e){return e[1]}function Mj(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],a=2*t[r+1],o=2*t[r+2];if((n[o]-n[i])*(n[a+1]-n[i+1])-(n[a]-n[i])*(n[o+1]-n[i+1])>1e-10)return!1}return!0}function Oj(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Bj=class e4{static from(t,n=$j,r=Sj,i){return new e4("length"in t?zj(t,n,r,i):Float64Array.from(Nj(t,n,r,i)))}constructor(t){this._delaunator=new _F(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&Mj(t)){this.collinear=Int32Array.from({length:n.length/2},(d,h)=>h).sort((d,h)=>n[2*d]-n[2*h]||n[2*d+1]-n[2*h+1]);let s=this.collinear[0],u=this.collinear[this.collinear.length-1],c=[n[2*s],n[2*s+1],n[2*u],n[2*u+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,h=n.length/2;d<h;++d){let p=Oj(n[2*d],n[2*d+1],f);n[2*d]=p[0],n[2*d+1]=p[1]}this._delaunator=new _F(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,a=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),l=this._hullIndex.fill(-1);for(let s=0,u=r.length;s<u;++s){let c=a[s%3==2?s-2:s+1];(r[s]===-1||o[c]===-1)&&(o[c]=s)}for(let s=0,u=i.length;s<u;++s)l[i[s]]=s;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],o[i[0]]=1,i.length===2&&(o[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new Fj(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:a,triangles:o,collinear:l}=this;if(l){let f=l.indexOf(t);f>0&&(yield l[f-1]),f<l.length-1&&(yield l[f+1]);return}let s=n[t];if(s===-1)return;let u=s,c=-1;do{if(yield c=o[u],u=u%3==2?u-2:u+1,o[u]!==t)return;if(u=a[u],u===-1){let f=r[(i[t]+1)%r.length];f!==c&&(yield f);return}}while(u!==s)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,a;for(;(a=this._step(r,t,n))>=0&&a!==r&&a!==i;)r=a;return a}_step(t,n,r){let{inedges:i,hull:a,_hullIndex:o,halfedges:l,triangles:s,points:u}=this;if(i[t]===-1||!u.length)return(t+1)%(u.length>>1);let c=t,f=cl(n-u[t*2],2)+cl(r-u[t*2+1],2),d=i[t],h=d;do{let p=s[h],m=cl(n-u[p*2],2)+cl(r-u[p*2+1],2);if(m<f&&(f=m,c=p),h=h%3==2?h-2:h+1,s[h]!==t)break;if(h=l[h],h===-1){if(h=a[(o[t]+1)%a.length],h!==p&&cl(n-u[h*2],2)+cl(r-u[h*2+1],2)<f)return h;break}}while(h!==d);return c}render(t){let n=t==null?t=new Ia:void 0,{points:r,halfedges:i,triangles:a}=this;for(let o=0,l=i.length;o<l;++o){let s=i[o];if(s<o)continue;let u=a[o]*2,c=a[s]*2;t.moveTo(r[u],r[u+1]),t.lineTo(r[c],r[c+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new Ia:void 0,{points:i}=this;for(let a=0,o=i.length;a<o;a+=2){let l=i[a],s=i[a+1];t.moveTo(l+n,s),t.arc(l,s,n,0,Cj)}return r&&r.value()}renderHull(t){let n=t==null?t=new Ia:void 0,{hull:r,points:i}=this,a=r[0]*2,o=r.length;t.moveTo(i[a],i[a+1]);for(let l=1;l<o;++l){let s=2*r[l];t.lineTo(i[s],i[s+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new G1;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new Ia:void 0,{points:i,triangles:a}=this,o=a[t*=3]*2,l=a[t+1]*2,s=a[t+2]*2;return n.moveTo(i[o],i[o+1]),n.lineTo(i[l],i[l+1]),n.lineTo(i[s],i[s+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new G1;return this.renderTriangle(t,n),n.value()}};function zj(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let l=e[o];a[o*2]=t.call(r,l,o,e),a[o*2+1]=n.call(r,l,o,e)}return a}function*Nj(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}var Rj=sn({voronoi:()=>H1});function H1(e){O.call(this,null,e)}H1.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var Tj=[-1e5,-1e5,1e5,1e5];G(H1,O,{transform(e,t){let n=e.as||"path",r=t.source;if(!r||!r.length)return t;let i=e.size;i=i?[0,0,i[0],i[1]]:(i=e.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:Tj;let a=this.value=Bj.from(r,e.x,e.y).voronoi(i);for(let o=0,l=r.length;o<l;++o){let s=a.cellPolygon(o);r[o][n]=s&&!Pj(s)?Lj(s):null}return t.reflow(e.modified()).modifies(n)}});function Lj(e){let t=e[0][0],n=e[0][1],r=e.length-1;for(;e[r][0]===t&&e[r][1]===n;--r);return"M"+e.slice(0,r+1).join("L")+"Z"}function Pj(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var Ij=sn({wordcloud:()=>X1}),V1=Math.PI/180,Qs=64,dd=2048;function jj(){var e=[256,256],t,n,r,i,a,o,l,s=FF,u=[],c=Math.random,f={};f.layout=function(){for(var p=d(Li()),m=Vj((e[0]>>5)*e[1]),g=null,y=u.length,v=-1,b=[],w=u.map(E=>({text:t(E),font:n(E),style:i(E),weight:a(E),rotate:o(E),size:~~(r(E)+1e-14),padding:l(E),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:E})).sort((E,x)=>x.size-E.size);++v<y;){var A=w[v];A.x=e[0]*(c()+.5)>>1,A.y=e[1]*(c()+.5)>>1,qj(p,A,w,v),A.hasText&&h(m,A,g)&&(b.push(A),g?Wj(g,A):g=[{x:A.x+A.x0,y:A.y+A.y0},{x:A.x+A.x1,y:A.y+A.y1}],A.x-=e[0]>>1,A.y-=e[1]>>1)}return b};function d(p){p.width=p.height=1;var m=Math.sqrt(p.getContext("2d").getImageData(0,0,1,1).data.length>>2);p.width=(Qs<<5)/m,p.height=dd/m;var g=p.getContext("2d");return g.fillStyle=g.strokeStyle="red",g.textAlign="center",{context:g,ratio:m}}function h(p,m,g){for(var y=m.x,v=m.y,b=Math.hypot(e[0],e[1]),w=s(e),A=c()<.5?1:-1,E=-A,x,k,_;(x=w(E+=A))&&(k=~~x[0],_=~~x[1],!(Math.min(Math.abs(k),Math.abs(_))>=b));)if(m.x=y+k,m.y=v+_,!(m.x+m.x0<0||m.y+m.y0<0||m.x+m.x1>e[0]||m.y+m.y1>e[1])&&(!g||!Uj(m,p,e[0]))&&(!g||Gj(m,g))){for(var F=m.sprite,$=m.width>>5,R=e[0]>>5,C=m.x-($<<4),M=C&127,D=32-M,S=m.y1-m.y0,L=(m.y+m.y0)*R+(C>>5),U,H=0;H<S;H++){U=0;for(var ae=0;ae<=$;ae++)p[L+ae]|=U<<D|(ae<$?(U=F[H*$+ae])>>>M:0);L+=R}return m.sprite=null,!0}return!1}return f.words=function(p){return arguments.length?(u=p,f):u},f.size=function(p){return arguments.length?(e=[+p[0],+p[1]],f):e},f.font=function(p){return arguments.length?(n=ja(p),f):n},f.fontStyle=function(p){return arguments.length?(i=ja(p),f):i},f.fontWeight=function(p){return arguments.length?(a=ja(p),f):a},f.rotate=function(p){return arguments.length?(o=ja(p),f):o},f.text=function(p){return arguments.length?(t=ja(p),f):t},f.spiral=function(p){return arguments.length?(s=Xj[p]||p,f):s},f.fontSize=function(p){return arguments.length?(r=ja(p),f):r},f.padding=function(p){return arguments.length?(l=ja(p),f):l},f.random=function(p){return arguments.length?(c=p,f):c},f}function qj(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,(Qs<<5)/a,dd/a);var o=0,l=0,s=0,u=n.length,c,f,d,h,p;for(--r;++r<u;){if(t=n[r],i.save(),i.font=t.style+" "+t.weight+" "+~~((t.size+1)/a)+"px "+t.font,c=i.measureText(t.text+"m").width*a,d=t.size<<1,t.rotate){var m=Math.sin(t.rotate*V1),g=Math.cos(t.rotate*V1),y=c*g,v=c*m,b=d*g,w=d*m;c=Math.max(Math.abs(y+w),Math.abs(y-w))+31>>5<<5,d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else c=c+31>>5<<5;if(d>s&&(s=d),o+c>=Qs<<5&&(o=0,l+=s,s=0),l+d>=dd)break;i.translate((o+(c>>1))/a,(l+(d>>1))/a),t.rotate&&i.rotate(t.rotate*V1),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=c,t.height=d,t.xoff=o,t.yoff=l,t.x1=c>>1,t.y1=d>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,o+=c}for(var A=i.getImageData(0,0,(Qs<<5)/a,dd/a).data,E=[];--r>=0;)if(t=n[r],t.hasText){for(c=t.width,f=c>>5,d=t.y1-t.y0,h=0;h<d*f;h++)E[h]=0;if(o=t.xoff,o==null)return;l=t.yoff;var x=0,k=-1;for(p=0;p<d;p++){for(h=0;h<c;h++){var _=f*p+(h>>5),F=A[(l+p)*(Qs<<5)+(o+h)<<2]?1<<31-h%32:0;E[_]|=F,x|=F}x?k=p:(t.y0++,d--,p--,l++)}t.y1=t.y0+k,t.sprite=E.slice(0,(t.y1-t.y0)*f)}}}function Uj(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,a=e.x-(i<<4),o=a&127,l=32-o,s=e.y1-e.y0,u=(e.y+e.y0)*n+(a>>5),c,f=0;f<s;f++){c=0;for(var d=0;d<=i;d++)if((c<<l|(d<i?(c=r[f*i+d])>>>o:0))&t[u+d])return!0;u+=n}return!1}function Wj(e,t){var n=e[0],r=e[1];t.x+t.x0<n.x&&(n.x=t.x+t.x0),t.y+t.y0<n.y&&(n.y=t.y+t.y0),t.x+t.x1>r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}function Gj(e,t){return e.x+e.x1>t[0].x&&e.x+e.x0<t[1].x&&e.y+e.y1>t[0].y&&e.y+e.y0<t[1].y}function FF(e){var t=e[0]/e[1];return function(n){return[t*(n*=.1)*Math.cos(n),n*Math.sin(n)]}}function Hj(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(a){var o=a<0?-1:1;switch(Math.sqrt(1+4*o*a)-o&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t;break}return[r,i]}}function Vj(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function ja(e){return typeof e=="function"?e:function(){return e}}var Xj={archimedean:FF,rectangular:Hj},CF=["x","y","font","fontSize","fontStyle","fontWeight","angle"],Yj=["text","font","rotate","fontSize","fontStyle","fontWeight"];function X1(e){O.call(this,jj(),e)}X1.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:CF}]},G(X1,O,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&T("Wordcloud size dimensions must be non-zero.");function n(p){let m=e[p];return ge(m)&&t.modified(m.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||Yj.some(n)))return;let i=t.materialize(t.SOURCE).source,a=this.value,o=e.as||CF,l=e.fontSize||14,s;if(ge(l)?s=e.fontSizeRange:l=jt(l),s){let p=l,m=ke("sqrt")().domain(Dr(i,p)).range(s);l=g=>m(p(g))}i.forEach(p=>{p[o[0]]=NaN,p[o[1]]=NaN,p[o[3]]=0});let u=a.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(l).random(Nn).layout(),c=a.size(),f=c[0]>>1,d=c[1]>>1,h=u.length;for(let p=0,m,g;p<h;++p)m=u[p],g=m.datum,g[o[0]]=m.x+f,g[o[1]]=m.y+d,g[o[2]]=m.font,g[o[3]]=m.size,g[o[4]]=m.style,g[o[5]]=m.weight,g[o[6]]=m.rotate;return t.reflow(r).modifies(o)}});var Jj=sn({crossfilter:()=>Y1,resolvefilter:()=>J1}),Qj=e=>new Uint8Array(e),Kj=e=>new Uint16Array(e),Ks=e=>new Uint32Array(e);function Zj(){let e=8,t=[],n=Ks(0),r=hd(0,e),i=hd(0,e);return{data:()=>t,seen:()=>n=eq(n,t.length),add(a){for(let o=0,l=t.length,s=a.length,u;o<s;++o)u=a[o],u._index=l++,t.push(u)},remove(a,o){let l=t.length,s=Array(l-a),u=t,c,f,d;for(f=0;!o[f]&&f<l;++f)s[f]=t[f],u[f]=f;for(d=f;f<l;++f)c=t[f],o[f]?u[f]=-1:(u[f]=d,r[d]=r[f],i[d]=i[f],s[d]=c,c._index=d++),r[f]=0;return t=s,u},size:()=>t.length,curr:()=>r,prev:()=>i,reset:a=>i[a]=r[a],all:()=>e<257?255:e<65537?65535:4294967295,set(a,o){r[a]|=o},clear(a,o){r[a]&=~o},resize(a,o){(a>r.length||o>e)&&(e=Math.max(o,e),r=hd(a,e,r),i=hd(a,e))}}}function eq(e,t,n){return e.length>=t?e:(n||(n=new e.constructor(t)),n.set(e),n)}function hd(e,t,n){let r=(t<257?Qj:t<65537?Kj:Ks)(e);return n&&r.set(n),r}function $F(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(i,a){let o=this,l=o.bisect(o.range,i.value),s=i.index,u=l[0],c=l[1],f=s.length,d;for(d=0;d<u;++d)a[s[d]]|=r;for(d=c;d<f;++d)a[s[d]]|=r;return o}}}function SF(){let e=Ks(0),t=[],n=0;function r(l,s,u){if(!s.length)return[];let c=n,f=s.length,d=Ks(f),h=Array(f),p,m,g;for(g=0;g<f;++g)h[g]=l(s[g]),d[g]=g;if(h=tq(h,d),c)p=t,m=e,t=Array(c+f),e=Ks(c+f),nq(u,p,m,c,h,d,f,t,e);else{if(u>0)for(g=0;g<f;++g)d[g]+=u;t=h,e=d}return n=c+f,{index:d,value:h}}function i(l,s){let u=n,c,f,d;for(f=0;!s[e[f]]&&f<u;++f);for(d=f;f<u;++f)s[c=e[f]]||(e[d]=c,t[d]=t[f],++d);n=u-l}function a(l){for(let s=0,u=n;s<u;++s)e[s]=l[e[s]]}function o(l,s){let u;return s?u=s.length:(s=t,u=n),[X4(s,l[0],0,u),jp(s,l[1],0,u)]}return{insert:r,remove:i,bisect:o,reindex:a,index:()=>e,size:()=>n}}function tq(e,t){return e.sort.call(t,(n,r)=>{let i=e[n],a=e[r];return i<a?-1:i>a?1:0}),nM(e,t)}function nq(e,t,n,r,i,a,o,l,s){let u=0,c=0,f;for(f=0;u<r&&c<o;++f)t[u]<i[c]?(l[f]=t[u],s[f]=n[u++]):(l[f]=i[c],s[f]=a[c++]+e);for(;u<r;++u,++f)l[f]=t[u],s[f]=n[u];for(;c<o;++c,++f)l[f]=i[c],s[f]=a[c]+e}function Y1(e){O.call(this,Zj(),e),this._indices=null,this._dims=null}Y1.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},G(Y1,O,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(n=>t.modified(n.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],o=r.length,l=0,s,u;for(;l<o;++l)s=n[l].fname,u=i[s]||(i[s]=SF()),a.push($F(u,l,r[l]));return this.eval(e,t)},reinit(e,t){let n=t.materialize().fork(),r=e.fields,i=e.query,a=this._indices,o=this._dims,l=this.value,s=l.curr(),u=l.prev(),c=l.all(),f=n.rem=n.add,d=n.mod,h=i.length,p={},m,g,y,v,b,w,A,E,x;if(u.set(s),t.rem.length&&(b=this.remove(e,t,n)),t.add.length&&l.add(t.add),t.mod.length)for(w={},v=t.mod,A=0,E=v.length;A<E;++A)w[v[A]._index]=1;for(A=0;A<h;++A)x=r[A],(!o[A]||e.modified("fields",A)||t.modified(x.fields))&&(y=x.fname,(m=p[y])||(a[y]=g=SF(),p[y]=m=g.insert(x,t.source,0)),o[A]=$F(g,A,i[A]).onAdd(m,s));for(A=0,E=l.data().length;A<E;++A)b[A]||(u[A]===s[A]?w[A]&&s[A]!==c&&d.push(A):f.push(A));return l.mask=(1<<h)-1,n},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified("query")&&!e.modified("fields")&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,a=this._dims,o=this._indices,l=e.fields,s={},u=n.add,c=i.size()+r.length,f=a.length,d=i.size(),h,p,m;i.resize(c,f),i.add(r);let g=i.curr(),y=i.prev(),v=i.all();for(h=0;h<f;++h)p=l[h].fname,m=s[p]||(s[p]=o[p].insert(l[h],r,d)),a[h].onAdd(m,g);for(;d<c;++d)y[d]=v,g[d]!==v&&u.push(d)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),a=r.all(),o=e.mod,l,s,u;for(l=0,s=o.length;l<s;++l)u=o[l]._index,i[u]!==a&&n.push(u)},remove(e,t,n){let r=this._indices,i=this.value,a=i.curr(),o=i.prev(),l=i.all(),s={},u=n.rem,c=t.rem,f,d,h,p;for(f=0,d=c.length;f<d;++f)h=c[f]._index,s[h]=1,o[h]=p=a[h],a[h]=l,p!==l&&u.push(h);for(h in r)r[h].remove(d,s);return this.reindex(t,d,s),s},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let a=i.remove(t,n);for(let o in r)r[o].reindex(a)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,l=0,s,u;for(n.filters=0,u=0;u<o;++u)e.modified("query",u)&&(s=u,++l);if(l===1)l=r[s].one,this.incrementOne(r[s],i[s],n.add,n.rem);else for(u=0,l=0;u<o;++u)e.modified("query",u)&&(l|=r[u].one,this.incrementAll(r[u],i[u],a,n.add),n.rem=n.add);return l},incrementAll(e,t,n,r){let i=this.value,a=i.seen(),o=i.curr(),l=i.prev(),s=e.index(),u=e.bisect(e.range),c=e.bisect(t),f=c[0],d=c[1],h=u[0],p=u[1],m=e.one,g,y,v;if(f<h)for(g=f,y=Math.min(h,d);g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(f>h)for(g=h,y=Math.min(f,p);g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;if(d>p)for(g=Math.max(f,p),y=d;g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(d<p)for(g=Math.max(h,d),y=p;g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value.curr(),a=e.index(),o=e.bisect(e.range),l=e.bisect(t),s=l[0],u=l[1],c=o[0],f=o[1],d=e.one,h,p,m;if(s<c)for(h=s,p=Math.min(c,u);h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(s>c)for(h=c,p=Math.min(s,f);h<p;++h)m=a[h],i[m]^=d,r.push(m);if(u>f)for(h=Math.max(s,f),p=u;h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(u<f)for(h=Math.max(c,u),p=f;h<p;++h)m=a[h],i[m]^=d,r.push(m);e.range=t.slice()}});function J1(e){O.call(this,null,e)}J1.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},G(J1,O,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if((i&n)===0)return t.StopPropagation;let a=t.fork(t.ALL),o=r.data(),l=r.curr(),s=r.prev(),u=c=>l[c]&n?null:o[c];return a.filter(a.MOD,u),i&i-1?(a.filter(a.ADD,c=>{let f=l[c]&n;return!f&&f^s[c]&n?o[c]:null}),a.filter(a.REM,c=>{let f=l[c]&n;return f&&!(f^(f^s[c]&n))?o[c]:null})):(a.filter(a.ADD,u),a.filter(a.REM,c=>(l[c]&n)===i?o[c]:null)),a.filter(a.SOURCE,c=>u(c._index))}});var rq="RawCode",iq="Literal",aq="Property",oq="Identifier",lq="ArrayExpression",sq="BinaryExpression",uq="CallExpression",cq="ConditionalExpression",fq="LogicalExpression",dq="MemberExpression",hq="ObjectExpression",pq="UnaryExpression";function ar(e){this.type=e}ar.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=mq(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function mq(e){switch(e.type){case lq:return e.elements;case sq:case fq:return[e.left,e.right];case uq:return[e.callee].concat(e.arguments);case cq:return[e.test,e.consequent,e.alternate];case dq:return[e.object,e.property];case hq:return e.properties;case aq:return[e.key,e.value];case pq:return[e.argument];case oq:case iq:case rq:default:return[]}}var Nr,Y,B,zt,Be,pd=1,Zs=2,qa=3,ia=4,md=5,Ua=6,fn=7,eu=8,gq=9;Nr={},Nr[pd]="Boolean",Nr[Zs]="<end>",Nr[qa]="Identifier",Nr[ia]="Keyword",Nr[md]="Null",Nr[Ua]="Numeric",Nr[fn]="Punctuator",Nr[eu]="String",Nr[gq]="RegularExpression";var yq="ArrayExpression",vq="BinaryExpression",bq="CallExpression",xq="ConditionalExpression",MF="Identifier",wq="Literal",Aq="LogicalExpression",Eq="MemberExpression",kq="ObjectExpression",_q="Property",Dq="UnaryExpression",mt="Unexpected token %0",Fq="Unexpected number",Cq="Unexpected string",$q="Unexpected identifier",Sq="Unexpected reserved word",Mq="Unexpected end of input",Q1="Invalid regular expression",K1="Invalid regular expression: missing /",OF="Octal literals are not allowed in strict mode.",Oq="Duplicate data property in object literal not allowed in strict mode",kt="ILLEGAL",tu="Disabled.",Bq=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),zq=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function gd(e,t){if(!e)throw Error("ASSERT: "+t)}function di(e){return e>=48&&e<=57}function Z1(e){return"0123456789abcdefABCDEF".includes(e)}function nu(e){return"01234567".includes(e)}function Nq(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function ru(e){return e===10||e===13||e===8232||e===8233}function iu(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&Bq.test(String.fromCharCode(e))}function yd(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&zq.test(String.fromCharCode(e))}var Rq={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function BF(){for(;B<zt;){let e=Y.charCodeAt(B);if(Nq(e)||ru(e))++B;else break}}function ey(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)B<zt&&Z1(Y[B])?(r=Y[B++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):_e({},mt,kt);return String.fromCharCode(i)}function Tq(){var e=Y[B],t=0,n,r;for(e==="}"&&_e({},mt,kt);B<zt&&(e=Y[B++],Z1(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&_e({},mt,kt),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function zF(){var e=Y.charCodeAt(B++),t=String.fromCharCode(e);for(e===92&&(Y.charCodeAt(B)!==117&&_e({},mt,kt),++B,e=ey("u"),(!e||e==="\\"||!iu(e.charCodeAt(0)))&&_e({},mt,kt),t=e);B<zt&&(e=Y.charCodeAt(B),yd(e));)++B,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),Y.charCodeAt(B)!==117&&_e({},mt,kt),++B,e=ey("u"),(!e||e==="\\"||!yd(e.charCodeAt(0)))&&_e({},mt,kt),t+=e);return t}function Lq(){for(var e=B++,t;B<zt;){if(t=Y.charCodeAt(B),t===92)return B=e,zF();if(yd(t))++B;else break}return Y.slice(e,B)}function Pq(){var e=B,t=Y.charCodeAt(B)===92?zF():Lq();return{type:t.length===1?qa:Rq.hasOwnProperty(t)?ia:t==="null"?md:t==="true"||t==="false"?pd:qa,value:t,start:e,end:B}}function ty(){var e=B,t=Y.charCodeAt(B),n,r=Y[B],i,a,o;switch(t){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++B,{type:fn,value:String.fromCharCode(t),start:e,end:B};default:if(n=Y.charCodeAt(B+1),n===61)switch(t){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return B+=2,{type:fn,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:B};case 33:case 61:return B+=2,Y.charCodeAt(B)===61&&++B,{type:fn,value:Y.slice(e,B),start:e,end:B}}}if(o=Y.substr(B,4),o===">>>=")return B+=4,{type:fn,value:o,start:e,end:B};if(a=o.substr(0,3),a===">>>"||a==="<<="||a===">>=")return B+=3,{type:fn,value:a,start:e,end:B};if(i=a.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return B+=2,{type:fn,value:i,start:e,end:B};if(i==="//"&&_e({},mt,kt),"<>=!+-*%&|^/".includes(r))return++B,{type:fn,value:r,start:e,end:B};_e({},mt,kt)}function Iq(e){let t="";for(;B<zt&&Z1(Y[B]);)t+=Y[B++];return t.length===0&&_e({},mt,kt),iu(Y.charCodeAt(B))&&_e({},mt,kt),{type:Ua,value:parseInt("0x"+t,16),start:e,end:B}}function jq(e){let t="0"+Y[B++];for(;B<zt&&nu(Y[B]);)t+=Y[B++];return(iu(Y.charCodeAt(B))||di(Y.charCodeAt(B)))&&_e({},mt,kt),{type:Ua,value:parseInt(t,8),octal:!0,start:e,end:B}}function NF(){var e,t,n=Y[B];if(gd(di(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=B,e="",n!=="."){if(e=Y[B++],n=Y[B],e==="0"){if(n==="x"||n==="X")return++B,Iq(t);if(nu(n))return jq(t);n&&di(n.charCodeAt(0))&&_e({},mt,kt)}for(;di(Y.charCodeAt(B));)e+=Y[B++];n=Y[B]}if(n==="."){for(e+=Y[B++];di(Y.charCodeAt(B));)e+=Y[B++];n=Y[B]}if(n==="e"||n==="E")if(e+=Y[B++],n=Y[B],(n==="+"||n==="-")&&(e+=Y[B++]),di(Y.charCodeAt(B)))for(;di(Y.charCodeAt(B));)e+=Y[B++];else _e({},mt,kt);return iu(Y.charCodeAt(B))&&_e({},mt,kt),{type:Ua,value:parseFloat(e),start:t,end:B}}function qq(){var e="",t,n,r,i,a=!1;for(t=Y[B],gd(t==="'"||t==='"',"String literal must starts with a quote"),n=B,++B;B<zt;)if(r=Y[B++],r===t){t="";break}else if(r==="\\")if(r=Y[B++],!r||!ru(r.charCodeAt(0)))switch(r){case"u":case"x":Y[B]==="{"?(++B,e+=Tq()):e+=ey(r);break;case"n":e+=`
5
- `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:nu(r)?(i="01234567".indexOf(r),i!==0&&(a=!0),B<zt&&nu(Y[B])&&(a=!0,i=i*8+"01234567".indexOf(Y[B++]),"0123".includes(r)&&B<zt&&nu(Y[B])&&(i=i*8+"01234567".indexOf(Y[B++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&Y[B]===`
6
- `&&++B;else{if(ru(r.charCodeAt(0)))break;e+=r}return t!==""&&_e({},mt,kt),{type:eu,value:e,octal:a,start:n,end:B}}function Uq(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";_e({},Q1)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{_e({},Q1)}try{return new RegExp(e,t)}catch{return null}}function Wq(){var e=Y[B],t,n,r,i;for(gd(e==="/","Regular expression literal must start with a slash"),t=Y[B++],n=!1,r=!1;B<zt;)if(e=Y[B++],t+=e,e==="\\")e=Y[B++],ru(e.charCodeAt(0))&&_e({},K1),t+=e;else if(ru(e.charCodeAt(0)))_e({},K1);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||_e({},K1),i=t.substr(1,t.length-2),{value:i,literal:t}}function Gq(){for(var e,t="",n="";B<zt&&(e=Y[B],yd(e.charCodeAt(0)));)++B,e==="\\"&&B<zt?_e({},mt,kt):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&_e({},Q1,n),{value:n,literal:t}}function Hq(){var e,t,n,r;return Be=null,BF(),e=B,t=Wq(),n=Gq(),r=Uq(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:B}}function Vq(e){return e.type===qa||e.type===ia||e.type===pd||e.type===md}function RF(){if(BF(),B>=zt)return{type:Zs,start:B,end:B};let e=Y.charCodeAt(B);return iu(e)?Pq():e===40||e===41||e===59?ty():e===39||e===34?qq():e===46?di(Y.charCodeAt(B+1))?NF():ty():di(e)?NF():ty()}function dn(){let e=Be;return B=e.end,Be=RF(),B=e.end,e}function TF(){let e=B;Be=RF(),B=e}function Xq(e){let t=new ar(yq);return t.elements=e,t}function LF(e,t,n){let r=new ar(e==="||"||e==="&&"?Aq:vq);return r.operator=e,r.left=t,r.right=n,r}function Yq(e,t){let n=new ar(bq);return n.callee=e,n.arguments=t,n}function Jq(e,t,n){let r=new ar(xq);return r.test=e,r.consequent=t,r.alternate=n,r}function ny(e){let t=new ar(MF);return t.name=e,t}function au(e){let t=new ar(wq);return t.value=e.value,t.raw=Y.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function PF(e,t,n){let r=new ar(Eq);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function Qq(e){let t=new ar(kq);return t.properties=e,t}function IF(e,t,n){let r=new ar(_q);return r.key=t,r.value=n,r.kind=e,r}function Kq(e,t){let n=new ar(Dq);return n.operator=e,n.argument=t,n.prefix=!0,n}function _e(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(a,o)=>(gd(o<r.length,"Message reference must be in range"),r[o]));throw n=Error(i),n.index=B,n.description=i,n}function vd(e){e.type===Zs&&_e(e,Mq),e.type===Ua&&_e(e,Fq),e.type===eu&&_e(e,Cq),e.type===qa&&_e(e,$q),e.type===ia&&_e(e,Sq),_e(e,mt,e.value)}function Nt(e){let t=dn();(t.type!==fn||t.value!==e)&&vd(t)}function qe(e){return Be.type===fn&&Be.value===e}function ry(e){return Be.type===ia&&Be.value===e}function Zq(){let e=[];for(B=Be.start,Nt("[");!qe("]");)qe(",")?(dn(),e.push(null)):(e.push(Wa()),qe("]")||Nt(","));return dn(),Xq(e)}function jF(){B=Be.start;let e=dn();return e.type===eu||e.type===Ua?(e.octal&&_e(e,OF),au(e)):ny(e.value)}function eU(){var e,t,n,r;if(B=Be.start,e=Be,e.type===qa)return n=jF(),Nt(":"),r=Wa(),IF("init",n,r);if(e.type===Zs||e.type===fn)vd(e);else return t=jF(),Nt(":"),r=Wa(),IF("init",t,r)}function tU(){var e=[],t,n,r,i={},a=String;for(B=Be.start,Nt("{");!qe("}");)t=eU(),n=t.key.type===MF?t.key.name:a(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?_e({},Oq):i[r]=!0,e.push(t),qe("}")||Nt(",");return Nt("}"),Qq(e)}function nU(){Nt("(");let e=iy();return Nt(")"),e}var rU={if:1};function iU(){var e,t,n;if(qe("("))return nU();if(qe("["))return Zq();if(qe("{"))return tU();if(e=Be.type,B=Be.start,e===qa||rU[Be.value])n=ny(dn().value);else if(e===eu||e===Ua)Be.octal&&_e(Be,OF),n=au(dn());else{if(e===ia)throw Error(tu);e===pd?(t=dn(),t.value=t.value==="true",n=au(t)):e===md?(t=dn(),t.value=null,n=au(t)):qe("/")||qe("/=")?(n=au(Hq()),TF()):vd(dn())}return n}function aU(){let e=[];if(Nt("("),!qe(")"))for(;B<zt&&(e.push(Wa()),!qe(")"));)Nt(",");return Nt(")"),e}function oU(){B=Be.start;let e=dn();return Vq(e)||vd(e),ny(e.value)}function lU(){return Nt("."),oU()}function sU(){Nt("[");let e=iy();return Nt("]"),e}function uU(){for(var e=iU(),t,n;;)if(qe("."))n=lU(),e=PF(".",e,n);else if(qe("("))t=aU(),e=Yq(e,t);else if(qe("["))n=sU(),e=PF("[",e,n);else break;return e}function qF(){let e=uU();if(Be.type===fn&&(qe("++")||qe("--")))throw Error(tu);return e}function bd(){var e,t;if(Be.type!==fn&&Be.type!==ia)t=qF();else{if(qe("++")||qe("--"))throw Error(tu);if(qe("+")||qe("-")||qe("~")||qe("!"))e=dn(),t=bd(),t=Kq(e.value,t);else{if(ry("delete")||ry("void")||ry("typeof"))throw Error(tu);t=qF()}}return t}function UF(e){let t=0;if(e.type!==fn&&e.type!==ia)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function cU(){var e=Be,t,n,r,i,a,o,l,s=bd(),u;if(r=Be,i=UF(r),i===0)return s;for(r.prec=i,dn(),t=[e,Be],o=bd(),a=[s,r,o];(i=UF(Be))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,s=a.pop(),t.pop(),n=LF(l,s,o),a.push(n);r=dn(),r.prec=i,a.push(r),t.push(Be),n=bd(),a.push(n)}for(u=a.length-1,n=a[u],t.pop();u>1;)t.pop(),n=LF(a[u-1].value,a[u-2],n),u-=2;return n}function Wa(){var e=cU(),t,n;return qe("?")&&(dn(),t=Wa(),Nt(":"),n=Wa(),e=Jq(e,t,n)),e}function iy(){let e=Wa();if(qe(","))throw Error(tu);return e}function WF(e){Y=e,B=0,zt=Y.length,Be=null,TF();let t=iy();if(Be.type!==Zs)throw Error("Unexpect token after expression.");return t}var GF={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function HF(e){function t(o,l,s,u){let c=e(l[0]);return s&&(c=s+"("+c+")",s.lastIndexOf("new ",0)===0&&(c="("+c+")")),c+"."+o+(u<0?"":u===0?"()":"("+l.slice(1).map(e).join(",")+")")}function n(o,l,s){return u=>t(o,u,l,s)}let r="new Date",i="String",a="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(o){o.length<3&&T("Missing arguments to clamp function."),o.length>3&&T("Too many arguments to clamp function.");let l=o.map(e);return"Math.max("+l[1]+", Math.min("+l[2]+","+l[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",i,0),lower:n("toLowerCase",i,0),substring:n("substring",i),split:n("split",i),trim:n("trim",i,0),btoa:"btoa",atob:"atob",regexp:a,test:n("test",a),if:function(o){o.length<3&&T("Missing arguments to if function."),o.length>3&&T("Too many arguments to if function.");let l=o.map(e);return"("+l[0]+"?"+l[1]+":"+l[2]+")"}}}function fU(e){let t=e&&e.length-1;return t&&(e[0]==='"'&&e[t]==='"'||e[0]==="'"&&e[t]==="'")?e.slice(1,-1):e}function VF(e){e||(e={});let t=e.allowed?_r(e.allowed):{},n=e.forbidden?_r(e.forbidden):{},r=e.constants||GF,i=(e.functions||HF)(f),a=e.globalvar,o=e.fieldvar,l=ge(a)?a:p=>`${a}["${p}"]`;[...Object.getOwnPropertyNames(Object.prototype).filter(p=>typeof Object.prototype[p]=="function")];let s={},u={},c=0;function f(p){if(Ee(p))return p;let m=d[p.type];return m??T("Unsupported type: "+p.type),m(p)}let d={Literal:p=>p.raw,Identifier:p=>{let m=p.name;return c>0?m:ue(n,m)?T("Illegal identifier: "+m):ue(r,m)?r[m]:ue(t,m)?m:(s[m]=1,l(m))},MemberExpression:p=>{let m=!p.computed,g=f(p.object);m&&(c+=1);let y=f(p.property);return g===o&&(u[fU(y)]=1),m&&--c,g+(m?"."+y:"["+y+"]")},CallExpression:p=>{p.callee.type!=="Identifier"&&T("Illegal callee type: "+p.callee.type);let m=p.callee.name,g=p.arguments,y=ue(i,m)&&i[m];return y||T("Unrecognized function: "+m),ge(y)?y(g):y+"("+g.map(f).join(",")+")"},ArrayExpression:p=>"["+p.elements.map(f).join(",")+"]",BinaryExpression:p=>"("+f(p.left)+" "+p.operator+" "+f(p.right)+")",UnaryExpression:p=>"("+p.operator+f(p.argument)+")",ConditionalExpression:p=>"("+f(p.test)+"?"+f(p.consequent)+":"+f(p.alternate)+")",LogicalExpression:p=>"("+f(p.left)+p.operator+f(p.right)+")",ObjectExpression:p=>{for(let m of p.properties){let g=m.key.name;Op.has(g)&&T("Illegal property: "+g)}return"{"+p.properties.map(f).join(",")+"}"},Property:p=>{c+=1;let m=f(p.key);return--c,m+":"+f(p.value)}};function h(p){let m={code:f(p),globals:Object.keys(s),fields:Object.keys(u)};return s={},u={},m}return h.functions=i,h.constants=r,h}var XF=Symbol("vega_selection_getter");function YF(e){return(!e.getter||!e.getter[XF])&&(e.getter=ti(e.field),e.getter[XF]=!0),e.getter}var ay="intersect",JF="union",dU="vlMulti",hU="vlPoint",QF="or",pU="and",Rr="_vgsid_",ou=ti(Rr),mU="E",gU="R",yU="R-E",vU="R-LE",bU="R-RE",xU="E-LT",wU="E-LTE",AU="E-GT",EU="E-GTE",kU="E-VALID",_U="E-ONE",xd="index:unit";function KF(e,t){for(var n=t.fields,r=t.values,i=n.length,a=0,o,l;a<i;++a)if(l=n[a],o=YF(l)(e),ka(o)&&(o=zn(o)),ka(r[a])&&(r[a]=zn(r[a])),ne(r[a])&&ka(r[a][0])&&(r[a]=r[a].map(zn)),l.type===mU){if(ne(r[a])?!r[a].includes(o):o!==r[a])return!1}else if(l.type===gU){if(!To(o,r[a]))return!1}else if(l.type===bU){if(!To(o,r[a],!0,!1))return!1}else if(l.type===yU){if(!To(o,r[a],!1,!1))return!1}else if(l.type===vU){if(!To(o,r[a],!1,!0))return!1}else if(l.type===xU){if(o>=r[a])return!1}else if(l.type===wU){if(o>r[a])return!1}else if(l.type===AU){if(o<=r[a])return!1}else if(l.type===EU){if(o<r[a])return!1}else if(l.type===kU){if(o===null||isNaN(o))return!1}else if(l.type===_U&&r[a].indexOf(o)===-1)return!1;return!0}function DU(e,t,n){for(var r=this.context.data[e],i=r?r.values.value:[],a=r?r[xd]&&r[xd].value:void 0,o=n===ay,l=i.length,s=0,u,c,f,d,h;s<l;++s)if(u=i[s],a&&o){if(c||(c={}),f=c[d=u.unit]||0,f===-1)continue;if(h=KF(t,u),c[d]=h?-1:++f,h&&a.size===1)return!0;if(!h&&f===a.get(d).count)return!1}else if(h=KF(t,u),o^h)return h;return l&&o}var ZF=tw(ou),FU=ZF.left,CU=ZF.right;function $U(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],a=r?r[xd]&&r[xd].value:void 0,o=n===ay,l=ou(t),s=FU(i,l);if(s===i.length||ou(i[s])!==l)return!1;if(a&&o){if(a.size===1)return!0;if(CU(i,l)-s<a.size)return!1}return!0}function SU(e,t){return e.map(n=>me(t.fields?{values:t.fields.map(r=>YF(r)(n.datum))}:{[Rr]:ou(n.datum)},t))}function MU(e,t,n,r){for(var i=this.context.data[e],a=i?i.values.value:[],o={},l={},s={},u,c,f,d,h,p,m,g,y,v,b=a.length,w=0,A,E;w<b;++w)if(u=a[w],d=u.unit,c=u.fields,f=u.values,c&&f){for(A=0,E=c.length;A<E;++A)h=c[A],m=o[h.field]||(o[h.field]={}),g=m[d]||(m[d]=[]),s[h.field]=y=h.type.charAt(0),v=oy[`${y}_union`],m[d]=v(g,ie(f[A]));n&&(g=l[d]||(l[d]=[]),g.push(ie(f).reduce((x,k,_)=>(x[c[_].field]=k,x),{})))}else h=Rr,p=ou(u),m=o[h]||(o[h]={}),g=m[d]||(m[d]=[]),g.push(p),n&&(g=l[d]||(l[d]=[]),g.push({[Rr]:p}));if(t||(t=JF),o[Rr]?o[Rr]=oy[`${Rr}_${t}`](...Object.values(o[Rr])):Object.keys(o).forEach(x=>{o[x]=Object.keys(o[x]).map(k=>o[x][k]).reduce((k,_)=>k===void 0?_:oy[`${s[x]}_${t}`](k,_))}),a=Object.keys(l),n&&a.length){let x=r?hU:dU;o[x]=t===JF?{[QF]:a.reduce((k,_)=>(k.push(...l[_]),k),[])}:{[pU]:a.map(k=>({[QF]:l[k]}))}}return o}var oy={[`${Rr}_union`]:sM,[`${Rr}_intersect`]:oM,E_union:function(e,t){if(!e.length)return t;for(var n=0,r=t.length;n<r;++n)e.includes(t[n])||e.push(t[n]);return e},E_intersect:function(e,t){return e.length?e.filter(n=>t.includes(n)):t},R_union:function(e,t){var n=zn(t[0]),r=zn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?(e[0]>n&&(e[0]=n),e[1]<r&&(e[1]=r),e):[n,r]},R_intersect:function(e,t){var n=zn(t[0]),r=zn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?r<e[0]||e[1]<n?[]:(e[0]<n&&(e[0]=n),e[1]>r&&(e[1]=r),e):[n,r]}},OU=":",BU="@";function ly(e,t,n,r){t[0].type!=="Literal"&&T("First argument to selection functions must be a string literal.");let i=t[0].value,a=t.length>=2&&Me(t).value,o="unit",l=BU+o,s=OU+i;a===ay&&!ue(r,l)&&(r[l]=n.getData(i).indataRef(n,o)),ue(r,s)||(r[s]=n.getData(i).tuplesRef())}function eC(e){let t=this.context.data[e];return t?t.values.value:[]}function zU(e,t,n){let r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i&&i.count}function NU(e,t){let n=this.context.dataflow,r=this.context.data[e].input;return n.pulse(r,n.changeset().remove(Bn).insert(t)),1}function RU(e,t,n){if(e){let r=this.context.dataflow,i=e.mark.source;r.pulse(i,r.changeset().encode(e,t))}return n===void 0?e:n}var lu=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?"null":r[e](n)(t)},TU=lu("format"),tC=lu("timeFormat"),LU=lu("utcFormat"),PU=lu("timeParse"),IU=lu("utcParse"),wd=new Date(2e3,0,1);function Ad(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?"":(wd.setYear(2e3),wd.setMonth(e),wd.setDate(t),tC.call(this,wd,n))}function jU(e){return Ad.call(this,e,1,"%B")}function qU(e){return Ad.call(this,e,1,"%b")}function UU(e){return Ad.call(this,0,2+e,"%A")}function WU(e){return Ad.call(this,0,2+e,"%a")}function sy(e,t,n,r){t[0].type!=="Literal"&&T("First argument to data functions must be a string literal.");let i=t[0].value,a=":"+i;if(!ue(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function GU(e,t,n,r){t[0].type!=="Literal"&&T("First argument to indata must be a string literal."),t[1].type!=="Literal"&&T("Second argument to indata must be a string literal.");let i=t[0].value,a=t[1].value,o="@"+a;ue(o,r)||(r[o]=n.getData(i).indataRef(n,a))}function nn(e,t,n,r){if(t[0].type==="Literal")nC(n,r,t[0].value);else for(e in n.scales)nC(n,r,e)}function nC(e,t,n){let r="%"+n;if(!ue(t,r))try{t[r]=e.scaleRef(n)}catch{}}function Tr(e,t){if(Ee(e)){let n=t.scales[e];return n&&UA(n.value)?n.value:void 0}else if(ge(e))return UA(e)?e:void 0}function HU(e,t,n){t.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,n._bandwidth=nn,n._range=nn,n._scale=nn;let r=i=>"_["+(i.type==="Literal"?K("%"+i.value):K("%")+"+"+e(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${e(i[1])})`}}function uy(e,t){return function(n,r,i){if(n){let a=Tr(n,(i||this).context);return a&&a.path[e](r)}else return t(r)}}var VU=uy("area",PT),XU=uy("bounds",UT),YU=uy("centroid",YT);function JU(e,t){let n=Tr(e,(t||this).context);return n&&n.scale()}function QU(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n}function cy(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(r){e.warn(r)}return n[n.length-1]}function KU(){return cy(this.context.dataflow,"warn",arguments)}function ZU(){return cy(this.context.dataflow,"info",arguments)}function eW(){return cy(this.context.dataflow,"debug",arguments)}function fy(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function dy(e){let t=pc(e),n=fy(t.r),r=fy(t.g),i=fy(t.b);return .2126*n+.7152*r+.0722*i}function tW(e,t){let n=dy(e),r=dy(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function nW(){let e=[].slice.call(arguments);return e.unshift({}),me(...e)}function rC(e,t){return e===t||e!==e&&t!==t?!0:ne(e)?ne(t)&&e.length===t.length?rW(e,t):!1:ce(e)&&ce(t)?iC(e,t):!1}function rW(e,t){for(let n=0,r=e.length;n<r;++n)if(!rC(e[n],t[n]))return!1;return!0}function iC(e,t){for(let n in e)if(!rC(e[n],t[n]))return!1;return!0}function aC(e){return t=>iC(e,t)}function iW(e,t,n,r,i,a){let o=this.context.dataflow,l=this.context.data[e],s=l.input,u=o.stamp(),c=l.changes,f,d;if(o._trigger===!1||!(s.value.length||t||r))return 0;if((!c||c.stamp<u)&&(l.changes=c=o.changeset(),c.stamp=u,o.runAfter(()=>{l.modified=!0,o.pulse(s,c).run()},!0,1)),n&&(f=n===!0?Bn:ne(n)||bc(n)?n:aC(n),c.remove(f)),t&&c.insert(t),r&&(f=aC(r),s.value.some(f)?c.remove(f):c.insert(r)),i)for(d in a)c.modify(i,d,a[d]);return 1}function aW(e){let t=e.touches,n=t[0].clientX-t[1].clientX,r=t[0].clientY-t[1].clientY;return Math.hypot(n,r)}function oW(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var oC={};function lW(e,t){let n=oC[t]||(oC[t]=ti(t));return ne(e)?e.map(n):n(e)}function Ed(e){return ne(e)||ArrayBuffer.isView(e)?e:null}function hy(e){return Ed(e)||(Ee(e)?e:null)}function sW(e,...t){return Ed(e).join(...t)}function uW(e,...t){return hy(e).indexOf(...t)}function cW(e,...t){return hy(e).lastIndexOf(...t)}function fW(e,...t){return hy(e).slice(...t)}function dW(e,t,n){return ge(n)&&T("Function argument passed to replace."),!Ee(t)&&!Fp(t)&&T("Please pass a string or RegExp argument to replace."),String(e).replace(t,n)}function hW(e){return Ed(e).slice().reverse()}function pW(e){return Ed(e).slice().sort(uc)}function mW(e,t,n){return Qm(e||0,t||0,n||0)}function gW(e,t){let n=Tr(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function yW(e,t){let n=Tr(e,(t||this).context);return n?n.copy():void 0}function vW(e,t){let n=Tr(e,(t||this).context);return n?n.domain():[]}function bW(e,t,n){let r=Tr(e,(n||this).context);return r?ne(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function xW(e,t){let n=Tr(e,(t||this).context);return n&&n.range?n.range():[]}function wW(e,t,n){let r=Tr(e,(n||this).context);return r?r(t):void 0}function AW(e,t,n,r,i){e=Tr(e,(i||this).context);let a=fE(t,n),o=e.domain(),l=o[0],s=Me(o),u=Jn;return s-l?u=JA(e,l,s):e=(e.interpolator?ke("sequential")().interpolator(e.interpolator()):ke("linear")().interpolate(e.interpolate()).range(e.range())).domain([l=0,s=1]),e.ticks&&(o=e.ticks(+r||15),l!==o[0]&&o.unshift(l),s!==Me(o)&&o.push(s)),o.forEach(c=>a.stop(u(c),e(c))),a}function EW(e,t,n){let r=Tr(e,(n||this).context);return function(i){return r?r.path.context(i)(t):""}}function kW(e){let t=null;return function(n){return n?hs(n,t||(t=Go(e))):e}}var lC=e=>e.data;function sC(e,t){let n=eC.call(t,e);return n.root&&n.root.lookup||{}}function _W(e,t,n){let r=sC(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(lC):void 0}function DW(e,t){let n=sC(e,this)[t];return n?n.ancestors().map(lC):void 0}var uC=()=>typeof window<"u"&&window||null;function FW(){let e=uC();return e?e.screen:{}}function CW(){let e=uC();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function $W(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function cC(e,t,n){if(!e)return[];let[r,i]=e,a=new lt().set(r[0],r[1],i[0],i[1]);return Mk(n||this.context.dataflow.scenegraph().root,a,SW(t))}function SW(e){let t=null;if(e){let n=ie(e.marktype),r=ie(e.markname);t=i=>(!n.length||n.some(a=>i.marktype===a))&&(!r.length||r.some(a=>i.name===a))}return t}function MW(e,t,n,r=5){e=ie(e);let i=e[e.length-1];return i===void 0||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e}function OW(e){return ie(e).reduce((t,[n,r],i)=>t+=i==0?`M ${n},${r} `:i===e.length-1?" Z":`L ${n},${r} `,"")}function BW(e,t,n){let{x:r,y:i,mark:a}=n,o=new lt().set(2**53-1,2**53-1,-(2**53-1),-(2**53-1));for(let[l,s]of t)l<o.x1&&(o.x1=l),l>o.x2&&(o.x2=l),s<o.y1&&(o.y1=s),s>o.y2&&(o.y2=s);return o.translate(r,i),cC([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(l=>zW(l.x,l.y,t))}function zW(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,l]=n[a],[s,u]=n[i];u>t!=l>t&&e<(o-s)*(t-u)/(l-u)+s&&r++}return r&1}var su={random(){return Nn()},cumulativeNormal:Fc,cumulativeLogNormal:lm,cumulativeUniform:fm,densityNormal:nm,densityLogNormal:om,densityUniform:cm,quantileNormal:Cc,quantileLogNormal:sm,quantileUniform:dm,sampleNormal:Dc,sampleLogNormal:am,sampleUniform:um,isArray:ne,isBoolean:Bp,isDate:ka,isDefined(e){return e!==void 0},isNumber:_a,isObject:ce,isRegExp:Fp,isString:Ee,isTuple:bc,isValid(e){return e!=null&&e===e},toBoolean:k2,toDate(e){return P2(e)},toNumber:zn,toString:F2,indexof:uW,join:sW,lastindexof:cW,replace:dW,reverse:hW,sort:pW,slice:fW,flush:Q2,lerp:A2,merge:nW,pad:S2,peek:Me,pluck:lW,span:sc,inrange:To,truncate:X2,rgb:pc,lab:m7,hcl:g7,hsl:w7,luminance:dy,contrast:tW,sequence:xn,format:TU,utcFormat:LU,utcParse:IU,utcOffset:_2,utcSequence:C2,timeFormat:tC,timeParse:PU,timeOffset:y2,timeSequence:U2,timeUnitSpecifier:$2,monthFormat:jU,monthAbbrevFormat:qU,dayFormat:UU,dayAbbrevFormat:WU,quarter:L2,utcquarter:j2,week:v2,utcweek:K2,dayofyear:x2,utcdayofyear:T2,warn:KU,info:ZU,debug:eW,extent(e){return Dr(e)},inScope:QU,intersect:cC,clampRange:g2,pinchDistance:aW,pinchAngle:oW,screen:FW,containerSize:$W,windowSize:CW,bandspace:mW,setdata:NU,pathShape:kW,panLinear:O2,panLog:R2,panPow:E2,panSymlog:D2,zoomLinear:Dp,zoomLog:zp,zoomPow:fc,zoomSymlog:Tp,encode:RU,modify:iW,lassoAppend:MW,lassoPath:OW,intersectLasso:BW},NW=["view","item","group","xy","x","y"],RW="event.vega.",fC="this.",py={},dC={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${K("$"+e)}]`,functions:TW,constants:GF,visitors:py},my=VF(dC);function TW(e){let t=HF(e);for(let n in NW.forEach(r=>t[r]=RW+r),su)t[n]=fC+n;return me(t,HU(e,su,py)),t}function rt(e,t,n){return arguments.length===1?su[e]:(su[e]=t,n&&(py[e]=n),my&&(my.functions[e]=fC+e),this)}rt("bandwidth",gW,nn),rt("copy",yW,nn),rt("domain",vW,nn),rt("range",xW,nn),rt("invert",bW,nn),rt("scale",wW,nn),rt("gradient",AW,nn),rt("geoArea",VU,nn),rt("geoBounds",XU,nn),rt("geoCentroid",YU,nn),rt("geoShape",EW,nn),rt("geoScale",JU,nn),rt("indata",zU,GU),rt("data",eC,sy),rt("treePath",_W,sy),rt("treeAncestors",DW,sy),rt("vlSelectionTest",DU,ly),rt("vlSelectionIdTest",$U,ly),rt("vlSelectionResolve",MU,ly),rt("vlSelectionTuples",SU);function Lr(e,t){let n={},r;try{e=Ee(e)?e:K(e)+"",r=WF(e)}catch{T("Expression parse error: "+e)}r.visit(a=>{if(a.type!=="CallExpression")return;let o=a.callee.name,l=dC.visitors[o];l&&l(o,a.arguments,t,n)});let i=my(r);return i.globals.forEach(a=>{let o="$"+a;!ue(n,o)&&t.getSignal(a)&&(n[o]=t.signalRef(a))}),{$expr:me({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}function LW(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(r=>t.parseOperator(r)),n.forEach(r=>t.parseOperatorParameters(r)),(e.streams||[]).forEach(r=>t.parseStream(r)),(e.updates||[]).forEach(r=>t.parseUpdate(r)),t.resolve()}var PW=_r(["rule"]),hC=_r(["group","image","rect"]);function IW(e,t){let n="";return PW[t]||(e.x2&&(e.x?(hC[t]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),e.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(hC[t]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),e.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n}function gy(e){return(e+"").toLowerCase()}function jW(e){return gy(e)==="operator"}function qW(e){return gy(e)==="collect"}function uu(e,t,n){n.endsWith(";")||(n="return("+n+");");let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}function UW(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}
7
- : (u > v || v == null) && u != null ? ${r}
8
- : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
9
- : v !== v && u === u ? ${r} : `}var WW={operator:(e,t)=>uu(e,["_"],t.code),parameter:(e,t)=>uu(e,["datum","_"],t.code),event:(e,t)=>uu(e,["event"],t.code),handler:(e,t)=>uu(e,["_","event"],`var datum=event.item&&event.item.datum;return ${t.code};`),encode:(e,t)=>{let{marktype:n,channels:r}=t,i="var o=item,datum=o.datum,m=0,$;";for(let a in r){let o="o["+K(a)+"]";i+=`$=${r[a].code};if(${o}!==$)${o}=$,m=1;`}return i+=IW(r,n),i+="return m;",uu(e,["item","_"],i)},codegen:{get(e){let t=`[${e.map(K).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n,r=Function("a","b","var u, v; return "+e.map((i,a)=>{let o=t[a],l,s;return i.path?(l=`a${i.path}`,s=`b${i.path}`):((n||(n={}))["f"+a]=i,l=`this.f${a}(a)`,s=`this.f${a}(b)`),UW(l,s,-o,o)}).join("")+"0;");return n?r.bind(n):r}}};function GW(e){let t=this;jW(e.type)||!e.type?t.operator(e,e.update?t.operatorExpression(e.update):null):t.transform(e,e.type)}function HW(e){let t=this;if(e.params){let n=t.get(e.id);n||T("Invalid operator id: "+e.id),t.dataflow.connect(n,n.parameters(t.parseParameters(e.params),e.react,e.initonly))}}function VW(e,t){t||(t={});let n=this;for(let r in e){let i=e[r];t[r]=ne(i)?i.map(a=>pC(a,n,t)):pC(i,n,t)}return t}function pC(e,t,n){if(!e||!ce(e))return e;for(let r=0,i=mC.length,a;r<i;++r)if(a=mC[r],ue(e,a.key))return a.parse(e,t,n);return e}var mC=[{key:"$ref",parse:XW},{key:"$key",parse:JW},{key:"$expr",parse:YW},{key:"$field",parse:QW},{key:"$encode",parse:ZW},{key:"$compare",parse:KW},{key:"$context",parse:eG},{key:"$subflow",parse:tG},{key:"$tupleid",parse:nG}];function XW(e,t){return t.get(e.$ref)||T("Operator not defined: "+e.$ref)}function YW(e,t,n){e.$params&&t.parseParameters(e.$params,n);let r="e:"+e.$expr.code;return t.fn[r]||(t.fn[r]=No(t.parameterExpression(e.$expr),e.$fields))}function JW(e,t){let n="k:"+e.$key+"_"+!!e.$flat;return t.fn[n]||(t.fn[n]=Mp(e.$key,e.$flat,t.expr.codegen))}function QW(e,t){if(!e.$field)return null;let n="f:"+e.$field+"_"+e.$name;return t.fn[n]||(t.fn[n]=ti(e.$field,e.$name,t.expr.codegen))}function KW(e,t){let n="c:"+e.$compare+"_"+e.$order,r=ie(e.$compare).map(i=>i&&i.$tupleid?Z:i);return t.fn[n]||(t.fn[n]=Np(r,e.$order,t.expr.codegen))}function ZW(e,t){let n=e.$encode,r={};for(let i in n){let a=n[i];r[i]=No(t.encodeExpression(a.$expr),a.$fields),r[i].output=a.$output}return r}function eG(e,t){return t}function tG(e,t){let n=e.$subflow;return function(r,i,a){let o=t.fork().parse(n),l=o.get(n.operators[0].id),s=o.signals.parent;return s&&s.set(a),l.detachSubflow=()=>t.detach(o),l}}function nG(){return Z}function rG(e){var t=this,n=e.filter==null?void 0:t.eventExpression(e.filter),r=e.stream==null?void 0:t.get(e.stream),i;e.source?r=t.events(e.source,e.type,n):e.merge&&(i=e.merge.map(a=>t.get(a)),r=i[0].merge.apply(i[0],i.slice(1))),e.between&&(i=e.between.map(a=>t.get(a)),r=r.between(i[0],i[1])),e.filter&&(r=r.filter(n)),e.throttle!=null&&(r=r.throttle(+e.throttle)),e.debounce!=null&&(r=r.debounce(+e.debounce)),r??T("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),t.stream(e,r)}function iG(e){var t=this,n=ce(n=e.source)?n.$ref:n,r=t.get(n),i=null,a=e.update,o=void 0;r||T("Source not defined: "+e.source),i=e.target&&e.target.$expr?t.eventExpression(e.target.$expr):t.get(e.target),a&&a.$expr&&(a.$params&&(o=t.parseParameters(a.$params)),a=t.handlerExpression(a.$expr)),t.update(e,r,i,a,o)}var aG={skip:!0};function oG(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(a=>{let o=t.signals[a];e.signals(a,o)&&(r[a]=o.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(a=>{let o=t.data[a];e.data(a,o)&&(i[a]=o.input.value)})}return t.subcontext&&e.recurse!==!1&&(n.subcontext=t.subcontext.map(a=>a.getState(e))),n}function lG(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(a=>{n.update(t.signals[a],i[a],aG)}),Object.keys(r||{}).forEach(a=>{n.pulse(t.data[a].input,n.changeset().remove(Bn).insert(r[a]))}),(e.subcontext||[]).forEach((a,o)=>{let l=t.subcontext[o];l&&l.setState(a)})}function gC(e,t,n,r){return new yC(e,t,n,r)}function yC(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||WW,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function vC(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}yC.prototype=vC.prototype={fork(){let e=new vC(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(n=>n!==e);let t=Object.keys(e.nodes);for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),qW(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let a=n.get(e.parent.$ref);a?(r.connect(a,[t]),t.targets().add(a)):(n.unresolved=n.unresolved||[]).push(()=>{a=n.get(e.parent.$ref),r.connect(a,[t]),t.targets().add(a)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let a in e.data){let o=n.data[a]||(n.data[a]={});e.data[a].forEach(l=>o[l]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[gy(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:LW,parseOperator:GW,parseOperatorParameters:HW,parseParameters:VW,parseStream:rG,parseUpdate:iG,getState:oG,setState:lG};function sG(e){let t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),bC(t,e.description()))}function bC(e,t){e&&(t==null?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}function uG(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}var yy="default";function cG(e){let t=e._signals.cursor||(e._signals.cursor=e.add({user:yy,item:null}));e.on(e.events("view","pointermove"),t,(n,r)=>{let i=t.value,a=i?Ee(i)?i:i.user:yy,o=r.item&&r.item.cursor||null;return i&&a===i.user&&o==i.item?i:{user:a,item:o}}),e.add(null,function(n){let r=n.cursor,i=this.value;return Ee(r)||(i=r.item,r=r.user),vy(e,r&&r!==yy?r:i||r),i},{cursor:t})}function vy(e,t){let n=e.globalCursor()?typeof document<"u"&&document.body:e.container();if(n)return t==null?n.style.removeProperty("cursor"):n.style.cursor=t}function kd(e,t){var n=e._runtime.data;return ue(n,t)||T("Unrecognized data set: "+t),n[t]}function fG(e,t){return arguments.length<2?kd(this,e).values.value:_d.call(this,e,$a().remove(Bn).insert(t))}function _d(e,t){bw(t)||T("Second argument to changes must be a changeset.");let n=kd(this,e);return n.modified=!0,this.pulse(n.input,t)}function dG(e,t){return _d.call(this,e,$a().insert(t))}function hG(e,t){return _d.call(this,e,$a().remove(t))}function xC(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function wC(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function Dd(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}function pG(e){var t=Dd(e),n=xC(e),r=wC(e);e._renderer.background(e.background()),e._renderer.resize(n,r,t),e._handler.origin(t),e._resizeListeners.forEach(i=>{try{i(n,r)}catch(a){e.error(a)}})}function mG(e,t,n){var r=e._renderer,i=r&&r.canvas(),a,o,l;return i&&(l=Dd(e),o=t.changedTouches?t.changedTouches[0]:t,a=rf(o,i),a[0]-=l[0],a[1]-=l[1]),t.dataflow=e,t.item=n,t.vega=gG(e,n,a),t}function gG(e,t,n){let r=t?t.mark.marktype==="group"?t:t.mark.group:null;function i(o){var l=r,s;if(o){for(s=t;s;s=s.mark.group)if(s.mark.name===o){l=s;break}}return l&&l.mark&&l.mark.interactive?l:{}}function a(o){if(!o)return n;Ee(o)&&(o=i(o));let l=n.slice();for(;o;)l[0]-=o.x||0,l[1]-=o.y||0,o=o.mark&&o.mark.group;return l}return{view:jt(e),item:jt(t||{}),group:i,xy:a,x:o=>a(o)[0],y:o=>a(o)[1]}}var AC="view",yG="timer",vG="window",bG={trap:!1};function xG(e){let t=me({defaults:{}},e),n=(r,i)=>{i.forEach(a=>{ne(r[a])&&(r[a]=_r(r[a]))})};return n(t.defaults,["prevent","allow"]),n(t,["view","window","selector"]),t}function EC(e,t,n,r){e._eventListeners.push({type:n,sources:ie(t),handler:r})}function wG(e,t){var n=e._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[t]:i?!i[t]:e.preventDefault()}function Fd(e,t,n){let r=e._eventConfig&&e._eventConfig[t];return r===!1||ce(r)&&!r[n]?(e.warn(`Blocked ${t} ${n} event listener.`),!1):!0}function AG(e,t,n){var r=this,i=new Ec(n),a=function(u,c){r.runAsync(null,()=>{e===AC&&wG(r,t)&&u.preventDefault(),i.receive(mG(r,u,c))})},o;if(e===yG)Fd(r,"timer",t)&&r.timer(a,t);else if(e===AC)Fd(r,"view",t)&&r.addEventListener(t,a,bG);else if(e===vG?Fd(r,"window",t)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&Fd(r,"selector",t)&&(o=Array.from(document.querySelectorAll(e))),!o)r.warn("Can not resolve event source: "+e);else{for(var l=0,s=o.length;l<s;++l)o[l].addEventListener(t,a);EC(r,o,t,a)}return i}function kC(e){return e.item}function _C(e){return e.item.mark.source}function DC(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function EG(e,t){return e=[e||"hover"],t=[t||"update",e[0]],this.on(this.events("view","pointerover",kC),_C,DC(e)),this.on(this.events("view","pointerout",kC),_C,DC(t)),this}function kG(){for(var e=this._tooltip,t=this._timers,n=this._handler.handlers(),r=this._eventListeners,i=t.length,a,o,l,s;--i>=0;)t[i].stop();for(i=r.length;--i>=0;)for(o=r[i],a=o.sources.length;--a>=0;)o.sources[a].removeEventListener(o.type,o.handler);for(e&&e.call(this,this._handler,null,null,null),i=n.length;--i>=0;)s=n[i].type,l=n[i].handler,this._handler.off(s,l);return this}function _n(e,t,n){let r=document.createElement(e);for(let i in t)r.setAttribute(i,t[i]);return n!=null&&(r.textContent=n),r}var _G="vega-bind",DG="vega-bind-name",FG="vega-bind-radio";function CG(e,t,n){if(!t)return;let r=n.param,i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:a=>{a!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,a)})}},r.debounce&&(i.update=Lp(r.debounce,i.update))),(r.input==null&&r.element?$G:MG)(i,t,r,e),i.active||(i.active=(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),!0)),i}function $G(e,t,n,r){let i=n.event||"input",a=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,a),EC(r,t,i,a),e.set=o=>{t.value=o,t.dispatchEvent(SG(i))}}function SG(e){return typeof Event<"u"?new Event(e):{type:e}}function MG(e,t,n,r){let i=r.signal(n.signal),a=_n("div",{class:_G}),o=n.input==="radio"?a:a.appendChild(_n("label"));o.appendChild(_n("span",{class:DG},n.name||n.signal)),t.appendChild(a);let l=OG;switch(n.input){case"checkbox":l=BG;break;case"select":l=zG;break;case"radio":l=NG;break;case"range":l=RG;break}l(e,o,n,i)}function OG(e,t,n,r){let i=_n("input");for(let a in n)a!=="signal"&&a!=="element"&&i.setAttribute(a==="input"?"type":a,n[a]);i.setAttribute("name",n.signal),i.value=r,t.appendChild(i),i.addEventListener("input",()=>e.update(i.value)),e.elements=[i],e.set=a=>i.value=a}function BG(e,t,n,r){let i={type:"checkbox",name:n.signal};r&&(i.checked=!0);let a=_n("input",i);t.appendChild(a),a.addEventListener("change",()=>e.update(a.checked)),e.elements=[a],e.set=o=>a.checked=!!o||null}function zG(e,t,n,r){let i=_n("select",{name:n.signal}),a=n.labels||[];n.options.forEach((o,l)=>{let s={value:o};Cd(o,r)&&(s.selected=!0),i.appendChild(_n("option",s,(a[l]||o)+""))}),t.appendChild(i),i.addEventListener("change",()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=o=>{for(let l=0,s=n.options.length;l<s;++l)if(Cd(n.options[l],o)){i.selectedIndex=l;return}}}function NG(e,t,n,r){let i=_n("span",{class:FG}),a=n.labels||[];t.appendChild(i),e.elements=n.options.map((o,l)=>{let s={type:"radio",name:n.signal,value:o};Cd(o,r)&&(s.checked=!0);let u=_n("input",s);u.addEventListener("change",()=>e.update(o));let c=_n("label",{},(a[l]||o)+"");return c.prepend(u),i.appendChild(c),u}),e.set=o=>{let l=e.elements,s=l.length;for(let u=0;u<s;++u)Cd(l[u].value,o)&&(l[u].checked=!0)}}function RG(e,t,n,r){r=r===void 0?(+n.max+ +n.min)/2:r;let i=n.max==null?Math.max(100,+r)||100:n.max,a=n.min||Math.min(0,i,+r)||0,o=n.step||Z2(a,i,100),l=_n("input",{type:"range",name:n.signal,min:a,max:i,step:o});l.value=r;let s=_n("span",{},+r);t.appendChild(l),t.appendChild(s);let u=()=>{s.textContent=l.value,e.update(+l.value)};l.addEventListener("input",u),l.addEventListener("change",u),e.elements=[l],e.set=c=>{l.value=c,s.textContent=c}}function Cd(e,t){return e===t||e+""==t+""}function FC(e,t,n,r,i,a){return t||(t=new r(e.loader())),t.initialize(n,xC(e),wC(e),Dd(e),i,a).background(e.background())}function by(e,t){return t?function(){try{t.apply(this,arguments)}catch(n){e.error(n)}}:null}function TG(e,t,n,r){let i=new r(e.loader(),by(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,Dd(e),e);return t&&t.handlers().forEach(a=>{i.on(a.type,a.handler)}),i}function LG(e,t){let n=this,r=n._renderType,i=n._eventConfig.bind,a=yf(r);e=n._el=e?xy(n,e,!0):null,sG(n),a||n.error("Unrecognized renderer type: "+r);let o=a.handler||Fs,l=e?a.renderer:a.headless;return n._renderer=l?FC(n,n._renderer,e,l):null,n._handler=TG(n,n._handler,e,o),n._redraw=!0,e&&i!=="none"&&(t=t?n._elBind=xy(n,t,!0):e.appendChild(_n("form",{class:"vega-bindings"})),n._bind.forEach(s=>{s.param.element&&i!=="container"&&(s.element=xy(n,s.param.element,!!s.param.input))}),n._bind.forEach(s=>{CG(n,s.element||t,s)})),n}function xy(e,t,n){if(typeof t=="string")if(typeof document<"u"){if(t=document.querySelector(t),!t)return e.error("Signal bind element not found: "+t),null}else return e.error("DOM document instance not found."),null;if(t&&n)try{t.textContent=""}catch(r){t=null,e.error(r)}return t}var cu=e=>+e||0,PG=e=>({top:e,bottom:e,left:e,right:e});function CC(e){return ce(e)?{top:cu(e.top),bottom:cu(e.bottom),left:cu(e.left),right:cu(e.right)}:PG(cu(e))}async function wy(e,t,n,r){let i=yf(t),a=i&&i.headless;return a||T("Unrecognized renderer type: "+t),await e.runAsync(),FC(e,null,null,a,n,r).renderAsync(e._scenegraph.root)}async function IG(e,t){e!==Yi.Canvas&&e!==Yi.SVG&&e!==Yi.PNG&&T("Unrecognized image type: "+e);let n=await wy(this,e,t);return e===Yi.SVG?jG(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function jG(e,t){let n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}async function qG(e,t){return(await wy(this,Yi.Canvas,e,t)).canvas()}async function UG(e){return(await wy(this,Yi.SVG,e)).svg()}function WG(e,t,n){return gC(e,jo,su,n).parse(t)}function GG(e){var t=this._runtime.scales;return ue(t,e)||T("Unrecognized scale or projection: "+e),t[e].value}var $C="width",SC="height",Ay="padding",MC={skip:!0};function OC(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===Ay?r.left+r.right:0)}function BC(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===Ay?r.top+r.bottom:0)}function HG(e){var t=e._signals,n=t[$C],r=t[SC],i=t[Ay];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,l=>{e._width=l.size,e._viewWidth=OC(e,l.size),a()},{size:n}),e._resizeHeight=e.add(null,l=>{e._height=l.size,e._viewHeight=BC(e,l.size),a()},{size:r});let o=e.add(null,a,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}function VG(e,t,n,r,i,a){this.runAfter(o=>{let l=0;o._autosize=0,o.width()!==n&&(l=1,o.signal($C,n,MC),o._resizeWidth.skip(!0)),o.height()!==r&&(l=1,o.signal(SC,r,MC),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),l&&o.run("enter"),a&&o.runAfter(s=>s.resize())},!1,1)}function XG(e){return this._runtime.getState(e||{data:YG,signals:JG,recurse:!0})}function YG(e,t){return t.modified&&ne(t.input.value)&&!e.startsWith("_:vega:_")}function JG(e,t){return!(e==="parent"||t instanceof jo.proxy)}function QG(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},t=>{t._trigger=!0}),this}function KG(e,t){function n(r){e({timestamp:Date.now(),elapsed:r})}this._timers.push(uM(n,t))}function ZG(e,t,n,r){let i=e.element();i&&i.setAttribute("title",eH(r))}function eH(e){return e==null?"":ne(e)?zC(e):ce(e)&&!ka(e)?tH(e):e+""}function tH(e){return Object.keys(e).map(t=>{let n=e[t];return t+": "+(ne(n)?zC(n):NC(n))}).join(`
10
- `)}function zC(e){return"["+e.map(NC).join(", ")+"]"}function NC(e){return ne(e)?"[\u2026]":ce(e)&&!ka(e)?"{\u2026}":e}function nH(){if(this.renderer()==="canvas"&&this._renderer._canvas){let e=null,t=()=>{e==null||e();let n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",t),e=()=>{n.removeEventListener("change",t)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};t()}}function RC(e,t){let n=this;if(t||(t={}),Io.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),t.logLevel!=null&&n.logLevel(t.logLevel),t.locale||e.locale){let a=me({},e.locale,t.locale);n.locale(J2(a.number,a.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||Yi.Canvas,n._scenegraph=new XE;let r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||ZG,n._redraw=!0,n._handler=new Fs().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=xG(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);let i=WG(n,e,t.expr);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(a=>({state:null,param:me({},a)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=OC(n,n._width),n._viewHeight=BC(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,HG(n),uG(n),cG(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind),t.watchPixelRatio&&n._watchPixelRatio()}function $d(e,t){return ue(e._signals,t)?e._signals[t]:T("Unrecognized signal name: "+K(t))}function TC(e,t){let n=(e._targets||[]).filter(r=>r._update&&r._update.handler===t);return n.length?n[0]:null}function LC(e,t,n,r){let i=TC(n,r);return i||(i=by(e,()=>r(t,n.value)),i.handler=r,e.on(n,null,i)),e}function PC(e,t,n){let r=TC(t,n);return r&&t._targets.remove(r),e}G(RC,Io,{async evaluate(e,t,n){if(await Io.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,pG(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&vc(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=e==null?null:e+"";return t!==this._desc&&bC(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let r=$d(this,e);return arguments.length===1?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",CC(e)):CC(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(yf(e)||T("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(Io.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch($d(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:VG,addEventListener(e,t,n){let r=t;return n&&n.trap===!1||(r=by(this,t),r.raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var n=this._handler.handlers(e),r=n.length,i,a;--r>=0;)if(a=n[r].type,i=n[r].handler,e===a&&(t===i||t===i.raw)){this._handler.off(a,i);break}return this},addResizeListener(e){let t=this._resizeListeners;return t.includes(e)||t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return LC(this,e,$d(this,e),t)},removeSignalListener(e,t){return PC(this,$d(this,e),t)},addDataListener(e,t){return LC(this,e,kd(this,e).values,t)},removeDataListener(e,t){return PC(this,kd(this,e).values,t)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){let t=vy(this,null);this._globalCursor=!!e,t&&vy(this,t)}return this}else return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:KG,events:AG,finalize:kG,hover:EG,data:fG,change:_d,insert:dG,remove:hG,scale:GG,initialize:LG,toImageURL:IG,toCanvas:qG,toSVG:UG,getState:XG,setState:QG,_watchPixelRatio:nH});var rH="view",Sd="[",Md="]",IC="{",jC="}",iH=":",qC=",",aH="@",oH=">",lH=/[[\]{}]/,sH={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},UC,WC;function aa(e,t,n){return UC=t||rH,WC=n||sH,GC(e.trim()).map(Ey)}function uH(e){return WC[e]}function fu(e,t,n,r,i){let a=e.length,o=0,l;for(;t<a;++t){if(l=e[t],!o&&l===n)return t;i&&i.includes(l)?--o:r&&r.includes(l)&&++o}return t}function GC(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=fu(e,i,qC,Sd+IC,Md+jC),t.push(e.substring(r,i).trim()),r=++i;if(t.length===0)throw"Empty event selector: "+e;return t}function Ey(e){return e[0]==="["?cH(e):fH(e)}function cH(e){let t=e.length,n=1,r;if(n=fu(e,n,Md,Sd,Md),n===t)throw"Empty between selector: "+e;if(r=GC(e.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+e;if(e=e.slice(n+1).trim(),e[0]!==oH)throw"Expected '>' after between selector: "+e;r=r.map(Ey);let i=Ey(e.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function fH(e){let t={source:UC},n=[],r=[0,0],i=0,a=0,o=e.length,l=0,s,u;if(e[o-1]===jC){if(l=e.lastIndexOf(IC),l>=0){try{r=dH(e.substring(l+1,o-1))}catch{throw"Invalid throttle specification: "+e}e=e.slice(0,l).trim(),o=e.length}else throw"Unmatched right brace: "+e;l=0}if(!o)throw e;if(e[0]===aH&&(i=++l),s=fu(e,l,iH),s<o&&(n.push(e.substring(a,s).trim()),a=l=++s),l=fu(e,l,Sd),l===o)n.push(e.substring(a,o).trim());else if(n.push(e.substring(a,l).trim()),u=[],a=++l,a===o)throw"Unmatched left bracket: "+e;for(;l<o;){if(l=fu(e,l,Md),l===o)throw"Unmatched left bracket: "+e;if(u.push(e.substring(a,l).trim()),l<o-1&&e[++l]!==Sd)throw"Expected left bracket: "+e;a=++l}if(!(o=n.length)||lH.test(n[o-1]))throw"Invalid event selector: "+e;return o>1?(t.type=n[1],i?t.markname=n[0].slice(1):uH(n[0])?t.marktype=n[0]:t.source=n[0]):t.type=n[0],t.type.slice(-1)==="!"&&(t.consume=!0,t.type=t.type.slice(0,-1)),u!=null&&(t.filter=u),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}function dH(e){let t=e.split(qC);if(!e.length||t.length>2)throw e;return t.map(n=>{let r=+n;if(r!==r)throw e;return r})}function hH(e){return ce(e)?e:{type:e||"pad"}}var du=e=>+e||0,pH=e=>({top:e,bottom:e,left:e,right:e});function mH(e){return ce(e)?e.signal?e:{top:du(e.top),bottom:du(e.bottom),left:du(e.left),right:du(e.right)}:pH(du(e))}var gt=e=>ce(e)&&!ne(e)?me({},e):{value:e};function HC(e,t,n,r){return n==null?0:(ce(n)&&!ne(n)||ne(n)&&n.length&&ce(n[0])?e.update[t]=n:e[r||"enter"][t]={value:n},1)}function _t(e,t,n){for(let r in t)HC(e,r,t[r]);for(let r in n)HC(e,r,n[r],"update")}function fl(e,t,n){for(let r in t)n&&ue(n,r)||(e[r]=me(e[r]||{},t[r]));return e}function dl(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}var gH="frame",VC="scope",yH="axis",vH="axis-domain",bH="axis-grid",xH="axis-label",wH="axis-tick",AH="axis-title",EH="legend",kH="legend-band",_H="legend-entry",DH="legend-gradient",XC="legend-label",FH="legend-symbol",CH="legend-title",$H="title",SH="title-text",MH="title-subtitle";function OH(e,t,n,r,i){let a={},o={},l,s,u,c;for(s in s="lineBreak",t==="text"&&i[s]!=null&&!dl(s,e)&&ky(a,s,i[s]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n==="frame"?i.group:n==="mark"?me({},i.mark,i[t]):null,c)u=dl(s,e)||(s==="fill"||s==="stroke")&&(dl("fill",e)||dl("stroke",e)),u||ky(a,s,c[s]);for(s in ie(r).forEach(f=>{let d=i.style&&i.style[f];for(let h in d)dl(h,e)||ky(a,h,d[h])}),e=me({},e),a)c=a[s],c.signal?(l||(l={}))[s]=c:o[s]=c;return e.enter=me(o,e.enter),l&&(e.update=me(l,e.update)),e}function ky(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}var YC=e=>Ee(e)?K(e):e.signal?`(${e.signal})`:JC(e);function Od(e){if(e.gradient!=null)return zH(e);let t=e.signal?`(${e.signal})`:e.color?BH(e.color):e.field==null?e.value===void 0?void 0:K(e.value):JC(e.field);return e.scale!=null&&(t=NH(e,t)),t===void 0&&(t=null),e.exponent!=null&&(t=`pow(${t},${zd(e.exponent)})`),e.mult!=null&&(t+=`*${zd(e.mult)}`),e.offset!=null&&(t+=`+${zd(e.offset)}`),e.round&&(t=`round(${t})`),t}var Bd=(e,t,n,r)=>`(${e}(${[t,n,r].map(Od).join(",")})+'')`;function BH(e){return e.c?Bd("hcl",e.h,e.c,e.l):e.h||e.s?Bd("hsl",e.h,e.s,e.l):e.l||e.a?Bd("lab",e.l,e.a,e.b):e.r||e.g||e.b?Bd("rgb",e.r,e.g,e.b):null}function zH(e){let t=[e.start,e.stop,e.count].map(n=>n==null?null:K(n));for(;t.length&&Me(t)==null;)t.pop();return t.unshift(YC(e.gradient)),`gradient(${t.join(",")})`}function zd(e){return ce(e)?"("+Od(e)+")":e}function JC(e){return QC(ce(e)?e:{datum:e})}function QC(e){let t,n,r;if(e.signal)t="datum",r=e.signal;else if(e.group||e.parent){for(n=Math.max(1,e.level||1),t="item";n-- >0;)t+=".mark.group";e.parent?(r=e.parent,t+=".datum"):r=e.group}else e.datum?(t="datum",r=e.datum):T("Invalid field reference: "+K(e));return e.signal||(r=Ee(r)?I2(r).map(K).join("]["):QC(r)),t+"["+r+"]"}function NH(e,t){let n=YC(e.scale);return e.range==null?(t!==void 0&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+"+":"")+`_bandwidth(${n})`+(+e.band==1?"":"*"+zd(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),t??(t="0")):t=`lerp(_range(${n}), ${+e.range})`,t}function RH(e){let t="";return e.forEach(n=>{let r=Od(n);t+=n.test?`(${n.test})?${r}:`:r}),Me(t)===":"&&(t+="null"),t}function KC(e,t,n,r,i,a){let o={};for(let l in a||(a={}),a.encoders={$encode:o},e=OH(e,t,n,r,i.config),e)o[l]=TH(e[l],t,a,i);return a}function TH(e,t,n,r){let i={},a={};for(let o in e)e[o]!=null&&(i[o]=PH(LH(e[o]),r,n,a));return{$expr:{marktype:t,channels:i},$fields:Object.keys(a),$output:Object.keys(e)}}function LH(e){return ne(e)?RH(e):Od(e)}function PH(e,t,n,r){let i=Lr(e,t);return i.$fields.forEach(a=>r[a]=1),me(n,i.$params),i.$expr}var IH="outer",jH=["value","update","init","react","bind"];function ZC(e,t){T(e+' for "outer" push: '+K(t))}function e$(e,t){let n=e.name;if(e.push===IH)t.signals[n]||ZC("No prior signal definition",n),jH.forEach(r=>{e[r]!==void 0&&ZC("Invalid property ",r)});else{let r=t.addSignal(n,e.value);e.react===!1&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function _y(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function Nd(e,t,n,r){return new _y(e,t,n,r)}function Rd(e,t){return Nd("operator",e,t)}function te(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function hu(e,t){return t?{$field:e,$name:t}:{$field:e}}var Dy=hu("key");function t$(e,t){return{$compare:e,$order:t}}function qH(e,t){let n={$key:e};return t&&(n.$flat=!0),n}var UH="ascending",WH="descending";function GH(e){return ce(e)?(e.order===WH?"-":"+")+Td(e.op,e.field):""}function Td(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}var Fy="scope",Cy="view";function ht(e){return e&&e.signal}function HH(e){return e&&e.expr}function Ld(e){if(ht(e))return!0;if(ce(e)){for(let t in e)if(Ld(e[t]))return!0}return!1}function or(e,t){return e??t}function Ga(e){return e&&e.signal||e}var n$="timer";function pu(e,t){return(e.merge?XH:e.stream?YH:e.type?JH:T("Invalid stream specification: "+K(e)))(e,t)}function VH(e){return e===Fy?Cy:e||Cy}function XH(e,t){let n=$y({merge:e.merge.map(r=>pu(r,t))},e,t);return t.addStream(n).id}function YH(e,t){let n=$y({stream:pu(e.stream,t)},e,t);return t.addStream(n).id}function JH(e,t){let n;e.type===n$?(n=t.event(n$,e.throttle),e={between:e.between,filter:e.filter}):n=t.event(VH(e.source),e.type);let r=$y({stream:n},e,t);return Object.keys(r).length===1?n:t.addStream(r).id}function $y(e,t,n){let r=t.between;return r&&(r.length!==2&&T('Stream "between" parameter must have 2 entries: '+K(t)),e.between=[pu(r[0],n),pu(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(QH(t.marktype,t.markname,t.markrole)),t.source===Fy&&r.push("inScope(event.item)"),r.length&&(e.filter=Lr("("+r.join(")&&(")+")",n).$expr),(r=t.throttle)!=null&&(e.throttle=+r),(r=t.debounce)!=null&&(e.debounce=+r),t.consume&&(e.consume=!0),e}function QH(e,t,n){let r="event.item";return r+(e&&e!=="*"?"&&"+r+".mark.marktype==='"+e+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(t?"&&"+r+".mark.name==='"+t+"'":"")}var KH={code:"_.$value",ast:{type:"Identifier",value:"value"}};function ZH(e,t,n){let r=e.encode,i={target:n},a=e.events,o=e.update,l=[];a||T("Signal update missing events specification."),Ee(a)&&(a=aa(a,t.isSubscope()?Fy:Cy)),a=ie(a).filter(s=>s.signal||s.scale?(l.push(s),0):1),l.length>1&&(l=[tV(l)]),a.length&&l.push(a.length>1?{merge:a}:a[0]),r!=null&&(o&&T("Signal encode and update are mutually exclusive."),o="encode(item(),"+K(r)+")"),i.update=Ee(o)?Lr(o,t):o.expr==null?o.value==null?o.signal==null?T("Invalid signal update specification."):{$expr:KH,$params:{$value:t.signalRef(o.signal)}}:o.value:Lr(o.expr,t),e.force&&(i.options={force:!0}),l.forEach(s=>t.addUpdate(me(eV(s,t),i)))}function eV(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):pu(e,t)}}function tV(e){return{signal:"["+e.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function nV(e,t){let n=t.getSignal(e.name),r=e.update;e.init&&(r?T("Signals can not include both init and update expressions."):(r=e.init,n.initonly=!0)),r&&(r=Lr(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(i=>ZH(i,t,n.id))}var Te=e=>(t,n,r)=>Nd(e,n,t||void 0,r),r$=Te("aggregate"),rV=Te("axisticks"),i$=Te("bound"),lr=Te("collect"),a$=Te("compare"),iV=Te("datajoin"),o$=Te("encode"),aV=Te("expression"),oV=Te("facet"),lV=Te("field"),sV=Te("key"),uV=Te("legendentries"),cV=Te("load"),fV=Te("mark"),dV=Te("multiextent"),hV=Te("multivalues"),pV=Te("overlap"),mV=Te("params"),l$=Te("prefacet"),gV=Te("projection"),yV=Te("proxy"),vV=Te("relay"),s$=Te("render"),bV=Te("scale"),Ha=Te("sieve"),xV=Te("sortitems"),u$=Te("viewlayout"),wV=Te("values"),AV=0,c$={min:"min",max:"max",count:"sum"};function EV(e,t){let n=e.type||"linear";WA(n)||T("Unrecognized scale type: "+K(n)),t.addScale(e.name,{type:n,domain:void 0})}function kV(e,t){let n=t.getScale(e.name).params,r;for(r in n.domain=f$(e.domain,e,t),e.range!=null&&(n.range=h$(e,t,n)),e.interpolate!=null&&zV(e.interpolate,n),e.nice!=null&&(n.nice=BV(e.nice,t)),e.bins!=null&&(n.bins=OV(e.bins,t)),e)ue(n,r)||r==="name"||(n[r]=jn(e[r],t))}function jn(e,t){return ce(e)?e.signal?t.signalRef(e.signal):T("Unsupported object: "+K(e)):e}function Pd(e,t){return e.signal?t.signalRef(e.signal):e.map(n=>jn(n,t))}function Id(e){T("Can not find data set: "+K(e))}function f$(e,t,n){if(!e){(t.domainMin!=null||t.domainMax!=null)&&T("No scale domain defined for domainMin/domainMax to override.");return}return e.signal?n.signalRef(e.signal):(ne(e)?_V:e.fields?FV:DV)(e,t,n)}function _V(e,t,n){return e.map(r=>jn(r,n))}function DV(e,t,n){let r=n.getData(e.data);return r||Id(e.data),Wo(t.type)?r.valuesRef(n,e.field,d$(e.sort,!1)):VA(t.type)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function FV(e,t,n){let r=e.data,i=e.fields.reduce((a,o)=>(o=Ee(o)?{data:r,field:o}:ne(o)||o.signal?CV(o,n):o,a.push(o),a),[]);return(Wo(t.type)?$V:VA(t.type)?SV:MV)(e,n,i)}function CV(e,t){let n="_:vega:_"+AV++,r=lr({});if(ne(e))r.value={$ingest:e};else if(e.signal){let i="setdata("+K(n)+","+e.signal+")";r.params.input=t.signalRef(i)}return t.addDataPipeline(n,[r,Ha({})]),{data:n,field:"data"}}function $V(e,t,n){let r=d$(e.sort,!0),i,a,o={groupby:Dy,pulse:n.map(s=>{let u=t.getData(s.data);return u||Id(s.data),u.countsRef(t,s.field,r)})};r&&(i=r.op||"count",a=r.field?Td(i,r.field):"count",o.ops=[c$[i]],o.fields=[t.fieldRef(a)],o.as=[a]),i=t.add(r$(o));let l=t.add(lr({pulse:te(i)}));return a=t.add(wV({field:Dy,sort:t.sortRef(r),pulse:te(l)})),te(a)}function d$(e,t){return e&&(!e.field&&!e.op?ce(e)?e.field="key":e={field:"key"}:!e.field&&e.op!=="count"?T("No field provided for sort aggregate op: "+e.op):t&&e.field&&e.op&&!c$[e.op]&&T("Multiple domain scales can not be sorted using "+e.op)),e}function SV(e,t,n){let r=n.map(i=>{let a=t.getData(i.data);return a||Id(i.data),a.domainRef(t,i.field)});return te(t.add(hV({values:r})))}function MV(e,t,n){let r=n.map(i=>{let a=t.getData(i.data);return a||Id(i.data),a.extentRef(t,i.field)});return te(t.add(dV({extents:r})))}function OV(e,t){return e.signal||ne(e)?Pd(e,t):t.objectProperty(e)}function BV(e,t){return e.signal?t.signalRef(e.signal):ce(e)?{interval:jn(e.interval),step:jn(e.step)}:jn(e)}function zV(e,t){t.interpolate=jn(e.type||e),e.gamma!=null&&(t.interpolateGamma=jn(e.gamma))}function h$(e,t,n){let r=t.config.range,i=e.range;if(i.signal)return t.signalRef(i.signal);if(Ee(i)){if(r&&ue(r,i))return e=me({},e,{range:r[i]}),h$(e,t,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=Wo(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:T("Unrecognized scale range value: "+K(i))}else if(i.scheme){n.scheme=ne(i.scheme)?Pd(i.scheme,t):jn(i.scheme,t),i.extent&&(n.schemeExtent=Pd(i.extent,t)),i.count&&(n.schemeCount=jn(i.count,t));return}else if(i.step){n.rangeStep=jn(i.step,t);return}else{if(Wo(e.type)&&!ne(i))return f$(i,e,t);ne(i)||T("Unsupported range type: "+K(i))}return i.map(a=>(ne(a)?Pd:jn)(a,t))}function NV(e,t){let n=t.config.projection||{},r={};for(let i in e)i!=="name"&&(r[i]=Sy(e[i],i,t));for(let i in n)r[i]??(r[i]=Sy(n[i],i,t));t.addProjection(e.name,r)}function Sy(e,t,n){return ne(e)?e.map(r=>Sy(r,t,n)):ce(e)?e.signal?n.signalRef(e.signal):t==="fit"?e:T("Unsupported parameter object: "+K(e)):e}var sr="top",hl="left",pl="right",oa="bottom",p$="center",RV="vertical",TV="start",LV="middle",PV="end",My="index",Oy="label",IV="offset",jd="perc",qn="value",mu="guide-label",By="guide-title",jV="group-title",qV="group-subtitle",m$="symbol",qd="gradient",zy="discrete",Ny="size",Ry=[Ny,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],gu={name:1,style:1,interactive:1},xe={value:0},Un={value:1},Ud="group",g$="rect",Ty="rule",UV="symbol",Va="text";function yu(e){return e.type=Ud,e.interactive=e.interactive||!1,e}function hn(e,t){let n=(r,i)=>or(e[r],or(t[r],i));return n.isVertical=r=>RV===or(e.direction,t.direction||(r?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>or(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>or(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>or(e.columns,or(t.columns,+n.isVertical(!0))),n}function y$(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function WV(e,t,n){let r=t.config.style[n];return r&&r[e]}function Wd(e,t,n){return`item.anchor === '${TV}' ? ${e} : item.anchor === '${PV}' ? ${t} : ${n}`}var Ly=Wd(K(hl),K(pl),K(p$));function GV(e){let t=e("tickBand"),n=e("tickOffset"),r,i;return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},ce(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):t==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e("bandPosition"),i=e("tickExtra")),{extra:i,band:r,offset:n}}function v$(e,t){return t?e?ce(e)?Object.assign({},e,{offset:v$(e.offset,t)}):{value:e,offset:t}:t:e}function Dn(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=fl(e.encode,t,gu)):e.interactive=!1,e}function HV(e,t,n,r){let i=hn(e,n),a=i.isVertical(),o=i.gradientThickness(),l=i.gradientLength(),s,u,c,f,d;a?(u=[0,1],c=[0,0],f=o,d=l):(u=[0,0],c=[1,0],f=l,d=o);let h={enter:s={opacity:xe,x:xe,y:xe,width:gt(f),height:gt(d)},update:me({},s,{opacity:Un,fill:{gradient:t,start:u,stop:c}}),exit:{opacity:xe}};return _t(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Dn({type:g$,role:DH,encode:h},r)}function VV(e,t,n,r,i){let a=hn(e,n),o=a.isVertical(),l=a.gradientThickness(),s=a.gradientLength(),u,c,f,d,h="";o?(u="y",f="y2",c="x",d="width",h="1-"):(u="x",f="x2",c="y",d="height");let p={opacity:xe,fill:{scale:t,field:qn}};p[u]={signal:h+"datum.perc",mult:s},p[c]=xe,p[f]={signal:h+"datum.perc2",mult:s},p[d]=gt(l);let m={enter:p,update:me({},p,{opacity:Un}),exit:{opacity:xe}};return _t(m,{stroke:a("gradientStrokeColor"),strokeWidth:a("gradientStrokeWidth")},{opacity:a("gradientOpacity")}),Dn({type:g$,role:kH,key:qn,from:i,encode:m},r)}var XV=`datum.${jd}<=0?"${hl}":datum.${jd}>=1?"${pl}":"${p$}"`,YV=`datum.${jd}<=0?"${oa}":datum.${jd}>=1?"${sr}":"${LV}"`;function b$(e,t,n,r){let i=hn(e,t),a=i.isVertical(),o=gt(i.gradientThickness()),l=i.gradientLength(),s=i("labelOverlap"),u,c,f,d,h="",p={enter:u={opacity:xe},update:c={opacity:Un,text:{field:Oy}},exit:{opacity:xe}};return _t(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:or(e.labelLimit,t.gradientLabelLimit)}),a?(u.align={value:"left"},u.baseline=c.baseline={signal:YV},f="y",d="x",h="1-"):(u.align=c.align={signal:XV},u.baseline={value:"top"},f="x",d="y"),u[f]=c[f]={signal:h+"datum.perc",mult:l},u[d]=c[d]=o,o.offset=or(e.labelOffset,t.gradientLabelOffset)||0,s=s?{separation:i("labelSeparation"),method:s,order:"datum."+My}:void 0,Dn({type:Va,role:XC,style:mu,key:qn,from:r,encode:p,overlap:s},n)}function JV(e,t,n,r,i){let a=hn(e,t),o=n.entries,l=!!(o&&o.interactive),s=o?o.name:void 0,u=a("clipHeight"),c=a("symbolOffset"),f={data:"value"},d=`(${i}) ? datum.${IV} : datum.${Ny}`,h=u?gt(u):{field:Ny},p=`datum.${My}`,m=`max(1, ${i})`,g,y,v,b,w;h.mult=.5,g={enter:y={opacity:xe,x:{signal:d,mult:.5,offset:c},y:h},update:v={opacity:Un,x:y.x,y:y.y},exit:{opacity:xe}};let A=null,E=null;e.fill||(A=t.symbolBaseFillColor,E=t.symbolBaseStrokeColor),_t(g,{fill:a("symbolFillColor",A),shape:a("symbolType"),size:a("symbolSize"),stroke:a("symbolStrokeColor",E),strokeDash:a("symbolDash"),strokeDashOffset:a("symbolDashOffset"),strokeWidth:a("symbolStrokeWidth")},{opacity:a("symbolOpacity")}),Ry.forEach(F=>{e[F]&&(v[F]=y[F]={scale:e[F],field:qn})});let x=Dn({type:UV,role:FH,key:qn,from:f,clip:u?!0:void 0,encode:g},n.symbols),k=gt(c);k.offset=a("labelOffset"),g={enter:y={opacity:xe,x:{signal:d,offset:k},y:h},update:v={opacity:Un,text:{field:Oy},x:y.x,y:y.y},exit:{opacity:xe}},_t(g,{align:a("labelAlign"),baseline:a("labelBaseline"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontStyle:a("labelFontStyle"),fontWeight:a("labelFontWeight"),limit:a("labelLimit")});let _=Dn({type:Va,role:XC,style:mu,key:qn,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!u},width:xe,height:u?gt(u):xe,opacity:xe},exit:{opacity:xe},update:v={opacity:Un,row:{signal:null},column:{signal:null}}},a.isVertical(!0)?(b=`ceil(item.mark.items.length / ${m})`,v.row.signal=`${p}%${b}`,v.column.signal=`floor(${p} / ${b})`,w={field:["row",p]}):(v.row.signal=`floor(${p} / ${m})`,v.column.signal=`${p} % ${m}`,w={field:p}),v.column.signal=`(${i})?${v.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:My}},yu({role:VC,from:r,encode:fl(g,o,gu),marks:[x,_],name:s,interactive:l,sort:w})}function QV(e,t){let n=hn(e,t);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}var Py='item.orient === "left"',Iy='item.orient === "right"',Gd=`(${Py} || ${Iy})`,KV=`datum.vgrad && ${Gd}`,ZV=Wd('"top"','"bottom"','"middle"'),eX=`datum.vgrad && ${Iy} ? (${Wd('"right"','"left"','"center"')}) : (${Gd} && !(datum.vgrad && ${Py})) ? "left" : ${Ly}`,tX=`item._anchor || (${Gd} ? "middle" : "start")`,nX=`${KV} ? (${Py} ? -90 : 90) : 0`,rX=`${Gd} ? (datum.vgrad ? (${Iy} ? "bottom" : "top") : ${ZV}) : "top"`;function iX(e,t,n,r){let i=hn(e,t),a={enter:{opacity:xe},update:{opacity:Un,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:xe}};return _t(a,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:tX},angle:{signal:nX},align:{signal:eX},baseline:{signal:rX},text:e.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Dn({type:Va,role:CH,style:By,from:r,encode:a},n)}function aX(e,t){let n;return ce(e)&&(e.signal?n=e.signal:e.path?n="pathShape("+x$(e.path)+")":e.sphere&&(n="geoShape("+x$(e.sphere)+', {type: "Sphere"})')),n?t.signalRef(n):!!e}function x$(e){return ce(e)&&e.signal?e.signal:K(e)}function w$(e){let t=e.role||"";return t.startsWith("axis")||t.startsWith("legend")||t.startsWith("title")?t:e.type===Ud?VC:t||"mark"}function oX(e){return{marktype:e.type,name:e.name||void 0,role:e.role||w$(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function lX(e,t){return e&&e.signal?t.signalRef(e.signal):e!==!1}function jy(e,t){let n=Cw(e.type);n||T("Unrecognized transform type: "+K(e.type));let r=Nd(n.type.toLowerCase(),null,A$(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function A$(e,t,n){let r={},i=e.params.length;for(let a=0;a<i;++a){let o=e.params[a];r[o.name]=sX(o,t,n)}return r}function sX(e,t,n){let r=e.type,i=t[e.name];if(r==="index")return uX(e,t,n);if(i===void 0){e.required&&T("Missing required "+K(t.type)+" parameter: "+K(e.name));return}else{if(r==="param")return cX(e,t,n);if(r==="projection")return n.projectionRef(t[e.name])}return e.array&&!ht(i)?i.map(a=>E$(e,a,n)):E$(e,i,n)}function E$(e,t,n){let r=e.type;if(ht(t))return _$(r)?T("Expression references can not be signals."):qy(r)?n.fieldRef(t):D$(r)?n.compareRef(t):n.signalRef(t.signal);{let i=e.expr||qy(r);return i&&fX(t)?n.exprRef(t.expr,t.as):i&&dX(t)?hu(t.field,t.as):_$(r)?Lr(t,n):hX(r)?te(n.getData(t).values):qy(r)?hu(t):D$(r)?n.compareRef(t):t}}function uX(e,t,n){return Ee(t.from)||T('Lookup "from" parameter must be a string literal.'),n.getData(t.from).lookupRef(n,t.key)}function cX(e,t,n){let r=t[e.name];return e.array?(ne(r)||T("Expected an array of sub-parameters. Instead: "+K(r)),r.map(i=>k$(e,i,n))):k$(e,r,n)}function k$(e,t,n){let r=e.params.length,i;for(let o=0;o<r;++o){for(let l in i=e.params[o],i.key)if(i.key[l]!==t[l]){i=null;break}if(i)break}i||T("Unsupported parameter: "+K(t));let a=me(A$(i,t,n),i.key);return te(n.add(mV(a)))}var fX=e=>e&&e.expr,dX=e=>e&&e.field,hX=e=>e==="data",_$=e=>e==="expr",qy=e=>e==="field",D$=e=>e==="compare";function pX(e,t,n){let r,i,a,o,l;return e?(r=e.facet)&&(t||T("Only group marks can be faceted."),r.field==null?(e.data?l=te(n.getData(e.data).aggregate):(a=jy(me({type:"aggregate",groupby:ie(r.groupby)},r.aggregate),n),a.params.key=n.keyRef(r.groupby),a.params.pulse=Hd(r,n),o=l=te(n.add(a))),i=n.keyRef(r.groupby,!0)):o=l=Hd(r,n)):o=te(n.add(lr(null,[{}]))),o||(o=Hd(e,n)),{key:i,pulse:o,parent:l}}function Hd(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:te(t.getData(e.data).output)}function Xa(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}Xa.fromEntries=function(e,t){let n=t.length,r=t[n-1],i=t[n-2],a=t[0],o=null,l=1;for(a&&a.type==="load"&&(a=t[1]),e.add(t[0]);l<n;++l)t[l].params.pulse=te(t[l-1]),e.add(t[l]),t[l].type==="aggregate"&&(o=t[l]);return new Xa(e,a,i,r,o)};function F$(e){return Ee(e)?e:null}function C$(e,t,n){let r=Td(n.op,n.field),i;if(t.ops){for(let a=0,o=t.as.length;a<o;++a)if(t.as[a]===r)return}else t.ops=["count"],t.fields=[null],t.as=["count"];n.op&&(t.ops.push((i=n.op.signal)?e.signalRef(i):n.op),t.fields.push(e.fieldRef(n.field)),t.as.push(r))}function vu(e,t,n,r,i,a,o){let l=t[n]||(t[n]={}),s=GH(a),u=F$(i),c,f;if(u!=null&&(e=t.scope,u+=s?"|"+s:"",c=l[u]),!c){let d=a?{field:Dy,pulse:t.countsRef(e,i,a)}:{field:e.fieldRef(i),pulse:te(t.output)};s&&(d.sort=e.sortRef(a)),f=e.add(Nd(r,void 0,d)),o&&(t.index[i]=f),c=te(f),u!=null&&(l[u]=c)}return c}Xa.prototype={countsRef(e,t,n){let r=this,i=r.counts||(r.counts={}),a=F$(t),o,l,s;return a!=null&&(e=r.scope,o=i[a]),o?n&&n.field&&C$(e,o.agg.params,n):(s={groupby:e.fieldRef(t,"key"),pulse:te(r.output)},n&&n.field&&C$(e,s,n),l=e.add(r$(s)),o=e.add(lr({pulse:te(l)})),o={agg:l,ref:te(o)},a!=null&&(i[a]=o)),o.ref},tuplesRef(){return te(this.values)},extentRef(e,t){return vu(e,this,"extent","extent",t,!1)},domainRef(e,t){return vu(e,this,"domain","values",t,!1)},valuesRef(e,t,n){return vu(e,this,"vals","values",t,n||!0)},lookupRef(e,t){return vu(e,this,"lookup","tupleindex",t,!1)},indataRef(e,t){return vu(e,this,"indata","tupleindex",t,!0,!0)}};function mX(e,t,n){let r=e.from.facet,i=r.name,a=Hd(r,t),o;r.name||T("Facet must have a name: "+K(r)),r.data||T("Facet must reference a data set: "+K(r)),r.field?o=t.add(l$({field:t.fieldRef(r.field),pulse:a})):r.groupby?o=t.add(oV({key:t.keyRef(r.groupby),group:te(t.proxy(n.parent)),pulse:a})):T("Facet must specify groupby or field: "+K(r));let l=t.fork(),s=l.add(lr()),u=l.add(Ha({pulse:te(s)}));l.addData(i,new Xa(l,s,s,u)),l.addSignal("parent",null),o.params.subflow={$subflow:l.parse(e).toRuntime()}}function gX(e,t,n){let r=t.add(l$({pulse:n.pulse})),i=t.fork();i.add(Ha()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}function $$(e,t,n){let r=e.remove,i=e.insert,a=e.toggle,o=e.modify,l=e.values,s=t.add(Rd()),u=Lr("if("+e.trigger+',modify("'+n+'",'+[i,r,a,o,l].map(c=>c??"null").join(",")+"),0)",t);s.update=u.$expr,s.params=u.$params}function Vd(e,t){let n=w$(e),r=e.type===Ud,i=e.from&&e.from.facet,a=e.overlap,o=e.layout||n==="scope"||n==="frame",l,s,u,c,f,d,h,p=n==="mark"||o||i,m=pX(e.from,r,t);s=t.add(iV({key:m.key||(e.key?hu(e.key):void 0),pulse:m.pulse,clean:!r}));let g=te(s);s=u=t.add(lr({pulse:g})),s=t.add(fV({markdef:oX(e),interactive:lX(e.interactive,t),clip:aX(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:te(s)}));let y=te(s);s=c=t.add(o$(KC(e.encode,e.type,n,e.style,t,{mod:!1,pulse:y}))),s.params.parent=t.encode(),e.transform&&e.transform.forEach(E=>{let x=jy(E,t),k=x.metadata;(k.generates||k.changes)&&T("Mark transforms should not generate new data."),k.nomod||(c.params.mod=!0),x.params.pulse=te(s),t.add(s=x)}),e.sort&&(s=t.add(xV({sort:t.compareRef(e.sort),pulse:te(s)})));let v=te(s);(i||o)&&(o=t.add(u$({layout:t.objectProperty(e.layout),legends:t.legends,mark:y,pulse:v})),d=te(o));let b=t.add(i$({mark:y,pulse:d||v}));h=te(b),r&&(p&&(l=t.operators,l.pop(),o&&l.pop()),t.pushState(v,d||h,g),i?mX(e,t,m):p?gX(e,t,m):t.parse(e),t.popState(),p&&(o&&l.push(o),l.push(b))),a&&(h=yX(a,h,t));let w=t.add(s$({pulse:h})),A=t.add(Ha({pulse:te(w)},void 0,t.parent()));e.name!=null&&(f=e.name,t.addData(f,new Xa(t,u,w,A)),e.on&&e.on.forEach(E=>{(E.insert||E.remove||E.toggle)&&T("Marks only support modify triggers."),$$(E,t,f)}))}function yX(e,t,n){let r=e.method,i=e.bound,a=e.separation,o={separation:ht(a)?n.signalRef(a.signal):a,method:ht(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(o.sort=n.compareRef({field:e.order})),i){let l=i.tolerance;o.boundTolerance=ht(l)?n.signalRef(l.signal):+l,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return te(n.add(pV(o)))}function vX(e,t){let n=t.config.legend,r=e.encode||{},i=hn(e,n),a=r.legend||{},o=a.name||void 0,l=a.interactive,s=a.style,u={},c=0,f,d,h;Ry.forEach(b=>e[b]?(u[b]=e[b],c||(c=e[b])):0),c||T("Missing valid scale for legend.");let p=bX(e,t.scaleType(c)),m={title:e.title!=null,scales:u,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=te(t.add(lr(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},v=te(t.add(uV(d={type:p,scale:t.scaleRef(c),count:t.objectProperty(i("tickCount")),limit:t.property(i("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return p===qd?(h=[HV(e,c,n,r.gradient),b$(e,n,r.labels,v)],d.count=d.count||t.signalRef(`max(2,2*floor((${Ga(i.gradientLength())})/100))`)):p===zy?h=[VV(e,c,n,r.gradient,v),b$(e,n,r.labels,v)]:(f=QV(e,n),h=[JV(e,n,r,v,Ga(f.columns))],d.size=AX(e,t,h[0].marks)),h=[yu({role:_H,from:g,encode:y,marks:h,layout:f,interactive:l})],m.title&&h.push(iX(e,n,r.title,g)),Vd(yu({role:EH,from:g,encode:fl(wX(i,e,n),a,gu),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:l,style:s}),t)}function bX(e,t){let n=e.type||m$;return!e.type&&xX(e)===1&&(e.fill||e.stroke)&&(n=r0(t)?qd:i0(t)?zy:m$),n===qd?i0(t)?zy:qd:n}function xX(e){return Ry.reduce((t,n)=>t+(e[n]?1:0),0)}function wX(e,t,n){let r={enter:{},update:{}};return _t(r,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),r}function AX(e,t,n){return Lr(`max(ceil(sqrt(${Ga(S$("size",e,n))})+${Ga(S$("strokeWidth",e,n))}),${Ga(EX(n[1].encode,t,mu))})`,t)}function S$(e,t,n){return t[e]?`scale("${t[e]}",datum)`:y$(e,n[0].encode)}function EX(e,t,n){return y$("fontSize",e)||WV("fontSize",t,n)}var kX=`item.orient==="${hl}"?-90:item.orient==="${pl}"?90:0`;function _X(e,t){e=Ee(e)?{text:e}:e;let n=hn(e,t.config.title),r=e.encode||{},i=r.group||{},a=i.name||void 0,o=i.interactive,l=i.style,s=[],u=te(t.add(lr(null,[{}])));return s.push(CX(e,n,DX(e),u)),e.subtitle&&s.push($X(e,n,r.subtitle,u)),Vd(yu({role:$H,from:u,encode:FX(n,i),marks:s,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:a,interactive:o,style:l}),t)}function DX(e){let t=e.encode;return t&&t.title||me({name:e.name,interactive:e.interactive,style:e.style},t)}function FX(e,t){let n={enter:{},update:{}};return _t(n,{orient:e("orient"),anchor:e("anchor"),align:{signal:Ly},angle:{signal:kX},limit:e("limit"),frame:e("frame"),offset:e("offset")||0,padding:e("subtitlePadding")}),fl(n,t,gu)}function CX(e,t,n,r){let i={value:0},a=e.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return _t(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Dn({type:Va,role:SH,style:jV,from:r,encode:o},n)}function $X(e,t,n,r){let i={value:0},a=e.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return _t(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Dn({type:Va,role:MH,style:qV,from:r,encode:o},n)}function SX(e,t){let n=[];e.transform&&e.transform.forEach(r=>{n.push(jy(r,t))}),e.on&&e.on.forEach(r=>{$$(r,t,e.name)}),t.addDataPipeline(e.name,MX(e,t,n))}function MX(e,t,n){let r=[],i=null,a=!1,o=!1,l,s,u,c,f;for(e.values?ht(e.values)||Ld(e.format)?(r.push(M$(t,e)),r.push(i=Ya())):r.push(i=Ya({$ingest:e.values,$format:e.format})):e.url?Ld(e.url)||Ld(e.format)?(r.push(M$(t,e)),r.push(i=Ya())):r.push(i=Ya({$request:e.url,$format:e.format})):e.source&&(i=l=ie(e.source).map(d=>te(t.getData(d).output)),r.push(null)),s=0,u=n.length;s<u;++s)c=n[s],f=c.metadata,!i&&!f.source&&r.push(i=Ya()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(a=!0),f.source?i=c:f.changes&&(i=null);return l&&(u=l.length-1,r[0]=vV({derive:a,pulse:u?l:l[0]}),(a||u)&&r.splice(1,0,Ya())),i||r.push(Ya()),r.push(Ha({})),r}function Ya(e){let t=lr({},e);return t.metadata={source:!0},t}function M$(e,t){return cV({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}var O$=e=>e===oa||e===sr,Xd=(e,t,n)=>ht(e)?NX(e.signal,t,n):e===hl||e===sr?t:n,yt=(e,t,n)=>ht(e)?BX(e.signal,t,n):O$(e)?t:n,ur=(e,t,n)=>ht(e)?zX(e.signal,t,n):O$(e)?n:t,B$=(e,t,n)=>ht(e)?RX(e.signal,t,n):e===sr?{value:t}:{value:n},OX=(e,t,n)=>ht(e)?TX(e.signal,t,n):e===pl?{value:t}:{value:n},BX=(e,t,n)=>z$(`${e} === '${sr}' || ${e} === '${oa}'`,t,n),zX=(e,t,n)=>z$(`${e} !== '${sr}' && ${e} !== '${oa}'`,t,n),NX=(e,t,n)=>Uy(`${e} === '${hl}' || ${e} === '${sr}'`,t,n),RX=(e,t,n)=>Uy(`${e} === '${sr}'`,t,n),TX=(e,t,n)=>Uy(`${e} === '${pl}'`,t,n),z$=(e,t,n)=>(t=t==null?t:gt(t),n=n==null?n:gt(n),N$(t)&&N$(n)?(t=t?t.signal||K(t.value):null,n=n?n.signal||K(n.value):null,{signal:`${e} ? (${t}) : (${n})`}):[me({test:e},t)].concat(n||[])),N$=e=>e==null||Object.keys(e).length===1,Uy=(e,t,n)=>({signal:`${e} ? (${ml(t)}) : (${ml(n)})`}),LX=(e,t,n,r,i)=>({signal:(r==null?"":`${e} === '${hl}' ? (${ml(r)}) : `)+(n==null?"":`${e} === '${oa}' ? (${ml(n)}) : `)+(i==null?"":`${e} === '${pl}' ? (${ml(i)}) : `)+(t==null?"":`${e} === '${sr}' ? (${ml(t)}) : `)+"(null)"}),ml=e=>ht(e)?e.signal:e==null?null:K(e),PX=(e,t)=>t===0?0:ht(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},gl=(e,t)=>{let n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function yl(e,t,n,r){let i;if(t&&ue(t,e))return t[e];if(ue(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=e[5].toLowerCase()+e.slice(6)}return r[By][i]}else if(e.startsWith("label")){switch(e){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=e[5].toLowerCase()+e.slice(6)}return r[mu][i]}return null}function R$(e){let t={};for(let n of e)if(n)for(let r in n)t[r]=1;return Object.keys(t)}function IX(e,t){var n=t.config,r=n.style,i=n.axis,a=t.scaleType(e.scale)==="band"&&n.axisBand,o=e.orient,l,s,u;if(ht(o)){let c=R$([n.axisX,n.axisY]),f=R$([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);l={};for(u of c)l[u]=yt(o,yl(u,n.axisX,i,r),yl(u,n.axisY,i,r));s={};for(u of f)s[u]=LX(o.signal,yl(u,n.axisTop,i,r),yl(u,n.axisBottom,i,r),yl(u,n.axisLeft,i,r),yl(u,n.axisRight,i,r))}else l=o===sr||o===oa?n.axisX:n.axisY,s=n["axis"+o[0].toUpperCase()+o.slice(1)];return l||s||a?me({},i,l,s,a):i}function jX(e,t,n,r){let i=hn(e,t),a=e.orient,o,l,s={enter:o={opacity:xe},update:l={opacity:Un},exit:{opacity:xe}};_t(s,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});let u=T$(e,0),c=T$(e,1);return o.x=l.x=yt(a,u,xe),o.x2=l.x2=yt(a,c),o.y=l.y=ur(a,u,xe),o.y2=l.y2=ur(a,c),Dn({type:Ty,role:vH,from:r,encode:s},n)}function T$(e,t){return{scale:e.scale,range:t}}function qX(e,t,n,r,i){let a=hn(e,t),o=e.orient,l=e.gridScale,s=Xd(o,1,-1),u=UX(e.offset,s),c,f,d,h={enter:c={opacity:xe},update:d={opacity:Un},exit:f={opacity:xe}};_t(h,{stroke:a("gridColor"),strokeCap:a("gridCap"),strokeDash:a("gridDash"),strokeDashOffset:a("gridDashOffset"),strokeOpacity:a("gridOpacity"),strokeWidth:a("gridWidth")});let p={scale:e.scale,field:qn,band:i.band,extra:i.extra,offset:i.offset,round:a("tickRound")},m=yt(o,{signal:"height"},{signal:"width"}),g=l?{scale:l,range:0,mult:s,offset:u}:{value:0,offset:u},y=l?{scale:l,range:1,mult:s,offset:u}:me(m,{mult:s,offset:u});return c.x=d.x=yt(o,p,g),c.y=d.y=ur(o,p,g),c.x2=d.x2=ur(o,y),c.y2=d.y2=yt(o,y),f.x=yt(o,p),f.y=ur(o,p),Dn({type:Ty,role:bH,key:qn,from:r,encode:h},n)}function UX(e,t){if(t!==1)if(!ce(e))e=ht(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);else{let n=e=me({},e);for(;n.mult!=null;)if(ce(n.mult))n=n.mult=me({},n.mult);else return n.mult=ht(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n.mult=t}return e}function WX(e,t,n,r,i,a){let o=hn(e,t),l=e.orient,s=Xd(l,-1,1),u,c,f,d={enter:u={opacity:xe},update:f={opacity:Un},exit:c={opacity:xe}};_t(d,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});let h=gt(i);h.mult=s;let p={scale:e.scale,field:qn,band:a.band,extra:a.extra,offset:a.offset,round:o("tickRound")};return f.y=u.y=yt(l,xe,p),f.y2=u.y2=yt(l,h),c.x=yt(l,p),f.x=u.x=ur(l,xe,p),f.x2=u.x2=ur(l,h),c.y=ur(l,p),Dn({type:Ty,role:wH,key:qn,from:r,encode:d},n)}function Wy(e,t,n,r,i){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+r+","+i+")"}}function GX(e,t,n,r,i,a){let o=hn(e,t),l=e.orient,s=e.scale,u=Xd(l,-1,1),c=Ga(o("labelFlush")),f=Ga(o("labelFlushOffset")),d=o("labelAlign"),h=o("labelBaseline"),p=c===0||!!c,m,g=gt(i);g.mult=u,g.offset=gt(o("labelPadding")||0),g.offset.mult=u;let y={scale:s,field:qn,band:.5,offset:v$(a.offset,o("labelOffset"))},v=yt(l,p?Wy(s,c,'"left"','"right"','"center"'):{value:"center"},OX(l,"left","right")),b=yt(l,B$(l,"bottom","top"),p?Wy(s,c,'"top"','"bottom"','"middle"'):{value:"middle"}),w=Wy(s,c,`-(${f})`,f,0);p&&(p=f);let A={opacity:xe,x:yt(l,y,g),y:ur(l,y,g)},E={enter:A,update:m={opacity:Un,text:{field:Oy},x:A.x,y:A.y,align:v,baseline:b},exit:{opacity:xe,x:A.x,y:A.y}};_t(E,{dx:!d&&p?yt(l,w):null,dy:!h&&p?ur(l,w):null}),_t(E,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:d,baseline:h});let x=o("labelBound"),k=o("labelOverlap");return k=k||x?{separation:o("labelSeparation"),method:k,order:"datum.index",bound:x?{scale:s,orient:l,tolerance:x}:null}:void 0,m.align!==v&&(m.align=gl(m.align,v)),m.baseline!==b&&(m.baseline=gl(m.baseline,b)),Dn({type:Va,role:xH,style:mu,key:qn,from:r,encode:E,overlap:k},n)}function HX(e,t,n,r){let i=hn(e,t),a=e.orient,o=Xd(a,-1,1),l,s,u={enter:l={opacity:xe,anchor:gt(i("titleAnchor",null)),align:{signal:Ly}},update:s=me({},l,{opacity:Un,text:gt(e.title)}),exit:{opacity:xe}},c={signal:`lerp(range("${e.scale}"), ${Wd(0,1,.5)})`};return s.x=yt(a,c),s.y=ur(a,c),l.angle=yt(a,xe,PX(o,90)),l.baseline=yt(a,B$(a,oa,sr),{value:oa}),s.angle=l.angle,s.baseline=l.baseline,_t(u,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),VX(i,a,u,n),u.update.align=gl(u.update.align,l.align),u.update.angle=gl(u.update.angle,l.angle),u.update.baseline=gl(u.update.baseline,l.baseline),Dn({type:Va,role:AH,style:By,from:r,encode:u},n)}function VX(e,t,n,r){let i=(l,s)=>l==null?!dl(s,r):(n.update[s]=gl(gt(l),n.update[s]),!1),a=i(e("titleX"),"x"),o=i(e("titleY"),"y");n.enter.auto=o===a?gt(o):yt(t,gt(o),gt(a))}function XX(e,t){let n=IX(e,t),r=e.encode||{},i=r.axis||{},a=i.name||void 0,o=i.interactive,l=i.style,s=hn(e,n),u=GV(s),c={scale:e.scale,ticks:!!s("ticks"),labels:!!s("labels"),grid:!!s("grid"),domain:!!s("domain"),title:e.title!=null},f=te(t.add(lr({},[c]))),d=te(t.add(rV({scale:t.scaleRef(e.scale),extra:t.property(u.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),h=[],p;return c.grid&&h.push(qX(e,n,r.grid,d,u)),c.ticks&&(p=s("tickSize"),h.push(WX(e,n,r.ticks,d,p,u))),c.labels&&(p=c.ticks?p:0,h.push(GX(e,n,r.labels,d,p,u))),c.domain&&h.push(jX(e,n,r.domain,f)),c.title&&h.push(HX(e,n,r.title,f)),Vd(yu({role:yH,from:f,encode:fl(YX(s,e),i,gu),marks:h,aria:s("aria"),description:s("description"),zindex:s("zindex"),name:a,interactive:o,style:l}),t)}function YX(e,t){let n={enter:{},update:{}};return _t(n,{orient:e("orient"),offset:e("offset")||0,position:or(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${t.scale}")))`},translate:e("translate"),format:t.format,formatType:t.formatType}),n}function L$(e,t,n){let r=ie(e.signals),i=ie(e.scales);return n||r.forEach(a=>e$(a,t)),ie(e.projections).forEach(a=>NV(a,t)),i.forEach(a=>EV(a,t)),ie(e.data).forEach(a=>SX(a,t)),i.forEach(a=>kV(a,t)),(n||r).forEach(a=>nV(a,t)),ie(e.axes).forEach(a=>XX(a,t)),ie(e.marks).forEach(a=>Vd(a,t)),ie(e.legends).forEach(a=>vX(a,t)),e.title&&_X(e.title,t),t.parseLambdas(),t}var JX=e=>fl({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function QX(e,t){let n=t.config,r=te(t.root=t.add(Rd())),i=KX(e,n);i.forEach(u=>e$(u,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;let a=t.add(lr()),o=t.add(o$(KC(JX(e.encode),Ud,gH,e.style,t,{pulse:te(a)}))),l=t.add(u$({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:r,pulse:te(o)}));t.operators.pop(),t.pushState(te(o),te(l),null),L$(e,t,i),t.operators.push(l);let s=t.add(i$({mark:r,pulse:te(l)}));return s=t.add(s$({pulse:te(s)})),s=t.add(Ha({pulse:te(s)})),t.addData("root",new Xa(t,a,a,s)),t}function bu(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function KX(e,t){let n=o=>or(e[o],t[o]),r=[bu("background",n("background")),bu("autosize",hH(n("autosize"))),bu("padding",mH(n("padding"))),bu("width",n("width")||0),bu("height",n("height")||0)],i=r.reduce((o,l)=>(o[l.name]=l,o),{}),a={};return ie(e.signals).forEach(o=>{ue(i,o.name)?o=me(i[o.name],o):r.push(o),a[o.name]=o}),ie(t.signals).forEach(o=>{!ue(a,o.name)&&!ue(i,o.name)&&r.push(o)}),r}function P$(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function I$(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}P$.prototype=I$.prototype={parse(e){return L$(e,this)},fork(){return new I$(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs=(e.refs.forEach(t=>{t.$ref=e.id}),null)),e},proxy(e){let t=e instanceof _y?te(e):e;return this.add(yV({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(r,i,a){let o,l;r&&(o=r.data||(r.data={}),l=o[i]||(o[i]=[]),l.push(a))}for(e in this.data)for(let r in t=this.data[e],n(t.input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values"),t.index)n(t.index[r],e,"index:"+r);return this},pushState(e,t,n){this._encode.push(te(this.add(Ha({pulse:e})))),this._parent.push(t),this._lookup.push(n?te(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return Me(this._parent)},encode(){return Me(this._encode)},lookup(){return Me(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(Ee(e))return hu(e,t);e.signal||T("Unsupported field reference: "+K(e));let n=e.signal,r=this.field[n];if(!r){let i={name:this.signalRef(n)};t&&(i.as=t),this.field[n]=r=te(this.add(lV(i)))}return r},compareRef(e){let t=!1,n=a=>ht(a)?(t=!0,this.signalRef(a.signal)):HH(a)?(t=!0,this.exprRef(a.expr)):a,r=ie(e.field).map(n),i=ie(e.order).map(n);return t?te(this.add(a$({fields:r,orders:i}))):t$(r,i)},keyRef(e,t){let n=!1,r=a=>ht(a)?(n=!0,te(i[a.signal])):a,i=this.signals;return e=ie(e).map(r),n?te(this.add(sV({fields:e,flat:t}))):qH(e,t)},sortRef(e){if(!e)return e;let t=Td(e.op,e.field),n=e.order||UH;return n.signal?te(this.add(a$({fields:t,orders:this.signalRef(n.signal)}))):t$(t,n)},event(e,t){let n=e+":"+t;if(!this.events[n]){let r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return ue(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&T("Duplicate signal name: "+K(e));let n=t instanceof _y?t:this.add(Rd(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||T("Unrecognized signal name: "+K(e)),this.signals[e]},signalRef(e){return this.signals[e]?te(this.signals[e]):(ue(this.lambdas,e)||(this.lambdas[e]=this.add(Rd(null))),te(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t<n;++t){let r=e[t],i=Lr(r,this),a=this.lambdas[r];a.params=i.$params,a.update=i.$expr}},property(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty(e){return!e||!ce(e)?e:this.signalRef(e.signal||Gy(e))},exprRef(e,t){let n={expr:Lr(e,this)};return t&&(n.expr.$name=t),te(this.add(aV(n)))},addBinding(e,t){this.bindings||T("Nested signals do not support binding: "+K(e)),this.bindings.push(me({signal:e},t))},addScaleProj(e,t){ue(this.scales,e)&&T("Duplicate scale or projection name: "+K(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,bV(t))},addProjection(e,t){this.addScaleProj(e,gV(t))},getScale(e){return this.scales[e]||T("Unrecognized scale name: "+K(e)),this.scales[e]},scaleRef(e){return te(this.getScale(e))},scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return ue(this.data,e)&&T("Duplicate data set name: "+K(e)),this.data[e]=t},getData(e){return this.data[e]||T("Undefined data set name: "+K(e)),this.data[e]},addDataPipeline(e,t){return ue(this.data,e)&&T("Duplicate data set name: "+K(e)),this.addData(e,Xa.fromEntries(this,t))}};function Gy(e){return(ne(e)?ZX:eY)(e)}function ZX(e){let t=e.length,n="[";for(let r=0;r<t;++r){let i=e[r];n+=(r>0?",":"")+(ce(i)?i.signal||Gy(i):K(i))}return n+"]"}function eY(e){let t="{",n=0,r,i;for(r in e)i=e[r],t+=(++n>1?",":"")+K(r)+":"+(ce(i)?i.signal||Gy(i):K(i));return t+"}"}function tY(){let e="sans-serif",t="#4c78a8",n="#000",r="#888",i="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:t},area:{fill:t},image:null,line:{stroke:t,strokeWidth:2},path:{stroke:t},rect:{fill:t},rule:{stroke:n},shape:{stroke:t},symbol:{fill:t,size:64},text:{fill:n,font:e,fontSize:11},trail:{fill:t,size:2},style:{"guide-label":{fill:n,font:e,fontSize:10},"guide-title":{fill:n,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:n,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:n,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:i},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:r,grid:!1,gridWidth:1,gridColor:i,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:r,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:i,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:r,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function nY(e,t,n){return ce(e)||T("Input Vega specification must be an object."),t=lc(tY(),t,e.config),QX(e,new P$(t,n)).toRuntime()}var rY=sn({Bounds:()=>lt,CanvasHandler:()=>Fs,CanvasRenderer:()=>hf,DATE:()=>T4,DAY:()=>"day",DAYOFYEAR:()=>N4,Dataflow:()=>Io,Debug:()=>4,DisallowedObjectProperties:()=>Op,Error:()=>1,EventStream:()=>Ec,Gradient:()=>fE,GroupItem:()=>qc,HOURS:()=>$4,Handler:()=>I0,HybridHandler:()=>_k,HybridRenderer:()=>K0,Info:()=>3,Item:()=>jc,MILLISECONDS:()=>q4,MINUTES:()=>G4,MONTH:()=>S4,Marks:()=>An,MultiPulse:()=>Qp,None:()=>0,Operator:()=>Pe,Parameters:()=>Ac,Pulse:()=>Ri,QUARTER:()=>W4,RenderType:()=>Yi,Renderer:()=>_s,ResourceLoader:()=>wE,SECONDS:()=>F4,SVGHandler:()=>ok,SVGRenderer:()=>Q0,SVGStringRenderer:()=>kk,Scenegraph:()=>XE,TIME_UNITS:()=>b2,Transform:()=>O,View:()=>RC,WEEK:()=>U4,Warn:()=>2,YEAR:()=>C4,accessor:()=>No,accessorFields:()=>It,accessorName:()=>Qe,array:()=>ie,ascending:()=>uc,bandwidthNRD:()=>tm,bin:()=>Mw,bootstrapCI:()=>Ow,boundClip:()=>Nk,boundContext:()=>vs,boundItem:()=>L0,boundMark:()=>WE,boundStroke:()=>ii,changeset:()=>$a,clampRange:()=>g2,codegenExpression:()=>VF,compare:()=>Np,constant:()=>jt,cumulativeLogNormal:()=>lm,cumulativeNormal:()=>Fc,cumulativeUniform:()=>fm,dayofyear:()=>x2,debounce:()=>Lp,defaultLocale:()=>G2,definition:()=>Cw,densityLogNormal:()=>om,densityNormal:()=>nm,densityUniform:()=>cm,domChild:()=>ft,domClear:()=>Ln,domCreate:()=>Vi,domFind:()=>P0,dotbin:()=>Bw,error:()=>T,expressionFunction:()=>rt,extend:()=>me,extent:()=>Dr,extentIndex:()=>V2,falsy:()=>Si,fastmap:()=>Ro,field:()=>ti,flush:()=>Q2,font:()=>tf,fontFamily:()=>Es,fontSize:()=>Sr,format:()=>j4,formatLocale:()=>B4,formats:()=>L4,hasOwnProperty:()=>ue,id:()=>Kl,identity:()=>Jn,inferType:()=>I4,inferTypes:()=>R4,ingest:()=>Ce,inherits:()=>G,inrange:()=>To,interpolate:()=>a0,interpolateColors:()=>Tc,interpolateRange:()=>XA,intersect:()=>Mk,intersectBoxLine:()=>Xo,intersectPath:()=>E0,intersectPoint:()=>k0,intersectRule:()=>$E,isArray:()=>ne,isBoolean:()=>Bp,isDate:()=>ka,isFunction:()=>ge,isIterable:()=>M4,isNumber:()=>_a,isObject:()=>ce,isRegExp:()=>Fp,isString:()=>Ee,isTuple:()=>bc,key:()=>Mp,lerp:()=>A2,lineHeight:()=>Gi,loader:()=>cc,locale:()=>J2,logger:()=>Cp,lruCache:()=>z2,markup:()=>J0,merge:()=>W2,mergeConfig:()=>lc,multiLineOffset:()=>N0,one:()=>Zl,pad:()=>S2,panLinear:()=>O2,panLog:()=>R2,panPow:()=>E2,panSymlog:()=>D2,parse:()=>nY,parseExpression:()=>WF,parseSelector:()=>aa,path:()=>Gp,pathCurves:()=>f0,pathEqual:()=>Rk,pathParse:()=>Go,pathRectangle:()=>vE,pathRender:()=>hs,pathSymbols:()=>yE,pathTrail:()=>bE,peek:()=>Me,point:()=>rf,projection:()=>Yg,quantileLogNormal:()=>sm,quantileNormal:()=>Cc,quantileUniform:()=>dm,quantiles:()=>Zp,quantizeInterpolator:()=>YA,quarter:()=>L2,quartiles:()=>em,random:()=>Nn,randomInteger:()=>YM,randomKDE:()=>im,randomLCG:()=>XM,randomLogNormal:()=>Nw,randomMixture:()=>Rw,randomNormal:()=>rm,randomUniform:()=>Tw,read:()=>H2,regressionConstant:()=>hm,regressionExp:()=>Pw,regressionLinear:()=>pm,regressionLoess:()=>Ww,regressionLog:()=>Lw,regressionPoly:()=>jw,regressionPow:()=>Iw,regressionQuad:()=>mm,renderModule:()=>yf,repeat:()=>H4,resetDefaultLocale:()=>z4,resetSVGDefIds:()=>wR,responseType:()=>Y2,runtimeContext:()=>gC,sampleCurve:()=>Sc,sampleLogNormal:()=>am,sampleNormal:()=>Dc,sampleUniform:()=>um,scale:()=>ke,sceneEqual:()=>eg,sceneFromJSON:()=>HE,scenePickVisit:()=>Yc,sceneToJSON:()=>GE,sceneVisit:()=>Kn,sceneZOrder:()=>_0,scheme:()=>o0,serializeXML:()=>yk,setHybridRendererOptions:()=>yR,setRandom:()=>HM,span:()=>sc,splitAccessPath:()=>I2,stringValue:()=>K,textMetrics:()=>wn,timeBin:()=>w2,timeFloor:()=>B2,timeFormatLocale:()=>P4,timeInterval:()=>Rp,timeOffset:()=>y2,timeSequence:()=>U2,timeUnitSpecifier:()=>$2,timeUnits:()=>M2,toBoolean:()=>k2,toDate:()=>P2,toNumber:()=>zn,toSet:()=>_r,toString:()=>F2,transform:()=>$w,transforms:()=>jo,truncate:()=>X2,truthy:()=>Bn,tupleid:()=>Z,typeParsers:()=>O4,utcFloor:()=>N2,utcInterval:()=>$p,utcOffset:()=>_2,utcSequence:()=>C2,utcdayofyear:()=>T2,utcquarter:()=>j2,utcweek:()=>K2,version:()=>aY,visitArray:()=>$i,week:()=>v2,writeConfig:()=>q2,zero:()=>Sp,zoomLinear:()=>Dp,zoomLog:()=>zp,zoomPow:()=>fc,zoomSymlog:()=>Tp}),iY="6.2.0";me(jo,oO,AR,iT,ZL,eI,VI,jI,pj,Rj,Ij,Jj);var aY=iY;function oY(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}var lY={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},sY={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},uY={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e},cY=Array.prototype.slice,Ja=(e,t,n)=>{let r=n?n(t[0]):t[0];return r[e].apply(r,cY.call(t,1))},fY={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t=0,n=1,r=0,i=0,a=0,o=0)=>Ee(e)?new Date(e):new Date(e,t,n,r,i,a,o),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return Ja("join",arguments)},indexof:function(){return Ja("indexOf",arguments)},lastindexof:function(){return Ja("lastIndexOf",arguments)},slice:function(){return Ja("slice",arguments)},reverse:e=>e.slice().reverse(),sort:e=>e.slice().sort(uc),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return Ja("substring",arguments,String)},split:function(){return Ja("split",arguments,String)},replace:function(){return Ja("replace",arguments,String)},trim:e=>String(e).trim(),btoa:e=>btoa(e),atob:e=>atob(e),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)},dY=["view","item","group","xy","x","y"],Hy=new Set([Function,eval,setTimeout,setInterval]);typeof setImmediate=="function"&&Hy.add(setImmediate);var hY={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:n==="datum"?e.datum:n==="event"?e.event:n==="item"?e.item:lY[n]||e.params["$"+n]},MemberExpression:(e,t)=>{let n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);let i=e(t.property);if(n&&--e.memberDepth,Hy.has(r[i])){console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);return}return r[i]},CallExpression:(e,t)=>{let n=t.arguments,r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),r==="if"?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||fY[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>sY[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>uY[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>t.operator==="&&"?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((n,r)=>{e.memberDepth+=1;let i=e(r.key);--e.memberDepth;let a=e(r.value);return Op.has(i)?console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`):Hy.has(a)?console.error(`Prevented interpretation of method "${i}" which could lead to insecure code execution`):n[i]=a,n},{})};function xu(e,t,n,r,i,a){let o=l=>hY[l.type](o,l);return o.memberDepth=0,o.fn=Object.create(t),o.params=n,o.datum=r,o.event=i,o.item=a,dY.forEach(l=>o.fn[l]=(...s)=>i.vega[l](...s)),o(e)}var pY={operator(e,t){let n=t.ast,r=e.functions;return i=>xu(n,r,i)},parameter(e,t){let n=t.ast,r=e.functions;return(i,a)=>xu(n,r,a,i)},event(e,t){let n=t.ast,r=e.functions;return i=>xu(n,r,void 0,void 0,i)},handler(e,t){let n=t.ast,r=e.functions;return(i,a)=>xu(n,r,i,a.item&&a.item.datum,a)},encode(e,t){let{marktype:n,channels:r}=t,i=e.functions,a=n==="group"||n==="image"||n==="rect";return(o,l)=>{let s=o.datum,u=0,c;for(let f in r)c=xu(r[f].ast,i,l,s,void 0,o),o[f]!==c&&(o[f]=c,u=1);return n!=="rule"&&oY(o,r,a),u}}};function vl(e,t,n){return e.fields=t||[],e.fname=n,e}function mY(e){return e.length===1?gY(e[0]):yY(e)}var gY=e=>function(t){return t[e]},yY=e=>{let t=e.length;return function(n){for(let r=0;r<t;++r)n=n[e[r]];return n}};function Vy(e){throw Error(e)}function Qa(e){let t=[],n=e.length,r=null,i=0,a="",o,l,s;e+="";function u(){t.push(a+e.substring(o,l)),a="",o=l+1}for(o=l=0;l<n;++l)if(s=e[l],s==="\\")a+=e.substring(o,l++),o=l;else if(s===r)u(),r=null,i=-1;else{if(r)continue;o===i&&s==='"'||o===i&&s==="'"?(o=l+1,r=s):s==="."&&!i?l>o?u():o=l+1:s==="["?(l>o&&u(),i=o=l+1):s==="]"&&(i||Vy("Access path missing open bracket: "+e),i>0&&u(),i=0,o=l+1)}return i&&Vy("Access path missing closing bracket: "+e),r&&Vy("Access path missing closing quote: "+e),l>o&&(l++,u()),t}function vY(e,t,n){let r=Qa(e);return e=r.length===1?r[0]:e,vl((n&&n.get||mY)(r),[e],t||e)}vY("id");var bY=vl(e=>e,[],"identity");vl(()=>0,[],"zero"),vl(()=>1,[],"one"),vl(()=>!0,[],"true"),vl(()=>!1,[],"false");function xY(e,t,n){let r=[t].concat([].slice.call(n));console[e].apply(console,r)}function wY(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xY,r=e||0;return{level(i){return arguments.length?(r=+i,this):r},error(){return r>=1&&n(t||"error","ERROR",arguments),this},warn(){return r>=2&&n(t||"warn","WARN",arguments),this},info(){return r>=3&&n(t||"log","INFO",arguments),this},debug(){return r>=4&&n(t||"log","DEBUG",arguments),this}}}var X=Array.isArray;function we(e){return e===Object(e)}var j$=e=>e!=="__proto__";function q$(){return[...arguments].reduce((e,t)=>{for(let n in t)if(n==="signals")e.signals=AY(e.signals,t.signals);else{let r=n==="legend"?{layout:1}:n==="style"?!0:null;Yd(e,n,t[n],r)}return e},{})}function Yd(e,t,n,r){if(!j$(t))return;let i,a;if(we(n)&&!X(n))for(i in a=we(e[t])?e[t]:e[t]={},n)r&&(r===!0||r[i])?Yd(a,i,n[i]):j$(i)&&(a[i]=n[i]);else e[t]=n}function AY(e,t){if(e==null)return t;let n={},r=[];function i(a){n[a.name]||(n[a.name]=1,r.push(a))}return t.forEach(i),e.forEach(i),r}function it(e){return e==null?[]:X(e)?e:[e]}function EY(e){return typeof e=="function"}function st(e,t){return Object.hasOwn(e,t)}function wu(e){return typeof e=="boolean"}function He(e){return typeof e=="number"}function se(e){return typeof e=="string"}function Ae(e){return X(e)?"["+e.map(Ae)+"]":we(e)||se(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}var kY="RawCode",_Y="Literal",DY="Property",FY="Identifier",CY="ArrayExpression",$Y="BinaryExpression",SY="CallExpression",MY="ConditionalExpression",OY="LogicalExpression",BY="MemberExpression",zY="ObjectExpression",NY="UnaryExpression";function cr(e){this.type=e}cr.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=RY(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function RY(e){switch(e.type){case CY:return e.elements;case $Y:case OY:return[e.left,e.right];case SY:return[e.callee].concat(e.arguments);case MY:return[e.test,e.consequent,e.alternate];case BY:return[e.object,e.property];case zY:return e.properties;case DY:return[e.key,e.value];case NY:return[e.argument];case FY:case _Y:case kY:default:return[]}}var Pr,J,z,Rt,ze,Jd=1,Au=2,Ka=3,la=4,Qd=5,Za=6,pn=7,Eu=8,TY=9;Pr={},Pr[Jd]="Boolean",Pr[Au]="<end>",Pr[Ka]="Identifier",Pr[la]="Keyword",Pr[Qd]="Null",Pr[Za]="Numeric",Pr[pn]="Punctuator",Pr[Eu]="String",Pr[TY]="RegularExpression";var LY="ArrayExpression",PY="BinaryExpression",IY="CallExpression",jY="ConditionalExpression",U$="Identifier",qY="Literal",UY="LogicalExpression",WY="MemberExpression",GY="ObjectExpression",HY="Property",VY="UnaryExpression",vt="Unexpected token %0",XY="Unexpected number",YY="Unexpected string",JY="Unexpected identifier",QY="Unexpected reserved word",KY="Unexpected end of input",Xy="Invalid regular expression",Yy="Invalid regular expression: missing /",W$="Octal literals are not allowed in strict mode.",ZY="Duplicate data property in object literal not allowed in strict mode",Dt="ILLEGAL",ku="Disabled.",eJ=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),tJ=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Kd(e,t){if(!e)throw Error("ASSERT: "+t)}function hi(e){return e>=48&&e<=57}function Jy(e){return"0123456789abcdefABCDEF".includes(e)}function _u(e){return"01234567".includes(e)}function nJ(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function Du(e){return e===10||e===13||e===8232||e===8233}function Fu(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&eJ.test(String.fromCharCode(e))}function Zd(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&tJ.test(String.fromCharCode(e))}var rJ={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function G$(){for(;z<Rt;){let e=J.charCodeAt(z);if(nJ(e)||Du(e))++z;else break}}function Qy(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)z<Rt&&Jy(J[z])?(r=J[z++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):De({},vt,Dt);return String.fromCharCode(i)}function iJ(){var e=J[z],t=0,n,r;for(e==="}"&&De({},vt,Dt);z<Rt&&(e=J[z++],Jy(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&De({},vt,Dt),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function H$(){var e=J.charCodeAt(z++),t=String.fromCharCode(e);for(e===92&&(J.charCodeAt(z)!==117&&De({},vt,Dt),++z,e=Qy("u"),(!e||e==="\\"||!Fu(e.charCodeAt(0)))&&De({},vt,Dt),t=e);z<Rt&&(e=J.charCodeAt(z),Zd(e));)++z,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),J.charCodeAt(z)!==117&&De({},vt,Dt),++z,e=Qy("u"),(!e||e==="\\"||!Zd(e.charCodeAt(0)))&&De({},vt,Dt),t+=e);return t}function aJ(){for(var e=z++,t;z<Rt;){if(t=J.charCodeAt(z),t===92)return z=e,H$();if(Zd(t))++z;else break}return J.slice(e,z)}function oJ(){var e=z,t=J.charCodeAt(z)===92?H$():aJ();return{type:t.length===1?Ka:rJ.hasOwnProperty(t)?la:t==="null"?Qd:t==="true"||t==="false"?Jd:Ka,value:t,start:e,end:z}}function Ky(){var e=z,t=J.charCodeAt(z),n,r=J[z],i,a,o;switch(t){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++z,{type:pn,value:String.fromCharCode(t),start:e,end:z};default:if(n=J.charCodeAt(z+1),n===61)switch(t){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return z+=2,{type:pn,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:z};case 33:case 61:return z+=2,J.charCodeAt(z)===61&&++z,{type:pn,value:J.slice(e,z),start:e,end:z}}}if(o=J.substr(z,4),o===">>>=")return z+=4,{type:pn,value:o,start:e,end:z};if(a=o.substr(0,3),a===">>>"||a==="<<="||a===">>=")return z+=3,{type:pn,value:a,start:e,end:z};if(i=a.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return z+=2,{type:pn,value:i,start:e,end:z};if(i==="//"&&De({},vt,Dt),"<>=!+-*%&|^/".includes(r))return++z,{type:pn,value:r,start:e,end:z};De({},vt,Dt)}function lJ(e){let t="";for(;z<Rt&&Jy(J[z]);)t+=J[z++];return t.length===0&&De({},vt,Dt),Fu(J.charCodeAt(z))&&De({},vt,Dt),{type:Za,value:parseInt("0x"+t,16),start:e,end:z}}function sJ(e){let t="0"+J[z++];for(;z<Rt&&_u(J[z]);)t+=J[z++];return(Fu(J.charCodeAt(z))||hi(J.charCodeAt(z)))&&De({},vt,Dt),{type:Za,value:parseInt(t,8),octal:!0,start:e,end:z}}function V$(){var e,t,n=J[z];if(Kd(hi(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=z,e="",n!=="."){if(e=J[z++],n=J[z],e==="0"){if(n==="x"||n==="X")return++z,lJ(t);if(_u(n))return sJ(t);n&&hi(n.charCodeAt(0))&&De({},vt,Dt)}for(;hi(J.charCodeAt(z));)e+=J[z++];n=J[z]}if(n==="."){for(e+=J[z++];hi(J.charCodeAt(z));)e+=J[z++];n=J[z]}if(n==="e"||n==="E")if(e+=J[z++],n=J[z],(n==="+"||n==="-")&&(e+=J[z++]),hi(J.charCodeAt(z)))for(;hi(J.charCodeAt(z));)e+=J[z++];else De({},vt,Dt);return Fu(J.charCodeAt(z))&&De({},vt,Dt),{type:Za,value:parseFloat(e),start:t,end:z}}function uJ(){var e="",t,n,r,i,a=!1;for(t=J[z],Kd(t==="'"||t==='"',"String literal must starts with a quote"),n=z,++z;z<Rt;)if(r=J[z++],r===t){t="";break}else if(r==="\\")if(r=J[z++],!r||!Du(r.charCodeAt(0)))switch(r){case"u":case"x":J[z]==="{"?(++z,e+=iJ()):e+=Qy(r);break;case"n":e+=`
11
- `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:_u(r)?(i="01234567".indexOf(r),i!==0&&(a=!0),z<Rt&&_u(J[z])&&(a=!0,i=i*8+"01234567".indexOf(J[z++]),"0123".includes(r)&&z<Rt&&_u(J[z])&&(i=i*8+"01234567".indexOf(J[z++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&J[z]===`
12
- `&&++z;else{if(Du(r.charCodeAt(0)))break;e+=r}return t!==""&&De({},vt,Dt),{type:Eu,value:e,octal:a,start:n,end:z}}function cJ(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";De({},Xy)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{De({},Xy)}try{return new RegExp(e,t)}catch{return null}}function fJ(){var e=J[z],t,n,r,i;for(Kd(e==="/","Regular expression literal must start with a slash"),t=J[z++],n=!1,r=!1;z<Rt;)if(e=J[z++],t+=e,e==="\\")e=J[z++],Du(e.charCodeAt(0))&&De({},Yy),t+=e;else if(Du(e.charCodeAt(0)))De({},Yy);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||De({},Yy),i=t.substr(1,t.length-2),{value:i,literal:t}}function dJ(){for(var e,t="",n="";z<Rt&&(e=J[z],Zd(e.charCodeAt(0)));)++z,e==="\\"&&z<Rt?De({},vt,Dt):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&De({},Xy,n),{value:n,literal:t}}function hJ(){var e,t,n,r;return ze=null,G$(),e=z,t=fJ(),n=dJ(),r=cJ(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:z}}function pJ(e){return e.type===Ka||e.type===la||e.type===Jd||e.type===Qd}function X$(){if(G$(),z>=Rt)return{type:Au,start:z,end:z};let e=J.charCodeAt(z);return Fu(e)?oJ():e===40||e===41||e===59?Ky():e===39||e===34?uJ():e===46?hi(J.charCodeAt(z+1))?V$():Ky():hi(e)?V$():Ky()}function mn(){let e=ze;return z=e.end,ze=X$(),z=e.end,e}function Y$(){let e=z;ze=X$(),z=e}function mJ(e){let t=new cr(LY);return t.elements=e,t}function J$(e,t,n){let r=new cr(e==="||"||e==="&&"?UY:PY);return r.operator=e,r.left=t,r.right=n,r}function gJ(e,t){let n=new cr(IY);return n.callee=e,n.arguments=t,n}function yJ(e,t,n){let r=new cr(jY);return r.test=e,r.consequent=t,r.alternate=n,r}function Zy(e){let t=new cr(U$);return t.name=e,t}function Cu(e){let t=new cr(qY);return t.value=e.value,t.raw=J.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function Q$(e,t,n){let r=new cr(WY);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function vJ(e){let t=new cr(GY);return t.properties=e,t}function K$(e,t,n){let r=new cr(HY);return r.key=t,r.value=n,r.kind=e,r}function bJ(e,t){let n=new cr(VY);return n.operator=e,n.argument=t,n.prefix=!0,n}function De(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(a,o)=>(Kd(o<r.length,"Message reference must be in range"),r[o]));throw n=Error(i),n.index=z,n.description=i,n}function eh(e){e.type===Au&&De(e,KY),e.type===Za&&De(e,XY),e.type===Eu&&De(e,YY),e.type===Ka&&De(e,JY),e.type===la&&De(e,QY),De(e,vt,e.value)}function Tt(e){let t=mn();(t.type!==pn||t.value!==e)&&eh(t)}function Ue(e){return ze.type===pn&&ze.value===e}function ev(e){return ze.type===la&&ze.value===e}function xJ(){let e=[];for(z=ze.start,Tt("[");!Ue("]");)Ue(",")?(mn(),e.push(null)):(e.push(eo()),Ue("]")||Tt(","));return mn(),mJ(e)}function Z$(){z=ze.start;let e=mn();return e.type===Eu||e.type===Za?(e.octal&&De(e,W$),Cu(e)):Zy(e.value)}function wJ(){var e,t,n,r;if(z=ze.start,e=ze,e.type===Ka)return n=Z$(),Tt(":"),r=eo(),K$("init",n,r);if(e.type===Au||e.type===pn)eh(e);else return t=Z$(),Tt(":"),r=eo(),K$("init",t,r)}function AJ(){var e=[],t,n,r,i={},a=String;for(z=ze.start,Tt("{");!Ue("}");)t=wJ(),n=t.key.type===U$?t.key.name:a(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?De({},ZY):i[r]=!0,e.push(t),Ue("}")||Tt(",");return Tt("}"),vJ(e)}function EJ(){Tt("(");let e=tv();return Tt(")"),e}var kJ={if:1};function _J(){var e,t,n;if(Ue("("))return EJ();if(Ue("["))return xJ();if(Ue("{"))return AJ();if(e=ze.type,z=ze.start,e===Ka||kJ[ze.value])n=Zy(mn().value);else if(e===Eu||e===Za)ze.octal&&De(ze,W$),n=Cu(mn());else{if(e===la)throw Error(ku);e===Jd?(t=mn(),t.value=t.value==="true",n=Cu(t)):e===Qd?(t=mn(),t.value=null,n=Cu(t)):Ue("/")||Ue("/=")?(n=Cu(hJ()),Y$()):eh(mn())}return n}function DJ(){let e=[];if(Tt("("),!Ue(")"))for(;z<Rt&&(e.push(eo()),!Ue(")"));)Tt(",");return Tt(")"),e}function FJ(){z=ze.start;let e=mn();return pJ(e)||eh(e),Zy(e.value)}function CJ(){return Tt("."),FJ()}function $J(){Tt("[");let e=tv();return Tt("]"),e}function SJ(){for(var e=_J(),t,n;;)if(Ue("."))n=CJ(),e=Q$(".",e,n);else if(Ue("("))t=DJ(),e=gJ(e,t);else if(Ue("["))n=$J(),e=Q$("[",e,n);else break;return e}function e3(){let e=SJ();if(ze.type===pn&&(Ue("++")||Ue("--")))throw Error(ku);return e}function th(){var e,t;if(ze.type!==pn&&ze.type!==la)t=e3();else{if(Ue("++")||Ue("--"))throw Error(ku);if(Ue("+")||Ue("-")||Ue("~")||Ue("!"))e=mn(),t=th(),t=bJ(e.value,t);else{if(ev("delete")||ev("void")||ev("typeof"))throw Error(ku);t=e3()}}return t}function t3(e){let t=0;if(e.type!==pn&&e.type!==la)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function MJ(){var e=ze,t,n,r,i,a,o,l,s=th(),u;if(r=ze,i=t3(r),i===0)return s;for(r.prec=i,mn(),t=[e,ze],o=th(),a=[s,r,o];(i=t3(ze))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,s=a.pop(),t.pop(),n=J$(l,s,o),a.push(n);r=mn(),r.prec=i,a.push(r),t.push(ze),n=th(),a.push(n)}for(u=a.length-1,n=a[u],t.pop();u>1;)t.pop(),n=J$(a[u-1].value,a[u-2],n),u-=2;return n}function eo(){var e=MJ(),t,n;return Ue("?")&&(mn(),t=eo(),Tt(":"),n=eo(),e=yJ(e,t,n)),e}function tv(){let e=eo();if(Ue(","))throw Error(ku);return e}function OJ(e){J=e,z=0,Rt=J.length,ze=null,Y$();let t=tv();if(ze.type!==Au)throw Error("Unexpect token after expression.");return t}var BJ=sn({accessPathDepth:()=>El,accessPathWithDatum:()=>cv,accessWithDatumToUnescapedPath:()=>Ne,compile:()=>V8,contains:()=>he,deepEqual:()=>Cn,deleteNestedProperty:()=>rh,duplicate:()=>oe,entries:()=>sa,every:()=>ov,fieldIntersection:()=>uv,flatAccessWithDatum:()=>a3,getFirstDefined:()=>at,hasIntersection:()=>lv,hasProperty:()=>j,hash:()=>ye,internalField:()=>s3,isBoolean:()=>$u,isEmpty:()=>Ie,isEqual:()=>RJ,isInternalField:()=>u3,isNullOrFalse:()=>av,isNumeric:()=>ih,keys:()=>I,logicalExpr:()=>Su,mergeDeep:()=>r3,never:()=>n3,normalize:()=>PS,normalizeAngle:()=>Ou,omit:()=>Fn,pick:()=>xl,prefixGenerator:()=>sv,removePathFromField:()=>Al,replaceAll:()=>to,replacePathInField:()=>Wn,resetIdCounter:()=>LJ,setEqual:()=>i3,some:()=>wl,stringify:()=>Se,titleCase:()=>Mu,unique:()=>Ir,uniqueId:()=>l3,vals:()=>ut,varName:()=>Ve,version:()=>eae}),zJ={version:"6.2.0"};function nv(e){return j(e,"or")}function rv(e){return j(e,"and")}function iv(e){return j(e,"not")}function nh(e,t){if(iv(e))nh(e.not,t);else if(rv(e))for(let n of e.and)nh(n,t);else if(nv(e))for(let n of e.or)nh(n,t);else t(e)}function bl(e,t){return iv(e)?{not:bl(e.not,t)}:rv(e)?{and:e.and.map(n=>bl(n,t))}:nv(e)?{or:e.or.map(n=>bl(n,t))}:t(e)}var oe=structuredClone;function n3(e){throw Error(e)}function xl(e,t){let n={};for(let r of t)st(e,r)&&(n[r]=e[r]);return n}function Fn(e,t){let n={...e};for(let r of t)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>Se(e)).join(",")})`};function ye(e){if(He(e))return e;let t=se(e)?e:Se(e);if(t.length<250)return t;let n=0;for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);n=(n<<5)-n+i,n&=n}return n}function av(e){return e===!1||e===null}function he(e,t){return e.includes(t)}function wl(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function ov(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function r3(e,...t){for(let n of t)NJ(e,n??{});return e}function NJ(e,t){for(let n of I(t))Yd(e,n,t[n],!0)}function Ir(e,t){let n=[],r={},i;for(let a of e)i=t(a),!(i in r)&&(r[i]=1,n.push(a));return n}function RJ(e,t){let n=I(e),r=I(t);if(n.length!==r.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0}function i3(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function lv(e,t){for(let n of e)if(t.has(n))return!0;return!1}function sv(e){let t=new Set;for(let n of e){let r=Qa(n).map((a,o)=>o===0?a:`[${a}]`),i=r.map((a,o)=>r.slice(0,o+1).join(""));for(let a of i)t.add(a)}return t}function uv(e,t){return e===void 0||t===void 0?!0:lv(sv(e),sv(t))}function Ie(e){return I(e).length===0}var I=Object.keys,ut=Object.values,sa=Object.entries;function $u(e){return e===!0||e===!1}function Ve(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function Su(e,t){return iv(e)?`!(${Su(e.not,t)})`:rv(e)?`(${e.and.map(n=>Su(n,t)).join(") && (")})`:nv(e)?`(${e.or.map(n=>Su(n,t)).join(") || (")})`:t(e)}function rh(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&rh(e[n],t)&&delete e[n],Ie(e)}function Mu(e){return e.charAt(0).toUpperCase()+e.substr(1)}function cv(e,t="datum"){let n=Qa(e),r=[];for(let i=1;i<=n.length;i++){let a=`[${n.slice(0,i).map(Ae).join("][")}]`;r.push(`${t}${a}`)}return r.join(" && ")}function a3(e,t="datum"){return`${t}[${Ae(Qa(e).join("."))}]`}function Ne(e){return`datum['${e.replaceAll("'","\\'")}']`}function TJ(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function Wn(e){return`${Qa(e).map(TJ).join("\\.")}`}function to(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function Al(e){return`${Qa(e).join(".")}`}function El(e){return e?Qa(e).length:0}function at(...e){return e.find(t=>t!==void 0)}var o3=42;function l3(e){let t=++o3;return e?String(e)+t:t}function LJ(){o3=42}function s3(e){return u3(e)?e:`__${e}`}function u3(e){return e.startsWith("__")}function Ou(e){if(e!==void 0)return(e%360+360)%360}function ih(e){return He(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var c3=Object.getPrototypeOf(structuredClone({}));function Cn(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Cn(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;for(let a of e.entries())if(!Cn(a[1],t.get(a[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==c3.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==c3.toString)return e.toString()===t.toString();let i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let a=i[r];if(!Cn(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function Se(e){let t=[];return(function n(r){if(r!=null&&r.toJSON&&typeof r.toJSON=="function"&&(r=r.toJSON()),r===void 0)return;if(typeof r=="number")return isFinite(r)?`${r}`:"null";if(typeof r!="object")return JSON.stringify(r);let i,a;if(Array.isArray(r)){for(a="[",i=0;i<r.length;i++)i&&(a+=","),a+=n(r[i])||"null";return`${a}]`}if(r===null)return"null";if(t.includes(r))throw TypeError("Converting circular structure to JSON");let o=t.push(r)-1,l=Object.keys(r).sort();for(a="",i=0;i<l.length;i++){let s=l[i],u=n(r[s]);u&&(a&&(a+=","),a+=`${JSON.stringify(s)}:${u}`)}return t.splice(o,1),`{${a}}`})(e)}function j(e,t){return we(e)&&st(e,t)&&e[t]!==void 0}var pi="row",mi="column",ah="facet",Xe="x",bt="y",fr="x2",jr="y2",ua="xOffset",kl="yOffset",dr="radius",gi="radius2",Gn="theta",yi="theta2",hr="latitude",pr="longitude",mr="latitude2",Hn="longitude2",ca="time",gn="color",qr="fill",Ur="stroke",yn="shape",vi="size",no="angle",bi="opacity",fa="fillOpacity",da="strokeOpacity",ha="strokeWidth",pa="strokeDash",Bu="text",_l="order",zu="detail",oh="key",ro="tooltip",lh="href",sh="url",uh="description",PJ={x:1,y:1,x2:1,y2:1},f3={theta:1,theta2:1,radius:1,radius2:1};function d3(e){return st(f3,e)}var fv={longitude:1,longitude2:1,latitude:1,latitude2:1};function h3(e){switch(e){case hr:return"y";case mr:return"y2";case pr:return"x";case Hn:return"x2"}}function p3(e){return st(fv,e)}var IJ=I(fv),dv={...PJ,...f3,...fv,xOffset:1,yOffset:1,color:1,fill:1,stroke:1,time:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1};function Dl(e){return e===gn||e===qr||e===Ur}var m3={row:1,column:1,facet:1},Vn=I(m3),hv={...dv,...m3},jJ=I(hv),{order:gle,detail:yle,tooltip:vle,...qJ}=hv,{row:ble,column:xle,facet:wle,...UJ}=qJ;function WJ(e){return st(UJ,e)}function g3(e){return st(hv,e)}var GJ=[fr,jr,mr,Hn,yi,gi];function y3(e){return io(e)!==e}function io(e){switch(e){case fr:return Xe;case jr:return bt;case mr:return hr;case Hn:return pr;case yi:return Gn;case gi:return dr}return e}function ma(e){if(d3(e))switch(e){case Gn:return"startAngle";case yi:return"endAngle";case dr:return"outerRadius";case gi:return"innerRadius"}return e}function Wr(e){switch(e){case Xe:return fr;case bt:return jr;case hr:return mr;case pr:return Hn;case Gn:return yi;case dr:return gi}}function vn(e){switch(e){case Xe:case fr:return"width";case bt:case jr:return"height"}}function v3(e){switch(e){case Xe:return"xOffset";case bt:return"yOffset";case fr:return"x2Offset";case jr:return"y2Offset";case Gn:return"thetaOffset";case dr:return"radiusOffset";case yi:return"theta2Offset";case gi:return"radius2Offset"}}function pv(e){switch(e){case Xe:return"xOffset";case bt:return"yOffset"}}function HJ(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}var VJ=I(dv),{x:Ale,y:Ele,x2:kle,y2:_le,xOffset:Dle,yOffset:Fle,latitude:Cle,longitude:$le,latitude2:Sle,longitude2:Mle,theta:Ole,theta2:Ble,radius:zle,radius2:Nle,...mv}=dv,XJ=I(mv),gv={x:1,y:1},xi=I(gv);function ot(e){return st(gv,e)}var yv={theta:1,radius:1},YJ=I(yv);function ch(e){return e==="width"?Xe:bt}var b3={xOffset:1,yOffset:1};function Nu(e){return st(b3,e)}var JJ={time:1};function vv(e){return e in JJ}var{text:Rle,tooltip:Tle,href:Lle,url:Ple,description:Ile,detail:jle,key:qle,order:Ule,...x3}=mv,QJ=I(x3);function KJ(e){return st(mv,e)}function ZJ(e){switch(e){case gn:case qr:case Ur:case vi:case yn:case bi:case ha:case pa:return!0;case fa:case da:case no:case ca:return!1}}var w3={...gv,...yv,...b3,...x3},bv=I(w3);function Gr(e){return st(w3,e)}function eQ(e,t){return nQ(e)[t]}var A3={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:Wle,...tQ}=A3;function nQ(e){switch(e){case gn:case qr:case Ur:case uh:case zu:case oh:case ro:case lh:case _l:case bi:case fa:case da:case ha:case ah:case pi:case mi:return A3;case Xe:case bt:case ua:case kl:case hr:case pr:case ca:return tQ;case fr:case jr:case mr:case Hn:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case vi:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case pa:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case yn:return{point:"always",geoshape:"always"};case Bu:return{text:"always"};case no:return{point:"always",square:"always",text:"always"};case sh:return{image:"always"};case Gn:return{text:"always",arc:"always"};case dr:return{text:"always",arc:"always"};case yi:case gi:return{arc:"always"}}}function xv(e){switch(e){case Xe:case bt:case Gn:case dr:case ua:case kl:case vi:case no:case ha:case bi:case fa:case da:case ca:case fr:case jr:case yi:case gi:return;case ah:case pi:case mi:case yn:case pa:case Bu:case ro:case lh:case sh:case uh:return"discrete";case gn:case qr:case Ur:return"flexible";case hr:case pr:case mr:case Hn:case zu:case oh:case _l:return}}var rQ={argmax:1,argmin:1,average:1,count:1,distinct:1,exponential:1,exponentialb:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},iQ={count:1,min:1,max:1};function wi(e){return j(e,"argmin")}function ga(e){return j(e,"argmax")}function wv(e){return se(e)&&st(rQ,e)}var aQ=new Set(["count","valid","missing","distinct"]);function fh(e){return se(e)&&aQ.has(e)}function oQ(e){return se(e)&&he(["min","max"],e)}var lQ=new Set(["count","sum","distinct","valid","missing"]),sQ=new Set(["mean","average","median","q1","q3","min","max"]);function E3(e){return wu(e)&&(e=Sh(e,void 0)),`bin${I(e).map(t=>dh(e[t])?Ve(`_${t}_${sa(e[t])}`):Ve(`_${t}_${e[t]}`)).join("")}`}function je(e){return e===!0||ao(e)&&!e.binned}function Ft(e){return e==="binned"||ao(e)&&e.binned===!0}function ao(e){return we(e)}function dh(e){return j(e,"param")}function k3(e){switch(e){case pi:case mi:case vi:case gn:case qr:case Ur:case ha:case bi:case fa:case da:case yn:return 6;case pa:return 4;default:return 10}}function Ru(e){return j(e,"expr")}function Ct(e,{level:t}={level:0}){let n=I(e||{}),r={};for(let i of n)r[i]=t===0?$n(e[i]):Ct(e[i],{level:t-1});return r}function _3(e){let{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:o,color:l,subtitleColor:s,subtitleFont:u,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,g={...m,...l?{fill:l}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...a===void 0?{}:{angle:a},...o===void 0?{}:{limit:o}},v={...s?{subtitleColor:s}:{},...u?{subtitleFont:u}:{},...c?{subtitleFontSize:c}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}};return{titleMarkConfig:g,subtitleMarkConfig:xl(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:y,subtitle:v}}function ya(e){return se(e)||X(e)&&se(e[0])}function Q(e){return j(e,"signal")}function oo(e){return j(e,"step")}function uQ(e){return X(e)?!1:j(e,"fields")&&!j(e,"data")}function cQ(e){return X(e)?!1:j(e,"fields")&&j(e,"data")}function Ai(e){return X(e)?!1:j(e,"field")&&j(e,"data")}var fQ=I({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),dQ={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},Av=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"],hQ=" \u2013 ";function D3(e){let t=X(e.condition)?e.condition.map(F3):F3(e.condition);return{...$n(e),condition:t}}function $n(e){if(Ru(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function F3(e){if(Ru(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function We(e){if(Ru(e)){let{expr:t,...n}=e;return{signal:t,...n}}return Q(e)?e:e===void 0?void 0:{value:e}}function pQ(e){return Q(e)?e.signal:Ae(e)}function C3(e){return Q(e)?e.signal:Ae(e.value)}function gr(e){return Q(e)?e.signal:e==null?null:Ae(e)}function mQ(e,t,n){for(let r of n){let i=Hr(r,t.markDef,t.config);i!==void 0&&(e[r]=We(i))}return e}function $3(e){return[].concat(e.type,e.style??[])}function Le(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:a}=r;return i&&j(t,i)?t[i]:t[e]===void 0?a&&(!i||i===e)?void 0:Hr(e,t,n,r):t[e]}function Hr(e,t,n,{vgChannel:r}={}){let i=Ev(e,t,n.style);return at(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function Ev(e,t,n){return S3(e,$3(t),n)}function S3(e,t,n){t=it(t);let r;for(let i of t){let a=n[i];j(a,e)&&(r=a[e])}return r}function M3(e,t){return it(e).reduce((n,r)=>(n.field.push(V(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function O3(e,t){let n=[...e];return t.forEach(r=>{for(let i of n)if(Cn(i,r))return;n.push(r)}),n}function B3(e,t){return Cn(e,t)||!t?e:e?[...it(e),...it(t)].join(", "):t}function z3(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((ya(n)||Q(n))&&(ya(r)||Q(r)))return{explicit:e.explicit,value:B3(n,r)};if(ya(n)||Q(n))return{explicit:e.explicit,value:n};if(ya(r)||Q(r))return{explicit:e.explicit,value:r};if(!ya(n)&&!Q(n)&&!ya(r)&&!Q(r))return{explicit:e.explicit,value:O3(n,r)};throw Error("It should never reach here")}function kv(e){return`Invalid specification ${Se(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}var gQ='Autosize "fit" only works for single views and layered views.';function N3(e){return`${e=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function R3(e){return`${e=="width"?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${e=="width"?"x":"y"}".`}function T3(e){return e?`Dropping "fit-${e}" because spec has discrete ${vn(e)}.`:'Dropping "fit" because spec has discrete size.'}function _v(e){return`Unknown field for ${e}. Cannot calculate view size.`}function L3(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function yQ(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function vQ(e){return`The "nearest" transform is not supported for ${e} marks.`}function P3(e){return`Selection not supported for ${e} yet.`}function bQ(e){return`Cannot find a selection named "${e}".`}var xQ="Scale bindings are currently only supported for scales with unbinned, continuous domains.",wQ="Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc",AQ="Legend bindings are only supported for selections over an individual field or encoding channel.";function EQ(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}function kQ(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}var _Q="The same selection must be used to override scale domains in a layered view.",DQ='Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.';function FQ(e){return`Unknown repeated value "${e}".`}function I3(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}var CQ="Multiple timer selections in one unit spec are not supported. Ignoring all but the first.",Dv="Animation involving facet, layer, or concat is currently unsupported.";function $Q(e){return`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${K(e)}.`}function SQ(e,t,n,r){return`${e.length?"Multiple ":"No "}matching ${K(t)} encoding found for selection ${K(n.param)}. Using "field": ${K(r)}.`}var MQ="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function OQ(e){return`Unrecognized parse "${e}".`}function j3(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}var BQ="Attempt to add the same child twice.";function zQ(e){return`Ignoring an invalid transform: ${Se(e)}.`}var NQ='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function q3(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function RQ(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${Se(t)} is overridden by a child projection ${Se(n)}.`}var TQ="Arc marks uses theta channel rather than angle, replacing angle with theta.";function LQ(e){return`${e}Offset dropped because ${e} is continuous`}function PQ(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${Se(n)}}.`}function U3(e){return`Invalid field type "${e}".`}function IQ(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}function jQ(e){return`Invalid aggregation operator "${e}".`}function W3(e,t){let{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function qQ(e){return`Position range does not support relative band size for ${e}.`}function Fv(e,t){return`Dropping ${Se(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}var UQ="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function hh(e,t,n){return`${e} dropped as it is incompatible with "${t}".`}function WQ(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function GQ(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function HQ(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function VQ(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`}function Cv(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t==="ordinal"?"order":"magnitude"}.`}function XQ(e){return`The ${e} for range marks cannot be an expression`}function YQ(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function JQ(e,t){return`Specified orient "${e}" overridden with "${t}".`}function QQ(e){return`Cannot use the scale property "${e}" with non-color channel.`}function KQ(e){return`Cannot use the relative band size with ${e} scale.`}function ZQ(e){return`Using unaggregated domain with raw field has no effect (${Se(e)}).`}function eK(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function tK(e){return`Unaggregated domain is currently unsupported for log scale (${Se(e)}).`}function nK(e){return`Cannot apply size to non-oriented mark "${e}".`}function rK(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}function iK(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}function G3(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function H3(e){return`The step for "${e}" is dropped because the ${e==="width"?"x":"y"} is continuous.`}function aK(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Se(n)} and ${Se(r)}). Using ${Se(n)}.`}function oK(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Se(n)} and ${Se(r)}). Using the union of the two domains.`}function lK(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}function sK(e){return`Dropping sort property ${Se(e)} as unioned domains only support boolean or op "count", "min", and "max".`}var V3="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",uK="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",cK="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",fK="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function dK(e){return`Cannot stack "${e}" if there is already "${e}2".`}function hK(e){return`Stack is applied to a non-linear scale (${e}).`}function pK(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}function ph(e,t){return`Invalid ${e}: ${Se(t)}.`}function mK(e){return`Dropping day from datetime ${Se(e)} as day cannot be combined with other units.`}function gK(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`}function yK(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}function vK(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}function X3(e){return`1D error band does not support ${e}.`}function Y3(e){return`Channel ${e} is required for "binned" bin.`}function bK(e){return`Channel ${e} should not be used with "binned" bin.`}function xK(e){return`Domain for ${e} is required for threshold scale.`}var J3=wY(2),lo=J3;function wK(e){return lo=e,lo}function AK(){return lo=J3,lo}function $v(...e){lo.error(...e)}function q(...e){lo.warn(...e)}function EK(...e){lo.debug(...e)}function so(e){if(e&&we(e)){for(let t of Mv)if(j(e,t))return!0}return!1}var Q3=["january","february","march","april","may","june","july","august","september","october","november","december"],kK=Q3.map(e=>e.substr(0,3)),K3=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],_K=K3.map(e=>e.substr(0,3));function DK(e){if(ih(e)&&(e=+e),He(e))return e>4&&q(ph("quarter",e)),e-1;throw Error(ph("quarter",e))}function FK(e){if(ih(e)&&(e=+e),He(e))return e-1;{let t=e.toLowerCase(),n=Q3.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=kK.indexOf(r);if(i!==-1)return i;throw Error(ph("month",e))}}function CK(e){if(ih(e)&&(e=+e),He(e))return e%7;{let t=e.toLowerCase(),n=K3.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=_K.indexOf(r);if(i!==-1)return i;throw Error(ph("day",e))}}function Sv(e,t){let n=[];if(t&&e.day!==void 0&&I(e).length>1&&(q(mK(e)),e=oe(e),delete e.day),e.year===void 0?n.push(2012):n.push(e.year),e.month!==void 0){let r=t?FK(e.month):e.month;n.push(r)}else if(e.quarter!==void 0){let r=t?DK(e.quarter):e.quarter;n.push(He(r)?r*3:`${r}*3`)}else n.push(0);if(e.date!==void 0)n.push(e.date);else if(e.day!==void 0){let r=t?CK(e.day):e.day;n.push(He(r)?r+1:`${r}+1`)}else n.push(1);for(let r of["hours","minutes","seconds","milliseconds"]){let i=e[r];n.push(i===void 0?0:i)}return n}function uo(e){let t=Sv(e,!0).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}function $K(e){let t=Sv(e,!1).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}function SK(e){let t=Sv(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}var Z3={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},Mv=I(Z3);function MK(e){return ue(Z3,e)}function co(e){return we(e)?e.binned:e5(e)}function e5(e){return e==null?void 0:e.startsWith("binned")}function Ov(e){return e.startsWith("utc")}function OK(e){return e.substring(3)}var BK={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function mh(e){return Mv.filter(t=>n5(e,t))}function t5(e){let t=mh(e);return t[t.length-1]}function n5(e,t){let n=e.indexOf(t);return!(n<0||n>0&&t==="seconds"&&e.charAt(n-1)==="i"||e.length>n+3&&t==="day"&&e.charAt(n+3)==="o"||n>0&&t==="year"&&e.charAt(n-1)==="f")}function zK(e,t,{end:n}={end:!1}){let r=cv(t),i=Ov(e)?"utc":"";function a(s){return s==="quarter"?`(${i}quarter(${r})-1)`:`${i}${s}(${r})`}let o,l={};for(let s of Mv)n5(e,s)&&(l[s]=a(s),o=s);return n&&(l[o]+="+1"),$K(l)}function r5(e){if(e)return`timeUnitSpecifier(${Se(mh(e))}, ${Se(BK)})`}function NK(e,t,n){if(!e)return;let r=r5(e);return`${n||Ov(e)?"utc":"time"}Format(${t}, ${r})`}function xt(e){if(!e)return;let t;return se(e)?t=e5(e)?{unit:e.substring(6),binned:!0}:{unit:e}:we(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),Ov(t.unit)&&(t.utc=!0,t.unit=OK(t.unit)),t}function RK(e){let{utc:t,...n}=xt(e);return n.unit?(t?"utc":"")+I(n).map(r=>Ve(`${r==="unit"?"":`_${r}_`}${n[r]}`)).join(""):`${t?"utc":""}timeunit${I(n).map(r=>Ve(`_${r}_${n[r]}`)).join("")}`}function i5(e,t=n=>n){let n=xt(e),r=t5(n.unit);if(r&&r!=="day"){let i={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:a,part:o}=a5(r,n.step);return`${t(uo({...i,[o]:+i[o]+a}))} - ${t(uo(i))}`}}var TK={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function LK(e){return ue(TK,e)}function a5(e,t=1){if(LK(e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:t*3};case"week":return{part:"date",step:t*7}}}function PK(e){return j(e,"param")}function Bv(e){return!!(e!=null&&e.field)&&e.equal!==void 0}function zv(e){return!!(e!=null&&e.field)&&e.lt!==void 0}function Nv(e){return!!(e!=null&&e.field)&&e.lte!==void 0}function Rv(e){return!!(e!=null&&e.field)&&e.gt!==void 0}function Tv(e){return!!(e!=null&&e.field)&&e.gte!==void 0}function Lv(e){return!!(e!=null&&e.field&&(X(e.range)&&e.range.length===2||Q(e.range)))}function Pv(e){return!!(e!=null&&e.field)&&(X(e.oneOf)||X(e.in))}function IK(e){return!!(e!=null&&e.field)&&e.valid!==void 0}function o5(e){return Pv(e)||Bv(e)||Lv(e)||zv(e)||Rv(e)||Nv(e)||Tv(e)}function Vr(e,t){return Mh(e,{timeUnit:t,wrapTime:!0})}function jK(e,t){return e.map(n=>Vr(n,t))}function l5(e,t=!0){let{field:n}=e,{unit:r,binned:i}=xt(e.timeUnit)||{},a=V(e,{expr:"datum"}),o=r?`time(${i?a:zK(r,n)})`:a;if(Bv(e))return`${o}===${Vr(e.equal,r)}`;if(zv(e)){let l=e.lt;return`${o}<${Vr(l,r)}`}else if(Rv(e)){let l=e.gt;return`${o}>${Vr(l,r)}`}else if(Nv(e)){let l=e.lte;return`${o}<=${Vr(l,r)}`}else if(Tv(e)){let l=e.gte;return`${o}>=${Vr(l,r)}`}else{if(Pv(e))return`indexof([${jK(e.oneOf,r).join(",")}], ${o}) !== -1`;if(IK(e))return gh(o,e.valid);if(Lv(e)){let{range:l}=Ct(e),s=Q(l)?{signal:`${l.signal}[0]`}:l[0],u=Q(l)?{signal:`${l.signal}[1]`}:l[1];if(s!==null&&u!==null&&t)return`inrange(${o}, [${Vr(s,r)}, ${Vr(u,r)}])`;let c=[];return s!==null&&c.push(`${o} >= ${Vr(s,r)}`),u!==null&&c.push(`${o} <= ${Vr(u,r)}`),c.length>0?c.join(" && "):"true"}}throw Error(`Invalid field predicate: ${Se(e)}`)}function gh(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function qK(e){return o5(e)&&e.timeUnit?{...e,timeUnit:xt(e.timeUnit)}:e}var Tu={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function UK(e){return e==="quantitative"||e==="temporal"}function s5(e){return e==="ordinal"||e==="nominal"}var fo=Tu.quantitative,Iv=Tu.ordinal,Fl=Tu.temporal,jv=Tu.nominal,Cl=Tu.geojson;function WK(e){if(e)switch(e=e.toLowerCase(),e){case"q":case fo:return"quantitative";case"t":case Fl:return"temporal";case"o":case Iv:return"ordinal";case"n":case jv:return"nominal";case Cl:return"geojson"}}var $t={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",TIME:"time",UTC:"utc",POINT:"point",BAND:"band"},qv={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function GK(e,t){let n=qv[e],r=qv[t];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}var HK={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function u5(e){return HK[e]}var c5=new Set(["linear","log","pow","sqrt","symlog"]),f5=new Set([...c5,"time","utc"]);function d5(e){return c5.has(e)}var h5=new Set(["quantile","quantize","threshold"]),VK=new Set([...f5,...h5,"sequential","identity"]),XK=new Set(["ordinal","bin-ordinal","point","band"]);function wt(e){return XK.has(e)}function yr(e){return VK.has(e)}function Xr(e){return f5.has(e)}function $l(e){return h5.has(e)}var YK={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0,framesPerSecond:2,animationDuration:5};function JK(e){return!se(e)&&j(e,"name")}function p5(e){return j(e,"param")}function QK(e){return j(e,"unionWith")}function KK(e){return we(e)&&"field"in e}var{type:Gle,domain:Hle,range:Vle,rangeMax:Xle,rangeMin:Yle,scheme:Jle,...ZK}={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},eZ=I(ZK);function Uv(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return Xr(e)||e==="band"||e==="point";case"padding":case"rangeMin":case"rangeMax":return Xr(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return e==="band";case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return Xr(e);case"nice":return Xr(e)||e==="quantize"||e==="threshold";case"exponent":return e==="pow";case"base":return e==="log";case"constant":return e==="symlog";case"zero":return yr(e)&&!he(["log","time","utc","threshold","quantile"],e)}}function m5(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return Dl(e)?void 0:QQ(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function tZ(e,t){return he([Iv,jv],t)?e===void 0||wt(e):t===Fl?he([$t.TIME,$t.UTC,void 0],e):t===fo?d5(e)||$l(e)||e===void 0:!0}function nZ(e,t,n=!1){if(!Gr(e))return!1;switch(e){case Xe:case bt:case ua:case kl:case Gn:case dr:return Xr(t)||t==="band"?!0:t==="point"?!n:!1;case ca:return he(["linear","band"],t);case vi:case ha:case bi:case fa:case da:case no:return Xr(t)||$l(t)||he(["band","point","ordinal"],t);case gn:case qr:case Ur:return t!=="band";case pa:case yn:return t==="ordinal"||$l(t)}}function rZ(e){return we(e)&&"value"in e}var rn={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},g5=rn.arc,yh=rn.area,vh=rn.bar,iZ=rn.image,bh=rn.line,xh=rn.point,aZ=rn.rect,wh=rn.rule,y5=rn.text,Wv=rn.tick,oZ=rn.trail,Gv=rn.circle,Hv=rn.square,v5=rn.geoshape;function va(e){return["line","area","trail"].includes(e)}function Lu(e){return["rect","bar","image","arc","tick"].includes(e)}var lZ=new Set(I(rn));function Yr(e){return j(e,"type")}var sZ=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],uZ=["fill","fillOpacity"],cZ=[...sZ,...uZ],b5=I({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Vv=["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],fZ={area:["line","point"],bar:Vv,rect:Vv,line:["point"],tick:["bandSize","thickness",...Vv]},dZ={color:"#4c78a8",invalid:"break-paths-show-path-domains",timeUnitBandSize:1},x5=I({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function ho(e){return j(e,"band")}var hZ={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},Xv={binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},pZ={...Xv,binSpacing:1},mZ={...Xv,thickness:1};function gZ(e){return Yr(e)?e.type:e}function w5(e,{isPath:t}){return e===void 0||e==="break-paths-show-path-domains"?t?"break-paths-show-domains":"filter":e===null?"show":e}function Yv({markDef:e,config:t,scaleChannel:n,scaleType:r,isCountAggregate:i}){var o,l;if(!r||!yr(r)||i)return"always-valid";let a=w5(Le("invalid",e,t),{isPath:va(e.type)});return((l=(o=t.scale)==null?void 0:o.invalid)==null?void 0:l[n])===void 0?a:"show"}function yZ(e){return e==="break-paths-filter-domains"||e==="break-paths-show-domains"}function A5({scaleName:e,scale:t,mode:n}){let r=`domain('${e}')`;if(!t||!e)return;let i=`${r}[0]`,a=`peek(${r})`,o=t.domainHasZero();return o==="definitely"?{scale:e,value:0}:o==="maybe"?{signal:`scale('${e}', inrange(0, ${r}) ? 0 : ${n==="zeroOrMin"?i:a})`}:{signal:`scale('${e}', ${n==="zeroOrMin"?i:a})`}}function E5({scaleChannel:e,channelDef:t,scale:n,scaleName:r,markDef:i,config:a}){var u;let o=n==null?void 0:n.get("type"),l=xr(t),s=Yv({scaleChannel:e,markDef:i,config:a,scaleType:o,isCountAggregate:fh(l==null?void 0:l.aggregate)});if(l&&s==="show"){let c=((u=a.scale.invalid)==null?void 0:u[e])??"zero-or-min";return{test:gh(V(l,{expr:"datum"}),!1),...vZ(c,n,r)}}}function vZ(e,t,n){if(rZ(e)){let{value:r}=e;return Q(r)?{signal:r.signal}:{value:r}}return A5({scale:t,scaleName:n,mode:"zeroOrMin"})}function Jv(e){let{channel:t,channelDef:n,markDef:r,scale:i,scaleName:a,config:o}=e,l=io(t),s=Qv(e),u=E5({scaleChannel:l,channelDef:n,scale:i,scaleName:a,markDef:r,config:o});return u===void 0?s:[u,s]}function bZ(e){let{datum:t}=e;return so(t)?uo(t):`${Se(t)}`}function po(e,t,n,r){let i={};if(t&&(i.scale=t),Jr(e)){let{datum:a}=e;so(a)?i.signal=uo(a):Q(a)?i.signal=a.signal:Ru(a)?i.signal=a.expr:i.value=a}else i.field=V(e,n);if(r){let{offset:a,band:o}=r;a&&(i.offset=a),o&&(i.band=o)}return i}function Ah({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,endSuffix:a="end",bandPosition:o=.5}){let l=!Q(o)&&0<o&&o<1?"datum":void 0,s=V(t,{expr:l,suffix:i}),u=n===void 0?V(t,{suffix:a,expr:l}):V(n,{expr:l}),c={};return o===0||o===1?(c.scale=e,c.field=o===0?s:u):c.signal=`scale("${e}", ${Q(o)?`(1-${o.signal}) * ${s} + ${o.signal} * ${u}`:`${1-o} * ${s} + ${o} * ${u}`})`,r&&(c.offset=r),c}function xZ({scaleName:e,fieldDef:t}){let n=V(t,{expr:"datum"});return`abs(scale("${e}", ${V(t,{expr:"datum",suffix:"end"})}) - scale("${e}", ${n}))`}function Qv({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:s,defaultRef:u,bandPosition:c}){if(t){if(le(t)){let f=o==null?void 0:o.get("type");if(an(t)){c??(c=ba({fieldDef:t,fieldDef2:n,markDef:r,config:i}));let{bin:d,timeUnit:h,type:p}=t;if(je(d)||c&&h&&p===Fl)return l!=null&&l.impute?po(t,a,{binSuffix:"mid"},{offset:s}):c&&!wt(f)?Ah({scaleName:a,fieldOrDatumDef:t,bandPosition:c,offset:s}):po(t,a,Wu(t,e)?{binSuffix:"range"}:{},{offset:s});if(Ft(d)){if(W(n))return Ah({scaleName:a,fieldOrDatumDef:t,fieldOrDatumDef2:n,bandPosition:c,offset:s});q(Y3(e===Xe?fr:jr))}}return po(t,a,wt(f)?{binSuffix:"range"}:{},{offset:s,band:f==="band"?c??t.bandPosition??.5:void 0})}else if(br(t)){let f=t.value,d=s?{offset:s}:{};return{...Pu(e,f),...d}}}return EY(u)&&(u=u()),u&&{...u,...s?{offset:s}:{}}}function Pu(e,t){return he(["x","x2"],e)&&t==="width"?{field:{group:"width"}}:he(["y","y2"],e)&&t==="height"?{field:{group:"height"}}:We(t)}function mo(e){return e&&e!=="number"&&e!=="time"}function k5(e,t,n){return`${e}(${t}${n?`, ${Se(n)}`:""})`}function Kv({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a}){var u;if(mo(n))return vr({fieldOrDatumDef:e,format:t,formatType:n,expr:r,config:a});let o=_5(e,r,i),l=Sl(e);if(t===void 0&&n===void 0&&a.customFormatTypes){if(l==="quantitative"){if(i&&a.normalizedNumberFormatType)return vr({fieldOrDatumDef:e,format:a.normalizedNumberFormat,formatType:a.normalizedNumberFormatType,expr:r,config:a});if(a.numberFormatType)return vr({fieldOrDatumDef:e,format:a.numberFormat,formatType:a.numberFormatType,expr:r,config:a})}if(l==="temporal"&&a.timeFormatType&&W(e)&&e.timeUnit===void 0)return vr({fieldOrDatumDef:e,format:a.timeFormat,formatType:a.timeFormatType,expr:r,config:a})}function s(c){return W(c)?xt(c.timeUnit)||{}:{unit:void 0,utc:void 0}}if(zl(e)){let{unit:c,utc:f}=s(e),d=AZ({field:o,timeUnit:c,format:t,formatType:a.timeFormatType,rawTimeFormat:a.timeFormat,isUTCScale:f||go(e)&&((u=e.scale)==null?void 0:u.type)===$t.UTC});return d?{signal:d}:void 0}return t=Zv({type:l,specifiedFormat:t,config:a,normalizeStack:i}),W(e)&&je(e.bin)?{signal:Iu(o,V(e,{expr:r,binSuffix:"end"}),t,n,a)}:t||Sl(e)==="quantitative"?{signal:`${C5(o,t)}`}:{signal:`isValid(${o}) ? ${o} : ""+${o}`}}function _5(e,t,n){return W(e)?n?`${V(e,{expr:t,suffix:"end"})}-${V(e,{expr:t,suffix:"start"})}`:V(e,{expr:t}):bZ(e)}function vr({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a,field:o}){if(o??(o=_5(e,r,i)),o!=="datum.value"&&W(e)&&je(e.bin)){let l=V(e,{expr:r,binSuffix:"end"});return{signal:Iu(o,l,t,n,a)}}return{signal:k5(n,o,t)}}function D5(e,t,n,r,i,a){var o;if(!(se(r)&&mo(r))&&!(n===void 0&&r===void 0&&i.customFormatTypes&&Sl(e)==="quantitative"&&(i.normalizedNumberFormatType&&Ml(e)&&e.stack==="normalize"||i.numberFormatType))){if(Ml(e)&&e.stack==="normalize"&&i.normalizedNumberFormat)return Zv({type:"quantitative",config:i,normalizeStack:!0});if(zl(e)){let l=W(e)?(o=xt(e.timeUnit))==null?void 0:o.unit:void 0;return l===void 0&&i.customFormatTypes&&i.timeFormatType?void 0:wZ({specifiedFormat:n,timeUnit:l,config:i,omitTimeFormatConfig:a})}return Zv({type:t,specifiedFormat:n,config:i})}}function F5(e,t,n){var r;if(e&&(Q(e)||e==="number"||e==="time"))return e;if(zl(t)&&n!=="time"&&n!=="utc")return W(t)&&((r=xt(t==null?void 0:t.timeUnit))!=null&&r.utc)?"utc":"time"}function Zv({type:e,specifiedFormat:t,config:n,normalizeStack:r}){if(se(t))return t;if(e===fo)return r?n.normalizedNumberFormat:n.numberFormat}function wZ({specifiedFormat:e,timeUnit:t,config:n,omitTimeFormatConfig:r}){return e||(t?{signal:r5(t)}:r?void 0:n.timeFormat)}function C5(e,t){return`format(${e}, "${t||""}")`}function $5(e,t,n,r){return mo(n)?k5(n,e,t):C5(e,(se(t)?t:void 0)??r.numberFormat)}function Iu(e,t,n,r,i){if(n===void 0&&r===void 0&&i.customFormatTypes&&i.numberFormatType)return Iu(e,t,i.numberFormat,i.numberFormatType,i);let a=$5(e,n,r,i),o=$5(t,n,r,i);return`${gh(e,!1)} ? "null" : ${a} + "${hQ}" + ${o}`}function AZ({field:e,timeUnit:t,format:n,formatType:r,rawTimeFormat:i,isUTCScale:a}){return!t||n?!t&&r?`${r}(${e}, ${Se(n)})`:(n=se(n)?n:i,`${a?"utc":"time"}Format(${e}, ${Se(n)})`):NK(t,e,a)}var Eh="min",EZ={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function S5(e){return st(EZ,e)}function kZ(e){return j(e,"encoding")}function Ei(e){return e&&(e.op==="count"||j(e,"field"))}function M5(e){return e&&X(e)}function ju(e){return j(e,"row")||j(e,"column")}function eb(e){return j(e,"header")}function kh(e){return j(e,"facet")}function _Z(e){return j(e,"param")}function DZ(e){return!se(e)&&j(e,"repeat")}function O5(e){let{field:t,timeUnit:n,bin:r,aggregate:i}=e;return{...n?{timeUnit:n}:{},...r?{bin:r}:{},...i?{aggregate:i}:{},field:t}}function tb(e){return j(e,"sort")}function ba({fieldDef:e,fieldDef2:t,markDef:n,config:r}){if(le(e)&&e.bandPosition!==void 0)return e.bandPosition;if(W(e)){let{timeUnit:i,bin:a}=e;if(i&&!t)return Hr("timeUnitBandPosition",n,r);if(je(a))return .5}}function B5({channel:e,fieldDef:t,fieldDef2:n,markDef:r,config:i,scaleType:a,useVlSizeChannel:o}){var u,c,f;let l=vn(e),s=Le(o?"size":l,r,i,{vgChannel:l});if(s!==void 0)return s;if(W(t)){let{timeUnit:d,bin:h}=t;if(d&&!n)return{band:Hr("timeUnitBandSize",r,i)};if(je(h)&&!wt(a))return{band:1}}if(Lu(r.type))return a?wt(a)?((u=i[r.type])==null?void 0:u.discreteBandSize)||{band:1}:(c=i[r.type])==null?void 0:c.continuousBandSize:(f=i[r.type])==null?void 0:f.discreteBandSize}function z5(e,t,n,r){return je(e.bin)||e.timeUnit&&an(e)&&e.type==="temporal"?ba({fieldDef:e,fieldDef2:t,markDef:n,config:r})!==void 0:!1}function N5(e){return j(e,"sort")&&!j(e,"field")}function qu(e){return j(e,"condition")}function _h(e){let t=e==null?void 0:e.condition;return!!t&&!X(t)&&W(t)}function Uu(e){let t=e==null?void 0:e.condition;return!!t&&!X(t)&&le(t)}function FZ(e){let t=e==null?void 0:e.condition;return!!t&&(X(t)||br(t))}function W(e){return j(e,"field")||(e==null?void 0:e.aggregate)==="count"}function Sl(e){return e==null?void 0:e.type}function Jr(e){return j(e,"datum")}function xa(e){return an(e)&&!Fh(e)||Dh(e)}function R5(e){return an(e)&&e.type==="quantitative"&&!e.bin||Dh(e)}function Dh(e){return Jr(e)&&He(e.datum)}function le(e){return W(e)||Jr(e)}function an(e){return e&&(j(e,"field")||e.aggregate==="count")&&j(e,"type")}function br(e){return j(e,"value")}function go(e){return j(e,"scale")||j(e,"sort")}function Ml(e){return j(e,"axis")||j(e,"stack")||j(e,"impute")}function T5(e){return j(e,"legend")}function L5(e){return j(e,"format")||j(e,"formatType")}function CZ(e){return Fn(e,["legend","axis","header","scale"])}function $Z(e){return j(e,"op")}function V(e,t={}){let n=e.field,r=t.prefix,i=t.suffix,a="";if(MZ(e))n=s3("count");else{let o;if(!t.nofn)if($Z(e))o=e.op;else{let{bin:l,aggregate:s,timeUnit:u}=e;je(l)?(o=E3(l),i=(t.binSuffix??"")+(t.suffix??"")):s?ga(s)?(a=`["${n}"]`,n=`argmax_${s.argmax}`):wi(s)?(a=`["${n}"]`,n=`argmin_${s.argmin}`):o=String(s):u&&!co(u)&&(o=RK(u),i=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}o&&(n=n?`${o}_${n}`:o)}return i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs?Al(n):t.expr?a3(n,t.expr)+a:Wn(n)+a}function Fh(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return W(e)&&!!e.bin;case"temporal":return!1}throw Error(U3(e.type))}function SZ(e){var t;return go(e)&&$l((t=e.scale)==null?void 0:t.type)}function MZ(e){return e.aggregate==="count"}function OZ(e,t){var o;let{field:n,bin:r,timeUnit:i,aggregate:a}=e;if(a==="count")return t.countTitle;if(je(r))return`${n} (binned)`;if(i&&!co(i)){let l=(o=xt(i))==null?void 0:o.unit;if(l)return`${n} (${mh(l).join("-")})`}else if(a)return ga(a)?`${n} for max ${a.argmax}`:wi(a)?`${n} for min ${a.argmin}`:`${Mu(a)} of ${n}`;return n}function BZ(e){let{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(ga(t))return`${i} for argmax(${t.argmax})`;if(wi(t))return`${i} for argmin(${t.argmin})`;let a=r&&!co(r)?xt(r):void 0,o=t||(a==null?void 0:a.unit)||(a==null?void 0:a.maxbins)&&"timeunit"||je(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}var P5=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return BZ(e);default:return OZ(e,t)}},I5=P5;function j5(e){I5=e}function zZ(){j5(P5)}function Ol(e,t,{allowDisabling:n,includeDefault:r=!0}){var l;let i=(l=nb(e))==null?void 0:l.title;if(!W(e))return i??e.title;let a=e,o=r?rb(a,t):void 0;return n?at(i,a.title,o):i??a.title??o}function nb(e){if(Ml(e)&&e.axis)return e.axis;if(T5(e)&&e.legend)return e.legend;if(eb(e)&&e.header)return e.header}function rb(e,t){return I5(e,t)}function Ch(e){if(L5(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}else{let{format:t,formatType:n}=nb(e)??{};return{format:t,formatType:n}}}function NZ(e,t){var a;switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(tb(e)&&X(e.sort))return"ordinal";let{aggregate:n,bin:r,timeUnit:i}=e;if(i)return"temporal";if(r||n&&!ga(n)&&!wi(n))return"quantitative";if(go(e)&&((a=e.scale)!=null&&a.type))switch(qv[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function xr(e){if(W(e))return e;if(_h(e))return e.condition}function pt(e){if(le(e))return e;if(Uu(e))return e.condition}function q5(e,t,n,r={}){return se(e)||He(e)||wu(e)?(q(PQ(t,se(e)?"string":He(e)?"number":"boolean",e)),{value:e}):le(e)?$h(e,t,n,r):Uu(e)?{...e,condition:$h(e.condition,t,n,r)}:e}function $h(e,t,n,r){if(L5(e)){let{format:i,formatType:a,...o}=e;if(mo(a)&&!n.customFormatTypes)return q(q3(t)),$h(o,t,n,r)}else{let i=Ml(e)?"axis":T5(e)?"legend":eb(e)?"header":null;if(i&&e[i]){let{format:a,formatType:o,...l}=e[i];if(mo(o)&&!n.customFormatTypes)return q(q3(t)),$h({...e,[i]:l},t,n,r)}}return W(e)?ib(e,t,r):RZ(e)}function RZ(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=He(n)?"quantitative":se(n)?"nominal":so(n)?"temporal":void 0,{...e,type:t}}function ib(e,t,{compositeMark:n=!1}={}){let{aggregate:r,timeUnit:i,bin:a,field:o}=e,l={...e};if(!n&&r&&!wv(r)&&!ga(r)&&!wi(r)&&(q(jQ(r)),delete l.aggregate),i&&(l.timeUnit=xt(i)),o&&(l.field=`${o}`),je(a)&&(l.bin=Sh(a,t)),Ft(a)&&!ot(t)&&q(bK(t)),an(l)){let{type:s}=l,u=WK(s);s!==u&&(l.type=u),s!=="quantitative"&&fh(r)&&(q(IQ(s,r)),l.type="quantitative")}else y3(t)||(l.type=NZ(l,t));if(an(l)){let{compatible:s,warning:u}=TZ(l,t)||{};s===!1&&q(u)}if(tb(l)&&se(l.sort)){let{sort:s}=l;if(S5(s))return{...l,sort:{encoding:s}};let u=s.substring(1);if(s.charAt(0)==="-"&&S5(u))return{...l,sort:{encoding:u,order:"descending"}}}if(eb(l)){let{header:s}=l;if(s){let{orient:u,...c}=s;if(u)return{...l,header:{...c,labelOrient:s.labelOrient||u,titleOrient:s.titleOrient||u}}}}return l}function Sh(e,t){return wu(e)?{maxbins:k3(t)}:e==="binned"?{binned:!0}:!e.maxbins&&!e.step?{...e,maxbins:k3(t)}:e}var Bl={compatible:!0};function TZ(e,t){let n=e.type;if(n==="geojson"&&t!=="shape")return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case pi:case mi:case ah:return Fh(e)?Bl:{compatible:!1,warning:GQ(t)};case Xe:case bt:case ua:case kl:case gn:case qr:case Ur:case Bu:case zu:case oh:case ro:case lh:case sh:case no:case Gn:case dr:case uh:return Bl;case pr:case Hn:case hr:case mr:return n===fo?Bl:{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`};case bi:case fa:case da:case ha:case vi:case yi:case gi:case fr:case jr:case ca:return n==="nominal"&&!e.sort?{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`}:Bl;case yn:case pa:return!Fh(e)&&!SZ(e)?{compatible:!1,warning:HQ(t)}:Bl;case _l:return e.type==="nominal"&&!("sort"in e)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:Bl}}function zl(e){let{formatType:t}=Ch(e);return t==="time"||!t&&LZ(e)}function LZ(e){return e&&(e.type==="temporal"||W(e)&&!!e.timeUnit)}function Mh(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;let a=t&&((s=xt(t))==null?void 0:s.unit),o=a||n==="temporal",l;return Ru(e)?l=e.expr:Q(e)?l=e.signal:so(e)?(o=!0,l=uo(e)):(se(e)||He(e))&&o&&(l=`datetime(${Se(e)})`,MK(a)&&(He(e)&&e<1e4||se(e)&&isNaN(Date.parse(e)))&&(l=uo({[a]:e}))),l?r&&o?`time(${l})`:l:i?void 0:Se(e)}function U5(e,t){let{type:n}=e;return t.map(r=>{let i=Mh(r,{timeUnit:W(e)&&!co(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i===void 0?r:{signal:i}})}function Wu(e,t){return je(e.bin)?Gr(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}var W5={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function Gu(e){return e==null?void 0:e.condition}var G5=["domain","grid","labels","ticks","title"],PZ={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},H5={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},IZ={...H5,style:1,labelExpr:1,encoding:1};function V5(e){return st(IZ,e)}var X5=I({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function ki(e){return j(e,"mark")}var Oh=class{constructor(e,t){N(this,"name");N(this,"run");this.name=e,this.run=t}hasMatchingType(e){return ki(e)?gZ(e.mark)===this.name:!1}};function yo(e,t){let n=e==null?void 0:e[t];return n?X(n)?wl(n,r=>!!r.field):W(n)||_h(n):!1}function Y5(e,t){let n=e==null?void 0:e[t];return n?X(n)?wl(n,r=>!!r.field):W(n)||Jr(n)||Uu(n):!1}function J5(e,t){if(ot(t)){let n=e[t];if((W(n)||Jr(n))&&(s5(n.type)||W(n)&&n.timeUnit))return Y5(e,pv(t))}return!1}function Q5(e){return wl(jJ,t=>{if(yo(e,t)){let n=e[t];if(X(n))return wl(n,r=>!!r.aggregate);{let r=xr(n);return r&&!!r.aggregate}}return!1})}function K5(e,t){let n=[],r=[],i=[],a=[],o={};return ab(e,(l,s)=>{var u;if(W(l)){let{field:c,aggregate:f,bin:d,timeUnit:h,...p}=l;if(f||h||d){let m=(u=nb(l))==null?void 0:u.title,g=V(l,{forAs:!0}),y={...m?[]:{title:Ol(l,t,{allowDisabling:!0})},...p,field:g};if(f){let v;if(ga(f)?(v="argmax",g=V({op:"argmax",field:f.argmax},{forAs:!0}),y.field=`${g}.${c}`):wi(f)?(v="argmin",g=V({op:"argmin",field:f.argmin},{forAs:!0}),y.field=`${g}.${c}`):f!=="boxplot"&&f!=="errorbar"&&f!=="errorband"&&(v=f),v){let b={op:v,as:g};c&&(b.field=c),a.push(b)}}else if(n.push(g),an(l)&&je(d)){if(r.push({bin:d,field:c,as:g}),n.push(V(l,{binSuffix:"end"})),Wu(l,s)&&n.push(V(l,{binSuffix:"range"})),ot(s)){let v={field:`${g}_end`};o[`${s}2`]=v}y.bin="binned",y3(s)||(y.type=fo)}else if(h&&!co(h)){i.push({timeUnit:h,field:c,as:g});let v=an(l)&&l.type!==Fl&&"time";v&&(s===Bu||s===ro?y.formatType=v:KJ(s)?y.legend={formatType:v,...y.legend}:ot(s)&&(y.axis={formatType:v,...y.axis}))}o[s]=y}else n.push(c),o[s]=e[s]}else o[s]=e[s]}),{bins:r,timeUnits:i,aggregate:a,groupby:n,encoding:o}}function jZ(e,t,n){let r=eQ(t,n);if(r){if(r==="binned"){let i=e[t===fr?Xe:bt];return!!(W(i)&&W(e[t])&&Ft(i.bin))}}else return!1;return!0}function qZ(e,t,n,r){var a;let i={};for(let o of I(e))g3(o)||q(WQ(o));for(let o of VJ){if(!e[o])continue;let l=e[o];if(Nu(o)){let s=HJ(o),u=i[s];if(W(u)&&UK(u.type)&&W(l)&&!u.timeUnit){q(LQ(s));continue}}if(o==="angle"&&t==="arc"&&!e.theta&&(q(TQ),o=Gn),!jZ(e,o,t)){q(hh(o,t));continue}if(o===vi&&t==="line"&&((a=xr(e[o]))!=null&&a.aggregate)){q(UQ);continue}if(o===gn&&(n?"fill"in e:"stroke"in e)){q(W3("encoding",{fill:"fill"in e,stroke:"stroke"in e}));continue}if(o===zu||o===_l&&!X(l)&&!br(l)||o===ro&&X(l)){if(l){if(o===_l){let s=e[o];if(N5(s)){i[o]=s;continue}}i[o]=it(l).reduce((s,u)=>(W(u)?s.push(ib(u,o)):q(Fv(u,o)),s),[])}}else{if(o===ro&&l===null)i[o]=null;else if(!W(l)&&!Jr(l)&&!br(l)&&!qu(l)&&!Q(l)){q(Fv(l,o));continue}i[o]=q5(l,o,r)}}return i}function Bh(e,t){let n={};for(let r of I(e))n[r]=q5(e[r],r,t,{compositeMark:!0});return n}function UZ(e){let t=[];for(let n of I(e))if(yo(e,n)){let r=e[n],i=it(r);for(let a of i)W(a)?t.push(a):_h(a)&&t.push(a.condition)}return t}function ab(e,t,n){if(e)for(let r of I(e)){let i=e[r];if(X(i))for(let a of i)t.call(n,a,r);else t.call(n,i,r)}}function WZ(e,t,n,r){return e?I(e).reduce((i,a)=>{let o=e[a];return X(o)?o.reduce((l,s)=>t.call(r,l,s,a),i):t.call(r,i,o,a)},n):n}function Z5(e,t){return I(t).reduce((n,r)=>{switch(r){case Xe:case bt:case lh:case uh:case sh:case fr:case jr:case ua:case kl:case Gn:case yi:case dr:case gi:case ca:case hr:case pr:case mr:case Hn:case Bu:case yn:case no:case ro:return n;case _l:if(e==="line"||e==="trail")return n;case zu:case oh:{let i=t[r];if(X(i)||W(i))for(let a of it(i))a.aggregate||n.push(V(a,{}));return n}case vi:if(e==="trail")return n;case gn:case qr:case Ur:case bi:case fa:case da:case pa:case ha:{let i=xr(t[r]);return i&&!i.aggregate&&n.push(V(i,{})),n}}},[])}function GZ(e){let{tooltip:t,...n}=e;if(!t)return{filteredEncoding:n};let r,i;if(X(t)){for(let a of t)a.aggregate?(r||(r=[]),r.push(a)):(i||(i=[]),i.push(a));r&&(n.tooltip=r)}else t.aggregate?n.tooltip=t:i=t;return X(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function ob(e,t,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};let i=e.map(({fieldPrefix:o,titlePrefix:l})=>{let s=r?` of ${lb(t)}`:"";return{field:o+t.field,type:t.type,title:Q(l)?{signal:`${l}"${escape(s)}"`}:l+s}}),a=UZ(n).map(CZ);return{tooltip:[...i,...Ir(a,ye)]}}function lb(e){let{title:t,field:n}=e;return at(t,n)}function sb(e,t,n,r,i){let{scale:a,axis:o}=n;return({partName:l,mark:s,positionPrefix:u,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{let d=lb(n);return eS(e,l,i,{mark:s,encoding:{[t]:{field:`${u}_${n.field}`,type:n.type,...d===void 0?{}:{title:d},...a===void 0?{}:{scale:a},...o===void 0?{}:{axis:o}},...se(c)?{[`${t}2`]:{field:`${c}_${n.field}`}}:{},...r,...f}})}}function eS(e,t,n,r){let{clip:i,color:a,opacity:o}=e,l=e.type;return e[t]||e[t]===void 0&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...a?{color:a}:{},...o?{opacity:o}:{},...Yr(r.mark)?r.mark:{type:r.mark},style:`${l}-${String(t)}`,...wu(e[t])?{}:e[t]}}]:[]}function tS(e,t,n){let{encoding:r}=e,i=t==="vertical"?"y":"x",a=r[i],o=r[`${i}2`],l=r[`${i}Error`],s=r[`${i}Error2`];return{continuousAxisChannelDef:zh(a,n),continuousAxisChannelDef2:zh(o,n),continuousAxisChannelDefError:zh(l,n),continuousAxisChannelDefError2:zh(s,n),continuousAxis:i}}function zh(e,t){if(e!=null&&e.aggregate){let{aggregate:n,...r}=e;return n!==t&&q(vK(n,t)),r}else return e}function nS(e,t){let{mark:n,encoding:r}=e,{x:i,y:a}=r;if(Yr(n)&&n.orient)return n.orient;if(xa(i)){if(xa(a)){let o=W(i)&&i.aggregate,l=W(a)&&a.aggregate;if(!o&&l===t)return"vertical";if(!l&&o===t)return"horizontal";if(o===t&&l===t)throw Error("Both x and y cannot have aggregate");return zl(a)&&!zl(i)?"horizontal":"vertical"}return"horizontal"}else{if(xa(a))return"vertical";throw Error(`Need a valid continuous axis for ${t}s`)}}var Nh="boxplot",HZ=["box","median","outliers","rule","ticks"],VZ=new Oh(Nh,iS);function rS(e){return He(e)?"tukey":e}function iS(e,{config:t}){e={...e,encoding:Bh(e.encoding,t)};let{mark:n,encoding:r,params:i,projection:a,...o}=e,l=Yr(n)?n:{type:n};i&&q(P3("boxplot"));let s=l.extent??t.boxplot.extent,u=Le("size",l,t),c=l.invalid,f=rS(s),{bins:d,timeUnits:h,transform:p,continuousAxisChannelDef:m,continuousAxis:g,groupby:y,aggregate:v,encodingWithoutContinuousAxis:b,ticksOrient:w,boxOrient:A,customTooltipWithoutAggregatedField:E}=XZ(e,s,t),x=Al(m.field),{color:k,size:_,...F}=b,$=A4=>sb(l,g,m,A4,t.boxplot),R=$(F),C=$(b),M=(we(t.boxplot.box)?t.boxplot.box.color:t.mark.color)||"#4c78a8",D=$({...F,..._?{size:_}:{},color:{condition:{test:`${Ne(`lower_box_${m.field}`)} >= ${Ne(`upper_box_${m.field}`)}`,...k||{value:M}}}}),S=ob([{fieldPrefix:f==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:f==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],m,b),L={type:"tick",color:"black",opacity:1,orient:w,invalid:c,aria:!1},U=f==="min-max"?S:ob([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],m,b),H=[...R({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:U}),...R({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:U}),...R({partName:"ticks",mark:L,positionPrefix:"lower_whisker",extraEncoding:U}),...R({partName:"ticks",mark:L,positionPrefix:"upper_whisker",extraEncoding:U})],ae=[...f==="tukey"?[]:H,...C({partName:"box",mark:{type:"bar",...u?{size:u}:{},orient:A,invalid:c,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:S}),...D({partName:"median",mark:{type:"tick",invalid:c,...we(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...u?{size:u}:{},orient:w,aria:!1},positionPrefix:"mid_box",extraEncoding:S})];if(f==="min-max")return{...o,transform:(o.transform??[]).concat(p),layer:ae};let fe=Ne(`lower_box_${m.field}`),Fe=Ne(`upper_box_${m.field}`),be=`(${Fe} - ${fe})`,ln=`${fe} - ${s} * ${be}`,Pt=`${Fe} + ${s} * ${be}`,ac=Ne(m.field),x4={joinaggregate:aS(m.field),groupby:y},a2={transform:[{filter:`(${ln} <= ${ac}) && (${ac} <= ${Pt})`},{aggregate:[{op:"min",field:m.field,as:`lower_whisker_${x}`},{op:"max",field:m.field,as:`upper_whisker_${x}`},{op:"min",field:`lower_box_${m.field}`,as:`lower_box_${x}`},{op:"max",field:`upper_box_${m.field}`,as:`upper_box_${x}`},...v],groupby:y}],layer:H},{tooltip:joe,...w4}=F,{scale:o2,axis:l2}=m,s2=lb(m),u2=eS(l,"outliers",t.boxplot,{transform:[{filter:`(${ac} < ${ln}) || (${ac} > ${Pt})`}],mark:"point",encoding:{[g]:{field:m.field,type:m.type,...s2===void 0?{}:{title:s2},...o2===void 0?{}:{scale:o2},...l2===void 0?{}:{axis:l2}},...w4,...k?{color:k}:{},...E?{tooltip:E}:{}}})[0],oc,c2=[...d,...h,x4];return u2?oc={transform:c2,layer:[u2,a2]}:(oc=a2,oc.transform.unshift(...c2)),{...o,layer:[oc,{transform:p,layer:ae}]}}function aS(e){let t=Al(e);return[{op:"q1",field:e,as:`lower_box_${t}`},{op:"q3",field:e,as:`upper_box_${t}`}]}function XZ(e,t,n){let r=nS(e,Nh),{continuousAxisChannelDef:i,continuousAxis:a}=tS(e,r,Nh),o=i.field,l=Al(o),s=rS(t),u=[...aS(o),{op:"median",field:o,as:`mid_box_${l}`},{op:"min",field:o,as:(s==="min-max"?"lower_whisker_":"min_")+l},{op:"max",field:o,as:(s==="min-max"?"upper_whisker_":"max_")+l}],c=s==="min-max"||s==="tukey"?[]:[{calculate:`${Ne(`upper_box_${l}`)} - ${Ne(`lower_box_${l}`)}`,as:`iqr_${l}`},{calculate:`min(${Ne(`upper_box_${l}`)} + ${Ne(`iqr_${l}`)} * ${t}, ${Ne(`max_${l}`)})`,as:`upper_whisker_${l}`},{calculate:`max(${Ne(`lower_box_${l}`)} - ${Ne(`iqr_${l}`)} * ${t}, ${Ne(`min_${l}`)})`,as:`lower_whisker_${l}`}],{[a]:f,...d}=e.encoding,{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=GZ(d),{bins:m,timeUnits:g,aggregate:y,groupby:v,encoding:b}=K5(p,n),w=r==="vertical"?"horizontal":"vertical",A=r;return{bins:m,timeUnits:g,transform:[...m,...g,{aggregate:[...y,...u],groupby:v},...c],groupby:v,aggregate:y,continuousAxisChannelDef:i,continuousAxis:a,encodingWithoutContinuousAxis:b,ticksOrient:w,boxOrient:A,customTooltipWithoutAggregatedField:h}}var ub="errorbar",YZ=["ticks","rule"],JZ=new Oh(ub,oS);function oS(e,{config:t}){e={...e,encoding:Bh(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,ticksOrient:o,markDef:l,outerSpec:s,tooltipEncoding:u}=lS(e,ub,t);delete a.size;let c=sb(l,i,r,a,t.errorbar),f=l.thickness,d=l.size,h={type:"tick",orient:o,aria:!1,...f===void 0?{}:{thickness:f},...d===void 0?{}:{size:d}},p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:u}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:u}),...c({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...f===void 0?{}:{size:f}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u})];return{...s,transform:n,...p.length>1?{layer:p}:{...p[0]}}}function QZ(e,t){let{encoding:n}=e;if(KZ(n))return{orient:nS(e,t),inputType:"raw"};let r=ZZ(n),i=eee(n),a=n.x,o=n.y;if(r){if(i)throw Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let l=n.x2,s=n.y2;if(le(l)&&le(s))throw Error(`${t} cannot have both x2 and y2`);if(le(l)){if(xa(a))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw Error(`Both x and x2 have to be quantitative in ${t}`)}else if(le(s)){if(xa(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw Error(`Both y and y2 have to be quantitative in ${t}`)}throw Error("No ranged axis")}else{let l=n.xError,s=n.xError2,u=n.yError,c=n.yError2;if(le(s)&&!le(l))throw Error(`${t} cannot have xError2 without xError`);if(le(c)&&!le(u))throw Error(`${t} cannot have yError2 without yError`);if(le(l)&&le(u))throw Error(`${t} cannot have both xError and yError with both are quantiative`);if(le(l)){if(xa(a))return{orient:"horizontal",inputType:"aggregated-error"};throw Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(le(u)){if(xa(o))return{orient:"vertical",inputType:"aggregated-error"};throw Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw Error("No ranged axis")}}function KZ(e){return(le(e.x)||le(e.y))&&!le(e.x2)&&!le(e.y2)&&!le(e.xError)&&!le(e.xError2)&&!le(e.yError)&&!le(e.yError2)}function ZZ(e){return le(e.x2)||le(e.y2)}function eee(e){return le(e.xError)||le(e.xError2)||le(e.yError)||le(e.yError2)}function lS(e,t,n){let{mark:r,encoding:i,params:a,projection:o,...l}=e,s=Yr(r)?r:{type:r};a&&q(P3(t));let{orient:u,inputType:c}=QZ(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:h,continuousAxisChannelDefError2:p,continuousAxis:m}=tS(e,u,t),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:v,tooltipTitleWithFieldName:b}=tee(s,f,d,h,p,c,t,n),{[m]:w,[m==="x"?"x2":"y2"]:A,[m==="x"?"xError":"yError"]:E,[m==="x"?"xError2":"yError2"]:x,...k}=i,{bins:_,timeUnits:F,aggregate:$,groupby:R,encoding:C}=K5(k,n),M=[...$,...g],D=c==="raw"?R:[],S=ob(v,f,C,b);return{transform:[...l.transform??[],..._,...F,...M.length===0?[]:[{aggregate:M,groupby:D}],...y],groupby:D,continuousAxisChannelDef:f,continuousAxis:m,encodingWithoutContinuousAxis:C,ticksOrient:u==="vertical"?"horizontal":"vertical",markDef:s,outerSpec:l,tooltipEncoding:S}}function tee(e,t,n,r,i,a,o,l){let s=[],u=[],c=t.field,f,d=!1;if(a==="raw"){let h=e.center?e.center:e.extent?e.extent==="iqr"?"median":"mean":l.errorbar.center,p=e.extent?e.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&q(yK(h,p,o)),p==="stderr"||p==="stdev")s=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],u=[{calculate:`${Ne(`center_${c}`)} + ${Ne(`extent_${c}`)}`,as:`upper_${c}`},{calculate:`${Ne(`center_${c}`)} - ${Ne(`extent_${c}`)}`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:Mu(h)},{fieldPrefix:"upper_",titlePrefix:sS(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:sS(h,p,"-")}],d=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),s=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:m,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:Ol({field:c,aggregate:y,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:Ol({field:c,aggregate:g,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:Ol({field:c,aggregate:m,type:"quantitative"},l,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&q(gK(e.center,e.extent)),a==="aggregated-upper-lower"?(f=[],u=[{calculate:Ne(n.field),as:`upper_${c}`},{calculate:Ne(c),as:`lower_${c}`}]):a==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],u=[{calculate:`${Ne(c)} + ${Ne(r.field)}`,as:`upper_${c}`}],i?u.push({calculate:`${Ne(c)} + ${Ne(i.field)}`,as:`lower_${c}`}):u.push({calculate:`${Ne(c)} - ${Ne(r.field)}`,as:`lower_${c}`}));for(let h of u)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:to(to(h.calculate,"datum['",""),"']","")})}return{postAggregateCalculates:u,errorBarSpecificAggregate:s,tooltipSummary:f,tooltipTitleWithFieldName:d}}function sS(e,t,n){return`${Mu(e)} ${n} ${t}`}var cb="errorband",nee=["band","borders"],ree=new Oh(cb,uS);function uS(e,{config:t}){e={...e,encoding:Bh(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,markDef:o,outerSpec:l,tooltipEncoding:s}=lS(e,cb,t),u=o,c=sb(u,i,r,a,t.errorband),f=e.encoding.x!==void 0&&e.encoding.y!==void 0,d={type:f?"area":"rect"},h={type:f?"line":"rule"},p={...u.interpolate?{interpolate:u.interpolate}:{},...u.tension&&u.interpolate?{tension:u.tension}:{}};return f?(d={...d,...p,ariaRoleDescription:"errorband"},h={...h,...p,aria:!1}):u.interpolate?q(X3("interpolate")):u.tension&&q(X3("tension")),{...l,transform:n,layer:[...c({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:s}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:s}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:s})]}}var cS={};function fb(e,t,n){cS[e]={normalizer:new Oh(e,t),parts:n}}function iee(){return I(cS)}fb(Nh,iS,HZ),fb(ub,oS,YZ),fb(cb,uS,nee);var aee=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],fS={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},dS={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},oee=I(fS),lee=I(dS),hS=I({header:1,headerRow:1,headerColumn:1,headerFacet:1}),pS=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],see={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},uee={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},wr="_vgsid_",cee={point:{on:"click",fields:[wr],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function db(e){return e==="legend"||!!(e!=null&&e.legend)}function hb(e){return db(e)&&we(e)}function pb(e){return!!(e!=null&&e.select)}function mS(e){let t=[];for(let n of e||[]){if(pb(n))continue;let{expr:r,bind:i,...a}=n;if(i&&r){let o={...a,bind:i,init:r};t.push(o)}else{let o={...a,...r?{update:r}:{},...i?{bind:i}:{}};t.push(o)}}return t}function fee(e){return Rh(e)||gb(e)||mb(e)}function mb(e){return j(e,"concat")}function Rh(e){return j(e,"vconcat")}function gb(e){return j(e,"hconcat")}function gS({step:e,offsetIsDiscrete:t}){return t?e.for??"offset":"position"}function Qr(e){return j(e,"step")}function yS(e){return j(e,"view")||j(e,"width")||j(e,"height")}var vS=20,dee=I({align:1,bounds:1,center:1,columns:1,spacing:1});function hee(e,t,n){let r=n[t],i={},{spacing:a,columns:o}=r;a!==void 0&&(i.spacing=a),o!==void 0&&(kh(e)&&!ju(e.facet)||mb(e))&&(i.columns=o),Rh(e)&&(i.columns=1);for(let l of dee)if(e[l]!==void 0)if(l==="spacing"){let s=e[l];i[l]=He(s)?s:{row:s.row??a,column:s.column??a}}else i[l]=e[l];return i}function yb(e,t){return e[t]??e[t==="width"?"continuousWidth":"continuousHeight"]}function vb(e,t){let n=Th(e,t);return Qr(n)?n.step:bS}function Th(e,t){return at(e[t]??e[t==="width"?"discreteWidth":"discreteHeight"],{step:e.step})}var bS=20,pee={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:300,continuousHeight:300,step:bS},mark:dZ,arc:{},area:{},bar:pZ,circle:{},geoshape:{},image:{},line:{},point:{},rect:Xv,rule:{color:"black"},square:{},text:{color:"black"},tick:mZ,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:YK,projection:{},legend:see,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:cee,style:{},title:{},facet:{spacing:vS},concat:{spacing:vS},normalizedNumberFormat:".0%"},_i=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],xS={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},wS={blue:_i[0],orange:_i[1],red:_i[2],teal:_i[3],green:_i[4],yellow:_i[5],purple:_i[6],pink:_i[7],brown:_i[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function mee(e={}){return{signals:[{name:"color",value:we(e)?{...wS,...e}:wS}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function gee(e){return{signals:[{name:"fontSize",value:we(e)?{...xS,...e}:xS}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function yee(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}function AS(e){let t=I(e||{}),n={};for(let r of t){let i=e[r];n[r]=Gu(i)?D3(i):$n(i)}return n}function vee(e){let t=I(e),n={};for(let r of t)n[r]=AS(e[r]);return n}var bee=[...x5,...X5,...hS,"background","padding","legend","lineBreak","scale","style","title","view"];function ES(e={}){let{color:t,font:n,fontSize:r,selection:i,...a}=e,o=q$({},oe(pee),n?yee(n):{},t?mee(t):{},r?gee(r):{},a||{});i&&Yd(o,"selection",i,!0);let l=Fn(o,bee);for(let s of["background","lineBreak","padding"])o[s]&&(l[s]=$n(o[s]));for(let s of x5)o[s]&&(l[s]=Ct(o[s]));for(let s of X5)o[s]&&(l[s]=AS(o[s]));for(let s of hS)o[s]&&(l[s]=Ct(o[s]));if(o.legend&&(l.legend=Ct(o.legend)),o.scale){let{invalid:s,...u}=o.scale,c=Ct(s,{level:1});l.scale={...Ct(u),...I(c).length>0?{invalid:c}:{}}}return o.style&&(l.style=vee(o.style)),o.title&&(l.title=Ct(o.title)),o.view&&(l.view=Ct(o.view)),l}var xee=new Set(["view",...lZ]),wee="color.fontSize.background.padding.facet.concat.numberFormat.numberFormatType.normalizedNumberFormat.normalizedNumberFormatType.timeFormat.countTitle.header.axisQuantitative.axisTemporal.axisDiscrete.axisPoint.axisXBand.axisXPoint.axisXDiscrete.axisXQuantitative.axisXTemporal.axisYBand.axisYPoint.axisYDiscrete.axisYQuantitative.axisYTemporal.scale.selection.overlay".split("."),Aee={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],...fZ};function Eee(e){e=oe(e);for(let t of wee)delete e[t];if(e.axis)for(let t in e.axis)Gu(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of aee)delete e.legend[t];if(e.mark){for(let t of b5)delete e.mark[t];e.mark.tooltip&&we(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat(mS(e.params)),delete e.params);for(let t of xee){for(let r of b5)delete e[t][r];let n=Aee[t];if(n)for(let r of n)delete e[t][r];_ee(e,t)}for(let t of iee())delete e[t];for(let t in kee(e),e)we(e[t])&&Ie(e[t])&&delete e[t];return Ie(e)?void 0:e}function kee(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:r}=_3(e.title);Ie(t)||(e.style["group-title"]={...e.style["group-title"],...t}),Ie(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n}),Ie(r)?delete e.title:e.title=r}function _ee(e,t,n,r){let i=e[t];t==="view"&&(n="cell");let a={...i,...e.style[n??t]};Ie(a)||(e.style[n??t]=a),delete e[t]}function Lh(e){return j(e,"layer")}function Dee(e){return j(e,"repeat")}function Fee(e){return!X(e.repeat)&&j(e.repeat,"layer")}var bb=class{map(e,t){return kh(e)?this.mapFacet(e,t):Dee(e)?this.mapRepeat(e,t):gb(e)?this.mapHConcat(e,t):Rh(e)?this.mapVConcat(e,t):mb(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(Lh(e))return this.mapLayer(e,t);if(ki(e))return this.mapUnit(e,t);throw Error(kv(e))}mapLayer(e,t){return{...e,layer:e.layer.map(n=>this.mapLayerOrUnit(n,t))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map(n=>this.map(n,t))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map(n=>this.map(n,t))}}mapConcat(e,t){let{concat:n,...r}=e;return{...r,concat:n.map(i=>this.map(i,t))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}},Cee={zero:1,center:1,normalize:1};function $ee(e){return st(Cee,e)}var See=new Set([g5,vh,yh,wh,xh,Gv,Hv,bh,y5,Wv]),Mee=new Set([vh,yh,g5]);function Nl(e){return W(e)&&Sl(e)==="quantitative"&&!e.bin}function kS(e,t,{orient:n,type:r}){let i=t==="x"?"y":"radius",a=t==="x"&&["bar","area"].includes(r),o=e[t],l=e[i];if(W(o)&&W(l))if(Nl(o)&&Nl(l)){if(o.stack)return t;if(l.stack)return i;let s=W(o)&&!!o.aggregate;if(s!==(W(l)&&!!l.aggregate))return s?t:i;if(a){if(n==="vertical")return i;if(n==="horizontal")return t}}else{if(Nl(o))return t;if(Nl(l))return i}else{if(Nl(o))return a&&n==="vertical"?void 0:t;if(Nl(l))return a&&n==="horizontal"?void 0:i}}function Oee(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function _S(e,t){var m,g;let n=Yr(e)?e:{type:e},r=n.type;if(!See.has(r))return null;let i=kS(t,"x",n)||kS(t,"theta",n);if(!i)return null;let a=t[i],o=W(a)?V(a,{}):void 0,l=Oee(i),s=[],u=new Set;if(t[l]){let y=t[l],v=W(y)?V(y,{}):void 0;v&&v!==o&&(s.push(l),u.add(v))}let c=l==="x"?"xOffset":"yOffset",f=t[c],d=W(f)?V(f,{}):void 0;d&&d!==o&&(s.push(c),u.add(d));let h=XJ.reduce((y,v)=>{if(v!=="tooltip"&&yo(t,v)){let b=t[v];for(let w of it(b)){let A=xr(w);if(A.aggregate)continue;let E=V(A,{});(!E||!u.has(E))&&y.push({channel:v,fieldDef:A})}}return y},[]),p;return a.stack===void 0?Mee.has(r)&&(p="zero"):p=wu(a.stack)?a.stack?"zero":null:a.stack,!p||!$ee(p)||Q5(t)&&h.length===0?null:((m=a==null?void 0:a.scale)!=null&&m.type&&((g=a==null?void 0:a.scale)==null?void 0:g.type)!==$t.LINEAR&&(a!=null&&a.stack)&&q(hK(a.scale.type)),le(t[Wr(i)])?(a.stack!==void 0&&q(dK(i)),null):(W(a)&&a.aggregate&&!lQ.has(a.aggregate)&&q(pK(a.aggregate)),{groupbyChannels:s,groupbyFields:u,fieldChannel:i,impute:a.impute===null?!1:va(r),stackBy:h,offset:p}))}function DS(e,t,n){let r=Ct(e),i=Le("orient",r,n);if(r.orient=Ree(r.type,t,i),i!==void 0&&i!==r.orient&&q(JQ(r.orient,i)),r.type==="bar"&&r.orient){let l=Le("cornerRadiusEnd",r,n);if(l!==void 0){let s=r.orient==="horizontal"&&t.x2||r.orient==="vertical"&&t.y2?["cornerRadius"]:hZ[r.orient];for(let u of s)r[u]=l;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}let a=Le("opacity",r,n),o=Le("fillOpacity",r,n);return a===void 0&&o===void 0&&(r.opacity=zee(r.type,t)),Le("cursor",r,n)===void 0&&(r.cursor=Bee(r,t,n)),r}function Bee(e,t,n){return t.href||e.href||Le("href",e,n)?"pointer":e.cursor}function zee(e,t){if(he([xh,Wv,Gv,Hv],e)&&!Q5(t))return .7}function Nee(e,t,{graticule:n}){if(n)return!1;let r=Hr("filled",e,t),i=e.type;return at(r,i!==xh&&i!==bh&&i!==wh)}function Ree(e,t,n){switch(e){case xh:case Gv:case Hv:case y5:case aZ:case iZ:return}let{x:r,y:i,x2:a,y2:o}=t;switch(e){case vh:if(W(r)&&(Ft(r.bin)||W(i)&&i.aggregate&&!r.aggregate))return"vertical";if(W(i)&&(Ft(i.bin)||W(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||a){if(n)return n;if(!a)return(W(r)&&r.type===fo&&!je(r.bin)||Dh(r))&&W(i)&&Ft(i.bin)?"horizontal":"vertical";if(!o)return(W(i)&&i.type===fo&&!je(i.bin)||Dh(i))&&W(r)&&Ft(r.bin)?"vertical":"horizontal"}case wh:if(a&&!(W(r)&&Ft(r.bin))&&o&&!(W(i)&&Ft(i.bin)))return;case yh:if(o)return W(i)&&Ft(i.bin)?"horizontal":"vertical";if(a)return W(r)&&Ft(r.bin)?"vertical":"horizontal";if(e===wh){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case bh:case Wv:{let l=R5(r),s=R5(i);if(n)return n;if(l&&!s)return e==="tick"?"vertical":"horizontal";if(!l&&s)return e==="tick"?"horizontal":"vertical";if(l&&s)return"vertical";{let u=an(r)&&r.type===Fl,c=an(i)&&i.type===Fl;if(u&&!c)return"vertical";if(!u&&c)return"horizontal"}return}}return"vertical"}function Tee(e){let{point:t,line:n,...r}=e;return I(r).length>1?r:r.type}function Lee(e){for(let t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:Fn(e[t],["point","line"])});return e}function xb(e,t={},n){return e.point==="transparent"?{opacity:0}:e.point?we(e.point)?e.point:{}:e.point===void 0?t.point||n.shape?we(t.point)?t.point:{}:void 0:null}function FS(e,t={}){return e.line?e.line===!0?{}:e.line:e.line===void 0?t.line?t.line===!0?{}:t.line:void 0:null}var Pee=class{constructor(){N(this,"name","path-overlay")}hasMatchingType(e,t){if(ki(e)){let{mark:n,encoding:r}=e,i=Yr(n)?n:{type:n};switch(i.type){case"line":case"rule":case"trail":return!!xb(i,t[i.type],r);case"area":return!!xb(i,t[i.type],r)||!!FS(i,t[i.type])}}return!1}run(e,t,n){let{config:r}=t,{params:i,projection:a,mark:o,name:l,encoding:s,...u}=e,c=Bh(s,r),f=Yr(o)?o:{type:o},d=xb(f,r[f.type],c),h=f.type==="area"&&FS(f,r[f.type]),p=[{name:l,...i?{params:i}:{},mark:Tee({...f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{},...f}),encoding:Fn(c,["shape"])}],m=_S(DS(f,c,r),c),g=c;if(m){let{fieldChannel:y,offset:v}=m;g={...c,[y]:{...c[y],...v?{stack:v}:{}}}}return g=Fn(g,["y2","x2"]),h&&p.push({...a?{projection:a}:{},mark:{type:"line",...xl(f,["clip","interpolate","tension","tooltip"]),...h},encoding:g}),d&&p.push({...a?{projection:a}:{},mark:{type:"point",opacity:1,filled:!0,...xl(f,["clip","tooltip"]),...d},encoding:g}),n({...u,layer:p},{...t,config:Lee(r)})}};function Iee(e,t){return t?ju(e)?MS(e,t):CS(e,t):e}function wb(e,t){return t?MS(e,t):e}function Ab(e,t,n){let r=t[e];if(DZ(r)){if(r.repeat in n)return{...t,[e]:n[r.repeat]};q(FQ(r.repeat));return}return t}function CS(e,t){if(e=Ab("field",e,t),e!==void 0){if(e===null)return null;if(tb(e)&&Ei(e.sort)){let n=Ab("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function $S(e,t){if(W(e))return CS(e,t);{let n=Ab("datum",e,t);return n!==e&&!n.type&&(n.type="nominal"),n}}function SS(e,t){if(le(e)){let n=$S(e,t);if(n)return n;if(qu(e))return{condition:e.condition}}else{if(Uu(e)){let n=$S(e.condition,t);if(n)return{...e,condition:n};{let{condition:r,...i}=e;return i}}return e}}function MS(e,t){let n={};for(let r in e)if(j(e,r)){let i=e[r];if(X(i))n[r]=i.map(a=>SS(a,t)).filter(a=>a);else{let a=SS(i,t);a!==void 0&&(n[r]=a)}}return n}var jee=class{constructor(){N(this,"name","RuleForRangedLine")}hasMatchingType(e){if(ki(e)){let{encoding:t,mark:n}=e;if(n==="line"||Yr(n)&&n.type==="line")for(let r of GJ){let i=t[io(r)];if(t[r]&&(W(i)&&!Ft(i.bin)||Jr(i)))return!0}}return!1}run(e,t,n){let{encoding:r,mark:i}=e;return q(YQ(!!r.x2,!!r.y2)),n({...e,mark:we(i)?{...i,type:"rule"}:"rule"},t)}},qee=class extends bb{constructor(){super(...arguments);N(this,"nonFacetUnitNormalizers",[VZ,JZ,ree,new Pee,new jee])}map(t,n){if(ki(t)){let r=yo(t.encoding,pi),i=yo(t.encoding,mi),a=yo(t.encoding,ah);if(r||i||a)return this.mapFacetedUnit(t,n)}return super.map(t,n)}mapUnit(t,n){let{parentEncoding:r,parentProjection:i}=n,a=wb(t.encoding,n.repeater),o={...t,...t.name?{name:[n.repeaterPrefix,t.name].filter(s=>s).join("_")}:{},...a?{encoding:a}:{}};if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);let l=this.mapLayerOrUnit.bind(this);for(let s of this.nonFacetUnitNormalizers)if(s.hasMatchingType(o,n.config))return s.run(o,n,l);return o}mapRepeat(t,n){return Fee(t)?this.mapLayerRepeat(t,n):this.mapNonLayerRepeat(t,n)}mapLayerRepeat(t,n){let{repeat:r,spec:i,...a}=t,{row:o,column:l,layer:s}=r,{repeater:u={},repeaterPrefix:c=""}=n;return o||l?this.mapRepeat({...t,repeat:{...o?{row:o}:{},...l?{column:l}:{}},spec:{repeat:{layer:s},spec:i}},n):{...a,layer:s.map(f=>{let d={...u,layer:f},h=`${(i.name?`${i.name}_`:"")+c}child__layer_${Ve(f)}`,p=this.mapLayerOrUnit(i,{...n,repeater:d,repeaterPrefix:h});return p.name=h,p})}}mapNonLayerRepeat(t,n){let{repeat:r,spec:i,data:a,...o}=t;!X(r)&&t.columns&&(t=Fn(t,["columns"]),q(I3("repeat")));let l=[],{repeater:s={},repeaterPrefix:u=""}=n,c=!X(r)&&r.row||[s?s.row:null],f=!X(r)&&r.column||[s?s.column:null],d=X(r)&&r||[s?s.repeat:null];for(let p of d)for(let m of c)for(let g of f){let y={repeat:p,row:m,column:g,layer:s.layer},v=`${(i.name?`${i.name}_`:"")+u}child__${X(r)?`${Ve(p)}`:(r.row?`row_${Ve(m)}`:"")+(r.column?`column_${Ve(g)}`:"")}`,b=this.map(i,{...n,repeater:y,repeaterPrefix:v});b.name=v,l.push(Fn(b,["data"]))}let h=X(r)?t.columns:r.column?r.column.length:1;return{data:i.data??a,align:"all",...o,columns:h,concat:l}}mapFacet(t,n){let{facet:r}=t;return ju(r)&&t.columns&&(t=Fn(t,["columns"]),q(I3("facet"))),super.mapFacet(t,n)}mapUnitWithParentEncodingOrProjection(t,n){let{encoding:r,projection:i}=t,{parentEncoding:a,parentProjection:o,config:l}=n,s=BS({parentProjection:o,projection:i}),u=OS({parentEncoding:a,encoding:wb(r,n.repeater)});return this.mapUnit({...t,...s?{projection:s}:{},...u?{encoding:u}:{}},{config:l})}mapFacetedUnit(t,n){let{row:r,column:i,facet:a,...o}=t.encoding,{mark:l,width:s,projection:u,height:c,view:f,params:d,encoding:h,...p}=t,{facetMapping:m,layout:g}=this.getFacetMappingAndLayout({row:r,column:i,facet:a},n),y=wb(o,n.repeater);return this.mapFacet({...p,...g,facet:m,spec:{...s?{width:s}:{},...c?{height:c}:{},...f?{view:f}:{},...u?{projection:u}:{},mark:l,encoding:y,...d?{params:d}:{}}},n)}getFacetMappingAndLayout(t,n){let{row:r,column:i,facet:a}=t;if(r||i){a&&q(VQ([...r?[pi]:[],...i?[mi]:[]]));let o={},l={};for(let s of[pi,mi]){let u=t[s];if(u){let{align:c,center:f,spacing:d,columns:h,...p}=u;o[s]=p;for(let m of["align","center","spacing"])u[m]!==void 0&&(l[m]??(l[m]={}),l[m][s]=u[m])}}return{facetMapping:o,layout:l}}else{let{align:o,center:l,spacing:s,columns:u,...c}=a;return{facetMapping:Iee(c,n.repeater),layout:{...o?{align:o}:{},...l?{center:l}:{},...s?{spacing:s}:{},...u?{columns:u}:{}}}}}mapLayer(t,{parentEncoding:n,parentProjection:r,...i}){let{encoding:a,projection:o,...l}=t,s={...i,parentEncoding:OS({parentEncoding:n,encoding:a,layer:!0}),parentProjection:BS({parentProjection:r,projection:o})};return super.mapLayer({...l,...t.name?{name:[s.repeaterPrefix,t.name].filter(u=>u).join("_")}:{}},s)}};function OS({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){let i=new Set([...I(e),...I(t)]);for(let a of i){let o=t[a],l=e[a];le(o)?r[a]={...l,...o}:Uu(o)?r[a]={...o,condition:{...l,...o.condition}}:o||o===null?r[a]=o:(n||br(l)||Q(l)||le(l)||X(l))&&(r[a]=l)}}else r=t;return!r||Ie(r)?void 0:r}function BS(e){let{parentProjection:t,projection:n}=e;return t&&n&&q(RQ({parentProjection:t,projection:n})),n??t}function Eb(e){return j(e,"filter")}function Uee(e){return j(e,"stop")}function zS(e){return j(e,"lookup")}function Wee(e){return j(e,"data")}function Gee(e){return j(e,"param")}function Hee(e){return j(e,"pivot")}function Vee(e){return j(e,"density")}function Xee(e){return j(e,"quantile")}function Yee(e){return j(e,"regression")}function Jee(e){return j(e,"loess")}function Qee(e){return j(e,"sample")}function Kee(e){return j(e,"window")}function Zee(e){return j(e,"joinaggregate")}function ete(e){return j(e,"flatten")}function tte(e){return j(e,"calculate")}function NS(e){return j(e,"bin")}function nte(e){return j(e,"impute")}function rte(e){return j(e,"timeUnit")}function ite(e){return j(e,"aggregate")}function ate(e){return j(e,"stack")}function ote(e){return j(e,"fold")}function lte(e){return j(e,"extent")&&!j(e,"density")&&!j(e,"regression")}function ste(e){return e.map(t=>Eb(t)?{filter:bl(t.filter,qK)}:t)}var ute=class extends bb{map(e,t){return t.emptySelections??(t.emptySelections={}),t.selectionPredicates??(t.selectionPredicates={}),e=RS(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if(e=RS(e,t),e.encoding){let n={};for(let[r,i]of sa(e.encoding))n[r]=TS(i,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){let{selection:n,...r}=e;return n?{...r,params:sa(n).map(([i,a])=>{let{init:o,bind:l,empty:s,...u}=a;u.type==="single"?(u.type="point",u.toggle=!1):u.type==="multi"&&(u.type="point"),t.emptySelections[i]=s!=="none";for(let c of ut(t.selectionPredicates[i]??{}))c.empty=s!=="none";return{name:i,value:o,select:u,bind:l}})}:e}};function RS(e,t){let{transform:n,...r}=e;if(n){let i=n.map(a=>{if(Eb(a))return{filter:kb(a,t)};if(NS(a)&&ao(a.bin))return{...a,bin:LS(a.bin)};if(zS(a)){let{selection:o,...l}=a.from;return o?{...a,from:{param:o,...l}}:a}return a});return{...r,transform:i}}return e}function TS(e,t){var r,i;let n=oe(e);if(W(n)&&ao(n.bin)&&(n.bin=LS(n.bin)),go(n)&&((i=(r=n.scale)==null?void 0:r.domain)==null?void 0:i.selection)){let{selection:a,...o}=n.scale.domain;n.scale.domain={...o,...a?{param:a}:{}}}if(qu(n))if(X(n.condition))n.condition=n.condition.map(a=>{let{selection:o,param:l,test:s,...u}=a;return l?a:{...u,test:kb(a,t)}});else{let{selection:a,param:o,test:l,...s}=TS(n.condition,t);n.condition=o?n.condition:{...s,test:kb(n.condition,t)}}return n}function LS(e){let t=e.extent;if(t!=null&&t.selection){let{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function kb(e,t){let n=r=>bl(r,i=>{var o;let a={param:i,empty:t.emptySelections[i]??!0};return(o=t.selectionPredicates)[i]??(o[i]=[]),t.selectionPredicates[i].push(a),a});return e.selection?n(e.selection):bl(e.test||e.filter,r=>r.selection?n(r.selection):r)}var _b=class extends bb{map(e,t){let n=t.selections??[];if(e.params&&!ki(e)){let r=[];for(let i of e.params)pb(i)?n.push(i):r.push(i);e.params=r}return t.selections=n,super.map(e,t)}mapUnit(e,t){let n=t.selections;if(!n||!n.length)return e;let r=(t.path??[]).concat(e.name),i=[];for(let a of n)if(!a.views||!a.views.length)i.push(a);else for(let o of a.views)(se(o)&&(o===e.name||r.includes(o))||X(o)&&o.map(l=>r.indexOf(l)).every((l,s,u)=>l!==-1&&(s===0||l>u[s-1])))&&i.push(a);return i.length&&(e.params=i),e}};for(let e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let t=_b.prototype[e];_b.prototype[e]=function(n,r){return t.call(this,n,cte(n,r))}}function cte(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function PS(e,t){t===void 0&&(t=ES(e.config));let n=pte(e,t),{width:r,height:i}=e,a=mte(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}var fte=new qee,dte=new ute,hte=new _b;function pte(e,t={}){let n={config:t};return hte.map(fte.map(dte.map(e,n),n),n)}function IS(e){return se(e)?{type:e}:e??{}}function mte(e,t,n){let{width:r,height:i}=t,a=ki(e)||Lh(e),o={};a?r=="container"&&i=="container"?(o.type="fit",o.contains="padding"):r=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(r=="container"&&(q(N3("width")),r=void 0),i=="container"&&(q(N3("height")),i=void 0));let l={type:"pad",...o,...n?IS(n.autosize):{},...IS(e.autosize)};if(l.type==="fit"&&!a&&(q(gQ),l.type="pad"),r=="container"&&!(l.type=="fit"||l.type=="fit-x")&&q(R3("width")),i=="container"&&!(l.type=="fit"||l.type=="fit-y")&&q(R3("height")),!Cn(l,{type:"pad"}))return l}function gte(e){return["fit","fit-x","fit-y"].includes(e)}function yte(e){return e?`fit-${ch(e)}`:"fit"}var vte=["background","padding"];function jS(e,t){let n={};for(let r of vte)e&&e[r]!==void 0&&(n[r]=$n(e[r]));return t&&(n.params=e.params),n}var vo=class t4{constructor(t={},n={}){N(this,"explicit");N(this,"implicit");this.explicit=t,this.implicit=n}clone(){return new t4(oe(this.explicit),oe(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(t){return at(this.explicit[t],this.implicit[t])}getWithExplicit(t){return this.explicit[t]===void 0?this.implicit[t]===void 0?{explicit:!1,value:void 0}:{explicit:!1,value:this.implicit[t]}:{explicit:!0,value:this.explicit[t]}}setWithExplicit(t,{value:n,explicit:r}){n!==void 0&&this.set(t,n,r)}set(t,n,r){return delete this[r?"implicit":"explicit"][t],this[r?"explicit":"implicit"][t]=n,this}copyKeyFromSplit(t,{explicit:n,implicit:r}){n[t]===void 0?r[t]!==void 0&&this.set(t,r[t],!1):this.set(t,n[t],!0)}copyKeyFromObject(t,n){n[t]!==void 0&&this.set(t,n[t],!0)}copyAll(t){for(let n of I(t.combine())){let r=t.getWithExplicit(n);this.setWithExplicit(n,r)}}};function Kr(e){return{explicit:!0,value:e}}function Ar(e){return{explicit:!1,value:e}}function qS(e){return(t,n,r,i)=>{let a=e(t.value,n.value);return a>0?t:a<0?n:Ph(t,n,r,i)}}function Ph(e,t,n,r){return e.explicit&&t.explicit&&q(aK(n,r,e.value,t.value)),e}function wa(e,t,n,r,i=Ph){return e===void 0||e.value===void 0?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:Cn(e.value,t.value)?e:i(e,t,n,r)}var bte=class extends vo{constructor(t={},n={},r=!1){super(t,n);N(this,"explicit");N(this,"implicit");N(this,"parseNothing");this.explicit=t,this.implicit=n,this.parseNothing=r}clone(){let t=super.clone();return t.parseNothing=this.parseNothing,t}};function Rl(e){return j(e,"url")}function Hu(e){return j(e,"values")}function US(e){return j(e,"name")&&!Rl(e)&&!Hu(e)&&!Aa(e)}function Aa(e){return e&&(WS(e)||GS(e)||Db(e))}function WS(e){return j(e,"sequence")}function GS(e){return j(e,"sphere")}function Db(e){return j(e,"graticule")}var et;(function(e){e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e[e.PreFilterInvalid=5]="PreFilterInvalid",e[e.PostFilterInvalid=6]="PostFilterInvalid"})(et||(et={}));function HS({invalid:e,isPath:t}){switch(w5(e,{isPath:t})){case"filter":return{marks:"exclude-invalid-values",scales:"exclude-invalid-values"};case"break-paths-show-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"include-invalid-values"};case"break-paths-filter-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"exclude-invalid-values"};case"show":return{marks:"include-invalid-values",scales:"include-invalid-values"}}}function xte(e){let{marks:t,scales:n}=HS(e);return t===n?et.Main:n==="include-invalid-values"?et.PreFilterInvalid:et.PostFilterInvalid}var Re=class{constructor(e,t){N(this,"debugName");N(this,"_children",[]);N(this,"_parent",null);N(this,"_hash");this.debugName=t,e&&(this.parent=e)}clone(){throw Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,t){if(this._children.includes(e)){q(BQ);return}t===void 0?this._children.push(e):this._children.splice(t,0,e)}removeChild(e){let t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(let t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){let t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){let e=this._parent,t=e.parent;for(let r of this._children)r.parent=e;this._children=[],e.removeChild(this);let n=e.parent.removeChild(e);this._parent=t,t.addChild(this,n),e.parent=this}},bn=class extends Re{constructor(t,n,r,i){super(t,n);N(this,"type");N(this,"refCounts");N(this,"_source");N(this,"_name");this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){let t=new this.constructor;return t.debugName=`clone_${this.debugName}`,t._source=this._source,t._name=`clone_${this._name}`,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${l3()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(t){this._source=t}};function Fb(e){return e.as!==void 0}function VS(e){return`${e}_end`}var Tl=class vp extends Re{constructor(n,r){super(n);N(this,"timeUnits");this.timeUnits=r}clone(){return new vp(null,oe(this.timeUnits))}static makeFromEncoding(n,r){let i=r.reduceFieldDef((a,o,l)=>{let{field:s,timeUnit:u}=o;if(u){let c;if(co(u)){if(Je(r)){let{mark:f,markDef:d,config:h}=r,p=ba({fieldDef:o,markDef:d,config:h});(Lu(f)||p)&&(c={timeUnit:xt(u),field:s})}}else c={as:V(o,{forAs:!0}),field:s,timeUnit:u};if(Je(r)){let{mark:f,markDef:d,config:h}=r,p=ba({fieldDef:o,markDef:d,config:h});Lu(f)&&ot(l)&&p!==.5&&(c.rectBandPosition=p)}c&&(a[ye(c)]=c)}return a},{});return Ie(i)?null:new vp(n,i)}static makeFromTransform(n,r){let{timeUnit:i,...a}={...r},o=xt(i),l={...a,timeUnit:o};return new vp(n,{[ye(l)]:l})}merge(n){for(let r in this.timeUnits={...this.timeUnits},n.timeUnits)this.timeUnits[r]||(this.timeUnits[r]=n.timeUnits[r]);for(let r of n.children)n.removeChild(r),r.parent=this;n.remove()}removeFormulas(n){let r={};for(let[i,a]of sa(this.timeUnits)){let o=Fb(a)?a.as:`${a.field}_end`;n.has(o)||(r[i]=a)}this.timeUnits=r}producedFields(){return new Set(ut(this.timeUnits).map(n=>Fb(n)?n.as:VS(n.field)))}dependentFields(){return new Set(ut(this.timeUnits).map(n=>n.field))}hash(){return`TimeUnit ${ye(this.timeUnits)}`}assemble(){let n=[];for(let r of ut(this.timeUnits)){let{rectBandPosition:i}=r,a=xt(r.timeUnit);if(Fb(r)){let{field:o,as:l}=r,{unit:s,utc:u,...c}=a,f=[l,`${l}_end`];n.push({field:Wn(o),type:"timeunit",...s?{units:mh(s)}:{},...u?{timezone:"utc"}:{},...c,as:f}),n.push(...YS(f,i,a))}else if(r){let{field:o}=r,l=o.replaceAll("\\.","."),s=XS({timeUnit:a,field:l}),u=VS(l);n.push({type:"formula",expr:s,as:u}),n.push(...YS([l,u],i,a))}}return n}},Ih="offsetted_rect_start",jh="offsetted_rect_end";function XS({timeUnit:e,field:t,reverse:n}){let{unit:r,utc:i}=e,{part:a,step:o}=a5(t5(r),e.step);return`${i?"utcOffset":"timeOffset"}('${a}', ${Ne(t)}, ${n?-o:o})`}function YS([e,t],n,r){if(n!==void 0&&n!==.5){let i=Ne(e),a=Ne(t);return[{type:"formula",expr:JS([XS({timeUnit:r,field:e,reverse:!0}),i],n+.5),as:`${e}_${Ih}`},{type:"formula",expr:JS([i,a],n+.5),as:`${e}_${jh}`}]}return[]}function JS([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}var Vu="_tuple_fields",wte=class{constructor(...e){N(this,"hasChannel");N(this,"hasField");N(this,"hasSelectionId");N(this,"timeUnit");N(this,"items");this.items=e,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}},Ate={defined:()=>!0,parse:(e,t,n)=>{let r=t.name,i=t.project??(t.project=new wte),a={},o={},l=new Set,s=(p,m)=>{let g=m==="visual"?p.channel:p.field,y=Ve(`${r}_${g}`);for(let v=1;l.has(y);v++)y=Ve(`${r}_${g}_${v}`);return l.add(y),{[m]:y}},u=t.type,c=e.config.selection[u],f=n.value===void 0?null:it(n.value),{fields:d,encodings:h}=we(n.select)?n.select:{};if(!d&&!h&&f){for(let p of f)if(we(p))for(let m of I(p))WJ(m)?(h||(h=[])).push(m):u==="interval"?(q(DQ),h=c.encodings):(d??(d=[])).push(m)}!d&&!h&&(h=c.encodings,"fields"in c&&(d=c.fields));for(let p of h??[]){let m=e.fieldDef(p);if(m){let g=m.field;if(m.aggregate){q(yQ(p,m.aggregate));continue}else if(!g){q(L3(p));continue}if(m.timeUnit&&!co(m.timeUnit)){g=e.vgField(p);let y={timeUnit:m.timeUnit,as:g,field:m.field};o[ye(y)]=y}if(!a[g]){let y=u==="interval"&&Gr(p)&&yr(e.getScaleComponent(p).get("type"))?"R":m.bin?"R-RE":"E",v={field:g,channel:p,type:y,index:i.items.length};v.signals={...s(v,"data"),...s(v,"visual")},i.items.push(a[g]=v),i.hasField[g]=a[g],i.hasSelectionId=i.hasSelectionId||g===wr,p3(p)?(v.geoChannel=p,v.channel=h3(p),i.hasChannel[v.channel]=a[g]):i.hasChannel[p]=a[g]}}else q(L3(p))}for(let p of d??[]){if(i.hasField[p])continue;let m={type:"E",field:p,index:i.items.length};m.signals={...s(m,"data")},i.items.push(m),i.hasField[p]=m,i.hasSelectionId=i.hasSelectionId||p===wr}f&&(t.init=f.map(p=>i.items.map(m=>we(p)?p[m.geoChannel||m.channel]===void 0?p[m.field]:p[m.geoChannel||m.channel]:p))),Ie(o)||(i.timeUnit=new Tl(null,o))},signals:(e,t,n)=>{let r=t.name+Vu;return n.filter(i=>i.name===r).length>0||t.project.hasSelectionId?n:n.concat({name:r,value:t.project.items.map(e6)})}},QS="_curr",qh="anim_value",Ll="anim_clock",Cb="eased_anim_clock",KS="min_extent",ZS="max_range_extent",$b="last_tick_at",Sb="is_playing",Ete=1/60*1e3,kte=(e,t)=>[{name:Cb,update:Ll},{name:`${e}_domain`,init:`domain('${t}')`},{name:KS,init:`extent(${e}_domain)[0]`},{name:ZS,init:`extent(range('${t}'))[1]`},{name:qh,update:`invert('${t}', ${Cb})`}],_te={defined:e=>e.type==="point",topLevelSignals:(e,t,n)=>(Zr(t)&&(n=n.concat([{name:Ll,init:"0",on:[{events:{type:"timer",throttle:Ete},update:`${Sb} ? (${Ll} + (now() - ${$b}) > ${ZS} ? 0 : ${Ll} + (now() - ${$b})) : ${Ll}`}]},{name:$b,init:"now()",on:[{events:[{signal:Ll},{signal:Sb}],update:"now()"}]},{name:Sb,init:"true"}])),n),signals:(e,t,n)=>{let r=t.name,i=r+Vu,a=t.project,o="(item().isVoronoi ? datum.datum : datum)",l=ut(e.component.selection??{}).reduce((c,f)=>f.type==="interval"?c.concat(f.name+Pl):c,[]).map(c=>`indexof(item().mark.name, '${c}') < 0`).join(" && "),s=`datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${l?` && ${l}`:""}`,u=`unit: ${wo(e)}, `;if(t.project.hasSelectionId)u+=`${wr}: ${o}[${Ae(wr)}]`;else if(Zr(t))u+=`fields: ${i}, values: [${qh} ? ${qh} : ${KS}]`;else{let c=a.items.map(f=>{var d;return(d=e.fieldDef(f.channel))!=null&&d.bin?`[${o}[${Ae(e.vgField(f.channel,{}))}], ${o}[${Ae(e.vgField(f.channel,{binSuffix:"end"}))}]]`:`${o}[${Ae(f.field)}]`}).join(", ");u+=`fields: ${i}, values: [${c}]`}if(Zr(t))return n.concat(kte(t.name,e.scaleName(ca)),[{name:r+Ci,on:[{events:[{signal:Cb},{signal:qh}],update:`{${u}}`,force:!0}]}]);{let c=t.events;return n.concat([{name:r+Ci,on:c?[{events:c,update:`${s} ? {${u}} : null`,force:!0}]:[]}])}}};function e6(e){let{signals:t,hasLegend:n,index:r,...i}=e;return i.field=Wn(i.field),i}function bo(e,t=!0,n=bY){if(X(e)){let r=e.map(i=>bo(i,t,n));return t?`[${r.join(", ")}]`:r}else if(so(e))return n(t?uo(e):SK(e));return t?n(Se(e)):e}function Dte(e,t){for(let n of ut(e.component.selection??{})){let r=n.name,i=`${r}${Ci}, ${n.resolve==="global"?"true":`{unit: ${wo(e)}}`}`;for(let a of Vh)a.defined(n)&&(a.signals&&(t=a.signals(e,n,t)),a.modifyExpr&&(i=a.modifyExpr(e,n,i)));t.push({name:r+Zte,on:[{events:{signal:n.name+Ci},update:`modify(${Ae(n.name+xo)}, ${i})`}]})}return Mb(t)}function Fte(e,t){if(e.component.selection&&I(e.component.selection).length){let n=Ae(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:aa("pointermove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return Mb(t)}function Cte(e,t){let n=!1;for(let r of ut(e.component.selection??{})){let i=r.name,a=Ae(i+xo);if(t.filter(o=>o.name===i).length===0){let o=r.resolve==="global"?"union":r.resolve,l=r.type==="point"?", true, true)":")";t.push({name:r.name,update:`${_6}(${a}, ${Ae(o)}${l}`})}n=!0;for(let o of Vh)o.defined(r)&&o.topLevelSignals&&(t=o.topLevelSignals(e,r,t))}return n&&t.filter(r=>r.name==="unit").length===0&&t.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),Mb(t)}function $te(e,t){let n=[],r=[],i=wo(e,{escape:!1});for(let a of ut(e.component.selection??{})){let o={name:a.name+xo};if(a.project.hasSelectionId&&(o.transform=[{type:"collect",sort:{field:wr}}]),a.init){let l=a.project.items.map(e6);o.values=a.project.hasSelectionId?a.init.map(s=>({unit:i,[wr]:bo(s,!1)[0]})):a.init.map(s=>({unit:i,fields:l,values:bo(s,!1)}))}if([...n,...t].filter(l=>l.name===a.name+xo).length||n.push(o),Zr(a)&&t.length){let l=e.lookupDataSource(e.getDataName(et.Main)),s=t.find(c=>c.name===l),u=s.transform.find(c=>c.type==="filter"&&c.expr.includes("vlSelectionTest"));if(u){s.transform=s.transform.filter(f=>f!==u);let c={name:s.name+QS,source:s.name,transform:[u]};r.push(c)}}}return n.concat(t,r)}function t6(e,t){for(let n of ut(e.component.selection??{}))for(let r of Vh)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function Ste(e,t){for(let n of e.children)Je(n)&&(t=t6(n,t));return t}function Mte(e,t,n,r){let i=S6(e,t.param,t);return{signal:yr(n.get("type"))&&X(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function Mb(e){return e.map(t=>(t.on&&!t.on.length&&delete t.on,t))}var Di={defined:e=>e.type==="interval"&&e.resolve==="global"&&e.bind&&e.bind==="scales",parse:(e,t)=>{let n=t.scales=[];for(let r of t.project.items){let i=r.channel;if(!Gr(i))continue;let a=e.getScaleComponent(i),o=a?a.get("type"):void 0;if(o=="sequential"&&q(wQ),!a||!yr(o)){q(xQ);continue}a.set("selectionExtent",{param:t.name,field:r.field},!0),n.push(r)}},topLevelSignals:(e,t,n)=>{let r=t.scales.filter(o=>n.filter(l=>l.name===o.signals.data).length===0);if(!e.parent||Bb(e)||r.length===0)return n;let i=n.find(o=>o.name===t.name),a=i.update;if(a.includes(_6))i.update=`{${r.map(o=>`${Ae(Wn(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(let o of r){let l=`${Ae(Wn(o.field))}: ${o.signals.data}`;a.includes(l)||(a=`${a.substring(0,a.length-1)}, ${l}}`)}i.update=a}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!Bb(e))for(let r of t.scales){let i=n.find(a=>a.name===r.signals.data);i.push="outer",delete i.value,delete i.update}return n}};function Ob(e,t){return`domain(${Ae(e.scaleName(t))})`}function Bb(e){return e.parent&&Vl(e.parent)&&(!e.parent.parent||Bb(e.parent.parent))}var Pl="_brush",n6="_scale_trigger",Xu="geo_interval_init_tick",r6="_init",Ote="_center",Bte={defined:e=>e.type==="interval",parse:(e,t,n)=>{var r;if(e.hasProjection){let i={...ce(n.select)?n.select:{}};i.fields=[wr],i.encodings||(i.encodings=n.value?I(n.value):[pr,hr]),n.select={type:"interval",...i}}if(t.translate&&!Di.defined(t)){let i=`!event.item || event.item.mark.name !== ${Ae(t.name+Pl)}`;for(let a of t.events){if(!a.between){q(`${a} is not an ordered event stream for interval selections.`);continue}let o=it((r=a.between[0]).filter??(r.filter=[]));o.includes(i)||o.push(i)}}},signals:(e,t,n)=>{let r=t.name,i=r+Ci,a=ut(t.project.hasChannel).filter(l=>l.channel===Xe||l.channel===bt),o=t.init?t.init[0]:null;if(n.push(...a.reduce((l,s)=>l.concat(zte(e,t,s,o==null?void 0:o[s.index])),[])),e.hasProjection){let l=Ae(e.projectionName()),s=e.projectionName()+Ote,{x:u,y:c}=t.project.hasChannel,f=u==null?void 0:u.signals.visual,d=c==null?void 0:c.signals.visual,h=u?o==null?void 0:o[u.index]:`${s}[0]`,p=c?o==null?void 0:o[c.index]:`${s}[1]`,m=b=>e.getSizeSignalRef(b).signal,g=`[[${f?`${f}[0]`:"0"}, ${d?`${d}[0]`:"0"}],[${f?`${f}[1]`:m("width")}, ${d?`${d}[1]`:m("height")}]]`;o&&(n.unshift({name:r+r6,init:`[scale(${l}, [${u?h[0]:h}, ${c?p[0]:p}]), scale(${l}, [${u?h[1]:h}, ${c?p[1]:p}])]`}),(!u||!c)&&(n.find(b=>b.name===s)||n.unshift({name:s,update:`invert(${l}, [${m("width")}/2, ${m("height")}/2])`})));let y=`vlSelectionTuples(${`intersect(${g}, {markname: ${Ae(e.getName("marks"))}}, unit.mark)`}, ${`{unit: ${wo(e)}}`})`,v=a.map(b=>b.signals.visual);return n.concat({name:i,on:[{events:[...v.length?[{signal:v.join(" || ")}]:[],...o?[{signal:Xu}]:[]],update:y}]})}else{if(!Di.defined(t)){let u=r+n6,c=a.map(f=>{let d=f.channel,{data:h,visual:p}=f.signals,m=Ae(e.scaleName(d)),g=yr(e.getScaleComponent(d).get("type"))?"+":"";return`(!isArray(${h}) || (${g}invert(${m}, ${p})[0] === ${g}${h}[0] && ${g}invert(${m}, ${p})[1] === ${g}${h}[1]))`});c.length&&n.push({name:u,value:{},on:[{events:a.map(f=>({scale:e.scaleName(f.channel)})),update:`${c.join(" && ")} ? ${u} : {}`}]})}let l=a.map(u=>u.signals.data),s=`unit: ${wo(e)}, fields: ${r+Vu}, values`;return n.concat({name:i,...o?{init:`{${s}: ${bo(o)}}`}:{},...l.length?{on:[{events:[{signal:l.join(" || ")}],update:`${l.join(" && ")} ? {${s}: [${l}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(Je(e)&&e.hasProjection&&t.init&&(n.filter(r=>r.name===Xu).length||n.unshift({name:Xu,value:null,on:[{events:"timer{1}",update:`${Xu} === null ? {} : ${Xu}`}]})),n),marks:(e,t,n)=>{let r=t.name,{x:i,y:a}=t.project.hasChannel,o=i==null?void 0:i.signals.visual,l=a==null?void 0:a.signals.visual,s=`data(${Ae(t.name+xo)})`;if(Di.defined(t)||!i&&!a)return n;let u={x:i===void 0?{value:0}:{signal:`${o}[0]`},y:a===void 0?{value:0}:{signal:`${l}[0]`},x2:i===void 0?{field:{group:"width"}}:{signal:`${o}[1]`},y2:a===void 0?{field:{group:"height"}}:{signal:`${l}[1]`}};if(t.resolve==="global")for(let g of I(u))u[g]=[{test:`${s}.length && ${s}[0].unit === ${wo(e)}`,...u[g]},{value:0}];let{fill:c,fillOpacity:f,cursor:d,...h}=t.mark,p=I(h).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,a!==void 0&&`${l}[0] !== ${l}[1]`].filter(v=>v).join(" && "),value:h[y]},{value:null}],g),{}),m=d??(t.translate?"move":null);return[{name:`${r+Pl}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:c},fillOpacity:{value:f}},update:u}},...n,{name:r+Pl,type:"rect",clip:!0,encode:{enter:{...m?{cursor:{value:m}}:{},fill:{value:"transparent"}},update:{...u,...p}}}]}};function zte(e,t,n,r){let i=!e.hasProjection,a=n.channel,o=n.signals.visual,l=Ae(i?e.scaleName(a):e.projectionName()),s=d=>`scale(${l}, ${d})`,u=e.getSizeSignalRef(a===Xe?"width":"height").signal,c=`${a}(unit)`,f=t.events.reduce((d,h)=>[...d,{events:h.between[0],update:`[${c}, ${c}]`},{events:h,update:`[${o}[0], clamp(${c}, 0, ${u})]`}],[]);if(i){let d=n.signals.data,h=Di.defined(t),p=e.getScaleComponent(a),m=p?p.get("type"):void 0,g=r?{init:bo(r,!0,s)}:{value:[]};return f.push({events:{signal:t.name+n6},update:yr(m)?`[${s(`${d}[0]`)}, ${s(`${d}[1]`)}]`:"[0, 0]"}),h?[{name:d,on:[]}]:[{name:o,...g,on:f},{name:d,...r?{init:bo(r)}:{},on:[{events:{signal:o},update:`${o}[0] === ${o}[1] ? null : invert(${l}, ${o})`}]}]}else{let d=a===Xe?0:1,h=t.name+r6;return[{name:o,...r?{init:`[${h}[0][${d}], ${h}[1][${d}]]`}:{value:[]},on:f}]}}function Il({model:e,channelDef:t,vgChannel:n,invalidValueRef:r,mainRefFn:i}){let a=qu(t)&&t.condition,o=[];a&&(o=it(a).map(s=>{let u=i(s);if(_Z(s)){let{param:c,empty:f}=s;return{test:$6(e,{param:c,empty:f}),...u}}else return{test:Yh(e,s.test),...u}})),r!==void 0&&o.push(r);let l=i(t);return l!==void 0&&o.push(l),o.length>1||o.length===1&&o[0].test?{[n]:o}:o.length===1?{[n]:o[0]}:{}}function zb(e,t="text"){let n=e.encoding[t];return Il({model:e,channelDef:n,vgChannel:t,mainRefFn:r=>Uh(r,e.config),invalidValueRef:void 0})}function Uh(e,t,n="datum"){if(e){if(br(e))return We(e.value);if(le(e)){let{format:r,formatType:i}=Ch(e);return Kv({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function i6(e,t={}){let{encoding:n,markDef:r,config:i,stack:a}=e,o=n.tooltip;if(X(o))return{tooltip:o6({tooltip:o},a,i,t)};{let l=t.reactiveGeom?"datum.datum":"datum";return Il({model:e,channelDef:o,vgChannel:"tooltip",mainRefFn:s=>{let u=Uh(s,i,l);if(u)return u;if(s===null)return;let c=Le("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),se(c))return{value:c};if(we(c))return Q(c)?c:c.content==="encoding"?o6(n,a,i,t):{signal:l}},invalidValueRef:void 0})}}function a6(e,t,n,{reactiveGeom:r}={}){let i={...n,...n.tooltipFormat},a=new Set,o=r?"datum.datum":"datum",l=[];function s(c,f){let d=io(f),h=an(c)?c:{...c,type:e[d].type},p=it(h.title||rb(h,i)).join(", ").replaceAll(/"/g,'\\"'),m;if(ot(f)){let g=f==="x"?"x2":"y2",y=xr(e[g]);if(Ft(h.bin)&&y){let v=V(h,{expr:o}),b=V(y,{expr:o}),{format:w,formatType:A}=Ch(h);m=Iu(v,b,w,A,i),a.add(g)}}if((ot(f)||f===Gn||f===dr)&&t&&t.fieldChannel===f&&t.offset==="normalize"){let{format:g,formatType:y}=Ch(h);m=Kv({fieldOrDatumDef:h,format:g,formatType:y,expr:o,config:i,normalizeStack:!0}).signal}m??(m=Uh(h,i,o).signal),l.push({channel:f,key:p,value:m})}ab(e,(c,f)=>{W(c)?s(c,f):_h(c)&&s(c.condition,f)});let u={};for(let{channel:c,key:f,value:d}of l)!a.has(c)&&!u[f]&&(u[f]=d);return u}function o6(e,t,n,{reactiveGeom:r}={}){let i=sa(a6(e,t,n,{reactiveGeom:r})).map(([a,o])=>`"${a}": ${o}`);return i.length>0?{signal:`{${i.join(", ")}}`}:void 0}function Nte(e){let{markDef:t,config:n}=e,r=Le("aria",t,n);return r===!1?{}:{...r?{aria:r}:{},...Rte(e),...Tte(e)}}function Rte(e){let{mark:t,markDef:n,config:r}=e;if(r.aria===!1)return{};let i=Le("ariaRoleDescription",n,r);return i==null?st(dQ,t)?{}:{ariaRoleDescription:{value:t}}:{ariaRoleDescription:{value:i}}}function Tte(e){let{encoding:t,markDef:n,config:r,stack:i}=e,a=t.description;if(a)return Il({model:e,channelDef:a,vgChannel:"description",mainRefFn:s=>Uh(s,e.config),invalidValueRef:void 0});let o=Le("description",n,r);if(o!=null)return{description:We(o)};if(r.aria===!1)return{};let l=a6(t,i,r);if(!Ie(l))return{description:{signal:sa(l).map(([s,u],c)=>`"${c>0?"; ":""}${s}: " + (${u})`).join(" + ")}}}function St(e,t,n={}){let{markDef:r,encoding:i,config:a}=t,{vgChannel:o}=n,{defaultRef:l,defaultValue:s}=n,u=i[e];l===void 0&&(s??(s=Le(e,r,a,{vgChannel:o,ignoreVgConfig:!qu(u)})),s!==void 0&&(l=We(s)));let c={markDef:r,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e)},f=E5({...c,scaleChannel:e,channelDef:u});return Il({model:t,channelDef:u,vgChannel:o??e,invalidValueRef:f,mainRefFn:d=>Qv({...c,channel:e,channelDef:d,stack:null,defaultRef:l})})}function l6(e,t={filled:void 0}){let{markDef:n,encoding:r,config:i}=e,{type:a}=n,o=t.filled??Le("filled",n,i),l=he(["bar","point","circle","square","geoshape"],a)?"transparent":void 0,s=Le(o===!0?"color":void 0,n,i,{vgChannel:"fill"})??i.mark[o===!0&&"color"]??l,u=Le(o===!1?"color":void 0,n,i,{vgChannel:"stroke"})??i.mark[o===!1&&"color"],c=o?"fill":"stroke",f={...s?{fill:We(s)}:{},...u?{stroke:We(u)}:{}};return n.color&&(o?n.fill:n.stroke)&&q(W3("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...St("color",e,{vgChannel:c,defaultValue:o?s:u}),...St("fill",e,{defaultValue:r.fill?s:void 0}),...St("stroke",e,{defaultValue:r.stroke?u:void 0})}}function Lte(e){let{encoding:t,mark:n}=e,r=t.order;return!va(n)&&br(r)?Il({model:e,channelDef:r,vgChannel:"zindex",mainRefFn:i=>We(i.value),invalidValueRef:void 0}):{}}function jl({channel:e,markDef:t,encoding:n={},model:r,bandPosition:i}){let a=`${e}Offset`,o=t[a],l=n[a];if((a==="xOffset"||a==="yOffset")&&l)return{offsetType:"encoding",offset:Qv({channel:a,channelDef:l,markDef:t,config:r==null?void 0:r.config,scaleName:r.scaleName(a),scale:r.getScaleComponent(a),stack:null,defaultRef:We(o),bandPosition:i})};let s=t[a];return s?{offsetType:"visual",offset:s}:{}}function on(e,t,{defaultPos:n,vgChannel:r}){let{encoding:i,markDef:a,config:o,stack:l}=t,s=i[e],u=i[Wr(e)],c=t.scaleName(e),f=t.getScaleComponent(e),{offset:d,offsetType:h}=jl({channel:e,markDef:a,encoding:i,model:t,bandPosition:.5}),p=Nb({model:t,defaultPos:n,channel:e,scaleName:c,scale:f}),m=!s&&ot(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:Pte({channel:e,channelDef:s,channel2Def:u,markDef:a,config:o,scaleName:c,scale:f,stack:l,offset:d,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||e]:m}:void 0}function Pte(e){let{channel:t,channelDef:n,scaleName:r,stack:i,offset:a,markDef:o}=e;if(le(n)&&i&&t===i.fieldChannel){if(W(n)){let l=n.bandPosition;if(l===void 0&&o.type==="text"&&(t==="radius"||t==="theta")&&(l=.5),l!==void 0)return Ah({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:l,offset:a})}return po(n,r,{suffix:"end"},{offset:a})}return Jv(e)}function Nb({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){let{markDef:a,config:o}=e;return()=>{let l=io(n),s=Le(n,a,o,{vgChannel:ma(n)});if(s!==void 0)return Pu(n,s);switch(t){case"zeroOrMin":return s6({scaleName:r,scale:i,mode:"zeroOrMin",mainChannel:l,config:o});case"zeroOrMax":return s6({scaleName:r,scale:i,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:l,config:o});case"mid":return{...e[vn(n)],mult:.5}}}}function s6({mainChannel:e,config:t,...n}){let r=A5(n),{mode:i}=n;if(r)return r;switch(e){case"radius":{if(i==="zeroOrMin")return{value:0};let{widthSignal:a,heightSignal:o}=i.zeroOrMax;return{signal:`min(${a},${o})/2`}}case"theta":return i==="zeroOrMin"?{value:0}:{signal:"2*PI"};case"x":return i==="zeroOrMin"?{value:0}:{field:{group:"width"}};case"y":return i==="zeroOrMin"?{field:{group:"height"}}:{value:0}}}var Ite={left:"x",center:"xc",right:"x2"},jte={top:"y",middle:"yc",bottom:"y2"};function u6(e,t,n,r="middle"){if(e==="radius"||e==="theta")return ma(e);let i=e==="x"?"align":"baseline",a=Le(i,t,n),o;return Q(a)?(q(XQ(i)),o=void 0):o=a,e==="x"?Ite[o||(r==="top"?"left":"center")]:jte[o||r]}function Wh(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?c6(e,t,{defaultPos:n,defaultPos2:r}):on(e,t,{defaultPos:n})}function c6(e,t,{defaultPos:n,defaultPos2:r}){let{markDef:i,config:a}=t,o=Wr(e),l=vn(e),s=qte(t,r,o);return{...on(e,t,{defaultPos:n,vgChannel:s[l]?u6(e,i,a):ma(e)}),...s}}function qte(e,t,n){let{encoding:r,mark:i,markDef:a,stack:o,config:l}=e,s=io(n),u=vn(n),c=ma(n),f=r[s],d=e.scaleName(s),h=e.getScaleComponent(s),{offset:p}=n in r||n in a?jl({channel:n,markDef:a,encoding:r,model:e}):jl({channel:s,markDef:a,encoding:r,model:e});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){let g=vn(n),y=e.markDef[g];return y==null?{[c]:{field:e.getName(n)}}:{[g]:{value:y}}}let m=Ute({channel:n,channelDef:f,channel2Def:r[n],markDef:a,config:l,scaleName:d,scale:h,stack:o,offset:p,defaultRef:void 0});return m===void 0?Gh(n,a)||Gh(n,{[n]:Ev(n,a,l.style),[u]:Ev(u,a,l.style)})||Gh(n,l[i])||Gh(n,l.mark)||{[c]:Nb({model:e,defaultPos:t,channel:n,scaleName:d,scale:h})()}:{[c]:m}}function Ute({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:s,defaultRef:u}){return le(t)&&l&&e.charAt(0)===l.fieldChannel.charAt(0)?po(t,a,{suffix:"start"},{offset:s}):Jv({channel:e,channelDef:n,scaleName:a,scale:o,stack:l,markDef:r,config:i,offset:s,defaultRef:u})}function Gh(e,t){let n=vn(e),r=ma(e);if(t[r]!==void 0)return{[r]:Pu(e,t[r])};if(t[e]!==void 0)return{[r]:Pu(e,t[e])};if(t[n]){let i=t[n];if(ho(i))q(qQ(n));else return{[n]:Pu(e,i)}}}function Fi(e,t){let{config:n,encoding:r,markDef:i}=e,a=i.type,o=Wr(t),l=vn(t),s=r[t],u=r[o],c=e.getScaleComponent(t),f=c?c.get("type"):void 0,d=i.orient,h=r[l]??r.size??Le("size",i,n,{vgChannel:l}),p=v3(t),m=a==="bar"&&(t==="x"?d==="vertical":d==="horizontal")||a==="tick"&&(t==="y"?d==="vertical":d==="horizontal");return W(s)&&(je(s.bin)||Ft(s.bin)||s.timeUnit&&!u)&&!(h&&!ho(h))&&!r[p]&&!wt(f)?Hte({fieldDef:s,fieldDef2:u,channel:t,model:e}):(le(s)&&wt(f)||m)&&!u?Gte(s,t,e):c6(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function Wte(e,t,n,r,i,a,o){if(ho(i))if(n){let l=n.get("type");if(l==="band"){let s=`bandwidth('${t}')`;i.band!==1&&(s=`${i.band} * ${s}`);let u=Hr("minBandSize",{type:o},r);return{signal:u?`max(${gr(u)}, ${s})`:s}}else i.band!==1&&(q(KQ(l)),i=void 0)}else return{mult:i.band,field:{group:e}};else{if(Q(i))return i;if(i)return{value:i}}if(n){let l=n.get("range");if(oo(l)&&He(l.step))return{value:l.step-2}}if(!a){let{bandPaddingInner:l,barBandPaddingInner:s,rectBandPaddingInner:u,tickBandPaddingInner:c}=r.scale,f=at(l,o==="tick"?c:o==="bar"?s:u);if(Q(f))return{signal:`(1 - (${f.signal})) * ${e}`};if(He(f))return{signal:`${1-f} * ${e}`}}return{value:vb(r.view,e)-2}}function Gte(e,t,n){var k,_;let{markDef:r,encoding:i,config:a,stack:o}=n,l=r.orient,s=n.scaleName(t),u=n.getScaleComponent(t),c=vn(t),f=Wr(t),d=v3(t),h=n.scaleName(d),p=n.getScaleComponent(pv(t)),m=r.type==="tick"||l==="horizontal"&&t==="y"||l==="vertical"&&t==="x",g;(i.size||r.size)&&(m?g=St("size",n,{vgChannel:c,defaultRef:We(r.size)}):q(nK(r.type)));let y=!!g,v=B5({channel:t,fieldDef:e,markDef:r,config:a,scaleType:(k=u||p)==null?void 0:k.get("type"),useVlSizeChannel:m});g||(g={[c]:Wte(c,h||s,p||u,a,v,!!e,r.type)});let b=u6(t,r,a,((_=u||p)==null?void 0:_.get("type"))==="band"&&ho(v)&&!y?"top":"middle"),w=b==="xc"||b==="yc",{offset:A,offsetType:E}=jl({channel:t,markDef:r,encoding:i,model:n,bandPosition:w?.5:0}),x=Jv({channel:t,channelDef:e,markDef:r,config:a,scaleName:s,scale:u,stack:o,offset:A,defaultRef:Nb({model:n,defaultPos:"mid",channel:t,scaleName:s,scale:u}),bandPosition:w?E==="encoding"?0:.5:Q(v)?{signal:`(1-${v})/2`}:ho(v)?(1-v.band)/2:0});if(c)return{[b]:x,...g};{let F=ma(f),$=g[c],R=A?{...$,offset:A}:$;return{[b]:x,[F]:X(x)?[x[0],{...x[1],offset:R}]:{...x,offset:R}}}}function f6(e,t,n,r,i,a,o){if(d3(e))return 0;let l=e==="x"||e==="y2",s=l?-t/2:t/2;if(Q(n)||Q(i)||Q(r)||a){let u=gr(n),c=gr(i),f=gr(r),d=gr(a),h=a?`(${o} < ${d} ? ${l?"":"-"}0.5 * (${d} - (${o})) : ${s})`:s,p=f?`${f} + `:"",m=u?`(${u} ? -1 : 1) * `:"",g=c?`(${c} + ${h})`:h;return{signal:p+m+g}}else return i||(i=0),r+(n?-i-s:+i+s)}function Hte({fieldDef:e,fieldDef2:t,channel:n,model:r}){var _,F;let{config:i,markDef:a,encoding:o}=r,l=r.getScaleComponent(n),s=r.scaleName(n),u=l?l.get("type"):void 0,c=l.get("reverse"),f=B5({channel:n,fieldDef:e,markDef:a,config:i,scaleType:u}),d=((F=(_=r.component.axes[n])==null?void 0:_[0])==null?void 0:F.get("translate"))??.5,h=ot(n)?Le("binSpacing",a,i)??0:0,p=Wr(n),m=ma(n),g=ma(p),y=Hr("minBandSize",a,i),{offset:v}=jl({channel:n,markDef:a,encoding:o,model:r,bandPosition:0}),{offset:b}=jl({channel:p,markDef:a,encoding:o,model:r,bandPosition:0}),w=xZ({fieldDef:e,scaleName:s}),A=f6(n,h,c,d,v,y,w),E=f6(p,h,c,d,b??v,y,w),x=Q(f)?{signal:`(1-${f.signal})/2`}:ho(f)?(1-f.band)/2:.5,k=ba({fieldDef:e,fieldDef2:t,markDef:a,config:i});if(je(e.bin)||e.timeUnit){let $=e.timeUnit&&k!==.5;return{[g]:d6({fieldDef:e,scaleName:s,bandPosition:x,offset:E,useRectOffsetField:$}),[m]:d6({fieldDef:e,scaleName:s,bandPosition:Q(x)?{signal:`1-${x.signal}`}:1-x,offset:A,useRectOffsetField:$})}}else if(Ft(e.bin)){let $=po(e,s,{},{offset:E});if(W(t))return{[g]:$,[m]:po(t,s,{},{offset:A})};if(ao(e.bin)&&e.bin.step)return{[g]:$,[m]:{signal:`scale("${s}", ${V(e,{expr:"datum"})} + ${e.bin.step})`,offset:A}}}q(Y3(p))}function d6({fieldDef:e,scaleName:t,bandPosition:n,offset:r,useRectOffsetField:i}){return Ah({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:r,...i?{startSuffix:Ih,endSuffix:jh}:{}})}var Vte=new Set(["aria","width","height"]);function Xn(e,t){let{fill:n=void 0,stroke:r=void 0}=t.color==="include"?l6(e):{};return{...Xte(e.markDef,t),...h6("fill",n),...h6("stroke",r),...St("opacity",e),...St("fillOpacity",e),...St("strokeOpacity",e),...St("strokeWidth",e),...St("strokeDash",e),...Lte(e),...i6(e),...zb(e,"href"),...Nte(e)}}function h6(e,t){return t?{[e]:t}:{}}function Xte(e,t){return fQ.reduce((n,r)=>(!Vte.has(r)&&j(e,r)&&t[r]!=="ignore"&&(n[r]=We(e[r])),n),{})}function Rb(e){let{config:t,markDef:n}=e,r=new Set;if(e.forEachFieldDef((i,a)=>{var s;let o;if(!Gr(a)||!(o=e.getScaleType(a)))return;let l=fh(i.aggregate);if(yZ(Yv({scaleChannel:a,markDef:n,config:t,scaleType:o,isCountAggregate:l}))){let u=e.vgField(a,{expr:"datum",binSuffix:(s=e.stack)!=null&&s.impute?"mid":void 0});u&&r.add(u)}}),r.size>0)return{defined:{signal:[...r].map(i=>gh(i,!0)).join(" && ")}}}function p6(e,t){if(t!==void 0)return{[e]:We(t)}}var Tb="voronoi",m6={defined:e=>e.type==="point"&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(Tb)},marks:(e,t,n)=>{let{x:r,y:i}=t.project.hasChannel,a=e.mark;if(va(a))return q(vQ(a)),n;let o={name:e.getName(Tb),type:"path",interactive:!0,aria:!1,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...i6(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},l=0,s=!1;return n.forEach((u,c)=>{let f=u.name??"";f===e.component.mark[0].name?l=c:f.includes(Tb)&&(s=!0)}),s||n.splice(l+1,0,o),n}},g6={defined:e=>e.type==="point"&&e.resolve==="global"&&e.bind&&e.bind!=="scales"&&!db(e.bind),parse:(e,t,n)=>D6(t,n),topLevelSignals:(e,t,n)=>{var s;let r=t.name,i=t.project,a=t.bind,o=(s=t.init)==null?void 0:s[0],l=m6.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((u,c)=>{let f=Ve(`${r}_${u.field}`);n.filter(d=>d.name===f).length||n.unshift({name:f,...o?{init:bo(o[c])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${l}[${Ae(u.field)}] : null`}]:[],bind:a[u.field]??a[u.channel]??a})}),n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(u=>u.name===r+Ci),o=r+Vu,l=i.items.map(u=>Ve(`${r}_${u.field}`)),s=l.map(u=>`${u} !== null`).join(" && ");return l.length&&(a.update=`${s} ? {fields: ${o}, values: [${l.join(", ")}]} : null`),delete a.value,delete a.on,n}},Hh="_toggle",y6={defined:e=>e.type==="point"&&!Zr(e)&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+Hh,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+Ci,r=t.name+Hh;return`${r} ? null : ${n}, ${t.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${wo(e)}}, `}${r} ? ${n} : null`}},Yte={defined:e=>e.clear!==void 0&&e.clear!==!1&&!Zr(e),parse:(e,t)=>{t.clear&&(t.clear=se(t.clear)?aa(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(g6.defined(t))for(let r of t.project.items){let i=n.findIndex(a=>a.name===Ve(`${t.name}_${r.field}`));i!==-1&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function r(i,a){i!==-1&&n[i].on&&n[i].on.push({events:t.clear,update:a})}if(t.type==="interval")for(let i of t.project.items){let a=n.findIndex(o=>o.name===i.signals.visual);r(a,"[0, 0]"),a===-1&&r(n.findIndex(o=>o.name===i.signals.data),"null")}else{let i=n.findIndex(a=>a.name===t.name+Ci);r(i,"null"),y6.defined(t)&&(i=n.findIndex(a=>a.name===t.name+Hh),r(i,"false"))}return n}},v6={defined:e=>{let t=e.resolve==="global"&&e.bind&&db(e.bind),n=e.project.items.length===1&&e.project.items[0].field!==wr;return t&&!n&&q(AQ),t&&n},parse:(e,t,n)=>{let r=oe(n);if(r.select=se(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},D6(t,r),ce(n.select)&&(n.select.on||n.select.clear)){let a='event.item && indexof(event.item.mark.role, "legend") < 0';for(let o of t.events)o.filter=it(o.filter??[]),o.filter.includes(a)||o.filter.push(a)}let i=hb(t.bind)?t.bind.legend:"click";t.bind={legend:{merge:se(i)?aa(i,"view"):it(i)}}},topLevelSignals:(e,t,n)=>{let r=t.name,i=hb(t.bind)&&t.bind.legend,a=o=>l=>{let s=oe(l);return s.markname=o,s};for(let o of t.project.items){if(!o.hasLegend)continue;let l=`${Ve(o.field)}_legend`,s=`${r}_${l}`;if(n.filter(u=>u.name===s).length===0){let u=i.merge.map(a(`${l}_symbols`)).concat(i.merge.map(a(`${l}_labels`))).concat(i.merge.map(a(`${l}_entries`)));n.unshift({name:s,...t.init?{}:{value:null},on:[{events:u,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${s}`,force:!0}]})}}return n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(f=>f.name===r+Ci),o=r+Vu,l=i.items.filter(f=>f.hasLegend).map(f=>Ve(`${r}_${Ve(f.field)}_legend`)),s=`${l.map(f=>`${f} !== null`).join(" && ")} ? {fields: ${o}, values: [${l.join(", ")}]} : null`;t.events&&l.length>0?a.on.push({events:l.map(f=>({signal:f})),update:s}):l.length>0&&(a.update=s,delete a.value,delete a.on);let u=n.find(f=>f.name===r+Hh),c=hb(t.bind)&&t.bind.legend;return u&&(t.events?u.on.push({...u.on[0],events:c}):u.on[0].events=c),n}};function Jte(e,t,n){var i;let r=(i=e.fieldDef(t))==null?void 0:i.field;for(let a of ut(e.component.selection??{})){let o=a.project.hasField[r]??a.project.hasChannel[t];if(o&&v6.defined(a)){let l=n.get("selections")??[];l.push(a.name),n.set("selections",l,!1),o.hasLegend=!0}}}var b6="_translate_anchor",x6="_translate_delta",Qte={defined:e=>e.type==="interval"&&e.translate,signals:(e,t,n)=>{let r=t.name,i=Di.defined(t),a=r+b6,{x:o,y:l}=t.project.hasChannel,s=aa(t.translate,"scope");return i||(s=s.map(u=>(u.between[0].markname=r+Pl,u))),n.push({name:a,value:{},on:[{events:s.map(u=>u.between[0]),update:`{x: x(unit), y: y(unit)${o===void 0?"":`, extent_x: ${i?Ob(e,Xe):`slice(${o.signals.visual})`}`}${l===void 0?"":`, extent_y: ${i?Ob(e,bt):`slice(${l.signals.visual})`}`}}`}]},{name:r+x6,value:{},on:[{events:s,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),o!==void 0&&w6(e,t,o,"width",n),l!==void 0&&w6(e,t,l,"height",n),n}};function w6(e,t,n,r,i){let a=t.name,o=a+b6,l=a+x6,s=n.channel,u=Di.defined(t),c=i.find(b=>b.name===n.signals[u?"data":"visual"]),f=e.getSizeSignalRef(r).signal,d=e.getScaleComponent(s),h=d==null?void 0:d.get("type"),p=d==null?void 0:d.get("reverse"),m=u?s===Xe?p?"":"-":p?"-":"":"",g=`${o}.extent_${s}`,y=`${m}${l}.${s} / ${u?`${f}`:`span(${g})`}`,v=`${!u||!d?"panLinear":h==="log"?"panLog":h==="symlog"?"panSymlog":h==="pow"?"panPow":"panLinear"}(${g}, ${y}${u?h==="pow"?`, ${d.get("exponent")??1}`:h==="symlog"?`, ${d.get("constant")??1}`:"":""})`;c.on.push({events:{signal:l},update:u?v:`clampRange(${v}, 0, ${f})`})}var A6="_zoom_anchor",E6="_zoom_delta",Kte={defined:e=>e.type==="interval"&&e.zoom,signals:(e,t,n)=>{let r=t.name,i=Di.defined(t),a=r+E6,{x:o,y:l}=t.project.hasChannel,s=Ae(e.scaleName(Xe)),u=Ae(e.scaleName(bt)),c=aa(t.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+Pl,f))),n.push({name:r+A6,on:[{events:c,update:i?`{${[s?`x: invert(${s}, x(unit))`:"",u?`y: invert(${u}, y(unit))`:""].filter(f=>f).join(", ")}}`:"{x: x(unit), y: y(unit)}"}]},{name:a,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&k6(e,t,o,"width",n),l!==void 0&&k6(e,t,l,"height",n),n}};function k6(e,t,n,r,i){let a=t.name,o=n.channel,l=Di.defined(t),s=i.find(g=>g.name===n.signals[l?"data":"visual"]),u=e.getSizeSignalRef(r).signal,c=e.getScaleComponent(o),f=c==null?void 0:c.get("type"),d=l?Ob(e,o):s.name,h=a+E6,p=`${a}${A6}.${o}`,m=`${!l||!c?"zoomLinear":f==="log"?"zoomLog":f==="symlog"?"zoomSymlog":f==="pow"?"zoomPow":"zoomLinear"}(${d}, ${p}, ${h}${l?f==="pow"?`, ${c.get("exponent")??1}`:f==="symlog"?`, ${c.get("constant")??1}`:"":""})`;s.on.push({events:{signal:h},update:l?m:`clampRange(${m}, 0, ${u})`})}var xo="_store",Ci="_tuple",Zte="_modify",_6="vlSelectionResolve",Vh=[_te,Bte,Ate,y6,g6,Di,v6,Yte,Qte,Kte,m6];function ene(e){let t=e.parent;for(;t&&!Mn(t);)t=t.parent;return t}function wo(e,{escape:t}={escape:!0}){let n=t?Ae(e.name):e.name,r=ene(e);if(r){let{facet:i}=r;for(let a of Vn)i[a]&&(n+=` + '__facet_${a}_' + (facet[${Ae(r.vgField(a))}])`)}return n}function Lb(e){return ut(e.component.selection??{}).reduce((t,n)=>t||n.project.hasSelectionId,!1)}function D6(e,t){(Ee(t.select)||!t.select.on)&&delete e.events,(Ee(t.select)||!t.select.clear)&&delete e.clear,(Ee(t.select)||!t.select.toggle)&&delete e.toggle}function Zr(e){var t;return(t=e.events)==null?void 0:t.find(n=>"type"in n&&n.type==="timer")}function Pb(e){let t=[];return e.type==="Identifier"?[e.name]:e.type==="Literal"?[e.value]:(e.type==="MemberExpression"&&(t.push(...Pb(e.object)),t.push(...Pb(e.property))),t)}function F6(e){return e.object.type==="MemberExpression"?F6(e.object):e.object.name==="datum"}function C6(e){let t=OJ(e),n=new Set;return t.visit(r=>{r.type==="MemberExpression"&&F6(r)&&n.add(Pb(r).slice(1).join("."))}),n}var Xh=class n4 extends Re{constructor(n,r,i){super(n);N(this,"model");N(this,"filter");N(this,"expr");N(this,"_dependentFields");this.model=r,this.filter=i,this.expr=Yh(this.model,this.filter,this),this._dependentFields=C6(this.expr)}clone(){return new n4(null,this.model,oe(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}};function tne(e,t){let n={},r=e.config.selection;if(!t||!t.length)return n;let i=0;for(let a of t){let o=Ve(a.name),l=a.select,s=se(l)?l:l.type,u=we(l)?oe(l):{type:s},c=r[s];for(let h in c)h==="fields"||h==="encodings"||(h==="mark"&&(u.mark={...c.mark,...u.mark}),(u[h]===void 0||u[h]===!0)&&(u[h]=oe(c[h]??u[h])));let f=n[o]={...u,name:o,type:s,init:a.value,bind:a.bind,events:se(u.on)?aa(u.on,"scope"):it(oe(u.on))};if(Zr(f)&&(i++,i>1)){delete n[o];continue}let d=oe(a);for(let h of Vh)h.defined(f)&&h.parse&&h.parse(e,f,d)}return i>1&&q(CQ),n}function $6(e,t,n,r="datum"){let i=se(t)?t:t.param,a=Ve(i),o=Ae(a+xo),l;try{l=e.getSelectionComponent(a,i)}catch{return`!!${a}`}if(l.project.timeUnit){let c=n??e.component.data.raw,f=l.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}let s=`${l.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest("}${o}, ${r}${l.resolve==="global"?")":`, ${Ae(l.resolve)})`}`,u=`length(data(${o}))`;return t.empty===!1?`${u} && ${s}`:`!${u} || ${s}`}function S6(e,t,n){let r=Ve(t),i=n.encoding,a=n.field,o;try{o=e.getSelectionComponent(r,t)}catch{return r}if(!i&&!a)a=o.project.items[0].field,o.project.items.length>1&&q($Q(a));else if(i&&!a){let l=o.project.items.filter(s=>s.channel===i);!l.length||l.length>1?(a=o.project.items[0].field,q(SQ(l,i,n,a))):a=l[0].field}return`${o.name}[${Ae(Wn(a))}]`}function nne(e,t){for(let[n,r]of sa(e.component.selection??{})){let i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new bn(new Xh(t,e,{param:n}),i,et.Lookup,e.component.data.outputNodeRefCounts)}}function Yh(e,t,n){return Su(t,r=>se(r)?r:PK(r)?$6(e,r,n):l5(r))}function rne(e,t){if(e)return X(e)&&!ya(e)?e.map(n=>rb(n,t)).join(", "):e}function Ib(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function Yu(e,t,n,r={header:!1}){var f,d;let{disable:i,orient:a,scale:o,labelExpr:l,title:s,zindex:u,...c}=e.combine();if(!i){for(let h in c){let p=h,m=PZ[p],g=c[p];if(m&&m!==t&&m!=="both")delete c[p];else if(Gu(g)){let{condition:y,...v}=g,b=it(y),w=W5[p];if(w){let{vgProp:A,part:E}=w;Ib(c,E,A,[...b.map(x=>{let{test:k,..._}=x;return{test:Yh(null,k),..._}}),v]),delete c[p]}else w===null&&(c[p]={signal:b.map(A=>{let{test:E,...x}=A;return`${Yh(null,E)} ? ${C3(x)} : `}).join("")+C3(v)})}else if(Q(g)){let y=W5[p];if(y){let{vgProp:v,part:b}=y;Ib(c,b,v,g),delete c[p]}}he(["labelAlign","labelBaseline"],p)&&c[p]===null&&delete c[p]}if(t==="grid"){if(!c.grid)return;if(c.encode){let{grid:h}=c.encode;c.encode={...h?{grid:h}:{}},Ie(c.encode)&&delete c.encode}return{scale:o,orient:a,...c,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:at(u,0)}}else{if(!r.header&&e.mainExtracted)return;if(l!==void 0){let p=l;(d=(f=c.encode)==null?void 0:f.labels)!=null&&d.update&&Q(c.encode.labels.update.text)&&(p=to(l,"datum.label",c.encode.labels.update.text.signal)),Ib(c,"labels","text",{signal:p})}if(c.labelAlign===null&&delete c.labelAlign,c.encode){for(let p of G5)e.hasAxisPart(p)||delete c.encode[p];Ie(c.encode)&&delete c.encode}let h=rne(s,n);return{scale:o,orient:a,grid:!1,...h?{title:h}:{},...c,...n.aria===!1?{aria:!1}:{},zindex:at(u,0)}}}}function M6(e){let{axes:t}=e.component,n=[];for(let r of xi)if(t[r]){for(let i of t[r])if(!i.get("disable")&&!i.get("gridScale")){let a=r==="x"?"height":"width",o=e.getSizeSignalRef(a).signal;a!==o&&n.push({name:a,update:o})}}return n}function ine(e,t){let{x:n=[],y:r=[]}=e;return[...n.map(i=>Yu(i,"grid",t)),...r.map(i=>Yu(i,"grid",t)),...n.map(i=>Yu(i,"main",t)),...r.map(i=>Yu(i,"main",t))].filter(i=>i)}function O6(e,t,n,r){return Object.assign.apply(null,[{},...e.map(i=>{if(i==="axisOrient"){let a=n==="x"?"bottom":"left",o=t[n==="x"?"axisBottom":"axisLeft"]||{},l=t[n==="x"?"axisTop":"axisRight"]||{},s=new Set([...I(o),...I(l)]),u={};for(let c of s.values())u[c]={signal:`${r.signal} === "${a}" ? ${gr(o[c])} : ${gr(l[c])}`};return u}return t[i]})])}function ane(e,t,n,r){let i=t==="band"?["axisDiscrete","axisBand"]:t==="point"?["axisDiscrete","axisPoint"]:d5(t)?["axisQuantitative"]:t==="time"||t==="utc"?["axisTemporal"]:[],a=e==="x"?"axisX":"axisY",o=Q(n)?"axisOrient":`axis${Mu(n)}`,l=[...i,...i.map(u=>a+u.substr(4))],s=["axis",o,a];return{vlOnlyAxisConfig:O6(l,r,e,n),vgAxisConfig:O6(s,r,e,n),axisConfigStyle:one([...s,...l],r)}}function one(e,t){var r;let n=[{}];for(let i of e){let a=(r=t[i])==null?void 0:r.style;if(a){a=it(a);for(let o of a)n.push(t.style[o])}}return Object.assign.apply(null,n)}function jb(e,t,n,r={}){var a;let i=S3(e,n,t);if(i!==void 0)return{configFrom:"style",configValue:i};for(let o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((a=r[o])==null?void 0:a[e])!==void 0)return{configFrom:o,configValue:r[o][e]};return{}}var B6={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??lne(n,e),gridScale:({model:e,channel:t})=>sne(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||N6(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||z6(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??cne(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??fne(t.type,n,W(t)&&!!t.timeUnit,W(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{let a=e==="x"?"width":e==="y"?"height":void 0,o=a?t.getSizeSignalRef(a):void 0;return n.tickCount??hne({fieldOrDatumDef:r,scaleType:i,size:o,values:n.values})},tickMinStep:({axis:e,format:t,fieldOrDatumDef:n})=>e.tickMinStep??pne({format:t,fieldOrDatumDef:n}),title:({axis:e,model:t,channel:n})=>{if(e.title!==void 0)return e.title;let r=R6(t,n);if(r!==void 0)return r;let i=t.typedFieldDef(n),a=n==="x"?"x2":"y2",o=t.fieldDef(a);return O3(i?[O5(i)]:[],W(o)?[O5(o)]:[])},values:({axis:e,fieldOrDatumDef:t})=>mne(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??gne(n,t)};function lne(e,t){return!wt(e)&&W(t)&&!je(t==null?void 0:t.bin)&&!Ft(t==null?void 0:t.bin)}function sne(e,t){let n=t==="x"?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)}function une(e,t,n,r,i){let a=t==null?void 0:t.labelAngle;if(a!==void 0)return Q(a)?a:Ou(a);{let{configValue:o}=jb("labelAngle",r,t==null?void 0:t.style,i);return o===void 0?n===Xe&&he([jv,Iv],e.type)&&!(W(e)&&e.timeUnit)?270:void 0:Ou(o)}}function qb(e){return`(((${e.signal} % 360) + 360) % 360)`}function z6(e,t,n,r){if(e!==void 0)if(n==="x"){if(Q(e)){let i=qb(e);return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${Q(t)?`(${t.signal} === "top")`:t==="top"} ? "bottom" : "top"`}}if(45<e&&e<135||225<e&&e<315)return"middle";if(Q(t)){let i=e<=45||315<=e?"===":"!==";return{signal:`${t.signal} ${i} "top" ? "bottom" : "top"`}}return(e<=45||315<=e)==(t==="top")?"bottom":"top"}else{if(Q(e)){let i=qb(e),a=Q(t)?`(${t.signal} === "left")`:t==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${a} ? "top" : "bottom"`}}if(e<=45||315<=e||135<=e&&e<=225)return r?"middle":null;if(Q(t)){let i=45<=e&&e<=135?"===":"!==";return{signal:`${t.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=e&&e<=135)==(t==="left")?"top":"bottom"}}function N6(e,t,n){if(e===void 0)return;let r=n==="x",i=r?0:90,a=r?"bottom":"left";if(Q(e)){let o=qb(e),l=Q(t)?`(${t.signal} === "${a}")`:t===a;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${l} ? "left" : "right"`}}if((e+i)%180==0)return r?null:"center";if(Q(t)){let o=i<e&&e<180+i?"===":"!==";return{signal:`${`${t.signal} ${o} "${a}"`} ? "left" : "right"`}}return(i<e&&e<180+i)==(t===a)?"left":"right"}function cne(e,t){if(t==="x"&&he(["quantitative","temporal"],e))return!0}function fne(e,t,n,r){if(n&&!we(r)||e!=="nominal"&&e!=="ordinal")return t==="log"||t==="symlog"?"greedy":!0}function dne(e){return e==="x"?"bottom":"left"}function hne({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){var i;if(!r&&!wt(t)&&t!=="log"){if(W(e)){if(je(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&he(["month","hours","day","quarter"],(i=xt(e.timeUnit))==null?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function pne({format:e,fieldOrDatumDef:t}){if(e==="d")return 1;if(W(t)){let{timeUnit:n}=t;if(n){let r=i5(n);if(r)return{signal:r}}}}function R6(e,t){let n=t==="x"?"x2":"y2",r=e.fieldDef(t),i=e.fieldDef(n),a=r?r.title:void 0,o=i?i.title:void 0;if(a&&o)return B3(a,o);if(a)return a;if(o)return o;if(a!==void 0)return a;if(o!==void 0)return o}function mne(e,t){let n=e.values;if(X(n))return U5(t,n);if(Q(n))return n}function gne(e,t){return e==="rect"&&Fh(t)?1:0}var Ub=class e2 extends Re{constructor(n,r){super(n);N(this,"transform");N(this,"_dependentFields");this.transform=r,this._dependentFields=C6(this.transform.calculate)}clone(){return new e2(null,oe(this.transform))}static parseAllForSortIndex(n,r){return r.forEachFieldDef((i,a)=>{if(go(i)&&M5(i.sort)){let{field:o,timeUnit:l}=i,s=i.sort,u=s.map((c,f)=>`${l5({field:o,timeUnit:l,equal:c})} ? ${f} : `).join("")+s.length;n=new e2(n,{calculate:u,as:ql(i,a,{forAs:!0})})}}),n}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${ye(this.transform)}`}};function ql(e,t,n){return V(e,{prefix:t,suffix:"sort_index",...n})}function Jh(e,t){return he(["top","bottom"],t)?"column":he(["left","right"],t)||e==="row"?"row":"column"}function Ul(e,t,n,r){let i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return at((t||{})[e],i[e],n.header[e])}function Qh(e,t,n,r){let i={};for(let a of e){let o=Ul(a,t||{},n,r);o!==void 0&&(i[a]=o)}return i}var Wb=["row","column"],Gb=["header","footer"];function yne(e,t){let n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:o,titleOrient:l}=Qh(["titleAnchor","titleAngle","titleOrient"],i.header,r,t),s=Jh(t,l),u=Ou(o);return{name:`${t}-title`,type:"group",role:`${s}-title`,title:{text:n,...t==="row"?{orient:"left"}:{},style:"guide-title",...L6(u,s),...T6(s,u,a),...P6(r,i,t,oee,fS)}}}function T6(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}let r=N6(t,e==="row"?"left":"top",e==="row"?"y":"x");return r?{align:r}:{}}function L6(e,t){let n=z6(e,t==="row"?"left":"top",t==="row"?"y":"x",!0);return n?{baseline:n}:{}}function vne(e,t){let n=e.component.layoutHeaders[t],r=[];for(let i of Gb)if(n[i])for(let a of n[i]){let o=xne(e,t,i,n,a);o!=null&&r.push(o)}return r}function bne(e,t){let{sort:n}=e;return Ei(n)?{field:V(n,{expr:"datum"}),order:n.order??"ascending"}:X(n)?{field:ql(e,t,{expr:"datum"}),order:"ascending"}:{field:V(e,{expr:"datum"}),order:n??"ascending"}}function Hb(e,t,n){let{format:r,formatType:i,labelAngle:a,labelAnchor:o,labelOrient:l,labelExpr:s}=Qh(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),u=Kv({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:n}).signal,c=Jh(t,l);return{text:{signal:s?to(to(s,"datum.label",u),"datum.value",V(e,{expr:"parent"})):u},...t==="row"?{orient:"left"}:{},style:"guide-label",frame:"group",...L6(a,c),...T6(c,a,o),...P6(n,e,t,lee,dS)}}function xne(e,t,n,r,i){if(i){let a=null,{facetFieldDef:o}=r,l=e.config?e.config:void 0;if(o&&i.labels){let{labelOrient:f}=Qh(["labelOrient"],o.header,l,t);(t==="row"&&!he(["top","bottom"],f)||t==="column"&&!he(["left","right"],f))&&(a=Hb(o,t,l))}let s=Mn(e)&&!ju(e.facet),u=i.axes,c=(u==null?void 0:u.length)>0;if(a||c){let f=t==="row"?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:bne(o,t)}:{},...c&&s?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{},...c?{axes:u}:{}}}}return null}var wne={column:{start:0,end:1},row:{start:1,end:0}};function Ane(e,t){return wne[t][e]}function Ene(e,t){let n={};for(let r of Vn){let i=e[r];if(i!=null&&i.facetFieldDef){let{titleAnchor:a,titleOrient:o}=Qh(["titleAnchor","titleOrient"],i.facetFieldDef.header,t,r),l=Jh(r,o),s=Ane(a,l);s!==void 0&&(n[l]=s)}}return Ie(n)?void 0:n}function P6(e,t,n,r,i){let a={};for(let o of r){if(!i[o])continue;let l=Ul(o,t==null?void 0:t.header,e,n);l!==void 0&&(a[i[o]]=l)}return a}function Vb(e){return[...Kh(e,"width"),...Kh(e,"height"),...Kh(e,"childWidth"),...Kh(e,"childHeight")]}function Kh(e,t){let n=t==="width"?"x":"y",r=e.component.layoutSize.get(t);if(!r||r==="merged")return[];let i=e.getSizeSignalRef(t).signal;if(r==="step"){let a=e.getScaleComponent(n);if(a){let o=a.get("type"),l=a.get("range");if(wt(o)&&oo(l)){let s=e.scaleName(n);return Mn(e.parent)&&e.parent.component.resolve.scale[n]==="independent"?[I6(s,l)]:[I6(s,l),{name:i,update:j6(s,a,`domain('${s}').length`)}]}}throw Error("layout size is step although width/height is not step.")}else if(r=="container"){let a=i.endsWith("width"),o=a?"containerSize()[0]":"containerSize()[1]",l=`isFinite(${o}) ? ${o} : ${yb(e.config.view,a?"width":"height")}`;return[{name:i,init:l,on:[{update:l,events:"window:resize"}]}]}else return[{name:i,value:r}]}function I6(e,t){let n=`${e}_step`;return Q(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function j6(e,t,n){let r=t.get("type"),i=t.get("padding"),a=at(t.get("paddingOuter"),i),o=t.get("paddingInner");return o=r==="band"?o===void 0?i:o:1,`bandspace(${n}, ${gr(o)}, ${gr(a)}) * ${e}_step`}function q6(e){return e==="childWidth"?"width":e==="childHeight"?"height":e}function U6(e,t){return I(e).reduce((n,r)=>({...n,...Il({model:t,channelDef:e[r],vgChannel:r,mainRefFn:i=>We(i.value),invalidValueRef:void 0})}),{})}function W6(e,t){if(Mn(t))return e==="theta"?"independent":"shared";if(Vl(t))return"shared";if(dx(t))return ot(e)||e==="theta"||e==="radius"?"independent":"shared";throw Error("invalid model type for resolve")}function Xb(e,t){let n=e.scale[t],r=ot(t)?"axis":"legend";return n==="independent"?(e[r][t]==="shared"&&q(lK(t)),"independent"):e[r][t]||"shared"}var G6=I({...uee,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),kne=class extends vo{},H6={symbols:_ne,gradient:Dne,labels:Fne,entries:Cne};function _ne(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:a}){if(a!=="symbol")return;let{markDef:o,encoding:l,config:s,mark:u}=n,c=o.filled&&u!=="trail",f={...mQ({},n,cZ),...l6(n,{filled:c})},d=i.get("symbolOpacity")??s.legend.symbolOpacity,h=i.get("symbolFillColor")??s.legend.symbolFillColor,p=i.get("symbolStrokeColor")??s.legend.symbolStrokeColor,m=d===void 0?V6(l.opacity)??o.opacity:void 0;if(f.fill){if(r==="fill"||c&&r===gn)delete f.fill;else if(j(f.fill,"field"))h?delete f.fill:(f.fill=We(s.legend.symbolBaseFillColor??"black"),f.fillOpacity=We(m??1));else if(X(f.fill)){let g=Yb(l.fill??l.color)??o.fill??(c&&o.color);g&&(f.fill=We(g))}}if(f.stroke){if(r==="stroke"||!c&&r===gn)delete f.stroke;else if(j(f.stroke,"field")||p)delete f.stroke;else if(X(f.stroke)){let g=at(Yb(l.stroke||l.color),o.stroke,c?o.color:void 0);g&&(f.stroke={value:g})}}if(r!==bi){let g=W(t)&&Y6(n,i,t);g?f.opacity=[{test:g,...We(m??1)},We(s.legend.unselectedOpacity)]:m&&(f.opacity=We(m))}return f={...f,...e},Ie(f)?void 0:f}function Dne(e,{model:t,legendType:n,legendCmpt:r}){if(n!=="gradient")return;let{config:i,markDef:a,encoding:o}=t,l={},s=(r.get("gradientOpacity")??i.legend.gradientOpacity)===void 0?V6(o.opacity)||a.opacity:void 0;return s&&(l.opacity=We(s)),l={...l,...e},Ie(l)?void 0:l}function Fne(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){let a=n.legend(r)||{},o=n.config,l=W(t)?Y6(n,i,t):void 0,s=l?[{test:l,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:u,formatType:c}=a,f;mo(c)?f=vr({fieldOrDatumDef:t,field:"datum.value",format:u,formatType:c,config:o}):u===void 0&&c===void 0&&o.customFormatTypes&&(t.type==="quantitative"&&o.numberFormatType?f=vr({fieldOrDatumDef:t,field:"datum.value",format:o.numberFormat,formatType:o.numberFormatType,config:o}):t.type==="temporal"&&o.timeFormatType&&W(t)&&t.timeUnit===void 0&&(f=vr({fieldOrDatumDef:t,field:"datum.value",format:o.timeFormat,formatType:o.timeFormatType,config:o})));let d={...s?{opacity:s}:{},...f?{text:f}:{},...e};return Ie(d)?void 0:d}function Cne(e,{legendCmpt:t}){var n;return(n=t.get("selections"))!=null&&n.length?{...e,fill:{value:"transparent"}}:e}function V6(e){return X6(e,(t,n)=>Math.max(t,n.value))}function Yb(e){return X6(e,(t,n)=>at(t,n.value))}function X6(e,t){if(FZ(e))return it(e.condition).reduce(t,e.value);if(br(e))return e.value}function Y6(e,t,n){let r=t.get("selections");if(!(r!=null&&r.length))return;let i=Ae(n.field);return r.map(a=>`(!length(data(${Ae(Ve(a)+xo)})) || (${a}[${i}] && indexof(${a}[${i}], datum.value) >= 0))`).join(" || ")}var J6={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:r,formatType:i}=t;return D5(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return F5(r,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??Nne(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??Rne(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??Sne(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>Ol(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(Dl(n)&&Xr(t)){if(e==="gradient")return}else if(e==="symbol")return;return e},values:({fieldOrDatumDef:e,legend:t})=>$ne(t,e)};function $ne(e,t){let n=e.values;if(X(n))return U5(t,n);if(Q(n))return n}function Sne(e,t,n,r){if(t!=="shape"){let i=Yb(n)??r;if(i)return i}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function Mne(e){let{legend:t}=e;return at(t.type,One(e))}function One({channel:e,timeUnit:t,scaleType:n}){if(Dl(e)){if(he(["quarter","month","day"],t))return"symbol";if(Xr(n))return"gradient"}return"symbol"}function Bne({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?"gradientDirection":"symbolDirection"]??zne(n,t)}function zne(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return t==="gradient"?"horizontal":void 0}}function Nne({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){let{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:o,gradientVerticalMaxLength:l,gradientVerticalMinLength:s}=e;if(Xr(i))return n==="horizontal"?r==="top"||r==="bottom"?Q6(t,"width",o,a):o:Q6(t,"height",s,l)}function Q6(e,t,n,r){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})`}}function Rne(e){if(he(["quantile","threshold","log","symlog"],e))return"greedy"}function K6(e){let t=Je(e)?Tne(e):jne(e);return e.component.legends=t,t}function Tne(e){let{encoding:t}=e,n={};for(let r of[gn,...pS]){let i=pt(t[r]);!i||!e.getScaleComponent(r)||r===yn&&W(i)&&i.type===Cl||(n[r]=Ine(e,r))}return n}function Lne(e,t){let n=e.scaleName(t);if(e.mark==="trail"){if(t==="color")return{stroke:n};if(t==="size")return{strokeWidth:n}}return t==="color"?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}function Pne(e,t,n,r){switch(t){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(t==="title"&&e===(r==null?void 0:r.title))return!0}return e===(n||{})[t]}function Ine(e,t){var w;let n=e.legend(t),{markDef:r,encoding:i,config:a}=e,o=a.legend,l=new kne({},Lne(e,t));Jte(e,t,l);let s=n===void 0?o.disable:!n;if(l.set("disable",s,n!==void 0),s)return l;n||(n={});let u=e.getScaleComponent(t).get("type"),c=pt(i[t]),f=W(c)?(w=xt(c.timeUnit))==null?void 0:w.unit:void 0,d=n.orient||a.legend.orient||"right",h=Mne({legend:n,channel:t,timeUnit:f,scaleType:u}),p=Bne({legend:n,legendType:h,orient:d,legendConfig:o}),m={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:c,legendConfig:o,config:a,scaleType:u,orient:d,legendType:h,direction:p};for(let A of G6){if(h==="gradient"&&A.startsWith("symbol")||h==="symbol"&&A.startsWith("gradient"))continue;let E=A in J6?J6[A](m):n[A];if(E!==void 0){let x=Pne(E,A,n,e.fieldDef(t));(x||a.legend[A]===void 0)&&l.set(A,E,x)}}let g=(n==null?void 0:n.encoding)??{},y=l.get("selections"),v={},b={fieldOrDatumDef:c,model:e,channel:t,legendCmpt:l,legendType:h};for(let A of["labels","legend","title","symbols","gradient","entries"]){let E=U6(g[A]??{},e),x=A in H6?H6[A](E,b):E;x!==void 0&&!Ie(x)&&(v[A]={...y!=null&&y.length&&W(c)?{name:`${Ve(c.field)}_legend_${A}`}:{},...y!=null&&y.length?{interactive:!!y}:{},update:x})}return Ie(v)||l.set("encode",v,!!(n!=null&&n.encoding)),l}function jne(e){let{legends:t,resolve:n}=e.component;for(let r of e.children){K6(r);for(let i of I(r.component.legends))n.legend[i]=Xb(e.component.resolve,i),n.legend[i]==="shared"&&(t[i]=Z6(t[i],r.component.legends[i]),t[i]||(n.legend[i]="independent",delete t[i]))}for(let r of I(t))for(let i of e.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return t}function Z6(e,t){var a,o,l,s;if(!e)return t.clone();let n=e.getWithExplicit("orient"),r=t.getWithExplicit("orient");if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(let u of G6){let c=wa(e.getWithExplicit(u),t.getWithExplicit(u),u,"legend",(f,d)=>{switch(u){case"symbolType":return qne(f,d);case"title":return z3(f,d);case"type":return i=!0,Ar("symbol")}return Ph(f,d,u,"legend")});e.setWithExplicit(u,c)}return i&&((o=(a=e.implicit)==null?void 0:a.encode)!=null&&o.gradient&&rh(e.implicit,["encode","gradient"]),(s=(l=e.explicit)==null?void 0:l.encode)!=null&&s.gradient&&rh(e.explicit,["encode","gradient"])),e}function qne(e,t){return t.value==="circle"?t:e}function Une(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function e8(e){let t=e.component.legends,n={};for(let r of I(t)){let i=Se(e.getScaleComponent(r).get("domains"));if(n[i])for(let a of n[i])Z6(a,t[r])||n[i].push(t[r]);else n[i]=[t[r].clone()]}return ut(n).flat().map(r=>Wne(r,e.config)).filter(r=>r!==void 0)}function Wne(e,t){var o,l,s;let{disable:n,labelExpr:r,selections:i,...a}=e.combine();if(!n){if(t.aria===!1&&a.aria==null&&(a.aria=!1),(o=a.encode)==null?void 0:o.symbols){let u=a.encode.symbols.update;u.fill&&u.fill.value!=="transparent"&&!u.stroke&&!a.stroke&&(u.stroke={value:"transparent"});for(let c of pS)a[c]&&delete u[c]}if(a.title||delete a.title,r!==void 0){let u=r;(s=(l=a.encode)==null?void 0:l.labels)!=null&&s.update&&Q(a.encode.labels.update.text)&&(u=to(r,"datum.label",a.encode.labels.update.text.signal)),Une(a,"labels","text",{signal:u})}return a}}function Gne(e){return Vl(e)||dx(e)?Hne(e):t8(e)}function Hne(e){return e.children.reduce((t,n)=>t.concat(n.assembleProjections()),t8(e))}function t8(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:r}=n;if(t.data){let i={signal:`[${t.size.map(o=>o.signal).join(", ")}]`},a=t.data.reduce((o,l)=>{let s=Q(l)?l.signal:`data('${e.lookupDataSource(l)}')`;return he(o,s)||o.push(s),o},[]);if(a.length<=0)throw Error("Projection's fit didn't find any data sources");return[{name:r,size:i,fit:{signal:a.length>1?`[${a.join(", ")}]`:a[0]},...n}]}else return[{name:r,translate:{signal:"[width / 2, height / 2]"},...n}]}var Vne=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"],n8=class extends vo{constructor(t,n,r,i){super({...n},{name:t});N(this,"specifiedProjection");N(this,"size");N(this,"data");N(this,"merged",!1);this.specifiedProjection=n,this.size=r,this.data=i}get isFit(){return!!this.data}};function r8(e){e.component.projection=Je(e)?Xne(e):Qne(e)}function Xne(e){if(e.hasProjection){let t=Ct(e.specifiedProjection),n=!(t&&(t.scale!=null||t.translate!=null)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?Yne(e):void 0,a=new n8(e.projectionName(!0),{...Ct(e.config.projection),...t},r,i);return a.get("type")||a.set("type","equalEarth",!1),a}}function Yne(e){let t=[],{encoding:n}=e;for(let r of[[pr,hr],[Hn,mr]])(pt(n[r[0]])||pt(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(yn)&&e.typedFieldDef(yn).type===Cl&&t.push({signal:e.getName(`geojson_${t.length}`)}),t.length===0&&t.push(e.requestDataName(et.Main)),t}function Jne(e,t){let n=ov(Vne,r=>!!(!st(e.explicit,r)&&!st(t.explicit,r)||st(e.explicit,r)&&st(t.explicit,r)&&Cn(e.get(r),t.get(r))));if(Cn(e.size,t.size)){if(n)return e;if(Cn(e.explicit,{}))return t;if(Cn(t.explicit,{}))return e}return null}function Qne(e){if(e.children.length===0)return;let t;for(let r of e.children)r8(r);let n=ov(e.children,r=>{let i=r.component.projection;if(i)if(t){let a=Jne(t,i);return a&&(t=a),!!a}else return t=i,!0;else return!0});if(t&&n){let r=e.projectionName(!0),i=new n8(r,t.specifiedProjection,t.size,oe(t.data));for(let a of e.children){let o=a.component.projection;o&&(o.isFit&&i.data.push(...a.component.projection.data),a.renameProjection(o.get("name"),r),o.merged=!0)}return i}}function Kne(e,t,n,r){if(Wu(t,n)){let i=Je(e)?e.axis(n)??e.legend(n)??{}:{},a=V(t,{expr:"datum"}),o=V(t,{expr:"datum",binSuffix:"end"});return{formulaAs:V(t,{binSuffix:"range",forAs:!0}),formula:Iu(a,o,i.format,i.formatType,r)}}return{}}function i8(e,t){return`${E3(e)}_${t}`}function Zne(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}function Jb(e,t,n){let r=i8(Sh(n,void 0)??{},t);return e.getName(`${r}_bins`)}function ere(e){return"as"in e}function a8(e,t,n){let r,i;r=ere(e)?se(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[V(e,{forAs:!0}),V(e,{binSuffix:"end",forAs:!0})];let a={...Sh(t,void 0)},o=i8(a,e.field),{signal:l,extentSignal:s}=Zne(n,o);if(dh(a.extent)){let u=a.extent;i=S6(n,u.param,u),delete a.extent}return{key:o,binComponent:{bin:a,field:e.field,as:[r],...l?{signal:l}:{},...s?{extentSignal:s}:{},...i?{span:i}:{}}}}var Wl=class bp extends Re{constructor(n,r){super(n);N(this,"bins");this.bins=r}clone(){return new bp(null,oe(this.bins))}static makeFromEncoding(n,r){let i=r.reduceFieldDef((a,o,l)=>{if(an(o)&&je(o.bin)){let{key:s,binComponent:u}=a8(o,o.bin,r);a[s]={...u,...a[s],...Kne(r,o,l,r.config)}}return a},{});return Ie(i)?null:new bp(n,i)}static makeFromTransform(n,r,i){let{key:a,binComponent:o}=a8(r,r.bin,i);return new bp(n,{[a]:o})}merge(n,r){for(let i of I(n.bins))i in this.bins?(r(n.bins[i].signal,this.bins[i].signal),this.bins[i].as=Ir([...this.bins[i].as,...n.bins[i].as],ye)):this.bins[i]=n.bins[i];for(let i of n.children)n.removeChild(i),i.parent=this;n.remove()}producedFields(){return new Set(ut(this.bins).map(n=>n.as).flat(2))}dependentFields(){return new Set(ut(this.bins).map(n=>n.field))}hash(){return`Bin ${ye(this.bins)}`}assemble(){return ut(this.bins).flatMap(n=>{let r=[],[i,...a]=n.as,{extent:o,...l}=n.bin,s={type:"bin",field:Wn(n.field),as:i,signal:n.signal,...dh(o)?{extent:null}:{extent:o},...n.span?{span:{signal:`span(${n.span})`}}:{},...l};!o&&n.extentSignal&&(r.push({type:"extent",field:Wn(n.field),signal:n.extentSignal}),s.extent={signal:n.extentSignal}),r.push(s);for(let u of a)for(let c=0;c<2;c++)r.push({type:"formula",expr:V({field:i[c]},{expr:"datum"}),as:u[c]});return n.formula&&r.push({type:"formula",expr:n.formula,as:n.formulaAs}),r})}};function tre(e,t,n,r){var a;let i=Je(r)?r.encoding[Wr(t)]:void 0;if(an(n)&&Je(r)&&z5(n,i,r.markDef,r.config)){e.add(V(n,{})),e.add(V(n,{suffix:"end"}));let{mark:o,markDef:l,config:s}=r,u=ba({fieldDef:n,markDef:l,config:s});Lu(o)&&u!==.5&&ot(t)&&(e.add(V(n,{suffix:Ih})),e.add(V(n,{suffix:jh}))),n.bin&&Wu(n,t)&&e.add(V(n,{binSuffix:"range"}))}else if(p3(t)){let o=h3(t);e.add(r.getName(o))}else e.add(V(n));return go(n)&&KK((a=n.scale)==null?void 0:a.range)&&e.add(n.scale.range.field),e}function nre(e,t){for(let n of I(t)){let r=t[n];for(let i of I(r))n in e?e[n][i]=new Set([...e[n][i]??[],...r[i]]):e[n]={[i]:r[i]}}}var Ao=class xp extends Re{constructor(n,r,i){super(n);N(this,"dimensions");N(this,"measures");this.dimensions=r,this.measures=i}clone(){return new xp(null,new Set(this.dimensions),oe(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(n,r){let i=!1;r.forEachFieldDef(l=>{l.aggregate&&(i=!0)});let a={},o=new Set;return!i||(r.forEachFieldDef((l,s)=>{let{aggregate:u,field:c}=l;if(u)if(u==="count")a["*"]??(a["*"]={}),a["*"].count=new Set([V(l,{forAs:!0})]);else{if(wi(u)||ga(u)){let f=wi(u)?"argmin":"argmax",d=u[f];a[d]??(a[d]={}),a[d][f]=new Set([V({op:f,field:d},{forAs:!0})])}else a[c]??(a[c]={}),a[c][u]=new Set([V(l,{forAs:!0})]);Gr(s)&&r.scaleDomain(s)==="unaggregated"&&(a[c]??(a[c]={}),a[c].min=new Set([V({field:c,aggregate:"min"},{forAs:!0})]),a[c].max=new Set([V({field:c,aggregate:"max"},{forAs:!0})]))}else tre(o,s,l,r)}),o.size+I(a).length===0)?null:new xp(n,o,a)}static makeFromTransform(n,r){var o;let i=new Set,a={};for(let l of r.aggregate){let{op:s,field:u,as:c}=l;s&&(s==="count"?(a["*"]??(a["*"]={}),a["*"].count=new Set([c||V(l,{forAs:!0})])):(a[u]??(a[u]={}),(o=a[u])[s]??(o[s]=new Set),a[u][s].add(c||V(l,{forAs:!0}))))}for(let l of r.groupby??[])i.add(l);return i.size+I(a).length===0?null:new xp(n,i,a)}merge(n){return i3(this.dimensions,n.dimensions)?(nre(this.measures,n.measures),!0):(EK("different dimensions, cannot merge"),!1)}addDimensions(n){n.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...I(this.measures)])}producedFields(){let n=new Set;for(let r of I(this.measures))for(let i of I(this.measures[r])){let a=this.measures[r][i];a.size===0?n.add(`${i}_${r}`):a.forEach(n.add,n)}return n}hash(){return`Aggregate ${ye({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let n=[],r=[],i=[];for(let a of I(this.measures))for(let o of I(this.measures[a]))for(let l of this.measures[a][o])i.push(l),n.push(o),r.push(a==="*"?null:Wn(a));return{type:"aggregate",groupby:[...this.dimensions].map(Wn),ops:n,fields:r,as:i}}},Gl=class extends Re{constructor(t,n,r,i){super(t);N(this,"model");N(this,"name");N(this,"data");N(this,"column");N(this,"row");N(this,"facet");N(this,"childModel");this.model=n,this.name=r,this.data=i;for(let a of Vn){let o=n.facet[a];if(o){let{bin:l,sort:s}=o;this[a]={name:n.getName(`${a}_domain`),fields:[V(o),...je(l)?[V(o,{binSuffix:"end"})]:[]],...Ei(s)?{sortField:s}:X(s)?{sortIndexField:ql(o,a)}:{}}}}this.childModel=n.child}hash(){let t="Facet";for(let n of Vn)this[n]&&(t+=` ${n.charAt(0)}:${ye(this[n])}`);return t}get fields(){var n;let t=[];for(let r of Vn)(n=this[r])!=null&&n.fields&&t.push(...this[r].fields);return t}dependentFields(){let t=new Set(this.fields);for(let n of Vn)this[n]&&(this[n].sortField&&t.add(this[n].sortField.field),this[n].sortIndexField&&t.add(this[n].sortIndexField));return t}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let t={};for(let n of xi){let r=this.childModel.component.scales[n];if(r&&!r.merged){let i=r.get("type"),a=r.get("range");if(wt(i)&&oo(a)){let o=cx(tp(this.childModel,n));o?t[n]=o:q(_v(n))}}}return t}assembleRowColumnHeaderData(t,n,r){let i={row:"y",column:"x",facet:void 0}[t],a=[],o=[],l=[];i&&r&&r[i]&&(n?(a.push(`distinct_${r[i]}`),o.push("max")):(a.push(r[i]),o.push("distinct")),l.push(`distinct_${r[i]}`));let{sortField:s,sortIndexField:u}=this[t];if(s){let{op:c=Eh,field:f}=s;a.push(f),o.push(c),l.push(V(s,{forAs:!0}))}else u&&(a.push(u),o.push("max"),l.push(u));return{name:this[t].name,source:n??this.data,transform:[{type:"aggregate",groupby:this[t].fields,...a.length?{fields:a,ops:o,as:l}:{}}]}}assembleFacetHeaderData(t){var s,u;let{columns:n}=this.model.layout,{layoutHeaders:r}=this.model.component,i=[],a={};for(let c of Wb){for(let f of Gb){let d=((s=r[c])==null?void 0:s[f])??[];for(let h of d)if(((u=h.axes)==null?void 0:u.length)>0){a[c]=!0;break}}if(a[c]){let f=`length(data("${this.facet.name}"))`,d=c==="row"?n?{signal:`ceil(${f} / ${n})`}:1:n?{signal:`min(${f}, ${n})`}:{signal:f};i.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:d}]})}}let{row:o,column:l}=a;return(o||l)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,t)),i}assemble(){let t=[],n=null,r=this.getChildIndependentFieldsWithStep(),{column:i,row:a,facet:o}=this;if(i&&a&&(r.x||r.y)){n=`cross_${this.column.name}_${this.row.name}`;let l=[].concat(r.x??[],r.y??[]),s=l.map(()=>"distinct");t.push({name:n,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:s}]})}for(let l of[mi,pi])this[l]&&t.push(this.assembleRowColumnHeaderData(l,n,r));if(o){let l=this.assembleFacetHeaderData(r);l&&t.push(...l)}return t}};function o8(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function rre(e,t){let n=cv(e);return t==="number"?`toNumber(${n})`:t==="boolean"?`toBoolean(${n})`:t==="string"?`toString(${n})`:t==="date"?`toDate(${n})`:t==="flatten"?n:t.startsWith("date:")?`timeParse(${n},'${o8(t.slice(5,t.length))}')`:t.startsWith("utc:")?`utcParse(${n},'${o8(t.slice(4,t.length))}')`:(q(OQ(t)),null)}function ire(e){let t={};return nh(e.filter,n=>{if(o5(n)){let r=null;Bv(n)?r=$n(n.equal):Nv(n)?r=$n(n.lte):zv(n)?r=$n(n.lt):Rv(n)?r=$n(n.gt):Tv(n)?r=$n(n.gte):Lv(n)?r=n.range[0]:Pv(n)&&(r=(n.oneOf??n.in)[0]),r&&(so(r)?t[n.field]="date":He(r)?t[n.field]="number":se(r)&&(t[n.field]="string")),n.timeUnit&&(t[n.field]="date")}}),t}function are(e){let t={};function n(r){zl(r)?t[r.field]="date":r.type==="quantitative"&&oQ(r.aggregate)?t[r.field]="number":El(r.field)>1?r.field in t||(t[r.field]="flatten"):go(r)&&Ei(r.sort)&&El(r.sort.field)>1&&(r.sort.field in t||(t[r.sort.field]="flatten"))}if((Je(e)||Mn(e))&&e.forEachFieldDef((r,i)=>{if(an(r))n(r);else{let a=io(i),o=e.fieldDef(a);n({...r,type:o.type})}}),Je(e)){let{mark:r,markDef:i,encoding:a}=e;if(va(r)&&!e.encoding.order){let o=a[i.orient==="horizontal"?"y":"x"];W(o)&&o.type==="quantitative"&&!(o.field in t)&&(t[o.field]="number")}}return t}function ore(e){let t={};if(Je(e)&&e.component.selection)for(let n of I(e.component.selection)){let r=e.component.selection[n];for(let i of r.project.items)!i.channel&&El(i.field)>1&&(t[i.field]="flatten")}return t}var Sn=class t2 extends Re{constructor(n,r){super(n);N(this,"_parse");this._parse=r}clone(){return new t2(null,oe(this._parse))}hash(){return`Parse ${ye(this._parse)}`}static makeExplicit(n,r,i){var l;let a={},o=r.data;return!Aa(o)&&((l=o==null?void 0:o.format)!=null&&l.parse)&&(a=o.format.parse),this.makeWithAncestors(n,a,{},i)}static makeWithAncestors(n,r,i,a){for(let s of I(i)){let u=a.getWithExplicit(s);u.value!==void 0&&(u.explicit||u.value===i[s]||u.value==="derived"||i[s]==="flatten"?delete i[s]:q(j3(s,i[s],u.value)))}for(let s of I(r)){let u=a.get(s);u!==void 0&&(u===r[s]?delete r[s]:q(j3(s,r[s],u)))}let o=new vo(r,i);a.copyAll(o);let l={};for(let s of I(o.combine())){let u=o.get(s);u!==null&&(l[s]=u)}return I(l).length===0||a.parseNothing?null:new t2(n,l)}get parse(){return this._parse}merge(n){this._parse={...this._parse,...n.parse},n.remove()}assembleFormatParse(){let n={};for(let r of I(this._parse)){let i=this._parse[r];El(r)===1&&(n[r]=i)}return n}producedFields(){return new Set(I(this._parse))}dependentFields(){return new Set(I(this._parse))}assembleTransforms(n=!1){return I(this._parse).filter(r=>n?El(r)>1:!0).map(r=>{let i=rre(r,this._parse[r]);return i?{type:"formula",expr:i,as:Al(r)}:null}).filter(r=>r!==null)}},Hl=class r4 extends Re{clone(){return new r4(null)}constructor(t){super(t)}dependentFields(){return new Set}producedFields(){return new Set([wr])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:wr}}},Qb=class i4 extends Re{constructor(n,r){super(n);N(this,"params");this.params=r}clone(){return new i4(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${ye(this.params)}`}assemble(){return{type:"graticule",...this.params===!0?{}:this.params}}},Kb=class a4 extends Re{constructor(n,r){super(n);N(this,"params");this.params=r}clone(){return new a4(null,this.params)}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${ye(this.params)}`}assemble(){return{type:"sequence",...this.params}}},Eo=class extends Re{constructor(t){super(null);N(this,"_data");N(this,"_name");N(this,"_generator");t??(t={name:"source"});let n;if(Aa(t)||(n=t.format?{...Fn(t.format,["parse"])}:{}),Hu(t))this._data={values:t.values};else if(Rl(t)){if(this._data={url:t.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(t.url)[1];he(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else GS(t)?this._data={values:[{type:"Sphere"}]}:(US(t)||Aa(t))&&(this._data={});this._generator=Aa(t),t.name&&(this._name=t.name),n&&!Ie(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(t){this._name=t}set parent(t){throw Error("Source nodes have to be roots.")}remove(){throw Error("Source nodes are roots and cannot be removed.")}hash(){throw Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}};function Zb(e){return e instanceof Eo||e instanceof Qb||e instanceof Kb}var ex=(Q9=class{constructor(){p2(this,Ql);_p(this,Ql,!1)}setModified(){_p(this,Ql,!0)}get modifiedFlag(){return h2(this,Ql)}},Ql=new WeakMap,Q9),ko=class extends ex{getNodeDepths(e,t,n){n.set(e,t);for(let r of e.children)this.getNodeDepths(r,t+1,n);return n}optimize(e){let t=[...this.getNodeDepths(e,0,new Map).entries()].sort((n,r)=>r[1]-n[1]);for(let n of t)this.run(n[0]);return this.modifiedFlag}},tx=class extends ex{optimize(e){this.run(e);for(let t of e.children)this.optimize(t);return this.modifiedFlag}},lre=class extends tx{mergeNodes(e,t){let n=t.shift();for(let r of t)e.removeChild(r),r.parent=n,r.remove()}run(e){let t=e.children.map(r=>r.hash()),n={};for(let r=0;r<t.length;r++)n[t[r]]===void 0?n[t[r]]=[e.children[r]]:n[t[r]].push(e.children[r]);for(let r of I(n))n[r].length>1&&(this.setModified(),this.mergeNodes(e,n[r]))}},sre=class extends tx{constructor(t){super();N(this,"requiresSelectionId");this.requiresSelectionId=t&&Lb(t)}run(t){t instanceof Hl&&(this.requiresSelectionId&&(Zb(t.parent)||t.parent instanceof Ao||t.parent instanceof Sn)||(this.setModified(),t.remove()))}},ure=class extends ex{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;e instanceof Tl&&(n=e.producedFields(),lv(n,t)&&(this.setModified(),e.removeFormulas(t),e.producedFields.length===0&&e.remove()));for(let r of e.children)this.run(r,new Set([...t,...n]))}},cre=class extends tx{constructor(){super()}run(e){e instanceof bn&&!e.isRequired()&&(this.setModified(),e.remove())}},fre=class extends ko{run(e){if(!Zb(e)&&!(e.numChildren()>1)){for(let t of e.children)if(t instanceof Sn)if(e instanceof Sn)this.setModified(),e.merge(t);else{if(uv(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}},dre=class extends ko{run(e){let t=[...e.children],n=e.children.filter(r=>r instanceof Sn);if(e.numChildren()>1&&n.length>=1){let r={},i=new Set;for(let a of n){let o=a.parse;for(let l of I(o))l in r?r[l]!==o[l]&&i.add(l):r[l]=o[l]}for(let a of i)delete r[a];if(!Ie(r)){this.setModified();let a=new Sn(e,r);for(let o of t){if(o instanceof Sn)for(let l of I(r))delete o.parse[l];e.removeChild(o),o.parent=a,o instanceof Sn&&I(o.parse).length===0&&o.remove()}}}}},hre=class extends ko{run(e){e instanceof bn||e.numChildren()>0||e instanceof Gl||e instanceof Eo||(this.setModified(),e.remove())}},pre=class extends ko{run(e){let t=e.children.filter(r=>r instanceof Tl),n=t.pop();for(let r of t)this.setModified(),n.merge(r)}},mre=class extends ko{run(e){let t=e.children.filter(r=>r instanceof Ao),n={};for(let r of t){let i=ye(r.groupBy);i in n||(n[i]=[]),n[i].push(r)}for(let r of I(n)){let i=n[r];if(i.length>1){let a=i.pop();for(let o of i)a.merge(o)&&(e.removeChild(o),o.parent=a,o.remove(),this.setModified())}}}},gre=class extends ko{constructor(t){super();N(this,"model");this.model=t}run(t){let n=!(Zb(t)||t instanceof Xh||t instanceof Sn||t instanceof Hl),r=[],i=[];for(let a of t.children)a instanceof Wl&&(n&&!uv(t.producedFields(),a.dependentFields())?r.push(a):i.push(a));if(r.length>0){let a=r.pop();for(let o of r)a.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),t instanceof Wl?t.merge(a,this.model.renameSignal.bind(this.model)):a.swapWithParent()}if(i.length>1){let a=i.pop();for(let o of i)a.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}},yre=class extends ko{run(e){let t=[...e.children];if(!wl(t,i=>i instanceof bn)||e.numChildren()<=1)return;let n=[],r;for(let i of t)if(i instanceof bn){let a=i;for(;a.numChildren()===1;){let[o]=a.children;if(o instanceof bn)a=o;else break}n.push(...a.children),r?(e.removeChild(i),i.parent=r.parent,r.parent.removeChild(r),r.parent=a,this.setModified()):r=a}else n.push(i);if(n.length){this.setModified();for(let i of n)i.parent.removeChild(i),i.parent=r}}},Ju=class o4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r}clone(){return new o4(null,oe(this.transform))}addDimensions(n){this.transform.groupby=Ir(this.transform.groupby.concat(n),r=>r)}dependentFields(){let n=new Set;return this.transform.groupby&&this.transform.groupby.forEach(n.add,n),this.transform.joinaggregate.map(r=>r.field).filter(r=>r!==void 0).forEach(n.add,n),n}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(n){return n.as??V(n)}hash(){return`JoinAggregateTransform ${ye(this.transform)}`}assemble(){let n=[],r=[],i=[];for(let o of this.transform.joinaggregate)r.push(o.op),i.push(this.getDefaultName(o)),n.push(o.field===void 0?null:o.field);let a=this.transform.groupby;return{type:"joinaggregate",as:i,ops:r,fields:n,...a===void 0?{}:{groupby:a}}}},nx=class n2 extends Re{constructor(n,r){super(n);N(this,"filter");this.filter=r}clone(){return new n2(null,{...this.filter})}static make(n,r,i){let{config:a,markDef:o}=r,{marks:l,scales:s}=i;if(l==="include-invalid-values"&&s==="include-invalid-values")return null;let u=r.reduceFieldDef((c,f,d)=>{let h=Gr(d)&&r.getScaleComponent(d);if(h){let p=h.get("type"),{aggregate:m}=f,g=Yv({scaleChannel:d,markDef:o,config:a,scaleType:p,isCountAggregate:fh(m)});g!=="show"&&g!=="always-valid"&&(c[f.field]=f)}return c},{});return I(u).length?new n2(n,u):null}dependentFields(){return new Set(I(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${ye(this.filter)}`}assemble(){let n=I(this.filter).reduce((r,i)=>{let a=this.filter[i],o=V(a,{expr:"datum"});return a!==null&&(a.type==="temporal"?r.push(`(isDate(${o}) || (${rx(o)}))`):a.type==="quantitative"&&r.push(rx(o))),r},[]);return n.length>0?{type:"filter",expr:n.join(" && ")}:null}};function rx(e){return`isValid(${e}) && isFinite(+${e})`}function vre(e){return e.stack.stackBy.reduce((t,n)=>{let r=n.fieldDef,i=V(r);return i&&t.push(i),t},[])}function bre(e){return X(e)&&e.every(t=>se(t))&&e.length>1}var Qu=class wp extends Re{constructor(n,r){super(n);N(this,"_stack");this._stack=r}clone(){return new wp(null,oe(this._stack))}static makeFromTransform(n,r){let{stack:i,groupby:a,as:o,offset:l="zero"}=r,s=[],u=[];if(r.sort!==void 0)for(let d of r.sort)s.push(d.field),u.push(at(d.order,"ascending"));let c={field:s,order:u},f;return f=bre(o)?o:se(o)?[o,`${o}_end`]:[`${r.stack}_start`,`${r.stack}_end`],new wp(n,{dimensionFieldDefs:[],stackField:i,groupby:a,offset:l,sort:c,facetby:[],as:f})}static makeFromEncoding(n,r){let i=r.stack,{encoding:a}=r;if(!i)return null;let{groupbyChannels:o,fieldChannel:l,offset:s,impute:u}=i,c=o.map(p=>{let m=a[p];return xr(m)}).filter(p=>!!p),f=vre(r),d=r.encoding.order,h;if(X(d)||W(d))h=M3(d);else{let p=N5(d)?d.sort:l==="y"?"descending":"ascending";h=f.reduce((m,g)=>(m.field.includes(g)||(m.field.push(g),m.order.push(p)),m),{field:[],order:[]})}return new wp(n,{dimensionFieldDefs:c,stackField:r.vgField(l),facetby:[],stackby:f,sort:h,offset:s,impute:u,as:[r.vgField(l,{suffix:"start",forAs:!0}),r.vgField(l,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(n){this._stack.facetby.push(...n)}dependentFields(){let n=new Set;return n.add(this._stack.stackField),this.getGroupbyFields().forEach(n.add,n),this._stack.facetby.forEach(n.add,n),this._stack.sort.field.forEach(n.add,n),n}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${ye(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:n,impute:r,groupby:i}=this._stack;return n.length>0?n.map(a=>a.bin?r?[V(a,{binSuffix:"mid"})]:[V(a,{}),V(a,{binSuffix:"end"})]:[V(a)]).flat():i??[]}assemble(){let n=[],{facetby:r,dimensionFieldDefs:i,stackField:a,stackby:o,sort:l,offset:s,impute:u,as:c}=this._stack;if(u)for(let f of i){let{bandPosition:d=.5,bin:h}=f;if(h){let p=V(f,{expr:"datum"}),m=V(f,{expr:"datum",binSuffix:"end"});n.push({type:"formula",expr:`${rx(p)} ? ${d}*${p}+${1-d}*${m} : ${p}`,as:V(f,{binSuffix:"mid",forAs:!0})})}n.push({type:"impute",field:a,groupby:[...o,...r],key:V(f,{binSuffix:"mid"}),method:"value",value:0})}return n.push({type:"stack",groupby:[...this.getGroupbyFields(),...r],field:a,sort:l,as:c,offset:s}),n}},Zh=class l4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r}clone(){return new l4(null,oe(this.transform))}addDimensions(n){this.transform.groupby=Ir(this.transform.groupby.concat(n),r=>r)}dependentFields(){let n=new Set;return(this.transform.groupby??[]).forEach(n.add,n),(this.transform.sort??[]).forEach(r=>n.add(r.field)),this.transform.window.map(r=>r.field).filter(r=>r!==void 0).forEach(n.add,n),n}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(n){return n.as??V(n)}hash(){return`WindowTransform ${ye(this.transform)}`}assemble(){let n=[],r=[],i=[],a=[];for(let d of this.transform.window)r.push(d.op),i.push(this.getDefaultName(d)),a.push(d.param===void 0?null:d.param),n.push(d.field===void 0?null:d.field);let o=this.transform.frame,l=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(d=>wv(d)))return{type:"joinaggregate",as:i,ops:r,fields:n,...l===void 0?{}:{groupby:l}};let s=[],u=[];if(this.transform.sort!==void 0)for(let d of this.transform.sort)s.push(d.field),u.push(d.order??"ascending");let c={field:s,order:u},f=this.transform.ignorePeers;return{type:"window",params:a,as:i,ops:r,fields:n,sort:c,...f===void 0?{}:{ignorePeers:f},...l===void 0?{}:{groupby:l},...o===void 0?{}:{frame:o}}}};function xre(e){function t(n){if(!(n instanceof Gl)){let r=n.clone();if(r instanceof bn){let i=ax+r.getSource();r.setSource(i),e.model.component.data.outputNodes[i]=r}else(r instanceof Ao||r instanceof Qu||r instanceof Zh||r instanceof Ju)&&r.addDimensions(e.fields);for(let i of n.children.flatMap(t))i.parent=r;return[r]}return n.children.flatMap(t)}return t}function ix(e){if(e instanceof Gl)if(e.numChildren()===1&&!(e.children[0]instanceof bn)){let t=e.children[0];(t instanceof Ao||t instanceof Qu||t instanceof Zh||t instanceof Ju)&&t.addDimensions(e.fields),t.swapWithParent(),ix(e)}else{let t=e.model.component.data.main;l8(t);let n=xre(e),r=e.children.map(n).flat();for(let i of r)i.parent=t}else e.children.map(ix)}function l8(e){if(e instanceof bn&&e.type===et.Main&&e.numChildren()===1){let t=e.children[0];t instanceof Gl||(t.swapWithParent(),l8(e))}}var ax="scale_",ep=5;function ox(e){for(let t of e){for(let n of t.children)if(n.parent!==t)return!1;if(!ox(t.children))return!1}return!0}function Er(e,t){let n=!1;for(let r of t)n=e.optimize(r)||n;return n}function s8(e,t,n){let r=e.sources,i=!1;return i=Er(new cre,r)||i,i=Er(new sre(t),r)||i,r=r.filter(a=>a.numChildren()>0),i=Er(new hre,r)||i,r=r.filter(a=>a.numChildren()>0),n||(i=Er(new fre,r)||i,i=Er(new gre(t),r)||i,i=Er(new ure,r)||i,i=Er(new dre,r)||i,i=Er(new mre,r)||i,i=Er(new pre,r)||i,i=Er(new lre,r)||i,i=Er(new yre,r)||i),e.sources=r,i}function wre(e,t){ox(e.sources);let n=0,r=0;for(let i=0;i<ep&&s8(e,t,!0);i++)n++;e.sources.map(ix);for(let i=0;i<ep&&s8(e,t,!1);i++)r++;ox(e.sources),Math.max(n,r)===ep&&q(`Maximum optimization runs(${ep}) reached.`)}var Lt=class s4{constructor(t){N(this,"signal");Object.defineProperty(this,"signal",{enumerable:!0,get:t})}static fromName(t,n){return new s4(()=>t(n))}};function u8(e){Je(e)?Are(e):Ere(e)}function Are(e){let t=e.component.scales;for(let n of I(t)){let r=_re(e,n);if(t[n].setWithExplicit("domains",r),Fre(e,n),e.component.data.isFaceted){let i=e;for(;!Mn(i)&&i.parent;)i=i.parent;if(i.component.resolve.scale[n]==="shared")for(let a of r.value)Ai(a)&&(a.data=ax+a.data.replace(ax,""))}}}function Ere(e){for(let n of e.children)u8(n);let t=e.component.scales;for(let n of I(t)){let r,i=null;for(let a of e.children){let o=a.component.scales[n];if(o){r=r===void 0?o.getWithExplicit("domains"):wa(r,o.getWithExplicit("domains"),"domains","scale",ux);let l=o.get("selectionExtent");i&&l&&i.param!==l.param&&q(_Q),i=l}}t[n].setWithExplicit("domains",r),i&&t[n].set("selectionExtent",i,!0)}}function kre(e,t,n,r){if(e==="unaggregated"){let{valid:i,reason:a}=c8(t,n);if(!i){q(a);return}}else if(e===void 0&&r.useUnaggregatedDomain){let{valid:i}=c8(t,n);if(i)return"unaggregated"}return e}function _re(e,t){let n=e.getScaleComponent(t).get("type"),{encoding:r}=e,i=kre(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}),t==="x"&&pt(r.x2)?pt(r.x)?wa(Ea(n,i,e,"x"),Ea(n,i,e,"x2"),"domain","scale",ux):Ea(n,i,e,"x2"):t==="y"&&pt(r.y2)?pt(r.y)?wa(Ea(n,i,e,"y"),Ea(n,i,e,"y2"),"domain","scale",ux):Ea(n,i,e,"y2"):Ea(n,i,e,t)}function Dre(e,t,n){return e.map(r=>({signal:`{data: ${Mh(r,{timeUnit:n,type:t})}}`}))}function lx(e,t,n){var i;let r=(i=xt(n))==null?void 0:i.unit;return t==="temporal"||r?Dre(e,t,r):[e]}function Ea(e,t,n,r){let{encoding:i,markDef:a,mark:o,config:l,stack:s}=n,u=pt(i[r]),{type:c}=u,f=u.timeUnit,d=xte({invalid:Hr("invalid",a,l),isPath:va(o)});if(QK(t)){let m=Ea(e,void 0,n,r);return Kr([...lx(t.unionWith,c,f),...m.value])}else{if(Q(t))return Kr([t]);if(t&&t!=="unaggregated"&&!p5(t))return Kr(lx(t,c,f))}if(s&&r===s.fieldChannel){if(s.offset==="normalize")return Ar([[0,1]]);let m=n.requestDataName(d);return Ar([{data:m,field:n.vgField(r,{suffix:"start"})},{data:m,field:n.vgField(r,{suffix:"end"})}])}let h=Gr(r)&&W(u)?Cre(n,r,e):void 0;if(Jr(u))return Ar(lx([u.datum],c,f));let p=u;if(t==="unaggregated"){let{field:m}=u;return Ar([{data:n.requestDataName(d),field:V({field:m,aggregate:"min"})},{data:n.requestDataName(d),field:V({field:m,aggregate:"max"})}])}else if(je(p.bin)){if(wt(e))return Ar(e==="bin-ordinal"?[]:[{data:$u(h)?n.requestDataName(d):n.requestDataName(et.Raw),field:n.vgField(r,Wu(p,r)?{binSuffix:"range"}:{}),sort:h===!0||!we(h)?{field:n.vgField(r,{}),op:"min"}:h}]);{let{bin:m}=p;if(je(m)){let g=Jb(n,p.field,m);return Ar([new Lt(()=>{let y=n.getSignalName(g);return`[${y}.start, ${y}.stop]`})])}else return Ar([{data:n.requestDataName(d),field:n.vgField(r,{})}])}}else if(p.timeUnit&&he(["time","utc"],e)){let m=i[Wr(r)];if(z5(p,m,a,l)){let g=n.requestDataName(d),y=ba({fieldDef:p,fieldDef2:m,markDef:a,config:l}),v=Lu(o)&&y!==.5&&ot(r);return Ar([{data:g,field:n.vgField(r,v?{suffix:Ih}:{})},{data:g,field:n.vgField(r,{suffix:v?jh:"end"})}])}}return Ar(h?[{data:$u(h)?n.requestDataName(d):n.requestDataName(et.Raw),field:n.vgField(r),sort:h}]:[{data:n.requestDataName(d),field:n.vgField(r)}])}function sx(e,t){let{op:n,field:r,order:i}=e;return{op:n??(t?"sum":Eh),...r?{field:Wn(r)}:{},...i?{order:i}:{}}}function Fre(e,t){var l;let n=e.component.scales[t],r=e.specifiedScales[t].domain,i=(l=e.fieldDef(t))==null?void 0:l.bin,a=p5(r)?r:void 0,o=ao(i)&&dh(i.extent)?i.extent:void 0;(a||o)&&n.set("selectionExtent",a??o,!0)}function Cre(e,t,n){if(!wt(n))return;let r=e.fieldDef(t),i=r.sort;if(M5(i))return{op:"min",field:ql(r,t),order:"ascending"};let{stack:a}=e,o=a?new Set([...a.groupbyFields,...a.stackBy.map(l=>l.fieldDef.field)]):void 0;if(Ei(i))return sx(i,a&&!o.has(i.field));if(kZ(i)){let{encoding:l,order:s}=i,u=e.fieldDef(l),{aggregate:c,field:f}=u,d=a&&!o.has(f);if(wi(c)||ga(c))return sx({field:V(u),order:s},d);if(wv(c)||!c)return sx({op:c,field:f,order:s},d)}else{if(i==="descending")return{op:"min",field:e.vgField(t),order:"descending"};if(he(["ascending",void 0],i))return!0}}function c8(e,t){let{aggregate:n,type:r}=e;return n?se(n)&&!sQ.has(n)?{valid:!1,reason:eK(n)}:r==="quantitative"&&t==="log"?{valid:!1,reason:tK(e)}:{valid:!0}:{valid:!1,reason:ZQ(e)}}function ux(e,t,n,r){return e.explicit&&t.explicit&&q(oK(n,r,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function $re(e){let t=Ir(e.map(o=>{if(Ai(o)){let{sort:l,...s}=o;return s}return o}),ye),n=Ir(e.map(o=>{if(Ai(o)){let l=o.sort;return l!==void 0&&!$u(l)&&("op"in l&&l.op==="count"&&delete l.field,l.order==="ascending"&&delete l.order),l}}).filter(o=>o!==void 0),ye);if(t.length===0)return;if(t.length===1){let o=e[0];if(Ai(o)&&n.length>0){let l=n[0];if(n.length>1){q(V3);let s=n.filter(u=>we(u)&&"op"in u&&u.op!=="min");l=n.every(u=>we(u)&&"op"in u)&&s.length===1?s[0]:!0}else if(we(l)&&"field"in l){let s=l.field;o.field===s&&(l=l.order?{order:l.order}:!0)}return{...o,sort:l}}return o}let r=Ir(n.map(o=>$u(o)||!("op"in o)||se(o.op)&&st(iQ,o.op)?o:(q(sK(o)),!0)),ye),i;r.length===1?i=r[0]:r.length>1&&(q(V3),i=!0);let a=Ir(e.map(o=>Ai(o)?o.data:null),o=>o);return a.length===1&&a[0]!==null?{data:a[0],fields:t.map(o=>o.field),...i?{sort:i}:{}}:{fields:t,...i?{sort:i}:{}}}function cx(e){if(Ai(e)&&se(e.field))return e.field;if(uQ(e)){let t;for(let n of e.fields)if(Ai(n)&&se(n.field)){if(!t)t=n.field;else if(t!==n.field)return q(uK),t}return q(cK),t}else if(cQ(e)){q(fK);let t=e.fields[0];return se(t)?t:void 0}}function tp(e,t){return $re(e.component.scales[t].get("domains").map(n=>(Ai(n)&&(n.data=e.lookupDataSource(n.data)),n)))}function f8(e){return Vl(e)||dx(e)?e.children.reduce((t,n)=>t.concat(f8(n)),d8(e)):d8(e)}function d8(e){return I(e.component.scales).reduce((t,n)=>{let r=e.component.scales[n];if(r.merged)return t;let i=r.combine(),{name:a,type:o,selectionExtent:l,domains:s,range:u,reverse:c,...f}=i,d=Sre(i.range,a,n,e),h=tp(e,n),p=l?Mte(e,l,r,h):null;return t.push({name:a,type:o,...h?{domain:h}:{},...p?{domainRaw:p}:{},range:d,...c===void 0?{}:{reverse:c},...f}),t},[])}function Sre(e,t,n,r){if(ot(n)){if(oo(e))return{step:{signal:`${t}_step`}}}else if(we(e)&&Ai(e))return{...e,data:r.lookupDataSource(e.data)};return e}var h8=class extends vo{constructor(t,n){super({},{name:t});N(this,"merged",!1);this.setWithExplicit("type",n)}domainHasZero(){let t=this.get("type");if(he([$t.LOG,$t.TIME,$t.UTC],t))return"definitely-not";let n=this.get("zero");if(n===!0||n===void 0&&he([$t.LINEAR,$t.SQRT,$t.POW],t))return"definitely";let r=this.get("domains");if(r.length>0){let i=!1,a=!1,o=!1;for(let l of r){if(X(l)){let s=l[0],u=l[l.length-1];if(He(s)&&He(u))if(s<=0&&u>=0){i=!0;continue}else{a=!0;continue}}o=!0}if(i)return"definitely";if(a&&!o)return"definitely-not"}return"maybe"}},Mre=["range","scheme"];function Ore(e){let t=e.component.scales;for(let n of bv){let r=t[n];if(!r)continue;let i=Bre(n,e);r.setWithExplicit("range",i)}}function p8(e,t){let n=e.fieldDef(t);if(n!=null&&n.bin){let{bin:r,field:i}=n,a=vn(t),o=e.getName(a);if(we(r)&&r.binned&&r.step!==void 0)return new Lt(()=>{let l=e.scaleName(t),s=`(domain("${l}")[1] - domain("${l}")[0]) / ${r.step}`;return`${e.getSignalName(o)} / (${s})`});if(je(r)){let l=Jb(e,i,r);return new Lt(()=>{let s=e.getSignalName(l),u=`(${s}.stop - ${s}.start) / ${s}.step`;return`${e.getSignalName(o)} / (${u})`})}}}function Bre(e,t){let n=t.specifiedScales[e],{size:r}=t,i=t.getScaleComponent(e).get("type");for(let c of Mre)if(n[c]!==void 0){let f=Uv(i,c),d=m5(e,c);if(!f)q(G3(i,c,e));else if(d)q(d);else switch(c){case"range":{let h=n.range;if(X(h)){if(ot(e))return Kr(h.map(p=>{if(p==="width"||p==="height"){let m=t.getName(p),g=t.getSignalName.bind(t);return Lt.fromName(g,m)}return p}))}else if(we(h))return Kr({data:t.requestDataName(et.Main),field:h.field,sort:{op:"min",field:t.vgField(e)}});return Kr(h)}case"scheme":return Kr(zre(n[c]))}}let a=e===Xe||e==="xOffset"?"width":"height",o=r[a];if(Qr(o)){if(ot(e))if(wt(i)){let c=g8(o,t,e);if(c)return Kr({step:c})}else q(H3(a));else if(Nu(e)){let c=e===ua?"x":"y";if(t.getScaleComponent(c).get("type")==="band"){let f=y8(o,i);if(f)return Kr(f)}}}let{rangeMin:l,rangeMax:s}=n,u=Nre(e,t);return(l!==void 0||s!==void 0)&&Uv(i,"rangeMin")&&X(u)&&u.length===2?Kr([l??u[0],s??u[1]]):Ar(u)}function zre(e){return JK(e)?{scheme:e.name,...Fn(e,["name"])}:{scheme:e}}function m8(e,t,n,{center:r}={}){let i=vn(e),a=t.getName(i),o=t.getSignalName.bind(t);return e===bt&&yr(n)?r?[Lt.fromName(l=>`${o(l)}/2`,a),Lt.fromName(l=>`-${o(l)}/2`,a)]:[Lt.fromName(o,a),0]:r?[Lt.fromName(l=>`-${o(l)}/2`,a),Lt.fromName(l=>`${o(l)}/2`,a)]:[0,Lt.fromName(o,a)]}function Nre(e,t){let{size:n,config:r,mark:i,encoding:a}=t,{type:o}=pt(a[e]),l=t.getScaleComponent(e).get("type"),{domain:s,domainMid:u}=t.specifiedScales[e];switch(e){case Xe:case bt:if(he(["point","band"],l)){let c=v8(e,n,r.view);if(Qr(c))return{step:g8(c,t,e)}}return m8(e,t,l);case ua:case kl:return Rre(e,t,l);case vi:{let c=Pre(i,r),f=Ire(i,n,t,r);return $l(l)?Lre(c,f,Tre(l,r,s,e)):[c,f]}case Gn:return[0,Math.PI*2];case no:return[0,360];case dr:return[0,new Lt(()=>`min(${t.getSignalName(Mn(t.parent)?"child_width":"width")},${t.getSignalName(Mn(t.parent)?"child_height":"height")})/2`)];case ca:return{step:1e3/r.scale.framesPerSecond};case ha:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case pa:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case yn:return"symbol";case gn:case qr:case Ur:return l==="ordinal"?o==="nominal"?"category":"ordinal":u===void 0?i==="rect"||i==="geoshape"?"heatmap":"ramp":"diverging";case bi:case fa:case da:return[r.scale.minOpacity,r.scale.maxOpacity]}}function g8(e,t,n){let{encoding:r}=t,i=t.getScaleComponent(n),a=pv(n),o=r[a];if(gS({step:e,offsetIsDiscrete:le(o)&&s5(o.type)})==="offset"&&Y5(r,a)){let l=t.getScaleComponent(a),s=`domain('${t.scaleName(a)}').length`;if(l.get("type")==="band"){let c=l.get("paddingInner")??l.get("padding")??0,f=l.get("paddingOuter")??l.get("padding")??0;s=`bandspace(${s}, ${c}, ${f})`}let u=i.get("paddingInner")??i.get("padding");return{signal:`${e.step} * ${s} / (1-${pQ(u)})`}}else return e.step}function y8(e,t){if(gS({step:e,offsetIsDiscrete:wt(t)})==="offset")return{step:e.step}}function Rre(e,t,n){let r=e===ua?"x":"y",i=t.getScaleComponent(r);if(!i)return m8(r,t,n,{center:!0});let a=i.get("type"),o=t.scaleName(r),{markDef:l,config:s}=t;if(a==="band"){let u=v8(r,t.size,t.config.view);if(Qr(u)){let c=y8(u,n);if(c)return c}return[0,{signal:`bandwidth('${o}')`}]}else{let u=t.encoding[r];if(W(u)&&u.timeUnit){let c=i5(u.timeUnit,p=>`scale('${o}', ${p})`),f=t.config.scale.bandWithNestedOffsetPaddingInner,d=ba({fieldDef:u,markDef:l,config:s})-.5,h=d===0?"":` + ${d}`;if(f){let p=Q(f)?`${f.signal}/2${h}`:`${f/2+d}`,m=Q(f)?`(1 - ${f.signal}/2)${h}`:`${1-f/2+d}`;return[{signal:`${p} * (${c})`},{signal:`${m} * (${c})`}]}return[0,{signal:c}]}return n3(`Cannot use ${e} scale if ${r} scale is not discrete.`)}}function v8(e,t,n){let r=e===Xe?"width":"height";return t[r]||Th(n,r)}function Tre(e,t,n,r){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return n!==void 0&&X(n)?n.length+1:(q(xK(r)),3)}}function Lre(e,t,n){let r=()=>{let i=gr(t),a=gr(e),o=`(${i} - ${a}) / (${n} - 1)`;return`sequence(${a}, ${i} + ${o}, ${o})`};return Q(t)?new Lt(r):{signal:r()}}function Pre(e,t){switch(e){case"bar":case"tick":return t.scale.minBandSize;case"line":case"trail":case"rule":return t.scale.minStrokeWidth;case"text":return t.scale.minFontSize;case"point":case"square":case"circle":return t.scale.minSize}throw Error(hh("size",e))}var b8=.95;function Ire(e,t,n,r){let i={x:p8(n,"x"),y:p8(n,"y")};switch(e){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;let a=x8(t,i,r.view);return He(a)?a-1:new Lt(()=>`${a.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;let a=x8(t,i,r.view);return He(a)?(b8*a)**2:new Lt(()=>`pow(${b8} * ${a.signal}, 2)`)}}throw Error(hh("size",e))}function x8(e,t,n){let r=Qr(e.width)?e.width.step:vb(n,"width"),i=Qr(e.height)?e.height.step:vb(n,"height");return t.x||t.y?new Lt(()=>`min(${[t.x?t.x.signal:r,t.y?t.y.signal:i].join(", ")})`):Math.min(r,i)}function w8(e,t){Je(e)?jre(e,t):k8(e,t)}function jre(e,t){let n=e.component.scales,{config:r,encoding:i,markDef:a,specifiedScales:o}=e;for(let l of I(n)){let s=o[l],u=n[l],c=e.getScaleComponent(l),f=pt(i[l]),d=s[t],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=Uv(h,t),y=m5(l,t);if(d!==void 0&&(g?y&&q(y):q(G3(h,t,l))),g&&y===void 0)if(d!==void 0){let v=f.timeUnit,b=f.type;switch(t){case"domainMax":case"domainMin":so(s[t])||b==="temporal"||v?u.set(t,{signal:Mh(s[t],{type:b,timeUnit:v})},!0):u.set(t,s[t],!0);break;default:u.copyKeyFromObject(t,s)}}else{let v=j(A8,t)?A8[t]({model:e,channel:l,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:s.domain,domainMin:s.domainMin,domainMax:s.domainMax,markDef:a,config:r,hasNestedOffsetScale:J5(i,l),hasSecondaryRangeChannel:!!i[Wr(l)]}):r.scale[t];v!==void 0&&u.set(t,v,!1)}}}var A8={bins:({model:e,fieldOrDatumDef:t})=>W(t)?qre(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>Ure(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:a})=>Wre(e,t,n,r,i,a),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>Gre(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:a})=>Hre(e,t,n.type,r,i.scale,a),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:a})=>Vre(e,t,n,r,i.scale,a),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>Xre(t,W(e)?e.sort:void 0,n,r.scale),zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i,config:a,hasSecondaryRangeChannel:o})=>Yre(e,t,n,r,i,a.scale,o)};function E8(e){Je(e)?Ore(e):k8(e,"range")}function k8(e,t){let n=e.component.scales;for(let r of e.children)t==="range"?E8(r):w8(r,t);for(let r of I(n)){let i;for(let a of e.children){let o=a.component.scales[r];if(o){let l=o.getWithExplicit(t);i=wa(i,l,t,"scale",qS((s,u)=>{switch(t){case"range":return s.step&&u.step?s.step-u.step:0}return 0}))}}n[r].setWithExplicit(t,i)}}function qre(e,t){let n=t.bin;if(je(n)){let r=Jb(e,t.field,n);return new Lt(()=>e.getSignalName(r))}else if(Ft(n)&&ao(n)&&n.step!==void 0)return{step:n.step}}function Ure(e,t){if(he([gn,qr,Ur],e)&&t!=="nominal")return"hcl"}function Wre(e,t,n,r,i,a){var o;if(!((o=xr(a))!=null&&o.bin||X(n)||i!=null||r!=null||he([$t.TIME,$t.UTC],e)))return ot(t)?!0:void 0}function Gre(e,t,n,r,i,a){if(ot(e)){if(Xr(t)){if(n.continuousPadding!==void 0)return n.continuousPadding;let{type:o,orient:l}=i;if(o==="bar"&&!(W(r)&&(r.bin||r.timeUnit))&&(l==="vertical"&&e==="x"||l==="horizontal"&&e==="y"))return a.continuousBandSize}if(t===$t.POINT)return n.pointPadding}}function Hre(e,t,n,r,i,a=!1){if(e===void 0){if(ot(t)){let{bandPaddingInner:o,barBandPaddingInner:l,rectBandPaddingInner:s,tickBandPaddingInner:u,bandWithNestedOffsetPaddingInner:c}=i;return a?c:at(o,n==="bar"?l:n==="tick"?u:s)}else if(Nu(t)&&r===$t.BAND)return i.offsetBandPaddingInner}}function Vre(e,t,n,r,i,a=!1){if(e===void 0){if(ot(t)){let{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:l}=i;if(a)return l;if(n===$t.BAND)return at(o,Q(r)?{signal:`${r.signal}/2`}:r/2)}else if(Nu(t)){if(n===$t.POINT)return .5;if(n===$t.BAND)return i.offsetBandPaddingOuter}}}function Xre(e,t,n,r){if(n==="x"&&r.xReverse!==void 0)return yr(e)&&t==="descending"?Q(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(yr(e)&&t==="descending")return!0}function Yre(e,t,n,r,i,a,o){if(n&&n!=="unaggregated"&&yr(i)){if(X(n)){let l=n[0],s=n[n.length-1];if(He(l)&&l<=0&&He(s)&&s>=0)return!0}return!1}if(e==="size"&&t.type==="quantitative"&&!$l(i))return!0;if(!(W(t)&&t.bin)&&he([...xi,...YJ],e)){let{orient:l,type:s}=r;return he(["bar","area","line","trail"],s)&&(l==="horizontal"&&e==="y"||l==="vertical"&&e==="x")?!1:he(["bar","area"],s)&&!o?!0:a==null?void 0:a.zero}return!1}function Jre(e,t,n,r,i=!1){let a=Qre(t,n,r,i),{type:o}=e;return Gr(t)?o===void 0?a:nZ(t,o)?W(n)&&!tZ(o,n.type)?(q(iK(o,a)),a):o:(q(rK(t,o,a)),a):null}function Qre(e,t,n,r){var i;switch(t.type){case"nominal":case"ordinal":{if(Dl(e)||xv(e)==="discrete")return e==="shape"&&t.type==="ordinal"&&q(Cv(e,"ordinal")),"ordinal";if(vv(e))return"band";if(ot(e)||Nu(e)){if(he(["rect","bar","image","rule","tick"],n.type)||r)return"band"}else if(n.type==="arc"&&e in yv)return"band";let a=n[vn(e)];return ho(a)||Ml(t)&&((i=t.axis)!=null&&i.tickBand)?"band":"point"}case"temporal":return Dl(e)?"time":xv(e)==="discrete"?(q(Cv(e,"temporal")),"ordinal"):W(t)&&t.timeUnit&&xt(t.timeUnit).utc?"utc":vv(e)?"band":"time";case"quantitative":return Dl(e)?W(t)&&je(t.bin)?"bin-ordinal":"linear":xv(e)==="discrete"?(q(Cv(e,"quantitative")),"ordinal"):vv(e)?"band":"linear";case"geojson":return}throw Error(U3(t.type))}function Kre(e,{ignoreRange:t}={}){_8(e),u8(e);for(let n of eZ)w8(e,n);t||E8(e)}function _8(e){Je(e)?e.component.scales=Zre(e):e.component.scales=tie(e)}function Zre(e){let{encoding:t,mark:n,markDef:r}=e,i={};for(let a of bv){let o=pt(t[a]);if(o&&n===v5&&a===yn&&o.type===Cl)continue;let l=o&&o.scale;if(o&&l!==null&&l!==!1){l??(l={});let s=J5(t,a),u=Jre(l,a,o,r,s);i[a]=new h8(e.scaleName(`${a}`,!0),{value:u,explicit:l.type===u})}}return i}var eie=qS((e,t)=>u5(e)-u5(t));function tie(e){var i;let t=e.component.scales={},n={},r=e.component.resolve;for(let a of e.children){_8(a);for(let o of I(a.component.scales))if((i=r.scale)[o]??(i[o]=W6(o,e)),r.scale[o]==="shared"){let l=n[o],s=a.component.scales[o].getWithExplicit("type");l?GK(l.value,s.value)?n[o]=wa(l,s,"type","scale",eie):(r.scale[o]="independent",delete n[o]):n[o]=s}}for(let a of I(n)){let o=e.scaleName(a,!0),l=n[a];t[a]=new h8(o,l);for(let s of e.children){let u=s.component.scales[a];u&&(s.renameScale(u.get("name"),o),u.merged=!0)}}return t}var fx=class{constructor(){N(this,"nameMap");this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}};function Je(e){return(e==null?void 0:e.type)==="unit"}function Mn(e){return(e==null?void 0:e.type)==="facet"}function dx(e){return(e==null?void 0:e.type)==="concat"}function Vl(e){return(e==null?void 0:e.type)==="layer"}var hx=class{constructor(e,t,n,r,i,a,o){N(this,"type");N(this,"parent");N(this,"config");N(this,"name");N(this,"size");N(this,"title");N(this,"description");N(this,"data");N(this,"transforms");N(this,"layout");N(this,"scaleNameMap");N(this,"projectionNameMap");N(this,"signalNameMap");N(this,"component");N(this,"view");this.type=t,this.parent=n,this.config=i,this.parent=n,this.config=i,this.view=Ct(o),this.name=e.name??r,this.title=ya(e.title)?{text:e.title}:e.title?Ct(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new fx,this.projectionNameMap=n?n.projectionNameMap:new fx,this.signalNameMap=n?n.signalNameMap:new fx,this.data=e.data,this.description=e.description,this.transforms=ste(e.transform??[]),this.layout=t==="layer"||t==="unit"?{}:hee(e,t,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:kh(e)||(n==null?void 0:n.component.data.isFaceted)&&e.data===void 0},layoutSize:new vo,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?oe(a):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){Kre(this)}parseProjection(){r8(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){K6(this)}assembleEncodeFromView(e){let{style:t,...n}=e,r={};for(let i of I(n)){let a=n[i];a!==void 0&&(r[i]=We(a))}return r}assembleGroupEncodeEntry(e){let t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(t.description=We(this.description)),this.type==="unit"||this.type==="layer")?{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t}:Ie(t)?void 0:t}assembleLayout(){if(!this.layout)return;let{spacing:e,...t}=this.layout,{component:n,config:r}=this,i=Ene(n.layoutHeaders,r);return{padding:e,...this.assembleDefaultLayout(),...t,...i?{titleBand:i}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,t=[];for(let n of Vn)e[n].title&&t.push(yne(this,n));for(let n of Wb)t=t.concat(vne(this,n));return t}assembleAxes(){return ine(this.component.axes,this.config)}assembleLegends(){return e8(this)}assembleProjections(){return Gne(this)}assembleTitle(){let{encoding:e,...t}=this.title??{},n={..._3(this.config.title).nonMarkTitleProperties,...t,...e?{encode:{update:e}}:{}};if(n.text)return he(["unit","layer"],this.type)?he(["middle",void 0],n.anchor)&&(n.frame??(n.frame="group")):n.anchor??(n.anchor="start"),Ie(n)?void 0:n}assembleGroup(e=[]){let t={};e=e.concat(this.assembleSignals()),e.length>0&&(t.signals=e);let n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let r=!this.parent||Mn(this.parent)?f8(this):[];r.length>0&&(t.scales=r);let i=this.assembleAxes();i.length>0&&(t.axes=i);let a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(e){return Ve((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(et[e].toLowerCase())}requestDataName(e){let t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(Mn(this.parent)){let t=ch(q6(e)),n=this.component.scales[t];if(n&&!n.merged){let r=n.get("type"),i=n.get("range");if(wt(r)&&oo(i)){let a=n.get("name"),o=cx(tp(this,t));return o?{signal:j6(a,n,V({aggregate:"distinct",field:o},{expr:"datum"}))}:(q(_v(t)),null)}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){if(t)return this.getName(e);if(g3(e)&&Gr(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getScaleType(e){let t=this.getScaleComponent(e);return t?t.get("type"):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw Error(bQ(t));return n}hasAxisOrientSignalRef(){var e,t;return((e=this.component.axes.x)==null?void 0:e.some(n=>n.hasOrientSignalRef()))||((t=this.component.axes.y)==null?void 0:t.some(n=>n.hasOrientSignalRef()))}},D8=class extends hx{vgField(e,t={}){let n=this.fieldDef(e);if(n)return V(n,t)}reduceFieldDef(e,t){return WZ(this.getMapping(),(n,r,i)=>{let a=xr(r);return a?e(n,a,i):n},t)}forEachFieldDef(e,t){ab(this.getMapping(),(n,r)=>{let i=xr(n);i&&e(i,r)},t)}},F8=class u4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"value",i[1]??"density"];let a=this.transform.resolve??"shared";this.transform.resolve=a}clone(){return new u4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${ye(this.transform)}`}assemble(){let{density:n,...r}=this.transform,i={type:"kde",field:n,...r};return i.resolve=this.transform.resolve,i}},C8=class c4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r)}clone(){return new c4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${ye(this.transform)}`}assemble(){let{extent:n,param:r}=this.transform;return{type:"extent",field:n,signal:r}}},$8=class f4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let{flatten:i,as:a=[]}=this.transform;this.transform.as=i.map((o,l)=>a[l]??o)}clone(){return new f4(this.parent,oe(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${ye(this.transform)}`}assemble(){let{flatten:n,as:r}=this.transform;return{type:"flatten",fields:n,as:r}}},S8=class d4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"key",i[1]??"value"]}clone(){return new d4(null,oe(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${ye(this.transform)}`}assemble(){let{fold:n,as:r}=this.transform;return{type:"fold",fields:n,as:r}}},M8=class Ap extends Re{constructor(n,r,i,a){super(n);N(this,"fields");N(this,"geojson");N(this,"signal");this.fields=r,this.geojson=i,this.signal=a}clone(){return new Ap(null,oe(this.fields),this.geojson,this.signal)}static parseAll(n,r){if(r.component.projection&&!r.component.projection.isFit)return n;let i=0;for(let a of[[pr,hr],[Hn,mr]]){let o=a.map(l=>{let s=pt(r.encoding[l]);return W(s)?s.field:Jr(s)?{expr:`${s.datum}`}:br(s)?{expr:`${s.value}`}:void 0});(o[0]||o[1])&&(n=new Ap(n,o,null,r.getName(`geojson_${i++}`)))}if(r.channelHasField(yn)){let a=r.typedFieldDef(yn);a.type===Cl&&(n=new Ap(n,null,a.field,r.getName(`geojson_${i++}`)))}return n}dependentFields(){let n=(this.fields??[]).filter(se);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${ye(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}},O8=class r2 extends Re{constructor(n,r,i,a){super(n);N(this,"projection");N(this,"fields");N(this,"as");this.projection=r,this.fields=i,this.as=a}clone(){return new r2(null,this.projection,oe(this.fields),oe(this.as))}static parseAll(n,r){if(!r.projectionName())return n;for(let i of[[pr,hr],[Hn,mr]]){let a=i.map(l=>{let s=pt(r.encoding[l]);return W(s)?s.field:Jr(s)?{expr:`${s.datum}`}:br(s)?{expr:`${s.value}`}:void 0}),o=i[0]===Hn?"2":"";(a[0]||a[1])&&(n=new r2(n,r.projectionName(),a,[r.getName(`x${o}`),r.getName(`y${o}`)]))}return n}dependentFields(){return new Set(this.fields.filter(se))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${ye(this.fields)} ${ye(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}},px=class Ep extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r}clone(){return new Ep(null,oe(this.transform))}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(n){let{start:r=0,stop:i,step:a}=n;return{signal:`sequence(${[r,i,...a?[a]:[]].join(",")})`}}static makeFromTransform(n,r){return new Ep(n,r)}static makeFromEncoding(n,r){let i=r.encoding,a=i.x,o=i.y;if(W(a)&&W(o)){let l=a.impute?a:o.impute?o:void 0;if(l===void 0)return;let s=a.impute?o:o.impute?a:void 0,{method:u,value:c,frame:f,keyvals:d}=l.impute,h=Z5(r.mark,i);return new Ep(n,{impute:l.field,key:s.field,...u?{method:u}:{},...c===void 0?{}:{value:c},...f?{frame:f}:{},...d===void 0?{}:{keyvals:d},...h.length?{groupby:h}:{}})}return null}hash(){return`Impute ${ye(this.transform)}`}assemble(){let{impute:n,key:r,keyvals:i,method:a,groupby:o,value:l,frame:s=[null,null]}=this.transform,u={type:"impute",field:n,key:r,...i?{keyvals:Uee(i)?this.processSequence(i):i}:{},method:"value",...o?{groupby:o}:{},value:!a||a==="value"?l:null};return a&&a!=="value"?[u,{type:"window",as:[`imputed_${n}_value`],ops:[a],fields:[n],frame:s,ignorePeers:!1,...o?{groupby:o}:{}},{type:"formula",expr:`datum.${n} === null ? datum.imputed_${n}_value : datum.${n}`,as:n}]:[u]}},B8=class h4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??r.on,i[1]??r.loess]}clone(){return new h4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${ye(this.transform)}`}assemble(){let{loess:n,on:r,...i}=this.transform;return{type:"loess",x:r,y:n,...i}}},z8=class i2 extends Re{constructor(n,r,i){super(n);N(this,"transform");N(this,"secondary");this.transform=r,this.secondary=i}clone(){return new i2(null,oe(this.transform),this.secondary)}static make(n,r,i,a){let o=r.component.data.sources,{from:l}=i,s=null;if(Wee(l)){let u=q8(l.data,o);u||(u=new Eo(l.data),o.push(u));let c=r.getName(`lookup_${a}`);s=new bn(u,c,et.Lookup,r.component.data.outputNodeRefCounts),r.component.data.outputNodes[c]=s}else if(Gee(l)){let u=l.param;i={as:u,...i};let c;try{c=r.getSelectionComponent(Ve(u),u)}catch{throw Error(EQ(u))}if(s=c.materialized,!s)throw Error(kQ(u))}return new i2(n,i,s.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?it(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${ye({transform:this.transform,secondary:this.secondary})}`}assemble(){let n;if(this.transform.from.fields)n={values:this.transform.from.fields,...this.transform.as?{as:it(this.transform.as)}:{}};else{let r=this.transform.as;se(r)||(q(NQ),r="_lookup"),n={as:[r]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...n,...this.transform.default?{default:this.transform.default}:{}}}},N8=class p4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"prob",i[1]??"value"]}clone(){return new p4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${ye(this.transform)}`}assemble(){let{quantile:n,...r}=this.transform;return{type:"quantile",field:n,...r}}},R8=class m4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??r.on,i[1]??r.regression]}clone(){return new m4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${ye(this.transform)}`}assemble(){let{regression:n,on:r,...i}=this.transform;return{type:"regression",x:r,y:n,...i}}},T8=class g4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r}clone(){return new g4(null,oe(this.transform))}addDimensions(n){this.transform.groupby=Ir((this.transform.groupby??[]).concat(n),r=>r)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${ye(this.transform)}`}assemble(){let{pivot:n,value:r,groupby:i,limit:a,op:o}=this.transform;return{type:"pivot",field:n,value:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{op:o},...i===void 0?{}:{groupby:i}}}},L8=class y4 extends Re{constructor(n,r){super(n);N(this,"transform");this.transform=r}clone(){return new y4(null,oe(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${ye(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}};function P8(e){let t=0;function n(r,i){if(r instanceof Eo&&!r.isGenerator&&!Rl(r.data)&&(e.push(i),i={name:null,source:i.name,transform:[]}),r instanceof Sn&&(r.parent instanceof Eo&&!i.source?(i.format={...i.format,parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof Gl){i.name||(i.name=`data_${t++}`),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,e.push(...r.assemble());return}switch((r instanceof Qb||r instanceof Kb||r instanceof nx||r instanceof Xh||r instanceof Ub||r instanceof O8||r instanceof Ao||r instanceof z8||r instanceof Zh||r instanceof Ju||r instanceof S8||r instanceof $8||r instanceof F8||r instanceof B8||r instanceof N8||r instanceof R8||r instanceof Hl||r instanceof L8||r instanceof T8||r instanceof C8)&&i.transform.push(r.assemble()),(r instanceof Wl||r instanceof Tl||r instanceof px||r instanceof Qu||r instanceof M8)&&i.transform.push(...r.assemble()),r instanceof bn&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof bn?r.setSource(i.name):(i.name||(i.name=`data_${t++}`),r.setSource(i.name),r.numChildren()===1&&(e.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof bn&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${t++}`);let a=i.name;!i.source||i.transform.length>0?e.push(i):a=i.source;for(let o of r.children)n(o,{name:null,source:a,transform:[]});break}}}return n}function nie(e){let t=[],n=P8(t);for(let r of e.children)n(r,{source:e.name,name:null,transform:[]});return t}function rie(e,t){let n=[],r=P8(n),i=0;for(let o of e.sources)o.hasName()||(o.dataName=`source_${i++}`),r(o,o.assemble());for(let o of n)o.transform.length===0&&delete o.transform;let a=0;for(let[o,l]of n.entries())(l.transform??[]).length===0&&!l.source&&n.splice(a++,0,n.splice(o,1)[0]);for(let o of n)for(let l of o.transform??[])l.type==="lookup"&&(l.from=e.outputNodes[l.from].getSource());for(let o of n)o.name in t&&(o.values=t[o.name]);return n}function iie(e){return e==="top"||e==="left"||Q(e)?"header":"footer"}function aie(e){for(let t of Vn)oie(e,t);j8(e,"x"),j8(e,"y")}function oie(e,t){var o;let{facet:n,config:r,child:i,component:a}=e;if(e.channelHasField(t)){let l=n[t],s=Ul("title",null,r,t),u=Ol(l,r,{allowDisabling:!0,includeDefault:s===void 0||!!s});i.component.layoutHeaders[t].title&&(u=X(u)?u.join(", "):u,u+=` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);let c=Ul("labelOrient",l.header,r,t),f=l.header===null?!1:at((o=l.header)==null?void 0:o.labels,r.header.labels,!0),d=he(["bottom","right"],c)?"footer":"header";a.layoutHeaders[t]={title:l.header===null?null:u,facetFieldDef:l,[d]:t==="facet"?[]:[I8(e,t,f)]}}}function I8(e,t,n){let r=t==="row"?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function j8(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:r,resolve:i}=e.component;if(i.axis[t]=Xb(i,t),i.axis[t]==="shared"){let a=t==="x"?"column":"row",o=r[a];for(let l of n.component.axes[t]){let s=iie(l.get("orient"));o[s]??(o[s]=[I8(e,a,!1)]);let u=Yu(l,"main",e.config,{header:!0});u&&o[s][0].axes.push(u),l.mainExtracted=!0}}}}function lie(e){mx(e),np(e,"width"),np(e,"height")}function sie(e){mx(e);let t=e.layout.columns===1?"width":"childWidth",n=e.layout.columns===void 0?"height":"childHeight";np(e,t),np(e,n)}function mx(e){for(let t of e.children)t.parseLayoutSize()}function np(e,t){let n=q6(t),r=ch(n),i=e.component.resolve,a=e.component.layoutSize,o;for(let l of e.children){let s=l.component.layoutSize.getWithExplicit(n),u=i.scale[r]??W6(r,e);if(u==="independent"&&s.value==="step"){o=void 0;break}if(o){if(u==="independent"&&o.value!==s.value){o=void 0;break}o=wa(o,s,n,"")}else o=s}if(o){for(let l of e.children)e.renameSignal(l.getName(n),e.getName(t)),l.component.layoutSize.set(n,"merged",!1);a.setWithExplicit(t,o)}else a.setWithExplicit(t,{explicit:!1,value:void 0})}function uie(e){let{size:t,component:n}=e;for(let r of xi){let i=vn(r);if(t[i]){let a=t[i];n.layoutSize.set(i,Qr(a)?"step":a,!0)}else{let a=cie(e,i);n.layoutSize.set(i,a,!1)}}}function cie(e,t){let n=t==="width"?"x":"y",r=e.config,i=e.getScaleComponent(n);if(i){let a=i.get("type"),o=i.get("range");if(wt(a)){let l=Th(r.view,t);return oo(o)||Qr(l)?"step":l}else return yb(r.view,t)}else{if(e.hasProjection||e.mark==="arc")return yb(r.view,t);{let a=Th(r.view,t);return Qr(a)?a.step:a}}}function gx(e,t,n){return V(t,{suffix:`by_${V(e)}`,...n})}var fie=class kp extends D8{constructor(n,r,i,a){super(n,"facet",r,i,a,n.resolve);N(this,"facet");N(this,"child");N(this,"children");this.child=bx(n.spec,this,this.getName("child"),void 0,a),this.children=[this.child],this.facet=this.initFacet(n.facet)}initFacet(n){if(!ju(n))return{facet:this.initFacetFieldDef(n,"facet")};let r=I(n),i={};for(let a of r){if(![pi,mi].includes(a)){q(hh(a,"facet"));break}let o=n[a];if(o.field===void 0){q(Fv(o,a));break}i[a]=this.initFacetFieldDef(o,a)}return i}initFacetFieldDef(n,r){let i=ib(n,r);return i.header?i.header=Ct(i.header):i.header===null&&(i.header=null),i}channelHasField(n){return j(this.facet,n)}fieldDef(n){return this.facet[n]}parseData(){this.component.data=rp(this),this.child.parseData()}parseLayoutSize(){mx(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection,ut(this.component.selection).some(n=>Zr(n))&&$v(Dv)}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),aie(this)}assembleSelectionTopLevelSignals(n){return this.child.assembleSelectionTopLevelSignals(n)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(n){return this.child.assembleSelectionData(n)}getHeaderLayoutMixins(){let n={};for(let r of Vn)for(let i of Gb){let a=this.component.layoutHeaders[r],o=a[i],{facetFieldDef:l}=a;if(l){let s=Ul("titleOrient",l.header,this.config,r);if(["right","bottom"].includes(s)){let u=Jh(r,s);n.titleAnchor??(n.titleAnchor={}),n.titleAnchor[u]="end"}}if(o!=null&&o[0]){let s=r==="row"?"height":"width",u=i==="header"?"headerBand":"footerBand";r!=="facet"&&!this.child.component.layoutSize.get(s)&&(n[u]??(n[u]={}),n[u][r]=.5),a.title&&(n.offset??(n.offset={}),n.offset[r==="row"?"rowTitle":"columnTitle"]=10)}}return n}assembleDefaultLayout(){let{column:n,row:r}=this.facet,i=n?this.columnDistinctSignal():r?1:void 0,a="all";return(!r&&this.component.resolve.scale.x==="independent"||!n&&this.component.resolve.scale.y==="independent")&&(a="none"),{...this.getHeaderLayoutMixins(),...i?{columns:i}:{},bounds:"full",align:a}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof kp))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(n){return this.parent&&this.parent instanceof kp?{...this.channelHasField("column")?{encode:{update:{columns:{field:V(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(n)}:super.assembleGroup(n)}getCardinalityAggregateForChild(){let n=[],r=[],i=[];if(this.child instanceof kp){if(this.child.channelHasField("column")){let a=V(this.child.facet.column);n.push(a),r.push("distinct"),i.push(`distinct_${a}`)}}else for(let a of xi){let o=this.child.component.scales[a];if(o&&!o.merged){let l=o.get("type"),s=o.get("range");if(wt(l)&&oo(s)){let u=cx(tp(this.child,a));u?(n.push(u),r.push("distinct"),i.push(`distinct_${u}`)):q(_v(a))}}}return{fields:n,ops:r,as:i}}assembleFacet(){let{name:n,data:r}=this.component.data.facetRoot,{row:i,column:a}=this.facet,{fields:o,ops:l,as:s}=this.getCardinalityAggregateForChild(),u=[];for(let f of Vn){let d=this.facet[f];if(d){u.push(V(d));let{bin:h,sort:p}=d;if(je(h)&&u.push(V(d,{binSuffix:"end"})),Ei(p)){let{field:m,op:g=Eh}=p,y=gx(d,p);i&&a?(o.push(y),l.push("max"),s.push(y)):(o.push(m),l.push(g),s.push(y))}else if(X(p)){let m=ql(d,f);o.push(m),l.push("max"),s.push(m)}}}let c=!!i&&!!a;return{name:n,data:r,groupby:u,...c||o.length>0?{aggregate:{...c?{cross:c}:{},...o.length?{fields:o,ops:l,as:s}:{}}}:{}}}facetSortFields(n){let{facet:r}=this,i=r[n];return i?Ei(i.sort)?[gx(i,i.sort,{expr:"datum"})]:X(i.sort)?[ql(i,n,{expr:"datum"})]:[V(i,{expr:"datum"})]:[]}facetSortOrder(n){let{facet:r}=this,i=r[n];if(i){let{sort:a}=i;return[(Ei(a)?a.order:!X(a)&&a)||"ascending"]}return[]}assembleLabelTitle(){var a;let{facet:n,config:r}=this;if(n.facet)return Hb(n.facet,"facet",r);let i={row:["top","bottom"],column:["left","right"]};for(let o of Wb)if(n[o]){let l=Ul("labelOrient",(a=n[o])==null?void 0:a.header,r,o);if(i[o].includes(l))return Hb(n[o],o,r)}}assembleMarks(){let{child:n}=this,r=this.component.data.facetRoot,i=nie(r),a=n.assembleGroupEncodeEntry(!1),o=this.assembleLabelTitle()||n.assembleTitle(),l=n.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...o?{title:o}:{},...l?{style:l}:{},from:{facet:this.assembleFacet()},sort:{field:Vn.map(s=>this.facetSortFields(s)).flat(),order:Vn.map(s=>this.facetSortOrder(s)).flat()},...i.length>0?{data:i}:{},...a?{encode:{update:a}}:{},...n.assembleGroup(Fte(this,[]))}]}getMapping(){return this.facet}};function die(e,t){let{row:n,column:r}=t;if(n&&r){let i=null;for(let a of[n,r])if(Ei(a.sort)){let{field:o,op:l=Eh}=a.sort;e=i=new Ju(e,{joinaggregate:[{op:l,field:o,as:gx(a,a.sort,{forAs:!0})}],groupby:[V(a)]})}return i}return null}function q8(e,t){var n,r,i,a;for(let o of t){let l=o.data;if(e.name&&o.hasName()&&e.name!==o.dataName)continue;let s=(n=e.format)==null?void 0:n.mesh,u=(r=l.format)==null?void 0:r.feature;if(s&&u)continue;let c=(i=e.format)==null?void 0:i.feature;if((c||u)&&c!==u)continue;let f=(a=l.format)==null?void 0:a.mesh;if(!((s||f)&&s!==f)){if(Hu(e)&&Hu(l)){if(Cn(e.values,l.values))return o}else if(Rl(e)&&Rl(l)){if(e.url===l.url)return o}else if(US(e)&&e.name===o.dataName)return o}}return null}function hie(e,t){if(e.data||!e.parent){if(e.data===null){let r=new Eo({values:[]});return t.push(r),r}let n=q8(e.data,t);if(n)return Aa(e.data)||(n.data.format=r3({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let r=new Eo(e.data);return t.push(r),r}}else return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}function pie(e,t,n){let r=0;for(let i of t.transforms){let a,o;if(tte(i))o=e=new Ub(e,i),a="derived";else if(Eb(i)){let l=ire(i);o=e=Sn.makeWithAncestors(e,{},l,n)??e,e=new Xh(e,t,i.filter)}else if(NS(i))o=e=Wl.makeFromTransform(e,i,t),a="number";else if(rte(i))a="date",n.getWithExplicit(i.field).value===void 0&&(e=new Sn(e,{[i.field]:a}),n.set(i.field,a,!1)),o=e=Tl.makeFromTransform(e,i);else if(ite(i))o=e=Ao.makeFromTransform(e,i),a="number",Lb(t)&&(e=new Hl(e));else if(zS(i))o=e=z8.make(e,t,i,r++),a="derived";else if(Kee(i))o=e=new Zh(e,i),a="number";else if(Zee(i))o=e=new Ju(e,i),a="number";else if(ate(i))o=e=Qu.makeFromTransform(e,i),a="derived";else if(ote(i))o=e=new S8(e,i),a="derived";else if(lte(i))o=e=new C8(e,i),a="derived";else if(ete(i))o=e=new $8(e,i),a="derived";else if(Hee(i))o=e=new T8(e,i),a="derived";else if(Qee(i))e=new L8(e,i);else if(nte(i))o=e=px.makeFromTransform(e,i),a="derived";else if(Vee(i))o=e=new F8(e,i),a="derived";else if(Xee(i))o=e=new N8(e,i),a="derived";else if(Yee(i))o=e=new R8(e,i),a="derived";else if(Jee(i))o=e=new B8(e,i),a="derived";else{q(zQ(i));continue}if(o&&a!==void 0)for(let l of o.producedFields()??[])n.set(l,a,!1)}return e}function rp(e){var m;let t=hie(e,e.component.data.sources),{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.data,a=!(i&&(Aa(i)||Rl(i)||Hu(i)))&&e.parent?e.parent.component.data.ancestorParse.clone():new bte;Aa(i)?(WS(i)?t=new Kb(t,i.sequence):Db(i)&&(t=new Qb(t,i.graticule)),a.parseNothing=!0):((m=i==null?void 0:i.format)==null?void 0:m.parse)===null&&(a.parseNothing=!0),t=Sn.makeExplicit(t,e,a)??t,t=new Hl(t);let o=e.parent&&Vl(e.parent);(Je(e)||Mn(e))&&o&&(t=Wl.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=pie(t,e,a));let l=ore(e),s=are(e);t=Sn.makeWithAncestors(t,{},{...l,...s},a)??t,Je(e)&&(t=M8.parseAll(t,e),t=O8.parseAll(t,e)),(Je(e)||Mn(e))&&(o||(t=Wl.makeFromEncoding(t,e)??t),t=Tl.makeFromEncoding(t,e)??t,t=Ub.parseAllForSortIndex(t,e));let u=t=ip(et.Raw,e,t);if(Je(e)){let g=Ao.makeFromEncoding(t,e);g&&(t=g,Lb(e)&&(t=new Hl(t))),t=px.makeFromEncoding(t,e)??t,t=Qu.makeFromEncoding(t,e)??t}let c,f;if(Je(e)){let{markDef:g,mark:y,config:v}=e,{marks:b,scales:w}=f=HS({invalid:Le("invalid",g,v),isPath:va(y)});b!==w&&w==="include-invalid-values"&&(c=t=ip(et.PreFilterInvalid,e,t)),b==="exclude-invalid-values"&&(t=nx.make(t,e,f)??t)}let d=t=ip(et.Main,e,t),h;if(Je(e)&&f){let{marks:g,scales:y}=f;g==="include-invalid-values"&&y==="exclude-invalid-values"&&(t=nx.make(t,e,f)??t,h=t=ip(et.PostFilterInvalid,e,t))}Je(e)&&nne(e,d);let p=null;if(Mn(e)){let g=e.getName("facet");t=die(t,e.facet)??t,p=new Gl(t,e,g,d.getSource()),n[g]=p}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:u,main:d,facetRoot:p,ancestorParse:a,preFilterInvalid:c,postFilterInvalid:h}}function ip(e,t,n){let{outputNodes:r,outputNodeRefCounts:i}=t.component.data,a=t.getDataName(e),o=new bn(n,a,e,i);return r[a]=o,o}var mie=class extends hx{constructor(t,n,r,i){var a,o,l,s;super(t,"concat",n,r,i,t.resolve);N(this,"children");(((o=(a=t.resolve)==null?void 0:a.axis)==null?void 0:o.x)==="shared"||((s=(l=t.resolve)==null?void 0:l.axis)==null?void 0:s.y)==="shared")&&q(MQ),this.children=this.getChildren(t).map((u,c)=>bx(u,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=rp(this);for(let t of this.children)t.parseData()}parseSelections(){this.component.selection={};for(let t of this.children){t.parseSelections();for(let n of I(t.component.selection))this.component.selection[n]=t.component.selection[n]}ut(this.component.selection).some(t=>Zr(t))&&$v(Dv)}parseMarkGroup(){for(let t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){for(let t of this.children)t.parseAxesAndHeaders()}getChildren(t){return Rh(t)?t.vconcat:gb(t)?t.hconcat:t.concat}parseLayoutSize(){sie(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.forEach(t=>t.assembleSignals()),[]}assembleLayoutSignals(){let t=Vb(this);for(let n of this.children)t.push(...n.assembleLayoutSignals());return t}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleMarks(){return this.children.map(t=>{let n=t.assembleTitle(),r=t.assembleGroupStyle(),i=t.assembleGroupEncodeEntry(!1);return{type:"group",name:t.getName("group"),...n?{title:n}:{},...r?{style:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){let t=this.layout.columns;return{...t==null?{}:{columns:t},bounds:"full",align:"each"}}};function gie(e){return e===!1||e===null}var U8=I({disable:1,gridScale:1,scale:1,...H5,labelExpr:1,encode:1}),yie=class v4 extends vo{constructor(n={},r={},i=!1){super();N(this,"explicit");N(this,"implicit");N(this,"mainExtracted");this.explicit=n,this.implicit=r,this.mainExtracted=i}clone(){return new v4(oe(this.explicit),oe(this.implicit),this.mainExtracted)}hasAxisPart(n){return n==="axis"?!0:n==="grid"||n==="title"?!!this.get(n):!gie(this.get(n))}hasOrientSignalRef(){return Q(this.explicit.orient)}};function vie(e,t,n){let{encoding:r,config:i}=e,a=pt(r[t])??pt(r[Wr(t)]),{format:o,formatType:l}=e.axis(t)||{};if(mo(l))return{text:vr({fieldOrDatumDef:a,field:"datum.value",format:o,formatType:l,config:i}),...n};if(o===void 0&&l===void 0&&i.customFormatTypes){if(Sl(a)==="quantitative"){if(Ml(a)&&a.stack==="normalize"&&i.normalizedNumberFormatType)return{text:vr({fieldOrDatumDef:a,field:"datum.value",format:i.normalizedNumberFormat,formatType:i.normalizedNumberFormatType,config:i}),...n};if(i.numberFormatType)return{text:vr({fieldOrDatumDef:a,field:"datum.value",format:i.numberFormat,formatType:i.numberFormatType,config:i}),...n}}if(Sl(a)==="temporal"&&i.timeFormatType&&W(a)&&!a.timeUnit)return{text:vr({fieldOrDatumDef:a,field:"datum.value",format:i.timeFormat,formatType:i.timeFormatType,config:i}),...n}}return n}function bie(e){return xi.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[Die(n,e)]),t),{})}var xie={bottom:"top",top:"bottom",left:"right",right:"left"};function wie(e){let{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(let i of e.children){i.parseAxesAndHeaders();for(let a of I(i.component.axes))n.axis[a]=Xb(e.component.resolve,a),n.axis[a]==="shared"&&(t[a]=Aie(t[a],i.component.axes[a]),t[a]||(n.axis[a]="independent",delete t[a]))}for(let i of xi){for(let a of e.children)if(a.component.axes[i]){if(n.axis[i]==="independent"){t[i]=(t[i]??[]).concat(a.component.axes[i]);for(let o of a.component.axes[i]){let{value:l,explicit:s}=o.getWithExplicit("orient");if(!Q(l)){if(r[l]>0&&!s){let u=xie[l];r[l]>r[u]&&o.set("orient",u,!1)}r[l]++}}}delete a.component.axes[i]}if(n.axis[i]==="independent"&&t[i]&&t[i].length>1)for(let[a,o]of(t[i]||[]).entries())a>0&&o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function Aie(e,t){if(e){if(e.length!==t.length)return;let n=e.length;for(let r=0;r<n;r++){let i=e[r],a=t[r];if(!!i!=!!a)return;if(i&&a){let o=i.getWithExplicit("orient"),l=a.getWithExplicit("orient");if(o.explicit&&l.explicit&&o.value!==l.value)return;e[r]=Eie(i,a)}}}else return t.map(n=>n.clone());return e}function Eie(e,t){for(let n of U8){let r=wa(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(i,a)=>{switch(n){case"title":return z3(i,a);case"gridScale":return{explicit:i.explicit,value:at(i.value,a.value)}}return Ph(i,a,n,"axis")});e.setWithExplicit(n,r)}return e}function kie(e,t,n,r,i){if(t==="disable")return n!==void 0;switch(n||(n={}),t){case"titleAngle":case"labelAngle":return e===(Q(n.labelAngle)?n.labelAngle:Ou(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===R6(r,i))return!0}return e===n[t]}var _ie=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Die(e,t){var y,v;let n=t.axis(e),r=new yie,i=pt(t.encoding[e]),{mark:a,config:o}=t,l=(n==null?void 0:n.orient)||((y=o[e==="x"?"axisX":"axisY"])==null?void 0:y.orient)||((v=o.axis)==null?void 0:v.orient)||dne(e),s=t.getScaleComponent(e).get("type"),u=ane(e,s,l,t.config),c=n===void 0?jb("disable",o.style,n==null?void 0:n.style,u).configValue:!n;if(r.set("disable",c,n!==void 0),c)return r;n||(n={});let f=une(i,n,e,o.style,u),d=F5(n.formatType,i,s),h=D5(i,i.type,n.format,n.formatType,o,!0),p={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:s,orient:l,labelAngle:f,format:h,formatType:d,mark:a,config:o};for(let b of U8){let w=b in B6?B6[b](p):V5(b)?n[b]:void 0,A=w!==void 0,E=kie(w,b,n,t,e);if(A&&E)r.set(b,w,E);else{let{configValue:x=void 0,configFrom:k=void 0}=V5(b)&&b!=="values"?jb(b,o.style,n.style,u):{},_=x!==void 0;A&&!_?r.set(b,w,E):(k!=="vgAxisConfig"||_ie.has(b)&&_||Gu(x)||Q(x))&&r.set(b,x,!1)}}let m=n.encoding??{},g=G5.reduce((b,w)=>{if(!r.hasAxisPart(w))return b;let A=U6(m[w]??{},t),E=w==="labels"?vie(t,e,A):A;return E!==void 0&&!Ie(E)&&(b[w]={update:E}),b},{});return Ie(g)||r.set("encode",g,!!n.encoding||n.labelAngle!==void 0),r}function Fie({encoding:e,size:t}){for(let n of xi){let r=vn(n);Qr(t[r])&&xa(e[n])&&(delete t[r],q(H3(r)))}return t}var Cie={vgMark:"arc",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...on("x",e,{defaultPos:"mid"}),...on("y",e,{defaultPos:"mid"}),...Fi(e,"radius"),...Fi(e,"theta")})},$ie={vgMark:"area",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...Wh("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="horizontal"}),...Wh("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="vertical"}),...Rb(e)})},Sie={vgMark:"rect",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Fi(e,"x"),...Fi(e,"y")})},Mie={vgMark:"shape",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&W(n)&&n.type===Cl?{field:V(n,{expr:"datum"})}:{}}]}},Oie={vgMark:"image",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...Fi(e,"x"),...Fi(e,"y"),...zb(e,"url")})},Bie={vgMark:"line",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...on("x",e,{defaultPos:"mid"}),...on("y",e,{defaultPos:"mid"}),...St("size",e,{vgChannel:"strokeWidth"}),...Rb(e)})},zie={vgMark:"trail",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...on("x",e,{defaultPos:"mid"}),...on("y",e,{defaultPos:"mid"}),...St("size",e),...Rb(e)})};function yx(e,t){let{config:n}=e;return{...Xn(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...on("x",e,{defaultPos:"mid"}),...on("y",e,{defaultPos:"mid"}),...St("size",e),...St("angle",e),...Nie(e,n,t)}}function Nie(e,t,n){return n?{shape:{value:n}}:St("shape",e)}var Rie={vgMark:"symbol",encodeEntry:e=>yx(e)},Tie={vgMark:"symbol",encodeEntry:e=>yx(e,"circle")},Lie={vgMark:"symbol",encodeEntry:e=>yx(e,"square")},Pie={vgMark:"rect",encodeEntry:e=>({...Xn(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Fi(e,"x"),...Fi(e,"y")})},Iie={vgMark:"rule",encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return!e.encoding.x&&!e.encoding.y&&!e.encoding.latitude&&!e.encoding.longitude?{}:{...Xn(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Wh("x",e,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"}),...Wh("y",e,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"}),...St("size",e,{vgChannel:"strokeWidth"})}}},jie={vgMark:"text",encodeEntry:e=>{let{config:t,encoding:n}=e;return{...Xn(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...on("x",e,{defaultPos:"mid"}),...on("y",e,{defaultPos:"mid"}),...zb(e),...St("size",e,{vgChannel:"fontSize"}),...St("angle",e),...p6("align",qie(e.markDef,n,t)),...p6("baseline",Uie(e.markDef,n,t)),...on("radius",e,{defaultPos:null}),...on("theta",e,{defaultPos:null})}}};function qie(e,t,n){if(Le("align",e,n)===void 0)return"center"}function Uie(e,t,n){if(Le("baseline",e,n)===void 0)return"middle"}var ap={arc:Cie,area:$ie,bar:Sie,circle:Tie,geoshape:Mie,image:Oie,line:Bie,point:Rie,rect:Pie,rule:Iie,square:Lie,text:jie,tick:{vgMark:"rect",encodeEntry:e=>{let{config:t,markDef:n}=e,r=n.orient,i=r==="horizontal"?"x":"y",a=r==="horizontal"?"y":"x",o=r==="horizontal"?"height":"width";return{...Xn(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Fi(e,i),...on(a,e,{defaultPos:"mid",vgChannel:a==="y"?"yc":"xc"}),[o]:We(Le("thickness",n,t))}}},trail:zie};function Wie(e){if(he([bh,yh,oZ],e.mark)){let t=Z5(e.mark,e.encoding);if(t.length>0)return Gie(e,t)}else if(e.mark===vh){let t=Av.some(n=>Le(n,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return Hie(e)}return vx(e)}var W8="faceted_path_";function Gie(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:W8+e.requestDataName(et.Main),data:e.requestDataName(et.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:vx(e,{fromPrefix:W8})}]}var G8="stack_group_";function Hie(e){var s;let[t]=vx(e,{fromPrefix:G8}),n=e.scaleName(e.stack.fieldChannel),r=(u={})=>e.vgField(e.stack.fieldChannel,u),i=(u,c)=>`${u}(${[r({prefix:"min",suffix:"start",expr:c}),r({prefix:"max",suffix:"start",expr:c}),r({prefix:"min",suffix:"end",expr:c}),r({prefix:"max",suffix:"end",expr:c})].map(f=>`scale('${n}',${f})`).join(",")})`,a,o;e.stack.fieldChannel==="x"?(a={...xl(t.encode.update,["y","yc","y2","height",...Av]),x:{signal:i("min","datum")},x2:{signal:i("max","datum")},clip:{value:!0}},o={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},t.encode.update={...Fn(t.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(a={...xl(t.encode.update,["x","xc","x2","width"]),y:{signal:i("min","datum")},y2:{signal:i("max","datum")},clip:{value:!0}},o={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},t.encode.update={...Fn(t.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(let u of Av){let c=Hr(u,e.markDef,e.config);t.encode.update[u]?(a[u]=t.encode.update[u],delete t.encode.update[u]):c&&(a[u]=We(c)),c&&(t.encode.update[u]={value:0})}let l=[];if(((s=e.stack.groupbyChannels)==null?void 0:s.length)>0)for(let u of e.stack.groupbyChannels){let c=e.fieldDef(u),f=V(c);f&&l.push(f),(c!=null&&c.bin||c!=null&&c.timeUnit)&&l.push(V(c,{binSuffix:"end"}))}return a=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((u,c)=>{if(t.encode.update[c])return{...u,[c]:t.encode.update[c]};{let f=Hr(c,e.markDef,e.config);return f===void 0?u:{...u,[c]:We(f)}}},a),a.stroke&&(a.strokeForeground={value:!0},a.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(et.Main),name:G8+e.requestDataName(et.Main),groupby:l,aggregate:{fields:[r({suffix:"start"}),r({suffix:"start"}),r({suffix:"end"}),r({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:a},marks:[{type:"group",encode:{update:o},marks:[t]}]}]}function Vie(e){let{encoding:t,stack:n,mark:r,markDef:i,config:a}=e,o=t.order;if(!(!X(o)&&br(o)&&av(o.value)||!o&&av(Le("order",i,a)))){if((X(o)||W(o))&&!n)return M3(o,{expr:"datum"});if(va(r)){let l=i.orient==="horizontal"?"y":"x",s=t[l];if(W(s))return{field:l}}}}function vx(e,t={fromPrefix:""}){let{mark:n,markDef:r,encoding:i,config:a}=e,o=at(r.clip,Xie(e),Yie(e)),l=$3(r),s=i.key,u=Vie(e),c=Jie(e),f=Le("aria",r,a),d=ap[n].postEncodingTransform?ap[n].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:ap[n].vgMark,...o?{clip:o}:{},...l?{style:l}:{},...s?{key:s.field}:{},...u?{sort:u}:{},...c||{},...f===!1?{aria:f}:{},from:{data:t.fromPrefix+e.requestDataName(et.Main)},encode:{update:ap[n].encodeEntry(e)},...d?{transform:d}:{}}]}function Xie(e){let t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return t!=null&&t.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function Yie(e){let t=e.component.projection;return t&&!t.isFit?!0:void 0}function Jie(e){if(!e.component.selection)return null;let t=I(e.component.selection).length,n=t,r=e.parent;for(;r&&n===0;)n=I(r.component.selection).length,r=r.parent;return n?{interactive:t>0||e.mark==="geoshape"||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}var H8=class extends D8{constructor(t,n,r,i={},a){super(t,"unit",n,r,a,void 0,yS(t)?t.view:void 0);N(this,"markDef");N(this,"encoding");N(this,"specifiedScales",{});N(this,"stack");N(this,"specifiedAxes",{});N(this,"specifiedLegends",{});N(this,"specifiedProjection",{});N(this,"selection",[]);N(this,"children",[]);N(this,"correctDataNames",t=>{var n,r,i;return(n=t.from)!=null&&n.data&&(t.from.data=this.lookupDataSource(t.from.data),"time"in this.encoding&&(t.from.data=t.from.data+QS)),(i=(r=t.from)==null?void 0:r.facet)!=null&&i.data&&(t.from.facet.data=this.lookupDataSource(t.from.facet.data)),t});let o=Yr(t.mark)?{...t.mark}:{type:t.mark},l=o.type;o.filled===void 0&&(o.filled=Nee(o,a,{graticule:t.data&&Db(t.data)}));let s=this.encoding=qZ(t.encoding||{},l,o.filled,a);this.markDef=DS(o,s,a),this.size=Fie({encoding:s,size:yS(t)?{...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}:i}),this.stack=_S(this.markDef,s),this.specifiedScales=this.initScales(l,s),this.specifiedAxes=this.initAxes(s),this.specifiedLegends=this.initLegends(s),this.specifiedProjection=t.projection,this.selection=(t.params??[]).filter(u=>pb(u))}get hasProjection(){let{encoding:t}=this,n=this.mark===v5,r=t&&IJ.some(i=>le(t[i]));return n||r}scaleDomain(t){let n=this.specifiedScales[t];return n?n.domain:void 0}axis(t){return this.specifiedAxes[t]}legend(t){return this.specifiedLegends[t]}initScales(t,n){return bv.reduce((r,i)=>{let a=pt(n[i]);return a&&(r[i]=this.initScale(a.scale??{})),r},{})}initScale(t){let{domain:n,range:r}=t,i=Ct(t);return X(n)&&(i.domain=n.map($n)),X(r)&&(i.range=r.map($n)),i}initAxes(t){return xi.reduce((n,r)=>{let i=t[r];if(le(i)||r===Xe&&le(t.x2)||r===bt&&le(t.y2)){let a=le(i)?i.axis:void 0;n[r]=a&&this.initAxis({...a})}return n},{})}initAxis(t){let n=I(t),r={};for(let i of n){let a=t[i];r[i]=Gu(a)?D3(a):$n(a)}return r}initLegends(t){return QJ.reduce((n,r)=>{let i=pt(t[r]);if(i&&ZJ(r)){let a=i.legend;n[r]=a&&Ct(a)}return n},{})}parseData(){this.component.data=rp(this)}parseLayoutSize(){uie(this)}parseSelections(){this.component.selection=tne(this,this.selection)}parseMarkGroup(){this.component.mark=Wie(this)}parseAxesAndHeaders(){this.component.axes=bie(this)}assembleSelectionTopLevelSignals(t){return Cte(this,t)}assembleSignals(){return[...M6(this),...Dte(this,[])]}assembleSelectionData(t){return $te(this,t)}assembleLayout(){return null}assembleLayoutSignals(){return Vb(this)}assembleMarks(){let t=this.component.mark??[];return(!this.parent||!Vl(this.parent))&&(t=t6(this,t)),t.map(this.correctDataNames)}assembleGroupStyle(){let{style:t}=this.view||{};return t===void 0?this.encoding.x||this.encoding.y?"cell":"view":t}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(t){return yo(this.encoding,t)}fieldDef(t){let n=this.encoding[t];return xr(n)}typedFieldDef(t){let n=this.fieldDef(t);return an(n)?n:null}},Qie=class b4 extends hx{constructor(n,r,i,a,o){super(n,"layer",r,i,o,n.resolve,n.view);N(this,"children");let l={...a,...n.width?{width:n.width}:{},...n.height?{height:n.height}:{}};this.children=n.layer.map((s,u)=>{if(Lh(s))return new b4(s,this,this.getName(`layer_${u}`),l,o);if(ki(s))return new H8(s,this,this.getName(`layer_${u}`),l,o);throw Error(kv(s))})}parseData(){this.component.data=rp(this);for(let n of this.children)n.parseData()}parseLayoutSize(){lie(this)}parseSelections(){this.component.selection={};for(let n of this.children){n.parseSelections();for(let r of I(n.component.selection))this.component.selection[r]=n.component.selection[r]}ut(this.component.selection).some(n=>Zr(n))&&$v(Dv)}parseMarkGroup(){for(let n of this.children)n.parseMarkGroup()}parseAxesAndHeaders(){wie(this)}assembleSelectionTopLevelSignals(n){return this.children.reduce((r,i)=>i.assembleSelectionTopLevelSignals(r),n)}assembleSignals(){return this.children.reduce((n,r)=>n.concat(r.assembleSignals()),M6(this))}assembleLayoutSignals(){return this.children.reduce((n,r)=>n.concat(r.assembleLayoutSignals()),Vb(this))}assembleSelectionData(n){return this.children.reduce((r,i)=>i.assembleSelectionData(r),n)}assembleGroupStyle(){let n=new Set;for(let i of this.children)for(let a of it(i.assembleGroupStyle()))n.add(a);let r=Array.from(n);return r.length>1?r:r.length===1?r[0]:void 0}assembleTitle(){let n=super.assembleTitle();if(n)return n;for(let r of this.children)if(n=r.assembleTitle(),n)return n}assembleLayout(){return null}assembleMarks(){return Ste(this,this.children.flatMap(n=>n.assembleMarks()))}assembleLegends(){return this.children.reduce((n,r)=>n.concat(r.assembleLegends()),e8(this))}};function bx(e,t,n,r,i){if(kh(e))return new fie(e,t,n,i);if(Lh(e))return new Qie(e,t,n,r,i);if(ki(e))return new H8(e,t,n,r,i);if(fee(e))return new mie(e,t,n,i);throw Error(kv(e))}function V8(e,t={}){t.logger&&wK(t.logger),t.fieldTitle&&j5(t.fieldTitle);try{let n=ES(q$(t.config,e.config)),r=PS(e,n),i=bx(r,null,"",void 0,n);return i.parse(),wre(i.component.data,i),{spec:Zie(i,Kie(e,r.autosize,n,i),e.datasets,e.usermeta),normalized:r}}finally{t.logger&&AK(),t.fieldTitle&&zZ()}}function Kie(e,t,n,r){let i=r.component.layoutSize.get("width"),a=r.component.layoutSize.get("height");if(t===void 0?(t={type:"pad"},r.hasAxisOrientSignalRef()&&(t.resize=!0)):se(t)&&(t={type:t}),i&&a&&gte(t.type)){if(i==="step"&&a==="step")q(T3()),t.type="pad";else if(i==="step"||a==="step"){let o=i==="step"?"width":"height";q(T3(ch(o))),t.type=yte(o==="width"?"height":"width")}}return{...I(t).length===1&&t.type?t.type==="pad"?{}:{autosize:t.type}:{autosize:t},...jS(n,!1),...jS(e,!0)}}function Zie(e,t,n={},r){let i=e.config?Eee(e.config):void 0,a=rie(e.component.data,n),o=e.assembleSelectionData(a),l=e.assembleProjections(),s=e.assembleTitle(),u=e.assembleGroupStyle(),c=e.assembleGroupEncodeEntry(!0),f=e.assembleLayoutSignals();f=f.filter(p=>(p.name==="width"||p.name==="height")&&p.value!==void 0?(t[p.name]=+p.value,!1):!0);let{params:d,...h}=t;return{$schema:"https://vega.github.io/schema/vega/v6.json",...e.description?{description:e.description}:{},...h,...s?{title:s}:{},...u?{style:u}:{},...c?{encode:{update:c}}:{},data:o,...l.length>0?{projections:l}:{},...e.assembleGroup([...f,...e.assembleSelectionTopLevelSignals([]),...mS(d)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}var eae=zJ.version;function X8(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}}var tae=sn({carbong10:()=>zae,carbong100:()=>Rae,carbong90:()=>Nae,carbonwhite:()=>Bae,dark:()=>rae,excel:()=>iae,fivethirtyeight:()=>lae,ggplot2:()=>sae,googlecharts:()=>xae,latimes:()=>dae,powerbi:()=>$ae,quartz:()=>hae,urbaninstitute:()=>bae,version:()=>Tae,vox:()=>pae}),nae={version:"3.0.0"},Xl="#fff",Y8="#888",rae={background:"#333",view:{stroke:Y8},title:{color:Xl,subtitleColor:Xl},style:{"guide-label":{fill:Xl},"guide-title":{fill:Xl}},axis:{domainColor:Xl,gridColor:Y8,tickColor:Xl}},_o="#4572a7",iae={background:"#fff",arc:{fill:_o},area:{fill:_o},line:{stroke:_o,strokeWidth:2},path:{stroke:_o},rect:{fill:_o},shape:{stroke:_o},symbol:{fill:_o,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Do="#30a2da",xx="#cbcbcb",aae="#999",oae="#333",J8="#f0f0f0",Q8="#333",lae={arc:{fill:Do},area:{fill:Do},axis:{domainColor:xx,grid:!0,gridColor:xx,gridWidth:1,labelColor:aae,labelFontSize:10,titleColor:oae,tickColor:xx,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:J8,group:{fill:J8},legend:{labelColor:Q8,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:Q8,titleFontSize:14,titlePadding:10},line:{stroke:Do,strokeWidth:2},path:{stroke:Do,strokeWidth:.5},rect:{fill:Do},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:Do},bar:{binSpacing:2,fill:Do,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},Fo="#000",sae={group:{fill:"#e5e5e5"},arc:{fill:Fo},area:{fill:Fo},line:{stroke:Fo},path:{stroke:Fo},rect:{fill:Fo},shape:{stroke:Fo},symbol:{fill:Fo,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},uae=22,cae="normal",K8="Benton Gothic, sans-serif",Z8=11.5,fae="normal",Co="#82c6df",wx="Benton Gothic Bold, sans-serif",e9="normal",t9=13,Ku={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"]},dae={background:"#ffffff",title:{anchor:"start",color:"#000000",font:wx,fontSize:uae,fontWeight:cae},arc:{fill:Co},area:{fill:Co},line:{stroke:Co,strokeWidth:2},path:{stroke:Co},rect:{fill:Co},shape:{stroke:Co},symbol:{fill:Co,size:30},axis:{labelFont:K8,labelFontSize:Z8,labelFontWeight:fae,titleFont:wx,titleFontSize:t9,titleFontWeight:e9},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:K8,labelFontSize:Z8,symbolType:"square",titleFont:wx,titleFontSize:t9,titleFontWeight:e9},range:{category:Ku["category-6"],diverging:Ku["fireandice-6"],heatmap:Ku["fire-7"],ordinal:Ku["fire-7"],ramp:Ku["fire-7"]}},$o="#ab5787",op="#979797",hae={background:"#f9f9f9",arc:{fill:$o},area:{fill:$o},line:{stroke:$o},path:{stroke:$o},rect:{fill:$o},shape:{stroke:$o},symbol:{fill:$o,size:30},axis:{domainColor:op,domainWidth:.5,gridWidth:.2,labelColor:op,tickColor:op,tickWidth:.2,titleColor:op},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},So="#3e5c69",pae={background:"#fff",arc:{fill:So},area:{fill:So},line:{stroke:So},path:{stroke:So},rect:{fill:So},shape:{stroke:So},symbol:{fill:So},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Yn="#1696d2",n9="#000000",mae="#FFFFFF",lp="Lato",Ax="Lato",gae="Lato",yae="#DEDDDD",vae=18,Zu={"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},bae={background:mae,title:{anchor:"start",fontSize:vae,font:lp},axisX:{domain:!0,domainColor:n9,domainWidth:1,grid:!1,labelFontSize:12,labelFont:Ax,labelAngle:0,tickColor:n9,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:lp},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:yae,gridWidth:1,labelFontSize:12,labelFont:Ax,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:lp,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:Ax,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:lp,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Zu["six-groups-cat-1"],diverging:Zu["diverging-colors"],heatmap:Zu["diverging-colors"],ordinal:Zu["six-groups-seq"],ramp:Zu["shades-blue"]},area:{fill:Yn},rect:{fill:Yn},line:{color:Yn,stroke:Yn,strokeWidth:5},trail:{color:Yn,stroke:Yn,strokeWidth:0,size:1},path:{stroke:Yn,strokeWidth:.5},point:{filled:!0},text:{font:gae,color:Yn,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:Yn,stroke:null}},arc:{fill:Yn},shape:{stroke:Yn},symbol:{fill:Yn,size:30}},Mo="#3366CC",r9="#ccc",sp="Arial, sans-serif",xae={arc:{fill:Mo},area:{fill:Mo},path:{stroke:Mo},rect:{fill:Mo},shape:{stroke:Mo},symbol:{stroke:Mo},circle:{fill:Mo},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:sp,fontSize:12},"guide-title":{font:sp,fontSize:12},"group-title":{font:sp,fontSize:12}},title:{font:sp,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:r9,tickColor:r9,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},Ex=e=>e*1.3333333333333333,i9=Ex(9),a9=Ex(10),o9=Ex(12),ec="Segoe UI",l9="wf_standard-font, helvetica, arial, sans-serif",s9="#252423",tc="#605E5C",u9="transparent",wae="#C8C6C4",kr="#118DFF",Aae="#12239E",Eae="#E66C37",kae="#6B007B",_ae="#E044A7",Dae="#744EC2",Fae="#D9B300",Cae="#D64550",c9=kr,f9="#DEEFFF",d9=[f9,c9],$ae={view:{stroke:u9},background:u9,font:ec,header:{titleFont:l9,titleFontSize:o9,titleColor:s9,labelFont:ec,labelFontSize:a9,labelColor:tc},axis:{ticks:!1,grid:!1,domain:!1,labelColor:tc,labelFontSize:i9,titleFont:l9,titleColor:s9,titleFontSize:o9,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:wae,gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:kr},line:{stroke:kr,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:ec,fontSize:i9,fill:tc},arc:{fill:kr},area:{fill:kr,line:!0,opacity:.6},path:{stroke:kr},rect:{fill:kr},point:{fill:kr,filled:!0,size:75},shape:{stroke:kr},symbol:{fill:kr,strokeWidth:1.5,size:50},legend:{titleFont:ec,titleFontWeight:"bold",titleColor:tc,labelFont:ec,labelFontSize:a9,labelColor:tc,symbolType:"circle",symbolSize:75},range:{category:[kr,Aae,Eae,kae,_ae,Dae,Fae,Cae],diverging:d9,heatmap:d9,ordinal:[f9,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",c9]}},kx='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',Sae='IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif',_x=400,up={textPrimary:{g90:"#f4f4f4",g100:"#f4f4f4",white:"#161616",g10:"#161616"},textSecondary:{g90:"#c6c6c6",g100:"#c6c6c6",white:"#525252",g10:"#525252"},layerAccent01:{white:"#e0e0e0",g10:"#e0e0e0",g90:"#525252",g100:"#393939"},gridBg:{white:"#ffffff",g10:"#ffffff",g90:"#161616",g100:"#161616"}},Mae=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],Oae=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function cp({theme:e,background:t}){let n=["white","g10"].includes(e)?"light":"dark",r=up.gridBg[e],i=up.textPrimary[e],a=up.textSecondary[e],o=n==="dark"?Mae:Oae,l=n==="dark"?"#d4bbff":"#6929c4";return{background:t,arc:{fill:l},area:{fill:l},path:{stroke:l},rect:{fill:l},shape:{stroke:l},symbol:{stroke:l},circle:{fill:l},view:{fill:r,stroke:r},group:{fill:r},title:{color:i,anchor:"start",dy:-15,fontSize:16,font:kx,fontWeight:600},axis:{labelColor:a,labelFontSize:12,labelFont:Sae,labelFontWeight:_x,titleColor:i,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:up.layerAccent01[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:kx,fill:a,fontWeight:_x},"guide-title":{font:kx,fill:a,fontWeight:_x}},range:{category:o,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}var Bae=cp({theme:"white",background:"#ffffff"}),zae=cp({theme:"g10",background:"#f4f4f4"}),Nae=cp({theme:"g90",background:"#262626"}),Rae=cp({theme:"g100",background:"#161616"}),Tae=nae.version,Lae={version:"1.0.0"};function Pae(e,t,n,r){if(ne(e))return`[${e.map(i=>t(Ee(i)?i:h9(i,n))).join(", ")}]`;if(ce(e)){let i="",{title:a,image:o,...l}=e;a&&(i+=`<h2>${t(a)}</h2>`),o&&(i+=`<img src="${new URL(t(o),r||location.href).href}">`);let s=Object.keys(l);if(s.length>0){i+="<table>";for(let u of s){let c=l[u];c!==void 0&&(ce(c)&&(c=h9(c,n)),i+=`<tr><td class="key">${t(u)}</td><td class="value">${t(c)}</td></tr>`)}i+="</table>"}return i||"{}"}return t(e)}function Iae(e){let t=[];return function(n,r){return typeof r!="object"||!r?r:(t.length=t.indexOf(this)+1,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r))}}function h9(e,t){return JSON.stringify(e,Iae(t))}var jae=`#vg-tooltip-element {
13
- visibility: hidden;
14
- padding: 8px;
15
- position: fixed;
16
- z-index: 1000;
17
- font-family: sans-serif;
18
- font-size: 11px;
19
- border-radius: 3px;
20
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
21
- /* The default theme is the light theme. */
22
- background-color: rgba(255, 255, 255, 0.95);
23
- border: 1px solid #d9d9d9;
24
- color: black;
25
- }
26
- #vg-tooltip-element.visible {
27
- visibility: visible;
28
- }
29
- #vg-tooltip-element h2 {
30
- margin-top: 0;
31
- margin-bottom: 10px;
32
- font-size: 13px;
33
- }
34
- #vg-tooltip-element table {
35
- border-spacing: 0;
36
- }
37
- #vg-tooltip-element table tr {
38
- border: none;
39
- }
40
- #vg-tooltip-element table tr td {
41
- overflow: hidden;
42
- text-overflow: ellipsis;
43
- padding-top: 2px;
44
- padding-bottom: 2px;
45
- }
46
- #vg-tooltip-element table tr td.key {
47
- color: #808080;
48
- max-width: 150px;
49
- text-align: right;
50
- padding-right: 4px;
51
- }
52
- #vg-tooltip-element table tr td.value {
53
- display: block;
54
- max-width: 300px;
55
- max-height: 7em;
56
- text-align: left;
57
- }
58
- #vg-tooltip-element.dark-theme {
59
- background-color: rgba(32, 32, 32, 0.9);
60
- border: 1px solid #f5f5f5;
61
- color: white;
62
- }
63
- #vg-tooltip-element.dark-theme td.key {
64
- color: #bfbfbf;
65
- }
66
- `,p9="vg-tooltip-element",qae={offsetX:10,offsetY:10,id:p9,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:Uae,maxDepth:2,formatTooltip:Pae,baseURL:"",anchor:"cursor",position:["top","bottom","left","right","top-left","top-right","bottom-left","bottom-right"]};function Uae(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;")}function Wae(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error("Invalid HTML ID");return jae.toString().replaceAll(p9,e)}function m9(e,t,{offsetX:n,offsetY:r}){let i=g9({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,r);for(let a of["bottom-right","bottom-left","top-right","top-left"])if(y9(i[a],t))return i[a];return i["top-left"]}function Gae(e,t,n,r,i){let{position:a,offsetX:o,offsetY:l}=i,s=e._el.getBoundingClientRect(),u=e._origin,c=g9(Hae(s,u,n),r,o,l),f=Array.isArray(a)?a:[a];for(let d of f)if(y9(c[d],r)&&!Vae(t,c[d],r))return c[d];return m9(t,r,i)}function Hae(e,t,n){let r=n.isVoronoi?n.datum.bounds:n.bounds,i=e.left+t[0]+r.x1,a=e.top+t[1]+r.y1,o=n;for(;o.mark.group;)o=o.mark.group,i+=o.x??0,a+=o.y??0;let l=r.x2-r.x1,s=r.y2-r.y1;return{x1:i,x2:i+l,y1:a,y2:a+s}}function g9(e,t,n,r){let i=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,l=i-t.width/2,s=e.x2+n,u=e.y1-t.height-r,c=a-t.height/2,f=e.y2+r;return{top:{x:l,y:u},bottom:{x:l,y:f},left:{x:o,y:c},right:{x:s,y:c},"top-left":{x:o,y:u},"top-right":{x:s,y:u},"bottom-left":{x:o,y:f},"bottom-right":{x:s,y:f}}}function y9(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}function Vae(e,t,n){return e.clientX>=t.x&&e.clientX<=t.x+n.width&&e.clientY>=t.y&&e.clientY<=t.y+n.height}var Xae=class{constructor(e){N(this,"call");N(this,"options");N(this,"el");this.options={...qae,...e};let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let n=document.createElement("style");n.setAttribute("id",this.options.styleId),n.innerHTML=Wae(t);let r=document.head;r.childNodes.length>0?r.insertBefore(n,r.childNodes[0]):r.appendChild(n)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),(document.fullscreenElement??document.body).appendChild(this.el)),r==null||r===""){this.el.classList.remove("visible",`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add("visible",`${this.options.theme}-theme`);let{x:i,y:a}=this.options.anchor==="mark"?Gae(e,t,n,this.el.getBoundingClientRect(),this.options):m9(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${i}px`}};Lae.version;/*!
67
- * https://github.com/Starcounter-Jack/JSON-Patch
68
- * (c) 2017-2022 Joachim Wester
69
- * MIT licensed
70
- */var Yae=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var a in i)i.hasOwnProperty(a)&&(r[a]=i[a])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Jae=Object.prototype.hasOwnProperty;function Dx(e,t){return Jae.call(e,t)}function Fx(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n<t.length;n++)t[n]=""+n;return t}if(Object.keys)return Object.keys(e);var r=[];for(var i in e)Dx(e,i)&&r.push(i);return r}function On(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Cx(e){for(var t=0,n=e.length,r;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function Oo(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function v9(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function $x(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if($x(e[t]))return!0}else if(typeof e=="object"){for(var r=Fx(e),i=r.length,a=0;a<i;a++)if($x(e[r[a]]))return!0}}return!1}function b9(e,t){var n=[e];for(var r in t){var i=typeof t[r]=="object"?JSON.stringify(t[r],null,2):t[r];i!==void 0&&n.push(r+": "+i)}return n.join(`
71
- `)}var x9=(function(e){Yae(t,e);function t(n,r,i,a,o){var l=this.constructor,s=e.call(this,b9(n,{name:r,index:i,operation:a,tree:o}))||this;return s.name=r,s.index=i,s.operation=a,s.tree=o,Object.setPrototypeOf(s,l.prototype),s.message=b9(n,{name:r,index:i,operation:a,tree:o}),s}return t})(Error),tt=x9,Qae=On,Yl={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=fp(n,this.path);r&&(r=On(r));var i=Bo(n,{op:"remove",path:this.from}).removed;return Bo(n,{op:"add",path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=fp(n,this.from);return Bo(n,{op:"add",path:this.path,value:On(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:nc(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},Kae={add:function(e,t,n){return Cx(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:Yl.move,copy:Yl.copy,test:Yl.test,_get:Yl._get};function fp(e,t){if(t=="")return e;var n={op:"_get",path:t};return Bo(e,n),n.value}function Bo(e,t,n,r,i,a){if(n===void 0&&(n=!1),r===void 0&&(r=!0),i===void 0&&(i=!0),a===void 0&&(a=0),n&&(typeof n=="function"?n(t,0,e,t.path):hp(t,0)),t.path===""){var o={newDocument:e};if(t.op==="add")return o.newDocument=t.value,o;if(t.op==="replace")return o.newDocument=t.value,o.removed=e,o;if(t.op==="move"||t.op==="copy")return o.newDocument=fp(e,t.from),t.op==="move"&&(o.removed=e),o;if(t.op==="test"){if(o.test=nc(e,t.value),o.test===!1)throw new tt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o.newDocument=e,o}else{if(t.op==="remove")return o.removed=e,o.newDocument=null,o;if(t.op==="_get")return t.value=e,o;if(n)throw new tt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return o}}else{r||(e=On(e));var l=(t.path||"").split("/"),s=e,u=1,c=l.length,f=void 0,d=void 0,h=void 0;for(h=typeof n=="function"?n:hp;;){if(d=l[u],d&&d.indexOf("~")!=-1&&(d=v9(d)),i&&(d=="__proto__"||d=="prototype"&&u>0&&l[u-1]=="constructor"))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&f===void 0&&(s[d]===void 0?f=l.slice(0,u).join("/"):u==c-1&&(f=t.path),f!==void 0&&h(t,0,e,f)),u++,Array.isArray(s)){if(d==="-")d=s.length;else{if(n&&!Cx(d))throw new tt("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Cx(d)&&(d=~~d)}if(u>=c){if(n&&t.op==="add"&&d>s.length)throw new tt("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=Kae[t.op].call(t,s,d,e);if(o.test===!1)throw new tt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(u>=c){var o=Yl[t.op].call(t,s,d,e);if(o.test===!1)throw new tt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(s=s[d],n&&u<c&&(!s||typeof s!="object"))throw new tt("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}function dp(e,t,n,r,i){if(r===void 0&&(r=!0),i===void 0&&(i=!0),n&&!Array.isArray(t))throw new tt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=On(e));for(var a=Array(t.length),o=0,l=t.length;o<l;o++)a[o]=Bo(e,t[o],n,!0,i,o),e=a[o].newDocument;return a.newDocument=e,a}function Zae(e,t,n){var r=Bo(e,t);if(r.test===!1)throw new tt("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function hp(e,t,n,r){if(typeof e!="object"||!e||Array.isArray(e))throw new tt("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if(Yl[e.op]){if(typeof e.path!="string")throw new tt("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new tt('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new tt("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new tt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&$x(e.value))throw new tt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n){if(e.op=="add"){var i=e.path.split("/").length,a=r.split("/").length;if(i!==a+1&&i!==a)throw new tt("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new tt("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var o=w9([{op:"_get",path:e.from,value:void 0}],n);if(o&&o.name==="OPERATION_PATH_UNRESOLVABLE")throw new tt("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new tt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}function w9(e,t,n){try{if(!Array.isArray(e))throw new tt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)dp(On(t),On(e),n||!0);else{n||(n=hp);for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(i){if(i instanceof tt)return i;throw i}}function nc(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=Array.isArray(e),r=Array.isArray(t),i,a,o;if(n&&r){if(a=e.length,a!=t.length)return!1;for(i=a;i--!==0;)if(!nc(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var l=Object.keys(e);if(a=l.length,a!==Object.keys(t).length)return!1;for(i=a;i--!==0;)if(!t.hasOwnProperty(l[i]))return!1;for(i=a;i--!==0;)if(o=l[i],!nc(e[o],t[o]))return!1;return!0}return e!==e&&t!==t}var eoe=Object.freeze({__proto__:null,JsonPatchError:tt,_areEquals:nc,applyOperation:Bo,applyPatch:dp,applyReducer:Zae,deepClone:Qae,getValueByPointer:fp,validate:w9,validator:hp}),Sx=new WeakMap,toe=(function(){function e(t){this.observers=new Map,this.obj=t}return e})(),noe=(function(){function e(t,n){this.callback=t,this.observer=n}return e})();function roe(e){return Sx.get(e)}function ioe(e,t){return e.observers.get(t)}function aoe(e,t){e.observers.delete(t.callback)}function ooe(e,t){t.unobserve()}function loe(e,t){var n=[],r,i=roe(e);if(!i)i=new toe(e),Sx.set(e,i);else{var a=ioe(i,t);r=a&&a.observer}if(r)return r;if(r={},i.value=On(e),t){r.callback=t,r.next=null;var o=function(){Mx(r)},l=function(){clearTimeout(r.next),r.next=setTimeout(o)};typeof window<"u"&&(window.addEventListener("mouseup",l),window.addEventListener("keyup",l),window.addEventListener("mousedown",l),window.addEventListener("keydown",l),window.addEventListener("change",l))}return r.patches=n,r.object=e,r.unobserve=function(){Mx(r),clearTimeout(r.next),aoe(i,r),typeof window<"u"&&(window.removeEventListener("mouseup",l),window.removeEventListener("keyup",l),window.removeEventListener("mousedown",l),window.removeEventListener("keydown",l),window.removeEventListener("change",l))},i.observers.set(t,new noe(t,r)),r}function Mx(e,t){t===void 0&&(t=!1);var n=Sx.get(e.object);Ox(n.value,e.object,e.patches,"",t),e.patches.length&&dp(n.value,e.patches);var r=e.patches;return r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function Ox(e,t,n,r,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=Fx(t),o=Fx(e),l=!1,s=o.length-1;s>=0;s--){var u=o[s],c=e[u];if(Dx(t,u)&&!(t[u]===void 0&&c!==void 0&&Array.isArray(t)===!1)){var f=t[u];typeof c=="object"&&c&&typeof f=="object"&&f&&Array.isArray(c)===Array.isArray(f)?Ox(c,f,n,r+"/"+Oo(u),i):c!==f&&(i&&n.push({op:"test",path:r+"/"+Oo(u),value:On(c)}),n.push({op:"replace",path:r+"/"+Oo(u),value:On(f)}))}else Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+Oo(u),value:On(c)}),n.push({op:"remove",path:r+"/"+Oo(u)}),l=!0):(i&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(!(!l&&a.length==o.length))for(var s=0;s<a.length;s++){var u=a[s];!Dx(e,u)&&t[u]!==void 0&&n.push({op:"add",path:r+"/"+Oo(u),value:On(t[u])})}}}function soe(e,t,n){n===void 0&&(n=!1);var r=[];return Ox(e,t,r,"",n),r}var uoe=Object.freeze({__proto__:null,compare:soe,generate:Mx,observe:loe,unobserve:ooe});Object.assign({},eoe,uoe,{JsonPatchError:x9,deepClone:On,escapePathComponent:Oo,unescapePathComponent:v9});function coe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bx,A9;function foe(){if(A9)return Bx;A9=1;class e{constructor(){this.max=1e3,this.map=new Map}get(n){let r=this.map.get(n);if(r!==void 0)return this.map.delete(n),this.map.set(n,r),r}delete(n){return this.map.delete(n)}set(n,r){if(!this.delete(n)&&r!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(n,r)}return this}}return Bx=e,Bx}var zx,E9;function Nx(){if(E9)return zx;E9=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return zx=n=>n?typeof n=="object"?n:e:t,zx}var pp={exports:{}},Rx,k9;function Tx(){return k9||(k9=1,Rx={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}),Rx}var Lx,_9;function mp(){return _9||(_9=1,Lx=typeof process=="object"&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),Lx}var D9;function Px(){return D9||(D9=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=Tx(),a=mp();t=e.exports={};let o=t.re=[],l=t.safeRe=[],s=t.src=[],u=t.safeSrc=[],c=t.t={},f=0,d="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[d,r]],p=g=>{for(let[y,v]of h)g=g.split(`${y}*`).join(`${y}{0,${v}}`).split(`${y}+`).join(`${y}{1,${v}}`);return g},m=(g,y,v)=>{let b=p(y),w=f++;a(g,w,y),c[g]=w,s[w]=y,u[w]=b,o[w]=new RegExp(y,v?"g":void 0),l[w]=new RegExp(b,v?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),m("MAINVERSION",`(${s[c.NUMERICIDENTIFIER]})\\.(${s[c.NUMERICIDENTIFIER]})\\.(${s[c.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${s[c.NUMERICIDENTIFIERLOOSE]})\\.(${s[c.NUMERICIDENTIFIERLOOSE]})\\.(${s[c.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${s[c.NONNUMERICIDENTIFIER]}|${s[c.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${s[c.NONNUMERICIDENTIFIER]}|${s[c.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${s[c.PRERELEASEIDENTIFIER]}(?:\\.${s[c.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${s[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[c.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${d}+`),m("BUILD",`(?:\\+(${s[c.BUILDIDENTIFIER]}(?:\\.${s[c.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${s[c.MAINVERSION]}${s[c.PRERELEASE]}?${s[c.BUILD]}?`),m("FULL",`^${s[c.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${s[c.MAINVERSIONLOOSE]}${s[c.PRERELEASELOOSE]}?${s[c.BUILD]}?`),m("LOOSE",`^${s[c.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${s[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${s[c.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${s[c.XRANGEIDENTIFIER]})(?:\\.(${s[c.XRANGEIDENTIFIER]})(?:\\.(${s[c.XRANGEIDENTIFIER]})(?:${s[c.PRERELEASE]})?${s[c.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${s[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[c.XRANGEIDENTIFIERLOOSE]})(?:${s[c.PRERELEASELOOSE]})?${s[c.BUILD]}?)?)?`),m("XRANGE",`^${s[c.GTLT]}\\s*${s[c.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${s[c.GTLT]}\\s*${s[c.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),m("COERCE",`${s[c.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",s[c.COERCEPLAIN]+`(?:${s[c.PRERELEASE]})?(?:${s[c.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",s[c.COERCE],!0),m("COERCERTLFULL",s[c.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${s[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${s[c.LONETILDE]}${s[c.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${s[c.LONETILDE]}${s[c.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${s[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${s[c.LONECARET]}${s[c.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${s[c.LONECARET]}${s[c.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${s[c.GTLT]}\\s*(${s[c.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${s[c.GTLT]}\\s*(${s[c.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${s[c.GTLT]}\\s*(${s[c.LOOSEPLAIN]}|${s[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${s[c.XRANGEPLAIN]})\\s+-\\s+(${s[c.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${s[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[c.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(pp,pp.exports)),pp.exports}var Ix,F9;function doe(){if(F9)return Ix;F9=1;let e=/^[0-9]+$/,t=(n,r)=>{let i=e.test(n),a=e.test(r);return i&&a&&(n=+n,r=+r),n===r?0:i&&!a?-1:a&&!i?1:n<r?-1:1};return Ix={compareIdentifiers:t,rcompareIdentifiers:(n,r)=>t(r,n)},Ix}var jx,C9;function qx(){if(C9)return jx;C9=1;let e=mp(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Tx(),{safeRe:r,t:i}=Px(),a=Nx(),{compareIdentifiers:o}=doe();class l{constructor(u,c){if(c=a(c),u instanceof l){if(u.loose===!!c.loose&&u.includePrerelease===!!c.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>t)throw TypeError(`version is longer than ${t} characters`);e("SemVer",u,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let f=u.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!f)throw TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+f[1],this.minor=+f[2],this.patch=+f[3],this.major>n||this.major<0)throw TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(d=>{if(/^[0-9]+$/.test(d)){let h=+d;if(h>=0&&h<n)return h}return d}):this.prerelease=[],this.build=f[5]?f[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(e("SemVer.compare",this.version,this.options,u),!(u instanceof l)){if(typeof u=="string"&&u===this.version)return 0;u=new l(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof l||(u=new l(u,this.options)),o(this.major,u.major)||o(this.minor,u.minor)||o(this.patch,u.patch)}comparePre(u){if(u instanceof l||(u=new l(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let c=0;do{let f=this.prerelease[c],d=u.prerelease[c];if(e("prerelease compare",c,f,d),f===void 0&&d===void 0)return 0;if(d===void 0)return 1;if(f===void 0)return-1;if(f!==d)return o(f,d)}while(++c)}compareBuild(u){u instanceof l||(u=new l(u,this.options));let c=0;do{let f=this.build[c],d=u.build[c];if(e("build compare",c,f,d),f===void 0&&d===void 0)return 0;if(d===void 0)return 1;if(f===void 0)return-1;if(f!==d)return o(f,d)}while(++c)}inc(u,c,f){if(u.startsWith("pre")){if(!c&&f===!1)throw Error("invalid increment argument: identifier is empty");if(c){let d=`-${c}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!d||d[1]!==c)throw Error(`invalid identifier: ${c}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",c,f);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",c,f);break;case"prepatch":this.prerelease.length=0,this.inc("patch",c,f),this.inc("pre",c,f);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",c,f),this.inc("pre",c,f);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let d=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[d];else{let h=this.prerelease.length;for(;--h>=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);if(h===-1){if(c===this.prerelease.join(".")&&f===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(d)}}if(c){let h=[c,d];f===!1&&(h=[c]),o(this.prerelease[0],c)===0?isNaN(this.prerelease[1])&&(this.prerelease=h):this.prerelease=h}break}default:throw Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return jx=l,jx}var Ux,$9;function Jl(){if($9)return Ux;$9=1;let e=qx();return Ux=(t,n,r)=>new e(t,r).compare(new e(n,r)),Ux}var Wx,S9;function hoe(){if(S9)return Wx;S9=1;let e=Jl();return Wx=(t,n,r)=>e(t,n,r)===0,Wx}var Gx,M9;function poe(){if(M9)return Gx;M9=1;let e=Jl();return Gx=(t,n,r)=>e(t,n,r)!==0,Gx}var Hx,O9;function moe(){if(O9)return Hx;O9=1;let e=Jl();return Hx=(t,n,r)=>e(t,n,r)>0,Hx}var Vx,B9;function goe(){if(B9)return Vx;B9=1;let e=Jl();return Vx=(t,n,r)=>e(t,n,r)>=0,Vx}var Xx,z9;function yoe(){if(z9)return Xx;z9=1;let e=Jl();return Xx=(t,n,r)=>e(t,n,r)<0,Xx}var Yx,N9;function voe(){if(N9)return Yx;N9=1;let e=Jl();return Yx=(t,n,r)=>e(t,n,r)<=0,Yx}var Jx,R9;function boe(){if(R9)return Jx;R9=1;let e=hoe(),t=poe(),n=moe(),r=goe(),i=yoe(),a=voe();return Jx=(o,l,s,u)=>{switch(l){case"===":return typeof o=="object"&&(o=o.version),typeof s=="object"&&(s=s.version),o===s;case"!==":return typeof o=="object"&&(o=o.version),typeof s=="object"&&(s=s.version),o!==s;case"":case"=":case"==":return e(o,s,u);case"!=":return t(o,s,u);case">":return n(o,s,u);case">=":return r(o,s,u);case"<":return i(o,s,u);case"<=":return a(o,s,u);default:throw TypeError(`Invalid operator: ${l}`)}},Jx}var Qx,T9;function xoe(){if(T9)return Qx;T9=1;let e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(c,f){if(f=n(f),c instanceof t){if(c.loose===!!f.loose)return c;c=c.value}c=c.trim().split(/\s+/).join(" "),o("comparator",c,f),this.options=f,this.loose=!!f.loose,this.parse(c),this.semver===e?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(c){let f=this.options.loose?r[i.COMPARATORLOOSE]:r[i.COMPARATOR],d=c.match(f);if(!d)throw TypeError(`Invalid comparator: ${c}`);this.operator=d[1]===void 0?"":d[1],this.operator==="="&&(this.operator=""),d[2]?this.semver=new l(d[2],this.options.loose):this.semver=e}toString(){return this.value}test(c){if(o("Comparator.test",c,this.options.loose),this.semver===e||c===e)return!0;if(typeof c=="string")try{c=new l(c,this.options)}catch{return!1}return a(c,this.operator,this.semver,this.options)}intersects(c,f){if(!(c instanceof t))throw TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new s(c.value,f).test(this.value):c.operator===""?c.value===""?!0:new s(this.value,f).test(c.semver):(f=n(f),f.includePrerelease&&(this.value==="<0.0.0-0"||c.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||c.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&c.operator.startsWith(">")||this.operator.startsWith("<")&&c.operator.startsWith("<")||this.semver.version===c.semver.version&&this.operator.includes("=")&&c.operator.includes("=")||a(this.semver,"<",c.semver,f)&&this.operator.startsWith(">")&&c.operator.startsWith("<")||a(this.semver,">",c.semver,f)&&this.operator.startsWith("<")&&c.operator.startsWith(">")))}}Qx=t;let n=Nx(),{safeRe:r,t:i}=Px(),a=boe(),o=mp(),l=qx(),s=P9();return Qx}var Kx,L9;function P9(){if(L9)return Kx;L9=1;let e=/\s+/g;class t{constructor(M,D){if(D=r(D),M instanceof t)return M.loose===!!D.loose&&M.includePrerelease===!!D.includePrerelease?M:new t(M.raw,D);if(M instanceof i)return this.raw=M.value,this.set=[[M]],this.formatted=void 0,this;if(this.options=D,this.loose=!!D.loose,this.includePrerelease=!!D.includePrerelease,this.raw=M.trim().replace(e," "),this.set=this.raw.split("||").map(S=>this.parseRange(S.trim())).filter(S=>S.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let S=this.set[0];if(this.set=this.set.filter(L=>!p(L[0])),this.set.length===0)this.set=[S];else if(this.set.length>1){for(let L of this.set)if(L.length===1&&m(L[0])){this.set=[L];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let M=0;M<this.set.length;M++){M>0&&(this.formatted+="||");let D=this.set[M];for(let S=0;S<D.length;S++)S>0&&(this.formatted+=" "),this.formatted+=D[S].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(M){let D=((this.options.includePrerelease&&d)|(this.options.loose&&h))+":"+M,S=n.get(D);if(S)return S;let L=this.options.loose,U=L?l[s.HYPHENRANGELOOSE]:l[s.HYPHENRANGE];M=M.replace(U,$(this.options.includePrerelease)),a("hyphen replace",M),M=M.replace(l[s.COMPARATORTRIM],u),a("comparator trim",M),M=M.replace(l[s.TILDETRIM],c),a("tilde trim",M),M=M.replace(l[s.CARETTRIM],f),a("caret trim",M);let H=M.split(" ").map(be=>y(be,this.options)).join(" ").split(/\s+/).map(be=>F(be,this.options));L&&(H=H.filter(be=>(a("loose invalid filter",be,this.options),!!be.match(l[s.COMPARATORLOOSE])))),a("range list",H);let ae=new Map,fe=H.map(be=>new i(be,this.options));for(let be of fe){if(p(be))return[be];ae.set(be.value,be)}ae.size>1&&ae.has("")&&ae.delete("");let Fe=[...ae.values()];return n.set(D,Fe),Fe}intersects(M,D){if(!(M instanceof t))throw TypeError("a Range is required");return this.set.some(S=>g(S,D)&&M.set.some(L=>g(L,D)&&S.every(U=>L.every(H=>U.intersects(H,D)))))}test(M){if(!M)return!1;if(typeof M=="string")try{M=new o(M,this.options)}catch{return!1}for(let D=0;D<this.set.length;D++)if(R(this.set[D],M,this.options))return!0;return!1}}Kx=t;let n=new(foe()),r=Nx(),i=xoe(),a=mp(),o=qx(),{safeRe:l,t:s,comparatorTrimReplace:u,tildeTrimReplace:c,caretTrimReplace:f}=Px(),{FLAG_INCLUDE_PRERELEASE:d,FLAG_LOOSE:h}=Tx(),p=C=>C.value==="<0.0.0-0",m=C=>C.value==="",g=(C,M)=>{let D=!0,S=C.slice(),L=S.pop();for(;D&&S.length;)D=S.every(U=>L.intersects(U,M)),L=S.pop();return D},y=(C,M)=>(a("comp",C,M),C=A(C,M),a("caret",C),C=b(C,M),a("tildes",C),C=x(C,M),a("xrange",C),C=_(C,M),a("stars",C),C),v=C=>!C||C.toLowerCase()==="x"||C==="*",b=(C,M)=>C.trim().split(/\s+/).map(D=>w(D,M)).join(" "),w=(C,M)=>{let D=M.loose?l[s.TILDELOOSE]:l[s.TILDE];return C.replace(D,(S,L,U,H,ae)=>{a("tilde",C,S,L,U,H,ae);let fe;return v(L)?fe="":v(U)?fe=`>=${L}.0.0 <${+L+1}.0.0-0`:v(H)?fe=`>=${L}.${U}.0 <${L}.${+U+1}.0-0`:ae?(a("replaceTilde pr",ae),fe=`>=${L}.${U}.${H}-${ae} <${L}.${+U+1}.0-0`):fe=`>=${L}.${U}.${H} <${L}.${+U+1}.0-0`,a("tilde return",fe),fe})},A=(C,M)=>C.trim().split(/\s+/).map(D=>E(D,M)).join(" "),E=(C,M)=>{a("caret",C,M);let D=M.loose?l[s.CARETLOOSE]:l[s.CARET],S=M.includePrerelease?"-0":"";return C.replace(D,(L,U,H,ae,fe)=>{a("caret",C,L,U,H,ae,fe);let Fe;return v(U)?Fe="":v(H)?Fe=`>=${U}.0.0${S} <${+U+1}.0.0-0`:v(ae)?Fe=U==="0"?`>=${U}.${H}.0${S} <${U}.${+H+1}.0-0`:`>=${U}.${H}.0${S} <${+U+1}.0.0-0`:fe?(a("replaceCaret pr",fe),Fe=U==="0"?H==="0"?`>=${U}.${H}.${ae}-${fe} <${U}.${H}.${+ae+1}-0`:`>=${U}.${H}.${ae}-${fe} <${U}.${+H+1}.0-0`:`>=${U}.${H}.${ae}-${fe} <${+U+1}.0.0-0`):(a("no pr"),Fe=U==="0"?H==="0"?`>=${U}.${H}.${ae}${S} <${U}.${H}.${+ae+1}-0`:`>=${U}.${H}.${ae}${S} <${U}.${+H+1}.0-0`:`>=${U}.${H}.${ae} <${+U+1}.0.0-0`),a("caret return",Fe),Fe})},x=(C,M)=>(a("replaceXRanges",C,M),C.split(/\s+/).map(D=>k(D,M)).join(" ")),k=(C,M)=>{C=C.trim();let D=M.loose?l[s.XRANGELOOSE]:l[s.XRANGE];return C.replace(D,(S,L,U,H,ae,fe)=>{a("xRange",C,S,L,U,H,ae,fe);let Fe=v(U),be=Fe||v(H),ln=be||v(ae),Pt=ln;return L==="="&&Pt&&(L=""),fe=M.includePrerelease?"-0":"",Fe?S=L===">"||L==="<"?"<0.0.0-0":"*":L&&Pt?(be&&(H=0),ae=0,L===">"?(L=">=",be?(U=+U+1,H=0,ae=0):(H=+H+1,ae=0)):L==="<="&&(L="<",be?U=+U+1:H=+H+1),L==="<"&&(fe="-0"),S=`${L+U}.${H}.${ae}${fe}`):be?S=`>=${U}.0.0${fe} <${+U+1}.0.0-0`:ln&&(S=`>=${U}.${H}.0${fe} <${U}.${+H+1}.0-0`),a("xRange return",S),S})},_=(C,M)=>(a("replaceStars",C,M),C.trim().replace(l[s.STAR],"")),F=(C,M)=>(a("replaceGTE0",C,M),C.trim().replace(l[M.includePrerelease?s.GTE0PRE:s.GTE0],"")),$=C=>(M,D,S,L,U,H,ae,fe,Fe,be,ln,Pt)=>(D=v(S)?"":v(L)?`>=${S}.0.0${C?"-0":""}`:v(U)?`>=${S}.${L}.0${C?"-0":""}`:H?`>=${D}`:`>=${D}${C?"-0":""}`,fe=v(Fe)?"":v(be)?`<${+Fe+1}.0.0-0`:v(ln)?`<${Fe}.${+be+1}.0-0`:Pt?`<=${Fe}.${be}.${ln}-${Pt}`:C?`<${Fe}.${be}.${+ln+1}-0`:`<=${fe}`,`${D} ${fe}`.trim()),R=(C,M,D)=>{for(let S=0;S<C.length;S++)if(!C[S].test(M))return!1;if(M.prerelease.length&&!D.includePrerelease){for(let S=0;S<C.length;S++)if(a(C[S].semver),C[S].semver!==i.ANY&&C[S].semver.prerelease.length>0){let L=C[S].semver;if(L.major===M.major&&L.minor===M.minor&&L.patch===M.patch)return!0}return!1}return!0};return Kx}var Zx,I9;function woe(){if(I9)return Zx;I9=1;let e=P9();return Zx=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},Zx}var j9=coe(woe());function Aoe(e,t,n){let r=e.open(t),{origin:i}=new URL(t),a=40;function o(s){s.source===r&&(a=0,e.removeEventListener("message",o,!1))}e.addEventListener("message",o,!1);function l(){a<=0||(r.postMessage(n,i),setTimeout(l,250),--a)}setTimeout(l,250)}var Eoe=`.vega-embed {
72
- position: relative;
73
- display: inline-block;
74
- box-sizing: border-box;
75
- }
76
- .vega-embed.has-actions {
77
- padding-right: 38px;
78
- }
79
- .vega-embed details:not([open]) > :not(summary) {
80
- display: none !important;
81
- }
82
- .vega-embed summary {
83
- list-style: none;
84
- position: absolute;
85
- top: 0;
86
- right: 0;
87
- padding: 6px;
88
- z-index: 1000;
89
- background: white;
90
- box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
91
- color: #1b1e23;
92
- border: 1px solid #aaa;
93
- border-radius: 999px;
94
- opacity: 0.2;
95
- transition: opacity 0.4s ease-in;
96
- cursor: pointer;
97
- line-height: 0px;
98
- }
99
- .vega-embed summary::-webkit-details-marker {
100
- display: none;
101
- }
102
- .vega-embed summary:active {
103
- box-shadow: #aaa 0px 0px 0px 1px inset;
104
- }
105
- .vega-embed summary svg {
106
- width: 14px;
107
- height: 14px;
108
- }
109
- .vega-embed details[open] summary {
110
- opacity: 0.7;
111
- }
112
- .vega-embed:hover summary, .vega-embed:focus-within summary {
113
- opacity: 1 !important;
114
- transition: opacity 0.2s ease;
115
- }
116
- .vega-embed .vega-actions {
117
- position: absolute;
118
- z-index: 1001;
119
- top: 35px;
120
- right: -9px;
121
- display: flex;
122
- flex-direction: column;
123
- padding-bottom: 8px;
124
- padding-top: 8px;
125
- border-radius: 4px;
126
- box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
127
- border: 1px solid #d9d9d9;
128
- background: white;
129
- animation-duration: 0.15s;
130
- animation-name: scale-in;
131
- animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
132
- text-align: left;
133
- }
134
- .vega-embed .vega-actions a {
135
- padding: 8px 16px;
136
- font-family: sans-serif;
137
- font-size: 14px;
138
- font-weight: 600;
139
- white-space: nowrap;
140
- color: #434a56;
141
- text-decoration: none;
142
- }
143
- .vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {
144
- background-color: #f7f7f9;
145
- color: black;
146
- }
147
- .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {
148
- content: "";
149
- display: inline-block;
150
- position: absolute;
151
- }
152
- .vega-embed .vega-actions::before {
153
- left: auto;
154
- right: 14px;
155
- top: -16px;
156
- border: 8px solid rgba(0, 0, 0, 0);
157
- border-bottom-color: #d9d9d9;
158
- }
159
- .vega-embed .vega-actions::after {
160
- left: auto;
161
- right: 15px;
162
- top: -14px;
163
- border: 7px solid rgba(0, 0, 0, 0);
164
- border-bottom-color: #fff;
165
- }
166
- .vega-embed .chart-wrapper.fit-x {
167
- width: 100%;
168
- }
169
- .vega-embed .chart-wrapper.fit-y {
170
- height: 100%;
171
- }
172
-
173
- .vega-embed-wrapper {
174
- max-width: 100%;
175
- overflow: auto;
176
- padding-right: 14px;
177
- }
178
-
179
- @keyframes scale-in {
180
- from {
181
- opacity: 0;
182
- transform: scale(0.6);
183
- }
184
- to {
185
- opacity: 1;
186
- transform: scale(1);
187
- }
188
- }
189
- `;function q9(e,...t){for(let n of t)koe(e,n);return e}function koe(e,t){for(let n of Object.keys(t))q2(e,n,t[n],!0)}var ei=rY,rc=BJ,gp=typeof window<"u"?window:void 0;rc===void 0&&((K9=gp==null?void 0:gp.vl)!=null&&K9.compile)&&(rc=gp.vl);var _oe={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},Doe={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},ic={vega:"Vega","vega-lite":"Vega-Lite"},yp={vega:ei.version,"vega-lite":rc?rc.version:"not available"},Foe={vega:e=>e,"vega-lite":(e,t,n)=>rc.compile(e,{config:n,logger:t}).spec},Coe=`
190
- <svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
191
- <circle r="2" cy="8" cx="2"></circle>
192
- <circle r="2" cy="8" cx="8"></circle>
193
- <circle r="2" cy="8" cx="14"></circle>
194
- </svg>`,$oe="chart-wrapper";function Soe(e){return typeof e=="function"}function U9(e,t,n,r){let i=`<html><head>${t}</head><body><pre><code class="json">`,a=`</code></pre>${n}</body></html>`,o=window.open("");o.document.write(i+e+a),o.document.title=`${ic[r]} JSON Source`}function Moe(e,t,n){if(e.$schema){let r=X8(e.$schema);n&&n!==r.library&&t.warn(`The given visualization spec is written in ${ic[r.library]}, but mode argument sets ${ic[n]??n}.`);let i=r.library;return j9(yp[i],`^${r.version.slice(1)}`)||t.warn(`The input spec uses ${ic[i]} ${r.version}, but the current version of ${ic[i]} is v${yp[i]}.`),i}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":n??"vega"}function W9(e){return!!(e&&"load"in e)}function G9(e){return W9(e)?e:ei.loader(e)}function Ooe(e){var n;let t=((n=e.usermeta)==null?void 0:n.embedOptions)??{};return Ee(t.defaultStyle)&&(t.defaultStyle=!1),t}async function Boe(e,t,n={}){let r,i;Ee(t)?(i=G9(n.loader),r=JSON.parse(await i.load(t))):r=t;let a=Ooe(r),o=a.loader;(!i||o)&&(i=G9(n.loader??o));let l=await H9(a,i),s=await H9(n,i),u={...q9(s,l),config:lc(s.config??{},l.config??{})};return await Noe(e,r,u,i)}async function H9(e,t){let n=Ee(e.config)?JSON.parse(await t.load(e.config)):e.config??{},r=Ee(e.patch)?JSON.parse(await t.load(e.patch)):e.patch;return{...e,...r?{patch:r}:{},...n?{config:n}:{}}}function zoe(e){let t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}async function Noe(e,t,n={},r){let i=n.theme?lc(tae[n.theme],n.config??{}):n.config,a=Bp(n.actions)?n.actions:q9({},_oe,n.actions??{}),o={...Doe,...n.i18n},l=n.renderer??"svg",s=n.logger??Cp(ei.Warn);n.logLevel!==void 0&&s.level(n.logLevel);let u=n.downloadFileName??"visualization",c=typeof e=="string"?document.querySelector(e):e;if(!c)throw Error(`${e} does not exist`);if(n.defaultStyle!==!1){let A="vega-embed-style",{root:E,rootContainer:x}=zoe(c);if(!E.getElementById(A)){let k=document.createElement("style");k.id=A,k.innerHTML=n.defaultStyle===void 0||n.defaultStyle===!0?Eoe.toString():n.defaultStyle,x.appendChild(k)}}let f=Moe(t,s,n.mode),d=Foe[f](t,s,i);if(f==="vega-lite"&&d.$schema){let A=X8(d.$schema);j9(yp.vega,`^${A.version.slice(1)}`)||s.warn(`The compiled spec uses Vega ${A.version}, but current version is v${yp.vega}.`)}c.classList.add("vega-embed"),a&&c.classList.add("has-actions"),c.innerHTML="";let h=c;if(a){let A=document.createElement("div");A.classList.add($oe),c.appendChild(A),h=A}let p=n.patch;if(p&&(d=p instanceof Function?p(d):dp(d,p,!0,!1).newDocument),n.formatLocale&&ei.formatLocale(n.formatLocale),n.timeFormatLocale&&ei.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(let A in n.expressionFunctions){let E=n.expressionFunctions[A];"fn"in E?ei.expressionFunction(A,E.fn,E.visitor):E instanceof Function&&ei.expressionFunction(A,E)}let{ast:m}=n,g=ei.parse(d,f==="vega-lite"?{}:i,{ast:m}),y=new(n.viewClass||ei.View)(g,{loader:r,logger:s,renderer:l,...m?{expr:ei.expressionInterpreter??n.expr??pY}:{}});if(y.addSignalListener("autosize",(A,E)=>{let{type:x}=E;x=="fit-x"?(h.classList.add("fit-x"),h.classList.remove("fit-y")):x=="fit-y"?(h.classList.remove("fit-x"),h.classList.add("fit-y")):x=="fit"?h.classList.add("fit-x","fit-y"):h.classList.remove("fit-x","fit-y")}),n.tooltip!==!1){let{loader:A,tooltip:E}=n,x=A&&!W9(A)?A==null?void 0:A.baseURL:void 0,k=Soe(E)?E:new Xae({baseURL:x,...E===!0?{}:E}).call;y.tooltip(k)}let{hover:v}=n;if(v===void 0&&(v=f==="vega"),v){let{hoverSet:A,updateSet:E}=typeof v=="boolean"?{}:v;y.hover(A,E)}n&&(n.width!=null&&y.width(n.width),n.height!=null&&y.height(n.height),n.padding!=null&&y.padding(n.padding)),await y.initialize(h,n.bind).runAsync();let b;if(a!==!1){let A=c;if(n.defaultStyle!==!1||n.forceActionsMenu){let x=document.createElement("details");x.title=o.CLICK_TO_VIEW_ACTIONS,c.append(x),A=x;let k=document.createElement("summary");k.innerHTML=Coe,x.append(k),b=_=>{x.contains(_.target)||x.removeAttribute("open")},document.addEventListener("click",b)}let E=document.createElement("div");if(A.append(E),E.classList.add("vega-actions"),a===!0||a.export!==!1){for(let x of["svg","png"])if(a===!0||a.export===!0||a.export[x]){let k=o[`${x.toUpperCase()}_ACTION`],_=document.createElement("a"),F=ce(n.scaleFactor)?n.scaleFactor[x]:n.scaleFactor;_.text=k,_.href="#",_.target="_blank",_.download=`${u}.${x}`,_.addEventListener("mousedown",async function($){$.preventDefault(),this.href=await y.toImageURL(x,F)}),E.append(_)}}if(a===!0||a.source!==!1){let x=document.createElement("a");x.text=o.SOURCE_ACTION,x.href="#",x.addEventListener("click",function(k){U9(Xp(t),n.sourceHeader??"",n.sourceFooter??"",f),k.preventDefault()}),E.append(x)}if(f==="vega-lite"&&(a===!0||a.compiled!==!1)){let x=document.createElement("a");x.text=o.COMPILED_ACTION,x.href="#",x.addEventListener("click",function(k){U9(Xp(d),n.sourceHeader??"",n.sourceFooter??"","vega"),k.preventDefault()}),E.append(x)}if(a===!0||a.editor!==!1){let x=n.editorUrl??"https://vega.github.io/editor/",k=document.createElement("a");k.text=o.EDITOR_ACTION,k.href="#",k.addEventListener("click",function(_){Aoe(window,x,{config:i,mode:p?"vega":f,renderer:l,spec:Xp(p?d:t)}),_.preventDefault()}),E.append(k)}}function w(){b&&document.removeEventListener("click",b),y.finalize()}return{view:y,spec:t,vgSpec:d,finalize:w,embedOptions:n}}var Roe=m2(D4(),1),zo=m2(_4(),1);function Toe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V9,X9;function Loe(){return X9||(X9=1,V9=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}),V9}var Poe=Toe(Loe());function Y9(e){let[t,n]=zo.useState(null),{ref:r,spec:i,onEmbed:a,onError:o,options:l={}}=e;return Ioe(()=>{let s=!1,u=null;return(async()=>{if(!(!r.current||s))try{if(u=await Boe(r.current,i,l),s){u.finalize();return}n(u),a==null||a(u)}catch(c){console.error(`[react-vega] Error creating view: ${c}`),o==null||o(c)}})(),()=>{s=!0,u==null||u.finalize()}},[i,l]),t}function Ioe(e,t){let n=zo.useRef(null),r=zo.useRef(0);(!n.current||!Poe(t,n.current))&&(r.current+=1),n.current=t,zo.useEffect(e,[r.current])}var J9=zo.forwardRef((e,t)=>{let{spec:n,options:r,onEmbed:i,onError:a,...o}=e,l=zo.useRef(null);return zo.useImperativeHandle(t,()=>{if(!l.current)throw Error("VegaEmbed: ref is not attached to a div element");return l.current},[]),Y9({ref:l,spec:n,onEmbed:i,onError:a,options:r}),(0,Roe.jsx)("div",{ref:l,...o})});J9.displayName="VegaEmbed";export{he as i,J9 as n,V8 as r,Y9 as t};