@marimo-team/frontend 0.16.4 → 0.16.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/assets/{CellStatus-CEVFBnyt.js → CellStatus-BJRDATxe.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-5izWKQVQ.js → ConnectedDataExplorerComponent-Cs4pQOKx.js} +1 -1
  3. package/dist/assets/{ImperativeModal-DujtmdOO.js → ImperativeModal-BG5LTpV0.js} +1 -1
  4. package/dist/assets/{JsonOutput-E2xVojk5.js → JsonOutput-BID8Oos7.js} +1 -1
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-DHH4zj72.js → LazyAnyLanguageCodeMirror-RkzkO2YV.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-Lft73Wnl.js +6 -0
  7. package/dist/assets/{RenderHTML-BCi_V67U.js → RenderHTML-BoDLdBq-.js} +1 -1
  8. package/dist/assets/{VisuallyHidden-DvpnK2wO.js → VisuallyHidden-BiHw-PIc.js} +1 -1
  9. package/dist/assets/{accordion-C3CAEPwC.js → accordion-A41ffd5P.js} +1 -1
  10. package/dist/assets/{activity-BCW0BU81.js → activity-BhLNCNHF.js} +1 -1
  11. package/dist/assets/add-cell-with-ai-CxM_YKzf.js +36 -0
  12. package/dist/assets/{add-database-form-DSnHGqMe.js → add-database-form-Br1fMkMI.js} +1 -1
  13. package/dist/assets/{add-missing-import-Cwedhjm5.js → add-missing-import-CfRgNApn.js} +1 -1
  14. package/dist/assets/agent-panel-7ocujO8C.js +287 -0
  15. package/dist/assets/ai-model-dropdown-DSUVFIso.js +2 -0
  16. package/dist/assets/{alert-dialog-M1dUQe7C.js → alert-dialog-BO8sf-73.js} +1 -1
  17. package/dist/assets/{ansi_up-ZmFuCItK.js → ansi_up-D_b0GS7N.js} +1 -1
  18. package/dist/assets/{any-language-editor-BqGBgxZE.js → any-language-editor-edee1A1P.js} +1 -1
  19. package/dist/assets/app-config-button-Bg_CEfls.js +1 -0
  20. package/dist/assets/{architecture-O4VJ6CD3-CbkBEQri.js → architecture-O4VJ6CD3-CIYFBxkI.js} +1 -1
  21. package/dist/assets/{architectureDiagram-W76B3OCA-di95lJcF.js → architectureDiagram-W76B3OCA-CXqAkVTy.js} +1 -1
  22. package/dist/assets/{arrow-left-DQ-94PlS.js → arrow-left-D97p491f.js} +1 -1
  23. package/dist/assets/{between-horizontal-start-CotWLlFt.js → between-horizontal-start-DWTOsiF_.js} +1 -1
  24. package/dist/assets/{blockDiagram-QIGZ2CNN-ClcJSQFf.js → blockDiagram-QIGZ2CNN-DhYrUig_.js} +1 -1
  25. package/dist/assets/{c4Diagram-FPNF74CW-Cq2vxSdy.js → c4Diagram-FPNF74CW-Bj1S_Fyy.js} +1 -1
  26. package/dist/assets/{cell-actions-C5S4W3g_.js → cell-actions-hNx4EMmZ.js} +1 -1
  27. package/dist/assets/{cell-editor-X6EY7GQl.js → cell-editor-JimG_bBz.js} +13 -13
  28. package/dist/assets/cell-link-_kF38gGF.js +1 -0
  29. package/dist/assets/{cells-B4cnsYe_.js → cells-Dd1FatlG.js} +54 -54
  30. package/dist/assets/channel-Bil_pUlM.js +1 -0
  31. package/dist/assets/{chart-no-axes-column-DrG7h8mS.js → chart-no-axes-column-DmR44Tbq.js} +1 -1
  32. package/dist/assets/{chat-components-DXkntpg4.js → chat-components-OoNU4tLf.js} +3 -3
  33. package/dist/assets/chat-panel-DatwRFif.js +3 -0
  34. package/dist/assets/check-C5PVLNkJ.js +1 -0
  35. package/dist/assets/{chevron-right-Caf5yL5B.js → chevron-right-BDEhimQq.js} +1 -1
  36. package/dist/assets/{chunk-3AY6CYHV-BFFUJATX.js → chunk-3AY6CYHV-CBq2x1Nc.js} +1 -1
  37. package/dist/assets/{chunk-4KMFLZZN-D8J8fzqf.js → chunk-4KMFLZZN-DEMg9QYp.js} +1 -1
  38. package/dist/assets/{chunk-6OXUPJBA-Clo7-gS4.js → chunk-6OXUPJBA-CjFdZBrY.js} +2 -2
  39. package/dist/assets/{chunk-ABZYJK2D-DjRcbxmx.js → chunk-ABZYJK2D-eZsthrBr.js} +1 -1
  40. package/dist/assets/{chunk-BN7GFLIU-DvomLhVN.js → chunk-BN7GFLIU-ez-vZ7uD.js} +1 -1
  41. package/dist/assets/{chunk-CXMOBAN2-GhUPxuLT.js → chunk-CXMOBAN2-DxbPW6zT.js} +1 -1
  42. package/dist/assets/{chunk-EXTU4WIE-97Zvkznr.js → chunk-EXTU4WIE-C8Y_P6y8.js} +1 -1
  43. package/dist/assets/{chunk-JA3XYJ7Z-Mvfz9vG6.js → chunk-JA3XYJ7Z-pR89xWsn.js} +1 -1
  44. package/dist/assets/{chunk-JEIROHC2-Cp1tR_z8.js → chunk-JEIROHC2-2-ucCTVJ.js} +1 -1
  45. package/dist/assets/{chunk-K7UQS3LO-BbFs0Y5e.js → chunk-K7UQS3LO-Bz3bjON2.js} +1 -1
  46. package/dist/assets/{chunk-KMC2YHZD-Buiqyl2g.js → chunk-KMC2YHZD-BvMr39QE.js} +1 -1
  47. package/dist/assets/{chunk-QN33PNHL-dhs223oU.js → chunk-QN33PNHL-DgF0LOHR.js} +1 -1
  48. package/dist/assets/{chunk-QYVHNE3D-DA_jYaIp.js → chunk-QYVHNE3D-BxN3DJBX.js} +1 -1
  49. package/dist/assets/{chunk-S3R3BYOJ-DO68jEIo.js → chunk-S3R3BYOJ-Dy72CLbv.js} +1 -1
  50. package/dist/assets/{chunk-T44TD3VJ-Ww2OhwR5.js → chunk-T44TD3VJ-BfMjD4hS.js} +1 -1
  51. package/dist/assets/{chunk-TVAH2DTR-j2EljfwG.js → chunk-TVAH2DTR-CKnRAcjo.js} +1 -1
  52. package/dist/assets/{chunk-TZMSLE5B-DYFKU4Pb.js → chunk-TZMSLE5B-DdgcuCwZ.js} +1 -1
  53. package/dist/assets/{chunk-WFRQ32O7-k2LaZwie.js → chunk-WFRQ32O7-CHVQx4E8.js} +1 -1
  54. package/dist/assets/{chunk-WFWHJNB7-h5yM_3qQ.js → chunk-WFWHJNB7-B095GDsj.js} +1 -1
  55. package/dist/assets/{chunk-XRWGC2XP-C9Mh6qts.js → chunk-XRWGC2XP-C9u0mhR4.js} +1 -1
  56. package/dist/assets/{circle-play-Cktn64O2.js → circle-play-BnvyuDgL.js} +1 -1
  57. package/dist/assets/{circle-plus-CR5IX63e.js → circle-plus-CfdbDkkn.js} +1 -1
  58. package/dist/assets/{circle-x-t3DIkXqJ.js → circle-x-BsVcxKkV.js} +1 -1
  59. package/dist/assets/classDiagram-KNZD7YFC-CjqRV-TB.js +1 -0
  60. package/dist/assets/classDiagram-v2-RKCZMP56-CGekJfCg.js +1 -0
  61. package/dist/assets/client-RNr6mM1Y.js +2 -0
  62. package/dist/assets/{clipboard-paste-CCXUHJEo.js → clipboard-paste-CYFMW3x7.js} +1 -1
  63. package/dist/assets/column-preview-2H8pwalb.js +2 -0
  64. package/dist/assets/{columns-BBxos2iF.js → columns-qXe5bccO.js} +7 -7
  65. package/dist/assets/{command-CMralWVx.js → command-BZVf1cJP.js} +1 -1
  66. package/dist/assets/command-palette-CYMxp9xF.js +1 -0
  67. package/dist/assets/{common-CGhyb0HV.js → common-DW3bNKWY.js} +1 -1
  68. package/dist/assets/{config-DiCy6eC0.js → config-DXGmIv9f.js} +1 -1
  69. package/dist/assets/{copy-DAVB02c8.js → copy-6mpL4BeI.js} +1 -1
  70. package/dist/assets/{copy-icon-GGPHJWJ0.js → copy-icon-6ICckC-p.js} +1 -1
  71. package/dist/assets/{dagre-5GWH7T2D-B1wEBSrx.js → dagre-5GWH7T2D-hVCok2au.js} +1 -1
  72. package/dist/assets/{data-grid-overlay-editor-Drp4I0tg.js → data-grid-overlay-editor-BwcAr1JM.js} +1 -1
  73. package/dist/assets/datasources-panel-BvrtAadm.js +1 -0
  74. package/dist/assets/{dates-grtSI02N.js → dates-Au76svwW.js} +1 -1
  75. package/dist/assets/dependency-graph-panel-F9AD_whb.js +4 -0
  76. package/dist/assets/{diagram-N5W7TBWH-D0MGIq61.js → diagram-N5W7TBWH-C26XpepA.js} +1 -1
  77. package/dist/assets/{diagram-QEK2KX5R-DU6geLeA.js → diagram-QEK2KX5R-yrTR8I_L.js} +1 -1
  78. package/dist/assets/{diagram-S2PKOQOG-BNhY4Z1-.js → diagram-S2PKOQOG-BnrvSrEb.js} +1 -1
  79. package/dist/assets/{dialog-B7icy1Vb.js → dialog-CR68_CUl.js} +1 -1
  80. package/dist/assets/{dist-BNjtn4W8.js → dist--01dzFeG.js} +1 -1
  81. package/dist/assets/{dist-BagyUivg.js → dist--UHY1FN-.js} +1 -1
  82. package/dist/assets/{dist-5Gm6w_15.js → dist-6vTAXnMq.js} +1 -1
  83. package/dist/assets/{dist-DTazGMur.js → dist-B6CCfKkp.js} +1 -1
  84. package/dist/assets/dist-BAqgWgpM.js +1 -0
  85. package/dist/assets/{dist-BaApG_tl.js → dist-BUe_o-3o.js} +1 -1
  86. package/dist/assets/{dist-BpAb8rGb.js → dist-BnTbfmCK.js} +1 -1
  87. package/dist/assets/dist-C-4GTx-T.js +1 -0
  88. package/dist/assets/{dist-C0ek66tJ.js → dist-C1lnVyyK.js} +1 -1
  89. package/dist/assets/{dist-DGiVfc7V.js → dist-CbsJnssA.js} +1 -1
  90. package/dist/assets/{dist-DV-8bxFo.js → dist-CjoeBoZ9.js} +1 -1
  91. package/dist/assets/{dist-D5QvSsL_.js → dist-CsC8ZokE.js} +1 -1
  92. package/dist/assets/{dist-C69eWtaQ.js → dist-CyqTsfyg.js} +1 -1
  93. package/dist/assets/dist-D-ZYdf69.js +1 -0
  94. package/dist/assets/dist-D3B_GqVR.js +1 -0
  95. package/dist/assets/{dist-BME02X12.js → dist-DFJwMM7Z.js} +1 -1
  96. package/dist/assets/dist-Db9UVaw9.js +1 -0
  97. package/dist/assets/{dist-BPr57Wxb.js → dist-DhXqYYeD.js} +1 -1
  98. package/dist/assets/{dist-CL0hPMY6.js → dist-Dm8m1boP.js} +1 -1
  99. package/dist/assets/{dist-B0vg88Aq.js → dist-DvDyxv8b.js} +1 -1
  100. package/dist/assets/{dist-Bzn1Zd0x.js → dist-DzUKODTF.js} +1 -1
  101. package/dist/assets/dist-LmEq3o4w.js +1 -0
  102. package/dist/assets/dist-Z_cK0cSh.js +1 -0
  103. package/dist/assets/dist-biP83Yvc.js +1 -0
  104. package/dist/assets/dist-dJ4FqqTe.js +1 -0
  105. package/dist/assets/{documentation-panel-D4iq1tSm.js → documentation-panel-DYKAf6Sg.js} +1 -1
  106. package/dist/assets/{dom-4KyFHEbl.js → dom-CT3dAMQW.js} +1 -1
  107. package/dist/assets/{download-C4Fyu6kU.js → download-B4_BX7gi.js} +1 -1
  108. package/dist/assets/{download-qt61TbgC.js → download-BB5Iexmn.js} +1 -1
  109. package/dist/assets/{dropdown-menu-Bp1vhqcS.js → dropdown-menu-CJDB1PNI.js} +1 -1
  110. package/dist/assets/edit-page-BK3Irdme.js +12 -0
  111. package/dist/assets/{ellipsis-DVXWk8Lc.js → ellipsis-CJtiw1k3.js} +1 -1
  112. package/dist/assets/{ellipsis-vertical-DfpheMuY.js → ellipsis-vertical-DK--y082.js} +1 -1
  113. package/dist/assets/{en-US-B2g9dciI.js → en-US-CjWuOpsV.js} +1 -1
  114. package/dist/assets/{erDiagram-AWTI2OKA-DxxWZrYD.js → erDiagram-AWTI2OKA-9EqwLrlG.js} +1 -1
  115. package/dist/assets/{error-banner-ARu6PiHL.js → error-banner-BGjnZePp.js} +1 -1
  116. package/dist/assets/error-panel-CrkbkIF_.js +1 -0
  117. package/dist/assets/{es-C0Ih1AxE.js → es-C-CWIA-E.js} +1 -1
  118. package/dist/assets/{esm-BR7TuyMc.js → esm-7XxuulnL.js} +1 -1
  119. package/dist/assets/{esm-Cb-iIF_w.js → esm-B39og2OG.js} +1 -1
  120. package/dist/assets/{esm-BIF8NHm8.js → esm-BBn_y9Ew.js} +1 -1
  121. package/dist/assets/esm-DjUQOOJ2.js +1 -0
  122. package/dist/assets/{eye-off-BEVibdMQ.js → eye-off-9UMe_Y7D.js} +1 -1
  123. package/dist/assets/field-D6g5A_wf.js +1 -0
  124. package/dist/assets/{file-DqkkCGhs.js → file-BENStGHx.js} +1 -1
  125. package/dist/assets/file-explorer-panel-Cgv3WjVh.js +1 -0
  126. package/dist/assets/{file-plus-2-BCmZgbYs.js → file-plus-2-CloHhbsF.js} +1 -1
  127. package/dist/assets/{file-text-DNmaotaP.js → file-text-Lr1kJd4E.js} +1 -1
  128. package/dist/assets/{file-video-camera-C5lALvNf.js → file-video-camera-CfnyBQQe.js} +1 -1
  129. package/dist/assets/filename-B5Yo1bOu.js +1 -0
  130. package/dist/assets/{floating-outline-Cjas_exC.js → floating-outline-DZnSnZfg.js} +1 -1
  131. package/dist/assets/{flowDiagram-PVAE7QVJ-DlTZtqcN.js → flowDiagram-PVAE7QVJ-iOj6Qgu-.js} +1 -1
  132. package/dist/assets/{focus-OWoLlKnm.js → focus-Bnk25hTp.js} +1 -1
  133. package/dist/assets/{form-xOqp67zT.js → form-BGZvwlog.js} +1 -1
  134. package/dist/assets/{form--nX5W3gQ.js → form-DyKYT1WR.js} +1 -1
  135. package/dist/assets/{formats-C8bbggqj.js → formats-CWdWXhfT.js} +1 -1
  136. package/dist/assets/{fullscreen-BFmvQx5m.js → fullscreen-DTPr3iBY.js} +1 -1
  137. package/dist/assets/{ganttDiagram-OWAHRB6G-BEPmawB5.js → ganttDiagram-OWAHRB6G-BWbXeAXa.js} +1 -1
  138. package/dist/assets/{gitGraph-ZV4HHKMB-DsmmnKI3.js → gitGraph-ZV4HHKMB-BpeeuO4L.js} +1 -1
  139. package/dist/assets/{gitGraphDiagram-NY62KEGX-DfTKmX9v.js → gitGraphDiagram-NY62KEGX-BX3O-mzY.js} +1 -1
  140. package/dist/assets/{glide-data-editor-CzDe-oK3.js → glide-data-editor-C45ArX7n.js} +4 -4
  141. package/dist/assets/globals-BFoVgbHf.js +1 -0
  142. package/dist/assets/{globe-CgG1jfYF.js → globe-CPrVx8HM.js} +1 -1
  143. package/dist/assets/home-page-DhT6cm6c.js +4 -0
  144. package/dist/assets/{image-DXGqie4b.js → image-DTv0Ic6H.js} +1 -1
  145. package/dist/assets/{index-DtggTI4O.js → index-29P5xX8u.js} +11 -11
  146. package/dist/assets/index-Optxbl37.css +2 -0
  147. package/dist/assets/{info-63CPKGFF-BVRAJzgS.js → info-63CPKGFF-Czr08O9A.js} +1 -1
  148. package/dist/assets/{infoDiagram-STP46IZ2-CcEqfhrj.js → infoDiagram-STP46IZ2-C1JX9JfB.js} +1 -1
  149. package/dist/assets/input-C1RzjWSK.js +7 -0
  150. package/dist/assets/{isValid-gOtpcPxn.js → isValid-o3nZVu8e.js} +1 -1
  151. package/dist/assets/{journeyDiagram-BIP6EPQ6-CfxDuLls.js → journeyDiagram-BIP6EPQ6-CC2JvTQD.js} +1 -1
  152. package/dist/assets/{kanban-definition-6OIFK2YF-BwopERfW.js → kanban-definition-6OIFK2YF-3qAhCi66.js} +1 -1
  153. package/dist/assets/{key-BuxNhFKW.js → key-D4QiH_7H.js} +1 -1
  154. package/dist/assets/{kiosk-mode--OX2RHZj.js → kiosk-mode-Dy2WnuWt.js} +1 -1
  155. package/dist/assets/{label-COeaBwl_.js → label-BEUjZsdo.js} +1 -1
  156. package/dist/assets/{layout-CKoMTVJt.js → layout-C6K0XXFK.js} +3 -3
  157. package/dist/assets/{linear-BI0LBATm.js → linear-nWRf49aw.js} +1 -1
  158. package/dist/assets/{link-DSY8ADga.js → link-CDOxp9sn.js} +1 -1
  159. package/dist/assets/links-D-L0rzz9.js +1 -0
  160. package/dist/assets/{list-filter-D2Wx3thV.js → list-filter-CRC72QPW.js} +1 -1
  161. package/dist/assets/{loader-CPDA0quD.js → loader-CgbiPC_T.js} +1 -1
  162. package/dist/assets/logs-panel-BB-6orqg.js +1 -0
  163. package/dist/assets/{maps-CxCIYhRT.js → maps-DaQbs_UR.js} +1 -1
  164. package/dist/assets/{menu-items-COILZQ4q.js → menu-items-Bo6Dyd_Q.js} +1 -1
  165. package/dist/assets/{mermaid-oqJ6vLFm.js → mermaid-Bqzxmx0C.js} +1 -1
  166. package/dist/assets/{mermaid-parser.core-8414a7OP.js → mermaid-parser.core-CwRCqiGJ.js} +2 -2
  167. package/dist/assets/{mermaid.core-CKfX2q8j.js → mermaid.core-C4o4vdkw.js} +3 -3
  168. package/dist/assets/mermaid.core-DjncFP_O.js +1 -0
  169. package/dist/assets/{mindmap-definition-Q6HEUPPD-nadsjaMC.js → mindmap-definition-Q6HEUPPD-pLcSm-bI.js} +1 -1
  170. package/dist/assets/{mode-CBh2Ag_Y.js → mode-DQPKc-Hp.js} +1 -1
  171. package/dist/assets/{name-cell-input-CAG50xh2.js → name-cell-input-DQd65hJw.js} +1 -1
  172. package/dist/assets/{number-overlay-editor-CbWBjwI1.js → number-overlay-editor-Ce_FEpnn.js} +1 -1
  173. package/dist/assets/once-8ZDiGGtA.js +1 -0
  174. package/dist/assets/outline-panel-BJDiYH61.js +1 -0
  175. package/dist/assets/packages-panel-D_VswrEd.js +1 -0
  176. package/dist/assets/{packet-HUATNLJX-BJ_b_gYi.js → packet-HUATNLJX-C5NsAS_7.js} +1 -1
  177. package/dist/assets/{pie-WTHONI2E-CS2JfH5S.js → pie-WTHONI2E-BCNGQ0_9.js} +1 -1
  178. package/dist/assets/{pieDiagram-ADFJNKIX-DP_lAtPz.js → pieDiagram-ADFJNKIX-CUCBn1VN.js} +1 -1
  179. package/dist/assets/plug-DrNpofTj.js +1 -0
  180. package/dist/assets/{plus-C1zexBxS.js → plus-d2HNOuZI.js} +1 -1
  181. package/dist/assets/{popover-CLp_lH16.js → popover-DW0D4l0O.js} +1 -1
  182. package/dist/assets/{precisionRound-CR2cxaaR.js → precisionRound-TxjBk8nN.js} +1 -1
  183. package/dist/assets/{quadrantDiagram-LMRXKWRM-gzT_-w3S.js → quadrantDiagram-LMRXKWRM-C6DXTSnZ.js} +1 -1
  184. package/dist/assets/{radar-NJJJXTRR-ChMDxgqR.js → radar-NJJJXTRR-Cck-wBOB.js} +1 -1
  185. package/dist/assets/{react-plotly-DUuIpNDT.js → react-plotly-x7-8ig7L.js} +1 -1
  186. package/dist/assets/{readonly-python-code-DMLMHG1v.js → readonly-python-code-Cb7Ak_Dy.js} +1 -1
  187. package/dist/assets/{refresh-ccw-lUiAEOAx.js → refresh-ccw-CCJeTTJO.js} +1 -1
  188. package/dist/assets/{refresh-cw-CSv3xyYY.js → refresh-cw-B_tmnHav.js} +1 -1
  189. package/dist/assets/{renderShortcut-DMYtt-ju.js → renderShortcut-C9_NT6sD.js} +1 -1
  190. package/dist/assets/{request-registry-4Bq310sk.js → request-registry-D4PD0fDJ.js} +1 -1
  191. package/dist/assets/{requirementDiagram-4UW4RH46-aavD0qQF.js → requirementDiagram-4UW4RH46-Bj7w3axz.js} +1 -1
  192. package/dist/assets/run-page-D9jntYU0.js +1 -0
  193. package/dist/assets/{runs-CItfCHkl.js → runs-BWcKkv9g.js} +1 -1
  194. package/dist/assets/{sankeyDiagram-GR3RE2ED-r95m_h3N.js → sankeyDiagram-GR3RE2ED-DCmlCkUu.js} +1 -1
  195. package/dist/assets/{save-Bg0tsaXV.js → save-CVcbYdvl.js} +1 -1
  196. package/dist/assets/scratchpad-panel-BUGlPLwQ.js +1 -0
  197. package/dist/assets/{scroll-text-SAt1GCBr.js → scroll-text-CN-2fr92.js} +1 -1
  198. package/dist/assets/secrets-panel-DGPyMcTb.js +1 -0
  199. package/dist/assets/{select-CMG6DC3j.js → select-DKRTzlUU.js} +1 -1
  200. package/dist/assets/{send-ePQN2mpH.js → send-DRRBOpzT.js} +1 -1
  201. package/dist/assets/{sequenceDiagram-C3RYC4MD-C4GqHIgf.js → sequenceDiagram-C3RYC4MD-CtIOF8jj.js} +1 -1
  202. package/dist/assets/{settings-TIv8aSog.js → settings-6ySBJQ7Y.js} +1 -1
  203. package/dist/assets/{share-CUbi0XlA.js → share-Dcl7D_tA.js} +1 -1
  204. package/dist/assets/snippets-panel-CKi40HiX.js +1 -0
  205. package/dist/assets/{spinner-CxlO4-GJ.js → spinner-BhnfQOEl.js} +1 -1
  206. package/dist/assets/{square-uM1ci7iL.js → square-DKPXnMmD.js} +1 -1
  207. package/dist/assets/{square-function-OflPQrBg.js → square-function-DBJINsmk.js} +1 -1
  208. package/dist/assets/{square-terminal-DZAwMMdQ.js → square-terminal-DoFRZ-M6.js} +1 -1
  209. package/dist/assets/{src-BOK-SWX4.js → src-KuQao6GK.js} +1 -1
  210. package/dist/assets/state-B37sZn4X.js +1 -0
  211. package/dist/assets/{state-COfuW2QS.js → state-CEmS5WFQ.js} +1 -1
  212. package/dist/assets/state-jvUYiWCG.js +1 -0
  213. package/dist/assets/{stateDiagram-KXAO66HF-CdN43FzO.js → stateDiagram-KXAO66HF-DwZscOce.js} +1 -1
  214. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5XUGcJP.js +1 -0
  215. package/dist/assets/stex-C7nwqmPk.js +1 -0
  216. package/dist/assets/storage-CaQ7kwuv.js +1 -0
  217. package/dist/assets/{switch-BKaPFRvh.js → switch-B5bMMWJn.js} +1 -1
  218. package/dist/assets/{tabs-C8HicIPZ.js → tabs-8ThyQfYh.js} +1 -1
  219. package/dist/assets/{terminal-Cnm8ANjQ.js → terminal-CPdYItDn.js} +1 -1
  220. package/dist/assets/{text-search-DpMeajoz.js → text-search-iEvFn29l.js} +1 -1
  221. package/dist/assets/{textarea-DhU2DWSB.js → textarea-B-_OthMe.js} +1 -1
  222. package/dist/assets/{time-Dzg4b75Q.js → time-BkIHCvH2.js} +1 -1
  223. package/dist/assets/{timeline-definition-XQNQX7LJ-D48ppGT8.js → timeline-definition-XQNQX7LJ-BGsZ09p6.js} +1 -1
  224. package/dist/assets/{toDate-BartytS4.js → toDate-Daj1hQSF.js} +1 -1
  225. package/dist/assets/{toggle-BLLoLiay.js → toggle-BpFqu8FB.js} +1 -1
  226. package/dist/assets/{tooltip-BjoMzmCN.js → tooltip-ULHbIsj9.js} +1 -1
  227. package/dist/assets/tracing-UKZUjbDB.js +2 -0
  228. package/dist/assets/tracing-panel-CuDItRLt.js +2 -0
  229. package/dist/assets/{trash-2-GOPu47oc.js → trash-2-3UJSaMKF.js} +1 -1
  230. package/dist/assets/{trash-BpVsWH8l.js → trash-CYX7fe5Y.js} +1 -1
  231. package/dist/assets/{tree-qyAlDlFy.js → tree-3z9r1N_5.js} +1 -1
  232. package/dist/assets/{treemap-75Q7IDZK-B4o24kyC.js → treemap-75Q7IDZK-MX1Hmq0m.js} +1 -1
  233. package/dist/assets/{type-C9leWRlU.js → type-kF6pOJbH.js} +1 -1
  234. package/dist/assets/{types-BBD3GQ0S.js → types-DQDL7dro.js} +1 -1
  235. package/dist/assets/{types-DEwRoAG0.js → types-DyTIgBnH.js} +1 -1
  236. package/dist/assets/{useAddCell-DJhNA_O5.js → useAddCell-Dq3HqYz1.js} +1 -1
  237. package/dist/assets/{useAsyncData-BEqqunls.js → useAsyncData-D9GA9BWg.js} +1 -1
  238. package/dist/assets/{useBoolean-DnggoYme.js → useBoolean-CSR3XjhE.js} +1 -1
  239. package/dist/assets/{useCellActionButton-B_a4Sv2X.js → useCellActionButton-BAG0Vvnt.js} +1 -1
  240. package/dist/assets/{useDateFormatter-DjmrLzxH.js → useDateFormatter-DrFLqO1D.js} +1 -1
  241. package/dist/assets/{useDebounce-9_rqRiHk.js → useDebounce-_ztZiL0I.js} +1 -1
  242. package/dist/assets/{useDeepCompareMemoize-DIhr42Iz.js → useDeepCompareMemoize-BsZY8i2r.js} +1 -1
  243. package/dist/assets/{useDeleteCell-DVNOLjwN.js → useDeleteCell-CJaipocw.js} +1 -1
  244. package/dist/assets/useHotkey-DkiyGPLs.js +1 -0
  245. package/dist/assets/{useInstallPackage-CTHO3tj3.js → useInstallPackage-DoKAq17E.js} +1 -1
  246. package/dist/assets/useNotebookActions-CQd8IgyR.js +1 -0
  247. package/dist/assets/useSplitCell-Dodncnp8.js +1 -0
  248. package/dist/assets/{useTheme-C5JyqXTm.js → useTheme-oPMxEKRc.js} +1 -1
  249. package/dist/assets/{utilities.esm-DbqS7Pjb.js → utilities.esm-DcV_e-D3.js} +1 -1
  250. package/dist/assets/utils-DBmmAf_K.js +1 -0
  251. package/dist/assets/variable-panel-BCihDsBL.js +1 -0
  252. package/dist/assets/{vega-component-D1ZJxK-L.js → vega-component-CWMEFM7y.js} +1 -1
  253. package/dist/assets/{vega-loader.browser.module-Jwd7L8Ye.js → vega-loader.browser.module-BkWiTok0.js} +1 -1
  254. package/dist/assets/{with-selector-CXhuorCH.js → with-selector-BmLsipPw.js} +1 -1
  255. package/dist/assets/{workflow-Covue_dW.js → workflow-DA01FBLw.js} +1 -1
  256. package/dist/assets/{wrench-DNJq8NCj.js → wrench-B2m2X1sb.js} +1 -1
  257. package/dist/assets/{write-secret-modal-qe46KOIw.js → write-secret-modal-Dx9oubag.js} +1 -1
  258. package/dist/assets/{xychartDiagram-6GGTOJPD-DK41sZTI.js → xychartDiagram-6GGTOJPD-D-i5LTeX.js} +1 -1
  259. package/dist/assets/{youtube-0-RiaVkr.js → youtube-Bl4NeyvA.js} +1 -1
  260. package/dist/index.html +155 -155
  261. package/package.json +1 -1
  262. package/src/__tests__/chat-history.test.ts +123 -0
  263. package/src/components/app-config/ai-config.tsx +23 -0
  264. package/src/components/app-config/mcp-config.tsx +42 -2
  265. package/src/components/app-config/user-config-form.tsx +0 -24
  266. package/src/components/chat/acp/__tests__/context-utils.test.ts +1 -1
  267. package/src/components/chat/acp/agent-panel.tsx +1 -1
  268. package/src/components/chat/acp/blocks.tsx +46 -53
  269. package/src/components/chat/acp/common.tsx +1 -1
  270. package/src/components/chat/acp/context-utils.ts +1 -1
  271. package/src/components/chat/acp/session-tabs.tsx +1 -1
  272. package/src/components/chat/chat-history-popover.tsx +125 -0
  273. package/src/components/chat/chat-history-utils.ts +69 -0
  274. package/src/components/chat/chat-panel.tsx +9 -57
  275. package/src/components/editor/__tests__/data-attributes.test.tsx +1 -1
  276. package/src/components/editor/actions/useNotebookActions.tsx +2 -4
  277. package/src/components/editor/ai/__tests__/completion-utils.test.ts +23 -31
  278. package/src/components/editor/cell/CreateCellButton.tsx +14 -2
  279. package/src/components/editor/cell/code/cell-editor.tsx +1 -0
  280. package/src/components/editor/database/schemas.ts +2 -10
  281. package/src/components/editor/{Cell.tsx → notebook-cell.tsx} +5 -1
  282. package/src/components/editor/output/MarimoErrorOutput.tsx +4 -34
  283. package/src/components/editor/renderers/{CellArray.tsx → cell-array.tsx} +1 -1
  284. package/src/components/forms/__tests__/form-utils.test.ts +2 -2
  285. package/src/components/mcp/hooks.ts +48 -0
  286. package/src/components/mcp/mcp-status-indicator.tsx +144 -0
  287. package/src/components/ui/number-field.tsx +4 -1
  288. package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +13 -19
  289. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +0 -1
  290. package/src/core/ai/context/providers/__tests__/datasource.test.ts +5 -6
  291. package/src/core/ai/context/providers/__tests__/error.test.ts +24 -15
  292. package/src/core/ai/context/providers/cell-output.ts +5 -5
  293. package/src/core/ai/context/providers/common.ts +13 -4
  294. package/src/core/ai/context/providers/datasource.ts +31 -20
  295. package/src/core/ai/context/providers/error.ts +3 -4
  296. package/src/core/ai/context/providers/file.ts +2 -2
  297. package/src/core/ai/context/providers/tables.ts +36 -8
  298. package/src/core/ai/context/providers/variable.ts +2 -3
  299. package/src/core/cells/__tests__/cells.test.ts +6 -6
  300. package/src/core/cells/cells.ts +12 -13
  301. package/src/core/cells/scrollCellIntoView.ts +1 -1
  302. package/src/core/codemirror/__tests__/setup.test.ts +1 -0
  303. package/src/core/codemirror/cm.ts +3 -2
  304. package/src/core/config/__tests__/config-schema.test.ts +2 -0
  305. package/src/core/config/config-schema.ts +2 -0
  306. package/src/core/config/feature-flag.tsx +0 -2
  307. package/src/core/edit-app.tsx +1 -1
  308. package/src/core/network/CachingRequestRegistry.ts +2 -2
  309. package/src/stories/cell.stories.tsx +1 -1
  310. package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
  311. package/src/utils/numbers.ts +24 -1
  312. package/dist/assets/MarimoErrorOutput-CUb4AQdT.js +0 -6
  313. package/dist/assets/add-cell-with-ai-DCyfgnLI.js +0 -36
  314. package/dist/assets/agent-panel-B_MMb9mo.js +0 -287
  315. package/dist/assets/ai-model-dropdown-Dk9Kz_pz.js +0 -2
  316. package/dist/assets/api-DBBaApVO.js +0 -1
  317. package/dist/assets/app-config-button-Cbw9b5rl.js +0 -1
  318. package/dist/assets/cell-link-woRE950-.js +0 -1
  319. package/dist/assets/channel-D-YgrD6I.js +0 -1
  320. package/dist/assets/chat-panel-DLphumiN.js +0 -3
  321. package/dist/assets/check-hL6-9SZK.js +0 -1
  322. package/dist/assets/circle-check-big-C7DGeh12.js +0 -1
  323. package/dist/assets/classDiagram-KNZD7YFC-yzXw7kFX.js +0 -1
  324. package/dist/assets/classDiagram-v2-RKCZMP56-Co2zbBi0.js +0 -1
  325. package/dist/assets/client-CA946N69.js +0 -2
  326. package/dist/assets/column-preview-BT14RHNM.js +0 -2
  327. package/dist/assets/command-palette-qYrNUNjA.js +0 -1
  328. package/dist/assets/datasources-panel-2YJ76Lq8.js +0 -1
  329. package/dist/assets/dependency-graph-panel-CnzvmPdT.js +0 -4
  330. package/dist/assets/dist-BtRvVXgu.js +0 -1
  331. package/dist/assets/dist-CAZ5kHnb.js +0 -1
  332. package/dist/assets/dist-CN8IvtVY.js +0 -1
  333. package/dist/assets/dist-Cw007UHk.js +0 -1
  334. package/dist/assets/dist-DEfSR7VW.js +0 -1
  335. package/dist/assets/dist-DSbiMNpu.js +0 -1
  336. package/dist/assets/dist-DeIZvG9x.js +0 -1
  337. package/dist/assets/dist-DyZWkD0n.js +0 -1
  338. package/dist/assets/dist-hfODPqg9.js +0 -1
  339. package/dist/assets/edit-page-Bt_YqRld.js +0 -12
  340. package/dist/assets/error-panel-dvBEznKE.js +0 -1
  341. package/dist/assets/esm-hOS9Yf3s.js +0 -1
  342. package/dist/assets/field-Ota1KKvP.js +0 -1
  343. package/dist/assets/file-explorer-panel-Pa89UfV1.js +0 -1
  344. package/dist/assets/filename-BYm5Do9U.js +0 -1
  345. package/dist/assets/home-page-B3bIZC6F.js +0 -4
  346. package/dist/assets/index-BQd14tU4.css +0 -2
  347. package/dist/assets/input-Dm-m3XYB.js +0 -7
  348. package/dist/assets/links-CQoApRoA.js +0 -1
  349. package/dist/assets/logs-panel-R50NxjC7.js +0 -1
  350. package/dist/assets/mermaid.core-BjBlUxCx.js +0 -1
  351. package/dist/assets/numbers-DtHKLeOn.js +0 -1
  352. package/dist/assets/outline-panel-CB2kV_p5.js +0 -1
  353. package/dist/assets/packages-panel-BpFuUbAr.js +0 -1
  354. package/dist/assets/run-page-ClDuCh42.js +0 -1
  355. package/dist/assets/scratchpad-panel-BRljth0m.js +0 -1
  356. package/dist/assets/secrets-panel-CQON2dfx.js +0 -1
  357. package/dist/assets/snippets-panel-C0OdhmTA.js +0 -1
  358. package/dist/assets/state-DaDgAzck.js +0 -1
  359. package/dist/assets/state-Do6Fn2Io.js +0 -1
  360. package/dist/assets/stateDiagram-v2-UMBNRL4Z-Bi0DZGHg.js +0 -1
  361. package/dist/assets/stex-CbLDtSMU.js +0 -1
  362. package/dist/assets/storage-DFOl3UlZ.js +0 -1
  363. package/dist/assets/tracing-k1M6Upka.js +0 -2
  364. package/dist/assets/tracing-panel-CyG4yTCu.js +0 -2
  365. package/dist/assets/useHotkey-CJ5v8JMM.js +0 -1
  366. package/dist/assets/useNotebookActions-BB-5-4dL.js +0 -1
  367. package/dist/assets/useSplitCell-Cy53n7mS.js +0 -1
  368. package/dist/assets/utils-CfnN8i3Y.js +0 -1
  369. package/dist/assets/variable-panel-Dd_6lOoR.js +0 -1
  370. /package/dist/assets/{Deferred-BIEvCvJC.js → Deferred-Mppm0cvJ.js} +0 -0
  371. /package/dist/assets/{alert-B2-Y1fzf.js → alert-hjKHAeOD.js} +0 -0
  372. /package/dist/assets/{badge-D5b5ze0K.js → badge-DJuT6BaT.js} +0 -0
  373. /package/dist/assets/{blob-DFrnsWYL.js → blob-CTPcPiam.js} +0 -0
  374. /package/dist/assets/{connection-Cb7zku0y.js → connection-D2GvycR9.js} +0 -0
  375. /package/dist/assets/{copy-BiKQh0sU.js → copy-CkZsxeON.js} +0 -0
  376. /package/dist/assets/{createLucideIcon-Be9UM2Pe.js → createLucideIcon-QLW8E4z5.js} +0 -0
  377. /package/dist/assets/{createReducer-BaSP2BKE.js → createReducer-CFr1RdS2.js} +0 -0
  378. /package/dist/assets/{defaultLocale-DU4zdxes.js → defaultLocale-C6TNIE_k.js} +0 -0
  379. /package/dist/assets/{defaultLocale-BCtmQtCj.js → defaultLocale-DPsgYaXf.js} +0 -0
  380. /package/dist/assets/{dist-DIuPmJ5w.js → dist-Bz53xjA5.js} +0 -0
  381. /package/dist/assets/{dist-BhR4qmIv.js → dist-DcASoeRZ.js} +0 -0
  382. /package/dist/assets/{dist-BMAXVGJe.js → dist-Dlusp3mb.js} +0 -0
  383. /package/dist/assets/{documentation-BZROoSma.js → documentation-B7z6bB-t.js} +0 -0
  384. /package/dist/assets/{emotion-is-prop-valid.esm-plUNooLR.js → emotion-is-prop-valid.esm-BbphD4LX.js} +0 -0
  385. /package/dist/assets/{errors-qtuExmE-.js → errors-_3XAtRr3.js} +0 -0
  386. /package/dist/assets/{es-Hxx5X1vH.js → es-BVCqnQhJ.js} +0 -0
  387. /package/dist/assets/{extends--r5KbeWh.js → extends-Bwhapo2B.js} +0 -0
  388. /package/dist/assets/{fast-deep-equal-DT2Tke28.js → fast-deep-equal-BdzBWnNx.js} +0 -0
  389. /package/dist/assets/{icons-BUUt9FMo.js → icons-CLD-J5J3.js} +0 -0
  390. /package/dist/assets/{kbd-DItNvBdP.js → kbd-BQFiWIjd.js} +0 -0
  391. /package/dist/assets/{main-Co0CqoDt.js → main-CfqcqCNp.js} +0 -0
  392. /package/dist/assets/{marked.esm-BVjBUuHx.js → marked.esm-C_54K2ke.js} +0 -0
  393. /package/dist/assets/{namespace-BstGchRe.js → namespace-CnoeT75h.js} +0 -0
  394. /package/dist/assets/{objectWithoutPropertiesLoose-CGYpiDu4.js → objectWithoutPropertiesLoose-CDpgRi8_.js} +0 -0
  395. /package/dist/assets/{ordinal-DO1z0TEs.js → ordinal-CHS6rGcb.js} +0 -0
  396. /package/dist/assets/{preload-helper-CxnU7XTI.js → preload-helper-DImqtvgl.js} +0 -0
  397. /package/dist/assets/{prop-types-Bv8iPqhZ.js → prop-types-CHKlDUlJ.js} +0 -0
  398. /package/dist/assets/{range-CJAH1fu_.js → range-BPiwmiGf.js} +0 -0
  399. /package/dist/assets/{shim-Bk8nzKPV.js → shim-CWt9rDBn.js} +0 -0
  400. /package/dist/assets/{stex-CETff8Y9.js → stex-BrOrfhKB.js} +0 -0
  401. /package/dist/assets/{strings-1yw0WVap.js → strings-DYBy5ejj.js} +0 -0
  402. /package/dist/assets/{tslib.es6-DItc8Tbq.js → tslib.es6-dlz5WbC8.js} +0 -0
  403. /package/dist/assets/{use-toast-C07-frN_.js → use-toast-D6NNsC80.js} +0 -0
  404. /package/dist/assets/{useEvent-BIiDVnhT.js → useEvent-BOb1a9d1.js} +0 -0
  405. /package/dist/assets/{useLifecycle-Bnvt0QrQ.js → useLifecycle-BfeAlD80.js} +0 -0
  406. /package/dist/assets/{useNonce-Cw4ZAbgi.js → useNonce-BbWkd3B4.js} +0 -0
  407. /package/dist/assets/{useNumberFormatter-DYIEUCTe.js → useNumberFormatter-D21brJ0f.js} +0 -0
  408. /package/dist/assets/{uuid-BWz20PcF.js → uuid-4lb_EYpq.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{r as rn}from"./chunk-DZLz74EQ.js";import{$ as Ah,$t as kh,A as kb,At as vl,B as _b,Bt as ai,C as Db,Ct as V,D as Fb,Dt as Cb,E as Eb,Et as _h,F as Dh,Ft as $b,Gt as Sb,Ht as Mb,I as Bb,It as Ae,J as Ct,Jt as zb,Kt as Ob,L as Nb,Lt as Rb,M as Tb,Mt as Pb,N as jb,Nt as Lb,O as qb,Ot as Ub,P as Ib,Pt as Wb,Q as Hb,Qt as Fh,R as Gb,Rt as C8,S as E8,St as Ch,T as $8,Tt as Vb,Ut as yn,V as I,Vt as Yb,Wt as ar,X as G,Xt as Eh,Y as qe,Yt as oi,Z as $h,Zt as Sh,_ as S8,_t as la,a as ms,at as Xb,b as M8,bt as be,c as B8,ct as zr,d as z8,dt as bl,en as gs,et as Et,f as O8,ft as vn,g as N8,gt as ua,ht as B,i as R8,it as or,j as Jb,jt as Qb,k as Mh,kt as ys,l as Kb,lt as Zb,m as T8,mt as ro,n as P8,nt as N,o as ex,ot as li,p as j8,pt as W,q as io,qt as bn,r as L8,rt as de,s as tx,st as ao,t as q8,tn as Bh,tt as zh,u as nx,ut as X,v as U8,vt as fe,w as I8,wt as Oh,x as W8,xt as Y,y as H8,yt as G8,z as rx,zt as vs}from"./vega-loader.browser.module-Jwd7L8Ye.js";import{a as ix,c as xl,o as ax,s as ox}from"./precisionRound-CR2cxaaR.js";import{a as Nh,c as lx,d as bs,f as V8,l as Y8,n as oo,o as ui,p as X8,r as J8,s as Rh,t as Q8,u as Th}from"./linear-BI0LBATm.js";import{n as ux,r as xs,t as K8}from"./ordinal-DO1z0TEs.js";import{a as Z8,i as eS,n as tS,o as Ph,r as nS,s as sa,t as rS}from"./time-Dzg4b75Q.js";import{t as an}from"./range-CJAH1fu_.js";import{i as iS,t as aS}from"./defaultLocale-BCtmQtCj.js";import{S as oS,T as lS,_ as uS,b as sS,l as cS,r as fS,s as dS,w as hS}from"./defaultLocale-DU4zdxes.js";import{a as sx,b as pS,d as jh,g as mS,h as gS,i as yS,n as vS,r as bS,t as xS,u as Lh,v as wS,y as ws}from"./timer-m_pEB4Lb.js";import{n as qh,r as $t,t as cx}from"./path-Gc-fQZTe.js";import{f as AS,p as kS,u as _S}from"./math-BsaXoFIn.js";import{t as DS}from"./arc-De5rudRM.js";import{t as FS}from"./array-DZFD9yN1.js";import{_ as CS,a as ES,c as $S,d as SS,f as MS,g as BS,h as zS,i as OS,l as NS,m as RS,n as TS,o as PS,p as jS,r as LS,s as qS,t as US,u as IS,v as fx}from"./step-aJ-oEw6-.js";import{n as WS,r as HS,t as dx}from"./line-1VYCafWO.js";import{n as ca,t as si}from"./init-BEfLCoUT.js";import{t as lr}from"./colors-BlRVeShK.js";import{a as Uh,c as hx,d as px,f as GS,i as VS,l as YS,n as XS,o as As,p as JS,r as QS,s as KS,t as ZS,u as ks}from"./treemap-CMOdyZ8L.js";function e4(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(r=o-i,i+=r/++n,a+=r*(o-i));else{let o=-1;for(let l of e)(l=t(l,++o,e))!=null&&(l=+l)>=l&&(r=l-i,i+=r/++n,a+=r*(l-i))}if(n>1)return a/(n-1)}function t4(e,t){let n=e4(e,t);return n&&Math.sqrt(n)}var St=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 n4(e,t){return Array.from(t,n=>e[n])}function r4(e=xl){if(e===xl)return mx;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 mx(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function gx(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?mx:r4(i);r>n;){if(r-n>600){let u=r-n+1,s=t-n+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(s-u/2<0?-1:1),h=Math.max(n,Math.floor(t-s*f/u+d)),p=Math.min(r,Math.floor(t+(u-s)*f/u+d));gx(e,t,h,p,i)}let a=e[t],o=n,l=r;for(wl(e,n,t),i(e[r],a)>0&&wl(e,n,r);o<l;){for(wl(e,o,l),++o,--l;i(e[o],a)<0;)++o;for(;i(e[l],a)>0;)--l}i(e[n],a)===0?wl(e,n,l):(++l,wl(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function wl(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Ih(e,t,n){if(e=Float64Array.from(X8(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Ph(e);if(t>=1)return sa(e);var r,i=(r-1)*t,a=Math.floor(i),o=sa(gx(e,a).subarray(0,a+1)),l=Ph(e.subarray(a+1));return o+(l-o)*(i-a)}}function yx(e,t,n=V8){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),l=+n(e[a+1],a+1,e);return o+(l-o)*(i-a)}}function i4(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function vx(e,t){return Ih(e,.5,t)}function*a4(e){for(let t of e)yield*t}function bx(e){return Array.from(a4(e))}function xx(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function o4(e,...t){e=new xs(e),t=t.map(l4);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e}function l4(e){return e instanceof xs?e:new xs(e)}function u4(...e){let t=new xs;for(let n of e)for(let r of n)t.add(r);return t}function s4(e,t,n){var r=new xS,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(a,o,l){o=+o,l=l==null?vS():+l,r._restart(function u(s){s+=i,r._restart(u,i+=o,l),a(s)},o,l)},r.restart(e,t,n),r)}var c4={name:"vega-lite",author:'Dominik Moritz, Kanit "Ham" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer',version:"5.23.0",collaborators:["Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)","Dominik Moritz (https://www.domoritz.de)","Arvind Satyanarayan (https://arvindsatya.com)","Jeffrey Heer (https://jheer.org)"],homepage:"https://vega.github.io/vega-lite/",description:"Vega-Lite is a concise high-level language for interactive visualization.",keywords:["vega","chart","visualization"],main:"build/vega-lite.js",unpkg:"build/vega-lite.min.js",jsdelivr:"build/vega-lite.min.js",module:"build/src/index",types:"build/src/index.d.ts",bin:{vl2pdf:"./bin/vl2pdf",vl2png:"./bin/vl2png",vl2svg:"./bin/vl2svg",vl2vg:"./bin/vl2vg"},files:["bin","build","src","vega-lite*","tsconfig.json"],scripts:{changelog:"conventional-changelog -p angular -r 2",prebuild:"yarn clean:build",build:"yarn build:only","build:only":"tsc -p tsconfig.build.json && rollup -c","prebuild:examples":"yarn build:only","build:examples":"yarn data && TZ=America/Los_Angeles scripts/build-examples.sh","prebuild:examples-full":"yarn build:only","build:examples-full":"TZ=America/Los_Angeles scripts/build-examples.sh 1","build:example":"TZ=America/Los_Angeles scripts/build-example.sh","build:toc":"yarn build:jekyll && scripts/generate-toc","build:site":"rollup -c site/rollup.config.mjs","build:jekyll":"pushd site && bundle exec jekyll build -q && popd","build:versions":"scripts/update-version.sh",clean:"yarn clean:build && del-cli 'site/data/*' 'examples/compiled/*.png' && find site/examples ! -name 'index.md' ! -name 'data' -type f -delete","clean:build":"del-cli 'build/*' !build/vega-lite-schema.json",data:"rsync -r node_modules/vega-datasets/data/* site/data","build-editor-preview":"scripts/build-editor-preview.sh",schema:"mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/",renameschema:"scripts/rename-schema.sh",presite:"yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh",site:"yarn site:only","site:only":"pushd site && bundle exec jekyll serve -I -l && popd",prettierbase:"prettier '**/*.{md,css,yml}'",format:"eslint . --fix && yarn prettierbase --write",lint:"eslint . && yarn prettierbase --check",test:"yarn jest test/ && yarn lint && yarn schema && yarn jest examples/ && yarn test:runtime","test:cover":"yarn jest --collectCoverage test/","test:inspect":"node --inspect-brk ./node_modules/.bin/jest --runInBand test","test:runtime":"TZ=America/Los_Angeles npx jest test-runtime/ --config test-runtime/jest-config.json","test:runtime:generate":"yarn build:only && del-cli test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime",watch:"tsc -p tsconfig.build.json -w","watch:site":"yarn build:site -w","watch:test":"yarn jest --watch test/","watch:test:runtime":"TZ=America/Los_Angeles npx jest --watch test-runtime/ --config test-runtime/jest-config.json",release:"release-it"},repository:{type:"git",url:"https://github.com/vega/vega-lite.git"},license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-lite/issues"},devDependencies:{"@babel/core":"^7.26.0","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@release-it/conventional-changelog":"^9.0.3","@rollup/plugin-alias":"^5.1.1","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@types/d3":"^7.4.3","@types/jest":"^29.5.14","@types/pako":"^2.0.3","@typescript-eslint/eslint-plugin":"^7.17.0","@typescript-eslint/parser":"^7.17.0",ajv:"^8.17.1","ajv-formats":"^3.0.1",cheerio:"^1.0.0","conventional-changelog-cli":"^5.0.0",d3:"^7.9.0","del-cli":"^6.0.0",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^27.9.0","eslint-plugin-prettier":"^5.2.1","fast-json-stable-stringify":"~2.1.0","highlight.js":"^11.10.0",jest:"^29.7.0","jest-dev-server":"^10.1.4",mkdirp:"^3.0.1",pako:"^2.1.0",prettier:"^3.3.3",puppeteer:"^15.0.0","release-it":"17.10.0",rollup:"^4.27.3","rollup-plugin-bundle-size":"^1.0.3",serve:"^14.2.4",terser:"^5.36.0","ts-jest":"^29.2.5","ts-json-schema-generator":"^2.3.0",typescript:"~5.7.2","vega-cli":"^5.30.0","vega-datasets":"^2.11.0","vega-embed":"^6.28.0","vega-tooltip":"^0.35.2","yaml-front-matter":"^4.1.1"},dependencies:{"json-stringify-pretty-compact":"~4.0.0",tslib:"~2.8.1","vega-event-selector":"~3.0.1","vega-expression":"~5.1.1","vega-util":"~1.17.2",yargs:"~17.7.2"},peerDependencies:{vega:"^5.24.0"},engines:{node:">=18"},packageManager:"yarn@1.22.22"};function Wh(e){return j(e,"or")}function Hh(e){return j(e,"and")}function Gh(e){return j(e,"not")}function _s(e,t){if(Gh(e))_s(e.not,t);else if(Hh(e))for(let n of e.and)_s(n,t);else if(Wh(e))for(let n of e.or)_s(n,t);else t(e)}function lo(e,t){return Gh(e)?{not:lo(e.not,t)}:Hh(e)?{and:e.and.map(n=>lo(n,t))}:Wh(e)?{or:e.or.map(n=>lo(n,t))}:t(e)}const ie=structuredClone;function wx(e){throw Error(e)}function uo(e,t){let n={};for(let r of t)X(e,r)&&(n[r]=e[r]);return n}function Vt(e,t){let n={...e};for(let r of t)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>$e(e)).join(",")})`};function he(e){if(be(e))return e;let t=V(e)?e:$e(e);if(t.length<250)return t;let n=0;for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);n=(n<<5)-n+i,n&=n}return n}function Vh(e){return e===!1||e===null}function ue(e,t){return e.includes(t)}function so(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function Yh(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function Ax(e,...t){for(let n of t)f4(e,n??{});return e}function f4(e,t){for(let n of R(t))Eh(e,n,t[n],!0)}function ur(e,t){let n=[],r={},i;for(let a of e)i=t(a),!(i in r)&&(r[i]=1,n.push(a));return n}function d4(e,t){let n=R(e),r=R(t);if(n.length!==r.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0}function kx(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Xh(e,t){for(let n of e)if(t.has(n))return!0;return!1}function Jh(e){let t=new Set;for(let n of e){let r=ai(n).map((a,o)=>o===0?a:`[${a}]`),i=r.map((a,o)=>r.slice(0,o+1).join(""));for(let a of i)t.add(a)}return t}function Qh(e,t){return e===void 0||t===void 0?!0:Xh(Jh(e),Jh(t))}function Ee(e){return R(e).length===0}const R=Object.keys,ut=Object.values,ci=Object.entries;function Al(e){return e===!0||e===!1}function Te(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function kl(e,t){return Gh(e)?`!(${kl(e.not,t)})`:Hh(e)?`(${e.and.map(n=>kl(n,t)).join(") && (")})`:Wh(e)?`(${e.or.map(n=>kl(n,t)).join(") || (")})`:t(e)}function Ds(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&Ds(e[n],t)&&delete e[n],Ee(e)}function _l(e){return e.charAt(0).toUpperCase()+e.substr(1)}function Kh(e,t="datum"){let n=ai(e),r=[];for(let i=1;i<=n.length;i++){let a=`[${n.slice(0,i).map(I).join("][")}]`;r.push(`${t}${a}`)}return r.join(" && ")}function _x(e,t="datum"){return`${t}[${I(ai(e).join("."))}]`}function ke(e){return`datum['${e.replaceAll("'","\\'")}']`}function h4(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function xn(e){return`${ai(e).map(h4).join("\\.")}`}function fa(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function co(e){return`${ai(e).join(".")}`}function fo(e){return e?ai(e).length:0}function He(...e){return e.find(t=>t!==void 0)}var Dx=42;function Fx(e){let t=++Dx;return e?String(e)+t:t}function p4(){Dx=42}function Cx(e){return Ex(e)?e:`__${e}`}function Ex(e){return e.startsWith("__")}function Dl(e){if(e!==void 0)return(e%360+360)%360}function Fs(e){return be(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var $x=Object.getPrototypeOf(structuredClone({}));function on(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!on(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;for(let a of e.entries())if(!on(a[1],t.get(a[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==$x.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==$x.toString)return e.toString()===t.toString();let i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let a=i[r];if(!on(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function $e(e){let t=[];return(function n(r){if(r&&r.toJSON&&typeof r.toJSON=="function"&&(r=r.toJSON()),r===void 0)return;if(typeof r=="number")return isFinite(r)?""+r:"null";if(typeof r!="object")return JSON.stringify(r);let i,a;if(Array.isArray(r)){for(a="[",i=0;i<r.length;i++)i&&(a+=","),a+=n(r[i])||"null";return a+"]"}if(r===null)return"null";if(t.includes(r))throw TypeError("Converting circular structure to JSON");let o=t.push(r)-1,l=Object.keys(r).sort();for(a="",i=0;i<l.length;i++){let u=l[i],s=n(r[u]);s&&(a&&(a+=","),a+=JSON.stringify(u)+":"+s)}return t.splice(o,1),`{${a}}`})(e)}function j(e,t){return Y(e)&&X(e,t)&&e[t]!==void 0}const fi="column",Cs="facet",ho="xOffset",po="yOffset",sr="radius",Or="radius2",Bn="theta",Nr="theta2",zn="latitude",On="longitude",Nn="latitude2",Rn="longitude2",di="time",Rr="color",hi="fill",pi="stroke",Tr="shape",mi="size",da="angle",gi="opacity",yi="fillOpacity",vi="strokeOpacity",bi="strokeWidth",xi="strokeDash",Es="text",$s="order",Ss="detail",Ms="tooltip",Bs="href",zs="description";var m4={x:1,y:1,x2:1,y2:1},Sx={theta:1,theta2:1,radius:1,radius2:1};function Mx(e){return X(Sx,e)}var Zh={longitude:1,longitude2:1,latitude:1,latitude2:1};function Bx(e){switch(e){case zn:return"y";case Nn:return"y2";case On:return"x";case Rn:return"x2"}}function zx(e){return X(Zh,e)}const g4=R(Zh);var ep={...m4,...Sx,...Zh,xOffset:1,yOffset:1,color:1,fill:1,stroke:1,time:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1};function mo(e){return e==="color"||e==="fill"||e==="stroke"}var Ox={row:1,column:1,facet:1};const wn=R(Ox);var tp={...ep,...Ox};const y4=R(tp);var{order:Vte,detail:Yte,tooltip:Xte,...Nx}=tp,{row:Jte,column:Qte,facet:Kte,...Rx}=Nx;R(Nx),R(Rx);function v4(e){return X(Rx,e)}function Tx(e){return X(tp,e)}const b4=["x2","y2",Nn,Rn,Nr,Or];function Px(e){return ha(e)!==e}function ha(e){switch(e){case"x2":return"x";case"y2":return"y";case Nn:return zn;case Rn:return On;case Nr:return Bn;case Or:return sr}return e}function wi(e){if(Mx(e))switch(e){case Bn:return"startAngle";case Nr:return"endAngle";case sr:return"outerRadius";case Or:return"innerRadius"}return e}function cr(e){switch(e){case"x":return"x2";case"y":return"y2";case zn:return Nn;case On:return Rn;case Bn:return Nr;case sr:return Or}}function Yt(e){switch(e){case"x":case"x2":return"width";case"y":case"y2":return"height"}}function jx(e){switch(e){case"x":return"xOffset";case"y":return"yOffset";case"x2":return"x2Offset";case"y2":return"y2Offset";case Bn:return"thetaOffset";case sr:return"radiusOffset";case Nr:return"theta2Offset";case Or:return"radius2Offset"}}function np(e){switch(e){case"x":return"xOffset";case"y":return"yOffset"}}function x4(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}const w4=R(ep);var{x:Zte,y:ene,x2:tne,y2:nne,xOffset:rne,yOffset:ine,latitude:ane,longitude:one,latitude2:lne,longitude2:une,theta:sne,theta2:cne,radius:fne,radius2:dne,...rp}=ep;const A4=R(rp);var ip={x:1,y:1};const Pr=R(ip);function Ge(e){return X(ip,e)}const ap={theta:1,radius:1},k4=R(ap);function Os(e){return e==="width"?"x":"y"}var op={xOffset:1,yOffset:1};R(op);function Fl(e){return X(op,e)}var Lx={time:1};R(Lx);function lp(e){return e in Lx}var{text:hne,tooltip:pne,href:mne,url:gne,description:yne,detail:vne,key:bne,order:xne,...qx}=rp;const Ux=R(qx);function _4(e){return X(rp,e)}function D4(e){switch(e){case Rr:case hi:case pi:case mi:case Tr:case gi:case bi:case xi:return!0;case yi:case vi:case da:case di:return!1}}var Ix={...ip,...ap,...op,...qx};const up=R(Ix);function fr(e){return X(Ix,e)}function F4(e,t){return E4(e)[t]}var Wx={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:wne,...C4}=Wx;function E4(e){switch(e){case Rr:case hi:case pi:case zs:case Ss:case"key":case Ms:case Bs:case $s:case gi:case yi:case vi:case bi:case Cs:case"row":case fi:return Wx;case"x":case"y":case ho:case po:case zn:case On:case di:return C4;case"x2":case"y2":case Nn:case Rn:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case mi:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case xi:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case Tr:return{point:"always",geoshape:"always"};case Es:return{text:"always"};case da:return{point:"always",square:"always",text:"always"};case"url":return{image:"always"};case Bn:return{text:"always",arc:"always"};case sr:return{text:"always",arc:"always"};case Nr:case Or:return{arc:"always"}}}function sp(e){switch(e){case"x":case"y":case Bn:case sr:case ho:case po:case mi:case da:case bi:case gi:case yi:case vi:case di:case"x2":case"y2":case Nr:case Or:return;case Cs:case"row":case fi:case Tr:case xi:case Es:case Ms:case Bs:case"url":case zs:return"discrete";case Rr:case hi:case pi:return"flexible";case zn:case On:case Nn:case Rn:case Ss:case"key":case $s:return}}var $4={argmax:1,argmin:1,average:1,count:1,distinct:1,exponential:1,exponentialb:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1};const S4={count:1,min:1,max:1};function jr(e){return j(e,"argmin")}function Ai(e){return j(e,"argmax")}function Ns(e){return V(e)&&X($4,e)}const M4=new Set(["count","valid","missing","distinct"]);function Rs(e){return V(e)&&M4.has(e)}function B4(e){return V(e)&&ue(["min","max"],e)}const z4=new Set(["count","sum","distinct","valid","missing"]),O4=new Set(["mean","average","median","q1","q3","min","max"]);function Hx(e){return ua(e)&&(e=zd(e,void 0)),"bin"+R(e).map(t=>Ts(e[t])?Te(`_${t}_${ci(e[t])}`):Te(`_${t}_${e[t]}`)).join("")}function ze(e){return e===!0||pa(e)&&!e.binned}function st(e){return e==="binned"||pa(e)&&e.binned===!0}function pa(e){return Y(e)}function Ts(e){return j(e,"param")}function Gx(e){switch(e){case"row":case fi:case mi:case Rr:case hi:case pi:case bi:case gi:case yi:case vi:case Tr:return 6;case xi:return 4;default:return 10}}function Cl(e){return j(e,"expr")}function ct(e,{level:t}={level:0}){let n=R(e||{}),r={};for(let i of n)r[i]=t===0?ln(e[i]):ct(e[i],{level:t-1});return r}function Vx(e){let{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:o,color:l,subtitleColor:u,subtitleFont:s,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,g={...m,...l?{fill:l}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...a===void 0?{}:{angle:a},...o===void 0?{}:{limit:o}},v={...u?{subtitleColor:u}:{},...s?{subtitleFont:s}:{},...c?{subtitleFontSize:c}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}},b=uo(e,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:b,nonMarkTitleProperties:y,subtitle:v}}function ki(e){return V(e)||B(e)&&V(e[0])}function Z(e){return j(e,"signal")}function ma(e){return j(e,"step")}function N4(e){return B(e)?!1:j(e,"fields")&&!j(e,"data")}function R4(e){return B(e)?!1:j(e,"fields")&&j(e,"data")}function Lr(e){return B(e)?!1:j(e,"field")&&j(e,"data")}const T4=R({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),P4={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},cp=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function Yx(e){let t=B(e.condition)?e.condition.map(Xx):Xx(e.condition);return{...ln(e),condition:t}}function ln(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Xx(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Oe(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return Z(e)?e:e===void 0?void 0:{value:e}}function j4(e){return Z(e)?e.signal:I(e)}function Jx(e){return Z(e)?e.signal:I(e.value)}function Tn(e){return Z(e)?e.signal:e==null?null:I(e)}function L4(e,t,n){for(let r of n){let i=dr(r,t.markDef,t.config);i!==void 0&&(e[r]=Oe(i))}return e}function Qx(e){return[].concat(e.type,e.style??[])}function Se(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:a}=r;return i&&j(t,i)?t[i]:t[e]===void 0?a&&(!i||i===e)?void 0:dr(e,t,n,r):t[e]}function dr(e,t,n,{vgChannel:r}={}){let i=fp(e,t,n.style);return He(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function fp(e,t,n){return Kx(e,Qx(t),n)}function Kx(e,t,n){t=G(t);let r;for(let i of t){let a=n[i];j(a,e)&&(r=a[e])}return r}function Zx(e,t){return G(e).reduce((n,r)=>(n.field.push(H(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function e2(e,t){let n=[...e];return t.forEach(r=>{for(let i of n)if(on(i,r))return;n.push(r)}),n}function t2(e,t){return on(e,t)||!t?e:e?[...G(e),...G(t)].join(", "):t}function n2(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((ki(n)||Z(n))&&(ki(r)||Z(r)))return{explicit:e.explicit,value:t2(n,r)};if(ki(n)||Z(n))return{explicit:e.explicit,value:n};if(ki(r)||Z(r))return{explicit:e.explicit,value:r};if(!ki(n)&&!Z(n)&&!ki(r)&&!Z(r))return{explicit:e.explicit,value:e2(n,r)};throw Error("It should never reach here")}function Ps(e){let t=e||vn,n=[],r={};return n.add=i=>{let a=t(i);return r[a]||(r[a]=1,n.push(i)),n},n.remove=i=>{let a=t(i);if(r[a]){r[a]=0;let o=n.indexOf(i);o>=0&&n.splice(o,1)}return n},n}async function js(e,t){try{await t(e)}catch(n){e.error(n)}}var r2=Symbol("vega_id"),q4=1;function Ls(e){return!!(e&&ee(e))}function ee(e){return e[r2]}function i2(e,t){return e[r2]=t,e}function xe(e){let t=e===Object(e)?e:{data:e};return ee(t)?t:i2(t,q4++)}function dp(e){return qs(e,xe({}))}function qs(e,t){for(let n in e)t[n]=e[n];return t}function a2(e,t){return i2(t,ee(e))}function ga(e,t){return e?t?(n,r)=>e(n,r)||ee(t(n))-ee(t(r)):(n,r)=>e(n,r)||ee(n)-ee(r):null}function o2(e){return e&&e.constructor===ya}function ya(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:ya,insert(l){let u=G(l),s=u.length;for(let c=0;c<s;++c)e.push(u[c]);return this},remove(l){let u=fe(l)?r:t,s=G(l),c=s.length;for(let f=0;f<c;++f)u.push(s[f]);return this},modify(l,u,s){let c={field:u,value:Et(s)};return fe(l)?(c.filter=l,i.push(c)):(c.tuple=l,n.push(c)),this},encode(l,u){return fe(l)?i.push({filter:l,field:u}):n.push({tuple:l,field:u}),this},clean(l){return a=l,this},reflow(){return o=!0,this},pulse(l,u){let s={},c={},f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)s[ee(u[f])]=1;for(f=0,d=t.length;f<d;++f)m=t[f],s[ee(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(s[ee(v)]=-1)});for(f=0,d=e.length;f<d;++f)m=e[f],g=ee(m),s[g]?s[g]=1:l.add.push(xe(e[f]));for(f=0,d=u.length;f<d;++f)m=u[f],s[ee(m)]<0&&l.rem.push(m);function y(v,b,x){x?v[b]=x(v):l.encode=b,o||(c[ee(v)]=v)}for(f=0,d=n.length;f<d;++f)h=n[f],m=h.tuple,p=h.field,g=s[ee(m)],g>0&&(y(m,p,h.value),l.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&s[ee(v)]>0&&y(v,h.field,h.value)}),l.modifies(h.field);if(o)l.mod=t.length||r.length?u.filter(v=>s[ee(v)]>0):u.slice();else for(g in c)l.mod.push(c[g]);return(a||a==null&&(t.length||r.length))&&l.clean(!0),l}}}var Us="_:mod:_";function Is(){Object.defineProperty(this,Us,{writable:!0,value:{}})}Is.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[Us];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]=B(n)?1+n.length:-1),i},modified(e,t){let n=this[Us];if(arguments.length){if(B(e)){for(let r=0;r<e.length;++r)if(n[e[r]])return!0;return!1}}else{for(let r in n)if(n[r])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[Us]={},this}};var U4=0,I4="pulse",W4=new Is,H4=1,G4=2;function Be(e,t,n,r){this.id=++U4,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 l2(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}Be.prototype={targets(){return this._targets||(this._targets=Ps(bl))},set(e){return this.value===e?0:(this.value=e,1)},skip:l2(H4),modified:l2(G4),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Is,i=this._argops=this._argops||[],a=[],o,l,u,s,c=(f,d,h)=>{h instanceof Be?(h!==this&&(t&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in e)if(l=e[o],o===I4)G(l).forEach(f=>{f instanceof Be?f!==this&&(f.targets().add(this),a.push(f)):N("Pulse parameters must be operator instances.")}),this.source=l;else if(B(l))for(r.set(o,-1,Array(u=l.length)),s=0;s<u;++s)c(o,s,l[s]);else c(o,-1,l);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||W4,n=this._argops,r,i,a,o;if(n){let l=n.length;for(i=0;i<l;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<l;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function V4(e,t,n,r){let i=1,a;return e instanceof Be?a=e:e&&e.prototype instanceof Be?a=new e:fe(e)?a=new Be(null,e):(i=0,a=new Be(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function Y4(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 X4=0;function Ws(e,t,n){this.id=++X4,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function _i(e,t,n){return new Ws(e,t,n)}Ws.prototype={_filter:bn,_apply:vn,targets(){return this._targets||(this._targets=Ps(bl))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i<r;++i)n[i].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=_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,zh(e,n=>{let r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(_i(null,null,()=>n=!0)),t.targets().add(_i(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=bn,this._targets=null}};function J4(e,t,n,r){let i=this,a=_i(n,r),o=function(s){s.dataflow=i;try{a.receive(s)}catch(c){i.error(c)}finally{i.run()}},l;l=typeof e=="string"&&typeof document<"u"?document.querySelectorAll(e):G(e);let u=l.length;for(let s=0;s<u;++s)l[s].addEventListener(t,o);return a}function Q4(e,t){let n=this.locale();return ex(e,t,n.timeParse,n.utcParse)}function K4(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function Z4(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:"dataflow",response:tx(t&&t.type)});try{i=n.parse(i,t)}catch(a){r=-2,n.warn("Data ingestion failed",e,a)}}catch(a){r=-1,n.warn("Loading failed",e,a)}return{data:i,status:r}}async function e9(e,t,n){let r=this,i=r._pending||t9(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(bn).insert(a.data||[])),i.done(),a}function t9(e){let t,n=new Promise(r=>t=r);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var n9={skip:!0};function r9(e,t,n,r,i){return(e instanceof Be?a9:i9)(this,e,t,n,r,i),this}function i9(e,t,n,r,i,a){let o=de({},a,n9),l,u;fe(n)||(n=Et(n)),r===void 0?l=s=>e.touch(n(s)):fe(r)?(u=new Be(null,r,i,!1),l=s=>{u.evaluate(s);let c=n(s),f=u.value;o2(f)?e.pulse(c,f,a):e.update(c,f,o)}):l=s=>e.update(n(s),r,o),t.apply(l)}function a9(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},l=new Be(null,o9(n,r),i,!1);l.modified(o.force),l.rank=t.rank,t.targets().add(l),n&&(l.skip(!0),l.value=n.value,l.targets().add(n),e.connect(n,[l]))}}function o9(e,t){return t=fe(t)?t:Et(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function l9(e){e.rank=++this._rank}function u9(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&&N("Cycle detected in dataflow graph.")}var Hs={},qr=1,Di=2,Fi=4,s9=qr|Di,u2=qr|Fi,go=Di|5,s2=8,El=16,c2=32,f2=64;function Ci(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function hp(e,t){let n=[];return oi(e,t,r=>n.push(r)),n}function d2(e,t){let n={};return e.visit(t,r=>{n[ee(r)]=1}),r=>n[ee(r)]?null:r}function Gs(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}Ci.prototype={StopPropagation:Hs,ADD:qr,REM:Di,MOD:Fi,ADD_REM:s9,ADD_MOD:u2,ALL:go,REFLOW:s2,SOURCE:El,NO_SOURCE:c2,NO_FIELDS:f2,fork(e){return new Ci(this.dataflow).init(this,e)},clone(){let e=this.fork(go);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(go|El)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new Ci(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&f2)&&(n.fields=e.fields),t&qr?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&Di?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Fi?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&c2?(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||go;return t&qr&&this.add.length||t&Di&&this.rem.length||t&Fi&&this.mod.length},reflow(e){if(e)return this.fork(go).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Fi,d2(this,qr))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return B(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?B(e)?e.some(r=>n[r]):n[e]:!!n:!1},filter(e,t){let n=this;return e&qr&&(n.addF=Gs(n.addF,t)),e&Di&&(n.remF=Gs(n.remF,t)),e&Fi&&(n.modF=Gs(n.modF,t)),e&El&&(n.srcF=Gs(n.srcF,t)),n},materialize(e){e||(e=go);let t=this;return e&qr&&t.addF&&(t.add=hp(t.add,t.addF),t.addF=null),e&Di&&t.remF&&(t.rem=hp(t.rem,t.remF),t.remF=null),e&Fi&&t.modF&&(t.mod=hp(t.mod,t.modF),t.modF=null),e&El&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&El)return oi(n.source,n.srcF,r),n;e&qr&&oi(n.add,n.addF,r),e&Di&&oi(n.rem,n.remF,r),e&Fi&&oi(n.mod,n.modF,r);let i=n.source;if(e&s2&&i){let a=n.add.length+n.mod.length;a===i.length||(a?oi(i,d2(n,u2),r):oi(i,n.srcF,r))}return n}};function pp(e,t,n,r){let i=this,a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let o of n)if(o.stamp===t){if(o.fields){let l=i.fields||(i.fields={});for(let u in o.fields)l[u]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}W(pp,Ci,{fork(e){let t=new Ci(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?B(e)?e.some(r=>n[r]):n[e]:0},filter(){N("MultiPulse does not support filtering.")},materialize(){N("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 c9(e,t,n){let r=this,i=[];if(r._pulse)return h2(r);if(r._pending&&await r._pending,t&&await js(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let a=++r._clock;r._pulse=new Ci(r,a,e),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ps(bl);let o=0,l,u,s;try{for(;r._heap.size()>0;){if(l=r._heap.pop(),l.rank!==l.qrank){r._enqueue(l,!0);continue}u=l.run(r._getPulse(l,e)),u.then?u=await u:u.async&&(i.push(u.async),u=Hs),u!==Hs&&l._targets&&l._targets.forEach(c=>r._enqueue(c)),++o}}catch(c){r._heap.clear(),s=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),s&&(r._postrun=[],r.error(s)),r._postrun.length){let c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await js(r,c[f].callback)}return n&&await js(r,n),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}async function f9(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 d9(e,t,n){return this._pulse?h2(this):(this.evaluate(e,t,n),this)}function h9(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(r){this.error(r)}}function h2(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}function p9(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function m9(e,t){let n=e.source,r=this._clock;return n&&B(n)?new pp(this,r,n.map(i=>i.pulse),t):this._input[e.id]||g9(this._pulse,n&&n.pulse)}function g9(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==Hs&&(e.source=t.source),e)}var mp={skip:!1,force:!1};function y9(e,t){let n=t||mp;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function v9(e,t,n){let r=n||mp;return(e.set(t)||r.force)&&this.touch(e,r),this}function b9(e,t,n){this.touch(e,n||mp);let r=new Ci(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function x9(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),p2(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,w9(t,0,e)):r=n,r}}}function p2(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 w9(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,l;for(;o<i;)l=o+1,l<i&&n(e[o],e[l])>=0&&(o=l),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,p2(e,r,t,n)}function yo(){this.logger(_h()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=Kb();try{this._loader=ms()}catch{}this._touched=Ps(bl),this._input={},this._pulse=null,this._heap=x9((e,t)=>e.qrank-t.qrank),this._postrun=[]}function $l(e){return function(){return this._log[e].apply(this,arguments)}}yo.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:$l("error"),warn:$l("warn"),info:$l("info"),debug:$l("debug"),logLevel:$l("level"),cleanThreshold:1e4,add:V4,connect:Y4,rank:l9,rerank:u9,pulse:b9,touch:y9,update:v9,changeset:ya,ingest:K4,parse:Q4,preload:e9,request:Z4,events:J4,on:r9,evaluate:c9,run:d9,runAsync:f9,runAfter:h9,_enqueue:p9,_getPulse:m9};function $(e,t){Be.call(this,e,null,t)}W($,Be,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||(t=e),t.then?t=t.then(n=>this.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var vo={};function m2(e){let t=g2(e);return t&&t.Definition||null}function g2(e){return e&&(e=e.toLowerCase()),X(vo,e)?vo[e]:null}function*y2(e,t){if(t==null)for(let n of e)n!=null&&n!==""&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function gp(e,t,n){let r=Float64Array.from(y2(e,n));return r.sort(xl),t.map(i=>yx(r,i))}function yp(e,t){return gp(e,[.25,.5,.75],t)}function vp(e,t){let n=e.length,r=t4(e,t),i=yp(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 v2(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,u,s,c,f,d,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=h/t,f=0,d=e.steps.length;f<d&&e.steps[f]<c;++f);l=e.steps[Math.max(0,f-1)]}else{for(u=Math.ceil(Math.log(t)/r),s=e.minstep||0,l=Math.max(s,n**+(Math.round(Math.log(h)/r)-u));Math.ceil(h/l)>t;)l*=n;for(f=0,d=i.length;f<d;++f)c=l/i[f],c>=s&&h/c<=t&&(l=c)}c=Math.log(l);let p=c>=0?0:~~(-c/r)+1,m=n**(-p-1);return(e.nice||e.nice===void 0)&&(c=Math.floor(a/l+m)*l,a=a<c?c-l:c,o=Math.ceil(o/l)*l),{start:a,stop:o===a?a+l:o,step:l}}var An=Math.random;function A9(e){An=e}function b2(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(y2(e,r)),a=i.length,o=t,l,u,s,c;for(s=0,c=Array(o);s<o;++s){for(l=0,u=0;u<a;++u)l+=i[~~(An()*a)];c[s]=l/a}return c.sort(xl),[Ih(c,n/2),Ih(c,1-n/2)]}function x2(e,t,n,r){r||(r=(d=>d));let i=e.length,a=new Float64Array(i),o=0,l=1,u=r(e[0]),s=u,c=u+t,f;for(;l<i;++l){if(f=r(e[l]),f>=c){for(s=(u+s)/2;o<l;++o)a[o]=s;c=f+t,u=f}s=f}for(s=(u+s)/2;o<l;++o)a[o]=s;return n?k9(a,t+t/4):a}function k9(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 _9(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function D9(e,t){t??(t=e,e=0);let n,r,i,a={min(o){return arguments.length?(n=o||0,i=r-n,a):n},max(o){return arguments.length?(r=o||0,i=r-n,a):r},sample(){return n+Math.floor(i*An())},pdf(o){return o===Math.floor(o)&&o>=n&&o<r?1/i:0},cdf(o){let l=Math.floor(o);return l<n?0:l>=r?1:(l-n+1)/i},icdf(o){return o>=0&&o<=1?n-1+Math.floor(o*i):NaN}};return a.min(e).max(t)}var w2=Math.sqrt(2*Math.PI),F9=Math.SQRT2,Sl=NaN;function Vs(e,t){e||(e=0),t??(t=1);let n=0,r=0,i,a;if(Sl===Sl)n=Sl,Sl=NaN;else{do n=An()*2-1,r=An()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,Sl=r*a}return e+n*t}function bp(e,t,n){n??(n=1);let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*w2)}function Ys(e,t,n){t||(t=0),n??(n=1);let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let o=Math.exp(-i*i/2),l;i<7.07106781186547?(l=.0352624965998911*i+.700383064443688,l=l*i+6.37396220353165,l=l*i+33.912866078383,l=l*i+112.079291497871,l=l*i+221.213596169931,l=l*i+220.206867912376,a=o*l,l=.0883883476483184*i+1.75566716318264,l=l*i+16.064177579207,l=l*i+86.7807322029461,l=l*i+296.564248779674,l=l*i+637.333633378831,l=l*i+793.826512519948,l=l*i+440.413735824752,a/=l):(l=i+.65,l=i+4/l,l=i+3/l,l=i+2/l,l=i+1/l,a=o/l/2.506628274631)}return r>0?1-a:a}function Xs(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*F9*C9(2*e-1)}function C9(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function xp(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Vs(n,r),pdf:a=>bp(a,n,r),cdf:a=>Ys(a,n,r),icdf:a=>Xs(a,n,r)};return i.mean(e).stdev(t)}function wp(e,t){let n=xp(),r=0,i={data(a){return arguments.length?(e=a,r=a?a.length:0,i.bandwidth(t)):e},bandwidth(a){return arguments.length?(t=a,!t&&e&&(t=vp(e)),i):t},sample(){return e[~~(An()*r)]+t*n.sample()},pdf(a){let o=0,l=0;for(;l<r;++l)o+=n.pdf((a-e[l])/t);return o/t/r},cdf(a){let o=0,l=0;for(;l<r;++l)o+=n.cdf((a-e[l])/t);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function Ap(e,t){return e||(e=0),t??(t=1),Math.exp(e+Vs()*t)}function kp(e,t,n){if(e<=0)return 0;t||(t=0),n??(n=1);let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*w2*e)}function _p(e,t,n){return Ys(Math.log(e),t,n)}function Dp(e,t,n){return Math.exp(Xs(e,t,n))}function A2(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Ap(n,r),pdf:a=>kp(a,n,r),cdf:a=>_p(a,n,r),icdf:a=>Dp(a,n,r)};return i.mean(e).stdev(t)}function k2(e,t){let n=0,r;function i(o){let l=[],u=0,s;for(s=0;s<n;++s)u+=l[s]=o[s]==null?1:+o[s];for(s=0;s<n;++s)l[s]/=u;return l}let a={weights(o){return arguments.length?(r=i(t=o||[]),a):t},distributions(o){return arguments.length?(o?(n=o.length,e=o):(n=0,e=[]),a.weights(t)):e},sample(){let o=An(),l=e[n-1],u=r[0],s=0;for(;s<n-1;u+=r[++s])if(o<u){l=e[s];break}return l.sample()},pdf(o){let l=0,u=0;for(;u<n;++u)l+=r[u]*e[u].pdf(o);return l},cdf(o){let l=0,u=0;for(;u<n;++u)l+=r[u]*e[u].cdf(o);return l},icdf(){throw Error("Mixture icdf not supported.")}};return a.distributions(e).weights(t)}function Fp(e,t){return t??(t=e??1,e=0),e+(t-e)*An()}function Cp(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function Ep(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function $p(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function _2(e,t){let n,r,i={min(a){return arguments.length?(n=a||0,i):n},max(a){return arguments.length?(r=a??1,i):r},sample:()=>Fp(n,r),pdf:a=>Cp(a,n,r),cdf:a=>Ep(a,n,r),icdf:a=>$p(a,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function Sp(e,t,n){let r=0,i=0;for(let a of e){let o=n(a);t(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Ml(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 Js(e,t,n,r){e=e.filter(h=>{let p=t(h),m=n(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&e.sort((h,p)=>t(h)-t(p));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),l=0,u=0,s=0,c,f,d;for(d of e)a[l]=c=+t(d),o[l]=f=+n(d),++l,u+=(c-u)/l,s+=(f-s)/l;for(l=0;l<i;++l)a[l]-=u,o[l]-=s;return[a,o,u,s]}function Bl(e,t,n,r){let i=-1,a,o;for(let l of e)a=t(l),o=n(l),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function bo(e,t,n,r,i){let a=0,o=0;return Bl(e,t,n,(l,u)=>{let s=u-i(l),c=u-r;a+=s*s,o+=c*c}),1-a/o}function Mp(e,t,n){let r=0,i=0,a=0,o=0,l=0;Bl(e,t,n,(c,f)=>{++l,r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let u=Ml(r,i,a,o),s=c=>u[0]+u[1]*c;return{coef:u,predict:s,rSquared:bo(e,t,n,i,s)}}function D2(e,t,n){let r=0,i=0,a=0,o=0,l=0;Bl(e,t,n,(c,f)=>{++l,c=Math.log(c),r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let u=Ml(r,i,a,o),s=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:s,rSquared:bo(e,t,n,i,s)}}function F2(e,t,n){let[r,i,a,o]=Js(e,t,n),l=0,u=0,s=0,c=0,f=0,d,h,p;Bl(e,t,n,(v,b)=>{d=r[f++],h=Math.log(b),p=d*b,l+=(b*h-l)/f,u+=(p-u)/f,s+=(p*h-s)/f,c+=(d*p-c)/f});let[m,g]=Ml(u/o,l/o,s/o,c/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:bo(e,t,n,o,y)}}function C2(e,t,n){let r=0,i=0,a=0,o=0,l=0,u=0;Bl(e,t,n,(f,d)=>{let h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,l+=(d-l)/u});let s=Ml(r,i,a,o),c=f=>s[0]*f**+s[1];return s[0]=Math.exp(s[0]),{coef:s,predict:c,rSquared:bo(e,t,n,l,c)}}function Bp(e,t,n){let[r,i,a,o]=Js(e,t,n),l=r.length,u=0,s=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<l;)p=r[h],m=i[h++],g=p*p,u+=(g-u)/h,s+=(g*p-s)/h,c+=(g*g-c)/h,f+=(p*m-f)/h,d+=(g*m-d)/h;let y=c-u*u,v=u*y-s*s,b=(d*u-f*s)/v,x=(f*y-d*s)/v,w=-b*u,k=A=>(A-=a,b*A*A+x*A+w+o);return{coef:[w-x*a+b*a*a+o,x-2*b*a,b],predict:k,rSquared:bo(e,t,n,o,k)}}function E2(e,t,n,r){if(r===0)return Sp(e,t,n);if(r===1)return Mp(e,t,n);if(r===2)return Bp(e,t,n);let[i,a,o,l]=Js(e,t,n),u=i.length,s=[],c=[],f=r+1,d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=i[p]**+d*a[p];for(s.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=i[p]**+(d+h);g[h]=m}c.push(g)}c.push(s);let y=$9(c),v=b=>{b-=o;let x=l+y[0]+y[1]*b+y[2]*b*b;for(d=3;d<f;++d)x+=y[d]*b**+d;return x};return{coef:E9(f,y,-o,l),predict:v,rSquared:bo(e,t,n,l,v)}}function E9(e,t,n,r){let i=Array(e),a,o,l,u;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(l=t[a],u=1,i[a]+=l,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=l*n**+o*u;return i[0]+=r,i}function $9(e){let t=e.length-1,n=[],r,i,a,o,l;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)l=e[a][r],e[a][r]=e[a][o],e[a][o]=l;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(l=0,a=i+1;a<t;++a)l+=e[a][i]*n[a];n[i]=(e[t][i]-l)/e[i][i]}return n}var $2=2,S2=1e-12;function M2(e,t,n,r){let[i,a,o,l]=Js(e,t,n,!0),u=i.length,s=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=$2;){let p=[0,s-1];for(let g=0;g<u;++g){let y=i[g],v=p[0],b=p[1],x=y-i[v]>i[b]-y?v:b,w=0,k=0,A=0,_=0,D=0,F=1/Math.abs(i[x]-y||1);for(let P=v;P<=b;++P){let U=i[P],E=a[P],O=S9(Math.abs(y-U)*F)*d[P],J=U*O;w+=O,k+=J,A+=E*O,_+=E*J,D+=U*J}let[C,z]=Ml(k/w,A/w,_/w,D/w);c[g]=C+z*y,f[g]=Math.abs(a[g]-c[g]),M9(i,g+1,p)}if(h===$2)break;let m=vx(f);if(Math.abs(m)<S2)break;for(let g=0,y,v;g<u;++g)y=f[g]/(6*m),d[g]=y>=1?S2:(v=1-y*y)*v}return B9(i,c,o,l)}function S9(e){return(e=1-e*e*e)*e*e}function M9(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 B9(e,t,n,r){let i=e.length,a=[],o=0,l=0,u=[],s;for(;o<i;++o)s=e[o]+n,u[0]===s?u[1]+=(t[o]-u[1])/++l:(l=0,u[1]+=r,u=[s,t[o]],a.push(u));return u[1]+=r,a}var z9=.5*Math.PI/180;function Qs(e,t,n,r){n||(n=25),r=Math.max(n,r||200);let i=m=>[m,e(m)],a=t[0],o=t[1],l=o-a,u=l/r,s=[i(a)],c=[];if(n===r){for(let m=1;m<r;++m)s.push(i(a+m/n*l));return s.push(i(o)),s}else{c.push(i(o));for(let m=n;--m>0;)c.push(i(a+m/n*l))}let f=s[0],d=c[c.length-1],h=1/l,p=O9(f[1],c);for(;d;){let m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&N9(f,m,d,h,p)>z9?c.push(m):(f=d,s.push(d),c.pop()),d=c[c.length-1]}return s}function O9(e,t){let n=e,r=e,i=t.length;for(let a=0;a<i;++a){let o=t[a][1];o<n&&(n=o),o>r&&(r=o)}return 1/(r-n)}function N9(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 R9=rn({aggregate:()=>Ei,bin:()=>Rp,collect:()=>Tp,compare:()=>T2,countpattern:()=>Pp,cross:()=>jp,density:()=>Lp,dotbin:()=>Up,expression:()=>W2,extent:()=>Ip,facet:()=>Ks,field:()=>H2,filter:()=>Hp,flatten:()=>Gp,fold:()=>Vp,formula:()=>Yp,generate:()=>G2,impute:()=>Xp,joinaggregate:()=>Jp,kde:()=>Qp,key:()=>V2,load:()=>Y2,lookup:()=>Zp,multiextent:()=>X2,multivalues:()=>J2,params:()=>Q2,pivot:()=>em,prefacet:()=>K2,project:()=>tm,proxy:()=>Z2,quantile:()=>nm,relay:()=>ew,sample:()=>rm,sequence:()=>im,sieve:()=>tw,subflow:()=>Wp,timeunit:()=>am,tupleindex:()=>rw,values:()=>iw,window:()=>om});function T9(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 zp(e){return!e||!e.length?function(){return""}:e.length===1?e[0]:T9(e)}function B2(e,t,n){return n||e+(t?"_"+t:"")}var Op=()=>{},P9={init:Op,add:Op,rem:Op,idx:0},zl={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}},Ol=Object.keys(zl).filter(e=>e!=="__count__");function j9(e,t){return(n,r)=>de({name:e,aggregate_param:r,out:n||e},P9,t)}[...Ol,"__count__"].forEach(e=>{zl[e]=j9(e,zl[e])});function z2(e,t,n){return zl[e](n,t)}function O2(e,t){return e.idx-t.idx}function L9(e){let t={};e.forEach(r=>t[r.name]=r);let n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=zl[i]())})};return e.forEach(n),Object.values(t).sort(O2)}function q9(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function U9(e,t){if(e==null||e===""){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function I9(e,t){if(e==null||e===""){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function W9(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function N2(e,t){let n=t||vn,r=L9(e),i=e.slice().sort(O2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=q9,a.prototype.add=U9,a.prototype.rem=I9,a.prototype.set=W9,a.prototype.get=n,a.fields=e.map(o=>o.out),a}function Np(e){this._key=e?zr(e):ee,this.reset()}var ft=Np.prototype;ft.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ft.add=function(e){this._add.push(e)},ft.rem=function(e){this._rem.push(e)},ft.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),o={},l,u,s;for(l=0;l<i;++l)o[n(t[l])]=1;for(l=0,u=0;l<r;++l)o[n(s=e[l])]?o[n(s)]=0:a[u++]=s;return this._rem=[],this._add=a},ft.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+"",X(n,a)||(n[a]=1,++i);return i},ft.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=Xb(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},ft.argmin=function(e){return this.extent(e)[0]||{}},ft.argmax=function(e){return this.extent(e)[1]||{}},ft.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},ft.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},ft.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=yp(this.values(),e),this._get=e),this._q},ft.q1=function(e){return this.quartile(e)[0]},ft.q2=function(e){return this.quartile(e)[1]},ft.q3=function(e){return this.quartile(e)[2]},ft.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=b2(this.values(),1e3,.05,e),this._get=e),this._ci},ft.ci0=function(e){return this.ci(e)[0]},ft.ci1=function(e){return this.ci(e)[1]};function Ei(e){$.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}Ei.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Ol},{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"}]},W(Ei,$,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,a=>n.add(a))):(n.value=n.value||n.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(l){let u,s,c,f;for(u in l)for(c=l[u].tuple,s=0;s<i;++s)r[s][f=c[n[s]]]=f}a(e._prev),a(t);function o(l,u,s){let c=n[s],f=r[s++];for(let d in f){let h=l?l+"|"+d:d;u[c]=f[d],s<i?o(h,u,s):t[h]||e.cell(h,u)}}o("",{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(v){let b=G(Ct(v)),x=b.length,w=0,k;for(;w<x;++w)r[k=b[w]]||(r[k]=1,t.push(k))}this._dims=G(e.groupby),this._dnames=this._dims.map(v=>{let b=qe(v);return i(v),n.push(b),b}),this.cellkey=e.key?e.key:zp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||["count"],l=e.aggregate_params||[null],u=e.as||[],s=a.length,c={},f,d,h,p,m,g,y;for(s!==o.length&&N("Unmatched number of fields and aggregate ops."),y=0;y<s;++y){if(f=a[y],d=o[y],h=l[y]||null,f==null&&d!=="count"&&N("Null aggregate field specified."),m=qe(f),g=B2(d,m,u[y]),n.push(g),d==="count"){this._counts.push(g);continue}p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(z2(d,h,g))}return this._measures=this._measures.map(v=>N2(v,v.field)),Object.create(null)},cellkey:zp(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let r=this._measures,i=r.length;n.agg=Array(i);for(let a=0;a<i;++a)n.agg[a]=new r[a](n)}return n.store&&(n.data=new Np),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[n[o]]=r[o](e);return t?a2(t.tuple,a):xe(a)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(--n.num,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,a=e.add,o=e.rem,l=e.mod,u,s,c,f;if(r)for(s in r)u=r[s],(!i||u.num)&&o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(t[c])),t[c]=null;for(c=0,f=this._mlen;c<f;++c)u=n[c],(u.num===0&&i?o:l).push(this.celltuple(u)),n[c]=null;return this._alen=this._mlen=0,this._prev=null,e}});var H9=1e-14;function Rp(e){$.call(this,null,e)}Rp.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"]}]},W(Rp,$,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||["bin0","bin1"],l=o[0],u=o[1],s;return e.modified()?(t=t.reflow(!0),s=t.SOURCE):s=t.modified(Ct(e.field))?t.ADD_MOD:t.ADD,t.visit(s,n?c=>{let f=r(c);c[l]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[l]=r(c)),t.modifies(n?o:l)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=v2(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,l;(o=e.anchor)!=null&&(l=o-(i+r*Math.floor((o-i)/r)),i+=l,a+=l);let u=function(s){let c=yn(t(s));return c==null?null:c<i?-1/0:c>a?1/0:(c=Math.max(i,Math.min(c,a-r)),i+r*Math.floor(H9+(c-i)/r))};return u.start=i,u.stop=n.stop,u.step=r,this.value=io(u,Ct(t),e.name||"bin_"+qe(t))}});function R2(e,t,n){let r=e,i=t||[],a=n||[],o={},l=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++l,size:()=>i.length,data:(u,s)=>(l&&(l=(i=i.filter(c=>!o[r(c)]),o={},0)),s&&u&&i.sort(u),a.length&&(i=u?Ub(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Tp(e){$.call(this,[],e)}Tp.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},W(Tp,$,{transform(e,t){let n=t.fork(t.ALL),r=R2(ee,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(ga(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function T2(e){Be.call(this,null,G9,e)}W(T2,Be);function G9(e){return this.value&&!e.modified()?this.value:Ah(e.fields,e.orders)}function Pp(e){$.call(this,null,e)}Pp.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 V9(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase();break}return e.match(n)}W(Pp,$,{transform(e,t){let n=f=>d=>{for(var h=V9(l(d),e.case,a)||[],p,m=0,g=h.length;m<g;++m)o.test(p=h[m])||f(p)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,l=e.field,u=e.as||["text","count"],s=n(f=>i[f]=1+(i[f]||0)),c=n(f=>--i[f]);return r?t.visit(t.SOURCE,s):(t.visit(t.ADD,s),t.visit(t.REM,c)),this._finish(t,u)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),l,u,s;for(l in n)u=r[l],s=n[l]||0,!u&&s?(r[l]=u=xe({}),u[i]=l,u[a]=s,o.add.push(u)):s===0?(u&&o.rem.push(u),n[l]=null,r[l]=null):u[a]!==s&&(u[a]=s,o.mod.push(u));return o.modifies(t)}});function jp(e){$.call(this,null,e)}jp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},W(jp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=Y9(l,i,a,e.filter||bn)):n.mod=l,n.source=this.value,n.modifies(r)}});function Y9(e,t,n,r){for(var i=[],a={},o=e.length,l=0,u,s;l<o;++l)for(a[t]=s=e[l],u=0;u<o;++u)a[n]=e[u],r(a)&&(i.push(xe(a)),a={},a[t]=s);return i}var P2={kde:wp,mixture:k2,normal:xp,lognormal:A2,uniform:_2},X9="distributions",j2="function",J9="field";function L2(e,t){let n=e[j2];X(P2,n)||N("Unknown distribution function: "+n);let r=P2[n]();for(let i in e)i===J9?r.data((e.from||t()).map(e[i])):i===X9?r[i](e[i].map(a=>L2(a,t))):typeof r[i]===j2&&r[i](e[i]);return r}function Lp(e){$.call(this,null,e)}var q2=[{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}]}],Q9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:q2},{name:"weights",type:"number",array:!0}]};Lp.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:q2.concat(Q9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},W(Lp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=L2(e.distribution,K9(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||"pdf";o!=="pdf"&&o!=="cdf"&&N("Invalid density method: "+o),!e.extent&&!r.data&&N("Missing density extent parameter."),o=r[o];let l=e.as||["value","density"],u=e.extent||or(r.data()),s=Qs(o,u,i,a).map(c=>{let f={};return f[l[0]]=c[0],f[l[1]]=c[1],xe(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});function K9(e){return()=>e.materialize(e.SOURCE).source}function U2(e,t){return e?e.map((n,r)=>t[r]||qe(n)):null}function qp(e,t,n){let r=[],i=f=>f(u),a,o,l,u,s,c;if(t==null)r.push(e.map(n));else for(a={},o=0,l=e.length;o<l;++o)u=e[o],s=t.map(i),c=a[s],c||(a[s]=c=[],c.dims=s,r.push(c)),c.push(n(u));return r}var I2="bin";function Up(e){$.call(this,null,e)}Up.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:I2}]};var Z9=(e,t)=>vs(or(e,t))/30;W(Up,$,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=qp(t.source,e.groupby,vn),i=e.smooth||!1,a=e.field,o=e.step||Z9(n,a),l=ga((p,m)=>a(p)-a(m)),u=e.as||I2,s=r.length,c=1/0,f=-1/0,d=0,h;for(;d<s;++d){let p=r[d].sort(l);h=-1;for(let m of x2(p,o,i,a))m<c&&(c=m),m>f&&(f=m),p[++h][u]=m}return this.value={start:c,stop:f,step:o},t.reflow(!0).modifies(u)}});function W2(e){Be.call(this,null,e7,e),this.modified(!0)}W(W2,Be);function e7(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:io(n=>t(n,e),Ct(t),qe(t))}function Ip(e){$.call(this,[void 0,void 0],e)}Ip.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},W(Ip,$,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),a=n[0],o=n[1];if((i||a==null)&&(a=1/0,o=-1/0),t.visit(i?t.SOURCE:t.ADD,l=>{let u=yn(r(l));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let l=qe(r);l&&(l=` for field "${l}"`),t.dataflow.warn(`Infinite extent${l}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Wp(e,t){Be.call(this,e),this.parent=t,this.count=0}W(Wp,Be,{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 Ks(e){$.call(this,{},e),this._keys=ao();let t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;r<i;++r)n(t[r],r,t)}}W(Ks,$,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=X(i,e)&&i[e],o,l;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(l=r||(l=this._group[e])&&l.tuple,o=n.dataflow,a=new Wp(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,l)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let n=this._targets.filter(r=>r&&r.count>0);this.initTargets(n)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified("key"),l=u=>this.subflow(u,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,u=>{let s=ee(u),c=a.get(s);c!==void 0&&(a.delete(s),l(c).rem(u))}),t.visit(t.ADD,u=>{let s=r(u);a.set(ee(u),s),l(s).add(u)}),o||t.modified(r.fields)?t.visit(t.MOD,u=>{let s=ee(u),c=a.get(s),f=r(u);c===f?l(f).mod(u):(a.set(s,f),l(c).rem(u),l(f).add(u))}):t.changed(t.MOD)&&t.visit(t.MOD,u=>{l(a.get(ee(u))).mod(u)}),o&&t.visit(t.REFLOW,u=>{let s=ee(u),c=a.get(s),f=r(u);c!==f&&(a.set(s,f),l(c).rem(u),l(f).add(u))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function H2(e){Be.call(this,null,t7,e)}W(H2,Be);function t7(e){return this.value&&!e.modified()?this.value:B(e.name)?G(e.name).map(t=>zr(t)):zr(e.name,e.as)}function Hp(e){$.call(this,ao(),e)}Hp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},W(Hp,$,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,l=i.mod,u=e.expr,s=!0;t.visit(t.REM,f=>{let d=ee(f);r.has(d)?r.delete(d):o.push(f)}),t.visit(t.ADD,f=>{u(f,e)?a.push(f):r.set(ee(f),1)});function c(f){let d=ee(f),h=u(f,e),p=r.get(d);h&&p?(r.delete(d),a.push(f)):!h&&!p?(r.set(d,1),o.push(f)):s&&h&&!p&&l.push(f)}return t.visit(t.MOD,c),e.modified()&&(s=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function Gp(e){$.call(this,[],e)}Gp.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}]},W(Gp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=U2(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,l=>{let u=r.map(h=>h(l)),s=u.reduce((h,p)=>Math.max(h,p.length),0),c=0,f,d;for(;c<s;++c){for(d=dp(l),f=0;f<o;++f)d[i[f]]=u[f][c]??null;a&&(d[a]=c),n.add.push(d)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function Vp(e){$.call(this,[],e)}Vp.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"]}]},W(Vp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(qe),a=e.as||["key","value"],o=a[0],l=a[1],u=r.length;return n.rem=this.value,t.visit(t.SOURCE,s=>{for(let c=0,f;c<u;++c)f=dp(s),f[o]=i[c],f[l]=r[c](s),n.add.push(f)}),this.value=n.source=n.add,n.modifies(a)}});function Yp(e){$.call(this,null,e)}Yp.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},W(Yp,$,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,o=>o[r]=n(o,e))}});function G2(e){$.call(this,[],e)}W(G2,$,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,l,u;if(a>0){for(o=[];--a>=0;)o.push(u=xe(r(e))),i.push(u);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,i=i.slice(-a);return n.source=this.value=i,n}});var Zs={value:"value",median:vx,mean:i4,min:Ph,max:sa},n7=[];function Xp(e){$.call(this,[],e)}Xp.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 r7(e){var t=e.method||Zs.value,n;if(Zs[t]==null)N("Unrecognized imputation method: "+t);else return t===Zs.value?(n=e.value===void 0?0:e.value,()=>n):Zs[t]}function i7(e){let t=e.field;return n=>n?t(n):NaN}W(Xp,$,{transform(e,t){var n=t.fork(t.ALL),r=r7(e),i=i7(e),a=qe(e.field),o=qe(e.key),l=(e.groupby||[]).map(qe),u=a7(t.source,e.groupby,e.key,e.keyvals),s=[],c=this.value,f=u.domain.length,d,h,p,m,g,y,v,b,x,w;for(g=0,b=u.length;g<b;++g)for(d=u[g],p=d.values,h=NaN,v=0;v<f;++v)if(d[v]==null){for(m=u.domain[v],w={_impute:!0},y=0,x=p.length;y<x;++y)w[l[y]]=p[y];w[o]=m,w[a]=Number.isNaN(h)?h=r(d,i):h,s.push(xe(w))}return s.length&&(n.add=n.materialize(n.ADD).add.concat(s)),c.length&&(n.rem=n.materialize(n.REM).rem.concat(c)),this.value=s,n}});function a7(e,t,n,r){var i=y=>y(g),a=[],o=r?r.slice():[],l={},u={},s,c,f,d,h,p,m,g;for(o.forEach((y,v)=>l[y]=v+1),d=0,m=e.length;d<m;++d)g=e[d],p=n(g),h=l[p]||(l[p]=o.push(p)),c=(s=t?t.map(i):n7)+"",(f=u[c])||(f=u[c]=[],a.push(f),f.values=s),f[h-1]=g;return a.domain=o,a}function Jp(e){Ei.call(this,e)}Jp.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:Ol},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},W(Jp,Ei,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,a=>n.add(a))):(i=n.value=n.value||this.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),n.changes(),t.visit(t.SOURCE,a=>{de(a,i[n.cellkey(a)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function Qp(e){$.call(this,null,e)}Qp.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"]}]},W(Qp,$,{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=qp(r,e.groupby,e.field),a=(e.groupby||[]).map(qe),o=e.bandwidth,l=e.cumulative?"cdf":"pdf",u=e.as||["value","density"],s=[],c=e.extent,f=e.steps||e.minsteps||25,d=e.steps||e.maxsteps||200;l!=="pdf"&&l!=="cdf"&&N("Invalid density method: "+l),e.resolve==="shared"&&(c||(c=or(r,e.field)),f=d=e.steps||d),i.forEach(h=>{let p=wp(h,o)[l],m=e.counts?h.length:1,g=c||or(h);Qs(p,g,f,d).forEach(y=>{let v={};for(let b=0;b<a.length;++b)v[a[b]]=h.dims[b];v[u[0]]=y[0],v[u[1]]=y[1]*m,s.push(xe(v))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});function V2(e){Be.call(this,null,o7,e)}W(V2,Be);function o7(e){return this.value&&!e.modified()?this.value:Oh(e.fields,e.flat)}function Y2(e){$.call(this,[],e),this._pending=null}W(Y2,$,{transform(e,t){let n=t.dataflow;return this._pending?Kp(this,t,this._pending):l7(e)?t.StopPropagation:e.values?Kp(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(r=>(this._pending=G(r.data),i=>i.touch(this)))}:n.request(e.url,e.format).then(r=>Kp(this,t,G(r.data)))}});function l7(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}function Kp(e,t,n){n.forEach(xe);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 Zp(e){$.call(this,{},e)}Zp.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}]},W(Zp,$,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),l=n.length,u=o?t.SOURCE:t.ADD,s=t,c=e.as,f,d,h;return i?(d=i.length,l>1&&!c&&N('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==l*d&&N('The "as" parameter has too few output field names.'),c||(c=i.map(qe)),f=function(p){for(var m=0,g=0,y,v;m<l;++m)if(v=r.get(n[m](p)),v==null)for(y=0;y<d;++y,++g)p[c[g]]=a;else for(y=0;y<d;++y,++g)p[c[g]]=i[y](v)}):(c||N("Missing output field names."),f=function(p){for(var m=0,g;m<l;++m)g=r.get(n[m](p)),p[c[m]]=g??a}),o?s=t.reflow(!0):(h=n.some(p=>t.modified(p.fields)),u|=h?t.MOD:0),t.visit(u,f),s.modifies(c)}});function X2(e){Be.call(this,null,u7,e)}W(X2,Be);function u7(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 J2(e){Be.call(this,null,s7,e)}W(J2,Be);function s7(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function Q2(e){$.call(this,null,e)}W(Q2,$,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function em(e){Ei.call(this,e)}em.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:Ol,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},W(em,Ei,{_transform:Ei.prototype.transform,transform(e,t){return this._transform(c7(e,t),t)}});function c7(e,t){let n=e.field,r=e.value,i=(e.op==="count"?"__count__":e.op)||"sum",a=Ct(n).concat(Ct(r)),o=d7(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(l=>f7(l,n,r,a)),as:o.map(l=>l+""),modified:e.modified.bind(e)}}function f7(e,t,n,r){return io(i=>t(i)===e?n(i):NaN,r,e+"")}function d7(e,t,n){let r={},i=[];return n.visit(n.SOURCE,a=>{let o=e(a);r[o]||(r[o]=1,i.push(o))}),i.sort($h),t?i.slice(0,t):i}function K2(e){Ks.call(this,e)}W(K2,Ks,{transform(e,t){let n=e.subflow,r=e.field,i=a=>this.subflow(ee(a),n,t,a);return(e.modified("field")||r&&t.modified(Ct(r)))&&N("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,a=>{let o=i(a);r(a).forEach(l=>o.mod(l))}),t.visit(t.ADD,a=>{let o=i(a);r(a).forEach(l=>o.add(xe(l)))}),t.visit(t.REM,a=>{let o=i(a);r(a).forEach(l=>o.rem(l))})):(t.visit(t.MOD,a=>i(a).mod(a)),t.visit(t.ADD,a=>i(a).add(a)),t.visit(t.REM,a=>i(a).rem(a))),t.clean()&&t.runAfter(()=>this.clean()),t}});function tm(e){$.call(this,null,e)}tm.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},W(tm,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=U2(e.fields,e.as||[]),a=r?(l,u)=>h7(l,u,r,i):qs,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,l=>{let u=ee(l);n.rem.push(o[u]),o[u]=null}),t.visit(t.ADD,l=>{let u=a(l,xe({}));o[ee(l)]=u,n.add.push(u)}),t.visit(t.MOD,l=>{n.mod.push(a(l,o[ee(l)]))}),n}});function h7(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function Z2(e){$.call(this,null,e)}W(Z2,$,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function nm(e){$.call(this,null,e)}nm.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};var p7=1e-14;W(nm,$,{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=qp(i,e.groupby,e.field),o=(e.groupby||[]).map(qe),l=[],u=e.step||.01,s=e.probs||an(u/2,1-p7,u),c=s.length;return a.forEach(f=>{let d=gp(f,s);for(let h=0;h<c;++h){let p={};for(let m=0;m<o.length;++m)p[o[m]]=f.dims[m];p[r[0]]=s[h],p[r[1]]=d[h],l.push(xe(p))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l,n}});function ew(e){$.call(this,null,e)}W(ew,$,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,i=>{let a=ee(i);n.rem.push(r[a]),r[a]=null}),t.visit(t.ADD,i=>{let a=dp(i);r[ee(i)]=a,n.add.push(a)}),t.visit(t.MOD,i=>{let a=r[ee(i)];for(let o in i)a[o]=i[o],n.modifies(o);n.mod.push(a)})),n}});function rm(e){$.call(this,[],e),this.count=0}rm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},W(rm,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((c,f)=>(c[ee(f)]=1,c),{}),o=this.value,l=this.count,u=0;function s(c){let f,d;o.length<i?o.push(c):(d=~~((l+1)*An()),d<o.length&&d>=u&&(f=o[d],a[ee(f)]&&n.rem.push(f),o[d]=c)),++l}if(t.rem.length&&(t.visit(t.REM,c=>{let f=ee(c);a[f]&&(a[f]=-1,n.rem.push(c)),--l}),o=o.filter(c=>a[ee(c)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(u=l=o.length,t.visit(t.SOURCE,c=>{a[ee(c)]||s(c)}),u=-1),r&&o.length>i){let c=o.length-i;for(let f=0;f<c;++f)a[ee(o[f])]=-1,n.rem.push(o[f]);o=o.slice(c)}return t.mod.length&&t.visit(t.MOD,c=>{a[ee(c)]&&n.mod.push(c)}),t.add.length&&t.visit(t.ADD,s),(t.add.length||u<0)&&(n.add=o.filter(c=>!a[ee(c)])),this.count=l,this.value=n.source=o,n}});function im(e){$.call(this,null,e)}im.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"}]},W(im,$,{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=an(e.start,e.stop,e.step||1).map(i=>{let a={};return a[r]=i,xe(a)}),n.add=t.add.concat(this.value),n}});function tw(e){$.call(this,null,e),this.modified(!0)}W(tw,$,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function am(e){$.call(this,null,e)}var nw=["unit0","unit1"];am.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:Db,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:nw}]},W(am,$,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone==="utc",a=this._floor(e,t),o=(i?Dh:Mh)(a.unit).offset,l=e.as||nw,u=l[0],s=l[1],c=a.step,f=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(Ct(n)))&&(t=t.reflow(!0),h=t.SOURCE,f=1/0,d=-1/0),t.visit(h,p=>{let m=n(p),g,y;m==null?(p[u]=null,r&&(p[s]=null)):(p[u]=g=y=a(m),r&&(p[s]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,t.modifies(r?l:u)},_floor(e,t){let n=e.timezone==="utc",{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:Eb({extent:e.extent||or(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=jb(r),o=this.value||{},l=(n?Ib:qb)(a,i);return l.unit=Ae(a),l.units=a,l.step=i,l.start=o.start,l.stop=o.stop,this.value=l}});function rw(e){$.call(this,ao(),e)}W(rw,$,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=l=>i.set(r(l),l),o=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,l=>i.delete(r(l))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function iw(e){$.call(this,null,e)}W(iw,$,{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(ga(e.sort)):t.source).map(e.field))}});function m7(e,t,n,r){let i=Nl[e](t,n);return{init:i.init||Sh,update:function(a,o){o[r]=i.next(a)}}}var Nl={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=Nl.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||N("ntile num must be greater than zero.");let n=Nl.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||N("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=g7(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function g7(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var y7=Object.keys(Nl);function aw(e){let t=G(e.ops),n=G(e.fields),r=G(e.params),i=G(e.aggregate_params),a=G(e.as),o=this.outputs=[],l=this.windows=[],u={},s={},c=[],f=[],d=!0;function h(p){G(Ct(p)).forEach(m=>u[m]=1)}h(e.sort),t.forEach((p,m)=>{let g=n[m],y=r[m],v=i[m]||null,b=qe(g),x=B2(p,b,a[m]);if(h(g),o.push(x),X(Nl,p))l.push(m7(p,g,y,x));else{if(g==null&&p!=="count"&&N("Null aggregate field specified."),p==="count"){c.push(x);return}d=!1;let w=s[b];w||(w=s[b]=[],w.field=g,f.push(w)),w.push(z2(p,v,x))}}),(c.length||f.length)&&(this.cell=v7(f,c,d)),this.inputs=Object.keys(u)}var ow=aw.prototype;ow.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},ow.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 v7(e,t,n){e=e.map(u=>N2(u,u.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var l=r.data=new Np;return r.add=function(u){if(r.num+=1,!n){l&&l.add(u);for(let s=0;s<i;++s)a[s].add(a[s].get(u),u)}},r.rem=function(u){if(--r.num,!n){l&&l.rem(u);for(let s=0;s<i;++s)a[s].rem(a[s].get(u),u)}},r.set=function(u){let s,c;for(l&&l.values(),s=0,c=t.length;s<c;++s)u[t[s]]=r.num;if(!n)for(s=0,c=a.length;s<c;++s)a[s].set(u)},r.init=function(){r.num=0,l&&l.reset();for(let u=0;u<i;++u)a[u].init()},r}function om(e){$.call(this,{},e),this._mlen=0,this._mods=[]}om.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:y7.concat(Ol)},{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}]},W(om,$,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=ga(e.sort),i=zp(e.groupby),a=l=>this.group(i(l)),o=this.state;(!o||n)&&(o=this.state=new aw(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,l=>a(l).add(l))):(t.visit(t.REM,l=>a(l).remove(l)),t.visit(t.ADD,l=>a(l).add(l)));for(let l=0,u=this._mlen;l<u;++l)b7(this._mods[l],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=R2(ee),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function b7(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],l=e.data(n),u=l.length,s=a?ox(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:l,compare:i||Et(-1)};t.init();for(let f=0;f<u;++f)x7(c,o,f,u),a&&w7(c,s),t.update(c,l[f])}function x7(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 w7(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 lw(e,t,n){var r=null,i=$t(!0),a=null,o=fx,l=null,u=cx(s);e=typeof e=="function"?e:e===void 0?WS:$t(+e),t=typeof t=="function"?t:$t(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?HS:$t(+n);function s(f){var d,h,p,m=(f=FS(f)).length,g,y=!1,v,b=Array(m),x=Array(m);for(a??(l=o(v=u())),d=0;d<=m;++d){if(!(d<m&&i(g=f[d],d,f))===y)if(y=!y)h=d,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=d-1;p>=h;--p)l.point(b[p],x[p]);l.lineEnd(),l.areaEnd()}y&&(b[d]=+e(g,d,f),x[d]=+t(g,d,f),l.point(r?+r(g,d,f):b[d],n?+n(g,d,f):x[d]))}if(v)return l=null,v+""||null}function c(){return dx().defined(i).curve(o).context(a)}return s.x=function(f){return arguments.length?(e=typeof f=="function"?f:$t(+f),r=null,s):e},s.x0=function(f){return arguments.length?(e=typeof f=="function"?f:$t(+f),s):e},s.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:$t(+f),s):r},s.y=function(f){return arguments.length?(t=typeof f=="function"?f:$t(+f),n=null,s):t},s.y0=function(f){return arguments.length?(t=typeof f=="function"?f:$t(+f),s):t},s.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:$t(+f),s):n},s.lineX0=s.lineY0=function(){return c().x(e).y(t)},s.lineY1=function(){return c().x(e).y(n)},s.lineX1=function(){return c().x(r).y(t)},s.defined=function(f){return arguments.length?(i=typeof f=="function"?f:$t(!!f),s):i},s.curve=function(f){return arguments.length?(o=f,a!=null&&(l=o(a)),s):o},s.context=function(f){return arguments.length?(f==null?a=l=null:l=o(a=f),s):a},s}var A7={draw(e,t){let n=AS(t/_S);e.moveTo(n,0),e.arc(0,0,n,0,kS)}};function k7(e,t){let n=null,r=cx(i);e=typeof e=="function"?e:$t(e||A7),t=typeof t=="function"?t:$t(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:$t(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:$t(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function $i(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 _7=()=>typeof Image<"u"?Image:null;function uw(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,lx),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return uw(e).unknown(t)},e=arguments.length?Array.from(e,lx):[0,1],oo(n)}function sw(e){return Math.log(e)}function cw(e){return Math.exp(e)}function D7(e){return-Math.log(-e)}function F7(e){return-Math.exp(-e)}function C7(e){return isFinite(e)?+("1e"+e):e<0?0:e}function E7(e){return e===10?C7:e===Math.E?Math.exp:t=>e**+t}function $7(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 fw(e){return(t,n)=>-e(-t,n)}function lm(e){let t=e(sw,cw),n=t.domain,r=10,i,a;function o(){return i=$7(r),a=E7(r),n()[0]<0?(i=fw(i),a=fw(a),e(D7,F7)):e(sw,cw),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{let u=n(),s=u[0],c=u[u.length-1],f=c<s;f&&([s,c]=[c,s]);let d=i(s),h=i(c),p,m,g=l==null?10:+l,y=[];if(!(r%1)&&h-d<g){if(d=Math.floor(d),h=Math.ceil(h),s>0){for(;d<=h;++d)for(p=1;p<r;++p)if(m=d<0?p/a(-d):p*a(d),!(m<s)){if(m>c)break;y.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(m<s)){if(m>c)break;y.push(m)}y.length*2<g&&(y=ax(s,c,g))}else y=ax(d,h,Math.min(h-d,g)).map(a);return f?y.reverse():y},t.tickFormat=(l,u)=>{if(l??(l=10),u??(u=r===10?"s":","),typeof u!="function"&&(!(r%1)&&(u=iS(u)).precision==null&&(u.trim=!0),u=aS(u)),l===1/0)return u;let s=Math.max(1,r*l/t.ticks().length);return c=>{let f=c/a(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=s?u(c):""}},t.nice=()=>n(nS(n(),{floor:l=>a(Math.floor(i(l))),ceil:l=>a(Math.ceil(i(l)))})),t}function dw(){let e=lm(Rh()).domain([1,10]);return e.copy=()=>Nh(e,dw()).base(e.base()),ca.apply(e,arguments),e}function hw(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function pw(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function um(e){var t=1,n=e(hw(t),pw(t));return n.constant=function(r){return arguments.length?e(hw(t=+r),pw(t)):t},oo(n)}function mw(){var e=um(Rh());return e.copy=function(){return Nh(e,mw()).constant(e.constant())},ca.apply(e,arguments)}function gw(e){return function(t){return t<0?-((-t)**+e):t**+e}}function S7(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function M7(e){return e<0?-e*e:e*e}function sm(e){var t=e(ui,ui),n=1;function r(){return n===1?e(ui,ui):n===.5?e(S7,M7):e(gw(n),gw(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},oo(t)}function cm(){var e=sm(Rh());return e.copy=function(){return Nh(e,cm()).exponent(e.exponent())},ca.apply(e,arguments),e}function B7(){return cm.apply(null,arguments).exponent(.5)}function yw(){var e=[],t=[],n=[],r;function i(){var o=0,l=Math.max(1,t.length);for(n=Array(l-1);++o<l;)n[o-1]=yx(e,o/l);return a}function a(o){return o==null||isNaN(o=+o)?r:t[bs(n,o)]}return a.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(xl),i()},a.range=function(o){return arguments.length?(t=Array.from(o),i()):t.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return yw().domain(e).range(t).unknown(r)},ca.apply(a,arguments)}function vw(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(u){return u!=null&&u<=u?i[bs(r,u,0,n)]:a}function l(){var u=-1;for(r=Array(n);++u<n;)r[u]=((u+1)*t-(u-n)*e)/(n+1);return o}return o.domain=function(u){return arguments.length?([e,t]=u,e=+e,t=+t,l()):[e,t]},o.range=function(u){return arguments.length?(n=(i=Array.from(u)).length-1,l()):i.slice()},o.invertExtent=function(u){var s=i.indexOf(u);return s<0?[NaN,NaN]:s<1?[e,r[0]]:s>=n?[r[n-1],t]:[r[s-1],r[s]]},o.unknown=function(u){return arguments.length&&(a=u),o},o.thresholds=function(){return r.slice()},o.copy=function(){return vw().domain([e,t]).range(i).unknown(a)},ca.apply(oo(o),arguments)}function bw(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[bs(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return bw().domain(e).range(t).unknown(n)},ca.apply(i,arguments)}function z7(){return ca.apply(rS(Z8,eS,dS,cS,uS,sS,oS,hS,lS,fS).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function ec(){var e=0,t=1,n,r,i,a,o=ui,l=!1,u;function s(f){return f==null||isNaN(f=+f)?u:o(i===0?.5:(f=(a(f)-n)*i,l?Math.max(0,Math.min(1,f)):f))}s.domain=function(f){return arguments.length?([e,t]=f,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),s):[e,t]},s.clamp=function(f){return arguments.length?(l=!!f,s):l},s.interpolator=function(f){return arguments.length?(o=f,s):o};function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,o=f(h,p),s):[o(0),o(1)]}}return s.range=c(jh),s.rangeRound=c(Lh),s.unknown=function(f){return arguments.length?(u=f,s):u},function(f){return a=f,n=f(e),r=f(t),i=n===r?0:1/(r-n),s}}function Si(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function fm(){var e=oo(ec()(ui));return e.copy=function(){return Si(e,fm())},si.apply(e,arguments)}function xw(){var e=lm(ec()).domain([1,10]);return e.copy=function(){return Si(e,xw()).base(e.base())},si.apply(e,arguments)}function ww(){var e=um(ec());return e.copy=function(){return Si(e,ww()).constant(e.constant())},si.apply(e,arguments)}function dm(){var e=sm(ec());return e.copy=function(){return Si(e,dm()).exponent(e.exponent())},si.apply(e,arguments)}function O7(){return dm.apply(null,arguments).exponent(.5)}function tc(){var e=0,t=.5,n=1,r=1,i,a,o,l,u,s=ui,c,f=!1,d;function h(m){return isNaN(m=+m)?d:(m=.5+((m=+c(m))-a)*(r*m<r*a?l:u),s(f?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([e,t,n]=m,i=c(e=+e),a=c(t=+t),o=c(n=+n),l=i===a?0:.5/(a-i),u=a===o?0:.5/(o-a),r=a<i?-1:1,h):[e,t,n]},h.clamp=function(m){return arguments.length?(f=!!m,h):f},h.interpolator=function(m){return arguments.length?(s=m,h):s};function p(m){return function(g){var y,v,b;return arguments.length?([y,v,b]=g,s=sx(m,[y,v,b]),h):[s(0),s(.5),s(1)]}}return h.range=p(jh),h.rangeRound=p(Lh),h.unknown=function(m){return arguments.length?(d=m,h):d},function(m){return c=m,i=m(e),a=m(t),o=m(n),l=i===a?0:.5/(a-i),u=a===o?0:.5/(o-a),r=a<i?-1:1,h}}function Aw(){var e=oo(tc()(ui));return e.copy=function(){return Si(e,Aw())},si.apply(e,arguments)}function kw(){var e=lm(tc()).domain([.1,1,10]);return e.copy=function(){return Si(e,kw()).base(e.base())},si.apply(e,arguments)}function _w(){var e=um(tc());return e.copy=function(){return Si(e,_w()).constant(e.constant())},si.apply(e,arguments)}function hm(){var e=sm(tc());return e.copy=function(){return Si(e,hm()).exponent(e.exponent())},si.apply(e,arguments)}function N7(){return hm.apply(null,arguments).exponent(.5)}var R7=lr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),T7=lr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),P7=lr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),j7=lr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),L7=lr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),q7=lr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),U7=lr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),I7=lr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),W7=lr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),H7=lr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function pm(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var G7="identity",nc="linear",mm="sqrt",gm="symlog",V7="time",Mi="sequential",xo="diverging",Rl="quantile",ym="quantize",Dw="threshold",Y7="ordinal",X7="point",J7="band",Q7="bin-ordinal",Je="continuous",Tl="discrete",Pl="discretizing",kn="interpolating",vm="temporal";function K7(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 Z7(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,l,u,s;for(i<r&&(l=r,r=i,i=l),u=0,s=n.length;u<s;++u)n[u]>=r&&n[u]<=i&&(a<0&&(a=u),o=u);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 bm(){let e=ux().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,l=0,u=0,s=.5;delete e.unknown;function c(){let f=t().length,d=r[1]<r[0],h=r[1-d],p=pm(f,l,u),m=r[d-0];i=(h-m)/(p||1),o&&(i=Math.floor(i)),m+=(h-m-i*(f-l))*s,a=i*(1-l),o&&(m=Math.round(m),a=Math.round(a));let g=an(f).map(y=>m+i*y);return n(d?g.reverse():g)}return e.domain=function(f){return arguments.length?(t(f),c()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],c()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],o=!0,c()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(f){return arguments.length?(o=!!f,c()):o},e.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),l=u,c()):l},e.paddingInner=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},e.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},e.align=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},e.invertRange=function(f){if(f[0]==null||f[1]==null)return;let d=r[1]<r[0],h=d?n().reverse():n(),p=h.length-1,m=+f[0],g=+f[1],y,v,b;if(!(m!==m||g!==g)&&(g<m&&(b=m,m=g,g=b),!(g<h[0]||m>r[1-d])))return y=Math.max(0,Th(h,m)-1),v=m===g?y:Th(h,g)-1,m-h[y]>a+1e-10&&++y,d&&(b=y,y=p-v,v=p-b),y>v?void 0:t().slice(y,v+1)},e.invert=function(f){let d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return bm().domain(t()).range(r).round(o).paddingInner(l).paddingOuter(u).align(s)},c()}function Fw(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return Fw(t())},e}function eM(){return Fw(bm().paddingInner(1))}var tM=Array.prototype.map;function nM(e){return tM.call(e,yn)}var rM=Array.prototype.slice;function Cw(){let e=[],t=[];function n(r){return r==null||r!==r?void 0:t[(bs(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=nM(r),n):e.slice()},n.range=function(r){return arguments.length?(t=rM.call(r),n):t.slice()},n.tickFormat=function(r,i){return J8(e[0],Ae(e),r??10,i)},n.copy=function(){return Cw().domain(n.domain()).range(n.range())},n}var rc=new Map,Ew=Symbol("vega_scale");function $w(e){return e[Ew]=!0,e}function Sw(e){return e&&e[Ew]===!0}function iM(e,t,n){let r=function(){let i=t();return i.invertRange||(i.invertRange=i.invert?K7(i):i.invertExtent?Z7(i):void 0),i.type=e,$w(i)};return r.metadata=ar(G(n)),r}function ge(e,t,n){return arguments.length>1?(rc.set(e,iM(e,t,n)),this):Mw(e)?rc.get(e):void 0}ge(G7,uw),ge(nc,Q8,Je),ge("log",dw,[Je,"log"]),ge("pow",cm,Je),ge(mm,B7,Je),ge(gm,mw,Je),ge(V7,tS,[Je,vm]),ge("utc",z7,[Je,vm]),ge(Mi,fm,[Je,kn]),ge(`${Mi}-${nc}`,fm,[Je,kn]),ge(`${Mi}-log`,xw,[Je,kn,"log"]),ge(`${Mi}-pow`,dm,[Je,kn]),ge(`${Mi}-${mm}`,O7,[Je,kn]),ge(`${Mi}-${gm}`,ww,[Je,kn]),ge(`${xo}-${nc}`,Aw,[Je,kn]),ge(`${xo}-log`,kw,[Je,kn,"log"]),ge(`${xo}-pow`,hm,[Je,kn]),ge(`${xo}-${mm}`,N7,[Je,kn]),ge(`${xo}-${gm}`,_w,[Je,kn]),ge(Rl,yw,[Pl,Rl]),ge(ym,vw,Pl),ge(Dw,bw,Pl),ge(Q7,Cw,[Tl,Pl]),ge(Y7,ux,Tl),ge(J7,bm,Tl),ge(X7,eM,Tl);function Mw(e){return rc.has(e)}function va(e,t){let n=rc.get(e);return n&&n.metadata[t]}function xm(e){return va(e,Je)}function wo(e){return va(e,Tl)}function wm(e){return va(e,Pl)}function Bw(e){return va(e,"log")}function aM(e){return va(e,vm)}function zw(e){return va(e,kn)}function Ow(e){return va(e,Rl)}var oM=["clamp","base","constant","exponent"];function Nw(e,t){let n=t[0],r=Ae(t)-n;return function(i){return e(n+i*r)}}function ic(e,t,n){return sx(Am(t||"rgb",n),e)}function Rw(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function Tw(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?Et(.5):(i=(a=e.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=ge(a)().domain([t,n]).range([0,1]),oM.forEach(l=>e[l]?o[l](e[l]()):0),o)}function Am(e,t){let n=yS[lM(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function lM(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}var uM={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"},sM={accent:T7,category10:R7,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:P7,observable10:j7,paired:L7,pastel1:q7,pastel2:U7,set1:I7,set2:W7,set3:H7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function Pw(e){if(B(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 jw(e,t){for(let n in e)km(n,t(e[n]))}var Lw={};jw(sM,Pw),jw(uM,e=>ic(Pw(e)));function km(e,t){return e&&(e=e.toLowerCase()),arguments.length>1?(Lw[e]=t,this):Lw[e]}var cM=e=>B(e)?e.map(t=>String(t)):String(e),fM=(e,t)=>e[1]-t[1],dM=(e,t)=>t[1]-e[1];function _m(e,t,n){let r;return be(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null&&(t=Math.min(t,Math.floor(vs(e.domain())/n||1)+1))),Y(t)&&(r=t.step,t=t.interval),V(t)&&(t=e.type==="time"?Mh(t):e.type=="utc"?Dh(t):N("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function qw(e,t,n){let r=e.range(),i=r[0],a=Ae(r),o=fM;if(i>a&&(r=a,a=i,i=r,o=dM),i=Math.floor(i),a=Math.ceil(a),t=t.map(l=>[l,e(l)]).filter(l=>i<=l[1]&&l[1]<=a).sort(o).map(l=>l[0]),n>0&&t.length>1){let l=[t[0],Ae(t)];for(;t.length>n&&t.length>=3;)t=t.filter((u,s)=>!(s%2));t.length<3&&(t=l)}return t}function Dm(e,t){return e.bins?qw(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function Uw(e,t,n,r,i,a){let o=t.type,l=cM;if(o==="time"||i==="time")l=e.timeFormat(r);else if(o==="utc"||i==="utc")l=e.utcFormat(r);else if(Bw(o)){let u=e.formatFloat(r);if(a||t.bins)l=u;else{let s=Iw(t,n,!1);l=c=>s(c)?u(c):""}}else if(t.tickFormat){let u=t.domain();l=e.formatSpan(u[0],u[u.length-1],n,r)}else r&&(l=e.format(r));return l}function Iw(e,t,n){let r=Dm(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),l=u=>{let s=u/i**+Math.round(Math.log(u)/a);return s*i<i-.5&&(s*=i),s<=o};return n?r.filter(l):l}var Fm={[Rl]:"quantiles",[ym]:"thresholds",[Dw]:"domain"},Ww={[Rl]:"quantiles",[ym]:"domain"};function Hw(e,t){return e.bins?mM(e.bins):e.type==="log"?Iw(e,t,!0):Fm[e.type]?pM(e[Fm[e.type]]()):Dm(e,t)}function hM(e,t,n){let r=t[Ww[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 pM(e){let t=[-1/0].concat(e);return t.max=1/0,t}function mM(e){let t=e.slice(0,-1);return t.max=Ae(e),t}var gM=e=>Fm[e.type]||e.bins;function Gw(e,t,n,r,i,a,o){let l=Ww[t.type]&&a!=="time"&&a!=="utc"?hM(e,t,i):Uw(e,t,n,i,a,o);return r==="symbol"&&gM(t)?yM(l):r==="discrete"?vM(l):bM(l)}var yM=e=>(t,n,r)=>{let i=Vw(r[n+1],Vw(r.max,1/0)),a=Yw(t,e),o=Yw(i,e);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Vw=(e,t)=>e??t,vM=e=>(t,n)=>n?e(t):null,bM=e=>t=>e(t),Yw=(e,t)=>Number.isFinite(e)?t(e):null;function xM(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+Ae(t),a=i-r;if(e.type==="threshold"){let o=n?a/n:.1;r-=o,i+=o,a=i-r}return o=>(o-r)/a}function wM(e,t,n,r){let i=r||t.type;return V(n)&&aM(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"):Gw(e,t,5,null,n,r,!0)}function Xw(e,t,n){n||(n={});let r=Math.max(3,n.maxlen||7),i=wM(e,t,n.format,n.formatType);if(wm(t.type)){let a=Hw(t).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}else if(wo(t.type)){let a=t.domain(),o=a.length,l=o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ");return`${o} value${o===1?"":"s"}: ${l}`}else{let a=t.domain();return`values from ${i(a[0])} to ${i(Ae(a))}`}}var Jw=0;function AM(){Jw=0}var ac="p_";function Cm(e){return e&&e.gradient}function Qw(e,t,n){let r=e.gradient,i=e.id,a=r==="radial"?ac:"";return i||(i=e.id="gradient_"+Jw++,r==="radial"?(e.x1=hr(e.x1,.5),e.y1=hr(e.y1,.5),e.r1=hr(e.r1,0),e.x2=hr(e.x2,.5),e.y2=hr(e.y2,.5),e.r2=hr(e.r2,.5),a=ac):(e.x1=hr(e.x1,0),e.y1=hr(e.y1,0),e.x2=hr(e.x2,1),e.y2=hr(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function hr(e,t){return e??t}function Kw(e,t){var n=[],r;return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,a){return n.push({offset:i,color:a}),r}}}var Zw={basis:{curve:CS},"basis-closed":{curve:BS},"basis-open":{curve:zS},bundle:{curve:RS,tension:"beta",value:.85},cardinal:{curve:jS,tension:"tension",value:0},"cardinal-open":{curve:SS,tension:"tension",value:0},"cardinal-closed":{curve:MS,tension:"tension",value:0},"catmull-rom":{curve:IS,tension:"alpha",value:.5},"catmull-rom-closed":{curve:NS,tension:"alpha",value:.5},"catmull-rom-open":{curve:$S,tension:"alpha",value:.5},linear:{curve:fx},"linear-closed":{curve:qS},monotone:{horizontal:PS,vertical:ES},natural:{curve:OS},step:{curve:LS},"step-after":{curve:US},"step-before":{curve:TS}};function Em(e,t,n){var r=X(Zw,e)&&Zw[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&n!=null&&(i=i[r.tension](n))),i}var kM={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},_M=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,DM=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,FM=/^((\s+,?\s*)|(,\s*))/,CM=/^[01]/;function Ao(e){let t=[];return(e.match(_M)||[]).forEach(n=>{let r=n[0],i=r.toLowerCase(),a=kM[i],o=EM(i,a,n.slice(1).trim()),l=o.length;if(l<a||l&&l%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([r,...o.slice(0,a)]),l!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<l;u+=a)t.push([r,...o.slice(u,u+a)])}}),t}function EM(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let o=e==="a"&&(a===3||a===4)?CM:DM,l=n.slice(i).match(o);if(l===null)throw Error("Invalid SVG path, incorrect parameter type");i+=l[0].length,r.push(+l[0]);let u=n.slice(i).match(FM);u!==null&&(i+=u[0].length)}return r}var Bi=Math.PI/180,$M=1e-14,ba=Math.PI/2,pr=Math.PI*2,ko=Math.sqrt(3)/2,$m={},Sm={},eA=[].join;function SM(e,t,n,r,i,a,o,l,u){let s=eA.call(arguments);if($m[s])return $m[s];let c=o*Bi,f=Math.sin(c),d=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let h=d*(l-e)*.5+f*(u-t)*.5,p=d*(u-t)*.5-f*(l-e)*.5,m=h*h/(n*n)+p*p/(r*r);m>1&&(m=Math.sqrt(m),n*=m,r*=m);let g=d/n,y=f/n,v=-f/r,b=d/r,x=g*l+y*u,w=v*l+b*u,k=g*e+y*t,A=v*e+b*t,_=1/((k-x)*(k-x)+(A-w)*(A-w))-.25;_<0&&(_=0);let D=Math.sqrt(_);a==i&&(D=-D);let F=.5*(x+k)-D*(A-w),C=.5*(w+A)+D*(k-x),z=Math.atan2(w-C,x-F),P=Math.atan2(A-C,k-F)-z;P<0&&a===1?P+=pr:P>0&&a===0&&(P-=pr);let U=Math.ceil(Math.abs(P/(ba+.001))),E=[];for(let O=0;O<U;++O){let J=z+O*P/U,oe=z+(O+1)*P/U;E[O]=[F,C,J,oe,n,r,f,d]}return $m[s]=E}function MM(e){let t=eA.call(e);if(Sm[t])return Sm[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],l=e[5],u=e[6],s=e[7];let c=s*o,f=-u*l,d=u*o,h=s*l,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),b=Math.sin(v*.5),x=8/3*b*b/Math.sin(v),w=n+p-x*m,k=r+m+x*p,A=n+g,_=r+y,D=A+x*y,F=_-x*g;return Sm[t]=[c*w+f*k,d*w+h*k,c*D+f*F,d*D+h*F,c*A+f*_,d*A+h*_]}var _n=["l",0,0,0,0,0,0,0];function BM(e,t,n){let r=_n[0]=e[0];if(r==="a"||r==="A")_n[1]=t*e[1],_n[2]=n*e[2],_n[3]=e[3],_n[4]=e[4],_n[5]=e[5],_n[6]=t*e[6],_n[7]=n*e[7];else if(r==="h"||r==="H")_n[1]=t*e[1];else if(r==="v"||r==="V")_n[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)_n[i]=(i%2==1?t:n)*e[i];return _n}function jl(e,t,n,r,i,a){var o,l=null,u=0,s=0,c=0,f=0,d,h,p,m,g=0,y=0;n??(n=0),r??(r=0),i??(i=1),a??(a=i),e.beginPath&&e.beginPath();for(var v=0,b=t.length;v<b;++v){switch(o=t[v],(i!==1||a!==1)&&(o=BM(o,i,a)),o[0]){case"l":u+=o[1],s+=o[2],e.lineTo(u+n,s+r);break;case"L":u=o[1],s=o[2],e.lineTo(u+n,s+r);break;case"h":u+=o[1],e.lineTo(u+n,s+r);break;case"H":u=o[1],e.lineTo(u+n,s+r);break;case"v":s+=o[1],e.lineTo(u+n,s+r);break;case"V":s=o[1],e.lineTo(u+n,s+r);break;case"m":u+=o[1],s+=o[2],g=u,y=s,e.moveTo(u+n,s+r);break;case"M":u=o[1],s=o[2],g=u,y=s,e.moveTo(u+n,s+r);break;case"c":d=u+o[5],h=s+o[6],c=u+o[3],f=s+o[4],e.bezierCurveTo(u+o[1]+n,s+o[2]+r,c+n,f+r,d+n,h+r),u=d,s=h;break;case"C":u=o[5],s=o[6],c=o[3],f=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,c+n,f+r,u+n,s+r);break;case"s":d=u+o[3],h=s+o[4],c=2*u-c,f=2*s-f,e.bezierCurveTo(c+n,f+r,u+o[1]+n,s+o[2]+r,d+n,h+r),c=u+o[1],f=s+o[2],u=d,s=h;break;case"S":d=o[3],h=o[4],c=2*u-c,f=2*s-f,e.bezierCurveTo(c+n,f+r,o[1]+n,o[2]+r,d+n,h+r),u=d,s=h,c=o[1],f=o[2];break;case"q":d=u+o[3],h=s+o[4],c=u+o[1],f=s+o[2],e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h;break;case"Q":d=o[3],h=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,d+n,h+r),u=d,s=h,c=o[1],f=o[2];break;case"t":d=u+o[1],h=s+o[2],l[0].match(/[QqTt]/)===null?(c=u,f=s):l[0]==="t"?(c=2*u-p,f=2*s-m):l[0]==="q"&&(c=2*u-c,f=2*s-f),p=c,m=f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h,c=u+o[1],f=s+o[2];break;case"T":d=o[1],h=o[2],c=2*u-c,f=2*s-f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h;break;case"a":tA(e,u+n,s+r,[o[1],o[2],o[3],o[4],o[5],o[6]+u+n,o[7]+s+r]),u+=o[6],s+=o[7];break;case"A":tA(e,u+n,s+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),u=o[6],s=o[7];break;case"z":case"Z":u=g,s=y,e.closePath();break}l=o}}function tA(e,t,n,r){let i=SM(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let a=0;a<i.length;++a){let o=MM(i[a]);e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}var nA=.5773502691896257,rA={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,pr)}},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=ko*n,i=r-n*nA,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=ko*n,i=r-n*nA;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=ko*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=ko*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=ko*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=ko*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 iA(e){return X(rA,e)?rA[e]:zM(e)}var Mm={};function zM(e){if(!X(Mm,e)){let t=Ao(e);Mm[e]={draw:function(n,r){jl(n,t,0,0,Math.sqrt(r)/2)}}}return Mm[e]}var zi=.448084975506;function OM(e){return e.x}function NM(e){return e.y}function RM(e){return e.width}function TM(e){return e.height}function Ur(e){return typeof e=="function"?e:()=>+e}function oc(e,t,n){return Math.max(t,Math.min(e,n))}function aA(){var e=OM,t=NM,n=RM,r=TM,i=Ur(0),a=i,o=i,l=i,u=null;function s(c,f,d){var h,p=f??+e.call(this,c),m=d??+t.call(this,c),g=+n.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,b=oc(+i.call(this,c),0,v),x=oc(+a.call(this,c),0,v),w=oc(+o.call(this,c),0,v),k=oc(+l.call(this,c),0,v);if(u||(u=h=qh()),b<=0&&x<=0&&w<=0&&k<=0)u.rect(p,m,g,y);else{var A=p+g,_=m+y;u.moveTo(p+b,m),u.lineTo(A-x,m),u.bezierCurveTo(A-zi*x,m,A,m+zi*x,A,m+x),u.lineTo(A,_-k),u.bezierCurveTo(A,_-zi*k,A-zi*k,_,A-k,_),u.lineTo(p+w,_),u.bezierCurveTo(p+zi*w,_,p,_-zi*w,p,_-w),u.lineTo(p,m+b),u.bezierCurveTo(p,m+zi*b,p+zi*b,m,p+b,m),u.closePath()}if(h)return u=null,h+""||null}return s.x=function(c){return arguments.length?(e=Ur(c),s):e},s.y=function(c){return arguments.length?(t=Ur(c),s):t},s.width=function(c){return arguments.length?(n=Ur(c),s):n},s.height=function(c){return arguments.length?(r=Ur(c),s):r},s.cornerRadius=function(c,f,d,h){return arguments.length?(i=Ur(c),a=f==null?i:Ur(f),l=d==null?i:Ur(d),o=h==null?a:Ur(h),s):i},s.context=function(c){return arguments.length?(u=c??null,s):u},s}function oA(){var e,t,n,r,i=null,a,o,l,u;function s(f,d,h){let p=h/2;if(a){var m=l-d,g=f-o;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*u,b=(g/=y)*u,x=Math.atan2(g,m);i.moveTo(o-v,l-b),i.lineTo(f-m*p,d-g*p),i.arc(f,d,p,x-Math.PI,x),i.lineTo(o+v,l+b),i.arc(o,l,u,x,x+Math.PI)}else i.arc(f,d,p,0,pr);i.closePath()}else a=1;o=f,l=d,u=p}function c(f){var d,h=f.length,p,m=!1,g;for(i??(i=g=qh()),d=0;d<=h;++d)!(d<h&&r(p=f[d],d,f))===m&&(m=!m)&&(a=0),m&&s(+e(p,d,f),+t(p,d,f),+n(p,d,f));if(g)return i=null,g+""||null}return c.x=function(f){return arguments.length?(e=f,c):e},c.y=function(f){return arguments.length?(t=f,c):t},c.size=function(f){return arguments.length?(n=f,c):n},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(i=f??null,c):i},c}function Ll(e,t){return e??t}var ql=e=>e.x||0,Ul=e=>e.y||0,PM=e=>e.width||0,jM=e=>e.height||0,LM=e=>(e.x||0)+(e.width||0),qM=e=>(e.y||0)+(e.height||0),UM=e=>e.startAngle||0,IM=e=>e.endAngle||0,WM=e=>e.padAngle||0,HM=e=>e.innerRadius||0,GM=e=>e.outerRadius||0,VM=e=>e.cornerRadius||0,YM=e=>Ll(e.cornerRadiusTopLeft,e.cornerRadius)||0,XM=e=>Ll(e.cornerRadiusTopRight,e.cornerRadius)||0,JM=e=>Ll(e.cornerRadiusBottomRight,e.cornerRadius)||0,QM=e=>Ll(e.cornerRadiusBottomLeft,e.cornerRadius)||0,KM=e=>Ll(e.size,64),ZM=e=>e.size||1,lc=e=>e.defined!==!1,eB=e=>iA(e.shape||"circle"),tB=DS().startAngle(UM).endAngle(IM).padAngle(WM).innerRadius(HM).outerRadius(GM).cornerRadius(VM),nB=lw().x(ql).y1(Ul).y0(qM).defined(lc),rB=lw().y(Ul).x1(ql).x0(LM).defined(lc),iB=dx().x(ql).y(Ul).defined(lc),aB=aA().x(ql).y(Ul).width(PM).height(jM).cornerRadius(YM,XM,JM,QM),oB=k7().type(eB).size(KM),lB=oA().x(ql).y(Ul).defined(lc).size(ZM);function Bm(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function uB(e,t){return tB.context(e)(t)}function sB(e,t){let n=t[0],r=n.interpolate||"linear";return(n.orient==="horizontal"?rB:nB).curve(Em(r,n.orient,n.tension)).context(e)(t)}function cB(e,t){let n=t[0],r=n.interpolate||"linear";return iB.curve(Em(r,n.orient,n.tension)).context(e)(t)}function _o(e,t,n,r){return aB.context(e)(t,n,r)}function fB(e,t){return(t.mark.shape||t.shape).context(e)(t)}function dB(e,t){return oB.context(e)(t)}function hB(e,t){return lB.context(e)(t)}var lA=1;function uA(){lA=1}function zm(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+lA++),o=i.clipping[a]||(i.clipping[a]={id:a});return fe(r)?o.path=r(null):Bm(n)?o.path=_o(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function Xe(e){this.clear(),e&&this.union(e)}Xe.prototype={clone(){return new Xe(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,l=Math.cos(e),u=Math.sin(e),s=t-t*l+n*u,c=n-t*u-n*l;return[l*r-u*i+s,u*r+l*i+c,l*r-u*o+s,u*r+l*o+c,l*a-u*i+s,u*a+l*i+c,l*a-u*o+s,u*a+l*o+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function uc(e){this.mark=e,this.bounds=this.bounds||new Xe}function sc(e){uc.call(this,e),this.items=this.items||[]}W(sc,uc);var sA=class{constructor(e){this._pending=0,this._loader=e||ms()}pending(){return this._pending}sanitizeURL(e){let t=this;return cA(t),t._loader.sanitize(e,{context:"href"}).then(n=>(Il(t),n)).catch(()=>(Il(t),null))}loadImage(e){let t=this,n=_7();return cA(t),t._loader.sanitize(e,{context:"image"}).then(r=>{let i=r.href;if(!i||!n)throw{url:i};let a=new n,o=X(r,"crossOrigin")?r.crossOrigin:"anonymous";return o!=null&&(a.crossOrigin=o),a.onload=()=>Il(t),a.onerror=()=>Il(t),a.src=i,a}).catch(r=>(Il(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function cA(e){e._pending+=1}function Il(e){--e._pending}function Ir(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?pB(t,r):0))}return e}function pB(e,t){return e.strokeJoin&&e.strokeJoin!=="miter"?0:t}var mB=pr-1e-8,cc,fc,dc,xa,Om,hc,Nm,Rm,Oi=(e,t)=>cc.add(e,t),pc=(e,t)=>Oi(fc=e,dc=t),fA=e=>Oi(e,cc.y1),dA=e=>Oi(cc.x1,e),wa=(e,t)=>Om*e+Nm*t,Aa=(e,t)=>hc*e+Rm*t,Tm=(e,t)=>Oi(wa(e,t),Aa(e,t)),Pm=(e,t)=>pc(wa(e,t),Aa(e,t));function Wl(e,t){return cc=e,t?(xa=t*Bi,Om=Rm=Math.cos(xa),hc=Math.sin(xa),Nm=-hc):(Om=Rm=1,xa=hc=Nm=0),gB}var gB={beginPath(){},closePath(){},moveTo:Pm,lineTo:Pm,rect(e,t,n,r){xa?(Tm(e+n,t),Tm(e+n,t+r),Tm(e,t+r),Pm(e,t)):(Oi(e+n,t+r),pc(e,t))},quadraticCurveTo(e,t,n,r){let i=wa(e,t),a=Aa(e,t),o=wa(n,r),l=Aa(n,r);hA(fc,i,o,fA),hA(dc,a,l,dA),pc(o,l)},bezierCurveTo(e,t,n,r,i,a){let o=wa(e,t),l=Aa(e,t),u=wa(n,r),s=Aa(n,r),c=wa(i,a),f=Aa(i,a);pA(fc,o,u,c,fA),pA(dc,l,s,f,dA),pc(c,f)},arc(e,t,n,r,i,a){if(r+=xa,i+=xa,fc=n*Math.cos(i)+e,dc=n*Math.sin(i)+t,Math.abs(i-r)>mB)Oi(e-n,t-n),Oi(e+n,t+n);else{let o=s=>Oi(n*Math.cos(s)+e,n*Math.sin(s)+t),l,u;if(o(r),o(i),i!==r)if(r%=pr,r<0&&(r+=pr),i%=pr,i<0&&(i+=pr),i<r&&(a=!a,l=r,r=i,i=l),a)for(i-=pr,l=r-r%ba,u=0;u<4&&l>i;++u,l-=ba)o(l);else for(l=r-r%ba+ba,u=0;u<4&&l<i;++u,l+=ba)o(l)}}};function hA(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function pA(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,l=e-t,u=0,s=0,c;Math.abs(a)>$M?(c=o*o+l*a,c>=0&&(c=Math.sqrt(c),u=(-o+c)/a,s=(-o-c)/a)):u=.5*l/o,0<u&&u<1&&i(mA(u,e,t,n,r)),0<s&&s<1&&i(mA(s,e,t,n,r))}function mA(e,t,n,r,i){let a=1-e,o=a*a,l=e*e;return o*a*t+3*o*e*n+3*a*l*r+l*e*i}var Ni=(Ni=$i(1,1))?Ni.getContext("2d"):null,jm=new Xe;function Lm(e){return function(t,n){if(!Ni)return!0;e(Ni,t),jm.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=jm;for(let l=i;l<=o;++l)for(let u=r;u<=a;++u)if(Ni.isPointInPath(u,l))return!0;return!1}}function qm(e,t){return t.contains(e.x||0,e.y||0)}function gA(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(jm.set(n,r,n+i,r+a))}function yA(e,t){let n=e.x||0,r=e.y||0,i=e.x2==null?n:e.x2,a=e.y2==null?r:e.y2;return Do(t,n,r,i,a)}function Do(e,t,n,r,i){let{x1:a,y1:o,x2:l,y2:u}=e,s=r-t,c=i-n,f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0&&(h=-s,p=-(a-t)),g===1&&(h=s,p=l-t),g===2&&(h=-c,p=-(o-n)),g===3&&(h=c,p=u-n),Math.abs(h)<1e-10&&p<0)return!1;if(m=p/h,h<0){if(m>d)return!1;m>f&&(f=m)}else if(h>0){if(m<f)return!1;m<d&&(d=m)}}return!0}function Fo(e,t){e.globalCompositeOperation=t.blend||"source-over"}function Pn(e,t){return e??t}function vA(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function yB(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient==="radial")a=e.createRadialGradient(n.x1+Pn(t.x1,.5)*r,n.y1+Pn(t.y1,.5)*i,Math.max(r,i)*Pn(t.r1,0),n.x1+Pn(t.x2,.5)*r,n.y1+Pn(t.y2,.5)*i,Math.max(r,i)*Pn(t.r2,.5));else{let o=Pn(t.x1,0),l=Pn(t.y1,0),u=Pn(t.x2,1),s=Pn(t.y2,0);if(o===u||l===s||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+l*i,n.x1+u*r,n.y1+s*i);else{let c=$i(Math.ceil(r),Math.ceil(i)),f=c.getContext("2d");return f.scale(r,i),f.fillStyle=vA(f.createLinearGradient(o,l,u,s),t.stops),f.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}}return vA(a,t.stops)}function bA(e,t,n){return Cm(n)?yB(e,n,t.bounds):n}function mc(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0?(e.globalAlpha=n,e.fillStyle=bA(e,t,t.fill),!0):!1}var vB=[];function Co(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=bA(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||vB),e.lineDashOffset=t.strokeDashOffset||0),!0):!1)}function bB(e,t){return e.zindex-t.zindex||e.index-t.index}function Um(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(bB)}function jn(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Um(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 gc(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Um(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 Im(e){return function(t,n,r){jn(n,i=>{(!r||r.intersects(i.bounds))&&xA(e,t,i,i)})}}function xB(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&xA(e,t,n.items[0],n.items)}}function xA(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Fo(t,n),n.fill&&mc(t,n,i)&&t.fill(),n.stroke&&Co(t,n,i)&&t.stroke()))}function yc(e){return e||(e=bn),function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,gc(n,l=>{let u=l.bounds;if(!(u&&!u.contains(a,o)||!u)&&e(t,l,r,i,a,o))return l})}}function Hl(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,l=t??o.fill,u=o.stroke&&n.isPointInStroke,s,c;return u&&(s=o.strokeWidth,c=o.strokeCap,n.lineWidth=s??1,n.lineCap=c??"butt"),e(n,r)?!1:l&&n.isPointInPath(i,a)||u&&n.isPointInStroke(i,a)}}function Wm(e){return yc(Hl(e))}function ka(e,t){return"translate("+e+","+t+")"}function Hm(e){return"rotate("+e+")"}function wB(e,t){return"scale("+e+","+t+")"}function wA(e){return ka(e.x||0,e.y||0)}function AB(e){return ka(e.x||0,e.y||0)+(e.angle?" "+Hm(e.angle):"")}function kB(e){return ka(e.x||0,e.y||0)+(e.angle?" "+Hm(e.angle):"")+(e.scaleX||e.scaleY?" "+wB(e.scaleX||1,e.scaleY||1):"")}function Gm(e,t,n){function r(o,l){o("transform",AB(l)),o("d",t(null,l))}function i(o,l){return t(Wl(o,l.angle),l),Ir(o,l).translate(l.x||0,l.y||0)}function a(o,l){var u=l.x||0,s=l.y||0,c=l.angle||0;o.translate(u,s),c&&o.rotate(c*=Bi),o.beginPath(),t(o,l),c&&o.rotate(-c),o.translate(-u,-s)}return{type:e,tag:"path",nested:!1,attr:r,bound:i,draw:Im(a),pick:Wm(a),isect:n||Lm(a)}}var _B=Gm("arc",uB);function DB(e,t){for(var n=e[0].orient==="horizontal"?t[1]:t[0],r=e[0].orient==="horizontal"?"y":"x",i=e.length,a=1/0,o,l;--i>=0;)e[i].defined!==!1&&(l=Math.abs(e[i][r]-n),l<a&&(a=l,o=e[i]));return o}function FB(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 CB(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 Vm(e,t,n){function r(u,s){var c=s.mark.items;c.length&&u("d",t(null,c))}function i(u,s){var c=s.items;return c.length===0?u:(t(Wl(u),c),Ir(u,c[0]))}function a(u,s){u.beginPath(),t(u,s)}let o=Hl(a);function l(u,s,c,f,d,h){var p=s.items,m=s.bounds;return!p||!p.length||m&&!m.contains(d,h)?null:(c*=u.pixelRatio,f*=u.pixelRatio,o(u,p,c,f)?p[0]:null)}return{type:e,tag:"path",nested:!0,attr:r,bound:i,draw:xB(a),pick:l,isect:qm,tip:n}}var EB=Vm("area",sB,DB);function $B(e,t){var n=t.clip;e.save(),fe(n)?(e.beginPath(),n(e),e.clip()):AA(e,t.group)}function AA(e,t){e.beginPath(),Bm(t)?_o(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function kA(e){let t=Pn(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function SB(e,t){e("transform",wA(t))}function _A(e,t){let n=kA(t);e("d",_o(null,t,n,n))}function MB(e,t){e("class","background"),e("aria-hidden",!0),_A(e,t)}function BB(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?_A(e,t):e("d","")}function zB(e,t,n){let r=t.clip?zm(n,t,t):null;e("clip-path",r)}function OB(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let i=0;i<r;++i)e.union(n[i].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ir(e,t),e.translate(t.x||0,t.y||0)}function Gl(e,t,n,r){let i=kA(t);e.beginPath(),_o(e,t,(n||0)+i,(r||0)+i)}var NB=Hl(Gl),RB=Hl(Gl,!1),TB=Hl(Gl,!0);function PB(e,t,n,r){jn(t,i=>{let a=i.x||0,o=i.y||0,l=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(Gl(e,i,a,o),Fo(e,i),i.fill&&mc(e,i,u)&&e.fill(),i.stroke&&!l&&Co(e,i,u)&&e.stroke()),e.save(),e.translate(a,o),i.clip&&AA(e,i),n&&n.translate(-a,-o),jn(i,s=>{(s.marktype==="group"||r==null||r.includes(s.marktype))&&this.draw(e,s,n,r)}),n&&n.translate(a,o),e.restore(),l&&i.stroke&&u&&(Gl(e,i,a,o),Fo(e,i),Co(e,i,u)&&e.stroke())})}function jB(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,l=r*e.pixelRatio;return gc(t,u=>{let s,c,f,d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;let h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(e.save(),e.translate(c,f),c=i-c,f=a-f,m&&Bm(u)&&!TB(e,u,o,l))return e.restore(),null;let g=u.strokeForeground,y=t.interactive!==!1;return y&&g&&u.stroke&&RB(e,u,o,l)?(e.restore(),u):(s=gc(u,v=>LB(v,c,f)?this.pick(v,n,r,c,f):null),!s&&y&&(u.fill||!g&&u.stroke)&&NB(e,u,o,l)&&(s=u),e.restore(),s||null)})}function LB(e,t,n){return(e.interactive!==!1||e.marktype==="group")&&e.bounds&&e.bounds.contains(t,n)}var qB={type:"group",tag:"g",nested:!1,attr:SB,bound:OB,draw:PB,pick:jB,isect:gA,content:zB,background:MB,foreground:BB},Vl={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function Ym(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function Xm(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 Jm(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 vc(e,t){return e==="center"?t/2:e==="right"?t:0}function bc(e,t){return e==="middle"?t/2:e==="bottom"?t:0}function UB(e,t,n){let r=Ym(t,n),i=Xm(t,r),a=Jm(t,r),o=(t.x||0)-vc(t.align,i),l=(t.y||0)-bc(t.baseline,a),u=!r.src&&r.toDataURL?r.toDataURL():r.src||"";e("href",u,Vl["xmlns:xlink"],"xlink:href"),e("transform",ka(o,l)),e("width",i),e("height",a),e("preserveAspectRatio",t.aspect===!1?"none":"xMidYMid")}function IB(e,t){let n=t.image,r=Xm(t,n),i=Jm(t,n),a=(t.x||0)-vc(t.align,r),o=(t.y||0)-bc(t.baseline,i);return e.set(a,o,a+r,o+i)}function WB(e,t,n){jn(t,r=>{if(n&&!n.intersects(r.bounds))return;let i=Ym(r,this),a=Xm(r,i),o=Jm(r,i);if(a===0||o===0)return;let l=(r.x||0)-vc(r.align,a),u=(r.y||0)-bc(r.baseline,o),s,c,f;r.aspect!==!1&&(s=i.width/i.height,c=r.width/r.height,s===s&&c===c&&s!==c&&(c<s?(f=a/s,u+=(o-f)/2,o=f):(f=o*s,l+=(a-f)/2,a=f))),(i.complete||i.toDataURL)&&(Fo(e,r),e.globalAlpha=r.opacity??1,e.imageSmoothingEnabled=r.smooth!==!1,e.drawImage(i,l,u,a,o))})}var HB={type:"image",tag:"image",nested:!1,attr:UB,bound:IB,draw:WB,pick:yc(),isect:bn,get:Ym,xOffset:vc,yOffset:bc},GB=Vm("line",cB,FB);function VB(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e("vector-effect","non-scaling-stroke"),e("transform",kB(t)),e("d",t.path)}function xc(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,l=(t.angle||0)*Bi,u=t.pathCache;(!u||u.path!==n)&&((t.pathCache=u=Ao(n)).path=n),l&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(l),jl(e,u,0,0,a,o),e.rotate(-l),e.translate(-r,-i)):jl(e,u,r,i,a,o)}function YB(e,t){return xc(Wl(e,t.angle),t)?e.set(0,0,0,0):Ir(e,t,!0)}var XB={type:"path",tag:"path",nested:!1,attr:VB,bound:YB,draw:Im(xc),pick:Wm(xc),isect:Lm(xc)};function JB(e,t){e("d",_o(null,t))}function QB(e,t){var n,r;return Ir(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function DA(e,t){e.beginPath(),_o(e,t)}var KB={type:"rect",tag:"path",nested:!1,attr:JB,bound:QB,draw:Im(DA),pick:Wm(DA),isect:gA};function ZB(e,t){e("transform",wA(t)),e("x2",t.x2==null?0:t.x2-(t.x||0)),e("y2",t.y2==null?0:t.y2-(t.y||0))}function ez(e,t){var n,r;return Ir(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function FA(e,t,n){var r,i,a,o;return t.stroke&&Co(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 tz(e,t,n){jn(t,r=>{if(!(n&&!n.intersects(r.bounds))){var i=r.opacity==null?1:r.opacity;i&&FA(e,r,i)&&(Fo(e,r),e.stroke())}})}function nz(e,t,n,r){return e.isPointInStroke?FA(e,t,1)&&e.isPointInStroke(n,r):!1}var rz={type:"rule",tag:"line",nested:!1,attr:ZB,bound:ez,draw:tz,pick:yc(nz),isect:yA},iz=Gm("shape",fB),az=Gm("symbol",dB,qm),CA=Cb(),un={height:mr,measureWidth:Qm,estimateWidth:wc,width:wc,canvas:EA};EA(!0);function EA(e){un.width=e&&Ni?Qm:wc}function wc(e,t){return $A(Ti(e,t),mr(e))}function $A(e,t){return~~(.8*e.length*t)}function Qm(e,t){return mr(e)<=0||!(t=Ti(e,t))?0:SA(t,Ac(e))}function SA(e,t){let n=`(${t}) ${e}`,r=CA.get(n);return r===void 0&&(Ni.font=t,r=Ni.measureText(e).width,CA.set(n,r)),r}function mr(e){return e.fontSize==null?11:+e.fontSize||0}function Ri(e){return e.lineHeight==null?mr(e)+2:e.lineHeight}function oz(e){return B(e)?e.length>1?e:e[0]:e}function Yl(e){return oz(e.lineBreak&&e.text&&!B(e.text)?e.text.split(e.lineBreak):e.text)}function Km(e){let t=Yl(e);return(B(t)?t.length-1:0)*Ri(e)}function Ti(e,t){let n=t==null?"":(t+"").trim();return e.limit>0&&n.length?uz(e,n):n}function lz(e){if(un.width===Qm){let t=Ac(e);return n=>SA(n,t)}else if(un.width===wc){let t=mr(e);return n=>$A(n,t)}else return t=>un.width(e,t)}function uz(e,t){var n=+e.limit,r=lz(e);if(r(t)<n)return t;var i=e.ellipsis||"\u2026",a=e.dir==="rtl",o=0,l=t.length,u;if(n-=r(i),a){for(;o<l;)u=o+l>>>1,r(t.slice(u))>n?o=u+1:l=u;return i+t.slice(o)}else{for(;o<l;)u=1+(o+l>>>1),r(t.slice(0,u))<n?o=u:l=u-1;return t.slice(0,o)+i}}function Xl(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function Ac(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+mr(e)+"px "+Xl(e,t)}function Zm(e){var t=e.baseline,n=mr(e);return Math.round(t==="top"?.79*n:t==="middle"?.3*n:t==="bottom"?-.21*n:t==="line-top"?.29*n+.5*Ri(e):t==="line-bottom"?.29*n-.5*Ri(e):0)}var sz={left:"start",center:"middle",right:"end"},Jl=new Xe;function kc(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-ba,t+=r*Math.cos(i),n+=r*Math.sin(i)),Jl.x1=t,Jl.y1=n,Jl}function cz(e,t){var n=t.dx||0,r=(t.dy||0)+Zm(t),i=kc(t),a=i.x1,o=i.y1,l=t.angle||0,u;e("text-anchor",sz[t.align]||"start"),l?(u=ka(a,o)+" "+Hm(l),(n||r)&&(u+=" "+ka(n,r))):u=ka(a+n,o+r),e("transform",u)}function e0(e,t,n){var r=un.height(t),i=t.align,a=kc(t),o=a.x1,l=a.y1,u=t.dx||0,s=(t.dy||0)+Zm(t)-Math.round(.8*r),c=Yl(t),f;if(B(c)?(r+=Ri(t)*(c.length-1),f=c.reduce((d,h)=>Math.max(d,un.width(t,h)),0)):f=un.width(t,c),i==="center"?u-=f/2:i==="right"&&(u-=f),e.set(u+=o,s+=l,u+f,s+r),t.angle&&!n)e.rotate(t.angle*Bi,o,l);else if(n===2)return e.rotatedPoints(t.angle*Bi,o,l);return e}function fz(e,t,n){jn(t,r=>{var i=r.opacity==null?1:r.opacity,a,o,l,u,s,c,f;if(!(n&&!n.intersects(r.bounds)||i===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(e.font=Ac(r),e.textAlign=r.align||"left",a=kc(r),o=a.x1,l=a.y1,r.angle&&(e.save(),e.translate(o,l),e.rotate(r.angle*Bi),o=l=0),o+=r.dx||0,l+=(r.dy||0)+Zm(r),c=Yl(r),Fo(e,r),B(c))for(s=Ri(r),u=0;u<c.length;++u)f=Ti(r,c[u]),r.fill&&mc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Co(e,r,i)&&e.strokeText(f,o,l),l+=s;else f=Ti(r,c),r.fill&&mc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Co(e,r,i)&&e.strokeText(f,o,l);r.angle&&e.restore()}})}function dz(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=kc(t),l=o.x1,u=o.y1,s=e0(Jl,t,1),c=-t.angle*Bi,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(l-f*l+d*u),p=d*i+f*a+(u-d*l-f*u);return s.contains(h,p)}function hz(e,t){let n=e0(Jl,e,2);return Do(t,n[0],n[1],n[2],n[3])||Do(t,n[0],n[1],n[4],n[5])||Do(t,n[4],n[5],n[6],n[7])||Do(t,n[2],n[3],n[6],n[7])}var pz={type:"text",tag:"text",nested:!1,attr:cz,bound:e0,draw:fz,pick:yc(dz),isect:hz},mz=Vm("trail",hB,CB),sn={arc:_B,area:EB,group:qB,image:HB,line:GB,path:XB,rect:KB,rule:rz,shape:iz,symbol:az,text:pz,trail:mz};function t0(e,t,n){var r=sn[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new Xe),e,n)}var MA={mark:null};function BA(e,t,n){var r=sn[e.marktype],i=r.bound,a=e.items,o=a&&a.length,l,u,s,c;if(r.nested)return o?s=a[0]:(MA.mark=e,s=MA),c=t0(s,i,n),t=t&&t.union(c)||c,t;if(t=t||e.bounds&&e.bounds.clear()||new Xe,o)for(l=0,u=a.length;l<u;++l)t.union(t0(a[l],i,n));return e.bounds=t}var gz="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 zA(e,t){return JSON.stringify(e,gz,t)}function OA(e){let t=typeof e=="string"?JSON.parse(e):e;return NA(t)}function NA(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"&&NA(n[i]);return t&&BA(e),e}var RA=class{constructor(e){arguments.length?this.root=OA(e):(this.root=TA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new sc(this.root)])}toJSON(e){return zA(this.root,e||0)}mark(e,t,n){t||(t=this.root.items[0]);let r=TA(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function TA(e,t){let n={bounds:new Xe,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 Pi(e,t,n){return!e&&typeof document<"u"&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function n0(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 Qe(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Pi(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function Dn(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function PA(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function _c(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function yz(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=sn[i.marktype]).tip){for(o=_c(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 r0=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||ms(),this._tooltip=t||vz}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let r in t)n.push(...t[r]);return n}eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(r=>{let i=new MouseEvent(e.type,e),a=Pi(null,"a");for(let o in r)a.setAttribute(o,r[o]);a.dispatchEvent(i)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=yz(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),l=i.x1+r[0]+n.left,u=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,u+=e.y||0;return{x:l,y:u,width:a,height:o,left:l,top:u,right:l+a,bottom:u+o}}};function vz(e,t,n,r){e.element().setAttribute("title",r||"")}var Ql=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new sA(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let i=n._call;n._ready=n._loader.ready().then(a=>{a&&i(),n._ready=null})}return r}sanitizeURL(e){return this._load("sanitizeURL",e)}loadImage(e){return this._load("loadImage",e)}},bz="keydown",xz="keypress",wz="keyup",jA="dragenter",Dc="dragleave",LA="dragover",i0="pointerdown",Az="pointerup",Fc="pointermove",Cc="pointerout",qA="pointerover",a0="mousedown",kz="mouseup",UA="mousemove",Ec="mouseout",IA="mouseover",$c="click",_z="dblclick",Dz="wheel",WA="mousewheel",Sc="touchstart",Mc="touchmove",Bc="touchend",Fz=[bz,xz,wz,jA,Dc,LA,i0,Az,Fc,Cc,qA,a0,kz,UA,Ec,IA,$c,_z,Dz,WA,Sc,Mc,Bc],o0=Fc,Kl=Ec,l0=$c,Zl=class extends r0{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Fz,this.pointermove=GA([Fc,UA],[qA,IA],[Cc,Ec]),this.dragover=GA([LA],[jA],[Dc]),this.pointerout=VA([Cc,Ec]),this.dragleave=VA([Dc])}initialize(e,t,n){return this._canvas=e&&n0(e,"canvas"),[$c,a0,i0,Fc,Cc,Dc].forEach(r=>HA(this,r)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(e){this.fire(WA,e)}pointerdown(e){this._down=this._active,this.fire(i0,e)}mousedown(e){this._down=this._active,this.fire(a0,e)}click(e){this._down===this._active&&(this.fire($c,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._first=(this._active=this._touch,!1)),this.fire(Sc,e,!0)}touchmove(e){this.fire(Mc,e,!0)}touchend(e){this.fire(Bc,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===l0&&r&&r.href?this.handleHref(t,r,r.href):(e===o0||e===Kl)&&this.handleTooltip(t,r,e!==Kl),i)for(let a=0,o=i.length;a<o;++a)i[a].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(HA(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=_c(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 sn[e.marktype].pick.call(this,a,e,t,n,r,i)}},Cz=e=>e===Sc||e===Mc||e===Bc?[Sc,Mc,Bc]:[e];function HA(e,t){Cz(t).forEach(n=>Ez(e,n))}function Ez(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}function eu(e,t,n){t.forEach(r=>e.fire(r,n))}function GA(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?eu(this,e,r):((!i||!i.exit)&&eu(this,n,r),this._active=a,eu(this,t,r),eu(this,e,r))}}function VA(e){return function(t){eu(this,e,t),this._active=null}}function $z(){return typeof window<"u"&&window.devicePixelRatio||1}function Sz(e,t,n,r,i,a){let o=typeof HTMLElement<"u"&&e instanceof HTMLElement&&e.parentNode!=null,l=e.getContext("2d"),u=o?$z():i;for(let s in e.width=t*u,e.height=n*u,a)l[s]=a[s];return o&&u!==1&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=u,l.setTransform(u,0,0,u,u*r[0],u*r[1]),e}var zc=class extends Ql{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new Xe,this._tempb=new Xe}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:$i(1,1,this._options.type),e&&this._canvas&&(Dn(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)Sz(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let i=this._options.externalContext;i||N("CanvasRenderer is missing a valid canvas or context"),i.scale(this._scale,this._scale),i.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,l=Mz(r,i,a);n.save();let u=this._redraw||o.empty()?(this._redraw=!1,l.expand(1)):Bz(n,l.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,u,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!=="group"&&r!=null&&!r.includes(t.marktype))return;let i=sn[t.marktype];t.clip&&$B(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))}},Mz=(e,t,n)=>new Xe().set(0,0,t,n).translate(-e[0],-e[1]);function Bz(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 YA=class extends r0{constructor(e,t){super(e,t);let n=this;n._hrefHandler=u0(n,(r,i)=>{i&&i.href&&n.handleHref(r,i,i.href)}),n._tooltipHandler=u0(n,(r,i)=>{n.handleTooltip(r,i,r.type!==Kl)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(l0,this._hrefHandler),r.removeEventListener(o0,this._tooltipHandler),r.removeEventListener(Kl,this._tooltipHandler)),this._svg=r=e&&n0(e,"svg"),r&&(r.addEventListener(l0,this._hrefHandler),r.addEventListener(o0,this._tooltipHandler),r.addEventListener(Kl,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:u0(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}},u0=(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)},XA="aria-hidden",s0="aria-label",c0="role",f0="aria-roledescription",JA="graphics-object",d0="graphics-symbol",QA=(e,t,n)=>({[c0]:e,[f0]:t,[s0]:n||void 0}),zz=ar(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),KA={axis:{desc:"axis",caption:Rz},legend:{desc:"legend",caption:Tz},"title-text":{desc:"title",caption:e=>`Title text '${nk(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${nk(e)}'`}},ZA={ariaRole:c0,ariaRoleDescription:f0,description:s0};function ek(e,t){let n=t.aria===!1;if(e(XA,n||void 0),n||t.description==null)for(let r in ZA)e(ZA[r],void 0);else{let r=t.mark.marktype;e(s0,t.description),e(c0,t.ariaRole||(r==="group"?JA:d0)),e(f0,t.ariaRoleDescription||`${r} mark`)}}function tk(e){return e.aria===!1?{[XA]:!0}:zz[e.role]?null:KA[e.role]?Nz(e,KA[e.role]):Oz(e)}function Oz(e){let t=e.marktype,n=t==="group"||t==="text"||e.items.some(r=>r.description!=null&&r.aria!==!1);return QA(n?JA:d0,`${t} mark container`,e.description)}function Nz(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return QA(t.role||d0,t.desc,n.description||r(n))}catch{return null}}function nk(e){return G(e.text).join(" ")}function Rz(e){let t=e.datum,n=e.orient,r=t.title?rk(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),l=a.type;return`${n==="left"||n==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${wo(l)?"discrete":l} scale with ${Xw(o,a,e)}`}function Tz(e){let t=e.datum,n=t.title?rk(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,l=o.scales[i[a[0]]].value,u=o.dataflow.locale();return jz(r)+(n?` titled '${n}'`:"")+` for ${Pz(a)} with ${Xw(u,l,e)}`}function rk(e){try{return G(Ae(e.items).items[0].text).join(" ")}catch{return null}}function Pz(e){return e=e.map(t=>t+(t==="fill"||t==="stroke"?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Ae(e)}function jz(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var ik=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),Lz=e=>ik(e).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;");function h0(){let e="",t="",n="",r=[],i=()=>t=n="",a=u=>{t&&(e+=`${t}>${n}`,i()),r.push(u)},o=(u,s)=>(s!=null&&(t+=` ${u}="${Lz(s)}"`),l),l={open(u){a(u),t="<"+u;var s=[...arguments].slice(1);for(let c of s)for(let f in c)o(f,c[f]);return l},close(){let u=r.pop();return t?e+=t+(n?`>${n}</${u}>`:"/>"):e+=`</${u}>`,i(),l},attr:o,text:u=>(n+=ik(u),l),toString:()=>e};return l}var ak=e=>ok(h0(),e)+"";function ok(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let i=0;i<r;++i)e.attr(n[i].name,n[i].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let r of n)r.nodeType===3?e.text(r.nodeValue):ok(e,r)}return e.close()}var Oc={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"},Nc={blend:"mix-blend-mode"},lk={fill:"none","stroke-miterlimit":10},tu=0,uk="http://www.w3.org/2000/xmlns/",Ke=Vl.xmlns,p0=class extends Ql{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=Qe(e,0,"svg",Ke),this._svg.setAttributeNS(uk,"xmlns",Ke),this._svg.setAttributeNS(uk,"xmlns:xlink",Vl["xmlns:xlink"]),this._svg.setAttribute("version",Vl.version),this._svg.setAttribute("class","marks"),Dn(e,1),this._root=Qe(this._svg,tu,"g",Ke),ji(this._root,lk),Dn(this._svg,tu+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&&(ji(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=Qe(e,tu,"rect",Ke),ji(n,{width:this._width,height:this._height,fill:t}));let r=ak(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),Dn(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,l,u;for(o=0,l=e.length;o<l;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=sn[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,sk(n,t),r.items.forEach(s=>{s.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(u=r.items[0],u._svg&&this._update(a,u._svg,u)):n._svg&&(u=n._svg.parentNode,u&&u.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,sk(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=sn[a],l=t.interactive===!1?"none":null,u=o.tag==="g",s=ck(t,e,n,"g",i);if(a!=="group"&&r!=null&&!r.includes(a))return Dn(s,0),t._svg;s.setAttribute("class",PA(t));let c=tk(t);for(let p in c)Mt(s,p,c[p]);u||Mt(s,"pointer-events",l),Mt(s,"clip-path",t.clip?zm(this,t,t.group):null);let f=null,d=0,h=p=>{let m=this.isDirty(p),g=ck(p,s,f,o.tag,i);m&&(this._update(o,g,p),u&&Iz(this,g,p,r)),f=g,++d};return o.nested?t.items.length&&h(t.items[0]):jn(t,h),Dn(s,d),s}_update(e,t,n){Wr=t,vt=t.__values__,ek(nu,n),e.attr(nu,n,this);let r=Hz[e.type];r&&r.call(this,e,t,n),Wr&&this.style(Wr,n)}style(e,t){if(t!=null){for(let n in Oc){let r=n==="font"?Xl(t):t[n];if(r===vt[n])continue;let i=Oc[n];r==null?e.removeAttribute(i):(Cm(r)&&(r=Qw(r,this._defs.gradient,fk())),e.setAttribute(i,r+"")),vt[n]=r}for(let n in Nc)Rc(e,Nc[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=Qe(e,tu+1,"defs",Ke)),r=qz(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Qe(e,tu+1,"defs",Ke)),r=Uz(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):Dn(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function sk(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 qz(e,t,n){let r,i,a;if(t.gradient==="radial"){let o=Qe(e,n++,"pattern",Ke);ji(o,{id:ac+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=Qe(o,0,"rect",Ke),ji(o,{width:1,height:1,fill:`url(${fk()}#${t.id})`}),e=Qe(e,n++,"radialGradient",Ke),ji(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Qe(e,n++,"linearGradient",Ke),ji(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=Qe(e,r,"stop",Ke),a.setAttribute("offset",t.stops[r].offset),a.setAttribute("stop-color",t.stops[r].color);return Dn(e,r),n}function Uz(e,t,n){let r;return e=Qe(e,n,"clipPath",Ke),e.setAttribute("id",t.id),t.path?(r=Qe(e,0,"path",Ke),r.setAttribute("d",t.path)):(r=Qe(e,0,"rect",Ke),ji(r,{x:0,y:0,width:t.width,height:t.height})),Dn(e,1),n+1}function Iz(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;jn(n,o=>{i=e.mark(t,o,i,r),++a}),Dn(t,1+a)}function ck(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Pi(o,r,Ke),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:"default"},r==="g"))){let l=Pi(o,"path",Ke);a.appendChild(l),l.__data__=e;let u=Pi(o,"g",Ke);a.appendChild(u),u.__data__=e;let s=Pi(o,"path",Ke);a.appendChild(s),s.__data__=e,s.__values__={fill:"default"}}return(a.ownerSVGElement!==i||Wz(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function Wz(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var Wr=null,vt=null,Hz={group(e,t,n){let r=Wr=t.childNodes[2];vt=r.__values__,e.foreground(nu,n,this),vt=t.__values__,Wr=t.childNodes[1],e.content(nu,n,this);let i=Wr=t.childNodes[0];e.background(nu,n,this);let a=n.mark.interactive===!1?"none":null;if(a!==vt.events&&(Mt(r,"pointer-events",a),Mt(i,"pointer-events",a),vt.events=a),n.strokeForeground&&n.stroke){let o=n.fill;Mt(r,"display",null),this.style(i,n),Mt(i,"stroke",null),o&&(n.fill=null),vt=r.__values__,this.style(r,n),o&&(n.fill=o),Wr=null}else Mt(r,"display","none")},image(e,t,n){n.smooth===!1?(Rc(t,"image-rendering","optimizeSpeed"),Rc(t,"image-rendering","pixelated")):Rc(t,"image-rendering",null)},text(e,t,n){let r=Yl(n),i,a,o,l;B(r)?(a=r.map(u=>Ti(n,u)),i=a.join(`
1
+ import{r as rn}from"./chunk-DZLz74EQ.js";import{$ as Ah,$t as kh,A as kb,At as vl,B as _b,Bt as ai,C as Db,Ct as V,D as Fb,Dt as Cb,E as Eb,Et as _h,F as Dh,Ft as $b,Gt as Sb,Ht as Mb,I as Bb,It as Ae,J as Ct,Jt as zb,Kt as Ob,L as Nb,Lt as Rb,M as Tb,Mt as Pb,N as jb,Nt as Lb,O as qb,Ot as Ub,P as Ib,Pt as Wb,Q as Hb,Qt as Fh,R as Gb,Rt as C8,S as E8,St as Ch,T as $8,Tt as Vb,Ut as yn,V as I,Vt as Yb,Wt as ar,X as G,Xt as Eh,Y as qe,Yt as oi,Z as $h,Zt as Sh,_ as S8,_t as la,a as ms,at as Xb,b as M8,bt as be,c as B8,ct as zr,d as z8,dt as bl,en as gs,et as Et,f as O8,ft as vn,g as N8,gt as ua,ht as B,i as R8,it as or,j as Jb,jt as Qb,k as Mh,kt as ys,l as Kb,lt as Zb,m as T8,mt as ro,n as P8,nt as N,o as ex,ot as li,p as j8,pt as W,q as io,qt as bn,r as L8,rt as de,s as tx,st as ao,t as q8,tn as Bh,tt as zh,u as nx,ut as X,v as U8,vt as fe,w as I8,wt as Oh,x as W8,xt as Y,y as H8,yt as G8,z as rx,zt as vs}from"./vega-loader.browser.module-BkWiTok0.js";import{a as ix,c as xl,o as ax,s as ox}from"./precisionRound-TxjBk8nN.js";import{a as Nh,c as lx,d as bs,f as V8,l as Y8,n as oo,o as ui,p as X8,r as J8,s as Rh,t as Q8,u as Th}from"./linear-nWRf49aw.js";import{n as ux,r as xs,t as K8}from"./ordinal-CHS6rGcb.js";import{a as Z8,i as eS,n as tS,o as Ph,r as nS,s as sa,t as rS}from"./time-BkIHCvH2.js";import{t as an}from"./range-BPiwmiGf.js";import{i as iS,t as aS}from"./defaultLocale-DPsgYaXf.js";import{S as oS,T as lS,_ as uS,b as sS,l as cS,r as fS,s as dS,w as hS}from"./defaultLocale-C6TNIE_k.js";import{a as sx,b as pS,d as jh,g as mS,h as gS,i as yS,n as vS,r as bS,t as xS,u as Lh,v as wS,y as ws}from"./timer-m_pEB4Lb.js";import{n as qh,r as $t,t as cx}from"./path-Gc-fQZTe.js";import{f as AS,p as kS,u as _S}from"./math-BsaXoFIn.js";import{t as DS}from"./arc-De5rudRM.js";import{t as FS}from"./array-DZFD9yN1.js";import{_ as CS,a as ES,c as $S,d as SS,f as MS,g as BS,h as zS,i as OS,l as NS,m as RS,n as TS,o as PS,p as jS,r as LS,s as qS,t as US,u as IS,v as fx}from"./step-aJ-oEw6-.js";import{n as WS,r as HS,t as dx}from"./line-1VYCafWO.js";import{n as ca,t as si}from"./init-BEfLCoUT.js";import{t as lr}from"./colors-BlRVeShK.js";import{a as Uh,c as hx,d as px,f as GS,i as VS,l as YS,n as XS,o as As,p as JS,r as QS,s as KS,t as ZS,u as ks}from"./treemap-CMOdyZ8L.js";function e4(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(r=o-i,i+=r/++n,a+=r*(o-i));else{let o=-1;for(let l of e)(l=t(l,++o,e))!=null&&(l=+l)>=l&&(r=l-i,i+=r/++n,a+=r*(l-i))}if(n>1)return a/(n-1)}function t4(e,t){let n=e4(e,t);return n&&Math.sqrt(n)}var St=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 n4(e,t){return Array.from(t,n=>e[n])}function r4(e=xl){if(e===xl)return mx;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 mx(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function gx(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?mx:r4(i);r>n;){if(r-n>600){let u=r-n+1,s=t-n+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(s-u/2<0?-1:1),h=Math.max(n,Math.floor(t-s*f/u+d)),p=Math.min(r,Math.floor(t+(u-s)*f/u+d));gx(e,t,h,p,i)}let a=e[t],o=n,l=r;for(wl(e,n,t),i(e[r],a)>0&&wl(e,n,r);o<l;){for(wl(e,o,l),++o,--l;i(e[o],a)<0;)++o;for(;i(e[l],a)>0;)--l}i(e[n],a)===0?wl(e,n,l):(++l,wl(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function wl(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Ih(e,t,n){if(e=Float64Array.from(X8(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Ph(e);if(t>=1)return sa(e);var r,i=(r-1)*t,a=Math.floor(i),o=sa(gx(e,a).subarray(0,a+1)),l=Ph(e.subarray(a+1));return o+(l-o)*(i-a)}}function yx(e,t,n=V8){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),l=+n(e[a+1],a+1,e);return o+(l-o)*(i-a)}}function i4(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function vx(e,t){return Ih(e,.5,t)}function*a4(e){for(let t of e)yield*t}function bx(e){return Array.from(a4(e))}function xx(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function o4(e,...t){e=new xs(e),t=t.map(l4);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e}function l4(e){return e instanceof xs?e:new xs(e)}function u4(...e){let t=new xs;for(let n of e)for(let r of n)t.add(r);return t}function s4(e,t,n){var r=new xS,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(a,o,l){o=+o,l=l==null?vS():+l,r._restart(function u(s){s+=i,r._restart(u,i+=o,l),a(s)},o,l)},r.restart(e,t,n),r)}var c4={name:"vega-lite",author:'Dominik Moritz, Kanit "Ham" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer',version:"5.23.0",collaborators:["Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)","Dominik Moritz (https://www.domoritz.de)","Arvind Satyanarayan (https://arvindsatya.com)","Jeffrey Heer (https://jheer.org)"],homepage:"https://vega.github.io/vega-lite/",description:"Vega-Lite is a concise high-level language for interactive visualization.",keywords:["vega","chart","visualization"],main:"build/vega-lite.js",unpkg:"build/vega-lite.min.js",jsdelivr:"build/vega-lite.min.js",module:"build/src/index",types:"build/src/index.d.ts",bin:{vl2pdf:"./bin/vl2pdf",vl2png:"./bin/vl2png",vl2svg:"./bin/vl2svg",vl2vg:"./bin/vl2vg"},files:["bin","build","src","vega-lite*","tsconfig.json"],scripts:{changelog:"conventional-changelog -p angular -r 2",prebuild:"yarn clean:build",build:"yarn build:only","build:only":"tsc -p tsconfig.build.json && rollup -c","prebuild:examples":"yarn build:only","build:examples":"yarn data && TZ=America/Los_Angeles scripts/build-examples.sh","prebuild:examples-full":"yarn build:only","build:examples-full":"TZ=America/Los_Angeles scripts/build-examples.sh 1","build:example":"TZ=America/Los_Angeles scripts/build-example.sh","build:toc":"yarn build:jekyll && scripts/generate-toc","build:site":"rollup -c site/rollup.config.mjs","build:jekyll":"pushd site && bundle exec jekyll build -q && popd","build:versions":"scripts/update-version.sh",clean:"yarn clean:build && del-cli 'site/data/*' 'examples/compiled/*.png' && find site/examples ! -name 'index.md' ! -name 'data' -type f -delete","clean:build":"del-cli 'build/*' !build/vega-lite-schema.json",data:"rsync -r node_modules/vega-datasets/data/* site/data","build-editor-preview":"scripts/build-editor-preview.sh",schema:"mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/",renameschema:"scripts/rename-schema.sh",presite:"yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh",site:"yarn site:only","site:only":"pushd site && bundle exec jekyll serve -I -l && popd",prettierbase:"prettier '**/*.{md,css,yml}'",format:"eslint . --fix && yarn prettierbase --write",lint:"eslint . && yarn prettierbase --check",test:"yarn jest test/ && yarn lint && yarn schema && yarn jest examples/ && yarn test:runtime","test:cover":"yarn jest --collectCoverage test/","test:inspect":"node --inspect-brk ./node_modules/.bin/jest --runInBand test","test:runtime":"TZ=America/Los_Angeles npx jest test-runtime/ --config test-runtime/jest-config.json","test:runtime:generate":"yarn build:only && del-cli test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime",watch:"tsc -p tsconfig.build.json -w","watch:site":"yarn build:site -w","watch:test":"yarn jest --watch test/","watch:test:runtime":"TZ=America/Los_Angeles npx jest --watch test-runtime/ --config test-runtime/jest-config.json",release:"release-it"},repository:{type:"git",url:"https://github.com/vega/vega-lite.git"},license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-lite/issues"},devDependencies:{"@babel/core":"^7.26.0","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@release-it/conventional-changelog":"^9.0.3","@rollup/plugin-alias":"^5.1.1","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@types/d3":"^7.4.3","@types/jest":"^29.5.14","@types/pako":"^2.0.3","@typescript-eslint/eslint-plugin":"^7.17.0","@typescript-eslint/parser":"^7.17.0",ajv:"^8.17.1","ajv-formats":"^3.0.1",cheerio:"^1.0.0","conventional-changelog-cli":"^5.0.0",d3:"^7.9.0","del-cli":"^6.0.0",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^27.9.0","eslint-plugin-prettier":"^5.2.1","fast-json-stable-stringify":"~2.1.0","highlight.js":"^11.10.0",jest:"^29.7.0","jest-dev-server":"^10.1.4",mkdirp:"^3.0.1",pako:"^2.1.0",prettier:"^3.3.3",puppeteer:"^15.0.0","release-it":"17.10.0",rollup:"^4.27.3","rollup-plugin-bundle-size":"^1.0.3",serve:"^14.2.4",terser:"^5.36.0","ts-jest":"^29.2.5","ts-json-schema-generator":"^2.3.0",typescript:"~5.7.2","vega-cli":"^5.30.0","vega-datasets":"^2.11.0","vega-embed":"^6.28.0","vega-tooltip":"^0.35.2","yaml-front-matter":"^4.1.1"},dependencies:{"json-stringify-pretty-compact":"~4.0.0",tslib:"~2.8.1","vega-event-selector":"~3.0.1","vega-expression":"~5.1.1","vega-util":"~1.17.2",yargs:"~17.7.2"},peerDependencies:{vega:"^5.24.0"},engines:{node:">=18"},packageManager:"yarn@1.22.22"};function Wh(e){return j(e,"or")}function Hh(e){return j(e,"and")}function Gh(e){return j(e,"not")}function _s(e,t){if(Gh(e))_s(e.not,t);else if(Hh(e))for(let n of e.and)_s(n,t);else if(Wh(e))for(let n of e.or)_s(n,t);else t(e)}function lo(e,t){return Gh(e)?{not:lo(e.not,t)}:Hh(e)?{and:e.and.map(n=>lo(n,t))}:Wh(e)?{or:e.or.map(n=>lo(n,t))}:t(e)}const ie=structuredClone;function wx(e){throw Error(e)}function uo(e,t){let n={};for(let r of t)X(e,r)&&(n[r]=e[r]);return n}function Vt(e,t){let n={...e};for(let r of t)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>$e(e)).join(",")})`};function he(e){if(be(e))return e;let t=V(e)?e:$e(e);if(t.length<250)return t;let n=0;for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);n=(n<<5)-n+i,n&=n}return n}function Vh(e){return e===!1||e===null}function ue(e,t){return e.includes(t)}function so(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function Yh(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function Ax(e,...t){for(let n of t)f4(e,n??{});return e}function f4(e,t){for(let n of R(t))Eh(e,n,t[n],!0)}function ur(e,t){let n=[],r={},i;for(let a of e)i=t(a),!(i in r)&&(r[i]=1,n.push(a));return n}function d4(e,t){let n=R(e),r=R(t);if(n.length!==r.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0}function kx(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Xh(e,t){for(let n of e)if(t.has(n))return!0;return!1}function Jh(e){let t=new Set;for(let n of e){let r=ai(n).map((a,o)=>o===0?a:`[${a}]`),i=r.map((a,o)=>r.slice(0,o+1).join(""));for(let a of i)t.add(a)}return t}function Qh(e,t){return e===void 0||t===void 0?!0:Xh(Jh(e),Jh(t))}function Ee(e){return R(e).length===0}const R=Object.keys,ut=Object.values,ci=Object.entries;function Al(e){return e===!0||e===!1}function Te(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function kl(e,t){return Gh(e)?`!(${kl(e.not,t)})`:Hh(e)?`(${e.and.map(n=>kl(n,t)).join(") && (")})`:Wh(e)?`(${e.or.map(n=>kl(n,t)).join(") || (")})`:t(e)}function Ds(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&Ds(e[n],t)&&delete e[n],Ee(e)}function _l(e){return e.charAt(0).toUpperCase()+e.substr(1)}function Kh(e,t="datum"){let n=ai(e),r=[];for(let i=1;i<=n.length;i++){let a=`[${n.slice(0,i).map(I).join("][")}]`;r.push(`${t}${a}`)}return r.join(" && ")}function _x(e,t="datum"){return`${t}[${I(ai(e).join("."))}]`}function ke(e){return`datum['${e.replaceAll("'","\\'")}']`}function h4(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function xn(e){return`${ai(e).map(h4).join("\\.")}`}function fa(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function co(e){return`${ai(e).join(".")}`}function fo(e){return e?ai(e).length:0}function He(...e){return e.find(t=>t!==void 0)}var Dx=42;function Fx(e){let t=++Dx;return e?String(e)+t:t}function p4(){Dx=42}function Cx(e){return Ex(e)?e:`__${e}`}function Ex(e){return e.startsWith("__")}function Dl(e){if(e!==void 0)return(e%360+360)%360}function Fs(e){return be(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var $x=Object.getPrototypeOf(structuredClone({}));function on(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!on(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;for(let a of e.entries())if(!on(a[1],t.get(a[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==$x.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==$x.toString)return e.toString()===t.toString();let i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let a=i[r];if(!on(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function $e(e){let t=[];return(function n(r){if(r&&r.toJSON&&typeof r.toJSON=="function"&&(r=r.toJSON()),r===void 0)return;if(typeof r=="number")return isFinite(r)?""+r:"null";if(typeof r!="object")return JSON.stringify(r);let i,a;if(Array.isArray(r)){for(a="[",i=0;i<r.length;i++)i&&(a+=","),a+=n(r[i])||"null";return a+"]"}if(r===null)return"null";if(t.includes(r))throw TypeError("Converting circular structure to JSON");let o=t.push(r)-1,l=Object.keys(r).sort();for(a="",i=0;i<l.length;i++){let u=l[i],s=n(r[u]);s&&(a&&(a+=","),a+=JSON.stringify(u)+":"+s)}return t.splice(o,1),`{${a}}`})(e)}function j(e,t){return Y(e)&&X(e,t)&&e[t]!==void 0}const fi="column",Cs="facet",ho="xOffset",po="yOffset",sr="radius",Or="radius2",Bn="theta",Nr="theta2",zn="latitude",On="longitude",Nn="latitude2",Rn="longitude2",di="time",Rr="color",hi="fill",pi="stroke",Tr="shape",mi="size",da="angle",gi="opacity",yi="fillOpacity",vi="strokeOpacity",bi="strokeWidth",xi="strokeDash",Es="text",$s="order",Ss="detail",Ms="tooltip",Bs="href",zs="description";var m4={x:1,y:1,x2:1,y2:1},Sx={theta:1,theta2:1,radius:1,radius2:1};function Mx(e){return X(Sx,e)}var Zh={longitude:1,longitude2:1,latitude:1,latitude2:1};function Bx(e){switch(e){case zn:return"y";case Nn:return"y2";case On:return"x";case Rn:return"x2"}}function zx(e){return X(Zh,e)}const g4=R(Zh);var ep={...m4,...Sx,...Zh,xOffset:1,yOffset:1,color:1,fill:1,stroke:1,time:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1};function mo(e){return e==="color"||e==="fill"||e==="stroke"}var Ox={row:1,column:1,facet:1};const wn=R(Ox);var tp={...ep,...Ox};const y4=R(tp);var{order:Vte,detail:Yte,tooltip:Xte,...Nx}=tp,{row:Jte,column:Qte,facet:Kte,...Rx}=Nx;R(Nx),R(Rx);function v4(e){return X(Rx,e)}function Tx(e){return X(tp,e)}const b4=["x2","y2",Nn,Rn,Nr,Or];function Px(e){return ha(e)!==e}function ha(e){switch(e){case"x2":return"x";case"y2":return"y";case Nn:return zn;case Rn:return On;case Nr:return Bn;case Or:return sr}return e}function wi(e){if(Mx(e))switch(e){case Bn:return"startAngle";case Nr:return"endAngle";case sr:return"outerRadius";case Or:return"innerRadius"}return e}function cr(e){switch(e){case"x":return"x2";case"y":return"y2";case zn:return Nn;case On:return Rn;case Bn:return Nr;case sr:return Or}}function Yt(e){switch(e){case"x":case"x2":return"width";case"y":case"y2":return"height"}}function jx(e){switch(e){case"x":return"xOffset";case"y":return"yOffset";case"x2":return"x2Offset";case"y2":return"y2Offset";case Bn:return"thetaOffset";case sr:return"radiusOffset";case Nr:return"theta2Offset";case Or:return"radius2Offset"}}function np(e){switch(e){case"x":return"xOffset";case"y":return"yOffset"}}function x4(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}const w4=R(ep);var{x:Zte,y:ene,x2:tne,y2:nne,xOffset:rne,yOffset:ine,latitude:ane,longitude:one,latitude2:lne,longitude2:une,theta:sne,theta2:cne,radius:fne,radius2:dne,...rp}=ep;const A4=R(rp);var ip={x:1,y:1};const Pr=R(ip);function Ge(e){return X(ip,e)}const ap={theta:1,radius:1},k4=R(ap);function Os(e){return e==="width"?"x":"y"}var op={xOffset:1,yOffset:1};R(op);function Fl(e){return X(op,e)}var Lx={time:1};R(Lx);function lp(e){return e in Lx}var{text:hne,tooltip:pne,href:mne,url:gne,description:yne,detail:vne,key:bne,order:xne,...qx}=rp;const Ux=R(qx);function _4(e){return X(rp,e)}function D4(e){switch(e){case Rr:case hi:case pi:case mi:case Tr:case gi:case bi:case xi:return!0;case yi:case vi:case da:case di:return!1}}var Ix={...ip,...ap,...op,...qx};const up=R(Ix);function fr(e){return X(Ix,e)}function F4(e,t){return E4(e)[t]}var Wx={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:wne,...C4}=Wx;function E4(e){switch(e){case Rr:case hi:case pi:case zs:case Ss:case"key":case Ms:case Bs:case $s:case gi:case yi:case vi:case bi:case Cs:case"row":case fi:return Wx;case"x":case"y":case ho:case po:case zn:case On:case di:return C4;case"x2":case"y2":case Nn:case Rn:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case mi:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case xi:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case Tr:return{point:"always",geoshape:"always"};case Es:return{text:"always"};case da:return{point:"always",square:"always",text:"always"};case"url":return{image:"always"};case Bn:return{text:"always",arc:"always"};case sr:return{text:"always",arc:"always"};case Nr:case Or:return{arc:"always"}}}function sp(e){switch(e){case"x":case"y":case Bn:case sr:case ho:case po:case mi:case da:case bi:case gi:case yi:case vi:case di:case"x2":case"y2":case Nr:case Or:return;case Cs:case"row":case fi:case Tr:case xi:case Es:case Ms:case Bs:case"url":case zs:return"discrete";case Rr:case hi:case pi:return"flexible";case zn:case On:case Nn:case Rn:case Ss:case"key":case $s:return}}var $4={argmax:1,argmin:1,average:1,count:1,distinct:1,exponential:1,exponentialb:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1};const S4={count:1,min:1,max:1};function jr(e){return j(e,"argmin")}function Ai(e){return j(e,"argmax")}function Ns(e){return V(e)&&X($4,e)}const M4=new Set(["count","valid","missing","distinct"]);function Rs(e){return V(e)&&M4.has(e)}function B4(e){return V(e)&&ue(["min","max"],e)}const z4=new Set(["count","sum","distinct","valid","missing"]),O4=new Set(["mean","average","median","q1","q3","min","max"]);function Hx(e){return ua(e)&&(e=zd(e,void 0)),"bin"+R(e).map(t=>Ts(e[t])?Te(`_${t}_${ci(e[t])}`):Te(`_${t}_${e[t]}`)).join("")}function ze(e){return e===!0||pa(e)&&!e.binned}function st(e){return e==="binned"||pa(e)&&e.binned===!0}function pa(e){return Y(e)}function Ts(e){return j(e,"param")}function Gx(e){switch(e){case"row":case fi:case mi:case Rr:case hi:case pi:case bi:case gi:case yi:case vi:case Tr:return 6;case xi:return 4;default:return 10}}function Cl(e){return j(e,"expr")}function ct(e,{level:t}={level:0}){let n=R(e||{}),r={};for(let i of n)r[i]=t===0?ln(e[i]):ct(e[i],{level:t-1});return r}function Vx(e){let{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:o,color:l,subtitleColor:u,subtitleFont:s,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,g={...m,...l?{fill:l}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...a===void 0?{}:{angle:a},...o===void 0?{}:{limit:o}},v={...u?{subtitleColor:u}:{},...s?{subtitleFont:s}:{},...c?{subtitleFontSize:c}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}},b=uo(e,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:b,nonMarkTitleProperties:y,subtitle:v}}function ki(e){return V(e)||B(e)&&V(e[0])}function Z(e){return j(e,"signal")}function ma(e){return j(e,"step")}function N4(e){return B(e)?!1:j(e,"fields")&&!j(e,"data")}function R4(e){return B(e)?!1:j(e,"fields")&&j(e,"data")}function Lr(e){return B(e)?!1:j(e,"field")&&j(e,"data")}const T4=R({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),P4={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},cp=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function Yx(e){let t=B(e.condition)?e.condition.map(Xx):Xx(e.condition);return{...ln(e),condition:t}}function ln(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Xx(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Oe(e){if(Cl(e)){let{expr:t,...n}=e;return{signal:t,...n}}return Z(e)?e:e===void 0?void 0:{value:e}}function j4(e){return Z(e)?e.signal:I(e)}function Jx(e){return Z(e)?e.signal:I(e.value)}function Tn(e){return Z(e)?e.signal:e==null?null:I(e)}function L4(e,t,n){for(let r of n){let i=dr(r,t.markDef,t.config);i!==void 0&&(e[r]=Oe(i))}return e}function Qx(e){return[].concat(e.type,e.style??[])}function Se(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:a}=r;return i&&j(t,i)?t[i]:t[e]===void 0?a&&(!i||i===e)?void 0:dr(e,t,n,r):t[e]}function dr(e,t,n,{vgChannel:r}={}){let i=fp(e,t,n.style);return He(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function fp(e,t,n){return Kx(e,Qx(t),n)}function Kx(e,t,n){t=G(t);let r;for(let i of t){let a=n[i];j(a,e)&&(r=a[e])}return r}function Zx(e,t){return G(e).reduce((n,r)=>(n.field.push(H(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function e2(e,t){let n=[...e];return t.forEach(r=>{for(let i of n)if(on(i,r))return;n.push(r)}),n}function t2(e,t){return on(e,t)||!t?e:e?[...G(e),...G(t)].join(", "):t}function n2(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((ki(n)||Z(n))&&(ki(r)||Z(r)))return{explicit:e.explicit,value:t2(n,r)};if(ki(n)||Z(n))return{explicit:e.explicit,value:n};if(ki(r)||Z(r))return{explicit:e.explicit,value:r};if(!ki(n)&&!Z(n)&&!ki(r)&&!Z(r))return{explicit:e.explicit,value:e2(n,r)};throw Error("It should never reach here")}function Ps(e){let t=e||vn,n=[],r={};return n.add=i=>{let a=t(i);return r[a]||(r[a]=1,n.push(i)),n},n.remove=i=>{let a=t(i);if(r[a]){r[a]=0;let o=n.indexOf(i);o>=0&&n.splice(o,1)}return n},n}async function js(e,t){try{await t(e)}catch(n){e.error(n)}}var r2=Symbol("vega_id"),q4=1;function Ls(e){return!!(e&&ee(e))}function ee(e){return e[r2]}function i2(e,t){return e[r2]=t,e}function xe(e){let t=e===Object(e)?e:{data:e};return ee(t)?t:i2(t,q4++)}function dp(e){return qs(e,xe({}))}function qs(e,t){for(let n in e)t[n]=e[n];return t}function a2(e,t){return i2(t,ee(e))}function ga(e,t){return e?t?(n,r)=>e(n,r)||ee(t(n))-ee(t(r)):(n,r)=>e(n,r)||ee(n)-ee(r):null}function o2(e){return e&&e.constructor===ya}function ya(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:ya,insert(l){let u=G(l),s=u.length;for(let c=0;c<s;++c)e.push(u[c]);return this},remove(l){let u=fe(l)?r:t,s=G(l),c=s.length;for(let f=0;f<c;++f)u.push(s[f]);return this},modify(l,u,s){let c={field:u,value:Et(s)};return fe(l)?(c.filter=l,i.push(c)):(c.tuple=l,n.push(c)),this},encode(l,u){return fe(l)?i.push({filter:l,field:u}):n.push({tuple:l,field:u}),this},clean(l){return a=l,this},reflow(){return o=!0,this},pulse(l,u){let s={},c={},f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)s[ee(u[f])]=1;for(f=0,d=t.length;f<d;++f)m=t[f],s[ee(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(s[ee(v)]=-1)});for(f=0,d=e.length;f<d;++f)m=e[f],g=ee(m),s[g]?s[g]=1:l.add.push(xe(e[f]));for(f=0,d=u.length;f<d;++f)m=u[f],s[ee(m)]<0&&l.rem.push(m);function y(v,b,x){x?v[b]=x(v):l.encode=b,o||(c[ee(v)]=v)}for(f=0,d=n.length;f<d;++f)h=n[f],m=h.tuple,p=h.field,g=s[ee(m)],g>0&&(y(m,p,h.value),l.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&s[ee(v)]>0&&y(v,h.field,h.value)}),l.modifies(h.field);if(o)l.mod=t.length||r.length?u.filter(v=>s[ee(v)]>0):u.slice();else for(g in c)l.mod.push(c[g]);return(a||a==null&&(t.length||r.length))&&l.clean(!0),l}}}var Us="_:mod:_";function Is(){Object.defineProperty(this,Us,{writable:!0,value:{}})}Is.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[Us];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]=B(n)?1+n.length:-1),i},modified(e,t){let n=this[Us];if(arguments.length){if(B(e)){for(let r=0;r<e.length;++r)if(n[e[r]])return!0;return!1}}else{for(let r in n)if(n[r])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[Us]={},this}};var U4=0,I4="pulse",W4=new Is,H4=1,G4=2;function Be(e,t,n,r){this.id=++U4,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 l2(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}Be.prototype={targets(){return this._targets||(this._targets=Ps(bl))},set(e){return this.value===e?0:(this.value=e,1)},skip:l2(H4),modified:l2(G4),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Is,i=this._argops=this._argops||[],a=[],o,l,u,s,c=(f,d,h)=>{h instanceof Be?(h!==this&&(t&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in e)if(l=e[o],o===I4)G(l).forEach(f=>{f instanceof Be?f!==this&&(f.targets().add(this),a.push(f)):N("Pulse parameters must be operator instances.")}),this.source=l;else if(B(l))for(r.set(o,-1,Array(u=l.length)),s=0;s<u;++s)c(o,s,l[s]);else c(o,-1,l);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||W4,n=this._argops,r,i,a,o;if(n){let l=n.length;for(i=0;i<l;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<l;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function V4(e,t,n,r){let i=1,a;return e instanceof Be?a=e:e&&e.prototype instanceof Be?a=new e:fe(e)?a=new Be(null,e):(i=0,a=new Be(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function Y4(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 X4=0;function Ws(e,t,n){this.id=++X4,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function _i(e,t,n){return new Ws(e,t,n)}Ws.prototype={_filter:bn,_apply:vn,targets(){return this._targets||(this._targets=Ps(bl))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i<r;++i)n[i].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=_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,zh(e,n=>{let r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(_i(null,null,()=>n=!0)),t.targets().add(_i(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=bn,this._targets=null}};function J4(e,t,n,r){let i=this,a=_i(n,r),o=function(s){s.dataflow=i;try{a.receive(s)}catch(c){i.error(c)}finally{i.run()}},l;l=typeof e=="string"&&typeof document<"u"?document.querySelectorAll(e):G(e);let u=l.length;for(let s=0;s<u;++s)l[s].addEventListener(t,o);return a}function Q4(e,t){let n=this.locale();return ex(e,t,n.timeParse,n.utcParse)}function K4(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function Z4(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:"dataflow",response:tx(t&&t.type)});try{i=n.parse(i,t)}catch(a){r=-2,n.warn("Data ingestion failed",e,a)}}catch(a){r=-1,n.warn("Loading failed",e,a)}return{data:i,status:r}}async function e9(e,t,n){let r=this,i=r._pending||t9(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(bn).insert(a.data||[])),i.done(),a}function t9(e){let t,n=new Promise(r=>t=r);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var n9={skip:!0};function r9(e,t,n,r,i){return(e instanceof Be?a9:i9)(this,e,t,n,r,i),this}function i9(e,t,n,r,i,a){let o=de({},a,n9),l,u;fe(n)||(n=Et(n)),r===void 0?l=s=>e.touch(n(s)):fe(r)?(u=new Be(null,r,i,!1),l=s=>{u.evaluate(s);let c=n(s),f=u.value;o2(f)?e.pulse(c,f,a):e.update(c,f,o)}):l=s=>e.update(n(s),r,o),t.apply(l)}function a9(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},l=new Be(null,o9(n,r),i,!1);l.modified(o.force),l.rank=t.rank,t.targets().add(l),n&&(l.skip(!0),l.value=n.value,l.targets().add(n),e.connect(n,[l]))}}function o9(e,t){return t=fe(t)?t:Et(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function l9(e){e.rank=++this._rank}function u9(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&&N("Cycle detected in dataflow graph.")}var Hs={},qr=1,Di=2,Fi=4,s9=qr|Di,u2=qr|Fi,go=Di|5,s2=8,El=16,c2=32,f2=64;function Ci(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function hp(e,t){let n=[];return oi(e,t,r=>n.push(r)),n}function d2(e,t){let n={};return e.visit(t,r=>{n[ee(r)]=1}),r=>n[ee(r)]?null:r}function Gs(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}Ci.prototype={StopPropagation:Hs,ADD:qr,REM:Di,MOD:Fi,ADD_REM:s9,ADD_MOD:u2,ALL:go,REFLOW:s2,SOURCE:El,NO_SOURCE:c2,NO_FIELDS:f2,fork(e){return new Ci(this.dataflow).init(this,e)},clone(){let e=this.fork(go);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(go|El)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new Ci(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&f2)&&(n.fields=e.fields),t&qr?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&Di?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Fi?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&c2?(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||go;return t&qr&&this.add.length||t&Di&&this.rem.length||t&Fi&&this.mod.length},reflow(e){if(e)return this.fork(go).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Fi,d2(this,qr))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return B(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?B(e)?e.some(r=>n[r]):n[e]:!!n:!1},filter(e,t){let n=this;return e&qr&&(n.addF=Gs(n.addF,t)),e&Di&&(n.remF=Gs(n.remF,t)),e&Fi&&(n.modF=Gs(n.modF,t)),e&El&&(n.srcF=Gs(n.srcF,t)),n},materialize(e){e||(e=go);let t=this;return e&qr&&t.addF&&(t.add=hp(t.add,t.addF),t.addF=null),e&Di&&t.remF&&(t.rem=hp(t.rem,t.remF),t.remF=null),e&Fi&&t.modF&&(t.mod=hp(t.mod,t.modF),t.modF=null),e&El&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&El)return oi(n.source,n.srcF,r),n;e&qr&&oi(n.add,n.addF,r),e&Di&&oi(n.rem,n.remF,r),e&Fi&&oi(n.mod,n.modF,r);let i=n.source;if(e&s2&&i){let a=n.add.length+n.mod.length;a===i.length||(a?oi(i,d2(n,u2),r):oi(i,n.srcF,r))}return n}};function pp(e,t,n,r){let i=this,a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let o of n)if(o.stamp===t){if(o.fields){let l=i.fields||(i.fields={});for(let u in o.fields)l[u]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}W(pp,Ci,{fork(e){let t=new Ci(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?B(e)?e.some(r=>n[r]):n[e]:0},filter(){N("MultiPulse does not support filtering.")},materialize(){N("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 c9(e,t,n){let r=this,i=[];if(r._pulse)return h2(r);if(r._pending&&await r._pending,t&&await js(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let a=++r._clock;r._pulse=new Ci(r,a,e),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ps(bl);let o=0,l,u,s;try{for(;r._heap.size()>0;){if(l=r._heap.pop(),l.rank!==l.qrank){r._enqueue(l,!0);continue}u=l.run(r._getPulse(l,e)),u.then?u=await u:u.async&&(i.push(u.async),u=Hs),u!==Hs&&l._targets&&l._targets.forEach(c=>r._enqueue(c)),++o}}catch(c){r._heap.clear(),s=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),s&&(r._postrun=[],r.error(s)),r._postrun.length){let c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await js(r,c[f].callback)}return n&&await js(r,n),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}async function f9(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 d9(e,t,n){return this._pulse?h2(this):(this.evaluate(e,t,n),this)}function h9(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(r){this.error(r)}}function h2(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}function p9(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function m9(e,t){let n=e.source,r=this._clock;return n&&B(n)?new pp(this,r,n.map(i=>i.pulse),t):this._input[e.id]||g9(this._pulse,n&&n.pulse)}function g9(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==Hs&&(e.source=t.source),e)}var mp={skip:!1,force:!1};function y9(e,t){let n=t||mp;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function v9(e,t,n){let r=n||mp;return(e.set(t)||r.force)&&this.touch(e,r),this}function b9(e,t,n){this.touch(e,n||mp);let r=new Ci(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function x9(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),p2(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,w9(t,0,e)):r=n,r}}}function p2(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 w9(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,l;for(;o<i;)l=o+1,l<i&&n(e[o],e[l])>=0&&(o=l),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,p2(e,r,t,n)}function yo(){this.logger(_h()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=Kb();try{this._loader=ms()}catch{}this._touched=Ps(bl),this._input={},this._pulse=null,this._heap=x9((e,t)=>e.qrank-t.qrank),this._postrun=[]}function $l(e){return function(){return this._log[e].apply(this,arguments)}}yo.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:$l("error"),warn:$l("warn"),info:$l("info"),debug:$l("debug"),logLevel:$l("level"),cleanThreshold:1e4,add:V4,connect:Y4,rank:l9,rerank:u9,pulse:b9,touch:y9,update:v9,changeset:ya,ingest:K4,parse:Q4,preload:e9,request:Z4,events:J4,on:r9,evaluate:c9,run:d9,runAsync:f9,runAfter:h9,_enqueue:p9,_getPulse:m9};function $(e,t){Be.call(this,e,null,t)}W($,Be,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||(t=e),t.then?t=t.then(n=>this.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var vo={};function m2(e){let t=g2(e);return t&&t.Definition||null}function g2(e){return e&&(e=e.toLowerCase()),X(vo,e)?vo[e]:null}function*y2(e,t){if(t==null)for(let n of e)n!=null&&n!==""&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function gp(e,t,n){let r=Float64Array.from(y2(e,n));return r.sort(xl),t.map(i=>yx(r,i))}function yp(e,t){return gp(e,[.25,.5,.75],t)}function vp(e,t){let n=e.length,r=t4(e,t),i=yp(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 v2(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,u,s,c,f,d,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=h/t,f=0,d=e.steps.length;f<d&&e.steps[f]<c;++f);l=e.steps[Math.max(0,f-1)]}else{for(u=Math.ceil(Math.log(t)/r),s=e.minstep||0,l=Math.max(s,n**+(Math.round(Math.log(h)/r)-u));Math.ceil(h/l)>t;)l*=n;for(f=0,d=i.length;f<d;++f)c=l/i[f],c>=s&&h/c<=t&&(l=c)}c=Math.log(l);let p=c>=0?0:~~(-c/r)+1,m=n**(-p-1);return(e.nice||e.nice===void 0)&&(c=Math.floor(a/l+m)*l,a=a<c?c-l:c,o=Math.ceil(o/l)*l),{start:a,stop:o===a?a+l:o,step:l}}var An=Math.random;function A9(e){An=e}function b2(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(y2(e,r)),a=i.length,o=t,l,u,s,c;for(s=0,c=Array(o);s<o;++s){for(l=0,u=0;u<a;++u)l+=i[~~(An()*a)];c[s]=l/a}return c.sort(xl),[Ih(c,n/2),Ih(c,1-n/2)]}function x2(e,t,n,r){r||(r=(d=>d));let i=e.length,a=new Float64Array(i),o=0,l=1,u=r(e[0]),s=u,c=u+t,f;for(;l<i;++l){if(f=r(e[l]),f>=c){for(s=(u+s)/2;o<l;++o)a[o]=s;c=f+t,u=f}s=f}for(s=(u+s)/2;o<l;++o)a[o]=s;return n?k9(a,t+t/4):a}function k9(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 _9(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function D9(e,t){t??(t=e,e=0);let n,r,i,a={min(o){return arguments.length?(n=o||0,i=r-n,a):n},max(o){return arguments.length?(r=o||0,i=r-n,a):r},sample(){return n+Math.floor(i*An())},pdf(o){return o===Math.floor(o)&&o>=n&&o<r?1/i:0},cdf(o){let l=Math.floor(o);return l<n?0:l>=r?1:(l-n+1)/i},icdf(o){return o>=0&&o<=1?n-1+Math.floor(o*i):NaN}};return a.min(e).max(t)}var w2=Math.sqrt(2*Math.PI),F9=Math.SQRT2,Sl=NaN;function Vs(e,t){e||(e=0),t??(t=1);let n=0,r=0,i,a;if(Sl===Sl)n=Sl,Sl=NaN;else{do n=An()*2-1,r=An()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,Sl=r*a}return e+n*t}function bp(e,t,n){n??(n=1);let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*w2)}function Ys(e,t,n){t||(t=0),n??(n=1);let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let o=Math.exp(-i*i/2),l;i<7.07106781186547?(l=.0352624965998911*i+.700383064443688,l=l*i+6.37396220353165,l=l*i+33.912866078383,l=l*i+112.079291497871,l=l*i+221.213596169931,l=l*i+220.206867912376,a=o*l,l=.0883883476483184*i+1.75566716318264,l=l*i+16.064177579207,l=l*i+86.7807322029461,l=l*i+296.564248779674,l=l*i+637.333633378831,l=l*i+793.826512519948,l=l*i+440.413735824752,a/=l):(l=i+.65,l=i+4/l,l=i+3/l,l=i+2/l,l=i+1/l,a=o/l/2.506628274631)}return r>0?1-a:a}function Xs(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*F9*C9(2*e-1)}function C9(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function xp(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Vs(n,r),pdf:a=>bp(a,n,r),cdf:a=>Ys(a,n,r),icdf:a=>Xs(a,n,r)};return i.mean(e).stdev(t)}function wp(e,t){let n=xp(),r=0,i={data(a){return arguments.length?(e=a,r=a?a.length:0,i.bandwidth(t)):e},bandwidth(a){return arguments.length?(t=a,!t&&e&&(t=vp(e)),i):t},sample(){return e[~~(An()*r)]+t*n.sample()},pdf(a){let o=0,l=0;for(;l<r;++l)o+=n.pdf((a-e[l])/t);return o/t/r},cdf(a){let o=0,l=0;for(;l<r;++l)o+=n.cdf((a-e[l])/t);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function Ap(e,t){return e||(e=0),t??(t=1),Math.exp(e+Vs()*t)}function kp(e,t,n){if(e<=0)return 0;t||(t=0),n??(n=1);let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*w2*e)}function _p(e,t,n){return Ys(Math.log(e),t,n)}function Dp(e,t,n){return Math.exp(Xs(e,t,n))}function A2(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Ap(n,r),pdf:a=>kp(a,n,r),cdf:a=>_p(a,n,r),icdf:a=>Dp(a,n,r)};return i.mean(e).stdev(t)}function k2(e,t){let n=0,r;function i(o){let l=[],u=0,s;for(s=0;s<n;++s)u+=l[s]=o[s]==null?1:+o[s];for(s=0;s<n;++s)l[s]/=u;return l}let a={weights(o){return arguments.length?(r=i(t=o||[]),a):t},distributions(o){return arguments.length?(o?(n=o.length,e=o):(n=0,e=[]),a.weights(t)):e},sample(){let o=An(),l=e[n-1],u=r[0],s=0;for(;s<n-1;u+=r[++s])if(o<u){l=e[s];break}return l.sample()},pdf(o){let l=0,u=0;for(;u<n;++u)l+=r[u]*e[u].pdf(o);return l},cdf(o){let l=0,u=0;for(;u<n;++u)l+=r[u]*e[u].cdf(o);return l},icdf(){throw Error("Mixture icdf not supported.")}};return a.distributions(e).weights(t)}function Fp(e,t){return t??(t=e??1,e=0),e+(t-e)*An()}function Cp(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function Ep(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function $p(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function _2(e,t){let n,r,i={min(a){return arguments.length?(n=a||0,i):n},max(a){return arguments.length?(r=a??1,i):r},sample:()=>Fp(n,r),pdf:a=>Cp(a,n,r),cdf:a=>Ep(a,n,r),icdf:a=>$p(a,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function Sp(e,t,n){let r=0,i=0;for(let a of e){let o=n(a);t(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Ml(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 Js(e,t,n,r){e=e.filter(h=>{let p=t(h),m=n(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&e.sort((h,p)=>t(h)-t(p));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),l=0,u=0,s=0,c,f,d;for(d of e)a[l]=c=+t(d),o[l]=f=+n(d),++l,u+=(c-u)/l,s+=(f-s)/l;for(l=0;l<i;++l)a[l]-=u,o[l]-=s;return[a,o,u,s]}function Bl(e,t,n,r){let i=-1,a,o;for(let l of e)a=t(l),o=n(l),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function bo(e,t,n,r,i){let a=0,o=0;return Bl(e,t,n,(l,u)=>{let s=u-i(l),c=u-r;a+=s*s,o+=c*c}),1-a/o}function Mp(e,t,n){let r=0,i=0,a=0,o=0,l=0;Bl(e,t,n,(c,f)=>{++l,r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let u=Ml(r,i,a,o),s=c=>u[0]+u[1]*c;return{coef:u,predict:s,rSquared:bo(e,t,n,i,s)}}function D2(e,t,n){let r=0,i=0,a=0,o=0,l=0;Bl(e,t,n,(c,f)=>{++l,c=Math.log(c),r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let u=Ml(r,i,a,o),s=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:s,rSquared:bo(e,t,n,i,s)}}function F2(e,t,n){let[r,i,a,o]=Js(e,t,n),l=0,u=0,s=0,c=0,f=0,d,h,p;Bl(e,t,n,(v,b)=>{d=r[f++],h=Math.log(b),p=d*b,l+=(b*h-l)/f,u+=(p-u)/f,s+=(p*h-s)/f,c+=(d*p-c)/f});let[m,g]=Ml(u/o,l/o,s/o,c/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:bo(e,t,n,o,y)}}function C2(e,t,n){let r=0,i=0,a=0,o=0,l=0,u=0;Bl(e,t,n,(f,d)=>{let h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,l+=(d-l)/u});let s=Ml(r,i,a,o),c=f=>s[0]*f**+s[1];return s[0]=Math.exp(s[0]),{coef:s,predict:c,rSquared:bo(e,t,n,l,c)}}function Bp(e,t,n){let[r,i,a,o]=Js(e,t,n),l=r.length,u=0,s=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<l;)p=r[h],m=i[h++],g=p*p,u+=(g-u)/h,s+=(g*p-s)/h,c+=(g*g-c)/h,f+=(p*m-f)/h,d+=(g*m-d)/h;let y=c-u*u,v=u*y-s*s,b=(d*u-f*s)/v,x=(f*y-d*s)/v,w=-b*u,k=A=>(A-=a,b*A*A+x*A+w+o);return{coef:[w-x*a+b*a*a+o,x-2*b*a,b],predict:k,rSquared:bo(e,t,n,o,k)}}function E2(e,t,n,r){if(r===0)return Sp(e,t,n);if(r===1)return Mp(e,t,n);if(r===2)return Bp(e,t,n);let[i,a,o,l]=Js(e,t,n),u=i.length,s=[],c=[],f=r+1,d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=i[p]**+d*a[p];for(s.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=i[p]**+(d+h);g[h]=m}c.push(g)}c.push(s);let y=$9(c),v=b=>{b-=o;let x=l+y[0]+y[1]*b+y[2]*b*b;for(d=3;d<f;++d)x+=y[d]*b**+d;return x};return{coef:E9(f,y,-o,l),predict:v,rSquared:bo(e,t,n,l,v)}}function E9(e,t,n,r){let i=Array(e),a,o,l,u;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(l=t[a],u=1,i[a]+=l,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=l*n**+o*u;return i[0]+=r,i}function $9(e){let t=e.length-1,n=[],r,i,a,o,l;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)l=e[a][r],e[a][r]=e[a][o],e[a][o]=l;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(l=0,a=i+1;a<t;++a)l+=e[a][i]*n[a];n[i]=(e[t][i]-l)/e[i][i]}return n}var $2=2,S2=1e-12;function M2(e,t,n,r){let[i,a,o,l]=Js(e,t,n,!0),u=i.length,s=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=$2;){let p=[0,s-1];for(let g=0;g<u;++g){let y=i[g],v=p[0],b=p[1],x=y-i[v]>i[b]-y?v:b,w=0,k=0,A=0,_=0,D=0,F=1/Math.abs(i[x]-y||1);for(let P=v;P<=b;++P){let U=i[P],E=a[P],O=S9(Math.abs(y-U)*F)*d[P],J=U*O;w+=O,k+=J,A+=E*O,_+=E*J,D+=U*J}let[C,z]=Ml(k/w,A/w,_/w,D/w);c[g]=C+z*y,f[g]=Math.abs(a[g]-c[g]),M9(i,g+1,p)}if(h===$2)break;let m=vx(f);if(Math.abs(m)<S2)break;for(let g=0,y,v;g<u;++g)y=f[g]/(6*m),d[g]=y>=1?S2:(v=1-y*y)*v}return B9(i,c,o,l)}function S9(e){return(e=1-e*e*e)*e*e}function M9(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 B9(e,t,n,r){let i=e.length,a=[],o=0,l=0,u=[],s;for(;o<i;++o)s=e[o]+n,u[0]===s?u[1]+=(t[o]-u[1])/++l:(l=0,u[1]+=r,u=[s,t[o]],a.push(u));return u[1]+=r,a}var z9=.5*Math.PI/180;function Qs(e,t,n,r){n||(n=25),r=Math.max(n,r||200);let i=m=>[m,e(m)],a=t[0],o=t[1],l=o-a,u=l/r,s=[i(a)],c=[];if(n===r){for(let m=1;m<r;++m)s.push(i(a+m/n*l));return s.push(i(o)),s}else{c.push(i(o));for(let m=n;--m>0;)c.push(i(a+m/n*l))}let f=s[0],d=c[c.length-1],h=1/l,p=O9(f[1],c);for(;d;){let m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&N9(f,m,d,h,p)>z9?c.push(m):(f=d,s.push(d),c.pop()),d=c[c.length-1]}return s}function O9(e,t){let n=e,r=e,i=t.length;for(let a=0;a<i;++a){let o=t[a][1];o<n&&(n=o),o>r&&(r=o)}return 1/(r-n)}function N9(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 R9=rn({aggregate:()=>Ei,bin:()=>Rp,collect:()=>Tp,compare:()=>T2,countpattern:()=>Pp,cross:()=>jp,density:()=>Lp,dotbin:()=>Up,expression:()=>W2,extent:()=>Ip,facet:()=>Ks,field:()=>H2,filter:()=>Hp,flatten:()=>Gp,fold:()=>Vp,formula:()=>Yp,generate:()=>G2,impute:()=>Xp,joinaggregate:()=>Jp,kde:()=>Qp,key:()=>V2,load:()=>Y2,lookup:()=>Zp,multiextent:()=>X2,multivalues:()=>J2,params:()=>Q2,pivot:()=>em,prefacet:()=>K2,project:()=>tm,proxy:()=>Z2,quantile:()=>nm,relay:()=>ew,sample:()=>rm,sequence:()=>im,sieve:()=>tw,subflow:()=>Wp,timeunit:()=>am,tupleindex:()=>rw,values:()=>iw,window:()=>om});function T9(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 zp(e){return!e||!e.length?function(){return""}:e.length===1?e[0]:T9(e)}function B2(e,t,n){return n||e+(t?"_"+t:"")}var Op=()=>{},P9={init:Op,add:Op,rem:Op,idx:0},zl={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}},Ol=Object.keys(zl).filter(e=>e!=="__count__");function j9(e,t){return(n,r)=>de({name:e,aggregate_param:r,out:n||e},P9,t)}[...Ol,"__count__"].forEach(e=>{zl[e]=j9(e,zl[e])});function z2(e,t,n){return zl[e](n,t)}function O2(e,t){return e.idx-t.idx}function L9(e){let t={};e.forEach(r=>t[r.name]=r);let n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=zl[i]())})};return e.forEach(n),Object.values(t).sort(O2)}function q9(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function U9(e,t){if(e==null||e===""){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function I9(e,t){if(e==null||e===""){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function W9(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function N2(e,t){let n=t||vn,r=L9(e),i=e.slice().sort(O2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=q9,a.prototype.add=U9,a.prototype.rem=I9,a.prototype.set=W9,a.prototype.get=n,a.fields=e.map(o=>o.out),a}function Np(e){this._key=e?zr(e):ee,this.reset()}var ft=Np.prototype;ft.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ft.add=function(e){this._add.push(e)},ft.rem=function(e){this._rem.push(e)},ft.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),o={},l,u,s;for(l=0;l<i;++l)o[n(t[l])]=1;for(l=0,u=0;l<r;++l)o[n(s=e[l])]?o[n(s)]=0:a[u++]=s;return this._rem=[],this._add=a},ft.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+"",X(n,a)||(n[a]=1,++i);return i},ft.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=Xb(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},ft.argmin=function(e){return this.extent(e)[0]||{}},ft.argmax=function(e){return this.extent(e)[1]||{}},ft.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},ft.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},ft.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=yp(this.values(),e),this._get=e),this._q},ft.q1=function(e){return this.quartile(e)[0]},ft.q2=function(e){return this.quartile(e)[1]},ft.q3=function(e){return this.quartile(e)[2]},ft.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=b2(this.values(),1e3,.05,e),this._get=e),this._ci},ft.ci0=function(e){return this.ci(e)[0]},ft.ci1=function(e){return this.ci(e)[1]};function Ei(e){$.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}Ei.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Ol},{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"}]},W(Ei,$,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,a=>n.add(a))):(n.value=n.value||n.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(l){let u,s,c,f;for(u in l)for(c=l[u].tuple,s=0;s<i;++s)r[s][f=c[n[s]]]=f}a(e._prev),a(t);function o(l,u,s){let c=n[s],f=r[s++];for(let d in f){let h=l?l+"|"+d:d;u[c]=f[d],s<i?o(h,u,s):t[h]||e.cell(h,u)}}o("",{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(v){let b=G(Ct(v)),x=b.length,w=0,k;for(;w<x;++w)r[k=b[w]]||(r[k]=1,t.push(k))}this._dims=G(e.groupby),this._dnames=this._dims.map(v=>{let b=qe(v);return i(v),n.push(b),b}),this.cellkey=e.key?e.key:zp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||["count"],l=e.aggregate_params||[null],u=e.as||[],s=a.length,c={},f,d,h,p,m,g,y;for(s!==o.length&&N("Unmatched number of fields and aggregate ops."),y=0;y<s;++y){if(f=a[y],d=o[y],h=l[y]||null,f==null&&d!=="count"&&N("Null aggregate field specified."),m=qe(f),g=B2(d,m,u[y]),n.push(g),d==="count"){this._counts.push(g);continue}p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(z2(d,h,g))}return this._measures=this._measures.map(v=>N2(v,v.field)),Object.create(null)},cellkey:zp(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let r=this._measures,i=r.length;n.agg=Array(i);for(let a=0;a<i;++a)n.agg[a]=new r[a](n)}return n.store&&(n.data=new Np),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[n[o]]=r[o](e);return t?a2(t.tuple,a):xe(a)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(--n.num,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,a=e.add,o=e.rem,l=e.mod,u,s,c,f;if(r)for(s in r)u=r[s],(!i||u.num)&&o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(t[c])),t[c]=null;for(c=0,f=this._mlen;c<f;++c)u=n[c],(u.num===0&&i?o:l).push(this.celltuple(u)),n[c]=null;return this._alen=this._mlen=0,this._prev=null,e}});var H9=1e-14;function Rp(e){$.call(this,null,e)}Rp.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"]}]},W(Rp,$,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||["bin0","bin1"],l=o[0],u=o[1],s;return e.modified()?(t=t.reflow(!0),s=t.SOURCE):s=t.modified(Ct(e.field))?t.ADD_MOD:t.ADD,t.visit(s,n?c=>{let f=r(c);c[l]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[l]=r(c)),t.modifies(n?o:l)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=v2(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,l;(o=e.anchor)!=null&&(l=o-(i+r*Math.floor((o-i)/r)),i+=l,a+=l);let u=function(s){let c=yn(t(s));return c==null?null:c<i?-1/0:c>a?1/0:(c=Math.max(i,Math.min(c,a-r)),i+r*Math.floor(H9+(c-i)/r))};return u.start=i,u.stop=n.stop,u.step=r,this.value=io(u,Ct(t),e.name||"bin_"+qe(t))}});function R2(e,t,n){let r=e,i=t||[],a=n||[],o={},l=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++l,size:()=>i.length,data:(u,s)=>(l&&(l=(i=i.filter(c=>!o[r(c)]),o={},0)),s&&u&&i.sort(u),a.length&&(i=u?Ub(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Tp(e){$.call(this,[],e)}Tp.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},W(Tp,$,{transform(e,t){let n=t.fork(t.ALL),r=R2(ee,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(ga(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function T2(e){Be.call(this,null,G9,e)}W(T2,Be);function G9(e){return this.value&&!e.modified()?this.value:Ah(e.fields,e.orders)}function Pp(e){$.call(this,null,e)}Pp.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 V9(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase();break}return e.match(n)}W(Pp,$,{transform(e,t){let n=f=>d=>{for(var h=V9(l(d),e.case,a)||[],p,m=0,g=h.length;m<g;++m)o.test(p=h[m])||f(p)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,l=e.field,u=e.as||["text","count"],s=n(f=>i[f]=1+(i[f]||0)),c=n(f=>--i[f]);return r?t.visit(t.SOURCE,s):(t.visit(t.ADD,s),t.visit(t.REM,c)),this._finish(t,u)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),l,u,s;for(l in n)u=r[l],s=n[l]||0,!u&&s?(r[l]=u=xe({}),u[i]=l,u[a]=s,o.add.push(u)):s===0?(u&&o.rem.push(u),n[l]=null,r[l]=null):u[a]!==s&&(u[a]=s,o.mod.push(u));return o.modifies(t)}});function jp(e){$.call(this,null,e)}jp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},W(jp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=Y9(l,i,a,e.filter||bn)):n.mod=l,n.source=this.value,n.modifies(r)}});function Y9(e,t,n,r){for(var i=[],a={},o=e.length,l=0,u,s;l<o;++l)for(a[t]=s=e[l],u=0;u<o;++u)a[n]=e[u],r(a)&&(i.push(xe(a)),a={},a[t]=s);return i}var P2={kde:wp,mixture:k2,normal:xp,lognormal:A2,uniform:_2},X9="distributions",j2="function",J9="field";function L2(e,t){let n=e[j2];X(P2,n)||N("Unknown distribution function: "+n);let r=P2[n]();for(let i in e)i===J9?r.data((e.from||t()).map(e[i])):i===X9?r[i](e[i].map(a=>L2(a,t))):typeof r[i]===j2&&r[i](e[i]);return r}function Lp(e){$.call(this,null,e)}var q2=[{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}]}],Q9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:q2},{name:"weights",type:"number",array:!0}]};Lp.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:q2.concat(Q9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},W(Lp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=L2(e.distribution,K9(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||"pdf";o!=="pdf"&&o!=="cdf"&&N("Invalid density method: "+o),!e.extent&&!r.data&&N("Missing density extent parameter."),o=r[o];let l=e.as||["value","density"],u=e.extent||or(r.data()),s=Qs(o,u,i,a).map(c=>{let f={};return f[l[0]]=c[0],f[l[1]]=c[1],xe(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});function K9(e){return()=>e.materialize(e.SOURCE).source}function U2(e,t){return e?e.map((n,r)=>t[r]||qe(n)):null}function qp(e,t,n){let r=[],i=f=>f(u),a,o,l,u,s,c;if(t==null)r.push(e.map(n));else for(a={},o=0,l=e.length;o<l;++o)u=e[o],s=t.map(i),c=a[s],c||(a[s]=c=[],c.dims=s,r.push(c)),c.push(n(u));return r}var I2="bin";function Up(e){$.call(this,null,e)}Up.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:I2}]};var Z9=(e,t)=>vs(or(e,t))/30;W(Up,$,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=qp(t.source,e.groupby,vn),i=e.smooth||!1,a=e.field,o=e.step||Z9(n,a),l=ga((p,m)=>a(p)-a(m)),u=e.as||I2,s=r.length,c=1/0,f=-1/0,d=0,h;for(;d<s;++d){let p=r[d].sort(l);h=-1;for(let m of x2(p,o,i,a))m<c&&(c=m),m>f&&(f=m),p[++h][u]=m}return this.value={start:c,stop:f,step:o},t.reflow(!0).modifies(u)}});function W2(e){Be.call(this,null,e7,e),this.modified(!0)}W(W2,Be);function e7(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:io(n=>t(n,e),Ct(t),qe(t))}function Ip(e){$.call(this,[void 0,void 0],e)}Ip.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},W(Ip,$,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),a=n[0],o=n[1];if((i||a==null)&&(a=1/0,o=-1/0),t.visit(i?t.SOURCE:t.ADD,l=>{let u=yn(r(l));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let l=qe(r);l&&(l=` for field "${l}"`),t.dataflow.warn(`Infinite extent${l}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Wp(e,t){Be.call(this,e),this.parent=t,this.count=0}W(Wp,Be,{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 Ks(e){$.call(this,{},e),this._keys=ao();let t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;r<i;++r)n(t[r],r,t)}}W(Ks,$,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=X(i,e)&&i[e],o,l;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(l=r||(l=this._group[e])&&l.tuple,o=n.dataflow,a=new Wp(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,l)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let n=this._targets.filter(r=>r&&r.count>0);this.initTargets(n)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified("key"),l=u=>this.subflow(u,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,u=>{let s=ee(u),c=a.get(s);c!==void 0&&(a.delete(s),l(c).rem(u))}),t.visit(t.ADD,u=>{let s=r(u);a.set(ee(u),s),l(s).add(u)}),o||t.modified(r.fields)?t.visit(t.MOD,u=>{let s=ee(u),c=a.get(s),f=r(u);c===f?l(f).mod(u):(a.set(s,f),l(c).rem(u),l(f).add(u))}):t.changed(t.MOD)&&t.visit(t.MOD,u=>{l(a.get(ee(u))).mod(u)}),o&&t.visit(t.REFLOW,u=>{let s=ee(u),c=a.get(s),f=r(u);c!==f&&(a.set(s,f),l(c).rem(u),l(f).add(u))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function H2(e){Be.call(this,null,t7,e)}W(H2,Be);function t7(e){return this.value&&!e.modified()?this.value:B(e.name)?G(e.name).map(t=>zr(t)):zr(e.name,e.as)}function Hp(e){$.call(this,ao(),e)}Hp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},W(Hp,$,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,l=i.mod,u=e.expr,s=!0;t.visit(t.REM,f=>{let d=ee(f);r.has(d)?r.delete(d):o.push(f)}),t.visit(t.ADD,f=>{u(f,e)?a.push(f):r.set(ee(f),1)});function c(f){let d=ee(f),h=u(f,e),p=r.get(d);h&&p?(r.delete(d),a.push(f)):!h&&!p?(r.set(d,1),o.push(f)):s&&h&&!p&&l.push(f)}return t.visit(t.MOD,c),e.modified()&&(s=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function Gp(e){$.call(this,[],e)}Gp.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}]},W(Gp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=U2(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,l=>{let u=r.map(h=>h(l)),s=u.reduce((h,p)=>Math.max(h,p.length),0),c=0,f,d;for(;c<s;++c){for(d=dp(l),f=0;f<o;++f)d[i[f]]=u[f][c]??null;a&&(d[a]=c),n.add.push(d)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function Vp(e){$.call(this,[],e)}Vp.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"]}]},W(Vp,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(qe),a=e.as||["key","value"],o=a[0],l=a[1],u=r.length;return n.rem=this.value,t.visit(t.SOURCE,s=>{for(let c=0,f;c<u;++c)f=dp(s),f[o]=i[c],f[l]=r[c](s),n.add.push(f)}),this.value=n.source=n.add,n.modifies(a)}});function Yp(e){$.call(this,null,e)}Yp.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},W(Yp,$,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,o=>o[r]=n(o,e))}});function G2(e){$.call(this,[],e)}W(G2,$,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,l,u;if(a>0){for(o=[];--a>=0;)o.push(u=xe(r(e))),i.push(u);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,i=i.slice(-a);return n.source=this.value=i,n}});var Zs={value:"value",median:vx,mean:i4,min:Ph,max:sa},n7=[];function Xp(e){$.call(this,[],e)}Xp.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 r7(e){var t=e.method||Zs.value,n;if(Zs[t]==null)N("Unrecognized imputation method: "+t);else return t===Zs.value?(n=e.value===void 0?0:e.value,()=>n):Zs[t]}function i7(e){let t=e.field;return n=>n?t(n):NaN}W(Xp,$,{transform(e,t){var n=t.fork(t.ALL),r=r7(e),i=i7(e),a=qe(e.field),o=qe(e.key),l=(e.groupby||[]).map(qe),u=a7(t.source,e.groupby,e.key,e.keyvals),s=[],c=this.value,f=u.domain.length,d,h,p,m,g,y,v,b,x,w;for(g=0,b=u.length;g<b;++g)for(d=u[g],p=d.values,h=NaN,v=0;v<f;++v)if(d[v]==null){for(m=u.domain[v],w={_impute:!0},y=0,x=p.length;y<x;++y)w[l[y]]=p[y];w[o]=m,w[a]=Number.isNaN(h)?h=r(d,i):h,s.push(xe(w))}return s.length&&(n.add=n.materialize(n.ADD).add.concat(s)),c.length&&(n.rem=n.materialize(n.REM).rem.concat(c)),this.value=s,n}});function a7(e,t,n,r){var i=y=>y(g),a=[],o=r?r.slice():[],l={},u={},s,c,f,d,h,p,m,g;for(o.forEach((y,v)=>l[y]=v+1),d=0,m=e.length;d<m;++d)g=e[d],p=n(g),h=l[p]||(l[p]=o.push(p)),c=(s=t?t.map(i):n7)+"",(f=u[c])||(f=u[c]=[],a.push(f),f.values=s),f[h-1]=g;return a.domain=o,a}function Jp(e){Ei.call(this,e)}Jp.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:Ol},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},W(Jp,Ei,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,a=>n.add(a))):(i=n.value=n.value||this.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),n.changes(),t.visit(t.SOURCE,a=>{de(a,i[n.cellkey(a)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function Qp(e){$.call(this,null,e)}Qp.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"]}]},W(Qp,$,{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=qp(r,e.groupby,e.field),a=(e.groupby||[]).map(qe),o=e.bandwidth,l=e.cumulative?"cdf":"pdf",u=e.as||["value","density"],s=[],c=e.extent,f=e.steps||e.minsteps||25,d=e.steps||e.maxsteps||200;l!=="pdf"&&l!=="cdf"&&N("Invalid density method: "+l),e.resolve==="shared"&&(c||(c=or(r,e.field)),f=d=e.steps||d),i.forEach(h=>{let p=wp(h,o)[l],m=e.counts?h.length:1,g=c||or(h);Qs(p,g,f,d).forEach(y=>{let v={};for(let b=0;b<a.length;++b)v[a[b]]=h.dims[b];v[u[0]]=y[0],v[u[1]]=y[1]*m,s.push(xe(v))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});function V2(e){Be.call(this,null,o7,e)}W(V2,Be);function o7(e){return this.value&&!e.modified()?this.value:Oh(e.fields,e.flat)}function Y2(e){$.call(this,[],e),this._pending=null}W(Y2,$,{transform(e,t){let n=t.dataflow;return this._pending?Kp(this,t,this._pending):l7(e)?t.StopPropagation:e.values?Kp(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(r=>(this._pending=G(r.data),i=>i.touch(this)))}:n.request(e.url,e.format).then(r=>Kp(this,t,G(r.data)))}});function l7(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}function Kp(e,t,n){n.forEach(xe);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 Zp(e){$.call(this,{},e)}Zp.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}]},W(Zp,$,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),l=n.length,u=o?t.SOURCE:t.ADD,s=t,c=e.as,f,d,h;return i?(d=i.length,l>1&&!c&&N('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==l*d&&N('The "as" parameter has too few output field names.'),c||(c=i.map(qe)),f=function(p){for(var m=0,g=0,y,v;m<l;++m)if(v=r.get(n[m](p)),v==null)for(y=0;y<d;++y,++g)p[c[g]]=a;else for(y=0;y<d;++y,++g)p[c[g]]=i[y](v)}):(c||N("Missing output field names."),f=function(p){for(var m=0,g;m<l;++m)g=r.get(n[m](p)),p[c[m]]=g??a}),o?s=t.reflow(!0):(h=n.some(p=>t.modified(p.fields)),u|=h?t.MOD:0),t.visit(u,f),s.modifies(c)}});function X2(e){Be.call(this,null,u7,e)}W(X2,Be);function u7(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 J2(e){Be.call(this,null,s7,e)}W(J2,Be);function s7(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function Q2(e){$.call(this,null,e)}W(Q2,$,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function em(e){Ei.call(this,e)}em.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:Ol,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},W(em,Ei,{_transform:Ei.prototype.transform,transform(e,t){return this._transform(c7(e,t),t)}});function c7(e,t){let n=e.field,r=e.value,i=(e.op==="count"?"__count__":e.op)||"sum",a=Ct(n).concat(Ct(r)),o=d7(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(l=>f7(l,n,r,a)),as:o.map(l=>l+""),modified:e.modified.bind(e)}}function f7(e,t,n,r){return io(i=>t(i)===e?n(i):NaN,r,e+"")}function d7(e,t,n){let r={},i=[];return n.visit(n.SOURCE,a=>{let o=e(a);r[o]||(r[o]=1,i.push(o))}),i.sort($h),t?i.slice(0,t):i}function K2(e){Ks.call(this,e)}W(K2,Ks,{transform(e,t){let n=e.subflow,r=e.field,i=a=>this.subflow(ee(a),n,t,a);return(e.modified("field")||r&&t.modified(Ct(r)))&&N("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,a=>{let o=i(a);r(a).forEach(l=>o.mod(l))}),t.visit(t.ADD,a=>{let o=i(a);r(a).forEach(l=>o.add(xe(l)))}),t.visit(t.REM,a=>{let o=i(a);r(a).forEach(l=>o.rem(l))})):(t.visit(t.MOD,a=>i(a).mod(a)),t.visit(t.ADD,a=>i(a).add(a)),t.visit(t.REM,a=>i(a).rem(a))),t.clean()&&t.runAfter(()=>this.clean()),t}});function tm(e){$.call(this,null,e)}tm.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},W(tm,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=U2(e.fields,e.as||[]),a=r?(l,u)=>h7(l,u,r,i):qs,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,l=>{let u=ee(l);n.rem.push(o[u]),o[u]=null}),t.visit(t.ADD,l=>{let u=a(l,xe({}));o[ee(l)]=u,n.add.push(u)}),t.visit(t.MOD,l=>{n.mod.push(a(l,o[ee(l)]))}),n}});function h7(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function Z2(e){$.call(this,null,e)}W(Z2,$,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function nm(e){$.call(this,null,e)}nm.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};var p7=1e-14;W(nm,$,{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=qp(i,e.groupby,e.field),o=(e.groupby||[]).map(qe),l=[],u=e.step||.01,s=e.probs||an(u/2,1-p7,u),c=s.length;return a.forEach(f=>{let d=gp(f,s);for(let h=0;h<c;++h){let p={};for(let m=0;m<o.length;++m)p[o[m]]=f.dims[m];p[r[0]]=s[h],p[r[1]]=d[h],l.push(xe(p))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l,n}});function ew(e){$.call(this,null,e)}W(ew,$,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,i=>{let a=ee(i);n.rem.push(r[a]),r[a]=null}),t.visit(t.ADD,i=>{let a=dp(i);r[ee(i)]=a,n.add.push(a)}),t.visit(t.MOD,i=>{let a=r[ee(i)];for(let o in i)a[o]=i[o],n.modifies(o);n.mod.push(a)})),n}});function rm(e){$.call(this,[],e),this.count=0}rm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},W(rm,$,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((c,f)=>(c[ee(f)]=1,c),{}),o=this.value,l=this.count,u=0;function s(c){let f,d;o.length<i?o.push(c):(d=~~((l+1)*An()),d<o.length&&d>=u&&(f=o[d],a[ee(f)]&&n.rem.push(f),o[d]=c)),++l}if(t.rem.length&&(t.visit(t.REM,c=>{let f=ee(c);a[f]&&(a[f]=-1,n.rem.push(c)),--l}),o=o.filter(c=>a[ee(c)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(u=l=o.length,t.visit(t.SOURCE,c=>{a[ee(c)]||s(c)}),u=-1),r&&o.length>i){let c=o.length-i;for(let f=0;f<c;++f)a[ee(o[f])]=-1,n.rem.push(o[f]);o=o.slice(c)}return t.mod.length&&t.visit(t.MOD,c=>{a[ee(c)]&&n.mod.push(c)}),t.add.length&&t.visit(t.ADD,s),(t.add.length||u<0)&&(n.add=o.filter(c=>!a[ee(c)])),this.count=l,this.value=n.source=o,n}});function im(e){$.call(this,null,e)}im.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"}]},W(im,$,{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=an(e.start,e.stop,e.step||1).map(i=>{let a={};return a[r]=i,xe(a)}),n.add=t.add.concat(this.value),n}});function tw(e){$.call(this,null,e),this.modified(!0)}W(tw,$,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function am(e){$.call(this,null,e)}var nw=["unit0","unit1"];am.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:Db,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:nw}]},W(am,$,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone==="utc",a=this._floor(e,t),o=(i?Dh:Mh)(a.unit).offset,l=e.as||nw,u=l[0],s=l[1],c=a.step,f=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(Ct(n)))&&(t=t.reflow(!0),h=t.SOURCE,f=1/0,d=-1/0),t.visit(h,p=>{let m=n(p),g,y;m==null?(p[u]=null,r&&(p[s]=null)):(p[u]=g=y=a(m),r&&(p[s]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,t.modifies(r?l:u)},_floor(e,t){let n=e.timezone==="utc",{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:Eb({extent:e.extent||or(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=jb(r),o=this.value||{},l=(n?Ib:qb)(a,i);return l.unit=Ae(a),l.units=a,l.step=i,l.start=o.start,l.stop=o.stop,this.value=l}});function rw(e){$.call(this,ao(),e)}W(rw,$,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=l=>i.set(r(l),l),o=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,l=>i.delete(r(l))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function iw(e){$.call(this,null,e)}W(iw,$,{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(ga(e.sort)):t.source).map(e.field))}});function m7(e,t,n,r){let i=Nl[e](t,n);return{init:i.init||Sh,update:function(a,o){o[r]=i.next(a)}}}var Nl={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=Nl.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||N("ntile num must be greater than zero.");let n=Nl.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||N("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=g7(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function g7(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var y7=Object.keys(Nl);function aw(e){let t=G(e.ops),n=G(e.fields),r=G(e.params),i=G(e.aggregate_params),a=G(e.as),o=this.outputs=[],l=this.windows=[],u={},s={},c=[],f=[],d=!0;function h(p){G(Ct(p)).forEach(m=>u[m]=1)}h(e.sort),t.forEach((p,m)=>{let g=n[m],y=r[m],v=i[m]||null,b=qe(g),x=B2(p,b,a[m]);if(h(g),o.push(x),X(Nl,p))l.push(m7(p,g,y,x));else{if(g==null&&p!=="count"&&N("Null aggregate field specified."),p==="count"){c.push(x);return}d=!1;let w=s[b];w||(w=s[b]=[],w.field=g,f.push(w)),w.push(z2(p,v,x))}}),(c.length||f.length)&&(this.cell=v7(f,c,d)),this.inputs=Object.keys(u)}var ow=aw.prototype;ow.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},ow.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 v7(e,t,n){e=e.map(u=>N2(u,u.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var l=r.data=new Np;return r.add=function(u){if(r.num+=1,!n){l&&l.add(u);for(let s=0;s<i;++s)a[s].add(a[s].get(u),u)}},r.rem=function(u){if(--r.num,!n){l&&l.rem(u);for(let s=0;s<i;++s)a[s].rem(a[s].get(u),u)}},r.set=function(u){let s,c;for(l&&l.values(),s=0,c=t.length;s<c;++s)u[t[s]]=r.num;if(!n)for(s=0,c=a.length;s<c;++s)a[s].set(u)},r.init=function(){r.num=0,l&&l.reset();for(let u=0;u<i;++u)a[u].init()},r}function om(e){$.call(this,{},e),this._mlen=0,this._mods=[]}om.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:y7.concat(Ol)},{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}]},W(om,$,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=ga(e.sort),i=zp(e.groupby),a=l=>this.group(i(l)),o=this.state;(!o||n)&&(o=this.state=new aw(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,l=>a(l).add(l))):(t.visit(t.REM,l=>a(l).remove(l)),t.visit(t.ADD,l=>a(l).add(l)));for(let l=0,u=this._mlen;l<u;++l)b7(this._mods[l],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=R2(ee),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function b7(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],l=e.data(n),u=l.length,s=a?ox(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:l,compare:i||Et(-1)};t.init();for(let f=0;f<u;++f)x7(c,o,f,u),a&&w7(c,s),t.update(c,l[f])}function x7(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 w7(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 lw(e,t,n){var r=null,i=$t(!0),a=null,o=fx,l=null,u=cx(s);e=typeof e=="function"?e:e===void 0?WS:$t(+e),t=typeof t=="function"?t:$t(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?HS:$t(+n);function s(f){var d,h,p,m=(f=FS(f)).length,g,y=!1,v,b=Array(m),x=Array(m);for(a??(l=o(v=u())),d=0;d<=m;++d){if(!(d<m&&i(g=f[d],d,f))===y)if(y=!y)h=d,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=d-1;p>=h;--p)l.point(b[p],x[p]);l.lineEnd(),l.areaEnd()}y&&(b[d]=+e(g,d,f),x[d]=+t(g,d,f),l.point(r?+r(g,d,f):b[d],n?+n(g,d,f):x[d]))}if(v)return l=null,v+""||null}function c(){return dx().defined(i).curve(o).context(a)}return s.x=function(f){return arguments.length?(e=typeof f=="function"?f:$t(+f),r=null,s):e},s.x0=function(f){return arguments.length?(e=typeof f=="function"?f:$t(+f),s):e},s.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:$t(+f),s):r},s.y=function(f){return arguments.length?(t=typeof f=="function"?f:$t(+f),n=null,s):t},s.y0=function(f){return arguments.length?(t=typeof f=="function"?f:$t(+f),s):t},s.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:$t(+f),s):n},s.lineX0=s.lineY0=function(){return c().x(e).y(t)},s.lineY1=function(){return c().x(e).y(n)},s.lineX1=function(){return c().x(r).y(t)},s.defined=function(f){return arguments.length?(i=typeof f=="function"?f:$t(!!f),s):i},s.curve=function(f){return arguments.length?(o=f,a!=null&&(l=o(a)),s):o},s.context=function(f){return arguments.length?(f==null?a=l=null:l=o(a=f),s):a},s}var A7={draw(e,t){let n=AS(t/_S);e.moveTo(n,0),e.arc(0,0,n,0,kS)}};function k7(e,t){let n=null,r=cx(i);e=typeof e=="function"?e:$t(e||A7),t=typeof t=="function"?t:$t(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:$t(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:$t(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function $i(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 _7=()=>typeof Image<"u"?Image:null;function uw(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,lx),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return uw(e).unknown(t)},e=arguments.length?Array.from(e,lx):[0,1],oo(n)}function sw(e){return Math.log(e)}function cw(e){return Math.exp(e)}function D7(e){return-Math.log(-e)}function F7(e){return-Math.exp(-e)}function C7(e){return isFinite(e)?+("1e"+e):e<0?0:e}function E7(e){return e===10?C7:e===Math.E?Math.exp:t=>e**+t}function $7(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 fw(e){return(t,n)=>-e(-t,n)}function lm(e){let t=e(sw,cw),n=t.domain,r=10,i,a;function o(){return i=$7(r),a=E7(r),n()[0]<0?(i=fw(i),a=fw(a),e(D7,F7)):e(sw,cw),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{let u=n(),s=u[0],c=u[u.length-1],f=c<s;f&&([s,c]=[c,s]);let d=i(s),h=i(c),p,m,g=l==null?10:+l,y=[];if(!(r%1)&&h-d<g){if(d=Math.floor(d),h=Math.ceil(h),s>0){for(;d<=h;++d)for(p=1;p<r;++p)if(m=d<0?p/a(-d):p*a(d),!(m<s)){if(m>c)break;y.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(m<s)){if(m>c)break;y.push(m)}y.length*2<g&&(y=ax(s,c,g))}else y=ax(d,h,Math.min(h-d,g)).map(a);return f?y.reverse():y},t.tickFormat=(l,u)=>{if(l??(l=10),u??(u=r===10?"s":","),typeof u!="function"&&(!(r%1)&&(u=iS(u)).precision==null&&(u.trim=!0),u=aS(u)),l===1/0)return u;let s=Math.max(1,r*l/t.ticks().length);return c=>{let f=c/a(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=s?u(c):""}},t.nice=()=>n(nS(n(),{floor:l=>a(Math.floor(i(l))),ceil:l=>a(Math.ceil(i(l)))})),t}function dw(){let e=lm(Rh()).domain([1,10]);return e.copy=()=>Nh(e,dw()).base(e.base()),ca.apply(e,arguments),e}function hw(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function pw(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function um(e){var t=1,n=e(hw(t),pw(t));return n.constant=function(r){return arguments.length?e(hw(t=+r),pw(t)):t},oo(n)}function mw(){var e=um(Rh());return e.copy=function(){return Nh(e,mw()).constant(e.constant())},ca.apply(e,arguments)}function gw(e){return function(t){return t<0?-((-t)**+e):t**+e}}function S7(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function M7(e){return e<0?-e*e:e*e}function sm(e){var t=e(ui,ui),n=1;function r(){return n===1?e(ui,ui):n===.5?e(S7,M7):e(gw(n),gw(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},oo(t)}function cm(){var e=sm(Rh());return e.copy=function(){return Nh(e,cm()).exponent(e.exponent())},ca.apply(e,arguments),e}function B7(){return cm.apply(null,arguments).exponent(.5)}function yw(){var e=[],t=[],n=[],r;function i(){var o=0,l=Math.max(1,t.length);for(n=Array(l-1);++o<l;)n[o-1]=yx(e,o/l);return a}function a(o){return o==null||isNaN(o=+o)?r:t[bs(n,o)]}return a.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(xl),i()},a.range=function(o){return arguments.length?(t=Array.from(o),i()):t.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return yw().domain(e).range(t).unknown(r)},ca.apply(a,arguments)}function vw(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(u){return u!=null&&u<=u?i[bs(r,u,0,n)]:a}function l(){var u=-1;for(r=Array(n);++u<n;)r[u]=((u+1)*t-(u-n)*e)/(n+1);return o}return o.domain=function(u){return arguments.length?([e,t]=u,e=+e,t=+t,l()):[e,t]},o.range=function(u){return arguments.length?(n=(i=Array.from(u)).length-1,l()):i.slice()},o.invertExtent=function(u){var s=i.indexOf(u);return s<0?[NaN,NaN]:s<1?[e,r[0]]:s>=n?[r[n-1],t]:[r[s-1],r[s]]},o.unknown=function(u){return arguments.length&&(a=u),o},o.thresholds=function(){return r.slice()},o.copy=function(){return vw().domain([e,t]).range(i).unknown(a)},ca.apply(oo(o),arguments)}function bw(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[bs(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return bw().domain(e).range(t).unknown(n)},ca.apply(i,arguments)}function z7(){return ca.apply(rS(Z8,eS,dS,cS,uS,sS,oS,hS,lS,fS).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function ec(){var e=0,t=1,n,r,i,a,o=ui,l=!1,u;function s(f){return f==null||isNaN(f=+f)?u:o(i===0?.5:(f=(a(f)-n)*i,l?Math.max(0,Math.min(1,f)):f))}s.domain=function(f){return arguments.length?([e,t]=f,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),s):[e,t]},s.clamp=function(f){return arguments.length?(l=!!f,s):l},s.interpolator=function(f){return arguments.length?(o=f,s):o};function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,o=f(h,p),s):[o(0),o(1)]}}return s.range=c(jh),s.rangeRound=c(Lh),s.unknown=function(f){return arguments.length?(u=f,s):u},function(f){return a=f,n=f(e),r=f(t),i=n===r?0:1/(r-n),s}}function Si(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function fm(){var e=oo(ec()(ui));return e.copy=function(){return Si(e,fm())},si.apply(e,arguments)}function xw(){var e=lm(ec()).domain([1,10]);return e.copy=function(){return Si(e,xw()).base(e.base())},si.apply(e,arguments)}function ww(){var e=um(ec());return e.copy=function(){return Si(e,ww()).constant(e.constant())},si.apply(e,arguments)}function dm(){var e=sm(ec());return e.copy=function(){return Si(e,dm()).exponent(e.exponent())},si.apply(e,arguments)}function O7(){return dm.apply(null,arguments).exponent(.5)}function tc(){var e=0,t=.5,n=1,r=1,i,a,o,l,u,s=ui,c,f=!1,d;function h(m){return isNaN(m=+m)?d:(m=.5+((m=+c(m))-a)*(r*m<r*a?l:u),s(f?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([e,t,n]=m,i=c(e=+e),a=c(t=+t),o=c(n=+n),l=i===a?0:.5/(a-i),u=a===o?0:.5/(o-a),r=a<i?-1:1,h):[e,t,n]},h.clamp=function(m){return arguments.length?(f=!!m,h):f},h.interpolator=function(m){return arguments.length?(s=m,h):s};function p(m){return function(g){var y,v,b;return arguments.length?([y,v,b]=g,s=sx(m,[y,v,b]),h):[s(0),s(.5),s(1)]}}return h.range=p(jh),h.rangeRound=p(Lh),h.unknown=function(m){return arguments.length?(d=m,h):d},function(m){return c=m,i=m(e),a=m(t),o=m(n),l=i===a?0:.5/(a-i),u=a===o?0:.5/(o-a),r=a<i?-1:1,h}}function Aw(){var e=oo(tc()(ui));return e.copy=function(){return Si(e,Aw())},si.apply(e,arguments)}function kw(){var e=lm(tc()).domain([.1,1,10]);return e.copy=function(){return Si(e,kw()).base(e.base())},si.apply(e,arguments)}function _w(){var e=um(tc());return e.copy=function(){return Si(e,_w()).constant(e.constant())},si.apply(e,arguments)}function hm(){var e=sm(tc());return e.copy=function(){return Si(e,hm()).exponent(e.exponent())},si.apply(e,arguments)}function N7(){return hm.apply(null,arguments).exponent(.5)}var R7=lr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),T7=lr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),P7=lr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),j7=lr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),L7=lr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),q7=lr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),U7=lr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),I7=lr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),W7=lr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),H7=lr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function pm(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var G7="identity",nc="linear",mm="sqrt",gm="symlog",V7="time",Mi="sequential",xo="diverging",Rl="quantile",ym="quantize",Dw="threshold",Y7="ordinal",X7="point",J7="band",Q7="bin-ordinal",Je="continuous",Tl="discrete",Pl="discretizing",kn="interpolating",vm="temporal";function K7(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 Z7(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,l,u,s;for(i<r&&(l=r,r=i,i=l),u=0,s=n.length;u<s;++u)n[u]>=r&&n[u]<=i&&(a<0&&(a=u),o=u);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 bm(){let e=ux().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,l=0,u=0,s=.5;delete e.unknown;function c(){let f=t().length,d=r[1]<r[0],h=r[1-d],p=pm(f,l,u),m=r[d-0];i=(h-m)/(p||1),o&&(i=Math.floor(i)),m+=(h-m-i*(f-l))*s,a=i*(1-l),o&&(m=Math.round(m),a=Math.round(a));let g=an(f).map(y=>m+i*y);return n(d?g.reverse():g)}return e.domain=function(f){return arguments.length?(t(f),c()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],c()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],o=!0,c()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(f){return arguments.length?(o=!!f,c()):o},e.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),l=u,c()):l},e.paddingInner=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},e.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},e.align=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},e.invertRange=function(f){if(f[0]==null||f[1]==null)return;let d=r[1]<r[0],h=d?n().reverse():n(),p=h.length-1,m=+f[0],g=+f[1],y,v,b;if(!(m!==m||g!==g)&&(g<m&&(b=m,m=g,g=b),!(g<h[0]||m>r[1-d])))return y=Math.max(0,Th(h,m)-1),v=m===g?y:Th(h,g)-1,m-h[y]>a+1e-10&&++y,d&&(b=y,y=p-v,v=p-b),y>v?void 0:t().slice(y,v+1)},e.invert=function(f){let d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return bm().domain(t()).range(r).round(o).paddingInner(l).paddingOuter(u).align(s)},c()}function Fw(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return Fw(t())},e}function eM(){return Fw(bm().paddingInner(1))}var tM=Array.prototype.map;function nM(e){return tM.call(e,yn)}var rM=Array.prototype.slice;function Cw(){let e=[],t=[];function n(r){return r==null||r!==r?void 0:t[(bs(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=nM(r),n):e.slice()},n.range=function(r){return arguments.length?(t=rM.call(r),n):t.slice()},n.tickFormat=function(r,i){return J8(e[0],Ae(e),r??10,i)},n.copy=function(){return Cw().domain(n.domain()).range(n.range())},n}var rc=new Map,Ew=Symbol("vega_scale");function $w(e){return e[Ew]=!0,e}function Sw(e){return e&&e[Ew]===!0}function iM(e,t,n){let r=function(){let i=t();return i.invertRange||(i.invertRange=i.invert?K7(i):i.invertExtent?Z7(i):void 0),i.type=e,$w(i)};return r.metadata=ar(G(n)),r}function ge(e,t,n){return arguments.length>1?(rc.set(e,iM(e,t,n)),this):Mw(e)?rc.get(e):void 0}ge(G7,uw),ge(nc,Q8,Je),ge("log",dw,[Je,"log"]),ge("pow",cm,Je),ge(mm,B7,Je),ge(gm,mw,Je),ge(V7,tS,[Je,vm]),ge("utc",z7,[Je,vm]),ge(Mi,fm,[Je,kn]),ge(`${Mi}-${nc}`,fm,[Je,kn]),ge(`${Mi}-log`,xw,[Je,kn,"log"]),ge(`${Mi}-pow`,dm,[Je,kn]),ge(`${Mi}-${mm}`,O7,[Je,kn]),ge(`${Mi}-${gm}`,ww,[Je,kn]),ge(`${xo}-${nc}`,Aw,[Je,kn]),ge(`${xo}-log`,kw,[Je,kn,"log"]),ge(`${xo}-pow`,hm,[Je,kn]),ge(`${xo}-${mm}`,N7,[Je,kn]),ge(`${xo}-${gm}`,_w,[Je,kn]),ge(Rl,yw,[Pl,Rl]),ge(ym,vw,Pl),ge(Dw,bw,Pl),ge(Q7,Cw,[Tl,Pl]),ge(Y7,ux,Tl),ge(J7,bm,Tl),ge(X7,eM,Tl);function Mw(e){return rc.has(e)}function va(e,t){let n=rc.get(e);return n&&n.metadata[t]}function xm(e){return va(e,Je)}function wo(e){return va(e,Tl)}function wm(e){return va(e,Pl)}function Bw(e){return va(e,"log")}function aM(e){return va(e,vm)}function zw(e){return va(e,kn)}function Ow(e){return va(e,Rl)}var oM=["clamp","base","constant","exponent"];function Nw(e,t){let n=t[0],r=Ae(t)-n;return function(i){return e(n+i*r)}}function ic(e,t,n){return sx(Am(t||"rgb",n),e)}function Rw(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function Tw(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?Et(.5):(i=(a=e.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=ge(a)().domain([t,n]).range([0,1]),oM.forEach(l=>e[l]?o[l](e[l]()):0),o)}function Am(e,t){let n=yS[lM(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function lM(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}var uM={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"},sM={accent:T7,category10:R7,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:P7,observable10:j7,paired:L7,pastel1:q7,pastel2:U7,set1:I7,set2:W7,set3:H7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function Pw(e){if(B(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 jw(e,t){for(let n in e)km(n,t(e[n]))}var Lw={};jw(sM,Pw),jw(uM,e=>ic(Pw(e)));function km(e,t){return e&&(e=e.toLowerCase()),arguments.length>1?(Lw[e]=t,this):Lw[e]}var cM=e=>B(e)?e.map(t=>String(t)):String(e),fM=(e,t)=>e[1]-t[1],dM=(e,t)=>t[1]-e[1];function _m(e,t,n){let r;return be(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null&&(t=Math.min(t,Math.floor(vs(e.domain())/n||1)+1))),Y(t)&&(r=t.step,t=t.interval),V(t)&&(t=e.type==="time"?Mh(t):e.type=="utc"?Dh(t):N("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function qw(e,t,n){let r=e.range(),i=r[0],a=Ae(r),o=fM;if(i>a&&(r=a,a=i,i=r,o=dM),i=Math.floor(i),a=Math.ceil(a),t=t.map(l=>[l,e(l)]).filter(l=>i<=l[1]&&l[1]<=a).sort(o).map(l=>l[0]),n>0&&t.length>1){let l=[t[0],Ae(t)];for(;t.length>n&&t.length>=3;)t=t.filter((u,s)=>!(s%2));t.length<3&&(t=l)}return t}function Dm(e,t){return e.bins?qw(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function Uw(e,t,n,r,i,a){let o=t.type,l=cM;if(o==="time"||i==="time")l=e.timeFormat(r);else if(o==="utc"||i==="utc")l=e.utcFormat(r);else if(Bw(o)){let u=e.formatFloat(r);if(a||t.bins)l=u;else{let s=Iw(t,n,!1);l=c=>s(c)?u(c):""}}else if(t.tickFormat){let u=t.domain();l=e.formatSpan(u[0],u[u.length-1],n,r)}else r&&(l=e.format(r));return l}function Iw(e,t,n){let r=Dm(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),l=u=>{let s=u/i**+Math.round(Math.log(u)/a);return s*i<i-.5&&(s*=i),s<=o};return n?r.filter(l):l}var Fm={[Rl]:"quantiles",[ym]:"thresholds",[Dw]:"domain"},Ww={[Rl]:"quantiles",[ym]:"domain"};function Hw(e,t){return e.bins?mM(e.bins):e.type==="log"?Iw(e,t,!0):Fm[e.type]?pM(e[Fm[e.type]]()):Dm(e,t)}function hM(e,t,n){let r=t[Ww[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 pM(e){let t=[-1/0].concat(e);return t.max=1/0,t}function mM(e){let t=e.slice(0,-1);return t.max=Ae(e),t}var gM=e=>Fm[e.type]||e.bins;function Gw(e,t,n,r,i,a,o){let l=Ww[t.type]&&a!=="time"&&a!=="utc"?hM(e,t,i):Uw(e,t,n,i,a,o);return r==="symbol"&&gM(t)?yM(l):r==="discrete"?vM(l):bM(l)}var yM=e=>(t,n,r)=>{let i=Vw(r[n+1],Vw(r.max,1/0)),a=Yw(t,e),o=Yw(i,e);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Vw=(e,t)=>e??t,vM=e=>(t,n)=>n?e(t):null,bM=e=>t=>e(t),Yw=(e,t)=>Number.isFinite(e)?t(e):null;function xM(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+Ae(t),a=i-r;if(e.type==="threshold"){let o=n?a/n:.1;r-=o,i+=o,a=i-r}return o=>(o-r)/a}function wM(e,t,n,r){let i=r||t.type;return V(n)&&aM(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"):Gw(e,t,5,null,n,r,!0)}function Xw(e,t,n){n||(n={});let r=Math.max(3,n.maxlen||7),i=wM(e,t,n.format,n.formatType);if(wm(t.type)){let a=Hw(t).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}else if(wo(t.type)){let a=t.domain(),o=a.length,l=o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ");return`${o} value${o===1?"":"s"}: ${l}`}else{let a=t.domain();return`values from ${i(a[0])} to ${i(Ae(a))}`}}var Jw=0;function AM(){Jw=0}var ac="p_";function Cm(e){return e&&e.gradient}function Qw(e,t,n){let r=e.gradient,i=e.id,a=r==="radial"?ac:"";return i||(i=e.id="gradient_"+Jw++,r==="radial"?(e.x1=hr(e.x1,.5),e.y1=hr(e.y1,.5),e.r1=hr(e.r1,0),e.x2=hr(e.x2,.5),e.y2=hr(e.y2,.5),e.r2=hr(e.r2,.5),a=ac):(e.x1=hr(e.x1,0),e.y1=hr(e.y1,0),e.x2=hr(e.x2,1),e.y2=hr(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function hr(e,t){return e??t}function Kw(e,t){var n=[],r;return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,a){return n.push({offset:i,color:a}),r}}}var Zw={basis:{curve:CS},"basis-closed":{curve:BS},"basis-open":{curve:zS},bundle:{curve:RS,tension:"beta",value:.85},cardinal:{curve:jS,tension:"tension",value:0},"cardinal-open":{curve:SS,tension:"tension",value:0},"cardinal-closed":{curve:MS,tension:"tension",value:0},"catmull-rom":{curve:IS,tension:"alpha",value:.5},"catmull-rom-closed":{curve:NS,tension:"alpha",value:.5},"catmull-rom-open":{curve:$S,tension:"alpha",value:.5},linear:{curve:fx},"linear-closed":{curve:qS},monotone:{horizontal:PS,vertical:ES},natural:{curve:OS},step:{curve:LS},"step-after":{curve:US},"step-before":{curve:TS}};function Em(e,t,n){var r=X(Zw,e)&&Zw[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&n!=null&&(i=i[r.tension](n))),i}var kM={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},_M=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,DM=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,FM=/^((\s+,?\s*)|(,\s*))/,CM=/^[01]/;function Ao(e){let t=[];return(e.match(_M)||[]).forEach(n=>{let r=n[0],i=r.toLowerCase(),a=kM[i],o=EM(i,a,n.slice(1).trim()),l=o.length;if(l<a||l&&l%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([r,...o.slice(0,a)]),l!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<l;u+=a)t.push([r,...o.slice(u,u+a)])}}),t}function EM(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let o=e==="a"&&(a===3||a===4)?CM:DM,l=n.slice(i).match(o);if(l===null)throw Error("Invalid SVG path, incorrect parameter type");i+=l[0].length,r.push(+l[0]);let u=n.slice(i).match(FM);u!==null&&(i+=u[0].length)}return r}var Bi=Math.PI/180,$M=1e-14,ba=Math.PI/2,pr=Math.PI*2,ko=Math.sqrt(3)/2,$m={},Sm={},eA=[].join;function SM(e,t,n,r,i,a,o,l,u){let s=eA.call(arguments);if($m[s])return $m[s];let c=o*Bi,f=Math.sin(c),d=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let h=d*(l-e)*.5+f*(u-t)*.5,p=d*(u-t)*.5-f*(l-e)*.5,m=h*h/(n*n)+p*p/(r*r);m>1&&(m=Math.sqrt(m),n*=m,r*=m);let g=d/n,y=f/n,v=-f/r,b=d/r,x=g*l+y*u,w=v*l+b*u,k=g*e+y*t,A=v*e+b*t,_=1/((k-x)*(k-x)+(A-w)*(A-w))-.25;_<0&&(_=0);let D=Math.sqrt(_);a==i&&(D=-D);let F=.5*(x+k)-D*(A-w),C=.5*(w+A)+D*(k-x),z=Math.atan2(w-C,x-F),P=Math.atan2(A-C,k-F)-z;P<0&&a===1?P+=pr:P>0&&a===0&&(P-=pr);let U=Math.ceil(Math.abs(P/(ba+.001))),E=[];for(let O=0;O<U;++O){let J=z+O*P/U,oe=z+(O+1)*P/U;E[O]=[F,C,J,oe,n,r,f,d]}return $m[s]=E}function MM(e){let t=eA.call(e);if(Sm[t])return Sm[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],l=e[5],u=e[6],s=e[7];let c=s*o,f=-u*l,d=u*o,h=s*l,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),b=Math.sin(v*.5),x=8/3*b*b/Math.sin(v),w=n+p-x*m,k=r+m+x*p,A=n+g,_=r+y,D=A+x*y,F=_-x*g;return Sm[t]=[c*w+f*k,d*w+h*k,c*D+f*F,d*D+h*F,c*A+f*_,d*A+h*_]}var _n=["l",0,0,0,0,0,0,0];function BM(e,t,n){let r=_n[0]=e[0];if(r==="a"||r==="A")_n[1]=t*e[1],_n[2]=n*e[2],_n[3]=e[3],_n[4]=e[4],_n[5]=e[5],_n[6]=t*e[6],_n[7]=n*e[7];else if(r==="h"||r==="H")_n[1]=t*e[1];else if(r==="v"||r==="V")_n[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)_n[i]=(i%2==1?t:n)*e[i];return _n}function jl(e,t,n,r,i,a){var o,l=null,u=0,s=0,c=0,f=0,d,h,p,m,g=0,y=0;n??(n=0),r??(r=0),i??(i=1),a??(a=i),e.beginPath&&e.beginPath();for(var v=0,b=t.length;v<b;++v){switch(o=t[v],(i!==1||a!==1)&&(o=BM(o,i,a)),o[0]){case"l":u+=o[1],s+=o[2],e.lineTo(u+n,s+r);break;case"L":u=o[1],s=o[2],e.lineTo(u+n,s+r);break;case"h":u+=o[1],e.lineTo(u+n,s+r);break;case"H":u=o[1],e.lineTo(u+n,s+r);break;case"v":s+=o[1],e.lineTo(u+n,s+r);break;case"V":s=o[1],e.lineTo(u+n,s+r);break;case"m":u+=o[1],s+=o[2],g=u,y=s,e.moveTo(u+n,s+r);break;case"M":u=o[1],s=o[2],g=u,y=s,e.moveTo(u+n,s+r);break;case"c":d=u+o[5],h=s+o[6],c=u+o[3],f=s+o[4],e.bezierCurveTo(u+o[1]+n,s+o[2]+r,c+n,f+r,d+n,h+r),u=d,s=h;break;case"C":u=o[5],s=o[6],c=o[3],f=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,c+n,f+r,u+n,s+r);break;case"s":d=u+o[3],h=s+o[4],c=2*u-c,f=2*s-f,e.bezierCurveTo(c+n,f+r,u+o[1]+n,s+o[2]+r,d+n,h+r),c=u+o[1],f=s+o[2],u=d,s=h;break;case"S":d=o[3],h=o[4],c=2*u-c,f=2*s-f,e.bezierCurveTo(c+n,f+r,o[1]+n,o[2]+r,d+n,h+r),u=d,s=h,c=o[1],f=o[2];break;case"q":d=u+o[3],h=s+o[4],c=u+o[1],f=s+o[2],e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h;break;case"Q":d=o[3],h=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,d+n,h+r),u=d,s=h,c=o[1],f=o[2];break;case"t":d=u+o[1],h=s+o[2],l[0].match(/[QqTt]/)===null?(c=u,f=s):l[0]==="t"?(c=2*u-p,f=2*s-m):l[0]==="q"&&(c=2*u-c,f=2*s-f),p=c,m=f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h,c=u+o[1],f=s+o[2];break;case"T":d=o[1],h=o[2],c=2*u-c,f=2*s-f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),u=d,s=h;break;case"a":tA(e,u+n,s+r,[o[1],o[2],o[3],o[4],o[5],o[6]+u+n,o[7]+s+r]),u+=o[6],s+=o[7];break;case"A":tA(e,u+n,s+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),u=o[6],s=o[7];break;case"z":case"Z":u=g,s=y,e.closePath();break}l=o}}function tA(e,t,n,r){let i=SM(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let a=0;a<i.length;++a){let o=MM(i[a]);e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}var nA=.5773502691896257,rA={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,pr)}},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=ko*n,i=r-n*nA,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=ko*n,i=r-n*nA;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=ko*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=ko*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=ko*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=ko*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 iA(e){return X(rA,e)?rA[e]:zM(e)}var Mm={};function zM(e){if(!X(Mm,e)){let t=Ao(e);Mm[e]={draw:function(n,r){jl(n,t,0,0,Math.sqrt(r)/2)}}}return Mm[e]}var zi=.448084975506;function OM(e){return e.x}function NM(e){return e.y}function RM(e){return e.width}function TM(e){return e.height}function Ur(e){return typeof e=="function"?e:()=>+e}function oc(e,t,n){return Math.max(t,Math.min(e,n))}function aA(){var e=OM,t=NM,n=RM,r=TM,i=Ur(0),a=i,o=i,l=i,u=null;function s(c,f,d){var h,p=f??+e.call(this,c),m=d??+t.call(this,c),g=+n.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,b=oc(+i.call(this,c),0,v),x=oc(+a.call(this,c),0,v),w=oc(+o.call(this,c),0,v),k=oc(+l.call(this,c),0,v);if(u||(u=h=qh()),b<=0&&x<=0&&w<=0&&k<=0)u.rect(p,m,g,y);else{var A=p+g,_=m+y;u.moveTo(p+b,m),u.lineTo(A-x,m),u.bezierCurveTo(A-zi*x,m,A,m+zi*x,A,m+x),u.lineTo(A,_-k),u.bezierCurveTo(A,_-zi*k,A-zi*k,_,A-k,_),u.lineTo(p+w,_),u.bezierCurveTo(p+zi*w,_,p,_-zi*w,p,_-w),u.lineTo(p,m+b),u.bezierCurveTo(p,m+zi*b,p+zi*b,m,p+b,m),u.closePath()}if(h)return u=null,h+""||null}return s.x=function(c){return arguments.length?(e=Ur(c),s):e},s.y=function(c){return arguments.length?(t=Ur(c),s):t},s.width=function(c){return arguments.length?(n=Ur(c),s):n},s.height=function(c){return arguments.length?(r=Ur(c),s):r},s.cornerRadius=function(c,f,d,h){return arguments.length?(i=Ur(c),a=f==null?i:Ur(f),l=d==null?i:Ur(d),o=h==null?a:Ur(h),s):i},s.context=function(c){return arguments.length?(u=c??null,s):u},s}function oA(){var e,t,n,r,i=null,a,o,l,u;function s(f,d,h){let p=h/2;if(a){var m=l-d,g=f-o;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*u,b=(g/=y)*u,x=Math.atan2(g,m);i.moveTo(o-v,l-b),i.lineTo(f-m*p,d-g*p),i.arc(f,d,p,x-Math.PI,x),i.lineTo(o+v,l+b),i.arc(o,l,u,x,x+Math.PI)}else i.arc(f,d,p,0,pr);i.closePath()}else a=1;o=f,l=d,u=p}function c(f){var d,h=f.length,p,m=!1,g;for(i??(i=g=qh()),d=0;d<=h;++d)!(d<h&&r(p=f[d],d,f))===m&&(m=!m)&&(a=0),m&&s(+e(p,d,f),+t(p,d,f),+n(p,d,f));if(g)return i=null,g+""||null}return c.x=function(f){return arguments.length?(e=f,c):e},c.y=function(f){return arguments.length?(t=f,c):t},c.size=function(f){return arguments.length?(n=f,c):n},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(i=f??null,c):i},c}function Ll(e,t){return e??t}var ql=e=>e.x||0,Ul=e=>e.y||0,PM=e=>e.width||0,jM=e=>e.height||0,LM=e=>(e.x||0)+(e.width||0),qM=e=>(e.y||0)+(e.height||0),UM=e=>e.startAngle||0,IM=e=>e.endAngle||0,WM=e=>e.padAngle||0,HM=e=>e.innerRadius||0,GM=e=>e.outerRadius||0,VM=e=>e.cornerRadius||0,YM=e=>Ll(e.cornerRadiusTopLeft,e.cornerRadius)||0,XM=e=>Ll(e.cornerRadiusTopRight,e.cornerRadius)||0,JM=e=>Ll(e.cornerRadiusBottomRight,e.cornerRadius)||0,QM=e=>Ll(e.cornerRadiusBottomLeft,e.cornerRadius)||0,KM=e=>Ll(e.size,64),ZM=e=>e.size||1,lc=e=>e.defined!==!1,eB=e=>iA(e.shape||"circle"),tB=DS().startAngle(UM).endAngle(IM).padAngle(WM).innerRadius(HM).outerRadius(GM).cornerRadius(VM),nB=lw().x(ql).y1(Ul).y0(qM).defined(lc),rB=lw().y(Ul).x1(ql).x0(LM).defined(lc),iB=dx().x(ql).y(Ul).defined(lc),aB=aA().x(ql).y(Ul).width(PM).height(jM).cornerRadius(YM,XM,JM,QM),oB=k7().type(eB).size(KM),lB=oA().x(ql).y(Ul).defined(lc).size(ZM);function Bm(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function uB(e,t){return tB.context(e)(t)}function sB(e,t){let n=t[0],r=n.interpolate||"linear";return(n.orient==="horizontal"?rB:nB).curve(Em(r,n.orient,n.tension)).context(e)(t)}function cB(e,t){let n=t[0],r=n.interpolate||"linear";return iB.curve(Em(r,n.orient,n.tension)).context(e)(t)}function _o(e,t,n,r){return aB.context(e)(t,n,r)}function fB(e,t){return(t.mark.shape||t.shape).context(e)(t)}function dB(e,t){return oB.context(e)(t)}function hB(e,t){return lB.context(e)(t)}var lA=1;function uA(){lA=1}function zm(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+lA++),o=i.clipping[a]||(i.clipping[a]={id:a});return fe(r)?o.path=r(null):Bm(n)?o.path=_o(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function Xe(e){this.clear(),e&&this.union(e)}Xe.prototype={clone(){return new Xe(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,l=Math.cos(e),u=Math.sin(e),s=t-t*l+n*u,c=n-t*u-n*l;return[l*r-u*i+s,u*r+l*i+c,l*r-u*o+s,u*r+l*o+c,l*a-u*i+s,u*a+l*i+c,l*a-u*o+s,u*a+l*o+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function uc(e){this.mark=e,this.bounds=this.bounds||new Xe}function sc(e){uc.call(this,e),this.items=this.items||[]}W(sc,uc);var sA=class{constructor(e){this._pending=0,this._loader=e||ms()}pending(){return this._pending}sanitizeURL(e){let t=this;return cA(t),t._loader.sanitize(e,{context:"href"}).then(n=>(Il(t),n)).catch(()=>(Il(t),null))}loadImage(e){let t=this,n=_7();return cA(t),t._loader.sanitize(e,{context:"image"}).then(r=>{let i=r.href;if(!i||!n)throw{url:i};let a=new n,o=X(r,"crossOrigin")?r.crossOrigin:"anonymous";return o!=null&&(a.crossOrigin=o),a.onload=()=>Il(t),a.onerror=()=>Il(t),a.src=i,a}).catch(r=>(Il(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function cA(e){e._pending+=1}function Il(e){--e._pending}function Ir(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?pB(t,r):0))}return e}function pB(e,t){return e.strokeJoin&&e.strokeJoin!=="miter"?0:t}var mB=pr-1e-8,cc,fc,dc,xa,Om,hc,Nm,Rm,Oi=(e,t)=>cc.add(e,t),pc=(e,t)=>Oi(fc=e,dc=t),fA=e=>Oi(e,cc.y1),dA=e=>Oi(cc.x1,e),wa=(e,t)=>Om*e+Nm*t,Aa=(e,t)=>hc*e+Rm*t,Tm=(e,t)=>Oi(wa(e,t),Aa(e,t)),Pm=(e,t)=>pc(wa(e,t),Aa(e,t));function Wl(e,t){return cc=e,t?(xa=t*Bi,Om=Rm=Math.cos(xa),hc=Math.sin(xa),Nm=-hc):(Om=Rm=1,xa=hc=Nm=0),gB}var gB={beginPath(){},closePath(){},moveTo:Pm,lineTo:Pm,rect(e,t,n,r){xa?(Tm(e+n,t),Tm(e+n,t+r),Tm(e,t+r),Pm(e,t)):(Oi(e+n,t+r),pc(e,t))},quadraticCurveTo(e,t,n,r){let i=wa(e,t),a=Aa(e,t),o=wa(n,r),l=Aa(n,r);hA(fc,i,o,fA),hA(dc,a,l,dA),pc(o,l)},bezierCurveTo(e,t,n,r,i,a){let o=wa(e,t),l=Aa(e,t),u=wa(n,r),s=Aa(n,r),c=wa(i,a),f=Aa(i,a);pA(fc,o,u,c,fA),pA(dc,l,s,f,dA),pc(c,f)},arc(e,t,n,r,i,a){if(r+=xa,i+=xa,fc=n*Math.cos(i)+e,dc=n*Math.sin(i)+t,Math.abs(i-r)>mB)Oi(e-n,t-n),Oi(e+n,t+n);else{let o=s=>Oi(n*Math.cos(s)+e,n*Math.sin(s)+t),l,u;if(o(r),o(i),i!==r)if(r%=pr,r<0&&(r+=pr),i%=pr,i<0&&(i+=pr),i<r&&(a=!a,l=r,r=i,i=l),a)for(i-=pr,l=r-r%ba,u=0;u<4&&l>i;++u,l-=ba)o(l);else for(l=r-r%ba+ba,u=0;u<4&&l<i;++u,l+=ba)o(l)}}};function hA(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function pA(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,l=e-t,u=0,s=0,c;Math.abs(a)>$M?(c=o*o+l*a,c>=0&&(c=Math.sqrt(c),u=(-o+c)/a,s=(-o-c)/a)):u=.5*l/o,0<u&&u<1&&i(mA(u,e,t,n,r)),0<s&&s<1&&i(mA(s,e,t,n,r))}function mA(e,t,n,r,i){let a=1-e,o=a*a,l=e*e;return o*a*t+3*o*e*n+3*a*l*r+l*e*i}var Ni=(Ni=$i(1,1))?Ni.getContext("2d"):null,jm=new Xe;function Lm(e){return function(t,n){if(!Ni)return!0;e(Ni,t),jm.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=jm;for(let l=i;l<=o;++l)for(let u=r;u<=a;++u)if(Ni.isPointInPath(u,l))return!0;return!1}}function qm(e,t){return t.contains(e.x||0,e.y||0)}function gA(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(jm.set(n,r,n+i,r+a))}function yA(e,t){let n=e.x||0,r=e.y||0,i=e.x2==null?n:e.x2,a=e.y2==null?r:e.y2;return Do(t,n,r,i,a)}function Do(e,t,n,r,i){let{x1:a,y1:o,x2:l,y2:u}=e,s=r-t,c=i-n,f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0&&(h=-s,p=-(a-t)),g===1&&(h=s,p=l-t),g===2&&(h=-c,p=-(o-n)),g===3&&(h=c,p=u-n),Math.abs(h)<1e-10&&p<0)return!1;if(m=p/h,h<0){if(m>d)return!1;m>f&&(f=m)}else if(h>0){if(m<f)return!1;m<d&&(d=m)}}return!0}function Fo(e,t){e.globalCompositeOperation=t.blend||"source-over"}function Pn(e,t){return e??t}function vA(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function yB(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient==="radial")a=e.createRadialGradient(n.x1+Pn(t.x1,.5)*r,n.y1+Pn(t.y1,.5)*i,Math.max(r,i)*Pn(t.r1,0),n.x1+Pn(t.x2,.5)*r,n.y1+Pn(t.y2,.5)*i,Math.max(r,i)*Pn(t.r2,.5));else{let o=Pn(t.x1,0),l=Pn(t.y1,0),u=Pn(t.x2,1),s=Pn(t.y2,0);if(o===u||l===s||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+l*i,n.x1+u*r,n.y1+s*i);else{let c=$i(Math.ceil(r),Math.ceil(i)),f=c.getContext("2d");return f.scale(r,i),f.fillStyle=vA(f.createLinearGradient(o,l,u,s),t.stops),f.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}}return vA(a,t.stops)}function bA(e,t,n){return Cm(n)?yB(e,n,t.bounds):n}function mc(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0?(e.globalAlpha=n,e.fillStyle=bA(e,t,t.fill),!0):!1}var vB=[];function Co(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=bA(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||vB),e.lineDashOffset=t.strokeDashOffset||0),!0):!1)}function bB(e,t){return e.zindex-t.zindex||e.index-t.index}function Um(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(bB)}function jn(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Um(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 gc(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Um(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 Im(e){return function(t,n,r){jn(n,i=>{(!r||r.intersects(i.bounds))&&xA(e,t,i,i)})}}function xB(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&xA(e,t,n.items[0],n.items)}}function xA(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Fo(t,n),n.fill&&mc(t,n,i)&&t.fill(),n.stroke&&Co(t,n,i)&&t.stroke()))}function yc(e){return e||(e=bn),function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,gc(n,l=>{let u=l.bounds;if(!(u&&!u.contains(a,o)||!u)&&e(t,l,r,i,a,o))return l})}}function Hl(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,l=t??o.fill,u=o.stroke&&n.isPointInStroke,s,c;return u&&(s=o.strokeWidth,c=o.strokeCap,n.lineWidth=s??1,n.lineCap=c??"butt"),e(n,r)?!1:l&&n.isPointInPath(i,a)||u&&n.isPointInStroke(i,a)}}function Wm(e){return yc(Hl(e))}function ka(e,t){return"translate("+e+","+t+")"}function Hm(e){return"rotate("+e+")"}function wB(e,t){return"scale("+e+","+t+")"}function wA(e){return ka(e.x||0,e.y||0)}function AB(e){return ka(e.x||0,e.y||0)+(e.angle?" "+Hm(e.angle):"")}function kB(e){return ka(e.x||0,e.y||0)+(e.angle?" "+Hm(e.angle):"")+(e.scaleX||e.scaleY?" "+wB(e.scaleX||1,e.scaleY||1):"")}function Gm(e,t,n){function r(o,l){o("transform",AB(l)),o("d",t(null,l))}function i(o,l){return t(Wl(o,l.angle),l),Ir(o,l).translate(l.x||0,l.y||0)}function a(o,l){var u=l.x||0,s=l.y||0,c=l.angle||0;o.translate(u,s),c&&o.rotate(c*=Bi),o.beginPath(),t(o,l),c&&o.rotate(-c),o.translate(-u,-s)}return{type:e,tag:"path",nested:!1,attr:r,bound:i,draw:Im(a),pick:Wm(a),isect:n||Lm(a)}}var _B=Gm("arc",uB);function DB(e,t){for(var n=e[0].orient==="horizontal"?t[1]:t[0],r=e[0].orient==="horizontal"?"y":"x",i=e.length,a=1/0,o,l;--i>=0;)e[i].defined!==!1&&(l=Math.abs(e[i][r]-n),l<a&&(a=l,o=e[i]));return o}function FB(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 CB(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 Vm(e,t,n){function r(u,s){var c=s.mark.items;c.length&&u("d",t(null,c))}function i(u,s){var c=s.items;return c.length===0?u:(t(Wl(u),c),Ir(u,c[0]))}function a(u,s){u.beginPath(),t(u,s)}let o=Hl(a);function l(u,s,c,f,d,h){var p=s.items,m=s.bounds;return!p||!p.length||m&&!m.contains(d,h)?null:(c*=u.pixelRatio,f*=u.pixelRatio,o(u,p,c,f)?p[0]:null)}return{type:e,tag:"path",nested:!0,attr:r,bound:i,draw:xB(a),pick:l,isect:qm,tip:n}}var EB=Vm("area",sB,DB);function $B(e,t){var n=t.clip;e.save(),fe(n)?(e.beginPath(),n(e),e.clip()):AA(e,t.group)}function AA(e,t){e.beginPath(),Bm(t)?_o(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function kA(e){let t=Pn(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function SB(e,t){e("transform",wA(t))}function _A(e,t){let n=kA(t);e("d",_o(null,t,n,n))}function MB(e,t){e("class","background"),e("aria-hidden",!0),_A(e,t)}function BB(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?_A(e,t):e("d","")}function zB(e,t,n){let r=t.clip?zm(n,t,t):null;e("clip-path",r)}function OB(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let i=0;i<r;++i)e.union(n[i].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ir(e,t),e.translate(t.x||0,t.y||0)}function Gl(e,t,n,r){let i=kA(t);e.beginPath(),_o(e,t,(n||0)+i,(r||0)+i)}var NB=Hl(Gl),RB=Hl(Gl,!1),TB=Hl(Gl,!0);function PB(e,t,n,r){jn(t,i=>{let a=i.x||0,o=i.y||0,l=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(Gl(e,i,a,o),Fo(e,i),i.fill&&mc(e,i,u)&&e.fill(),i.stroke&&!l&&Co(e,i,u)&&e.stroke()),e.save(),e.translate(a,o),i.clip&&AA(e,i),n&&n.translate(-a,-o),jn(i,s=>{(s.marktype==="group"||r==null||r.includes(s.marktype))&&this.draw(e,s,n,r)}),n&&n.translate(a,o),e.restore(),l&&i.stroke&&u&&(Gl(e,i,a,o),Fo(e,i),Co(e,i,u)&&e.stroke())})}function jB(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,l=r*e.pixelRatio;return gc(t,u=>{let s,c,f,d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;let h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(e.save(),e.translate(c,f),c=i-c,f=a-f,m&&Bm(u)&&!TB(e,u,o,l))return e.restore(),null;let g=u.strokeForeground,y=t.interactive!==!1;return y&&g&&u.stroke&&RB(e,u,o,l)?(e.restore(),u):(s=gc(u,v=>LB(v,c,f)?this.pick(v,n,r,c,f):null),!s&&y&&(u.fill||!g&&u.stroke)&&NB(e,u,o,l)&&(s=u),e.restore(),s||null)})}function LB(e,t,n){return(e.interactive!==!1||e.marktype==="group")&&e.bounds&&e.bounds.contains(t,n)}var qB={type:"group",tag:"g",nested:!1,attr:SB,bound:OB,draw:PB,pick:jB,isect:gA,content:zB,background:MB,foreground:BB},Vl={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function Ym(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function Xm(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 Jm(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 vc(e,t){return e==="center"?t/2:e==="right"?t:0}function bc(e,t){return e==="middle"?t/2:e==="bottom"?t:0}function UB(e,t,n){let r=Ym(t,n),i=Xm(t,r),a=Jm(t,r),o=(t.x||0)-vc(t.align,i),l=(t.y||0)-bc(t.baseline,a),u=!r.src&&r.toDataURL?r.toDataURL():r.src||"";e("href",u,Vl["xmlns:xlink"],"xlink:href"),e("transform",ka(o,l)),e("width",i),e("height",a),e("preserveAspectRatio",t.aspect===!1?"none":"xMidYMid")}function IB(e,t){let n=t.image,r=Xm(t,n),i=Jm(t,n),a=(t.x||0)-vc(t.align,r),o=(t.y||0)-bc(t.baseline,i);return e.set(a,o,a+r,o+i)}function WB(e,t,n){jn(t,r=>{if(n&&!n.intersects(r.bounds))return;let i=Ym(r,this),a=Xm(r,i),o=Jm(r,i);if(a===0||o===0)return;let l=(r.x||0)-vc(r.align,a),u=(r.y||0)-bc(r.baseline,o),s,c,f;r.aspect!==!1&&(s=i.width/i.height,c=r.width/r.height,s===s&&c===c&&s!==c&&(c<s?(f=a/s,u+=(o-f)/2,o=f):(f=o*s,l+=(a-f)/2,a=f))),(i.complete||i.toDataURL)&&(Fo(e,r),e.globalAlpha=r.opacity??1,e.imageSmoothingEnabled=r.smooth!==!1,e.drawImage(i,l,u,a,o))})}var HB={type:"image",tag:"image",nested:!1,attr:UB,bound:IB,draw:WB,pick:yc(),isect:bn,get:Ym,xOffset:vc,yOffset:bc},GB=Vm("line",cB,FB);function VB(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e("vector-effect","non-scaling-stroke"),e("transform",kB(t)),e("d",t.path)}function xc(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,l=(t.angle||0)*Bi,u=t.pathCache;(!u||u.path!==n)&&((t.pathCache=u=Ao(n)).path=n),l&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(l),jl(e,u,0,0,a,o),e.rotate(-l),e.translate(-r,-i)):jl(e,u,r,i,a,o)}function YB(e,t){return xc(Wl(e,t.angle),t)?e.set(0,0,0,0):Ir(e,t,!0)}var XB={type:"path",tag:"path",nested:!1,attr:VB,bound:YB,draw:Im(xc),pick:Wm(xc),isect:Lm(xc)};function JB(e,t){e("d",_o(null,t))}function QB(e,t){var n,r;return Ir(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function DA(e,t){e.beginPath(),_o(e,t)}var KB={type:"rect",tag:"path",nested:!1,attr:JB,bound:QB,draw:Im(DA),pick:Wm(DA),isect:gA};function ZB(e,t){e("transform",wA(t)),e("x2",t.x2==null?0:t.x2-(t.x||0)),e("y2",t.y2==null?0:t.y2-(t.y||0))}function ez(e,t){var n,r;return Ir(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function FA(e,t,n){var r,i,a,o;return t.stroke&&Co(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 tz(e,t,n){jn(t,r=>{if(!(n&&!n.intersects(r.bounds))){var i=r.opacity==null?1:r.opacity;i&&FA(e,r,i)&&(Fo(e,r),e.stroke())}})}function nz(e,t,n,r){return e.isPointInStroke?FA(e,t,1)&&e.isPointInStroke(n,r):!1}var rz={type:"rule",tag:"line",nested:!1,attr:ZB,bound:ez,draw:tz,pick:yc(nz),isect:yA},iz=Gm("shape",fB),az=Gm("symbol",dB,qm),CA=Cb(),un={height:mr,measureWidth:Qm,estimateWidth:wc,width:wc,canvas:EA};EA(!0);function EA(e){un.width=e&&Ni?Qm:wc}function wc(e,t){return $A(Ti(e,t),mr(e))}function $A(e,t){return~~(.8*e.length*t)}function Qm(e,t){return mr(e)<=0||!(t=Ti(e,t))?0:SA(t,Ac(e))}function SA(e,t){let n=`(${t}) ${e}`,r=CA.get(n);return r===void 0&&(Ni.font=t,r=Ni.measureText(e).width,CA.set(n,r)),r}function mr(e){return e.fontSize==null?11:+e.fontSize||0}function Ri(e){return e.lineHeight==null?mr(e)+2:e.lineHeight}function oz(e){return B(e)?e.length>1?e:e[0]:e}function Yl(e){return oz(e.lineBreak&&e.text&&!B(e.text)?e.text.split(e.lineBreak):e.text)}function Km(e){let t=Yl(e);return(B(t)?t.length-1:0)*Ri(e)}function Ti(e,t){let n=t==null?"":(t+"").trim();return e.limit>0&&n.length?uz(e,n):n}function lz(e){if(un.width===Qm){let t=Ac(e);return n=>SA(n,t)}else if(un.width===wc){let t=mr(e);return n=>$A(n,t)}else return t=>un.width(e,t)}function uz(e,t){var n=+e.limit,r=lz(e);if(r(t)<n)return t;var i=e.ellipsis||"\u2026",a=e.dir==="rtl",o=0,l=t.length,u;if(n-=r(i),a){for(;o<l;)u=o+l>>>1,r(t.slice(u))>n?o=u+1:l=u;return i+t.slice(o)}else{for(;o<l;)u=1+(o+l>>>1),r(t.slice(0,u))<n?o=u:l=u-1;return t.slice(0,o)+i}}function Xl(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function Ac(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+mr(e)+"px "+Xl(e,t)}function Zm(e){var t=e.baseline,n=mr(e);return Math.round(t==="top"?.79*n:t==="middle"?.3*n:t==="bottom"?-.21*n:t==="line-top"?.29*n+.5*Ri(e):t==="line-bottom"?.29*n-.5*Ri(e):0)}var sz={left:"start",center:"middle",right:"end"},Jl=new Xe;function kc(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-ba,t+=r*Math.cos(i),n+=r*Math.sin(i)),Jl.x1=t,Jl.y1=n,Jl}function cz(e,t){var n=t.dx||0,r=(t.dy||0)+Zm(t),i=kc(t),a=i.x1,o=i.y1,l=t.angle||0,u;e("text-anchor",sz[t.align]||"start"),l?(u=ka(a,o)+" "+Hm(l),(n||r)&&(u+=" "+ka(n,r))):u=ka(a+n,o+r),e("transform",u)}function e0(e,t,n){var r=un.height(t),i=t.align,a=kc(t),o=a.x1,l=a.y1,u=t.dx||0,s=(t.dy||0)+Zm(t)-Math.round(.8*r),c=Yl(t),f;if(B(c)?(r+=Ri(t)*(c.length-1),f=c.reduce((d,h)=>Math.max(d,un.width(t,h)),0)):f=un.width(t,c),i==="center"?u-=f/2:i==="right"&&(u-=f),e.set(u+=o,s+=l,u+f,s+r),t.angle&&!n)e.rotate(t.angle*Bi,o,l);else if(n===2)return e.rotatedPoints(t.angle*Bi,o,l);return e}function fz(e,t,n){jn(t,r=>{var i=r.opacity==null?1:r.opacity,a,o,l,u,s,c,f;if(!(n&&!n.intersects(r.bounds)||i===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(e.font=Ac(r),e.textAlign=r.align||"left",a=kc(r),o=a.x1,l=a.y1,r.angle&&(e.save(),e.translate(o,l),e.rotate(r.angle*Bi),o=l=0),o+=r.dx||0,l+=(r.dy||0)+Zm(r),c=Yl(r),Fo(e,r),B(c))for(s=Ri(r),u=0;u<c.length;++u)f=Ti(r,c[u]),r.fill&&mc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Co(e,r,i)&&e.strokeText(f,o,l),l+=s;else f=Ti(r,c),r.fill&&mc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Co(e,r,i)&&e.strokeText(f,o,l);r.angle&&e.restore()}})}function dz(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=kc(t),l=o.x1,u=o.y1,s=e0(Jl,t,1),c=-t.angle*Bi,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(l-f*l+d*u),p=d*i+f*a+(u-d*l-f*u);return s.contains(h,p)}function hz(e,t){let n=e0(Jl,e,2);return Do(t,n[0],n[1],n[2],n[3])||Do(t,n[0],n[1],n[4],n[5])||Do(t,n[4],n[5],n[6],n[7])||Do(t,n[2],n[3],n[6],n[7])}var pz={type:"text",tag:"text",nested:!1,attr:cz,bound:e0,draw:fz,pick:yc(dz),isect:hz},mz=Vm("trail",hB,CB),sn={arc:_B,area:EB,group:qB,image:HB,line:GB,path:XB,rect:KB,rule:rz,shape:iz,symbol:az,text:pz,trail:mz};function t0(e,t,n){var r=sn[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new Xe),e,n)}var MA={mark:null};function BA(e,t,n){var r=sn[e.marktype],i=r.bound,a=e.items,o=a&&a.length,l,u,s,c;if(r.nested)return o?s=a[0]:(MA.mark=e,s=MA),c=t0(s,i,n),t=t&&t.union(c)||c,t;if(t=t||e.bounds&&e.bounds.clear()||new Xe,o)for(l=0,u=a.length;l<u;++l)t.union(t0(a[l],i,n));return e.bounds=t}var gz="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 zA(e,t){return JSON.stringify(e,gz,t)}function OA(e){let t=typeof e=="string"?JSON.parse(e):e;return NA(t)}function NA(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"&&NA(n[i]);return t&&BA(e),e}var RA=class{constructor(e){arguments.length?this.root=OA(e):(this.root=TA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new sc(this.root)])}toJSON(e){return zA(this.root,e||0)}mark(e,t,n){t||(t=this.root.items[0]);let r=TA(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function TA(e,t){let n={bounds:new Xe,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 Pi(e,t,n){return!e&&typeof document<"u"&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function n0(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 Qe(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Pi(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function Dn(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function PA(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function _c(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function yz(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=sn[i.marktype]).tip){for(o=_c(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 r0=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||ms(),this._tooltip=t||vz}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let r in t)n.push(...t[r]);return n}eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(r=>{let i=new MouseEvent(e.type,e),a=Pi(null,"a");for(let o in r)a.setAttribute(o,r[o]);a.dispatchEvent(i)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=yz(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),l=i.x1+r[0]+n.left,u=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,u+=e.y||0;return{x:l,y:u,width:a,height:o,left:l,top:u,right:l+a,bottom:u+o}}};function vz(e,t,n,r){e.element().setAttribute("title",r||"")}var Ql=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new sA(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let i=n._call;n._ready=n._loader.ready().then(a=>{a&&i(),n._ready=null})}return r}sanitizeURL(e){return this._load("sanitizeURL",e)}loadImage(e){return this._load("loadImage",e)}},bz="keydown",xz="keypress",wz="keyup",jA="dragenter",Dc="dragleave",LA="dragover",i0="pointerdown",Az="pointerup",Fc="pointermove",Cc="pointerout",qA="pointerover",a0="mousedown",kz="mouseup",UA="mousemove",Ec="mouseout",IA="mouseover",$c="click",_z="dblclick",Dz="wheel",WA="mousewheel",Sc="touchstart",Mc="touchmove",Bc="touchend",Fz=[bz,xz,wz,jA,Dc,LA,i0,Az,Fc,Cc,qA,a0,kz,UA,Ec,IA,$c,_z,Dz,WA,Sc,Mc,Bc],o0=Fc,Kl=Ec,l0=$c,Zl=class extends r0{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Fz,this.pointermove=GA([Fc,UA],[qA,IA],[Cc,Ec]),this.dragover=GA([LA],[jA],[Dc]),this.pointerout=VA([Cc,Ec]),this.dragleave=VA([Dc])}initialize(e,t,n){return this._canvas=e&&n0(e,"canvas"),[$c,a0,i0,Fc,Cc,Dc].forEach(r=>HA(this,r)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(e){this.fire(WA,e)}pointerdown(e){this._down=this._active,this.fire(i0,e)}mousedown(e){this._down=this._active,this.fire(a0,e)}click(e){this._down===this._active&&(this.fire($c,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._first=(this._active=this._touch,!1)),this.fire(Sc,e,!0)}touchmove(e){this.fire(Mc,e,!0)}touchend(e){this.fire(Bc,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===l0&&r&&r.href?this.handleHref(t,r,r.href):(e===o0||e===Kl)&&this.handleTooltip(t,r,e!==Kl),i)for(let a=0,o=i.length;a<o;++a)i[a].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(HA(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=_c(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 sn[e.marktype].pick.call(this,a,e,t,n,r,i)}},Cz=e=>e===Sc||e===Mc||e===Bc?[Sc,Mc,Bc]:[e];function HA(e,t){Cz(t).forEach(n=>Ez(e,n))}function Ez(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}function eu(e,t,n){t.forEach(r=>e.fire(r,n))}function GA(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?eu(this,e,r):((!i||!i.exit)&&eu(this,n,r),this._active=a,eu(this,t,r),eu(this,e,r))}}function VA(e){return function(t){eu(this,e,t),this._active=null}}function $z(){return typeof window<"u"&&window.devicePixelRatio||1}function Sz(e,t,n,r,i,a){let o=typeof HTMLElement<"u"&&e instanceof HTMLElement&&e.parentNode!=null,l=e.getContext("2d"),u=o?$z():i;for(let s in e.width=t*u,e.height=n*u,a)l[s]=a[s];return o&&u!==1&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=u,l.setTransform(u,0,0,u,u*r[0],u*r[1]),e}var zc=class extends Ql{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new Xe,this._tempb=new Xe}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:$i(1,1,this._options.type),e&&this._canvas&&(Dn(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)Sz(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let i=this._options.externalContext;i||N("CanvasRenderer is missing a valid canvas or context"),i.scale(this._scale,this._scale),i.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,l=Mz(r,i,a);n.save();let u=this._redraw||o.empty()?(this._redraw=!1,l.expand(1)):Bz(n,l.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,u,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!=="group"&&r!=null&&!r.includes(t.marktype))return;let i=sn[t.marktype];t.clip&&$B(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))}},Mz=(e,t,n)=>new Xe().set(0,0,t,n).translate(-e[0],-e[1]);function Bz(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 YA=class extends r0{constructor(e,t){super(e,t);let n=this;n._hrefHandler=u0(n,(r,i)=>{i&&i.href&&n.handleHref(r,i,i.href)}),n._tooltipHandler=u0(n,(r,i)=>{n.handleTooltip(r,i,r.type!==Kl)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(l0,this._hrefHandler),r.removeEventListener(o0,this._tooltipHandler),r.removeEventListener(Kl,this._tooltipHandler)),this._svg=r=e&&n0(e,"svg"),r&&(r.addEventListener(l0,this._hrefHandler),r.addEventListener(o0,this._tooltipHandler),r.addEventListener(Kl,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:u0(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}},u0=(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)},XA="aria-hidden",s0="aria-label",c0="role",f0="aria-roledescription",JA="graphics-object",d0="graphics-symbol",QA=(e,t,n)=>({[c0]:e,[f0]:t,[s0]:n||void 0}),zz=ar(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),KA={axis:{desc:"axis",caption:Rz},legend:{desc:"legend",caption:Tz},"title-text":{desc:"title",caption:e=>`Title text '${nk(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${nk(e)}'`}},ZA={ariaRole:c0,ariaRoleDescription:f0,description:s0};function ek(e,t){let n=t.aria===!1;if(e(XA,n||void 0),n||t.description==null)for(let r in ZA)e(ZA[r],void 0);else{let r=t.mark.marktype;e(s0,t.description),e(c0,t.ariaRole||(r==="group"?JA:d0)),e(f0,t.ariaRoleDescription||`${r} mark`)}}function tk(e){return e.aria===!1?{[XA]:!0}:zz[e.role]?null:KA[e.role]?Nz(e,KA[e.role]):Oz(e)}function Oz(e){let t=e.marktype,n=t==="group"||t==="text"||e.items.some(r=>r.description!=null&&r.aria!==!1);return QA(n?JA:d0,`${t} mark container`,e.description)}function Nz(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return QA(t.role||d0,t.desc,n.description||r(n))}catch{return null}}function nk(e){return G(e.text).join(" ")}function Rz(e){let t=e.datum,n=e.orient,r=t.title?rk(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),l=a.type;return`${n==="left"||n==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${wo(l)?"discrete":l} scale with ${Xw(o,a,e)}`}function Tz(e){let t=e.datum,n=t.title?rk(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,l=o.scales[i[a[0]]].value,u=o.dataflow.locale();return jz(r)+(n?` titled '${n}'`:"")+` for ${Pz(a)} with ${Xw(u,l,e)}`}function rk(e){try{return G(Ae(e.items).items[0].text).join(" ")}catch{return null}}function Pz(e){return e=e.map(t=>t+(t==="fill"||t==="stroke"?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Ae(e)}function jz(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var ik=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),Lz=e=>ik(e).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;");function h0(){let e="",t="",n="",r=[],i=()=>t=n="",a=u=>{t&&(e+=`${t}>${n}`,i()),r.push(u)},o=(u,s)=>(s!=null&&(t+=` ${u}="${Lz(s)}"`),l),l={open(u){a(u),t="<"+u;var s=[...arguments].slice(1);for(let c of s)for(let f in c)o(f,c[f]);return l},close(){let u=r.pop();return t?e+=t+(n?`>${n}</${u}>`:"/>"):e+=`</${u}>`,i(),l},attr:o,text:u=>(n+=ik(u),l),toString:()=>e};return l}var ak=e=>ok(h0(),e)+"";function ok(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let i=0;i<r;++i)e.attr(n[i].name,n[i].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let r of n)r.nodeType===3?e.text(r.nodeValue):ok(e,r)}return e.close()}var Oc={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"},Nc={blend:"mix-blend-mode"},lk={fill:"none","stroke-miterlimit":10},tu=0,uk="http://www.w3.org/2000/xmlns/",Ke=Vl.xmlns,p0=class extends Ql{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=Qe(e,0,"svg",Ke),this._svg.setAttributeNS(uk,"xmlns",Ke),this._svg.setAttributeNS(uk,"xmlns:xlink",Vl["xmlns:xlink"]),this._svg.setAttribute("version",Vl.version),this._svg.setAttribute("class","marks"),Dn(e,1),this._root=Qe(this._svg,tu,"g",Ke),ji(this._root,lk),Dn(this._svg,tu+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&&(ji(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=Qe(e,tu,"rect",Ke),ji(n,{width:this._width,height:this._height,fill:t}));let r=ak(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),Dn(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,l,u;for(o=0,l=e.length;o<l;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=sn[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,sk(n,t),r.items.forEach(s=>{s.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(u=r.items[0],u._svg&&this._update(a,u._svg,u)):n._svg&&(u=n._svg.parentNode,u&&u.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,sk(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=sn[a],l=t.interactive===!1?"none":null,u=o.tag==="g",s=ck(t,e,n,"g",i);if(a!=="group"&&r!=null&&!r.includes(a))return Dn(s,0),t._svg;s.setAttribute("class",PA(t));let c=tk(t);for(let p in c)Mt(s,p,c[p]);u||Mt(s,"pointer-events",l),Mt(s,"clip-path",t.clip?zm(this,t,t.group):null);let f=null,d=0,h=p=>{let m=this.isDirty(p),g=ck(p,s,f,o.tag,i);m&&(this._update(o,g,p),u&&Iz(this,g,p,r)),f=g,++d};return o.nested?t.items.length&&h(t.items[0]):jn(t,h),Dn(s,d),s}_update(e,t,n){Wr=t,vt=t.__values__,ek(nu,n),e.attr(nu,n,this);let r=Hz[e.type];r&&r.call(this,e,t,n),Wr&&this.style(Wr,n)}style(e,t){if(t!=null){for(let n in Oc){let r=n==="font"?Xl(t):t[n];if(r===vt[n])continue;let i=Oc[n];r==null?e.removeAttribute(i):(Cm(r)&&(r=Qw(r,this._defs.gradient,fk())),e.setAttribute(i,r+"")),vt[n]=r}for(let n in Nc)Rc(e,Nc[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=Qe(e,tu+1,"defs",Ke)),r=qz(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Qe(e,tu+1,"defs",Ke)),r=Uz(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):Dn(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function sk(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 qz(e,t,n){let r,i,a;if(t.gradient==="radial"){let o=Qe(e,n++,"pattern",Ke);ji(o,{id:ac+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=Qe(o,0,"rect",Ke),ji(o,{width:1,height:1,fill:`url(${fk()}#${t.id})`}),e=Qe(e,n++,"radialGradient",Ke),ji(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Qe(e,n++,"linearGradient",Ke),ji(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=Qe(e,r,"stop",Ke),a.setAttribute("offset",t.stops[r].offset),a.setAttribute("stop-color",t.stops[r].color);return Dn(e,r),n}function Uz(e,t,n){let r;return e=Qe(e,n,"clipPath",Ke),e.setAttribute("id",t.id),t.path?(r=Qe(e,0,"path",Ke),r.setAttribute("d",t.path)):(r=Qe(e,0,"rect",Ke),ji(r,{x:0,y:0,width:t.width,height:t.height})),Dn(e,1),n+1}function Iz(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;jn(n,o=>{i=e.mark(t,o,i,r),++a}),Dn(t,1+a)}function ck(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Pi(o,r,Ke),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:"default"},r==="g"))){let l=Pi(o,"path",Ke);a.appendChild(l),l.__data__=e;let u=Pi(o,"g",Ke);a.appendChild(u),u.__data__=e;let s=Pi(o,"path",Ke);a.appendChild(s),s.__data__=e,s.__values__={fill:"default"}}return(a.ownerSVGElement!==i||Wz(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function Wz(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var Wr=null,vt=null,Hz={group(e,t,n){let r=Wr=t.childNodes[2];vt=r.__values__,e.foreground(nu,n,this),vt=t.__values__,Wr=t.childNodes[1],e.content(nu,n,this);let i=Wr=t.childNodes[0];e.background(nu,n,this);let a=n.mark.interactive===!1?"none":null;if(a!==vt.events&&(Mt(r,"pointer-events",a),Mt(i,"pointer-events",a),vt.events=a),n.strokeForeground&&n.stroke){let o=n.fill;Mt(r,"display",null),this.style(i,n),Mt(i,"stroke",null),o&&(n.fill=null),vt=r.__values__,this.style(r,n),o&&(n.fill=o),Wr=null}else Mt(r,"display","none")},image(e,t,n){n.smooth===!1?(Rc(t,"image-rendering","optimizeSpeed"),Rc(t,"image-rendering","pixelated")):Rc(t,"image-rendering",null)},text(e,t,n){let r=Yl(n),i,a,o,l;B(r)?(a=r.map(u=>Ti(n,u)),i=a.join(`
2
2
  `),i!==vt.text&&(Dn(t,0),o=t.ownerDocument,l=Ri(n),a.forEach((u,s)=>{let c=Pi(o,"tspan",Ke);c.__data__=n,c.textContent=u,s&&(c.setAttribute("x",0),c.setAttribute("dy",l)),t.appendChild(c)}),vt.text=i)):(a=Ti(n,r),a!==vt.text&&(t.textContent=a,vt.text=a)),Mt(t,"font-family",Xl(n)),Mt(t,"font-size",mr(n)+"px"),Mt(t,"font-style",n.fontStyle),Mt(t,"font-variant",n.fontVariant),Mt(t,"font-weight",n.fontWeight)}};function nu(e,t,n){t!==vt[e]&&(n?Gz(Wr,e,t,n):Mt(Wr,e,t),vt[e]=t)}function Rc(e,t,n){n!==vt[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+""),vt[t]=n)}function ji(e,t){for(let n in t)Mt(e,n,t[n])}function Mt(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function Gz(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function fk(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var dk=class extends Ql{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=h0();t.open("svg",de({},Vl,{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",lk,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this}mark(e,t){let n=sn[t.marktype],r=n.tag,i=[ek,n.attr];e.open("g",{class:PA(t),"clip-path":t.clip?zm(this,t,t.group):null},tk(t),{"pointer-events":r!=="g"&&t.interactive===!1?"none":null});let a=o=>{let l=this.href(o);if(l&&e.open("a",l),e.open(r,this.attr(t,o,i,r==="g"?null:r)),r==="text"){let u=Yl(o);if(B(u)){let s={x:0,dy:Ri(o)};for(let c=0;c<u.length;++c)e.open("tspan",c?s:null).text(Ti(o,u[c])).close()}else e.text(Ti(o,u))}else if(r==="g"){let u=o.strokeForeground,s=o.fill,c=o.stroke;u&&c&&(o.stroke=null),e.open("path",this.attr(t,o,n.background,"bgrect")).close(),e.open("g",this.attr(t,o,n.content)),jn(o,f=>this.mark(e,f)),e.close(),u&&c?(s&&(o.fill=null),o.stroke=c,e.open("path",this.attr(t,o,n.foreground,"bgrect")).close(),s&&(o.fill=s)):e.open("path",this.attr(t,o,n.foreground,"bgfore")).close()}e.close(),l&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):jn(t,a),e.close()}href(e){let t=e.href,n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(r=>{r["xlink:href"]=r.href,r.href=null,(this._hrefs||(this._hrefs={}))[t]=r})}return null}attr(e,t,n,r){let i={},a=(o,l,u,s)=>{i[s||o]=l};return Array.isArray(n)?n.forEach(o=>o(a,t,this)):n(a,t,this),r&&Vz(i,t,e,r,this._defs),i}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){for(let r in e.open("defs"),t){let i=t[r],a=i.stops;i.gradient==="radial"?(e.open("pattern",{id:ac+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close(),e.close(),e.open("radialGradient",{id:r,fx:i.x1,fy:i.y1,fr:i.r1,cx:i.x2,cy:i.y2,r:i.r2})):e.open("linearGradient",{id:r,x1:i.x1,x2:i.x2,y1:i.y1,y2:i.y2});for(let o=0;o<a.length;++o)e.open("stop",{offset:a[o].offset,"stop-color":a[o].color}).close();e.close()}for(let r in n){let i=n[r];e.open("clipPath",{id:r}),i.path?e.open("path",{d:i.path}).close():e.open("rect",{x:0,y:0,width:i.width,height:i.height}).close(),e.close()}e.close()}}};function Vz(e,t,n,r,i){let a;if(t==null||(r==="bgrect"&&n.interactive===!1&&(e["pointer-events"]="none"),r==="bgfore"&&(n.interactive===!1&&(e["pointer-events"]="none"),e.display="none",t.fill!==null)))return e;for(let o in r==="image"&&t.smooth===!1&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),r==="text"&&(e["font-family"]=Xl(t),e["font-size"]=mr(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight),Oc){let l=t[o],u=Oc[o];l==="transparent"&&(u==="fill"||u==="stroke")||l!=null&&(Cm(l)&&(l=Qw(l,i.gradient,"")),e[u]=l)}for(let o in Nc){let l=t[o];l!=null&&(a||(a=[]),a.push(`${Nc[o]}: ${l};`))}return a&&(e.style=a.join(" ")),e}var Ln={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};function Yz(e){Ln.svgMarkTypes=e.svgMarkTypes??["text"],Ln.svgOnTop=e.svgOnTop??!0,Ln.debug=e.debug??!1}var m0=class extends Ql{constructor(e){super(e),this._svgRenderer=new p0(e),this._canvasRenderer=new zc(e)}initialize(e,t,n,r,i){this._root_el=Qe(e,0,"div");let a=Qe(this._root_el,0,"div"),o=Qe(this._root_el,1,"div");return this._root_el.style.position="relative",Ln.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=Ln.svgOnTop?o:a,this._canvasEl=Ln.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 Ln.svgMarkTypes.includes(e.mark.marktype)?this._svgRenderer.dirty(e):this._canvasRenderer.dirty(e),this}_render(e,t){let n=(t??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(r=>!Ln.svgMarkTypes.includes(r));this._svgRenderer.render(e,Ln.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 Ln.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},hk=class extends Zl{constructor(e,t){super(e,t)}initialize(e,t,n){let r=Qe(Qe(e,0,"div"),Ln.svgOnTop?0:1,"div");return super.initialize(r,t,n)}},pk="canvas",mk="hybrid",gk="png",yk="svg",vk="none",Li={Canvas:pk,PNG:gk,SVG:yk,Hybrid:mk,None:vk},_a={};_a[pk]=_a[gk]={renderer:zc,headless:zc,handler:Zl},_a[yk]={renderer:p0,headless:dk,handler:YA},_a[mk]={renderer:m0,headless:m0,handler:hk},_a[vk]={};function Tc(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(_a[e]=t,this):_a[e]}function bk(e,t,n){let r=[],i=new Xe().union(t),a=e.marktype;return a?xk(e,i,n,r):a==="group"?wk(e,i,n,r):N("Intersect scene must be mark node or group item.")}function xk(e,t,n,r){if(Xz(e,t,n)){let i=e.items,a=e.marktype,o=i.length,l=0;if(a==="group")for(;l<o;++l)wk(i[l],t,n,r);else for(let u=sn[a].isect;l<o;++l){let s=i[l];Ak(s,t,u)&&r.push(s)}}return r}function Xz(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype==="group"||e.interactive!==!1&&(!n||n(e)))}function wk(e,t,n,r){n&&n(e.mark)&&Ak(e,t,sn.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,l=e.y||0;t.translate(-o,-l);for(let u=0;u<a;++u)xk(i[u],t,n,r);t.translate(o,l)}return r}function Ak(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var g0=new Xe;function kk(e){let t=e.clip;if(fe(t))t(Wl(g0.clear()));else if(t)g0.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(g0)}var Jz=1e-9;function y0(e,t,n){return e===t?!0:n==="path"?_k(e,t):e instanceof Date&&t instanceof Date?+e==+t:be(e)&&be(t)?Math.abs(e-t)<=Jz:!e||!t||!Y(e)&&!Y(t)?e==t:Qz(e,t)}function _k(e,t){return y0(Ao(e),Ao(t))}function Qz(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],!y0(e[i],t[i],i))return!1;return typeof e==typeof t}function Kz(){uA(),AM()}var Zz=rn({bound:()=>Ok,identifier:()=>F0,mark:()=>Rk,overlap:()=>Tk,render:()=>Ik,viewlayout:()=>Xk}),Eo="top",qn="left",Un="right",qi="bottom",eO="top-left",tO="top-right",nO="bottom-left",rO="bottom-right",v0="start",b0="middle",Bt="end",iO="x",aO="y",Pc="group",x0="axis",w0="title",oO="frame",lO="scope",A0="legend",Dk="row-header",Fk="row-footer",Ck="row-title",Ek="column-header",$k="column-footer",Sk="column-title",uO="padding",sO="symbol",Mk="fit",Bk="fit-x",zk="fit-y",cO="pad",k0="none",jc="all",_0="each",D0="flush",Ui="column",Ii="row";function Ok(e){$.call(this,null,e)}W(Ok,$,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=sn[i],o=a.bound,l=r.bounds,u;if(a.nested)r.items.length&&n.dirty(r.items[0]),l=Lc(r,o),r.items.forEach(s=>{s.bounds.clear().union(l)});else if(i===Pc||e.modified())switch(t.visit(t.MOD,s=>n.dirty(s)),l.clear(),r.items.forEach(s=>l.union(Lc(s,o))),r.role){case x0:case A0:case w0:t.reflow()}else u=t.changed(t.REM),t.visit(t.ADD,s=>{l.union(Lc(s,o))}),t.visit(t.MOD,s=>{u||(u=l.alignsWith(s.bounds)),n.dirty(s),l.union(Lc(s,o))}),u&&(l.clear(),r.items.forEach(s=>l.union(s.bounds)));return kk(r),t.modifies("bounds")}});function Lc(e,t,n){return t(e.bounds.clear(),e,n)}var Nk=":vega_identifier:";function F0(e){$.call(this,0,e)}F0.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},W(F0,$,{transform(e,t){let n=fO(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,a=>a[r]=a[r]||++i),n.set(this.value=i),t}});function fO(e){return e._signals[Nk]||(e._signals[Nk]=e.add(0))}function Rk(e){$.call(this,null,e)}W(Rk,$,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,dO(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===Pc?sc:uc;return t.visit(t.ADD,i=>r.call(i,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});function dO(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 Tk(e){$.call(this,null,e)}var Pk={parity:e=>e.filter((t,n)=>n%2?t.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((r,i)=>!i||!jk(n.bounds,r.bounds,t)?(n=r,1):r.opacity=0)}},jk=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),Lk=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,a;n<r;i=a,++n)if(jk(i,a=e[n].bounds,t))return!0},hO=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},pO=(e,t,n)=>{var r=e.range(),i=new Xe;return t===Eo||t===qi?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),a=>i.encloses(a.bounds)},qk=e=>(e.forEach(t=>t.opacity=1),e),Uk=(e,t)=>e.reflow(t.modified()).modifies("opacity");W(Tk,$,{transform(e,t){let n=Pk[e.method]||Pk.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")&&(qk(i),t=Uk(t,e)),t;if(i=i.filter(hO),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=qk(i),t=Uk(t,e),a.length>=3&&Lk(a,r)){do a=n(a,r);while(a.length>=3&&Lk(a,r));a.length<3&&!Ae(i).opacity&&(a.length>1&&(Ae(a).opacity=0),Ae(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=pO(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(u=>{o(u)||(u.opacity=0)}));let l=a[0].mark.bounds.clear();return i.forEach(u=>{u.opacity&&l.union(u.bounds)}),t}});function Ik(e){$.call(this,null,e)}W(Ik,$,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,r=>n.dirty(r)),t.fields&&t.fields.zindex){let r=t.source&&t.source[0];r&&(r.mark.zdirty=!0)}}});var bt=new Xe;function $o(e,t,n){return e[t]===n?0:(e[t]=n,1)}function mO(e){var t=e.items[0].orient;return t===qn||t===Un}function gO(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function yO(e,t,n,r){var i=t.items[0],a=i.datum,o=i.translate==null?.5:i.translate,l=i.orient,u=gO(a),s=i.range,c=i.offset,f=i.position,d=i.minExtent,h=i.maxExtent,p=a.title&&i.items[u[2]].items[0],m=i.titlePadding,g=i.bounds,y=p&&Km(p),v=0,b=0,x,w;switch(bt.clear().union(g),g.clear(),(x=u[0])>-1&&g.union(i.items[x].bounds),(x=u[1])>-1&&g.union(i.items[x].bounds),l){case Eo:v=f||0,b=-c,w=Math.max(d,Math.min(h,-g.y1)),g.add(0,-w).add(s,0),p&&qc(e,p,w,m,y,0,-1,g);break;case qn:v=-c,b=f||0,w=Math.max(d,Math.min(h,-g.x1)),g.add(-w,0).add(0,s),p&&qc(e,p,w,m,y,1,-1,g);break;case Un:v=n+c,b=f||0,w=Math.max(d,Math.min(h,g.x2)),g.add(0,0).add(w,s),p&&qc(e,p,w,m,y,1,1,g);break;case qi:v=f||0,b=r+c,w=Math.max(d,Math.min(h,g.y2)),g.add(0,0).add(s,w),p&&qc(e,p,w,m,0,0,1,g);break;default:v=i.x,b=i.y}return Ir(g.translate(v,b),i),$o(i,"x",v+o)|$o(i,"y",b+o)&&(i.bounds=bt,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function qc(e,t,n,r,i,a,o,l){let u=t.bounds;if(t.auto){let s=o*(n+i+r),c=0,f=0;e.dirty(t),a?c=(t.x||0)-(t.x=s):f=(t.y||0)-(t.y=s),t.mark.bounds.clear().union(u.translate(-c,-f)),e.dirty(t)}l.union(u)}var Wk=(e,t)=>Math.floor(Math.min(e,t)),Hk=(e,t)=>Math.ceil(Math.max(e,t));function vO(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===Pc)switch(i.role){case x0:case A0:case w0:break;case Dk:o.rowheaders.push(...a);break;case Fk:o.rowfooters.push(...a);break;case Ek:o.colheaders.push(...a);break;case $k:o.colfooters.push(...a);break;case Ck:o.rowtitle=a[0];break;case Sk:o.coltitle=a[0];break;default:o.marks.push(...a)}return o}function bO(e){return new Xe().set(0,0,e.width||0,e.height||0)}function xO(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function Pe(e,t,n){return(Y(e)?e[t]:e)??(n===void 0?0:n)}function Gk(e){return e<0?Math.ceil(-e):0}function Vk(e,t,n){var r=!n.nodirty,i=n.bounds===D0?bO:xO,a=bt.set(0,0,0,0),o=Pe(n.align,Ui),l=Pe(n.align,Ii),u=Pe(n.padding,Ui),s=Pe(n.padding,Ii),c=n.columns||t.length,f=c<=0?1:Math.ceil(t.length/c),d=t.length,h=Array(d),p=Array(c),m=0,g=Array(d),y=Array(f),v=0,b=Array(d),x=Array(d),w=Array(d),k,A,_,D,F,C,z,P,U,E,O;for(A=0;A<c;++A)p[A]=0;for(A=0;A<f;++A)y[A]=0;for(A=0;A<d;++A)C=t[A],F=w[A]=i(C),C.x=C.x||0,b[A]=0,C.y=C.y||0,x[A]=0,_=A%c,D=~~(A/c),m=Math.max(m,z=Math.ceil(F.x2)),v=Math.max(v,P=Math.ceil(F.y2)),p[_]=Math.max(p[_],z),y[D]=Math.max(y[D],P),h[A]=u+Gk(F.x1),g[A]=s+Gk(F.y1),r&&e.dirty(t[A]);for(A=0;A<d;++A)A%c===0&&(h[A]=0),A<c&&(g[A]=0);if(o===_0)for(_=1;_<c;++_){for(O=0,A=_;A<d;A+=c)O<h[A]&&(O=h[A]);for(A=_;A<d;A+=c)h[A]=O+p[_-1]}else if(o===jc){for(O=0,A=0;A<d;++A)A%c&&O<h[A]&&(O=h[A]);for(A=0;A<d;++A)A%c&&(h[A]=O+m)}else for(o=!1,_=1;_<c;++_)for(A=_;A<d;A+=c)h[A]+=p[_-1];if(l===_0)for(D=1;D<f;++D){for(O=0,A=D*c,k=A+c;A<k;++A)O<g[A]&&(O=g[A]);for(A=D*c;A<k;++A)g[A]=O+y[D-1]}else if(l===jc){for(O=0,A=c;A<d;++A)O<g[A]&&(O=g[A]);for(A=c;A<d;++A)g[A]=O+v}else for(l=!1,D=1;D<f;++D)for(A=D*c,k=A+c;A<k;++A)g[A]+=y[D-1];for(U=0,A=0;A<d;++A)U=h[A]+(A%c?U:0),b[A]+=U-t[A].x;for(_=0;_<c;++_)for(E=0,A=_;A<d;A+=c)E+=g[A],x[A]+=E-t[A].y;if(o&&Pe(n.center,Ui)&&f>1)for(A=0;A<d;++A)F=o===jc?m:p[A%c],U=F-w[A].x2-t[A].x-b[A],U>0&&(b[A]+=U/2);if(l&&Pe(n.center,Ii)&&c!==1)for(A=0;A<d;++A)F=l===jc?v:y[~~(A/c)],E=F-w[A].y2-t[A].y-x[A],E>0&&(x[A]+=E/2);for(A=0;A<d;++A)a.union(w[A].translate(b[A],x[A]));switch(U=Pe(n.anchor,iO),E=Pe(n.anchor,aO),Pe(n.anchor,Ui)){case Bt:U-=a.width();break;case b0:U-=a.width()/2}switch(Pe(n.anchor,Ii)){case Bt:E-=a.height();break;case b0:E-=a.height()/2}for(U=Math.round(U),E=Math.round(E),a.clear(),A=0;A<d;++A)t[A].mark.bounds.clear();for(A=0;A<d;++A)C=t[A],C.x+=b[A]+=U,C.y+=x[A]+=E,a.union(C.mark.bounds.union(C.bounds.translate(b[A],x[A]))),r&&e.dirty(C);return a}function wO(e,t,n){var r=vO(t),i=r.marks,a=n.bounds===D0?AO:kO,o=n.offset,l=n.columns||i.length,u=l<=0?1:Math.ceil(i.length/l),s=u*l,c,f,d,h,p,m,g;let y=Vk(e,i,n);y.empty()&&y.set(0,0,0,0),r.rowheaders&&(m=Pe(n.headerBand,Ii,null),c=Uc(e,r.rowheaders,i,l,u,-Pe(o,"rowHeader"),Wk,0,a,"x1",0,l,1,m)),r.colheaders&&(m=Pe(n.headerBand,Ui,null),f=Uc(e,r.colheaders,i,l,l,-Pe(o,"columnHeader"),Wk,1,a,"y1",0,1,l,m)),r.rowfooters&&(m=Pe(n.footerBand,Ii,null),d=Uc(e,r.rowfooters,i,l,u,Pe(o,"rowFooter"),Hk,0,a,"x2",l-1,l,1,m)),r.colfooters&&(m=Pe(n.footerBand,Ui,null),h=Uc(e,r.colfooters,i,l,l,Pe(o,"columnFooter"),Hk,1,a,"y2",s-l,1,l,m)),r.rowtitle&&(p=Pe(n.titleAnchor,Ii),g=Pe(o,"rowTitle"),g=p===Bt?d+g:c-g,m=Pe(n.titleBand,Ii,.5),Yk(e,r.rowtitle,g,0,y,m)),r.coltitle&&(p=Pe(n.titleAnchor,Ui),g=Pe(o,"columnTitle"),g=p===Bt?h+g:f-g,m=Pe(n.titleBand,Ui,.5),Yk(e,r.coltitle,g,1,y,m))}function AO(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 kO(e,t){return e.bounds[t]}function Uc(e,t,n,r,i,a,o,l,u,s,c,f,d,h){var p=n.length,m=0,g=0,y,v,b,x,w,k,A,_,D;if(!p)return m;for(y=c;y<p;y+=f)n[y]&&(m=o(m,u(n[y],s)));if(!t.length)return m;for(t.length>i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),m+=a,v=0,x=t.length;v<x;++v)e.dirty(t[v]),t[v].mark.bounds.clear();for(y=c,v=0,x=t.length;v<x;++v,y+=f){for(k=t[v],w=k.mark.bounds,b=y;b>=0&&(A=n[b])==null;b-=d);l?(_=h==null?A.x:Math.round(A.bounds.x1+h*A.bounds.width()),D=m):(_=m,D=h==null?A.y:Math.round(A.bounds.y1+h*A.bounds.height())),w.union(k.bounds.translate(_-(k.x||0),D-(k.y||0))),k.x=_,k.y=D,e.dirty(k),g=o(g,w[s])}return g}function Yk(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,l=n;r?o=Math.round(i.x1+a*i.width()):l=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),l-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=l,e.dirty(t)}}function _O(e,t){let n=e[t]||{};return(r,i)=>n[r]==null?e[r]==null?i:e[r]:n[r]}function DO(e,t){let n=-1/0;return e.forEach(r=>{r.offset!=null&&(n=Math.max(n,r.offset))}),n>-1/0?n:t}function FO(e,t,n,r,i,a,o){let l=_O(n,t),u=DO(e,l("offset",0)),s=l("anchor",v0),c=s===Bt?1:s===b0?.5:0,f={align:_0,bounds:l("bounds",D0),columns:l("direction")==="vertical"?1:e.length,padding:l("margin",8),center:l("center"),nodirty:!0};switch(t){case qn:f.anchor={x:Math.floor(r.x1)-u,column:Bt,y:c*(o||r.height()+2*r.y1),row:s};break;case Un:f.anchor={x:Math.ceil(r.x2)+u,y:c*(o||r.height()+2*r.y1),row:s};break;case Eo:f.anchor={y:Math.floor(i.y1)-u,row:Bt,x:c*(a||i.width()+2*i.x1),column:s};break;case qi:f.anchor={y:Math.ceil(i.y2)+u,x:c*(a||i.width()+2*i.x1),column:s};break;case eO:f.anchor={x:u,y:u};break;case tO:f.anchor={x:a-u,y:u,column:Bt};break;case nO:f.anchor={x:u,y:o-u,row:Bt};break;case rO:f.anchor={x:a-u,y:o-u,column:Bt,row:Bt};break}return f}function CO(e,t){var n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,o=n.x,l=n.y,u,s;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),$O(e,n,n.items[0].items[0]),a=EO(n,a),u=2*n.padding,s=2*n.padding,a.empty()||(u=Math.ceil(a.width()+u),s=Math.ceil(a.height()+s)),r.type===sO&&SO(n.items[0].items[0].items[0].items),i!==k0&&(n.x=o=0,n.y=l=0),n.width=u,n.height=s,Ir(a.set(o,l,o+u,l+s),n),n.mark.bounds.clear().union(a),n}function EO(e,t){return e.items.forEach(n=>t.union(n.bounds)),t.x1=e.padding,t.y1=e.padding,t}function $O(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(!t.datum.title)(i||a)&&ru(e,n,i,a);else{var o=t.items[1].items[0],l=o.anchor,u=t.titlePadding||0,s=r-o.x,c=r-o.y;switch(o.orient){case qn:i+=Math.ceil(o.bounds.width())+u;break;case Un:case qi:break;default:a+=o.bounds.height()+u}switch((i||a)&&ru(e,n,i,a),o.orient){case qn:c+=So(t,n,o,l,1,1);break;case Un:s+=So(t,n,o,Bt,0,0)+u,c+=So(t,n,o,l,1,1);break;case qi:s+=So(t,n,o,l,0,0),c+=So(t,n,o,Bt,-1,0,1)+u;break;default:s+=So(t,n,o,l,0,0)}(s||c)&&ru(e,o,s,c),(s=Math.round(o.bounds.x1-r))<0&&(ru(e,n,-s,0),ru(e,o,-s,0))}}function So(e,t,n,r,i,a,o){let l=e.datum.type!=="symbol",u=n.datum.vgrad,s=(l&&(a||!u)&&!o?t.items[0]:t).bounds[i?"y2":"x2"]-e.padding,c=u&&a?s:0,f=u&&a?0:s,d=i<=0?0:Km(n);return Math.round(r===v0?c:r===Bt?f-d:.5*(s-d))}function ru(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 SO(e){let t=e.reduce((n,r)=>(n[r.column]=Math.max(r.bounds.x2-r.x,n[r.column]||0),n),{});e.forEach(n=>{n.width=t[n.column],n.height=n.bounds.y2-n.y})}function MO(e,t,n,r,i){var a=t.items[0],o=a.frame,l=a.orient,u=a.anchor,s=a.offset,c=a.padding,f=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],h=l===qn||l===Un?r:n,p=0,m=0,g=0,y=0,v=0,b;if(o===Pc?l===qn&&(p=r,h=0):l===qn?(p=i.y2,h=i.y1):l===Un?(p=i.y1,h=i.y2):(p=i.x1,h=i.x2),b=u===v0?p:u===Bt?h:(p+h)/2,d&&d.text){switch(l){case Eo:case qi:v=f.bounds.height()+c;break;case qn:y=f.bounds.width()+c;break;case Un:y=-f.bounds.width()-c;break}bt.clear().union(d.bounds),bt.translate(y-(d.x||0),v-(d.y||0)),$o(d,"x",y)|$o(d,"y",v)&&(e.dirty(d),d.bounds.clear().union(bt),d.mark.bounds.clear().union(bt),e.dirty(d)),bt.clear().union(d.bounds)}else bt.clear();switch(bt.union(f.bounds),l){case Eo:m=b,g=i.y1-bt.height()-s;break;case qn:m=i.x1-bt.width()-s,g=b;break;case Un:m=i.x2+bt.width()+s,g=b;break;case qi:m=b,g=i.y2+s;break;default:m=a.x,g=a.y}return $o(a,"x",m)|$o(a,"y",g)&&(bt.translate(m,g),e.dirty(a),a.bounds.clear().union(bt),t.bounds.clear().union(bt),e.dirty(a)),a.bounds}function Xk(e){$.call(this,null,e)}W(Xk,$,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(r=>{e.layout&&wO(n,r,e.layout),zO(n,r,e)}),BO(e.mark.group)?t.reflow():t}});function BO(e){return e&&e.mark.role!=="legend-entry"}function zO(e,t,n){var r=t.items,i=Math.max(0,t.width||0),a=Math.max(0,t.height||0),o=new Xe().set(0,0,i,a),l=o.clone(),u=o.clone(),s=[],c,f,d,h,p,m;for(p=0,m=r.length;p<m;++p)switch(f=r[p],f.role){case x0:h=mO(f)?l:u,h.union(yO(e,f,i,a));break;case w0:c=f;break;case A0:s.push(CO(e,f));break;case oO:case lO:case Dk:case Fk:case Ck:case Ek:case $k:case Sk:l.union(f.bounds),u.union(f.bounds);break;default:o.union(f.bounds)}if(s.length){let g={};for(let y in s.forEach(v=>{d=v.orient||Un,d!==k0&&(g[d]||(g[d]=[])).push(v)}),g){let v=g[y];Vk(e,v,FO(v,y,n.legends,l,u,i,a))}s.forEach(y=>{let v=y.bounds;if(v.equals(y._bounds)||(y.bounds=y._bounds,e.dirty(y),y.bounds=v,e.dirty(y)),n.autosize&&(n.autosize.type===Mk||n.autosize.type===Bk||n.autosize.type===zk))switch(y.orient){case qn:case Un:o.add(v.x1,0).add(v.x2,0);break;case Eo:case qi:o.add(0,v.y1).add(0,v.y2)}else o.union(v)})}o.union(l).union(u),c&&o.union(MO(e,c,i,a,o)),t.clip&&o.set(0,0,t.width||0,t.height||0),OO(e,t,o,n)}function OO(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,l=e._height,u=Math.max(0,t.width||0),s=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1)),d=Math.max(0,Math.ceil(n.x2-u)),h=Math.max(0,Math.ceil(n.y2-c));if(i.contains===uO){let p=e.padding();o-=p.left+p.right,l-=p.top+p.bottom}a===k0?(s=0,f=0,u=o,c=l):a===Mk?(u=Math.max(0,o-s-d),c=Math.max(0,l-f-h)):a===Bk?(u=Math.max(0,o-s-d),l=c+f+h):a===zk?(o=u+s+d,c=Math.max(0,l-f-h)):a===cO&&(o=u+s+d,l=c+f+h),e._resizeView(o,l,u,c,[s,f],i.resize)}var NO=rn({axisticks:()=>Jk,datajoin:()=>Qk,encode:()=>Kk,legendentries:()=>Zk,linkpath:()=>C0,pie:()=>E0,scale:()=>a_,sortitems:()=>u_,stack:()=>S0});function Jk(e){$.call(this,null,e)}W(Jk,$,{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=e.count==null?e.values?e.values.length:10:e.count,l=_m(a,o,e.minstep),u=e.format||Uw(n,a,l,e.formatSpecifier,e.formatType,!!e.values),s=e.values?qw(a,e.values,l):Dm(a,l);return i&&(r.rem=i),i=s.map((c,f)=>xe({index:f/(s.length-1||1),value:c,label:u(c)})),e.extra&&i.length&&i.push(xe({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}});function Qk(e){$.call(this,null,e)}function RO(){return xe({})}function TO(e){let t=ao().test(n=>n.exit);return t.lookup=n=>t.get(e(n)),t}W(Qk,$,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||RO,a=e.key||ee,o=this.value;return B(r.encode)&&(r.encode=null),o&&(e.modified("key")||t.modified(a))&&N("DataJoin does not support modified key function or fields."),o||(t=t.addAll(),this.value=o=TO(a)),t.visit(t.ADD,l=>{let u=a(l),s=o.get(u);s?s.exit?(o.empty--,r.add.push(s)):r.mod.push(s):(s=i(l),o.set(u,s),r.add.push(s)),s.datum=l,s.exit=!1}),t.visit(t.MOD,l=>{let u=a(l),s=o.get(u);s&&(s.datum=l,r.mod.push(s))}),t.visit(t.REM,l=>{let u=a(l),s=o.get(u);l===s.datum&&!s.exit&&(r.rem.push(s),s.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 Kk(e){$.call(this,null,e)}W(Kk,$,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(B(a))if(n.changed()||a.every(f=>i[f]))a=a[0],n.encode=null;else return t.StopPropagation;var o=a==="enter",l=i.update||li,u=i.enter||li,s=i.exit||li,c=(a&&!o?i[a]:l)||li;if(t.changed(t.ADD)&&(t.visit(t.ADD,f=>{u(f,e),l(f,e)}),n.modifies(u.output),n.modifies(l.output),c!==li&&c!==l&&(t.visit(t.ADD,f=>{c(f,e)}),n.modifies(c.output))),t.changed(t.REM)&&s!==li&&(t.visit(t.REM,f=>{s(f,e)}),n.modifies(s.output)),o||c!==li){let f=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(f,d=>{let h=u(d,e)||r;(c(d,e)||h)&&n.mod.push(d)}),n.mod.length&&n.modifies(u.output)):t.visit(f,d=>{(c(d,e)||r)&&n.mod.push(d)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:t.StopPropagation}});function Zk(e){$.call(this,[],e)}W(Zk,$,{transform(e,t){if(this.value!=null&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.type||"symbol",o=e.scale,l=+e.limit,u=_m(o,e.count==null?5:e.count,e.minstep),s=!!e.values||a==="symbol",c=e.format||Gw(n,o,u,a,e.formatSpecifier,e.formatType,s),f=e.values||Hw(o,u),d,h,p,m,g;return i&&(r.rem=i),a==="symbol"?(l&&f.length>l?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),i=f.slice(0,l-1),g=!0):i=f,fe(p=e.size)?(!e.values&&o(i[0])===0&&(i=i.slice(1)),m=i.reduce((y,v)=>Math.max(y,p(v,e)),0)):p=Et(m=p||8),i=i.map((y,v)=>xe({index:v,label:c(y,v,i),value:y,offset:m,size:p(y,e)})),g&&(g=f[i.length],i.push(xe({index:i.length,label:`\u2026${f.length-i.length} entries`,value:g,offset:m,size:p(g,e)})))):a==="gradient"?(d=o.domain(),h=Tw(o,d[0],Ae(d)),f.length<3&&!e.values&&d[0]!==Ae(d)&&(f=[d[0],Ae(d)]),i=f.map((y,v)=>xe({index:v,label:c(y,v,f),value:y,perc:h(y)}))):(p=f.length-1,h=xM(o),i=f.map((y,v)=>xe({index:v,label:c(y,v,f),value:y,perc:v?h(y):0,perc2:v===p?1:h(f[v+1])}))),r.source=i,r.add=i,this.value=i,r}});var PO=e=>e.source.x,jO=e=>e.source.y,LO=e=>e.target.x,qO=e=>e.target.y;function C0(e){$.call(this,{},e)}C0.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"}]},W(C0,$,{transform(e,t){var n=e.sourceX||PO,r=e.sourceY||jO,i=e.targetX||LO,a=e.targetY||qO,o=e.as||"path",l=e.orient||"vertical",u=e.shape||"line",s=r_.get(u+"-"+l)||r_.get(u);return s||N("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,c=>{c[o]=s(n(c),r(c),i(c),a(c))}),t.reflow(e.modified()).modifies(o)}});var e_=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,UO=(e,t,n,r)=>e_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),t_=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2,l=180*Math.atan2(a,i)/Math.PI;return"M"+e+","+t+"A"+o+","+o+" "+l+" 0 1 "+n+","+r},IO=(e,t,n,r)=>t_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),n_=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),l=.2*(a-i);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(r-o)+" "+n+","+r},WO=(e,t,n,r)=>n_(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),HO=(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,GO=(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,VO=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),u=Math.abs(n-e)>Math.PI?n<=e:n>e;return"M"+t*i+","+t*a+"A"+t+","+t+" 0 0,"+(u?1:0)+" "+t*o+","+t*l+"L"+r*o+","+r*l},YO=(e,t,n,r)=>{let i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},XO=(e,t,n,r)=>{let i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},JO=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),u=(t+r)/2;return"M"+t*i+","+t*a+"C"+u*i+","+u*a+" "+u*o+","+u*l+" "+r*o+","+r*l},r_=ao({line:e_,"line-radial":UO,arc:t_,"arc-radial":IO,curve:n_,"curve-radial":WO,"orthogonal-horizontal":HO,"orthogonal-vertical":GO,"orthogonal-radial":VO,"diagonal-horizontal":YO,"diagonal-vertical":XO,"diagonal-radial":JO});function E0(e){$.call(this,null,e)}E0.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"]}]},W(E0,$,{transform(e,t){var n=e.as||["startAngle","endAngle"],r=n[0],i=n[1],a=e.field||vl,o=e.startAngle||0,l=e.endAngle==null?2*Math.PI:e.endAngle,u=t.source,s=u.map(a),c=s.length,f=o,d=(l-o)/xx(s),h=an(c),p,m,g;for(e.sort&&h.sort((y,v)=>s[y]-s[v]),p=0;p<c;++p)g=s[h[p]],m=u[h[p]],m[r]=f,m[i]=f+=g*d;return this.value=s,t.reflow(e.modified()).modifies(n)}});var QO=5;function KO(e){let t=e.type;return!e.bins&&(t==="linear"||t==="pow"||t==="sqrt")}function i_(e){return xm(e)&&e!=="sequential"}var ZO=ar(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function a_(e){$.call(this,null,e),this.modified(!0)}W(a_,$,{transform(e,t){var n=t.dataflow,r=this.value,i=eN(e);for(i in(!r||i!==r.type)&&(this.value=r=ge(i)()),e)if(!ZO[i]){if(i==="padding"&&i_(r.type))continue;fe(r[i])?r[i](e[i]):n.warn("Unsupported scale property: "+i)}return oN(r,e,aN(r,e,nN(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function eN(e){var t=e.type,n="",r;return t==="sequential"?Mi+"-"+nc:(tN(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?Mi+"-":r===3?xo+"-":""),(n+t||"linear").toLowerCase())}function tN(e){let t=e.type;return xm(t)&&t!=="time"&&t!=="utc"&&(e.scheme||e.range&&e.range.length&&e.range.every(V))}function nN(e,t,n){let r=rN(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,a=e.type,o=t.zero||t.zero===void 0&&KO(e),l,u;if(!i)return 0;if((o||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(l=(i=i.slice()).length-1||1,o&&(i[0]>0&&(i[0]=0),i[l]<0&&(i[l]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[l]=t.domainMax),t.domainMid!=null)){u=t.domainMid;let s=u>i[l]?l+1:u<i[0]?0:l;s!==l&&n.warn("Scale domainMid exceeds domain min or max.",u),i.splice(s,0,u)}return i_(a)&&t.padding&&i[0]!==Ae(i)&&(i=iN(a,i,t.range,t.padding,t.exponent,t.constant)),e.domain(o_(a,i,n)),a==="ordinal"&&e.unknown(t.domainImplicit?K8:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&_m(e,t.nice)||null),i.length}function rN(e,t,n){return t?(e.domain(o_(e.type,t,n)),t.length):-1}function iN(e,t,n,r,i,a){var o=Math.abs(Ae(n)-n[0]),l=o/(o-2*r),u=e==="log"?kh(t,null,l):e==="sqrt"?gs(t,null,l,.5):e==="pow"?gs(t,null,l,i||1):e==="symlog"?Bh(t,null,l,a||1):Fh(t,null,l);return t=t.slice(),t[0]=u[0],t[t.length-1]=u[1],t}function o_(e,t,n){return Bw(e)&&Math.abs(t.reduce((r,i)=>r+(i<0?-1:i>0?1:0),0))!==t.length&&n.warn("Log scale domain includes zero: "+I(t)),t}function aN(e,t,n){let r=t.bins;if(r&&!B(r)){let i=e.domain(),a=i[0],o=Ae(i),l=r.step,u=r.start==null?a:r.start,s=r.stop==null?o:r.stop;l||N("Scale bins parameter missing step property."),u<a&&(u=l*Math.ceil(a/l)),s>o&&(s=l*Math.floor(o/l)),r=an(u,s+l/2,l)}return r?e.bins=r:e.bins&&delete e.bins,e.type==="bin-ordinal"&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}function oN(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(t.rangeStep!=null)a=lN(r,t,n);else if(t.scheme&&(a=uN(r,t,n),fe(a))){if(e.interpolator)return e.interpolator(a);N(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&zw(r))return e.interpolator(ic($0(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(Am(t.interpolate,t.interpolateGamma)):fe(e.round)?e.round(i):fe(e.rangeRound)&&e.interpolate(i?Lh:jh),a&&e.range($0(a,t.reverse))}function lN(e,t,n){e!=="band"&&e!=="point"&&N("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*pm(n,i,r)]}function uN(e,t,n){var r=t.schemeExtent,i,a;return B(t.scheme)?a=ic(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),a=km(i),a||N(`Unrecognized scheme name: ${t.scheme}`)),n=e==="threshold"?n+1:e==="bin-ordinal"?n-1:e==="quantile"||e==="quantize"?+t.schemeCount||QO:n,zw(e)?l_(a,r,t.reverse):fe(a)?Rw(l_(a,r),n):e==="ordinal"?a:a.slice(0,n)}function l_(e,t,n){return fe(e)&&(t||n)?Nw(e,$0(t||[0,1],n)):e}function $0(e,t){return t?e.slice().reverse():e}function u_(e){$.call(this,null,e)}W(u_,$,{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(ga(e.sort)),this.modified(n),t}});var s_="zero",c_="center",f_="normalize",d_=["y0","y1"];function S0(e){$.call(this,null,e)}S0.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:s_,values:[s_,c_,f_]},{name:"as",type:"string",array:!0,length:2,default:d_}]},W(S0,$,{transform(e,t){var n=e.as||d_,r=n[0],i=n[1],a=ga(e.sort),o=e.field||vl,l=e.offset===c_?sN:e.offset===f_?cN:fN,u=dN(t.source,e.groupby,a,o),s,c,f;for(s=0,c=u.length,f=u.max;s<c;++s)l(u[s],f,o,r,i);return t.reflow(e.modified()).modifies(n)}});function sN(e,t,n,r,i){for(var a=(t-e.sum)/2,o=e.length,l=0,u;l<o;++l)u=e[l],u[r]=a,u[i]=a+=Math.abs(n(u))}function cN(e,t,n,r,i){for(var a=1/e.sum,o=0,l=e.length,u=0,s=0,c;u<l;++u)c=e[u],c[r]=o,c[i]=o=a*(s+=Math.abs(n(c)))}function fN(e,t,n,r,i){for(var a=0,o=0,l=e.length,u=0,s,c;u<l;++u)c=e[u],s=+n(c),s<0?(c[r]=o,c[i]=o+=s):(c[r]=a,c[i]=a+=s)}function dN(e,t,n,r){var i=[],a=m=>m(c),o,l,u,s,c,f,d,h,p;if(t==null)i.push(e.slice());else for(o={},l=0,u=e.length;l<u;++l)c=e[l],f=t.map(a),d=o[f],d||(o[f]=d=[],i.push(d)),d.push(c);for(f=0,p=0,s=i.length;f<s;++f){for(d=i[f],l=0,h=0,u=d.length;l<u;++l)h+=Math.abs(r(d[l]));d.sum=h,h>p&&(p=h),n&&d.sort(n)}return i.max=p,i}var _e=1e-6,ce=Math.PI,Ue=ce/2,Ic=ce/4,zt=ce*2,Ve=180/ce,se=ce/180,pe=Math.abs,Mo=Math.atan,Fn=Math.atan2,re=Math.cos,Wc=Math.ceil,h_=Math.exp,M0=Math.hypot,Hc=Math.log,B0=Math.pow,te=Math.sin,Cn=Math.sign||function(e){return e>0?1:e<0?-1:0},Ot=Math.sqrt,z0=Math.tan;function p_(e){return e>1?0:e<-1?ce:Math.acos(e)}function Xt(e){return e>1?Ue:e<-1?-Ue:Math.asin(e)}function dt(){}function Gc(e,t){e&&g_.hasOwnProperty(e.type)&&g_[e.type](e,t)}var m_={Feature:function(e,t){Gc(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Gc(n[r].geometry,t)}},g_={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){O0(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)O0(n[r],t,0)},Polygon:function(e,t){y_(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)y_(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Gc(n[r],t)}};function O0(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 y_(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)O0(e[n],t,1);t.polygonEnd()}function Hr(e,t){e&&m_.hasOwnProperty(e.type)?m_[e.type](e,t):Gc(e,t)}var Vc=new St,Yc=new St,v_,b_,N0,R0,T0,gr={point:dt,lineStart:dt,lineEnd:dt,polygonStart:function(){Vc=new St,gr.lineStart=hN,gr.lineEnd=pN},polygonEnd:function(){var e=+Vc;Yc.add(e<0?zt+e:e),this.lineStart=this.lineEnd=this.point=dt},sphere:function(){Yc.add(zt)}};function hN(){gr.point=mN}function pN(){x_(v_,b_)}function mN(e,t){gr.point=x_,v_=e,b_=t,e*=se,t*=se,N0=e,R0=re(t=t/2+Ic),T0=te(t)}function x_(e,t){e*=se,t*=se,t=t/2+Ic;var n=e-N0,r=n>=0?1:-1,i=r*n,a=re(t),o=te(t),l=T0*o,u=R0*a+l*re(i),s=l*r*te(i);Vc.add(Fn(s,u)),N0=e,R0=a,T0=o}function gN(e){return Yc=new St,Hr(e,gr),Yc*2}function Xc(e){return[Fn(e[1],e[0]),Xt(e[2])]}function Da(e){var t=e[0],n=e[1],r=re(n);return[r*re(t),r*te(t),te(n)]}function Jc(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Bo(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 P0(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Qc(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Kc(e){var t=Ot(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var je,Jt,Ie,cn,Fa,w_,A_,zo,iu,Wi,Gr,Vr={point:j0,lineStart:__,lineEnd:D_,polygonStart:function(){Vr.point=F_,Vr.lineStart=yN,Vr.lineEnd=vN,iu=new St,gr.polygonStart()},polygonEnd:function(){gr.polygonEnd(),Vr.point=j0,Vr.lineStart=__,Vr.lineEnd=D_,Vc<0?(je=-(Ie=180),Jt=-(cn=90)):iu>1e-6?cn=90:iu<-1e-6&&(Jt=-90),Gr[0]=je,Gr[1]=Ie},sphere:function(){je=-(Ie=180),Jt=-(cn=90)}};function j0(e,t){Wi.push(Gr=[je=e,Ie=e]),t<Jt&&(Jt=t),t>cn&&(cn=t)}function k_(e,t){var n=Da([e*se,t*se]);if(zo){var r=Bo(zo,n),i=[r[1],-r[0],0],a=Bo(i,r);Kc(a),a=Xc(a);var o=e-Fa,l=o>0?1:-1,u=a[0]*Ve*l,s,c=pe(o)>180;c^(l*Fa<u&&u<l*e)?(s=a[1]*Ve,s>cn&&(cn=s)):(u=(u+360)%360-180,c^(l*Fa<u&&u<l*e)?(s=-a[1]*Ve,s<Jt&&(Jt=s)):(t<Jt&&(Jt=t),t>cn&&(cn=t))),c?e<Fa?fn(je,e)>fn(je,Ie)&&(Ie=e):fn(e,Ie)>fn(je,Ie)&&(je=e):Ie>=je?(e<je&&(je=e),e>Ie&&(Ie=e)):e>Fa?fn(je,e)>fn(je,Ie)&&(Ie=e):fn(e,Ie)>fn(je,Ie)&&(je=e)}else Wi.push(Gr=[je=e,Ie=e]);t<Jt&&(Jt=t),t>cn&&(cn=t),zo=n,Fa=e}function __(){Vr.point=k_}function D_(){Gr[0]=je,Gr[1]=Ie,Vr.point=j0,zo=null}function F_(e,t){if(zo){var n=e-Fa;iu.add(pe(n)>180?n+(n>0?360:-360):n)}else w_=e,A_=t;gr.point(e,t),k_(e,t)}function yN(){gr.lineStart()}function vN(){F_(w_,A_),gr.lineEnd(),pe(iu)>1e-6&&(je=-(Ie=180)),Gr[0]=je,Gr[1]=Ie,zo=null}function fn(e,t){return(t-=e)<0?t+360:t}function bN(e,t){return e[0]-t[0]}function C_(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function xN(e){var t,n,r,i,a,o,l;if(cn=Ie=-(je=Jt=1/0),Wi=[],Hr(e,Vr),n=Wi.length){for(Wi.sort(bN),t=1,r=Wi[0],a=[r];t<n;++t)i=Wi[t],C_(r,i[0])||C_(r,i[1])?(fn(r[0],i[1])>fn(r[0],r[1])&&(r[1]=i[1]),fn(i[0],r[1])>fn(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=a.length-1,t=0,r=a[n];t<=n;r=i,++t)i=a[t],(l=fn(r[1],i[0]))>o&&(o=l,je=i[0],Ie=r[1])}return Wi=Gr=null,je===1/0||Jt===1/0?[[NaN,NaN],[NaN,NaN]]:[[je,Jt],[Ie,cn]]}var au,Zc,ef,tf,nf,rf,af,of,L0,q0,U0,E_,$_,Nt,Rt,Tt,In={sphere:dt,point:I0,lineStart:S_,lineEnd:M_,polygonStart:function(){In.lineStart=kN,In.lineEnd=_N},polygonEnd:function(){In.lineStart=S_,In.lineEnd=M_}};function I0(e,t){e*=se,t*=se;var n=re(t);ou(n*re(e),n*te(e),te(t))}function ou(e,t,n){++au,ef+=(e-ef)/au,tf+=(t-tf)/au,nf+=(n-nf)/au}function S_(){In.point=wN}function wN(e,t){e*=se,t*=se;var n=re(t);Nt=n*re(e),Rt=n*te(e),Tt=te(t),In.point=AN,ou(Nt,Rt,Tt)}function AN(e,t){e*=se,t*=se;var n=re(t),r=n*re(e),i=n*te(e),a=te(t),o=Fn(Ot((o=Rt*a-Tt*i)*o+(o=Tt*r-Nt*a)*o+(o=Nt*i-Rt*r)*o),Nt*r+Rt*i+Tt*a);Zc+=o,rf+=o*(Nt+(Nt=r)),af+=o*(Rt+(Rt=i)),of+=o*(Tt+(Tt=a)),ou(Nt,Rt,Tt)}function M_(){In.point=I0}function kN(){In.point=DN}function _N(){B_(E_,$_),In.point=I0}function DN(e,t){E_=e,$_=t,e*=se,t*=se,In.point=B_;var n=re(t);Nt=n*re(e),Rt=n*te(e),Tt=te(t),ou(Nt,Rt,Tt)}function B_(e,t){e*=se,t*=se;var n=re(t),r=n*re(e),i=n*te(e),a=te(t),o=Rt*a-Tt*i,l=Tt*r-Nt*a,u=Nt*i-Rt*r,s=M0(o,l,u),c=Xt(s),f=s&&-c/s;L0.add(f*o),q0.add(f*l),U0.add(f*u),Zc+=c,rf+=c*(Nt+(Nt=r)),af+=c*(Rt+(Rt=i)),of+=c*(Tt+(Tt=a)),ou(Nt,Rt,Tt)}function FN(e){au=Zc=ef=tf=nf=rf=af=of=0,L0=new St,q0=new St,U0=new St,Hr(e,In);var t=+L0,n=+q0,r=+U0,i=M0(t,n,r);return i<1e-12&&(t=rf,n=af,r=of,Zc<1e-6&&(t=ef,n=tf,r=nf),i=M0(t,n,r),i<1e-12)?[NaN,NaN]:[Fn(n,t)*Ve,Xt(r/i)*Ve]}function W0(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function H0(e,t){return pe(e)>ce&&(e-=Math.round(e/zt)*zt),[e,t]}H0.invert=H0;function z_(e,t,n){return(e%=zt)?t||n?W0(N_(e),R_(t,n)):N_(e):t||n?R_(t,n):H0}function O_(e){return function(t,n){return t+=e,pe(t)>ce&&(t-=Math.round(t/zt)*zt),[t,n]}}function N_(e){var t=O_(e);return t.invert=O_(-e),t}function R_(e,t){var n=re(e),r=te(e),i=re(t),a=te(t);function o(l,u){var s=re(u),c=re(l)*s,f=te(l)*s,d=te(u),h=d*n+c*r;return[Fn(f*i-h*a,c*n-d*r),Xt(h*i+f*a)]}return o.invert=function(l,u){var s=re(u),c=re(l)*s,f=te(l)*s,d=te(u),h=d*i-f*a;return[Fn(f*i+d*a,c*n+h*r),Xt(h*n-c*r)]},o}function CN(e){e=z_(e[0]*se,e[1]*se,e.length>2?e[2]*se:0);function t(n){return n=e(n[0]*se,n[1]*se),n[0]*=Ve,n[1]*=Ve,n}return t.invert=function(n){return n=e.invert(n[0]*se,n[1]*se),n[0]*=Ve,n[1]*=Ve,n},t}function EN(e,t,n,r,i,a){if(n){var o=re(t),l=te(t),u=r*n;i==null?(i=t+r*zt,a=t-u/2):(i=T_(o,i),a=T_(o,a),(r>0?i<a:i>a)&&(i+=r*zt));for(var s,c=i;r>0?c>a:c<a;c-=u)s=Xc([o,-l*re(c),-l*te(c)]),e.point(s[0],s[1])}}function T_(e,t){t=Da(t),t[0]-=e,Kc(t);var n=p_(-t[1]);return((-t[2]<0?-n:n)+zt-_e)%zt}function P_(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:dt,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function lf(e,t){return pe(e[0]-t[0])<1e-6&&pe(e[1]-t[1])<1e-6}function uf(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 j_(e,t,n,r,i){var a=[],o=[],l,u;if(e.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g=p[0],y=p[m],v;if(lf(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),l=0;l<m;++l)i.point((g=p[l])[0],g[1]);i.lineEnd();return}y[0]+=2*_e}a.push(v=new uf(g,p,null,!0)),o.push(v.o=new uf(g,null,v,!1)),a.push(v=new uf(y,p,null,!1)),o.push(v.o=new uf(y,null,v,!0))}}),a.length){for(o.sort(t),L_(a),L_(o),l=0,u=o.length;l<u;++l)o[l].e=n=!n;for(var s=a[0],c,f;;){for(var d=s,h=!0;d.v;)if((d=d.n)===s)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(l=0,u=c.length;l<u;++l)i.point((f=c[l])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(c=d.p.z,l=c.length-1;l>=0;--l)i.point((f=c[l])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,h=!h}while(!d.v);i.lineEnd()}}}function L_(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 G0(e){return pe(e[0])<=ce?e[0]:Cn(e[0])*((pe(e[0])+ce)%zt-ce)}function $N(e,t){var n=G0(t),r=t[1],i=te(r),a=[te(n),-re(n),0],o=0,l=0,u=new St;i===1?r=Ue+_e:i===-1&&(r=-Ue-_e);for(var s=0,c=e.length;s<c;++s)if(d=(f=e[s]).length)for(var f,d,h=f[d-1],p=G0(h),m=h[1]/2+Ic,g=te(m),y=re(m),v=0;v<d;++v,p=x,g=k,y=A,h=b){var b=f[v],x=G0(b),w=b[1]/2+Ic,k=te(w),A=re(w),_=x-p,D=_>=0?1:-1,F=D*_,C=F>ce,z=g*k;if(u.add(Fn(z*D*te(F),y*A+z*re(F))),o+=C?_+D*zt:_,C^p>=n^x>=n){var P=Bo(Da(h),Da(b));Kc(P);var U=Bo(a,P);Kc(U);var E=(C^_>=0?-1:1)*Xt(U[2]);(r>E||r===E&&(P[0]||P[1]))&&(l+=C^_>=0?1:-1)}}return(o<-1e-6||o<1e-6&&u<-1e-12)^l&1}function q_(e,t,n,r){return function(i){var a=t(i),o=P_(),l=t(o),u=!1,s,c,f,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=v,d.lineEnd=b,c=[],s=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,c=bx(c);var x=$N(s,r);c.length?(u||(u=(i.polygonStart(),!0)),j_(c,MN,x,n,i)):x&&(u||(u=(i.polygonStart(),!0)),i.lineStart(),n(null,null,1,i),i.lineEnd()),u&&(u=(i.polygonEnd(),!1)),c=s=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(x,w){e(x,w)&&i.point(x,w)}function p(x,w){a.point(x,w)}function m(){d.point=p,a.lineStart()}function g(){d.point=h,a.lineEnd()}function y(x,w){f.push([x,w]),l.point(x,w)}function v(){l.lineStart(),f=[]}function b(){y(f[0][0],f[0][1]),l.lineEnd();var x=l.clean(),w=o.result(),k,A=w.length,_,D,F;if(f.pop(),s.push(f),f=null,A){if(x&1){if(D=w[0],(_=D.length-1)>0){for(u||(u=(i.polygonStart(),!0)),i.lineStart(),k=0;k<_;++k)i.point((F=D[k])[0],F[1]);i.lineEnd()}return}A>1&&x&2&&w.push(w.pop().concat(w.shift())),c.push(w.filter(SN))}}return d}}function SN(e){return e.length>1}function MN(e,t){return((e=e.x)[0]<0?e[1]-Ue-_e:Ue-e[1])-((t=t.x)[0]<0?t[1]-Ue-_e:Ue-t[1])}var U_=q_(function(){return!0},BN,ON,[-ce,-Ue]);function BN(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var l=a>0?ce:-ce,u=pe(a-t);pe(u-ce)<1e-6?(e.point(t,n=(n+o)/2>0?Ue:-Ue),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),e.point(a,n),i=0):r!==l&&u>=ce&&(pe(t-r)<1e-6&&(t-=r*_e),pe(a-l)<1e-6&&(a-=l*_e),n=zN(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),i=0),e.point(t=a,n=o),r=l},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function zN(e,t,n,r){var i,a,o=te(e-n);return pe(o)>1e-6?Mo((te(t)*(a=re(r))*te(n)-te(r)*(i=re(t))*te(e))/(i*a*o)):(t+r)/2}function ON(e,t,n,r){var i;if(e==null)i=n*Ue,r.point(-ce,i),r.point(0,i),r.point(ce,i),r.point(ce,0),r.point(ce,-i),r.point(0,-i),r.point(-ce,-i),r.point(-ce,0),r.point(-ce,i);else if(pe(e[0]-t[0])>1e-6){var a=e[0]<t[0]?ce:-ce;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function NN(e){var t=re(e),n=2*se,r=t>0,i=pe(t)>_e;function a(c,f,d,h){EN(h,e,n,d,c,f)}function o(c,f){return re(c)*re(f)>t}function l(c){var f,d,h,p,m;return{lineStart:function(){p=h=!1,m=1},point:function(g,y){var v=[g,y],b,x=o(g,y),w=r?x?0:s(g,y):x?s(g+(g<0?ce:-ce),y):0;if(!f&&(p=h=x)&&c.lineStart(),x!==h&&(b=u(f,v),(!b||lf(f,b)||lf(v,b))&&(v[2]=1)),x!==h)m=0,x?(c.lineStart(),b=u(v,f),c.point(b[0],b[1])):(b=u(f,v),c.point(b[0],b[1],2),c.lineEnd()),f=b;else if(i&&f&&r^x){var k;!(w&d)&&(k=u(v,f,!0))&&(m=0,r?(c.lineStart(),c.point(k[0][0],k[0][1]),c.point(k[1][0],k[1][1]),c.lineEnd()):(c.point(k[1][0],k[1][1]),c.lineEnd(),c.lineStart(),c.point(k[0][0],k[0][1],3)))}x&&(!f||!lf(f,v))&&c.point(v[0],v[1]),f=v,h=x,d=w},lineEnd:function(){h&&c.lineEnd(),f=null},clean:function(){return m|(p&&h)<<1}}}function u(c,f,d){var h=Da(c),p=Da(f),m=[1,0,0],g=Bo(h,p),y=Jc(g,g),v=g[0],b=y-v*v;if(!b)return!d&&c;var x=t*y/b,w=-t*v/b,k=Bo(m,g),A=Qc(m,x),_=Qc(g,w);P0(A,_);var D=k,F=Jc(A,D),C=Jc(D,D),z=F*F-C*(Jc(A,A)-1);if(!(z<0)){var P=Ot(z),U=Qc(D,(-F-P)/C);if(P0(U,A),U=Xc(U),!d)return U;var E=c[0],O=f[0],J=c[1],oe=f[1],le;O<E&&(le=E,E=O,O=le);var tt=O-E,Gt=pe(tt-ce)<_e,ir=Gt||tt<1e-6;if(!Gt&&oe<J&&(le=J,J=oe,oe=le),ir?Gt?J+oe>0^U[1]<(pe(U[0]-E)<1e-6?J:oe):J<=U[1]&&U[1]<=oe:tt>ce^(E<=U[0]&&U[0]<=O)){var gn=Qc(D,(-F+P)/C);return P0(gn,A),[U,Xc(gn)]}}}function s(c,f){var d=r?e:ce-e,h=0;return c<-d?h|=1:c>d&&(h|=2),f<-d?h|=4:f>d&&(h|=8),h}return q_(o,l,a,r?[0,-e]:[-ce,e-ce])}function RN(e,t,n,r,i,a){var o=e[0],l=e[1],u=t[0],s=t[1],c=0,f=1,d=u-o,h=s-l,p=n-o;if(!(!d&&p>0)){if(p/=d,d<0){if(p<c)return;p<f&&(f=p)}else if(d>0){if(p>f)return;p>c&&(c=p)}if(p=i-o,!(!d&&p<0)){if(p/=d,d<0){if(p>f)return;p>c&&(c=p)}else if(d>0){if(p<c)return;p<f&&(f=p)}if(p=r-l,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<f&&(f=p)}else if(h>0){if(p>f)return;p>c&&(c=p)}if(p=a-l,!(!h&&p<0)){if(p/=h,h<0){if(p>f)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<f&&(f=p)}return c>0&&(e[0]=o+c*d,e[1]=l+c*h),f<1&&(t[0]=o+f*d,t[1]=l+f*h),!0}}}}}var lu=1e9,sf=-lu;function I_(e,t,n,r){function i(s,c){return e<=s&&s<=n&&t<=c&&c<=r}function a(s,c,f,d){var h=0,p=0;if(s==null||(h=o(s,f))!==(p=o(c,f))||u(s,c)<0^f>0)do d.point(h===0||h===3?e:n,h>1?r:t);while((h=(h+f+4)%4)!==p);else d.point(c[0],c[1])}function o(s,c){return pe(s[0]-e)<1e-6?c>0?0:3:pe(s[0]-n)<1e-6?c>0?2:1:pe(s[1]-t)<1e-6?c>0?1:0:c>0?3:2}function l(s,c){return u(s.x,c.x)}function u(s,c){var f=o(s,1),d=o(c,1);return f===d?f===0?c[1]-s[1]:f===1?s[0]-c[0]:f===2?s[1]-c[1]:c[0]-s[0]:f-d}return function(s){var c=s,f=P_(),d,h,p,m,g,y,v,b,x,w,k,A={point:_,lineStart:z,lineEnd:P,polygonStart:F,polygonEnd:C};function _(E,O){i(E,O)&&c.point(E,O)}function D(){for(var E=0,O=0,J=h.length;O<J;++O)for(var oe=h[O],le=1,tt=oe.length,Gt=oe[0],ir,gn,oa=Gt[0],Br=Gt[1];le<tt;++le)ir=oa,gn=Br,Gt=oe[le],oa=Gt[0],Br=Gt[1],gn<=r?Br>r&&(oa-ir)*(r-gn)>(Br-gn)*(e-ir)&&++E:Br<=r&&(oa-ir)*(r-gn)<(Br-gn)*(e-ir)&&--E;return E}function F(){c=f,d=[],h=[],k=!0}function C(){var E=D(),O=k&&E,J=(d=bx(d)).length;(O||J)&&(s.polygonStart(),O&&(s.lineStart(),a(null,null,1,s),s.lineEnd()),J&&j_(d,l,E,a,s),s.polygonEnd()),c=s,d=h=p=null}function z(){A.point=U,h&&h.push(p=[]),w=!0,x=!1,v=b=NaN}function P(){d&&(U(m,g),y&&x&&f.rejoin(),d.push(f.result())),A.point=_,x&&c.lineEnd()}function U(E,O){var J=i(E,O);if(h&&p.push([E,O]),w)m=E,g=O,y=J,w=!1,J&&(c.lineStart(),c.point(E,O));else if(J&&x)c.point(E,O);else{var oe=[v=Math.max(sf,Math.min(lu,v)),b=Math.max(sf,Math.min(lu,b))],le=[E=Math.max(sf,Math.min(lu,E)),O=Math.max(sf,Math.min(lu,O))];RN(oe,le,e,t,n,r)?(x||(c.lineStart(),c.point(oe[0],oe[1])),c.point(le[0],le[1]),J||c.lineEnd(),k=!1):J&&(c.lineStart(),c.point(E,O),k=!1)}v=E,b=O,x=J}return A}}function W_(e,t,n){var r=an(e,t-_e,n).concat(t);return function(i){return r.map(function(a){return[i,a]})}}function H_(e,t,n){var r=an(e,t-_e,n).concat(t);return function(i){return r.map(function(a){return[a,i]})}}function TN(){var e,t,n,r,i,a,o,l,u=10,s=u,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return an(Wc(r/c)*c,n,c).map(p).concat(an(Wc(l/f)*f,o,f).map(m)).concat(an(Wc(t/u)*u,e,u).filter(function(b){return pe(b%c)>_e}).map(d)).concat(an(Wc(a/s)*s,i,s).filter(function(b){return pe(b%f)>_e}).map(h))}return y.lines=function(){return v().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(o).slice(1),p(n).reverse().slice(1),m(l).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],l=+b[0][1],o=+b[1][1],r>n&&(b=r,r=n,n=b),l>o&&(b=l,l=o,o=b),y.precision(g)):[[r,l],[n,o]]},y.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],a=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),a>i&&(b=a,a=i,i=b),y.precision(g)):[[t,a],[e,i]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.stepMinor=function(b){return arguments.length?(u=+b[0],s=+b[1],y):[u,s]},y.precision=function(b){return arguments.length?(g=+b,d=W_(a,i,90),h=H_(t,e,g),p=W_(l,o,90),m=H_(r,n,g),y):g},y.extentMajor([[-180,-90+_e],[180,90-_e]]).extentMinor([[-180,-80-_e],[180,80+_e]])}var uu=e=>e,V0=new St,Y0=new St,G_,V_,X0,J0,Hi={point:dt,lineStart:dt,lineEnd:dt,polygonStart:function(){Hi.lineStart=PN,Hi.lineEnd=LN},polygonEnd:function(){Hi.lineStart=Hi.lineEnd=Hi.point=dt,V0.add(pe(Y0)),Y0=new St},result:function(){var e=V0/2;return V0=new St,e}};function PN(){Hi.point=jN}function jN(e,t){Hi.point=Y_,G_=X0=e,V_=J0=t}function Y_(e,t){Y0.add(J0*e-X0*t),X0=e,J0=t}function LN(){Y_(G_,V_)}var X_=Hi,Oo=1/0,cf=Oo,su=-Oo,ff=su,qN={point:UN,lineStart:dt,lineEnd:dt,polygonStart:dt,polygonEnd:dt,result:function(){var e=[[Oo,cf],[su,ff]];return su=ff=-(cf=Oo=1/0),e}};function UN(e,t){e<Oo&&(Oo=e),e>su&&(su=e),t<cf&&(cf=t),t>ff&&(ff=t)}var df=qN,Q0=0,K0=0,cu=0,hf=0,pf=0,No=0,Z0=0,eg=0,fu=0,J_,Q_,yr,vr,Wn={point:Ca,lineStart:K_,lineEnd:Z_,polygonStart:function(){Wn.lineStart=HN,Wn.lineEnd=GN},polygonEnd:function(){Wn.point=Ca,Wn.lineStart=K_,Wn.lineEnd=Z_},result:function(){var e=fu?[Z0/fu,eg/fu]:No?[hf/No,pf/No]:cu?[Q0/cu,K0/cu]:[NaN,NaN];return Q0=K0=cu=hf=pf=No=Z0=eg=fu=0,e}};function Ca(e,t){Q0+=e,K0+=t,++cu}function K_(){Wn.point=IN}function IN(e,t){Wn.point=WN,Ca(yr=e,vr=t)}function WN(e,t){var n=e-yr,r=t-vr,i=Ot(n*n+r*r);hf+=i*(yr+e)/2,pf+=i*(vr+t)/2,No+=i,Ca(yr=e,vr=t)}function Z_(){Wn.point=Ca}function HN(){Wn.point=VN}function GN(){eD(J_,Q_)}function VN(e,t){Wn.point=eD,Ca(J_=yr=e,Q_=vr=t)}function eD(e,t){var n=e-yr,r=t-vr,i=Ot(n*n+r*r);hf+=i*(yr+e)/2,pf+=i*(vr+t)/2,No+=i,i=vr*e-yr*t,Z0+=i*(yr+e),eg+=i*(vr+t),fu+=i*3,Ca(yr=e,vr=t)}var tD=Wn;function nD(e){this._context=e}nD.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,zt);break}},result:dt};var tg=new St,ng,rD,iD,du,hu,mf={point:dt,lineStart:function(){mf.point=YN},lineEnd:function(){ng&&aD(rD,iD),mf.point=dt},polygonStart:function(){ng=!0},polygonEnd:function(){ng=null},result:function(){var e=+tg;return tg=new St,e}};function YN(e,t){mf.point=aD,rD=du=e,iD=hu=t}function aD(e,t){du-=e,hu-=t,tg.add(Ot(du*du+hu*hu)),du=e,hu=t}var oD=mf,lD,gf,uD,sD,cD=class{constructor(e){this._append=e==null?fD:XN(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!==uD||this._append!==gf){let n=this._radius,r=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,uD=n,gf=this._append,sD=this._,this._=r}this._+=sD;break}}result(){let e=this._;return this._="",e.length?e:null}};function fD(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function XN(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return fD;if(t!==lD){let n=10**t;lD=t,gf=function(r){let i=1;this._+=r[0];for(let a=r.length;i<a;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}return gf}function dD(e,t){let n=3,r=4.5,i,a;function o(l){return l&&(typeof r=="function"&&a.pointRadius(+r.apply(this,arguments)),Hr(l,i(a))),a.result()}return o.area=function(l){return Hr(l,i(X_)),X_.result()},o.measure=function(l){return Hr(l,i(oD)),oD.result()},o.bounds=function(l){return Hr(l,i(df)),df.result()},o.centroid=function(l){return Hr(l,i(tD)),tD.result()},o.projection=function(l){return arguments.length?(i=l==null?(e=null,uu):(e=l).stream,o):e},o.context=function(l){return arguments.length?(a=l==null?(t=null,new cD(n)):new nD(t=l),typeof r!="function"&&a.pointRadius(r),o):t},o.pointRadius=function(l){return arguments.length?(r=typeof l=="function"?l:(a.pointRadius(+l),+l),o):r},o.digits=function(l){if(!arguments.length)return n;if(l==null)n=null;else{let u=Math.floor(l);if(!(u>=0))throw RangeError(`invalid digits: ${l}`);n=u}return t===null&&(a=new cD(n)),o},o.projection(e).digits(n).context(t)}function yf(e){return function(t){var n=new rg;for(var r in e)n[r]=e[r];return n.stream=t,n}}function rg(){}rg.prototype={constructor:rg,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 ig(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Hr(n,e.stream(df)),t(df.result()),r!=null&&e.clipExtent(r),e}function vf(e,t,n){return ig(e,function(r){var i=t[1][0]-t[0][0],a=t[1][1]-t[0][1],o=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),l=+t[0][0]+(i-o*(r[1][0]+r[0][0]))/2,u=+t[0][1]+(a-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([l,u])},n)}function ag(e,t,n){return vf(e,[[0,0],t],n)}function og(e,t,n){return ig(e,function(r){var i=+t,a=i/(r[1][0]-r[0][0]),o=(i-a*(r[1][0]+r[0][0]))/2,l=-a*r[0][1];e.scale(150*a).translate([o,l])},n)}function lg(e,t,n){return ig(e,function(r){var i=+t,a=i/(r[1][1]-r[0][1]),o=-a*r[0][0],l=(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,l])},n)}var hD=16,JN=re(30*se);function pD(e,t){return+t?KN(e,t):QN(e)}function QN(e){return yf({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function KN(e,t){function n(r,i,a,o,l,u,s,c,f,d,h,p,m,g){var y=s-r,v=c-i,b=y*y+v*v;if(b>4*t&&m--){var x=o+d,w=l+h,k=u+p,A=Ot(x*x+w*w+k*k),_=Xt(k/=A),D=pe(pe(k)-1)<1e-6||pe(a-f)<1e-6?(a+f)/2:Fn(w,x),F=e(D,_),C=F[0],z=F[1],P=C-r,U=z-i,E=v*P-y*U;(E*E/b>t||pe((y*P+v*U)/b-.5)>.3||o*d+l*h+u*p<JN)&&(n(r,i,a,o,l,u,C,z,D,x/=A,w/=A,k,m,g),g.point(C,z),n(C,z,D,x,w,k,s,c,f,d,h,p,m,g))}}return function(r){var i,a,o,l,u,s,c,f,d,h,p,m,g={point:y,lineStart:v,lineEnd:x,polygonStart:function(){r.polygonStart(),g.lineStart=w},polygonEnd:function(){r.polygonEnd(),g.lineStart=v}};function y(_,D){_=e(_,D),r.point(_[0],_[1])}function v(){f=NaN,g.point=b,r.lineStart()}function b(_,D){var F=Da([_,D]),C=e(_,D);n(f,d,c,h,p,m,f=C[0],d=C[1],c=_,h=F[0],p=F[1],m=F[2],hD,r),r.point(f,d)}function x(){g.point=y,r.lineEnd()}function w(){v(),g.point=k,g.lineEnd=A}function k(_,D){b(i=_,D),a=f,o=d,l=h,u=p,s=m,g.point=b}function A(){n(f,d,c,h,p,m,a,o,i,l,u,s,hD,r),g.lineEnd=x,x()}return g}}var ZN=yf({point:function(e,t){this.stream.point(e*se,t*se)}});function eR(e){return yf({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function tR(e,t,n,r,i){function a(o,l){return o*=r,l*=i,[t+e*o,n-e*l]}return a.invert=function(o,l){return[(o-t)/e*r,(n-l)/e*i]},a}function mD(e,t,n,r,i,a){if(!a)return tR(e,t,n,r,i);var o=re(a),l=te(a),u=o*e,s=l*e,c=o/e,f=l/e,d=(l*n-o*t)/e,h=(l*t+o*n)/e;function p(m,g){return m*=r,g*=i,[u*m-s*g+t,n-s*m-u*g]}return p.invert=function(m,g){return[r*(c*m-f*g+d),i*(h-f*m-c*g)]},p}function br(e){return gD(function(){return e})()}function gD(e){var t,n=150,r=480,i=250,a=0,o=0,l=0,u=0,s=0,c,f=0,d=1,h=1,p=null,m=U_,g=null,y,v,b,x=uu,w=.5,k,A,_,D,F;function C(E){return _(E[0]*se,E[1]*se)}function z(E){return E=_.invert(E[0],E[1]),E&&[E[0]*Ve,E[1]*Ve]}C.stream=function(E){return D&&F===E?D:D=ZN(eR(c)(m(k(x(F=E)))))},C.preclip=function(E){return arguments.length?(m=E,p=void 0,U()):m},C.postclip=function(E){return arguments.length?(x=E,g=y=v=b=null,U()):x},C.clipAngle=function(E){return arguments.length?(m=+E?NN(p=E*se):(p=null,U_),U()):p*Ve},C.clipExtent=function(E){return arguments.length?(x=E==null?(g=y=v=b=null,uu):I_(g=+E[0][0],y=+E[0][1],v=+E[1][0],b=+E[1][1]),U()):g==null?null:[[g,y],[v,b]]},C.scale=function(E){return arguments.length?(n=+E,P()):n},C.translate=function(E){return arguments.length?(r=+E[0],i=+E[1],P()):[r,i]},C.center=function(E){return arguments.length?(a=E[0]%360*se,o=E[1]%360*se,P()):[a*Ve,o*Ve]},C.rotate=function(E){return arguments.length?(l=E[0]%360*se,u=E[1]%360*se,s=E.length>2?E[2]%360*se:0,P()):[l*Ve,u*Ve,s*Ve]},C.angle=function(E){return arguments.length?(f=E%360*se,P()):f*Ve},C.reflectX=function(E){return arguments.length?(d=E?-1:1,P()):d<0},C.reflectY=function(E){return arguments.length?(h=E?-1:1,P()):h<0},C.precision=function(E){return arguments.length?(k=pD(A,w=E*E),U()):Ot(w)},C.fitExtent=function(E,O){return vf(C,E,O)},C.fitSize=function(E,O){return ag(C,E,O)},C.fitWidth=function(E,O){return og(C,E,O)},C.fitHeight=function(E,O){return lg(C,E,O)};function P(){var E=mD(n,0,0,d,h,f).apply(null,t(a,o)),O=mD(n,r-E[0],i-E[1],d,h,f);return c=z_(l,u,s),A=W0(t,O),_=W0(c,A),k=pD(A,w),U()}function U(){return D=F=null,C}return function(){return t=e.apply(this,arguments),C.invert=t.invert&&z,P()}}function ug(e){var t=0,n=ce/3,r=gD(e),i=r(t,n);return i.parallels=function(a){return arguments.length?r(t=a[0]*se,n=a[1]*se):[t*Ve,n*Ve]},i}function nR(e){var t=re(e);function n(r,i){return[r*t,te(i)/t]}return n.invert=function(r,i){return[r/t,Xt(i*t)]},n}function rR(e,t){var n=te(e),r=(n+te(t))/2;if(pe(r)<1e-6)return nR(e);var i=1+n*(2*r-n),a=Ot(i)/r;function o(l,u){var s=Ot(i-2*r*te(u))/r;return[s*te(l*=r),a-s*re(l)]}return o.invert=function(l,u){var s=a-u,c=Fn(l,pe(s))*Cn(s);return s*r<0&&(c-=ce*Cn(l)*Cn(s)),[c/r,Xt((i-(l*l+s*s)*r*r)/(2*r))]},o}function bf(){return ug(rR).scale(155.424).center([0,33.6442])}function yD(){return bf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function iR(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 aR(){var e,t,n=yD(),r,i=bf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=bf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l,u,s={point:function(d,h){u=[d,h]}};function c(d){var h=d[0],p=d[1];return u=null,r.point(h,p),u||(a.point(h,p),u)||(l.point(h,p),u)}c.invert=function(d){var h=n.scale(),p=n.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?o:n).invert(d)},c.stream=function(d){return e&&t===d?e:e=iR([n.stream(t=d),i.stream(d),o.stream(d)])},c.precision=function(d){return arguments.length?(n.precision(d),i.precision(d),o.precision(d),f()):n.precision()},c.scale=function(d){return arguments.length?(n.scale(d),i.scale(d*.35),o.scale(d),c.translate(n.translate())):n.scale()},c.translate=function(d){if(!arguments.length)return n.translate();var h=n.scale(),p=+d[0],m=+d[1];return r=n.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(s),a=i.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+_e,m+.12*h+_e],[p-.214*h-_e,m+.234*h-_e]]).stream(s),l=o.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+_e,m+.166*h+_e],[p-.115*h-_e,m+.234*h-_e]]).stream(s),f()},c.fitExtent=function(d,h){return vf(c,d,h)},c.fitSize=function(d,h){return ag(c,d,h)},c.fitWidth=function(d,h){return og(c,d,h)},c.fitHeight=function(d,h){return lg(c,d,h)};function f(){return e=t=null,c}return c.scale(1070)}function vD(e){return function(t,n){var r=re(t),i=re(n),a=e(r*i);return a===1/0?[2,0]:[a*i*te(t),a*te(n)]}}function pu(e){return function(t,n){var r=Ot(t*t+n*n),i=e(r),a=te(i),o=re(i);return[Fn(t*a,r*o),Xt(r&&n*a/r)]}}var bD=vD(function(e){return Ot(2/(1+e))});bD.invert=pu(function(e){return 2*Xt(e/2)});function oR(){return br(bD).scale(124.75).clipAngle(179.999)}var xD=vD(function(e){return(e=p_(e))&&e/te(e)});xD.invert=pu(function(e){return e});function lR(){return br(xD).scale(79.4188).clipAngle(179.999)}function xf(e,t){return[e,Hc(z0((Ue+t)/2))]}xf.invert=function(e,t){return[e,2*Mo(h_(t))-Ue]};function uR(){return wD(xf).scale(961/zt)}function wD(e){var t=br(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,l,u,s;t.scale=function(f){return arguments.length?(r(f),c()):r()},t.translate=function(f){return arguments.length?(i(f),c()):i()},t.center=function(f){return arguments.length?(n(f),c()):n()},t.clipExtent=function(f){return arguments.length?(f==null?o=l=u=s=null:(o=+f[0][0],l=+f[0][1],u=+f[1][0],s=+f[1][1]),c()):o==null?null:[[o,l],[u,s]]};function c(){var f=ce*r(),d=t(CN(t.rotate()).invert([0,0]));return a(o==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===xf?[[Math.max(d[0]-f,o),l],[Math.min(d[0]+f,u),s]]:[[o,Math.max(d[1]-f,l)],[u,Math.min(d[1]+f,s)]])}return c()}function wf(e){return z0((Ue+e)/2)}function sR(e,t){var n=re(e),r=e===t?te(e):Hc(n/re(t))/Hc(wf(t)/wf(e)),i=n*B0(wf(e),r)/r;if(!r)return xf;function a(o,l){i>0?l<-Ue+1e-6&&(l=-Ue+_e):l>Ue-1e-6&&(l=Ue-_e);var u=i/B0(wf(l),r);return[u*te(r*o),i-u*re(r*o)]}return a.invert=function(o,l){var u=i-l,s=Cn(r)*Ot(o*o+u*u),c=Fn(o,pe(u))*Cn(u);return u*r<0&&(c-=ce*Cn(o)*Cn(u)),[c/r,2*Mo(B0(i/s,1/r))-Ue]},a}function cR(){return ug(sR).scale(109.5).parallels([30,30])}function Af(e,t){return[e,t]}Af.invert=Af;function fR(){return br(Af).scale(152.63)}function dR(e,t){var n=re(e),r=e===t?te(e):(n-re(t))/(t-e),i=n/r+e;if(pe(r)<1e-6)return Af;function a(o,l){var u=i-l,s=r*o;return[u*te(s),i-u*re(s)]}return a.invert=function(o,l){var u=i-l,s=Fn(o,pe(u))*Cn(u);return u*r<0&&(s-=ce*Cn(o)*Cn(u)),[s/r,i-Cn(r)*Ot(o*o+u*u)]},a}function hR(){return ug(dR).scale(131.154).center([0,13.9389])}var mu=1.340264,gu=-.081106,yu=893e-6,vu=.003796,kf=Ot(3)/2,pR=12;function AD(e,t){var n=Xt(kf*te(t)),r=n*n,i=r*r*r;return[e*re(n)/(kf*(mu+3*gu*r+i*(7*yu+9*vu*r))),n*(mu+gu*r+i*(yu+vu*r))]}AD.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,l,u;a<pR&&(l=n*(mu+gu*r+i*(yu+vu*r))-t,u=mu+3*gu*r+i*(7*yu+9*vu*r),n-=o=l/u,r=n*n,i=r*r*r,!(pe(o)<1e-12));++a);return[kf*e*(mu+3*gu*r+i*(7*yu+9*vu*r))/re(n),Xt(te(n)/kf)]};function mR(){return br(AD).scale(177.158)}function kD(e,t){var n=re(t),r=re(e)*n;return[n*te(e)/r,te(t)/r]}kD.invert=pu(Mo);function gR(){return br(kD).scale(144.049).clipAngle(60)}function yR(){var e=1,t=0,n=0,r=1,i=1,a=0,o,l,u=null,s,c,f,d=1,h=1,p=yf({point:function(x,w){var k=b([x,w]);this.stream.point(k[0],k[1])}}),m=uu,g,y;function v(){return d=e*r,h=e*i,g=y=null,b}function b(x){var w=x[0]*d,k=x[1]*h;if(a){var A=k*o-w*l;w=w*o+k*l,k=A}return[w+t,k+n]}return b.invert=function(x){var w=x[0]-t,k=x[1]-n;if(a){var A=k*o+w*l;w=w*o-k*l,k=A}return[w/d,k/h]},b.stream=function(x){return g&&y===x?g:g=p(m(y=x))},b.postclip=function(x){return arguments.length?(m=x,u=s=c=f=null,v()):m},b.clipExtent=function(x){return arguments.length?(m=x==null?(u=s=c=f=null,uu):I_(u=+x[0][0],s=+x[0][1],c=+x[1][0],f=+x[1][1]),v()):u==null?null:[[u,s],[c,f]]},b.scale=function(x){return arguments.length?(e=+x,v()):e},b.translate=function(x){return arguments.length?(t=+x[0],n=+x[1],v()):[t,n]},b.angle=function(x){return arguments.length?(a=x%360*se,l=te(a),o=re(a),v()):a*Ve},b.reflectX=function(x){return arguments.length?(r=x?-1:1,v()):r<0},b.reflectY=function(x){return arguments.length?(i=x?-1:1,v()):i<0},b.fitExtent=function(x,w){return vf(b,x,w)},b.fitSize=function(x,w){return ag(b,x,w)},b.fitWidth=function(x,w){return og(b,x,w)},b.fitHeight=function(x,w){return lg(b,x,w)},b}function _D(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)))]}_D.invert=function(e,t){var n=t,r=25,i;do{var a=n*n,o=a*a;n-=i=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.015085*3+o*(-.044475*7+.028874*9*a-.005916*11*o)))}while(pe(i)>1e-6&&--r>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function vR(){return br(_D).scale(175.295)}function DD(e,t){return[re(t)*te(e),te(t)]}DD.invert=pu(Xt);function bR(){return br(DD).scale(249.5).clipAngle(90+_e)}function FD(e,t){var n=re(t),r=1+re(e)*n;return[n*te(e)/r,te(t)/r]}FD.invert=pu(function(e){return 2*Mo(e)});function xR(){return br(FD).scale(250).clipAngle(142)}function CD(e,t){return[Hc(z0((Ue+t)/2)),-e]}CD.invert=function(e,t){return[-t,2*Mo(h_(e))-Ue]};function wR(){var e=wD(CD),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}var AR=Math.abs,sg=Math.cos,_f=Math.sin,Ro=Math.PI,cg=Ro/2;Ro/4;var ED=kR(2);Ro*2,180/Ro,Ro/180;function $D(e){return e>1?cg:e<-1?-cg:Math.asin(e)}function kR(e){return e>0?Math.sqrt(e):0}function _R(e,t){var n=e*_f(t),r=30,i;do t-=i=(t+_f(t)-n)/(1+sg(t));while(AR(i)>1e-6&&--r>0);return t/2}function DR(e,t,n){function r(i,a){return[e*i*sg(a=_R(n,a)),t*_f(a)]}return r.invert=function(i,a){return a=$D(a/t),[i/(e*sg(a)),$D((2*a+_f(2*a))/n)]},r}var FR=DR(ED/cg,ED,Ro);function CR(){return br(FR).scale(169.529)}var ER=dD(),fg=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function $R(e,t){return function n(){let r=t();return r.type=e,r.path=dD().projection(r),r.copy=r.copy||function(){let i=n();return fg.forEach(a=>{r[a]&&i[a](r[a]())}),i.path.pointRadius(r.path.pointRadius()),i},$w(r)}}function dg(e,t){if(!e||typeof e!="string")throw Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(Df[e]=$R(e,t),this):Df[e]||null}function SD(e){return e&&e.path||ER}var Df={albers:yD,albersusa:aR,azimuthalequalarea:oR,azimuthalequidistant:lR,conicconformal:cR,conicequalarea:bf,conicequidistant:hR,equalEarth:mR,equirectangular:fR,gnomonic:gR,identity:yR,mercator:uR,mollweide:CR,naturalEarth1:vR,orthographic:bR,stereographic:xR,transversemercator:wR};for(let e in Df)dg(e,Df[e]);var SR=rn({contour:()=>gg,geojson:()=>bg,geopath:()=>xg,geopoint:()=>wg,geoshape:()=>Ag,graticule:()=>kg,heatmap:()=>_g,isocontour:()=>hg,kde2d:()=>mg,projection:()=>PD});function MR(){}var Yr=[[],[[[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 MD(){var e=1,t=1,n=l;function r(u,s){return s.map(c=>i(u,c))}function i(u,s){var c=[],f=[];return a(u,s,d=>{n(d,u,s),BR(d)>0?c.push([d]):f.push(d)}),f.forEach(d=>{for(var h=0,p=c.length,m;h<p;++h)if(zR((m=c[h])[0],d)!==-1){m.push(d);return}}),{type:"MultiPolygon",value:s,coordinates:c}}function a(u,s,c){var f=[],d=[],h=p=-1,p,m,g=u[0]>=s,y,v;for(Yr[g<<1].forEach(b);++h<e-1;)m=g,g=u[h+1]>=s,Yr[m|g<<1].forEach(b);for(Yr[g<<0].forEach(b);++p<t-1;){for(h=-1,g=u[p*e+e]>=s,y=u[p*e]>=s,Yr[g<<1|y<<2].forEach(b);++h<e-1;)m=g,g=u[p*e+e+h+1]>=s,v=y,y=u[p*e+h+1]>=s,Yr[m|g<<1|y<<2|v<<3].forEach(b);Yr[g|y<<3].forEach(b)}for(h=-1,y=u[p*e]>=s,Yr[y<<2].forEach(b);++h<e-1;)v=y,y=u[p*e+h+1]>=s,Yr[y<<2|v<<3].forEach(b);Yr[y<<3].forEach(b);function b(x){var w=[x[0][0]+h,x[0][1]+p],k=[x[1][0]+h,x[1][1]+p],A=o(w),_=o(k),D,F;(D=d[A])?(F=f[_])?(delete d[D.end],delete f[F.start],D===F?(D.ring.push(k),c(D.ring)):f[D.start]=d[F.end]={start:D.start,end:F.end,ring:D.ring.concat(F.ring)}):(delete d[D.end],D.ring.push(k),d[D.end=_]=D):(D=f[_])?(F=d[A])?(delete f[D.start],delete d[F.end],D===F?(D.ring.push(k),c(D.ring)):f[F.start]=d[D.end]={start:F.start,end:D.end,ring:F.ring.concat(D.ring)}):(delete f[D.start],D.ring.unshift(w),f[D.start=A]=D):f[A]=d[_]={start:A,end:_,ring:[w,k]}}}function o(u){return u[0]*2+u[1]*(e+1)*4}function l(u,s,c){u.forEach(f=>{var d=f[0],h=f[1],p=d|0,m=h|0,g,y=s[m*e+p];d>0&&d<e&&p===d&&(g=s[m*e+p-1],f[0]=d+(c-g)/(y-g)-.5),h>0&&h<t&&m===h&&(g=s[(m-1)*e+p],f[1]=h+(c-g)/(y-g)-.5)})}return r.contour=i,r.size=function(u){if(!arguments.length)return[e,t];var s=Math.floor(u[0]),c=Math.floor(u[1]);return s>=0&&c>=0||N("invalid size"),e=s,t=c,r},r.smooth=function(u){return arguments.length?(n=u?l:MR,r):n===l},r}function BR(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 zR(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=OR(e,t[n]))return i;return 0}function OR(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,l=o-1;a<o;l=a++){var u=e[a],s=u[0],c=u[1],f=e[l],d=f[0],h=f[1];if(NR(u,f,t))return 0;c>r!=h>r&&n<(d-s)*(r-c)/(h-c)+s&&(i=-i)}return i}function NR(e,t,n){var r;return RR(e,t,n)&&TR(e[r=+(e[0]===t[0])],n[r],t[r])}function RR(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function TR(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function BD(e,t,n){return function(r){var i=or(r),a=n?Math.min(i[0],0):i[0],o=i[1],l=o-a,u=t?ix(a,o,e):l/(e+1);return an(a+u,o,u)}}function hg(e){$.call(this,null,e)}hg.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"}]},W(hg,$,{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||vn,a=MD().smooth(e.smooth!==!1),o=e.thresholds||PR(r,i,e),l=e.as===null?null:e.as||"contour",u=[];return r.forEach(s=>{let c=i(s),f=a.size([c.width,c.height])(c.values,B(o)?o:o(c.values));jR(f,c,s,e),f.forEach(d=>{u.push(qs(s,xe(l==null?d:{[l]:d})))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}});function PR(e,t,n){let r=BD(n.levels||10,n.nice,n.zero!==!1);return n.resolve==="shared"?r(e.map(i=>sa(t(i).values))):r}function jR(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(fe(i)&&(i=i(n,r)),fe(a)&&(a=a(n,r)),(i===1||i==null)&&!a)return;let o=(be(i)?i:i[0])||1,l=(be(i)?i:i[1])||1,u=a&&a[0]||0,s=a&&a[1]||0;e.forEach(zD(t,o,l,u,s))}function zD(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,l=t*n<0;function u(f){f.forEach(s)}function s(f){l&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-a)*t+r,f[1]=(f[1]-o)*n+i}return function(f){return f.coordinates.forEach(u),f}}function OD(e,t,n){let r=e>=0?e:vp(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function pg(e){return fe(e)?e:Et(+e)}function ND(){var e=u=>u[0],t=u=>u[1],n=vl,r=[-1,-1],i=960,a=500,o=2;function l(u,s){let c=OD(r[0],u,e)>>o,f=OD(r[1],u,t)>>o,d=c?c+2:0,h=f?f+2:0,p=2*d+(i>>o),m=2*h+(a>>o),g=new Float32Array(p*m),y=new Float32Array(p*m),v=g;u.forEach(x=>{let w=d+(+e(x)>>o),k=h+(+t(x)>>o);w>=0&&w<p&&k>=0&&k<m&&(g[w+k*p]+=+n(x))}),c>0&&f>0?(To(p,m,g,y,c),Po(p,m,y,g,f),To(p,m,g,y,c),Po(p,m,y,g,f),To(p,m,g,y,c),Po(p,m,y,g,f)):c>0?(To(p,m,g,y,c),To(p,m,y,g,c),To(p,m,g,y,c),v=y):f>0&&(Po(p,m,g,y,f),Po(p,m,y,g,f),Po(p,m,g,y,f),v=y);let b=s?2**(-2*o):1/xx(v);for(let x=0,w=p*m;x<w;++x)v[x]*=b;return{values:v,scale:1<<o,width:p,height:m,x1:d,y1:h,x2:d+(i>>o),y2:h+(a>>o)}}return l.x=function(u){return arguments.length?(e=pg(u),l):e},l.y=function(u){return arguments.length?(t=pg(u),l):t},l.weight=function(u){return arguments.length?(n=pg(u),l):n},l.size=function(u){if(!arguments.length)return[i,a];var s=+u[0],c=+u[1];return s>=0&&c>=0||N("invalid size"),i=s,a=c,l},l.cellSize=function(u){return arguments.length?((u=+u)>=1||N("invalid cell size"),o=Math.floor(Math.log(u)/Math.LN2),l):1<<o},l.bandwidth=function(u){return arguments.length?(u=G(u),u.length===1&&(u=[+u[0],+u[0]]),u.length!==2&&N("invalid bandwidth"),r=u,l):r},l}function To(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let l=0,u=0;l<e+i;++l)l<e&&(u+=n[l+o*e]),l>=i&&(l>=a&&(u-=n[l-a+o*e]),r[l-i+o*e]=u/Math.min(l+1,e-1+a-l,a))}function Po(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let l=0,u=0;l<t+i;++l)l<t&&(u+=n[o+l*e]),l>=i&&(l>=a&&(u-=n[o+(l-a)*e]),r[o+(l-i)*e]=u/Math.min(l+1,t-1+a-l,a))}function mg(e){$.call(this,null,e)}mg.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 LR=["x","y","weight","size","cellSize","bandwidth"];function RD(e,t){return LR.forEach(n=>t[n]==null?0:e[n](t[n])),e}W(mg,$,{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=qR(r,e.groupby),a=(e.groupby||[]).map(qe),o=RD(ND(),e),l=e.as||"grid",u=[];function s(c,f){for(let d=0;d<a.length;++d)c[a[d]]=f[d];return c}return u=i.map(c=>xe(s({[l]:o(c,e.counts)},c.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}});function qR(e,t){var n=[],r=c=>c(l),i,a,o,l,u,s;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],u=t.map(r),s=i[u],s||(i[u]=s=[],s.dims=u,n.push(s)),s.push(l);return n}function gg(e){$.call(this,null,e)}gg.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}]},W(gg,$,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=MD().smooth(e.smooth!==!1),i=e.values,a=e.thresholds||BD(e.count||10,e.nice,!!i),o=e.size,l,u;return i||(i=(i=t.materialize(t.SOURCE).source,l=RD(ND(),e)(i,!0),u=zD(l,l.scale||1,l.scale||1,0,0),o=[l.width,l.height],l.values)),a=B(a)?a:a(i),i=r.size(o)(i,a),u&&i.forEach(u),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(xe),n}});var yg="Feature",vg="FeatureCollection",UR="MultiPoint";function bg(e){$.call(this,null,e)}bg.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},W(bg,$,{transform(e,t){var n=this._features,r=this._points,i=e.fields,a=i&&i[0],o=i&&i[1],l=e.geojson||!i&&vn,u=t.ADD,s=e.modified()||t.changed(t.REM)||t.modified(Ct(l))||a&&t.modified(Ct(a))||o&&t.modified(Ct(o));(!this.value||s)&&(u=t.SOURCE,this._features=n=[],this._points=r=[]),l&&t.visit(u,c=>n.push(l(c))),a&&o&&(t.visit(u,c=>{var f=a(c),d=o(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&r.push([f,d])}),n=n.concat({type:yg,geometry:{type:UR,coordinates:r}})),this.value={type:vg,features:n}}});function xg(e){$.call(this,null,e)}xg.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"}]},W(xg,$,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||vn,a=e.as||"path",o=n.SOURCE;!r||e.modified()?(this.value=r=SD(e.projection),n.materialize().reflow()):o=i===vn||t.modified(i.fields)?n.ADD_MOD:n.ADD;let l=IR(r,e.pointRadius);return n.visit(o,u=>u[a]=r(i(u))),r.pointRadius(l),n.modifies(a)}});function IR(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function wg(e){$.call(this,null,e)}wg.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"]}]},W(wg,$,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||["x","y"],o=a[0],l=a[1],u;function s(c){let f=n([r(c),i(c)]);f?(c[o]=f[0],c[l]=f[1]):(c[o]=void 0,c[l]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,s):(u=t.modified(r.fields)||t.modified(i.fields),t.visit(u?t.ADD_MOD:t.ADD,s)),t.modifies(a)}});function Ag(e){$.call(this,null,e)}Ag.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"}]},W(Ag,$,{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=WR(SD(e.projection),e.field||zr("datum"),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,o=>o[i]=r),n.modifies(i)}});function WR(e,t,n){let r=n==null?i=>e(t(i)):i=>{var a=e.pointRadius(),o=e.pointRadius(n)(t(i));return e.pointRadius(a),o};return r.context=i=>(e.context(i),r),r}function kg(e){$.call(this,[],e),this.generator=TN()}kg.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}]},W(kg,$,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let a in e)fe(r[a])&&r[a](e[a]);return i=r(),n.length?t.mod.push(a2(n[0],i)):t.add.push(xe(i)),n[0]=i,t}});function _g(e){$.call(this,null,e)}_g.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"}]},W(_g,$,{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||vn,a=GR(e.opacity,e),o=HR(e.color,e),l=e.as||"image",u={$x:0,$y:0,$value:0,$max:r?sa(n.map(s=>sa(i(s).values))):0};return n.forEach(s=>{let c=i(s),f=de({},s,u);r||(f.$max=sa(c.values||[])),s[l]=VR(c,f,o.dep?o:Et(o(f)),a.dep?a:Et(a(f)))}),t.reflow(!0).modifies(l)}});function HR(e,t){let n;return fe(e)?(n=r=>ws(e(r,t)),n.dep=TD(e)):n=Et(ws(e||"#888")),n}function GR(e,t){let n;return fe(e)?(n=r=>e(r,t),n.dep=TD(e)):e?n=Et(e):(n=r=>r.$value/r.$max||0,n.dep=!0),n}function TD(e){if(!fe(e))return!1;let t=ar(Ct(e));return t.$x||t.$y||t.$value||t.$max}function VR(e,t,n,r){let i=e.width,a=e.height,o=e.x1||0,l=e.y1||0,u=e.x2||i,s=e.y2||a,c=e.values,f=c?g=>c[g]:Sh,d=$i(u-o,s-l),h=d.getContext("2d"),p=h.getImageData(0,0,u-o,s-l),m=p.data;for(let g=l,y=0;g<s;++g){t.$y=g-l;for(let v=o,b=g*i;v<u;++v,y+=4){t.$x=v-o,t.$value=f(v+b);let x=n(t);m[y+0]=x.r,m[y+1]=x.g,m[y+2]=x.b,m[y+3]=~~(255*r(t))}}return h.putImageData(p,0,0),d}function PD(e){$.call(this,null,e),this.modified(!0)}W(PD,$,{transform(e,t){let n=this.value;return!n||e.modified("type")?(this.value=n=XR(e.type),fg.forEach(r=>{e[r]!=null&&jD(n,r,e[r])})):fg.forEach(r=>{e.modified(r)&&jD(n,r,e[r])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&YR(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function YR(e,t){let n=JR(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function XR(e){let t=dg((e||"mercator").toLowerCase());return t||N("Unrecognized projection type: "+e),t()}function jD(e,t,n){fe(e[t])&&e[t](n)}function JR(e){return e=G(e),e.length===1?e[0]:{type:vg,features:e.reduce((t,n)=>t.concat(QR(n)),[])}}function QR(e){return e.type===vg?e.features:G(e).filter(t=>t!=null).map(t=>t.type===yg?t:{type:yg,geometry:t})}function KR(e,t){var n,r=1;e??(e=0),t??(t=0);function i(){var a,o=n.length,l,u=0,s=0;for(a=0;a<o;++a)l=n[a],u+=l.x,s+=l.y;for(u=(u/o-e)*r,s=(s/o-t)*r,a=0;a<o;++a)l=n[a],l.x-=u,l.y-=s}return i.initialize=function(a){n=a},i.x=function(a){return arguments.length?(e=+a,i):e},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(r=+a,i):r},i}function ZR(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return LD(this.cover(t,n),t,n,e)}function LD(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},l=e._x0,u=e._y0,s=e._x1,c=e._y1,f,d,h,p,m,g,y,v;if(!a)return e._root=o,e;for(;a.length;)if((m=t>=(f=(l+s)/2))?l=f:s=f,(g=n>=(d=(u+c)/2))?u=d:c=d,i=a,!(a=a[y=g<<1|m]))return i[y]=o,e;if(h=+e._x.call(null,a.data),p=+e._y.call(null,a.data),t===h&&n===p)return o.next=a,i?i[y]=o:e._root=o,e;do i=i?i[y]=[,,,,]:e._root=[,,,,],(m=t>=(f=(l+s)/2))?l=f:s=f,(g=n>=(d=(u+c)/2))?u=d:c=d;while((y=g<<1|m)==(v=(p>=d)<<1|h>=f));return i[v]=a,i[y]=o,e}function eT(e){var t,n,r=e.length,i,a,o=Array(r),l=Array(r),u=1/0,s=1/0,c=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,l[n]=a,i<u&&(u=i),i>c&&(c=i),a<s&&(s=a),a>f&&(f=a));if(u>c||s>f)return this;for(this.cover(u,s).cover(c,f),n=0;n<r;++n)LD(this,o[n],l[n],e[n]);return this}function tT(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,l=this._root,u,s;n>e||e>=i||r>t||t>=a;)switch(s=(t<r)<<1|e<n,u=[,,,,],u[s]=l,l=u,o*=2,s){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=l)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function nT(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function rT(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 Pt(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function iT(e,t,n){var r,i=this._x0,a=this._y0,o,l,u,s,c=this._x1,f=this._y1,d=[],h=this._root,p,m;for(h&&d.push(new Pt(h,i,a,c,f)),n==null?n=1/0:(i=e-n,a=t-n,c=e+n,f=t+n,n*=n);p=d.pop();)if(!(!(h=p.node)||(o=p.x0)>c||(l=p.y0)>f||(u=p.x1)<i||(s=p.y1)<a))if(h.length){var g=(o+u)/2,y=(l+s)/2;d.push(new Pt(h[3],g,y,u,s),new Pt(h[2],o,y,g,s),new Pt(h[1],g,l,u,y),new Pt(h[0],o,l,g,y)),(m=(t>=y)<<1|e>=g)&&(p=d[d.length-1],d[d.length-1]=d[d.length-1-m],d[d.length-1-m]=p)}else{var v=e-+this._x.call(null,h.data),b=t-+this._y.call(null,h.data),x=v*v+b*b;if(x<n){var w=Math.sqrt(n=x);i=e-w,a=t-w,c=e+w,f=t+w,r=h.data}}return r}function aT(e){if(isNaN(c=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,l=this._y0,u=this._x1,s=this._y1,c,f,d,h,p,m,g,y;if(!n)return this;if(n.length)for(;;){if((p=c>=(d=(o+u)/2))?o=d:u=d,(m=f>=(h=(l+s)/2))?l=h:s=h,t=n,!(n=n[g=m<<1|p]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,y=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=a,this)}function oT(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function lT(){return this._root}function uT(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function sT(e){var t=[],n,r=this._root,i,a,o,l,u;for(r&&t.push(new Pt(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,l=n.x1,u=n.y1)&&r.length){var s=(a+l)/2,c=(o+u)/2;(i=r[3])&&t.push(new Pt(i,s,c,l,u)),(i=r[2])&&t.push(new Pt(i,a,c,s,u)),(i=r[1])&&t.push(new Pt(i,s,o,l,c)),(i=r[0])&&t.push(new Pt(i,a,o,s,c))}return this}function cT(e){var t=[],n=[],r;for(this._root&&t.push(new Pt(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,l=r.y0,u=r.x1,s=r.y1,c=(o+u)/2,f=(l+s)/2;(a=i[0])&&t.push(new Pt(a,o,l,c,f)),(a=i[1])&&t.push(new Pt(a,c,l,u,f)),(a=i[2])&&t.push(new Pt(a,o,f,c,s)),(a=i[3])&&t.push(new Pt(a,c,f,u,s))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function fT(e){return e[0]}function dT(e){return arguments.length?(this._x=e,this):this._x}function hT(e){return e[1]}function pT(e){return arguments.length?(this._y=e,this):this._y}function Dg(e,t,n){var r=new Fg(t??fT,n??hT,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function Fg(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 qD(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var jt=Dg.prototype=Fg.prototype;jt.copy=function(){var e=new Fg(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=qD(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]=qD(r));return e},jt.add=ZR,jt.addAll=eT,jt.cover=tT,jt.data=nT,jt.extent=rT,jt.find=iT,jt.remove=aT,jt.removeAll=oT,jt.root=lT,jt.size=uT,jt.visit=sT,jt.visitAfter=cT,jt.x=dT,jt.y=pT;function Lt(e){return function(){return e}}function Gi(e){return(e()-.5)*1e-6}function mT(e){return e.x+e.vx}function gT(e){return e.y+e.vy}function yT(e){var t,n,r,i=1,a=1;typeof e!="function"&&(e=Lt(e==null?1:+e));function o(){for(var s,c=t.length,f,d,h,p,m,g,y=0;y<a;++y)for(f=Dg(t,mT,gT).visitAfter(l),s=0;s<c;++s)d=t[s],m=n[d.index],g=m*m,h=d.x+d.vx,p=d.y+d.vy,f.visit(v);function v(b,x,w,k,A){var _=b.data,D=b.r,F=m+D;if(_){if(_.index>d.index){var C=h-_.x-_.vx,z=p-_.y-_.vy,P=C*C+z*z;P<F*F&&(C===0&&(C=Gi(r),P+=C*C),z===0&&(z=Gi(r),P+=z*z),P=(F-(P=Math.sqrt(P)))/P*i,d.vx+=(C*=P)*(F=(D*=D)/(g+D)),d.vy+=(z*=P)*F,_.vx-=C*(F=1-F),_.vy-=z*F)}return}return x>h+F||k<h-F||w>p+F||A<p-F}}function l(s){if(s.data)return s.r=n[s.data.index];for(var c=s.r=0;c<4;++c)s[c]&&s[c].r>s.r&&(s.r=s[c].r)}function u(){if(t){var s,c=t.length,f;for(n=Array(c),s=0;s<c;++s)f=t[s],n[f.index]=+e(f,s,t)}}return o.initialize=function(s,c){t=s,r=c,u()},o.iterations=function(s){return arguments.length?(a=+s,o):a},o.strength=function(s){return arguments.length?(i=+s,o):i},o.radius=function(s){return arguments.length?(e=typeof s=="function"?s:Lt(+s),u(),o):e},o}function vT(e){return e.index}function UD(e,t){var n=e.get(t);if(!n)throw Error("node not found: "+t);return n}function bT(e){var t=vT,n=f,r,i=Lt(30),a,o,l,u,s,c=1;e??(e=[]);function f(g){return 1/Math.min(l[g.source.index],l[g.target.index])}function d(g){for(var y=0,v=e.length;y<c;++y)for(var b=0,x,w,k,A,_,D,F;b<v;++b)x=e[b],w=x.source,k=x.target,A=k.x+k.vx-w.x-w.vx||Gi(s),_=k.y+k.vy-w.y-w.vy||Gi(s),D=Math.sqrt(A*A+_*_),D=(D-a[b])/D*g*r[b],A*=D,_*=D,k.vx-=A*(F=u[b]),k.vy-=_*F,w.vx+=A*(F=1-F),w.vy+=_*F}function h(){if(o){var g,y=o.length,v=e.length,b=new Map(o.map((w,k)=>[t(w,k,o),w])),x;for(g=0,l=Array(y);g<v;++g)x=e[g],x.index=g,typeof x.source!="object"&&(x.source=UD(b,x.source)),typeof x.target!="object"&&(x.target=UD(b,x.target)),l[x.source.index]=(l[x.source.index]||0)+1,l[x.target.index]=(l[x.target.index]||0)+1;for(g=0,u=Array(v);g<v;++g)x=e[g],u[g]=l[x.source.index]/(l[x.source.index]+l[x.target.index]);r=Array(v),p(),a=Array(v),m()}}function p(){if(o)for(var g=0,y=e.length;g<y;++g)r[g]=+n(e[g],g,e)}function m(){if(o)for(var g=0,y=e.length;g<y;++g)a[g]=+i(e[g],g,e)}return d.initialize=function(g,y){o=g,s=y,h()},d.links=function(g){return arguments.length?(e=g,h(),d):e},d.id=function(g){return arguments.length?(t=g,d):t},d.iterations=function(g){return arguments.length?(c=+g,d):c},d.strength=function(g){return arguments.length?(n=typeof g=="function"?g:Lt(+g),p(),d):n},d.distance=function(g){return arguments.length?(i=typeof g=="function"?g:Lt(+g),m(),d):i},d}var xT=1664525,wT=1013904223,ID=4294967296;function AT(){let e=1;return()=>(e=(xT*e+wT)%ID)/ID}function kT(e){return e.x}function _T(e){return e.y}var DT=10,FT=Math.PI*(3-Math.sqrt(5));function CT(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,l=new Map,u=bS(f),s=pS("tick","end"),c=AT();e??(e=[]);function f(){d(),s.call("tick",t),n<r&&(u.stop(),s.call("end",t))}function d(m){var g,y=e.length,v;m===void 0&&(m=1);for(var b=0;b<m;++b)for(n+=(a-n)*i,l.forEach(function(x){x(n)}),g=0;g<y;++g)v=e[g],v.fx==null?v.x+=v.vx*=o:(v.x=v.fx,v.vx=0),v.fy==null?v.y+=v.vy*=o:(v.y=v.fy,v.vy=0);return t}function h(){for(var m=0,g=e.length,y;m<g;++m){if(y=e[m],y.index=m,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var v=DT*Math.sqrt(.5+m),b=m*FT;y.x=v*Math.cos(b),y.y=v*Math.sin(b)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function p(m){return m.initialize&&m.initialize(e,c),m}return h(),t={tick:d,restart:function(){return u.restart(f),t},stop:function(){return u.stop(),t},nodes:function(m){return arguments.length?(e=m,h(),l.forEach(p),t):e},alpha:function(m){return arguments.length?(n=+m,t):n},alphaMin:function(m){return arguments.length?(r=+m,t):r},alphaDecay:function(m){return arguments.length?(i=+m,t):+i},alphaTarget:function(m){return arguments.length?(a=+m,t):a},velocityDecay:function(m){return arguments.length?(o=1-m,t):1-o},randomSource:function(m){return arguments.length?(c=m,l.forEach(p),t):c},force:function(m,g){return arguments.length>1?(g==null?l.delete(m):l.set(m,p(g)),t):l.get(m)},find:function(m,g,y){var v=0,b=e.length,x,w,k,A,_;for(y==null?y=1/0:y*=y,v=0;v<b;++v)A=e[v],x=m-A.x,w=g-A.y,k=x*x+w*w,k<y&&(_=A,y=k);return _},on:function(m,g){return arguments.length>1?(s.on(m,g),t):s.on(m)}}}function ET(){var e,t,n,r,i=Lt(-30),a,o=1,l=1/0,u=.81;function s(h){var p,m=e.length,g=Dg(e,kT,_T).visitAfter(f);for(r=h,p=0;p<m;++p)t=e[p],g.visit(d)}function c(){if(e){var h,p=e.length,m;for(a=Array(p),h=0;h<p;++h)m=e[h],a[m.index]=+i(m,h,e)}}function f(h){var p=0,m,g,y=0,v,b,x;if(h.length){for(v=b=x=0;x<4;++x)(m=h[x])&&(g=Math.abs(m.value))&&(p+=m.value,y+=g,v+=g*m.x,b+=g*m.y);h.x=v/y,h.y=b/y}else{m=h,m.x=m.data.x,m.y=m.data.y;do p+=a[m.data.index];while(m=m.next)}h.value=p}function d(h,p,m,g){if(!h.value)return!0;var y=h.x-t.x,v=h.y-t.y,b=g-p,x=y*y+v*v;if(b*b/u<x)return x<l&&(y===0&&(y=Gi(n),x+=y*y),v===0&&(v=Gi(n),x+=v*v),x<o&&(x=Math.sqrt(o*x)),t.vx+=y*h.value*r/x,t.vy+=v*h.value*r/x),!0;if(!(h.length||x>=l)){(h.data!==t||h.next)&&(y===0&&(y=Gi(n),x+=y*y),v===0&&(v=Gi(n),x+=v*v),x<o&&(x=Math.sqrt(o*x)));do h.data!==t&&(b=a[h.data.index]*r/x,t.vx+=y*b,t.vy+=v*b);while(h=h.next)}}return s.initialize=function(h,p){e=h,n=p,c()},s.strength=function(h){return arguments.length?(i=typeof h=="function"?h:Lt(+h),c(),s):i},s.distanceMin=function(h){return arguments.length?(o=h*h,s):Math.sqrt(o)},s.distanceMax=function(h){return arguments.length?(l=h*h,s):Math.sqrt(l)},s.theta=function(h){return arguments.length?(u=h*h,s):Math.sqrt(u)},s}function $T(e){var t=Lt(.1),n,r,i;typeof e!="function"&&(e=Lt(e==null?0:+e));function a(l){for(var u=0,s=n.length,c;u<s;++u)c=n[u],c.vx+=(i[u]-c.x)*r[u]*l}function o(){if(n){var l,u=n.length;for(r=Array(u),i=Array(u),l=0;l<u;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Lt(+l),o(),a):t},a.x=function(l){return arguments.length?(e=typeof l=="function"?l:Lt(+l),o(),a):e},a}function ST(e){var t=Lt(.1),n,r,i;typeof e!="function"&&(e=Lt(e==null?0:+e));function a(l){for(var u=0,s=n.length,c;u<s;++u)c=n[u],c.vy+=(i[u]-c.y)*r[u]*l}function o(){if(n){var l,u=n.length;for(r=Array(u),i=Array(u),l=0;l<u;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Lt(+l),o(),a):t},a.y=function(l){return arguments.length?(e=typeof l=="function"?l:Lt(+l),o(),a):e},a}var MT=rn({force:()=>Eg}),WD={center:KR,collide:yT,nbody:ET,link:bT,x:$T,y:ST},bu="forces",Cg=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],BT=["static","iterations"],HD=["x","y","vx","vy"];function Eg(e){$.call(this,null,e)}Eg.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:HD}]},W(Eg,$,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(Cg),a=e.iterations||300;if(n?(r&&(t.modifies("index"),n.nodes(t.source)),(i||t.changed(t.MOD))&&GD(n,e,0,t)):(this.value=n=OT(t.source,e),n.on("tick",zT(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies("index")),i||r||e.modified(BT)||t.changed()&&e.restart){if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-n.alphaMin()**(1/a)),e.static)for(n.stop();--a>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let l=this._argops,u=0,s=l.length,c;u<s;++u)if(c=l[u],!(c.name!==bu||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(HD)}});function zT(e,t){return()=>e.touch(t).run()}function OT(e,t){let n=CT(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),GD(n,t,!0).on("end",()=>a=!0)}function GD(e,t,n,r){var i=G(t.forces),a,o,l,u;for(a=0,o=Cg.length;a<o;++a)l=Cg[a],l!==bu&&t.modified(l)&&e[l](t[l]);for(a=0,o=i.length;a<o;++a)u=bu+a,l=n||t.modified(bu,a)?RT(i[a]):r&&NT(i[a],r)?e.force(u):null,l&&e.force(u,l);for(o=e.numForces||0;a<o;++a)e.force(bu+a,null);return e.numForces=i.length,e}function NT(e,t){var n,r;for(n in e)if(fe(r=e[n])&&t.modified(Ct(r)))return 1;return 0}function RT(e){var t,n;for(n in X(WD,e.force)||N("Unrecognized force: "+e.force),t=WD[e.force](),e)fe(t[n])&&TT(t[n],e[n],e);return t}function TT(e,t,n){e(fe(t)?r=>t(r,n):t)}function PT(e,t){return e.parent===t.parent?1:2}function jT(e){return e.reduce(LT,0)/e.length}function LT(e,t){return e+t.x}function qT(e){return 1+e.reduce(UT,0)}function UT(e,t){return Math.max(e,t.y)}function IT(e){for(var t;t=e.children;)e=t[0];return e}function WT(e){for(var t;t=e.children;)e=t[t.length-1];return e}function HT(){var e=PT,t=1,n=1,r=!1;function i(a){var o,l=0;a.eachAfter(function(d){var h=d.children;h?(d.x=jT(h),d.y=qT(h)):(d.x=o?l+=e(d,o):0,d.y=0,o=d)});var u=IT(a),s=WT(a),c=u.x-e(u,s)/2,f=s.x+e(s,u)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*t,d.y=(a.y-d.y)*n}:function(d){d.x=(d.x-c)/(f-c)*t,d.y=(1-(a.y?d.y/a.y:1))*n})}return i.separation=function(a){return arguments.length?(e=a,i):e},i.size=function(a){return arguments.length?(r=!1,t=+a[0],n=+a[1],i):r?null:[t,n]},i.nodeSize=function(a){return arguments.length?(r=!0,t=+a[0],n=+a[1],i):r?[t,n]:null},i}var GT=1664525,VT=1013904223,VD=4294967296;function YT(){let e=1;return()=>(e=(GT*e+VT)%VD)/VD}function XT(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function JT(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 QT(e,t){for(var n=0,r=(e=JT(Array.from(e),t)).length,i=[],a,o;n<r;)a=e[n],o&&YD(o,a)?++n:(o=ZT(i=KT(i,a)),n=0);return o}function KT(e,t){var n,r;if($g(t,e))return[t];for(n=0;n<e.length;++n)if(Ff(t,e[n])&&$g(xu(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(Ff(xu(e[n],e[r]),t)&&Ff(xu(e[n],t),e[r])&&Ff(xu(e[r],t),e[n])&&$g(XD(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}function Ff(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 YD(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 $g(e,t){for(var n=0;n<t.length;++n)if(!YD(e,t[n]))return!1;return!0}function ZT(e){switch(e.length){case 1:return eP(e[0]);case 2:return xu(e[0],e[1]);case 3:return XD(e[0],e[1],e[2])}}function eP(e){return{x:e.x,y:e.y,r:e.r}}function xu(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,l=t.r,u=a-n,s=o-r,c=l-i,f=Math.sqrt(u*u+s*s);return{x:(n+a+u/f*c)/2,y:(r+o+s/f*c)/2,r:(f+i+l)/2}}function XD(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,l=t.y,u=t.r,s=n.x,c=n.y,f=n.r,d=r-o,h=r-s,p=i-l,m=i-c,g=u-a,y=f-a,v=r*r+i*i-a*a,b=v-o*o-l*l+u*u,x=v-s*s-c*c+f*f,w=h*p-d*m,k=(p*x-m*b)/(w*2)-r,A=(m*g-p*y)/w,_=(h*b-d*x)/(w*2)-i,D=(d*y-h*g)/w,F=A*A+D*D-1,C=2*(a+k*A+_*D),z=k*k+_*_-a*a,P=-(Math.abs(F)>1e-6?(C+Math.sqrt(C*C-4*F*z))/(2*F):z/C);return{x:r+k+A*P,y:i+_+D*P,r:P}}function JD(e,t,n){var r=e.x-t.x,i,a,o=e.y-t.y,l,u,s=r*r+o*o;s?(a=t.r+n.r,a*=a,u=e.r+n.r,u*=u,a>u?(i=(s+u-a)/(2*s),l=Math.sqrt(Math.max(0,u/s-i*i)),n.x=e.x-i*r-l*o,n.y=e.y-i*o+l*r):(i=(s+a-u)/(2*s),l=Math.sqrt(Math.max(0,a/s-i*i)),n.x=t.x+i*r-l*o,n.y=t.y+i*o+l*r)):(n.x=t.x+n.r,n.y=t.y)}function QD(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 KD(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 Cf(e){this._=e,this.next=null,this.previous=null}function tP(e,t){if(!(a=(e=XT(e)).length))return 0;var n=e[0],r,i,a,o,l,u,s,c,f,d;if(n.x=0,n.y=0,!(a>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;JD(r,n,i=e[2]),n=new Cf(n),r=new Cf(r),i=new Cf(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(u=3;u<a;++u){JD(n._,r._,i=e[u]),i=new Cf(i),s=r.next,c=n.previous,f=r._.r,d=n._.r;do if(f<=d){if(QD(s._,i._)){r=s,n.next=r,r.previous=n,--u;continue e}f+=s._.r,s=s.next}else{if(QD(c._,i._)){n=c,n.next=r,r.previous=n,--u;continue e}d+=c._.r,c=c.previous}while(s!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=KD(n);(i=i.next)!==r;)(l=KD(i))<o&&(n=i,o=l);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=QT(n,t),u=0;u<a;++u)n=e[u],n.x-=i.x,n.y-=i.y;return i.r}function nP(e){return Math.sqrt(e.value)}function rP(){var e=null,t=1,n=1,r=hx;function i(a){let o=YT();return a.x=t/2,a.y=n/2,e?a.eachBefore(ZD(e)).eachAfter(Sg(r,.5,o)).eachBefore(eF(1)):a.eachBefore(ZD(nP)).eachAfter(Sg(hx,1,o)).eachAfter(Sg(r,a.r/Math.min(t,n),o)).eachBefore(eF(Math.min(t,n)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(e=ks(a),i):e},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(r=typeof a=="function"?a:YS(+a),i):r},i}function ZD(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function Sg(e,t,n){return function(r){if(i=r.children){var i,a,o=i.length,l=e(r)*t||0,u;if(l)for(a=0;a<o;++a)i[a].r+=l;if(u=tP(i,n),l)for(a=0;a<o;++a)i[a].r-=l;r.r=u+l}}}function eF(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 iP(){var e=1,t=1,n=0,r=!1;function i(o){var l=o.height+1;return o.x0=o.y0=n,o.x1=e,o.y1=t/l,o.eachBefore(a(t,l)),r&&o.eachBefore(KS),o}function a(o,l){return function(u){u.children&&As(u,u.x0,o*(u.depth+1)/l,u.x1,o*(u.depth+2)/l);var s=u.x0,c=u.y0,f=u.x1-n,d=u.y1-n;f<s&&(s=f=(s+f)/2),d<c&&(c=d=(c+d)/2),u.x0=s,u.y0=c,u.x1=f,u.y1=d}}return i.round=function(o){return arguments.length?(r=!!o,i):r},i.size=function(o){return arguments.length?(e=+o[0],t=+o[1],i):[e,t]},i.padding=function(o){return arguments.length?(n=+o,i):n},i}var aP={depth:-1},tF={},Mg={};function oP(e){return e.id}function lP(e){return e.parentId}function nF(){var e=oP,t=lP,n;function r(i){var a=Array.from(i),o=e,l=t,u,s,c,f,d,h,p,m,g=new Map;if(n!=null){let y=a.map((x,w)=>uP(n(x,w,i))),v=y.map(rF),b=new Set(y).add("");for(let x of v)b.has(x)||(b.add(x),y.push(x),v.push(rF(x)),a.push(Mg));o=(x,w)=>y[w],l=(x,w)=>v[w]}for(c=0,u=a.length;c<u;++c)s=a[c],h=a[c]=new px(s),(p=o(s,c,i))!=null&&(p+="")&&(m=h.id=p,g.set(m,g.has(m)?tF:h)),(p=l(s,c,i))!=null&&(p+="")&&(h.parent=p);for(c=0;c<u;++c)if(h=a[c],p=h.parent){if(d=g.get(p),!d)throw Error("missing: "+p);if(d===tF)throw Error("ambiguous: "+p);d.children?d.children.push(h):d.children=[h],h.parent=d}else{if(f)throw Error("multiple roots");f=h}if(!f)throw Error("no root");if(n!=null){for(;f.data===Mg&&f.children.length===1;)f=f.children[0],--u;for(let y=a.length-1;y>=0&&(h=a[y],h.data===Mg);--y)h.data=null}if(f.parent=aP,f.eachBefore(function(y){y.depth=y.parent.depth+1,--u}).eachBefore(GS),f.parent=null,u>0)throw Error("cycle");return f}return r.id=function(i){return arguments.length?(e=ks(i),r):e},r.parentId=function(i){return arguments.length?(t=ks(i),r):t},r.path=function(i){return arguments.length?(n=ks(i),r):n},r}function uP(e){e=`${e}`;let t=e.length;return Bg(e,t-1)&&!Bg(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function rF(e){let t=e.length;if(t<2)return"";for(;--t>1&&!Bg(e,t););return e.slice(0,t)}function Bg(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function sP(e,t){return e.parent===t.parent?1:2}function zg(e){var t=e.children;return t?t[0]:e.t}function Og(e){var t=e.children;return t?t[t.length-1]:e.t}function cP(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 fP(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 dP(e,t,n){return e.a.parent===t.parent?e.a:n}function Ef(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}Ef.prototype=Object.create(px.prototype);function hP(e){for(var t=new Ef(e,0),n,r=[t],i,a,o,l;n=r.pop();)if(a=n._.children)for(n.children=Array(l=a.length),o=l-1;o>=0;--o)r.push(i=n.children[o]=new Ef(a[o],o)),i.parent=n;return(t.parent=new Ef(null,0)).children=[t],t}function pP(){var e=sP,t=1,n=1,r=null;function i(s){var c=hP(s);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)s.eachBefore(u);else{var f=s,d=s,h=s;s.eachBefore(function(v){v.x<f.x&&(f=v),v.x>d.x&&(d=v),v.depth>h.depth&&(h=v)});var p=f===d?1:e(f,d)/2,m=p-f.x,g=t/(d.x+p+m),y=n/(h.depth||1);s.eachBefore(function(v){v.x=(v.x+m)*g,v.y=v.depth*y})}return s}function a(s){var c=s.children,f=s.parent.children,d=s.i?f[s.i-1]:null;if(c){fP(s);var h=(c[0].z+c[c.length-1].z)/2;d?(s.z=d.z+e(s._,d._),s.m=s.z-h):s.z=h}else d&&(s.z=d.z+e(s._,d._));s.parent.A=l(s,d,s.parent.A||f[0])}function o(s){s._.x=s.z+s.parent.m,s.m+=s.parent.m}function l(s,c,f){if(c){for(var d=s,h=s,p=c,m=d.parent.children[0],g=d.m,y=h.m,v=p.m,b=m.m,x;p=Og(p),d=zg(d),p&&d;)m=zg(m),h=Og(h),h.a=s,x=p.z+v-d.z-g+e(p._,d._),x>0&&(cP(dP(p,s,f),s,x),g+=x,y+=x),v+=p.m,g+=d.m,b+=m.m,y+=h.m;p&&!Og(h)&&(h.t=p,h.m+=v-y),d&&!zg(m)&&(m.t=d,m.m+=g-b,f=s)}return f}function u(s){s.x*=t,s.y=s.depth*n}return i.separation=function(s){return arguments.length?(e=s,i):e},i.size=function(s){return arguments.length?(r=!1,t=+s[0],n=+s[1],i):r?null:[t,n]},i.nodeSize=function(s){return arguments.length?(r=!0,t=+s[0],n=+s[1],i):r?[t,n]:null},i}function mP(e,t,n,r,i){var a=e.children,o,l=a.length,u,s=Array(l+1);for(s[0]=u=o=0;o<l;++o)s[o+1]=u+=a[o].value;c(0,l,e.value,t,n,r,i);function c(f,d,h,p,m,g,y){if(f>=d-1){var v=a[f];v.x0=p,v.y0=m,v.x1=g,v.y1=y;return}for(var b=s[f],x=h/2+b,w=f+1,k=d-1;w<k;){var A=w+k>>>1;s[A]<x?w=A+1:k=A}x-s[w-1]<s[w]-x&&f+1<w&&--w;var _=s[w]-b,D=h-_;if(g-p>y-m){var F=h?(p*D+g*_)/h:g;c(f,w,_,p,m,F,y),c(w,d,D,F,m,g,y)}else{var C=h?(m*D+y*_)/h:y;c(f,w,_,p,m,g,C),c(w,d,D,p,C,g,y)}}}function gP(e,t,n,r,i){(e.depth&1?Uh:As)(e,t,n,r,i)}var yP=(function e(t){function n(r,i,a,o,l){if((u=r._squarify)&&u.ratio===t)for(var u,s,c,f,d=-1,h,p=u.length,m=r.value;++d<p;){for(s=u[d],c=s.children,f=s.value=0,h=c.length;f<h;++f)s.value+=c[f].value;s.dice?As(s,i,a,o,m?a+=(l-a)*s.value/m:l):Uh(s,i,a,m?i+=(o-i)*s.value/m:o,l),m-=s.value}else r._squarify=u=QS(t,r,i,a,o,l),u.ratio=t}return n.ratio=function(r){return e((r=+r)>1?r:1)},n})(XS),vP=rn({nest:()=>Rg,pack:()=>Pg,partition:()=>Lg,stratify:()=>qg,tree:()=>Ig,treelinks:()=>Wg,treemap:()=>Gg});function Ng(e,t,n){let r={};return e.each(i=>{let a=i.data;n(a)&&(r[t(a)]=i)}),e.lookup=r,e}function Rg(e){$.call(this,null,e)}Rg.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};var bP=e=>e.values;W(Rg,$,{transform(e,t){t.source||N("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(o=>{o.children&&Ls(o.data)&&i.rem.push(o.data)}),this.value=a=JS({values:G(e.keys).reduce((o,l)=>(o.key(l),o),xP()).entries(i.source)},bP),n&&a.each(o=>{o.children&&(o=xe(o.data),i.add.push(o),i.source.push(o))}),Ng(a,ee,ee)),i.source.root=a,i}});function xP(){let e=[],t={entries:i=>r(n(i,0),0),key:i=>(e.push(i),t)};function n(i,a){if(a>=e.length)return i;let o=i.length,l=e[a++],u={},s={},c=-1,f,d,h;for(;++c<o;)f=l(d=i[c])+"",(h=u[f])?h.push(d):u[f]=[d];for(f in u)s[f]=n(u[f],a);return s}function r(i,a){if(++a>e.length)return i;let o=[];for(let l in i)o.push({key:l,values:r(i[l],a)});return o}return t}function Xr(e){$.call(this,null,e)}var wP=(e,t)=>e.parent===t.parent?1:2;W(Xr,$,{transform(e,t){(!t.source||!t.source.root)&&N(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(ga(e.sort,o=>o.data)),AP(n,this.params,e),n.separation&&n.separation(e.separation===!1?vl:wP);try{this.value=n(i)}catch(o){N(o)}return i.each(o=>kP(o,r,a)),t.reflow(e.modified()).modifies(a).modifies("leaf")}});function AP(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 kP(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 Tg=["x","y","r","depth","children"];function Pg(e){Xr.call(this,e)}Pg.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:Tg.length,default:Tg}]},W(Pg,Xr,{layout:rP,params:["radius","size","padding"],fields:Tg});var jg=["x0","y0","x1","y1","depth","children"];function Lg(e){Xr.call(this,e)}Lg.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:jg.length,default:jg}]},W(Lg,Xr,{layout:iP,params:["size","round","padding"],fields:jg});function qg(e){$.call(this,null,e)}qg.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},W(qg,$,{transform(e,t){t.source||N("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?Ng(nF().id(e.key).parentId(e.parentKey)(i.source),e.key,bn):Ng(nF()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var iF={tidy:pP,cluster:HT},Ug=["x","y","depth","children"];function Ig(e){Xr.call(this,e)}Ig.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:Ug.length,default:Ug}]},W(Ig,Xr,{layout(e){let t=e||"tidy";if(X(iF,t))return iF[t]();N("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:Ug});function Wg(e){$.call(this,[],e)}Wg.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},W(Wg,$,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||N("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,o=>a[ee(o)]=1),r.each(o=>{let l=o.data,u=o.parent&&o.parent.data;u&&a[ee(l)]&&a[ee(u)]&&i.add.push(xe({source:u,target:l}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,o=>a[ee(o)]=1),n.forEach(o=>{(a[ee(o.source)]||a[ee(o.target)])&&i.mod.push(o)})),i}});var aF={binary:mP,dice:As,slice:Uh,slicedice:gP,squarify:VS,resquarify:yP},Hg=["x0","y0","x1","y1","depth","children"];function Gg(e){Xr.call(this,e)}Gg.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:Hg.length,default:Hg}]},W(Gg,Xr,{layout(){let e=ZS();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{X(aF,t)?e.tile(aF[t]):N("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:Hg});var _P=rn({label:()=>n1}),Vg=4278190080;function DP(e,t){let n=e.bitmap();return(t||[]).forEach(r=>n.set(e(r.boundary[0]),e(r.boundary[3]))),[n,void 0]}function FP(e,t,n,r,i){let a=e.width,o=e.height,l=r||i,u=$i(a,o).getContext("2d"),s=$i(a,o).getContext("2d"),c=l&&$i(a,o).getContext("2d");n.forEach(_=>$f(u,_,!1)),$f(s,t,!1),l&&$f(c,t,!0);let f=Yg(u,a,o),d=Yg(s,a,o),h=l&&Yg(c,a,o),p=e.bitmap(),m=l&&e.bitmap(),g,y,v,b,x,w,k,A;for(y=0;y<o;++y)for(g=0;g<a;++g)x=y*a+g,w=f[x]&Vg,A=d[x]&Vg,k=l&&h[x]&Vg,(w||k||A)&&(v=e(g),b=e(y),!i&&(w||A)&&p.set(v,b),l&&(w||k)&&m.set(v,b));return[p,m]}function Yg(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function $f(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r==="group"?t.forEach(i=>{i.items.forEach(a=>$f(e,a.items,n))}):sn[r].draw(e,{items:n?t.map(CP):t})}function CP(e){let t=qs(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}var Jr=5,qt=31,wu=32,Vi=new Uint32Array(wu+1),Hn=new Uint32Array(wu+1);Hn[0]=0,Vi[0]=~Hn[0];for(let e=1;e<=wu;++e)Hn[e]=Hn[e-1]<<1|1,Vi[e]=~Hn[e];function EP(e,t){let n=new Uint32Array(~~((e*t+wu)/wu));function r(a,o){n[a]|=o}function i(a,o){n[a]&=o}return{array:n,get:(a,o)=>{let l=o*e+a;return n[l>>>Jr]&1<<(l&qt)},set:(a,o)=>{let l=o*e+a;r(l>>>Jr,1<<(l&qt))},clear:(a,o)=>{let l=o*e+a;i(l>>>Jr,~(1<<(l&qt)))},getRange:(a,o,l,u)=>{let s=u,c,f,d,h;for(;s>=o;--s)if(c=s*e+a,f=s*e+l,d=c>>>Jr,h=f>>>Jr,d===h){if(n[d]&Vi[c&qt]&Hn[(f&qt)+1])return!0}else{if(n[d]&Vi[c&qt]||n[h]&Hn[(f&qt)+1])return!0;for(let p=d+1;p<h;++p)if(n[p])return!0}return!1},setRange:(a,o,l,u)=>{let s,c,f,d,h;for(;o<=u;++o)if(s=o*e+a,c=o*e+l,f=s>>>Jr,d=c>>>Jr,f===d)r(f,Vi[s&qt]&Hn[(c&qt)+1]);else for(r(f,Vi[s&qt]),r(d,Hn[(c&qt)+1]),h=f+1;h<d;++h)r(h,4294967295)},clearRange:(a,o,l,u)=>{let s,c,f,d,h;for(;o<=u;++o)if(s=o*e+a,c=o*e+l,f=s>>>Jr,d=c>>>Jr,f===d)i(f,Hn[s&qt]|Vi[(c&qt)+1]);else for(i(f,Hn[s&qt]),i(d,Vi[(c&qt)+1]),h=f+1;h<d;++h)i(h,0)},outOfBounds:(a,o,l,u)=>a<0||o<0||u>=t||l>=e}}function $P(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),o=l=>~~((l+n)/r);return o.invert=l=>l*r-n,o.bitmap=()=>EP(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}function SP(e,t,n,r){let i=e.width,a=e.height;return function(o){let l=o.datum.datum.items[r].items,u=l.length,s=o.datum.fontSize,c=un.width(o.datum,o.datum.text),f=0,d,h,p,m,g,y,v;for(let b=0;b<u;++b)d=l[b].x,p=l[b].y,h=l[b].x2===void 0?d:l[b].x2,m=l[b].y2===void 0?p:l[b].y2,g=(d+h)/2,y=(p+m)/2,v=Math.abs(h-d+m-p),v>=f&&(f=v,o.x=g,o.y=y);return g=c/2,y=s/2,d=o.x-g,h=o.x+g,p=o.y-y,m=o.y+y,o.align="center",d<0&&h<=i?o.align="left":0<=d&&i<h&&(o.align="right"),o.baseline="middle",p<0&&m<=a?o.baseline="top":0<=p&&a<m&&(o.baseline="bottom"),!0}}function Sf(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 Yi(e,t,n,r,i,a,o,l){let u=i*a/(r*2),s=e(t-u),c=e(t+u),f=e(n-(a/=2)),d=e(n+a);return o.outOfBounds(s,f,c,d)||o.getRange(s,f,c,d)||l&&l.getRange(s,f,c,d)}function MP(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1];function u(s,c,f,d,h){let p=e.invert(s),m=e.invert(c),g=f,y=a,v;if(!Sf(p,m,d,h,i,a)&&!Yi(e,p,m,h,d,g,o,l)&&!Yi(e,p,m,h,d,h,o,null)){for(;y-g>=1;)v=(g+y)/2,Yi(e,p,m,h,d,v,o,l)?y=v:g=v;if(g>f)return[p,m,g,!0]}}return function(s){let c=s.datum.datum.items[r].items,f=c.length,d=s.datum.fontSize,h=un.width(s.datum,s.datum.text),p=n?d:0,m=!1,g=!1,y=0,v,b,x,w,k,A,_,D,F,C,z,P,U,E,O,J,oe;for(let le=0;le<f;++le){for(v=c[le].x,x=c[le].y,b=c[le].x2===void 0?v:c[le].x2,w=c[le].y2===void 0?x:c[le].y2,v>b&&(oe=v,v=b,b=oe),x>w&&(oe=x,x=w,w=oe),F=e(v),z=e(b),C=~~((F+z)/2),P=e(x),E=e(w),U=~~((P+E)/2),_=C;_>=F;--_)for(D=U;D>=P;--D)J=u(_,D,p,h,d),J&&([s.x,s.y,p,m]=J);for(_=C;_<=z;++_)for(D=U;D<=E;++D)J=u(_,D,p,h,d),J&&([s.x,s.y,p,m]=J);!m&&!n&&(O=Math.abs(b-v+w-x),k=(v+b)/2,A=(x+w)/2,O>=y&&!Sf(k,A,h,d,i,a)&&!Yi(e,k,A,d,h,d,o,null)&&(y=O,s.x=k,s.y=A,g=!0))}return m||g?(k=h/2,A=d/2,o.setRange(e(s.x-k),e(s.y-A),e(s.x+k),e(s.y+A)),s.align="center",s.baseline="middle",!0):!1}}var BP=[-1,-1,1,1],zP=[-1,1,-1,1];function OP(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],u=e.bitmap();return function(s){let c=s.datum.datum.items[r].items,f=c.length,d=s.datum.fontSize,h=un.width(s.datum,s.datum.text),p=[],m=n?d:0,g=!1,y=!1,v=0,b,x,w,k,A,_,D,F,C,z,P,U;for(let E=0;E<f;++E){for(b=c[E].x,w=c[E].y,x=c[E].x2===void 0?b:c[E].x2,k=c[E].y2===void 0?w:c[E].y2,p.push([e((b+x)/2),e((w+k)/2)]);p.length;)if([D,F]=p.pop(),!(o.get(D,F)||l.get(D,F)||u.get(D,F))){u.set(D,F);for(let O=0;O<4;++O)A=D+BP[O],_=F+zP[O],u.outOfBounds(A,_,A,_)||p.push([A,_]);if(A=e.invert(D),_=e.invert(F),C=m,z=a,!Sf(A,_,h,d,i,a)&&!Yi(e,A,_,d,h,C,o,l)&&!Yi(e,A,_,d,h,d,o,null)){for(;z-C>=1;)P=(C+z)/2,Yi(e,A,_,d,h,P,o,l)?z=P:C=P;C>m&&(s.x=A,s.y=_,m=C,g=!0)}}!g&&!n&&(U=Math.abs(x-b+k-w),A=(b+x)/2,_=(w+k)/2,U>=v&&!Sf(A,_,h,d,i,a)&&!Yi(e,A,_,d,h,d,o,null)&&(v=U,s.x=A,s.y=_,y=!0))}return g||y?(A=h/2,_=d/2,o.setRange(e(s.x-A),e(s.y-_),e(s.x+A),e(s.y+_)),s.align="center",s.baseline="middle",!0):!1}}var NP=["right","center","left"],RP=["bottom","middle","top"];function TP(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],u=r.length;return function(s){let c=s.boundary,f=s.datum.fontSize;if(c[2]<0||c[5]<0||c[0]>i||c[3]>a)return!1;let d=s.textWidth??0,h,p,m,g,y,v,b,x,w,k,A,_,D,F,C;for(let z=0;z<u;++z){if(h=(n[z]&3)-1,p=(n[z]>>>2&3)-1,m=h===0&&p===0||r[z]<0,g=h&&p?Math.SQRT1_2:1,y=r[z]<0?-1:1,v=c[1+h]+r[z]*h*g,A=c[4+p]+y*f*p/2+r[z]*p*g,x=A-f/2,w=A+f/2,_=e(v),F=e(x),C=e(w),!d)if(oF(_,_,F,C,o,l,v,v,x,w,c,m))d=un.width(s.datum,s.datum.text);else continue;if(k=v+y*d*h/2,v=k-d/2,b=k+d/2,_=e(v),D=e(b),oF(_,D,F,C,o,l,v,b,x,w,c,m))return s.x=h?h*y<0?b:v:k,s.y=p?p*y<0?w:x:A,s.align=NP[h*y+1],s.baseline=RP[p*y+1],o.setRange(_,F,D,C),!0}return!1}}function oF(e,t,n,r,i,a,o,l,u,s,c,f){return!(i.outOfBounds(e,n,t,r)||(f&&a||i).getRange(e,n,t,r))}var Xg=0,Jg=4,Qg=8,Kg=0,Zg=1,e1=2,PP={"top-left":Xg+Kg,top:Xg+Zg,"top-right":Xg+e1,left:Jg+Kg,middle:Jg+Zg,right:Jg+e1,"bottom-left":Qg+Kg,bottom:Qg+Zg,"bottom-right":Qg+e1},jP={naive:SP,"reduced-search":MP,floodfill:OP};function LP(e,t,n,r,i,a,o,l,u,s,c){if(!e.length)return e;let f=Math.max(r.length,i.length),d=qP(r,f),h=UP(i,f),p=IP(e[0].datum),m=p==="group"&&e[0].datum.items[u].marktype,g=m==="area",y=WP(p,m,l,u),v=s===null||s===1/0,b=g&&c==="naive",x=-1,w=-1,k=e.map(F=>{let C=v?un.width(F,F.text):void 0;return x=Math.max(x,C),w=Math.max(w,F.fontSize),{datum:F,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(F),textWidth:C}});s=s===null||s===1/0?Math.max(x,w)+Math.max(...r):s;let A=$P(t[0],t[1],s),_;if(!b){n&&k.sort((z,P)=>n(z.datum,P.datum));let F=!1;for(let z=0;z<h.length&&!F;++z)F=h[z]===5||d[z]<0;let C=(p&&o||g)&&e.map(z=>z.datum);_=a.length||C?FP(A,C||[],a,F,g):DP(A,o&&k)}let D=g?jP[c](A,_,o,u):TP(A,_,h,d);return k.forEach(F=>F.opacity=+D(F)),k}function qP(e,t){let n=new Float64Array(t),r=e.length;for(let i=0;i<r;++i)n[i]=e[i]||0;for(let i=r;i<t;++i)n[i]=n[r-1];return n}function UP(e,t){let n=new Int8Array(t),r=e.length;for(let i=0;i<r;++i)n[i]|=PP[e[i]];for(let i=r;i<t;++i)n[i]=n[r-1];return n}function IP(e){return e&&e.mark&&e.mark.marktype}function WP(e,t,n,r){let i=a=>[a.x,a.x,a.x,a.y,a.y,a.y];return e?e==="line"||e==="area"?a=>i(a.datum):t==="line"?a=>{let o=a.datum.items[r].items;return i(o.length?o[n==="start"?0:o.length-1]:{x:NaN,y:NaN})}:a=>{let o=a.datum.bounds;return[o.x1,(o.x1+o.x2)/2,o.x2,o.y1,(o.y1+o.y2)/2,o.y2]}:i}var t1=["x","y","opacity","align","baseline"],lF=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function n1(e){$.call(this,null,e)}n1.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:lF},{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:t1.length,default:t1}]},W(n1,$,{transform(e,t){function n(a){let o=e[a];return fe(o)&&t.modified(o.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n("sort")))return;(!e.size||e.size.length!==2)&&N("Size parameter should be specified as a [width, height] array.");let i=e.as||t1;return LP(t.materialize(t.SOURCE).source||[],e.size,e.sort,G(e.offset==null?1:e.offset),G(e.anchor||lF),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||"end",e.markIndex||0,e.padding===void 0?0:e.padding,e.method||"naive").forEach(a=>{let o=a.datum;o[i[0]]=a.x,o[i[1]]=a.y,o[i[2]]=a.opacity,o[i[3]]=a.align,o[i[4]]=a.baseline}),t.reflow(r).modifies(i)}});var HP=rn({loess:()=>r1,regression:()=>a1});function uF(e,t){var n=[],r=function(c){return c(l)},i,a,o,l,u,s;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],u=t.map(r),s=i[u],s||(i[u]=s=[],s.dims=u,n.push(s)),s.push(l);return n}function r1(e){$.call(this,null,e)}r1.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}]},W(r1,$,{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=uF(r,e.groupby),a=(e.groupby||[]).map(qe),o=a.length,l=e.as||[qe(e.x),qe(e.y)],u=[];i.forEach(s=>{M2(s,e.x,e.y,e.bandwidth||.3).forEach(c=>{let f={};for(let d=0;d<o;++d)f[a[d]]=s.dims[d];f[l[0]]=c[0],f[l[1]]=c[1],u.push(xe(f))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});var i1={constant:Sp,linear:Mp,log:D2,exp:F2,pow:C2,quad:Bp,poly:E2},GP=(e,t)=>e==="poly"?t:e==="quad"?2:1;function a1(e){$.call(this,null,e)}a1.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(i1)},{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}]},W(a1,$,{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=uF(r,e.groupby),a=(e.groupby||[]).map(qe),o=e.method||"linear",l=e.order==null?3:e.order,u=GP(o,l),s=e.as||[qe(e.x),qe(e.y)],c=i1[o],f=[],d=e.extent;X(i1,o)||N("Invalid regression method: "+o),d!=null&&o==="log"&&d[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach(h=>{if(h.length<=u){t.dataflow.warn("Skipping regression with more parameters than data points.");return}let p=c(h,e.x,e.y,l);if(e.params){f.push(xe({keys:h.dims,coef:p.coef,rSquared:p.rSquared}));return}let m=d||or(h,e.x),g=y=>{let v={};for(let b=0;b<a.length;++b)v[a[b]]=h.dims[b];v[s[0]]=y[0],v[s[1]]=y[1],f.push(xe(v))};o==="linear"||o==="constant"?m.forEach(y=>g([y,p.predict(y)])):Qs(p.predict,m,25,200).forEach(g)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});const we=11102230246251565e-32,xt=134217729;(3+8*we)*we;function o1(e,t,n,r,i){let a,o,l,u,s=t[0],c=r[0],f=0,d=0;c>s==c>-s?(a=s,s=t[++f]):(a=c,c=r[++d]);let h=0;if(f<e&&d<n)for(c>s==c>-s?(o=s+a,l=a-(o-s),s=t[++f]):(o=c+a,l=a-(o-c),c=r[++d]),a=o,l!==0&&(i[h++]=l);f<e&&d<n;)c>s==c>-s?(o=a+s,u=o-a,l=a-(o-u)+(s-u),s=t[++f]):(o=a+c,u=o-a,l=a-(o-u)+(c-u),c=r[++d]),a=o,l!==0&&(i[h++]=l);for(;f<e;)o=a+s,u=o-a,l=a-(o-u)+(s-u),s=t[++f],a=o,l!==0&&(i[h++]=l);for(;d<n;)o=a+c,u=o-a,l=a-(o-u)+(c-u),c=r[++d],a=o,l!==0&&(i[h++]=l);return(a!==0||h===0)&&(i[h++]=a),h}function VP(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function T(e){return new Float64Array(e)}var YP=(3+16*we)*we,XP=(2+12*we)*we,JP=(9+64*we)*we*we,jo=T(4),sF=T(8),cF=T(12),fF=T(16),Ut=T(4);function QP(e,t,n,r,i,a,o){let l,u,s,c,f,d,h,p,m,g,y,v,b,x,w,k,A,_,D=e-i,F=n-i,C=t-a,z=r-a;x=D*z,d=xt*D,h=d-(d-D),p=D-h,d=xt*z,m=d-(d-z),g=z-m,w=p*g-(x-h*m-p*m-h*g),k=C*F,d=xt*C,h=d-(d-C),p=C-h,d=xt*F,m=d-(d-F),g=F-m,A=p*g-(k-h*m-p*m-h*g),y=w-A,f=w-y,jo[0]=w-(y+f)+(f-A),v=x+y,f=v-x,b=x-(v-f)+(y-f),y=b-k,f=b-y,jo[1]=b-(y+f)+(f-k),_=v+y,f=_-v,jo[2]=v-(_-f)+(y-f),jo[3]=_;let P=VP(4,jo),U=XP*o;if(P>=U||-P>=U||(f=e-D,l=e-(D+f)+(f-i),f=n-F,s=n-(F+f)+(f-i),f=t-C,u=t-(C+f)+(f-a),f=r-z,c=r-(z+f)+(f-a),l===0&&u===0&&s===0&&c===0)||(U=JP*o+33306690738754706e-32*Math.abs(P),P+=D*c+z*l-(C*s+F*u),P>=U||-P>=U))return P;x=l*z,d=xt*l,h=d-(d-l),p=l-h,d=xt*z,m=d-(d-z),g=z-m,w=p*g-(x-h*m-p*m-h*g),k=u*F,d=xt*u,h=d-(d-u),p=u-h,d=xt*F,m=d-(d-F),g=F-m,A=p*g-(k-h*m-p*m-h*g),y=w-A,f=w-y,Ut[0]=w-(y+f)+(f-A),v=x+y,f=v-x,b=x-(v-f)+(y-f),y=b-k,f=b-y,Ut[1]=b-(y+f)+(f-k),_=v+y,f=_-v,Ut[2]=v-(_-f)+(y-f),Ut[3]=_;let E=o1(4,jo,4,Ut,sF);x=D*c,d=xt*D,h=d-(d-D),p=D-h,d=xt*c,m=d-(d-c),g=c-m,w=p*g-(x-h*m-p*m-h*g),k=C*s,d=xt*C,h=d-(d-C),p=C-h,d=xt*s,m=d-(d-s),g=s-m,A=p*g-(k-h*m-p*m-h*g),y=w-A,f=w-y,Ut[0]=w-(y+f)+(f-A),v=x+y,f=v-x,b=x-(v-f)+(y-f),y=b-k,f=b-y,Ut[1]=b-(y+f)+(f-k),_=v+y,f=_-v,Ut[2]=v-(_-f)+(y-f),Ut[3]=_;let O=o1(E,sF,4,Ut,cF);x=l*c,d=xt*l,h=d-(d-l),p=l-h,d=xt*c,m=d-(d-c),g=c-m,w=p*g-(x-h*m-p*m-h*g),k=u*s,d=xt*u,h=d-(d-u),p=u-h,d=xt*s,m=d-(d-s),g=s-m,A=p*g-(k-h*m-p*m-h*g),y=w-A,f=w-y,Ut[0]=w-(y+f)+(f-A),v=x+y,f=v-x,b=x-(v-f)+(y-f),y=b-k,f=b-y,Ut[1]=b-(y+f)+(f-k),_=v+y,f=_-v,Ut[2]=v-(_-f)+(y-f),Ut[3]=_;let J=o1(O,cF,4,Ut,fF);return fF[J-1]}function Mf(e,t,n,r,i,a){let o=(t-a)*(n-i),l=(e-i)*(r-a),u=o-l,s=Math.abs(o+l);return Math.abs(u)>=YP*s?u:-QP(e,t,n,r,i,a,s)}(7+56*we)*we,(3+28*we)*we,(26+288*we)*we*we,T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(8),T(8),T(8),T(4),T(8),T(8),T(8),T(12),T(192),T(192),(10+96*we)*we,(4+48*we)*we,(44+576*we)*we*we,T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(8),T(8),T(8),T(8),T(8),T(8),T(8),T(8),T(8),T(4),T(4),T(4),T(8),T(16),T(16),T(16),T(32),T(32),T(48),T(64),T(1152),T(1152),(16+224*we)*we,(5+72*we)*we,(71+1408*we)*we*we,T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(4),T(24),T(24),T(24),T(24),T(24),T(24),T(24),T(24),T(24),T(24),T(1152),T(1152),T(1152),T(1152),T(1152),T(2304),T(2304),T(3456),T(5760),T(8),T(8),T(8),T(16),T(24),T(48),T(48),T(96),T(192),T(384),T(384),T(384),T(768),T(96),T(96),T(96),T(1152);var dF=2**-52,Bf=new Uint32Array(512),hF=class n8{static from(t,n=nj,r=rj){let i=t.length,a=new Float64Array(i*2);for(let o=0;o<i;o++){let l=t[o];a[2*o]=n(l),a[2*o+1]=r(l)}return new n8(a)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:a}=this,o=t.length>>1,l=1/0,u=1/0,s=-1/0,c=-1/0;for(let D=0;D<o;D++){let F=t[2*D],C=t[2*D+1];F<l&&(l=F),C<u&&(u=C),F>s&&(s=F),C>c&&(c=C),this._ids[D]=D}let f=(l+s)/2,d=(u+c)/2,h,p,m;for(let D=0,F=1/0;D<o;D++){let C=l1(f,d,t[2*D],t[2*D+1]);C<F&&(h=D,F=C)}let g=t[2*h],y=t[2*h+1];for(let D=0,F=1/0;D<o;D++){if(D===h)continue;let C=l1(g,y,t[2*D],t[2*D+1]);C<F&&C>0&&(p=D,F=C)}let v=t[2*p],b=t[2*p+1],x=1/0;for(let D=0;D<o;D++){if(D===h||D===p)continue;let F=ej(g,y,v,b,t[2*D],t[2*D+1]);F<x&&(m=D,x=F)}let w=t[2*m],k=t[2*m+1];if(x===1/0){for(let C=0;C<o;C++)this._dists[C]=t[2*C]-t[0]||t[2*C+1]-t[1];Lo(this._ids,this._dists,0,o-1);let D=new Uint32Array(o),F=0;for(let C=0,z=-1/0;C<o;C++){let P=this._ids[C],U=this._dists[P];U>z&&(D[F++]=P,z=U)}this.hull=D.subarray(0,F),this.triangles=new Uint32Array,this.halfedges=new Uint32Array;return}if(Mf(g,y,v,b,w,k)<0){let D=p,F=v,C=b;p=m,v=w,b=k,m=D,w=F,k=C}let A=tj(g,y,v,b,w,k);this._cx=A.x,this._cy=A.y;for(let D=0;D<o;D++)this._dists[D]=l1(t[2*D],t[2*D+1],A.x,A.y);Lo(this._ids,this._dists,0,o-1),this._hullStart=h;let _=3;r[h]=n[m]=p,r[p]=n[h]=m,r[m]=n[p]=h,i[h]=0,i[p]=1,i[m]=2,a.fill(-1),a[this._hashKey(g,y)]=h,a[this._hashKey(v,b)]=p,a[this._hashKey(w,k)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let D=0,F,C;D<this._ids.length;D++){let z=this._ids[D],P=t[2*z],U=t[2*z+1];if(D>0&&Math.abs(P-F)<=dF&&Math.abs(U-C)<=dF||(F=P,C=U,z===h||z===p||z===m))continue;let E=0;for(let tt=0,Gt=this._hashKey(P,U);tt<this._hashSize&&(E=a[(Gt+tt)%this._hashSize],!(E!==-1&&E!==r[E]));tt++);E=n[E];let O=E,J;for(;J=r[O],Mf(P,U,t[2*O],t[2*O+1],t[2*J],t[2*J+1])>=0;)if(O=J,O===E){O=-1;break}if(O===-1)continue;let oe=this._addTriangle(O,z,r[O],-1,-1,i[O]);i[z]=this._legalize(oe+2),i[O]=oe,_++;let le=r[O];for(;J=r[le],Mf(P,U,t[2*le],t[2*le+1],t[2*J],t[2*J+1])<0;)oe=this._addTriangle(le,z,J,i[z],-1,i[le]),i[z]=this._legalize(oe+2),r[le]=le,_--,le=J;if(O===E)for(;J=n[O],Mf(P,U,t[2*J],t[2*J+1],t[2*O],t[2*O+1])<0;)oe=this._addTriangle(J,z,O,-1,i[O],i[J]),this._legalize(oe+2),i[J]=oe,r[O]=O,_--,O=J;this._hullStart=n[z]=O,r[O]=n[le]=z,r[z]=le,a[this._hashKey(P,U)]=z,a[this._hashKey(t[2*O],t[2*O+1])]=O}this.hull=new Uint32Array(_);for(let D=0,F=this._hullStart;D<_;D++)this.hull[D]=F,F=r[F];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(KP(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,a=0,o=0;for(;;){let l=r[t],u=t-t%3;if(o=u+(t+2)%3,l===-1){if(a===0)break;t=Bf[--a];continue}let s=l-l%3,c=u+(t+1)%3,f=s+(l+2)%3,d=n[o],h=n[t],p=n[c],m=n[f];if(ZP(i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){n[t]=m,n[l]=d;let g=r[f];if(g===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=t;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(t,g),this._link(l,r[o]),this._link(o,f);let y=s+(l+1)%3;a<Bf.length&&(Bf[a++]=y)}else{if(a===0)break;t=Bf[--a]}}return o}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,a,o){let l=this.trianglesLen;return this._triangles[l]=t,this._triangles[l+1]=n,this._triangles[l+2]=r,this._link(l,i),this._link(l+1,a),this._link(l+2,o),this.trianglesLen+=3,l}};function KP(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function l1(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function ZP(e,t,n,r,i,a,o,l){let u=e-o,s=t-l,c=n-o,f=r-l,d=i-o,h=a-l,p=u*u+s*s,m=c*c+f*f,g=d*d+h*h;return u*(f*g-m*h)-s*(c*g-m*d)+p*(c*h-f*d)<0}function ej(e,t,n,r,i,a){let o=n-e,l=r-t,u=i-e,s=a-t,c=o*o+l*l,f=u*u+s*s,d=.5/(o*s-l*u),h=(s*c-l*f)*d,p=(o*f-u*c)*d;return h*h+p*p}function tj(e,t,n,r,i,a){let o=n-e,l=r-t,u=i-e,s=a-t,c=o*o+l*l,f=u*u+s*s,d=.5/(o*s-l*u),h=e+(s*c-l*f)*d,p=t+(o*f-u*c)*d;return{x:h,y:p}}function Lo(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let a=e[i],o=t[a],l=i-1;for(;l>=n&&t[e[l]]>o;)e[l+1]=e[l--];e[l+1]=a}else{let i=n+r>>1,a=n+1,o=r;Au(e,i,a),t[e[n]]>t[e[r]]&&Au(e,n,r),t[e[a]]>t[e[r]]&&Au(e,a,r),t[e[n]]>t[e[a]]&&Au(e,n,a);let l=e[a],u=t[l];for(;;){do a++;while(t[e[a]]<u);do o--;while(t[e[o]]>u);if(o<a)break;Au(e,a,o)}e[n+1]=e[o],e[o]=l,r-a+1>=o-n?(Lo(e,t,a,r),Lo(e,t,n,o-1)):(Lo(e,t,n,o-1),Lo(e,t,a,r))}}function Au(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function nj(e){return e[0]}function rj(e){return e[1]}var pF=1e-6,Ea=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)>pF||Math.abs(this._y1-i)>pF)&&(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}},u1=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}},ij=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p<g;p+=3,m+=2){let b=n[p]*2,x=n[p+1]*2,w=n[p+2]*2,k=e[b],A=e[b+1],_=e[x],D=e[x+1],F=e[w],C=e[w+1],z=_-k,P=D-A,U=F-k,E=C-A,O=(z*E-P*U)*2;if(Math.abs(O)<1e-9){if(i===void 0){i=a=0;for(let oe of t)i+=e[oe*2],a+=e[oe*2+1];i/=t.length,a/=t.length}let J=1e9*Math.sign((i-k)*E-(a-A)*U);y=(k+F)/2-J*E,v=(A+C)/2+J*U}else{let J=1/O,oe=z*z+P*P,le=U*U+E*E;y=k+(E*oe-P*le)*J,v=A+(z*le-U*oe)*J}o[m]=y,o[m+1]=v}let l=t[t.length-1],u,s=l*4,c,f=e[2*l],d,h=e[2*l+1];r.fill(0);for(let p=0;p<t.length;++p)l=t[p],u=s,c=f,d=h,s=l*4,f=e[2*l],h=e[2*l+1],r[u+2]=r[s]=d-h,r[u+3]=r[s+1]=f-c}render(e){let t=e==null?e=new Ea:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let s=0,c=n.length;s<c;++s){let f=n[s];if(f<s)continue;let d=Math.floor(s/3)*2,h=Math.floor(f/3)*2,p=a[d],m=a[d+1],g=a[h],y=a[h+1];this._renderSegment(p,m,g,y,e)}let l,u=i[i.length-1];for(let s=0;s<i.length;++s){l=u,u=i[s];let c=Math.floor(r[u]/3)*2,f=a[c],d=a[c+1],h=l*4,p=this._project(f,d,o[h+2],o[h+3]);p&&this._renderSegment(f,d,p[0],p[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new Ea: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 Ea:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let a=2;a<i;a+=2)(r[a]!==r[a-2]||r[a+1]!==r[a-1])&&t.lineTo(r[a],r[a+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let r=this.cellPolygon(t);r&&(r.index=t,yield r)}}cellPolygon(e){let t=new u1;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),l=this._regioncode(n,r);o===0&&l===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,l))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let r=this._clip(n);if(r){e:for(let i=0,a=t.length;i<a;i+=2)for(let o=0,l=r.length;o<l;o+=2)if(t[i]===r[o]&&t[i+1]===r[o+1]&&t[(i+2)%a]===r[(o+l-2)%l]&&t[(i+3)%a]===r[(o+l-1)%l]){yield n;break e}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],l=a;do{let u=Math.floor(l/3);if(o.push(t[u*2],t[u*2+1]),l=l%3==2?l-2:l+1,i[l]!==e)break;l=r[l]}while(l!==a&&l!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],l=t[n-1],u,s=this._regioncode(o,l),c,f=0;for(let d=0;d<n;d+=2)if(i=o,a=l,o=t[d],l=t[d+1],u=s,s=this._regioncode(o,l),u===0&&s===0)c=f,f=0,r?r.push(o,l):r=[o,l];else{let h,p,m,g,y;if(u===0){if((h=this._clipSegment(i,a,o,l,u,s))===null)continue;[p,m,g,y]=h}else{if((h=this._clipSegment(o,l,i,a,s,u))===null)continue;[g,y,p,m]=h,c=f,f=this._edgecode(p,m),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(p,m):r=[p,m]}c=f,f=this._edgecode(g,y),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(g,y):r=[g,y]}if(r)c=f,f=this._edgecode(r[0],r[1]),c&&f&&this._edge(e,c,f,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let l,u,s=i||a;s&8?(l=e+(n-e)*(this.ymax-t)/(r-t),u=this.ymax):s&4?(l=e+(n-e)*(this.ymin-t)/(r-t),u=this.ymin):s&2?(u=t+(r-t)*(this.xmax-e)/(n-e),l=this.xmax):(u=t+(r-t)*(this.xmin-e)/(n-e),l=this.xmin),i?(e=l,t=u,i=this._regioncode(e,t)):(n=l,r=u,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),l;if((l=this._project(o[0],o[1],n,r))&&o.unshift(l[0],l[1]),(l=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(l[0],l[1]),o=this._clipFinite(e,o))for(let u=0,s=o.length,c,f=this._edgecode(o[s-2],o[s-1]);u<s;u+=2)c=f,f=this._edgecode(o[u],o[u+1]),c&&f&&(u=this._edge(e,c,f,o,u),s=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let a,o;switch(t){case 5:t=4;continue;case 4:t=6,a=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,a=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,a=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,a=this.xmin,o=this.ymin;break}(r[i]!==a||r[i+1]!==o)&&this.contains(e,a,o)&&(r.splice(i,0,a,o),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,l;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(l=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(l=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,l=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,l=t+(i=a)*r)}return[o,l]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},aj=2*Math.PI,qo=Math.pow;function oj(e){return e[0]}function lj(e){return e[1]}function uj(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],a=2*t[r+1],o=2*t[r+2];if((n[o]-n[i])*(n[a+1]-n[i+1])-(n[a]-n[i])*(n[o+1]-n[i+1])>1e-10)return!1}return!0}function sj(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var cj=class r8{static from(t,n=oj,r=lj,i){return new r8("length"in t?fj(t,n,r,i):Float64Array.from(dj(t,n,r,i)))}constructor(t){this._delaunator=new hF(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&uj(t)){this.collinear=Int32Array.from({length:n.length/2},(d,h)=>h).sort((d,h)=>n[2*d]-n[2*h]||n[2*d+1]-n[2*h+1]);let u=this.collinear[0],s=this.collinear[this.collinear.length-1],c=[n[2*u],n[2*u+1],n[2*s],n[2*s+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,h=n.length/2;d<h;++d){let p=sj(n[2*d],n[2*d+1],f);n[2*d]=p[0],n[2*d+1]=p[1]}this._delaunator=new hF(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,a=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),l=this._hullIndex.fill(-1);for(let u=0,s=r.length;u<s;++u){let c=a[u%3==2?u-2:u+1];(r[u]===-1||o[c]===-1)&&(o[c]=u)}for(let u=0,s=i.length;u<s;++u)l[i[u]]=u;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],o[i[0]]=1,i.length===2&&(o[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new ij(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:a,triangles:o,collinear:l}=this;if(l){let f=l.indexOf(t);f>0&&(yield l[f-1]),f<l.length-1&&(yield l[f+1]);return}let u=n[t];if(u===-1)return;let s=u,c=-1;do{if(yield c=o[s],s=s%3==2?s-2:s+1,o[s]!==t)return;if(s=a[s],s===-1){let f=r[(i[t]+1)%r.length];f!==c&&(yield f);return}}while(s!==u)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,a;for(;(a=this._step(r,t,n))>=0&&a!==r&&a!==i;)r=a;return a}_step(t,n,r){let{inedges:i,hull:a,_hullIndex:o,halfedges:l,triangles:u,points:s}=this;if(i[t]===-1||!s.length)return(t+1)%(s.length>>1);let c=t,f=qo(n-s[t*2],2)+qo(r-s[t*2+1],2),d=i[t],h=d;do{let p=u[h],m=qo(n-s[p*2],2)+qo(r-s[p*2+1],2);if(m<f&&(f=m,c=p),h=h%3==2?h-2:h+1,u[h]!==t)break;if(h=l[h],h===-1){if(h=a[(o[t]+1)%a.length],h!==p&&qo(n-s[h*2],2)+qo(r-s[h*2+1],2)<f)return h;break}}while(h!==d);return c}render(t){let n=t==null?t=new Ea:void 0,{points:r,halfedges:i,triangles:a}=this;for(let o=0,l=i.length;o<l;++o){let u=i[o];if(u<o)continue;let s=a[o]*2,c=a[u]*2;t.moveTo(r[s],r[s+1]),t.lineTo(r[c],r[c+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new Ea:void 0,{points:i}=this;for(let a=0,o=i.length;a<o;a+=2){let l=i[a],u=i[a+1];t.moveTo(l+n,u),t.arc(l,u,n,0,aj)}return r&&r.value()}renderHull(t){let n=t==null?t=new Ea:void 0,{hull:r,points:i}=this,a=r[0]*2,o=r.length;t.moveTo(i[a],i[a+1]);for(let l=1;l<o;++l){let u=2*r[l];t.lineTo(i[u],i[u+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new u1;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new Ea:void 0,{points:i,triangles:a}=this,o=a[t*=3]*2,l=a[t+1]*2,u=a[t+2]*2;return n.moveTo(i[o],i[o+1]),n.lineTo(i[l],i[l+1]),n.lineTo(i[u],i[u+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new u1;return this.renderTriangle(t,n),n.value()}};function fj(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let l=e[o];a[o*2]=t.call(r,l,o,e),a[o*2+1]=n.call(r,l,o,e)}return a}function*dj(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 hj=rn({voronoi:()=>s1});function s1(e){$.call(this,null,e)}s1.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 pj=[-1e5,-1e5,1e5,1e5];W(s1,$,{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]]:pj;let a=this.value=cj.from(r,e.x,e.y).voronoi(i);for(let o=0,l=r.length;o<l;++o){let u=a.cellPolygon(o);r[o][n]=u&&!gj(u)?mj(u):null}return t.reflow(e.modified()).modifies(n)}});function mj(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 gj(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var yj=rn({wordcloud:()=>f1}),c1=Math.PI/180,ku=64,zf=2048;function vj(){var e=[256,256],t,n,r,i,a,o,l,u=mF,s=[],c=Math.random,f={};f.layout=function(){for(var p=d($i()),m=_j((e[0]>>5)*e[1]),g=null,y=s.length,v=-1,b=[],x=s.map(k=>({text:t(k),font:n(k),style:i(k),weight:a(k),rotate:o(k),size:~~(r(k)+1e-14),padding:l(k),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:k})).sort((k,A)=>A.size-k.size);++v<y;){var w=x[v];w.x=e[0]*(c()+.5)>>1,w.y=e[1]*(c()+.5)>>1,bj(p,w,x,v),w.hasText&&h(m,w,g)&&(b.push(w),g?wj(g,w):g=[{x:w.x+w.x0,y:w.y+w.y0},{x:w.x+w.x1,y:w.y+w.y1}],w.x-=e[0]>>1,w.y-=e[1]>>1)}return b};function d(p){p.width=p.height=1;var m=Math.sqrt(p.getContext("2d").getImageData(0,0,1,1).data.length>>2);p.width=(ku<<5)/m,p.height=zf/m;var g=p.getContext("2d");return g.fillStyle=g.strokeStyle="red",g.textAlign="center",{context:g,ratio:m}}function h(p,m,g){for(var y=m.x,v=m.y,b=Math.hypot(e[0],e[1]),x=u(e),w=c()<.5?1:-1,k=-w,A,_,D;(A=x(k+=w))&&(_=~~A[0],D=~~A[1],!(Math.min(Math.abs(_),Math.abs(D))>=b));)if(m.x=y+_,m.y=v+D,!(m.x+m.x0<0||m.y+m.y0<0||m.x+m.x1>e[0]||m.y+m.y1>e[1])&&(!g||!xj(m,p,e[0]))&&(!g||Aj(m,g))){for(var F=m.sprite,C=m.width>>5,z=e[0]>>5,P=m.x-(C<<4),U=P&127,E=32-U,O=m.y1-m.y0,J=(m.y+m.y0)*z+(P>>5),oe,le=0;le<O;le++){oe=0;for(var tt=0;tt<=C;tt++)p[J+tt]|=oe<<E|(tt<C?(oe=F[le*C+tt])>>>U:0);J+=z}return m.sprite=null,!0}return!1}return f.words=function(p){return arguments.length?(s=p,f):s},f.size=function(p){return arguments.length?(e=[+p[0],+p[1]],f):e},f.font=function(p){return arguments.length?(n=$a(p),f):n},f.fontStyle=function(p){return arguments.length?(i=$a(p),f):i},f.fontWeight=function(p){return arguments.length?(a=$a(p),f):a},f.rotate=function(p){return arguments.length?(o=$a(p),f):o},f.text=function(p){return arguments.length?(t=$a(p),f):t},f.spiral=function(p){return arguments.length?(u=Dj[p]||p,f):u},f.fontSize=function(p){return arguments.length?(r=$a(p),f):r},f.padding=function(p){return arguments.length?(l=$a(p),f):l},f.random=function(p){return arguments.length?(c=p,f):c},f}function bj(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,(ku<<5)/a,zf/a);var o=0,l=0,u=0,s=n.length,c,f,d,h,p;for(--r;++r<s;){if(t=n[r],i.save(),i.font=t.style+" "+t.weight+" "+~~((t.size+1)/a)+"px "+t.font,c=i.measureText(t.text+"m").width*a,d=t.size<<1,t.rotate){var m=Math.sin(t.rotate*c1),g=Math.cos(t.rotate*c1),y=c*g,v=c*m,b=d*g,x=d*m;c=Math.max(Math.abs(y+x),Math.abs(y-x))+31>>5<<5,d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else c=c+31>>5<<5;if(d>u&&(u=d),o+c>=ku<<5&&(o=0,l+=u,u=0),l+d>=zf)break;i.translate((o+(c>>1))/a,(l+(d>>1))/a),t.rotate&&i.rotate(t.rotate*c1),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=c,t.height=d,t.xoff=o,t.yoff=l,t.x1=c>>1,t.y1=d>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,o+=c}for(var w=i.getImageData(0,0,(ku<<5)/a,zf/a).data,k=[];--r>=0;)if(t=n[r],t.hasText){for(c=t.width,f=c>>5,d=t.y1-t.y0,h=0;h<d*f;h++)k[h]=0;if(o=t.xoff,o==null)return;l=t.yoff;var A=0,_=-1;for(p=0;p<d;p++){for(h=0;h<c;h++){var D=f*p+(h>>5),F=w[(l+p)*(ku<<5)+(o+h)<<2]?1<<31-h%32:0;k[D]|=F,A|=F}A?_=p:(t.y0++,d--,p--,l++)}t.y1=t.y0+_,t.sprite=k.slice(0,(t.y1-t.y0)*f)}}}function xj(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,a=e.x-(i<<4),o=a&127,l=32-o,u=e.y1-e.y0,s=(e.y+e.y0)*n+(a>>5),c,f=0;f<u;f++){c=0;for(var d=0;d<=i;d++)if((c<<l|(d<i?(c=r[f*i+d])>>>o:0))&t[s+d])return!0;s+=n}return!1}function wj(e,t){var n=e[0],r=e[1];t.x+t.x0<n.x&&(n.x=t.x+t.x0),t.y+t.y0<n.y&&(n.y=t.y+t.y0),t.x+t.x1>r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}function Aj(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 mF(e){var t=e[0]/e[1];return function(n){return[t*(n*=.1)*Math.cos(n),n*Math.sin(n)]}}function kj(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(a){var o=a<0?-1:1;switch(Math.sqrt(1+4*o*a)-o&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t;break}return[r,i]}}function _j(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function $a(e){return typeof e=="function"?e:function(){return e}}var Dj={archimedean:mF,rectangular:kj},gF=["x","y","font","fontSize","fontStyle","fontWeight","angle"],Fj=["text","font","rotate","fontSize","fontStyle","fontWeight"];function f1(e){$.call(this,vj(),e)}f1.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:gF}]},W(f1,$,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&N("Wordcloud size dimensions must be non-zero.");function n(p){let m=e[p];return fe(m)&&t.modified(m.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||Fj.some(n)))return;let i=t.materialize(t.SOURCE).source,a=this.value,o=e.as||gF,l=e.fontSize||14,u;if(fe(l)?u=e.fontSizeRange:l=Et(l),u){let p=l,m=ge("sqrt")().domain(or(i,p)).range(u);l=g=>m(p(g))}i.forEach(p=>{p[o[0]]=NaN,p[o[1]]=NaN,p[o[3]]=0});let s=a.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(l).random(An).layout(),c=a.size(),f=c[0]>>1,d=c[1]>>1,h=s.length;for(let p=0,m,g;p<h;++p)m=s[p],g=m.datum,g[o[0]]=m.x+f,g[o[1]]=m.y+d,g[o[2]]=m.font,g[o[3]]=m.size,g[o[4]]=m.style,g[o[5]]=m.weight,g[o[6]]=m.rotate;return t.reflow(r).modifies(o)}});var Cj=rn({crossfilter:()=>d1,resolvefilter:()=>h1}),Ej=e=>new Uint8Array(e),$j=e=>new Uint16Array(e),_u=e=>new Uint32Array(e);function Sj(){let e=8,t=[],n=_u(0),r=Of(0,e),i=Of(0,e);return{data:()=>t,seen:()=>n=Mj(n,t.length),add(a){for(let o=0,l=t.length,u=a.length,s;o<u;++o)s=a[o],s._index=l++,t.push(s)},remove(a,o){let l=t.length,u=Array(l-a),s=t,c,f,d;for(f=0;!o[f]&&f<l;++f)u[f]=t[f],s[f]=f;for(d=f;f<l;++f)c=t[f],o[f]?s[f]=-1:(s[f]=d,r[d]=r[f],i[d]=i[f],u[d]=c,c._index=d++),r[f]=0;return t=u,s},size:()=>t.length,curr:()=>r,prev:()=>i,reset:a=>i[a]=r[a],all:()=>e<257?255:e<65537?65535:4294967295,set(a,o){r[a]|=o},clear(a,o){r[a]&=~o},resize(a,o){let l=r.length;(a>l||o>e)&&(e=Math.max(o,e),r=Of(a,e,r),i=Of(a,e))}}}function Mj(e,t,n){return e.length>=t?e:(n||(n=new e.constructor(t)),n.set(e),n)}function Of(e,t,n){let r=(t<257?Ej:t<65537?$j:_u)(e);return n&&r.set(n),r}function yF(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(i,a){let o=this,l=o.bisect(o.range,i.value),u=i.index,s=l[0],c=l[1],f=u.length,d;for(d=0;d<s;++d)a[u[d]]|=r;for(d=c;d<f;++d)a[u[d]]|=r;return o}}}function vF(){let e=_u(0),t=[],n=0;function r(l,u,s){if(!u.length)return[];let c=n,f=u.length,d=_u(f),h=Array(f),p,m,g;for(g=0;g<f;++g)h[g]=l(u[g]),d[g]=g;if(h=Bj(h,d),c)p=t,m=e,t=Array(c+f),e=_u(c+f),zj(s,p,m,c,h,d,f,t,e);else{if(s>0)for(g=0;g<f;++g)d[g]+=s;t=h,e=d}return n=c+f,{index:d,value:h}}function i(l,u){let s=n,c,f,d;for(f=0;!u[e[f]]&&f<s;++f);for(d=f;f<s;++f)u[c=e[f]]||(e[d]=c,t[d]=t[f],++d);n=s-l}function a(l){for(let u=0,s=n;u<s;++u)e[u]=l[e[u]]}function o(l,u){let s;return u?s=u.length:(u=t,s=n),[Y8(u,l[0],0,s),Th(u,l[1],0,s)]}return{insert:r,remove:i,bisect:o,reindex:a,index:()=>e,size:()=>n}}function Bj(e,t){return e.sort.call(t,(n,r)=>{let i=e[n],a=e[r];return i<a?-1:i>a?1:0}),n4(e,t)}function zj(e,t,n,r,i,a,o,l,u){let s=0,c=0,f;for(f=0;s<r&&c<o;++f)t[s]<i[c]?(l[f]=t[s],u[f]=n[s++]):(l[f]=i[c],u[f]=a[c++]+e);for(;s<r;++s,++f)l[f]=t[s],u[f]=n[s];for(;c<o;++c,++f)l[f]=i[c],u[f]=a[c]+e}function d1(e){$.call(this,Sj(),e),this._indices=null,this._dims=null}d1.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}}]},W(d1,$,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(n=>t.modified(n.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],o=r.length,l=0,u,s;for(;l<o;++l)u=n[l].fname,s=i[u]||(i[u]=vF()),a.push(yF(s,l,r[l]));return this.eval(e,t)},reinit(e,t){let n=t.materialize().fork(),r=e.fields,i=e.query,a=this._indices,o=this._dims,l=this.value,u=l.curr(),s=l.prev(),c=l.all(),f=n.rem=n.add,d=n.mod,h=i.length,p={},m,g,y,v,b,x,w,k,A;if(s.set(u),t.rem.length&&(b=this.remove(e,t,n)),t.add.length&&l.add(t.add),t.mod.length)for(x={},v=t.mod,w=0,k=v.length;w<k;++w)x[v[w]._index]=1;for(w=0;w<h;++w)A=r[w],(!o[w]||e.modified("fields",w)||t.modified(A.fields))&&(y=A.fname,(m=p[y])||(a[y]=g=vF(),p[y]=m=g.insert(A,t.source,0)),o[w]=yF(g,w,i[w]).onAdd(m,u));for(w=0,k=l.data().length;w<k;++w)b[w]||(s[w]===u[w]?x[w]&&u[w]!==c&&d.push(w):f.push(w));return l.mask=(1<<h)-1,n},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified("query")&&!e.modified("fields")&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,a=this._dims,o=this._indices,l=e.fields,u={},s=n.add,c=i.size()+r.length,f=a.length,d=i.size(),h,p,m;i.resize(c,f),i.add(r);let g=i.curr(),y=i.prev(),v=i.all();for(h=0;h<f;++h)p=l[h].fname,m=u[p]||(u[p]=o[p].insert(l[h],r,d)),a[h].onAdd(m,g);for(;d<c;++d)y[d]=v,g[d]!==v&&s.push(d)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),a=r.all(),o=e.mod,l,u,s;for(l=0,u=o.length;l<u;++l)s=o[l]._index,i[s]!==a&&n.push(s)},remove(e,t,n){let r=this._indices,i=this.value,a=i.curr(),o=i.prev(),l=i.all(),u={},s=n.rem,c=t.rem,f,d,h,p;for(f=0,d=c.length;f<d;++f)h=c[f]._index,u[h]=1,o[h]=p=a[h],a[h]=l,p!==l&&s.push(h);for(h in r)r[h].remove(d,u);return this.reindex(t,d,u),u},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let a=i.remove(t,n);for(let o in r)r[o].reindex(a)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,l=0,u,s;for(n.filters=0,s=0;s<o;++s)e.modified("query",s)&&(u=s,++l);if(l===1)l=r[u].one,this.incrementOne(r[u],i[u],n.add,n.rem);else for(s=0,l=0;s<o;++s)e.modified("query",s)&&(l|=r[s].one,this.incrementAll(r[s],i[s],a,n.add),n.rem=n.add);return l},incrementAll(e,t,n,r){let i=this.value,a=i.seen(),o=i.curr(),l=i.prev(),u=e.index(),s=e.bisect(e.range),c=e.bisect(t),f=c[0],d=c[1],h=s[0],p=s[1],m=e.one,g,y,v;if(f<h)for(g=f,y=Math.min(h,d);g<y;++g)v=u[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(f>h)for(g=h,y=Math.min(f,p);g<y;++g)v=u[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;if(d>p)for(g=Math.max(f,p),y=d;g<y;++g)v=u[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(d<p)for(g=Math.max(h,d),y=p;g<y;++g)v=u[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value.curr(),a=e.index(),o=e.bisect(e.range),l=e.bisect(t),u=l[0],s=l[1],c=o[0],f=o[1],d=e.one,h,p,m;if(u<c)for(h=u,p=Math.min(c,s);h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(u>c)for(h=c,p=Math.min(u,f);h<p;++h)m=a[h],i[m]^=d,r.push(m);if(s>f)for(h=Math.max(u,f),p=s;h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(s<f)for(h=Math.max(c,s),p=f;h<p;++h)m=a[h],i[m]^=d,r.push(m);e.range=t.slice()}});function h1(e){$.call(this,null,e)}h1.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."}]},W(h1,$,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if((i&n)===0)return t.StopPropagation;let a=t.fork(t.ALL),o=r.data(),l=r.curr(),u=r.prev(),s=c=>l[c]&n?null:o[c];return a.filter(a.MOD,s),i&i-1?(a.filter(a.ADD,c=>{let f=l[c]&n;return!f&&f^u[c]&n?o[c]:null}),a.filter(a.REM,c=>{let f=l[c]&n;return f&&!(f^(f^u[c]&n))?o[c]:null})):(a.filter(a.ADD,s),a.filter(a.REM,c=>(l[c]&n)===i?o[c]:null)),a.filter(a.SOURCE,c=>s(c._index))}});var Oj="RawCode",Nj="Literal",Rj="Property",Tj="Identifier",Pj="ArrayExpression",jj="BinaryExpression",Lj="CallExpression",qj="ConditionalExpression",Uj="LogicalExpression",Ij="MemberExpression",Wj="ObjectExpression",Hj="UnaryExpression";function Gn(e){this.type=e}Gn.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=Gj(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function Gj(e){switch(e.type){case Pj:return e.elements;case jj:case Uj:return[e.left,e.right];case Lj:return[e.callee].concat(e.arguments);case qj:return[e.test,e.consequent,e.alternate];case Ij:return[e.object,e.property];case Wj:return e.properties;case Rj:return[e.key,e.value];case Hj:return[e.argument];case Tj:case Nj:case Oj:default:return[]}}var xr,Q,S,wt,De,Nf=1,Du=2,Sa=3,Xi=4,Rf=5,Ma=6,Qt=7,Fu=8,Vj=9;xr={},xr[Nf]="Boolean",xr[Du]="<end>",xr[Sa]="Identifier",xr[Xi]="Keyword",xr[Rf]="Null",xr[Ma]="Numeric",xr[Qt]="Punctuator",xr[Fu]="String",xr[Vj]="RegularExpression";var Yj="ArrayExpression",Xj="BinaryExpression",Jj="CallExpression",Qj="ConditionalExpression",bF="Identifier",Kj="Literal",Zj="LogicalExpression",eL="MemberExpression",tL="ObjectExpression",nL="Property",rL="UnaryExpression",nt="Unexpected token %0",iL="Unexpected number",aL="Unexpected string",oL="Unexpected identifier",lL="Unexpected reserved word",uL="Unexpected end of input",p1="Invalid regular expression",m1="Invalid regular expression: missing /",xF="Octal literals are not allowed in strict mode.",sL="Duplicate data property in object literal not allowed in strict mode",ht="ILLEGAL",Cu="Disabled.",cL=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]"),fL=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 Tf(e,t){if(!e)throw Error("ASSERT: "+t)}function Qr(e){return e>=48&&e<=57}function g1(e){return"0123456789abcdefABCDEF".includes(e)}function Eu(e){return"01234567".includes(e)}function dL(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 $u(e){return e===10||e===13||e===8232||e===8233}function Su(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&cL.test(String.fromCharCode(e))}function Pf(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&fL.test(String.fromCharCode(e))}var hL={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 wF(){for(;S<wt;){let e=Q.charCodeAt(S);if(dL(e)||$u(e))++S;else break}}function y1(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)S<wt&&g1(Q[S])?(r=Q[S++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):ye({},nt,ht);return String.fromCharCode(i)}function pL(){var e=Q[S],t=0,n,r;for(e==="}"&&ye({},nt,ht);S<wt&&(e=Q[S++],g1(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&ye({},nt,ht),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function AF(){var e=Q.charCodeAt(S++),t=String.fromCharCode(e);for(e===92&&(Q.charCodeAt(S)!==117&&ye({},nt,ht),++S,e=y1("u"),(!e||e==="\\"||!Su(e.charCodeAt(0)))&&ye({},nt,ht),t=e);S<wt&&(e=Q.charCodeAt(S),Pf(e));)++S,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),Q.charCodeAt(S)!==117&&ye({},nt,ht),++S,e=y1("u"),(!e||e==="\\"||!Pf(e.charCodeAt(0)))&&ye({},nt,ht),t+=e);return t}function mL(){for(var e=S++,t;S<wt;){if(t=Q.charCodeAt(S),t===92)return S=e,AF();if(Pf(t))++S;else break}return Q.slice(e,S)}function gL(){var e=S,t=Q.charCodeAt(S)===92?AF():mL();return{type:t.length===1?Sa:hL.hasOwnProperty(t)?Xi:t==="null"?Rf:t==="true"||t==="false"?Nf:Sa,value:t,start:e,end:S}}function v1(){var e=S,t=Q.charCodeAt(S),n,r=Q[S],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++S,{type:Qt,value:String.fromCharCode(t),start:e,end:S};default:if(n=Q.charCodeAt(S+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 S+=2,{type:Qt,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:S};case 33:case 61:return S+=2,Q.charCodeAt(S)===61&&++S,{type:Qt,value:Q.slice(e,S),start:e,end:S}}}if(o=Q.substr(S,4),o===">>>=")return S+=4,{type:Qt,value:o,start:e,end:S};if(a=o.substr(0,3),a===">>>"||a==="<<="||a===">>=")return S+=3,{type:Qt,value:a,start:e,end:S};if(i=a.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return S+=2,{type:Qt,value:i,start:e,end:S};if(i==="//"&&ye({},nt,ht),"<>=!+-*%&|^/".includes(r))return++S,{type:Qt,value:r,start:e,end:S};ye({},nt,ht)}function yL(e){let t="";for(;S<wt&&g1(Q[S]);)t+=Q[S++];return t.length===0&&ye({},nt,ht),Su(Q.charCodeAt(S))&&ye({},nt,ht),{type:Ma,value:parseInt("0x"+t,16),start:e,end:S}}function vL(e){let t="0"+Q[S++];for(;S<wt&&Eu(Q[S]);)t+=Q[S++];return(Su(Q.charCodeAt(S))||Qr(Q.charCodeAt(S)))&&ye({},nt,ht),{type:Ma,value:parseInt(t,8),octal:!0,start:e,end:S}}function kF(){var e,t,n=Q[S];if(Tf(Qr(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=S,e="",n!=="."){if(e=Q[S++],n=Q[S],e==="0"){if(n==="x"||n==="X")return++S,yL(t);if(Eu(n))return vL(t);n&&Qr(n.charCodeAt(0))&&ye({},nt,ht)}for(;Qr(Q.charCodeAt(S));)e+=Q[S++];n=Q[S]}if(n==="."){for(e+=Q[S++];Qr(Q.charCodeAt(S));)e+=Q[S++];n=Q[S]}if(n==="e"||n==="E")if(e+=Q[S++],n=Q[S],(n==="+"||n==="-")&&(e+=Q[S++]),Qr(Q.charCodeAt(S)))for(;Qr(Q.charCodeAt(S));)e+=Q[S++];else ye({},nt,ht);return Su(Q.charCodeAt(S))&&ye({},nt,ht),{type:Ma,value:parseFloat(e),start:t,end:S}}function bL(){var e="",t,n,r,i,a=!1;for(t=Q[S],Tf(t==="'"||t==='"',"String literal must starts with a quote"),n=S,++S;S<wt;)if(r=Q[S++],r===t){t="";break}else if(r==="\\")if(r=Q[S++],!r||!$u(r.charCodeAt(0)))switch(r){case"u":case"x":Q[S]==="{"?(++S,e+=pL()):e+=y1(r);break;case"n":e+=`
3
3
  `;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:Eu(r)?(i="01234567".indexOf(r),i!==0&&(a=!0),S<wt&&Eu(Q[S])&&(a=!0,i=i*8+"01234567".indexOf(Q[S++]),"0123".includes(r)&&S<wt&&Eu(Q[S])&&(i=i*8+"01234567".indexOf(Q[S++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&Q[S]===`
4
4
  `&&++S;else{if($u(r.charCodeAt(0)))break;e+=r}return t!==""&&ye({},nt,ht),{type:Fu,value:e,octal:a,start:n,end:S}}function xL(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";ye({},p1)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{ye({},p1)}try{return new RegExp(e,t)}catch{return null}}function wL(){var e=Q[S],t,n,r,i;for(Tf(e==="/","Regular expression literal must start with a slash"),t=Q[S++],n=!1,r=!1;S<wt;)if(e=Q[S++],t+=e,e==="\\")e=Q[S++],$u(e.charCodeAt(0))&&ye({},m1),t+=e;else if($u(e.charCodeAt(0)))ye({},m1);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||ye({},m1),i=t.substr(1,t.length-2),{value:i,literal:t}}function AL(){for(var e,t="",n="";S<wt&&(e=Q[S],Pf(e.charCodeAt(0)));)++S,e==="\\"&&S<wt?ye({},nt,ht):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&ye({},p1,n),{value:n,literal:t}}function kL(){var e,t,n,r;return De=null,wF(),e=S,t=wL(),n=AL(),r=xL(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:S}}function _L(e){return e.type===Sa||e.type===Xi||e.type===Nf||e.type===Rf}function _F(){if(wF(),S>=wt)return{type:Du,start:S,end:S};let e=Q.charCodeAt(S);return Su(e)?gL():e===40||e===41||e===59?v1():e===39||e===34?bL():e===46?Qr(Q.charCodeAt(S+1))?kF():v1():Qr(e)?kF():v1()}function Kt(){let e=De;return S=e.end,De=_F(),S=e.end,e}function DF(){let e=S;De=_F(),S=e}function DL(e){let t=new Gn(Yj);return t.elements=e,t}function FF(e,t,n){let r=new Gn(e==="||"||e==="&&"?Zj:Xj);return r.operator=e,r.left=t,r.right=n,r}function FL(e,t){let n=new Gn(Jj);return n.callee=e,n.arguments=t,n}function CL(e,t,n){let r=new Gn(Qj);return r.test=e,r.consequent=t,r.alternate=n,r}function b1(e){let t=new Gn(bF);return t.name=e,t}function Mu(e){let t=new Gn(Kj);return t.value=e.value,t.raw=Q.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function CF(e,t,n){let r=new Gn(eL);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function EL(e){let t=new Gn(tL);return t.properties=e,t}function EF(e,t,n){let r=new Gn(nL);return r.key=t,r.value=n,r.kind=e,r}function $L(e,t){let n=new Gn(rL);return n.operator=e,n.argument=t,n.prefix=!0,n}function ye(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(a,o)=>(Tf(o<r.length,"Message reference must be in range"),r[o]));throw n=Error(i),n.index=S,n.description=i,n}function jf(e){e.type===Du&&ye(e,uL),e.type===Ma&&ye(e,iL),e.type===Fu&&ye(e,aL),e.type===Sa&&ye(e,oL),e.type===Xi&&ye(e,lL),ye(e,nt,e.value)}function At(e){let t=Kt();(t.type!==Qt||t.value!==e)&&jf(t)}function Ne(e){return De.type===Qt&&De.value===e}function x1(e){return De.type===Xi&&De.value===e}function SL(){let e=[];for(S=De.start,At("[");!Ne("]");)Ne(",")?(Kt(),e.push(null)):(e.push(Ba()),Ne("]")||At(","));return Kt(),DL(e)}function $F(){S=De.start;let e=Kt();return e.type===Fu||e.type===Ma?(e.octal&&ye(e,xF),Mu(e)):b1(e.value)}function ML(){var e,t,n,r;if(S=De.start,e=De,e.type===Sa)return n=$F(),At(":"),r=Ba(),EF("init",n,r);if(e.type===Du||e.type===Qt)jf(e);else return t=$F(),At(":"),r=Ba(),EF("init",t,r)}function BL(){var e=[],t,n,r,i={},a=String;for(S=De.start,At("{");!Ne("}");)t=ML(),n=t.key.type===bF?t.key.name:a(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?ye({},sL):i[r]=!0,e.push(t),Ne("}")||At(",");return At("}"),EL(e)}function zL(){At("(");let e=w1();return At(")"),e}var OL={if:1};function NL(){var e,t,n;if(Ne("("))return zL();if(Ne("["))return SL();if(Ne("{"))return BL();if(e=De.type,S=De.start,e===Sa||OL[De.value])n=b1(Kt().value);else if(e===Fu||e===Ma)De.octal&&ye(De,xF),n=Mu(Kt());else{if(e===Xi)throw Error(Cu);e===Nf?(t=Kt(),t.value=t.value==="true",n=Mu(t)):e===Rf?(t=Kt(),t.value=null,n=Mu(t)):Ne("/")||Ne("/=")?(n=Mu(kL()),DF()):jf(Kt())}return n}function RL(){let e=[];if(At("("),!Ne(")"))for(;S<wt&&(e.push(Ba()),!Ne(")"));)At(",");return At(")"),e}function TL(){S=De.start;let e=Kt();return _L(e)||jf(e),b1(e.value)}function PL(){return At("."),TL()}function jL(){At("[");let e=w1();return At("]"),e}function LL(){for(var e=NL(),t,n;;)if(Ne("."))n=PL(),e=CF(".",e,n);else if(Ne("("))t=RL(),e=FL(e,t);else if(Ne("["))n=jL(),e=CF("[",e,n);else break;return e}function SF(){let e=LL();if(De.type===Qt&&(Ne("++")||Ne("--")))throw Error(Cu);return e}function Lf(){var e,t;if(De.type!==Qt&&De.type!==Xi)t=SF();else{if(Ne("++")||Ne("--"))throw Error(Cu);if(Ne("+")||Ne("-")||Ne("~")||Ne("!"))e=Kt(),t=Lf(),t=$L(e.value,t);else{if(x1("delete")||x1("void")||x1("typeof"))throw Error(Cu);t=SF()}}return t}function MF(e){let t=0;if(e.type!==Qt&&e.type!==Xi)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function qL(){var e=De,t,n,r,i,a,o,l,u=Lf(),s;if(r=De,i=MF(r),i===0)return u;for(r.prec=i,Kt(),t=[e,De],o=Lf(),a=[u,r,o];(i=MF(De))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,u=a.pop(),t.pop(),n=FF(l,u,o),a.push(n);r=Kt(),r.prec=i,a.push(r),t.push(De),n=Lf(),a.push(n)}for(s=a.length-1,n=a[s],t.pop();s>1;)t.pop(),n=FF(a[s-1].value,a[s-2],n),s-=2;return n}function Ba(){var e=qL(),t,n;return Ne("?")&&(Kt(),t=Ba(),At(":"),n=Ba(),e=CL(e,t,n)),e}function w1(){let e=Ba();if(Ne(","))throw Error(Cu);return e}function BF(e){Q=e,S=0,wt=Q.length,De=null,DF();let t=w1();if(De.type!==Du)throw Error("Unexpect token after expression.");return t}var zF={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function OF(e){function t(o,l,u,s){let c=e(l[0]);return u&&(c=u+"("+c+")",u.lastIndexOf("new ",0)===0&&(c="("+c+")")),c+"."+o+(s<0?"":s===0?"()":"("+l.slice(1).map(e).join(",")+")")}function n(o,l,u){return s=>t(o,s,l,u)}let r="new Date",i="String",a="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(o){o.length<3&&N("Missing arguments to clamp function."),o.length>3&&N("Too many arguments to clamp function.");let l=o.map(e);return"Math.max("+l[1]+", Math.min("+l[2]+","+l[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",i,0),lower:n("toLowerCase",i,0),substring:n("substring",i),split:n("split",i),trim:n("trim",i,0),btoa:"btoa",atob:"atob",regexp:a,test:n("test",a),if:function(o){o.length<3&&N("Missing arguments to if function."),o.length>3&&N("Too many arguments to if function.");let l=o.map(e);return"("+l[0]+"?"+l[1]+":"+l[2]+")"}}}function UL(e){let t=e&&e.length-1;return t&&(e[0]==='"'&&e[t]==='"'||e[0]==="'"&&e[t]==="'")?e.slice(1,-1):e}function NF(e){e||(e={});let t=e.allowed?ar(e.allowed):{},n=e.forbidden?ar(e.forbidden):{},r=e.constants||zF,i=(e.functions||OF)(f),a=e.globalvar,o=e.fieldvar,l=fe(a)?a:p=>`${a}["${p}"]`,u={},s={},c=0;function f(p){if(V(p))return p;let m=d[p.type];return m??N("Unsupported type: "+p.type),m(p)}let d={Literal:p=>p.raw,Identifier:p=>{let m=p.name;return c>0?m:X(n,m)?N("Illegal identifier: "+m):X(r,m)?r[m]:X(t,m)?m:(u[m]=1,l(m))},MemberExpression:p=>{let m=!p.computed,g=f(p.object);m&&(c+=1);let y=f(p.property);return g===o&&(s[UL(y)]=1),m&&--c,g+(m?"."+y:"["+y+"]")},CallExpression:p=>{p.callee.type!=="Identifier"&&N("Illegal callee type: "+p.callee.type);let m=p.callee.name,g=p.arguments,y=X(i,m)&&i[m];return y||N("Unrecognized function: "+m),fe(y)?y(g):y+"("+g.map(f).join(",")+")"},ArrayExpression:p=>"["+p.elements.map(f).join(",")+"]",BinaryExpression:p=>"("+f(p.left)+" "+p.operator+" "+f(p.right)+")",UnaryExpression:p=>"("+p.operator+f(p.argument)+")",ConditionalExpression:p=>"("+f(p.test)+"?"+f(p.consequent)+":"+f(p.alternate)+")",LogicalExpression:p=>"("+f(p.left)+p.operator+f(p.right)+")",ObjectExpression:p=>"{"+p.properties.map(f).join(",")+"}",Property:p=>{c+=1;let m=f(p.key);return--c,m+":"+f(p.value)}};function h(p){let m={code:f(p),globals:Object.keys(u),fields:Object.keys(s)};return u={},s={},m}return h.functions=i,h.constants=r,h}var RF=Symbol("vega_selection_getter");function TF(e){return(!e.getter||!e.getter[RF])&&(e.getter=zr(e.field),e.getter[RF]=!0),e.getter}var A1="intersect",PF="union",IL="vlMulti",WL="vlPoint",jF="or",HL="and",wr="_vgsid_",Bu=zr(wr),GL="E",VL="R",YL="R-E",XL="R-LE",JL="R-RE",QL="E-LT",KL="E-LTE",ZL="E-GT",eq="E-GTE",tq="E-VALID",nq="E-ONE",qf="index:unit";function LF(e,t){for(var n=t.fields,r=t.values,i=n.length,a=0,o,l;a<i;++a)if(l=n[a],o=TF(l)(e),la(o)&&(o=yn(o)),la(r[a])&&(r[a]=yn(r[a])),B(r[a])&&la(r[a][0])&&(r[a]=r[a].map(yn)),l.type===GL){if(B(r[a])?!r[a].includes(o):o!==r[a])return!1}else if(l.type===VL){if(!ro(o,r[a]))return!1}else if(l.type===JL){if(!ro(o,r[a],!0,!1))return!1}else if(l.type===YL){if(!ro(o,r[a],!1,!1))return!1}else if(l.type===XL){if(!ro(o,r[a],!1,!0))return!1}else if(l.type===QL){if(o>=r[a])return!1}else if(l.type===KL){if(o>r[a])return!1}else if(l.type===ZL){if(o<=r[a])return!1}else if(l.type===eq){if(o<r[a])return!1}else if(l.type===tq){if(o===null||isNaN(o))return!1}else if(l.type===nq&&r[a].indexOf(o)===-1)return!1;return!0}function rq(e,t,n){for(var r=this.context.data[e],i=r?r.values.value:[],a=r?r[qf]&&r[qf].value:void 0,o=n===A1,l=i.length,u=0,s,c,f,d,h;u<l;++u)if(s=i[u],a&&o){if(c||(c={}),f=c[d=s.unit]||0,f===-1)continue;if(h=LF(t,s),c[d]=h?-1:++f,h&&a.size===1)return!0;if(!h&&f===a.get(d).count)return!1}else if(h=LF(t,s),o^h)return h;return l&&o}var qF=ox(Bu),iq=qF.left,aq=qF.right;function oq(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],a=r?r[qf]&&r[qf].value:void 0,o=n===A1,l=Bu(t),u=iq(i,l);if(u===i.length||Bu(i[u])!==l)return!1;if(a&&o){if(a.size===1)return!0;if(aq(i,l)-u<a.size)return!1}return!0}function lq(e,t){return e.map(n=>de(t.fields?{values:t.fields.map(r=>TF(r)(n.datum))}:{[wr]:Bu(n.datum)},t))}function uq(e,t,n,r){for(var i=this.context.data[e],a=i?i.values.value:[],o={},l={},u={},s,c,f,d,h,p,m,g,y,v,b=a.length,x=0,w,k;x<b;++x)if(s=a[x],d=s.unit,c=s.fields,f=s.values,c&&f){for(w=0,k=c.length;w<k;++w)h=c[w],m=o[h.field]||(o[h.field]={}),g=m[d]||(m[d]=[]),u[h.field]=y=h.type.charAt(0),v=k1[`${y}_union`],m[d]=v(g,G(f[w]));n&&(g=l[d]||(l[d]=[]),g.push(G(f).reduce((A,_,D)=>(A[c[D].field]=_,A),{})))}else h=wr,p=Bu(s),m=o[h]||(o[h]={}),g=m[d]||(m[d]=[]),g.push(p),n&&(g=l[d]||(l[d]=[]),g.push({[wr]:p}));if(t||(t=PF),o[wr]?o[wr]=k1[`${wr}_${t}`](...Object.values(o[wr])):Object.keys(o).forEach(A=>{o[A]=Object.keys(o[A]).map(_=>o[A][_]).reduce((_,D)=>_===void 0?D:k1[`${u[A]}_${t}`](_,D))}),a=Object.keys(l),n&&a.length){let A=r?WL:IL;o[A]=t===PF?{[jF]:a.reduce((_,D)=>(_.push(...l[D]),_),[])}:{[HL]:a.map(_=>({[jF]:l[_]}))}}return o}var k1={[`${wr}_union`]:u4,[`${wr}_intersect`]:o4,E_union:function(e,t){if(!e.length)return t;for(var n=0,r=t.length;n<r;++n)e.includes(t[n])||e.push(t[n]);return e},E_intersect:function(e,t){return e.length?e.filter(n=>t.includes(n)):t},R_union:function(e,t){var n=yn(t[0]),r=yn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?(e[0]>n&&(e[0]=n),e[1]<r&&(e[1]=r),e):[n,r]},R_intersect:function(e,t){var n=yn(t[0]),r=yn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?r<e[0]||e[1]<n?[]:(e[0]<n&&(e[0]=n),e[1]>r&&(e[1]=r),e):[n,r]}},sq=":",cq="@";function _1(e,t,n,r){t[0].type!=="Literal"&&N("First argument to selection functions must be a string literal.");let i=t[0].value,a=t.length>=2&&Ae(t).value,o="unit",l=cq+o,u=sq+i;a===A1&&!X(r,l)&&(r[l]=n.getData(i).indataRef(n,o)),X(r,u)||(r[u]=n.getData(i).tuplesRef())}function UF(e){let t=this.context.data[e];return t?t.values.value:[]}function fq(e,t,n){let r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i&&i.count}function dq(e,t){let n=this.context.dataflow,r=this.context.data[e].input;return n.pulse(r,n.changeset().remove(bn).insert(t)),1}function hq(e,t,n){if(e){let r=this.context.dataflow,i=e.mark.source;r.pulse(i,r.changeset().encode(e,t))}return n===void 0?e:n}var zu=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?"null":r[e](n)(t)},pq=zu("format"),IF=zu("timeFormat"),mq=zu("utcFormat"),gq=zu("timeParse"),yq=zu("utcParse"),Uf=new Date(2e3,0,1);function If(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?"":(Uf.setYear(2e3),Uf.setMonth(e),Uf.setDate(t),IF.call(this,Uf,n))}function vq(e){return If.call(this,e,1,"%B")}function bq(e){return If.call(this,e,1,"%b")}function xq(e){return If.call(this,0,2+e,"%A")}function wq(e){return If.call(this,0,2+e,"%a")}function D1(e,t,n,r){t[0].type!=="Literal"&&N("First argument to data functions must be a string literal.");let i=t[0].value,a=":"+i;if(!X(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function Aq(e,t,n,r){t[0].type!=="Literal"&&N("First argument to indata must be a string literal."),t[1].type!=="Literal"&&N("Second argument to indata must be a string literal.");let i=t[0].value,a=t[1].value,o="@"+a;X(o,r)||(r[o]=n.getData(i).indataRef(n,a))}function It(e,t,n,r){if(t[0].type==="Literal")WF(n,r,t[0].value);else for(e in n.scales)WF(n,r,e)}function WF(e,t,n){let r="%"+n;if(!X(t,r))try{t[r]=e.scaleRef(n)}catch{}}function Ar(e,t){if(V(e)){let n=t.scales[e];return n&&Sw(n.value)?n.value:void 0}else if(fe(e))return Sw(e)?e:void 0}function kq(e,t,n){t.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,n._bandwidth=It,n._range=It,n._scale=It;let r=i=>"_["+(i.type==="Literal"?I("%"+i.value):I("%")+"+"+e(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${e(i[1])})`}}function F1(e,t){return function(n,r,i){if(n){let a=Ar(n,(i||this).context);return a&&a.path[e](r)}else return t(r)}}var _q=F1("area",gN),Dq=F1("bounds",xN),Fq=F1("centroid",FN);function Cq(e,t){let n=Ar(e,(t||this).context);return n&&n.scale()}function Eq(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n}function C1(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(r){e.warn(r)}return n[n.length-1]}function $q(){return C1(this.context.dataflow,"warn",arguments)}function Sq(){return C1(this.context.dataflow,"info",arguments)}function Mq(){return C1(this.context.dataflow,"debug",arguments)}function E1(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function $1(e){let t=ws(e),n=E1(t.r),r=E1(t.g),i=E1(t.b);return .2126*n+.7152*r+.0722*i}function Bq(e,t){let n=$1(e),r=$1(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function zq(){let e=[].slice.call(arguments);return e.unshift({}),de(...e)}function HF(e,t){return e===t||e!==e&&t!==t?!0:B(e)?B(t)&&e.length===t.length?Oq(e,t):!1:Y(e)&&Y(t)?GF(e,t):!1}function Oq(e,t){for(let n=0,r=e.length;n<r;++n)if(!HF(e[n],t[n]))return!1;return!0}function GF(e,t){for(let n in e)if(!HF(e[n],t[n]))return!1;return!0}function VF(e){return t=>GF(e,t)}function Nq(e,t,n,r,i,a){let o=this.context.dataflow,l=this.context.data[e],u=l.input,s=o.stamp(),c=l.changes,f,d;if(o._trigger===!1||!(u.value.length||t||r))return 0;if((!c||c.stamp<s)&&(l.changes=c=o.changeset(),c.stamp=s,o.runAfter(()=>{l.modified=!0,o.pulse(u,c).run()},!0,1)),n&&(f=n===!0?bn:B(n)||Ls(n)?n:VF(n),c.remove(f)),t&&c.insert(t),r&&(f=VF(r),u.value.some(f)?c.remove(f):c.insert(r)),i)for(d in a)c.modify(i,d,a[d]);return 1}function Rq(e){let t=e.touches,n=t[0].clientX-t[1].clientX,r=t[0].clientY-t[1].clientY;return Math.hypot(n,r)}function Tq(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var YF={};function Pq(e,t){let n=YF[t]||(YF[t]=zr(t));return B(e)?e.map(n):n(e)}function Wf(e){return B(e)||ArrayBuffer.isView(e)?e:null}function S1(e){return Wf(e)||(V(e)?e:null)}function jq(e){var t=[...arguments].slice(1);return Wf(e).join(...t)}function Lq(e){var t=[...arguments].slice(1);return S1(e).indexOf(...t)}function qq(e){var t=[...arguments].slice(1);return S1(e).lastIndexOf(...t)}function Uq(e){var t=[...arguments].slice(1);return S1(e).slice(...t)}function Iq(e,t,n){return fe(n)&&N("Function argument passed to replace."),!V(t)&&!Ch(t)&&N("Please pass a string or RegExp argument to replace."),String(e).replace(t,n)}function Wq(e){return Wf(e).slice().reverse()}function Hq(e){return Wf(e).slice().sort($h)}function Gq(e,t,n){return pm(e||0,t||0,n||0)}function Vq(e,t){let n=Ar(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function Yq(e,t){let n=Ar(e,(t||this).context);return n?n.copy():void 0}function Xq(e,t){let n=Ar(e,(t||this).context);return n?n.domain():[]}function Jq(e,t,n){let r=Ar(e,(n||this).context);return r?B(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function Qq(e,t){let n=Ar(e,(t||this).context);return n&&n.range?n.range():[]}function Kq(e,t,n){let r=Ar(e,(n||this).context);return r?r(t):void 0}function Zq(e,t,n,r,i){e=Ar(e,(i||this).context);let a=Kw(t,n),o=e.domain(),l=o[0],u=Ae(o),s=vn;return u-l?s=Tw(e,l,u):e=(e.interpolator?ge("sequential")().interpolator(e.interpolator()):ge("linear")().interpolate(e.interpolate()).range(e.range())).domain([l=0,u=1]),e.ticks&&(o=e.ticks(+r||15),l!==o[0]&&o.unshift(l),u!==Ae(o)&&o.push(u)),o.forEach(c=>a.stop(s(c),e(c))),a}function eU(e,t,n){let r=Ar(e,(n||this).context);return function(i){return r?r.path.context(i)(t):""}}function tU(e){let t=null;return function(n){return n?jl(n,t||(t=Ao(e))):e}}var XF=e=>e.data;function JF(e,t){let n=UF.call(t,e);return n.root&&n.root.lookup||{}}function nU(e,t,n){let r=JF(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(XF):void 0}function rU(e,t){let n=JF(e,this)[t];return n?n.ancestors().map(XF):void 0}var QF=()=>typeof window<"u"&&window||null;function iU(){let e=QF();return e?e.screen:{}}function aU(){let e=QF();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function oU(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function KF(e,t,n){if(!e)return[];let[r,i]=e,a=new Xe().set(r[0],r[1],i[0],i[1]),o=n||this.context.dataflow.scenegraph().root;return bk(o,a,lU(t))}function lU(e){let t=null;if(e){let n=G(e.marktype),r=G(e.markname);t=i=>(!n.length||n.some(a=>i.marktype===a))&&(!r.length||r.some(a=>i.name===a))}return t}function uU(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5;e=G(e);let i=e[e.length-1];return i===void 0||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e}function sU(e){return G(e).reduce((t,n,r)=>{let[i,a]=n;return t+=r==0?`M ${i},${a} `:r===e.length-1?" Z":`L ${i},${a} `},"")}function cU(e,t,n){let{x:r,y:i,mark:a}=n,o=new Xe().set(2**53-1,2**53-1,-(2**53-1),-(2**53-1));for(let[l,u]of t)l<o.x1&&(o.x1=l),l>o.x2&&(o.x2=l),u<o.y1&&(o.y1=u),u>o.y2&&(o.y2=u);return o.translate(r,i),KF([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(l=>fU(l.x,l.y,t))}function fU(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,l]=n[a],[u,s]=n[i];s>t!=l>t&&e<(o-u)*(t-s)/(l-s)+u&&r++}return r&1}var Ou={random(){return An()},cumulativeNormal:Ys,cumulativeLogNormal:_p,cumulativeUniform:Ep,densityNormal:bp,densityLogNormal:kp,densityUniform:Cp,quantileNormal:Xs,quantileLogNormal:Dp,quantileUniform:$p,sampleNormal:Vs,sampleLogNormal:Ap,sampleUniform:Fp,isArray:B,isBoolean:ua,isDate:la,isDefined(e){return e!==void 0},isNumber:be,isObject:Y,isRegExp:Ch,isString:V,isTuple:Ls,isValid(e){return e!=null&&e===e},toBoolean:Yb,toDate(e){return Mb(e)},toNumber:yn,toString:Sb,indexof:Lq,join:jq,lastindexof:qq,replace:Iq,reverse:Wq,sort:Hq,slice:Uq,flush:Zb,lerp:Vb,merge:zq,pad:Qb,peek:Ae,pluck:Pq,span:vs,inrange:ro,truncate:Ob,rgb:ws,lab:mS,hcl:gS,hsl:wS,luminance:$1,contrast:Bq,sequence:an,format:pq,utcFormat:mq,utcParse:yq,utcOffset:Bb,utcSequence:Nb,timeFormat:IF,timeParse:gq,timeOffset:kb,timeSequence:Jb,timeUnitSpecifier:Tb,monthFormat:vq,monthAbbrevFormat:bq,dayFormat:xq,dayAbbrevFormat:wq,quarter:Rb,utcquarter:zb,week:_b,utcweek:rx,dayofyear:Fb,utcdayofyear:Gb,warn:$q,info:Sq,debug:Mq,extent(e){return or(e)},inScope:Eq,intersect:KF,clampRange:Hb,pinchDistance:Rq,pinchAngle:Tq,screen:iU,containerSize:oU,windowSize:aU,bandspace:Gq,setdata:dq,pathShape:tU,panLinear:Pb,panLog:Lb,panPow:Wb,panSymlog:$b,zoomLinear:Fh,zoomLog:kh,zoomPow:gs,zoomSymlog:Bh,encode:hq,modify:Nq,lassoAppend:uU,lassoPath:sU,intersectLasso:cU},dU=["view","item","group","xy","x","y"],hU="event.vega.",ZF="this.",M1={},e3={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${I("$"+e)}]`,functions:pU,constants:zF,visitors:M1},B1=NF(e3);function pU(e){let t=OF(e);for(let n in dU.forEach(r=>t[r]=hU+r),Ou)t[n]=ZF+n;return de(t,kq(e,Ou,M1)),t}function Ye(e,t,n){return arguments.length===1?Ou[e]:(Ou[e]=t,n&&(M1[e]=n),B1&&(B1.functions[e]=ZF+e),this)}Ye("bandwidth",Vq,It),Ye("copy",Yq,It),Ye("domain",Xq,It),Ye("range",Qq,It),Ye("invert",Jq,It),Ye("scale",Kq,It),Ye("gradient",Zq,It),Ye("geoArea",_q,It),Ye("geoBounds",Dq,It),Ye("geoCentroid",Fq,It),Ye("geoShape",eU,It),Ye("geoScale",Cq,It),Ye("indata",fq,Aq),Ye("data",UF,D1),Ye("treePath",nU,D1),Ye("treeAncestors",rU,D1),Ye("vlSelectionTest",rq,_1),Ye("vlSelectionIdTest",oq,_1),Ye("vlSelectionResolve",uq,_1),Ye("vlSelectionTuples",lq);function kr(e,t){let n={},r;try{e=V(e)?e:I(e)+"",r=BF(e)}catch{N("Expression parse error: "+e)}r.visit(a=>{if(a.type!=="CallExpression")return;let o=a.callee.name,l=e3.visitors[o];l&&l(o,a.arguments,t,n)});let i=B1(r);return i.globals.forEach(a=>{let o="$"+a;!X(n,o)&&t.getSignal(a)&&(n[o]=t.signalRef(a))}),{$expr:de({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}function mU(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(r=>t.parseOperator(r)),n.forEach(r=>t.parseOperatorParameters(r)),(e.streams||[]).forEach(r=>t.parseStream(r)),(e.updates||[]).forEach(r=>t.parseUpdate(r)),t.resolve()}var gU=ar(["rule"]),t3=ar(["group","image","rect"]);function yU(e,t){let n="";return gU[t]||(e.x2&&(e.x?(t3[t]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),e.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(t3[t]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),e.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n}function z1(e){return(e+"").toLowerCase()}function vU(e){return z1(e)==="operator"}function bU(e){return z1(e)==="collect"}function Nu(e,t,n){n.endsWith(";")||(n="return("+n+");");let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}function xU(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}