@marimo-team/frontend 0.25.2-dev100 → 0.25.2-dev102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-Bj7PvY_u.js → CellStatus-DEnVlt3u.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-C5UW0p9I.js → ConnectedDataExplorerComponent-DJz5EQpA.js} +1 -1
- package/dist/assets/{ErrorBoundary-CG6gtgym.js → ErrorBoundary-Do-5LLlk.js} +2 -2
- package/dist/assets/{I18nProvider-BFOBKCJB.js → I18nProvider-Cg2I_s1_.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-pCLPT6RA.js → ImageComparisonComponent-Bq-l26rq.js} +1 -1
- package/dist/assets/{Inputs-BlygJyl1.js → Inputs-BsQm29hD.js} +1 -1
- package/dist/assets/{JsonOutput-DCGUcLVV.js → JsonOutput-D6m0Rqdl.js} +6 -6
- package/dist/assets/{LazyAnyLanguageCodeMirror-CeTd_wFt.js → LazyAnyLanguageCodeMirror-CUdgB3pm.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-BEsxXqp6.js → MarimoErrorOutput-olGSMy4q.js} +1 -1
- package/dist/assets/{Plot-CNtRAZBG.js → Plot-B8w5_jU-.js} +1 -1
- package/dist/assets/{RenderHTML-C7QcdAgB.js → RenderHTML-BXeo3yt2.js} +1 -1
- package/dist/assets/{RunButton-A__3wcpF.js → RunButton-8Ejs4Lko.js} +1 -1
- package/dist/assets/__vite-browser-external-CYO_P3S8.js +1 -0
- package/dist/assets/__vite-browser-external-FeDVGZU8.js +1 -0
- package/dist/assets/{abnfDiagram-VCTEODGH-BuHNQB7l.js → abnfDiagram-VCTEODGH-3eD1PSvc.js} +1 -1
- package/dist/assets/add-cell-with-ai-BPQdPY5G.js +76 -0
- package/dist/assets/{add-connection-dialog-bl8dqCVs.js → add-connection-dialog-DI-Llgu0.js} +1 -1
- package/dist/assets/{agent-panel-BPLrf7mA.js → agent-panel-MfSWhk7J.js} +1 -1
- package/dist/assets/{ai-model-dropdown-CvJsRj9y.js → ai-model-dropdown-C_GdlhVG.js} +1 -1
- package/dist/assets/{alert-MrQXRIin.js → alert-DTaqCu_d.js} +1 -1
- package/dist/assets/{alert-dialog-DlL1c-bx.js → alert-dialog-BDikvA3p.js} +1 -1
- package/dist/assets/{any-language-editor-DtOWujZJ.js → any-language-editor-BKXUz0cR.js} +1 -1
- package/dist/assets/{api-DVLtXyp7.js → api-BbRClkEE.js} +1 -1
- package/dist/assets/{app-config-button-C7QrZbqr.js → app-config-button-B_5GomxX.js} +1 -1
- package/dist/assets/{architectureDiagram-5GKGNRK7-DvIXijdN.js → architectureDiagram-5GKGNRK7-Bx_zXJUH.js} +1 -1
- package/dist/assets/arrow-down-C9Bslqr3.js +1 -0
- package/dist/assets/arrow-left-BaPN-xbg.js +1 -0
- package/dist/assets/arrow-right-Cgit4Nk2.js +1 -0
- package/dist/assets/{badge-DFf033uX.js → badge-crT3E0Rm.js} +1 -1
- package/dist/assets/ban-YzvUro5I.js +1 -0
- package/dist/assets/{blob-Bx8A10xl.js → blob-eInu2PCR.js} +1 -1
- package/dist/assets/{blockDiagram-I7D4REHJ-DGAMO17L.js → blockDiagram-I7D4REHJ-CuwUGEGQ.js} +1 -1
- package/dist/assets/{bot-message-square-BfGaNy9r.js → bot-message-square-8xmbrehG.js} +1 -1
- package/dist/assets/{bundle.esm-CklCb9AD.js → bundle.esm-D3tw5rqW.js} +1 -1
- package/dist/assets/{button-M49xxKoi.js → button-DChj8EHR.js} +1 -1
- package/dist/assets/{c4Diagram-7LVT6UL2-qqO5IOnV.js → c4Diagram-7LVT6UL2-nj0NbEUh.js} +1 -1
- package/dist/assets/{cache-panel-BNPF4X5e.js → cache-panel-CEupBa9y.js} +1 -1
- package/dist/assets/{capabilities-BScjbYOK.js → capabilities-DbWz88Xr.js} +1 -1
- package/dist/assets/{card-BYZGhhhx.js → card-DOABds5l.js} +1 -1
- package/dist/assets/{cell-editor-C3818WlB.js → cell-editor-C-6P8s7p.js} +3 -3
- package/dist/assets/{cell-link-DC1UZQr_.js → cell-link-BdW6zSeW.js} +1 -1
- package/dist/assets/cells-Xw5dUhEN.js +220 -0
- package/dist/assets/channel-DtckUh1_.js +1 -0
- package/dist/assets/{chart-no-axes-column-B6FT5Xvu.js → chart-no-axes-column-C4_v6fQW.js} +1 -1
- package/dist/assets/{chat-display-YETh6yXV.js → chat-display-CUOpD-Fa.js} +1 -1
- package/dist/assets/{chat-panel-BZipGUZV.js → chat-panel-cm0Qz-fR.js} +1 -1
- package/dist/assets/{chat-ui-D_QL46qM.js → chat-ui-DyM7e_KQ.js} +1 -1
- package/dist/assets/check-BQNapYaf.js +1 -0
- package/dist/assets/chevron-right-eAtVhbNZ.js +1 -0
- package/dist/assets/{chunk-2E4U76K2-DqA2CBL0.js → chunk-2E4U76K2-dDf4JvCq.js} +1 -1
- package/dist/assets/{chunk-4HAMMTFA-DaFOJTOO.js → chunk-4HAMMTFA-Bhjs7H7G.js} +1 -1
- package/dist/assets/{chunk-75Z2AOVW-DEp7Wbaj.js → chunk-75Z2AOVW-DlSlUzCU.js} +1 -1
- package/dist/assets/{chunk-CLGD4ZFX-BxW11Imt.js → chunk-CLGD4ZFX-CvGMvSe-.js} +1 -1
- package/dist/assets/{chunk-DU6HZSFF-CDmPCRkr.js → chunk-DU6HZSFF-BxQd02hX.js} +2 -2
- package/dist/assets/{chunk-F27PBJKO-455JWNM3.js → chunk-F27PBJKO-DL9FG-iN.js} +1 -1
- package/dist/assets/{chunk-GMAD6QVW-ahdTJvh0.js → chunk-GMAD6QVW-B1Ai6qbk.js} +1 -1
- package/dist/assets/{chunk-GVQU2GXP-CPkYne1h.js → chunk-GVQU2GXP-a_N0QLD4.js} +1 -1
- package/dist/assets/{chunk-IMKFNOWR-fARccL86.js → chunk-IMKFNOWR-7KbFyW3C.js} +1 -1
- package/dist/assets/{chunk-L3NEJ4N5-BOK6HmaY.js → chunk-L3NEJ4N5-BcHj9aiN.js} +1 -1
- package/dist/assets/{chunk-OSK3NFVY-CEcyPnHo.js → chunk-OSK3NFVY-Dc7tMbN9.js} +1 -1
- package/dist/assets/{chunk-P2QGCYS3-Bw5LRT6S.js → chunk-P2QGCYS3-G6pmnA0z.js} +1 -1
- package/dist/assets/{chunk-POPQ4Y6H-C--NLIXc.js → chunk-POPQ4Y6H-C3iw1mOR.js} +1 -1
- package/dist/assets/{chunk-PWAF6VOD-B1mxlptQ.js → chunk-PWAF6VOD-Dy1Fp4eJ.js} +1 -1
- package/dist/assets/{chunk-SHT3W25Y-Diet96b1.js → chunk-SHT3W25Y-B3kFJuvo.js} +1 -1
- package/dist/assets/{chunk-SVP7TREG-BbcEGfNl.js → chunk-SVP7TREG-BNmfcKnL.js} +1 -1
- package/dist/assets/{chunk-TICWLB2K-BypOyFjf.js → chunk-TICWLB2K-CI3x9ENh.js} +1 -1
- package/dist/assets/{chunk-TLUHSLCS-DvvqZUl_.js → chunk-TLUHSLCS-Q72uYeUY.js} +2 -2
- package/dist/assets/{chunk-YOKDWASO-84E-_nIR.js → chunk-YOKDWASO-BIpRENEC.js} +4 -4
- package/dist/assets/{circle-Bb1IbBVn.js → circle-C2akb1qJ.js} +1 -1
- package/dist/assets/circle-check-BCurAHEb.js +1 -0
- package/dist/assets/{circle-play-X3K8DkEc.js → circle-play-CYIb0qT6.js} +1 -1
- package/dist/assets/classDiagram-ZZMXUADV-vm4wDTPy.js +1 -0
- package/dist/assets/classDiagram-v2-VYDZK3BY-vm4wDTPy.js +1 -0
- package/dist/assets/{clear-button-BGfeXcJ3.js → clear-button-p6YcvzLy.js} +1 -1
- package/dist/assets/{click-outside-container-CHoodRk9.js → click-outside-container-D_Dy5sZY.js} +1 -1
- package/dist/assets/{clipboard-paste-D0gau9Xw.js → clipboard-paste-HVpozQmt.js} +1 -1
- package/dist/assets/code-BEiQP4pS.js +1 -0
- package/dist/assets/{code-visibility-DNzJgrTz.js → code-visibility-BdQZoxDe.js} +1 -1
- package/dist/assets/{code-xml-CW65k2pN.js → code-xml-SQaZqvcO.js} +1 -1
- package/dist/assets/coerce-CpE6kUdX.js +1 -0
- package/dist/assets/{column-preview-fD3qW2B5.js → column-preview-DnfrOsz0.js} +1 -1
- package/dist/assets/{command-palette-BM9fUfEe.js → command-palette-zhHPBtSf.js} +1 -1
- package/dist/assets/{common-Cy3lJDvJ.js → common-D73JO0Wq.js} +1 -1
- package/dist/assets/{compiler-runtime-BQ9S8nyo.js → compiler-runtime-BrajqUja.js} +1 -1
- package/dist/assets/{components-D9ZIJGG8.js → components-CilFApub.js} +1 -1
- package/dist/assets/{components-ufN33X-R.js → components-DROCn9r7.js} +1 -1
- package/dist/assets/{components-M5WFQ0gs.js → components-cJdFKTNi.js} +1 -1
- package/dist/assets/{config-CR2d-XsP.js → config-BsMgc-Af.js} +1 -1
- package/dist/assets/{config-D_c_6ce1.js → config-Dg558tBx.js} +1 -1
- package/dist/assets/{config-Cyum2gRs.js → config-GC5ZXY4P.js} +1 -1
- package/dist/assets/{copy-RyCOE8jo.js → copy-Djr5m5ac.js} +1 -1
- package/dist/assets/{copy-D03Y7IMR.js → copy-JUJ9QA_Z.js} +1 -1
- package/dist/assets/{copy-icon-wfSGfX8v.js → copy-icon-Q9JyFzpC.js} +1 -1
- package/dist/assets/{createLucideIcon-rHn2EdoM.js → createLucideIcon-DfJ2oMlA.js} +1 -1
- package/dist/assets/{createReducer-W5dowuCe.js → createReducer-DrSwOnGP.js} +1 -1
- package/dist/assets/{cynefinDiagram-5FMLGOSQ-BW3uXbHa.js → cynefinDiagram-5FMLGOSQ-Cy86eSwK.js} +1 -1
- package/dist/assets/{dagre-GXQ25YYZ-DIV0whJf.js → dagre-GXQ25YYZ-CcWiU9Wf.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-DuYKABwo.js → data-grid-overlay-editor-CMnBpfPb.js} +1 -1
- package/dist/assets/{database-zap-CrkOvbyN.js → database-zap-B_PMVg8T.js} +1 -1
- package/dist/assets/{datasource-Tst92Pzi.js → datasource-BYgITplH.js} +1 -1
- package/dist/assets/{dates-BgcKUsHb.js → dates-yRtWe_py.js} +1 -1
- package/dist/assets/{dependency-graph-panel-CLrAZrHA.js → dependency-graph-panel-CnTLgy5M.js} +1 -1
- package/dist/assets/{diagram-S7CK7UJ4-BzoPaaoH.js → diagram-S7CK7UJ4-hmuvh6TI.js} +1 -1
- package/dist/assets/{diagram-UQ7AKVKN-BnOSn29R.js → diagram-UQ7AKVKN-CM3XDKRP.js} +1 -1
- package/dist/assets/{diagram-VSXAHHWV-DAz8vger.js → diagram-VSXAHHWV-B8HedxR3.js} +1 -1
- package/dist/assets/{diagram-VX7I27RA-BQOZxgYE.js → diagram-VX7I27RA-D_5dmdWD.js} +1 -1
- package/dist/assets/{diagram-Z3DM3KII-B_OF69Ac.js → diagram-Z3DM3KII-DWHvDoOc.js} +1 -1
- package/dist/assets/{dist-Bqtq4wYM.js → dist-BA3i84Dc.js} +1 -1
- package/dist/assets/{dist-DoyTOIOd.js → dist-D6KQW558.js} +1 -1
- package/dist/assets/{dist-Cm7MoInu.js → dist-DR-Kwzb9.js} +1 -1
- package/dist/assets/{documentation-panel-OMUbXgKW.js → documentation-panel-BEbvRHVy.js} +1 -1
- package/dist/assets/{download-CPMAf7re.js → download-1T_TaHEn.js} +1 -1
- package/dist/assets/{dropdown-menu-B2JUUcK7.js → dropdown-menu-C7FDKIyN.js} +1 -1
- package/dist/assets/{ebnfDiagram-PWID7BFC-BbkBTazy.js → ebnfDiagram-PWID7BFC-2XbadxRe.js} +1 -1
- package/dist/assets/{edit-page-Ctwp3mZE.js → edit-page-BWiLzYCt.js} +4 -4
- package/dist/assets/{ellipsis-CLMWXUqY.js → ellipsis-63DyBLHQ.js} +1 -1
- package/dist/assets/{empty-state-CzxjZqGW.js → empty-state-BaCKb7o3.js} +1 -1
- package/dist/assets/{en-US-B4U3zuiu.js → en-US-BxZyFbza.js} +1 -1
- package/dist/assets/{erDiagram-RLTQ6QDP-DxDHwsU0.js → erDiagram-RLTQ6QDP-DbTcKdOV.js} +1 -1
- package/dist/assets/{error-banner-D1_bPN9u.js → error-banner-ByiBdwpq.js} +1 -1
- package/dist/assets/{error-entries-DBpwg0GC.js → error-entries-D0R8MKx0.js} +1 -1
- package/dist/assets/{error-panel-BgYJTJpA.js → error-panel-95y7pvyn.js} +1 -1
- package/dist/assets/{errors-D9vyuMar.js → errors-DCrsa1nH.js} +1 -1
- package/dist/assets/{es-KNLgCZL4.js → es-Cu2uFIWl.js} +1 -1
- package/dist/assets/{esm-3WkPrffD.js → esm-CI_o7NhW.js} +1 -1
- package/dist/assets/{external-link-D2lKwXyB.js → external-link-UrX9KO36.js} +1 -1
- package/dist/assets/{eye-off-CfkK-QS3.js → eye-off-CxVozGAC.js} +1 -1
- package/dist/assets/feedback-button-1oniNVeY.js +1 -0
- package/dist/assets/{feedback-button-7KY7nL-j.js → feedback-button-CKAXSfao.js} +1 -1
- package/dist/assets/{file-mCR_SMtq.js → file-BPBVl9pl.js} +1 -1
- package/dist/assets/{file-explorer-panel-HvVNt0Qs.js → file-explorer-panel-B-eNKePA.js} +1 -1
- package/dist/assets/{file-headphone-DKocX1z0.js → file-headphone-Dl35U6h3.js} +1 -1
- package/dist/assets/{file-icons-e7tmeyP-.js → file-icons-CdJgUy-I.js} +1 -1
- package/dist/assets/{file-name-input-DZehOHLA.js → file-name-input-D6lirGsV.js} +1 -1
- package/dist/assets/{fileToBase64-aqhlf6Jj.js → fileToBase64-BgBraYAr.js} +1 -1
- package/dist/assets/{floating-outline-K7cVdOlC.js → floating-outline-DMfGsFtH.js} +1 -1
- package/dist/assets/flowDiagram-HODETNUW-DR34jHUd.js +1 -0
- package/dist/assets/{formats-DkOlpVdf.js → formats-C9vPp5uk.js} +1 -1
- package/dist/assets/{formatting-Civx9FAg.js → formatting-4pz6lkuL.js} +1 -1
- package/dist/assets/{fullscreen-DEBblJKh.js → fullscreen-jiFUIqxs.js} +1 -1
- package/dist/assets/{gallery-page-DoriMrLH.js → gallery-page-DXroIvFR.js} +1 -1
- package/dist/assets/{ganttDiagram-EL5Y4UJY-BzkL5tY7.js → ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js} +1 -1
- package/dist/assets/{gitGraphDiagram-WWUBYQGX-DqtmYSBS.js → gitGraphDiagram-WWUBYQGX-DxR7RNkL.js} +1 -1
- package/dist/assets/{github-khsXwCtv.js → github-DQZhN3La.js} +1 -1
- package/dist/assets/{glide-data-editor-DWyeHe3u.js → glide-data-editor-BUicmLEX.js} +4 -4
- package/dist/assets/{glide-utils-BzwA3q-e.js → glide-utils-BS0VnOoe.js} +1 -1
- package/dist/assets/{globe-CmFhHoL1.js → globe-UdPdIbF7.js} +1 -1
- package/dist/assets/{hat-glasses-DVgK5i5l.js → hat-glasses-C8RhSVii.js} +1 -1
- package/dist/assets/{highlighted-body-KPVGNVTW-DxcqwMAu.js → highlighted-body-KPVGNVTW-BBA_Oaqj.js} +1 -1
- package/dist/assets/{home-page-BcJJsD_Q.js → home-page-DOgHCPcu.js} +1 -1
- package/dist/assets/{hooks-Qxjt0Ypd.js → hooks-BIEmJNSy.js} +1 -1
- package/dist/assets/{house-CbkYoQ5W.js → house-CpsMWsLL.js} +1 -1
- package/dist/assets/{html-to-image-CFVIG1VZ.js → html-to-image-BTu9AOnj.js} +1 -1
- package/dist/assets/{icons-CVdkfEA3.js → icons-CiZ_8zS-.js} +1 -1
- package/dist/assets/{image-CTch9x2I.js → image-wZvTj8WY.js} +1 -1
- package/dist/assets/{index-CXX6l_22.css → index-Bcdzex-3.css} +1 -1
- package/dist/assets/{index-B3pNgH5o.js → index-szbIW0d7.js} +6 -6
- package/dist/assets/{infoDiagram-27XIBGKW-7rLCp1UQ.js → infoDiagram-27XIBGKW-U5Oqw16-.js} +1 -1
- package/dist/assets/{input-DPd57MDP.js → input-yy27ac_N.js} +1 -1
- package/dist/assets/{isValid-BEbe1fFs.js → isValid-BFmJHgM5.js} +1 -1
- package/dist/assets/{ishikawaDiagram-5VMMS53U-BH7XUtkN.js → ishikawaDiagram-5VMMS53U-Bob74yfq.js} +1 -1
- package/dist/assets/{journeyDiagram-3NMN7TZE-BOj0kV6v.js → journeyDiagram-3NMN7TZE-CO3wos0F.js} +1 -1
- package/dist/assets/{kanban-definition-UXKFOSKX-CPrudFOv.js → kanban-definition-UXKFOSKX-HnyRfUfJ.js} +1 -1
- package/dist/assets/katex-C9vVdkK0.js +1 -0
- package/dist/assets/{katex-DUp2KybH.js → katex-CF1UBJcr.js} +5 -5
- package/dist/assets/{kbd-BnUiViRu.js → kbd-pdKBv96t.js} +1 -1
- package/dist/assets/kiosk-mode-w1ttIhaj.js +1 -0
- package/dist/assets/{layout-CSLw6wGo.js → layout-BjyooGPM.js} +4 -4
- package/dist/assets/{link-BF4dGmOQ.js → link-NuFVR7G9.js} +1 -1
- package/dist/assets/links-DGdgjb3Z.js +1 -0
- package/dist/assets/{logs-panel-OkoO5mbN.js → logs-panel-DoU6Ytrb.js} +1 -1
- package/dist/assets/loro_wasm_bg-C2Fqi8D-.js +1 -0
- package/dist/assets/loro_wasm_bg-CSolyDSZ.wasm +0 -0
- package/dist/assets/loro_wasm_bg-Ctp2cNI9.js +1 -0
- package/dist/assets/{marimo-icons-B_1oPpIE.js → marimo-icons-CqliHyTr.js} +1 -1
- package/dist/assets/{markdown-renderer-mDlWBE1M.js → markdown-renderer-DxC_F-8p.js} +2 -2
- package/dist/assets/{menu-items-DAaNKHJF.js → menu-items-CF54rXpT.js} +1 -1
- package/dist/assets/mermaid-HWGCJPDP-B7ByBG-a.js +1 -0
- package/dist/assets/{mermaid-CX6aTquk.js → mermaid-rlHAAuye.js} +3 -3
- package/dist/assets/{message-circle-OTHnVlxO.js → message-circle-C3rKm8_a.js} +1 -1
- package/dist/assets/{mhchem-hMh9XtQZ.js → mhchem-B6WrVrmp.js} +1 -1
- package/dist/assets/{mindmap-definition-YA3MSWOX-kWyI8sXl.js → mindmap-definition-YA3MSWOX-Tl5cqnHr.js} +1 -1
- package/dist/assets/{multi-icon-DWzZu-9u.js → multi-icon-DL465pPF.js} +1 -1
- package/dist/assets/{name-cell-input-D_Q2IhP9.js → name-cell-input-C1aKbjLf.js} +1 -1
- package/dist/assets/{number-overlay-editor-myrryj7o.js → number-overlay-editor-DS8xi0jE.js} +1 -1
- package/dist/assets/{numbers-BEfBaQtu.js → numbers-DZJTimMO.js} +1 -1
- package/dist/assets/{outline-panel-Dy2cmYDF.js → outline-panel-QDpdk6qa.js} +1 -1
- package/dist/assets/{package-BeYhVWvM.js → package-GSoSTiIK.js} +1 -1
- package/dist/assets/{package-data-BwaspaKJ.js → package-data-dv4FBHxR.js} +1 -1
- package/dist/assets/{packages-panel-CIvhx0hb.js → packages-panel-BRhXzYs7.js} +1 -1
- package/dist/assets/pair-CaQyK6En.js +1 -0
- package/dist/assets/{panel-accordion-state-BI4SU22L.js → panel-accordion-state-DDRWEHcb.js} +1 -1
- package/dist/assets/{panel-context-BPaQeOuV.js → panel-context-C2QXpKfx.js} +1 -1
- package/dist/assets/{panels-BdsXFz1w.js → panels-CQTeIpws.js} +1 -1
- package/dist/assets/{pathUtils-BKesuhdv.js → pathUtils-DPmlLd-r.js} +1 -1
- package/dist/assets/{paths-CzfpItSz.js → paths-bkIFVj8h.js} +1 -1
- package/dist/assets/{pegDiagram-XKGWAZYB-CiBJGPte.js → pegDiagram-XKGWAZYB-a0itOiYa.js} +1 -1
- package/dist/assets/{pieDiagram-E7YTZNPT-RpjpKhU6.js → pieDiagram-E7YTZNPT-DFve8H9P.js} +1 -1
- package/dist/assets/plus-C5silF6g.js +1 -0
- package/dist/assets/process-output-DpkQbJ94.js +1 -0
- package/dist/assets/{quadrantDiagram-AXDQQJYC-Ci_qzCqs.js → quadrantDiagram-AXDQQJYC-yBhCDI7E.js} +1 -1
- package/dist/assets/{railroadDiagram-O6MQD6OU-B2IWK3fJ.js → railroadDiagram-O6MQD6OU-CgwdYhrd.js} +1 -1
- package/dist/assets/react-DVplv7_D.js +1 -0
- package/dist/assets/react-dom-_LrxgvjW.js +1 -0
- package/dist/assets/{react-icons.esm-C6SMwKZH.js → react-icons.esm-D6tfmvq8.js} +1 -1
- package/dist/assets/{react-resizable-panels.browser.esm-BL2E7f5c.js → react-resizable-panels.browser.esm-Dbe0MrFr.js} +1 -1
- package/dist/assets/{react-vega-Jq3Jd7eX.js → react-vega-C3rYGtP6.js} +1 -1
- package/dist/assets/{readonly-code-display-CNbw6v1-.js → readonly-code-display-CSCZ_N15.js} +1 -1
- package/dist/assets/{readonly-python-code-DcYhdd1B.js → readonly-python-code-BBD9x9Wb.js} +1 -1
- package/dist/assets/{refresh-cw-CEGpOrzd.js → refresh-cw-Qw1f8Jhy.js} +1 -1
- package/dist/assets/{renderShortcut-BnRfkbwf.js → renderShortcut-DqWt7rin.js} +1 -1
- package/dist/assets/requests-CgSY1X4a.js +1 -0
- package/dist/assets/{requests-yTHMxhVa.js → requests-lt0JK8Jt.js} +1 -1
- package/dist/assets/{requirementDiagram-BXWQKSXE-B0_CyV0T.js → requirementDiagram-BXWQKSXE-BCDzS-aV.js} +1 -1
- package/dist/assets/reveal-component-C_-OTm_u.js +1069 -0
- package/dist/assets/{reveal-component-wEV_sB3u.css → reveal-component-DMRR6gKy.css} +1 -1
- package/dist/assets/{rotate-ccw-se3Oa1US.js → rotate-ccw-D8WCVWNE.js} +1 -1
- package/dist/assets/{rotate-cw-BcRERxHa.js → rotate-cw-CZ2syZTu.js} +1 -1
- package/dist/assets/{run-page-CVWospEP.js → run-page-Dvf3L-I6.js} +1 -1
- package/dist/assets/{runs-DyluVj69.js → runs-CxC4Npl4.js} +1 -1
- package/dist/assets/{runtime-details-state-lxXYwJcI.js → runtime-details-state-CBHzmgRd.js} +1 -1
- package/dist/assets/{sankeyDiagram-P5KCCOFB-BekzhMvv.js → sankeyDiagram-P5KCCOFB-byYeKbB2.js} +1 -1
- package/dist/assets/{save-D4cG4pP2.js → save-Dgoim6QF.js} +1 -1
- package/dist/assets/save-worker-BbUSwZRG.js +118 -0
- package/dist/assets/schemas-Dv42wLFq.js +56 -0
- package/dist/assets/{scratchpad-panel-B4qlmwP-.js → scratchpad-panel-BijBTGEY.js} +1 -1
- package/dist/assets/{scroll-to-bottom-button-Dmrd5bjQ.js → scroll-to-bottom-button-DqsGuQjT.js} +1 -1
- package/dist/assets/{secrets-panel-DT1Nansx.js → secrets-panel-CZOrUl1k.js} +1 -1
- package/dist/assets/{select-BwRFbZty.js → select-CzZDBjEw.js} +1 -1
- package/dist/assets/{sequenceDiagram-WJ2MYXX4-DELi1Kz5.js → sequenceDiagram-WJ2MYXX4-CLLPBM4B.js} +1 -1
- package/dist/assets/{session-BykGt6S3.js → session-BTcQqCNB.js} +1 -1
- package/dist/assets/{session-panel-Ch5jQNj0.js → session-panel-Cw84UtPa.js} +1 -1
- package/dist/assets/{settings-DlKTeV_0.js → settings-BpdQZRgT.js} +1 -1
- package/dist/assets/{shell-BSnvn9t7.js → shell-Fj8a65ii.js} +1 -1
- package/dist/assets/{shim-5li_pJY_.js → shim-CjjJUhDo.js} +1 -1
- package/dist/assets/{skeleton-CKpBjoLm.js → skeleton-Cqh4O9g1.js} +1 -1
- package/dist/assets/{snippets-panel-YttkYAW9.js → snippets-panel-VkVKbwvG.js} +1 -1
- package/dist/assets/{spec-D9d9nT0z.js → spec-CBbROlNQ.js} +1 -1
- package/dist/assets/{spinner-CGdRKCnw.js → spinner-DyNE-o8o.js} +1 -1
- package/dist/assets/square-BPmgQFnh.js +1 -0
- package/dist/assets/{square-function-DyFIOFp5.js → square-function-_W_Lo0P4.js} +1 -1
- package/dist/assets/{state-B2ZbImvm.js → state-6DcRdYQO.js} +1 -1
- package/dist/assets/{state-BxLm8vme.js → state-B8tH8dhU.js} +1 -1
- package/dist/assets/{state-sbCCk7ZP.js → state-CXB5HFtg.js} +2 -2
- package/dist/assets/{state-BI0fn_YF.js → state-Cd4sIrz6.js} +1 -1
- package/dist/assets/{state-ja7GWeCS.js → state-Dk6fQvT5.js} +1 -1
- package/dist/assets/state-SKZBEEH0.js +1 -0
- package/dist/assets/{stateDiagram-D77RDMKH-udui7EYS.js → stateDiagram-D77RDMKH-BeIsqkgQ.js} +1 -1
- package/dist/assets/stateDiagram-v2-MP3YSRHH-YdOj4q4D.js +1 -0
- package/dist/assets/{strings-hlCLC-K1.js → strings-qs8UKdp4.js} +1 -1
- package/dist/assets/{swimlanes-42K2YHIH-C-iTrYJs.js → swimlanes-42K2YHIH-CIhaeNCx.js} +1 -1
- package/dist/assets/swimlanesDiagram-VR7AAH4N-BLZbCKkx.js +8 -0
- package/dist/assets/{swiper-component-eXUBvFuA.js → swiper-component-CPwtfJ-K.js} +1 -1
- package/dist/assets/{switch-C-83e2fG.js → switch-Bjqg8S6f.js} +1 -1
- package/dist/assets/{table-B7KYyTxw.js → table-DG7Ap4H4.js} +1 -1
- package/dist/assets/{table-Dg1KxH-q.js → table-vrvqpuKJ.js} +1 -1
- package/dist/assets/{tabs-QRT1DYjj.js → tabs-GKfobU8o.js} +1 -1
- package/dist/assets/{terminal-3hxM6K9q.js → terminal-CU3vJwnx.js} +1 -1
- package/dist/assets/{timeline-definition-24CTP7MA-D2u0nOZp.js → timeline-definition-24CTP7MA-BSH7-Tss.js} +1 -1
- package/dist/assets/{toDate-BbJ1_N2T.js → toDate-DaZHg4Of.js} +1 -1
- package/dist/assets/{toast-BRwEbWb6.js → toast-Co8MsTka.js} +1 -1
- package/dist/assets/{tooltip-B5pI8o2n.js → tooltip-BE7PMp0A.js} +1 -1
- package/dist/assets/{tooltip-BeP4eX87.js → tooltip-BSH8ID1U.js} +1 -1
- package/dist/assets/{tracing-DZYfCw6p.js → tracing-CgXDV1KE.js} +1 -1
- package/dist/assets/tracing-panel-DcChLy1j.js +2 -0
- package/dist/assets/{trash-2-BJG-7Qob.js → trash-2-DcgaW8fn.js} +1 -1
- package/dist/assets/{trash-BKbZYRHl.js → trash-ChRHEGfM.js} +1 -1
- package/dist/assets/{tree-actions-D5clvgKl.js → tree-actions-BodA78qW.js} +1 -1
- package/dist/assets/{triangle-alert-BeRqoThc.js → triangle-alert-DmIqR8sY.js} +1 -1
- package/dist/assets/{use-restore-focus-GUh2Nd8Z.js → use-restore-focus-BrMXwd90.js} +1 -1
- package/dist/assets/{use-toast-CC89xOwH.js → use-toast-Wu434mLr.js} +1 -1
- package/dist/assets/{use-vega-container-remeasure-CS3c8wGN.js → use-vega-container-remeasure-BpmHehNK.js} +1 -1
- package/dist/assets/{useAddCell-Bhv6GT3m.js → useAddCell-qjWEyEcN.js} +1 -1
- package/dist/assets/{useAsyncData-DucTwMkf.js → useAsyncData-C7aJJz0Y.js} +1 -1
- package/dist/assets/{useBoolean-Co-_MyFz.js → useBoolean-Ba54lbUx.js} +1 -1
- package/dist/assets/{useCellActionButton-BTsPn8Dv.js → useCellActionButton-X2duul2K.js} +1 -1
- package/dist/assets/{useDateFormatter-CTYCgKB-.js → useDateFormatter-DA-62E-Y.js} +1 -1
- package/dist/assets/{useDebounce-DMbg9X18.js → useDebounce-B_ccBZTp.js} +1 -1
- package/dist/assets/useDeepCompareMemoize-DFIVN9dn.js +1 -0
- package/dist/assets/{useDeleteCell-BKN7t4DH.js → useDeleteCell-B_VW2kZL.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BTsnw2rN.js → useDependencyPanelTab-D19WNxWt.js} +1 -1
- package/dist/assets/{useEvent-Dc9HkKI2.js → useEvent-Dfcbgjhg.js} +1 -1
- package/dist/assets/{useEventListener-IRzG-0mH.js → useEventListener-D6VFA611.js} +1 -1
- package/dist/assets/useIframeCapabilities-LLEnCTQu.js +1 -0
- package/dist/assets/{useInstallPackage-HTUlGg0U.js → useInstallPackage-BUkJUBVF.js} +1 -1
- package/dist/assets/{useInterval-D1QGqQ_I.js → useInterval-BbBdNZZ3.js} +1 -1
- package/dist/assets/{useLifecycle-DKSBdWUf.js → useLifecycle-Mq4gc5kS.js} +1 -1
- package/dist/assets/{useNotebookActions-BzJtySGp.js → useNotebookActions-LmkoQVx8.js} +1 -1
- package/dist/assets/{useNumberFormatter-BP99Zbyy.js → useNumberFormatter-D7O_26UI.js} +1 -1
- package/dist/assets/{useRunCells-zMO43eNR.js → useRunCells-BqqsYDRD.js} +1 -1
- package/dist/assets/useSplitCell-Li1R8yWS.js +1 -0
- package/dist/assets/{useTheme-BkPLyRl9.js → useTheme-Cky-nQHA.js} +1 -1
- package/dist/assets/{vega-component-Chbfi__Q.js → vega-component-BLs4secb.js} +1 -1
- package/dist/assets/vega-embed-container-DJPNkHPb.js +1 -0
- package/dist/assets/{vennDiagram-4TSXK5OY-BKSHsv-w.js → vennDiagram-4TSXK5OY-DsmfChmC.js} +1 -1
- package/dist/assets/{wardleyDiagram-VM6X3IG4-CUDQDDoy.js → wardleyDiagram-VM6X3IG4-BDZlVpJI.js} +1 -1
- package/dist/assets/worker-DTQ7oH2A.js +158 -0
- package/dist/assets/{workflow-nBi9HGeO.js → workflow-cw-0b9g5.js} +1 -1
- package/dist/assets/{write-secret-modal-BcosCmZy.js → write-secret-modal-D1_0dXkm.js} +1 -1
- package/dist/assets/{xychartDiagram-S5SC5T6Z-BXDsTxGu.js → xychartDiagram-S5SC5T6Z-KbGzG6-u.js} +1 -1
- package/dist/assets/{youtube-2MBs34oQ.js → youtube-CbJhsgLy.js} +1 -1
- package/dist/index.html +123 -123
- package/package.json +19 -19
- package/src/components/editor/output/console/ConsoleOutput.tsx +5 -3
- package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +18 -0
- package/src/css/katex-css.test.ts +1 -1
- package/src/css/katex.min.css +6 -1
- package/dist/assets/__vite-browser-external-BgsHWynV.js +0 -1
- package/dist/assets/__vite-browser-external-DMJaCYJh.js +0 -1
- package/dist/assets/add-cell-with-ai-Wyt6GBhk.js +0 -76
- package/dist/assets/arrow-down-BFFrjzad.js +0 -1
- package/dist/assets/arrow-left-DzPJ79ZB.js +0 -1
- package/dist/assets/arrow-right-xoNT7eIQ.js +0 -1
- package/dist/assets/ban-3HAzm9Fj.js +0 -1
- package/dist/assets/cells-CxY8RSp7.js +0 -220
- package/dist/assets/channel-DXBvxHxq.js +0 -1
- package/dist/assets/check-Wea4hZ6R.js +0 -1
- package/dist/assets/chevron-right-DOPs2jx8.js +0 -1
- package/dist/assets/circle-check-BF80fXZd.js +0 -1
- package/dist/assets/classDiagram-ZZMXUADV--9ShP1h2.js +0 -1
- package/dist/assets/classDiagram-v2-VYDZK3BY--9ShP1h2.js +0 -1
- package/dist/assets/code-DW4kNwKG.js +0 -1
- package/dist/assets/coerce-CZiN7rQ_.js +0 -1
- package/dist/assets/feedback-button-DxjoRfo3.js +0 -1
- package/dist/assets/flowDiagram-HODETNUW-BGVnBaF-.js +0 -1
- package/dist/assets/katex-CQIbPNPT.js +0 -1
- package/dist/assets/kiosk-mode-DCHo0R3W.js +0 -1
- package/dist/assets/links-BJx6KCyC.js +0 -1
- package/dist/assets/loro_wasm_bg-PyJsS6iH.wasm +0 -0
- package/dist/assets/loro_wasm_bg-Vo2IoHaL.js +0 -1
- package/dist/assets/loro_wasm_bg-oTW3uoGB.js +0 -1
- package/dist/assets/mermaid-HWGCJPDP-Bk1fR60Q.js +0 -1
- package/dist/assets/pair-_FSgYVX4.js +0 -1
- package/dist/assets/plus-gbN72xHe.js +0 -1
- package/dist/assets/process-output-Crm0vqbi.js +0 -1
- package/dist/assets/react-CUdNIagt.js +0 -1
- package/dist/assets/react-dom-CKsE8sC1.js +0 -1
- package/dist/assets/requests-DFPPfagc.js +0 -1
- package/dist/assets/reveal-component-B5GUiD5Q.js +0 -1069
- package/dist/assets/save-worker-C880NC3o.js +0 -113
- package/dist/assets/schemas-BL-NsLlF.js +0 -51
- package/dist/assets/square-DvOKKLHZ.js +0 -1
- package/dist/assets/state-YaAkDV8S.js +0 -1
- package/dist/assets/stateDiagram-v2-MP3YSRHH-BhduIvF1.js +0 -1
- package/dist/assets/swimlanesDiagram-VR7AAH4N-WC2Zewqb.js +0 -8
- package/dist/assets/tracing-panel-BUPJ77jB.js +0 -2
- package/dist/assets/useDeepCompareMemoize-DSlTt6u_.js +0 -1
- package/dist/assets/useIframeCapabilities-yd8sMuIo.js +0 -1
- package/dist/assets/useSplitCell-xEtFLByO.js +0 -1
- package/dist/assets/vega-embed-container-CRZZ4FTx.js +0 -1
- package/dist/assets/worker-B5tVfGoh.js +0 -153
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{t as n}from"./react-CUdNIagt.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{$ as i,A as a,B as o,C as s,D as c,E as l,F as u,G as d,H as f,I as p,J as m,K as h,L as g,M as _,N as v,O as y,P as b,Q as x,R as S,S as C,T as w,U as T,V as E,W as D,X as O,Y as k,Z as A,_ as ee,a as te,at as ne,b as re,c as ie,ct as ae,d as oe,dt as j,et as M,f as se,ft as ce,g as le,h as ue,i as de,it as fe,j as pe,k as me,l as he,lt as ge,m as _e,mt as ve,n as ye,nt as be,o as xe,ot as Se,p as eee,pt as Ce,q as we,r as tee,rt as Te,s as Ee,st as De,t as nee,tt as N,u as Oe,ut as ke,v as Ae,w as je,x as Me,y as Ne,z as P}from"./vega-loader.browser-CLRkNgm7.js";import{a as Pe,c as Fe,o as Ie,s as Le}from"./precisionRound-Bq_nmf5u.js";import{_ as Re,a as ze,c as Be,d as ree,f as iee,g as Ve,h as He,l as Ue,m as aee,n as We,o as Ge,p as Ke,r as qe,s as Je,t as Ye,u as Xe,v as Ze}from"./linear-0eij_aAG.js";import{n as Qe,r as $e,t as et}from"./ordinal-BdBDtYTt.js";import{a as tt,c as nt,d as rt,f as it,i as oee,l as see,n as cee,o as at,p as ot,r as lee,s as st,t as uee,u as dee}from"./time-MgToa8VM.js";import{t as ct}from"./range-EplFIxc7.js";import{i as fee,t as pee}from"./defaultLocale-CNPGWpMu.js";import{C as lt,E as ut,P as dt,S as mee,T as ft,c as pt,l as mt,o as ht,p as gt,r as _t,s as vt,v as yt,w as bt,x as xt,y as St}from"./defaultLocale-D5bOh7g6.js";import{n as Ct,r as wt,t as Tt}from"./path-BCdg30Y0.js";import{f as Et,p as Dt,u as Ot}from"./math-Bi_r_ZWc.js";import{t as kt}from"./arc-Yxk2k_uq.js";import{t as At}from"./array-BifhSqXX.js";import{_ as jt,a as Mt,c as Nt,d as Pt,f as Ft,g as It,h as Lt,i as Rt,l as zt,m as Bt,n as Vt,o as Ht,p as Ut,r as Wt,s as Gt,t as Kt,u as qt,v as Jt}from"./step-CqgdNM3U.js";import{n as hee,r as gee,t as Yt}from"./line-io_go0HI.js";import{n as Xt,t as Zt}from"./init-ZlXS9mIS.js";import{A as _ee,C as Qt,D as $t,E as en,O as tn,S as nn,T as rn,_ as an,a as on,b as sn,c as cn,d as ln,f as un,g as dn,h as fn,i as pn,k as mn,l as hn,m as gn,n as _n,o as vn,p as yn,r as bn,s as xn,t as Sn,u as Cn,x as wn,y as Tn}from"./cubic-DELhj3Tx.js";import{t as En}from"./colors-Cg5Vh3br.js";import{a as Dn,c as On,d as kn,f as An,i as jn,l as Mn,n as Nn,o as Pn,p as Fn,r as In,s as Ln,t as Rn,u as zn}from"./treemap-BfjIY-m6.js";function Bn(e,t,n){let r=[t,...n];console[e](...r)}function Vn(e,t,n=Bn){let r=e||0;return{level(e){return arguments.length?(r=+e,this):r},error(...e){return r>=1&&n(t||`error`,`ERROR`,e),this},warn(...e){return r>=2&&n(t||`warn`,`WARN`,e),this},info(...e){return r>=3&&n(t||`log`,`INFO`,e),this},debug(...e){return r>=4&&n(t||`log`,`DEBUG`,e),this}}}function Hn(e){return e.length>0}var Un=e=>t=>e*Math.exp(t),Wn=e=>t=>Math.log(e*t),Gn=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),Kn=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,qn=e=>t=>t<0?-((-t)**+e):t**+e,Jn=e=>O(e)??0,Yn=e=>e;function Xn(e,t,n,r){Hn(e)||j(`Domain array must not be empty`);let i=n(e[0]),a=n(A(e)),o=(a-i)*t;return[r(i-o),r(a-o)]}function Zn(e,t){return Xn(e,t,Jn,Yn)}function Qn(e,t){let n=Math.sign(e[0]);return Xn(e,t,Wn(n),Un(n))}function $n(e,t,n){return Xn(e,t,qn(n),qn(1/n))}function er(e,t,n){return Xn(e,t,Gn(n),Kn(n))}function tr(e,t,n,r,i){Hn(e)||j(`Domain array must not be empty`);let a=r(e[0]),o=r(A(e)),s=t==null?(a+o)/2:r(t);return[i(s+(a-s)*n),i(s+(o-s)*n)]}function nr(e,t,n){return tr(e,t,n,Jn,Yn)}function rr(e,t,n){let r=Math.sign(e[0]);return tr(e,t,n,Wn(r),Un(r))}function ir(e,t,n,r){return tr(e,t,n,qn(r),qn(1/r))}function ar(e,t,n,r){return tr(e,t,n,Gn(r),Kn(r))}function or(e){return 1+~~(new Date(e).getMonth()/3)}function sr(e){return 1+~~(new Date(e).getUTCMonth()/3)}function cr(e,t,n){let r=e[0],i=e[1],a;return i<r&&(a=i,i=r,r=a),a=i-r,a>=n-t?[t,n]:[r=Math.min(Math.max(r,t),n-a),r+a]}function lr(e,t){let n=null;return r=>{n&&clearTimeout(n),n=setTimeout(()=>(t(r),n=null),e)}}function ur(e,t){let n=0,r,i,a,o;if(e&&(r=e.length)){if(t==null){for(i=e[n];n<r&&(i==null||i!==i);i=e[++n]);for(a=o=i;n<r;++n)i=e[n],i!=null&&(i<a&&(a=i),i>o&&(o=i))}else{for(i=t(e[n]);n<r&&(i==null||i!==i);i=t(e[++n]));for(a=o=i;n<r;++n)i=t(e[n]),i!=null&&(i<a&&(a=i),i>o&&(o=i))}}return[a,o]}function dr(e,t){let n=e.length,r=-1,i,a,o,s,c;if(t==null){for(;++r<n;)if(s=e[r],s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=e[r],s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}else{for(;++r<n;)if(s=t(e[r],r,e),s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=t(e[r],r,e),s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}return[i,a]}var fr={};function pr(e){let t={},n;function r(e){return T(t,e)&&t[e]!==fr}let i={size:0,empty:0,object:t,has:r,get(e){return r(e)?t[e]:void 0},set(e,n){return r(e)||(++i.size,t[e]===fr&&--i.empty),t[e]=n,this},delete(e){return r(e)&&(--i.size,++i.empty,t[e]=fr),this},clear(){i.size=i.empty=0,i.object=t={}},test(e){return arguments.length?(n=e,i):n},clean(){let e={},r=0;for(let i in t){let a=t[i];a!==fr&&(!n||!n(a))&&(e[i]=a,++r)}i.size=r,i.empty=0,i.object=t=e}};return e&&Object.keys(e).forEach(t=>{i.set(t,e[t])}),i}function mr(e,t,n,r,i,a){if(!n&&n!==0)return a;let o=+n,s=e[0],c=A(e),l;if(c===void 0)return a;c<s&&(l=s,s=c,c=l),l=Math.abs(t-s);let u=Math.abs(c-t);return l<u&&l<=o?r:u<=o?i:a}function F(e,t,n){let r=e.prototype=Object.create(t.prototype);return Object.defineProperty(r,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),D(r,n)}function hr(e,t,n,r){let i=t[0],a=t[t.length-1],o;return i>a&&(o=i,i=a,a=o),n=n===void 0||n,r=r===void 0||r,(n?i<=e:i<e)&&(r?e<=a:e<a)}function gr(e){return typeof e==`boolean`}function _r(e){return Object.prototype.toString.call(e)===`[object RegExp]`}function vr(e,t){let n=e[0],r=A(e),i=+t;return r===void 0?n:i?i===1?r:n+i*(r-n):n}var vee=1e4;function yr(e){e=+e||vee;let t,n,r,i=()=>{t={},n={},r=0},a=(i,a)=>(++r>e&&(n=t,t={},r=1),t[i]=a);return i(),{clear:i,has:e=>T(t,e)||T(n,e),get:e=>T(t,e)?t[e]:T(n,e)?a(e,n[e]):void 0,set:(e,n)=>T(t,e)?t[e]=n:a(e,n)}}function yee(e){return e===Array||typeof e==`function`&&e.prototype&&ArrayBuffer.isView(e.prototype)}function br(e,t,n,r){let i=t.length,a=n.length;if(!a)return t;if(!i)return n;let o=t.constructor,s=r||(yee(o)?new o(i+a):Array(i+a)),c=0,l=0,u=0;for(;c<i&&l<a;++u)s[u]=e(t[c],n[l])>0?n[l++]:t[c++];for(;c<i;++c,++u)s[u]=t[c];for(;l<a;++l,++u)s[u]=n[l];return s}function xr(e,t){let n=``;for(;--t>=0;)n+=e;return n}function Sr(e,t,n,r){let i=n||` `,a=e+``,o=t-a.length;return o<=0?a:r===`left`?xr(i,o)+a:r===`center`?xr(i,~~(o/2))+a+xr(i,Math.ceil(o/2)):a+xr(i,o)}function Cr(e,t,n,r){let i=r??`…`,a=e+``,o=a.length,s=Math.max(0,t-i.length);return o<=t?a:n===`left`?i+a.slice(o-s):n===`center`?a.slice(0,Math.ceil(s/2))+i+a.slice(o-~~(s/2)):a.slice(0,s)+i}function wr(e,t,n){if(e){if(t){let r=e.length;for(let i=0;i<r;++i){let r=t(e[i]);r&&n(r,i,e)}}else e.forEach(n)}}function Tr(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(r=t-i,i+=r/++n,a+=r*(t-i));else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,a+=r*(s-i))}if(n>1)return a/(n-1)}function Er(e,t){let n=Tr(e,t);return n&&Math.sqrt(n)}var Dr=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 Or(e,t){return Array.from(t,t=>e[t])}function kr(e=Fe){if(e===Fe)return Ar;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 Ar(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}function jr(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?Ar:kr(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));jr(e,t,u,d,i)}let a=e[t],o=n,s=r;for(Mr(e,n,t),i(e[r],a)>0&&Mr(e,n,r);o<s;){for(Mr(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?Mr(e,n,s):(++s,Mr(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Mr(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Nr(e,t,n){if(e=Float64Array.from(Ze(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return it(e);if(t>=1)return ot(e);var r,i=(r-1)*t,a=Math.floor(i),o=ot(jr(e,a).subarray(0,a+1));return o+(it(e.subarray(a+1))-o)*(i-a)}}function Pr(e,t,n=Re){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 Fr(e,t){let n=0,r=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(++n,r+=t);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 Ir(e,t){return Nr(e,.5,t)}function*Lr(e){for(let t of e)yield*t}function Rr(e){return Array.from(Lr(e))}function zr(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Br(e,...t){e=new $e(e),t=t.map(Vr);out:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue out}return e}function Vr(e){return e instanceof $e?e:new $e(e)}function Hr(...e){let t=new $e;for(let n of e)for(let e of n)t.add(e);return t}var Ur=e(n(),1),bee=r(),xee=/("(?:[^\\"]|\\.)*")|[:,]/g;function Wr(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 e(t,a,o){t&&typeof t.toJSON==`function`&&(t=t.toJSON());let s=JSON.stringify(t,i);if(s===void 0)return s;let c=r-a.length-o;if(s.length<=c){let e=s.replace(xee,(e,t)=>t||`${e} `);if(e.length<=c)return e}if(i!=null&&(t=JSON.parse(s),i=void 0),typeof t==`object`&&t){let r=a+n,i=[],o=0,s,c;if(Array.isArray(t)){s=`[`,c=`]`;let{length:n}=t;for(;o<n;o++)i.push(e(t[o],r,o===n-1?0:1)||`null`)}else{s=`{`,c=`}`;let n=Object.keys(t),{length:a}=n;for(;o<a;o++){let s=n[o],c=`${JSON.stringify(s)}: `,l=e(t[s],r,c.length+(o===a-1?0:1));l!==void 0&&i.push(c+l)}}if(i.length>0)return[s,n+i.join(`,\n${r}`),c].join(`\n${a}`)}return s})(e,``,0)}function Gr(e){let t=e||ne,n=[],r={};return n.add=e=>{let i=t(e);return r[i]||(r[i]=1,n.push(e)),n},n.remove=e=>{let i=t(e);if(r[i]){r[i]=0;let t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function Kr(e,t){try{await t(e)}catch(t){e.error(t)}}var qr=Symbol(`vega_id`),Jr=1;function Yr(e){return!!(e&&I(e))}function I(e){return e[qr]}function Xr(e,t){return e[qr]=t,e}function Zr(e){let t=e===Object(e)?e:{data:e};return I(t)?t:Xr(t,Jr++)}function Qr(e){return $r(e,Zr({}))}function $r(e,t){for(let n in e)t[n]=e[n];return t}function ei(e,t){return Xr(t,I(e))}function ti(e,t){return e?t?(n,r)=>e(n,r)||I(t(n))-I(t(r)):(t,n)=>e(t,n)||I(t)-I(n):null}function ni(e){return e&&e.constructor===ri}function ri(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:ri,insert(t){let n=k(t),r=n.length;for(let t=0;t<r;++t)e.push(n[t]);return this},remove(e){let n=m(e)?r:t,i=k(e),a=i.length;for(let e=0;e<a;++e)n.push(i[e]);return this},modify(e,t,r){let a={field:t,value:d(r)};return m(e)?(a.filter=e,i.push(a)):(a.tuple=e,n.push(a)),this},encode(e,t){return m(e)?i.push({filter:e,field:t}):n.push({tuple:e,field:t}),this},clean(e){return a=e,this},reflow(){return o=!0,this},pulse(s,c){let l={},u={},d,f,p,m,h,g;for(d=0,f=c.length;d<f;++d)l[I(c[d])]=1;for(d=0,f=t.length;d<f;++d)h=t[d],l[I(h)]=-1;for(d=0,f=r.length;d<f;++d)m=r[d],c.forEach(e=>{m(e)&&(l[I(e)]=-1)});for(d=0,f=e.length;d<f;++d)h=e[d],g=I(h),l[g]?l[g]=1:s.add.push(Zr(e[d]));for(d=0,f=c.length;d<f;++d)h=c[d],l[I(h)]<0&&s.rem.push(h);function _(e,t,n){n?e[t]=n(e):s.encode=t,o||(u[I(e)]=e)}for(d=0,f=n.length;d<f;++d)p=n[d],h=p.tuple,m=p.field,g=l[I(h)],g>0&&(_(h,m,p.value),s.modifies(m));for(d=0,f=i.length;d<f;++d)p=i[d],m=p.filter,c.forEach(e=>{m(e)&&l[I(e)]>0&&_(e,p.field,p.value)}),s.modifies(p.field);if(o)s.mod=t.length||r.length?c.filter(e=>l[I(e)]>0):c.slice();else for(g in u)s.mod.push(u[g]);return(a||a==null&&(t.length||r.length))&&s.clean(!0),s}}}var ii=`_:mod:_`;function ai(){Object.defineProperty(this,ii,{writable:!0,value:{}})}ai.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[ii];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]=N(n)?1+n.length:-1),i},modified(e,t){let n=this[ii];if(!arguments.length){for(let e in n)if(n[e])return!0;return!1}if(N(e)){for(let t=0;t<e.length;++t)if(n[e[t]])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+`:`+e]:!!n[e]},clear(){return this[ii]={},this}};var oi=0,si=`pulse`,ci=new ai,li=1,ui=2;function di(e,t,n,r){this.id=++oi,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 fi(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}di.prototype={targets(){return this._targets||=Gr(fe)},set(e){return this.value===e?0:(this.value=e,1)},skip:fi(li),modified:fi(ui),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new ai,i=this._argops=this._argops||[],a=[],o,s,c,l,u=(e,n,o)=>{o instanceof di?(o!==this&&(t&&o.targets().add(this),a.push(o)),i.push({op:o,name:e,index:n})):r.set(e,n,o)};for(o in e)if(s=e[o],o===si)k(s).forEach(e=>{e instanceof di?e!==this&&(e.targets().add(this),a.push(e)):j(`Pulse parameters must be operator instances.`)}),this.source=s;else if(N(s))for(r.set(o,-1,Array(c=s.length)),l=0;l<c;++l)u(o,l,s[l]);else u(o,-1,s);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||ci,n=this._argops,r,i,a,o;if(n){let s=n.length;for(i=0;i<s;++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<s;++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 pi(e,t,n,r){let i=1,a;return e instanceof di?a=e:e&&e.prototype instanceof di?a=new e:m(e)?a=new di(null,e):(i=0,a=new di(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function mi(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 hi=0;function gi(e,t,n){this.id=++hi,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function _i(e,t,n){return new gi(e,t,n)}gi.prototype={_filter:De,_apply:ne,targets(){return this._targets||=Gr(fe)},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 e=0;e<r;++e)n[e].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=_i(e);return this.targets().add(t),t},apply(e){let t=_i(null,e);return this.targets().add(t),t},merge(){let e=_i();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=_i();return this.targets().add(_i(null,null,lr(e,e=>{let n=e.dataflow;t.receive(e),n&&n.run&&n.run()}))),t},between(e,t){let n=!1;return e.targets().add(_i(null,null,()=>n=!0)),t.targets().add(_i(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=De,this._targets=null}};function vi(e,t,n,r){let i=this,a=_i(n,r),o=function(e){e.dataflow=i;try{a.receive(e)}catch(e){i.error(e)}finally{i.run()}},s;s=typeof e==`string`&&typeof document<`u`?document.querySelectorAll(e):k(e);let c=s.length;for(let e=0;e<c;++e)s[e].addEventListener(t,o);return a}function yi(e,t){let n=this.locale();return xe(e,t,n.timeParse,n.utcParse)}function bi(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function xi(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:`dataflow`,response:Ee(t&&t.type)});try{i=n.parse(i,t)}catch(t){r=-2,n.warn(`Data ingestion failed`,e,t)}}catch(t){r=-1,n.warn(`Loading failed`,e,t)}return{data:i,status:r}}async function Si(e,t,n){let r=this,i=r._pending||Ci(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(De).insert(a.data||[])),i.done(),a}function Ci(e){let t,n=new Promise(e=>t=e);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var wi={skip:!0};function Ti(e,t,n,r,i){return(e instanceof di?Di:Ei)(this,e,t,n,r,i),this}function Ei(e,t,n,r,i,a){let o=D({},a,wi),s,c;m(n)||(n=d(n)),r===void 0?s=t=>e.touch(n(t)):m(r)?(c=new di(null,r,i,!1),s=t=>{c.evaluate(t);let r=n(t),i=c.value;ni(i)?e.pulse(r,i,a):e.update(r,i,o)}):s=t=>e.update(n(t),r,o),t.apply(s)}function Di(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},s=new di(null,Oi(n,r),i,!1);s.modified(o.force),s.rank=t.rank,t.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),e.connect(n,[s]))}}function Oi(e,t){return t=m(t)?t:d(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function ki(e){e.rank=++this._rank}function Ai(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&&j(`Cycle detected in dataflow graph.`)}var ji={},Mi=1,Ni=2,Pi=4,Fi=3,Ii=5,Li=7,Ri=8,zi=16,Bi=32,Vi=64;function Hi(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function Ui(e,t){let n=[];return wr(e,t,e=>n.push(e)),n}function Wi(e,t){let n={};return e.visit(t,e=>{n[I(e)]=1}),e=>n[I(e)]?null:e}function Gi(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}Hi.prototype={StopPropagation:ji,ADD:Mi,REM:Ni,MOD:Pi,ADD_REM:Fi,ADD_MOD:Ii,ALL:Li,REFLOW:Ri,SOURCE:zi,NO_SOURCE:Bi,NO_FIELDS:Vi,fork(e){return new Hi(this.dataflow).init(this,e)},clone(){let e=this.fork(Li);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&=e.source.slice(),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length?e:(e=new Hi(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&Vi)&&(n.fields=e.fields),t&Mi?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&Ni?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Pi?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&Bi?(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||Li;return t&Mi&&this.add.length||t&Ni&&this.rem.length||t&Pi&&this.mod.length},reflow(e){if(e)return this.fork(Li).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Pi,Wi(this,Mi))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||={};return N(e)?e.forEach(e=>t[e]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?N(e)?e.some(e=>n[e]):n[e]:!!n:!1},filter(e,t){let n=this;return e&Mi&&(n.addF=Gi(n.addF,t)),e&Ni&&(n.remF=Gi(n.remF,t)),e&Pi&&(n.modF=Gi(n.modF,t)),e&zi&&(n.srcF=Gi(n.srcF,t)),n},materialize(e){e||=Li;let t=this;return e&Mi&&t.addF&&(t.add=Ui(t.add,t.addF),t.addF=null),e&Ni&&t.remF&&(t.rem=Ui(t.rem,t.remF),t.remF=null),e&Pi&&t.modF&&(t.mod=Ui(t.mod,t.modF),t.modF=null),e&zi&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&zi)return wr(n.source,n.srcF,r),n;e&Mi&&wr(n.add,n.addF,r),e&Ni&&wr(n.rem,n.remF,r),e&Pi&&wr(n.mod,n.modF,r);let i=n.source;if(e&Ri&&i){let e=n.add.length+n.mod.length;e===i.length||(e?wr(i,Wi(n,Ii),r):wr(i,n.srcF,r))}return n}};function Ki(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 e of n)if(e.stamp===t){if(e.fields){let t=i.fields||={};for(let n in e.fields)t[n]=1}e.changed(i.ADD)&&(a|=i.ADD),e.changed(i.REM)&&(a|=i.REM),e.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}F(Ki,Hi,{fork(e){let t=new Hi(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,e=>t.add.push(e)),e&t.REM&&this.visit(t.REM,e=>t.rem.push(e)),e&t.MOD&&this.visit(t.MOD,e=>t.mod.push(e))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?N(e)?e.some(e=>n[e]):n[e]:0},filter(){j(`MultiPulse does not support filtering.`)},materialize(){j(`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 See(e,t,n){let r=this,i=[];if(r._pulse)return qi(r);if(r._pending&&await r._pending,t&&await Kr(r,t),!r._touched.length)return r.debug(`Dataflow invoked, but nothing to do.`),r;let a=++r._clock;r._pulse=new Hi(r,a,e),r._touched.forEach(e=>r._enqueue(e,!0)),r._touched=Gr(fe);let o=0,s,c,l;try{for(;r._heap.size()>0;){if(s=r._heap.pop(),s.rank!==s.qrank){r._enqueue(s,!0);continue}c=s.run(r._getPulse(s,e)),c.then?c=await c:c.async&&(i.push(c.async),c=ji),c!==ji&&s._targets&&s._targets.forEach(e=>r._enqueue(e)),++o}}catch(e){r._heap.clear(),l=e}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),l&&(r._postrun=[],r.error(l)),r._postrun.length){let e=r._postrun.sort((e,t)=>t.priority-e.priority);r._postrun=[];for(let t=0;t<e.length;++t)await Kr(r,e[t].callback)}return n&&await Kr(r,n),i.length&&Promise.all(i).then(e=>r.runAsync(null,()=>{e.forEach(e=>{try{e(r)}catch(e){r.error(e)}})})),r}async function Cee(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 wee(e,t,n){return this._pulse?qi(this):(this.evaluate(e,t,n),this)}function Tee(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(e){this.error(e)}}function qi(e){return e.error(`Dataflow already running. Use runAsync() to chain invocations.`),e}function Eee(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function Dee(e,t){let n=e.source,r=this._clock;return n&&N(n)?new Ki(this,r,n.map(e=>e.pulse),t):this._input[e.id]||Oee(this._pulse,n&&n.pulse)}function Oee(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==ji&&(e.source=t.source),e)}var Ji={skip:!1,force:!1};function kee(e,t){let n=t||Ji;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function Aee(e,t,n){let r=n||Ji;return(e.set(t)||r.force)&&this.touch(e,r),this}function jee(e,t,n){this.touch(e,n||Ji);let r=new Hi(this,this._clock+ +!this._pulse),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function Mee(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),Yi(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,Nee(t,0,e)):r=n,r}}}function Yi(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 Nee(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,s;for(;o<i;)s=o+1,s<i&&n(e[o],e[s])>=0&&(o=s),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,Yi(e,r,t,n)}function Xi(){this.logger(Vn()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=he();try{this._loader=te()}catch{}this._touched=Gr(fe),this._input={},this._pulse=null,this._heap=Mee((e,t)=>e.qrank-t.qrank),this._postrun=[]}function Zi(e){return function(){return this._log[e].apply(this,arguments)}}Xi.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:Zi(`error`),warn:Zi(`warn`),info:Zi(`info`),debug:Zi(`debug`),logLevel:Zi(`level`),cleanThreshold:1e4,add:pi,connect:mi,rank:ki,rerank:Ai,pulse:jee,touch:kee,update:Aee,changeset:ri,ingest:bi,parse:yi,preload:Si,request:xi,events:vi,on:Ti,evaluate:See,run:wee,runAsync:Cee,runAfter:Tee,_enqueue:Eee,_getPulse:Dee};function L(e,t){di.call(this,e,null,t)}F(L,di,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||=e,t.then?t=t.then(e=>this.pulse=e):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 Qi={};function $i(e){let t=ea(e);return t&&t.Definition||null}function ea(e){return e&&=e.toLowerCase(),T(Qi,e)?Qi[e]:null}function*ta(e,t){if(t==null)for(let t of e)t!=null&&t!==``&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==``&&(r=+r)>=r&&(yield r)}}function na(e,t,n){let r=Float64Array.from(ta(e,n));return r.sort(Fe),t.map(e=>Pr(r,e))}function ra(e,t){return na(e,[.25,.5,.75],t)}function ia(e,t){let n=e.length,r=Er(e,t),i=ra(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 aa(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],s,c,l,u,d,f,p=e.span||o-a||Math.abs(a)||1;if(e.step)s=e.step;else if(e.steps){for(u=p/t,d=0,f=e.steps.length;d<f&&e.steps[d]<u;++d);s=e.steps[Math.max(0,d-1)]}else{for(c=Math.ceil(Math.log(t)/r),l=e.minstep||0,s=Math.max(l,n**+(Math.round(Math.log(p)/r)-c));Math.ceil(p/s)>t;)s*=n;for(d=0,f=i.length;d<f;++d)u=s/i[d],u>=l&&p/u<=t&&(s=u)}u=Math.log(s);let m=n**(-(u>=0?0:~~(-u/r)+1)-1);return(e.nice||e.nice===void 0)&&(u=Math.floor(a/s+m)*s,a=a<u?u-s:u,o=Math.ceil(o/s)*s),{start:a,stop:o===a?a+s:o,step:s}}var oa=Math.random;function sa(e){oa=e}function ca(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(ta(e,r)),a=i.length,o=t,s,c,l,u;for(l=0,u=Array(o);l<o;++l){for(s=0,c=0;c<a;++c)s+=i[~~(oa()*a)];u[l]=s/a}return u.sort(Fe),[Nr(u,n/2),Nr(u,1-n/2)]}function la(e,t,n,r){r||=(e=>e);let i=e.length,a=new Float64Array(i),o=0,s=1,c=r(e[0]),l=c,u=c+t,d;for(;s<i;++s){if(d=r(e[s]),d>=u){for(l=(c+l)/2;o<s;++o)a[o]=l;u=d+t,c=d}l=d}for(l=(c+l)/2;o<s;++o)a[o]=l;return n?ua(a,t+t/4):a}function ua(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 da(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function fa(e,t){t??(t=e,e=0);let n,r,i,a={min(e){return arguments.length?(n=e||0,i=r-n,a):n},max(e){return arguments.length?(r=e||0,i=r-n,a):r},sample(){return n+Math.floor(i*oa())},pdf(e){return e===Math.floor(e)&&e>=n&&e<r?1/i:0},cdf(e){let t=Math.floor(e);return t<n?0:t>=r?1:(t-n+1)/i},icdf(e){return e>=0&&e<=1?n-1+Math.floor(e*i):NaN}};return a.min(e).max(t)}var pa=Math.sqrt(2*Math.PI),ma=Math.SQRT2,ha=NaN;function ga(e,t){e||=0,t??=1;let n=0,r=0,i,a;if(ha===ha)n=ha,ha=NaN;else{do n=oa()*2-1,r=oa()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,ha=r*a}return e+n*t}function _a(e,t,n){n??=1;let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*pa)}function va(e,t,n){t||=0,n??=1;let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let e=Math.exp(-i*i/2),t;i<7.07106781186547?(t=.0352624965998911*i+.700383064443688,t=t*i+6.37396220353165,t=t*i+33.912866078383,t=t*i+112.079291497871,t=t*i+221.213596169931,t=t*i+220.206867912376,a=e*t,t=.0883883476483184*i+1.75566716318264,t=t*i+16.064177579207,t=t*i+86.7807322029461,t=t*i+296.564248779674,t=t*i+637.333633378831,t=t*i+793.826512519948,t=t*i+440.413735824752,a/=t):(t=i+.65,t=i+4/t,t=i+3/t,t=i+2/t,t=i+1/t,a=e/t/2.506628274631)}return r>0?1-a:a}function ya(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*ma*ba(2*e-1)}function ba(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=1.0512122733215323e-9+n*t,n=-4.112633980346984e-9+n*t,n=-2.9070369957882005e-8+n*t,n=4.2347877827932404e-7+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=2.2137376921775787e-9,n=9.075656193888539e-8+n*t,n=-2.7517406297064545e-7+n*t,n=1.8239629214389228e-8+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=1.5076572693500548e-9+n*t,n=-3.789465440126737e-9+n*t,n=7.61570120807834e-9+n*t,n=-1.496002662714924e-8+n*t,n=2.914795345090108e-8+n*t,n=-6.771199775845234e-8+n*t,n=2.2900482228026655e-7+n*t,n=-9.9298272942317e-7+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 xa(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>ga(n,r),pdf:e=>_a(e,n,r),cdf:e=>va(e,n,r),icdf:e=>ya(e,n,r)};return i.mean(e).stdev(t)}function Sa(e,t){let n=xa(),r=0,i={data(n){return arguments.length?(e=n,r=n?n.length:0,i.bandwidth(t)):e},bandwidth(n){return arguments.length?(t=n,!t&&e&&(t=ia(e)),i):t},sample(){return e[~~(oa()*r)]+t*n.sample()},pdf(i){let a=0,o=0;for(;o<r;++o)a+=n.pdf((i-e[o])/t);return a/t/r},cdf(i){let a=0,o=0;for(;o<r;++o)a+=n.cdf((i-e[o])/t);return a/r},icdf(){throw Error(`KDE icdf not supported.`)}};return i.data(e)}function Ca(e,t){return e||=0,t??=1,Math.exp(e+ga()*t)}function wa(e,t,n){if(e<=0)return 0;t||=0,n??=1;let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*pa*e)}function Ta(e,t,n){return va(Math.log(e),t,n)}function Ea(e,t,n){return Math.exp(ya(e,t,n))}function Da(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>Ca(n,r),pdf:e=>wa(e,n,r),cdf:e=>Ta(e,n,r),icdf:e=>Ea(e,n,r)};return i.mean(e).stdev(t)}function Oa(e,t){let n=0,r;function i(e){let t=[],r=0,i;for(i=0;i<n;++i)r+=t[i]=e[i]==null?1:+e[i];for(i=0;i<n;++i)t[i]/=r;return t}let a={weights(e){return arguments.length?(r=i(t=e||[]),a):t},distributions(r){return arguments.length?(r?(n=r.length,e=r):(n=0,e=[]),a.weights(t)):e},sample(){let t=oa(),i=e[n-1],a=r[0],o=0;for(;o<n-1;a+=r[++o])if(t<a){i=e[o];break}return i.sample()},pdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].pdf(t);return i},cdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].cdf(t);return i},icdf(){throw Error(`Mixture icdf not supported.`)}};return a.distributions(e).weights(t)}function ka(e,t){return t??(t=e??1,e=0),e+(t-e)*oa()}function Aa(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function ja(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function Ma(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function Na(e,t){let n,r,i={min(e){return arguments.length?(n=e||0,i):n},max(e){return arguments.length?(r=e??1,i):r},sample:()=>ka(n,r),pdf:e=>Aa(e,n,r),cdf:e=>ja(e,n,r),icdf:e=>Ma(e,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function Pa(e,t,n){let r=0,i=0;for(let a of e){let e=n(a);t(a)==null||e==null||isNaN(e)||(r+=(e-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Fa(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 Ia(e,t,n,r){e=e.filter(e=>{let r=t(e),i=n(e);return r!=null&&(r=+r)>=r&&i!=null&&(i=+i)>=i}),r&&e.sort((e,n)=>t(e)-t(n));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),s=0,c=0,l=0,u,d,f;for(f of e)a[s]=u=+t(f),o[s]=d=+n(f),++s,c+=(u-c)/s,l+=(d-l)/s;for(s=0;s<i;++s)a[s]-=c,o[s]-=l;return[a,o,c,l]}function La(e,t,n,r){let i=-1,a,o;for(let s of e)a=t(s),o=n(s),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function Ra(e,t,n,r,i){let a=0,o=0;return La(e,t,n,(e,t)=>{let n=t-i(e),s=t-r;a+=n*n,o+=s*s}),1-a/o}function za(e,t,n){let r=0,i=0,a=0,o=0,s=0;La(e,t,n,(e,t)=>{++s,r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=Fa(r,i,a,o),l=e=>c[0]+c[1]*e;return{coef:c,predict:l,rSquared:Ra(e,t,n,i,l)}}function Ba(e,t,n){let r=0,i=0,a=0,o=0,s=0;La(e,t,n,(e,t)=>{++s,e=Math.log(e),r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=Fa(r,i,a,o),l=e=>c[0]+c[1]*Math.log(e);return{coef:c,predict:l,rSquared:Ra(e,t,n,i,l)}}function Va(e,t,n){let[r,i,a,o]=Ia(e,t,n),s=0,c=0,l=0,u=0,d=0,f,p,m;La(e,t,n,(e,t)=>{f=r[d++],p=Math.log(t),m=f*t,s+=(t*p-s)/d,c+=(m-c)/d,l+=(m*p-l)/d,u+=(f*m-u)/d});let[h,g]=Fa(c/o,s/o,l/o,u/o),_=e=>Math.exp(h+g*(e-a));return{coef:[Math.exp(h-g*a),g],predict:_,rSquared:Ra(e,t,n,o,_)}}function Ha(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0;La(e,t,n,(e,t)=>{let n=Math.log(e),l=Math.log(t);++c,r+=(n-r)/c,i+=(l-i)/c,a+=(n*l-a)/c,o+=(n*n-o)/c,s+=(t-s)/c});let l=Fa(r,i,a,o),u=e=>l[0]*e**+l[1];return l[0]=Math.exp(l[0]),{coef:l,predict:u,rSquared:Ra(e,t,n,s,u)}}function Ua(e,t,n){let[r,i,a,o]=Ia(e,t,n),s=r.length,c=0,l=0,u=0,d=0,f=0,p,m,h,g;for(p=0;p<s;)m=r[p],h=i[p++],g=m*m,c+=(g-c)/p,l+=(g*m-l)/p,u+=(g*g-u)/p,d+=(m*h-d)/p,f+=(g*h-f)/p;let _=u-c*c,v=c*_-l*l,y=(f*c-d*l)/v,b=(d*_-f*l)/v,x=-y*c,S=e=>(e-=a,y*e*e+b*e+x+o);return{coef:[x-b*a+y*a*a+o,b-2*y*a,y],predict:S,rSquared:Ra(e,t,n,o,S)}}function Wa(e,t,n,r){if(r===0)return Pa(e,t,n);if(r===1)return za(e,t,n);if(r===2)return Ua(e,t,n);let[i,a,o,s]=Ia(e,t,n),c=i.length,l=[],u=[],d=r+1,f,p,m,h,g;for(f=0;f<d;++f){for(m=0,h=0;m<c;++m)h+=i[m]**+f*a[m];for(l.push(h),g=new Float64Array(d),p=0;p<d;++p){for(m=0,h=0;m<c;++m)h+=i[m]**+(f+p);g[p]=h}u.push(g)}u.push(l);let _=Ka(u),v=e=>{e-=o;let t=s+_[0]+_[1]*e+_[2]*e*e;for(f=3;f<d;++f)t+=_[f]*e**+f;return t};return{coef:Ga(d,_,-o,s),predict:v,rSquared:Ra(e,t,n,s,v)}}function Ga(e,t,n,r){let i=Array(e),a,o,s,c;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(s=t[a],c=1,i[a]+=s,o=1;o<=a;++o)c*=(a+1-o)/o,i[a-o]+=s*n**+o*c;return i[0]+=r,i}function Ka(e){let t=e.length-1,n=[],r,i,a,o,s;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)s=e[a][r],e[a][r]=e[a][o],e[a][o]=s;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(s=0,a=i+1;a<t;++a)s+=e[a][i]*n[a];n[i]=(e[t][i]-s)/e[i][i]}return n}var qa=2,Ja=1e-12;function Ya(e,t,n,r){let[i,a,o,s]=Ia(e,t,n,!0),c=i.length,l=Math.max(2,~~(r*c)),u=new Float64Array(c),d=new Float64Array(c),f=new Float64Array(c).fill(1);for(let e=-1;++e<=qa;){let t=[0,l-1];for(let e=0;e<c;++e){let n=i[e],r=t[0],o=t[1],s=n-i[r]>i[o]-n?r:o,c=0,l=0,p=0,m=0,h=0,g=1/Math.abs(i[s]-n||1);for(let e=r;e<=o;++e){let t=i[e],r=a[e],o=Xa(Math.abs(n-t)*g)*f[e],s=t*o;c+=o,l+=s,p+=r*o,m+=r*s,h+=t*s}let[_,v]=Fa(l/c,p/c,m/c,h/c);u[e]=_+v*n,d[e]=Math.abs(a[e]-u[e]),Za(i,e+1,t)}if(e===qa)break;let n=Ir(d);if(Math.abs(n)<Ja)break;for(let e=0,t,r;e<c;++e)t=d[e]/(6*n),f[e]=t>=1?Ja:(r=1-t*t)*r}return Qa(i,u,o,s)}function Xa(e){return(e=1-e*e*e)*e*e}function Za(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 Qa(e,t,n,r){let i=e.length,a=[],o=0,s=0,c=[],l;for(;o<i;++o)l=e[o]+n,c[0]===l?c[1]+=(t[o]-c[1])/++s:(s=0,c[1]+=r,c=[l,t[o]],a.push(c));return c[1]+=r,a}var $a=.5*Math.PI/180;function eo(e,t,n,r){n||=25,r=Math.max(n,r||200);let i=t=>[t,e(t)],a=t[0],o=t[1],s=o-a,c=s/r,l=[i(a)],u=[];if(n===r){for(let e=1;e<r;++e)l.push(i(a+e/n*s));return l.push(i(o)),l}u.push(i(o));for(let e=n;--e>0;)u.push(i(a+e/n*s));let d=l[0],f=u[u.length-1],p=1/s,m=to(d[1],u);for(;f;){let e=i((d[0]+f[0])/2);e[0]-d[0]>=c&&no(d,e,f,p,m)>$a?u.push(e):(d=f,l.push(f),u.pop()),f=u[u.length-1]}return l}function to(e,t){let n=e,r=e,i=t.length;for(let e=0;e<i;++e){let i=t[e][1];i<n&&(n=i),i>r&&(r=i)}return 1/(r-n)}function no(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 ro=t({aggregate:()=>Co,bin:()=>To,collect:()=>Do,compare:()=>Oo,countpattern:()=>Ao,cross:()=>Mo,density:()=>zo,dotbin:()=>Ko,expression:()=>Jo,extent:()=>Xo,facet:()=>Qo,field:()=>$o,filter:()=>ts,flatten:()=>ns,fold:()=>rs,formula:()=>is,generate:()=>as,impute:()=>cs,joinaggregate:()=>fs,kde:()=>ps,key:()=>ms,load:()=>gs,lookup:()=>ys,multiextent:()=>bs,multivalues:()=>Ss,params:()=>ws,pivot:()=>Ts,prefacet:()=>ks,project:()=>As,proxy:()=>Ms,quantile:()=>Ns,relay:()=>Ps,sample:()=>Fs,sequence:()=>Is,sieve:()=>Ls,subflow:()=>Zo,timeunit:()=>Rs,tupleindex:()=>Bs,values:()=>Vs,window:()=>Gs});function io(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 ao(e){return!e||!e.length?function(){return``}:e.length===1?e[0]:io(e)}function oo(e,t,n){return n||e+(t?`_`+t:``)}var so=()=>{},co={init:so,add:so,rem:so,idx:0},lo={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}},uo=Object.keys(lo).filter(e=>e!==`__count__`);function fo(e,t){return(n,r)=>D({name:e,aggregate_param:r,out:n||e},co,t)}[...uo,`__count__`].forEach(e=>{lo[e]=fo(e,lo[e])});function po(e,t,n){return lo[e](n,t)}function mo(e,t){return e.idx-t.idx}function ho(e){let t={};e.forEach(e=>t[e.name]=e);let n=e=>{e.req&&e.req.forEach(e=>{t[e]||n(t[e]=lo[e]())})};return e.forEach(n),Object.values(t).sort(mo)}function go(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function _o(e,t){if(e==null||e===``){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function vo(e,t){if(e==null||e===``){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function yo(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function bo(e,t){let n=t||ne,r=ho(e),i=e.slice().sort(mo);function a(e){this._ops=r,this._out=i,this.cell=e,this.init()}return a.prototype.init=go,a.prototype.add=_o,a.prototype.rem=vo,a.prototype.set=yo,a.prototype.get=n,a.fields=e.map(e=>e.out),a}function xo(e){this._key=e?ge(e):I,this.reset()}var So=xo.prototype;So.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},So.add=function(e){this._add.push(e)},So.rem=function(e){this._rem.push(e)},So.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={},s,c,l;for(s=0;s<i;++s)o[n(t[s])]=1;for(s=0,c=0;s<r;++s)o[n(l=e[s])]?o[n(l)]=0:a[c++]=l;return this._rem=[],this._add=a},So.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+``,T(n,a)||(n[a]=1,++i);return i},So.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=dr(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},So.argmin=function(e){return this.extent(e)[0]||{}},So.argmax=function(e){return this.extent(e)[1]||{}},So.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},So.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},So.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=ra(this.values(),e),this._get=e),this._q},So.q1=function(e){return this.quartile(e)[0]},So.q2=function(e){return this.quartile(e)[1]},So.q3=function(e){return this.quartile(e)[2]},So.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=ca(this.values(),1e3,.05,e),this._get=e),this._ci},So.ci0=function(e){return this.ci(e)[0]},So.ci1=function(e){return this.ci(e)[1]};function Co(e){L.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}Co.Definition={type:`Aggregate`,metadata:{generates:!0,changes:!0},params:[{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:uo},{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`}]},F(Co,L,{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,e=>n.add(e))):(n.value=n.value||n.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),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(e){let t,a,o,s;for(t in e)for(o=e[t].tuple,a=0;a<i;++a)r[a][s=o[n[a]]]=s}a(e._prev),a(t);function o(a,s,c){let l=n[c],u=r[c++];for(let n in u){let r=a?a+`|`+n:n;s[l]=u[n],c<i?o(r,s,c):t[r]||e.cell(r,s)}}o(``,{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(e){let n=k(Ce(e)),i=n.length,a=0,o;for(;a<i;++a)r[o=n[a]]||(r[o]=1,t.push(o))}this._dims=k(e.groupby),this._dnames=this._dims.map(e=>{let t=ve(e);return i(e),n.push(t),t}),this.cellkey=e.key?e.key:ao(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||[`count`],s=e.aggregate_params||[null],c=e.as||[],l=a.length,u={},d,f,p,m,h,g,_;for(l!==o.length&&j(`Unmatched number of fields and aggregate ops.`),_=0;_<l;++_){if(d=a[_],f=o[_],p=s[_]||null,d==null&&f!==`count`&&j(`Null aggregate field specified.`),h=ve(d),g=oo(f,h,c[_]),n.push(g),f===`count`){this._counts.push(g);continue}m=u[h],m||(i(d),m=u[h]=[],m.field=d,this._measures.push(m)),f!==`count`&&(this._countOnly=!1),m.push(po(f,p,g))}return this._measures=this._measures.map(e=>bo(e,e.field)),Object.create(null)},cellkey:ao(),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 e=this._measures,t=e.length;n.agg=Array(t);for(let r=0;r<t;++r)n.agg[r]=new e[r](n)}return n.store&&(n.data=new xo),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let t=0;t<i;++t)a[n[t]]=r[t](e);return t?ei(t.tuple,a):Zr(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 t=0,n=r.length;t<n;++t)r[t].add(r[t].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 t=0,n=r.length;t<n;++t)r[t].rem(r[t].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 n=e.agg;for(let e=0,r=n.length;e<r;++e)n[e].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,s=e.mod,c,l,u,d;if(r)for(l in r)c=r[l],(!i||c.num)&&o.push(c.tuple);for(u=0,d=this._alen;u<d;++u)a.push(this.celltuple(t[u])),t[u]=null;for(u=0,d=this._mlen;u<d;++u)c=n[u],(c.num===0&&i?o:s).push(this.celltuple(c)),n[u]=null;return this._alen=this._mlen=0,this._prev=null,e}});var wo=1e-14;function To(e){L.call(this,null,e)}To.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`]}]},F(To,L,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||[`bin0`,`bin1`],s=o[0],c=o[1],l;return e.modified()?(t=t.reflow(!0),l=t.SOURCE):l=t.modified(Ce(e.field))?t.ADD_MOD:t.ADD,t.visit(l,n?e=>{let t=r(e);e[s]=t,e[c]=t==null?null:i+a*(1+(t-i)/a)}:e=>e[s]=r(e)),t.modifies(n?o:s)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=aa(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,s;(o=e.anchor)!=null&&(s=o-(i+r*Math.floor((o-i)/r)),i+=s,a+=s);let c=function(e){let n=O(t(e));return n==null?null:n<i?-1/0:n>a?1/0:(n=Math.max(i,Math.min(n,a-r)),i+r*Math.floor(wo+(n-i)/r))};return c.start=i,c.stop=n.stop,c.step=r,this.value=ce(c,Ce(t),e.name||`bin_`+ve(t))}});function Eo(e,t,n){let r=e,i=t||[],a=n||[],o={},s=0;return{add:e=>a.push(e),remove:e=>o[r(e)]=++s,size:()=>i.length,data:(e,t)=>(s&&=(i=i.filter(e=>!o[r(e)]),o={},0),t&&e&&i.sort(e),a.length&&(i=e?br(e,i,a.sort(e)):i.concat(a),a=[]),i)}}function Do(e){L.call(this,[],e)}Do.Definition={type:`Collect`,metadata:{source:!0},params:[{name:`sort`,type:`compare`}]},F(Do,L,{transform(e,t){let n=t.fork(t.ALL),r=Eo(I,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(ti(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function Oo(e){di.call(this,null,ko,e)}F(Oo,di);function ko(e){return this.value&&!e.modified()?this.value:we(e.fields,e.orders)}function Ao(e){L.call(this,null,e)}Ao.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 jo(e,t,n){switch(t){case`upper`:e=e.toUpperCase();break;case`lower`:e=e.toLowerCase()}return e.match(n)}F(Ao,L,{transform(e,t){let n=t=>n=>{for(var r=jo(s(n),e.case,a)||[],i,c=0,l=r.length;c<l;++c)o.test(i=r[c])||t(i)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,s=e.field,c=e.as||[`text`,`count`],l=n(e=>i[e]=1+(i[e]||0)),u=n(e=>--i[e]);return r?t.visit(t.SOURCE,l):(t.visit(t.ADD,l),t.visit(t.REM,u)),this._finish(t,c)},_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||={},i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),s,c,l;for(s in n)c=r[s],l=n[s]||0,!c&&l?(r[s]=c=Zr({}),c[i]=s,c[a]=l,o.add.push(c)):l===0?(c&&o.rem.push(c),n[s]=null,r[s]=null):c[a]!==l&&(c[a]=l,o.mod.push(c));return o.modifies(t)}});function Mo(e){L.call(this,null,e)}Mo.Definition={type:`Cross`,metadata:{generates:!0},params:[{name:`filter`,type:`expr`},{name:`as`,type:`string`,array:!0,length:2,default:[`a`,`b`]}]},F(Mo,L,{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`),s=this.value;return o?(s&&(n.rem=s),s=t.materialize(t.SOURCE).source,n.add=this.value=No(s,i,a,e.filter||De)):n.mod=s,n.source=this.value,n.modifies(r)}});function No(e,t,n,r){for(var i=[],a={},o=e.length,s=0,c,l;s<o;++s)for(a[t]=l=e[s],c=0;c<o;++c)a[n]=e[c],r(a)&&(i.push(Zr(a)),a={},a[t]=l);return i}var Po={kde:Sa,mixture:Oa,normal:xa,lognormal:Da,uniform:Na},Fo=`distributions`,Io=`function`,Lo=`field`;function Ro(e,t){let n=e[Io];T(Po,n)||j(`Unknown distribution function: `+n);let r=Po[n]();for(let n in e)n===Lo?r.data((e.from||t()).map(e[n])):n===Fo?r[n](e[n].map(e=>Ro(e,t))):typeof r[n]===Io&&r[n](e[n]);return r}function zo(e){L.call(this,null,e)}var Bo=[{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}]}],Vo={key:{function:`mixture`},params:[{name:`distributions`,type:`param`,array:!0,params:Bo},{name:`weights`,type:`number`,array:!0}]};zo.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:Bo.concat(Vo)},{name:`as`,type:`string`,array:!0,default:[`value`,`density`]}]},F(zo,L,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=Ro(e.distribution,Ho(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||`pdf`;o!==`pdf`&&o!==`cdf`&&j(`Invalid density method: `+o),!e.extent&&!r.data&&j(`Missing density extent parameter.`),o=r[o];let s=e.as||[`value`,`density`],c=e.extent||ur(r.data()),l=eo(o,c,i,a).map(e=>{let t={};return t[s[0]]=e[0],t[s[1]]=e[1],Zr(t)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function Ho(e){return()=>e.materialize(e.SOURCE).source}function Uo(e,t){return e?e.map((e,n)=>t[n]||ve(e)):null}function Wo(e,t,n){let r=[],i=e=>e(c),a,o,s,c,l,u;if(t==null)r.push(e.map(n));else for(a={},o=0,s=e.length;o<s;++o)c=e[o],l=t.map(i),u=a[l],u||(a[l]=u=[],u.dims=l,r.push(u)),u.push(n(c));return r}var Go=`bin`;function Ko(e){L.call(this,null,e)}Ko.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:Go}]};var qo=(e,t)=>g(ur(e,t))/30;F(Ko,L,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=Wo(t.source,e.groupby,ne),i=e.smooth||!1,a=e.field,o=e.step||qo(n,a),s=ti((e,t)=>a(e)-a(t)),c=e.as||Go,l=r.length,u=1/0,d=-1/0,f=0,p;for(;f<l;++f){let e=r[f].sort(s);p=-1;for(let t of la(e,o,i,a))t<u&&(u=t),t>d&&(d=t),e[++p][c]=t}return this.value={start:u,stop:d,step:o},t.reflow(!0).modifies(c)}});function Jo(e){di.call(this,null,Yo,e),this.modified(!0)}F(Jo,di);function Yo(e){let t=e.expr;return this.value&&!e.modified(`expr`)?this.value:ce(n=>t(n,e),Ce(t),ve(t))}function Xo(e){L.call(this,[void 0,void 0],e)}Xo.Definition={type:`Extent`,metadata:{},params:[{name:`field`,type:`field`,required:!0}]},F(Xo,L,{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,e=>{let t=O(r(e));t!=null&&(t<a&&(a=t),t>o&&(o=t))}),!Number.isFinite(a)||!Number.isFinite(o)){let e=ve(r);e&&=` for field "${e}"`,t.dataflow.warn(`Infinite extent${e}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Zo(e,t){di.call(this,e),this.parent=t,this.count=0}F(Zo,di,{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 Qo(e){L.call(this,{},e),this._keys=pr();let t=this._targets=[];t.active=0,t.forEach=e=>{for(let n=0,r=t.active;n<r;++n)e(t[n],n,t)}}F(Qo,L,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=T(i,e)&&i[e],o,s;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(s=r||(s=this._group[e])&&s.tuple,o=n.dataflow,a=new Zo(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,s)),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 e=this._targets.filter(e=>e&&e.count>0);this.initTargets(e)}},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`),s=e=>this.subflow(e,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,e=>{let t=I(e),n=a.get(t);n!==void 0&&(a.delete(t),s(n).rem(e))}),t.visit(t.ADD,e=>{let t=r(e);a.set(I(e),t),s(t).add(e)}),o||t.modified(r.fields)?t.visit(t.MOD,e=>{let t=I(e),n=a.get(t),i=r(e);n===i?s(i).mod(e):(a.set(t,i),s(n).rem(e),s(i).add(e))}):t.changed(t.MOD)&&t.visit(t.MOD,e=>{s(a.get(I(e))).mod(e)}),o&&t.visit(t.REFLOW,e=>{let t=I(e),n=a.get(t),i=r(e);n!==i&&(a.set(t,i),s(n).rem(e),s(i).add(e))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function $o(e){di.call(this,null,es,e)}F($o,di);function es(e){return this.value&&!e.modified()?this.value:N(e.name)?k(e.name).map(e=>ge(e)):ge(e.name,e.as)}function ts(e){L.call(this,pr(),e)}ts.Definition={type:`Filter`,metadata:{changes:!0},params:[{name:`expr`,type:`expr`,required:!0}]},F(ts,L,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,s=i.mod,c=e.expr,l=!0;t.visit(t.REM,e=>{let t=I(e);r.has(t)?r.delete(t):o.push(e)}),t.visit(t.ADD,t=>{c(t,e)?a.push(t):r.set(I(t),1)});function u(t){let n=I(t),i=c(t,e),u=r.get(n);i&&u?(r.delete(n),a.push(t)):!i&&!u?(r.set(n,1),o.push(t)):l&&i&&!u&&s.push(t)}return t.visit(t.MOD,u),e.modified()&&(l=!1,t.visit(t.REFLOW,u)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function ns(e){L.call(this,[],e)}ns.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}]},F(ns,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Uo(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{let t=r.map(t=>t(e)),s=t.reduce((e,t)=>Math.max(e,t.length),0),c=0,l,u;for(;c<s;++c){for(u=Qr(e),l=0;l<o;++l)u[i[l]]=t[l][c]??null;a&&(u[a]=c),n.add.push(u)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function rs(e){L.call(this,[],e)}rs.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`]}]},F(rs,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(ve),a=e.as||[`key`,`value`],o=a[0],s=a[1],c=r.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{for(let t=0,a;t<c;++t)a=Qr(e),a[o]=i[t],a[s]=r[t](e),n.add.push(a)}),this.value=n.source=n.add,n.modifies(a)}});function is(e){L.call(this,null,e)}is.Definition={type:`Formula`,metadata:{modifies:!0},params:[{name:`expr`,type:`expr`,required:!0},{name:`as`,type:`string`,required:!0},{name:`initonly`,type:`boolean`}]},F(is,L,{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,t=>t[r]=n(t,e))}});function as(e){L.call(this,[],e)}F(as,L,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,s,c;if(a>0){for(o=[];--a>=0;)o.push(c=Zr(r(e))),i.push(c);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else s=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(s):s,i=i.slice(-a);return n.source=this.value=i,n}});var os={value:`value`,median:Ir,mean:Fr,min:it,max:ot},ss=[];function cs(e){L.call(this,[],e)}cs.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 ls(e){var t=e.method||os.value,n;if(os[t]==null)j(`Unrecognized imputation method: `+t);else if(t===os.value)return n=e.value===void 0?0:e.value,()=>n;else return os[t]}function us(e){let t=e.field;return e=>e?t(e):NaN}F(cs,L,{transform(e,t){var n=t.fork(t.ALL),r=ls(e),i=us(e),a=ve(e.field),o=ve(e.key),s=(e.groupby||[]).map(ve),c=ds(t.source,e.groupby,e.key,e.keyvals),l=[],u=this.value,d=c.domain.length,f,p,m,h,g,_,v,y,b,x;for(g=0,y=c.length;g<y;++g)for(f=c[g],m=f.values,p=NaN,v=0;v<d;++v)if(f[v]==null){for(h=c.domain[v],x={_impute:!0},_=0,b=m.length;_<b;++_)x[s[_]]=m[_];x[o]=h,x[a]=Number.isNaN(p)?p=r(f,i):p,l.push(Zr(x))}return l.length&&(n.add=n.materialize(n.ADD).add.concat(l)),u.length&&(n.rem=n.materialize(n.REM).rem.concat(u)),this.value=l,n}});function ds(e,t,n,r){var i=e=>e(g),a=[],o=r?r.slice():[],s={},c={},l,u,d,f,p,m,h,g;for(o.forEach((e,t)=>s[e]=t+1),f=0,h=e.length;f<h;++f)g=e[f],m=n(g),p=s[m]||(s[m]=o.push(m)),u=(l=t?t.map(i):ss)+``,(d=c[u])||(d=c[u]=[],a.push(d),d.values=l),d[p-1]=g;return a.domain=o,a}function fs(e){Co.call(this,e)}fs.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:uo},{name:`as`,type:`string`,null:!0,array:!0},{name:`key`,type:`field`}]},F(fs,Co,{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,e=>n.add(e))):(i=n.value=n.value||this.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),n.changes(),t.visit(t.SOURCE,e=>{D(e,i[n.cellkey(e)].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 ps(e){L.call(this,null,e)}ps.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`]}]},F(ps,L,{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=Wo(r,e.groupby,e.field),a=(e.groupby||[]).map(ve),o=e.bandwidth,s=e.cumulative?`cdf`:`pdf`,c=e.as||[`value`,`density`],l=[],u=e.extent,d=e.steps||e.minsteps||25,f=e.steps||e.maxsteps||200;s!==`pdf`&&s!==`cdf`&&j(`Invalid density method: `+s),e.resolve===`shared`&&(u||=ur(r,e.field),d=f=e.steps||f),i.forEach(t=>{let n=Sa(t,o)[s],r=e.counts?t.length:1;eo(n,u||ur(t),d,f).forEach(e=>{let n={};for(let e=0;e<a.length;++e)n[a[e]]=t.dims[e];n[c[0]]=e[0],n[c[1]]=e[1]*r,l.push(Zr(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function ms(e){di.call(this,null,hs,e)}F(ms,di);function hs(e){return this.value&&!e.modified()?this.value:S(e.fields,e.flat)}function gs(e){L.call(this,[],e),this._pending=null}F(gs,L,{transform(e,t){let n=t.dataflow;return this._pending?vs(this,t,this._pending):_s(e)?t.StopPropagation:e.values?vs(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(e=>(this._pending=k(e.data),e=>e.touch(this)))}:n.request(e.url,e.format).then(e=>vs(this,t,k(e.data)))}});function _s(e){return e.modified(`async`)&&!(e.modified(`values`)||e.modified(`url`)||e.modified(`format`))}function vs(e,t,n){n.forEach(Zr);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 ys(e){L.call(this,{},e)}ys.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}]},F(ys,L,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),s=n.length,c=o?t.SOURCE:t.ADD,l=t,u=e.as,d,f,p;return i?(f=i.length,s>1&&!u&&j(`Multi-field lookup requires explicit "as" parameter.`),u&&u.length!==s*f&&j(`The "as" parameter has too few output field names.`),u||=i.map(ve),d=function(e){for(var t=0,o=0,c,l;t<s;++t)if(l=r.get(n[t](e)),l==null)for(c=0;c<f;++c,++o)e[u[o]]=a;else for(c=0;c<f;++c,++o)e[u[o]]=i[c](l)}):(u||j(`Missing output field names.`),d=function(e){for(var t=0,i;t<s;++t)i=r.get(n[t](e)),e[u[t]]=i??a}),o?l=t.reflow(!0):(p=n.some(e=>t.modified(e.fields)),c|=p?t.MOD:0),t.visit(c,d),l.modifies(u)}});function bs(e){di.call(this,null,xs,e)}F(bs,di);function xs(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 Ss(e){di.call(this,null,Cs,e)}F(Ss,di);function Cs(e){return this.value&&!e.modified()?this.value:e.values.reduce((e,t)=>e.concat(t),[])}function ws(e){L.call(this,null,e)}F(ws,L,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function Ts(e){Co.call(this,e)}Ts.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:uo,default:`sum`},{name:`limit`,type:`number`,default:0},{name:`key`,type:`field`}]},F(Ts,Co,{_transform:Co.prototype.transform,transform(e,t){return this._transform(Es(e,t),t)}});function Es(e,t){let n=e.field,r=e.value,i=(e.op===`count`?`__count__`:e.op)||`sum`,a=Ce(n).concat(Ce(r)),o=Os(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(e=>Ds(e,n,r,a)),as:o.map(e=>e+``),modified:e.modified.bind(e)}}function Ds(e,t,n,r){return ce(r=>t(r)===e?n(r):NaN,r,e+``)}function Os(e,t,n){let r={},i=[];return n.visit(n.SOURCE,t=>{let n=e(t);r[n]||(r[n]=1,i.push(n))}),i.sort(h),t?i.slice(0,t):i}function ks(e){Qo.call(this,e)}F(ks,Qo,{transform(e,t){let n=e.subflow,r=e.field,i=e=>this.subflow(I(e),n,t,e);return(e.modified(`field`)||r&&t.modified(Ce(r)))&&j(`PreFacet does not support field modification.`),this.initTargets(),r?(t.visit(t.MOD,e=>{let t=i(e);r(e).forEach(e=>t.mod(e))}),t.visit(t.ADD,e=>{let t=i(e);r(e).forEach(e=>t.add(Zr(e)))}),t.visit(t.REM,e=>{let t=i(e);r(e).forEach(e=>t.rem(e))})):(t.visit(t.MOD,e=>i(e).mod(e)),t.visit(t.ADD,e=>i(e).add(e)),t.visit(t.REM,e=>i(e).rem(e))),t.clean()&&t.runAfter(()=>this.clean()),t}});function As(e){L.call(this,null,e)}As.Definition={type:`Project`,metadata:{generates:!0,changes:!0},params:[{name:`fields`,type:`field`,array:!0},{name:`as`,type:`string`,null:!0,array:!0}]},F(As,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Uo(e.fields,e.as||[]),a=r?(e,t)=>js(e,t,r,i):$r,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,e=>{let t=I(e);n.rem.push(o[t]),o[t]=null}),t.visit(t.ADD,e=>{let t=a(e,Zr({}));o[I(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{n.mod.push(a(e,o[I(e)]))}),n}});function js(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function Ms(e){L.call(this,null,e)}F(Ms,L,{transform(e,t){return this.value=e.value,e.modified(`value`)?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Ns(e){L.call(this,null,e)}Ns.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`]}]},F(Ns,L,{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=Wo(i,e.groupby,e.field),o=(e.groupby||[]).map(ve),s=[],c=e.step||.01,l=e.probs||ct(c/2,.99999999999999,c),u=l.length;return a.forEach(e=>{let t=na(e,l);for(let n=0;n<u;++n){let i={};for(let t=0;t<o.length;++t)i[o[t]]=e.dims[t];i[r[0]]=l[n],i[r[1]]=t[n],s.push(Zr(i))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s,n}});function Ps(e){L.call(this,null,e)}F(Ps,L,{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,e=>{let t=I(e);n.rem.push(r[t]),r[t]=null}),t.visit(t.ADD,e=>{let t=Qr(e);r[I(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{let t=r[I(e)];for(let r in e)t[r]=e[r],n.modifies(r);n.mod.push(t)})),n}});function Fs(e){L.call(this,[],e),this.count=0}Fs.Definition={type:`Sample`,metadata:{},params:[{name:`size`,type:`number`,default:1e3}]},F(Fs,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified(`size`),i=e.size,a=this.value.reduce((e,t)=>(e[I(t)]=1,e),{}),o=this.value,s=this.count,c=0;function l(e){let t,r;o.length<i?o.push(e):(r=~~((s+1)*oa()),r<o.length&&r>=c&&(t=o[r],a[I(t)]&&n.rem.push(t),o[r]=e)),++s}if(t.rem.length&&(t.visit(t.REM,e=>{let t=I(e);a[t]&&(a[t]=-1,n.rem.push(e)),--s}),o=o.filter(e=>a[I(e)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(c=s=o.length,t.visit(t.SOURCE,e=>{a[I(e)]||l(e)}),c=-1),r&&o.length>i){let e=o.length-i;for(let t=0;t<e;++t)a[I(o[t])]=-1,n.rem.push(o[t]);o=o.slice(e)}return t.mod.length&&t.visit(t.MOD,e=>{a[I(e)]&&n.mod.push(e)}),t.add.length&&t.visit(t.ADD,l),(t.add.length||c<0)&&(n.add=o.filter(e=>!a[I(e)])),this.count=s,this.value=n.source=o,n}});function Is(e){L.call(this,null,e)}Is.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`}]},F(Is,L,{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=ct(e.start,e.stop,e.step||1).map(e=>{let t={};return t[r]=e,Zr(t)}),n.add=t.add.concat(this.value),n}});function Ls(e){L.call(this,null,e),this.modified(!0)}F(Ls,L,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Rs(e){L.call(this,null,e)}var zs=[`unit0`,`unit1`];Rs.Definition={type:`TimeUnit`,metadata:{modifies:!0},params:[{name:`field`,type:`field`,required:!0},{name:`interval`,type:`boolean`,default:!0},{name:`units`,type:`enum`,values:_e,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:zs}]},F(Rs,L,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone===`utc`,a=this._floor(e,t),o=(i?w:Ne)(a.unit).offset,s=e.as||zs,c=s[0],l=s[1],u=a.step,d=a.start||1/0,f=a.stop||-1/0,p=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(Ce(n)))&&(t=t.reflow(!0),p=t.SOURCE,d=1/0,f=-1/0),t.visit(p,e=>{let t=n(e),i,s;t==null?(e[c]=null,r&&(e[l]=null)):(e[c]=i=s=a(t),r&&(e[l]=s=o(i,u)),i<d&&(d=i),s>f&&(f=s))}),a.start=d,a.stop=f,t.modifies(r?s:c)},_floor(e,t){let n=e.timezone===`utc`,{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:ue({extent:e.extent||ur(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=s(r),o=this.value||{},c=(n?je:Ae)(a,i);return c.unit=A(a),c.units=a,c.step=i,c.start=o.start,c.stop=o.stop,this.value=c}});function Bs(e){L.call(this,pr(),e)}F(Bs,L,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=e=>i.set(r(e),e),o=!0;return e.modified(`field`)||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,e=>i.delete(r(e))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function Vs(e){L.call(this,null,e)}F(Vs,L,{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(ti(e.sort)):t.source).map(e.field))}});function Pee(e,t,n,r){let i=Hs[e](t,n);return{init:i.init||ae,update:function(e,t){t[r]=i.next(e)}}}var Hs={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=Hs.rank(),t=e.next;return{init:e.init,next:e=>(t(e)-1)/(e.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||j(`ntile num must be greater than zero.`);let n=Hs.cume_dist(),r=n.next;return{init:n.init,next:e=>Math.ceil(t*r(e))}},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||j(`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=Fee(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function Fee(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var Iee=Object.keys(Hs);function Us(e){let t=k(e.ops),n=k(e.fields),r=k(e.params),i=k(e.aggregate_params),a=k(e.as),o=this.outputs=[],s=this.windows=[],c={},l={},u=[],d=[],f=!0;function p(e){k(Ce(e)).forEach(e=>c[e]=1)}p(e.sort),t.forEach((e,t)=>{let c=n[t],m=r[t],h=i[t]||null,g=ve(c),_=oo(e,g,a[t]);if(p(c),o.push(_),T(Hs,e))s.push(Pee(e,c,m,_));else{if(c==null&&e!==`count`&&j(`Null aggregate field specified.`),e===`count`){u.push(_);return}f=!1;let t=l[g];t||(t=l[g]=[],t.field=c,d.push(t)),t.push(po(e,h,_))}}),(u.length||d.length)&&(this.cell=Lee(d,u,f)),this.inputs=Object.keys(c)}var Ws=Us.prototype;Ws.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},Ws.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 Lee(e,t,n){e=e.map(e=>bo(e,e.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 s=r.data=new xo;return r.add=function(e){if(r.num+=1,!n){s&&s.add(e);for(let t=0;t<i;++t)a[t].add(a[t].get(e),e)}},r.rem=function(e){if(--r.num,!n){s&&s.rem(e);for(let t=0;t<i;++t)a[t].rem(a[t].get(e),e)}},r.set=function(e){let i,o;for(s&&s.values(),i=0,o=t.length;i<o;++i)e[t[i]]=r.num;if(!n)for(i=0,o=a.length;i<o;++i)a[i].set(e)},r.init=function(){r.num=0,s&&s.reset();for(let e=0;e<i;++e)a[e].init()},r}function Gs(e){L.call(this,{},e),this._mlen=0,this._mods=[]}Gs.Definition={type:`Window`,metadata:{modifies:!0},params:[{name:`sort`,type:`compare`},{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:Iee.concat(uo)},{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}]},F(Gs,L,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=ti(e.sort),i=ao(e.groupby),a=e=>this.group(i(e)),o=this.state;(!o||n)&&(o=this.state=new Us(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,e=>a(e).add(e))):(t.visit(t.REM,e=>a(e).remove(e)),t.visit(t.ADD,e=>a(e).add(e)));for(let t=0,n=this._mlen;t<n;++t)Ree(this._mods[t],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]=Eo(I),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function Ree(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=e.data(n),c=s.length,l=a?Le(i):null,u={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||d(-1)};t.init();for(let e=0;e<c;++e)zee(u,o,e,c),a&&Bee(u,l),t.update(u,s[e])}function zee(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 Bee(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 Ks(e,t,n){var r=null,i=wt(!0),a=null,o=Jt,s=null,c=Tt(l);e=typeof e==`function`?e:e===void 0?hee:wt(+e),t=typeof t==`function`?t:wt(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?gee:wt(+n);function l(l){var u,d,f,p=(l=At(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Yt().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:wt(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:wt(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:wt(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:wt(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:wt(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Vee={draw(e,t){let n=Et(t/Ot);e.moveTo(n,0),e.arc(0,0,n,0,Dt)}};function qs(e,t){let n=null,r=Tt(i);e=typeof e==`function`?e:wt(e||Vee),t=typeof t==`function`?t:wt(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:wt(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Js(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 Ys=()=>typeof Image<`u`?Image:null,Xs=-.14861,Zs=1.78277,Qs=-.29227,$s=-.90649,ec=1.97294,tc=ec*$s,nc=ec*Zs,rc=Zs*Qs-$s*Xs;function Hee(e){if(e instanceof ac)return new ac(e.h,e.s,e.l,e.opacity);e instanceof nn||(e=tn(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(rc*r+tc*t-nc*n)/(rc+tc-nc),a=r-i,o=(ec*(n-i)-Qs*a)/$s,s=Math.sqrt(o*o+a*a)/(ec*i*(1-i)),c=s?Math.atan2(o,a)*nt-120:NaN;return new ac(c<0?c+360:c,s,i,e.opacity)}function ic(e,t,n,r){return arguments.length===1?Hee(e):new ac(e,t,n,r??1)}function ac(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}mn(ac,ic,_ee(wn,{brighter(e){return e=e==null?Qt:Qt**+e,new ac(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?rn:rn**+e,new ac(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*see,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new nn(255*(t+n*(Xs*r+Zs*i)),255*(t+n*(Qs*r+$s*i)),255*(t+ec*r*n),this.opacity)}}));function Uee(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function Wee(e,t){var n=dn(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}function oc(e){return function(t,n){var r=e((t=en(t)).h,(n=en(n)).h),i=an(t.s,n.s),a=an(t.l,n.l),o=an(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Gee=oc(dn),Kee=oc(an);function qee(e,t){var n=an((e=st(e)).l,(t=st(t)).l),r=an(e.a,t.a),i=an(e.b,t.b),a=an(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function sc(e){return(function t(n){n=+n;function r(t,r){var i=e((t=ic(t)).h,(r=ic(r)).h),a=an(t.s,r.s),o=an(t.l,r.l),s=an(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}var Jee=sc(dn),Yee=sc(an);function cc(e,t){t===void 0&&(t=e,e=Xe);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function Xee(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var Zee=t({interpolate:()=>Xe,interpolateArray:()=>Ke,interpolateBasis:()=>sn,interpolateBasisClosed:()=>Tn,interpolateCubehelix:()=>Jee,interpolateCubehelixLong:()=>Yee,interpolateDate:()=>iee,interpolateDiscrete:()=>Uee,interpolateHcl:()=>tt,interpolateHclLong:()=>oee,interpolateHsl:()=>Gee,interpolateHslLong:()=>Kee,interpolateHue:()=>Wee,interpolateLab:()=>qee,interpolateNumber:()=>un,interpolateNumberArray:()=>aee,interpolateObject:()=>ree,interpolateRgb:()=>fn,interpolateRgbBasis:()=>yn,interpolateRgbBasisClosed:()=>gn,interpolateRound:()=>Ue,interpolateString:()=>ln,interpolateTransformCss:()=>hn,interpolateTransformSvg:()=>Cn,interpolateZoom:()=>cn,piecewise:()=>cc,quantize:()=>Xee});function lc(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Be),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return lc(e).unknown(t)},e=arguments.length?Array.from(e,Be):[0,1],We(n)}function uc(e){return Math.log(e)}function dc(e){return Math.exp(e)}function Qee(e){return-Math.log(-e)}function $ee(e){return-Math.exp(-e)}function ete(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function tte(e){return e===10?ete:e===Math.E?Math.exp:t=>e**+t}function nte(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 fc(e){return(t,n)=>-e(-t,n)}function pc(e){let t=e(uc,dc),n=t.domain,r=10,i,a;function o(){return i=nte(r),a=tte(r),n()[0]<0?(i=fc(i),a=fc(a),e(Qee,$ee)):e(uc,dc),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=Ie(o,s,p))}else m=Ie(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=fee(n)).precision==null&&(n.trim=!0),n=pee(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(lee(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function mc(){let e=pc(Je()).domain([1,10]);return e.copy=()=>ze(e,mc()).base(e.base()),Xt.apply(e,arguments),e}function hc(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function gc(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function _c(e){var t=1,n=e(hc(t),gc(t));return n.constant=function(n){return arguments.length?e(hc(t=+n),gc(t)):t},We(n)}function vc(){var e=_c(Je());return e.copy=function(){return ze(e,vc()).constant(e.constant())},Xt.apply(e,arguments)}function yc(e){return function(t){return t<0?-((-t)**+e):t**+e}}function rte(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function ite(e){return e<0?-e*e:e*e}function bc(e){var t=e(Ge,Ge),n=1;function r(){return n===1?e(Ge,Ge):n===.5?e(rte,ite):e(yc(n),yc(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},We(t)}function xc(){var e=bc(Je());return e.copy=function(){return ze(e,xc()).exponent(e.exponent())},Xt.apply(e,arguments),e}function ate(){return xc.apply(null,arguments).exponent(.5)}function Sc(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=Pr(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[Ve(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(Fe),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return Sc().domain(e).range(t).unknown(r)},Xt.apply(a,arguments)}function Cc(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[Ve(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Cc().domain([e,t]).range(i).unknown(a)},Xt.apply(We(o),arguments)}function wc(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Ve(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return wc().domain(e).range(t).unknown(n)},Xt.apply(i,arguments)}function ote(){return Xt.apply(uee(rt,dee,vt,mt,yt,xt,lt,ft,ut,_t).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Tc(){var e=0,t=1,n,r,i,a,o=Ge,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(Xe),l.rangeRound=u(Ue),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function Ec(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Dc(){var e=We(Tc()(Ge));return e.copy=function(){return Ec(e,Dc())},Zt.apply(e,arguments)}function Oc(){var e=pc(Tc()).domain([1,10]);return e.copy=function(){return Ec(e,Oc()).base(e.base())},Zt.apply(e,arguments)}function kc(){var e=_c(Tc());return e.copy=function(){return Ec(e,kc()).constant(e.constant())},Zt.apply(e,arguments)}function Ac(){var e=bc(Tc());return e.copy=function(){return Ec(e,Ac()).exponent(e.exponent())},Zt.apply(e,arguments)}function ste(){return Ac.apply(null,arguments).exponent(.5)}function jc(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Ge,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=cc(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Xe),p.rangeRound=m(Ue),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function Mc(){var e=We(jc()(Ge));return e.copy=function(){return Ec(e,Mc())},Zt.apply(e,arguments)}function Nc(){var e=pc(jc()).domain([.1,1,10]);return e.copy=function(){return Ec(e,Nc()).base(e.base())},Zt.apply(e,arguments)}function Pc(){var e=_c(jc());return e.copy=function(){return Ec(e,Pc()).constant(e.constant())},Zt.apply(e,arguments)}function Fc(){var e=bc(jc());return e.copy=function(){return Ec(e,Fc()).exponent(e.exponent())},Zt.apply(e,arguments)}function cte(){return Fc.apply(null,arguments).exponent(.5)}var Ic=En(`1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf`),Lc=En(`7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666`),Rc=En(`1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666`),zc=En(`4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0`),Bc=En(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),Vc=En(`fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2`),lte=En(`b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc`),ute=En(`e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999`),dte=En(`66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3`),Hc=En(`8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f`);function Uc(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var Wc=`identity`,Gc=`linear`,Kc=`sqrt`,qc=`symlog`,Jc=`time`,Yc=`sequential`,Xc=`diverging`,Zc=`quantile`,Qc=`quantize`,$c=`threshold`,el=`ordinal`,tl=`point`,nl=`band`,rl=`bin-ordinal`,il=`continuous`,al=`discrete`,ol=`discretizing`,sl=`interpolating`,cl=`temporal`;function ll(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 ul(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,s,c,l;for(i<r&&(s=r,r=i,i=s),c=0,l=n.length;c<l;++c)n[c]>=r&&n[c]<=i&&(a<0&&(a=c),o=c);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 dl(){let e=Qe().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,s=0,c=0,l=.5;delete e.unknown;function u(){let e=t().length,u=r[1]<r[0],d=r[1-u],f=Uc(e,s,c),p=r[u-0];i=(d-p)/(f||1),o&&(i=Math.floor(i)),p+=(d-p-i*(e-s))*l,a=i*(1-s),o&&(p=Math.round(p),a=Math.round(a));let m=ct(e).map(e=>p+i*e);return n(u?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),u()):t()},e.range=function(e){return arguments.length?(r=[+e[0],+e[1]],u()):r.slice()},e.rangeRound=function(e){return r=[+e[0],+e[1]],o=!0,u()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(e){return arguments.length?(o=!!e,u()):o},e.padding=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),s=c,u()):s},e.paddingInner=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),u()):s},e.paddingOuter=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),u()):c},e.align=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),u()):l},e.invertRange=function(e){if(e[0]==null||e[1]==null)return;let i=r[1]<r[0],o=i?n().reverse():n(),s=o.length-1,c=+e[0],l=+e[1],u,d,f;if(c===c&&l===l&&(l<c&&(f=c,c=l,l=f),!(l<o[0]||c>r[1-i])))return u=Math.max(0,Ve(o,c)-1),d=c===l?u:Ve(o,l)-1,c-o[u]>a+1e-10&&++u,i&&(f=u,u=s-d,d=s-f),u>d?void 0:t().slice(u,d+1)},e.invert=function(t){let n=e.invertRange([t,t]);return n&&n[0]},e.copy=function(){return dl().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l)},u()}function fl(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return fl(t())},e}function pl(){return fl(dl().paddingInner(1))}var ml=Array.prototype.map;function hl(e){return ml.call(e,O)}var gl=Array.prototype.slice;function _l(){let e=[],t=[];function n(n){return n==null||n!==n?void 0:t[(Ve(e,n)-1)%t.length]}return n.domain=function(t){return arguments.length?(e=hl(t),n):e.slice()},n.range=function(e){return arguments.length?(t=gl.call(e),n):t.slice()},n.tickFormat=function(t,n){return qe(e[0],A(e),t??10,n)},n.copy=function(){return _l().domain(n.domain()).range(n.range())},n}var vl=new Map,yl=Symbol(`vega_scale`);function bl(e){return e[yl]=!0,e}function xl(e){return e&&e[yl]===!0}function Sl(e,t,n){let r=function(){let n=t();return n.invertRange||=n.invert?ll(n):n.invertExtent?ul(n):void 0,n.type=e,bl(n)};return r.metadata=_(k(n)),r}function Cl(e,t,n){return arguments.length>1?(vl.set(e,Sl(e,t,n)),this):wl(e)?vl.get(e):void 0}Cl(Wc,lc),Cl(Gc,Ye,il),Cl(`log`,mc,[il,`log`]),Cl(`pow`,xc,il),Cl(Kc,ate,il),Cl(qc,vc,il),Cl(Jc,cee,[il,cl]),Cl(`utc`,ote,[il,cl]),Cl(Yc,Dc,[il,sl]),Cl(`${Yc}-${Gc}`,Dc,[il,sl]),Cl(`${Yc}-log`,Oc,[il,sl,`log`]),Cl(`${Yc}-pow`,Ac,[il,sl]),Cl(`${Yc}-${Kc}`,ste,[il,sl]),Cl(`${Yc}-${qc}`,kc,[il,sl]),Cl(`${Xc}-${Gc}`,Mc,[il,sl]),Cl(`${Xc}-log`,Nc,[il,sl,`log`]),Cl(`${Xc}-pow`,Fc,[il,sl]),Cl(`${Xc}-${Kc}`,cte,[il,sl]),Cl(`${Xc}-${qc}`,Pc,[il,sl]),Cl(Zc,Sc,[ol,Zc]),Cl(Qc,Cc,ol),Cl($c,wc,ol),Cl(rl,_l,[al,ol]),Cl(el,Qe,al),Cl(nl,dl,al),Cl(tl,pl,al);function wl(e){return vl.has(e)}function Tl(e,t){let n=vl.get(e);return n&&n.metadata[t]}function El(e){return Tl(e,il)}function Dl(e){return Tl(e,al)}function Ol(e){return Tl(e,ol)}function kl(e){return Tl(e,`log`)}function Al(e){return Tl(e,cl)}function jl(e){return Tl(e,sl)}function Ml(e){return Tl(e,Zc)}var Nl=[`clamp`,`base`,`constant`,`exponent`];function Pl(e,t){let n=t[0],r=A(t)-n;return function(t){return e(n+t*r)}}function Fl(e,t,n){return cc(Rl(t||`rgb`,n),e)}function Il(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function Ll(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?d(.5):(i=(a=e.type).indexOf(`-`),a=i<0?a:a.slice(i+1),o=Cl(a)().domain([t,n]).range([0,1]),Nl.forEach(t=>e[t]?o[t](e[t]()):0),o)}function Rl(e,t){let n=Zee[fte(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function fte(e){return`interpolate`+e.toLowerCase().split(`-`).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}var pte={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`},mte={accent:Lc,category10:Ic,category20:`1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5`,category20b:`393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6`,category20c:`3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9`,dark2:Rc,observable10:zc,paired:Bc,pastel1:Vc,pastel2:lte,set1:ute,set2:dte,set3:Hc,tableau10:`4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac`,tableau20:`4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5`};function zl(e){if(N(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 Bl(e,t){for(let n in e)Hl(n,t(e[n]))}var Vl={};Bl(mte,zl),Bl(pte,e=>Fl(zl(e)));function Hl(e,t){return e&&=e.toLowerCase(),arguments.length>1?(Vl[e]=t,this):Vl[e]}var hte=e=>N(e)?e.map(e=>String(e)):String(e),gte=(e,t)=>e[1]-t[1],_te=(e,t)=>t[1]-e[1];function Ul(e,t,n){let r;if(o(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null)){let r=e.domain(),i=Math.min(r[0],A(r)),a=Math.max(r[0],A(r));if(t=Math.min(t,Math.floor((a-i)/n||1)+1),!e.bins&&!kl(e.type)&&!Al(e.type)&&i<a)for(;t>1&&Pe(i,a,t)<n;)--t}return M(t)&&(r=t.step,t=t.interval),P(t)&&(t=e.type===`time`?Ne(t):e.type==`utc`?w(t):j(`Only time and utc scales accept interval strings.`),r&&(t=t.every(r))),t}function Wl(e,t,n){let r=e.range(),i=r[0],a=A(r),o=gte;if(i>a&&(r=a,a=i,i=r,o=_te),i=Math.floor(i),a=Math.ceil(a),t=t.map(t=>[t,e(t)]).filter(e=>i<=e[1]&&e[1]<=a).sort(o).map(e=>e[0]),n>0&&t.length>1){let e=[t[0],A(t)];for(;t.length>n&&t.length>=3;)t=t.filter((e,t)=>!(t%2));t.length<3&&(t=e)}return t}function Gl(e,t){return e.bins?Wl(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function Kl(e,t,n,r,i,a){let o=t.type,s=hte;if(o===`time`||i===`time`)s=e.timeFormat(r);else if(o===`utc`||i===`utc`)s=e.utcFormat(r);else if(kl(o)){let i=e.formatFloat(r);if(a||t.bins)s=i;else{let e=ql(t,n,!1);s=t=>e(t)?i(t):``}}else if(t.tickFormat){let i=t.domain();s=e.formatSpan(i[0],i[i.length-1],n,r)}else r&&(s=e.format(r));return s}function ql(e,t,n){let r=Gl(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),s=e=>{let t=e/i**+Math.round(Math.log(e)/a);return t*i<i-.5&&(t*=i),t<=o};return n?r.filter(s):s}var Jl={[Zc]:`quantiles`,[Qc]:`thresholds`,[$c]:`domain`},Yl={[Zc]:`quantiles`,[Qc]:`domain`};function Xl(e,t){return e.bins?bte(e.bins):e.type===`log`?ql(e,t,!0):Jl[e.type]?yte(e[Jl[e.type]]()):Gl(e,t)}function vte(e,t,n){let r=t[Yl[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 yte(e){let t=[-1/0].concat(e);return t.max=1/0,t}function bte(e){let t=e.slice(0,-1);return t.max=A(e),t}var xte=e=>Jl[e.type]||e.bins;function Zl(e,t,n,r,i,a,o){let s=Yl[t.type]&&a!==`time`&&a!==`utc`?vte(e,t,i):Kl(e,t,n,i,a,o);return r===`symbol`&&xte(t)?Ste(s):r===`discrete`?Cte(s):$l(s)}var Ste=e=>(t,n,r)=>{let i=Ql(r[n+1],Ql(r.max,1/0)),a=eu(t,e),o=eu(i,e);return a&&o?a+` – `+o:o?`< `+o:`≥ `+a},Ql=(e,t)=>e??t,Cte=e=>(t,n)=>n?e(t):null,$l=e=>t=>e(t),eu=(e,t)=>Number.isFinite(e)?t(e):null;function tu(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+A(t),a=i-r;if(e.type===`threshold`){let e=n?a/n:.1;r-=e,i+=e,a=i-r}return e=>(e-r)/a}function nu(e,t,n,r){let i=r||t.type;return P(n)&&Al(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`):Zl(e,t,5,null,n,r,!0)}function ru(e,t,n){n||={};let r=Math.max(3,n.maxlen||7),i=nu(e,t,n.format,n.formatType);if(Ol(t.type)){let e=Xl(t).slice(1).map(i),n=e.length;return`${n} boundar${n===1?`y`:`ies`}: ${e.join(`, `)}`}if(Dl(t.type)){let e=t.domain(),n=e.length,a=n>r?e.slice(0,r-2).map(i).join(`, `)+`, ending with `+e.slice(-1).map(i):e.map(i).join(`, `);return`${n} value${n===1?``:`s`}: ${a}`}{let e=t.domain();return`values from ${i(e[0])} to ${i(A(e))}`}}var iu=0,au=`p_`;function ou(e){return e&&e.gradient}function su(e,t,n){let r=e.gradient,i=e.id,a=r===`radial`?au:``;return i||(i=e.id=`gradient_`+iu++,r===`radial`?(e.x1=cu(e.x1,.5),e.y1=cu(e.y1,.5),e.r1=cu(e.r1,0),e.x2=cu(e.x2,.5),e.y2=cu(e.y2,.5),e.r2=cu(e.r2,.5),a=au):(e.x1=cu(e.x1,0),e.y1=cu(e.y1,0),e.x2=cu(e.x2,1),e.y2=cu(e.y2,0))),t[i]=e,`url(`+(n||``)+`#`+a+i+`)`}function cu(e,t){return e??t}function lu(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(e,t){return n.push({offset:e,color:t}),r}}}var uu={basis:{curve:jt},"basis-closed":{curve:It},"basis-open":{curve:Lt},bundle:{curve:Bt,tension:`beta`,value:.85},cardinal:{curve:Ut,tension:`tension`,value:0},"cardinal-open":{curve:Pt,tension:`tension`,value:0},"cardinal-closed":{curve:Ft,tension:`tension`,value:0},"catmull-rom":{curve:qt,tension:`alpha`,value:.5},"catmull-rom-closed":{curve:zt,tension:`alpha`,value:.5},"catmull-rom-open":{curve:Nt,tension:`alpha`,value:.5},linear:{curve:Jt},"linear-closed":{curve:Gt},monotone:{horizontal:Ht,vertical:Mt},natural:{curve:Rt},step:{curve:Wt},"step-after":{curve:Kt},"step-before":{curve:Vt}};function du(e,t,n){var r=T(uu,e)&&uu[e],i=null;return r&&(i=r.curve||r[t||`vertical`],r.tension&&n!=null&&(i=i[r.tension](n))),i}var fu={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},pu=/[mlhvzcsqta]([^mlhvzcsqta]*)/gi,mu=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,hu=/^((\s+,?\s*)|(,\s*))/,gu=/^[01]/;function _u(e){let t=[];return(e.match(pu)||[]).forEach(e=>{let n=e[0],r=n.toLowerCase(),i=fu[r],a=vu(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!==0)throw Error(`Invalid SVG path, incorrect parameter count`);if(t.push([n,...a.slice(0,i)]),o!==i){r===`m`&&(n=n===`M`?`L`:`l`);for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}function vu(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t=e===`a`&&(a===3||a===4)?gu:mu,o=n.slice(i).match(t);if(o===null)throw Error(`Invalid SVG path, incorrect parameter type`);i+=o[0].length,r.push(+o[0]);let s=n.slice(i).match(hu);s!==null&&(i+=s[0].length)}return r}var yu=Math.PI/180,bu=1e-14,xu=Math.PI/2,Su=Math.PI*2,Cu=Math.sqrt(3)/2,wu={},Tu={},Eu=[].join;function Du(e,t,n,r,i,a,o,s,c){let l=Eu.call(arguments);if(wu[l])return wu[l];let u=o*yu,d=Math.sin(u),f=Math.cos(u);n=Math.abs(n),r=Math.abs(r);let p=f*(s-e)*.5+d*(c-t)*.5,m=f*(c-t)*.5-d*(s-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=f/n,_=d/n,v=-d/r,y=f/r,b=g*s+_*c,x=v*s+y*c,S=g*e+_*t,C=v*e+y*t,w=1/((S-b)*(S-b)+(C-x)*(C-x))-.25;w<0&&(w=0);let T=Math.sqrt(w);a==i&&(T=-T);let E=.5*(b+S)-T*(C-x),D=.5*(x+C)+T*(S-b),O=Math.atan2(x-D,b-E),k=Math.atan2(C-D,S-E)-O;k<0&&a===1?k+=Su:k>0&&a===0&&(k-=Su);let A=Math.ceil(Math.abs(k/(xu+.001))),ee=[];for(let e=0;e<A;++e){let t=O+e*k/A,i=O+(e+1)*k/A;ee[e]=[E,D,t,i,n,r,d,f]}return wu[l]=ee}function Ou(e){let t=Eu.call(e);if(Tu[t])return Tu[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7];let u=l*o,d=-c*s,f=c*o,p=l*s,m=Math.cos(i),h=Math.sin(i),g=Math.cos(a),_=Math.sin(a),v=.5*(a-i),y=Math.sin(v*.5),b=8/3*y*y/Math.sin(v),x=n+m-b*h,S=r+h+b*m,C=n+g,w=r+_,T=C+b*_,E=w-b*g;return Tu[t]=[u*x+d*S,f*x+p*S,u*T+d*E,f*T+p*E,u*C+d*w,f*C+p*w]}var ku=[`l`,0,0,0,0,0,0,0];function Au(e,t,n){let r=ku[0]=e[0];if(r===`a`||r===`A`)ku[1]=t*e[1],ku[2]=n*e[2],ku[3]=e[3],ku[4]=e[4],ku[5]=e[5],ku[6]=t*e[6],ku[7]=n*e[7];else if(r===`h`||r===`H`)ku[1]=t*e[1];else if(r===`v`||r===`V`)ku[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)ku[i]=(i%2==1?t:n)*e[i];return ku}function ju(e,t,n,r,i,a){var o,s=null,c=0,l=0,u=0,d=0,f,p,m,h,g=0,_=0;n??=0,r??=0,i??=1,a??=i,e.beginPath&&e.beginPath();for(var v=0,y=t.length;v<y;++v){switch(o=t[v],(i!==1||a!==1)&&(o=Au(o,i,a)),o[0]){case`l`:c+=o[1],l+=o[2],e.lineTo(c+n,l+r);break;case`L`:c=o[1],l=o[2],e.lineTo(c+n,l+r);break;case`h`:c+=o[1],e.lineTo(c+n,l+r);break;case`H`:c=o[1],e.lineTo(c+n,l+r);break;case`v`:l+=o[1],e.lineTo(c+n,l+r);break;case`V`:l=o[1],e.lineTo(c+n,l+r);break;case`m`:c+=o[1],l+=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`M`:c=o[1],l=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`c`:f=c+o[5],p=l+o[6],u=c+o[3],d=l+o[4],e.bezierCurveTo(c+o[1]+n,l+o[2]+r,u+n,d+r,f+n,p+r),c=f,l=p;break;case`C`:c=o[5],l=o[6],u=o[3],d=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,u+n,d+r,c+n,l+r);break;case`s`:f=c+o[3],p=l+o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,c+o[1]+n,l+o[2]+r,f+n,p+r),u=c+o[1],d=l+o[2],c=f,l=p;break;case`S`:f=o[3],p=o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`q`:f=c+o[3],p=l+o[4],u=c+o[1],d=l+o[2],e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`Q`:f=o[3],p=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`t`:f=c+o[1],p=l+o[2],s[0].match(/[QqTt]/)===null?(u=c,d=l):s[0]===`t`?(u=2*c-m,d=2*l-h):s[0]===`q`&&(u=2*c-u,d=2*l-d),m=u,h=d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p,u=c+o[1],d=l+o[2];break;case`T`:f=o[1],p=o[2],u=2*c-u,d=2*l-d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`a`:Mu(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+l+r]),c+=o[6],l+=o[7];break;case`A`:Mu(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),c=o[6],l=o[7];break;case`z`:case`Z`:c=g,l=_,e.closePath()}s=o}}function Mu(e,t,n,r){let i=Du(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=Ou(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}var Nu=.5773502691896257,Pu={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,Su)}},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=Cu*n,i=r-n*Nu,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=Cu*n,i=r-n*Nu;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=Cu*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=Cu*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=Cu*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=Cu*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 Fu(e){return T(Pu,e)?Pu[e]:Lu(e)}var Iu={};function Lu(e){if(!T(Iu,e)){let t=_u(e);Iu[e]={draw:function(e,n){ju(e,t,0,0,Math.sqrt(n)/2)}}}return Iu[e]}var Ru=.448084975506;function zu(e){return e.x}function Bu(e){return e.y}function Vu(e){return e.width}function Hu(e){return e.height}function Uu(e){return typeof e==`function`?e:()=>+e}function Wu(e,t,n){return Math.max(t,Math.min(e,n))}function Gu(){var e=zu,t=Bu,n=Vu,r=Hu,i=Uu(0),a=i,o=i,s=i,c=null;function l(l,u,d){var f,p=u??+e.call(this,l),m=d??+t.call(this,l),h=+n.call(this,l),g=+r.call(this,l),_=Math.min(h,g)/2,v=Wu(+i.call(this,l),0,_),y=Wu(+a.call(this,l),0,_),b=Wu(+o.call(this,l),0,_),x=Wu(+s.call(this,l),0,_);if(c||=f=Ct(),v<=0&&y<=0&&b<=0&&x<=0)c.rect(p,m,h,g);else{var S=p+h,C=m+g;c.moveTo(p+v,m),c.lineTo(S-y,m),c.bezierCurveTo(S-Ru*y,m,S,m+Ru*y,S,m+y),c.lineTo(S,C-x),c.bezierCurveTo(S,C-Ru*x,S-Ru*x,C,S-x,C),c.lineTo(p+b,C),c.bezierCurveTo(p+Ru*b,C,p,C-Ru*b,p,C-b),c.lineTo(p,m+v),c.bezierCurveTo(p,m+Ru*v,p+Ru*v,m,p+v,m),c.closePath()}if(f)return c=null,f+``||null}return l.x=function(t){return arguments.length?(e=Uu(t),l):e},l.y=function(e){return arguments.length?(t=Uu(e),l):t},l.width=function(e){return arguments.length?(n=Uu(e),l):n},l.height=function(e){return arguments.length?(r=Uu(e),l):r},l.cornerRadius=function(e,t,n,r){return arguments.length?(i=Uu(e),a=t==null?i:Uu(t),s=n==null?i:Uu(n),o=r==null?a:Uu(r),l):i},l.context=function(e){return arguments.length?(c=e??null,l):c},l}function Ku(){var e,t,n,r,i=null,a,o,s,c;function l(e,t,n){let r=n/2;if(a){var l=s-t,u=e-o;if(l||u){var d=Math.hypot(l,u),f=(l/=d)*c,p=(u/=d)*c,m=Math.atan2(u,l);i.moveTo(o-f,s-p),i.lineTo(e-l*r,t-u*r),i.arc(e,t,r,m-Math.PI,m),i.lineTo(o+f,s+p),i.arc(o,s,c,m,m+Math.PI)}else i.arc(e,t,r,0,Su);i.closePath()}else a=1;o=e,s=t,c=r}function u(o){var s,c=o.length,u,d=!1,f;for(i??=f=Ct(),s=0;s<=c;++s)!(s<c&&r(u=o[s],s,o))===d&&(d=!d)&&(a=0),d&&l(+e(u,s,o),+t(u,s,o),+n(u,s,o));if(f)return i=null,f+``||null}return u.x=function(t){return arguments.length?(e=t,u):e},u.y=function(e){return arguments.length?(t=e,u):t},u.size=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.context=function(e){return arguments.length?(i=e??null,u):i},u}function qu(e,t){return e??t}var Ju=e=>e.x||0,Yu=e=>e.y||0,Xu=e=>e.width||0,Zu=e=>e.height||0,Qu=e=>(e.x||0)+(e.width||0),$u=e=>(e.y||0)+(e.height||0),ed=e=>e.startAngle||0,td=e=>e.endAngle||0,nd=e=>e.padAngle||0,rd=e=>e.innerRadius||0,id=e=>e.outerRadius||0,ad=e=>e.cornerRadius||0,od=e=>qu(e.cornerRadiusTopLeft,e.cornerRadius)||0,sd=e=>qu(e.cornerRadiusTopRight,e.cornerRadius)||0,cd=e=>qu(e.cornerRadiusBottomRight,e.cornerRadius)||0,ld=e=>qu(e.cornerRadiusBottomLeft,e.cornerRadius)||0,ud=e=>qu(e.size,64),dd=e=>e.size||1,fd=e=>e.defined!==!1,pd=e=>Fu(e.shape||`circle`),md=kt().startAngle(ed).endAngle(td).padAngle(nd).innerRadius(rd).outerRadius(id).cornerRadius(ad),hd=Ks().x(Ju).y1(Yu).y0($u).defined(fd),gd=Ks().y(Yu).x1(Ju).x0(Qu).defined(fd),_d=Yt().x(Ju).y(Yu).defined(fd),vd=Gu().x(Ju).y(Yu).width(Xu).height(Zu).cornerRadius(od,sd,cd,ld),yd=qs().type(pd).size(ud),bd=Ku().x(Ju).y(Yu).defined(fd).size(dd);function xd(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Sd(e,t){return md.context(e)(t)}function Cd(e,t){let n=t[0],r=n.interpolate||`linear`;return(n.orient===`horizontal`?gd:hd).curve(du(r,n.orient,n.tension)).context(e)(t)}function wd(e,t){let n=t[0],r=n.interpolate||`linear`;return _d.curve(du(r,n.orient,n.tension)).context(e)(t)}function Td(e,t,n,r){return vd.context(e)(t,n,r)}function Ed(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Dd(e,t){return yd.context(e)(t)}function Od(e,t){return bd.context(e)(t)}var kd=1;function Ad(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||=`clip`+kd++,o=i.clipping[a]||(i.clipping[a]={id:a});return m(r)?o.path=r(null):xd(n)?o.path=Td(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),`url(#`+a+`)`}function jd(e){this.clear(),e&&this.union(e)}jd.prototype={clone(){return new jd(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,s=Math.cos(e),c=Math.sin(e),l=t-t*s+n*c,u=n-t*c-n*s;return[s*r-c*i+l,c*r+s*i+u,s*r-c*o+l,c*r+s*o+u,s*a-c*i+l,c*a+s*i+u,s*a-c*o+l,c*a+s*o+u]},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 Md(e){this.mark=e,this.bounds=this.bounds||new jd}function Nd(e){Md.call(this,e),this.items=this.items||[]}F(Nd,Md);var Pd=class{constructor(e){this._pending=0,this._loader=e||te()}pending(){return this._pending}sanitizeURL(e){let t=this;return Fd(t),t._loader.sanitize(e,{context:`href`}).then(e=>(Id(t),e)).catch(()=>(Id(t),null))}loadImage(e){let t=this,n=Ys();return Fd(t),t._loader.sanitize(e,{context:`image`}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=T(e,`crossOrigin`)?e.crossOrigin:`anonymous`;return a!=null&&(i.crossOrigin=a),i.onload=()=>Id(t),i.onerror=()=>Id(t),i.src=r,i}).catch(e=>(Id(t),{complete:!1,width:0,height:0,src:e&&e.url||``}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function Fd(e){e._pending+=1}function Id(e){--e._pending}function Ld(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth,i=(t.strokeCap===`square`?Math.SQRT2:1)*r/2;n&&(!t.strokeJoin||t.strokeJoin===`miter`)&&(i=Math.max(i,(t.strokeMiterLimit==null?4:+t.strokeMiterLimit)*r/2)),e.expand(i)}return e}var Rd=Su-1e-8,zd,Bd,Vd,Hd,Ud,Wd,Gd,Kd,qd=(e,t)=>zd.add(e,t),Jd=(e,t)=>qd(Bd=e,Vd=t),Yd=e=>qd(e,zd.y1),Xd=e=>qd(zd.x1,e),Zd=(e,t)=>Ud*e+Gd*t,Qd=(e,t)=>Wd*e+Kd*t,$d=(e,t)=>qd(Zd(e,t),Qd(e,t)),ef=(e,t)=>Jd(Zd(e,t),Qd(e,t));function tf(e,t){return zd=e,t?(Hd=t*yu,Ud=Kd=Math.cos(Hd),Wd=Math.sin(Hd),Gd=-Wd):(Ud=Kd=1,Hd=Wd=Gd=0),nf}var nf={beginPath(){},closePath(){},moveTo:ef,lineTo:ef,rect(e,t,n,r){Hd?($d(e+n,t),$d(e+n,t+r),$d(e,t+r),ef(e,t)):(qd(e+n,t+r),Jd(e,t))},quadraticCurveTo(e,t,n,r){let i=Zd(e,t),a=Qd(e,t),o=Zd(n,r),s=Qd(n,r);rf(Bd,i,o,Yd),rf(Vd,a,s,Xd),Jd(o,s)},bezierCurveTo(e,t,n,r,i,a){let o=Zd(e,t),s=Qd(e,t),c=Zd(n,r),l=Qd(n,r),u=Zd(i,a),d=Qd(i,a);af(Bd,o,c,u,Yd),af(Vd,s,l,d,Xd),Jd(u,d)},arc(e,t,n,r,i,a){if(r+=Hd,i+=Hd,Bd=n*Math.cos(i)+e,Vd=n*Math.sin(i)+t,Math.abs(i-r)>Rd)qd(e-n,t-n),qd(e+n,t+n);else{let o=r=>qd(n*Math.cos(r)+e,n*Math.sin(r)+t),s,c;if(o(r),o(i),i!==r){if(r%=Su,r<0&&(r+=Su),i%=Su,i<0&&(i+=Su),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=Su,s=r-r%xu,c=0;c<4&&s>i;++c,s-=xu)o(s);else for(s=r-r%xu+xu,c=0;c<4&&s<i;++c,s+=xu)o(s)}}}};function rf(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function af(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,s=e-t,c=0,l=0,u;Math.abs(a)>bu?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),c=(-o+u)/a,l=(-o-u)/a)):c=.5*s/o,0<c&&c<1&&i(of(c,e,t,n,r)),0<l&&l<1&&i(of(l,e,t,n,r))}function of(e,t,n,r,i){let a=1-e,o=a*a,s=e*e;return o*a*t+3*o*e*n+3*a*s*r+s*e*i}var sf=(sf=Js(1,1))?sf.getContext(`2d`):null,cf=new jd;function lf(e){return function(t,n){if(!sf)return!0;e(sf,t),cf.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=cf;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(sf.isPointInPath(t,e))return!0;return!1}}function uf(e,t){return t.contains(e.x||0,e.y||0)}function df(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(cf.set(n,r,n+i,r+a))}function ff(e,t){let n=e.x||0,r=e.y||0;return pf(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function pf(e,t,n,r,i){let{x1:a,y1:o,x2:s,y2:c}=e,l=r-t,u=i-n,d=0,f=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(a-t)),g===1&&(p=l,m=s-t),g===2&&(p=-u,m=-(o-n)),g===3&&(p=u,m=c-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>f)return!1;h>d&&(d=h)}else if(p>0){if(h<d)return!1;h<f&&(f=h)}}return!0}function mf(e,t){e.globalCompositeOperation=t.blend||`source-over`}function hf(e,t){return e??t}function gf(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function _f(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient===`radial`)a=e.createRadialGradient(n.x1+hf(t.x1,.5)*r,n.y1+hf(t.y1,.5)*i,Math.max(r,i)*hf(t.r1,0),n.x1+hf(t.x2,.5)*r,n.y1+hf(t.y2,.5)*i,Math.max(r,i)*hf(t.r2,.5));else{let o=hf(t.x1,0),s=hf(t.y1,0),c=hf(t.x2,1),l=hf(t.y2,0);if(o===c||s===l||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+s*i,n.x1+c*r,n.y1+l*i);else{let n=Js(Math.ceil(r),Math.ceil(i)),a=n.getContext(`2d`);return a.scale(r,i),a.fillStyle=gf(a.createLinearGradient(o,s,c,l),t.stops),a.fillRect(0,0,r,i),e.createPattern(n,`no-repeat`)}}return gf(a,t.stops)}function vf(e,t,n){return ou(n)?_f(e,n,t.bounds):n}function yf(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0&&(e.globalAlpha=n,e.fillStyle=vf(e,t,t.fill),!0)}var bf=[];function xf(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=vf(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||`butt`,e.lineJoin=t.strokeJoin||`miter`,e.miterLimit=t.strokeMiterLimit==null?4:t.strokeMiterLimit,e.setLineDash&&(e.setLineDash(t.strokeDash||bf),e.lineDashOffset=t.strokeDashOffset||0),!0))}function Sf(e,t){return e.zindex-t.zindex||e.index-t.index}function Cf(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(Sf)}function wf(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Cf(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 Tf(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Cf(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 Ef(e){return function(t,n,r){wf(n,n=>{(!r||r.intersects(n.bounds))&&Of(e,t,n,n)})}}function Df(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&Of(e,t,n.items[0],n.items)}}function Of(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(mf(t,n),n.fill&&yf(t,n,i)&&t.fill(),n.stroke&&xf(t,n,i)&&t.stroke()))}function kf(e){return e||=De,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,Tf(n,n=>{let s=n.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,n,r,i,a,o))return n})}}function Af(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,s=t??o.fill,c=o.stroke&&n.isPointInStroke,l,u;return c&&(l=o.strokeWidth,u=o.strokeCap,n.lineWidth=l??1,n.lineCap=u??`butt`),e(n,r)?!1:s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a)}}function jf(e){return kf(Af(e))}function Mf(e,t){return`translate(`+e+`,`+t+`)`}function Nf(e){return`rotate(`+e+`)`}function wte(e,t){return`scale(`+e+`,`+t+`)`}function Pf(e){return Mf(e.x||0,e.y||0)}function Tte(e){return Mf(e.x||0,e.y||0)+(e.angle?` `+Nf(e.angle):``)}function Ete(e){return Mf(e.x||0,e.y||0)+(e.angle?` `+Nf(e.angle):``)+(e.scaleX||e.scaleY?` `+wte(e.scaleX||1,e.scaleY||1):``)}function Ff(e,t,n){function r(e,n){e(`transform`,Tte(n)),e(`d`,t(null,n))}function i(e,n){return t(tf(e,n.angle),n),Ld(e,n,!0).translate(n.x||0,n.y||0)}function a(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=yu),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:`path`,nested:!1,attr:r,bound:i,draw:Ef(a),pick:jf(a),isect:n||lf(a)}}var Dte=Ff(`arc`,Sd);function Ote(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,s;--i>=0;)e[i].defined!==!1&&(s=Math.abs(e[i][r]-n),s<a&&(a=s,o=e[i]));return o}function kte(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 Ate(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 If(e,t,n){function r(e,n){var r=n.mark.items;r.length&&e(`d`,t(null,r))}function i(e,n){var r=n.items;return r.length===0?e:(t(tf(e),r),Ld(e,r[0],!0))}function a(e,n){e.beginPath(),t(e,n)}let o=Af(a);function s(e,t,n,r,i,a){var s=t.items,c=t.bounds;return!s||!s.length||c&&!c.contains(i,a)?null:(n*=e.pixelRatio,r*=e.pixelRatio,o(e,s,n,r)?s[0]:null)}return{type:e,tag:`path`,nested:!0,attr:r,bound:i,draw:Df(a),pick:s,isect:uf,tip:n}}var jte=If(`area`,Cd,Ote);function Mte(e,t){var n=t.clip;e.save(),m(n)?(e.beginPath(),n(e),e.clip()):Lf(e,t.group)}function Lf(e,t){e.beginPath(),xd(t)?Td(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function Rf(e){let t=hf(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function Nte(e,t){e(`transform`,Pf(t))}function zf(e,t){let n=Rf(t);e(`d`,Td(null,t,n,n))}function Pte(e,t){e(`class`,`background`),e(`aria-hidden`,!0),zf(e,t)}function Fte(e,t){e(`class`,`foreground`),e(`aria-hidden`,!0),t.strokeForeground?zf(e,t):e(`d`,``)}function Ite(e,t,n){e(`clip-path`,t.clip?Ad(n,t,t):null)}function Lte(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ld(e,t),e.translate(t.x||0,t.y||0)}function Bf(e,t,n,r){let i=Rf(t);e.beginPath(),Td(e,t,(n||0)+i,(r||0)+i)}var Rte=Af(Bf),zte=Af(Bf,!1),Bte=Af(Bf,!0);function Vte(e,t,n,r){wf(t,t=>{let i=t.x||0,a=t.y||0,o=t.strokeForeground,s=t.opacity==null?1:t.opacity;(t.stroke||t.fill)&&s&&(Bf(e,t,i,a),mf(e,t),t.fill&&yf(e,t,s)&&e.fill(),t.stroke&&!o&&xf(e,t,s)&&e.stroke()),e.save(),e.translate(i,a),t.clip&&Lf(e,t),n&&n.translate(-i,-a),wf(t,t=>{(t.marktype===`group`||r==null||r.includes(t.marktype))&&this.draw(e,t,n,r)}),n&&n.translate(i,a),e.restore(),o&&t.stroke&&s&&(Bf(e,t,i,a),mf(e,t),xf(e,t,s)&&e.stroke())})}function Hte(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,s=r*e.pixelRatio;return Tf(t,c=>{let l,u,d,f=c.bounds;if(f&&!f.contains(i,a))return;u=c.x||0,d=c.y||0;let p=u+(c.width||0),m=d+(c.height||0),h=c.clip;if(h&&(i<u||i>p||a<d||a>m))return;if(e.save(),e.translate(u,d),u=i-u,d=a-d,h&&xd(c)&&!Bte(e,c,o,s))return e.restore(),null;let g=c.strokeForeground,_=t.interactive!==!1;return _&&g&&c.stroke&&zte(e,c,o,s)?(e.restore(),c):(l=Tf(c,e=>Ute(e,u,d)?this.pick(e,n,r,u,d):null),!l&&_&&(c.fill||!g&&c.stroke)&&Rte(e,c,o,s)&&(l=c),e.restore(),l||null)})}function Ute(e,t,n){return(e.interactive!==!1||e.marktype===`group`)&&e.bounds&&e.bounds.contains(t,n)}var Wte={type:`group`,tag:`g`,nested:!1,attr:Nte,bound:Lte,draw:Vte,pick:Hte,isect:df,content:Ite,background:Pte,foreground:Fte},Vf={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,version:`1.1`};function Hf(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(t=>{e.image=t,e.image.url=e.url})),n}function Uf(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 Wf(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 Gf(e,t){return e===`center`?t/2:e===`right`?t:0}function Kf(e,t){return e===`middle`?t/2:e===`bottom`?t:0}function Gte(e,t,n){let r=Hf(t,n),i=Uf(t,r),a=Wf(t,r),o=(t.x||0)-Gf(t.align,i),s=(t.y||0)-Kf(t.baseline,a);e(`href`,!r.src&&r.toDataURL?r.toDataURL():r.src||``,Vf[`xmlns:xlink`],`xlink:href`),e(`transform`,Mf(o,s)),e(`width`,i),e(`height`,a),e(`preserveAspectRatio`,t.aspect===!1?`none`:`xMidYMid`)}function Kte(e,t){let n=t.image,r=Uf(t,n),i=Wf(t,n),a=(t.x||0)-Gf(t.align,r),o=(t.y||0)-Kf(t.baseline,i);return e.set(a,o,a+r,o+i)}function qte(e,t,n){wf(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=Hf(t,this),i=Uf(t,r),a=Wf(t,r);if(i===0||a===0)return;let o=(t.x||0)-Gf(t.align,i),s=(t.y||0)-Kf(t.baseline,a),c,l,u;t.aspect!==!1&&(c=r.width/r.height,l=t.width/t.height,c===c&&l===l&&c!==l&&(l<c?(u=i/c,s+=(a-u)/2,a=u):(u=a*c,o+=(i-u)/2,i=u))),(r.complete||r.toDataURL)&&(mf(e,t),e.globalAlpha=t.opacity??1,e.imageSmoothingEnabled=t.smooth!==!1,e.drawImage(r,o,s,i,a))})}var Jte={type:`image`,tag:`image`,nested:!1,attr:Gte,bound:Kte,draw:qte,pick:kf(),isect:De,get:Hf,xOffset:Gf,yOffset:Kf},Yte=If(`line`,wd,kte);function Xte(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e(`vector-effect`,`non-scaling-stroke`),e(`transform`,Ete(t)),e(`d`,t.path)}function qf(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,s=(t.angle||0)*yu,c=t.pathCache;(!c||c.path!==n)&&((t.pathCache=c=_u(n)).path=n),s&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(s),ju(e,c,0,0,a,o),e.rotate(-s),e.translate(-r,-i)):ju(e,c,r,i,a,o)}function Zte(e,t){return qf(tf(e,t.angle),t)?e.set(0,0,0,0):Ld(e,t,!0)}var Qte={type:`path`,tag:`path`,nested:!1,attr:Xte,bound:Zte,draw:Ef(qf),pick:jf(qf),isect:lf(qf)};function $te(e,t){e(`d`,Td(null,t))}function ene(e,t){var n,r;return Ld(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function Jf(e,t){e.beginPath(),Td(e,t)}var tne={type:`rect`,tag:`path`,nested:!1,attr:$te,bound:ene,draw:Ef(Jf),pick:jf(Jf),isect:df};function nne(e,t){e(`transform`,Pf(t)),e(`x2`,t.x2==null?0:t.x2-(t.x||0)),e(`y2`,t.y2==null?0:t.y2-(t.y||0))}function rne(e,t){var n,r;return Ld(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function Yf(e,t,n){var r,i,a,o;return t.stroke&&xf(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 ine(e,t,n){wf(t,t=>{if(!(n&&!n.intersects(t.bounds))){var r=t.opacity==null?1:t.opacity;r&&Yf(e,t,r)&&(mf(e,t),e.stroke())}})}function ane(e,t,n,r){return e.isPointInStroke?Yf(e,t,1)&&e.isPointInStroke(n,r):!1}var one={type:`rule`,tag:`line`,nested:!1,attr:nne,bound:rne,draw:ine,pick:kf(ane),isect:ff},sne=Ff(`shape`,Ed),cne=Ff(`symbol`,Dd,uf),Xf=yr(),Zf={height:rp,measureWidth:tp,estimateWidth:$f,width:$f,canvas:Qf};Qf(!0);function Qf(e){Zf.width=e&&sf?tp:$f}function $f(e,t){return ep(sp(e,t),rp(e))}function ep(e,t){return~~(.8*e.length*t)}function tp(e,t){return rp(e)<=0||!(t=sp(e,t))?0:np(t,lp(e))}function np(e,t){let n=`(${t}) ${e}`,r=Xf.get(n);return r===void 0&&(sf.font=t,r=sf.measureText(e).width,Xf.set(n,r)),r}function rp(e){return e.fontSize==null?11:+e.fontSize||0}function ip(e){return e.lineHeight==null?rp(e)+2:e.lineHeight}function lne(e){return N(e)?e.length>1?e:e[0]:e}function ap(e){return lne(e.lineBreak&&e.text&&!N(e.text)?e.text.split(e.lineBreak):e.text)}function op(e){let t=ap(e);return(N(t)?t.length-1:0)*ip(e)}function sp(e,t){let n=t==null?``:(t+``).trim();return e.limit>0&&n.length?dne(e,n):n}function une(e){if(Zf.width===tp){let t=lp(e);return e=>np(e,t)}if(Zf.width===$f){let t=rp(e);return e=>ep(e,t)}return t=>Zf.width(e,t)}function dne(e,t){var n=+e.limit,r=une(e);if(r(t)<n)return t;var i=e.ellipsis||`…`,a=e.dir===`rtl`,o=0,s=t.length,c;if(n-=r(i),a){for(;o<s;)c=o+s>>>1,r(t.slice(c))>n?o=c+1:s=c;return i+t.slice(o)}for(;o<s;)c=1+(o+s>>>1),r(t.slice(0,c))<n?o=c:s=c-1;return t.slice(0,o)+i}function cp(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,`'`):n)||`sans-serif`}function lp(e,t){return(e.fontStyle?e.fontStyle+` `:``)+(e.fontVariant?e.fontVariant+` `:``)+(e.fontWeight?e.fontWeight+` `:``)+rp(e)+`px `+cp(e,t)}function up(e){var t=e.baseline,n=rp(e);return Math.round(t===`top`?.79*n:t===`middle`?.3*n:t===`bottom`?-.21*n:t===`line-top`?.29*n+.5*ip(e):t===`line-bottom`?.29*n-.5*ip(e):0)}var fne={left:`start`,center:`middle`,right:`end`},dp=new jd;function fp(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-xu,t+=r*Math.cos(i),n+=r*Math.sin(i)),dp.x1=t,dp.y1=n,dp}function pp(e,t){var n=t.dx||0,r=(t.dy||0)+up(t),i=fp(t),a=i.x1,o=i.y1,s=t.angle||0,c;e(`text-anchor`,fne[t.align]||`start`),s?(c=Mf(a,o)+` `+Nf(s),(n||r)&&(c+=` `+Mf(n,r))):c=Mf(a+n,o+r),e(`transform`,c)}function mp(e,t,n){var r=Zf.height(t),i=t.align,a=fp(t),o=a.x1,s=a.y1,c=t.dx||0,l=(t.dy||0)+up(t)-Math.round(.8*r),u=ap(t),d;if(N(u)?(r+=ip(t)*(u.length-1),d=u.reduce((e,n)=>Math.max(e,Zf.width(t,n)),0)):d=Zf.width(t,u),i===`center`?c-=d/2:i===`right`&&(c-=d),e.set(c+=o,l+=s,c+d,l+r),t.angle&&!n)e.rotate(t.angle*yu,o,s);else if(n===2)return e.rotatedPoints(t.angle*yu,o,s);return e}function hp(e,t,n){wf(t,t=>{var r=t.opacity==null?1:t.opacity,i,a,o,s,c,l,u;if(!(n&&!n.intersects(t.bounds)||r===0||t.fontSize<=0||t.text==null||t.text.length===0)){if(e.font=lp(t),e.textAlign=t.align||`left`,i=fp(t),a=i.x1,o=i.y1,t.angle&&(e.save(),e.translate(a,o),e.rotate(t.angle*yu),a=o=0),a+=t.dx||0,o+=(t.dy||0)+up(t),l=ap(t),mf(e,t),N(l))for(c=ip(t),s=0;s<l.length;++s)u=sp(t,l[s]),t.fill&&yf(e,t,r)&&e.fillText(u,a,o),t.stroke&&xf(e,t,r)&&e.strokeText(u,a,o),o+=c;else u=sp(t,l),t.fill&&yf(e,t,r)&&e.fillText(u,a,o),t.stroke&&xf(e,t,r)&&e.strokeText(u,a,o);t.angle&&e.restore()}})}function gp(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=fp(t),s=o.x1,c=o.y1,l=mp(dp,t,1),u=-t.angle*yu,d=Math.cos(u),f=Math.sin(u),p=d*i-f*a+(s-d*s+f*c),m=f*i+d*a+(c-f*s-d*c);return l.contains(p,m)}function _p(e,t){let n=mp(dp,e,2);return pf(t,n[0],n[1],n[2],n[3])||pf(t,n[0],n[1],n[4],n[5])||pf(t,n[4],n[5],n[6],n[7])||pf(t,n[2],n[3],n[6],n[7])}var vp={arc:Dte,area:jte,group:Wte,image:Jte,line:Yte,path:Qte,rect:tne,rule:one,shape:sne,symbol:cne,text:{type:`text`,tag:`text`,nested:!1,attr:pp,bound:mp,draw:hp,pick:kf(gp),isect:_p},trail:If(`trail`,Od,Ate)};function yp(e,t,n){var r=vp[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new jd),e,n)}var bp={mark:null};function xp(e,t,n){var r=vp[e.marktype],i=r.bound,a=e.items,o=a&&a.length,s,c,l,u;if(r.nested)return o?l=a[0]:(bp.mark=e,l=bp),u=yp(l,i,n),t=t&&t.union(u)||u,t;if(t=t||e.bounds&&e.bounds.clear()||new jd,o)for(s=0,c=a.length;s<c;++s)t.union(yp(a[s],i,n));return e.bounds=t}var Sp=`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 Cp(e,t){return JSON.stringify(e,Sp,t)}function wp(e){return Tp(typeof e==`string`?JSON.parse(e):e)}function Tp(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`&&Tp(n[i]);return t&&xp(e),e}var Ep=class{constructor(e){arguments.length?this.root=wp(e):(this.root=Dp({marktype:`group`,name:`root`,role:`frame`}),this.root.items=[new Nd(this.root)])}toJSON(e){return Cp(this.root,e||0)}mark(e,t,n){t||=this.root.items[0];let r=Dp(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function Dp(e,t){let n={bounds:new jd,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 Op(e,t,n){return!e&&typeof document<`u`&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function kp(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 Ap(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Op(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function jp(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function Mp(e){return`mark-`+e.marktype+(e.role?` role-`+e.role:``)+(e.name?` `+e.name:``)}function Np(e,t){if(t.getScreenCTM){let n=Pp(e,t.getScreenCTM());if(n)return n}return Fp(e,t,t.getBoundingClientRect())}function Pp(e,t){if(!t)return null;let n=t.a*t.d-t.b*t.c;if(!n)return null;let r=e.clientX-t.e,i=e.clientY-t.f;return[(t.d*r-t.c*i)/n,(t.a*i-t.b*r)/n]}function Fp(e,t,n){let r=t.offsetWidth?n.width/t.offsetWidth:1,i=t.offsetHeight?n.height/t.offsetHeight:1;return[(e.clientX-n.left)/r-(t.clientLeft||0),(e.clientY-n.top)/i-(t.clientTop||0)]}function Ip(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=vp[i.marktype]).tip){for(o=Np(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 Lp=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||te(),this._tooltip=t||Rp}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 e in t)n.push(...t[e]);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(t=>{let n=new MouseEvent(e.type,e),r=Op(null,`a`);for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=Ip(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(),s=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)s+=e.x||0,c+=e.y||0;return{x:s,y:c,width:a,height:o,left:s,top:c,right:s+a,bottom:c+o}}};function Rp(e,t,n,r){e.element().setAttribute(`title`,r||``)}var zp=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new Pd(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 e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r}sanitizeURL(e){return this._load(`sanitizeURL`,e)}loadImage(e){return this._load(`loadImage`,e)}},Bp=`keydown`,Vp=`keypress`,Hp=`keyup`,Up=`dragenter`,Wp=`dragleave`,Gp=`dragover`,Kp=`pointerdown`,qp=`pointerup`,Jp=`pointermove`,Yp=`pointerout`,Xp=`pointerover`,Zp=`mousedown`,Qp=`mouseup`,$p=`mousemove`,em=`mouseout`,tm=`mouseover`,nm=`click`,rm=`dblclick`,im=`wheel`,am=`mousewheel`,om=`touchstart`,sm=`touchmove`,cm=`touchend`,lm=[Bp,Vp,Hp,Up,Wp,Gp,Kp,qp,Jp,Yp,Xp,Zp,Qp,$p,em,tm,nm,rm,im,am,om,sm,cm],um=Jp,dm=em,fm=nm,pm=class extends Lp{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=lm,this.pointermove=vm([Jp,$p],[Xp,tm],[Yp,em]),this.dragover=vm([Gp],[Up],[Wp]),this.pointerout=ym([Yp,em]),this.dragleave=ym([Wp])}initialize(e,t,n){return this._canvas=e&&kp(e,`canvas`),[nm,Zp,Kp,Jp,Yp,Wp].forEach(e=>hm(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext(`2d`)}DOMMouseScroll(e){this.fire(am,e)}pointerdown(e){this._down=this._active,this.fire(Kp,e)}mousedown(e){this._down=this._active,this.fire(Zp,e)}click(e){this._down===this._active&&(this.fire(nm,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&=(this._active=this._touch,!1),this.fire(om,e,!0)}touchmove(e){this.fire(sm,e,!0)}touchend(e){this.fire(cm,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===fm&&r&&r.href?this.handleHref(t,r,r.href):(e===um||e===dm)&&this.handleTooltip(t,r,e!==dm),i)for(let e=0,n=i.length;e<n;++e)i[e].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&&(hm(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=Np(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 vp[e.marktype].pick.call(this,a,e,t,n,r,i)}},mm=e=>e===om||e===sm||e===cm?[om,sm,cm]:[e];function hm(e,t){mm(t).forEach(t=>gm(e,t))}function gm(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))}function _m(e,t,n){t.forEach(t=>e.fire(t,n))}function vm(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?_m(this,e,r):((!i||!i.exit)&&_m(this,n,r),this._active=a,_m(this,t,r),_m(this,e,r))}}function ym(e){return function(t){_m(this,e,t),this._active=null}}function bm(){return typeof window<`u`&&window.devicePixelRatio||1}function xm(e,t,n,r,i,a){let o=typeof HTMLElement<`u`&&e instanceof HTMLElement&&e.parentNode!=null,s=e.getContext(`2d`),c=o?bm():i;e.width=t*c,e.height=n*c;for(let e in a)s[e]=a[e];return o&&(e.style.width=t+`px`,e.style.height=n+`px`),s.pixelRatio=c,s.setTransform(c,0,0,c,c*r[0],c*r[1]),e}var Sm=class extends zp{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new jd,this._tempb=new jd}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Js(1,1,this._options.type),e&&this._canvas&&(jp(e,0).appendChild(this._canvas),this._canvas.setAttribute(`class`,`marks`),this._canvas.style.setProperty(`vertical-align`,`bottom`)),super.initialize(e,t,n,r,i)}resize(e,t,n,r){if(super.resize(e,t,n,r),this._canvas)xm(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||j(`CanvasRenderer is missing a valid canvas or context`),e.scale(this._scale,this._scale),e.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,s=Cm(r,i,a);n.save();let c=this._redraw||o.empty()?(this._redraw=!1,s.expand(1)):wm(n,s.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!==`group`&&r!=null&&!r.includes(t.marktype))return;let i=vp[t.marktype];t.clip&&Mte(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))}},Cm=(e,t,n)=>new jd().set(0,0,t,n).translate(-e[0],-e[1]);function wm(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 Tm=class extends Lp{constructor(e,t){super(e,t);let n=this;n._hrefHandler=Em(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=Em(n,(e,t)=>{n.handleTooltip(e,t,e.type!==dm)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(fm,this._hrefHandler),r.removeEventListener(um,this._tooltipHandler),r.removeEventListener(dm,this._tooltipHandler)),this._svg=r=e&&kp(e,`svg`),r&&(r.addEventListener(fm,this._hrefHandler),r.addEventListener(um,this._tooltipHandler),r.addEventListener(dm,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:Em(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}},Em=(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)},Dm=`aria-hidden`,Om=`aria-label`,km=`role`,Am=`aria-roledescription`,jm=`graphics-object`,Mm=`graphics-symbol`,Nm=(e,t,n)=>({[km]:e,[Am]:t,[Om]:n||void 0}),Pm=_([`axis-domain`,`axis-grid`,`axis-label`,`axis-tick`,`axis-title`,`legend-band`,`legend-entry`,`legend-gradient`,`legend-label`,`legend-title`,`legend-symbol`,`title`]),Fm={axis:{desc:`axis`,caption:Hm},legend:{desc:`legend`,caption:Um},"title-text":{desc:`title`,caption:e=>`Title text '${Vm(e)}'`},"title-subtitle":{desc:`subtitle`,caption:e=>`Subtitle text '${Vm(e)}'`}},Im={ariaRole:km,ariaRoleDescription:Am,description:Om};function Lm(e,t){let n=t.aria===!1;if(e(Dm,n||void 0),n||t.description==null)for(let t in Im)e(Im[t],void 0);else{let n=t.mark.marktype;e(Om,t.description),e(km,t.ariaRole||(n===`group`?jm:Mm)),e(Am,t.ariaRoleDescription||`${n} mark`)}}function Rm(e){return e.aria===!1?{[Dm]:!0}:Pm[e.role]?null:Fm[e.role]?Bm(e,Fm[e.role]):zm(e)}function zm(e){let t=e.marktype;return Nm(t===`group`||t===`text`||e.items.some(e=>e.description!=null&&e.aria!==!1)?jm:Mm,`${t} mark container`,e.description)}function Bm(e,t){try{let n=e.items[0],r=t.caption||(()=>``);return Nm(t.role||Mm,t.desc,e.description||n.description||r(n))}catch{return null}}function Vm(e){return k(e.text).join(` `)}function Hm(e){let t=e.datum,n=e.orient,r=t.title?Wm(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),s=a.type;return`${n===`left`||n===`right`?`Y`:`X`}-axis`+(r?` titled '${r}'`:``)+` for a ${Dl(s)?`discrete`:s} scale with ${ru(o,a,e)}`}function Um(e){let t=e.datum,n=t.title?Wm(e):null,r=`${t.type||``} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,s=o.scales[i[a[0]]].value,c=o.dataflow.locale();return Km(r)+(n?` titled '${n}'`:``)+` for ${Gm(a)} with ${ru(c,s,e)}`}function Wm(e){try{return k(A(e.items).items[0].text).join(` `)}catch{return null}}function Gm(e){return e=e.map(e=>e+(e===`fill`||e===`stroke`?` color`:``)),e.length<2?e[0]:e.slice(0,-1).join(`, `)+` and `+A(e)}function Km(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var qm=e=>(e+``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),Jm=e=>qm(e).replace(/"/g,`"`).replace(/\t/g,`	`).replace(/\n/g,`
`).replace(/\r/g,`
`);function Ym(){let e=``,t=``,n=``,r=[],i=()=>t=n=``,a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(n!=null&&(t+=` ${e}="${Jm(n)}"`),s),s={open(e,...n){a(e),t=`<`+e;for(let e of n)for(let t in e)o(t,e[t]);return s},close(){let a=r.pop();return e+=t?t+(n?`>${n}</${a}>`:`/>`):`</${a}>`,i(),s},attr:o,text:e=>(n+=qm(e),s),toString:()=>e};return s}var Xm=e=>Zm(Ym(),e)+``;function Zm(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let t=0;t<r;++t)e.attr(n[t].name,n[t].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let t of n)t.nodeType===3?e.text(t.nodeValue):Zm(e,t)}return e.close()}var Qm={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`},$m={blend:`mix-blend-mode`},eh={fill:`none`,"stroke-miterlimit":4},th=0,nh=`http://www.w3.org/2000/xmlns/`,rh=Vf.xmlns,ih=class extends zp{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=Ap(e,0,`svg`,rh),this._svg.setAttributeNS(nh,`xmlns`,rh),this._svg.setAttributeNS(nh,`xmlns:xlink`,Vf[`xmlns:xlink`]),this._svg.setAttribute(`version`,Vf.version),this._svg.setAttribute(`class`,`marks`),this._svg.style.setProperty(`vertical-align`,`bottom`),jp(e,1),this._root=Ap(this._svg,th,`g`,rh),gh(this._root,eh),jp(this._svg,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&&(gh(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=e.getAttribute(`style`);e.removeAttribute(`style`);let r;t&&(r=Ap(e,th,`rect`,rh),gh(r,{width:this._width,height:this._height,fill:t}));let i=Xm(e);return t&&e.removeChild(r),n&&e.setAttribute(`style`,n),i}_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),jp(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,s,c;for(o=0,s=e.length;o<s;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=vp[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,ah(n,t),r.items.forEach(e=>{e.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.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,ah(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=vp[a],s=t.interactive===!1?`none`:null,c=o.tag===`g`,l=lh(t,e,n,`g`,i);if(a!==`group`&&r!=null&&!r.includes(a))return jp(l,0),t._svg;l.setAttribute(`class`,Mp(t));let u=Rm(t);for(let e in u)_h(l,e,u[e]);c||_h(l,`pointer-events`,s),_h(l,`clip-path`,t.clip?Ad(this,t,t.group):null);let d=null,f=0,p=e=>{let t=this.isDirty(e),n=lh(e,l,d,o.tag,i);t&&(this._update(o,n,e),c&&ch(this,n,e,r)),d=n,++f};return o.nested?t.items.length&&p(t.items[0]):wf(t,p),jp(l,f),l}_update(e,t,n){dh=t,fh=t.__values__,Lm(mh,n),e.attr(mh,n,this);let r=ph[e.type];r&&r.call(this,e,t,n),dh&&this.style(dh,n)}style(e,t){if(t!=null){for(let n in Qm){let r=n===`font`?cp(t):t[n];if(r===fh[n])continue;let i=Qm[n];r==null?e.removeAttribute(i):(ou(r)&&(r=su(r,this._defs.gradient,yh())),e.setAttribute(i,r+``)),fh[n]=r}for(let n in $m)hh(e,$m[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=Ap(e,1,`defs`,rh)),r=oh(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Ap(e,1,`defs`,rh)),r=sh(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):jp(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function ah(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 oh(e,t,n){let r,i,a;if(t.gradient===`radial`){let r=Ap(e,n++,`pattern`,rh);gh(r,{id:au+t.id,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),r=Ap(r,0,`rect`,rh),gh(r,{width:1,height:1,fill:`url(${yh()}#${t.id})`}),e=Ap(e,n++,`radialGradient`,rh),gh(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Ap(e,n++,`linearGradient`,rh),gh(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=Ap(e,r,`stop`,rh),a.setAttribute(`offset`,t.stops[r].offset),a.setAttribute(`stop-color`,t.stops[r].color);return jp(e,r),n}function sh(e,t,n){let r;return e=Ap(e,n,`clipPath`,rh),e.setAttribute(`id`,t.id),t.path?(r=Ap(e,0,`path`,rh),r.setAttribute(`d`,t.path)):(r=Ap(e,0,`rect`,rh),gh(r,{x:0,y:0,width:t.width,height:t.height})),jp(e,1),n+1}function ch(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;wf(n,n=>{i=e.mark(t,n,i,r),++a}),jp(t,1+a)}function lh(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Op(o,r,rh),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:`default`},r===`g`))){let t=Op(o,`path`,rh);a.appendChild(t),t.__data__=e;let n=Op(o,`g`,rh);a.appendChild(n),n.__data__=e;let r=Op(o,`path`,rh);a.appendChild(r),r.__data__=e,r.__values__={fill:`default`}}return(a.ownerSVGElement!==i||uh(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function uh(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var dh=null,fh=null,ph={group(e,t,n){let r=dh=t.childNodes[2];fh=r.__values__,e.foreground(mh,n,this),fh=t.__values__,dh=t.childNodes[1],e.content(mh,n,this);let i=dh=t.childNodes[0];e.background(mh,n,this);let a=n.mark.interactive===!1?`none`:null;if(a!==fh.events&&(_h(r,`pointer-events`,a),_h(i,`pointer-events`,a),fh.events=a),n.strokeForeground&&n.stroke){let e=n.fill;_h(r,`display`,null),this.style(i,n),_h(i,`stroke`,null),e&&(n.fill=null),fh=r.__values__,this.style(r,n),e&&(n.fill=e),dh=null}else _h(r,`display`,`none`)},image(e,t,n){n.smooth===!1?(hh(t,`image-rendering`,`optimizeSpeed`),hh(t,`image-rendering`,`pixelated`)):hh(t,`image-rendering`,null)},text(e,t,n){let r=ap(n),i,a,o,s;N(r)?(a=r.map(e=>sp(n,e)),i=a.join(`
|
|
1
|
+
import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{t as n}from"./react-DVplv7_D.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{$ as i,A as a,B as o,C as s,D as c,E as l,F as u,G as d,H as f,I as p,J as m,K as h,L as g,M as _,N as v,O as y,P as b,Q as x,R as S,S as C,T as w,U as T,V as E,W as D,X as O,Y as k,Z as A,_ as ee,a as te,at as ne,b as re,c as ie,ct as ae,d as oe,dt as j,et as M,f as se,ft as ce,g as le,h as ue,i as de,it as fe,j as pe,k as me,l as he,lt as ge,m as _e,mt as ve,n as ye,nt as be,o as xe,ot as Se,p as eee,pt as Ce,q as we,r as tee,rt as Te,s as Ee,st as De,t as nee,tt as N,u as Oe,ut as ke,v as Ae,w as je,x as Me,y as Ne,z as P}from"./vega-loader.browser-CLRkNgm7.js";import{a as Pe,c as Fe,o as Ie,s as Le}from"./precisionRound-Bq_nmf5u.js";import{_ as Re,a as ze,c as Be,d as ree,f as iee,g as Ve,h as He,l as Ue,m as aee,n as We,o as Ge,p as Ke,r as qe,s as Je,t as Ye,u as Xe,v as Ze}from"./linear-0eij_aAG.js";import{n as Qe,r as $e,t as et}from"./ordinal-BdBDtYTt.js";import{a as tt,c as nt,d as rt,f as it,i as oee,l as see,n as cee,o as at,p as ot,r as lee,s as st,t as uee,u as dee}from"./time-MgToa8VM.js";import{t as ct}from"./range-EplFIxc7.js";import{i as fee,t as pee}from"./defaultLocale-CNPGWpMu.js";import{C as lt,E as ut,P as dt,S as mee,T as ft,c as pt,l as mt,o as ht,p as gt,r as _t,s as vt,v as yt,w as bt,x as xt,y as St}from"./defaultLocale-D5bOh7g6.js";import{n as Ct,r as wt,t as Tt}from"./path-BCdg30Y0.js";import{f as Et,p as Dt,u as Ot}from"./math-Bi_r_ZWc.js";import{t as kt}from"./arc-Yxk2k_uq.js";import{t as At}from"./array-BifhSqXX.js";import{_ as jt,a as Mt,c as Nt,d as Pt,f as Ft,g as It,h as Lt,i as Rt,l as zt,m as Bt,n as Vt,o as Ht,p as Ut,r as Wt,s as Gt,t as Kt,u as qt,v as Jt}from"./step-CqgdNM3U.js";import{n as hee,r as gee,t as Yt}from"./line-io_go0HI.js";import{n as Xt,t as Zt}from"./init-ZlXS9mIS.js";import{A as _ee,C as Qt,D as $t,E as en,O as tn,S as nn,T as rn,_ as an,a as on,b as sn,c as cn,d as ln,f as un,g as dn,h as fn,i as pn,k as mn,l as hn,m as gn,n as _n,o as vn,p as yn,r as bn,s as xn,t as Sn,u as Cn,x as wn,y as Tn}from"./cubic-DELhj3Tx.js";import{t as En}from"./colors-Cg5Vh3br.js";import{a as Dn,c as On,d as kn,f as An,i as jn,l as Mn,n as Nn,o as Pn,p as Fn,r as In,s as Ln,t as Rn,u as zn}from"./treemap-BfjIY-m6.js";function Bn(e,t,n){let r=[t,...n];console[e](...r)}function Vn(e,t,n=Bn){let r=e||0;return{level(e){return arguments.length?(r=+e,this):r},error(...e){return r>=1&&n(t||`error`,`ERROR`,e),this},warn(...e){return r>=2&&n(t||`warn`,`WARN`,e),this},info(...e){return r>=3&&n(t||`log`,`INFO`,e),this},debug(...e){return r>=4&&n(t||`log`,`DEBUG`,e),this}}}function Hn(e){return e.length>0}var Un=e=>t=>e*Math.exp(t),Wn=e=>t=>Math.log(e*t),Gn=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),Kn=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,qn=e=>t=>t<0?-((-t)**+e):t**+e,Jn=e=>O(e)??0,Yn=e=>e;function Xn(e,t,n,r){Hn(e)||j(`Domain array must not be empty`);let i=n(e[0]),a=n(A(e)),o=(a-i)*t;return[r(i-o),r(a-o)]}function Zn(e,t){return Xn(e,t,Jn,Yn)}function Qn(e,t){let n=Math.sign(e[0]);return Xn(e,t,Wn(n),Un(n))}function $n(e,t,n){return Xn(e,t,qn(n),qn(1/n))}function er(e,t,n){return Xn(e,t,Gn(n),Kn(n))}function tr(e,t,n,r,i){Hn(e)||j(`Domain array must not be empty`);let a=r(e[0]),o=r(A(e)),s=t==null?(a+o)/2:r(t);return[i(s+(a-s)*n),i(s+(o-s)*n)]}function nr(e,t,n){return tr(e,t,n,Jn,Yn)}function rr(e,t,n){let r=Math.sign(e[0]);return tr(e,t,n,Wn(r),Un(r))}function ir(e,t,n,r){return tr(e,t,n,qn(r),qn(1/r))}function ar(e,t,n,r){return tr(e,t,n,Gn(r),Kn(r))}function or(e){return 1+~~(new Date(e).getMonth()/3)}function sr(e){return 1+~~(new Date(e).getUTCMonth()/3)}function cr(e,t,n){let r=e[0],i=e[1],a;return i<r&&(a=i,i=r,r=a),a=i-r,a>=n-t?[t,n]:[r=Math.min(Math.max(r,t),n-a),r+a]}function lr(e,t){let n=null;return r=>{n&&clearTimeout(n),n=setTimeout(()=>(t(r),n=null),e)}}function ur(e,t){let n=0,r,i,a,o;if(e&&(r=e.length)){if(t==null){for(i=e[n];n<r&&(i==null||i!==i);i=e[++n]);for(a=o=i;n<r;++n)i=e[n],i!=null&&(i<a&&(a=i),i>o&&(o=i))}else{for(i=t(e[n]);n<r&&(i==null||i!==i);i=t(e[++n]));for(a=o=i;n<r;++n)i=t(e[n]),i!=null&&(i<a&&(a=i),i>o&&(o=i))}}return[a,o]}function dr(e,t){let n=e.length,r=-1,i,a,o,s,c;if(t==null){for(;++r<n;)if(s=e[r],s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=e[r],s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}else{for(;++r<n;)if(s=t(e[r],r,e),s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=t(e[r],r,e),s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}return[i,a]}var fr={};function pr(e){let t={},n;function r(e){return T(t,e)&&t[e]!==fr}let i={size:0,empty:0,object:t,has:r,get(e){return r(e)?t[e]:void 0},set(e,n){return r(e)||(++i.size,t[e]===fr&&--i.empty),t[e]=n,this},delete(e){return r(e)&&(--i.size,++i.empty,t[e]=fr),this},clear(){i.size=i.empty=0,i.object=t={}},test(e){return arguments.length?(n=e,i):n},clean(){let e={},r=0;for(let i in t){let a=t[i];a!==fr&&(!n||!n(a))&&(e[i]=a,++r)}i.size=r,i.empty=0,i.object=t=e}};return e&&Object.keys(e).forEach(t=>{i.set(t,e[t])}),i}function mr(e,t,n,r,i,a){if(!n&&n!==0)return a;let o=+n,s=e[0],c=A(e),l;if(c===void 0)return a;c<s&&(l=s,s=c,c=l),l=Math.abs(t-s);let u=Math.abs(c-t);return l<u&&l<=o?r:u<=o?i:a}function F(e,t,n){let r=e.prototype=Object.create(t.prototype);return Object.defineProperty(r,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),D(r,n)}function hr(e,t,n,r){let i=t[0],a=t[t.length-1],o;return i>a&&(o=i,i=a,a=o),n=n===void 0||n,r=r===void 0||r,(n?i<=e:i<e)&&(r?e<=a:e<a)}function gr(e){return typeof e==`boolean`}function _r(e){return Object.prototype.toString.call(e)===`[object RegExp]`}function vr(e,t){let n=e[0],r=A(e),i=+t;return r===void 0?n:i?i===1?r:n+i*(r-n):n}var vee=1e4;function yr(e){e=+e||vee;let t,n,r,i=()=>{t={},n={},r=0},a=(i,a)=>(++r>e&&(n=t,t={},r=1),t[i]=a);return i(),{clear:i,has:e=>T(t,e)||T(n,e),get:e=>T(t,e)?t[e]:T(n,e)?a(e,n[e]):void 0,set:(e,n)=>T(t,e)?t[e]=n:a(e,n)}}function yee(e){return e===Array||typeof e==`function`&&e.prototype&&ArrayBuffer.isView(e.prototype)}function br(e,t,n,r){let i=t.length,a=n.length;if(!a)return t;if(!i)return n;let o=t.constructor,s=r||(yee(o)?new o(i+a):Array(i+a)),c=0,l=0,u=0;for(;c<i&&l<a;++u)s[u]=e(t[c],n[l])>0?n[l++]:t[c++];for(;c<i;++c,++u)s[u]=t[c];for(;l<a;++l,++u)s[u]=n[l];return s}function xr(e,t){let n=``;for(;--t>=0;)n+=e;return n}function Sr(e,t,n,r){let i=n||` `,a=e+``,o=t-a.length;return o<=0?a:r===`left`?xr(i,o)+a:r===`center`?xr(i,~~(o/2))+a+xr(i,Math.ceil(o/2)):a+xr(i,o)}function Cr(e,t,n,r){let i=r??`…`,a=e+``,o=a.length,s=Math.max(0,t-i.length);return o<=t?a:n===`left`?i+a.slice(o-s):n===`center`?a.slice(0,Math.ceil(s/2))+i+a.slice(o-~~(s/2)):a.slice(0,s)+i}function wr(e,t,n){if(e){if(t){let r=e.length;for(let i=0;i<r;++i){let r=t(e[i]);r&&n(r,i,e)}}else e.forEach(n)}}function Tr(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(r=t-i,i+=r/++n,a+=r*(t-i));else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,a+=r*(s-i))}if(n>1)return a/(n-1)}function Er(e,t){let n=Tr(e,t);return n&&Math.sqrt(n)}var Dr=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 Or(e,t){return Array.from(t,t=>e[t])}function kr(e=Fe){if(e===Fe)return Ar;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 Ar(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}function jr(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?Ar:kr(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));jr(e,t,u,d,i)}let a=e[t],o=n,s=r;for(Mr(e,n,t),i(e[r],a)>0&&Mr(e,n,r);o<s;){for(Mr(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?Mr(e,n,s):(++s,Mr(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Mr(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Nr(e,t,n){if(e=Float64Array.from(Ze(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return it(e);if(t>=1)return ot(e);var r,i=(r-1)*t,a=Math.floor(i),o=ot(jr(e,a).subarray(0,a+1));return o+(it(e.subarray(a+1))-o)*(i-a)}}function Pr(e,t,n=Re){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 Fr(e,t){let n=0,r=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(++n,r+=t);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 Ir(e,t){return Nr(e,.5,t)}function*Lr(e){for(let t of e)yield*t}function Rr(e){return Array.from(Lr(e))}function zr(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Br(e,...t){e=new $e(e),t=t.map(Vr);out:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue out}return e}function Vr(e){return e instanceof $e?e:new $e(e)}function Hr(...e){let t=new $e;for(let n of e)for(let e of n)t.add(e);return t}var Ur=e(n(),1),bee=r(),xee=/("(?:[^\\"]|\\.)*")|[:,]/g;function Wr(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 e(t,a,o){t&&typeof t.toJSON==`function`&&(t=t.toJSON());let s=JSON.stringify(t,i);if(s===void 0)return s;let c=r-a.length-o;if(s.length<=c){let e=s.replace(xee,(e,t)=>t||`${e} `);if(e.length<=c)return e}if(i!=null&&(t=JSON.parse(s),i=void 0),typeof t==`object`&&t){let r=a+n,i=[],o=0,s,c;if(Array.isArray(t)){s=`[`,c=`]`;let{length:n}=t;for(;o<n;o++)i.push(e(t[o],r,o===n-1?0:1)||`null`)}else{s=`{`,c=`}`;let n=Object.keys(t),{length:a}=n;for(;o<a;o++){let s=n[o],c=`${JSON.stringify(s)}: `,l=e(t[s],r,c.length+(o===a-1?0:1));l!==void 0&&i.push(c+l)}}if(i.length>0)return[s,n+i.join(`,\n${r}`),c].join(`\n${a}`)}return s})(e,``,0)}function Gr(e){let t=e||ne,n=[],r={};return n.add=e=>{let i=t(e);return r[i]||(r[i]=1,n.push(e)),n},n.remove=e=>{let i=t(e);if(r[i]){r[i]=0;let t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function Kr(e,t){try{await t(e)}catch(t){e.error(t)}}var qr=Symbol(`vega_id`),Jr=1;function Yr(e){return!!(e&&I(e))}function I(e){return e[qr]}function Xr(e,t){return e[qr]=t,e}function Zr(e){let t=e===Object(e)?e:{data:e};return I(t)?t:Xr(t,Jr++)}function Qr(e){return $r(e,Zr({}))}function $r(e,t){for(let n in e)t[n]=e[n];return t}function ei(e,t){return Xr(t,I(e))}function ti(e,t){return e?t?(n,r)=>e(n,r)||I(t(n))-I(t(r)):(t,n)=>e(t,n)||I(t)-I(n):null}function ni(e){return e&&e.constructor===ri}function ri(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:ri,insert(t){let n=k(t),r=n.length;for(let t=0;t<r;++t)e.push(n[t]);return this},remove(e){let n=m(e)?r:t,i=k(e),a=i.length;for(let e=0;e<a;++e)n.push(i[e]);return this},modify(e,t,r){let a={field:t,value:d(r)};return m(e)?(a.filter=e,i.push(a)):(a.tuple=e,n.push(a)),this},encode(e,t){return m(e)?i.push({filter:e,field:t}):n.push({tuple:e,field:t}),this},clean(e){return a=e,this},reflow(){return o=!0,this},pulse(s,c){let l={},u={},d,f,p,m,h,g;for(d=0,f=c.length;d<f;++d)l[I(c[d])]=1;for(d=0,f=t.length;d<f;++d)h=t[d],l[I(h)]=-1;for(d=0,f=r.length;d<f;++d)m=r[d],c.forEach(e=>{m(e)&&(l[I(e)]=-1)});for(d=0,f=e.length;d<f;++d)h=e[d],g=I(h),l[g]?l[g]=1:s.add.push(Zr(e[d]));for(d=0,f=c.length;d<f;++d)h=c[d],l[I(h)]<0&&s.rem.push(h);function _(e,t,n){n?e[t]=n(e):s.encode=t,o||(u[I(e)]=e)}for(d=0,f=n.length;d<f;++d)p=n[d],h=p.tuple,m=p.field,g=l[I(h)],g>0&&(_(h,m,p.value),s.modifies(m));for(d=0,f=i.length;d<f;++d)p=i[d],m=p.filter,c.forEach(e=>{m(e)&&l[I(e)]>0&&_(e,p.field,p.value)}),s.modifies(p.field);if(o)s.mod=t.length||r.length?c.filter(e=>l[I(e)]>0):c.slice();else for(g in u)s.mod.push(u[g]);return(a||a==null&&(t.length||r.length))&&s.clean(!0),s}}}var ii=`_:mod:_`;function ai(){Object.defineProperty(this,ii,{writable:!0,value:{}})}ai.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[ii];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]=N(n)?1+n.length:-1),i},modified(e,t){let n=this[ii];if(!arguments.length){for(let e in n)if(n[e])return!0;return!1}if(N(e)){for(let t=0;t<e.length;++t)if(n[e[t]])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+`:`+e]:!!n[e]},clear(){return this[ii]={},this}};var oi=0,si=`pulse`,ci=new ai,li=1,ui=2;function di(e,t,n,r){this.id=++oi,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 fi(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}di.prototype={targets(){return this._targets||=Gr(fe)},set(e){return this.value===e?0:(this.value=e,1)},skip:fi(li),modified:fi(ui),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new ai,i=this._argops=this._argops||[],a=[],o,s,c,l,u=(e,n,o)=>{o instanceof di?(o!==this&&(t&&o.targets().add(this),a.push(o)),i.push({op:o,name:e,index:n})):r.set(e,n,o)};for(o in e)if(s=e[o],o===si)k(s).forEach(e=>{e instanceof di?e!==this&&(e.targets().add(this),a.push(e)):j(`Pulse parameters must be operator instances.`)}),this.source=s;else if(N(s))for(r.set(o,-1,Array(c=s.length)),l=0;l<c;++l)u(o,l,s[l]);else u(o,-1,s);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||ci,n=this._argops,r,i,a,o;if(n){let s=n.length;for(i=0;i<s;++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<s;++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 pi(e,t,n,r){let i=1,a;return e instanceof di?a=e:e&&e.prototype instanceof di?a=new e:m(e)?a=new di(null,e):(i=0,a=new di(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function mi(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 hi=0;function gi(e,t,n){this.id=++hi,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function _i(e,t,n){return new gi(e,t,n)}gi.prototype={_filter:De,_apply:ne,targets(){return this._targets||=Gr(fe)},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 e=0;e<r;++e)n[e].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=_i(e);return this.targets().add(t),t},apply(e){let t=_i(null,e);return this.targets().add(t),t},merge(){let e=_i();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=_i();return this.targets().add(_i(null,null,lr(e,e=>{let n=e.dataflow;t.receive(e),n&&n.run&&n.run()}))),t},between(e,t){let n=!1;return e.targets().add(_i(null,null,()=>n=!0)),t.targets().add(_i(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=De,this._targets=null}};function vi(e,t,n,r){let i=this,a=_i(n,r),o=function(e){e.dataflow=i;try{a.receive(e)}catch(e){i.error(e)}finally{i.run()}},s;s=typeof e==`string`&&typeof document<`u`?document.querySelectorAll(e):k(e);let c=s.length;for(let e=0;e<c;++e)s[e].addEventListener(t,o);return a}function yi(e,t){let n=this.locale();return xe(e,t,n.timeParse,n.utcParse)}function bi(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function xi(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:`dataflow`,response:Ee(t&&t.type)});try{i=n.parse(i,t)}catch(t){r=-2,n.warn(`Data ingestion failed`,e,t)}}catch(t){r=-1,n.warn(`Loading failed`,e,t)}return{data:i,status:r}}async function Si(e,t,n){let r=this,i=r._pending||Ci(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(De).insert(a.data||[])),i.done(),a}function Ci(e){let t,n=new Promise(e=>t=e);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var wi={skip:!0};function Ti(e,t,n,r,i){return(e instanceof di?Di:Ei)(this,e,t,n,r,i),this}function Ei(e,t,n,r,i,a){let o=D({},a,wi),s,c;m(n)||(n=d(n)),r===void 0?s=t=>e.touch(n(t)):m(r)?(c=new di(null,r,i,!1),s=t=>{c.evaluate(t);let r=n(t),i=c.value;ni(i)?e.pulse(r,i,a):e.update(r,i,o)}):s=t=>e.update(n(t),r,o),t.apply(s)}function Di(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},s=new di(null,Oi(n,r),i,!1);s.modified(o.force),s.rank=t.rank,t.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),e.connect(n,[s]))}}function Oi(e,t){return t=m(t)?t:d(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function ki(e){e.rank=++this._rank}function Ai(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&&j(`Cycle detected in dataflow graph.`)}var ji={},Mi=1,Ni=2,Pi=4,Fi=3,Ii=5,Li=7,Ri=8,zi=16,Bi=32,Vi=64;function Hi(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function Ui(e,t){let n=[];return wr(e,t,e=>n.push(e)),n}function Wi(e,t){let n={};return e.visit(t,e=>{n[I(e)]=1}),e=>n[I(e)]?null:e}function Gi(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}Hi.prototype={StopPropagation:ji,ADD:Mi,REM:Ni,MOD:Pi,ADD_REM:Fi,ADD_MOD:Ii,ALL:Li,REFLOW:Ri,SOURCE:zi,NO_SOURCE:Bi,NO_FIELDS:Vi,fork(e){return new Hi(this.dataflow).init(this,e)},clone(){let e=this.fork(Li);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&=e.source.slice(),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length?e:(e=new Hi(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&Vi)&&(n.fields=e.fields),t&Mi?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&Ni?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Pi?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&Bi?(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||Li;return t&Mi&&this.add.length||t&Ni&&this.rem.length||t&Pi&&this.mod.length},reflow(e){if(e)return this.fork(Li).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Pi,Wi(this,Mi))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||={};return N(e)?e.forEach(e=>t[e]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?N(e)?e.some(e=>n[e]):n[e]:!!n:!1},filter(e,t){let n=this;return e&Mi&&(n.addF=Gi(n.addF,t)),e&Ni&&(n.remF=Gi(n.remF,t)),e&Pi&&(n.modF=Gi(n.modF,t)),e&zi&&(n.srcF=Gi(n.srcF,t)),n},materialize(e){e||=Li;let t=this;return e&Mi&&t.addF&&(t.add=Ui(t.add,t.addF),t.addF=null),e&Ni&&t.remF&&(t.rem=Ui(t.rem,t.remF),t.remF=null),e&Pi&&t.modF&&(t.mod=Ui(t.mod,t.modF),t.modF=null),e&zi&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&zi)return wr(n.source,n.srcF,r),n;e&Mi&&wr(n.add,n.addF,r),e&Ni&&wr(n.rem,n.remF,r),e&Pi&&wr(n.mod,n.modF,r);let i=n.source;if(e&Ri&&i){let e=n.add.length+n.mod.length;e===i.length||(e?wr(i,Wi(n,Ii),r):wr(i,n.srcF,r))}return n}};function Ki(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 e of n)if(e.stamp===t){if(e.fields){let t=i.fields||={};for(let n in e.fields)t[n]=1}e.changed(i.ADD)&&(a|=i.ADD),e.changed(i.REM)&&(a|=i.REM),e.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}F(Ki,Hi,{fork(e){let t=new Hi(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,e=>t.add.push(e)),e&t.REM&&this.visit(t.REM,e=>t.rem.push(e)),e&t.MOD&&this.visit(t.MOD,e=>t.mod.push(e))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?N(e)?e.some(e=>n[e]):n[e]:0},filter(){j(`MultiPulse does not support filtering.`)},materialize(){j(`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 See(e,t,n){let r=this,i=[];if(r._pulse)return qi(r);if(r._pending&&await r._pending,t&&await Kr(r,t),!r._touched.length)return r.debug(`Dataflow invoked, but nothing to do.`),r;let a=++r._clock;r._pulse=new Hi(r,a,e),r._touched.forEach(e=>r._enqueue(e,!0)),r._touched=Gr(fe);let o=0,s,c,l;try{for(;r._heap.size()>0;){if(s=r._heap.pop(),s.rank!==s.qrank){r._enqueue(s,!0);continue}c=s.run(r._getPulse(s,e)),c.then?c=await c:c.async&&(i.push(c.async),c=ji),c!==ji&&s._targets&&s._targets.forEach(e=>r._enqueue(e)),++o}}catch(e){r._heap.clear(),l=e}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),l&&(r._postrun=[],r.error(l)),r._postrun.length){let e=r._postrun.sort((e,t)=>t.priority-e.priority);r._postrun=[];for(let t=0;t<e.length;++t)await Kr(r,e[t].callback)}return n&&await Kr(r,n),i.length&&Promise.all(i).then(e=>r.runAsync(null,()=>{e.forEach(e=>{try{e(r)}catch(e){r.error(e)}})})),r}async function Cee(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 wee(e,t,n){return this._pulse?qi(this):(this.evaluate(e,t,n),this)}function Tee(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(e){this.error(e)}}function qi(e){return e.error(`Dataflow already running. Use runAsync() to chain invocations.`),e}function Eee(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function Dee(e,t){let n=e.source,r=this._clock;return n&&N(n)?new Ki(this,r,n.map(e=>e.pulse),t):this._input[e.id]||Oee(this._pulse,n&&n.pulse)}function Oee(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==ji&&(e.source=t.source),e)}var Ji={skip:!1,force:!1};function kee(e,t){let n=t||Ji;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function Aee(e,t,n){let r=n||Ji;return(e.set(t)||r.force)&&this.touch(e,r),this}function jee(e,t,n){this.touch(e,n||Ji);let r=new Hi(this,this._clock+ +!this._pulse),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function Mee(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),Yi(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,Nee(t,0,e)):r=n,r}}}function Yi(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 Nee(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,s;for(;o<i;)s=o+1,s<i&&n(e[o],e[s])>=0&&(o=s),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,Yi(e,r,t,n)}function Xi(){this.logger(Vn()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=he();try{this._loader=te()}catch{}this._touched=Gr(fe),this._input={},this._pulse=null,this._heap=Mee((e,t)=>e.qrank-t.qrank),this._postrun=[]}function Zi(e){return function(){return this._log[e].apply(this,arguments)}}Xi.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:Zi(`error`),warn:Zi(`warn`),info:Zi(`info`),debug:Zi(`debug`),logLevel:Zi(`level`),cleanThreshold:1e4,add:pi,connect:mi,rank:ki,rerank:Ai,pulse:jee,touch:kee,update:Aee,changeset:ri,ingest:bi,parse:yi,preload:Si,request:xi,events:vi,on:Ti,evaluate:See,run:wee,runAsync:Cee,runAfter:Tee,_enqueue:Eee,_getPulse:Dee};function L(e,t){di.call(this,e,null,t)}F(L,di,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||=e,t.then?t=t.then(e=>this.pulse=e):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 Qi={};function $i(e){let t=ea(e);return t&&t.Definition||null}function ea(e){return e&&=e.toLowerCase(),T(Qi,e)?Qi[e]:null}function*ta(e,t){if(t==null)for(let t of e)t!=null&&t!==``&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==``&&(r=+r)>=r&&(yield r)}}function na(e,t,n){let r=Float64Array.from(ta(e,n));return r.sort(Fe),t.map(e=>Pr(r,e))}function ra(e,t){return na(e,[.25,.5,.75],t)}function ia(e,t){let n=e.length,r=Er(e,t),i=ra(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 aa(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],s,c,l,u,d,f,p=e.span||o-a||Math.abs(a)||1;if(e.step)s=e.step;else if(e.steps){for(u=p/t,d=0,f=e.steps.length;d<f&&e.steps[d]<u;++d);s=e.steps[Math.max(0,d-1)]}else{for(c=Math.ceil(Math.log(t)/r),l=e.minstep||0,s=Math.max(l,n**+(Math.round(Math.log(p)/r)-c));Math.ceil(p/s)>t;)s*=n;for(d=0,f=i.length;d<f;++d)u=s/i[d],u>=l&&p/u<=t&&(s=u)}u=Math.log(s);let m=n**(-(u>=0?0:~~(-u/r)+1)-1);return(e.nice||e.nice===void 0)&&(u=Math.floor(a/s+m)*s,a=a<u?u-s:u,o=Math.ceil(o/s)*s),{start:a,stop:o===a?a+s:o,step:s}}var oa=Math.random;function sa(e){oa=e}function ca(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(ta(e,r)),a=i.length,o=t,s,c,l,u;for(l=0,u=Array(o);l<o;++l){for(s=0,c=0;c<a;++c)s+=i[~~(oa()*a)];u[l]=s/a}return u.sort(Fe),[Nr(u,n/2),Nr(u,1-n/2)]}function la(e,t,n,r){r||=(e=>e);let i=e.length,a=new Float64Array(i),o=0,s=1,c=r(e[0]),l=c,u=c+t,d;for(;s<i;++s){if(d=r(e[s]),d>=u){for(l=(c+l)/2;o<s;++o)a[o]=l;u=d+t,c=d}l=d}for(l=(c+l)/2;o<s;++o)a[o]=l;return n?ua(a,t+t/4):a}function ua(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 da(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function fa(e,t){t??(t=e,e=0);let n,r,i,a={min(e){return arguments.length?(n=e||0,i=r-n,a):n},max(e){return arguments.length?(r=e||0,i=r-n,a):r},sample(){return n+Math.floor(i*oa())},pdf(e){return e===Math.floor(e)&&e>=n&&e<r?1/i:0},cdf(e){let t=Math.floor(e);return t<n?0:t>=r?1:(t-n+1)/i},icdf(e){return e>=0&&e<=1?n-1+Math.floor(e*i):NaN}};return a.min(e).max(t)}var pa=Math.sqrt(2*Math.PI),ma=Math.SQRT2,ha=NaN;function ga(e,t){e||=0,t??=1;let n=0,r=0,i,a;if(ha===ha)n=ha,ha=NaN;else{do n=oa()*2-1,r=oa()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,ha=r*a}return e+n*t}function _a(e,t,n){n??=1;let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*pa)}function va(e,t,n){t||=0,n??=1;let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let e=Math.exp(-i*i/2),t;i<7.07106781186547?(t=.0352624965998911*i+.700383064443688,t=t*i+6.37396220353165,t=t*i+33.912866078383,t=t*i+112.079291497871,t=t*i+221.213596169931,t=t*i+220.206867912376,a=e*t,t=.0883883476483184*i+1.75566716318264,t=t*i+16.064177579207,t=t*i+86.7807322029461,t=t*i+296.564248779674,t=t*i+637.333633378831,t=t*i+793.826512519948,t=t*i+440.413735824752,a/=t):(t=i+.65,t=i+4/t,t=i+3/t,t=i+2/t,t=i+1/t,a=e/t/2.506628274631)}return r>0?1-a:a}function ya(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*ma*ba(2*e-1)}function ba(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=1.0512122733215323e-9+n*t,n=-4.112633980346984e-9+n*t,n=-2.9070369957882005e-8+n*t,n=4.2347877827932404e-7+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=2.2137376921775787e-9,n=9.075656193888539e-8+n*t,n=-2.7517406297064545e-7+n*t,n=1.8239629214389228e-8+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=1.5076572693500548e-9+n*t,n=-3.789465440126737e-9+n*t,n=7.61570120807834e-9+n*t,n=-1.496002662714924e-8+n*t,n=2.914795345090108e-8+n*t,n=-6.771199775845234e-8+n*t,n=2.2900482228026655e-7+n*t,n=-9.9298272942317e-7+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 xa(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>ga(n,r),pdf:e=>_a(e,n,r),cdf:e=>va(e,n,r),icdf:e=>ya(e,n,r)};return i.mean(e).stdev(t)}function Sa(e,t){let n=xa(),r=0,i={data(n){return arguments.length?(e=n,r=n?n.length:0,i.bandwidth(t)):e},bandwidth(n){return arguments.length?(t=n,!t&&e&&(t=ia(e)),i):t},sample(){return e[~~(oa()*r)]+t*n.sample()},pdf(i){let a=0,o=0;for(;o<r;++o)a+=n.pdf((i-e[o])/t);return a/t/r},cdf(i){let a=0,o=0;for(;o<r;++o)a+=n.cdf((i-e[o])/t);return a/r},icdf(){throw Error(`KDE icdf not supported.`)}};return i.data(e)}function Ca(e,t){return e||=0,t??=1,Math.exp(e+ga()*t)}function wa(e,t,n){if(e<=0)return 0;t||=0,n??=1;let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*pa*e)}function Ta(e,t,n){return va(Math.log(e),t,n)}function Ea(e,t,n){return Math.exp(ya(e,t,n))}function Da(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>Ca(n,r),pdf:e=>wa(e,n,r),cdf:e=>Ta(e,n,r),icdf:e=>Ea(e,n,r)};return i.mean(e).stdev(t)}function Oa(e,t){let n=0,r;function i(e){let t=[],r=0,i;for(i=0;i<n;++i)r+=t[i]=e[i]==null?1:+e[i];for(i=0;i<n;++i)t[i]/=r;return t}let a={weights(e){return arguments.length?(r=i(t=e||[]),a):t},distributions(r){return arguments.length?(r?(n=r.length,e=r):(n=0,e=[]),a.weights(t)):e},sample(){let t=oa(),i=e[n-1],a=r[0],o=0;for(;o<n-1;a+=r[++o])if(t<a){i=e[o];break}return i.sample()},pdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].pdf(t);return i},cdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].cdf(t);return i},icdf(){throw Error(`Mixture icdf not supported.`)}};return a.distributions(e).weights(t)}function ka(e,t){return t??(t=e??1,e=0),e+(t-e)*oa()}function Aa(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function ja(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function Ma(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function Na(e,t){let n,r,i={min(e){return arguments.length?(n=e||0,i):n},max(e){return arguments.length?(r=e??1,i):r},sample:()=>ka(n,r),pdf:e=>Aa(e,n,r),cdf:e=>ja(e,n,r),icdf:e=>Ma(e,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function Pa(e,t,n){let r=0,i=0;for(let a of e){let e=n(a);t(a)==null||e==null||isNaN(e)||(r+=(e-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Fa(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 Ia(e,t,n,r){e=e.filter(e=>{let r=t(e),i=n(e);return r!=null&&(r=+r)>=r&&i!=null&&(i=+i)>=i}),r&&e.sort((e,n)=>t(e)-t(n));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),s=0,c=0,l=0,u,d,f;for(f of e)a[s]=u=+t(f),o[s]=d=+n(f),++s,c+=(u-c)/s,l+=(d-l)/s;for(s=0;s<i;++s)a[s]-=c,o[s]-=l;return[a,o,c,l]}function La(e,t,n,r){let i=-1,a,o;for(let s of e)a=t(s),o=n(s),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function Ra(e,t,n,r,i){let a=0,o=0;return La(e,t,n,(e,t)=>{let n=t-i(e),s=t-r;a+=n*n,o+=s*s}),1-a/o}function za(e,t,n){let r=0,i=0,a=0,o=0,s=0;La(e,t,n,(e,t)=>{++s,r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=Fa(r,i,a,o),l=e=>c[0]+c[1]*e;return{coef:c,predict:l,rSquared:Ra(e,t,n,i,l)}}function Ba(e,t,n){let r=0,i=0,a=0,o=0,s=0;La(e,t,n,(e,t)=>{++s,e=Math.log(e),r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=Fa(r,i,a,o),l=e=>c[0]+c[1]*Math.log(e);return{coef:c,predict:l,rSquared:Ra(e,t,n,i,l)}}function Va(e,t,n){let[r,i,a,o]=Ia(e,t,n),s=0,c=0,l=0,u=0,d=0,f,p,m;La(e,t,n,(e,t)=>{f=r[d++],p=Math.log(t),m=f*t,s+=(t*p-s)/d,c+=(m-c)/d,l+=(m*p-l)/d,u+=(f*m-u)/d});let[h,g]=Fa(c/o,s/o,l/o,u/o),_=e=>Math.exp(h+g*(e-a));return{coef:[Math.exp(h-g*a),g],predict:_,rSquared:Ra(e,t,n,o,_)}}function Ha(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0;La(e,t,n,(e,t)=>{let n=Math.log(e),l=Math.log(t);++c,r+=(n-r)/c,i+=(l-i)/c,a+=(n*l-a)/c,o+=(n*n-o)/c,s+=(t-s)/c});let l=Fa(r,i,a,o),u=e=>l[0]*e**+l[1];return l[0]=Math.exp(l[0]),{coef:l,predict:u,rSquared:Ra(e,t,n,s,u)}}function Ua(e,t,n){let[r,i,a,o]=Ia(e,t,n),s=r.length,c=0,l=0,u=0,d=0,f=0,p,m,h,g;for(p=0;p<s;)m=r[p],h=i[p++],g=m*m,c+=(g-c)/p,l+=(g*m-l)/p,u+=(g*g-u)/p,d+=(m*h-d)/p,f+=(g*h-f)/p;let _=u-c*c,v=c*_-l*l,y=(f*c-d*l)/v,b=(d*_-f*l)/v,x=-y*c,S=e=>(e-=a,y*e*e+b*e+x+o);return{coef:[x-b*a+y*a*a+o,b-2*y*a,y],predict:S,rSquared:Ra(e,t,n,o,S)}}function Wa(e,t,n,r){if(r===0)return Pa(e,t,n);if(r===1)return za(e,t,n);if(r===2)return Ua(e,t,n);let[i,a,o,s]=Ia(e,t,n),c=i.length,l=[],u=[],d=r+1,f,p,m,h,g;for(f=0;f<d;++f){for(m=0,h=0;m<c;++m)h+=i[m]**+f*a[m];for(l.push(h),g=new Float64Array(d),p=0;p<d;++p){for(m=0,h=0;m<c;++m)h+=i[m]**+(f+p);g[p]=h}u.push(g)}u.push(l);let _=Ka(u),v=e=>{e-=o;let t=s+_[0]+_[1]*e+_[2]*e*e;for(f=3;f<d;++f)t+=_[f]*e**+f;return t};return{coef:Ga(d,_,-o,s),predict:v,rSquared:Ra(e,t,n,s,v)}}function Ga(e,t,n,r){let i=Array(e),a,o,s,c;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(s=t[a],c=1,i[a]+=s,o=1;o<=a;++o)c*=(a+1-o)/o,i[a-o]+=s*n**+o*c;return i[0]+=r,i}function Ka(e){let t=e.length-1,n=[],r,i,a,o,s;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)s=e[a][r],e[a][r]=e[a][o],e[a][o]=s;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(s=0,a=i+1;a<t;++a)s+=e[a][i]*n[a];n[i]=(e[t][i]-s)/e[i][i]}return n}var qa=2,Ja=1e-12;function Ya(e,t,n,r){let[i,a,o,s]=Ia(e,t,n,!0),c=i.length,l=Math.max(2,~~(r*c)),u=new Float64Array(c),d=new Float64Array(c),f=new Float64Array(c).fill(1);for(let e=-1;++e<=qa;){let t=[0,l-1];for(let e=0;e<c;++e){let n=i[e],r=t[0],o=t[1],s=n-i[r]>i[o]-n?r:o,c=0,l=0,p=0,m=0,h=0,g=1/Math.abs(i[s]-n||1);for(let e=r;e<=o;++e){let t=i[e],r=a[e],o=Xa(Math.abs(n-t)*g)*f[e],s=t*o;c+=o,l+=s,p+=r*o,m+=r*s,h+=t*s}let[_,v]=Fa(l/c,p/c,m/c,h/c);u[e]=_+v*n,d[e]=Math.abs(a[e]-u[e]),Za(i,e+1,t)}if(e===qa)break;let n=Ir(d);if(Math.abs(n)<Ja)break;for(let e=0,t,r;e<c;++e)t=d[e]/(6*n),f[e]=t>=1?Ja:(r=1-t*t)*r}return Qa(i,u,o,s)}function Xa(e){return(e=1-e*e*e)*e*e}function Za(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 Qa(e,t,n,r){let i=e.length,a=[],o=0,s=0,c=[],l;for(;o<i;++o)l=e[o]+n,c[0]===l?c[1]+=(t[o]-c[1])/++s:(s=0,c[1]+=r,c=[l,t[o]],a.push(c));return c[1]+=r,a}var $a=.5*Math.PI/180;function eo(e,t,n,r){n||=25,r=Math.max(n,r||200);let i=t=>[t,e(t)],a=t[0],o=t[1],s=o-a,c=s/r,l=[i(a)],u=[];if(n===r){for(let e=1;e<r;++e)l.push(i(a+e/n*s));return l.push(i(o)),l}u.push(i(o));for(let e=n;--e>0;)u.push(i(a+e/n*s));let d=l[0],f=u[u.length-1],p=1/s,m=to(d[1],u);for(;f;){let e=i((d[0]+f[0])/2);e[0]-d[0]>=c&&no(d,e,f,p,m)>$a?u.push(e):(d=f,l.push(f),u.pop()),f=u[u.length-1]}return l}function to(e,t){let n=e,r=e,i=t.length;for(let e=0;e<i;++e){let i=t[e][1];i<n&&(n=i),i>r&&(r=i)}return 1/(r-n)}function no(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 ro=t({aggregate:()=>Co,bin:()=>To,collect:()=>Do,compare:()=>Oo,countpattern:()=>Ao,cross:()=>Mo,density:()=>zo,dotbin:()=>Ko,expression:()=>Jo,extent:()=>Xo,facet:()=>Qo,field:()=>$o,filter:()=>ts,flatten:()=>ns,fold:()=>rs,formula:()=>is,generate:()=>as,impute:()=>cs,joinaggregate:()=>fs,kde:()=>ps,key:()=>ms,load:()=>gs,lookup:()=>ys,multiextent:()=>bs,multivalues:()=>Ss,params:()=>ws,pivot:()=>Ts,prefacet:()=>ks,project:()=>As,proxy:()=>Ms,quantile:()=>Ns,relay:()=>Ps,sample:()=>Fs,sequence:()=>Is,sieve:()=>Ls,subflow:()=>Zo,timeunit:()=>Rs,tupleindex:()=>Bs,values:()=>Vs,window:()=>Gs});function io(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 ao(e){return!e||!e.length?function(){return``}:e.length===1?e[0]:io(e)}function oo(e,t,n){return n||e+(t?`_`+t:``)}var so=()=>{},co={init:so,add:so,rem:so,idx:0},lo={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}},uo=Object.keys(lo).filter(e=>e!==`__count__`);function fo(e,t){return(n,r)=>D({name:e,aggregate_param:r,out:n||e},co,t)}[...uo,`__count__`].forEach(e=>{lo[e]=fo(e,lo[e])});function po(e,t,n){return lo[e](n,t)}function mo(e,t){return e.idx-t.idx}function ho(e){let t={};e.forEach(e=>t[e.name]=e);let n=e=>{e.req&&e.req.forEach(e=>{t[e]||n(t[e]=lo[e]())})};return e.forEach(n),Object.values(t).sort(mo)}function go(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function _o(e,t){if(e==null||e===``){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function vo(e,t){if(e==null||e===``){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function yo(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function bo(e,t){let n=t||ne,r=ho(e),i=e.slice().sort(mo);function a(e){this._ops=r,this._out=i,this.cell=e,this.init()}return a.prototype.init=go,a.prototype.add=_o,a.prototype.rem=vo,a.prototype.set=yo,a.prototype.get=n,a.fields=e.map(e=>e.out),a}function xo(e){this._key=e?ge(e):I,this.reset()}var So=xo.prototype;So.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},So.add=function(e){this._add.push(e)},So.rem=function(e){this._rem.push(e)},So.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={},s,c,l;for(s=0;s<i;++s)o[n(t[s])]=1;for(s=0,c=0;s<r;++s)o[n(l=e[s])]?o[n(l)]=0:a[c++]=l;return this._rem=[],this._add=a},So.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+``,T(n,a)||(n[a]=1,++i);return i},So.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=dr(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},So.argmin=function(e){return this.extent(e)[0]||{}},So.argmax=function(e){return this.extent(e)[1]||{}},So.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},So.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},So.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=ra(this.values(),e),this._get=e),this._q},So.q1=function(e){return this.quartile(e)[0]},So.q2=function(e){return this.quartile(e)[1]},So.q3=function(e){return this.quartile(e)[2]},So.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=ca(this.values(),1e3,.05,e),this._get=e),this._ci},So.ci0=function(e){return this.ci(e)[0]},So.ci1=function(e){return this.ci(e)[1]};function Co(e){L.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}Co.Definition={type:`Aggregate`,metadata:{generates:!0,changes:!0},params:[{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:uo},{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`}]},F(Co,L,{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,e=>n.add(e))):(n.value=n.value||n.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),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(e){let t,a,o,s;for(t in e)for(o=e[t].tuple,a=0;a<i;++a)r[a][s=o[n[a]]]=s}a(e._prev),a(t);function o(a,s,c){let l=n[c],u=r[c++];for(let n in u){let r=a?a+`|`+n:n;s[l]=u[n],c<i?o(r,s,c):t[r]||e.cell(r,s)}}o(``,{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(e){let n=k(Ce(e)),i=n.length,a=0,o;for(;a<i;++a)r[o=n[a]]||(r[o]=1,t.push(o))}this._dims=k(e.groupby),this._dnames=this._dims.map(e=>{let t=ve(e);return i(e),n.push(t),t}),this.cellkey=e.key?e.key:ao(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||[`count`],s=e.aggregate_params||[null],c=e.as||[],l=a.length,u={},d,f,p,m,h,g,_;for(l!==o.length&&j(`Unmatched number of fields and aggregate ops.`),_=0;_<l;++_){if(d=a[_],f=o[_],p=s[_]||null,d==null&&f!==`count`&&j(`Null aggregate field specified.`),h=ve(d),g=oo(f,h,c[_]),n.push(g),f===`count`){this._counts.push(g);continue}m=u[h],m||(i(d),m=u[h]=[],m.field=d,this._measures.push(m)),f!==`count`&&(this._countOnly=!1),m.push(po(f,p,g))}return this._measures=this._measures.map(e=>bo(e,e.field)),Object.create(null)},cellkey:ao(),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 e=this._measures,t=e.length;n.agg=Array(t);for(let r=0;r<t;++r)n.agg[r]=new e[r](n)}return n.store&&(n.data=new xo),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let t=0;t<i;++t)a[n[t]]=r[t](e);return t?ei(t.tuple,a):Zr(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 t=0,n=r.length;t<n;++t)r[t].add(r[t].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 t=0,n=r.length;t<n;++t)r[t].rem(r[t].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 n=e.agg;for(let e=0,r=n.length;e<r;++e)n[e].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,s=e.mod,c,l,u,d;if(r)for(l in r)c=r[l],(!i||c.num)&&o.push(c.tuple);for(u=0,d=this._alen;u<d;++u)a.push(this.celltuple(t[u])),t[u]=null;for(u=0,d=this._mlen;u<d;++u)c=n[u],(c.num===0&&i?o:s).push(this.celltuple(c)),n[u]=null;return this._alen=this._mlen=0,this._prev=null,e}});var wo=1e-14;function To(e){L.call(this,null,e)}To.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`]}]},F(To,L,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||[`bin0`,`bin1`],s=o[0],c=o[1],l;return e.modified()?(t=t.reflow(!0),l=t.SOURCE):l=t.modified(Ce(e.field))?t.ADD_MOD:t.ADD,t.visit(l,n?e=>{let t=r(e);e[s]=t,e[c]=t==null?null:i+a*(1+(t-i)/a)}:e=>e[s]=r(e)),t.modifies(n?o:s)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=aa(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,s;(o=e.anchor)!=null&&(s=o-(i+r*Math.floor((o-i)/r)),i+=s,a+=s);let c=function(e){let n=O(t(e));return n==null?null:n<i?-1/0:n>a?1/0:(n=Math.max(i,Math.min(n,a-r)),i+r*Math.floor(wo+(n-i)/r))};return c.start=i,c.stop=n.stop,c.step=r,this.value=ce(c,Ce(t),e.name||`bin_`+ve(t))}});function Eo(e,t,n){let r=e,i=t||[],a=n||[],o={},s=0;return{add:e=>a.push(e),remove:e=>o[r(e)]=++s,size:()=>i.length,data:(e,t)=>(s&&=(i=i.filter(e=>!o[r(e)]),o={},0),t&&e&&i.sort(e),a.length&&(i=e?br(e,i,a.sort(e)):i.concat(a),a=[]),i)}}function Do(e){L.call(this,[],e)}Do.Definition={type:`Collect`,metadata:{source:!0},params:[{name:`sort`,type:`compare`}]},F(Do,L,{transform(e,t){let n=t.fork(t.ALL),r=Eo(I,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(ti(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function Oo(e){di.call(this,null,ko,e)}F(Oo,di);function ko(e){return this.value&&!e.modified()?this.value:we(e.fields,e.orders)}function Ao(e){L.call(this,null,e)}Ao.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 jo(e,t,n){switch(t){case`upper`:e=e.toUpperCase();break;case`lower`:e=e.toLowerCase()}return e.match(n)}F(Ao,L,{transform(e,t){let n=t=>n=>{for(var r=jo(s(n),e.case,a)||[],i,c=0,l=r.length;c<l;++c)o.test(i=r[c])||t(i)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,s=e.field,c=e.as||[`text`,`count`],l=n(e=>i[e]=1+(i[e]||0)),u=n(e=>--i[e]);return r?t.visit(t.SOURCE,l):(t.visit(t.ADD,l),t.visit(t.REM,u)),this._finish(t,c)},_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||={},i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),s,c,l;for(s in n)c=r[s],l=n[s]||0,!c&&l?(r[s]=c=Zr({}),c[i]=s,c[a]=l,o.add.push(c)):l===0?(c&&o.rem.push(c),n[s]=null,r[s]=null):c[a]!==l&&(c[a]=l,o.mod.push(c));return o.modifies(t)}});function Mo(e){L.call(this,null,e)}Mo.Definition={type:`Cross`,metadata:{generates:!0},params:[{name:`filter`,type:`expr`},{name:`as`,type:`string`,array:!0,length:2,default:[`a`,`b`]}]},F(Mo,L,{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`),s=this.value;return o?(s&&(n.rem=s),s=t.materialize(t.SOURCE).source,n.add=this.value=No(s,i,a,e.filter||De)):n.mod=s,n.source=this.value,n.modifies(r)}});function No(e,t,n,r){for(var i=[],a={},o=e.length,s=0,c,l;s<o;++s)for(a[t]=l=e[s],c=0;c<o;++c)a[n]=e[c],r(a)&&(i.push(Zr(a)),a={},a[t]=l);return i}var Po={kde:Sa,mixture:Oa,normal:xa,lognormal:Da,uniform:Na},Fo=`distributions`,Io=`function`,Lo=`field`;function Ro(e,t){let n=e[Io];T(Po,n)||j(`Unknown distribution function: `+n);let r=Po[n]();for(let n in e)n===Lo?r.data((e.from||t()).map(e[n])):n===Fo?r[n](e[n].map(e=>Ro(e,t))):typeof r[n]===Io&&r[n](e[n]);return r}function zo(e){L.call(this,null,e)}var Bo=[{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}]}],Vo={key:{function:`mixture`},params:[{name:`distributions`,type:`param`,array:!0,params:Bo},{name:`weights`,type:`number`,array:!0}]};zo.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:Bo.concat(Vo)},{name:`as`,type:`string`,array:!0,default:[`value`,`density`]}]},F(zo,L,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=Ro(e.distribution,Ho(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||`pdf`;o!==`pdf`&&o!==`cdf`&&j(`Invalid density method: `+o),!e.extent&&!r.data&&j(`Missing density extent parameter.`),o=r[o];let s=e.as||[`value`,`density`],c=e.extent||ur(r.data()),l=eo(o,c,i,a).map(e=>{let t={};return t[s[0]]=e[0],t[s[1]]=e[1],Zr(t)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function Ho(e){return()=>e.materialize(e.SOURCE).source}function Uo(e,t){return e?e.map((e,n)=>t[n]||ve(e)):null}function Wo(e,t,n){let r=[],i=e=>e(c),a,o,s,c,l,u;if(t==null)r.push(e.map(n));else for(a={},o=0,s=e.length;o<s;++o)c=e[o],l=t.map(i),u=a[l],u||(a[l]=u=[],u.dims=l,r.push(u)),u.push(n(c));return r}var Go=`bin`;function Ko(e){L.call(this,null,e)}Ko.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:Go}]};var qo=(e,t)=>g(ur(e,t))/30;F(Ko,L,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=Wo(t.source,e.groupby,ne),i=e.smooth||!1,a=e.field,o=e.step||qo(n,a),s=ti((e,t)=>a(e)-a(t)),c=e.as||Go,l=r.length,u=1/0,d=-1/0,f=0,p;for(;f<l;++f){let e=r[f].sort(s);p=-1;for(let t of la(e,o,i,a))t<u&&(u=t),t>d&&(d=t),e[++p][c]=t}return this.value={start:u,stop:d,step:o},t.reflow(!0).modifies(c)}});function Jo(e){di.call(this,null,Yo,e),this.modified(!0)}F(Jo,di);function Yo(e){let t=e.expr;return this.value&&!e.modified(`expr`)?this.value:ce(n=>t(n,e),Ce(t),ve(t))}function Xo(e){L.call(this,[void 0,void 0],e)}Xo.Definition={type:`Extent`,metadata:{},params:[{name:`field`,type:`field`,required:!0}]},F(Xo,L,{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,e=>{let t=O(r(e));t!=null&&(t<a&&(a=t),t>o&&(o=t))}),!Number.isFinite(a)||!Number.isFinite(o)){let e=ve(r);e&&=` for field "${e}"`,t.dataflow.warn(`Infinite extent${e}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Zo(e,t){di.call(this,e),this.parent=t,this.count=0}F(Zo,di,{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 Qo(e){L.call(this,{},e),this._keys=pr();let t=this._targets=[];t.active=0,t.forEach=e=>{for(let n=0,r=t.active;n<r;++n)e(t[n],n,t)}}F(Qo,L,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=T(i,e)&&i[e],o,s;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(s=r||(s=this._group[e])&&s.tuple,o=n.dataflow,a=new Zo(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,s)),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 e=this._targets.filter(e=>e&&e.count>0);this.initTargets(e)}},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`),s=e=>this.subflow(e,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,e=>{let t=I(e),n=a.get(t);n!==void 0&&(a.delete(t),s(n).rem(e))}),t.visit(t.ADD,e=>{let t=r(e);a.set(I(e),t),s(t).add(e)}),o||t.modified(r.fields)?t.visit(t.MOD,e=>{let t=I(e),n=a.get(t),i=r(e);n===i?s(i).mod(e):(a.set(t,i),s(n).rem(e),s(i).add(e))}):t.changed(t.MOD)&&t.visit(t.MOD,e=>{s(a.get(I(e))).mod(e)}),o&&t.visit(t.REFLOW,e=>{let t=I(e),n=a.get(t),i=r(e);n!==i&&(a.set(t,i),s(n).rem(e),s(i).add(e))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function $o(e){di.call(this,null,es,e)}F($o,di);function es(e){return this.value&&!e.modified()?this.value:N(e.name)?k(e.name).map(e=>ge(e)):ge(e.name,e.as)}function ts(e){L.call(this,pr(),e)}ts.Definition={type:`Filter`,metadata:{changes:!0},params:[{name:`expr`,type:`expr`,required:!0}]},F(ts,L,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,s=i.mod,c=e.expr,l=!0;t.visit(t.REM,e=>{let t=I(e);r.has(t)?r.delete(t):o.push(e)}),t.visit(t.ADD,t=>{c(t,e)?a.push(t):r.set(I(t),1)});function u(t){let n=I(t),i=c(t,e),u=r.get(n);i&&u?(r.delete(n),a.push(t)):!i&&!u?(r.set(n,1),o.push(t)):l&&i&&!u&&s.push(t)}return t.visit(t.MOD,u),e.modified()&&(l=!1,t.visit(t.REFLOW,u)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function ns(e){L.call(this,[],e)}ns.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}]},F(ns,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Uo(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{let t=r.map(t=>t(e)),s=t.reduce((e,t)=>Math.max(e,t.length),0),c=0,l,u;for(;c<s;++c){for(u=Qr(e),l=0;l<o;++l)u[i[l]]=t[l][c]??null;a&&(u[a]=c),n.add.push(u)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function rs(e){L.call(this,[],e)}rs.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`]}]},F(rs,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(ve),a=e.as||[`key`,`value`],o=a[0],s=a[1],c=r.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{for(let t=0,a;t<c;++t)a=Qr(e),a[o]=i[t],a[s]=r[t](e),n.add.push(a)}),this.value=n.source=n.add,n.modifies(a)}});function is(e){L.call(this,null,e)}is.Definition={type:`Formula`,metadata:{modifies:!0},params:[{name:`expr`,type:`expr`,required:!0},{name:`as`,type:`string`,required:!0},{name:`initonly`,type:`boolean`}]},F(is,L,{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,t=>t[r]=n(t,e))}});function as(e){L.call(this,[],e)}F(as,L,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,s,c;if(a>0){for(o=[];--a>=0;)o.push(c=Zr(r(e))),i.push(c);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else s=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(s):s,i=i.slice(-a);return n.source=this.value=i,n}});var os={value:`value`,median:Ir,mean:Fr,min:it,max:ot},ss=[];function cs(e){L.call(this,[],e)}cs.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 ls(e){var t=e.method||os.value,n;if(os[t]==null)j(`Unrecognized imputation method: `+t);else if(t===os.value)return n=e.value===void 0?0:e.value,()=>n;else return os[t]}function us(e){let t=e.field;return e=>e?t(e):NaN}F(cs,L,{transform(e,t){var n=t.fork(t.ALL),r=ls(e),i=us(e),a=ve(e.field),o=ve(e.key),s=(e.groupby||[]).map(ve),c=ds(t.source,e.groupby,e.key,e.keyvals),l=[],u=this.value,d=c.domain.length,f,p,m,h,g,_,v,y,b,x;for(g=0,y=c.length;g<y;++g)for(f=c[g],m=f.values,p=NaN,v=0;v<d;++v)if(f[v]==null){for(h=c.domain[v],x={_impute:!0},_=0,b=m.length;_<b;++_)x[s[_]]=m[_];x[o]=h,x[a]=Number.isNaN(p)?p=r(f,i):p,l.push(Zr(x))}return l.length&&(n.add=n.materialize(n.ADD).add.concat(l)),u.length&&(n.rem=n.materialize(n.REM).rem.concat(u)),this.value=l,n}});function ds(e,t,n,r){var i=e=>e(g),a=[],o=r?r.slice():[],s={},c={},l,u,d,f,p,m,h,g;for(o.forEach((e,t)=>s[e]=t+1),f=0,h=e.length;f<h;++f)g=e[f],m=n(g),p=s[m]||(s[m]=o.push(m)),u=(l=t?t.map(i):ss)+``,(d=c[u])||(d=c[u]=[],a.push(d),d.values=l),d[p-1]=g;return a.domain=o,a}function fs(e){Co.call(this,e)}fs.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:uo},{name:`as`,type:`string`,null:!0,array:!0},{name:`key`,type:`field`}]},F(fs,Co,{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,e=>n.add(e))):(i=n.value=n.value||this.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),n.changes(),t.visit(t.SOURCE,e=>{D(e,i[n.cellkey(e)].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 ps(e){L.call(this,null,e)}ps.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`]}]},F(ps,L,{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=Wo(r,e.groupby,e.field),a=(e.groupby||[]).map(ve),o=e.bandwidth,s=e.cumulative?`cdf`:`pdf`,c=e.as||[`value`,`density`],l=[],u=e.extent,d=e.steps||e.minsteps||25,f=e.steps||e.maxsteps||200;s!==`pdf`&&s!==`cdf`&&j(`Invalid density method: `+s),e.resolve===`shared`&&(u||=ur(r,e.field),d=f=e.steps||f),i.forEach(t=>{let n=Sa(t,o)[s],r=e.counts?t.length:1;eo(n,u||ur(t),d,f).forEach(e=>{let n={};for(let e=0;e<a.length;++e)n[a[e]]=t.dims[e];n[c[0]]=e[0],n[c[1]]=e[1]*r,l.push(Zr(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function ms(e){di.call(this,null,hs,e)}F(ms,di);function hs(e){return this.value&&!e.modified()?this.value:S(e.fields,e.flat)}function gs(e){L.call(this,[],e),this._pending=null}F(gs,L,{transform(e,t){let n=t.dataflow;return this._pending?vs(this,t,this._pending):_s(e)?t.StopPropagation:e.values?vs(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(e=>(this._pending=k(e.data),e=>e.touch(this)))}:n.request(e.url,e.format).then(e=>vs(this,t,k(e.data)))}});function _s(e){return e.modified(`async`)&&!(e.modified(`values`)||e.modified(`url`)||e.modified(`format`))}function vs(e,t,n){n.forEach(Zr);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 ys(e){L.call(this,{},e)}ys.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}]},F(ys,L,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),s=n.length,c=o?t.SOURCE:t.ADD,l=t,u=e.as,d,f,p;return i?(f=i.length,s>1&&!u&&j(`Multi-field lookup requires explicit "as" parameter.`),u&&u.length!==s*f&&j(`The "as" parameter has too few output field names.`),u||=i.map(ve),d=function(e){for(var t=0,o=0,c,l;t<s;++t)if(l=r.get(n[t](e)),l==null)for(c=0;c<f;++c,++o)e[u[o]]=a;else for(c=0;c<f;++c,++o)e[u[o]]=i[c](l)}):(u||j(`Missing output field names.`),d=function(e){for(var t=0,i;t<s;++t)i=r.get(n[t](e)),e[u[t]]=i??a}),o?l=t.reflow(!0):(p=n.some(e=>t.modified(e.fields)),c|=p?t.MOD:0),t.visit(c,d),l.modifies(u)}});function bs(e){di.call(this,null,xs,e)}F(bs,di);function xs(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 Ss(e){di.call(this,null,Cs,e)}F(Ss,di);function Cs(e){return this.value&&!e.modified()?this.value:e.values.reduce((e,t)=>e.concat(t),[])}function ws(e){L.call(this,null,e)}F(ws,L,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function Ts(e){Co.call(this,e)}Ts.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:uo,default:`sum`},{name:`limit`,type:`number`,default:0},{name:`key`,type:`field`}]},F(Ts,Co,{_transform:Co.prototype.transform,transform(e,t){return this._transform(Es(e,t),t)}});function Es(e,t){let n=e.field,r=e.value,i=(e.op===`count`?`__count__`:e.op)||`sum`,a=Ce(n).concat(Ce(r)),o=Os(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(e=>Ds(e,n,r,a)),as:o.map(e=>e+``),modified:e.modified.bind(e)}}function Ds(e,t,n,r){return ce(r=>t(r)===e?n(r):NaN,r,e+``)}function Os(e,t,n){let r={},i=[];return n.visit(n.SOURCE,t=>{let n=e(t);r[n]||(r[n]=1,i.push(n))}),i.sort(h),t?i.slice(0,t):i}function ks(e){Qo.call(this,e)}F(ks,Qo,{transform(e,t){let n=e.subflow,r=e.field,i=e=>this.subflow(I(e),n,t,e);return(e.modified(`field`)||r&&t.modified(Ce(r)))&&j(`PreFacet does not support field modification.`),this.initTargets(),r?(t.visit(t.MOD,e=>{let t=i(e);r(e).forEach(e=>t.mod(e))}),t.visit(t.ADD,e=>{let t=i(e);r(e).forEach(e=>t.add(Zr(e)))}),t.visit(t.REM,e=>{let t=i(e);r(e).forEach(e=>t.rem(e))})):(t.visit(t.MOD,e=>i(e).mod(e)),t.visit(t.ADD,e=>i(e).add(e)),t.visit(t.REM,e=>i(e).rem(e))),t.clean()&&t.runAfter(()=>this.clean()),t}});function As(e){L.call(this,null,e)}As.Definition={type:`Project`,metadata:{generates:!0,changes:!0},params:[{name:`fields`,type:`field`,array:!0},{name:`as`,type:`string`,null:!0,array:!0}]},F(As,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Uo(e.fields,e.as||[]),a=r?(e,t)=>js(e,t,r,i):$r,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,e=>{let t=I(e);n.rem.push(o[t]),o[t]=null}),t.visit(t.ADD,e=>{let t=a(e,Zr({}));o[I(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{n.mod.push(a(e,o[I(e)]))}),n}});function js(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function Ms(e){L.call(this,null,e)}F(Ms,L,{transform(e,t){return this.value=e.value,e.modified(`value`)?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Ns(e){L.call(this,null,e)}Ns.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`]}]},F(Ns,L,{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=Wo(i,e.groupby,e.field),o=(e.groupby||[]).map(ve),s=[],c=e.step||.01,l=e.probs||ct(c/2,.99999999999999,c),u=l.length;return a.forEach(e=>{let t=na(e,l);for(let n=0;n<u;++n){let i={};for(let t=0;t<o.length;++t)i[o[t]]=e.dims[t];i[r[0]]=l[n],i[r[1]]=t[n],s.push(Zr(i))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s,n}});function Ps(e){L.call(this,null,e)}F(Ps,L,{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,e=>{let t=I(e);n.rem.push(r[t]),r[t]=null}),t.visit(t.ADD,e=>{let t=Qr(e);r[I(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{let t=r[I(e)];for(let r in e)t[r]=e[r],n.modifies(r);n.mod.push(t)})),n}});function Fs(e){L.call(this,[],e),this.count=0}Fs.Definition={type:`Sample`,metadata:{},params:[{name:`size`,type:`number`,default:1e3}]},F(Fs,L,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified(`size`),i=e.size,a=this.value.reduce((e,t)=>(e[I(t)]=1,e),{}),o=this.value,s=this.count,c=0;function l(e){let t,r;o.length<i?o.push(e):(r=~~((s+1)*oa()),r<o.length&&r>=c&&(t=o[r],a[I(t)]&&n.rem.push(t),o[r]=e)),++s}if(t.rem.length&&(t.visit(t.REM,e=>{let t=I(e);a[t]&&(a[t]=-1,n.rem.push(e)),--s}),o=o.filter(e=>a[I(e)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(c=s=o.length,t.visit(t.SOURCE,e=>{a[I(e)]||l(e)}),c=-1),r&&o.length>i){let e=o.length-i;for(let t=0;t<e;++t)a[I(o[t])]=-1,n.rem.push(o[t]);o=o.slice(e)}return t.mod.length&&t.visit(t.MOD,e=>{a[I(e)]&&n.mod.push(e)}),t.add.length&&t.visit(t.ADD,l),(t.add.length||c<0)&&(n.add=o.filter(e=>!a[I(e)])),this.count=s,this.value=n.source=o,n}});function Is(e){L.call(this,null,e)}Is.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`}]},F(Is,L,{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=ct(e.start,e.stop,e.step||1).map(e=>{let t={};return t[r]=e,Zr(t)}),n.add=t.add.concat(this.value),n}});function Ls(e){L.call(this,null,e),this.modified(!0)}F(Ls,L,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Rs(e){L.call(this,null,e)}var zs=[`unit0`,`unit1`];Rs.Definition={type:`TimeUnit`,metadata:{modifies:!0},params:[{name:`field`,type:`field`,required:!0},{name:`interval`,type:`boolean`,default:!0},{name:`units`,type:`enum`,values:_e,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:zs}]},F(Rs,L,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone===`utc`,a=this._floor(e,t),o=(i?w:Ne)(a.unit).offset,s=e.as||zs,c=s[0],l=s[1],u=a.step,d=a.start||1/0,f=a.stop||-1/0,p=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(Ce(n)))&&(t=t.reflow(!0),p=t.SOURCE,d=1/0,f=-1/0),t.visit(p,e=>{let t=n(e),i,s;t==null?(e[c]=null,r&&(e[l]=null)):(e[c]=i=s=a(t),r&&(e[l]=s=o(i,u)),i<d&&(d=i),s>f&&(f=s))}),a.start=d,a.stop=f,t.modifies(r?s:c)},_floor(e,t){let n=e.timezone===`utc`,{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:ue({extent:e.extent||ur(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=s(r),o=this.value||{},c=(n?je:Ae)(a,i);return c.unit=A(a),c.units=a,c.step=i,c.start=o.start,c.stop=o.stop,this.value=c}});function Bs(e){L.call(this,pr(),e)}F(Bs,L,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=e=>i.set(r(e),e),o=!0;return e.modified(`field`)||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,e=>i.delete(r(e))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function Vs(e){L.call(this,null,e)}F(Vs,L,{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(ti(e.sort)):t.source).map(e.field))}});function Pee(e,t,n,r){let i=Hs[e](t,n);return{init:i.init||ae,update:function(e,t){t[r]=i.next(e)}}}var Hs={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=Hs.rank(),t=e.next;return{init:e.init,next:e=>(t(e)-1)/(e.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||j(`ntile num must be greater than zero.`);let n=Hs.cume_dist(),r=n.next;return{init:n.init,next:e=>Math.ceil(t*r(e))}},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||j(`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=Fee(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function Fee(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var Iee=Object.keys(Hs);function Us(e){let t=k(e.ops),n=k(e.fields),r=k(e.params),i=k(e.aggregate_params),a=k(e.as),o=this.outputs=[],s=this.windows=[],c={},l={},u=[],d=[],f=!0;function p(e){k(Ce(e)).forEach(e=>c[e]=1)}p(e.sort),t.forEach((e,t)=>{let c=n[t],m=r[t],h=i[t]||null,g=ve(c),_=oo(e,g,a[t]);if(p(c),o.push(_),T(Hs,e))s.push(Pee(e,c,m,_));else{if(c==null&&e!==`count`&&j(`Null aggregate field specified.`),e===`count`){u.push(_);return}f=!1;let t=l[g];t||(t=l[g]=[],t.field=c,d.push(t)),t.push(po(e,h,_))}}),(u.length||d.length)&&(this.cell=Lee(d,u,f)),this.inputs=Object.keys(c)}var Ws=Us.prototype;Ws.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},Ws.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 Lee(e,t,n){e=e.map(e=>bo(e,e.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 s=r.data=new xo;return r.add=function(e){if(r.num+=1,!n){s&&s.add(e);for(let t=0;t<i;++t)a[t].add(a[t].get(e),e)}},r.rem=function(e){if(--r.num,!n){s&&s.rem(e);for(let t=0;t<i;++t)a[t].rem(a[t].get(e),e)}},r.set=function(e){let i,o;for(s&&s.values(),i=0,o=t.length;i<o;++i)e[t[i]]=r.num;if(!n)for(i=0,o=a.length;i<o;++i)a[i].set(e)},r.init=function(){r.num=0,s&&s.reset();for(let e=0;e<i;++e)a[e].init()},r}function Gs(e){L.call(this,{},e),this._mlen=0,this._mods=[]}Gs.Definition={type:`Window`,metadata:{modifies:!0},params:[{name:`sort`,type:`compare`},{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:Iee.concat(uo)},{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}]},F(Gs,L,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=ti(e.sort),i=ao(e.groupby),a=e=>this.group(i(e)),o=this.state;(!o||n)&&(o=this.state=new Us(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,e=>a(e).add(e))):(t.visit(t.REM,e=>a(e).remove(e)),t.visit(t.ADD,e=>a(e).add(e)));for(let t=0,n=this._mlen;t<n;++t)Ree(this._mods[t],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]=Eo(I),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function Ree(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=e.data(n),c=s.length,l=a?Le(i):null,u={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||d(-1)};t.init();for(let e=0;e<c;++e)zee(u,o,e,c),a&&Bee(u,l),t.update(u,s[e])}function zee(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 Bee(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 Ks(e,t,n){var r=null,i=wt(!0),a=null,o=Jt,s=null,c=Tt(l);e=typeof e==`function`?e:e===void 0?hee:wt(+e),t=typeof t==`function`?t:wt(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?gee:wt(+n);function l(l){var u,d,f,p=(l=At(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Yt().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:wt(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:wt(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:wt(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:wt(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:wt(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Vee={draw(e,t){let n=Et(t/Ot);e.moveTo(n,0),e.arc(0,0,n,0,Dt)}};function qs(e,t){let n=null,r=Tt(i);e=typeof e==`function`?e:wt(e||Vee),t=typeof t==`function`?t:wt(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:wt(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:wt(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Js(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 Ys=()=>typeof Image<`u`?Image:null,Xs=-.14861,Zs=1.78277,Qs=-.29227,$s=-.90649,ec=1.97294,tc=ec*$s,nc=ec*Zs,rc=Zs*Qs-$s*Xs;function Hee(e){if(e instanceof ac)return new ac(e.h,e.s,e.l,e.opacity);e instanceof nn||(e=tn(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(rc*r+tc*t-nc*n)/(rc+tc-nc),a=r-i,o=(ec*(n-i)-Qs*a)/$s,s=Math.sqrt(o*o+a*a)/(ec*i*(1-i)),c=s?Math.atan2(o,a)*nt-120:NaN;return new ac(c<0?c+360:c,s,i,e.opacity)}function ic(e,t,n,r){return arguments.length===1?Hee(e):new ac(e,t,n,r??1)}function ac(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}mn(ac,ic,_ee(wn,{brighter(e){return e=e==null?Qt:Qt**+e,new ac(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?rn:rn**+e,new ac(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*see,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new nn(255*(t+n*(Xs*r+Zs*i)),255*(t+n*(Qs*r+$s*i)),255*(t+ec*r*n),this.opacity)}}));function Uee(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function Wee(e,t){var n=dn(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}function oc(e){return function(t,n){var r=e((t=en(t)).h,(n=en(n)).h),i=an(t.s,n.s),a=an(t.l,n.l),o=an(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Gee=oc(dn),Kee=oc(an);function qee(e,t){var n=an((e=st(e)).l,(t=st(t)).l),r=an(e.a,t.a),i=an(e.b,t.b),a=an(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function sc(e){return(function t(n){n=+n;function r(t,r){var i=e((t=ic(t)).h,(r=ic(r)).h),a=an(t.s,r.s),o=an(t.l,r.l),s=an(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}var Jee=sc(dn),Yee=sc(an);function cc(e,t){t===void 0&&(t=e,e=Xe);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function Xee(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var Zee=t({interpolate:()=>Xe,interpolateArray:()=>Ke,interpolateBasis:()=>sn,interpolateBasisClosed:()=>Tn,interpolateCubehelix:()=>Jee,interpolateCubehelixLong:()=>Yee,interpolateDate:()=>iee,interpolateDiscrete:()=>Uee,interpolateHcl:()=>tt,interpolateHclLong:()=>oee,interpolateHsl:()=>Gee,interpolateHslLong:()=>Kee,interpolateHue:()=>Wee,interpolateLab:()=>qee,interpolateNumber:()=>un,interpolateNumberArray:()=>aee,interpolateObject:()=>ree,interpolateRgb:()=>fn,interpolateRgbBasis:()=>yn,interpolateRgbBasisClosed:()=>gn,interpolateRound:()=>Ue,interpolateString:()=>ln,interpolateTransformCss:()=>hn,interpolateTransformSvg:()=>Cn,interpolateZoom:()=>cn,piecewise:()=>cc,quantize:()=>Xee});function lc(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Be),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return lc(e).unknown(t)},e=arguments.length?Array.from(e,Be):[0,1],We(n)}function uc(e){return Math.log(e)}function dc(e){return Math.exp(e)}function Qee(e){return-Math.log(-e)}function $ee(e){return-Math.exp(-e)}function ete(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function tte(e){return e===10?ete:e===Math.E?Math.exp:t=>e**+t}function nte(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 fc(e){return(t,n)=>-e(-t,n)}function pc(e){let t=e(uc,dc),n=t.domain,r=10,i,a;function o(){return i=nte(r),a=tte(r),n()[0]<0?(i=fc(i),a=fc(a),e(Qee,$ee)):e(uc,dc),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=Ie(o,s,p))}else m=Ie(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=fee(n)).precision==null&&(n.trim=!0),n=pee(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(lee(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function mc(){let e=pc(Je()).domain([1,10]);return e.copy=()=>ze(e,mc()).base(e.base()),Xt.apply(e,arguments),e}function hc(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function gc(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function _c(e){var t=1,n=e(hc(t),gc(t));return n.constant=function(n){return arguments.length?e(hc(t=+n),gc(t)):t},We(n)}function vc(){var e=_c(Je());return e.copy=function(){return ze(e,vc()).constant(e.constant())},Xt.apply(e,arguments)}function yc(e){return function(t){return t<0?-((-t)**+e):t**+e}}function rte(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function ite(e){return e<0?-e*e:e*e}function bc(e){var t=e(Ge,Ge),n=1;function r(){return n===1?e(Ge,Ge):n===.5?e(rte,ite):e(yc(n),yc(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},We(t)}function xc(){var e=bc(Je());return e.copy=function(){return ze(e,xc()).exponent(e.exponent())},Xt.apply(e,arguments),e}function ate(){return xc.apply(null,arguments).exponent(.5)}function Sc(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=Pr(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[Ve(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(Fe),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return Sc().domain(e).range(t).unknown(r)},Xt.apply(a,arguments)}function Cc(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[Ve(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Cc().domain([e,t]).range(i).unknown(a)},Xt.apply(We(o),arguments)}function wc(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Ve(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return wc().domain(e).range(t).unknown(n)},Xt.apply(i,arguments)}function ote(){return Xt.apply(uee(rt,dee,vt,mt,yt,xt,lt,ft,ut,_t).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Tc(){var e=0,t=1,n,r,i,a,o=Ge,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(Xe),l.rangeRound=u(Ue),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function Ec(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Dc(){var e=We(Tc()(Ge));return e.copy=function(){return Ec(e,Dc())},Zt.apply(e,arguments)}function Oc(){var e=pc(Tc()).domain([1,10]);return e.copy=function(){return Ec(e,Oc()).base(e.base())},Zt.apply(e,arguments)}function kc(){var e=_c(Tc());return e.copy=function(){return Ec(e,kc()).constant(e.constant())},Zt.apply(e,arguments)}function Ac(){var e=bc(Tc());return e.copy=function(){return Ec(e,Ac()).exponent(e.exponent())},Zt.apply(e,arguments)}function ste(){return Ac.apply(null,arguments).exponent(.5)}function jc(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Ge,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=cc(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Xe),p.rangeRound=m(Ue),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function Mc(){var e=We(jc()(Ge));return e.copy=function(){return Ec(e,Mc())},Zt.apply(e,arguments)}function Nc(){var e=pc(jc()).domain([.1,1,10]);return e.copy=function(){return Ec(e,Nc()).base(e.base())},Zt.apply(e,arguments)}function Pc(){var e=_c(jc());return e.copy=function(){return Ec(e,Pc()).constant(e.constant())},Zt.apply(e,arguments)}function Fc(){var e=bc(jc());return e.copy=function(){return Ec(e,Fc()).exponent(e.exponent())},Zt.apply(e,arguments)}function cte(){return Fc.apply(null,arguments).exponent(.5)}var Ic=En(`1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf`),Lc=En(`7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666`),Rc=En(`1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666`),zc=En(`4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0`),Bc=En(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),Vc=En(`fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2`),lte=En(`b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc`),ute=En(`e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999`),dte=En(`66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3`),Hc=En(`8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f`);function Uc(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var Wc=`identity`,Gc=`linear`,Kc=`sqrt`,qc=`symlog`,Jc=`time`,Yc=`sequential`,Xc=`diverging`,Zc=`quantile`,Qc=`quantize`,$c=`threshold`,el=`ordinal`,tl=`point`,nl=`band`,rl=`bin-ordinal`,il=`continuous`,al=`discrete`,ol=`discretizing`,sl=`interpolating`,cl=`temporal`;function ll(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 ul(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,s,c,l;for(i<r&&(s=r,r=i,i=s),c=0,l=n.length;c<l;++c)n[c]>=r&&n[c]<=i&&(a<0&&(a=c),o=c);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 dl(){let e=Qe().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,s=0,c=0,l=.5;delete e.unknown;function u(){let e=t().length,u=r[1]<r[0],d=r[1-u],f=Uc(e,s,c),p=r[u-0];i=(d-p)/(f||1),o&&(i=Math.floor(i)),p+=(d-p-i*(e-s))*l,a=i*(1-s),o&&(p=Math.round(p),a=Math.round(a));let m=ct(e).map(e=>p+i*e);return n(u?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),u()):t()},e.range=function(e){return arguments.length?(r=[+e[0],+e[1]],u()):r.slice()},e.rangeRound=function(e){return r=[+e[0],+e[1]],o=!0,u()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(e){return arguments.length?(o=!!e,u()):o},e.padding=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),s=c,u()):s},e.paddingInner=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),u()):s},e.paddingOuter=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),u()):c},e.align=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),u()):l},e.invertRange=function(e){if(e[0]==null||e[1]==null)return;let i=r[1]<r[0],o=i?n().reverse():n(),s=o.length-1,c=+e[0],l=+e[1],u,d,f;if(c===c&&l===l&&(l<c&&(f=c,c=l,l=f),!(l<o[0]||c>r[1-i])))return u=Math.max(0,Ve(o,c)-1),d=c===l?u:Ve(o,l)-1,c-o[u]>a+1e-10&&++u,i&&(f=u,u=s-d,d=s-f),u>d?void 0:t().slice(u,d+1)},e.invert=function(t){let n=e.invertRange([t,t]);return n&&n[0]},e.copy=function(){return dl().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l)},u()}function fl(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return fl(t())},e}function pl(){return fl(dl().paddingInner(1))}var ml=Array.prototype.map;function hl(e){return ml.call(e,O)}var gl=Array.prototype.slice;function _l(){let e=[],t=[];function n(n){return n==null||n!==n?void 0:t[(Ve(e,n)-1)%t.length]}return n.domain=function(t){return arguments.length?(e=hl(t),n):e.slice()},n.range=function(e){return arguments.length?(t=gl.call(e),n):t.slice()},n.tickFormat=function(t,n){return qe(e[0],A(e),t??10,n)},n.copy=function(){return _l().domain(n.domain()).range(n.range())},n}var vl=new Map,yl=Symbol(`vega_scale`);function bl(e){return e[yl]=!0,e}function xl(e){return e&&e[yl]===!0}function Sl(e,t,n){let r=function(){let n=t();return n.invertRange||=n.invert?ll(n):n.invertExtent?ul(n):void 0,n.type=e,bl(n)};return r.metadata=_(k(n)),r}function Cl(e,t,n){return arguments.length>1?(vl.set(e,Sl(e,t,n)),this):wl(e)?vl.get(e):void 0}Cl(Wc,lc),Cl(Gc,Ye,il),Cl(`log`,mc,[il,`log`]),Cl(`pow`,xc,il),Cl(Kc,ate,il),Cl(qc,vc,il),Cl(Jc,cee,[il,cl]),Cl(`utc`,ote,[il,cl]),Cl(Yc,Dc,[il,sl]),Cl(`${Yc}-${Gc}`,Dc,[il,sl]),Cl(`${Yc}-log`,Oc,[il,sl,`log`]),Cl(`${Yc}-pow`,Ac,[il,sl]),Cl(`${Yc}-${Kc}`,ste,[il,sl]),Cl(`${Yc}-${qc}`,kc,[il,sl]),Cl(`${Xc}-${Gc}`,Mc,[il,sl]),Cl(`${Xc}-log`,Nc,[il,sl,`log`]),Cl(`${Xc}-pow`,Fc,[il,sl]),Cl(`${Xc}-${Kc}`,cte,[il,sl]),Cl(`${Xc}-${qc}`,Pc,[il,sl]),Cl(Zc,Sc,[ol,Zc]),Cl(Qc,Cc,ol),Cl($c,wc,ol),Cl(rl,_l,[al,ol]),Cl(el,Qe,al),Cl(nl,dl,al),Cl(tl,pl,al);function wl(e){return vl.has(e)}function Tl(e,t){let n=vl.get(e);return n&&n.metadata[t]}function El(e){return Tl(e,il)}function Dl(e){return Tl(e,al)}function Ol(e){return Tl(e,ol)}function kl(e){return Tl(e,`log`)}function Al(e){return Tl(e,cl)}function jl(e){return Tl(e,sl)}function Ml(e){return Tl(e,Zc)}var Nl=[`clamp`,`base`,`constant`,`exponent`];function Pl(e,t){let n=t[0],r=A(t)-n;return function(t){return e(n+t*r)}}function Fl(e,t,n){return cc(Rl(t||`rgb`,n),e)}function Il(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function Ll(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?d(.5):(i=(a=e.type).indexOf(`-`),a=i<0?a:a.slice(i+1),o=Cl(a)().domain([t,n]).range([0,1]),Nl.forEach(t=>e[t]?o[t](e[t]()):0),o)}function Rl(e,t){let n=Zee[fte(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function fte(e){return`interpolate`+e.toLowerCase().split(`-`).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}var pte={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`},mte={accent:Lc,category10:Ic,category20:`1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5`,category20b:`393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6`,category20c:`3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9`,dark2:Rc,observable10:zc,paired:Bc,pastel1:Vc,pastel2:lte,set1:ute,set2:dte,set3:Hc,tableau10:`4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac`,tableau20:`4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5`};function zl(e){if(N(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 Bl(e,t){for(let n in e)Hl(n,t(e[n]))}var Vl={};Bl(mte,zl),Bl(pte,e=>Fl(zl(e)));function Hl(e,t){return e&&=e.toLowerCase(),arguments.length>1?(Vl[e]=t,this):Vl[e]}var hte=e=>N(e)?e.map(e=>String(e)):String(e),gte=(e,t)=>e[1]-t[1],_te=(e,t)=>t[1]-e[1];function Ul(e,t,n){let r;if(o(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null)){let r=e.domain(),i=Math.min(r[0],A(r)),a=Math.max(r[0],A(r));if(t=Math.min(t,Math.floor((a-i)/n||1)+1),!e.bins&&!kl(e.type)&&!Al(e.type)&&i<a)for(;t>1&&Pe(i,a,t)<n;)--t}return M(t)&&(r=t.step,t=t.interval),P(t)&&(t=e.type===`time`?Ne(t):e.type==`utc`?w(t):j(`Only time and utc scales accept interval strings.`),r&&(t=t.every(r))),t}function Wl(e,t,n){let r=e.range(),i=r[0],a=A(r),o=gte;if(i>a&&(r=a,a=i,i=r,o=_te),i=Math.floor(i),a=Math.ceil(a),t=t.map(t=>[t,e(t)]).filter(e=>i<=e[1]&&e[1]<=a).sort(o).map(e=>e[0]),n>0&&t.length>1){let e=[t[0],A(t)];for(;t.length>n&&t.length>=3;)t=t.filter((e,t)=>!(t%2));t.length<3&&(t=e)}return t}function Gl(e,t){return e.bins?Wl(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function Kl(e,t,n,r,i,a){let o=t.type,s=hte;if(o===`time`||i===`time`)s=e.timeFormat(r);else if(o===`utc`||i===`utc`)s=e.utcFormat(r);else if(kl(o)){let i=e.formatFloat(r);if(a||t.bins)s=i;else{let e=ql(t,n,!1);s=t=>e(t)?i(t):``}}else if(t.tickFormat){let i=t.domain();s=e.formatSpan(i[0],i[i.length-1],n,r)}else r&&(s=e.format(r));return s}function ql(e,t,n){let r=Gl(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),s=e=>{let t=e/i**+Math.round(Math.log(e)/a);return t*i<i-.5&&(t*=i),t<=o};return n?r.filter(s):s}var Jl={[Zc]:`quantiles`,[Qc]:`thresholds`,[$c]:`domain`},Yl={[Zc]:`quantiles`,[Qc]:`domain`};function Xl(e,t){return e.bins?bte(e.bins):e.type===`log`?ql(e,t,!0):Jl[e.type]?yte(e[Jl[e.type]]()):Gl(e,t)}function vte(e,t,n){let r=t[Yl[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 yte(e){let t=[-1/0].concat(e);return t.max=1/0,t}function bte(e){let t=e.slice(0,-1);return t.max=A(e),t}var xte=e=>Jl[e.type]||e.bins;function Zl(e,t,n,r,i,a,o){let s=Yl[t.type]&&a!==`time`&&a!==`utc`?vte(e,t,i):Kl(e,t,n,i,a,o);return r===`symbol`&&xte(t)?Ste(s):r===`discrete`?Cte(s):$l(s)}var Ste=e=>(t,n,r)=>{let i=Ql(r[n+1],Ql(r.max,1/0)),a=eu(t,e),o=eu(i,e);return a&&o?a+` – `+o:o?`< `+o:`≥ `+a},Ql=(e,t)=>e??t,Cte=e=>(t,n)=>n?e(t):null,$l=e=>t=>e(t),eu=(e,t)=>Number.isFinite(e)?t(e):null;function tu(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+A(t),a=i-r;if(e.type===`threshold`){let e=n?a/n:.1;r-=e,i+=e,a=i-r}return e=>(e-r)/a}function nu(e,t,n,r){let i=r||t.type;return P(n)&&Al(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`):Zl(e,t,5,null,n,r,!0)}function ru(e,t,n){n||={};let r=Math.max(3,n.maxlen||7),i=nu(e,t,n.format,n.formatType);if(Ol(t.type)){let e=Xl(t).slice(1).map(i),n=e.length;return`${n} boundar${n===1?`y`:`ies`}: ${e.join(`, `)}`}if(Dl(t.type)){let e=t.domain(),n=e.length,a=n>r?e.slice(0,r-2).map(i).join(`, `)+`, ending with `+e.slice(-1).map(i):e.map(i).join(`, `);return`${n} value${n===1?``:`s`}: ${a}`}{let e=t.domain();return`values from ${i(e[0])} to ${i(A(e))}`}}var iu=0,au=`p_`;function ou(e){return e&&e.gradient}function su(e,t,n){let r=e.gradient,i=e.id,a=r===`radial`?au:``;return i||(i=e.id=`gradient_`+iu++,r===`radial`?(e.x1=cu(e.x1,.5),e.y1=cu(e.y1,.5),e.r1=cu(e.r1,0),e.x2=cu(e.x2,.5),e.y2=cu(e.y2,.5),e.r2=cu(e.r2,.5),a=au):(e.x1=cu(e.x1,0),e.y1=cu(e.y1,0),e.x2=cu(e.x2,1),e.y2=cu(e.y2,0))),t[i]=e,`url(`+(n||``)+`#`+a+i+`)`}function cu(e,t){return e??t}function lu(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(e,t){return n.push({offset:e,color:t}),r}}}var uu={basis:{curve:jt},"basis-closed":{curve:It},"basis-open":{curve:Lt},bundle:{curve:Bt,tension:`beta`,value:.85},cardinal:{curve:Ut,tension:`tension`,value:0},"cardinal-open":{curve:Pt,tension:`tension`,value:0},"cardinal-closed":{curve:Ft,tension:`tension`,value:0},"catmull-rom":{curve:qt,tension:`alpha`,value:.5},"catmull-rom-closed":{curve:zt,tension:`alpha`,value:.5},"catmull-rom-open":{curve:Nt,tension:`alpha`,value:.5},linear:{curve:Jt},"linear-closed":{curve:Gt},monotone:{horizontal:Ht,vertical:Mt},natural:{curve:Rt},step:{curve:Wt},"step-after":{curve:Kt},"step-before":{curve:Vt}};function du(e,t,n){var r=T(uu,e)&&uu[e],i=null;return r&&(i=r.curve||r[t||`vertical`],r.tension&&n!=null&&(i=i[r.tension](n))),i}var fu={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},pu=/[mlhvzcsqta]([^mlhvzcsqta]*)/gi,mu=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,hu=/^((\s+,?\s*)|(,\s*))/,gu=/^[01]/;function _u(e){let t=[];return(e.match(pu)||[]).forEach(e=>{let n=e[0],r=n.toLowerCase(),i=fu[r],a=vu(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!==0)throw Error(`Invalid SVG path, incorrect parameter count`);if(t.push([n,...a.slice(0,i)]),o!==i){r===`m`&&(n=n===`M`?`L`:`l`);for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}function vu(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t=e===`a`&&(a===3||a===4)?gu:mu,o=n.slice(i).match(t);if(o===null)throw Error(`Invalid SVG path, incorrect parameter type`);i+=o[0].length,r.push(+o[0]);let s=n.slice(i).match(hu);s!==null&&(i+=s[0].length)}return r}var yu=Math.PI/180,bu=1e-14,xu=Math.PI/2,Su=Math.PI*2,Cu=Math.sqrt(3)/2,wu={},Tu={},Eu=[].join;function Du(e,t,n,r,i,a,o,s,c){let l=Eu.call(arguments);if(wu[l])return wu[l];let u=o*yu,d=Math.sin(u),f=Math.cos(u);n=Math.abs(n),r=Math.abs(r);let p=f*(s-e)*.5+d*(c-t)*.5,m=f*(c-t)*.5-d*(s-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=f/n,_=d/n,v=-d/r,y=f/r,b=g*s+_*c,x=v*s+y*c,S=g*e+_*t,C=v*e+y*t,w=1/((S-b)*(S-b)+(C-x)*(C-x))-.25;w<0&&(w=0);let T=Math.sqrt(w);a==i&&(T=-T);let E=.5*(b+S)-T*(C-x),D=.5*(x+C)+T*(S-b),O=Math.atan2(x-D,b-E),k=Math.atan2(C-D,S-E)-O;k<0&&a===1?k+=Su:k>0&&a===0&&(k-=Su);let A=Math.ceil(Math.abs(k/(xu+.001))),ee=[];for(let e=0;e<A;++e){let t=O+e*k/A,i=O+(e+1)*k/A;ee[e]=[E,D,t,i,n,r,d,f]}return wu[l]=ee}function Ou(e){let t=Eu.call(e);if(Tu[t])return Tu[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7];let u=l*o,d=-c*s,f=c*o,p=l*s,m=Math.cos(i),h=Math.sin(i),g=Math.cos(a),_=Math.sin(a),v=.5*(a-i),y=Math.sin(v*.5),b=8/3*y*y/Math.sin(v),x=n+m-b*h,S=r+h+b*m,C=n+g,w=r+_,T=C+b*_,E=w-b*g;return Tu[t]=[u*x+d*S,f*x+p*S,u*T+d*E,f*T+p*E,u*C+d*w,f*C+p*w]}var ku=[`l`,0,0,0,0,0,0,0];function Au(e,t,n){let r=ku[0]=e[0];if(r===`a`||r===`A`)ku[1]=t*e[1],ku[2]=n*e[2],ku[3]=e[3],ku[4]=e[4],ku[5]=e[5],ku[6]=t*e[6],ku[7]=n*e[7];else if(r===`h`||r===`H`)ku[1]=t*e[1];else if(r===`v`||r===`V`)ku[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)ku[i]=(i%2==1?t:n)*e[i];return ku}function ju(e,t,n,r,i,a){var o,s=null,c=0,l=0,u=0,d=0,f,p,m,h,g=0,_=0;n??=0,r??=0,i??=1,a??=i,e.beginPath&&e.beginPath();for(var v=0,y=t.length;v<y;++v){switch(o=t[v],(i!==1||a!==1)&&(o=Au(o,i,a)),o[0]){case`l`:c+=o[1],l+=o[2],e.lineTo(c+n,l+r);break;case`L`:c=o[1],l=o[2],e.lineTo(c+n,l+r);break;case`h`:c+=o[1],e.lineTo(c+n,l+r);break;case`H`:c=o[1],e.lineTo(c+n,l+r);break;case`v`:l+=o[1],e.lineTo(c+n,l+r);break;case`V`:l=o[1],e.lineTo(c+n,l+r);break;case`m`:c+=o[1],l+=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`M`:c=o[1],l=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`c`:f=c+o[5],p=l+o[6],u=c+o[3],d=l+o[4],e.bezierCurveTo(c+o[1]+n,l+o[2]+r,u+n,d+r,f+n,p+r),c=f,l=p;break;case`C`:c=o[5],l=o[6],u=o[3],d=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,u+n,d+r,c+n,l+r);break;case`s`:f=c+o[3],p=l+o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,c+o[1]+n,l+o[2]+r,f+n,p+r),u=c+o[1],d=l+o[2],c=f,l=p;break;case`S`:f=o[3],p=o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`q`:f=c+o[3],p=l+o[4],u=c+o[1],d=l+o[2],e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`Q`:f=o[3],p=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`t`:f=c+o[1],p=l+o[2],s[0].match(/[QqTt]/)===null?(u=c,d=l):s[0]===`t`?(u=2*c-m,d=2*l-h):s[0]===`q`&&(u=2*c-u,d=2*l-d),m=u,h=d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p,u=c+o[1],d=l+o[2];break;case`T`:f=o[1],p=o[2],u=2*c-u,d=2*l-d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`a`:Mu(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+l+r]),c+=o[6],l+=o[7];break;case`A`:Mu(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),c=o[6],l=o[7];break;case`z`:case`Z`:c=g,l=_,e.closePath()}s=o}}function Mu(e,t,n,r){let i=Du(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=Ou(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}var Nu=.5773502691896257,Pu={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,Su)}},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=Cu*n,i=r-n*Nu,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=Cu*n,i=r-n*Nu;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=Cu*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=Cu*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=Cu*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=Cu*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 Fu(e){return T(Pu,e)?Pu[e]:Lu(e)}var Iu={};function Lu(e){if(!T(Iu,e)){let t=_u(e);Iu[e]={draw:function(e,n){ju(e,t,0,0,Math.sqrt(n)/2)}}}return Iu[e]}var Ru=.448084975506;function zu(e){return e.x}function Bu(e){return e.y}function Vu(e){return e.width}function Hu(e){return e.height}function Uu(e){return typeof e==`function`?e:()=>+e}function Wu(e,t,n){return Math.max(t,Math.min(e,n))}function Gu(){var e=zu,t=Bu,n=Vu,r=Hu,i=Uu(0),a=i,o=i,s=i,c=null;function l(l,u,d){var f,p=u??+e.call(this,l),m=d??+t.call(this,l),h=+n.call(this,l),g=+r.call(this,l),_=Math.min(h,g)/2,v=Wu(+i.call(this,l),0,_),y=Wu(+a.call(this,l),0,_),b=Wu(+o.call(this,l),0,_),x=Wu(+s.call(this,l),0,_);if(c||=f=Ct(),v<=0&&y<=0&&b<=0&&x<=0)c.rect(p,m,h,g);else{var S=p+h,C=m+g;c.moveTo(p+v,m),c.lineTo(S-y,m),c.bezierCurveTo(S-Ru*y,m,S,m+Ru*y,S,m+y),c.lineTo(S,C-x),c.bezierCurveTo(S,C-Ru*x,S-Ru*x,C,S-x,C),c.lineTo(p+b,C),c.bezierCurveTo(p+Ru*b,C,p,C-Ru*b,p,C-b),c.lineTo(p,m+v),c.bezierCurveTo(p,m+Ru*v,p+Ru*v,m,p+v,m),c.closePath()}if(f)return c=null,f+``||null}return l.x=function(t){return arguments.length?(e=Uu(t),l):e},l.y=function(e){return arguments.length?(t=Uu(e),l):t},l.width=function(e){return arguments.length?(n=Uu(e),l):n},l.height=function(e){return arguments.length?(r=Uu(e),l):r},l.cornerRadius=function(e,t,n,r){return arguments.length?(i=Uu(e),a=t==null?i:Uu(t),s=n==null?i:Uu(n),o=r==null?a:Uu(r),l):i},l.context=function(e){return arguments.length?(c=e??null,l):c},l}function Ku(){var e,t,n,r,i=null,a,o,s,c;function l(e,t,n){let r=n/2;if(a){var l=s-t,u=e-o;if(l||u){var d=Math.hypot(l,u),f=(l/=d)*c,p=(u/=d)*c,m=Math.atan2(u,l);i.moveTo(o-f,s-p),i.lineTo(e-l*r,t-u*r),i.arc(e,t,r,m-Math.PI,m),i.lineTo(o+f,s+p),i.arc(o,s,c,m,m+Math.PI)}else i.arc(e,t,r,0,Su);i.closePath()}else a=1;o=e,s=t,c=r}function u(o){var s,c=o.length,u,d=!1,f;for(i??=f=Ct(),s=0;s<=c;++s)!(s<c&&r(u=o[s],s,o))===d&&(d=!d)&&(a=0),d&&l(+e(u,s,o),+t(u,s,o),+n(u,s,o));if(f)return i=null,f+``||null}return u.x=function(t){return arguments.length?(e=t,u):e},u.y=function(e){return arguments.length?(t=e,u):t},u.size=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.context=function(e){return arguments.length?(i=e??null,u):i},u}function qu(e,t){return e??t}var Ju=e=>e.x||0,Yu=e=>e.y||0,Xu=e=>e.width||0,Zu=e=>e.height||0,Qu=e=>(e.x||0)+(e.width||0),$u=e=>(e.y||0)+(e.height||0),ed=e=>e.startAngle||0,td=e=>e.endAngle||0,nd=e=>e.padAngle||0,rd=e=>e.innerRadius||0,id=e=>e.outerRadius||0,ad=e=>e.cornerRadius||0,od=e=>qu(e.cornerRadiusTopLeft,e.cornerRadius)||0,sd=e=>qu(e.cornerRadiusTopRight,e.cornerRadius)||0,cd=e=>qu(e.cornerRadiusBottomRight,e.cornerRadius)||0,ld=e=>qu(e.cornerRadiusBottomLeft,e.cornerRadius)||0,ud=e=>qu(e.size,64),dd=e=>e.size||1,fd=e=>e.defined!==!1,pd=e=>Fu(e.shape||`circle`),md=kt().startAngle(ed).endAngle(td).padAngle(nd).innerRadius(rd).outerRadius(id).cornerRadius(ad),hd=Ks().x(Ju).y1(Yu).y0($u).defined(fd),gd=Ks().y(Yu).x1(Ju).x0(Qu).defined(fd),_d=Yt().x(Ju).y(Yu).defined(fd),vd=Gu().x(Ju).y(Yu).width(Xu).height(Zu).cornerRadius(od,sd,cd,ld),yd=qs().type(pd).size(ud),bd=Ku().x(Ju).y(Yu).defined(fd).size(dd);function xd(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Sd(e,t){return md.context(e)(t)}function Cd(e,t){let n=t[0],r=n.interpolate||`linear`;return(n.orient===`horizontal`?gd:hd).curve(du(r,n.orient,n.tension)).context(e)(t)}function wd(e,t){let n=t[0],r=n.interpolate||`linear`;return _d.curve(du(r,n.orient,n.tension)).context(e)(t)}function Td(e,t,n,r){return vd.context(e)(t,n,r)}function Ed(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Dd(e,t){return yd.context(e)(t)}function Od(e,t){return bd.context(e)(t)}var kd=1;function Ad(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||=`clip`+kd++,o=i.clipping[a]||(i.clipping[a]={id:a});return m(r)?o.path=r(null):xd(n)?o.path=Td(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),`url(#`+a+`)`}function jd(e){this.clear(),e&&this.union(e)}jd.prototype={clone(){return new jd(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,s=Math.cos(e),c=Math.sin(e),l=t-t*s+n*c,u=n-t*c-n*s;return[s*r-c*i+l,c*r+s*i+u,s*r-c*o+l,c*r+s*o+u,s*a-c*i+l,c*a+s*i+u,s*a-c*o+l,c*a+s*o+u]},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 Md(e){this.mark=e,this.bounds=this.bounds||new jd}function Nd(e){Md.call(this,e),this.items=this.items||[]}F(Nd,Md);var Pd=class{constructor(e){this._pending=0,this._loader=e||te()}pending(){return this._pending}sanitizeURL(e){let t=this;return Fd(t),t._loader.sanitize(e,{context:`href`}).then(e=>(Id(t),e)).catch(()=>(Id(t),null))}loadImage(e){let t=this,n=Ys();return Fd(t),t._loader.sanitize(e,{context:`image`}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=T(e,`crossOrigin`)?e.crossOrigin:`anonymous`;return a!=null&&(i.crossOrigin=a),i.onload=()=>Id(t),i.onerror=()=>Id(t),i.src=r,i}).catch(e=>(Id(t),{complete:!1,width:0,height:0,src:e&&e.url||``}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function Fd(e){e._pending+=1}function Id(e){--e._pending}function Ld(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth,i=(t.strokeCap===`square`?Math.SQRT2:1)*r/2;n&&(!t.strokeJoin||t.strokeJoin===`miter`)&&(i=Math.max(i,(t.strokeMiterLimit==null?4:+t.strokeMiterLimit)*r/2)),e.expand(i)}return e}var Rd=Su-1e-8,zd,Bd,Vd,Hd,Ud,Wd,Gd,Kd,qd=(e,t)=>zd.add(e,t),Jd=(e,t)=>qd(Bd=e,Vd=t),Yd=e=>qd(e,zd.y1),Xd=e=>qd(zd.x1,e),Zd=(e,t)=>Ud*e+Gd*t,Qd=(e,t)=>Wd*e+Kd*t,$d=(e,t)=>qd(Zd(e,t),Qd(e,t)),ef=(e,t)=>Jd(Zd(e,t),Qd(e,t));function tf(e,t){return zd=e,t?(Hd=t*yu,Ud=Kd=Math.cos(Hd),Wd=Math.sin(Hd),Gd=-Wd):(Ud=Kd=1,Hd=Wd=Gd=0),nf}var nf={beginPath(){},closePath(){},moveTo:ef,lineTo:ef,rect(e,t,n,r){Hd?($d(e+n,t),$d(e+n,t+r),$d(e,t+r),ef(e,t)):(qd(e+n,t+r),Jd(e,t))},quadraticCurveTo(e,t,n,r){let i=Zd(e,t),a=Qd(e,t),o=Zd(n,r),s=Qd(n,r);rf(Bd,i,o,Yd),rf(Vd,a,s,Xd),Jd(o,s)},bezierCurveTo(e,t,n,r,i,a){let o=Zd(e,t),s=Qd(e,t),c=Zd(n,r),l=Qd(n,r),u=Zd(i,a),d=Qd(i,a);af(Bd,o,c,u,Yd),af(Vd,s,l,d,Xd),Jd(u,d)},arc(e,t,n,r,i,a){if(r+=Hd,i+=Hd,Bd=n*Math.cos(i)+e,Vd=n*Math.sin(i)+t,Math.abs(i-r)>Rd)qd(e-n,t-n),qd(e+n,t+n);else{let o=r=>qd(n*Math.cos(r)+e,n*Math.sin(r)+t),s,c;if(o(r),o(i),i!==r){if(r%=Su,r<0&&(r+=Su),i%=Su,i<0&&(i+=Su),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=Su,s=r-r%xu,c=0;c<4&&s>i;++c,s-=xu)o(s);else for(s=r-r%xu+xu,c=0;c<4&&s<i;++c,s+=xu)o(s)}}}};function rf(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function af(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,s=e-t,c=0,l=0,u;Math.abs(a)>bu?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),c=(-o+u)/a,l=(-o-u)/a)):c=.5*s/o,0<c&&c<1&&i(of(c,e,t,n,r)),0<l&&l<1&&i(of(l,e,t,n,r))}function of(e,t,n,r,i){let a=1-e,o=a*a,s=e*e;return o*a*t+3*o*e*n+3*a*s*r+s*e*i}var sf=(sf=Js(1,1))?sf.getContext(`2d`):null,cf=new jd;function lf(e){return function(t,n){if(!sf)return!0;e(sf,t),cf.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=cf;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(sf.isPointInPath(t,e))return!0;return!1}}function uf(e,t){return t.contains(e.x||0,e.y||0)}function df(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(cf.set(n,r,n+i,r+a))}function ff(e,t){let n=e.x||0,r=e.y||0;return pf(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function pf(e,t,n,r,i){let{x1:a,y1:o,x2:s,y2:c}=e,l=r-t,u=i-n,d=0,f=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(a-t)),g===1&&(p=l,m=s-t),g===2&&(p=-u,m=-(o-n)),g===3&&(p=u,m=c-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>f)return!1;h>d&&(d=h)}else if(p>0){if(h<d)return!1;h<f&&(f=h)}}return!0}function mf(e,t){e.globalCompositeOperation=t.blend||`source-over`}function hf(e,t){return e??t}function gf(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function _f(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient===`radial`)a=e.createRadialGradient(n.x1+hf(t.x1,.5)*r,n.y1+hf(t.y1,.5)*i,Math.max(r,i)*hf(t.r1,0),n.x1+hf(t.x2,.5)*r,n.y1+hf(t.y2,.5)*i,Math.max(r,i)*hf(t.r2,.5));else{let o=hf(t.x1,0),s=hf(t.y1,0),c=hf(t.x2,1),l=hf(t.y2,0);if(o===c||s===l||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+s*i,n.x1+c*r,n.y1+l*i);else{let n=Js(Math.ceil(r),Math.ceil(i)),a=n.getContext(`2d`);return a.scale(r,i),a.fillStyle=gf(a.createLinearGradient(o,s,c,l),t.stops),a.fillRect(0,0,r,i),e.createPattern(n,`no-repeat`)}}return gf(a,t.stops)}function vf(e,t,n){return ou(n)?_f(e,n,t.bounds):n}function yf(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0&&(e.globalAlpha=n,e.fillStyle=vf(e,t,t.fill),!0)}var bf=[];function xf(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=vf(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||`butt`,e.lineJoin=t.strokeJoin||`miter`,e.miterLimit=t.strokeMiterLimit==null?4:t.strokeMiterLimit,e.setLineDash&&(e.setLineDash(t.strokeDash||bf),e.lineDashOffset=t.strokeDashOffset||0),!0))}function Sf(e,t){return e.zindex-t.zindex||e.index-t.index}function Cf(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(Sf)}function wf(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Cf(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 Tf(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Cf(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 Ef(e){return function(t,n,r){wf(n,n=>{(!r||r.intersects(n.bounds))&&Of(e,t,n,n)})}}function Df(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&Of(e,t,n.items[0],n.items)}}function Of(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(mf(t,n),n.fill&&yf(t,n,i)&&t.fill(),n.stroke&&xf(t,n,i)&&t.stroke()))}function kf(e){return e||=De,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,Tf(n,n=>{let s=n.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,n,r,i,a,o))return n})}}function Af(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,s=t??o.fill,c=o.stroke&&n.isPointInStroke,l,u;return c&&(l=o.strokeWidth,u=o.strokeCap,n.lineWidth=l??1,n.lineCap=u??`butt`),e(n,r)?!1:s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a)}}function jf(e){return kf(Af(e))}function Mf(e,t){return`translate(`+e+`,`+t+`)`}function Nf(e){return`rotate(`+e+`)`}function wte(e,t){return`scale(`+e+`,`+t+`)`}function Pf(e){return Mf(e.x||0,e.y||0)}function Tte(e){return Mf(e.x||0,e.y||0)+(e.angle?` `+Nf(e.angle):``)}function Ete(e){return Mf(e.x||0,e.y||0)+(e.angle?` `+Nf(e.angle):``)+(e.scaleX||e.scaleY?` `+wte(e.scaleX||1,e.scaleY||1):``)}function Ff(e,t,n){function r(e,n){e(`transform`,Tte(n)),e(`d`,t(null,n))}function i(e,n){return t(tf(e,n.angle),n),Ld(e,n,!0).translate(n.x||0,n.y||0)}function a(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=yu),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:`path`,nested:!1,attr:r,bound:i,draw:Ef(a),pick:jf(a),isect:n||lf(a)}}var Dte=Ff(`arc`,Sd);function Ote(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,s;--i>=0;)e[i].defined!==!1&&(s=Math.abs(e[i][r]-n),s<a&&(a=s,o=e[i]));return o}function kte(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 Ate(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 If(e,t,n){function r(e,n){var r=n.mark.items;r.length&&e(`d`,t(null,r))}function i(e,n){var r=n.items;return r.length===0?e:(t(tf(e),r),Ld(e,r[0],!0))}function a(e,n){e.beginPath(),t(e,n)}let o=Af(a);function s(e,t,n,r,i,a){var s=t.items,c=t.bounds;return!s||!s.length||c&&!c.contains(i,a)?null:(n*=e.pixelRatio,r*=e.pixelRatio,o(e,s,n,r)?s[0]:null)}return{type:e,tag:`path`,nested:!0,attr:r,bound:i,draw:Df(a),pick:s,isect:uf,tip:n}}var jte=If(`area`,Cd,Ote);function Mte(e,t){var n=t.clip;e.save(),m(n)?(e.beginPath(),n(e),e.clip()):Lf(e,t.group)}function Lf(e,t){e.beginPath(),xd(t)?Td(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function Rf(e){let t=hf(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function Nte(e,t){e(`transform`,Pf(t))}function zf(e,t){let n=Rf(t);e(`d`,Td(null,t,n,n))}function Pte(e,t){e(`class`,`background`),e(`aria-hidden`,!0),zf(e,t)}function Fte(e,t){e(`class`,`foreground`),e(`aria-hidden`,!0),t.strokeForeground?zf(e,t):e(`d`,``)}function Ite(e,t,n){e(`clip-path`,t.clip?Ad(n,t,t):null)}function Lte(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ld(e,t),e.translate(t.x||0,t.y||0)}function Bf(e,t,n,r){let i=Rf(t);e.beginPath(),Td(e,t,(n||0)+i,(r||0)+i)}var Rte=Af(Bf),zte=Af(Bf,!1),Bte=Af(Bf,!0);function Vte(e,t,n,r){wf(t,t=>{let i=t.x||0,a=t.y||0,o=t.strokeForeground,s=t.opacity==null?1:t.opacity;(t.stroke||t.fill)&&s&&(Bf(e,t,i,a),mf(e,t),t.fill&&yf(e,t,s)&&e.fill(),t.stroke&&!o&&xf(e,t,s)&&e.stroke()),e.save(),e.translate(i,a),t.clip&&Lf(e,t),n&&n.translate(-i,-a),wf(t,t=>{(t.marktype===`group`||r==null||r.includes(t.marktype))&&this.draw(e,t,n,r)}),n&&n.translate(i,a),e.restore(),o&&t.stroke&&s&&(Bf(e,t,i,a),mf(e,t),xf(e,t,s)&&e.stroke())})}function Hte(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,s=r*e.pixelRatio;return Tf(t,c=>{let l,u,d,f=c.bounds;if(f&&!f.contains(i,a))return;u=c.x||0,d=c.y||0;let p=u+(c.width||0),m=d+(c.height||0),h=c.clip;if(h&&(i<u||i>p||a<d||a>m))return;if(e.save(),e.translate(u,d),u=i-u,d=a-d,h&&xd(c)&&!Bte(e,c,o,s))return e.restore(),null;let g=c.strokeForeground,_=t.interactive!==!1;return _&&g&&c.stroke&&zte(e,c,o,s)?(e.restore(),c):(l=Tf(c,e=>Ute(e,u,d)?this.pick(e,n,r,u,d):null),!l&&_&&(c.fill||!g&&c.stroke)&&Rte(e,c,o,s)&&(l=c),e.restore(),l||null)})}function Ute(e,t,n){return(e.interactive!==!1||e.marktype===`group`)&&e.bounds&&e.bounds.contains(t,n)}var Wte={type:`group`,tag:`g`,nested:!1,attr:Nte,bound:Lte,draw:Vte,pick:Hte,isect:df,content:Ite,background:Pte,foreground:Fte},Vf={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,version:`1.1`};function Hf(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(t=>{e.image=t,e.image.url=e.url})),n}function Uf(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 Wf(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 Gf(e,t){return e===`center`?t/2:e===`right`?t:0}function Kf(e,t){return e===`middle`?t/2:e===`bottom`?t:0}function Gte(e,t,n){let r=Hf(t,n),i=Uf(t,r),a=Wf(t,r),o=(t.x||0)-Gf(t.align,i),s=(t.y||0)-Kf(t.baseline,a);e(`href`,!r.src&&r.toDataURL?r.toDataURL():r.src||``,Vf[`xmlns:xlink`],`xlink:href`),e(`transform`,Mf(o,s)),e(`width`,i),e(`height`,a),e(`preserveAspectRatio`,t.aspect===!1?`none`:`xMidYMid`)}function Kte(e,t){let n=t.image,r=Uf(t,n),i=Wf(t,n),a=(t.x||0)-Gf(t.align,r),o=(t.y||0)-Kf(t.baseline,i);return e.set(a,o,a+r,o+i)}function qte(e,t,n){wf(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=Hf(t,this),i=Uf(t,r),a=Wf(t,r);if(i===0||a===0)return;let o=(t.x||0)-Gf(t.align,i),s=(t.y||0)-Kf(t.baseline,a),c,l,u;t.aspect!==!1&&(c=r.width/r.height,l=t.width/t.height,c===c&&l===l&&c!==l&&(l<c?(u=i/c,s+=(a-u)/2,a=u):(u=a*c,o+=(i-u)/2,i=u))),(r.complete||r.toDataURL)&&(mf(e,t),e.globalAlpha=t.opacity??1,e.imageSmoothingEnabled=t.smooth!==!1,e.drawImage(r,o,s,i,a))})}var Jte={type:`image`,tag:`image`,nested:!1,attr:Gte,bound:Kte,draw:qte,pick:kf(),isect:De,get:Hf,xOffset:Gf,yOffset:Kf},Yte=If(`line`,wd,kte);function Xte(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e(`vector-effect`,`non-scaling-stroke`),e(`transform`,Ete(t)),e(`d`,t.path)}function qf(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,s=(t.angle||0)*yu,c=t.pathCache;(!c||c.path!==n)&&((t.pathCache=c=_u(n)).path=n),s&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(s),ju(e,c,0,0,a,o),e.rotate(-s),e.translate(-r,-i)):ju(e,c,r,i,a,o)}function Zte(e,t){return qf(tf(e,t.angle),t)?e.set(0,0,0,0):Ld(e,t,!0)}var Qte={type:`path`,tag:`path`,nested:!1,attr:Xte,bound:Zte,draw:Ef(qf),pick:jf(qf),isect:lf(qf)};function $te(e,t){e(`d`,Td(null,t))}function ene(e,t){var n,r;return Ld(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function Jf(e,t){e.beginPath(),Td(e,t)}var tne={type:`rect`,tag:`path`,nested:!1,attr:$te,bound:ene,draw:Ef(Jf),pick:jf(Jf),isect:df};function nne(e,t){e(`transform`,Pf(t)),e(`x2`,t.x2==null?0:t.x2-(t.x||0)),e(`y2`,t.y2==null?0:t.y2-(t.y||0))}function rne(e,t){var n,r;return Ld(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function Yf(e,t,n){var r,i,a,o;return t.stroke&&xf(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 ine(e,t,n){wf(t,t=>{if(!(n&&!n.intersects(t.bounds))){var r=t.opacity==null?1:t.opacity;r&&Yf(e,t,r)&&(mf(e,t),e.stroke())}})}function ane(e,t,n,r){return e.isPointInStroke?Yf(e,t,1)&&e.isPointInStroke(n,r):!1}var one={type:`rule`,tag:`line`,nested:!1,attr:nne,bound:rne,draw:ine,pick:kf(ane),isect:ff},sne=Ff(`shape`,Ed),cne=Ff(`symbol`,Dd,uf),Xf=yr(),Zf={height:rp,measureWidth:tp,estimateWidth:$f,width:$f,canvas:Qf};Qf(!0);function Qf(e){Zf.width=e&&sf?tp:$f}function $f(e,t){return ep(sp(e,t),rp(e))}function ep(e,t){return~~(.8*e.length*t)}function tp(e,t){return rp(e)<=0||!(t=sp(e,t))?0:np(t,lp(e))}function np(e,t){let n=`(${t}) ${e}`,r=Xf.get(n);return r===void 0&&(sf.font=t,r=sf.measureText(e).width,Xf.set(n,r)),r}function rp(e){return e.fontSize==null?11:+e.fontSize||0}function ip(e){return e.lineHeight==null?rp(e)+2:e.lineHeight}function lne(e){return N(e)?e.length>1?e:e[0]:e}function ap(e){return lne(e.lineBreak&&e.text&&!N(e.text)?e.text.split(e.lineBreak):e.text)}function op(e){let t=ap(e);return(N(t)?t.length-1:0)*ip(e)}function sp(e,t){let n=t==null?``:(t+``).trim();return e.limit>0&&n.length?dne(e,n):n}function une(e){if(Zf.width===tp){let t=lp(e);return e=>np(e,t)}if(Zf.width===$f){let t=rp(e);return e=>ep(e,t)}return t=>Zf.width(e,t)}function dne(e,t){var n=+e.limit,r=une(e);if(r(t)<n)return t;var i=e.ellipsis||`…`,a=e.dir===`rtl`,o=0,s=t.length,c;if(n-=r(i),a){for(;o<s;)c=o+s>>>1,r(t.slice(c))>n?o=c+1:s=c;return i+t.slice(o)}for(;o<s;)c=1+(o+s>>>1),r(t.slice(0,c))<n?o=c:s=c-1;return t.slice(0,o)+i}function cp(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,`'`):n)||`sans-serif`}function lp(e,t){return(e.fontStyle?e.fontStyle+` `:``)+(e.fontVariant?e.fontVariant+` `:``)+(e.fontWeight?e.fontWeight+` `:``)+rp(e)+`px `+cp(e,t)}function up(e){var t=e.baseline,n=rp(e);return Math.round(t===`top`?.79*n:t===`middle`?.3*n:t===`bottom`?-.21*n:t===`line-top`?.29*n+.5*ip(e):t===`line-bottom`?.29*n-.5*ip(e):0)}var fne={left:`start`,center:`middle`,right:`end`},dp=new jd;function fp(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-xu,t+=r*Math.cos(i),n+=r*Math.sin(i)),dp.x1=t,dp.y1=n,dp}function pp(e,t){var n=t.dx||0,r=(t.dy||0)+up(t),i=fp(t),a=i.x1,o=i.y1,s=t.angle||0,c;e(`text-anchor`,fne[t.align]||`start`),s?(c=Mf(a,o)+` `+Nf(s),(n||r)&&(c+=` `+Mf(n,r))):c=Mf(a+n,o+r),e(`transform`,c)}function mp(e,t,n){var r=Zf.height(t),i=t.align,a=fp(t),o=a.x1,s=a.y1,c=t.dx||0,l=(t.dy||0)+up(t)-Math.round(.8*r),u=ap(t),d;if(N(u)?(r+=ip(t)*(u.length-1),d=u.reduce((e,n)=>Math.max(e,Zf.width(t,n)),0)):d=Zf.width(t,u),i===`center`?c-=d/2:i===`right`&&(c-=d),e.set(c+=o,l+=s,c+d,l+r),t.angle&&!n)e.rotate(t.angle*yu,o,s);else if(n===2)return e.rotatedPoints(t.angle*yu,o,s);return e}function hp(e,t,n){wf(t,t=>{var r=t.opacity==null?1:t.opacity,i,a,o,s,c,l,u;if(!(n&&!n.intersects(t.bounds)||r===0||t.fontSize<=0||t.text==null||t.text.length===0)){if(e.font=lp(t),e.textAlign=t.align||`left`,i=fp(t),a=i.x1,o=i.y1,t.angle&&(e.save(),e.translate(a,o),e.rotate(t.angle*yu),a=o=0),a+=t.dx||0,o+=(t.dy||0)+up(t),l=ap(t),mf(e,t),N(l))for(c=ip(t),s=0;s<l.length;++s)u=sp(t,l[s]),t.fill&&yf(e,t,r)&&e.fillText(u,a,o),t.stroke&&xf(e,t,r)&&e.strokeText(u,a,o),o+=c;else u=sp(t,l),t.fill&&yf(e,t,r)&&e.fillText(u,a,o),t.stroke&&xf(e,t,r)&&e.strokeText(u,a,o);t.angle&&e.restore()}})}function gp(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=fp(t),s=o.x1,c=o.y1,l=mp(dp,t,1),u=-t.angle*yu,d=Math.cos(u),f=Math.sin(u),p=d*i-f*a+(s-d*s+f*c),m=f*i+d*a+(c-f*s-d*c);return l.contains(p,m)}function _p(e,t){let n=mp(dp,e,2);return pf(t,n[0],n[1],n[2],n[3])||pf(t,n[0],n[1],n[4],n[5])||pf(t,n[4],n[5],n[6],n[7])||pf(t,n[2],n[3],n[6],n[7])}var vp={arc:Dte,area:jte,group:Wte,image:Jte,line:Yte,path:Qte,rect:tne,rule:one,shape:sne,symbol:cne,text:{type:`text`,tag:`text`,nested:!1,attr:pp,bound:mp,draw:hp,pick:kf(gp),isect:_p},trail:If(`trail`,Od,Ate)};function yp(e,t,n){var r=vp[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new jd),e,n)}var bp={mark:null};function xp(e,t,n){var r=vp[e.marktype],i=r.bound,a=e.items,o=a&&a.length,s,c,l,u;if(r.nested)return o?l=a[0]:(bp.mark=e,l=bp),u=yp(l,i,n),t=t&&t.union(u)||u,t;if(t=t||e.bounds&&e.bounds.clear()||new jd,o)for(s=0,c=a.length;s<c;++s)t.union(yp(a[s],i,n));return e.bounds=t}var Sp=`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 Cp(e,t){return JSON.stringify(e,Sp,t)}function wp(e){return Tp(typeof e==`string`?JSON.parse(e):e)}function Tp(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`&&Tp(n[i]);return t&&xp(e),e}var Ep=class{constructor(e){arguments.length?this.root=wp(e):(this.root=Dp({marktype:`group`,name:`root`,role:`frame`}),this.root.items=[new Nd(this.root)])}toJSON(e){return Cp(this.root,e||0)}mark(e,t,n){t||=this.root.items[0];let r=Dp(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function Dp(e,t){let n={bounds:new jd,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 Op(e,t,n){return!e&&typeof document<`u`&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function kp(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 Ap(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Op(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function jp(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function Mp(e){return`mark-`+e.marktype+(e.role?` role-`+e.role:``)+(e.name?` `+e.name:``)}function Np(e,t){if(t.getScreenCTM){let n=Pp(e,t.getScreenCTM());if(n)return n}return Fp(e,t,t.getBoundingClientRect())}function Pp(e,t){if(!t)return null;let n=t.a*t.d-t.b*t.c;if(!n)return null;let r=e.clientX-t.e,i=e.clientY-t.f;return[(t.d*r-t.c*i)/n,(t.a*i-t.b*r)/n]}function Fp(e,t,n){let r=t.offsetWidth?n.width/t.offsetWidth:1,i=t.offsetHeight?n.height/t.offsetHeight:1;return[(e.clientX-n.left)/r-(t.clientLeft||0),(e.clientY-n.top)/i-(t.clientTop||0)]}function Ip(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=vp[i.marktype]).tip){for(o=Np(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 Lp=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||te(),this._tooltip=t||Rp}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 e in t)n.push(...t[e]);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(t=>{let n=new MouseEvent(e.type,e),r=Op(null,`a`);for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=Ip(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(),s=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)s+=e.x||0,c+=e.y||0;return{x:s,y:c,width:a,height:o,left:s,top:c,right:s+a,bottom:c+o}}};function Rp(e,t,n,r){e.element().setAttribute(`title`,r||``)}var zp=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new Pd(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 e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r}sanitizeURL(e){return this._load(`sanitizeURL`,e)}loadImage(e){return this._load(`loadImage`,e)}},Bp=`keydown`,Vp=`keypress`,Hp=`keyup`,Up=`dragenter`,Wp=`dragleave`,Gp=`dragover`,Kp=`pointerdown`,qp=`pointerup`,Jp=`pointermove`,Yp=`pointerout`,Xp=`pointerover`,Zp=`mousedown`,Qp=`mouseup`,$p=`mousemove`,em=`mouseout`,tm=`mouseover`,nm=`click`,rm=`dblclick`,im=`wheel`,am=`mousewheel`,om=`touchstart`,sm=`touchmove`,cm=`touchend`,lm=[Bp,Vp,Hp,Up,Wp,Gp,Kp,qp,Jp,Yp,Xp,Zp,Qp,$p,em,tm,nm,rm,im,am,om,sm,cm],um=Jp,dm=em,fm=nm,pm=class extends Lp{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=lm,this.pointermove=vm([Jp,$p],[Xp,tm],[Yp,em]),this.dragover=vm([Gp],[Up],[Wp]),this.pointerout=ym([Yp,em]),this.dragleave=ym([Wp])}initialize(e,t,n){return this._canvas=e&&kp(e,`canvas`),[nm,Zp,Kp,Jp,Yp,Wp].forEach(e=>hm(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext(`2d`)}DOMMouseScroll(e){this.fire(am,e)}pointerdown(e){this._down=this._active,this.fire(Kp,e)}mousedown(e){this._down=this._active,this.fire(Zp,e)}click(e){this._down===this._active&&(this.fire(nm,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&=(this._active=this._touch,!1),this.fire(om,e,!0)}touchmove(e){this.fire(sm,e,!0)}touchend(e){this.fire(cm,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===fm&&r&&r.href?this.handleHref(t,r,r.href):(e===um||e===dm)&&this.handleTooltip(t,r,e!==dm),i)for(let e=0,n=i.length;e<n;++e)i[e].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&&(hm(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=Np(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 vp[e.marktype].pick.call(this,a,e,t,n,r,i)}},mm=e=>e===om||e===sm||e===cm?[om,sm,cm]:[e];function hm(e,t){mm(t).forEach(t=>gm(e,t))}function gm(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))}function _m(e,t,n){t.forEach(t=>e.fire(t,n))}function vm(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?_m(this,e,r):((!i||!i.exit)&&_m(this,n,r),this._active=a,_m(this,t,r),_m(this,e,r))}}function ym(e){return function(t){_m(this,e,t),this._active=null}}function bm(){return typeof window<`u`&&window.devicePixelRatio||1}function xm(e,t,n,r,i,a){let o=typeof HTMLElement<`u`&&e instanceof HTMLElement&&e.parentNode!=null,s=e.getContext(`2d`),c=o?bm():i;e.width=t*c,e.height=n*c;for(let e in a)s[e]=a[e];return o&&(e.style.width=t+`px`,e.style.height=n+`px`),s.pixelRatio=c,s.setTransform(c,0,0,c,c*r[0],c*r[1]),e}var Sm=class extends zp{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new jd,this._tempb=new jd}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Js(1,1,this._options.type),e&&this._canvas&&(jp(e,0).appendChild(this._canvas),this._canvas.setAttribute(`class`,`marks`),this._canvas.style.setProperty(`vertical-align`,`bottom`)),super.initialize(e,t,n,r,i)}resize(e,t,n,r){if(super.resize(e,t,n,r),this._canvas)xm(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||j(`CanvasRenderer is missing a valid canvas or context`),e.scale(this._scale,this._scale),e.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,s=Cm(r,i,a);n.save();let c=this._redraw||o.empty()?(this._redraw=!1,s.expand(1)):wm(n,s.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!==`group`&&r!=null&&!r.includes(t.marktype))return;let i=vp[t.marktype];t.clip&&Mte(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))}},Cm=(e,t,n)=>new jd().set(0,0,t,n).translate(-e[0],-e[1]);function wm(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 Tm=class extends Lp{constructor(e,t){super(e,t);let n=this;n._hrefHandler=Em(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=Em(n,(e,t)=>{n.handleTooltip(e,t,e.type!==dm)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(fm,this._hrefHandler),r.removeEventListener(um,this._tooltipHandler),r.removeEventListener(dm,this._tooltipHandler)),this._svg=r=e&&kp(e,`svg`),r&&(r.addEventListener(fm,this._hrefHandler),r.addEventListener(um,this._tooltipHandler),r.addEventListener(dm,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:Em(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}},Em=(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)},Dm=`aria-hidden`,Om=`aria-label`,km=`role`,Am=`aria-roledescription`,jm=`graphics-object`,Mm=`graphics-symbol`,Nm=(e,t,n)=>({[km]:e,[Am]:t,[Om]:n||void 0}),Pm=_([`axis-domain`,`axis-grid`,`axis-label`,`axis-tick`,`axis-title`,`legend-band`,`legend-entry`,`legend-gradient`,`legend-label`,`legend-title`,`legend-symbol`,`title`]),Fm={axis:{desc:`axis`,caption:Hm},legend:{desc:`legend`,caption:Um},"title-text":{desc:`title`,caption:e=>`Title text '${Vm(e)}'`},"title-subtitle":{desc:`subtitle`,caption:e=>`Subtitle text '${Vm(e)}'`}},Im={ariaRole:km,ariaRoleDescription:Am,description:Om};function Lm(e,t){let n=t.aria===!1;if(e(Dm,n||void 0),n||t.description==null)for(let t in Im)e(Im[t],void 0);else{let n=t.mark.marktype;e(Om,t.description),e(km,t.ariaRole||(n===`group`?jm:Mm)),e(Am,t.ariaRoleDescription||`${n} mark`)}}function Rm(e){return e.aria===!1?{[Dm]:!0}:Pm[e.role]?null:Fm[e.role]?Bm(e,Fm[e.role]):zm(e)}function zm(e){let t=e.marktype;return Nm(t===`group`||t===`text`||e.items.some(e=>e.description!=null&&e.aria!==!1)?jm:Mm,`${t} mark container`,e.description)}function Bm(e,t){try{let n=e.items[0],r=t.caption||(()=>``);return Nm(t.role||Mm,t.desc,e.description||n.description||r(n))}catch{return null}}function Vm(e){return k(e.text).join(` `)}function Hm(e){let t=e.datum,n=e.orient,r=t.title?Wm(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),s=a.type;return`${n===`left`||n===`right`?`Y`:`X`}-axis`+(r?` titled '${r}'`:``)+` for a ${Dl(s)?`discrete`:s} scale with ${ru(o,a,e)}`}function Um(e){let t=e.datum,n=t.title?Wm(e):null,r=`${t.type||``} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,s=o.scales[i[a[0]]].value,c=o.dataflow.locale();return Km(r)+(n?` titled '${n}'`:``)+` for ${Gm(a)} with ${ru(c,s,e)}`}function Wm(e){try{return k(A(e.items).items[0].text).join(` `)}catch{return null}}function Gm(e){return e=e.map(e=>e+(e===`fill`||e===`stroke`?` color`:``)),e.length<2?e[0]:e.slice(0,-1).join(`, `)+` and `+A(e)}function Km(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var qm=e=>(e+``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),Jm=e=>qm(e).replace(/"/g,`"`).replace(/\t/g,`	`).replace(/\n/g,`
`).replace(/\r/g,`
`);function Ym(){let e=``,t=``,n=``,r=[],i=()=>t=n=``,a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(n!=null&&(t+=` ${e}="${Jm(n)}"`),s),s={open(e,...n){a(e),t=`<`+e;for(let e of n)for(let t in e)o(t,e[t]);return s},close(){let a=r.pop();return e+=t?t+(n?`>${n}</${a}>`:`/>`):`</${a}>`,i(),s},attr:o,text:e=>(n+=qm(e),s),toString:()=>e};return s}var Xm=e=>Zm(Ym(),e)+``;function Zm(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let t=0;t<r;++t)e.attr(n[t].name,n[t].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let t of n)t.nodeType===3?e.text(t.nodeValue):Zm(e,t)}return e.close()}var Qm={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`},$m={blend:`mix-blend-mode`},eh={fill:`none`,"stroke-miterlimit":4},th=0,nh=`http://www.w3.org/2000/xmlns/`,rh=Vf.xmlns,ih=class extends zp{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=Ap(e,0,`svg`,rh),this._svg.setAttributeNS(nh,`xmlns`,rh),this._svg.setAttributeNS(nh,`xmlns:xlink`,Vf[`xmlns:xlink`]),this._svg.setAttribute(`version`,Vf.version),this._svg.setAttribute(`class`,`marks`),this._svg.style.setProperty(`vertical-align`,`bottom`),jp(e,1),this._root=Ap(this._svg,th,`g`,rh),gh(this._root,eh),jp(this._svg,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&&(gh(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=e.getAttribute(`style`);e.removeAttribute(`style`);let r;t&&(r=Ap(e,th,`rect`,rh),gh(r,{width:this._width,height:this._height,fill:t}));let i=Xm(e);return t&&e.removeChild(r),n&&e.setAttribute(`style`,n),i}_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),jp(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,s,c;for(o=0,s=e.length;o<s;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=vp[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,ah(n,t),r.items.forEach(e=>{e.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.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,ah(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=vp[a],s=t.interactive===!1?`none`:null,c=o.tag===`g`,l=lh(t,e,n,`g`,i);if(a!==`group`&&r!=null&&!r.includes(a))return jp(l,0),t._svg;l.setAttribute(`class`,Mp(t));let u=Rm(t);for(let e in u)_h(l,e,u[e]);c||_h(l,`pointer-events`,s),_h(l,`clip-path`,t.clip?Ad(this,t,t.group):null);let d=null,f=0,p=e=>{let t=this.isDirty(e),n=lh(e,l,d,o.tag,i);t&&(this._update(o,n,e),c&&ch(this,n,e,r)),d=n,++f};return o.nested?t.items.length&&p(t.items[0]):wf(t,p),jp(l,f),l}_update(e,t,n){dh=t,fh=t.__values__,Lm(mh,n),e.attr(mh,n,this);let r=ph[e.type];r&&r.call(this,e,t,n),dh&&this.style(dh,n)}style(e,t){if(t!=null){for(let n in Qm){let r=n===`font`?cp(t):t[n];if(r===fh[n])continue;let i=Qm[n];r==null?e.removeAttribute(i):(ou(r)&&(r=su(r,this._defs.gradient,yh())),e.setAttribute(i,r+``)),fh[n]=r}for(let n in $m)hh(e,$m[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=Ap(e,1,`defs`,rh)),r=oh(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Ap(e,1,`defs`,rh)),r=sh(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):jp(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function ah(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 oh(e,t,n){let r,i,a;if(t.gradient===`radial`){let r=Ap(e,n++,`pattern`,rh);gh(r,{id:au+t.id,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),r=Ap(r,0,`rect`,rh),gh(r,{width:1,height:1,fill:`url(${yh()}#${t.id})`}),e=Ap(e,n++,`radialGradient`,rh),gh(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Ap(e,n++,`linearGradient`,rh),gh(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=Ap(e,r,`stop`,rh),a.setAttribute(`offset`,t.stops[r].offset),a.setAttribute(`stop-color`,t.stops[r].color);return jp(e,r),n}function sh(e,t,n){let r;return e=Ap(e,n,`clipPath`,rh),e.setAttribute(`id`,t.id),t.path?(r=Ap(e,0,`path`,rh),r.setAttribute(`d`,t.path)):(r=Ap(e,0,`rect`,rh),gh(r,{x:0,y:0,width:t.width,height:t.height})),jp(e,1),n+1}function ch(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;wf(n,n=>{i=e.mark(t,n,i,r),++a}),jp(t,1+a)}function lh(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Op(o,r,rh),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:`default`},r===`g`))){let t=Op(o,`path`,rh);a.appendChild(t),t.__data__=e;let n=Op(o,`g`,rh);a.appendChild(n),n.__data__=e;let r=Op(o,`path`,rh);a.appendChild(r),r.__data__=e,r.__values__={fill:`default`}}return(a.ownerSVGElement!==i||uh(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function uh(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var dh=null,fh=null,ph={group(e,t,n){let r=dh=t.childNodes[2];fh=r.__values__,e.foreground(mh,n,this),fh=t.__values__,dh=t.childNodes[1],e.content(mh,n,this);let i=dh=t.childNodes[0];e.background(mh,n,this);let a=n.mark.interactive===!1?`none`:null;if(a!==fh.events&&(_h(r,`pointer-events`,a),_h(i,`pointer-events`,a),fh.events=a),n.strokeForeground&&n.stroke){let e=n.fill;_h(r,`display`,null),this.style(i,n),_h(i,`stroke`,null),e&&(n.fill=null),fh=r.__values__,this.style(r,n),e&&(n.fill=e),dh=null}else _h(r,`display`,`none`)},image(e,t,n){n.smooth===!1?(hh(t,`image-rendering`,`optimizeSpeed`),hh(t,`image-rendering`,`pixelated`)):hh(t,`image-rendering`,null)},text(e,t,n){let r=ap(n),i,a,o,s;N(r)?(a=r.map(e=>sp(n,e)),i=a.join(`
|
|
2
2
|
`),i!==fh.text&&(jp(t,0),o=t.ownerDocument,s=ip(n),a.forEach((e,r)=>{let i=Op(o,`tspan`,rh);i.__data__=n,i.textContent=e,r&&(i.setAttribute(`x`,0),i.setAttribute(`dy`,s)),t.appendChild(i)}),fh.text=i)):(a=sp(n,r),a!==fh.text&&(t.textContent=a,fh.text=a)),_h(t,`font-family`,cp(n)),_h(t,`font-size`,rp(n)+`px`),_h(t,`font-style`,n.fontStyle),_h(t,`font-variant`,n.fontVariant),_h(t,`font-weight`,n.fontWeight)}};function mh(e,t,n){t!==fh[e]&&(n?vh(dh,e,t,n):_h(dh,e,t),fh[e]=t)}function hh(e,t,n){n!==fh[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+``),fh[t]=n)}function gh(e,t){for(let n in t)_h(e,n,t[n])}function _h(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function vh(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function yh(){let e;return typeof window>`u`?``:(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var bh=class extends zp{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=Ym();t.open(`svg`,D({},Vf,{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`,eh,{transform:`translate(`+this._origin+`)`}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+``,this}mark(e,t){let n=vp[t.marktype],r=n.tag,i=[Lm,n.attr];e.open(`g`,{class:Mp(t),"clip-path":t.clip?Ad(this,t,t.group):null},Rm(t),{"pointer-events":r!==`g`&&t.interactive===!1?`none`:null});let a=a=>{let o=this.href(a);if(o&&e.open(`a`,o),e.open(r,this.attr(t,a,i,r===`g`?null:r)),r===`text`){let t=ap(a);if(N(t)){let n={x:0,dy:ip(a)};for(let r=0;r<t.length;++r)e.open(`tspan`,r?n:null).text(sp(a,t[r])).close()}else e.text(sp(a,t))}else if(r===`g`){let r=a.strokeForeground,i=a.fill,o=a.stroke;r&&o&&(a.stroke=null),e.open(`path`,this.attr(t,a,n.background,`bgrect`)).close(),e.open(`g`,this.attr(t,a,n.content)),wf(a,t=>this.mark(e,t)),e.close(),r&&o?(i&&(a.fill=null),a.stroke=o,e.open(`path`,this.attr(t,a,n.foreground,`bgrect`)).close(),i&&(a.fill=i)):e.open(`path`,this.attr(t,a,n.foreground,`bgfore`)).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):wf(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(e=>{e[`xlink:href`]=e.href,e.href=null,(this._hrefs||={})[t]=e})}return null}attr(e,t,n,r){let i={},a=(e,t,n,r)=>{i[r||e]=t};return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),r&&xh(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){e.open(`defs`);for(let n in t){let r=t[n],i=r.stops;r.gradient===`radial`?(e.open(`pattern`,{id:au+n,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),e.open(`rect`,{width:`1`,height:`1`,fill:`url(#`+n+`)`}).close(),e.close(),e.open(`radialGradient`,{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open(`linearGradient`,{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t<i.length;++t)e.open(`stop`,{offset:i[t].offset,"stop-color":i[t].color}).close();e.close()}for(let t in n){let r=n[t];e.open(`clipPath`,{id:t}),r.path?e.open(`path`,{d:r.path}).close():e.open(`rect`,{x:0,y:0,width:r.width,height:r.height}).close(),e.close()}e.close()}}};function xh(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;r===`image`&&t.smooth===!1&&(a=[`image-rendering: optimizeSpeed;`,`image-rendering: pixelated;`]),r===`text`&&(e[`font-family`]=cp(t),e[`font-size`]=rp(t)+`px`,e[`font-style`]=t.fontStyle,e[`font-variant`]=t.fontVariant,e[`font-weight`]=t.fontWeight);for(let n in Qm){let r=t[n],a=Qm[n];r===`transparent`&&(a===`fill`||a===`stroke`)||r!=null&&(ou(r)&&(r=su(r,i.gradient,``)),e[a]=r)}for(let e in $m){let n=t[e];n!=null&&(a||=[],a.push(`${$m[e]}: ${n};`))}return a&&(e.style=a.join(` `)),e}var Sh={svgMarkTypes:[`text`],svgOnTop:!0,debug:!1},Ch=class extends zp{constructor(e){super(e),this._svgRenderer=new ih(e),this._canvasRenderer=new Sm(e)}initialize(e,t,n,r,i){this._root_el=Ap(e,0,`div`);let a=Ap(this._root_el,0,`div`),o=Ap(this._root_el,1,`div`);return this._root_el.style.position=`relative`,Sh.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=Sh.svgOnTop?o:a,this._canvasEl=Sh.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 Sh.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(e=>!Sh.svgMarkTypes.includes(e));this._svgRenderer.render(e,Sh.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 Sh.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},wh=class extends pm{constructor(e,t){super(e,t)}initialize(e,t,n){let r=Ap(Ap(e,0,`div`),+!Sh.svgOnTop,`div`);return super.initialize(r,t,n)}},Th=`canvas`,Eh=`hybrid`,Dh=`png`,Oh=`svg`,kh=`none`,Ah={Canvas:Th,PNG:Dh,SVG:Oh,Hybrid:Eh,None:kh},jh={};jh[Th]=jh[Dh]={renderer:Sm,headless:Sm,handler:pm},jh[Oh]={renderer:ih,headless:bh,handler:Tm},jh[Eh]={renderer:Ch,headless:Ch,handler:wh},jh[kh]={};function Mh(e,t){return e=String(e||``).toLowerCase(),arguments.length>1?(jh[e]=t,this):jh[e]}function Nh(e,t,n){let r=[],i=new jd().union(t),a=e.marktype;return a?Ph(e,i,n,r):a===`group`?Ih(e,i,n,r):j(`Intersect scene must be mark node or group item.`)}function Ph(e,t,n,r){if(Fh(e,t,n)){let i=e.items,a=e.marktype,o=i.length,s=0;if(a===`group`)for(;s<o;++s)Ih(i[s],t,n,r);else for(let e=vp[a].isect;s<o;++s){let n=i[s];Lh(n,t,e)&&r.push(n)}}return r}function Fh(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype===`group`||e.interactive!==!1&&(!n||n(e)))}function Ih(e,t,n,r){n&&n(e.mark)&&Lh(e,t,vp.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,s=e.y||0;t.translate(-o,-s);for(let e=0;e<a;++e)Ph(i[e],t,n,r);t.translate(o,s)}return r}function Lh(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var Rh=new jd;function zh(e){let t=e.clip;if(m(t))t(tf(Rh.clear()));else if(t)Rh.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(Rh)}var Bh=t({bound:()=>wg,identifier:()=>Dg,mark:()=>kg,overlap:()=>jg,render:()=>zg,viewlayout:()=>h_}),Vh=`top`,Hh=`left`,Uh=`right`,Wh=`bottom`,Gh=`top-left`,Kh=`top-right`,qh=`bottom-left`,Jh=`bottom-right`,Yh=`start`,Xh=`middle`,Zh=`end`,Qh=`x`,$h=`y`,eg=`group`,tg=`axis`,ng=`title`,rg=`frame`,ig=`scope`,ag=`legend`,og=`row-header`,sg=`row-footer`,cg=`row-title`,lg=`column-header`,ug=`column-footer`,dg=`column-title`,fg=`padding`,pg=`symbol`,mg=`fit`,hg=`fit-x`,gg=`fit-y`,_g=`pad`,vg=`none`,yg=`all`,bg=`each`,xg=`flush`,Sg=`column`,Cg=`row`;function wg(e){L.call(this,null,e)}F(wg,L,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=vp[i],o=a.bound,s=r.bounds,c;if(a.nested)r.items.length&&n.dirty(r.items[0]),s=Tg(r,o),r.items.forEach(e=>{e.bounds.clear().union(s)});else if(i===eg||e.modified())switch(t.visit(t.MOD,e=>n.dirty(e)),s.clear(),r.items.forEach(e=>s.union(Tg(e,o))),r.role){case tg:case ag:case ng:t.reflow()}else c=t.changed(t.REM),t.visit(t.ADD,e=>{s.union(Tg(e,o))}),t.visit(t.MOD,e=>{c||=s.alignsWith(e.bounds),n.dirty(e),s.union(Tg(e,o))}),c&&(s.clear(),r.items.forEach(e=>s.union(e.bounds)));return zh(r),t.modifies(`bounds`)}});function Tg(e,t,n){return t(e.bounds.clear(),e,n)}var Eg=`:vega_identifier:`;function Dg(e){L.call(this,0,e)}Dg.Definition={type:`Identifier`,metadata:{modifies:!0},params:[{name:`as`,type:`string`,required:!0}]},F(Dg,L,{transform(e,t){let n=Og(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,e=>e[r]=e[r]||++i),n.set(this.value=i),t}});function Og(e){return e._signals[Eg]||(e._signals[Eg]=e.add(0))}function kg(e){L.call(this,null,e)}F(kg,L,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,Ag(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===eg?Nd:Md;return t.visit(t.ADD,e=>r.call(e,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 Ag(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 jg(e){L.call(this,null,e)}var Mg={parity:e=>e.filter((e,t)=>t%2?e.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((e,r)=>!r||!Ng(n.bounds,e.bounds,t)?(n=e,1):e.opacity=0)}},Ng=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),Pg=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,a;n<r;i=a,++n)if(Ng(i,a=e[n].bounds,t))return!0},Fg=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},Ig=(e,t,n)=>{var r=e.range(),i=new jd;return t===Vh||t===Wh?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),e=>i.encloses(e.bounds)},Lg=e=>(e.forEach(e=>e.opacity=1),e),Rg=(e,t)=>e.reflow(t.modified()).modifies(`opacity`);F(jg,L,{transform(e,t){let n=Mg[e.method]||Mg.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`)&&(Lg(i),t=Rg(t,e)),t;if(i=i.filter(Fg),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=Lg(i),t=Rg(t,e),a.length>=3&&Pg(a,r)){do a=n(a,r);while(a.length>=3&&Pg(a,r));a.length<3&&!A(i).opacity&&(a.length>1&&(A(a).opacity=0),A(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=Ig(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(e=>{o(e)||(e.opacity=0)}));let s=a[0].mark.bounds.clear();return i.forEach(e=>{e.opacity&&s.union(e.bounds)}),t}});function zg(e){L.call(this,null,e)}F(zg,L,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,e=>n.dirty(e)),t.fields&&t.fields.zindex){let e=t.source&&t.source[0];e&&(e.mark.zdirty=!0)}}});var Bg=new jd;function Vg(e,t,n){return e[t]===n?0:(e[t]=n,1)}function Hg(e){var t=e.items[0].orient;return t===Hh||t===Uh}function Ug(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function Wg(e,t,n,r){var i=t.items[0],a=i.datum,o=i.translate==null?.5:i.translate,s=i.orient,c=Ug(a),l=i.range,u=i.offset,d=i.position,f=i.minExtent,p=i.maxExtent,m=a.title&&i.items[c[2]].items[0],h=i.titlePadding,g=i.bounds,_=m&&op(m),v=0,y=0,b,x;switch(Bg.clear().union(g),g.clear(),(b=c[0])>-1&&g.union(i.items[b].bounds),(b=c[1])>-1&&g.union(i.items[b].bounds),s){case Vh:v=d||0,y=-u,x=Math.max(f,Math.min(p,-g.y1)),g.add(0,-x).add(l,0),m&&Gg(e,m,x,h,_,0,-1,g);break;case Hh:v=-u,y=d||0,x=Math.max(f,Math.min(p,-g.x1)),g.add(-x,0).add(0,l),m&&Gg(e,m,x,h,_,1,-1,g);break;case Uh:v=n+u,y=d||0,x=Math.max(f,Math.min(p,g.x2)),g.add(0,0).add(x,l),m&&Gg(e,m,x,h,_,1,1,g);break;case Wh:v=d||0,y=r+u,x=Math.max(f,Math.min(p,g.y2)),g.add(0,0).add(l,x),m&&Gg(e,m,x,h,0,0,1,g);break;default:v=i.x,y=i.y}return Ld(g.translate(v,y),i),Vg(i,`x`,v+o)|Vg(i,`y`,y+o)&&(i.bounds=Bg,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function Gg(e,t,n,r,i,a,o,s){let c=t.bounds;if(t.auto){let s=o*(n+i+r),l=0,u=0;e.dirty(t),a?l=(t.x||0)-(t.x=s):u=(t.y||0)-(t.y=s),t.mark.bounds.clear().union(c.translate(-l,-u)),e.dirty(t)}s.union(c)}var Kg=(e,t)=>Math.floor(Math.min(e,t)),qg=(e,t)=>Math.ceil(Math.max(e,t));function Jg(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===eg)switch(i.role){case tg:case ag:case ng:break;case og:o.rowheaders.push(...a);break;case sg:o.rowfooters.push(...a);break;case lg:o.colheaders.push(...a);break;case ug:o.colfooters.push(...a);break;case cg:o.rowtitle=a[0];break;case dg:o.coltitle=a[0];break;default:o.marks.push(...a)}return o}function Yg(e){return new jd().set(0,0,e.width||0,e.height||0)}function Xg(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function Zg(e,t,n){return(M(e)?e[t]:e)??(n===void 0?0:n)}function Qg(e){return e<0?Math.ceil(-e):0}function $g(e,t,n){var r=!n.nodirty,i=n.bounds===xg?Yg:Xg,a=Bg.set(0,0,0,0),o=Zg(n.align,Sg),s=Zg(n.align,Cg),c=Zg(n.padding,Sg),l=Zg(n.padding,Cg),u=n.columns||t.length,d=u<=0?1:Math.ceil(t.length/u),f=t.length,p=Array(f),m=Array(u),h=0,g=Array(f),_=Array(d),v=0,y=Array(f),b=Array(f),x=Array(f),S,C,w,T,E,D,O,k,A,ee,te;for(C=0;C<u;++C)m[C]=0;for(C=0;C<d;++C)_[C]=0;for(C=0;C<f;++C)D=t[C],E=x[C]=i(D),D.x=D.x||0,y[C]=0,D.y=D.y||0,b[C]=0,w=C%u,T=~~(C/u),h=Math.max(h,O=Math.ceil(E.x2)),v=Math.max(v,k=Math.ceil(E.y2)),m[w]=Math.max(m[w],O),_[T]=Math.max(_[T],k),p[C]=c+Qg(E.x1),g[C]=l+Qg(E.y1),r&&e.dirty(t[C]);for(C=0;C<f;++C)C%u===0&&(p[C]=0),C<u&&(g[C]=0);if(o===bg)for(w=1;w<u;++w){for(te=0,C=w;C<f;C+=u)te<p[C]&&(te=p[C]);for(C=w;C<f;C+=u)p[C]=te+m[w-1]}else if(o===yg){for(te=0,C=0;C<f;++C)C%u&&te<p[C]&&(te=p[C]);for(C=0;C<f;++C)C%u&&(p[C]=te+h)}else for(o=!1,w=1;w<u;++w)for(C=w;C<f;C+=u)p[C]+=m[w-1];if(s===bg)for(T=1;T<d;++T){for(te=0,C=T*u,S=C+u;C<S;++C)te<g[C]&&(te=g[C]);for(C=T*u;C<S;++C)g[C]=te+_[T-1]}else if(s===yg){for(te=0,C=u;C<f;++C)te<g[C]&&(te=g[C]);for(C=u;C<f;++C)g[C]=te+v}else for(s=!1,T=1;T<d;++T)for(C=T*u,S=C+u;C<S;++C)g[C]+=_[T-1];for(A=0,C=0;C<f;++C)A=p[C]+(C%u?A:0),y[C]+=A-t[C].x;for(w=0;w<u;++w)for(ee=0,C=w;C<f;C+=u)ee+=g[C],b[C]+=ee-t[C].y;if(o&&Zg(n.center,Sg)&&d>1)for(C=0;C<f;++C)E=o===yg?h:m[C%u],A=E-x[C].x2-t[C].x-y[C],A>0&&(y[C]+=A/2);if(s&&Zg(n.center,Cg)&&u!==1)for(C=0;C<f;++C)E=s===yg?v:_[~~(C/u)],ee=E-x[C].y2-t[C].y-b[C],ee>0&&(b[C]+=ee/2);for(C=0;C<f;++C)a.union(x[C].translate(y[C],b[C]));switch(A=Zg(n.anchor,Qh),ee=Zg(n.anchor,$h),Zg(n.anchor,Sg)){case Zh:A-=a.width();break;case Xh:A-=a.width()/2}switch(Zg(n.anchor,Cg)){case Zh:ee-=a.height();break;case Xh:ee-=a.height()/2}for(A=Math.round(A),ee=Math.round(ee),a.clear(),C=0;C<f;++C)t[C].mark.bounds.clear();for(C=0;C<f;++C)D=t[C],D.x+=y[C]+=A,D.y+=b[C]+=ee,a.union(D.mark.bounds.union(D.bounds.translate(y[C],b[C]))),r&&e.dirty(D);return a}function e_(e,t,n){var r=Jg(t),i=r.marks,a=n.bounds===xg?t_:n_,o=n.offset,s=n.columns||i.length,c=s<=0?1:Math.ceil(i.length/s),l=c*s,u,d,f,p,m,h,g;let _=$g(e,i,n);_.empty()&&_.set(0,0,0,0),r.rowheaders&&(h=Zg(n.headerBand,Cg,null),u=r_(e,r.rowheaders,i,s,c,-Zg(o,`rowHeader`),Kg,0,a,`x1`,0,s,1,h)),r.colheaders&&(h=Zg(n.headerBand,Sg,null),d=r_(e,r.colheaders,i,s,s,-Zg(o,`columnHeader`),Kg,1,a,`y1`,0,1,s,h)),r.rowfooters&&(h=Zg(n.footerBand,Cg,null),f=r_(e,r.rowfooters,i,s,c,Zg(o,`rowFooter`),qg,0,a,`x2`,s-1,s,1,h)),r.colfooters&&(h=Zg(n.footerBand,Sg,null),p=r_(e,r.colfooters,i,s,s,Zg(o,`columnFooter`),qg,1,a,`y2`,l-s,1,s,h)),r.rowtitle&&(m=Zg(n.titleAnchor,Cg),g=Zg(o,`rowTitle`),g=m===Zh?f+g:u-g,h=Zg(n.titleBand,Cg,.5),i_(e,r.rowtitle,g,0,_,h)),r.coltitle&&(m=Zg(n.titleAnchor,Sg),g=Zg(o,`columnTitle`),g=m===Zh?p+g:d-g,h=Zg(n.titleBand,Sg,.5),i_(e,r.coltitle,g,1,_,h))}function t_(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 n_(e,t){return e.bounds[t]}function r_(e,t,n,r,i,a,o,s,c,l,u,d,f,p){var m=n.length,h=0,g=0,_,v,y,b,x,S,C,w,T;if(!m)return h;for(_=u;_<m;_+=d)n[_]&&(h=o(h,c(n[_],l)));if(!t.length)return h;for(t.length>i&&(e.warn(`Grid headers exceed limit: `+i),t=t.slice(0,i)),h+=a,v=0,b=t.length;v<b;++v)e.dirty(t[v]),t[v].mark.bounds.clear();for(_=u,v=0,b=t.length;v<b;++v,_+=d){for(S=t[v],x=S.mark.bounds,y=_;y>=0&&(C=n[y])==null;y-=f);s?(w=p==null?C.x:Math.round(C.bounds.x1+p*C.bounds.width()),T=h):(w=h,T=p==null?C.y:Math.round(C.bounds.y1+p*C.bounds.height())),x.union(S.bounds.translate(w-(S.x||0),T-(S.y||0))),S.x=w,S.y=T,e.dirty(S),g=o(g,x[l])}return g}function i_(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,s=n;r?o=Math.round(i.x1+a*i.width()):s=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),s-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=s,e.dirty(t)}}function a_(e,t){let n=e[t]||{};return(t,r)=>n[t]==null?e[t]==null?r:e[t]:n[t]}function o_(e,t){let n=-1/0;return e.forEach(e=>{e.offset!=null&&(n=Math.max(n,e.offset))}),n>-1/0?n:t}function s_(e,t,n,r,i,a,o){let s=a_(n,t),c=o_(e,s(`offset`,0)),l=s(`anchor`,Yh),u=l===Zh?1:l===Xh?.5:0,d={align:bg,bounds:s(`bounds`,xg),columns:s(`direction`)===`vertical`?1:e.length,padding:s(`margin`,8),center:s(`center`),nodirty:!0};switch(t){case Hh:d.anchor={x:Math.floor(r.x1)-c,column:Zh,y:u*(o||r.height()+2*r.y1),row:l};break;case Uh:d.anchor={x:Math.ceil(r.x2)+c,y:u*(o||r.height()+2*r.y1),row:l};break;case Vh:d.anchor={y:Math.floor(i.y1)-c,row:Zh,x:u*(a||i.width()+2*i.x1),column:l};break;case Wh:d.anchor={y:Math.ceil(i.y2)+c,x:u*(a||i.width()+2*i.x1),column:l};break;case Gh:d.anchor={x:c,y:c};break;case Kh:d.anchor={x:a-c,y:c,column:Zh};break;case qh:d.anchor={x:c,y:o-c,row:Zh};break;case Jh:d.anchor={x:a-c,y:o-c,column:Zh,row:Zh}}return d}function c_(e,t){var n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,o=n.x,s=n.y,c,l;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),u_(e,n,n.items[0].items[0]),a=l_(n,a),c=2*n.padding,l=2*n.padding,a.empty()||(c=Math.ceil(a.width()+c),l=Math.ceil(a.height()+l)),r.type===pg&&p_(n.items[0].items[0].items[0].items),i!==vg&&(n.x=o=0,n.y=s=0),n.width=c,n.height=l,Ld(a.set(o,s,o+c,s+l),n),n.mark.bounds.clear().union(a),n}function l_(e,t){return e.items.forEach(e=>t.union(e.bounds)),t.x1=e.padding,t.y1=e.padding,t}function u_(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(!t.datum.title)(i||a)&&f_(e,n,i,a);else{var o=t.items[1].items[0],s=o.anchor,c=t.titlePadding||0,l=r-o.x,u=r-o.y;switch(o.orient){case Hh:i+=Math.ceil(o.bounds.width())+c;break;case Uh:case Wh:break;default:a+=o.bounds.height()+c}switch((i||a)&&f_(e,n,i,a),o.orient){case Hh:u+=d_(t,n,o,s,1,1);break;case Uh:l+=d_(t,n,o,Zh,0,0)+c,u+=d_(t,n,o,s,1,1);break;case Wh:l+=d_(t,n,o,s,0,0),u+=d_(t,n,o,Zh,-1,0,1)+c;break;default:l+=d_(t,n,o,s,0,0)}(l||u)&&f_(e,o,l,u),(l=Math.round(o.bounds.x1-r))<0&&(f_(e,n,-l,0),f_(e,o,-l,0))}}function d_(e,t,n,r,i,a,o){let s=e.datum.type!==`symbol`,c=n.datum.vgrad,l=(s&&(a||!c)&&!o?t.items[0]:t).bounds[i?`y2`:`x2`]-e.padding,u=c&&a?l:0,d=c&&a?0:l,f=i<=0?0:op(n);return Math.round(r===Yh?u:r===Zh?d-f:.5*(l-f))}function f_(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 p_(e){let t=e.reduce((e,t)=>(e[t.column]=Math.max(t.bounds.x2-t.x,e[t.column]||0),e),{});e.forEach(e=>{e.width=t[e.column],e.height=e.bounds.y2-e.y})}function m_(e,t,n,r,i){var a=t.items[0],o=a.frame,s=a.orient,c=a.anchor,l=a.offset,u=a.padding,d=a.items[0].items[0],f=a.items[1]&&a.items[1].items[0],p=s===Hh||s===Uh?r:n,m=0,h=0,g=0,_=0,v=0,y;if(o===eg?s===Hh&&(m=r,p=0):s===Hh?(m=i.y2,p=i.y1):s===Uh?(m=i.y1,p=i.y2):(m=i.x1,p=i.x2),y=c===Yh?m:c===Zh?p:(m+p)/2,f&&f.text){switch(s){case Vh:case Wh:v=d.bounds.height()+u;break;case Hh:_=d.bounds.width()+u;break;case Uh:_=-d.bounds.width()-u}Bg.clear().union(f.bounds),Bg.translate(_-(f.x||0),v-(f.y||0)),Vg(f,`x`,_)|Vg(f,`y`,v)&&(e.dirty(f),f.bounds.clear().union(Bg),f.mark.bounds.clear().union(Bg),e.dirty(f)),Bg.clear().union(f.bounds)}else Bg.clear();switch(Bg.union(d.bounds),s){case Vh:h=y,g=i.y1-Bg.height()-l;break;case Hh:h=i.x1-Bg.width()-l,g=y;break;case Uh:h=i.x2+Bg.width()+l,g=y;break;case Wh:h=y,g=i.y2+l;break;default:h=a.x,g=a.y}return Vg(a,`x`,h)|Vg(a,`y`,g)&&(Bg.translate(h,g),e.dirty(a),a.bounds.clear().union(Bg),t.bounds.clear().union(Bg),e.dirty(a)),a.bounds}function h_(e){L.call(this,null,e)}F(h_,L,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(t=>{e.layout&&e_(n,t,e.layout),__(n,t,e)}),g_(e.mark.group)?t.reflow():t}});function g_(e){return e&&e.mark.role!==`legend-entry`}function __(e,t,n){var r=t.items,i=Math.max(0,t.width||0),a=Math.max(0,t.height||0),o=new jd().set(0,0,i,a),s=o.clone(),c=o.clone(),l=[],u,d,f,p,m,h;for(m=0,h=r.length;m<h;++m)switch(d=r[m],d.role){case tg:p=Hg(d)?s:c,p.union(Wg(e,d,i,a));break;case ng:u=d;break;case ag:l.push(c_(e,d));break;case rg:case ig:case og:case sg:case cg:case lg:case ug:case dg:s.union(d.bounds),c.union(d.bounds);break;default:o.union(d.bounds)}if(l.length){let t={};l.forEach(e=>{f=e.orient||Uh,f!==vg&&(t[f]||(t[f]=[])).push(e)});for(let r in t){let o=t[r];$g(e,o,s_(o,r,n.legends,s,c,i,a))}l.forEach(t=>{let r=t.bounds;if(r.equals(t._bounds)||(t.bounds=t._bounds,e.dirty(t),t.bounds=r,e.dirty(t)),n.autosize&&(n.autosize.type===mg||n.autosize.type===hg||n.autosize.type===gg))switch(t.orient){case Hh:case Uh:o.add(r.x1,0).add(r.x2,0);break;case Vh:case Wh:o.add(0,r.y1).add(0,r.y2)}else o.union(r)})}o.union(s).union(c),u&&o.union(m_(e,u,i,a,o)),t.clip&&o.set(0,0,t.width||0,t.height||0),v_(e,t,o,n)}function v_(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,s=e._height,c=Math.max(0,t.width||0),l=Math.max(0,Math.ceil(-n.x1)),u=Math.max(0,t.height||0),d=Math.max(0,Math.ceil(-n.y1)),f=Math.max(0,Math.ceil(n.x2-c)),p=Math.max(0,Math.ceil(n.y2-u));if(i.contains===fg){let t=e.padding();o-=t.left+t.right,s-=t.top+t.bottom}a===vg?(l=0,d=0,c=o,u=s):a===mg?(c=Math.max(0,o-l-f),u=Math.max(0,s-d-p)):a===hg?(c=Math.max(0,o-l-f),s=u+d+p):a===gg?(o=c+l+f,u=Math.max(0,s-d-p)):a===_g&&(o=c+l+f,s=u+d+p),e._resizeView(o,s,c,u,[l,d],i.resize)}var y_=t({axisticks:()=>b_,datajoin:()=>x_,encode:()=>w_,legendentries:()=>T_,linkpath:()=>A_,pie:()=>L_,scale:()=>H_,sortitems:()=>tv,stack:()=>ov});function b_(e){L.call(this,null,e)}F(b_,L,{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=Ul(a,e.count==null?e.values?e.values.length:10:e.count,e.minstep),s=e.format||Kl(n,a,o,e.formatSpecifier,e.formatType,!!e.values),c=e.values?Wl(a,e.values,o):Gl(a,o);return i&&(r.rem=i),i=c.map((e,t)=>Zr({index:t/(c.length-1||1),value:e,label:s(e)})),e.extra&&i.length&&i.push(Zr({index:-1,extra:{value:i[0].value},label:``})),r.source=i,r.add=i,this.value=i,r}});function x_(e){L.call(this,null,e)}function S_(){return Zr({})}function C_(e){let t=pr().test(e=>e.exit);return t.lookup=n=>t.get(e(n)),t}F(x_,L,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||S_,a=e.key||I,o=this.value;return N(r.encode)&&(r.encode=null),o&&(e.modified(`key`)||t.modified(a))&&j(`DataJoin does not support modified key function or fields.`),o||(t=t.addAll(),this.value=o=C_(a)),t.visit(t.ADD,e=>{let t=a(e),n=o.get(t);n?n.exit?(o.empty--,r.add.push(n)):r.mod.push(n):(n=i(e),o.set(t,n),r.add.push(n)),n.datum=e,n.exit=!1}),t.visit(t.MOD,e=>{let t=a(e),n=o.get(t);n&&(n.datum=e,r.mod.push(n))}),t.visit(t.REM,e=>{let t=a(e),n=o.get(t);e===n.datum&&!n.exit&&(r.rem.push(n),n.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 w_(e){L.call(this,null,e)}F(w_,L,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(N(a)){if(n.changed()||a.every(e=>i[e]))a=a[0],n.encode=null;else return t.StopPropagation}var o=a===`enter`,s=i.update||Te,c=i.enter||Te,l=i.exit||Te,u=(a&&!o?i[a]:s)||Te;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{c(t,e),s(t,e)}),n.modifies(c.output),n.modifies(s.output),u!==Te&&u!==s&&(t.visit(t.ADD,t=>{u(t,e)}),n.modifies(u.output))),t.changed(t.REM)&&l!==Te&&(t.visit(t.REM,t=>{l(t,e)}),n.modifies(l.output)),o||u!==Te){let i=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(i,t=>{let i=c(t,e)||r;(u(t,e)||i)&&n.mod.push(t)}),n.mod.length&&n.modifies(c.output)):t.visit(i,t=>{(u(t,e)||r)&&n.mod.push(t)}),n.mod.length&&n.modifies(u.output)}return n.changed()?n:t.StopPropagation}});function T_(e){L.call(this,[],e)}F(T_,L,{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,s=+e.limit,c=Ul(o,e.count==null?5:e.count,e.minstep),l=!!e.values||a===`symbol`,u=e.format||Zl(n,o,c,a,e.formatSpecifier,e.formatType,l),f=e.values||Xl(o,c),p,h,g,_,v;return i&&(r.rem=i),a===`symbol`?(s&&f.length>s?(t.dataflow.warn(`Symbol legend count exceeds limit, filtering items.`),i=f.slice(0,s-1),v=!0):i=f,m(g=e.size)?(!e.values&&o(i[0])===0&&(i=i.slice(1)),_=i.reduce((t,n)=>Math.max(t,g(n,e)),0)):g=d(_=g||8),i=i.map((t,n)=>Zr({index:n,label:u(t,n,i),value:t,offset:_,size:g(t,e)})),v&&(v=f[i.length],i.push(Zr({index:i.length,label:`\u2026${f.length-i.length} entries`,value:v,offset:_,size:g(v,e)})))):a===`gradient`?(p=o.domain(),h=Ll(o,p[0],A(p)),f.length<3&&!e.values&&p[0]!==A(p)&&(f=[p[0],A(p)]),i=f.map((e,t)=>Zr({index:t,label:u(e,t,f),value:e,perc:h(e)}))):(g=f.length-1,h=tu(o),i=f.map((e,t)=>Zr({index:t,label:u(e,t,f),value:e,perc:t?h(e):0,perc2:t===g?1:h(f[t+1])}))),r.source=i,r.add=i,this.value=i,r}});var E_=e=>e.source.x,D_=e=>e.source.y,O_=e=>e.target.x,k_=e=>e.target.y;function A_(e){L.call(this,{},e)}A_.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`}]},F(A_,L,{transform(e,t){var n=e.sourceX||E_,r=e.sourceY||D_,i=e.targetX||O_,a=e.targetY||k_,o=e.as||`path`,s=e.orient||`vertical`,c=e.shape||`line`,l=I_.get(c+`-`+s)||I_.get(c);return l||j(`LinkPath unsupported type: `+e.shape+(e.orient?`-`+e.orient:``)),t.visit(t.SOURCE,e=>{e[o]=l(n(e),r(e),i(e),a(e))}),t.reflow(e.modified()).modifies(o)}});var j_=(e,t,n,r)=>`M`+e+`,`+t+`L`+n+`,`+r,M_=(e,t,n,r)=>j_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),N_=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2,s=180*Math.atan2(a,i)/Math.PI;return`M`+e+`,`+t+`A`+o+`,`+o+` `+s+` 0 1 `+n+`,`+r},P_=(e,t,n,r)=>N_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),F_=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),s=.2*(a-i);return`M`+e+`,`+t+`C`+(e+o)+`,`+(t+s)+` `+(n+s)+`,`+(r-o)+` `+n+`,`+r},I_=pr({line:j_,"line-radial":M_,arc:N_,"arc-radial":P_,curve:F_,"curve-radial":(e,t,n,r)=>F_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(e,t,n,r)=>`M`+e+`,`+t+`V`+r+`H`+n,"orthogonal-vertical":(e,t,n,r)=>`M`+e+`,`+t+`H`+n+`V`+r,"orthogonal-radial":(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),c=Math.abs(n-e)>Math.PI?n<=e:n>e;return`M`+t*i+`,`+t*a+`A`+t+`,`+t+` 0 0,`+ +!!c+` `+t*o+`,`+t*s+`L`+r*o+`,`+r*s},"diagonal-horizontal":(e,t,n,r)=>{let i=(e+n)/2;return`M`+e+`,`+t+`C`+i+`,`+t+` `+i+`,`+r+` `+n+`,`+r},"diagonal-vertical":(e,t,n,r)=>{let i=(t+r)/2;return`M`+e+`,`+t+`C`+e+`,`+i+` `+n+`,`+i+` `+n+`,`+r},"diagonal-radial":(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),c=(t+r)/2;return`M`+t*i+`,`+t*a+`C`+c*i+`,`+c*a+` `+c*o+`,`+c*s+` `+r*o+`,`+r*s}});function L_(e){L.call(this,null,e)}L_.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`]}]},F(L_,L,{transform(e,t){var n=e.as||[`startAngle`,`endAngle`],r=n[0],i=n[1],a=e.field||Se,o=e.startAngle||0,s=e.endAngle==null?2*Math.PI:e.endAngle,c=t.source,l=c.map(a),u=l.length,d=o,f=(s-o)/zr(l),p=ct(u),m,h,g;for(e.sort&&p.sort((e,t)=>l[e]-l[t]),m=0;m<u;++m)g=l[p[m]],h=c[p[m]],h[r]=d,h[i]=d+=g*f;return this.value=l,t.reflow(e.modified()).modifies(n)}});var R_=5;function z_(e){let t=e.type;return!e.bins&&(t===`linear`||t===`pow`||t===`sqrt`)}function B_(e){return El(e)&&e!==`sequential`}var V_=_([`set`,`modified`,`clear`,`type`,`scheme`,`schemeExtent`,`schemeCount`,`domain`,`domainMin`,`domainMid`,`domainMax`,`domainRaw`,`domainImplicit`,`nice`,`zero`,`bins`,`range`,`rangeStep`,`round`,`reverse`,`interpolate`,`interpolateGamma`]);function H_(e){L.call(this,null,e),this.modified(!0)}F(H_,L,{transform(e,t){var n=t.dataflow,r=this.value,i=U_(e);for(i in(!r||i!==r.type)&&(this.value=r=Cl(i)()),e)if(!V_[i]){if(i===`padding`&&B_(r.type))continue;m(r[i])?r[i](e[i]):n.warn(`Unsupported scale property: `+i)}return X_(r,e,Y_(r,e,G_(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function U_(e){var t=e.type,n=``,r;return t===`sequential`?Yc+`-`+Gc:(W_(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?Yc+`-`:r===3?Xc+`-`:``),(n+t||`linear`).toLowerCase())}function W_(e){let t=e.type;return El(t)&&t!==`time`&&t!==`utc`&&(e.scheme||e.range&&e.range.length&&e.range.every(P))}function G_(e,t,n){let r=K_(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,a=e.type,o=t.zero||t.zero===void 0&&z_(e),s,c;if(!i)return 0;if((o||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(s=(i=i.slice()).length-1||1,o&&(i[0]>0&&(i[0]=0),i[s]<0&&(i[s]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[s]=t.domainMax),t.domainMid!=null)){c=t.domainMid;let e=c>i[s]?s+1:c<i[0]?0:s;e!==s&&n.warn(`Scale domainMid exceeds domain min or max.`,c),i.splice(e,0,c)}return B_(a)&&t.padding&&i[0]!==A(i)&&(i=q_(a,i,t.range,t.padding,t.exponent,t.constant)),e.domain(J_(a,i,n)),a===`ordinal`&&e.unknown(t.domainImplicit?et:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&Ul(e,t.nice)||null),i.length}function K_(e,t,n){return t?(e.domain(J_(e.type,t,n)),t.length):-1}function q_(e,t,n,r,i,a){var o=Math.abs(A(n)-n[0]),s=o/(o-2*r),c=e===`log`?rr(t,null,s):e===`sqrt`?ir(t,null,s,.5):e===`pow`?ir(t,null,s,i||1):e===`symlog`?ar(t,null,s,a||1):nr(t,null,s);return t=t.slice(),t[0]=c[0],t[t.length-1]=c[1],t}function J_(e,t,n){return kl(e)&&Math.abs(t.reduce((e,t)=>e+(t<0?-1:+(t>0)),0))!==t.length&&n.warn(`Log scale domain includes zero: `+p(t)),t}function Y_(e,t,n){let r=t.bins;if(r&&!N(r)){let t=e.domain(),n=t[0],i=A(t),a=r.step,o=r.start==null?n:r.start,s=r.stop==null?i:r.stop;a||j(`Scale bins parameter missing step property.`),o<n&&(o=a*Math.ceil(n/a)),s>i&&(s=a*Math.floor(i/a)),r=ct(o,s+a/2,a)}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 X_(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(t.rangeStep!=null)a=Z_(r,t,n);else if(t.scheme&&(a=Q_(r,t,n),m(a))){if(e.interpolator)return e.interpolator(a);j(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&jl(r))return e.interpolator(Fl(ev(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(Rl(t.interpolate,t.interpolateGamma)):m(e.round)?e.round(i):m(e.rangeRound)&&e.interpolate(i?Ue:Xe),a&&e.range(ev(a,t.reverse))}function Z_(e,t,n){e!==`band`&&e!==`point`&&j(`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*Uc(n,i,r)]}function Q_(e,t,n){var r=t.schemeExtent,i,a;return N(t.scheme)?a=Fl(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),a=Hl(i),a||j(`Unrecognized scheme name: ${t.scheme}`)),n=e===`threshold`?n+1:e===`bin-ordinal`?n-1:e===`quantile`||e===`quantize`?+t.schemeCount||R_:n,jl(e)?$_(a,r,t.reverse):m(a)?Il($_(a,r),n):e===`ordinal`?a:a.slice(0,n)}function $_(e,t,n){return m(e)&&(t||n)?Pl(e,ev(t||[0,1],n)):e}function ev(e,t){return t?e.slice().reverse():e}function tv(e){L.call(this,null,e)}F(tv,L,{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(ti(e.sort)),this.modified(n),t}});var nv=`zero`,rv=`center`,iv=`normalize`,av=[`y0`,`y1`];function ov(e){L.call(this,null,e)}ov.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:nv,values:[nv,rv,iv]},{name:`as`,type:`string`,array:!0,length:2,default:av}]},F(ov,L,{transform(e,t){var n=e.as||av,r=n[0],i=n[1],a=ti(e.sort),o=e.field||Se,s=e.offset===rv?sv:e.offset===iv?cv:lv,c=uv(t.source,e.groupby,a,o),l,u,d;for(l=0,u=c.length,d=c.max;l<u;++l)s(c[l],d,o,r,i);return t.reflow(e.modified()).modifies(n)}});function sv(e,t,n,r,i){for(var a=(t-e.sum)/2,o=e.length,s=0,c;s<o;++s)c=e[s],c[r]=a,c[i]=a+=Math.abs(n(c))}function cv(e,t,n,r,i){for(var a=1/e.sum,o=0,s=e.length,c=0,l=0,u;c<s;++c)u=e[c],u[r]=o,u[i]=o=a*(l+=Math.abs(n(u)))}function lv(e,t,n,r,i){for(var a=0,o=0,s=e.length,c=0,l,u;c<s;++c)u=e[c],l=+n(u),l<0?(u[r]=o,u[i]=o+=l):(u[r]=a,u[i]=a+=l)}function uv(e,t,n,r){var i=[],a=e=>e(u),o,s,c,l,u,d,f,p,m;if(t==null)i.push(e.slice());else for(o={},s=0,c=e.length;s<c;++s)u=e[s],d=t.map(a),f=o[d],f||(o[d]=f=[],i.push(f)),f.push(u);for(d=0,m=0,l=i.length;d<l;++d){for(f=i[d],s=0,p=0,c=f.length;s<c;++s)p+=Math.abs(r(f[s]));f.sum=p,p>m&&(m=p),n&&f.sort(n)}return i.max=m,i}var dv=1e-6,fv=Math.PI,pv=fv/2,mv=fv/4,hv=fv*2,gv=180/fv,_v=fv/180,vv=Math.abs,yv=Math.atan,bv=Math.atan2,R=Math.cos,xv=Math.ceil,Sv=Math.exp,Cv=Math.hypot,wv=Math.log,Tv=Math.pow,z=Math.sin,Ev=Math.sign||function(e){return e>0?1:e<0?-1:0},Dv=Math.sqrt,Ov=Math.tan;function kv(e){return e>1?0:e<-1?fv:Math.acos(e)}function Av(e){return e>1?pv:e<-1?-pv:Math.asin(e)}function jv(){}function Mv(e,t){e&&Pv.hasOwnProperty(e.type)&&Pv[e.type](e,t)}var Nv={Feature:function(e,t){Mv(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Mv(n[r].geometry,t)}},Pv={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){Fv(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Fv(n[r],t,0)},Polygon:function(e,t){Iv(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Iv(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Mv(n[r],t)}};function Fv(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 Iv(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Fv(e[n],t,1);t.polygonEnd()}function Lv(e,t){e&&Nv.hasOwnProperty(e.type)?Nv[e.type](e,t):Mv(e,t)}var Rv=new Dr,zv=new Dr,Bv,Vv,Hv,Uv,Wv,Gv={point:jv,lineStart:jv,lineEnd:jv,polygonStart:function(){Rv=new Dr,Gv.lineStart=Kv,Gv.lineEnd=qv},polygonEnd:function(){var e=+Rv;zv.add(e<0?hv+e:e),this.lineStart=this.lineEnd=this.point=jv},sphere:function(){zv.add(hv)}};function Kv(){Gv.point=Jv}function qv(){Yv(Bv,Vv)}function Jv(e,t){Gv.point=Yv,Bv=e,Vv=t,e*=_v,t*=_v,Hv=e,Uv=R(t=t/2+mv),Wv=z(t)}function Yv(e,t){e*=_v,t*=_v,t=t/2+mv;var n=e-Hv,r=n>=0?1:-1,i=r*n,a=R(t),o=z(t),s=Wv*o,c=Uv*a+s*R(i),l=s*r*z(i);Rv.add(bv(l,c)),Hv=e,Uv=a,Wv=o}function Xv(e){return zv=new Dr,Lv(e,Gv),zv*2}function Zv(e){return[bv(e[1],e[0]),Av(e[2])]}function Qv(e){var t=e[0],n=e[1],r=R(n);return[r*R(t),r*z(t),z(n)]}function $v(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function ey(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 ty(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function ny(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ry(e){var t=Dv(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var iy,ay,oy,sy,cy,ly,uy,dy,fy,py,my,hy={point:gy,lineStart:vy,lineEnd:yy,polygonStart:function(){hy.point=by,hy.lineStart=xy,hy.lineEnd=Sy,fy=new Dr,Gv.polygonStart()},polygonEnd:function(){Gv.polygonEnd(),hy.point=gy,hy.lineStart=vy,hy.lineEnd=yy,Rv<0?(iy=-(oy=180),ay=-(sy=90)):fy>1e-6?sy=90:fy<-1e-6&&(ay=-90),my[0]=iy,my[1]=oy},sphere:function(){iy=-(oy=180),ay=-(sy=90)}};function gy(e,t){py.push(my=[iy=e,oy=e]),t<ay&&(ay=t),t>sy&&(sy=t)}function _y(e,t){var n=Qv([e*_v,t*_v]);if(dy){var r=ey(dy,n),i=ey([r[1],-r[0],0],r);ry(i),i=Zv(i);var a=e-cy,o=a>0?1:-1,s=i[0]*gv*o,c,l=vv(a)>180;l^(o*cy<s&&s<o*e)?(c=i[1]*gv,c>sy&&(sy=c)):(s=(s+360)%360-180,l^(o*cy<s&&s<o*e)?(c=-i[1]*gv,c<ay&&(ay=c)):(t<ay&&(ay=t),t>sy&&(sy=t))),l?e<cy?Cy(iy,e)>Cy(iy,oy)&&(oy=e):Cy(e,oy)>Cy(iy,oy)&&(iy=e):oy>=iy?(e<iy&&(iy=e),e>oy&&(oy=e)):e>cy?Cy(iy,e)>Cy(iy,oy)&&(oy=e):Cy(e,oy)>Cy(iy,oy)&&(iy=e)}else py.push(my=[iy=e,oy=e]);t<ay&&(ay=t),t>sy&&(sy=t),dy=n,cy=e}function vy(){hy.point=_y}function yy(){my[0]=iy,my[1]=oy,hy.point=gy,dy=null}function by(e,t){if(dy){var n=e-cy;fy.add(vv(n)>180?n+(n>0?360:-360):n)}else ly=e,uy=t;Gv.point(e,t),_y(e,t)}function xy(){Gv.lineStart()}function Sy(){by(ly,uy),Gv.lineEnd(),vv(fy)>1e-6&&(iy=-(oy=180)),my[0]=iy,my[1]=oy,dy=null}function Cy(e,t){return(t-=e)<0?t+360:t}function wy(e,t){return e[0]-t[0]}function Ty(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function Ey(e){var t,n,r,i,a,o,s;if(sy=oy=-(iy=ay=1/0),py=[],Lv(e,hy),n=py.length){for(py.sort(wy),t=1,r=py[0],a=[r];t<n;++t)i=py[t],Ty(r,i[0])||Ty(r,i[1])?(Cy(r[0],i[1])>Cy(r[0],r[1])&&(r[1]=i[1]),Cy(i[0],r[1])>Cy(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],(s=Cy(r[1],i[0]))>o&&(o=s,iy=i[0],oy=r[1])}return py=my=null,iy===1/0||ay===1/0?[[NaN,NaN],[NaN,NaN]]:[[iy,ay],[oy,sy]]}var Dy,Oy,ky,Ay,jy,My,Ny,Py,Fy,Iy,Ly,Ry,zy,By,Vy,Hy,Uy={sphere:jv,point:Wy,lineStart:Ky,lineEnd:qy,polygonStart:function(){Uy.lineStart=hne,Uy.lineEnd=gne},polygonEnd:function(){Uy.lineStart=Ky,Uy.lineEnd=qy}};function Wy(e,t){e*=_v,t*=_v;var n=R(t);Gy(n*R(e),n*z(e),z(t))}function Gy(e,t,n){++Dy,ky+=(e-ky)/Dy,Ay+=(t-Ay)/Dy,jy+=(n-jy)/Dy}function Ky(){Uy.point=pne}function pne(e,t){e*=_v,t*=_v;var n=R(t);By=n*R(e),Vy=n*z(e),Hy=z(t),Uy.point=mne,Gy(By,Vy,Hy)}function mne(e,t){e*=_v,t*=_v;var n=R(t),r=n*R(e),i=n*z(e),a=z(t),o=bv(Dv((o=Vy*a-Hy*i)*o+(o=Hy*r-By*a)*o+(o=By*i-Vy*r)*o),By*r+Vy*i+Hy*a);Oy+=o,My+=o*(By+(By=r)),Ny+=o*(Vy+(Vy=i)),Py+=o*(Hy+(Hy=a)),Gy(By,Vy,Hy)}function qy(){Uy.point=Wy}function hne(){Uy.point=_ne}function gne(){Jy(Ry,zy),Uy.point=Wy}function _ne(e,t){Ry=e,zy=t,e*=_v,t*=_v,Uy.point=Jy;var n=R(t);By=n*R(e),Vy=n*z(e),Hy=z(t),Gy(By,Vy,Hy)}function Jy(e,t){e*=_v,t*=_v;var n=R(t),r=n*R(e),i=n*z(e),a=z(t),o=Vy*a-Hy*i,s=Hy*r-By*a,c=By*i-Vy*r,l=Cv(o,s,c),u=Av(l),d=l&&-u/l;Fy.add(d*o),Iy.add(d*s),Ly.add(d*c),Oy+=u,My+=u*(By+(By=r)),Ny+=u*(Vy+(Vy=i)),Py+=u*(Hy+(Hy=a)),Gy(By,Vy,Hy)}function Yy(e){Dy=Oy=ky=Ay=jy=My=Ny=Py=0,Fy=new Dr,Iy=new Dr,Ly=new Dr,Lv(e,Uy);var t=+Fy,n=+Iy,r=+Ly,i=Cv(t,n,r);return i<1e-12&&(t=My,n=Ny,r=Py,Oy<1e-6&&(t=ky,n=Ay,r=jy),i=Cv(t,n,r),i<1e-12)?[NaN,NaN]:[bv(n,t)*gv,Av(r/i)*gv]}function Xy(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return n=t.invert(n,r),n&&e.invert(n[0],n[1])}),n}function Zy(e,t){return vv(e)>fv&&(e-=Math.round(e/hv)*hv),[e,t]}Zy.invert=Zy;function Qy(e,t,n){return(e%=hv)?t||n?Xy(eb(e),tb(t,n)):eb(e):t||n?tb(t,n):Zy}function $y(e){return function(t,n){return t+=e,vv(t)>fv&&(t-=Math.round(t/hv)*hv),[t,n]}}function eb(e){var t=$y(e);return t.invert=$y(-e),t}function tb(e,t){var n=R(e),r=z(e),i=R(t),a=z(t);function o(e,t){var o=R(t),s=R(e)*o,c=z(e)*o,l=z(t),u=l*n+s*r;return[bv(c*i-u*a,s*n-l*r),Av(u*i+c*a)]}return o.invert=function(e,t){var o=R(t),s=R(e)*o,c=z(e)*o,l=z(t),u=l*i-c*a;return[bv(c*i+l*a,s*n+u*r),Av(u*n-s*r)]},o}function vne(e){e=Qy(e[0]*_v,e[1]*_v,e.length>2?e[2]*_v:0);function t(t){return t=e(t[0]*_v,t[1]*_v),t[0]*=gv,t[1]*=gv,t}return t.invert=function(t){return t=e.invert(t[0]*_v,t[1]*_v),t[0]*=gv,t[1]*=gv,t},t}function yne(e,t,n,r,i,a){if(n){var o=R(t),s=z(t),c=r*n;i==null?(i=t+r*hv,a=t-c/2):(i=nb(o,i),a=nb(o,a),(r>0?i<a:i>a)&&(i+=r*hv));for(var l,u=i;r>0?u>a:u<a;u-=c)l=Zv([o,-s*R(u),-s*z(u)]),e.point(l[0],l[1])}}function nb(e,t){t=Qv(t),t[0]-=e,ry(t);var n=kv(-t[1]);return((-t[2]<0?-n:n)+hv-dv)%hv}function rb(){var e=[],t;return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:jv,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function ib(e,t){return vv(e[0]-t[0])<1e-6&&vv(e[1]-t[1])<1e-6}function ab(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 ob(e,t,n,r,i){var a=[],o=[],s,c;if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n=e[0],r=e[t],c;if(ib(n,r)){if(!n[2]&&!r[2]){for(i.lineStart(),s=0;s<t;++s)i.point((n=e[s])[0],n[1]);i.lineEnd();return}r[0]+=2*dv}a.push(c=new ab(n,e,null,!0)),o.push(c.o=new ab(n,null,c,!1)),a.push(c=new ab(r,e,null,!1)),o.push(c.o=new ab(r,null,c,!0))}}),a.length){for(o.sort(t),sb(a),sb(o),s=0,c=o.length;s<c;++s)o[s].e=n=!n;for(var l=a[0],u,d;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(s=0,c=u.length;s<c;++s)i.point((d=u[s])[0],d[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(p)for(u=f.p.z,s=u.length-1;s>=0;--s)i.point((d=u[s])[0],d[1]);else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,u=f.z,p=!p}while(!f.v);i.lineEnd()}}}function sb(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 cb(e){return vv(e[0])<=fv?e[0]:Ev(e[0])*((vv(e[0])+fv)%hv-fv)}function bne(e,t){var n=cb(t),r=t[1],i=z(r),a=[z(n),-R(n),0],o=0,s=0,c=new Dr;i===1?r=pv+dv:i===-1&&(r=-pv-dv);for(var l=0,u=e.length;l<u;++l)if(f=(d=e[l]).length)for(var d,f,p=d[f-1],m=cb(p),h=p[1]/2+mv,g=z(h),_=R(h),v=0;v<f;++v,m=b,g=S,_=C,p=y){var y=d[v],b=cb(y),x=y[1]/2+mv,S=z(x),C=R(x),w=b-m,T=w>=0?1:-1,E=T*w,D=E>fv,O=g*S;if(c.add(bv(O*T*z(E),_*C+O*R(E))),o+=D?w+T*hv:w,D^m>=n^b>=n){var k=ey(Qv(p),Qv(y));ry(k);var A=ey(a,k);ry(A);var ee=(D^w>=0?-1:1)*Av(A[2]);(r>ee||r===ee&&(k[0]||k[1]))&&(s+=D^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&c<-1e-12)^s&1}function lb(e,t,n,r){return function(i){var a=t(i),o=rb(),s=t(o),c=!1,l,u,d,f={point:p,lineStart:h,lineEnd:g,polygonStart:function(){f.point=_,f.lineStart=v,f.lineEnd=y,u=[],l=[]},polygonEnd:function(){f.point=p,f.lineStart=h,f.lineEnd=g,u=Rr(u);var e=bne(l,r);u.length?(c||=(i.polygonStart(),!0),ob(u,Sne,e,n,i)):e&&(c||=(i.polygonStart(),!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&=(i.polygonEnd(),!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(t,n){e(t,n)&&i.point(t,n)}function m(e,t){a.point(e,t)}function h(){f.point=m,a.lineStart()}function g(){f.point=p,a.lineEnd()}function _(e,t){d.push([e,t]),s.point(e,t)}function v(){s.lineStart(),d=[]}function y(){_(d[0][0],d[0][1]),s.lineEnd();var e=s.clean(),t=o.result(),n,r=t.length,a,f,p;if(d.pop(),l.push(d),d=null,r){if(e&1){if(f=t[0],(a=f.length-1)>0){for(c||=(i.polygonStart(),!0),i.lineStart(),n=0;n<a;++n)i.point((p=f[n])[0],p[1]);i.lineEnd()}return}r>1&&e&2&&t.push(t.pop().concat(t.shift())),u.push(t.filter(xne))}}return f}}function xne(e){return e.length>1}function Sne(e,t){return((e=e.x)[0]<0?e[1]-pv-dv:pv-e[1])-((t=t.x)[0]<0?t[1]-pv-dv:pv-t[1])}var ub=lb(function(){return!0},Cne,Tne,[-fv,-pv]);function Cne(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var s=a>0?fv:-fv,c=vv(a-t);vv(c-fv)<1e-6?(e.point(t,n=(n+o)/2>0?pv:-pv),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),e.point(a,n),i=0):r!==s&&c>=fv&&(vv(t-r)<1e-6&&(t-=r*dv),vv(a-s)<1e-6&&(a-=s*dv),n=wne(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),i=0),e.point(t=a,n=o),r=s},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function wne(e,t,n,r){var i,a,o=z(e-n);return vv(o)>1e-6?yv((z(t)*(a=R(r))*z(n)-z(r)*(i=R(t))*z(e))/(i*a*o)):(t+r)/2}function Tne(e,t,n,r){var i;if(e==null)i=n*pv,r.point(-fv,i),r.point(0,i),r.point(fv,i),r.point(fv,0),r.point(fv,-i),r.point(0,-i),r.point(-fv,-i),r.point(-fv,0),r.point(-fv,i);else if(vv(e[0]-t[0])>1e-6){var a=e[0]<t[0]?fv:-fv;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function Ene(e){var t=R(e),n=2*_v,r=t>0,i=vv(t)>dv;function a(t,r,i,a){yne(a,e,n,i,t,r)}function o(e,n){return R(e)*R(n)>t}function s(e){var t,n,a,s,u;return{lineStart:function(){s=a=!1,u=1},point:function(d,f){var p=[d,f],m,h=o(d,f),g=r?h?0:l(d,f):h?l(d+(d<0?fv:-fv),f):0;if(!t&&(s=a=h)&&e.lineStart(),h!==a&&(m=c(t,p),(!m||ib(t,m)||ib(p,m))&&(p[2]=1)),h!==a)u=0,h?(e.lineStart(),m=c(p,t),e.point(m[0],m[1])):(m=c(t,p),e.point(m[0],m[1],2),e.lineEnd()),t=m;else if(i&&t&&r^h){var _;!(g&n)&&(_=c(p,t,!0))&&(u=0,r?(e.lineStart(),e.point(_[0][0],_[0][1]),e.point(_[1][0],_[1][1]),e.lineEnd()):(e.point(_[1][0],_[1][1]),e.lineEnd(),e.lineStart(),e.point(_[0][0],_[0][1],3)))}h&&(!t||!ib(t,p))&&e.point(p[0],p[1]),t=p,a=h,n=g},lineEnd:function(){a&&e.lineEnd(),t=null},clean:function(){return u|(s&&a)<<1}}}function c(e,n,r){var i=Qv(e),a=Qv(n),o=[1,0,0],s=ey(i,a),c=$v(s,s),l=s[0],u=c-l*l;if(!u)return!r&&e;var d=t*c/u,f=-t*l/u,p=ey(o,s),m=ny(o,d);ty(m,ny(s,f));var h=p,g=$v(m,h),_=$v(h,h),v=g*g-_*($v(m,m)-1);if(!(v<0)){var y=Dv(v),b=ny(h,(-g-y)/_);if(ty(b,m),b=Zv(b),!r)return b;var x=e[0],S=n[0],C=e[1],w=n[1],T;S<x&&(T=x,x=S,S=T);var E=S-x,D=vv(E-fv)<dv,O=D||E<1e-6;if(!D&&w<C&&(T=C,C=w,w=T),O?D?C+w>0^b[1]<(vv(b[0]-x)<1e-6?C:w):C<=b[1]&&b[1]<=w:E>fv^(x<=b[0]&&b[0]<=S)){var k=ny(h,(-g+y)/_);return ty(k,m),[b,Zv(k)]}}}function l(t,n){var i=r?e:fv-e,a=0;return t<-i?a|=1:t>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return lb(o,s,a,r?[0,-e]:[-fv,e-fv])}function Dne(e,t,n,r,i,a){var o=e[0],s=e[1],c=t[0],l=t[1],u=0,d=1,f=c-o,p=l-s,m=n-o;if(!(!f&&m>0)){if(m/=f,f<0){if(m<u)return;m<d&&(d=m)}else if(f>0){if(m>d)return;m>u&&(u=m)}if(m=i-o,!(!f&&m<0)){if(m/=f,f<0){if(m>d)return;m>u&&(u=m)}else if(f>0){if(m<u)return;m<d&&(d=m)}if(m=r-s,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<d&&(d=m)}else if(p>0){if(m>d)return;m>u&&(u=m)}if(m=a-s,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<d&&(d=m)}return u>0&&(e[0]=o+u*f,e[1]=s+u*p),d<1&&(t[0]=o+d*f,t[1]=s+d*p),!0}}}}}var db=1e9,fb=-db;function pb(e,t,n,r){function i(i,a){return e<=i&&i<=n&&t<=a&&a<=r}function a(i,a,s,l){var u=0,d=0;if(i==null||(u=o(i,s))!==(d=o(a,s))||c(i,a)<0^s>0)do l.point(u===0||u===3?e:n,u>1?r:t);while((u=(u+s+4)%4)!==d);else l.point(a[0],a[1])}function o(r,i){return vv(r[0]-e)<1e-6?i>0?0:3:vv(r[0]-n)<1e-6?i>0?2:1:vv(r[1]-t)<1e-6?+(i>0):i>0?3:2}function s(e,t){return c(e.x,t.x)}function c(e,t){var n=o(e,1),r=o(t,1);return n===r?n===0?t[1]-e[1]:n===1?e[0]-t[0]:n===2?e[1]-t[1]:t[0]-e[0]:n-r}return function(o){var c=o,l=rb(),u,d,f,p,m,h,g,_,v,y,b,x={point:S,lineStart:E,lineEnd:D,polygonStart:w,polygonEnd:T};function S(e,t){i(e,t)&&c.point(e,t)}function C(){for(var t=0,n=0,i=d.length;n<i;++n)for(var a=d[n],o=1,s=a.length,c=a[0],l,u,f=c[0],p=c[1];o<s;++o)l=f,u=p,c=a[o],f=c[0],p=c[1],u<=r?p>r&&(f-l)*(r-u)>(p-u)*(e-l)&&++t:p<=r&&(f-l)*(r-u)<(p-u)*(e-l)&&--t;return t}function w(){c=l,u=[],d=[],b=!0}function T(){var e=C(),t=b&&e,n=(u=Rr(u)).length;(t||n)&&(o.polygonStart(),t&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),n&&ob(u,s,e,a,o),o.polygonEnd()),c=o,u=d=f=null}function E(){x.point=O,d&&d.push(f=[]),y=!0,v=!1,g=_=NaN}function D(){u&&(O(p,m),h&&v&&l.rejoin(),u.push(l.result())),x.point=S,v&&c.lineEnd()}function O(a,o){var s=i(a,o);if(d&&f.push([a,o]),y)p=a,m=o,h=s,y=!1,s&&(c.lineStart(),c.point(a,o));else if(s&&v)c.point(a,o);else{var l=[g=Math.max(fb,Math.min(db,g)),_=Math.max(fb,Math.min(db,_))],u=[a=Math.max(fb,Math.min(db,a)),o=Math.max(fb,Math.min(db,o))];Dne(l,u,e,t,n,r)?(v||(c.lineStart(),c.point(l[0],l[1])),c.point(u[0],u[1]),s||c.lineEnd(),b=!1):s&&(c.lineStart(),c.point(a,o),b=!1)}g=a,_=o,v=s}return x}}function mb(e,t,n){var r=ct(e,t-dv,n).concat(t);return function(e){return r.map(function(t){return[e,t]})}}function hb(e,t,n){var r=ct(e,t-dv,n).concat(t);return function(e){return r.map(function(t){return[t,e]})}}function One(){var e,t,n,r,i,a,o,s,c=10,l=c,u=90,d=360,f,p,m,h,g=2.5;function _(){return{type:`MultiLineString`,coordinates:v()}}function v(){return ct(xv(r/u)*u,n,u).map(m).concat(ct(xv(s/d)*d,o,d).map(h)).concat(ct(xv(t/c)*c,e,c).filter(function(e){return vv(e%u)>dv}).map(f)).concat(ct(xv(a/l)*l,i,l).filter(function(e){return vv(e%d)>dv}).map(p))}return _.lines=function(){return v().map(function(e){return{type:`LineString`,coordinates:e}})},_.outline=function(){return{type:`Polygon`,coordinates:[m(r).concat(h(o).slice(1),m(n).reverse().slice(1),h(s).reverse().slice(1))]}},_.extent=function(e){return arguments.length?_.extentMajor(e).extentMinor(e):_.extentMinor()},_.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],s=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),s>o&&(e=s,s=o,o=e),_.precision(g)):[[r,s],[n,o]]},_.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],a=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),a>i&&(n=a,a=i,i=n),_.precision(g)):[[t,a],[e,i]]},_.step=function(e){return arguments.length?_.stepMajor(e).stepMinor(e):_.stepMinor()},_.stepMajor=function(e){return arguments.length?(u=+e[0],d=+e[1],_):[u,d]},_.stepMinor=function(e){return arguments.length?(c=+e[0],l=+e[1],_):[c,l]},_.precision=function(c){return arguments.length?(g=+c,f=mb(a,i,90),p=hb(t,e,g),m=mb(s,o,90),h=hb(r,n,g),_):g},_.extentMajor([[-180,-90+dv],[180,90-dv]]).extentMinor([[-180,-80-dv],[180,80+dv]])}var gb=e=>e,_b=new Dr,vb=new Dr,yb,bb,xb,Sb,Cb={point:jv,lineStart:jv,lineEnd:jv,polygonStart:function(){Cb.lineStart=kne,Cb.lineEnd=jne},polygonEnd:function(){Cb.lineStart=Cb.lineEnd=Cb.point=jv,_b.add(vv(vb)),vb=new Dr},result:function(){var e=_b/2;return _b=new Dr,e}};function kne(){Cb.point=Ane}function Ane(e,t){Cb.point=wb,yb=xb=e,bb=Sb=t}function wb(e,t){vb.add(Sb*e-xb*t),xb=e,Sb=t}function jne(){wb(yb,bb)}var Tb=1/0,Eb=Tb,Db=-Tb,Ob=Db,kb={point:Mne,lineStart:jv,lineEnd:jv,polygonStart:jv,polygonEnd:jv,result:function(){var e=[[Tb,Eb],[Db,Ob]];return Db=Ob=-(Eb=Tb=1/0),e}};function Mne(e,t){e<Tb&&(Tb=e),e>Db&&(Db=e),t<Eb&&(Eb=t),t>Ob&&(Ob=t)}var Ab=0,jb=0,Mb=0,Nb=0,Pb=0,Fb=0,Ib=0,Lb=0,Rb=0,zb,Bb,Vb,Hb,Ub={point:Wb,lineStart:Gb,lineEnd:Kb,polygonStart:function(){Ub.lineStart=Fne,Ub.lineEnd=Ine},polygonEnd:function(){Ub.point=Wb,Ub.lineStart=Gb,Ub.lineEnd=Kb},result:function(){var e=Rb?[Ib/Rb,Lb/Rb]:Fb?[Nb/Fb,Pb/Fb]:Mb?[Ab/Mb,jb/Mb]:[NaN,NaN];return Ab=jb=Mb=Nb=Pb=Fb=Ib=Lb=Rb=0,e}};function Wb(e,t){Ab+=e,jb+=t,++Mb}function Gb(){Ub.point=Nne}function Nne(e,t){Ub.point=Pne,Wb(Vb=e,Hb=t)}function Pne(e,t){var n=e-Vb,r=t-Hb,i=Dv(n*n+r*r);Nb+=i*(Vb+e)/2,Pb+=i*(Hb+t)/2,Fb+=i,Wb(Vb=e,Hb=t)}function Kb(){Ub.point=Wb}function Fne(){Ub.point=Lne}function Ine(){qb(zb,Bb)}function Lne(e,t){Ub.point=qb,Wb(zb=Vb=e,Bb=Hb=t)}function qb(e,t){var n=e-Vb,r=t-Hb,i=Dv(n*n+r*r);Nb+=i*(Vb+e)/2,Pb+=i*(Hb+t)/2,Fb+=i,i=Hb*e-Vb*t,Ib+=i*(Vb+e),Lb+=i*(Hb+t),Rb+=i*3,Wb(Vb=e,Hb=t)}function Jb(e){this._context=e}Jb.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,hv)}},result:jv};var Yb=new Dr,Xb,Zb,Qb,$b,ex,tx={point:jv,lineStart:function(){tx.point=Rne},lineEnd:function(){Xb&&nx(Zb,Qb),tx.point=jv},polygonStart:function(){Xb=!0},polygonEnd:function(){Xb=null},result:function(){var e=+Yb;return Yb=new Dr,e}};function Rne(e,t){tx.point=nx,Zb=$b=e,Qb=ex=t}function nx(e,t){$b-=e,ex-=t,Yb.add(Dv($b*$b+ex*ex)),$b=e,ex=t}var rx,ix,ax,ox,sx=class{constructor(e){this._append=e==null?cx:zne(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!==ax||this._append!==ix){let e=this._radius,t=this._;this._=``,this._append`m0,${e}a${e},${e} 0 1,1 0,${-2*e}a${e},${e} 0 1,1 0,${2*e}z`,ax=e,ix=this._append,ox=this._,this._=t}this._+=ox}}result(){let e=this._;return this._=``,e.length?e:null}};function cx(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function zne(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return cx;if(t!==rx){let e=10**t;rx=t,ix=function(t){let n=1;this._+=t[0];for(let r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}return ix}function lx(e,t){let n=3,r=4.5,i,a;function o(e){return e&&(typeof r==`function`&&a.pointRadius(+r.apply(this,arguments)),Lv(e,i(a))),a.result()}return o.area=function(e){return Lv(e,i(Cb)),Cb.result()},o.measure=function(e){return Lv(e,i(tx)),tx.result()},o.bounds=function(e){return Lv(e,i(kb)),kb.result()},o.centroid=function(e){return Lv(e,i(Ub)),Ub.result()},o.projection=function(t){return arguments.length?(i=t==null?(e=null,gb):(e=t).stream,o):e},o.context=function(e){return arguments.length?(a=e==null?(t=null,new sx(n)):new Jb(t=e),typeof r!=`function`&&a.pointRadius(r),o):t},o.pointRadius=function(e){return arguments.length?(r=typeof e==`function`?e:(a.pointRadius(+e),+e),o):r},o.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);n=t}return t===null&&(a=new sx(n)),o},o.projection(e).digits(n).context(t)}function ux(e){return function(t){var n=new dx;for(var r in e)n[r]=e[r];return n.stream=t,n}}function dx(){}dx.prototype={constructor:dx,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 fx(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Lv(n,e.stream(kb)),t(kb.result()),r!=null&&e.clipExtent(r),e}function px(e,t,n){return fx(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+t[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,s])},n)}function mx(e,t,n){return px(e,[[0,0],t],n)}function hx(e,t,n){return fx(e,function(n){var r=+t,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];e.scale(150*i).translate([a,o])},n)}function gx(e,t,n){return fx(e,function(n){var r=+t,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,o])},n)}var _x=16,Bne=R(30*_v);function vx(e,t){return+t?Hne(e,t):Vne(e)}function Vne(e){return ux({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function Hne(e,t){function n(r,i,a,o,s,c,l,u,d,f,p,m,h,g){var _=l-r,v=u-i,y=_*_+v*v;if(y>4*t&&h--){var b=o+f,x=s+p,S=c+m,C=Dv(b*b+x*x+S*S),w=Av(S/=C),T=vv(vv(S)-1)<1e-6||vv(a-d)<1e-6?(a+d)/2:bv(x,b),E=e(T,w),D=E[0],O=E[1],k=D-r,A=O-i,ee=v*k-_*A;(ee*ee/y>t||vv((_*k+v*A)/y-.5)>.3||o*f+s*p+c*m<Bne)&&(n(r,i,a,o,s,c,D,O,T,b/=C,x/=C,S,h,g),g.point(D,O),n(D,O,T,b,x,S,l,u,d,f,p,m,h,g))}}return function(t){var r,i,a,o,s,c,l,u,d,f,p,m,h={point:g,lineStart:_,lineEnd:y,polygonStart:function(){t.polygonStart(),h.lineStart=b},polygonEnd:function(){t.polygonEnd(),h.lineStart=_}};function g(n,r){n=e(n,r),t.point(n[0],n[1])}function _(){u=NaN,h.point=v,t.lineStart()}function v(r,i){var a=Qv([r,i]),o=e(r,i);n(u,d,l,f,p,m,u=o[0],d=o[1],l=r,f=a[0],p=a[1],m=a[2],_x,t),t.point(u,d)}function y(){h.point=g,t.lineEnd()}function b(){_(),h.point=x,h.lineEnd=S}function x(e,t){v(r=e,t),i=u,a=d,o=f,s=p,c=m,h.point=v}function S(){n(u,d,l,f,p,m,i,a,r,o,s,c,_x,t),h.lineEnd=y,y()}return h}}var Une=ux({point:function(e,t){this.stream.point(e*_v,t*_v)}});function Wne(e){return ux({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function Gne(e,t,n,r,i){function a(a,o){return a*=r,o*=i,[t+e*a,n-e*o]}return a.invert=function(a,o){return[(a-t)/e*r,(n-o)/e*i]},a}function yx(e,t,n,r,i,a){if(!a)return Gne(e,t,n,r,i);var o=R(a),s=z(a),c=o*e,l=s*e,u=o/e,d=s/e,f=(s*n-o*t)/e,p=(s*t+o*n)/e;function m(e,a){return e*=r,a*=i,[c*e-l*a+t,n-l*e-c*a]}return m.invert=function(e,t){return[r*(u*e-d*t+f),i*(p-d*e-u*t)]},m}function bx(e){return xx(function(){return e})()}function xx(e){var t,n=150,r=480,i=250,a=0,o=0,s=0,c=0,l=0,u,d=0,f=1,p=1,m=null,h=ub,g=null,_,v,y,b=gb,x=.5,S,C,w,T,E;function D(e){return w(e[0]*_v,e[1]*_v)}function O(e){return e=w.invert(e[0],e[1]),e&&[e[0]*gv,e[1]*gv]}D.stream=function(e){return T&&E===e?T:T=Une(Wne(u)(h(S(b(E=e)))))},D.preclip=function(e){return arguments.length?(h=e,m=void 0,A()):h},D.postclip=function(e){return arguments.length?(b=e,g=_=v=y=null,A()):b},D.clipAngle=function(e){return arguments.length?(h=+e?Ene(m=e*_v):(m=null,ub),A()):m*gv},D.clipExtent=function(e){return arguments.length?(b=e==null?(g=_=v=y=null,gb):pb(g=+e[0][0],_=+e[0][1],v=+e[1][0],y=+e[1][1]),A()):g==null?null:[[g,_],[v,y]]},D.scale=function(e){return arguments.length?(n=+e,k()):n},D.translate=function(e){return arguments.length?(r=+e[0],i=+e[1],k()):[r,i]},D.center=function(e){return arguments.length?(a=e[0]%360*_v,o=e[1]%360*_v,k()):[a*gv,o*gv]},D.rotate=function(e){return arguments.length?(s=e[0]%360*_v,c=e[1]%360*_v,l=e.length>2?e[2]%360*_v:0,k()):[s*gv,c*gv,l*gv]},D.angle=function(e){return arguments.length?(d=e%360*_v,k()):d*gv},D.reflectX=function(e){return arguments.length?(f=e?-1:1,k()):f<0},D.reflectY=function(e){return arguments.length?(p=e?-1:1,k()):p<0},D.precision=function(e){return arguments.length?(S=vx(C,x=e*e),A()):Dv(x)},D.fitExtent=function(e,t){return px(D,e,t)},D.fitSize=function(e,t){return mx(D,e,t)},D.fitWidth=function(e,t){return hx(D,e,t)},D.fitHeight=function(e,t){return gx(D,e,t)};function k(){var e=yx(n,0,0,f,p,d).apply(null,t(a,o)),m=yx(n,r-e[0],i-e[1],f,p,d);return u=Qy(s,c,l),C=Xy(t,m),w=Xy(u,C),S=vx(C,x),A()}function A(){return T=E=null,D}return function(){return t=e.apply(this,arguments),D.invert=t.invert&&O,k()}}function Sx(e){var t=0,n=fv/3,r=xx(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*_v,n=e[1]*_v):[t*gv,n*gv]},i}function Kne(e){var t=R(e);function n(e,n){return[e*t,z(n)/t]}return n.invert=function(e,n){return[e/t,Av(n*t)]},n}function qne(e,t){var n=z(e),r=(n+z(t))/2;if(vv(r)<1e-6)return Kne(e);var i=1+n*(2*r-n),a=Dv(i)/r;function o(e,t){var n=Dv(i-2*r*z(t))/r;return[n*z(e*=r),a-n*R(e)]}return o.invert=function(e,t){var n=a-t,o=bv(e,vv(n))*Ev(n);return n*r<0&&(o-=fv*Ev(e)*Ev(n)),[o/r,Av((i-(e*e+n*n)*r*r)/(2*r))]},o}function Cx(){return Sx(qne).scale(155.424).center([0,33.6442])}function wx(){return Cx().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Jne(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 Yne(){var e,t,n=wx(),r,i=Cx().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=Cx().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,c,l={point:function(e,t){c=[e,t]}};function u(e){var t=e[0],n=e[1];return c=null,r.point(t,n),c||(a.point(t,n),c)||(s.point(t,n),c)}u.invert=function(e){var t=n.scale(),r=n.translate(),a=(e[0]-r[0])/t,s=(e[1]-r[1])/t;return(s>=.12&&s<.234&&a>=-.425&&a<-.214?i:s>=.166&&s<.234&&a>=-.214&&a<-.115?o:n).invert(e)},u.stream=function(r){return e&&t===r?e:e=Jne([n.stream(t=r),i.stream(r),o.stream(r)])},u.precision=function(e){return arguments.length?(n.precision(e),i.precision(e),o.precision(e),d()):n.precision()},u.scale=function(e){return arguments.length?(n.scale(e),i.scale(e*.35),o.scale(e),u.translate(n.translate())):n.scale()},u.translate=function(e){if(!arguments.length)return n.translate();var t=n.scale(),c=+e[0],u=+e[1];return r=n.translate(e).clipExtent([[c-.455*t,u-.238*t],[c+.455*t,u+.238*t]]).stream(l),a=i.translate([c-.307*t,u+.201*t]).clipExtent([[c-.425*t+dv,u+.12*t+dv],[c-.214*t-dv,u+.234*t-dv]]).stream(l),s=o.translate([c-.205*t,u+.212*t]).clipExtent([[c-.214*t+dv,u+.166*t+dv],[c-.115*t-dv,u+.234*t-dv]]).stream(l),d()},u.fitExtent=function(e,t){return px(u,e,t)},u.fitSize=function(e,t){return mx(u,e,t)},u.fitWidth=function(e,t){return hx(u,e,t)},u.fitHeight=function(e,t){return gx(u,e,t)};function d(){return e=t=null,u}return u.scale(1070)}function Tx(e){return function(t,n){var r=R(t),i=R(n),a=e(r*i);return a===1/0?[2,0]:[a*i*z(t),a*z(n)]}}function Ex(e){return function(t,n){var r=Dv(t*t+n*n),i=e(r),a=z(i),o=R(i);return[bv(t*a,r*o),Av(r&&n*a/r)]}}var Dx=Tx(function(e){return Dv(2/(1+e))});Dx.invert=Ex(function(e){return 2*Av(e/2)});function Xne(){return bx(Dx).scale(124.75).clipAngle(179.999)}var Ox=Tx(function(e){return(e=kv(e))&&e/z(e)});Ox.invert=Ex(function(e){return e});function Zne(){return bx(Ox).scale(79.4188).clipAngle(179.999)}function kx(e,t){return[e,wv(Ov((pv+t)/2))]}kx.invert=function(e,t){return[e,2*yv(Sv(t))-pv]};function Qne(){return Ax(kx).scale(961/hv)}function Ax(e){var t=bx(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,s,c,l;t.scale=function(e){return arguments.length?(r(e),u()):r()},t.translate=function(e){return arguments.length?(i(e),u()):i()},t.center=function(e){return arguments.length?(n(e),u()):n()},t.clipExtent=function(e){return arguments.length?(e==null?o=s=c=l=null:(o=+e[0][0],s=+e[0][1],c=+e[1][0],l=+e[1][1]),u()):o==null?null:[[o,s],[c,l]]};function u(){var n=fv*r(),i=t(vne(t.rotate()).invert([0,0]));return a(o==null?[[i[0]-n,i[1]-n],[i[0]+n,i[1]+n]]:e===kx?[[Math.max(i[0]-n,o),s],[Math.min(i[0]+n,c),l]]:[[o,Math.max(i[1]-n,s)],[c,Math.min(i[1]+n,l)]])}return u()}function jx(e){return Ov((pv+e)/2)}function $ne(e,t){var n=R(e),r=e===t?z(e):wv(n/R(t))/wv(jx(t)/jx(e)),i=n*Tv(jx(e),r)/r;if(!r)return kx;function a(e,t){i>0?t<-pv+1e-6&&(t=-pv+dv):t>pv-1e-6&&(t=pv-dv);var n=i/Tv(jx(t),r);return[n*z(r*e),i-n*R(r*e)]}return a.invert=function(e,t){var n=i-t,a=Ev(r)*Dv(e*e+n*n),o=bv(e,vv(n))*Ev(n);return n*r<0&&(o-=fv*Ev(e)*Ev(n)),[o/r,2*yv(Tv(i/a,1/r))-pv]},a}function ere(){return Sx($ne).scale(109.5).parallels([30,30])}function Mx(e,t){return[e,t]}Mx.invert=Mx;function tre(){return bx(Mx).scale(152.63)}function nre(e,t){var n=R(e),r=e===t?z(e):(n-R(t))/(t-e),i=n/r+e;if(vv(r)<1e-6)return Mx;function a(e,t){var n=i-t,a=r*e;return[n*z(a),i-n*R(a)]}return a.invert=function(e,t){var n=i-t,a=bv(e,vv(n))*Ev(n);return n*r<0&&(a-=fv*Ev(e)*Ev(n)),[a/r,i-Ev(r)*Dv(e*e+n*n)]},a}function rre(){return Sx(nre).scale(131.154).center([0,13.9389])}var Nx=1.340264,Px=-.081106,Fx=893e-6,Ix=.003796,Lx=Dv(3)/2,ire=12;function Rx(e,t){var n=Av(Lx*z(t)),r=n*n,i=r*r*r;return[e*R(n)/(Lx*(Nx+3*Px*r+i*(7*Fx+9*Ix*r))),n*(Nx+Px*r+i*(Fx+Ix*r))]}Rx.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,s,c;a<ire&&(s=n*(Nx+Px*r+i*(Fx+Ix*r))-t,c=Nx+3*Px*r+i*(7*Fx+9*Ix*r),n-=o=s/c,r=n*n,i=r*r*r,!(vv(o)<1e-12));++a);return[Lx*e*(Nx+3*Px*r+i*(7*Fx+9*Ix*r))/R(n),Av(z(n)/Lx)]};function are(){return bx(Rx).scale(177.158)}function zx(e,t){var n=R(t),r=R(e)*n;return[n*z(e)/r,z(t)/r]}zx.invert=Ex(yv);function ore(){return bx(zx).scale(144.049).clipAngle(60)}function sre(){var e=1,t=0,n=0,r=1,i=1,a=0,o,s,c=null,l,u,d,f=1,p=1,m=ux({point:function(e,t){var n=y([e,t]);this.stream.point(n[0],n[1])}}),h=gb,g,_;function v(){return f=e*r,p=e*i,g=_=null,y}function y(e){var r=e[0]*f,i=e[1]*p;if(a){var c=i*o-r*s;r=r*o+i*s,i=c}return[r+t,i+n]}return y.invert=function(e){var r=e[0]-t,i=e[1]-n;if(a){var c=i*o+r*s;r=r*o-i*s,i=c}return[r/f,i/p]},y.stream=function(e){return g&&_===e?g:g=m(h(_=e))},y.postclip=function(e){return arguments.length?(h=e,c=l=u=d=null,v()):h},y.clipExtent=function(e){return arguments.length?(h=e==null?(c=l=u=d=null,gb):pb(c=+e[0][0],l=+e[0][1],u=+e[1][0],d=+e[1][1]),v()):c==null?null:[[c,l],[u,d]]},y.scale=function(t){return arguments.length?(e=+t,v()):e},y.translate=function(e){return arguments.length?(t=+e[0],n=+e[1],v()):[t,n]},y.angle=function(e){return arguments.length?(a=e%360*_v,s=z(a),o=R(a),v()):a*gv},y.reflectX=function(e){return arguments.length?(r=e?-1:1,v()):r<0},y.reflectY=function(e){return arguments.length?(i=e?-1:1,v()):i<0},y.fitExtent=function(e,t){return px(y,e,t)},y.fitSize=function(e,t){return mx(y,e,t)},y.fitWidth=function(e,t){return hx(y,e,t)},y.fitHeight=function(e,t){return gx(y,e,t)},y}function Bx(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)))]}Bx.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*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(vv(i)>1e-6&&--r>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function cre(){return bx(Bx).scale(175.295)}function Vx(e,t){return[R(t)*z(e),z(t)]}Vx.invert=Ex(Av);function lre(){return bx(Vx).scale(249.5).clipAngle(90+dv)}function Hx(e,t){var n=R(t),r=1+R(e)*n;return[n*z(e)/r,z(t)/r]}Hx.invert=Ex(function(e){return 2*yv(e)});function ure(){return bx(Hx).scale(250).clipAngle(142)}function Ux(e,t){return[wv(Ov((pv+t)/2)),-e]}Ux.invert=function(e,t){return[-t,2*yv(Sv(e))-pv]};function dre(){var e=Ax(Ux),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):(e=t(),[e[1],-e[0]])},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):(e=n(),[e[0],e[1],e[2]-90])},n([0,0,90]).scale(159.155)}var fre=Math.abs,Wx=Math.cos,Gx=Math.sin,Kx=Math.PI,qx=Kx/2;Kx/4;var Jx=pre(2);Kx*2,180/Kx,Kx/180;function Yx(e){return e>1?qx:e<-1?-qx:Math.asin(e)}function pre(e){return e>0?Math.sqrt(e):0}function mre(e,t){var n=e*Gx(t),r=30,i;do t-=i=(t+Gx(t)-n)/(1+Wx(t));while(fre(i)>1e-6&&--r>0);return t/2}function hre(e,t,n){function r(r,i){return[e*r*Wx(i=mre(n,i)),t*Gx(i)]}return r.invert=function(r,i){return i=Yx(i/t),[r/(e*Wx(i)),Yx((2*i+Gx(2*i))/n)]},r}var gre=hre(Jx/qx,Jx,Kx);function _re(){return bx(gre).scale(169.529)}var vre=lx(),Xx=[`clipAngle`,`clipExtent`,`scale`,`translate`,`center`,`rotate`,`parallels`,`precision`,`reflectX`,`reflectY`,`coefficient`,`distance`,`fraction`,`lobes`,`parallel`,`radius`,`ratio`,`spacing`,`tilt`];function yre(e,t){return function n(){let r=t();return r.type=e,r.path=lx().projection(r),r.copy=r.copy||function(){let e=n();return Xx.forEach(t=>{r[t]&&e[t](r[t]())}),e.path.pointRadius(r.path.pointRadius()),e},bl(r)}}function Zx(e,t){if(!e||typeof e!=`string`)throw Error(`Projection type must be a name string.`);return e=e.toLowerCase(),arguments.length>1?($x[e]=yre(e,t),this):$x[e]||null}function Qx(e){return e&&e.path||vre}var $x={albers:wx,albersusa:Yne,azimuthalequalarea:Xne,azimuthalequidistant:Zne,conicconformal:ere,conicequalarea:Cx,conicequidistant:rre,equalEarth:are,equirectangular:tre,gnomonic:ore,identity:sre,mercator:Qne,mollweide:_re,naturalEarth1:cre,orthographic:lre,stereographic:ure,transversemercator:dre};for(let e in $x)Zx(e,$x[e]);var bre=t({contour:()=>fS,geojson:()=>hS,geopath:()=>gS,geopoint:()=>_S,geoshape:()=>vS,graticule:()=>yS,heatmap:()=>bS,isocontour:()=>rS,kde2d:()=>uS,projection:()=>SS});function xre(){}var eS=[[],[[[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 tS(){var e=1,t=1,n=s;function r(e,t){return t.map(t=>i(e,t))}function i(e,t){var r=[],i=[];return a(e,t,a=>{n(a,e,t),Sre(a)>0?r.push([a]):i.push(a)}),i.forEach(e=>{for(var t=0,n=r.length,i;t<n;++t)if(Cre((i=r[t])[0],e)!==-1){i.push(e);return}}),{type:`MultiPolygon`,value:t,coordinates:r}}function a(n,r,i){var a=[],s=[],c=l=-1,l,u,d=n[0]>=r,f,p;for(eS[d<<1].forEach(m);++c<e-1;)u=d,d=n[c+1]>=r,eS[u|d<<1].forEach(m);for(eS[d<<0].forEach(m);++l<t-1;){for(c=-1,d=n[l*e+e]>=r,f=n[l*e]>=r,eS[d<<1|f<<2].forEach(m);++c<e-1;)u=d,d=n[l*e+e+c+1]>=r,p=f,f=n[l*e+c+1]>=r,eS[u|d<<1|f<<2|p<<3].forEach(m);eS[d|f<<3].forEach(m)}for(c=-1,f=n[l*e]>=r,eS[f<<2].forEach(m);++c<e-1;)p=f,f=n[l*e+c+1]>=r,eS[f<<2|p<<3].forEach(m);eS[f<<3].forEach(m);function m(e){var t=[e[0][0]+c,e[0][1]+l],n=[e[1][0]+c,e[1][1]+l],r=o(t),u=o(n),d,f;(d=s[r])?(f=a[u])?(delete s[d.end],delete a[f.start],d===f?(d.ring.push(n),i(d.ring)):a[d.start]=s[f.end]={start:d.start,end:f.end,ring:d.ring.concat(f.ring)}):(delete s[d.end],d.ring.push(n),s[d.end=u]=d):(d=a[u])?(f=s[r])?(delete a[d.start],delete s[f.end],d===f?(d.ring.push(n),i(d.ring)):a[f.start]=s[d.end]={start:f.start,end:d.end,ring:f.ring.concat(d.ring)}):(delete a[d.start],d.ring.unshift(t),a[d.start=r]=d):a[r]=s[u]={start:r,end:u,ring:[t,n]}}}function o(t){return t[0]*2+t[1]*(e+1)*4}function s(n,r,i){n.forEach(n=>{var a=n[0],o=n[1],s=a|0,c=o|0,l,u=r[c*e+s];a>0&&a<e&&s===a&&(l=r[c*e+s-1],n[0]=a+(i-l)/(u-l)-.5),o>0&&o<t&&c===o&&(l=r[(c-1)*e+s],n[1]=o+(i-l)/(u-l)-.5)})}return r.contour=i,r.size=function(n){if(!arguments.length)return[e,t];var i=Math.floor(n[0]),a=Math.floor(n[1]);return i>=0&&a>=0||j(`invalid size`),e=i,t=a,r},r.smooth=function(e){return arguments.length?(n=e?s:xre,r):n===s},r}function Sre(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 Cre(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=wre(e,t[n]))return i;return 0}function wre(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,s=o-1;a<o;s=a++){var c=e[a],l=c[0],u=c[1],d=e[s],f=d[0],p=d[1];if(Tre(c,d,t))return 0;u>r!=p>r&&n<(f-l)*(r-u)/(p-u)+l&&(i=-i)}return i}function Tre(e,t,n){var r;return Ere(e,t,n)&&Dre(e[r=+(e[0]===t[0])],n[r],t[r])}function Ere(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function Dre(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function nS(e,t,n){return function(r){var i=ur(r),a=n?Math.min(i[0],0):i[0],o=i[1],s=o-a,c=t?Pe(a,o,e):s/(e+1);return ct(a+c,o,c)}}function rS(e){L.call(this,null,e)}rS.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`}]},F(rS,L,{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||ne,a=tS().smooth(e.smooth!==!1),o=e.thresholds||Ore(r,i,e),s=e.as===null?null:e.as||`contour`,c=[];return r.forEach(t=>{let n=i(t),r=a.size([n.width,n.height])(n.values,N(o)?o:o(n.values));kre(r,n,t,e),r.forEach(e=>{c.push($r(t,Zr(s==null?e:{[s]:e})))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=c,n}});function Ore(e,t,n){let r=nS(n.levels||10,n.nice,n.zero!==!1);return n.resolve===`shared`?r(e.map(e=>ot(t(e).values))):r}function kre(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(m(i)&&(i=i(n,r)),m(a)&&(a=a(n,r)),(i===1||i==null)&&!a)return;let s=(o(i)?i:i[0])||1,c=(o(i)?i:i[1])||1,l=a&&a[0]||0,u=a&&a[1]||0;e.forEach(iS(t,s,c,l,u))}function iS(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,s=t*n<0;function c(e){e.forEach(l)}function l(e){s&&e.reverse(),e.forEach(u)}function u(e){e[0]=(e[0]-a)*t+r,e[1]=(e[1]-o)*n+i}return function(e){return e.coordinates.forEach(c),e}}function aS(e,t,n){let r=e>=0?e:ia(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function oS(e){return m(e)?e:d(+e)}function sS(){var e=e=>e[0],t=e=>e[1],n=Se,r=[-1,-1],i=960,a=500,o=2;function s(s,c){let l=aS(r[0],s,e)>>o,u=aS(r[1],s,t)>>o,d=l?l+2:0,f=u?u+2:0,p=2*d+(i>>o),m=2*f+(a>>o),h=new Float32Array(p*m),g=new Float32Array(p*m),_=h;s.forEach(r=>{let i=d+(+e(r)>>o),a=f+(+t(r)>>o);i>=0&&i<p&&a>=0&&a<m&&(h[i+a*p]+=+n(r))}),l>0&&u>0?(cS(p,m,h,g,l),lS(p,m,g,h,u),cS(p,m,h,g,l),lS(p,m,g,h,u),cS(p,m,h,g,l),lS(p,m,g,h,u)):l>0?(cS(p,m,h,g,l),cS(p,m,g,h,l),cS(p,m,h,g,l),_=g):u>0&&(lS(p,m,h,g,u),lS(p,m,g,h,u),lS(p,m,h,g,u),_=g);let v=c?2**(-2*o):1/zr(_);for(let e=0,t=p*m;e<t;++e)_[e]*=v;return{values:_,scale:1<<o,width:p,height:m,x1:d,y1:f,x2:d+(i>>o),y2:f+(a>>o)}}return s.x=function(t){return arguments.length?(e=oS(t),s):e},s.y=function(e){return arguments.length?(t=oS(e),s):t},s.weight=function(e){return arguments.length?(n=oS(e),s):n},s.size=function(e){if(!arguments.length)return[i,a];var t=+e[0],n=+e[1];return t>=0&&n>=0||j(`invalid size`),i=t,a=n,s},s.cellSize=function(e){return arguments.length?((e=+e)>=1||j(`invalid cell size`),o=Math.floor(Math.log(e)/Math.LN2),s):1<<o},s.bandwidth=function(e){return arguments.length?(e=k(e),e.length===1&&(e=[+e[0],+e[0]]),e.length!==2&&j(`invalid bandwidth`),r=e,s):r},s}function cS(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let t=0,s=0;t<e+i;++t)t<e&&(s+=n[t+o*e]),t>=i&&(t>=a&&(s-=n[t-a+o*e]),r[t-i+o*e]=s/Math.min(t+1,e-1+a-t,a))}function lS(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let s=0,c=0;s<t+i;++s)s<t&&(c+=n[o+s*e]),s>=i&&(s>=a&&(c-=n[o+(s-a)*e]),r[o+(s-i)*e]=c/Math.min(s+1,t-1+a-s,a))}function uS(e){L.call(this,null,e)}uS.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 Are=[`x`,`y`,`weight`,`size`,`cellSize`,`bandwidth`];function dS(e,t){return Are.forEach(n=>t[n]==null?0:e[n](t[n])),e}F(uS,L,{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=jre(r,e.groupby),a=(e.groupby||[]).map(ve),o=dS(sS(),e),s=e.as||`grid`,c=[];function l(e,t){for(let n=0;n<a.length;++n)e[a[n]]=t[n];return e}return c=i.map(t=>Zr(l({[s]:o(t,e.counts)},t.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=c,n}});function jre(e,t){var n=[],r=e=>e(s),i,a,o,s,c,l;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)s=e[a],c=t.map(r),l=i[c],l||(i[c]=l=[],l.dims=c,n.push(l)),l.push(s);return n}function fS(e){L.call(this,null,e)}fS.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}]},F(fS,L,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=tS().smooth(e.smooth!==!1),i=e.values,a=e.thresholds||nS(e.count||10,e.nice,!!i),o=e.size,s,c;return i||=(i=t.materialize(t.SOURCE).source,s=dS(sS(),e)(i,!0),c=iS(s,s.scale||1,s.scale||1,0,0),o=[s.width,s.height],s.values),a=N(a)?a:a(i),i=r.size(o)(i,a),c&&i.forEach(c),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(Zr),n}});var pS=`Feature`,mS=`FeatureCollection`,Mre=`MultiPoint`;function hS(e){L.call(this,null,e)}hS.Definition={type:`GeoJSON`,metadata:{},params:[{name:`fields`,type:`field`,array:!0,length:2},{name:`geojson`,type:`field`}]},F(hS,L,{transform(e,t){var n=this._features,r=this._points,i=e.fields,a=i&&i[0],o=i&&i[1],s=e.geojson||!i&&ne,c=t.ADD,l=e.modified()||t.changed(t.REM)||t.modified(Ce(s))||a&&t.modified(Ce(a))||o&&t.modified(Ce(o));(!this.value||l)&&(c=t.SOURCE,this._features=n=[],this._points=r=[]),s&&t.visit(c,e=>n.push(s(e))),a&&o&&(t.visit(c,e=>{var t=a(e),n=o(e);t!=null&&n!=null&&(t=+t)===t&&(n=+n)===n&&r.push([t,n])}),n=n.concat({type:pS,geometry:{type:Mre,coordinates:r}})),this.value={type:mS,features:n}}});function gS(e){L.call(this,null,e)}gS.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`}]},F(gS,L,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||ne,a=e.as||`path`,o=n.SOURCE;!r||e.modified()?(this.value=r=Qx(e.projection),n.materialize().reflow()):o=i===ne||t.modified(i.fields)?n.ADD_MOD:n.ADD;let s=Nre(r,e.pointRadius);return n.visit(o,e=>e[a]=r(i(e))),r.pointRadius(s),n.modifies(a)}});function Nre(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function _S(e){L.call(this,null,e)}_S.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`]}]},F(_S,L,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||[`x`,`y`],o=a[0],s=a[1],c;function l(e){let t=n([r(e),i(e)]);t?(e[o]=t[0],e[s]=t[1]):(e[o]=void 0,e[s]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,l):(c=t.modified(r.fields)||t.modified(i.fields),t.visit(c?t.ADD_MOD:t.ADD,l)),t.modifies(a)}});function vS(e){L.call(this,null,e)}vS.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`}]},F(vS,L,{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=Pre(Qx(e.projection),e.field||ge(`datum`),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,e=>e[i]=r),n.modifies(i)}});function Pre(e,t,n){let r=n==null?n=>e(t(n)):r=>{var i=e.pointRadius(),a=e.pointRadius(n)(t(r));return e.pointRadius(i),a};return r.context=t=>(e.context(t),r),r}function yS(e){L.call(this,[],e),this.generator=One()}yS.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}]},F(yS,L,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let t in e)m(r[t])&&r[t](e[t]);return i=r(),n.length?t.mod.push(ei(n[0],i)):t.add.push(Zr(i)),n[0]=i,t}});function bS(e){L.call(this,null,e)}bS.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`}]},F(bS,L,{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||ne,a=Ire(e.opacity,e),o=Fre(e.color,e),s=e.as||`image`,c={$x:0,$y:0,$value:0,$max:r?ot(n.map(e=>ot(i(e).values))):0};return n.forEach(e=>{let t=i(e),n=D({},e,c);r||(n.$max=ot(t.values||[])),e[s]=Lre(t,n,o.dep?o:d(o(n)),a.dep?a:d(a(n)))}),t.reflow(!0).modifies(s)}});function Fre(e,t){let n;return m(e)?(n=n=>$t(e(n,t)),n.dep=xS(e)):n=d($t(e||`#888`)),n}function Ire(e,t){let n;return m(e)?(n=n=>e(n,t),n.dep=xS(e)):e?n=d(e):(n=e=>e.$value/e.$max||0,n.dep=!0),n}function xS(e){if(!m(e))return!1;let t=_(Ce(e));return t.$x||t.$y||t.$value||t.$max}function Lre(e,t,n,r){let i=e.width,a=e.height,o=e.x1||0,s=e.y1||0,c=e.x2||i,l=e.y2||a,u=e.values,d=u?e=>u[e]:ae,f=Js(c-o,l-s),p=f.getContext(`2d`),m=p.getImageData(0,0,c-o,l-s),h=m.data;for(let e=s,a=0;e<l;++e){t.$y=e-s;for(let s=o,l=e*i;s<c;++s,a+=4){t.$x=s-o,t.$value=d(s+l);let e=n(t);h[a+0]=e.r,h[a+1]=e.g,h[a+2]=e.b,h[a+3]=~~(255*r(t))}}return p.putImageData(m,0,0),f}function SS(e){L.call(this,null,e),this.modified(!0)}F(SS,L,{transform(e,t){let n=this.value;return!n||e.modified(`type`)?(this.value=n=zre(e.type),Xx.forEach(t=>{e[t]!=null&&CS(n,t,e[t])})):Xx.forEach(t=>{e.modified(t)&&CS(n,t,e[t])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&Rre(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function Rre(e,t){let n=Bre(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function zre(e){let t=Zx((e||`mercator`).toLowerCase());return t||j(`Unrecognized projection type: `+e),t()}function CS(e,t,n){m(e[t])&&e[t](n)}function Bre(e){return e=k(e),e.length===1?e[0]:{type:mS,features:e.reduce((e,t)=>e.concat(Vre(t)),[])}}function Vre(e){return e.type===mS?e.features:k(e).filter(e=>e!=null).map(e=>e.type===pS?e:{type:pS,geometry:e})}function Hre(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i<a;++i)o=n[i],s+=o.x,c+=o.y;for(s=(s/a-e)*r,c=(c/a-t)*r,i=0;i<a;++i)o=n[i],o.x-=s,o.y-=c}return i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function Ure(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return wS(this.cover(t,n),t,n,e)}function wS(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function Wre(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-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,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)wS(this,o[n],s[n],e[n]);return this}function Gre(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,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){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}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function Kre(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function qre(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 TS(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function ES(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new TS(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a)){if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new TS(p[3],g,_,c,l),new TS(p[2],o,_,g,l),new TS(p[1],g,s,c,_),new TS(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),b=v*v+y*y;if(b<n){var x=Math.sqrt(n=b);i=e-x,a=t-x,u=e+x,d=t+x,r=p.data}}}return r}function DS(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=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[_]=n:this._root=n),this):(this._root=a,this)}function Jre(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function OS(){return this._root}function kS(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function AS(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new TS(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new TS(i,l,u,s,c)),(i=r[2])&&t.push(new TS(i,a,u,l,c)),(i=r[1])&&t.push(new TS(i,l,o,s,u)),(i=r[0])&&t.push(new TS(i,a,o,l,u))}return this}function jS(e){var t=[],n=[],r;for(this._root&&t.push(new TS(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,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new TS(a,o,s,u,d)),(a=i[1])&&t.push(new TS(a,u,s,c,d)),(a=i[2])&&t.push(new TS(a,o,d,u,l)),(a=i[3])&&t.push(new TS(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function MS(e){return e[0]}function NS(e){return arguments.length?(this._x=e,this):this._x}function Yre(e){return e[1]}function Xre(e){return arguments.length?(this._y=e,this):this._y}function PS(e,t,n){var r=new FS(t??MS,n??Yre,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function FS(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 IS(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var LS=PS.prototype=FS.prototype;LS.copy=function(){var e=new FS(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=IS(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]=IS(r));return e},LS.add=Ure,LS.addAll=Wre,LS.cover=Gre,LS.data=Kre,LS.extent=qre,LS.find=ES,LS.remove=DS,LS.removeAll=Jre,LS.root=OS,LS.size=kS,LS.visit=AS,LS.visitAfter=jS,LS.x=NS,LS.y=Xre;function RS(e){return function(){return e}}function zS(e){return(e()-.5)*1e-6}function BS(e){return e.x+e.vx}function VS(e){return e.y+e.vy}function HS(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=RS(e==null?1:+e));function o(){for(var e,o=t.length,c,l,u,d,f,p,m=0;m<a;++m)for(c=PS(t,BS,VS).visitAfter(s),e=0;e<o;++e)l=t[e],f=n[l.index],p=f*f,u=l.x+l.vx,d=l.y+l.vy,c.visit(h);function h(e,t,n,a,o){var s=e.data,c=e.r,m=f+c;if(s){if(s.index>l.index){var h=u-s.x-s.vx,g=d-s.y-s.vy,_=h*h+g*g;_<m*m&&(h===0&&(h=zS(r),_+=h*h),g===0&&(g=zS(r),_+=g*g),_=(m-(_=Math.sqrt(_)))/_*i,l.vx+=(h*=_)*(m=(c*=c)/(p+c)),l.vy+=(g*=_)*m,s.vx-=h*(m=1-m),s.vy-=g*m)}return}return t>u+m||a<u-m||n>d+m||o<d-m}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function c(){if(t){var r,i=t.length,a;for(n=Array(i),r=0;r<i;++r)a=t[r],n[a.index]=+e(a,r,t)}}return o.initialize=function(e,n){t=e,r=n,c()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e=typeof t==`function`?t:RS(+t),c(),o):e},o}function US(e){return e.index}function WS(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function GS(e){var t=US,n=d,r,i=RS(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||zS(l),m=f.y+f.vy-d.y-d.vy||zS(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=WS(u,d.source)),typeof d.target!=`object`&&(d.target=WS(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:RS(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:RS(+e),h(),f):i},f}function KS(e,t,n){var r=new pn,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(e,t,n){t=+t,n=n==null?on():+n,r._restart(function a(o){o+=i,r._restart(a,i+=t,n),e(o)},t,n)},r.restart(e,t,n),r)}var qS=1664525,JS=1013904223,YS=4294967296;function XS(){let e=1;return()=>(e=(qS*e+JS)%YS)/YS}function ZS(e){return e.x}function QS(e){return e.y}var $S=10,eC=Math.PI*(3-Math.sqrt(5));function tC(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=vn(d),l=xn(`tick`,`end`),u=XS();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=$S*Math.sqrt(.5+t),a=t*eC;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function nC(){var e,t,n,r,i=RS(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=PS(e,ZS,QS).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=zS(n),m+=d*d),f===0&&(f=zS(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=zS(n),m+=d*d),f===0&&(f=zS(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:RS(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}function rC(e){var t=RS(.1),n,r,i;typeof e!=`function`&&(e=RS(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vx+=(i[t]-o.x)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:RS(+e),o(),a):t},a.x=function(t){return arguments.length?(e=typeof t==`function`?t:RS(+t),o(),a):e},a}function iC(e){var t=RS(.1),n,r,i;typeof e!=`function`&&(e=RS(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vy+=(i[t]-o.y)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:RS(+e),o(),a):t},a.y=function(t){return arguments.length?(e=typeof t==`function`?t:RS(+t),o(),a):e},a}var aC=t({force:()=>dC}),oC={center:Hre,collide:HS,nbody:nC,link:GS,x:rC,y:iC},sC=`forces`,cC=[`alpha`,`alphaMin`,`alphaTarget`,`velocityDecay`,`forces`],lC=[`static`,`iterations`],uC=[`x`,`y`,`vx`,`vy`];function dC(e){L.call(this,null,e)}dC.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:uC}]},F(dC,L,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(cC),a=e.iterations||300;if(n?(r&&(t.modifies(`index`),n.nodes(t.source)),(i||t.changed(t.MOD))&&mC(n,e,0,t)):(this.value=n=pC(t.source,e),n.on(`tick`,fC(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies(`index`)),i||r||e.modified(lC)||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 e=this._argops,t=0,s=e.length,c;t<s;++t)if(c=e[t],c.name===sC&&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(uC)}});function fC(e,t){return()=>e.touch(t).run()}function pC(e,t){let n=tC(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),mC(n,t,!0).on(`end`,()=>a=!0)}function mC(e,t,n,r){var i=k(t.forces),a,o,s,c;for(a=0,o=cC.length;a<o;++a)s=cC[a],s!==sC&&t.modified(s)&&e[s](t[s]);for(a=0,o=i.length;a<o;++a)c=sC+a,s=n||t.modified(sC,a)?gC(i[a]):r&&hC(i[a],r)?e.force(c):null,s&&e.force(c,s);for(o=e.numForces||0;a<o;++a)e.force(sC+a,null);return e.numForces=i.length,e}function hC(e,t){var n,r;for(n in e)if(m(r=e[n])&&t.modified(Ce(r)))return 1;return 0}function gC(e){var t,n;for(n in T(oC,e.force)||j(`Unrecognized force: `+e.force),t=oC[e.force](),e)m(t[n])&&_C(t[n],e[n],e);return t}function _C(e,t,n){e(m(t)?e=>t(e,n):t)}function Zre(e,t){return e.parent===t.parent?1:2}function Qre(e){return e.reduce($re,0)/e.length}function $re(e,t){return e+t.x}function eie(e){return 1+e.reduce(tie,0)}function tie(e,t){return Math.max(e,t.y)}function nie(e){for(var t;t=e.children;)e=t[0];return e}function rie(e){for(var t;t=e.children;)e=t[t.length-1];return e}function iie(){var e=Zre,t=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter(function(t){var n=t.children;n?(t.x=Qre(n),t.y=eie(n)):(t.x=a?o+=e(t,a):0,t.y=0,a=t)});var s=nie(i),c=rie(i),l=s.x-e(s,c)/2,u=c.x+e(c,s)/2;return i.eachAfter(r?function(e){e.x=(e.x-i.x)*t,e.y=(i.y-e.y)*n}:function(e){e.x=(e.x-l)/(u-l)*t,e.y=(1-(i.y?e.y/i.y:1))*n})}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}var aie=1664525,oie=1013904223,vC=4294967296;function sie(){let e=1;return()=>(e=(aie*e+oie)%vC)/vC}function cie(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function lie(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 uie(e,t){for(var n=0,r=(e=lie(Array.from(e),t)).length,i=[],a,o;n<r;)a=e[n],o&&bC(o,a)?++n:(o=fie(i=die(i,a)),n=0);return o}function die(e,t){var n,r;if(xC(t,e))return[t];for(n=0;n<e.length;++n)if(yC(t,e[n])&&xC(SC(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(yC(SC(e[n],e[r]),t)&&yC(SC(e[n],t),e[r])&&yC(SC(e[r],t),e[n])&&xC(CC(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}function yC(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 bC(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 xC(e,t){for(var n=0;n<t.length;++n)if(!bC(e,t[n]))return!1;return!0}function fie(e){switch(e.length){case 1:return pie(e[0]);case 2:return SC(e[0],e[1]);case 3:return CC(e[0],e[1],e[2])}}function pie(e){return{x:e.x,y:e.y,r:e.r}}function SC(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,s=t.r,c=a-n,l=o-r,u=s-i,d=Math.sqrt(c*c+l*l);return{x:(n+a+c/d*u)/2,y:(r+o+l/d*u)/2,r:(d+i+s)/2}}function CC(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,s=t.y,c=t.r,l=n.x,u=n.y,d=n.r,f=r-o,p=r-l,m=i-s,h=i-u,g=c-a,_=d-a,v=r*r+i*i-a*a,y=v-o*o-s*s+c*c,b=v-l*l-u*u+d*d,x=p*m-f*h,S=(m*b-h*y)/(x*2)-r,C=(h*g-m*_)/x,w=(p*y-f*b)/(x*2)-i,T=(f*_-p*g)/x,E=C*C+T*T-1,D=2*(a+S*C+w*T),O=S*S+w*w-a*a,k=-(Math.abs(E)>1e-6?(D+Math.sqrt(D*D-4*E*O))/(2*E):O/D);return{x:r+S+C*k,y:i+w+T*k,r:k}}function wC(e,t,n){var r=e.x-t.x,i,a,o=e.y-t.y,s,c,l=r*r+o*o;l?(a=t.r+n.r,a*=a,c=e.r+n.r,c*=c,a>c?(i=(l+c-a)/(2*l),s=Math.sqrt(Math.max(0,c/l-i*i)),n.x=e.x-i*r-s*o,n.y=e.y-i*o+s*r):(i=(l+a-c)/(2*l),s=Math.sqrt(Math.max(0,a/l-i*i)),n.x=t.x+i*r-s*o,n.y=t.y+i*o+s*r)):(n.x=t.x+n.r,n.y=t.y)}function TC(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 EC(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 DC(e){this._=e,this.next=null,this.previous=null}function OC(e,t){if(!(a=(e=cie(e)).length))return 0;var n=e[0],r,i,a,o,s,c,l,u,d,f;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;wC(r,n,i=e[2]),n=new DC(n),r=new DC(r),i=new DC(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;pack:for(c=3;c<a;++c){wC(n._,r._,i=e[c]),i=new DC(i),l=r.next,u=n.previous,d=r._.r,f=n._.r;do if(d<=f){if(TC(l._,i._)){r=l,n.next=r,r.previous=n,--c;continue pack}d+=l._.r,l=l.next}else{if(TC(u._,i._)){n=u,n.next=r,r.previous=n,--c;continue pack}f+=u._.r,u=u.previous}while(l!==u.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=EC(n);(i=i.next)!==r;)(s=EC(i))<o&&(n=i,o=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=uie(n,t),c=0;c<a;++c)n=e[c],n.x-=i.x,n.y-=i.y;return i.r}function kC(e){return Math.sqrt(e.value)}function AC(){var e=null,t=1,n=1,r=On;function i(i){let a=sie();return i.x=t/2,i.y=n/2,e?i.eachBefore(jC(e)).eachAfter(MC(r,.5,a)).eachBefore(NC(1)):i.eachBefore(jC(kC)).eachAfter(MC(On,1,a)).eachAfter(MC(r,i.r/Math.min(t,n),a)).eachBefore(NC(Math.min(t,n)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=zn(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(e){return arguments.length?(r=typeof e==`function`?e:Mn(+e),i):r},i}function jC(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function MC(e,t,n){return function(r){if(i=r.children){var i,a,o=i.length,s=e(r)*t||0,c;if(s)for(a=0;a<o;++a)i[a].r+=s;if(c=OC(i,n),s)for(a=0;a<o;++a)i[a].r-=s;r.r=c+s}}}function NC(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 PC(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(Ln),i}function a(e,t){return function(r){r.children&&Pn(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}var FC={depth:-1},IC={},LC={};function RC(e){return e.id}function zC(e){return e.parentId}function BC(){var e=RC,t=zC,n;function r(r){var i=Array.from(r),a=e,o=t,s,c,l,u,d,f,p,m,h=new Map;if(n!=null){let e=i.map((e,t)=>VC(n(e,t,r))),t=e.map(HC),s=new Set(e).add(``);for(let n of t)s.has(n)||(s.add(n),e.push(n),t.push(HC(n)),i.push(LC));a=(t,n)=>e[n],o=(e,n)=>t[n]}for(l=0,s=i.length;l<s;++l)c=i[l],f=i[l]=new kn(c),(p=a(c,l,r))!=null&&(p+=``)&&(m=f.id=p,h.set(m,h.has(m)?IC:f)),(p=o(c,l,r))!=null&&(p+=``)&&(f.parent=p);for(l=0;l<s;++l)if(f=i[l],p=f.parent){if(d=h.get(p),!d)throw Error(`missing: `+p);if(d===IC)throw Error(`ambiguous: `+p);d.children?d.children.push(f):d.children=[f],f.parent=d}else{if(u)throw Error(`multiple roots`);u=f}if(!u)throw Error(`no root`);if(n!=null){for(;u.data===LC&&u.children.length===1;)u=u.children[0],--s;for(let e=i.length-1;e>=0&&(f=i[e],f.data===LC);--e)f.data=null}if(u.parent=FC,u.eachBefore(function(e){e.depth=e.parent.depth+1,--s}).eachBefore(An),u.parent=null,s>0)throw Error(`cycle`);return u}return r.id=function(t){return arguments.length?(e=zn(t),r):e},r.parentId=function(e){return arguments.length?(t=zn(e),r):t},r.path=function(e){return arguments.length?(n=zn(e),r):n},r}function VC(e){e=`${e}`;let t=e.length;return UC(e,t-1)&&!UC(e,t-2)&&(e=e.slice(0,-1)),e[0]===`/`?e:`/${e}`}function HC(e){let t=e.length;if(t<2)return``;for(;--t>1&&!UC(e,t););return e.slice(0,t)}function UC(e,t){if(e[t]===`/`){let n=0;for(;t>0&&e[--t]===`\\`;)++n;if(!(n&1))return!0}return!1}function WC(e,t){return e.parent===t.parent?1:2}function GC(e){var t=e.children;return t?t[0]:e.t}function KC(e){var t=e.children;return t?t[t.length-1]:e.t}function qC(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 JC(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 YC(e,t,n){return e.a.parent===t.parent?e.a:n}function XC(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}XC.prototype=Object.create(kn.prototype);function ZC(e){for(var t=new XC(e,0),n,r=[t],i,a,o,s;n=r.pop();)if(a=n._.children)for(n.children=Array(s=a.length),o=s-1;o>=0;--o)r.push(i=n.children[o]=new XC(a[o],o)),i.parent=n;return(t.parent=new XC(null,0)).children=[t],t}function QC(){var e=WC,t=1,n=1,r=null;function i(i){var s=ZC(i);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(o),r)i.eachBefore(c);else{var l=i,u=i,d=i;i.eachBefore(function(e){e.x<l.x&&(l=e),e.x>u.x&&(u=e),e.depth>d.depth&&(d=e)});var f=l===u?1:e(l,u)/2,p=f-l.x,m=t/(u.x+f+p),h=n/(d.depth||1);i.eachBefore(function(e){e.x=(e.x+p)*m,e.y=e.depth*h})}return i}function a(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){JC(t);var a=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=s(t,i,t.parent.A||r[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(t,n,r){if(n){for(var i=t,a=t,o=n,s=i.parent.children[0],c=i.m,l=a.m,u=o.m,d=s.m,f;o=KC(o),i=GC(i),o&&i;)s=GC(s),a=KC(a),a.a=t,f=o.z+u-i.z-c+e(o._,i._),f>0&&(qC(YC(o,t,r),t,f),c+=f,l+=f),u+=o.m,c+=i.m,d+=s.m,l+=a.m;o&&!KC(a)&&(a.t=o,a.m+=u-l),i&&!GC(s)&&(s.t=i,s.m+=c-d,r=t)}return r}function c(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function $C(e,t,n,r,i){var a=e.children,o,s=a.length,c,l=Array(s+1);for(l[0]=c=o=0;o<s;++o)l[o+1]=c+=a[o].value;u(0,s,e.value,t,n,r,i);function u(e,t,n,r,i,o,s){if(e>=t-1){var c=a[e];c.x0=r,c.y0=i,c.x1=o,c.y1=s;return}for(var d=l[e],f=n/2+d,p=e+1,m=t-1;p<m;){var h=p+m>>>1;l[h]<f?p=h+1:m=h}f-l[p-1]<l[p]-f&&e+1<p&&--p;var g=l[p]-d,_=n-g;if(o-r>s-i){var v=n?(r*_+o*g)/n:o;u(e,p,g,r,i,v,s),u(p,t,_,v,i,o,s)}else{var y=n?(i*_+s*g)/n:s;u(e,p,g,r,i,o,y),u(p,t,_,r,y,o,s)}}}function ew(e,t,n,r,i){(e.depth&1?Dn:Pn)(e,t,n,r,i)}var tw=(function e(t){function n(e,n,r,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,c,l,u=-1,d,f=o.length,p=e.value;++u<f;){for(s=o[u],c=s.children,l=s.value=0,d=c.length;l<d;++l)s.value+=c[l].value;s.dice?Pn(s,n,r,i,p?r+=(a-r)*s.value/p:a):Dn(s,n,r,p?n+=(i-n)*s.value/p:i,a),p-=s.value}else e._squarify=o=In(t,e,n,r,i,a),o.ratio=t}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(Nn),nw=t({nest:()=>iw,pack:()=>fw,partition:()=>mw,stratify:()=>hw,tree:()=>vw,treelinks:()=>yw,treemap:()=>Sw});function rw(e,t,n){let r={};return e.each(e=>{let i=e.data;n(i)&&(r[t(i)]=e)}),e.lookup=r,e}function iw(e){L.call(this,null,e)}iw.Definition={type:`Nest`,metadata:{treesource:!0,changes:!0},params:[{name:`keys`,type:`field`,array:!0},{name:`generate`,type:`boolean`}]};var aw=e=>e.values;F(iw,L,{transform(e,t){t.source||j(`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(e=>{e.children&&Yr(e.data)&&i.rem.push(e.data)}),this.value=a=Fn({values:k(e.keys).reduce((e,t)=>(e.key(t),e),ow()).entries(i.source)},aw),n&&a.each(e=>{e.children&&(e=Zr(e.data),i.add.push(e),i.source.push(e))}),rw(a,I,I)),i.source.root=a,i}});function ow(){let e=[],t={entries:e=>r(n(e,0),0),key:n=>(e.push(n),t)};function n(t,r){if(r>=e.length)return t;let i=t.length,a=e[r++],o={},s={},c=-1,l,u,d;for(;++c<i;)l=a(u=t[c])+``,(d=o[l])?d.push(u):o[l]=[u];for(l in o)s[l]=n(o[l],r);return s}function r(t,n){if(++n>e.length)return t;let i=[];for(let e in t)i.push({key:e,values:r(t[e],n)});return i}return t}function sw(e){L.call(this,null,e)}var cw=(e,t)=>e.parent===t.parent?1:2;F(sw,L,{transform(e,t){(!t.source||!t.source.root)&&j(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(ti(e.sort,e=>e.data)),lw(n,this.params,e),n.separation&&n.separation(e.separation===!1?Se:cw);try{this.value=n(i)}catch(e){j(e)}return i.each(e=>uw(e,r,a)),t.reflow(e.modified()).modifies(a).modifies(`leaf`)}});function lw(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 uw(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 dw=[`x`,`y`,`r`,`depth`,`children`];function fw(e){sw.call(this,e)}fw.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:dw.length,default:dw}]},F(fw,sw,{layout:AC,params:[`radius`,`size`,`padding`],fields:dw});var pw=[`x0`,`y0`,`x1`,`y1`,`depth`,`children`];function mw(e){sw.call(this,e)}mw.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:pw.length,default:pw}]},F(mw,sw,{layout:PC,params:[`size`,`round`,`padding`],fields:pw});function hw(e){L.call(this,null,e)}hw.Definition={type:`Stratify`,metadata:{treesource:!0},params:[{name:`key`,type:`field`,required:!0},{name:`parentKey`,type:`field`,required:!0}]},F(hw,L,{transform(e,t){t.source||j(`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?rw(BC().id(e.key).parentId(e.parentKey)(i.source),e.key,De):rw(BC()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var gw={tidy:QC,cluster:iie},_w=[`x`,`y`,`depth`,`children`];function vw(e){sw.call(this,e)}vw.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:_w.length,default:_w}]},F(vw,sw,{layout(e){let t=e||`tidy`;if(T(gw,t))return gw[t]();j(`Unrecognized Tree layout method: `+t)},params:[`size`,`nodeSize`],fields:_w});function yw(e){L.call(this,[],e)}yw.Definition={type:`TreeLinks`,metadata:{tree:!0,generates:!0,changes:!0},params:[]},F(yw,L,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||j(`TreeLinks transform requires a tree data source.`),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,e=>a[I(e)]=1),r.each(e=>{let t=e.data,n=e.parent&&e.parent.data;n&&a[I(t)]&&a[I(n)]&&i.add.push(Zr({source:n,target:t}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,e=>a[I(e)]=1),n.forEach(e=>{(a[I(e.source)]||a[I(e.target)])&&i.mod.push(e)})),i}});var bw={binary:$C,dice:Pn,slice:Dn,slicedice:ew,squarify:jn,resquarify:tw},xw=[`x0`,`y0`,`x1`,`y1`,`depth`,`children`];function Sw(e){sw.call(this,e)}Sw.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:xw.length,default:xw}]},F(Sw,sw,{layout(){let e=Rn();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{T(bw,t)?e.tile(bw[t]):j(`Unrecognized Treemap layout method: `+t)},e},params:[`method`,`ratio`,`size`,`round`,`padding`,`paddingInner`,`paddingOuter`,`paddingTop`,`paddingRight`,`paddingBottom`,`paddingLeft`],fields:xw});var Cw=t({label:()=>rT}),ww=4278190080;function Tw(e,t){let n=e.bitmap();return(t||[]).forEach(t=>n.set(e(t.boundary[0]),e(t.boundary[3]))),[n,void 0]}function Ew(e,t,n,r,i){let a=e.width,o=e.height,s=r||i,c=Js(a,o).getContext(`2d`),l=Js(a,o).getContext(`2d`),u=s&&Js(a,o).getContext(`2d`);n.forEach(e=>Ow(c,e,!1)),Ow(l,t,!1),s&&Ow(u,t,!0);let d=Dw(c,a,o),f=Dw(l,a,o),p=s&&Dw(u,a,o),m=e.bitmap(),h=s&&e.bitmap(),g,_,v,y,b,x,S,C;for(_=0;_<o;++_)for(g=0;g<a;++g)b=_*a+g,x=d[b]&ww,C=f[b]&ww,S=s&&p[b]&ww,(x||S||C)&&(v=e(g),y=e(_),!i&&(x||C)&&m.set(v,y),s&&(x||S)&&h.set(v,y));return[m,h]}function Dw(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function Ow(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r===`group`?t.forEach(t=>{t.items.forEach(t=>Ow(e,t.items,n))}):vp[r].draw(e,{items:n?t.map(kw):t})}function kw(e){let t=$r(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:`#000`,fillOpacity:0}:t}var Aw=5,jw=31,Mw=32,Nw=new Uint32Array(33),Pw=new Uint32Array(33);Pw[0]=0,Nw[0]=~Pw[0];for(let e=1;e<=Mw;++e)Pw[e]=Pw[e-1]<<1|1,Nw[e]=~Pw[e];function Fw(e,t){let n=new Uint32Array(~~((e*t+Mw)/Mw));function r(e,t){n[e]|=t}function i(e,t){n[e]&=t}return{array:n,get:(t,r)=>{let i=r*e+t;return n[i>>>Aw]&1<<(i&jw)},set:(t,n)=>{let i=n*e+t;r(i>>>Aw,1<<(i&jw))},clear:(t,n)=>{let r=n*e+t;i(r>>>Aw,~(1<<(r&jw)))},getRange:(t,r,i,a)=>{let o=a,s,c,l,u;for(;o>=r;--o)if(s=o*e+t,c=o*e+i,l=s>>>Aw,u=c>>>Aw,l===u){if(n[l]&Nw[s&jw]&Pw[(c&jw)+1])return!0}else{if(n[l]&Nw[s&jw]||n[u]&Pw[(c&jw)+1])return!0;for(let e=l+1;e<u;++e)if(n[e])return!0}return!1},setRange:(t,n,i,a)=>{let o,s,c,l,u;for(;n<=a;++n)if(o=n*e+t,s=n*e+i,c=o>>>Aw,l=s>>>Aw,c===l)r(c,Nw[o&jw]&Pw[(s&jw)+1]);else for(r(c,Nw[o&jw]),r(l,Pw[(s&jw)+1]),u=c+1;u<l;++u)r(u,4294967295)},clearRange:(t,n,r,a)=>{let o,s,c,l,u;for(;n<=a;++n)if(o=n*e+t,s=n*e+r,c=o>>>Aw,l=s>>>Aw,c===l)i(c,Pw[o&jw]|Nw[(s&jw)+1]);else for(i(c,Pw[o&jw]),i(l,Nw[(s&jw)+1]),u=c+1;u<l;++u)i(u,0)},outOfBounds:(n,r,i,a)=>n<0||r<0||a>=t||i>=e}}function Iw(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=e=>~~((e+n)/r);return o.invert=e=>e*r-n,o.bitmap=()=>Fw(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}function Lw(e,t,n,r){let i=e.width,a=e.height;return function(e){let t=e.datum.datum.items[r].items,n=t.length,o=e.datum.fontSize,s=Zf.width(e.datum,e.datum.text),c=0,l,u,d,f,p,m,h;for(let r=0;r<n;++r)l=t[r].x,d=t[r].y,u=t[r].x2===void 0?l:t[r].x2,f=t[r].y2===void 0?d:t[r].y2,p=(l+u)/2,m=(d+f)/2,h=Math.abs(u-l+f-d),h>=c&&(c=h,e.x=p,e.y=m);return p=s/2,m=o/2,l=e.x-p,u=e.x+p,d=e.y-m,f=e.y+m,e.align=`center`,l<0&&u<=i?e.align=`left`:0<=l&&i<u&&(e.align=`right`),e.baseline=`middle`,d<0&&f<=a?e.baseline=`top`:0<=d&&a<f&&(e.baseline=`bottom`),!0}}function Rw(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 zw(e,t,n,r,i,a,o,s){let c=i*a/(r*2),l=e(t-c),u=e(t+c),d=e(n-(a/=2)),f=e(n+a);return o.outOfBounds(l,d,u,f)||o.getRange(l,d,u,f)||s&&s.getRange(l,d,u,f)}function Bw(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1];function c(t,n,r,c,l){let u=e.invert(t),d=e.invert(n),f=r,p=a,m;if(!Rw(u,d,c,l,i,a)&&!zw(e,u,d,l,c,f,o,s)&&!zw(e,u,d,l,c,l,o,null)){for(;p-f>=1;)m=(f+p)/2,zw(e,u,d,l,c,m,o,s)?p=m:f=m;if(f>r)return[u,d,f,!0]}}return function(t){let s=t.datum.datum.items[r].items,l=s.length,u=t.datum.fontSize,d=Zf.width(t.datum,t.datum.text),f=n?u:0,p=!1,m=!1,h=0,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te;for(let r=0;r<l;++r){for(g=s[r].x,v=s[r].y,_=s[r].x2===void 0?g:s[r].x2,y=s[r].y2===void 0?v:s[r].y2,g>_&&(te=g,g=_,_=te),v>y&&(te=v,v=y,y=te),w=e(g),E=e(_),T=~~((w+E)/2),D=e(v),k=e(y),O=~~((D+k)/2),S=T;S>=w;--S)for(C=O;C>=D;--C)ee=c(S,C,f,d,u),ee&&([t.x,t.y,f,p]=ee);for(S=T;S<=E;++S)for(C=O;C<=k;++C)ee=c(S,C,f,d,u),ee&&([t.x,t.y,f,p]=ee);!p&&!n&&(A=Math.abs(_-g+y-v),b=(g+_)/2,x=(v+y)/2,A>=h&&!Rw(b,x,d,u,i,a)&&!zw(e,b,x,u,d,u,o,null)&&(h=A,t.x=b,t.y=x,m=!0))}return p||m?(b=d/2,x=u/2,o.setRange(e(t.x-b),e(t.y-x),e(t.x+b),e(t.y+x)),t.align=`center`,t.baseline=`middle`,!0):!1}}var Vw=[-1,-1,1,1],Hw=[-1,1,-1,1];function Uw(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1],c=e.bitmap();return function(t){let l=t.datum.datum.items[r].items,u=l.length,d=t.datum.fontSize,f=Zf.width(t.datum,t.datum.text),p=[],m=n?d:0,h=!1,g=!1,_=0,v,y,b,x,S,C,w,T,E,D,O,k;for(let r=0;r<u;++r){for(v=l[r].x,b=l[r].y,y=l[r].x2===void 0?v:l[r].x2,x=l[r].y2===void 0?b:l[r].y2,p.push([e((v+y)/2),e((b+x)/2)]);p.length;)if([w,T]=p.pop(),!(o.get(w,T)||s.get(w,T)||c.get(w,T))){c.set(w,T);for(let e=0;e<4;++e)S=w+Vw[e],C=T+Hw[e],c.outOfBounds(S,C,S,C)||p.push([S,C]);if(S=e.invert(w),C=e.invert(T),E=m,D=a,!Rw(S,C,f,d,i,a)&&!zw(e,S,C,d,f,E,o,s)&&!zw(e,S,C,d,f,d,o,null)){for(;D-E>=1;)O=(E+D)/2,zw(e,S,C,d,f,O,o,s)?D=O:E=O;E>m&&(t.x=S,t.y=C,m=E,h=!0)}}!h&&!n&&(k=Math.abs(y-v+x-b),S=(v+y)/2,C=(b+x)/2,k>=_&&!Rw(S,C,f,d,i,a)&&!zw(e,S,C,d,f,d,o,null)&&(_=k,t.x=S,t.y=C,g=!0))}return h||g?(S=f/2,C=d/2,o.setRange(e(t.x-S),e(t.y-C),e(t.x+S),e(t.y+C)),t.align=`center`,t.baseline=`middle`,!0):!1}}var Ww=[`right`,`center`,`left`],Gw=[`bottom`,`middle`,`top`];function Kw(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1],c=r.length;return function(t){let l=t.boundary,u=t.datum.fontSize;if(l[2]<0||l[5]<0||l[0]>i||l[3]>a)return!1;let d=t.textWidth??0,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E;for(let i=0;i<c;++i){if(f=(n[i]&3)-1,p=(n[i]>>>2&3)-1,m=f===0&&p===0||r[i]<0,h=f&&p?Math.SQRT1_2:1,g=r[i]<0?-1:1,_=l[1+f]+r[i]*f*h,S=l[4+p]+g*u*p/2+r[i]*p*h,y=S-u/2,b=S+u/2,C=e(_),T=e(y),E=e(b),!d){if(qw(C,C,T,E,o,s,_,_,y,b,l,m))d=Zf.width(t.datum,t.datum.text);else continue}if(x=_+g*d*f/2,_=x-d/2,v=x+d/2,C=e(_),w=e(v),qw(C,w,T,E,o,s,_,v,y,b,l,m))return t.x=f?f*g<0?v:_:x,t.y=p?p*g<0?b:y:S,t.align=Ww[f*g+1],t.baseline=Gw[p*g+1],o.setRange(C,T,w,E),!0}return!1}}function qw(e,t,n,r,i,a,o,s,c,l,u,d){return!(i.outOfBounds(e,n,t,r)||(d&&a||i).getRange(e,n,t,r))}var Jw={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},Yw={naive:Lw,"reduced-search":Bw,floodfill:Uw};function Xw(e,t,n,r,i,a,o,s,c,l,u){if(!e.length)return e;let d=Math.max(r.length,i.length),f=Zw(r,d),p=Qw(i,d),m=$w(e[0].datum),h=m===`group`&&e[0].datum.items[c].marktype,g=h===`area`,_=eT(m,h,s,c),v=l===null||l===1/0,y=g&&u===`naive`,b=-1,x=-1,S=e.map(e=>{let t=v?Zf.width(e,e.text):void 0;return b=Math.max(b,t),x=Math.max(x,e.fontSize),{datum:e,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:_(e),textWidth:t}});l=l===null||l===1/0?Math.max(b,x)+Math.max(...r):l;let C=Iw(t[0],t[1],l),w;if(!y){n&&S.sort((e,t)=>n(e.datum,t.datum));let t=!1;for(let e=0;e<p.length&&!t;++e)t=p[e]===5||f[e]<0;let r=(m&&o||g)&&e.map(e=>e.datum);w=a.length||r?Ew(C,r||[],a,t,g):Tw(C,o&&S)}let T=g?Yw[u](C,w,o,c):Kw(C,w,p,f);return S.forEach(e=>e.opacity=+T(e)),S}function Zw(e,t){let n=new Float64Array(t),r=e.length;for(let t=0;t<r;++t)n[t]=e[t]||0;for(let e=r;e<t;++e)n[e]=n[r-1];return n}function Qw(e,t){let n=new Int8Array(t),r=e.length;for(let t=0;t<r;++t)n[t]|=Jw[e[t]];for(let e=r;e<t;++e)n[e]=n[r-1];return n}function $w(e){return e&&e.mark&&e.mark.marktype}function eT(e,t,n,r){let i=e=>[e.x,e.x,e.x,e.y,e.y,e.y];return e?e===`line`||e===`area`?e=>i(e.datum):t===`line`?e=>{let t=e.datum.items[r].items;return i(t.length?t[n===`start`?0:t.length-1]:{x:NaN,y:NaN})}:e=>{let t=e.datum.bounds;return[t.x1,(t.x1+t.x2)/2,t.x2,t.y1,(t.y1+t.y2)/2,t.y2]}:i}var tT=[`x`,`y`,`opacity`,`align`,`baseline`],nT=[`top-left`,`left`,`bottom-left`,`top`,`bottom`,`top-right`,`right`,`bottom-right`];function rT(e){L.call(this,null,e)}rT.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:nT},{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:tT.length,default:tT}]},F(rT,L,{transform(e,t){function n(n){let r=e[n];return m(r)&&t.modified(r.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n(`sort`)))return;(!e.size||e.size.length!==2)&&j(`Size parameter should be specified as a [width, height] array.`);let i=e.as||tT;return Xw(t.materialize(t.SOURCE).source||[],e.size,e.sort,k(e.offset==null?1:e.offset),k(e.anchor||nT),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||`end`,e.markIndex||0,e.padding===void 0?0:e.padding,e.method||`naive`).forEach(e=>{let t=e.datum;t[i[0]]=e.x,t[i[1]]=e.y,t[i[2]]=e.opacity,t[i[3]]=e.align,t[i[4]]=e.baseline}),t.reflow(r).modifies(i)}});var iT=t({loess:()=>oT,regression:()=>lT});function aT(e,t){var n=[],r=function(e){return e(s)},i,a,o,s,c,l;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)s=e[a],c=t.map(r),l=i[c],l||(i[c]=l=[],l.dims=c,n.push(l)),l.push(s);return n}function oT(e){L.call(this,null,e)}oT.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}]},F(oT,L,{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=aT(r,e.groupby),a=(e.groupby||[]).map(ve),o=a.length,s=e.as||[ve(e.x),ve(e.y)],c=[];i.forEach(t=>{Ya(t,e.x,e.y,e.bandwidth||.3).forEach(e=>{let n={};for(let e=0;e<o;++e)n[a[e]]=t.dims[e];n[s[0]]=e[0],n[s[1]]=e[1],c.push(Zr(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=c}return n}});var sT={constant:Pa,linear:za,log:Ba,exp:Va,pow:Ha,quad:Ua,poly:Wa},cT=(e,t)=>e===`poly`?t:e===`quad`?2:1;function lT(e){L.call(this,null,e)}lT.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(sT)},{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}]},F(lT,L,{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=aT(r,e.groupby),a=(e.groupby||[]).map(ve),o=e.method||`linear`,s=e.order==null?3:e.order,c=cT(o,s),l=e.as||[ve(e.x),ve(e.y)],u=sT[o],d=[],f=e.extent;T(sT,o)||j(`Invalid regression method: `+o),f!=null&&o===`log`&&f[0]<=0&&(t.dataflow.warn(`Ignoring extent with values <= 0 for log regression.`),f=null),i.forEach(n=>{if(n.length<=c){t.dataflow.warn(`Skipping regression with more parameters than data points.`);return}let r=u(n,e.x,e.y,s);if(e.params){d.push(Zr({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));return}let i=f||ur(n,e.x),p=e=>{let t={};for(let e=0;e<a.length;++e)t[a[e]]=n.dims[e];t[l[0]]=e[0],t[l[1]]=e[1],d.push(Zr(t))};o===`linear`||o===`constant`?i.forEach(e=>p([e,r.predict(e)])):eo(r.predict,i,25,200).forEach(p)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=d}return n}});var uT=11102230246251565e-32,dT=134217729,fT=3.000000000000001*uT;function pT(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function mT(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function B(e){return new Float64Array(e)}var hT=(3+16*uT)*uT,gT=(2+12*uT)*uT,_T=(9+64*uT)*uT*uT,vT=B(4),yT=B(8),bT=B(12),xT=B(16),ST=B(4);function CT(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=dT*T,p=f-(f-T),m=T-p,f=dT*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=dT*D,p=f-(f-D),m=D-p,f=dT*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,vT[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,vT[1]=y-(_+d)+(d-S),w=v+_,d=w-v,vT[2]=v-(w-d)+(_-d),vT[3]=w;let k=mT(4,vT),A=gT*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=_T*o+fT*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=dT*s,p=f-(f-s),m=s-p,f=dT*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=dT*c,p=f-(f-c),m=c-p,f=dT*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,ST[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,ST[1]=y-(_+d)+(d-S),w=v+_,d=w-v,ST[2]=v-(w-d)+(_-d),ST[3]=w;let ee=pT(4,vT,4,ST,yT);b=T*u,f=dT*T,p=f-(f-T),m=T-p,f=dT*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=dT*D,p=f-(f-D),m=D-p,f=dT*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,ST[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,ST[1]=y-(_+d)+(d-S),w=v+_,d=w-v,ST[2]=v-(w-d)+(_-d),ST[3]=w;let te=pT(ee,yT,4,ST,bT);return b=s*u,f=dT*s,p=f-(f-s),m=s-p,f=dT*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=dT*c,p=f-(f-c),m=c-p,f=dT*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,ST[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,ST[1]=y-(_+d)+(d-S),w=v+_,d=w-v,ST[2]=v-(w-d)+(_-d),ST[3]=w,xT[pT(te,bT,4,ST,xT)-1]}function wT(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=hT*l?c:-CT(e,t,n,r,i,a,l)}(7+56*uT)*uT,(3+28*uT)*uT,(26+288*uT)*uT*uT,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(8),B(8),B(8),B(4),B(8),B(8),B(16),B(12),B(192),B(192),(10+96*uT)*uT,(4+48*uT)*uT,(44+576*uT)*uT*uT,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(4),B(4),B(4),B(8),B(16),B(16),B(16),B(32),B(32),B(48),B(64),B(1152),B(1152),(16+224*uT)*uT,(5+72*uT)*uT,(71+1408*uT)*uT*uT,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(1152),B(1152),B(1152),B(1152),B(1152),B(2304),B(2304),B(3456),B(5760),B(8),B(8),B(8),B(16),B(24),B(48),B(48),B(96),B(192),B(384),B(384),B(384),B(768),B(96),B(96),B(96),B(1152);var TT=2**-52,ET=new Uint32Array(512),DT=class e{static from(t,n=FT,r=IT){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=kT(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=kT(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=jT(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];NT(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(wT(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=MT(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=kT(e[2*t],e[2*t+1],S.x,S.y);NT(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=TT&&Math.abs(u-s)<=TT||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],wT(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],wT(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],wT(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(OT(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=ET[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(AT(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<ET.length&&(ET[i++]=s)}else{if(i===0)break;e=ET[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function OT(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function kT(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function AT(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function jT(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function MT(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function NT(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;PT(e,i,a),t[e[n]]>t[e[r]]&&PT(e,n,r),t[e[a]]>t[e[r]]&&PT(e,a,r),t[e[n]]>t[e[a]]&&PT(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;PT(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(NT(e,t,a,r),NT(e,t,n,o-1)):(NT(e,t,n,o-1),NT(e,t,a,r))}}function PT(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function FT(e){return e[0]}function IT(e){return e[1]}var LT=1e-6,RT=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)>LT||Math.abs(this._y1-i)>LT)&&(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}},zT=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}},mie=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 r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new RT:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new RT: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 RT: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 e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+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 e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new zT;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(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 e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-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],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,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 s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=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 n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=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,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_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}},hie=2*Math.PI,BT=Math.pow;function gie(e){return e[0]}function _ie(e){return e[1]}function vie(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function yie(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var bie=class e{static from(t,n=gie,r=_ie,i){return new e(`length`in t?xie(t,n,r,i):Float64Array.from(Sie(t,n,r,i)))}constructor(e){this._delaunator=new DT(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&vie(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=yie(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new DT(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new mie(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=BT(t-c[e*2],2)+BT(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=BT(t-c[r*2],2)+BT(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&BT(t-c[f*2],2)+BT(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new RT:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new RT:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,hie)}return n&&n.value()}renderHull(e){let t=e==null?e=new RT:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new zT;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new RT:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new zT;return this.renderTriangle(e,t),t.value()}};function xie(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*Sie(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 Cie=t({voronoi:()=>VT});function VT(e){L.call(this,null,e)}VT.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 wie=[-1e5,-1e5,1e5,1e5];F(VT,L,{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]]:wie;let a=this.value=bie.from(r,e.x,e.y).voronoi(i);for(let e=0,t=r.length;e<t;++e){let t=a.cellPolygon(e);r[e][n]=t&&!Eie(t)?Tie(t):null}return t.reflow(e.modified()).modifies(n)}});function Tie(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 Eie(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var Die=t({wordcloud:()=>JT}),HT=Math.PI/180,UT=64,WT=2048;function Oie(){var e=[256,256],t,n,r,i,a,o,s,c=GT,l=[],u=Math.random,d={};d.layout=function(){for(var c=f(Js()),d=Pie((e[0]>>5)*e[1]),m=null,h=l.length,g=-1,_=[],v=l.map(e=>({text:t(e),font:n(e),style:i(e),weight:a(e),rotate:o(e),size:~~(r(e)+1e-14),padding:s(e),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:e})).sort((e,t)=>t.size-e.size);++g<h;){var y=v[g];y.x=e[0]*(u()+.5)>>1,y.y=e[1]*(u()+.5)>>1,kie(c,y,v,g),y.hasText&&p(d,y,m)&&(_.push(y),m?jie(m,y):m=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=e[0]>>1,y.y-=e[1]>>1)}return _};function f(e){e.width=e.height=1;var t=Math.sqrt(e.getContext(`2d`).getImageData(0,0,1,1).data.length>>2);e.width=(UT<<5)/t,e.height=WT/t;var n=e.getContext(`2d`);return n.fillStyle=n.strokeStyle=`red`,n.textAlign=`center`,{context:n,ratio:t}}function p(t,n,r){for(var i=n.x,a=n.y,o=Math.hypot(e[0],e[1]),s=c(e),l=u()<.5?1:-1,d=-l,f,p,m;(f=s(d+=l))&&(p=~~f[0],m=~~f[1],!(Math.min(Math.abs(p),Math.abs(m))>=o));)if(n.x=i+p,n.y=a+m,!(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>e[0]||n.y+n.y1>e[1])&&(!r||!Aie(n,t,e[0]))&&(!r||Mie(n,r))){for(var h=n.sprite,g=n.width>>5,_=e[0]>>5,v=n.x-(g<<4),y=v&127,b=32-y,x=n.y1-n.y0,S=(n.y+n.y0)*_+(v>>5),C,w=0;w<x;w++){C=0;for(var T=0;T<=g;T++)t[S+T]|=C<<b|(T<g?(C=h[w*g+T])>>>y:0);S+=_}return n.sprite=null,!0}return!1}return d.words=function(e){return arguments.length?(l=e,d):l},d.size=function(t){return arguments.length?(e=[+t[0],+t[1]],d):e},d.font=function(e){return arguments.length?(n=KT(e),d):n},d.fontStyle=function(e){return arguments.length?(i=KT(e),d):i},d.fontWeight=function(e){return arguments.length?(a=KT(e),d):a},d.rotate=function(e){return arguments.length?(o=KT(e),d):o},d.text=function(e){return arguments.length?(t=KT(e),d):t},d.spiral=function(e){return arguments.length?(c=Fie[e]||e,d):c},d.fontSize=function(e){return arguments.length?(r=KT(e),d):r},d.padding=function(e){return arguments.length?(s=KT(e),d):s},d.random=function(e){return arguments.length?(u=e,d):u},d}function kie(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,(UT<<5)/a,WT/a);var o=0,s=0,c=0,l=n.length,u,d,f,p,m;for(--r;++r<l;){if(t=n[r],i.save(),i.font=t.style+` `+t.weight+` `+~~((t.size+1)/a)+`px `+t.font,u=i.measureText(t.text+`m`).width*a,f=t.size<<1,t.rotate){var h=Math.sin(t.rotate*HT),g=Math.cos(t.rotate*HT),_=u*g,v=u*h,y=f*g,b=f*h;u=Math.max(Math.abs(_+b),Math.abs(_-b))+31>>5<<5,f=~~Math.max(Math.abs(v+y),Math.abs(v-y))}else u=u+31>>5<<5;if(f>c&&(c=f),o+u>=UT<<5&&(o=0,s+=c,c=0),s+f>=WT)break;i.translate((o+(u>>1))/a,(s+(f>>1))/a),t.rotate&&i.rotate(t.rotate*HT),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=u,t.height=f,t.xoff=o,t.yoff=s,t.x1=u>>1,t.y1=f>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,o+=u}for(var x=i.getImageData(0,0,(UT<<5)/a,WT/a).data,S=[];--r>=0;)if(t=n[r],t.hasText){for(u=t.width,d=u>>5,f=t.y1-t.y0,p=0;p<f*d;p++)S[p]=0;if(o=t.xoff,o==null)return;s=t.yoff;var C=0,w=-1;for(m=0;m<f;m++){for(p=0;p<u;p++){var T=d*m+(p>>5),E=x[(s+m)*(UT<<5)+(o+p)<<2]?1<<31-p%32:0;S[T]|=E,C|=E}C?w=m:(t.y0++,f--,m--,s++)}t.y1=t.y0+w,t.sprite=S.slice(0,(t.y1-t.y0)*d)}}}function Aie(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,a=e.x-(i<<4),o=a&127,s=32-o,c=e.y1-e.y0,l=(e.y+e.y0)*n+(a>>5),u,d=0;d<c;d++){u=0;for(var f=0;f<=i;f++)if((u<<s|(f<i?(u=r[d*i+f])>>>o:0))&t[l+f])return!0;l+=n}return!1}function jie(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 Mie(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 GT(e){var t=e[0]/e[1];return function(e){return[t*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function Nie(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(e){var a=e<0?-1:1;switch(Math.sqrt(1+4*a*e)-a&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t}return[r,i]}}function Pie(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function KT(e){return typeof e==`function`?e:function(){return e}}var Fie={archimedean:GT,rectangular:Nie},qT=[`x`,`y`,`font`,`fontSize`,`fontStyle`,`fontWeight`,`angle`],Iie=[`text`,`font`,`rotate`,`fontSize`,`fontStyle`,`fontWeight`];function JT(e){L.call(this,Oie(),e)}JT.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:qT}]},F(JT,L,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&j(`Wordcloud size dimensions must be non-zero.`);function n(n){let r=e[n];return m(r)&&t.modified(r.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||Iie.some(n)))return;let i=t.materialize(t.SOURCE).source,a=this.value,o=e.as||qT,s=e.fontSize||14,c;if(m(s)?c=e.fontSizeRange:s=d(s),c){let e=s,t=Cl(`sqrt`)().domain(ur(i,e)).range(c);s=n=>t(e(n))}i.forEach(e=>{e[o[0]]=NaN,e[o[1]]=NaN,e[o[3]]=0});let l=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(s).random(oa).layout(),u=a.size(),f=u[0]>>1,p=u[1]>>1,h=l.length;for(let e=0,t,n;e<h;++e)t=l[e],n=t.datum,n[o[0]]=t.x+f,n[o[1]]=t.y+p,n[o[2]]=t.font,n[o[3]]=t.size,n[o[4]]=t.style,n[o[5]]=t.weight,n[o[6]]=t.rotate;return t.reflow(r).modifies(o)}});var Lie=t({crossfilter:()=>$T,resolvefilter:()=>eE}),Rie=e=>new Uint8Array(e),zie=e=>new Uint16Array(e),YT=e=>new Uint32Array(e);function Bie(){let e=8,t=[],n=YT(0),r=XT(0,e),i=XT(0,e);return{data:()=>t,seen:()=>n=Vie(n,t.length),add(e){for(let n=0,r=t.length,i=e.length,a;n<i;++n)a=e[n],a._index=r++,t.push(a)},remove(e,n){let a=t.length,o=Array(a-e),s=t,c,l,u;for(l=0;!n[l]&&l<a;++l)o[l]=t[l],s[l]=l;for(u=l;l<a;++l)c=t[l],n[l]?s[l]=-1:(s[l]=u,r[u]=r[l],i[u]=i[l],o[u]=c,c._index=u++),r[l]=0;return t=o,s},size:()=>t.length,curr:()=>r,prev:()=>i,reset:e=>i[e]=r[e],all:()=>e<257?255:e<65537?65535:4294967295,set(e,t){r[e]|=t},clear(e,t){r[e]&=~t},resize(t,n){(t>r.length||n>e)&&(e=Math.max(n,e),r=XT(t,e,r),i=XT(t,e))}}}function Vie(e,t,n){return e.length>=t?e:(n||=new e.constructor(t),n.set(e),n)}function XT(e,t,n){let r=(t<257?Rie:t<65537?zie:YT)(e);return n&&r.set(n),r}function ZT(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(e,t){let n=this,i=n.bisect(n.range,e.value),a=e.index,o=i[0],s=i[1],c=a.length,l;for(l=0;l<o;++l)t[a[l]]|=r;for(l=s;l<c;++l)t[a[l]]|=r;return n}}}function QT(){let e=YT(0),t=[],n=0;function r(r,i,a){if(!i.length)return[];let o=n,s=i.length,c=YT(s),l=Array(s),u,d,f;for(f=0;f<s;++f)l[f]=r(i[f]),c[f]=f;if(l=Hie(l,c),o)u=t,d=e,t=Array(o+s),e=YT(o+s),Uie(a,u,d,o,l,c,s,t,e);else{if(a>0)for(f=0;f<s;++f)c[f]+=a;t=l,e=c}return n=o+s,{index:c,value:l}}function i(r,i){let a=n,o,s,c;for(s=0;!i[e[s]]&&s<a;++s);for(c=s;s<a;++s)i[o=e[s]]||(e[c]=o,t[c]=t[s],++c);n=a-r}function a(t){for(let r=0,i=n;r<i;++r)e[r]=t[e[r]]}function o(e,r){let i;return r?i=r.length:(r=t,i=n),[He(r,e[0],0,i),He(r,e[1],0,i)]}return{insert:r,remove:i,bisect:o,reindex:a,index:()=>e,size:()=>n}}function Hie(e,t){return e.sort.call(t,(t,n)=>{let r=e[t],i=e[n];return r<i?-1:+(r>i)}),Or(e,t)}function Uie(e,t,n,r,i,a,o,s,c){let l=0,u=0,d;for(d=0;l<r&&u<o;++d)t[l]<i[u]?(s[d]=t[l],c[d]=n[l++]):(s[d]=i[u],c[d]=a[u++]+e);for(;l<r;++l,++d)s[d]=t[l],c[d]=n[l];for(;u<o;++u,++d)s[d]=i[u],c[d]=a[u]+e}function $T(e){L.call(this,Bie(),e),this._indices=null,this._dims=null}$T.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}}]},F($T,L,{transform(e,t){return this._dims?e.modified(`fields`)||e.fields.some(e=>t.modified(e.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,s=0,c,l;for(;s<o;++s)c=n[s].fname,l=i[c]||(i[c]=QT()),a.push(ZT(l,s,r[s]));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,s=this.value,c=s.curr(),l=s.prev(),u=s.all(),d=n.rem=n.add,f=n.mod,p=i.length,m={},h,g,_,v,y,b,x,S,C;if(l.set(c),t.rem.length&&(y=this.remove(e,t,n)),t.add.length&&s.add(t.add),t.mod.length)for(b={},v=t.mod,x=0,S=v.length;x<S;++x)b[v[x]._index]=1;for(x=0;x<p;++x)C=r[x],(!o[x]||e.modified(`fields`,x)||t.modified(C.fields))&&(_=C.fname,(h=m[_])||(a[_]=g=QT(),m[_]=h=g.insert(C,t.source,0)),o[x]=ZT(g,x,i[x]).onAdd(h,c));for(x=0,S=s.data().length;x<S;++x)if(y[x])continue;else l[x]===c[x]?b[x]&&c[x]!==u&&f.push(x):d.push(x);return s.mask=(1<<p)-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,s=e.fields,c={},l=n.add,u=i.size()+r.length,d=a.length,f=i.size(),p,m,h;i.resize(u,d),i.add(r);let g=i.curr(),_=i.prev(),v=i.all();for(p=0;p<d;++p)m=s[p].fname,h=c[m]||(c[m]=o[m].insert(s[p],r,f)),a[p].onAdd(h,g);for(;f<u;++f)_[f]=v,g[f]!==v&&l.push(f)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),a=r.all(),o=e.mod,s,c,l;for(s=0,c=o.length;s<c;++s)l=o[s]._index,i[l]!==a&&n.push(l)},remove(e,t,n){let r=this._indices,i=this.value,a=i.curr(),o=i.prev(),s=i.all(),c={},l=n.rem,u=t.rem,d,f,p,m;for(d=0,f=u.length;d<f;++d)p=u[d]._index,c[p]=1,o[p]=m=a[p],a[p]=s,m!==s&&l.push(p);for(p in r)r[p].remove(f,c);return this.reindex(t,f,c),c},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let e=i.remove(t,n);for(let t in r)r[t].reindex(e)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,s=0,c,l;for(n.filters=0,l=0;l<o;++l)e.modified(`query`,l)&&(c=l,++s);if(s===1)s=r[c].one,this.incrementOne(r[c],i[c],n.add,n.rem);else for(l=0,s=0;l<o;++l)e.modified(`query`,l)&&(s|=r[l].one,this.incrementAll(r[l],i[l],a,n.add),n.rem=n.add);return s},incrementAll(e,t,n,r){let i=this.value,a=i.seen(),o=i.curr(),s=i.prev(),c=e.index(),l=e.bisect(e.range),u=e.bisect(t),d=u[0],f=u[1],p=l[0],m=l[1],h=e.one,g,_,v;if(d<p)for(g=d,_=Math.min(p,f);g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;else if(d>p)for(g=p,_=Math.min(d,m);g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;if(f>m)for(g=Math.max(d,m),_=f;g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;else if(f<m)for(g=Math.max(p,f),_=m;g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value.curr(),a=e.index(),o=e.bisect(e.range),s=e.bisect(t),c=s[0],l=s[1],u=o[0],d=o[1],f=e.one,p,m,h;if(c<u)for(p=c,m=Math.min(u,l);p<m;++p)h=a[p],i[h]^=f,n.push(h);else if(c>u)for(p=u,m=Math.min(c,d);p<m;++p)h=a[p],i[h]^=f,r.push(h);if(l>d)for(p=Math.max(c,d),m=l;p<m;++p)h=a[p],i[h]^=f,n.push(h);else if(l<d)for(p=Math.max(u,l),m=d;p<m;++p)h=a[p],i[h]^=f,r.push(h);e.range=t.slice()}});function eE(e){L.call(this,null,e)}eE.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.`}]},F(eE,L,{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(),s=r.curr(),c=r.prev(),l=e=>s[e]&n?null:o[e];return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,e=>{let t=s[e]&n;return!t&&t^c[e]&n?o[e]:null}),a.filter(a.REM,e=>{let t=s[e]&n;return t&&!(t^(t^c[e]&n))?o[e]:null})):(a.filter(a.ADD,l),a.filter(a.REM,e=>(s[e]&n)===i?o[e]:null)),a.filter(a.SOURCE,e=>l(e._index))}});var tE=`year`,nE=`quarter`,rE=`month`,iE=`week`,aE=`date`,oE=`dayofyear`,sE=`hours`,cE=`minutes`,lE=`seconds`,uE=`milliseconds`,dE=[tE,nE,rE,iE,aE,`day`,oE,sE,cE,lE,uE],fE=dE.reduce((e,t,n)=>(e[t]=1+n,e),{});function pE(e){let t=k(e).slice(),n={};return t.length||j(`Missing time unit.`),t.forEach(e=>{T(fE,e)?n[e]=1:j(`Invalid time unit: ${e}.`)}),(n.week||n.day?1:0)+(n.quarter||n.month||n.date?1:0)+ +!!n.dayofyear>1&&j(`Incompatible time units: ${e}`),t.sort((e,t)=>fE[e]-fE[t]),t}var Wie={[tE]:`%Y `,[nE]:`Q%q `,[rE]:`%b `,[aE]:`%d `,[iE]:`W%U `,day:`%a `,[oE]:`%j `,[sE]:`%H:00`,[cE]:`00:%M`,[lE]:`:%S`,[uE]:`.%L`,[`${tE}-${rE}`]:`%Y-%m `,[`${tE}-${rE}-${aE}`]:`%Y-%m-%d `,[`${sE}-${cE}`]:`%H:%M`};function Gie(e,t){let n=D({},Wie,t),r=pE(e),i=r.length,a=``,o=0,s,c;for(o=0;o<i;)for(s=r.length;s>o;--s)if(c=r.slice(o,s).join(`-`),n[c]!=null){a+=n[c],o=s;break}return a.trim()}var mE=new Date;function hE(e){return mE.setFullYear(e),mE.setMonth(0),mE.setDate(1),mE.setHours(0,0,0,0),mE}function Kie(e){return gE(new Date(e))}function qie(e){return _E(new Date(e))}function gE(e){return St.count(hE(e.getFullYear())-1,e)}function _E(e){return gt.count(hE(e.getFullYear())-1,e)}function vE(e){return hE(e).getDay()}function Jie(e,t,n,r,i,a,o){if(0<=e&&e<100){let s=new Date(-1,t,n,r,i,a,o);return s.setFullYear(e),s}return new Date(e,t,n,r,i,a,o)}function Yie(e){return yE(new Date(e))}function Xie(e){return bE(new Date(e))}function yE(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return xt.count(t-1,e)}function bE(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return yt.count(t-1,e)}function xE(e){return mE.setTime(Date.UTC(e,0,1)),mE.getUTCDay()}function Zie(e,t,n,r,i,a,o){if(0<=e&&e<100){let e=new Date(Date.UTC(-1,t,n,r,i,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,i,a,o))}function SE(e,t,n,r,i){let a=t||1,o=A(e),s=(e,t,i)=>(i||=e,Qie(n[i],r[i],e===o&&a,t)),c=new Date,l=_(e),u=l.year?s(tE):d(2012),f=l.month?s(rE):l.quarter?s(nE):ae,p=l.week&&l.day?s(`day`,1,iE+`day`):l.week?s(iE,1):l.day?s(`day`,1):l.date?s(aE,1):l.dayofyear?s(oE,1):Se,m=l.hours?s(sE):ae,h=l.minutes?s(cE):ae,g=l.seconds?s(lE):ae,v=l.milliseconds?s(uE):ae;return function(e){c.setTime(+e);let t=u(c);return i(t,f(c),p(c,t),m(c),h(c),g(c),v(c))}}function Qie(e,t,n,r){let i=n<=1?e:r?(t,i)=>r+n*Math.floor((e(t,i)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(i(e,n),n):i}function CE(e,t,n){return t+e*7-(n+6)%7}var $ie={[tE]:e=>e.getFullYear(),[nE]:e=>Math.floor(e.getMonth()/3),[rE]:e=>e.getMonth(),[aE]:e=>e.getDate(),[sE]:e=>e.getHours(),[cE]:e=>e.getMinutes(),[lE]:e=>e.getSeconds(),[uE]:e=>e.getMilliseconds(),[oE]:e=>gE(e),[iE]:e=>_E(e),[iE+`day`]:(e,t)=>CE(_E(e),e.getDay(),vE(t)),day:(e,t)=>CE(1,e.getDay(),vE(t))},wE={[nE]:e=>3*e,[iE]:(e,t)=>CE(e,0,vE(t))};function TE(e,t){return SE(e,t||1,$ie,wE,Jie)}var EE={[tE]:e=>e.getUTCFullYear(),[nE]:e=>Math.floor(e.getUTCMonth()/3),[rE]:e=>e.getUTCMonth(),[aE]:e=>e.getUTCDate(),[sE]:e=>e.getUTCHours(),[cE]:e=>e.getUTCMinutes(),[lE]:e=>e.getUTCSeconds(),[uE]:e=>e.getUTCMilliseconds(),[oE]:e=>yE(e),[iE]:e=>bE(e),day:(e,t)=>CE(1,e.getUTCDay(),xE(t)),[iE+`day`]:(e,t)=>CE(bE(e),e.getUTCDay(),xE(t))},DE={[nE]:e=>3*e,[iE]:(e,t)=>CE(e,0,xE(t))};function OE(e,t){return SE(e,t||1,EE,DE,Zie)}var kE={[tE]:ht,[nE]:pt.every(3),[rE]:pt,[iE]:gt,[aE]:St,day:St,[oE]:St,[sE]:mee,[cE]:bt,[lE]:ut,[uE]:dt},AE={[tE]:vt,[nE]:mt.every(3),[rE]:mt,[iE]:yt,[aE]:xt,day:xt,[oE]:xt,[sE]:lt,[cE]:ft,[lE]:ut,[uE]:dt};function jE(e){return kE[e]}function ME(e){return AE[e]}function NE(e,t,n){return e?e.offset(t,n):void 0}function PE(e,t,n){return NE(jE(e),t,n)}function FE(e,t,n){return NE(ME(e),t,n)}function IE(e,t,n,r){return e?e.range(t,n,r):void 0}function LE(e,t,n,r){return IE(jE(e),t,n,r)}function RE(e,t,n,r){return IE(ME(e),t,n,r)}var zE=1e3,BE=zE*60,VE=BE*60,HE=VE*24,UE=HE*7,WE=HE*30,GE=HE*365,KE=[tE,rE,aE,sE,cE,lE,uE],qE=KE.slice(0,-1),JE=qE.slice(0,-1),YE=JE.slice(0,-1),XE=YE.slice(0,-1),ZE=[tE,iE],QE=[tE,rE],$E=[tE],eD=[[qE,1,zE],[qE,5,5*zE],[qE,15,15*zE],[qE,30,30*zE],[JE,1,BE],[JE,5,5*BE],[JE,15,15*BE],[JE,30,30*BE],[YE,1,VE],[YE,3,3*VE],[YE,6,6*VE],[YE,12,12*VE],[XE,1,HE],[ZE,1,UE],[QE,1,WE],[QE,3,3*WE],[$E,1,GE]];function tD(e){let t=e.extent,n=e.maxbins||40,r=Math.abs(g(t))/n,i=Le(e=>e[2]).right(eD,r),a,o;return i===eD.length?(a=$E,o=Pe(t[0]/GE,t[1]/GE,n)):i?(i=eD[r/eD[i-1][2]<eD[i][2]/r?i-1:i],a=i[0],o=i[1]):(a=KE,o=Math.max(Pe(t[0],t[1],n),1)),{units:a,step:o}}var nD=0;function rD(){nD=0}var iD=`p_`;function aD(e){return e&&e.gradient}function oD(e,t,n){let r=e.gradient,i=e.id,a=r===`radial`?iD:``;return i||(i=e.id=`gradient_`+nD++,r===`radial`?(e.x1=sD(e.x1,.5),e.y1=sD(e.y1,.5),e.r1=sD(e.r1,0),e.x2=sD(e.x2,.5),e.y2=sD(e.y2,.5),e.r2=sD(e.r2,.5),a=iD):(e.x1=sD(e.x1,0),e.y1=sD(e.y1,0),e.x2=sD(e.x2,1),e.y2=sD(e.y2,0))),t[i]=e,`url(`+(n||``)+`#`+a+i+`)`}function sD(e,t){return e??t}function cD(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(e,t){return n.push({offset:e,color:t}),r}}}var lD={basis:{curve:jt},"basis-closed":{curve:It},"basis-open":{curve:Lt},bundle:{curve:Bt,tension:`beta`,value:.85},cardinal:{curve:Ut,tension:`tension`,value:0},"cardinal-open":{curve:Pt,tension:`tension`,value:0},"cardinal-closed":{curve:Ft,tension:`tension`,value:0},"catmull-rom":{curve:qt,tension:`alpha`,value:.5},"catmull-rom-closed":{curve:zt,tension:`alpha`,value:.5},"catmull-rom-open":{curve:Nt,tension:`alpha`,value:.5},linear:{curve:Jt},"linear-closed":{curve:Gt},monotone:{horizontal:Ht,vertical:Mt},natural:{curve:Rt},step:{curve:Wt},"step-after":{curve:Kt},"step-before":{curve:Vt}};function uD(e,t,n){var r=T(lD,e)&&lD[e],i=null;return r&&(i=r.curve||r[t||`vertical`],r.tension&&n!=null&&(i=i[r.tension](n))),i}var dD={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},fD=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,pD=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,mD=/^((\s+,?\s*)|(,\s*))/,hD=/^[01]/;function gD(e){let t=[];return(e.match(fD)||[]).forEach(e=>{let n=e[0],r=n.toLowerCase(),i=dD[r],a=_D(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!==0)throw Error(`Invalid SVG path, incorrect parameter count`);if(t.push([n,...a.slice(0,i)]),o!==i){r===`m`&&(n=n===`M`?`L`:`l`);for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}function _D(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t=e===`a`&&(a===3||a===4)?hD:pD,o=n.slice(i).match(t);if(o===null)throw Error(`Invalid SVG path, incorrect parameter type`);i+=o[0].length,r.push(+o[0]);let s=n.slice(i).match(mD);s!==null&&(i+=s[0].length)}return r}var vD=Math.PI/180,yD=1e-14,bD=Math.PI/2,xD=Math.PI*2,SD=Math.sqrt(3)/2,CD={},wD={},TD=[].join;function ED(e,t,n,r,i,a,o,s,c){let l=TD.call(arguments);if(CD[l])return CD[l];let u=o*vD,d=Math.sin(u),f=Math.cos(u);n=Math.abs(n),r=Math.abs(r);let p=f*(s-e)*.5+d*(c-t)*.5,m=f*(c-t)*.5-d*(s-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=f/n,_=d/n,v=-d/r,y=f/r,b=g*s+_*c,x=v*s+y*c,S=g*e+_*t,C=v*e+y*t,w=1/((S-b)*(S-b)+(C-x)*(C-x))-.25;w<0&&(w=0);let T=Math.sqrt(w);a==i&&(T=-T);let E=.5*(b+S)-T*(C-x),D=.5*(x+C)+T*(S-b),O=Math.atan2(x-D,b-E),k=Math.atan2(C-D,S-E)-O;k<0&&a===1?k+=xD:k>0&&a===0&&(k-=xD);let A=Math.ceil(Math.abs(k/(bD+.001))),ee=[];for(let e=0;e<A;++e){let t=O+e*k/A,i=O+(e+1)*k/A;ee[e]=[E,D,t,i,n,r,d,f]}return CD[l]=ee}function DD(e){let t=TD.call(e);if(wD[t])return wD[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7];let u=l*o,d=-c*s,f=c*o,p=l*s,m=Math.cos(i),h=Math.sin(i),g=Math.cos(a),_=Math.sin(a),v=.5*(a-i),y=Math.sin(v*.5),b=8/3*y*y/Math.sin(v),x=n+m-b*h,S=r+h+b*m,C=n+g,w=r+_,T=C+b*_,E=w-b*g;return wD[t]=[u*x+d*S,f*x+p*S,u*T+d*E,f*T+p*E,u*C+d*w,f*C+p*w]}var OD=[`l`,0,0,0,0,0,0,0];function kD(e,t,n){let r=OD[0]=e[0];if(r===`a`||r===`A`)OD[1]=t*e[1],OD[2]=n*e[2],OD[3]=e[3],OD[4]=e[4],OD[5]=e[5],OD[6]=t*e[6],OD[7]=n*e[7];else if(r===`h`||r===`H`)OD[1]=t*e[1];else if(r===`v`||r===`V`)OD[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)OD[i]=(i%2==1?t:n)*e[i];return OD}function AD(e,t,n,r,i,a){var o,s=null,c=0,l=0,u=0,d=0,f,p,m,h,g=0,_=0;n??=0,r??=0,i??=1,a??=i,e.beginPath&&e.beginPath();for(var v=0,y=t.length;v<y;++v){switch(o=t[v],(i!==1||a!==1)&&(o=kD(o,i,a)),o[0]){case`l`:c+=o[1],l+=o[2],e.lineTo(c+n,l+r);break;case`L`:c=o[1],l=o[2],e.lineTo(c+n,l+r);break;case`h`:c+=o[1],e.lineTo(c+n,l+r);break;case`H`:c=o[1],e.lineTo(c+n,l+r);break;case`v`:l+=o[1],e.lineTo(c+n,l+r);break;case`V`:l=o[1],e.lineTo(c+n,l+r);break;case`m`:c+=o[1],l+=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`M`:c=o[1],l=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`c`:f=c+o[5],p=l+o[6],u=c+o[3],d=l+o[4],e.bezierCurveTo(c+o[1]+n,l+o[2]+r,u+n,d+r,f+n,p+r),c=f,l=p;break;case`C`:c=o[5],l=o[6],u=o[3],d=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,u+n,d+r,c+n,l+r);break;case`s`:f=c+o[3],p=l+o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,c+o[1]+n,l+o[2]+r,f+n,p+r),u=c+o[1],d=l+o[2],c=f,l=p;break;case`S`:f=o[3],p=o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`q`:f=c+o[3],p=l+o[4],u=c+o[1],d=l+o[2],e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`Q`:f=o[3],p=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`t`:f=c+o[1],p=l+o[2],s[0].match(/[QqTt]/)===null?(u=c,d=l):s[0]===`t`?(u=2*c-m,d=2*l-h):s[0]===`q`&&(u=2*c-u,d=2*l-d),m=u,h=d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p,u=c+o[1],d=l+o[2];break;case`T`:f=o[1],p=o[2],u=2*c-u,d=2*l-d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`a`:jD(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+l+r]),c+=o[6],l+=o[7];break;case`A`:jD(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),c=o[6],l=o[7];break;case`z`:case`Z`:c=g,l=_,e.closePath()}s=o}}function jD(e,t,n,r){let i=ED(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=DD(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}var MD=.5773502691896257,ND={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,xD)}},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=SD*n,i=r-n*MD,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=SD*n,i=r-n*MD;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=SD*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=SD*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=SD*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=SD*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 PD(e){return T(ND,e)?ND[e]:ID(e)}var FD={};function ID(e){if(!T(FD,e)){let t=gD(e);FD[e]={draw:function(e,n){AD(e,t,0,0,Math.sqrt(n)/2)}}}return FD[e]}var LD=.448084975506;function RD(e){return e.x}function zD(e){return e.y}function BD(e){return e.width}function VD(e){return e.height}function HD(e){return typeof e==`function`?e:()=>+e}function UD(e,t,n){return Math.max(t,Math.min(e,n))}function WD(){var e=RD,t=zD,n=BD,r=VD,i=HD(0),a=i,o=i,s=i,c=null;function l(l,u,d){var f,p=u??+e.call(this,l),m=d??+t.call(this,l),h=+n.call(this,l),g=+r.call(this,l),_=Math.min(h,g)/2,v=UD(+i.call(this,l),0,_),y=UD(+a.call(this,l),0,_),b=UD(+o.call(this,l),0,_),x=UD(+s.call(this,l),0,_);if(c||=f=Ct(),v<=0&&y<=0&&b<=0&&x<=0)c.rect(p,m,h,g);else{var S=p+h,C=m+g;c.moveTo(p+v,m),c.lineTo(S-y,m),c.bezierCurveTo(S-LD*y,m,S,m+LD*y,S,m+y),c.lineTo(S,C-x),c.bezierCurveTo(S,C-LD*x,S-LD*x,C,S-x,C),c.lineTo(p+b,C),c.bezierCurveTo(p+LD*b,C,p,C-LD*b,p,C-b),c.lineTo(p,m+v),c.bezierCurveTo(p,m+LD*v,p+LD*v,m,p+v,m),c.closePath()}if(f)return c=null,f+``||null}return l.x=function(t){return arguments.length?(e=HD(t),l):e},l.y=function(e){return arguments.length?(t=HD(e),l):t},l.width=function(e){return arguments.length?(n=HD(e),l):n},l.height=function(e){return arguments.length?(r=HD(e),l):r},l.cornerRadius=function(e,t,n,r){return arguments.length?(i=HD(e),a=t==null?i:HD(t),s=n==null?i:HD(n),o=r==null?a:HD(r),l):i},l.context=function(e){return arguments.length?(c=e??null,l):c},l}function GD(){var e,t,n,r,i=null,a,o,s,c;function l(e,t,n){let r=n/2;if(a){var l=s-t,u=e-o;if(l||u){var d=Math.hypot(l,u),f=(l/=d)*c,p=(u/=d)*c,m=Math.atan2(u,l);i.moveTo(o-f,s-p),i.lineTo(e-l*r,t-u*r),i.arc(e,t,r,m-Math.PI,m),i.lineTo(o+f,s+p),i.arc(o,s,c,m,m+Math.PI)}else i.arc(e,t,r,0,xD);i.closePath()}else a=1;o=e,s=t,c=r}function u(o){var s,c=o.length,u,d=!1,f;for(i??=f=Ct(),s=0;s<=c;++s)!(s<c&&r(u=o[s],s,o))===d&&(d=!d)&&(a=0),d&&l(+e(u,s,o),+t(u,s,o),+n(u,s,o));if(f)return i=null,f+``||null}return u.x=function(t){return arguments.length?(e=t,u):e},u.y=function(e){return arguments.length?(t=e,u):t},u.size=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.context=function(e){return arguments.length?(i=e??null,u):i},u}function KD(e,t){return e??t}var qD=e=>e.x||0,JD=e=>e.y||0,YD=e=>e.width||0,XD=e=>e.height||0,ZD=e=>(e.x||0)+(e.width||0),QD=e=>(e.y||0)+(e.height||0),$D=e=>e.startAngle||0,eO=e=>e.endAngle||0,tO=e=>e.padAngle||0,nO=e=>e.innerRadius||0,rO=e=>e.outerRadius||0,iO=e=>e.cornerRadius||0,aO=e=>KD(e.cornerRadiusTopLeft,e.cornerRadius)||0,oO=e=>KD(e.cornerRadiusTopRight,e.cornerRadius)||0,sO=e=>KD(e.cornerRadiusBottomRight,e.cornerRadius)||0,cO=e=>KD(e.cornerRadiusBottomLeft,e.cornerRadius)||0,lO=e=>KD(e.size,64),uO=e=>e.size||1,dO=e=>e.defined!==!1,fO=e=>PD(e.shape||`circle`),pO=kt().startAngle($D).endAngle(eO).padAngle(tO).innerRadius(nO).outerRadius(rO).cornerRadius(iO),mO=Ks().x(qD).y1(JD).y0(QD).defined(dO),hO=Ks().y(JD).x1(qD).x0(ZD).defined(dO),gO=Yt().x(qD).y(JD).defined(dO),_O=WD().x(qD).y(JD).width(YD).height(XD).cornerRadius(aO,oO,sO,cO),vO=qs().type(fO).size(lO),yO=GD().x(qD).y(JD).defined(dO).size(uO);function bO(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function xO(e,t){return pO.context(e)(t)}function SO(e,t){let n=t[0],r=n.interpolate||`linear`;return(n.orient===`horizontal`?hO:mO).curve(uD(r,n.orient,n.tension)).context(e)(t)}function CO(e,t){let n=t[0],r=n.interpolate||`linear`;return gO.curve(uD(r,n.orient,n.tension)).context(e)(t)}function wO(e,t,n,r){return _O.context(e)(t,n,r)}function TO(e,t){return(t.mark.shape||t.shape).context(e)(t)}function EO(e,t){return vO.context(e)(t)}function DO(e,t){return yO.context(e)(t)}var OO=1;function kO(){OO=1}function AO(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||=`clip`+OO++,o=i.clipping[a]||(i.clipping[a]={id:a});return m(r)?o.path=r(null):bO(n)?o.path=wO(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),`url(#`+a+`)`}function jO(e){this.clear(),e&&this.union(e)}jO.prototype={clone(){return new jO(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,s=Math.cos(e),c=Math.sin(e),l=t-t*s+n*c,u=n-t*c-n*s;return[s*r-c*i+l,c*r+s*i+u,s*r-c*o+l,c*r+s*o+u,s*a-c*i+l,c*a+s*i+u,s*a-c*o+l,c*a+s*o+u]},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 MO(e){this.mark=e,this.bounds=this.bounds||new jO}function NO(e){MO.call(this,e),this.items=this.items||[]}F(NO,MO);var PO=class{constructor(e){this._pending=0,this._loader=e||te()}pending(){return this._pending}sanitizeURL(e){let t=this;return FO(t),t._loader.sanitize(e,{context:`href`}).then(e=>(IO(t),e)).catch(()=>(IO(t),null))}loadImage(e){let t=this,n=Ys();return FO(t),t._loader.sanitize(e,{context:`image`}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=T(e,`crossOrigin`)?e.crossOrigin:`anonymous`;return a!=null&&(i.crossOrigin=a),i.onload=()=>IO(t),i.onerror=()=>IO(t),i.src=r,i}).catch(e=>(IO(t),{complete:!1,width:0,height:0,src:e&&e.url||``}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function FO(e){e._pending+=1}function IO(e){--e._pending}function LO(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?RO(t,r):0))}return e}function RO(e,t){return e.strokeJoin&&e.strokeJoin!==`miter`?0:t}var zO=xD-1e-8,BO,VO,HO,UO,WO,GO,KO,qO,JO=(e,t)=>BO.add(e,t),YO=(e,t)=>JO(VO=e,HO=t),XO=e=>JO(e,BO.y1),ZO=e=>JO(BO.x1,e),QO=(e,t)=>WO*e+KO*t,$O=(e,t)=>GO*e+qO*t,ek=(e,t)=>JO(QO(e,t),$O(e,t)),tk=(e,t)=>YO(QO(e,t),$O(e,t));function nk(e,t){return BO=e,t?(UO=t*vD,WO=qO=Math.cos(UO),GO=Math.sin(UO),KO=-GO):(WO=qO=1,UO=GO=KO=0),rk}var rk={beginPath(){},closePath(){},moveTo:tk,lineTo:tk,rect(e,t,n,r){UO?(ek(e+n,t),ek(e+n,t+r),ek(e,t+r),tk(e,t)):(JO(e+n,t+r),YO(e,t))},quadraticCurveTo(e,t,n,r){let i=QO(e,t),a=$O(e,t),o=QO(n,r),s=$O(n,r);ik(VO,i,o,XO),ik(HO,a,s,ZO),YO(o,s)},bezierCurveTo(e,t,n,r,i,a){let o=QO(e,t),s=$O(e,t),c=QO(n,r),l=$O(n,r),u=QO(i,a),d=$O(i,a);ak(VO,o,c,u,XO),ak(HO,s,l,d,ZO),YO(u,d)},arc(e,t,n,r,i,a){if(r+=UO,i+=UO,VO=n*Math.cos(i)+e,HO=n*Math.sin(i)+t,Math.abs(i-r)>zO)JO(e-n,t-n),JO(e+n,t+n);else{let o=r=>JO(n*Math.cos(r)+e,n*Math.sin(r)+t),s,c;if(o(r),o(i),i!==r){if(r%=xD,r<0&&(r+=xD),i%=xD,i<0&&(i+=xD),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=xD,s=r-r%bD,c=0;c<4&&s>i;++c,s-=bD)o(s);else for(s=r-r%bD+bD,c=0;c<4&&s<i;++c,s+=bD)o(s)}}}};function ik(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function ak(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,s=e-t,c=0,l=0,u;Math.abs(a)>yD?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),c=(-o+u)/a,l=(-o-u)/a)):c=.5*s/o,0<c&&c<1&&i(ok(c,e,t,n,r)),0<l&&l<1&&i(ok(l,e,t,n,r))}function ok(e,t,n,r,i){let a=1-e,o=a*a,s=e*e;return o*a*t+3*o*e*n+3*a*s*r+s*e*i}var sk=(sk=Js(1,1))?sk.getContext(`2d`):null,ck=new jO;function lk(e){return function(t,n){if(!sk)return!0;e(sk,t),ck.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=ck;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(sk.isPointInPath(t,e))return!0;return!1}}function uk(e,t){return t.contains(e.x||0,e.y||0)}function dk(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(ck.set(n,r,n+i,r+a))}function fk(e,t){let n=e.x||0,r=e.y||0;return pk(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function pk(e,t,n,r,i){let{x1:a,y1:o,x2:s,y2:c}=e,l=r-t,u=i-n,d=0,f=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(a-t)),g===1&&(p=l,m=s-t),g===2&&(p=-u,m=-(o-n)),g===3&&(p=u,m=c-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>f)return!1;h>d&&(d=h)}else if(p>0){if(h<d)return!1;h<f&&(f=h)}}return!0}function mk(e,t){e.globalCompositeOperation=t.blend||`source-over`}function hk(e,t){return e??t}function gk(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function _k(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient===`radial`)a=e.createRadialGradient(n.x1+hk(t.x1,.5)*r,n.y1+hk(t.y1,.5)*i,Math.max(r,i)*hk(t.r1,0),n.x1+hk(t.x2,.5)*r,n.y1+hk(t.y2,.5)*i,Math.max(r,i)*hk(t.r2,.5));else{let o=hk(t.x1,0),s=hk(t.y1,0),c=hk(t.x2,1),l=hk(t.y2,0);if(o===c||s===l||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+s*i,n.x1+c*r,n.y1+l*i);else{let n=Js(Math.ceil(r),Math.ceil(i)),a=n.getContext(`2d`);return a.scale(r,i),a.fillStyle=gk(a.createLinearGradient(o,s,c,l),t.stops),a.fillRect(0,0,r,i),e.createPattern(n,`no-repeat`)}}return gk(a,t.stops)}function vk(e,t,n){return aD(n)?_k(e,n,t.bounds):n}function yk(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0&&(e.globalAlpha=n,e.fillStyle=vk(e,t,t.fill),!0)}var bk=[];function xk(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=vk(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||bk),e.lineDashOffset=t.strokeDashOffset||0),!0))}function Sk(e,t){return e.zindex-t.zindex||e.index-t.index}function Ck(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(Sk)}function wk(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Ck(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 Tk(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Ck(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 Ek(e){return function(t,n,r){wk(n,n=>{(!r||r.intersects(n.bounds))&&Ok(e,t,n,n)})}}function Dk(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&Ok(e,t,n.items[0],n.items)}}function Ok(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(mk(t,n),n.fill&&yk(t,n,i)&&t.fill(),n.stroke&&xk(t,n,i)&&t.stroke()))}function kk(e){return e||=De,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,Tk(n,n=>{let s=n.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,n,r,i,a,o))return n})}}function Ak(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,s=t??o.fill,c=o.stroke&&n.isPointInStroke,l,u;return c&&(l=o.strokeWidth,u=o.strokeCap,n.lineWidth=l??1,n.lineCap=u??`butt`),e(n,r)?!1:s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a)}}function jk(e){return kk(Ak(e))}function Mk(e,t){return`translate(`+e+`,`+t+`)`}function Nk(e){return`rotate(`+e+`)`}function Pk(e,t){return`scale(`+e+`,`+t+`)`}function Fk(e){return Mk(e.x||0,e.y||0)}function Ik(e){return Mk(e.x||0,e.y||0)+(e.angle?` `+Nk(e.angle):``)}function Lk(e){return Mk(e.x||0,e.y||0)+(e.angle?` `+Nk(e.angle):``)+(e.scaleX||e.scaleY?` `+Pk(e.scaleX||1,e.scaleY||1):``)}function Rk(e,t,n){function r(e,n){e(`transform`,Ik(n)),e(`d`,t(null,n))}function i(e,n){return t(nk(e,n.angle),n),LO(e,n).translate(n.x||0,n.y||0)}function a(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=vD),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:`path`,nested:!1,attr:r,bound:i,draw:Ek(a),pick:jk(a),isect:n||lk(a)}}var zk=Rk(`arc`,xO);function Bk(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,s;--i>=0;)e[i].defined!==!1&&(s=Math.abs(e[i][r]-n),s<a&&(a=s,o=e[i]));return o}function Vk(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 Hk(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 Uk(e,t,n){function r(e,n){var r=n.mark.items;r.length&&e(`d`,t(null,r))}function i(e,n){var r=n.items;return r.length===0?e:(t(nk(e),r),LO(e,r[0]))}function a(e,n){e.beginPath(),t(e,n)}let o=Ak(a);function s(e,t,n,r,i,a){var s=t.items,c=t.bounds;return!s||!s.length||c&&!c.contains(i,a)?null:(n*=e.pixelRatio,r*=e.pixelRatio,o(e,s,n,r)?s[0]:null)}return{type:e,tag:`path`,nested:!0,attr:r,bound:i,draw:Dk(a),pick:s,isect:uk,tip:n}}var Wk=Uk(`area`,SO,Bk);function Gk(e,t){var n=t.clip;e.save(),m(n)?(e.beginPath(),n(e),e.clip()):Kk(e,t.group)}function Kk(e,t){e.beginPath(),bO(t)?wO(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function qk(e){let t=hk(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function Jk(e,t){e(`transform`,Fk(t))}function Yk(e,t){let n=qk(t);e(`d`,wO(null,t,n,n))}function Xk(e,t){e(`class`,`background`),e(`aria-hidden`,!0),Yk(e,t)}function Zk(e,t){e(`class`,`foreground`),e(`aria-hidden`,!0),t.strokeForeground?Yk(e,t):e(`d`,``)}function Qk(e,t,n){e(`clip-path`,t.clip?AO(n,t,t):null)}function $k(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),LO(e,t),e.translate(t.x||0,t.y||0)}function eA(e,t,n,r){let i=qk(t);e.beginPath(),wO(e,t,(n||0)+i,(r||0)+i)}var tA=Ak(eA),nA=Ak(eA,!1),rA=Ak(eA,!0);function iA(e,t,n,r){wk(t,t=>{let i=t.x||0,a=t.y||0,o=t.strokeForeground,s=t.opacity==null?1:t.opacity;(t.stroke||t.fill)&&s&&(eA(e,t,i,a),mk(e,t),t.fill&&yk(e,t,s)&&e.fill(),t.stroke&&!o&&xk(e,t,s)&&e.stroke()),e.save(),e.translate(i,a),t.clip&&Kk(e,t),n&&n.translate(-i,-a),wk(t,t=>{(t.marktype===`group`||r==null||r.includes(t.marktype))&&this.draw(e,t,n,r)}),n&&n.translate(i,a),e.restore(),o&&t.stroke&&s&&(eA(e,t,i,a),mk(e,t),xk(e,t,s)&&e.stroke())})}function aA(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,s=r*e.pixelRatio;return Tk(t,c=>{let l,u,d,f=c.bounds;if(f&&!f.contains(i,a))return;u=c.x||0,d=c.y||0;let p=u+(c.width||0),m=d+(c.height||0),h=c.clip;if(h&&(i<u||i>p||a<d||a>m))return;if(e.save(),e.translate(u,d),u=i-u,d=a-d,h&&bO(c)&&!rA(e,c,o,s))return e.restore(),null;let g=c.strokeForeground,_=t.interactive!==!1;return _&&g&&c.stroke&&nA(e,c,o,s)?(e.restore(),c):(l=Tk(c,e=>oA(e,u,d)?this.pick(e,n,r,u,d):null),!l&&_&&(c.fill||!g&&c.stroke)&&tA(e,c,o,s)&&(l=c),e.restore(),l||null)})}function oA(e,t,n){return(e.interactive!==!1||e.marktype===`group`)&&e.bounds&&e.bounds.contains(t,n)}var sA={type:`group`,tag:`g`,nested:!1,attr:Jk,bound:$k,draw:iA,pick:aA,isect:dk,content:Qk,background:Xk,foreground:Zk},cA={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,version:`1.1`};function lA(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(t=>{e.image=t,e.image.url=e.url})),n}function uA(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 dA(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 fA(e,t){return e===`center`?t/2:e===`right`?t:0}function pA(e,t){return e===`middle`?t/2:e===`bottom`?t:0}function mA(e,t,n){let r=lA(t,n),i=uA(t,r),a=dA(t,r),o=(t.x||0)-fA(t.align,i),s=(t.y||0)-pA(t.baseline,a);e(`href`,!r.src&&r.toDataURL?r.toDataURL():r.src||``,cA[`xmlns:xlink`],`xlink:href`),e(`transform`,Mk(o,s)),e(`width`,i),e(`height`,a),e(`preserveAspectRatio`,t.aspect===!1?`none`:`xMidYMid`)}function hA(e,t){let n=t.image,r=uA(t,n),i=dA(t,n),a=(t.x||0)-fA(t.align,r),o=(t.y||0)-pA(t.baseline,i);return e.set(a,o,a+r,o+i)}function gA(e,t,n){wk(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=lA(t,this),i=uA(t,r),a=dA(t,r);if(i===0||a===0)return;let o=(t.x||0)-fA(t.align,i),s=(t.y||0)-pA(t.baseline,a),c,l,u;t.aspect!==!1&&(c=r.width/r.height,l=t.width/t.height,c===c&&l===l&&c!==l&&(l<c?(u=i/c,s+=(a-u)/2,a=u):(u=a*c,o+=(i-u)/2,i=u))),(r.complete||r.toDataURL)&&(mk(e,t),e.globalAlpha=t.opacity??1,e.imageSmoothingEnabled=t.smooth!==!1,e.drawImage(r,o,s,i,a))})}var _A={type:`image`,tag:`image`,nested:!1,attr:mA,bound:hA,draw:gA,pick:kk(),isect:De,get:lA,xOffset:fA,yOffset:pA},vA=Uk(`line`,CO,Vk);function yA(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e(`vector-effect`,`non-scaling-stroke`),e(`transform`,Lk(t)),e(`d`,t.path)}function bA(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,s=(t.angle||0)*vD,c=t.pathCache;(!c||c.path!==n)&&((t.pathCache=c=gD(n)).path=n),s&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(s),AD(e,c,0,0,a,o),e.rotate(-s),e.translate(-r,-i)):AD(e,c,r,i,a,o)}function xA(e,t){return bA(nk(e,t.angle),t)?e.set(0,0,0,0):LO(e,t,!0)}var SA={type:`path`,tag:`path`,nested:!1,attr:yA,bound:xA,draw:Ek(bA),pick:jk(bA),isect:lk(bA)};function CA(e,t){e(`d`,wO(null,t))}function wA(e,t){var n,r;return LO(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function TA(e,t){e.beginPath(),wO(e,t)}var EA={type:`rect`,tag:`path`,nested:!1,attr:CA,bound:wA,draw:Ek(TA),pick:jk(TA),isect:dk};function DA(e,t){e(`transform`,Fk(t)),e(`x2`,t.x2==null?0:t.x2-(t.x||0)),e(`y2`,t.y2==null?0:t.y2-(t.y||0))}function OA(e,t){var n,r;return LO(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function kA(e,t,n){var r,i,a,o;return t.stroke&&xk(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 AA(e,t,n){wk(t,t=>{if(!(n&&!n.intersects(t.bounds))){var r=t.opacity==null?1:t.opacity;r&&kA(e,t,r)&&(mk(e,t),e.stroke())}})}function jA(e,t,n,r){return e.isPointInStroke?kA(e,t,1)&&e.isPointInStroke(n,r):!1}var MA={type:`rule`,tag:`line`,nested:!1,attr:DA,bound:OA,draw:AA,pick:kk(jA),isect:fk},NA=Rk(`shape`,TO),PA=Rk(`symbol`,EO,uk),FA=yr(),IA={height:HA,measureWidth:BA,estimateWidth:RA,width:RA,canvas:LA};LA(!0);function LA(e){IA.width=e&&sk?BA:RA}function RA(e,t){return zA(qA(e,t),HA(e))}function zA(e,t){return~~(.8*e.length*t)}function BA(e,t){return HA(e)<=0||!(t=qA(e,t))?0:VA(t,ZA(e))}function VA(e,t){let n=`(${t}) ${e}`,r=FA.get(n);return r===void 0&&(sk.font=t,r=sk.measureText(e).width,FA.set(n,r)),r}function HA(e){return e.fontSize==null?11:+e.fontSize||0}function UA(e){return e.lineHeight==null?HA(e)+2:e.lineHeight}function WA(e){return N(e)?e.length>1?e:e[0]:e}function GA(e){return WA(e.lineBreak&&e.text&&!N(e.text)?e.text.split(e.lineBreak):e.text)}function KA(e){let t=GA(e);return(N(t)?t.length-1:0)*UA(e)}function qA(e,t){let n=t==null?``:(t+``).trim();return e.limit>0&&n.length?YA(e,n):n}function JA(e){if(IA.width===BA){let t=ZA(e);return e=>VA(e,t)}if(IA.width===RA){let t=HA(e);return e=>zA(e,t)}return t=>IA.width(e,t)}function YA(e,t){var n=+e.limit,r=JA(e);if(r(t)<n)return t;var i=e.ellipsis||`…`,a=e.dir===`rtl`,o=0,s=t.length,c;if(n-=r(i),a){for(;o<s;)c=o+s>>>1,r(t.slice(c))>n?o=c+1:s=c;return i+t.slice(o)}for(;o<s;)c=1+(o+s>>>1),r(t.slice(0,c))<n?o=c:s=c-1;return t.slice(0,o)+i}function XA(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,`'`):n)||`sans-serif`}function ZA(e,t){return(e.fontStyle?e.fontStyle+` `:``)+(e.fontVariant?e.fontVariant+` `:``)+(e.fontWeight?e.fontWeight+` `:``)+HA(e)+`px `+XA(e,t)}function QA(e){var t=e.baseline,n=HA(e);return Math.round(t===`top`?.79*n:t===`middle`?.3*n:t===`bottom`?-.21*n:t===`line-top`?.29*n+.5*UA(e):t===`line-bottom`?.29*n-.5*UA(e):0)}var $A={left:`start`,center:`middle`,right:`end`},ej=new jO;function tj(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-bD,t+=r*Math.cos(i),n+=r*Math.sin(i)),ej.x1=t,ej.y1=n,ej}function nj(e,t){var n=t.dx||0,r=(t.dy||0)+QA(t),i=tj(t),a=i.x1,o=i.y1,s=t.angle||0,c;e(`text-anchor`,$A[t.align]||`start`),s?(c=Mk(a,o)+` `+Nk(s),(n||r)&&(c+=` `+Mk(n,r))):c=Mk(a+n,o+r),e(`transform`,c)}function rj(e,t,n){var r=IA.height(t),i=t.align,a=tj(t),o=a.x1,s=a.y1,c=t.dx||0,l=(t.dy||0)+QA(t)-Math.round(.8*r),u=GA(t),d;if(N(u)?(r+=UA(t)*(u.length-1),d=u.reduce((e,n)=>Math.max(e,IA.width(t,n)),0)):d=IA.width(t,u),i===`center`?c-=d/2:i===`right`&&(c-=d),e.set(c+=o,l+=s,c+d,l+r),t.angle&&!n)e.rotate(t.angle*vD,o,s);else if(n===2)return e.rotatedPoints(t.angle*vD,o,s);return e}function ij(e,t,n){wk(t,t=>{var r=t.opacity==null?1:t.opacity,i,a,o,s,c,l,u;if(!(n&&!n.intersects(t.bounds)||r===0||t.fontSize<=0||t.text==null||t.text.length===0)){if(e.font=ZA(t),e.textAlign=t.align||`left`,i=tj(t),a=i.x1,o=i.y1,t.angle&&(e.save(),e.translate(a,o),e.rotate(t.angle*vD),a=o=0),a+=t.dx||0,o+=(t.dy||0)+QA(t),l=GA(t),mk(e,t),N(l))for(c=UA(t),s=0;s<l.length;++s)u=qA(t,l[s]),t.fill&&yk(e,t,r)&&e.fillText(u,a,o),t.stroke&&xk(e,t,r)&&e.strokeText(u,a,o),o+=c;else u=qA(t,l),t.fill&&yk(e,t,r)&&e.fillText(u,a,o),t.stroke&&xk(e,t,r)&&e.strokeText(u,a,o);t.angle&&e.restore()}})}function aj(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=tj(t),s=o.x1,c=o.y1,l=rj(ej,t,1),u=-t.angle*vD,d=Math.cos(u),f=Math.sin(u),p=d*i-f*a+(s-d*s+f*c),m=f*i+d*a+(c-f*s-d*c);return l.contains(p,m)}function oj(e,t){let n=rj(ej,e,2);return pk(t,n[0],n[1],n[2],n[3])||pk(t,n[0],n[1],n[4],n[5])||pk(t,n[4],n[5],n[6],n[7])||pk(t,n[2],n[3],n[6],n[7])}var sj={arc:zk,area:Wk,group:sA,image:_A,line:vA,path:SA,rect:EA,rule:MA,shape:NA,symbol:PA,text:{type:`text`,tag:`text`,nested:!1,attr:nj,bound:rj,draw:ij,pick:kk(aj),isect:oj},trail:Uk(`trail`,DO,Hk)};function cj(e,t,n){var r=sj[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new jO),e,n)}var lj={mark:null};function uj(e,t,n){var r=sj[e.marktype],i=r.bound,a=e.items,o=a&&a.length,s,c,l,u;if(r.nested)return o?l=a[0]:(lj.mark=e,l=lj),u=cj(l,i,n),t=t&&t.union(u)||u,t;if(t=t||e.bounds&&e.bounds.clear()||new jO,o)for(s=0,c=a.length;s<c;++s)t.union(cj(a[s],i,n));return e.bounds=t}var dj=`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 fj(e,t){return JSON.stringify(e,dj,t)}function pj(e){return mj(typeof e==`string`?JSON.parse(e):e)}function mj(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`&&mj(n[i]);return t&&uj(e),e}var hj=class{constructor(e){arguments.length?this.root=pj(e):(this.root=gj({marktype:`group`,name:`root`,role:`frame`}),this.root.items=[new NO(this.root)])}toJSON(e){return fj(this.root,e||0)}mark(e,t,n){t||=this.root.items[0];let r=gj(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function gj(e,t){let n={bounds:new jO,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 _j(e,t,n){return!e&&typeof document<`u`&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function vj(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 yj(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=_j(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function bj(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function xj(e){return`mark-`+e.marktype+(e.role?` role-`+e.role:``)+(e.name?` `+e.name:``)}function Sj(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function Cj(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=sj[i.marktype]).tip){for(o=Sj(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 wj=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||te(),this._tooltip=t||Tj}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 e in t)n.push(...t[e]);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(t=>{let n=new MouseEvent(e.type,e),r=_j(null,`a`);for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=Cj(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(),s=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)s+=e.x||0,c+=e.y||0;return{x:s,y:c,width:a,height:o,left:s,top:c,right:s+a,bottom:c+o}}};function Tj(e,t,n,r){e.element().setAttribute(`title`,r||``)}var Ej=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new PO(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 e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r}sanitizeURL(e){return this._load(`sanitizeURL`,e)}loadImage(e){return this._load(`loadImage`,e)}},Dj=`keydown`,Oj=`keypress`,kj=`keyup`,Aj=`dragenter`,jj=`dragleave`,Mj=`dragover`,Nj=`pointerdown`,Pj=`pointerup`,Fj=`pointermove`,Ij=`pointerout`,Lj=`pointerover`,Rj=`mousedown`,zj=`mouseup`,Bj=`mousemove`,Vj=`mouseout`,Hj=`mouseover`,Uj=`click`,Wj=`dblclick`,Gj=`wheel`,Kj=`mousewheel`,qj=`touchstart`,Jj=`touchmove`,Yj=`touchend`,Xj=[Dj,Oj,kj,Aj,jj,Mj,Nj,Pj,Fj,Ij,Lj,Rj,zj,Bj,Vj,Hj,Uj,Wj,Gj,Kj,qj,Jj,Yj],Zj=Fj,Qj=Vj,$j=Uj,eM=class extends wj{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Xj,this.pointermove=aM([Fj,Bj],[Lj,Hj],[Ij,Vj]),this.dragover=aM([Mj],[Aj],[jj]),this.pointerout=oM([Ij,Vj]),this.dragleave=oM([jj])}initialize(e,t,n){return this._canvas=e&&vj(e,`canvas`),[Uj,Rj,Nj,Fj,Ij,jj].forEach(e=>nM(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext(`2d`)}DOMMouseScroll(e){this.fire(Kj,e)}pointerdown(e){this._down=this._active,this.fire(Nj,e)}mousedown(e){this._down=this._active,this.fire(Rj,e)}click(e){this._down===this._active&&(this.fire(Uj,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&=(this._active=this._touch,!1),this.fire(qj,e,!0)}touchmove(e){this.fire(Jj,e,!0)}touchend(e){this.fire(Yj,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===$j&&r&&r.href?this.handleHref(t,r,r.href):(e===Zj||e===Qj)&&this.handleTooltip(t,r,e!==Qj),i)for(let e=0,n=i.length;e<n;++e)i[e].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&&(nM(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=Sj(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 sj[e.marktype].pick.call(this,a,e,t,n,r,i)}},tM=e=>e===qj||e===Jj||e===Yj?[qj,Jj,Yj]:[e];function nM(e,t){tM(t).forEach(t=>rM(e,t))}function rM(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))}function iM(e,t,n){t.forEach(t=>e.fire(t,n))}function aM(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?iM(this,e,r):((!i||!i.exit)&&iM(this,n,r),this._active=a,iM(this,t,r),iM(this,e,r))}}function oM(e){return function(t){iM(this,e,t),this._active=null}}function sM(){return typeof window<`u`&&window.devicePixelRatio||1}function cM(e,t,n,r,i,a){let o=typeof HTMLElement<`u`&&e instanceof HTMLElement&&e.parentNode!=null,s=e.getContext(`2d`),c=o?sM():i;e.width=t*c,e.height=n*c;for(let e in a)s[e]=a[e];return o&&c!==1&&(e.style.width=t+`px`,e.style.height=n+`px`),s.pixelRatio=c,s.setTransform(c,0,0,c,c*r[0],c*r[1]),e}var lM=class extends Ej{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new jO,this._tempb=new jO}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Js(1,1,this._options.type),e&&this._canvas&&(bj(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)cM(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||j(`CanvasRenderer is missing a valid canvas or context`),e.scale(this._scale,this._scale),e.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,s=uM(r,i,a);n.save();let c=this._redraw||o.empty()?(this._redraw=!1,s.expand(1)):dM(n,s.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!==`group`&&r!=null&&!r.includes(t.marktype))return;let i=sj[t.marktype];t.clip&&Gk(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))}},uM=(e,t,n)=>new jO().set(0,0,t,n).translate(-e[0],-e[1]);function dM(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 fM=class extends wj{constructor(e,t){super(e,t);let n=this;n._hrefHandler=pM(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=pM(n,(e,t)=>{n.handleTooltip(e,t,e.type!==Qj)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener($j,this._hrefHandler),r.removeEventListener(Zj,this._tooltipHandler),r.removeEventListener(Qj,this._tooltipHandler)),this._svg=r=e&&vj(e,`svg`),r&&(r.addEventListener($j,this._hrefHandler),r.addEventListener(Zj,this._tooltipHandler),r.addEventListener(Qj,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:pM(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}},pM=(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)},mM=`aria-hidden`,hM=`aria-label`,gM=`role`,_M=`aria-roledescription`,vM=`graphics-object`,yM=`graphics-symbol`,bM=(e,t,n)=>({[gM]:e,[_M]:t,[hM]:n||void 0}),xM=_([`axis-domain`,`axis-grid`,`axis-label`,`axis-tick`,`axis-title`,`legend-band`,`legend-entry`,`legend-gradient`,`legend-label`,`legend-title`,`legend-symbol`,`title`]),SM={axis:{desc:`axis`,caption:kM},legend:{desc:`legend`,caption:AM},"title-text":{desc:`title`,caption:e=>`Title text '${OM(e)}'`},"title-subtitle":{desc:`subtitle`,caption:e=>`Subtitle text '${OM(e)}'`}},CM={ariaRole:gM,ariaRoleDescription:_M,description:hM};function wM(e,t){let n=t.aria===!1;if(e(mM,n||void 0),n||t.description==null)for(let t in CM)e(CM[t],void 0);else{let n=t.mark.marktype;e(hM,t.description),e(gM,t.ariaRole||(n===`group`?vM:yM)),e(_M,t.ariaRoleDescription||`${n} mark`)}}function TM(e){return e.aria===!1?{[mM]:!0}:xM[e.role]?null:SM[e.role]?DM(e,SM[e.role]):EM(e)}function EM(e){let t=e.marktype;return bM(t===`group`||t===`text`||e.items.some(e=>e.description!=null&&e.aria!==!1)?vM:yM,`${t} mark container`,e.description)}function DM(e,t){try{let n=e.items[0],r=t.caption||(()=>``);return bM(t.role||yM,t.desc,n.description||r(n))}catch{return null}}function OM(e){return k(e.text).join(` `)}function kM(e){let t=e.datum,n=e.orient,r=t.title?jM(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),s=a.type;return`${n===`left`||n===`right`?`Y`:`X`}-axis`+(r?` titled '${r}'`:``)+` for a ${Dl(s)?`discrete`:s} scale with ${ru(o,a,e)}`}function AM(e){let t=e.datum,n=t.title?jM(e):null,r=`${t.type||``} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,s=o.scales[i[a[0]]].value,c=o.dataflow.locale();return NM(r)+(n?` titled '${n}'`:``)+` for ${MM(a)} with ${ru(c,s,e)}`}function jM(e){try{return k(A(e.items).items[0].text).join(` `)}catch{return null}}function MM(e){return e=e.map(e=>e+(e===`fill`||e===`stroke`?` color`:``)),e.length<2?e[0]:e.slice(0,-1).join(`, `)+` and `+A(e)}function NM(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var PM=e=>(e+``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`),FM=e=>PM(e).replace(/"/g,`"`).replace(/\t/g,`	`).replace(/\n/g,`
`).replace(/\r/g,`
`);function IM(){let e=``,t=``,n=``,r=[],i=()=>t=n=``,a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(n!=null&&(t+=` ${e}="${FM(n)}"`),s),s={open(e,...n){a(e),t=`<`+e;for(let e of n)for(let t in e)o(t,e[t]);return s},close(){let a=r.pop();return e+=t?t+(n?`>${n}</${a}>`:`/>`):`</${a}>`,i(),s},attr:o,text:e=>(n+=PM(e),s),toString:()=>e};return s}var LM=e=>RM(IM(),e)+``;function RM(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let t=0;t<r;++t)e.attr(n[t].name,n[t].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let t of n)t.nodeType===3?e.text(t.nodeValue):RM(e,t)}return e.close()}var zM={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`},BM={blend:`mix-blend-mode`},VM={fill:`none`,"stroke-miterlimit":10},HM=0,UM=`http://www.w3.org/2000/xmlns/`,WM=cA.xmlns,GM=class extends Ej{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=yj(e,0,`svg`,WM),this._svg.setAttributeNS(UM,`xmlns`,WM),this._svg.setAttributeNS(UM,`xmlns:xlink`,cA[`xmlns:xlink`]),this._svg.setAttribute(`version`,cA.version),this._svg.setAttribute(`class`,`marks`),bj(e,1),this._root=yj(this._svg,HM,`g`,WM),rN(this._root,VM),bj(this._svg,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&&(rN(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=yj(e,HM,`rect`,WM),rN(n,{width:this._width,height:this._height,fill:t}));let r=LM(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),bj(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,s,c;for(o=0,s=e.length;o<s;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=sj[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,KM(n,t),r.items.forEach(e=>{e.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.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,KM(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=sj[a],s=t.interactive===!1?`none`:null,c=o.tag===`g`,l=XM(t,e,n,`g`,i);if(a!==`group`&&r!=null&&!r.includes(a))return bj(l,0),t._svg;l.setAttribute(`class`,xj(t));let u=TM(t);for(let e in u)iN(l,e,u[e]);c||iN(l,`pointer-events`,s),iN(l,`clip-path`,t.clip?AO(this,t,t.group):null);let d=null,f=0,p=e=>{let t=this.isDirty(e),n=XM(e,l,d,o.tag,i);t&&(this._update(o,n,e),c&&YM(this,n,e,r)),d=n,++f};return o.nested?t.items.length&&p(t.items[0]):wk(t,p),bj(l,f),l}_update(e,t,n){QM=t,$M=t.__values__,wM(tN,n),e.attr(tN,n,this);let r=eN[e.type];r&&r.call(this,e,t,n),QM&&this.style(QM,n)}style(e,t){if(t!=null){for(let n in zM){let r=n===`font`?XA(t):t[n];if(r===$M[n])continue;let i=zM[n];r==null?e.removeAttribute(i):(aD(r)&&(r=oD(r,this._defs.gradient,aN())),e.setAttribute(i,r+``)),$M[n]=r}for(let n in BM)nN(e,BM[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=yj(e,1,`defs`,WM)),r=qM(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=yj(e,1,`defs`,WM)),r=JM(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):bj(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function KM(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 qM(e,t,n){let r,i,a;if(t.gradient===`radial`){let r=yj(e,n++,`pattern`,WM);rN(r,{id:iD+t.id,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),r=yj(r,0,`rect`,WM),rN(r,{width:1,height:1,fill:`url(${aN()}#${t.id})`}),e=yj(e,n++,`radialGradient`,WM),rN(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=yj(e,n++,`linearGradient`,WM),rN(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=yj(e,r,`stop`,WM),a.setAttribute(`offset`,t.stops[r].offset),a.setAttribute(`stop-color`,t.stops[r].color);return bj(e,r),n}function JM(e,t,n){let r;return e=yj(e,n,`clipPath`,WM),e.setAttribute(`id`,t.id),t.path?(r=yj(e,0,`path`,WM),r.setAttribute(`d`,t.path)):(r=yj(e,0,`rect`,WM),rN(r,{x:0,y:0,width:t.width,height:t.height})),bj(e,1),n+1}function YM(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;wk(n,n=>{i=e.mark(t,n,i,r),++a}),bj(t,1+a)}function XM(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=_j(o,r,WM),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:`default`},r===`g`))){let t=_j(o,`path`,WM);a.appendChild(t),t.__data__=e;let n=_j(o,`g`,WM);a.appendChild(n),n.__data__=e;let r=_j(o,`path`,WM);a.appendChild(r),r.__data__=e,r.__values__={fill:`default`}}return(a.ownerSVGElement!==i||ZM(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function ZM(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var QM=null,$M=null,eN={group(e,t,n){let r=QM=t.childNodes[2];$M=r.__values__,e.foreground(tN,n,this),$M=t.__values__,QM=t.childNodes[1],e.content(tN,n,this);let i=QM=t.childNodes[0];e.background(tN,n,this);let a=n.mark.interactive===!1?`none`:null;if(a!==$M.events&&(iN(r,`pointer-events`,a),iN(i,`pointer-events`,a),$M.events=a),n.strokeForeground&&n.stroke){let e=n.fill;iN(r,`display`,null),this.style(i,n),iN(i,`stroke`,null),e&&(n.fill=null),$M=r.__values__,this.style(r,n),e&&(n.fill=e),QM=null}else iN(r,`display`,`none`)},image(e,t,n){n.smooth===!1?(nN(t,`image-rendering`,`optimizeSpeed`),nN(t,`image-rendering`,`pixelated`)):nN(t,`image-rendering`,null)},text(e,t,n){let r=GA(n),i,a,o,s;N(r)?(a=r.map(e=>qA(n,e)),i=a.join(`
|
|
3
3
|
`),i!==$M.text&&(bj(t,0),o=t.ownerDocument,s=UA(n),a.forEach((e,r)=>{let i=_j(o,`tspan`,WM);i.__data__=n,i.textContent=e,r&&(i.setAttribute(`x`,0),i.setAttribute(`dy`,s)),t.appendChild(i)}),$M.text=i)):(a=qA(n,r),a!==$M.text&&(t.textContent=a,$M.text=a)),iN(t,`font-family`,XA(n)),iN(t,`font-size`,HA(n)+`px`),iN(t,`font-style`,n.fontStyle),iN(t,`font-variant`,n.fontVariant),iN(t,`font-weight`,n.fontWeight)}};function tN(e,t,n){t!==$M[e]&&(n?eae(QM,e,t,n):iN(QM,e,t),$M[e]=t)}function nN(e,t,n){n!==$M[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+``),$M[t]=n)}function rN(e,t){for(let n in t)iN(e,n,t[n])}function iN(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function eae(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function aN(){let e;return typeof window>`u`?``:(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var oN=class extends Ej{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=IM();t.open(`svg`,D({},cA,{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`,VM,{transform:`translate(`+this._origin+`)`}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+``,this}mark(e,t){let n=sj[t.marktype],r=n.tag,i=[wM,n.attr];e.open(`g`,{class:xj(t),"clip-path":t.clip?AO(this,t,t.group):null},TM(t),{"pointer-events":r!==`g`&&t.interactive===!1?`none`:null});let a=a=>{let o=this.href(a);if(o&&e.open(`a`,o),e.open(r,this.attr(t,a,i,r===`g`?null:r)),r===`text`){let t=GA(a);if(N(t)){let n={x:0,dy:UA(a)};for(let r=0;r<t.length;++r)e.open(`tspan`,r?n:null).text(qA(a,t[r])).close()}else e.text(qA(a,t))}else if(r===`g`){let r=a.strokeForeground,i=a.fill,o=a.stroke;r&&o&&(a.stroke=null),e.open(`path`,this.attr(t,a,n.background,`bgrect`)).close(),e.open(`g`,this.attr(t,a,n.content)),wk(a,t=>this.mark(e,t)),e.close(),r&&o?(i&&(a.fill=null),a.stroke=o,e.open(`path`,this.attr(t,a,n.foreground,`bgrect`)).close(),i&&(a.fill=i)):e.open(`path`,this.attr(t,a,n.foreground,`bgfore`)).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):wk(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(e=>{e[`xlink:href`]=e.href,e.href=null,(this._hrefs||={})[t]=e})}return null}attr(e,t,n,r){let i={},a=(e,t,n,r)=>{i[r||e]=t};return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),r&&tae(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){e.open(`defs`);for(let n in t){let r=t[n],i=r.stops;r.gradient===`radial`?(e.open(`pattern`,{id:iD+n,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),e.open(`rect`,{width:`1`,height:`1`,fill:`url(#`+n+`)`}).close(),e.close(),e.open(`radialGradient`,{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open(`linearGradient`,{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t<i.length;++t)e.open(`stop`,{offset:i[t].offset,"stop-color":i[t].color}).close();e.close()}for(let t in n){let r=n[t];e.open(`clipPath`,{id:t}),r.path?e.open(`path`,{d:r.path}).close():e.open(`rect`,{x:0,y:0,width:r.width,height:r.height}).close(),e.close()}e.close()}}};function tae(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;r===`image`&&t.smooth===!1&&(a=[`image-rendering: optimizeSpeed;`,`image-rendering: pixelated;`]),r===`text`&&(e[`font-family`]=XA(t),e[`font-size`]=HA(t)+`px`,e[`font-style`]=t.fontStyle,e[`font-variant`]=t.fontVariant,e[`font-weight`]=t.fontWeight);for(let n in zM){let r=t[n],a=zM[n];r===`transparent`&&(a===`fill`||a===`stroke`)||r!=null&&(aD(r)&&(r=oD(r,i.gradient,``)),e[a]=r)}for(let e in BM){let n=t[e];n!=null&&(a||=[],a.push(`${BM[e]}: ${n};`))}return a&&(e.style=a.join(` `)),e}var sN={svgMarkTypes:[`text`],svgOnTop:!0,debug:!1};function nae(e){sN.svgMarkTypes=e.svgMarkTypes??[`text`],sN.svgOnTop=e.svgOnTop??!0,sN.debug=e.debug??!1}var cN=class extends Ej{constructor(e){super(e),this._svgRenderer=new GM(e),this._canvasRenderer=new lM(e)}initialize(e,t,n,r,i){this._root_el=yj(e,0,`div`);let a=yj(this._root_el,0,`div`),o=yj(this._root_el,1,`div`);return this._root_el.style.position=`relative`,sN.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=sN.svgOnTop?o:a,this._canvasEl=sN.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 sN.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(e=>!sN.svgMarkTypes.includes(e));this._svgRenderer.render(e,sN.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 sN.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},lN=class extends eM{constructor(e,t){super(e,t)}initialize(e,t,n){let r=yj(yj(e,0,`div`),+!sN.svgOnTop,`div`);return super.initialize(r,t,n)}},uN=`canvas`,dN=`hybrid`,fN=`png`,pN=`svg`,mN=`none`,rae={Canvas:uN,PNG:fN,SVG:pN,Hybrid:dN,None:mN},hN={};hN[uN]=hN[fN]={renderer:lM,headless:lM,handler:eM},hN[pN]={renderer:GM,headless:oN,handler:fM},hN[dN]={renderer:cN,headless:cN,handler:lN},hN[mN]={};function iae(e,t){return e=String(e||``).toLowerCase(),arguments.length>1?(hN[e]=t,this):hN[e]}function aae(e,t,n){let r=[],i=new jO().union(t),a=e.marktype;return a?gN(e,i,n,r):a===`group`?_N(e,i,n,r):j(`Intersect scene must be mark node or group item.`)}function gN(e,t,n,r){if(oae(e,t,n)){let i=e.items,a=e.marktype,o=i.length,s=0;if(a===`group`)for(;s<o;++s)_N(i[s],t,n,r);else for(let e=sj[a].isect;s<o;++s){let n=i[s];vN(n,t,e)&&r.push(n)}}return r}function oae(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype===`group`||e.interactive!==!1&&(!n||n(e)))}function _N(e,t,n,r){n&&n(e.mark)&&vN(e,t,sj.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,s=e.y||0;t.translate(-o,-s);for(let e=0;e<a;++e)gN(i[e],t,n,r);t.translate(o,s)}return r}function vN(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var yN=new jO;function sae(e){let t=e.clip;if(m(t))t(nk(yN.clear()));else if(t)yN.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(yN)}var cae=1e-9;function bN(e,t,n){return e===t?!0:n===`path`?xN(e,t):e instanceof Date&&t instanceof Date?+e==+t:o(e)&&o(t)?Math.abs(e-t)<=cae:!e||!t||!M(e)&&!M(t)?e==t:lae(e,t)}function xN(e,t){return bN(gD(e),gD(t))}function lae(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],!bN(e[i],t[i],i))return!1;return typeof e==typeof t}function uae(){kO(),rD()}var dae=e=>+e;function fae(e){return e*e}function pae(e){return e*(2-e)}function SN(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}var CN=3,mae=(function e(t){t=+t;function n(e){return e**+t}return n.exponent=e,n})(CN),hae=(function e(t){t=+t;function n(e){return 1-(1-e)**t}return n.exponent=e,n})(CN),wN=(function e(t){t=+t;function n(e){return((e*=2)<=1?e**+t:2-(2-e)**t)/2}return n.exponent=e,n})(CN),TN=Math.PI,EN=TN/2;function gae(e){return+e==1?1:1-Math.cos(e*EN)}function _ae(e){return Math.sin(e*EN)}function DN(e){return(1-Math.cos(TN*e))/2}function ON(e){return(2**(-10*e)-.0009765625)*1.0009775171065494}function vae(e){return ON(1-e)}function yae(e){return 1-ON(e)}function kN(e){return((e*=2)<=1?ON(1-e):2-ON(e-1))/2}function bae(e){return 1-Math.sqrt(1-e*e)}function xae(e){return Math.sqrt(1- --e*e)}function AN(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var jN=4/11,Sae=6/11,Cae=8/11,wae=3/4,Tae=9/11,Eae=10/11,Dae=15/16,Oae=21/22,kae=63/64,MN=1/jN/jN;function Aae(e){return 1-NN(1-e)}function NN(e){return(e=+e)<jN?MN*e*e:e<Cae?MN*(e-=Sae)*e+wae:e<Eae?MN*(e-=Tae)*e+Dae:MN*(e-=Oae)*e+kae}function jae(e){return((e*=2)<=1?1-NN(1-e):NN(e-1)+1)/2}var PN=1.70158,Mae=(function e(t){t=+t;function n(e){return(e=+e)*e*(t*(e-1)+e)}return n.overshoot=e,n})(PN),Nae=(function e(t){t=+t;function n(e){return--e*e*((e+1)*t+e)+1}return n.overshoot=e,n})(PN),FN=(function e(t){t=+t;function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return n.overshoot=e,n})(PN),IN=2*Math.PI,LN=1,RN=.3,Pae=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=IN);function i(e){return t*ON(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*IN)},i.period=function(n){return e(t,n)},i})(LN,RN),zN=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=IN);function i(e){return 1-t*ON(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*IN)},i.period=function(n){return e(t,n)},i})(LN,RN),Fae=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=IN);function i(e){return((e=e*2-1)<0?t*ON(-e)*Math.sin((r-e)/n):2-t*ON(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*IN)},i.period=function(n){return e(t,n)},i})(LN,RN),Iae=`RawCode`,Lae=`Literal`,Rae=`Property`,zae=`Identifier`,Bae=`ArrayExpression`,Vae=`BinaryExpression`,Hae=`CallExpression`,Uae=`ConditionalExpression`,Wae=`LogicalExpression`,Gae=`MemberExpression`,Kae=`ObjectExpression`,qae=`UnaryExpression`;function BN(e){this.type=e}BN.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=Jae(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function Jae(e){switch(e.type){case Bae:return e.elements;case Vae:case Wae:return[e.left,e.right];case Hae:return[e.callee].concat(e.arguments);case Uae:return[e.test,e.consequent,e.alternate];case Gae:return[e.object,e.property];case Kae:return e.properties;case Rae:return[e.key,e.value];case qae:return[e.argument];case zae:case Lae:case Iae:default:return[]}}var VN,V,H,HN,UN,WN=1,GN=2,KN=3,qN=4,JN=5,YN=6,XN=7,ZN=8,Yae=9;VN={},VN[WN]=`Boolean`,VN[GN]=`<end>`,VN[KN]=`Identifier`,VN[qN]=`Keyword`,VN[JN]=`Null`,VN[YN]=`Numeric`,VN[XN]=`Punctuator`,VN[ZN]=`String`,VN[Yae]=`RegularExpression`;var Xae=`ArrayExpression`,Zae=`BinaryExpression`,Qae=`CallExpression`,$ae=`ConditionalExpression`,QN=`Identifier`,eoe=`Literal`,toe=`LogicalExpression`,noe=`MemberExpression`,roe=`ObjectExpression`,ioe=`Property`,aoe=`UnaryExpression`,$N=`Unexpected token %0`,ooe=`Unexpected number`,soe=`Unexpected string`,coe=`Unexpected identifier`,loe=`Unexpected reserved word`,uoe=`Unexpected end of input`,eP=`Invalid regular expression`,tP=`Invalid regular expression: missing /`,nP=`Octal literals are not allowed in strict mode.`,doe=`Duplicate data property in object literal not allowed in strict mode`,rP=`ILLEGAL`,iP=`Disabled.`,foe=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]`),poe=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 aP(e,t){if(!e)throw Error(`ASSERT: `+t)}function oP(e){return e>=48&&e<=57}function sP(e){return`0123456789abcdefABCDEF`.includes(e)}function cP(e){return`01234567`.includes(e)}function moe(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 lP(e){return e===10||e===13||e===8232||e===8233}function uP(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&foe.test(String.fromCharCode(e))}function dP(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&poe.test(String.fromCharCode(e))}var hoe={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 fP(){for(;H<HN;){let e=V.charCodeAt(H);if(moe(e)||lP(e))++H;else break}}function pP(e){var t,n,r,i=0;for(n=e===`u`?4:2,t=0;t<n;++t)H<HN&&sP(V[H])?(r=V[H++],i=i*16+`0123456789abcdef`.indexOf(r.toLowerCase())):TP({},$N,rP);return String.fromCharCode(i)}function goe(){var e=V[H],t=0,n,r;for(e===`}`&&TP({},$N,rP);H<HN&&(e=V[H++],sP(e));)t=t*16+`0123456789abcdef`.indexOf(e.toLowerCase());return(t>1114111||e!==`}`)&&TP({},$N,rP),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function mP(){var e=V.charCodeAt(H++),t=String.fromCharCode(e);for(e===92&&(V.charCodeAt(H)!==117&&TP({},$N,rP),++H,e=pP(`u`),(!e||e===`\\`||!uP(e.charCodeAt(0)))&&TP({},$N,rP),t=e);H<HN&&(e=V.charCodeAt(H),dP(e));)++H,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),V.charCodeAt(H)!==117&&TP({},$N,rP),++H,e=pP(`u`),(!e||e===`\\`||!dP(e.charCodeAt(0)))&&TP({},$N,rP),t+=e);return t}function _oe(){for(var e=H++,t;H<HN;){if(t=V.charCodeAt(H),t===92)return H=e,mP();if(dP(t))++H;else break}return V.slice(e,H)}function voe(){var e=H,t=V.charCodeAt(H)===92?mP():_oe();return{type:t.length===1?KN:hoe.hasOwnProperty(t)?qN:t===`null`?JN:t===`true`||t===`false`?WN:KN,value:t,start:e,end:H}}function hP(){var e=H,t=V.charCodeAt(H),n,r=V[H],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++H,{type:XN,value:String.fromCharCode(t),start:e,end:H};default:if(n=V.charCodeAt(H+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 H+=2,{type:XN,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:H};case 33:case 61:return H+=2,V.charCodeAt(H)===61&&++H,{type:XN,value:V.slice(e,H),start:e,end:H}}}if(o=V.substr(H,4),o===`>>>=`)return H+=4,{type:XN,value:o,start:e,end:H};if(a=o.substr(0,3),a===`>>>`||a===`<<=`||a===`>>=`)return H+=3,{type:XN,value:a,start:e,end:H};if(i=a.substr(0,2),r===i[1]&&`+-<>&|`.includes(r)||i===`=>`)return H+=2,{type:XN,value:i,start:e,end:H};if(i===`//`&&TP({},$N,rP),`<>=!+-*%&|^/`.includes(r))return++H,{type:XN,value:r,start:e,end:H};TP({},$N,rP)}function yoe(e){let t=``;for(;H<HN&&sP(V[H]);)t+=V[H++];return t.length===0&&TP({},$N,rP),uP(V.charCodeAt(H))&&TP({},$N,rP),{type:YN,value:parseInt(`0x`+t,16),start:e,end:H}}function boe(e){let t=`0`+V[H++];for(;H<HN&&cP(V[H]);)t+=V[H++];return(uP(V.charCodeAt(H))||oP(V.charCodeAt(H)))&&TP({},$N,rP),{type:YN,value:parseInt(t,8),octal:!0,start:e,end:H}}function gP(){var e,t,n=V[H];if(aP(oP(n.charCodeAt(0))||n===`.`,`Numeric literal must start with a decimal digit or a decimal point`),t=H,e=``,n!==`.`){if(e=V[H++],n=V[H],e===`0`){if(n===`x`||n===`X`)return++H,yoe(t);if(cP(n))return boe(t);n&&oP(n.charCodeAt(0))&&TP({},$N,rP)}for(;oP(V.charCodeAt(H));)e+=V[H++];n=V[H]}if(n===`.`){for(e+=V[H++];oP(V.charCodeAt(H));)e+=V[H++];n=V[H]}if(n===`e`||n===`E`){if(e+=V[H++],n=V[H],(n===`+`||n===`-`)&&(e+=V[H++]),oP(V.charCodeAt(H)))for(;oP(V.charCodeAt(H));)e+=V[H++];else TP({},$N,rP)}return uP(V.charCodeAt(H))&&TP({},$N,rP),{type:YN,value:parseFloat(e),start:t,end:H}}function xoe(){var e=``,t,n,r,i,a=!1;for(t=V[H],aP(t===`'`||t===`"`,`String literal must starts with a quote`),n=H,++H;H<HN;){if(r=V[H++],r===t){t=``;break}if(r===`\\`){if(r=V[H++],!r||!lP(r.charCodeAt(0)))switch(r){case`u`:case`x`:V[H]===`{`?(++H,e+=goe()):e+=pP(r);break;case`n`:e+=`
|
|
4
4
|
`;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:cP(r)?(i=`01234567`.indexOf(r),i!==0&&(a=!0),H<HN&&cP(V[H])&&(a=!0,i=i*8+`01234567`.indexOf(V[H++]),`0123`.includes(r)&&H<HN&&cP(V[H])&&(i=i*8+`01234567`.indexOf(V[H++]))),e+=String.fromCharCode(i)):e+=r}else r===`\r`&&V[H]===`
|