@marimo-team/frontend 0.25.3-dev6 → 0.25.3-dev61

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 (327) hide show
  1. package/dist/assets/CellStatus-cD3S0wEA.js +1 -0
  2. package/dist/assets/{ConnectedDataExplorerComponent-t8fH_TNc.js → ConnectedDataExplorerComponent-D9UK8o9A.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-B4n9EnHB.js → ErrorBoundary-DJhsFCsX.js} +2 -2
  4. package/dist/assets/JsonOutput-Pm6OCP3J.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-CKcCbG2G.js → LazyAnyLanguageCodeMirror-BPYE76jR.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-DlEjLCZ-.js +10 -0
  7. package/dist/assets/{RenderHTML-9bMgbYmo.js → RenderHTML-CfQ6i3QV.js} +1 -1
  8. package/dist/assets/RunButton-DvuvkgrG.js +1 -0
  9. package/dist/assets/{add-cell-with-ai-f_MnLCwI.js → add-cell-with-ai-BhmuohAY.js} +7 -7
  10. package/dist/assets/{add-connection-dialog-CoE_PhuD.js → add-connection-dialog-D7EYSraq.js} +2 -2
  11. package/dist/assets/{agent-panel-C5mZtUrU.js → agent-panel-GFhlWVub.js} +1 -1
  12. package/dist/assets/ai-model-dropdown-YT1HiXiK.js +13 -0
  13. package/dist/assets/{alert-dialog-BaPGzeOK.js → alert-dialog-C-sWmKva.js} +1 -1
  14. package/dist/assets/any-language-editor-DUMe1UCk.js +1 -0
  15. package/dist/assets/{app-config-button-BhU0ulYs.js → app-config-button-C_whRVO8.js} +1 -1
  16. package/dist/assets/arrays-0R2reF2y.js +1 -0
  17. package/dist/assets/{blob-iOBwGaP9.js → blob-e6VlOmQP.js} +1 -1
  18. package/dist/assets/{button-COI-NGrx.js → button-D8gVKwe-.js} +1 -1
  19. package/dist/assets/{cache-panel-DTY1dqvi.js → cache-panel-Byolv2ht.js} +1 -1
  20. package/dist/assets/{capabilities-BJvf-MD4.js → capabilities-Pq1YNPlK.js} +1 -1
  21. package/dist/assets/{cell-editor-CEiJJF6a.js → cell-editor-3cVIcyHK.js} +6 -6
  22. package/dist/assets/cell-link-DFqfW-Ym.js +1 -0
  23. package/dist/assets/{cells-rA_jsZCj.js → cells-T9_Y4Jlv.js} +56 -56
  24. package/dist/assets/{chat-display-BmEPmhDP.js → chat-display-BtaARI-N.js} +1 -1
  25. package/dist/assets/chat-panel-eT2lfQrB.js +4 -0
  26. package/dist/assets/chat-ui-nNFa2LdU.js +4 -0
  27. package/dist/assets/{circle-DXf-VWZG.js → circle-B6D_6D8w.js} +1 -1
  28. package/dist/assets/code-visibility-CV3S4xuf.js +1 -0
  29. package/dist/assets/coerce-DWjFeXOY.js +1 -0
  30. package/dist/assets/{column-preview-o9xRdZTY.js → column-preview-C6uXRJry.js} +1 -1
  31. package/dist/assets/command-palette-OZPTmtR-.js +1 -0
  32. package/dist/assets/{common-lisZ0l6a.js → common-DeeLgjWQ.js} +1 -1
  33. package/dist/assets/{components-CP_UoFtT.js → components-DrU8dOzy.js} +1 -1
  34. package/dist/assets/{components-Dvd1GnD6.js → components-DyAF3_Nf.js} +1 -1
  35. package/dist/assets/{components-CXfO-F47.js → components-lDm0qi2t.js} +1 -1
  36. package/dist/assets/{config-DJLAC21v.js → config-CjQ4WJnJ.js} +1 -1
  37. package/dist/assets/config-DGX7JYor.js +1 -0
  38. package/dist/assets/config-DzdxZb17.js +1 -0
  39. package/dist/assets/{copy-D8O_CYCG.js → copy-KlhazlhB.js} +1 -1
  40. package/dist/assets/{copy-icon-BIiRXh_3.js → copy-icon-8-a5vovc.js} +1 -1
  41. package/dist/assets/{createReducer-DgRODTW6.js → createReducer-HKXUbqyz.js} +1 -1
  42. package/dist/assets/{datasource-Dr1xNKUn.js → datasource-gqFgG9Qd.js} +1 -1
  43. package/dist/assets/{dates-CfmdTL6B.js → dates-CQMwFko2.js} +1 -1
  44. package/dist/assets/{dependency-graph-panel-B0uP-_id.js → dependency-graph-panel-BFFxLgR6.js} +1 -1
  45. package/dist/assets/{dist-iaThVDkA.js → dist-jlhMTKo_.js} +1 -1
  46. package/dist/assets/{documentation-panel-DVl_ebWy.js → documentation-panel-BBpGbT-f.js} +1 -1
  47. package/dist/assets/{download-Bx55LMki.js → download-C8Gw-D0Y.js} +1 -1
  48. package/dist/assets/{dropdown-menu-C1rnl-0o.js → dropdown-menu-DS6umAnH.js} +1 -1
  49. package/dist/assets/{edit-page-C-u87GMH.js → edit-page-B0lN_Rib.js} +6 -6
  50. package/dist/assets/{error-banner-Cd69vvyX.js → error-banner-B5kzVf_0.js} +1 -1
  51. package/dist/assets/{error-entries-DOWpdGvI.js → error-entries-uyqOG5tg.js} +1 -1
  52. package/dist/assets/{error-panel-DpbNKSLs.js → error-panel-Cli5zPWi.js} +1 -1
  53. package/dist/assets/{errors-DCrsa1nH.js → errors-CNsgAw6m.js} +1 -1
  54. package/dist/assets/{es-Cqst59WX.js → es-N9SHpmG7.js} +1 -1
  55. package/dist/assets/{feedback-button-B99ThNJW.js → feedback-button-CvrwBGr7.js} +2 -2
  56. package/dist/assets/feedback-button-DknbRCN_.js +1 -0
  57. package/dist/assets/file-explorer-panel-BSU5ultY.js +1 -0
  58. package/dist/assets/{file-name-input-ChnBsDE_.js → file-name-input-CDrRlIiX.js} +1 -1
  59. package/dist/assets/{floating-outline-MYqQW4Vp.js → floating-outline-GQD9km0W.js} +1 -1
  60. package/dist/assets/{formats-yZ06h1Pl.js → formats-zylfwejq.js} +1 -1
  61. package/dist/assets/{formatting-BqrP-n49.js → formatting-uom1es4b.js} +1 -1
  62. package/dist/assets/{fullscreen-B9tHcfpV.js → fullscreen-BWTs8pYZ.js} +1 -1
  63. package/dist/assets/{gallery-page-DSL0J4md.js → gallery-page-CxmV1JLF.js} +1 -1
  64. package/dist/assets/{ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js → ganttDiagram-EL5Y4UJY-CYqkCfFG.js} +1 -1
  65. package/dist/assets/{glide-data-editor-B1MWlKeM.js → glide-data-editor-B1kpoetH.js} +2 -2
  66. package/dist/assets/{glide-utils-CIrAxdjv.js → glide-utils-HFqhvWHI.js} +2 -2
  67. package/dist/assets/{home-page-KrhQ55Vg.js → home-page-KnJyha6O.js} +3 -3
  68. package/dist/assets/{hooks-DUp5IAgD.js → hooks-w6zKs3CJ.js} +1 -1
  69. package/dist/assets/{html-to-image-DK9Zl1lU.js → html-to-image-D_0rd3_B.js} +1 -1
  70. package/dist/assets/index-Bu8_lPMx.js +30 -0
  71. package/dist/assets/index-evFWHKmM.css +2 -0
  72. package/dist/assets/{input-BoBxR50a.js → input-BZdRe7pb.js} +1 -1
  73. package/dist/assets/{kiosk-mode-BZECfg9k.js → kiosk-mode-BGmMSc7A.js} +1 -1
  74. package/dist/assets/layout-sYdHI-lW.js +9 -0
  75. package/dist/assets/linear-Bma8J3iM.js +1 -0
  76. package/dist/assets/links-CXcpNIM0.js +1 -0
  77. package/dist/assets/{logs-panel-y0XnfulJ.js → logs-panel-CdUc5vtA.js} +1 -1
  78. package/dist/assets/{markdown-renderer-Q5AhbRU3.js → markdown-renderer-pKc_bFac.js} +1 -1
  79. package/dist/assets/{menu-items-BrwnTgyK.js → menu-items-BgUyNUpu.js} +1 -1
  80. package/dist/assets/{mermaid-a3xYymTy.js → mermaid-B6mqMm5_.js} +2 -2
  81. package/dist/assets/{name-cell-input-BNOnF6-0.js → name-cell-input-csH3Cy54.js} +1 -1
  82. package/dist/assets/numbers-CsZVw3Dc.js +1 -0
  83. package/dist/assets/{objects-snlMn4yk.js → objects-rLPlQ3X_.js} +1 -1
  84. package/dist/assets/{once-Haz_uxEL.js → once-6KNTRW0u.js} +1 -1
  85. package/dist/assets/{outline-panel-Be7stWwv.js → outline-panel-DhsHYTuo.js} +1 -1
  86. package/dist/assets/packages-panel-lkNX6Oov.js +1 -0
  87. package/dist/assets/{panel-accordion-state-GeMEdCPw.js → panel-accordion-state-Bco6nsUI.js} +1 -1
  88. package/dist/assets/panels-B2UqDbHy.js +107 -0
  89. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  90. package/dist/assets/process-output-B2-bT4cq.js +1 -0
  91. package/dist/assets/{quadrantDiagram-AXDQQJYC-yBhCDI7E.js → quadrantDiagram-AXDQQJYC-D9KH5Zge.js} +1 -1
  92. package/dist/assets/react-vega-BTNeboR2.js +189 -0
  93. package/dist/assets/{readonly-code-display-YULOXf4h.js → readonly-code-display-Dsp6vWPh.js} +1 -1
  94. package/dist/assets/{readonly-python-code-CadgXgRu.js → readonly-python-code-B81AjzXM.js} +1 -1
  95. package/dist/assets/{renderShortcut-BkVJQ_Zh.js → renderShortcut-H60uiHBp.js} +1 -1
  96. package/dist/assets/{reveal-component-Dt9zvXLN.js → reveal-component-CrQRQhW4.js} +37 -37
  97. package/dist/assets/run-page-BGzpa3D9.js +1 -0
  98. package/dist/assets/{runs-BLp5jezv.js → runs-6lJxKV1w.js} +1 -1
  99. package/dist/assets/{runtime-details-state-DuChzsA6.js → runtime-details-state-CznIe40L.js} +1 -1
  100. package/dist/assets/{schemas-Dv42wLFq.js → schemas-ChRqMOTL.js} +1 -1
  101. package/dist/assets/{scratchpad-panel-Y_PFOI4m.js → scratchpad-panel-ClLxdqdK.js} +1 -1
  102. package/dist/assets/{scroll-to-bottom-button-1FyowpWV.js → scroll-to-bottom-button-CIkON2WJ.js} +1 -1
  103. package/dist/assets/{secrets-panel-Bctbtkrp.js → secrets-panel-Dh3v7XPE.js} +1 -1
  104. package/dist/assets/{select-DTBn5eTb.js → select-3CVGlYrC.js} +1 -1
  105. package/dist/assets/{session-DqoWmb7X.js → session-B8Y-GJnS.js} +1 -1
  106. package/dist/assets/{session-panel-vO6eOEyz.js → session-panel-C7-wmZhc.js} +1 -1
  107. package/dist/assets/{snippets-panel-CQ1dn3lA.js → snippets-panel-BARpOPyS.js} +1 -1
  108. package/dist/assets/{spec-BfSBcO5B.js → spec-uCpVvaAR.js} +1 -1
  109. package/dist/assets/{state-z3dlofZB.js → state-BRYi026f.js} +3 -3
  110. package/dist/assets/{state-uwRvJLb8.js → state-BY4_P6ko.js} +1 -1
  111. package/dist/assets/{state-Bfh_2SLl.js → state-Bye6rCo4.js} +1 -1
  112. package/dist/assets/{state-BAJYRhmO.js → state-C0irhlOZ.js} +1 -1
  113. package/dist/assets/{state-DxQnC_1I.js → state-Ck7FMD5A.js} +1 -1
  114. package/dist/assets/{state-C3oDoyFe.js → state-DaWgt-rn.js} +1 -1
  115. package/dist/assets/{strings-B2vv-ENv.js → strings-C25fhMR_.js} +1 -1
  116. package/dist/assets/{swiper-component-a07domrZ.js → swiper-component-CRGRy5_O.js} +1 -1
  117. package/dist/assets/{switch-CTaiAjrz.js → switch-IoWE8PbW.js} +1 -1
  118. package/dist/assets/{tabs-BuQlZFbt.js → tabs-CY8E4r9U.js} +1 -1
  119. package/dist/assets/{terminal-Ck_vK-34.js → terminal-Bhcn_y1N.js} +1 -1
  120. package/dist/assets/{time-MgToa8VM.js → time-DswSXBDk.js} +1 -1
  121. package/dist/assets/{toast-BGzLGnvw.js → toast-Gzxi-le_.js} +1 -1
  122. package/dist/assets/tooltip-Brya4Ghn.js +61 -0
  123. package/dist/assets/{tooltip-C9TuY18o.js → tooltip-CkGm8X7m.js} +1 -1
  124. package/dist/assets/tracing-BW2ZVnXs.js +1 -0
  125. package/dist/assets/{tracing-panel-dgnr2fIN.js → tracing-panel-UKdh_YXC.js} +2 -2
  126. package/dist/assets/{tree-actions-DAd80MbP.js → tree-actions-Cb-nUK1F.js} +1 -1
  127. package/dist/assets/{use-restore-focus-BxEGwIbk.js → use-restore-focus-DdS7Tl0F.js} +1 -1
  128. package/dist/assets/{useAddCell-DGstJK0S.js → useAddCell-Bielffe0.js} +1 -1
  129. package/dist/assets/useAsyncData-DhhdOGGd.js +1 -0
  130. package/dist/assets/useBoolean-CMgj9hnq.js +1 -0
  131. package/dist/assets/{useCellActionButton-DY9RlJTb.js → useCellActionButton-Cu34Zs6x.js} +1 -1
  132. package/dist/assets/useDebounce-k9QTpQ9-.js +1 -0
  133. package/dist/assets/useDelayElapsed-BlsDT4TV.js +1 -0
  134. package/dist/assets/{useDeleteCell-DFBGlSQk.js → useDeleteCell-BV4VemCv.js} +1 -1
  135. package/dist/assets/{useDependencyPanelTab-DydxsE5d.js → useDependencyPanelTab-BEGqRiWi.js} +1 -1
  136. package/dist/assets/{useEventListener-D9cftcHj.js → useEventListener-CjDeLqFC.js} +1 -1
  137. package/dist/assets/{useIframeCapabilities-CwTkczVN.js → useIframeCapabilities-Czr9e4uG.js} +1 -1
  138. package/dist/assets/{useInstallPackage-iX1eufdl.js → useInstallPackage-C7neMPwh.js} +1 -1
  139. package/dist/assets/{useInterval--x3s1VpI.js → useInterval-DJdQmXnq.js} +1 -1
  140. package/dist/assets/{useNotebookActions-11Ni_ABm.js → useNotebookActions-OLol05t9.js} +1 -1
  141. package/dist/assets/{useRunCells-BFjFX3hz.js → useRunCells-BFeZMi7f.js} +1 -1
  142. package/dist/assets/{useSplitCell-Tqv5pPtL.js → useSplitCell-DllkNFke.js} +1 -1
  143. package/dist/assets/useStateForKey-CGMJQT8x.js +1 -0
  144. package/dist/assets/{useTheme-COhSHkCj.js → useTheme-DLtPc-39.js} +1 -1
  145. package/dist/assets/{utils-CaQYvazl.js → utils-DfElfBpz.js} +1 -1
  146. package/dist/assets/vega-component-D7JFthDD.js +1 -0
  147. package/dist/assets/{vega-embed-container-DJPNkHPb.js → vega-embed-container-DtArSJz1.js} +1 -1
  148. package/dist/assets/vega-loader.browser-Bu25TKax.js +6 -0
  149. package/dist/assets/{write-secret-modal-DzKAInL2.js → write-secret-modal-7DzehGyr.js} +1 -1
  150. package/dist/assets/{xychartDiagram-S5SC5T6Z-KbGzG6-u.js → xychartDiagram-S5SC5T6Z-CeRnBS5e.js} +1 -1
  151. package/dist/index.html +76 -74
  152. package/package.json +4 -4
  153. package/src/__tests__/host-imports.test.ts +1 -0
  154. package/src/components/app-config/ai-config.tsx +6 -2
  155. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  156. package/src/components/chat/chat-panel.tsx +3 -7
  157. package/src/components/chat/chat-utils.ts +4 -8
  158. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  159. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  160. package/src/components/data-table/__tests__/export-actions.test.tsx +434 -6
  161. package/src/components/data-table/charts/charts.tsx +14 -19
  162. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  163. package/src/components/data-table/columns.tsx +2 -1
  164. package/src/components/data-table/context-menu.tsx +36 -20
  165. package/src/components/data-table/date-popover.tsx +6 -4
  166. package/src/components/data-table/export-actions.tsx +267 -163
  167. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +2 -2
  168. package/src/components/data-table/schemas.ts +14 -36
  169. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  170. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
  171. package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
  172. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  173. package/src/components/editor/cell/CreateCellButton.tsx +8 -10
  174. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  175. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  176. package/src/components/editor/cell/code/cell-editor.tsx +1 -1
  177. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  178. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  179. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +30 -1
  180. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  181. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +12 -18
  182. package/src/components/editor/connections/components.tsx +1 -1
  183. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  184. package/src/components/editor/controls/command-palette.tsx +22 -10
  185. package/src/components/editor/dynamic-favicon.tsx +21 -40
  186. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +12 -23
  187. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  188. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  189. package/src/components/editor/file-tree/file-explorer.tsx +10 -5
  190. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  191. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  192. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  193. package/src/components/editor/output/console/ConsoleOutput.tsx +8 -18
  194. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  195. package/src/components/icons/large-spinner.tsx +3 -14
  196. package/src/components/pages/home-page.tsx +4 -4
  197. package/src/components/slides/slide-cell-view.tsx +1 -1
  198. package/src/components/tracing/tracing.tsx +2 -2
  199. package/src/core/attachments/state.ts +5 -8
  200. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  201. package/src/core/cells/cells.ts +2 -1
  202. package/src/core/cells/pending-delete-service.ts +2 -6
  203. package/src/core/datasets/__tests__/data-source-discovery.test.ts +4 -4
  204. package/src/core/datasets/data-source-discovery.ts +4 -6
  205. package/src/core/edit-app.tsx +2 -2
  206. package/src/core/host/AGENTS.md +11 -2
  207. package/src/core/host/__tests__/attachments.test.ts +56 -0
  208. package/src/core/host/__tests__/document.test.ts +126 -0
  209. package/src/core/host/__tests__/events.test.ts +49 -0
  210. package/src/core/host/__tests__/fixtures.ts +41 -0
  211. package/src/core/host/__tests__/notebook-client.test.ts +496 -0
  212. package/src/core/host/connection.ts +81 -0
  213. package/src/core/host/events.ts +68 -0
  214. package/src/core/host/notebook-client.ts +316 -0
  215. package/src/core/host/resources/attachments.ts +19 -0
  216. package/src/core/host/resources/document.ts +101 -0
  217. package/src/core/hotkeys/actions.ts +2 -4
  218. package/src/core/islands/__tests__/bootstrap.test.ts +0 -26
  219. package/src/core/islands/bootstrap.ts +0 -1
  220. package/src/core/network/connection.ts +4 -2
  221. package/src/core/network/useConnectionNotice.ts +8 -2
  222. package/src/core/run-app.tsx +2 -2
  223. package/src/core/runtime/__tests__/runtime.test.ts +5 -12
  224. package/src/core/runtime/runtime.ts +5 -5
  225. package/src/core/static/files.ts +2 -0
  226. package/src/core/websocket/__tests__/{useMarimoKernelConnection.test.ts → connection-state.test.ts} +15 -17
  227. package/src/core/websocket/__tests__/{useWebSocket.test.ts → createConnectionTransport.test.ts} +1 -1
  228. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +149 -0
  229. package/src/core/websocket/__tests__/{useMarimoKernelConnection.hook.test.tsx → useNotebookSession.hook.test.tsx} +168 -253
  230. package/src/core/websocket/connection-state.ts +70 -0
  231. package/src/core/websocket/state.ts +7 -0
  232. package/src/core/websocket/transports/__tests__/sse.test.ts +18 -4
  233. package/src/core/websocket/transports/create.ts +31 -0
  234. package/src/core/websocket/transports/sse.ts +14 -2
  235. package/src/core/websocket/transports/transport.ts +12 -23
  236. package/src/core/websocket/types.ts +9 -39
  237. package/src/core/websocket/useNotebookClient.ts +78 -0
  238. package/src/core/websocket/{useMarimoKernelConnection.tsx → useNotebookSession.tsx} +53 -233
  239. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  240. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  241. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  242. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  243. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  244. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  245. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  246. package/src/hooks/useAsyncData.ts +3 -3
  247. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  248. package/src/hooks/useDebounce.ts +5 -8
  249. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  250. package/src/hooks/useDelayElapsed.ts +14 -10
  251. package/src/hooks/useElapsedTime.ts +3 -3
  252. package/src/hooks/useInputHistory.ts +4 -7
  253. package/src/hooks/useInternalStateWithSync.ts +6 -6
  254. package/src/hooks/useResizeObserver.ts +4 -7
  255. package/src/hooks/useScript.ts +67 -70
  256. package/src/hooks/useStateForKey.ts +93 -0
  257. package/src/plugins/core/registerReactComponent.tsx +1 -1
  258. package/src/plugins/impl/DataTablePlugin.tsx +14 -15
  259. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  260. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  261. package/src/plugins/impl/FormPlugin.tsx +1 -1
  262. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  263. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +201 -1
  264. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  265. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  266. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +2 -0
  267. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  268. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  269. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  270. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  271. package/src/plugins/impl/chat/chat-ui.tsx +10 -9
  272. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  273. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  274. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  275. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  276. package/src/plugins/impl/panel/PanelPlugin.tsx +15 -16
  277. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  278. package/src/plugins/impl/panel/utils.ts +17 -0
  279. package/src/plugins/impl/vega/make-selectable.ts +3 -6
  280. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  281. package/src/stories/editor.stories.tsx +24 -17
  282. package/src/utils/__tests__/arrays.test.ts +35 -0
  283. package/src/utils/__tests__/numbers.test.ts +48 -1
  284. package/src/utils/__tests__/objects.test.ts +21 -0
  285. package/src/utils/arrays.ts +10 -0
  286. package/src/utils/numbers.ts +28 -17
  287. package/src/utils/objects.ts +3 -7
  288. package/src/utils/once.ts +19 -19
  289. package/dist/assets/CellStatus-nZpuDkm7.js +0 -1
  290. package/dist/assets/JsonOutput-CYB1yEoe.js +0 -11
  291. package/dist/assets/MarimoErrorOutput-BTy4MOzX.js +0 -10
  292. package/dist/assets/RunButton-CFQUNN5c.js +0 -1
  293. package/dist/assets/ai-model-dropdown-zm-2fXzf.js +0 -13
  294. package/dist/assets/any-language-editor-BLCAD3yx.js +0 -1
  295. package/dist/assets/arrays-BqUx5USx.js +0 -1
  296. package/dist/assets/cell-link-1CynTVGQ.js +0 -1
  297. package/dist/assets/chat-panel-Ce2Xh7dM.js +0 -4
  298. package/dist/assets/chat-ui-DTy98rP3.js +0 -4
  299. package/dist/assets/code-visibility-B-_GvwR5.js +0 -1
  300. package/dist/assets/coerce-CpE6kUdX.js +0 -1
  301. package/dist/assets/command-palette-CSd1kEo3.js +0 -1
  302. package/dist/assets/config-DX8Y2WbJ.js +0 -1
  303. package/dist/assets/config-VPSq73n8.js +0 -1
  304. package/dist/assets/feedback-button-DlqZkJwz.js +0 -1
  305. package/dist/assets/file-explorer-panel-s9KTVUsc.js +0 -1
  306. package/dist/assets/index-6b4mf8Ai.css +0 -2
  307. package/dist/assets/index-T8B8EIDN.js +0 -30
  308. package/dist/assets/layout-SMSvAj_V.js +0 -9
  309. package/dist/assets/linear-0eij_aAG.js +0 -1
  310. package/dist/assets/links-DkkL9DVa.js +0 -1
  311. package/dist/assets/numbers-Mk3-CcoU.js +0 -1
  312. package/dist/assets/packages-panel-ClxOAEGy.js +0 -1
  313. package/dist/assets/panels-B0xPudVP.js +0 -4
  314. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  315. package/dist/assets/process-output-DNFKMODr.js +0 -1
  316. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  317. package/dist/assets/run-page-C9D267vr.js +0 -1
  318. package/dist/assets/tooltip-mT3CGest.js +0 -61
  319. package/dist/assets/tracing-BARlJ_Dk.js +0 -1
  320. package/dist/assets/useAsyncData-C7aJJz0Y.js +0 -1
  321. package/dist/assets/useBoolean-BDD6_xQQ.js +0 -1
  322. package/dist/assets/useDebounce-B_ccBZTp.js +0 -1
  323. package/dist/assets/vega-component-CnadTgoE.js +0 -1
  324. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  325. package/src/core/host/__tests__/protocol.test.ts +0 -214
  326. package/src/core/host/protocol.ts +0 -1943
  327. package/src/core/websocket/useWebSocket.tsx +0 -88
@@ -0,0 +1,189 @@
1
+ import{a as e,r as t}from"./rolldown-runtime-B0Z9INg1.js";import{t as n}from"./react-DVplv7_D.js";import{t as r}from"./jsx-runtime-B74pBk57.js";import{$ as i,A as a,B as o,C as s,D as c,E as l,F as u,G as d,H as f,I as p,J as m,K as h,L as g,M as _,N as v,O as y,P as b,Q as x,R as S,S as C,T as w,U as T,V as E,W as D,X as O,Y as k,Z as A,_ as ee,a as te,at as ne,b as re,c as ie,d as ae,et as oe,f as se,g as ce,h as le,i as ue,it as de,j as fe,k as pe,l as me,m as he,n as ge,nt as j,o as _e,p as ve,q as ye,r as be,rt as xe,s as Se,t as Ce,tt as we,u as Te,v as Ee,w as eee,x as De,y as Oe,z as ke}from"./vega-loader.browser-Bu25TKax.js";import{_ as tee,a as Ae,b as je,c as Me,d as Ne,f as Pe,g as Fe,h as Ie,l as Le,m as nee,n as Re,o as ze,p as ree,r as Be,s as Ve,t as He,u as Ue,v as iee,y as We}from"./linear-Bma8J3iM.js";import{n as Ge,r as Ke,t as qe}from"./ordinal-BdBDtYTt.js";import{a as Je,o as Ye}from"./precisionRound-BxlUs8G4.js";import{a as Xe,c as Ze,d as Qe,f as $e,i as et,l as tt,n as nt,o as rt,p as it,r as at,s as ot,t as st,u as ct}from"./time-DswSXBDk.js";import{t as lt}from"./range-EplFIxc7.js";import{i as ut,t as dt}from"./defaultLocale-CNPGWpMu.js";import{C as ft,E as pt,P as mt,S as ht,T as gt,c as _t,l as vt,o as yt,p as bt,r as aee,s as xt,v as St,w as oee,x as Ct,y as wt}from"./defaultLocale-D5bOh7g6.js";import{n as Tt,r as Et,t as Dt}from"./path-BCdg30Y0.js";import{f as see,p as cee,u as lee}from"./math-Bi_r_ZWc.js";import{t as Ot}from"./arc-Yxk2k_uq.js";import{t as uee}from"./array-BifhSqXX.js";import{_ as kt,a as At,c as jt,d as Mt,f as Nt,g as Pt,h as Ft,i as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,s as Ut,t as Wt,u as Gt,v as Kt}from"./step-CqgdNM3U.js";import{n as qt,r as Jt,t as Yt}from"./line-io_go0HI.js";import{n as Xt,t as Zt}from"./init-ZlXS9mIS.js";import{A as Qt,C as $t,D as en,E as tn,O as dee,S as nn,T as rn,_ as an,a as fee,b as pee,c as mee,d as hee,f as gee,g as on,h as _ee,i as vee,k as yee,l as bee,m as xee,n as sn,o as See,p as Cee,r as cn,s as ln,t as un,u as dn,x as fn,y as pn}from"./cubic-DELhj3Tx.js";import{t as mn}from"./colors-Cg5Vh3br.js";import{a as hn,c as gn,d as _n,f as vn,i as yn,l as bn,n as xn,o as Sn,p as Cn,r as wn,s as Tn,t as En,u as Dn}from"./treemap-BfjIY-m6.js";function On(e,t,n){let r=[t,...n];console[e](...r)}function kn(e,t,n=On){let r=e||0;return{level(e){return arguments.length?(r=+e,this):r},error(...e){return r>=1&&n(t||`error`,`ERROR`,e),this},warn(...e){return r>=2&&n(t||`warn`,`WARN`,e),this},info(...e){return r>=3&&n(t||`log`,`INFO`,e),this},debug(...e){return r>=4&&n(t||`log`,`DEBUG`,e),this}}}function M(e){return e[e.length-1]}function An(e){return e.length>0}var jn=e=>t=>e*Math.exp(t),Mn=e=>t=>Math.log(e*t),Nn=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),Pn=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,Fn=e=>t=>t<0?-((-t)**+e):t**+e,In=e=>f(e)??0,Ln=e=>e;function Rn(e,t,n,r){An(e)||j(`Domain array must not be empty`);let i=n(e[0]),a=n(M(e)),o=(a-i)*t;return[r(i-o),r(a-o)]}function zn(e,t){return Rn(e,t,In,Ln)}function Bn(e,t){let n=Math.sign(e[0]);return Rn(e,t,Mn(n),jn(n))}function Vn(e,t,n){return Rn(e,t,Fn(n),Fn(1/n))}function Hn(e,t,n){return Rn(e,t,Nn(n),Pn(n))}function Un(e,t,n,r,i){An(e)||j(`Domain array must not be empty`);let a=r(e[0]),o=r(M(e)),s=t==null?(a+o)/2:r(t);return[i(s+(a-s)*n),i(s+(o-s)*n)]}function Wn(e,t,n){return Un(e,t,n,In,Ln)}function Gn(e,t,n){let r=Math.sign(e[0]);return Un(e,t,n,Mn(r),jn(r))}function Kn(e,t,n,r){return Un(e,t,n,Fn(r),Fn(1/r))}function qn(e,t,n,r){return Un(e,t,n,Nn(r),Pn(r))}function Jn(e){return 1+~~(new Date(e).getMonth()/3)}function Yn(e){return 1+~~(new Date(e).getUTCMonth()/3)}function Xn(e,t,n){let r=e[0],i=e[1],a;return i<r&&(a=i,i=r,r=a),a=i-r,a>=n-t?[t,n]:[r=Math.min(Math.max(r,t),n-a),r+a]}function Zn(e){return o(e)?e:()=>e}function Qn(e,t){let n=null;return r=>{n&&clearTimeout(n),n=setTimeout(()=>(t(r),n=null),e)}}function $n(e,t){let n=0,r,i,a,o;if(e&&(r=e.length)){if(t==null){for(i=e[n];n<r&&(i==null||i!==i);i=e[++n]);for(a=o=i;n<r;++n)i=e[n],i!=null&&(i<a&&(a=i),i>o&&(o=i))}else{for(i=t(e[n]);n<r&&(i==null||i!==i);i=t(e[++n]));for(a=o=i;n<r;++n)i=t(e[n]),i!=null&&(i<a&&(a=i),i>o&&(o=i))}}return[a,o]}function er(e,t){let n=e.length,r=-1,i,a,o,s,c;if(t==null){for(;++r<n;)if(s=e[r],s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=e[r],s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}else{for(;++r<n;)if(s=t(e[r],r,e),s!=null&&s>=s){o=c=s;break}if(r===n)return[-1,-1];for(i=a=r;++r<n;)s=t(e[r],r,e),s!=null&&(o>s&&(o=s,i=r),c<s&&(c=s,a=r))}return[i,a]}var tr={};function nr(e){let t={},n;function r(e){return p(t,e)&&t[e]!==tr}let i={size:0,empty:0,object:t,has:r,get(e){return r(e)?t[e]:void 0},set(e,n){return r(e)||(++i.size,t[e]===tr&&--i.empty),t[e]=n,this},delete(e){return r(e)&&(--i.size,++i.empty,t[e]=tr),this},clear(){i.size=i.empty=0,i.object=t={}},test(e){return arguments.length?(n=e,i):n},clean(){let e={},r=0;for(let i in t){let a=t[i];a!==tr&&(!n||!n(a))&&(e[i]=a,++r)}i.size=r,i.empty=0,i.object=t=e}};return e&&Object.keys(e).forEach(t=>{i.set(t,e[t])}),i}function rr(e,t,n,r,i,a){if(!n&&n!==0)return a;let o=+n,s=e[0],c=M(e),l;if(c===void 0)return a;c<s&&(l=s,s=c,c=l),l=Math.abs(t-s);let u=Math.abs(c-t);return l<u&&l<=o?r:u<=o?i:a}function N(e,t,n){let r=e.prototype=Object.create(t.prototype);return Object.defineProperty(r,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),g(r,n)}function ir(e,t,n,r){let i=t[0],a=t[t.length-1],o;return i>a&&(o=i,i=a,a=o),n=n===void 0||n,r=r===void 0||r,(n?i<=e:i<e)&&(r?e<=a:e<a)}function ar(e){return typeof e==`boolean`}function or(e){return Object.prototype.toString.call(e)===`[object RegExp]`}function sr(e,t){let n=e[0],r=M(e),i=+t;return r===void 0?n:i?i===1?r:n+i*(r-n):n}var wee=1e4;function cr(e){e=+e||wee;let t,n,r,i=()=>{t={},n={},r=0},a=(i,a)=>(++r>e&&(n=t,t={},r=1),t[i]=a);return i(),{clear:i,has:e=>p(t,e)||p(n,e),get:e=>p(t,e)?t[e]:p(n,e)?a(e,n[e]):void 0,set:(e,n)=>p(t,e)?t[e]=n:a(e,n)}}function Tee(e){return e===Array||typeof e==`function`&&e.prototype&&ArrayBuffer.isView(e.prototype)}function lr(e,t,n,r){let i=t.length,a=n.length;if(!a)return t;if(!i)return n;let o=t.constructor,s=r||(Tee(o)?new o(i+a):Array(i+a)),c=0,l=0,u=0;for(;c<i&&l<a;++u)s[u]=e(t[c],n[l])>0?n[l++]:t[c++];for(;c<i;++c,++u)s[u]=t[c];for(;l<a;++l,++u)s[u]=n[l];return s}function ur(e,t){let n=``;for(;--t>=0;)n+=e;return n}function dr(e,t,n,r){let i=n||` `,a=e+``,o=t-a.length;return o<=0?a:r===`left`?ur(i,o)+a:r===`center`?ur(i,~~(o/2))+a+ur(i,Math.ceil(o/2)):a+ur(i,o)}function fr(e){return e&&M(e)-e[0]||0}function pr(e){let t={},n=e.length;for(let r=0;r<n;++r)t[e[r]+``]=!0;return t}function mr(e,t,n,r){let i=r??`…`,a=e+``,o=a.length,s=Math.max(0,t-i.length);return o<=t?a:n===`left`?i+a.slice(o-s):n===`center`?a.slice(0,Math.ceil(s/2))+i+a.slice(o-~~(s/2)):a.slice(0,s)+i}function hr(e,t,n){if(e){if(t){let r=e.length;for(let i=0;i<r;++i){let r=t(e[i]);r&&n(r,i,e)}}else e.forEach(n)}}function Eee(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(r=t-i,i+=r/++n,a+=r*(t-i));else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,a+=r*(s-i))}if(n>1)return a/(n-1)}function Dee(e,t){let n=Eee(e,t);return n&&Math.sqrt(n)}var gr=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 Oee(e,t){return Array.from(t,t=>e[t])}function kee(e=je){if(e===je)return _r;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 _r(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}function vr(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?_r:kee(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));vr(e,t,u,d,i)}let a=e[t],o=n,s=r;for(yr(e,n,t),i(e[r],a)>0&&yr(e,n,r);o<s;){for(yr(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?yr(e,n,s):(++s,yr(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function yr(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function br(e,t,n){if(e=Float64Array.from(iee(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return $e(e);if(t>=1)return it(e);var r,i=(r-1)*t,a=Math.floor(i),o=it(vr(e,a).subarray(0,a+1));return o+($e(e.subarray(a+1))-o)*(i-a)}}function xr(e,t,n=tee){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function Aee(e,t){let n=0,r=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function Sr(e,t){return br(e,.5,t)}function*jee(e){for(let t of e)yield*t}function Cr(e){return Array.from(jee(e))}function wr(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Mee(e,...t){e=new Ke(e),t=t.map(Nee);out:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue out}return e}function Nee(e){return e instanceof Ke?e:new Ke(e)}function Pee(...e){let t=new Ke;for(let n of e)for(let e of n)t.add(e);return t}var Tr=e(n(),1),Fee=r(),Iee=/("(?:[^\\"]|\\.)*")|[:,]/g;function Er(e,t={}){let n=JSON.stringify([1],void 0,t.indent===void 0?2:t.indent).slice(2,-3),r=n===``?1/0:t.maxLength===void 0?80:t.maxLength,{replacer:i}=t;return(function e(t,a,o){t&&typeof t.toJSON==`function`&&(t=t.toJSON());let s=JSON.stringify(t,i);if(s===void 0)return s;let c=r-a.length-o;if(s.length<=c){let e=s.replace(Iee,(e,t)=>t||`${e} `);if(e.length<=c)return e}if(i!=null&&(t=JSON.parse(s),i=void 0),typeof t==`object`&&t){let r=a+n,i=[],o=0,s,c;if(Array.isArray(t)){s=`[`,c=`]`;let{length:n}=t;for(;o<n;o++)i.push(e(t[o],r,o===n-1?0:1)||`null`)}else{s=`{`,c=`}`;let n=Object.keys(t),{length:a}=n;for(;o<a;o++){let s=n[o],c=`${JSON.stringify(s)}: `,l=e(t[s],r,c.length+(o===a-1?0:1));l!==void 0&&i.push(c+l)}}if(i.length>0)return[s,n+i.join(`,\n${r}`),c].join(`\n${a}`)}return s})(e,``,0)}function Dr(e){let t=e||O,n=[],r={};return n.add=e=>{let i=t(e);return r[i]||(r[i]=1,n.push(e)),n},n.remove=e=>{let i=t(e);if(r[i]){r[i]=0;let t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function Or(e,t){try{await t(e)}catch(t){e.error(t)}}var kr=Symbol(`vega_id`),Ar=1;function jr(e){return!!(e&&P(e))}function P(e){return e[kr]}function Mr(e,t){return e[kr]=t,e}function Nr(e){let t=e===Object(e)?e:{data:e};return P(t)?t:Mr(t,Ar++)}function Pr(e){return Fr(e,Nr({}))}function Fr(e,t){for(let n in e)t[n]=e[n];return t}function Ir(e,t){return Mr(t,P(e))}function Lr(e,t){return e?t?(n,r)=>e(n,r)||P(t(n))-P(t(r)):(t,n)=>e(t,n)||P(t)-P(n):null}function Rr(e){return e&&e.constructor===zr}function zr(){let e=[],t=[],n=[],r=[],i=[],a=null,s=!1;return{constructor:zr,insert(t){let n=E(t),r=n.length;for(let t=0;t<r;++t)e.push(n[t]);return this},remove(e){let n=o(e)?r:t,i=E(e),a=i.length;for(let e=0;e<a;++e)n.push(i[e]);return this},modify(e,t,r){let a={field:t,value:Zn(r)};return o(e)?(a.filter=e,i.push(a)):(a.tuple=e,n.push(a)),this},encode(e,t){return o(e)?i.push({filter:e,field:t}):n.push({tuple:e,field:t}),this},clean(e){return a=e,this},reflow(){return s=!0,this},pulse(o,c){let l={},u={},d,f,p,m,h,g;for(d=0,f=c.length;d<f;++d)l[P(c[d])]=1;for(d=0,f=t.length;d<f;++d)h=t[d],l[P(h)]=-1;for(d=0,f=r.length;d<f;++d)m=r[d],c.forEach(e=>{m(e)&&(l[P(e)]=-1)});for(d=0,f=e.length;d<f;++d)h=e[d],g=P(h),l[g]?l[g]=1:o.add.push(Nr(e[d]));for(d=0,f=c.length;d<f;++d)h=c[d],l[P(h)]<0&&o.rem.push(h);function _(e,t,n){n?e[t]=n(e):o.encode=t,s||(u[P(e)]=e)}for(d=0,f=n.length;d<f;++d)p=n[d],h=p.tuple,m=p.field,g=l[P(h)],g>0&&(_(h,m,p.value),o.modifies(m));for(d=0,f=i.length;d<f;++d)p=i[d],m=p.filter,c.forEach(e=>{m(e)&&l[P(e)]>0&&_(e,p.field,p.value)}),o.modifies(p.field);if(s)o.mod=t.length||r.length?c.filter(e=>l[P(e)]>0):c.slice();else for(g in u)o.mod.push(u[g]);return(a||a==null&&(t.length||r.length))&&o.clean(!0),o}}}var Br=`_:mod:_`;function Vr(){Object.defineProperty(this,Br,{writable:!0,value:{}})}Vr.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[Br];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]=h(n)?1+n.length:-1),i},modified(e,t){let n=this[Br];if(!arguments.length){for(let e in n)if(n[e])return!0;return!1}if(h(e)){for(let t=0;t<e.length;++t)if(n[e[t]])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+`:`+e]:!!n[e]},clear(){return this[Br]={},this}};var Lee=0,Ree=`pulse`,zee=new Vr,Bee=1,Vee=2;function Hr(e,t,n,r){this.id=++Lee,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 Ur(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}Hr.prototype={targets(){return this._targets||=Dr(k)},set(e){return this.value===e?0:(this.value=e,1)},skip:Ur(Bee),modified:Ur(Vee),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Vr,i=this._argops=this._argops||[],a=[],o,s,c,l,u=(e,n,o)=>{o instanceof Hr?(o!==this&&(t&&o.targets().add(this),a.push(o)),i.push({op:o,name:e,index:n})):r.set(e,n,o)};for(o in e)if(s=e[o],o===Ree)E(s).forEach(e=>{e instanceof Hr?e!==this&&(e.targets().add(this),a.push(e)):j(`Pulse parameters must be operator instances.`)}),this.source=s;else if(h(s))for(r.set(o,-1,Array(c=s.length)),l=0;l<c;++l)u(o,l,s[l]);else u(o,-1,s);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||zee,n=this._argops,r,i,a,o;if(n){let s=n.length;for(i=0;i<s;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<s;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function Hee(e,t,n,r){let i=1,a;return e instanceof Hr?a=e:e&&e.prototype instanceof Hr?a=new e:o(e)?a=new Hr(null,e):(i=0,a=new Hr(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function Wr(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 Gr=0;function Kr(e,t,n){this.id=++Gr,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function qr(e,t,n){return new Kr(e,t,n)}Kr.prototype={_filter:x,_apply:O,targets(){return this._targets||=Dr(k)},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let e=0;e<r;++e)n[e].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=qr(e);return this.targets().add(t),t},apply(e){let t=qr(null,e);return this.targets().add(t),t},merge(){let e=qr();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=qr();return this.targets().add(qr(null,null,Qn(e,e=>{let n=e.dataflow;t.receive(e),n&&n.run&&n.run()}))),t},between(e,t){let n=!1;return e.targets().add(qr(null,null,()=>n=!0)),t.targets().add(qr(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=x,this._targets=null}};function Jr(e,t,n,r){let i=this,a=qr(n,r),o=function(e){e.dataflow=i;try{a.receive(e)}catch(e){i.error(e)}finally{i.run()}},s;s=typeof e==`string`&&typeof document<`u`?document.querySelectorAll(e):E(e);let c=s.length;for(let e=0;e<c;++e)s[e].addEventListener(t,o);return a}function Yr(e,t){let n=this.locale();return _e(e,t,n.timeParse,n.utcParse)}function Xr(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function Zr(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:`dataflow`,response:Se(t&&t.type)});try{i=n.parse(i,t)}catch(t){r=-2,n.warn(`Data ingestion failed`,e,t)}}catch(t){r=-1,n.warn(`Loading failed`,e,t)}return{data:i,status:r}}async function Qr(e,t,n){let r=this,i=r._pending||$r(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(x).insert(a.data||[])),i.done(),a}function $r(e){let t,n=new Promise(e=>t=e);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var ei={skip:!0};function ti(e,t,n,r,i){return(e instanceof Hr?ri:ni)(this,e,t,n,r,i),this}function ni(e,t,n,r,i,a){let s=g({},a,ei),c,l;o(n)||(n=Zn(n)),r===void 0?c=t=>e.touch(n(t)):o(r)?(l=new Hr(null,r,i,!1),c=t=>{l.evaluate(t);let r=n(t),i=l.value;Rr(i)?e.pulse(r,i,a):e.update(r,i,s)}):c=t=>e.update(n(t),r,s),t.apply(c)}function ri(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},s=new Hr(null,ii(n,r),i,!1);s.modified(o.force),s.rank=t.rank,t.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),e.connect(n,[s]))}}function ii(e,t){return t=o(t)?t:Zn(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function ai(e){e.rank=++this._rank}function oi(e){let t=[e],n,r,i;for(;t.length;)if(this.rank(n=t.pop()),r=n._targets)for(i=r.length;--i>=0;)t.push(n=r[i]),n===e&&j(`Cycle detected in dataflow graph.`)}var si={},ci=1,li=2,ui=4,di=3,fi=5,pi=7,mi=8,hi=16,gi=32,_i=64;function vi(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function yi(e,t){let n=[];return hr(e,t,e=>n.push(e)),n}function bi(e,t){let n={};return e.visit(t,e=>{n[P(e)]=1}),e=>n[P(e)]?null:e}function xi(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}vi.prototype={StopPropagation:si,ADD:ci,REM:li,MOD:ui,ADD_REM:di,ADD_MOD:fi,ALL:pi,REFLOW:mi,SOURCE:hi,NO_SOURCE:gi,NO_FIELDS:_i,fork(e){return new vi(this.dataflow).init(this,e)},clone(){let e=this.fork(pi);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&=e.source.slice(),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length?e:(e=new vi(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&_i)&&(n.fields=e.fields),t&ci?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&li?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&ui?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&gi?(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||pi;return t&ci&&this.add.length||t&li&&this.rem.length||t&ui&&this.mod.length},reflow(e){if(e)return this.fork(pi).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(ui,bi(this,ci))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||={};return h(e)?e.forEach(e=>t[e]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?h(e)?e.some(e=>n[e]):n[e]:!!n:!1},filter(e,t){let n=this;return e&ci&&(n.addF=xi(n.addF,t)),e&li&&(n.remF=xi(n.remF,t)),e&ui&&(n.modF=xi(n.modF,t)),e&hi&&(n.srcF=xi(n.srcF,t)),n},materialize(e){e||=pi;let t=this;return e&ci&&t.addF&&(t.add=yi(t.add,t.addF),t.addF=null),e&li&&t.remF&&(t.rem=yi(t.rem,t.remF),t.remF=null),e&ui&&t.modF&&(t.mod=yi(t.mod,t.modF),t.modF=null),e&hi&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&hi)return hr(n.source,n.srcF,r),n;e&ci&&hr(n.add,n.addF,r),e&li&&hr(n.rem,n.remF,r),e&ui&&hr(n.mod,n.modF,r);let i=n.source;if(e&mi&&i){let e=n.add.length+n.mod.length;e===i.length||(e?hr(i,bi(n,fi),r):hr(i,n.srcF,r))}return n}};function Si(e,t,n,r){let i=this,a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let e of n)if(e.stamp===t){if(e.fields){let t=i.fields||={};for(let n in e.fields)t[n]=1}e.changed(i.ADD)&&(a|=i.ADD),e.changed(i.REM)&&(a|=i.REM),e.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}N(Si,vi,{fork(e){let t=new vi(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,e=>t.add.push(e)),e&t.REM&&this.visit(t.REM,e=>t.rem.push(e)),e&t.MOD&&this.visit(t.MOD,e=>t.mod.push(e))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?h(e)?e.some(e=>n[e]):n[e]:0},filter(){j(`MultiPulse does not support filtering.`)},materialize(){j(`MultiPulse does not support materialization.`)},visit(e,t){let n=this,r=n.pulses,i=r.length,a=0;if(e&n.SOURCE)for(;a<i;++a)r[a].visit(e,t);else for(;a<i;++a)r[a].stamp===n.stamp&&r[a].visit(e,t);return n}});async function Ci(e,t,n){let r=this,i=[];if(r._pulse)return Di(r);if(r._pending&&await r._pending,t&&await Or(r,t),!r._touched.length)return r.debug(`Dataflow invoked, but nothing to do.`),r;let a=++r._clock;r._pulse=new vi(r,a,e),r._touched.forEach(e=>r._enqueue(e,!0)),r._touched=Dr(k);let o=0,s,c,l;try{for(;r._heap.size()>0;){if(s=r._heap.pop(),s.rank!==s.qrank){r._enqueue(s,!0);continue}c=s.run(r._getPulse(s,e)),c.then?c=await c:c.async&&(i.push(c.async),c=si),c!==si&&s._targets&&s._targets.forEach(e=>r._enqueue(e)),++o}}catch(e){r._heap.clear(),l=e}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),l&&(r._postrun=[],r.error(l)),r._postrun.length){let e=r._postrun.sort((e,t)=>t.priority-e.priority);r._postrun=[];for(let t=0;t<e.length;++t)await Or(r,e[t].callback)}return n&&await Or(r,n),i.length&&Promise.all(i).then(e=>r.runAsync(null,()=>{e.forEach(e=>{try{e(r)}catch(e){r.error(e)}})})),r}async function wi(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 Ti(e,t,n){return this._pulse?Di(this):(this.evaluate(e,t,n),this)}function Ei(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(e){this.error(e)}}function Di(e){return e.error(`Dataflow already running. Use runAsync() to chain invocations.`),e}function Uee(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function Wee(e,t){let n=e.source,r=this._clock;return n&&h(n)?new Si(this,r,n.map(e=>e.pulse),t):this._input[e.id]||Gee(this._pulse,n&&n.pulse)}function Gee(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==si&&(e.source=t.source),e)}var Oi={skip:!1,force:!1};function Kee(e,t){let n=t||Oi;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function qee(e,t,n){let r=n||Oi;return(e.set(t)||r.force)&&this.touch(e,r),this}function Jee(e,t,n){this.touch(e,n||Oi);let r=new vi(this,this._clock+ +!this._pulse),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function Yee(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),ki(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,Xee(t,0,e)):r=n,r}}}function ki(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 Xee(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,s;for(;o<i;)s=o+1,s<i&&n(e[o],e[s])>=0&&(o=s),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,ki(e,r,t,n)}function Ai(){this.logger(kn()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=me();try{this._loader=te()}catch{}this._touched=Dr(k),this._input={},this._pulse=null,this._heap=Yee((e,t)=>e.qrank-t.qrank),this._postrun=[]}function ji(e){return function(){return this._log[e].apply(this,arguments)}}Ai.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:ji(`error`),warn:ji(`warn`),info:ji(`info`),debug:ji(`debug`),logLevel:ji(`level`),cleanThreshold:1e4,add:Hee,connect:Wr,rank:ai,rerank:oi,pulse:Jee,touch:Kee,update:qee,changeset:zr,ingest:Xr,parse:Yr,preload:Qr,request:Zr,events:Jr,on:ti,evaluate:Ci,run:Ti,runAsync:wi,runAfter:Ei,_enqueue:Uee,_getPulse:Wee};function F(e,t){Hr.call(this,e,null,t)}N(F,Hr,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||=e,t.then?t=t.then(e=>this.pulse=e):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var Mi={};function Ni(e){let t=Pi(e);return t&&t.Definition||null}function Pi(e){return e&&=e.toLowerCase(),p(Mi,e)?Mi[e]:null}function*Fi(e,t){if(t==null)for(let t of e)t!=null&&t!==``&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==``&&(r=+r)>=r&&(yield r)}}function Ii(e,t,n){let r=Float64Array.from(Fi(e,n));return r.sort(je),t.map(e=>xr(r,e))}function Li(e,t){return Ii(e,[.25,.5,.75],t)}function Ri(e,t){let n=e.length,r=Dee(e,t),i=Li(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 zi(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],s,c,l,u,d,f,p=e.span||o-a||Math.abs(a)||1;if(e.step)s=e.step;else if(e.steps){for(u=p/t,d=0,f=e.steps.length;d<f&&e.steps[d]<u;++d);s=e.steps[Math.max(0,d-1)]}else{for(c=Math.ceil(Math.log(t)/r),l=e.minstep||0,s=Math.max(l,n**+(Math.round(Math.log(p)/r)-c));Math.ceil(p/s)>t;)s*=n;for(d=0,f=i.length;d<f;++d)u=s/i[d],u>=l&&p/u<=t&&(s=u)}u=Math.log(s);let m=n**(-(u>=0?0:~~(-u/r)+1)-1);return(e.nice||e.nice===void 0)&&(u=Math.floor(a/s+m)*s,a=a<u?u-s:u,o=Math.ceil(o/s)*s),{start:a,stop:o===a?a+s:o,step:s}}var Bi=Math.random;function Zee(e){Bi=e}function Vi(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(Fi(e,r)),a=i.length,o=t,s,c,l,u;for(l=0,u=Array(o);l<o;++l){for(s=0,c=0;c<a;++c)s+=i[~~(Bi()*a)];u[l]=s/a}return u.sort(je),[br(u,n/2),br(u,1-n/2)]}function Hi(e,t,n,r){r||=(e=>e);let i=e.length,a=new Float64Array(i),o=0,s=1,c=r(e[0]),l=c,u=c+t,d;for(;s<i;++s){if(d=r(e[s]),d>=u){for(l=(c+l)/2;o<s;++o)a[o]=l;u=d+t,c=d}l=d}for(l=(c+l)/2;o<s;++o)a[o]=l;return n?Qee(a,t+t/4):a}function Qee(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 $ee(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function ete(e,t){t??(t=e,e=0);let n,r,i,a={min(e){return arguments.length?(n=e||0,i=r-n,a):n},max(e){return arguments.length?(r=e||0,i=r-n,a):r},sample(){return n+Math.floor(i*Bi())},pdf(e){return e===Math.floor(e)&&e>=n&&e<r?1/i:0},cdf(e){let t=Math.floor(e);return t<n?0:t>=r?1:(t-n+1)/i},icdf(e){return e>=0&&e<=1?n-1+Math.floor(e*i):NaN}};return a.min(e).max(t)}var Ui=Math.sqrt(2*Math.PI),tte=Math.SQRT2,Wi=NaN;function Gi(e,t){e||=0,t??=1;let n=0,r=0,i,a;if(Wi===Wi)n=Wi,Wi=NaN;else{do n=Bi()*2-1,r=Bi()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,Wi=r*a}return e+n*t}function Ki(e,t,n){n??=1;let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*Ui)}function qi(e,t,n){t||=0,n??=1;let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let e=Math.exp(-i*i/2),t;i<7.07106781186547?(t=.0352624965998911*i+.700383064443688,t=t*i+6.37396220353165,t=t*i+33.912866078383,t=t*i+112.079291497871,t=t*i+221.213596169931,t=t*i+220.206867912376,a=e*t,t=.0883883476483184*i+1.75566716318264,t=t*i+16.064177579207,t=t*i+86.7807322029461,t=t*i+296.564248779674,t=t*i+637.333633378831,t=t*i+793.826512519948,t=t*i+440.413735824752,a/=t):(t=i+.65,t=i+4/t,t=i+3/t,t=i+2/t,t=i+1/t,a=e/t/2.506628274631)}return r>0?1-a:a}function Ji(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*tte*nte(2*e-1)}function nte(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=1.0512122733215323e-9+n*t,n=-4.112633980346984e-9+n*t,n=-2.9070369957882005e-8+n*t,n=4.2347877827932404e-7+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=2.2137376921775787e-9,n=9.075656193888539e-8+n*t,n=-2.7517406297064545e-7+n*t,n=1.8239629214389228e-8+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=1.5076572693500548e-9+n*t,n=-3.789465440126737e-9+n*t,n=7.61570120807834e-9+n*t,n=-1.496002662714924e-8+n*t,n=2.914795345090108e-8+n*t,n=-6.771199775845234e-8+n*t,n=2.2900482228026655e-7+n*t,n=-9.9298272942317e-7+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function Yi(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>Gi(n,r),pdf:e=>Ki(e,n,r),cdf:e=>qi(e,n,r),icdf:e=>Ji(e,n,r)};return i.mean(e).stdev(t)}function Xi(e,t){let n=Yi(),r=0,i={data(n){return arguments.length?(e=n,r=n?n.length:0,i.bandwidth(t)):e},bandwidth(n){return arguments.length?(t=n,!t&&e&&(t=Ri(e)),i):t},sample(){return e[~~(Bi()*r)]+t*n.sample()},pdf(i){let a=0,o=0;for(;o<r;++o)a+=n.pdf((i-e[o])/t);return a/t/r},cdf(i){let a=0,o=0;for(;o<r;++o)a+=n.cdf((i-e[o])/t);return a/r},icdf(){throw Error(`KDE icdf not supported.`)}};return i.data(e)}function Zi(e,t){return e||=0,t??=1,Math.exp(e+Gi()*t)}function Qi(e,t,n){if(e<=0)return 0;t||=0,n??=1;let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*Ui*e)}function $i(e,t,n){return qi(Math.log(e),t,n)}function ea(e,t,n){return Math.exp(Ji(e,t,n))}function ta(e,t){let n,r,i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=e??1,i):r},sample:()=>Zi(n,r),pdf:e=>Qi(e,n,r),cdf:e=>$i(e,n,r),icdf:e=>ea(e,n,r)};return i.mean(e).stdev(t)}function na(e,t){let n=0,r;function i(e){let t=[],r=0,i;for(i=0;i<n;++i)r+=t[i]=e[i]==null?1:+e[i];for(i=0;i<n;++i)t[i]/=r;return t}let a={weights(e){return arguments.length?(r=i(t=e||[]),a):t},distributions(r){return arguments.length?(r?(n=r.length,e=r):(n=0,e=[]),a.weights(t)):e},sample(){let t=Bi(),i=e[n-1],a=r[0],o=0;for(;o<n-1;a+=r[++o])if(t<a){i=e[o];break}return i.sample()},pdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].pdf(t);return i},cdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].cdf(t);return i},icdf(){throw Error(`Mixture icdf not supported.`)}};return a.distributions(e).weights(t)}function ra(e,t){return t??(t=e??1,e=0),e+(t-e)*Bi()}function ia(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function aa(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function oa(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function sa(e,t){let n,r,i={min(e){return arguments.length?(n=e||0,i):n},max(e){return arguments.length?(r=e??1,i):r},sample:()=>ra(n,r),pdf:e=>ia(e,n,r),cdf:e=>aa(e,n,r),icdf:e=>oa(e,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function ca(e,t,n){let r=0,i=0;for(let a of e){let e=n(a);t(a)==null||e==null||isNaN(e)||(r+=(e-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function la(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 ua(e,t,n,r){e=e.filter(e=>{let r=t(e),i=n(e);return r!=null&&(r=+r)>=r&&i!=null&&(i=+i)>=i}),r&&e.sort((e,n)=>t(e)-t(n));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),s=0,c=0,l=0,u,d,f;for(f of e)a[s]=u=+t(f),o[s]=d=+n(f),++s,c+=(u-c)/s,l+=(d-l)/s;for(s=0;s<i;++s)a[s]-=c,o[s]-=l;return[a,o,c,l]}function da(e,t,n,r){let i=-1,a,o;for(let s of e)a=t(s),o=n(s),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function fa(e,t,n,r,i){let a=0,o=0;return da(e,t,n,(e,t)=>{let n=t-i(e),s=t-r;a+=n*n,o+=s*s}),1-a/o}function pa(e,t,n){let r=0,i=0,a=0,o=0,s=0;da(e,t,n,(e,t)=>{++s,r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=la(r,i,a,o),l=e=>c[0]+c[1]*e;return{coef:c,predict:l,rSquared:fa(e,t,n,i,l)}}function ma(e,t,n){let r=0,i=0,a=0,o=0,s=0;da(e,t,n,(e,t)=>{++s,e=Math.log(e),r+=(e-r)/s,i+=(t-i)/s,a+=(e*t-a)/s,o+=(e*e-o)/s});let c=la(r,i,a,o),l=e=>c[0]+c[1]*Math.log(e);return{coef:c,predict:l,rSquared:fa(e,t,n,i,l)}}function ha(e,t,n){let[r,i,a,o]=ua(e,t,n),s=0,c=0,l=0,u=0,d=0,f,p,m;da(e,t,n,(e,t)=>{f=r[d++],p=Math.log(t),m=f*t,s+=(t*p-s)/d,c+=(m-c)/d,l+=(m*p-l)/d,u+=(f*m-u)/d});let[h,g]=la(c/o,s/o,l/o,u/o),_=e=>Math.exp(h+g*(e-a));return{coef:[Math.exp(h-g*a),g],predict:_,rSquared:fa(e,t,n,o,_)}}function ga(e,t,n){let r=0,i=0,a=0,o=0,s=0,c=0;da(e,t,n,(e,t)=>{let n=Math.log(e),l=Math.log(t);++c,r+=(n-r)/c,i+=(l-i)/c,a+=(n*l-a)/c,o+=(n*n-o)/c,s+=(t-s)/c});let l=la(r,i,a,o),u=e=>l[0]*e**+l[1];return l[0]=Math.exp(l[0]),{coef:l,predict:u,rSquared:fa(e,t,n,s,u)}}function _a(e,t,n){let[r,i,a,o]=ua(e,t,n),s=r.length,c=0,l=0,u=0,d=0,f=0,p,m,h,g;for(p=0;p<s;)m=r[p],h=i[p++],g=m*m,c+=(g-c)/p,l+=(g*m-l)/p,u+=(g*g-u)/p,d+=(m*h-d)/p,f+=(g*h-f)/p;let _=u-c*c,v=c*_-l*l,y=(f*c-d*l)/v,b=(d*_-f*l)/v,x=-y*c,S=e=>(e-=a,y*e*e+b*e+x+o);return{coef:[x-b*a+y*a*a+o,b-2*y*a,y],predict:S,rSquared:fa(e,t,n,o,S)}}function va(e,t,n,r){if(r===0)return ca(e,t,n);if(r===1)return pa(e,t,n);if(r===2)return _a(e,t,n);let[i,a,o,s]=ua(e,t,n),c=i.length,l=[],u=[],d=r+1,f,p,m,h,g;for(f=0;f<d;++f){for(m=0,h=0;m<c;++m)h+=i[m]**+f*a[m];for(l.push(h),g=new Float64Array(d),p=0;p<d;++p){for(m=0,h=0;m<c;++m)h+=i[m]**+(f+p);g[p]=h}u.push(g)}u.push(l);let _=ba(u),v=e=>{e-=o;let t=s+_[0]+_[1]*e+_[2]*e*e;for(f=3;f<d;++f)t+=_[f]*e**+f;return t};return{coef:ya(d,_,-o,s),predict:v,rSquared:fa(e,t,n,s,v)}}function ya(e,t,n,r){let i=Array(e),a,o,s,c;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(s=t[a],c=1,i[a]+=s,o=1;o<=a;++o)c*=(a+1-o)/o,i[a-o]+=s*n**+o*c;return i[0]+=r,i}function ba(e){let t=e.length-1,n=[],r,i,a,o,s;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)s=e[a][r],e[a][r]=e[a][o],e[a][o]=s;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(s=0,a=i+1;a<t;++a)s+=e[a][i]*n[a];n[i]=(e[t][i]-s)/e[i][i]}return n}var xa=2,Sa=1e-12;function Ca(e,t,n,r){let[i,a,o,s]=ua(e,t,n,!0),c=i.length,l=Math.max(2,~~(r*c)),u=new Float64Array(c),d=new Float64Array(c),f=new Float64Array(c).fill(1);for(let e=-1;++e<=xa;){let t=[0,l-1];for(let e=0;e<c;++e){let n=i[e],r=t[0],o=t[1],s=n-i[r]>i[o]-n?r:o,c=0,l=0,p=0,m=0,h=0,g=1/Math.abs(i[s]-n||1);for(let e=r;e<=o;++e){let t=i[e],r=a[e],o=wa(Math.abs(n-t)*g)*f[e],s=t*o;c+=o,l+=s,p+=r*o,m+=r*s,h+=t*s}let[_,v]=la(l/c,p/c,m/c,h/c);u[e]=_+v*n,d[e]=Math.abs(a[e]-u[e]),Ta(i,e+1,t)}if(e===xa)break;let n=Sr(d);if(Math.abs(n)<Sa)break;for(let e=0,t,r;e<c;++e)t=d[e]/(6*n),f[e]=t>=1?Sa:(r=1-t*t)*r}return Ea(i,u,o,s)}function wa(e){return(e=1-e*e*e)*e*e}function Ta(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 Ea(e,t,n,r){let i=e.length,a=[],o=0,s=0,c=[],l;for(;o<i;++o)l=e[o]+n,c[0]===l?c[1]+=(t[o]-c[1])/++s:(s=0,c[1]+=r,c=[l,t[o]],a.push(c));return c[1]+=r,a}var Da=.5*Math.PI/180;function Oa(e,t,n,r){n||=25,r=Math.max(n,r||200);let i=t=>[t,e(t)],a=t[0],o=t[1],s=o-a,c=s/r,l=[i(a)],u=[];if(n===r){for(let e=1;e<r;++e)l.push(i(a+e/n*s));return l.push(i(o)),l}u.push(i(o));for(let e=n;--e>0;)u.push(i(a+e/n*s));let d=l[0],f=u[u.length-1],p=1/s,m=ka(d[1],u);for(;f;){let e=i((d[0]+f[0])/2);e[0]-d[0]>=c&&Aa(d,e,f,p,m)>Da?u.push(e):(d=f,l.push(f),u.pop()),f=u[u.length-1]}return l}function ka(e,t){let n=e,r=e,i=t.length;for(let e=0;e<i;++e){let i=t[e][1];i<n&&(n=i),i>r&&(r=i)}return 1/(r-n)}function Aa(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 ja=`year`,Ma=`quarter`,Na=`month`,Pa=`week`,Fa=`date`,Ia=`dayofyear`,La=`hours`,Ra=`minutes`,za=`seconds`,Ba=`milliseconds`,Va=[ja,Ma,Na,Pa,Fa,`day`,Ia,La,Ra,za,Ba],Ha=Va.reduce((e,t,n)=>(e[t]=1+n,e),{});function Ua(e){let t=E(e).slice(),n={};return t.length||j(`Missing time unit.`),t.forEach(e=>{p(Ha,e)?n[e]=1:j(`Invalid time unit: ${e}.`)}),(n.week||n.day?1:0)+(n.quarter||n.month||n.date?1:0)+ +!!n.dayofyear>1&&j(`Incompatible time units: ${e}`),t.sort((e,t)=>Ha[e]-Ha[t]),t}var Wa={[ja]:`%Y `,[Ma]:`Q%q `,[Na]:`%b `,[Fa]:`%d `,[Pa]:`W%U `,day:`%a `,[Ia]:`%j `,[La]:`%H:00`,[Ra]:`00:%M`,[za]:`:%S`,[Ba]:`.%L`,[`${ja}-${Na}`]:`%Y-%m `,[`${ja}-${Na}-${Fa}`]:`%Y-%m-%d `,[`${La}-${Ra}`]:`%H:%M`};function Ga(e,t){let n=g({},Wa,t),r=Ua(e),i=r.length,a=``,o=0,s,c;for(o=0;o<i;)for(s=r.length;s>o;--s)if(c=r.slice(o,s).join(`-`),n[c]!=null){a+=n[c],o=s;break}return a.trim()}var Ka=new Date;function qa(e){return Ka.setFullYear(e),Ka.setMonth(0),Ka.setDate(1),Ka.setHours(0,0,0,0),Ka}function Ja(e){return Xa(new Date(e))}function Ya(e){return Za(new Date(e))}function Xa(e){return wt.count(qa(e.getFullYear())-1,e)}function Za(e){return bt.count(qa(e.getFullYear())-1,e)}function Qa(e){return qa(e).getDay()}function $a(e,t,n,r,i,a,o){if(0<=e&&e<100){let s=new Date(-1,t,n,r,i,a,o);return s.setFullYear(e),s}return new Date(e,t,n,r,i,a,o)}function eo(e){return no(new Date(e))}function to(e){return ro(new Date(e))}function no(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return Ct.count(t-1,e)}function ro(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return St.count(t-1,e)}function io(e){return Ka.setTime(Date.UTC(e,0,1)),Ka.getUTCDay()}function ao(e,t,n,r,i,a,o){if(0<=e&&e<100){let e=new Date(Date.UTC(-1,t,n,r,i,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,i,a,o))}function oo(e,t,n,r,a){let o=t||1,s=M(e),c=(e,t,i)=>(i||=e,so(n[i],r[i],e===s&&o,t)),l=new Date,u=pr(e),d=u.year?c(ja):Zn(2012),f=u.month?c(Na):u.quarter?c(Ma):i,p=u.week&&u.day?c(`day`,1,Pa+`day`):u.week?c(Pa,1):u.day?c(`day`,1):u.date?c(Fa,1):u.dayofyear?c(Ia,1):A,m=u.hours?c(La):i,h=u.minutes?c(Ra):i,g=u.seconds?c(za):i,_=u.milliseconds?c(Ba):i;return function(e){l.setTime(+e);let t=d(l);return a(t,f(l),p(l,t),m(l),h(l),g(l),_(l))}}function so(e,t,n,r){let i=n<=1?e:r?(t,i)=>r+n*Math.floor((e(t,i)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(i(e,n),n):i}function co(e,t,n){return t+e*7-(n+6)%7}var lo={[ja]:e=>e.getFullYear(),[Ma]:e=>Math.floor(e.getMonth()/3),[Na]:e=>e.getMonth(),[Fa]:e=>e.getDate(),[La]:e=>e.getHours(),[Ra]:e=>e.getMinutes(),[za]:e=>e.getSeconds(),[Ba]:e=>e.getMilliseconds(),[Ia]:e=>Xa(e),[Pa]:e=>Za(e),[Pa+`day`]:(e,t)=>co(Za(e),e.getDay(),Qa(t)),day:(e,t)=>co(1,e.getDay(),Qa(t))},uo={[Ma]:e=>3*e,[Pa]:(e,t)=>co(e,0,Qa(t))};function fo(e,t){return oo(e,t||1,lo,uo,$a)}var po={[ja]:e=>e.getUTCFullYear(),[Ma]:e=>Math.floor(e.getUTCMonth()/3),[Na]:e=>e.getUTCMonth(),[Fa]:e=>e.getUTCDate(),[La]:e=>e.getUTCHours(),[Ra]:e=>e.getUTCMinutes(),[za]:e=>e.getUTCSeconds(),[Ba]:e=>e.getUTCMilliseconds(),[Ia]:e=>no(e),[Pa]:e=>ro(e),day:(e,t)=>co(1,e.getUTCDay(),io(t)),[Pa+`day`]:(e,t)=>co(ro(e),e.getUTCDay(),io(t))},mo={[Ma]:e=>3*e,[Pa]:(e,t)=>co(e,0,io(t))};function ho(e,t){return oo(e,t||1,po,mo,ao)}var go={[ja]:yt,[Ma]:_t.every(3),[Na]:_t,[Pa]:bt,[Fa]:wt,day:wt,[Ia]:wt,[La]:ht,[Ra]:oee,[za]:pt,[Ba]:mt},_o={[ja]:xt,[Ma]:vt.every(3),[Na]:vt,[Pa]:St,[Fa]:Ct,day:Ct,[Ia]:Ct,[La]:ft,[Ra]:gt,[za]:pt,[Ba]:mt};function vo(e){return go[e]}function yo(e){return _o[e]}function bo(e,t,n){return e?e.offset(t,n):void 0}function xo(e,t,n){return bo(vo(e),t,n)}function So(e,t,n){return bo(yo(e),t,n)}function Co(e,t,n,r){return e?e.range(t,n,r):void 0}function wo(e,t,n,r){return Co(vo(e),t,n,r)}function To(e,t,n,r){return Co(yo(e),t,n,r)}var Eo=1e3,Do=Eo*60,Oo=Do*60,ko=Oo*24,Ao=ko*7,jo=ko*30,Mo=ko*365,No=[ja,Na,Fa,La,Ra,za,Ba],Po=No.slice(0,-1),Fo=Po.slice(0,-1),Io=Fo.slice(0,-1),Lo=Io.slice(0,-1),Ro=[ja,Pa],zo=[ja,Na],Bo=[ja],Vo=[[Po,1,Eo],[Po,5,5*Eo],[Po,15,15*Eo],[Po,30,30*Eo],[Fo,1,Do],[Fo,5,5*Do],[Fo,15,15*Do],[Fo,30,30*Do],[Io,1,Oo],[Io,3,3*Oo],[Io,6,6*Oo],[Io,12,12*Oo],[Lo,1,ko],[Ro,1,Ao],[zo,1,jo],[zo,3,3*jo],[Bo,1,Mo]];function Ho(e){let t=e.extent,n=e.maxbins||40,r=Math.abs(fr(t))/n,i=We(e=>e[2]).right(Vo,r),a,o;return i===Vo.length?(a=Bo,o=Je(t[0]/Mo,t[1]/Mo,n)):i?(i=Vo[r/Vo[i-1][2]<Vo[i][2]/r?i-1:i],a=i[0],o=i[1]):(a=No,o=Math.max(Je(t[0],t[1],n),1)),{units:a,step:o}}var Uo=t({aggregate:()=>cs,bin:()=>us,collect:()=>fs,compare:()=>ps,countpattern:()=>hs,cross:()=>gs,density:()=>bs,dotbin:()=>Ts,expression:()=>Es,extent:()=>Ds,facet:()=>ks,field:()=>As,filter:()=>js,flatten:()=>Ms,fold:()=>Ns,formula:()=>Ps,generate:()=>Fs,impute:()=>Ls,joinaggregate:()=>Rs,kde:()=>zs,key:()=>Bs,load:()=>Vs,lookup:()=>Us,multiextent:()=>Ws,multivalues:()=>Gs,params:()=>Ks,pivot:()=>qs,prefacet:()=>Js,project:()=>Ys,proxy:()=>Xs,quantile:()=>Zs,relay:()=>Qs,sample:()=>$s,sequence:()=>ec,sieve:()=>tc,subflow:()=>Os,timeunit:()=>nc,tupleindex:()=>ic,values:()=>ac,window:()=>lc});function Wo(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 Go(e){return!e||!e.length?function(){return``}:e.length===1?e[0]:Wo(e)}function Ko(e,t,n){return n||e+(t?`_`+t:``)}var qo=()=>{},Jo={init:qo,add:qo,rem:qo,idx:0},Yo={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}},Xo=Object.keys(Yo).filter(e=>e!==`__count__`);function Zo(e,t){return(n,r)=>g({name:e,aggregate_param:r,out:n||e},Jo,t)}[...Xo,`__count__`].forEach(e=>{Yo[e]=Zo(e,Yo[e])});function Qo(e,t,n){return Yo[e](n,t)}function $o(e,t){return e.idx-t.idx}function es(e){let t={};e.forEach(e=>t[e.name]=e);let n=e=>{e.req&&e.req.forEach(e=>{t[e]||n(t[e]=Yo[e]())})};return e.forEach(n),Object.values(t).sort($o)}function ts(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function ns(e,t){if(e==null||e===``){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function rs(e,t){if(e==null||e===``){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function is(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function as(e,t){let n=t||O,r=es(e),i=e.slice().sort($o);function a(e){this._ops=r,this._out=i,this.cell=e,this.init()}return a.prototype.init=ts,a.prototype.add=ns,a.prototype.rem=rs,a.prototype.set=is,a.prototype.get=n,a.fields=e.map(e=>e.out),a}function os(e){this._key=e?oe(e):P,this.reset()}var ss=os.prototype;ss.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ss.add=function(e){this._add.push(e)},ss.rem=function(e){this._rem.push(e)},ss.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),o={},s,c,l;for(s=0;s<i;++s)o[n(t[s])]=1;for(s=0,c=0;s<r;++s)o[n(l=e[s])]?o[n(l)]=0:a[c++]=l;return this._rem=[],this._add=a},ss.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+``,p(n,a)||(n[a]=1,++i);return i},ss.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=er(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},ss.argmin=function(e){return this.extent(e)[0]||{}},ss.argmax=function(e){return this.extent(e)[1]||{}},ss.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},ss.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},ss.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=Li(this.values(),e),this._get=e),this._q},ss.q1=function(e){return this.quartile(e)[0]},ss.q2=function(e){return this.quartile(e)[1]},ss.q3=function(e){return this.quartile(e)[2]},ss.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=Vi(this.values(),1e3,.05,e),this._get=e),this._ci},ss.ci0=function(e){return this.ci(e)[0]},ss.ci1=function(e){return this.ci(e)[1]};function cs(e){F.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}cs.Definition={type:`Aggregate`,metadata:{generates:!0,changes:!0},params:[{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:Xo},{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`}]},N(cs,F,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,e=>n.add(e))):(n.value=n.value||n.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(e){let t,a,o,s;for(t in e)for(o=e[t].tuple,a=0;a<i;++a)r[a][s=o[n[a]]]=s}a(e._prev),a(t);function o(a,s,c){let l=n[c],u=r[c++];for(let n in u){let r=a?a+`|`+n:n;s[l]=u[n],c<i?o(r,s,c):t[r]||e.cell(r,s)}}o(``,{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(e){let n=E(de(e)),i=n.length,a=0,o;for(;a<i;++a)r[o=n[a]]||(r[o]=1,t.push(o))}this._dims=E(e.groupby),this._dnames=this._dims.map(e=>{let t=ne(e);return i(e),n.push(t),t}),this.cellkey=e.key?e.key:Go(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||[`count`],s=e.aggregate_params||[null],c=e.as||[],l=a.length,u={},d,f,p,m,h,g,_;for(l!==o.length&&j(`Unmatched number of fields and aggregate ops.`),_=0;_<l;++_){if(d=a[_],f=o[_],p=s[_]||null,d==null&&f!==`count`&&j(`Null aggregate field specified.`),h=ne(d),g=Ko(f,h,c[_]),n.push(g),f===`count`){this._counts.push(g);continue}m=u[h],m||(i(d),m=u[h]=[],m.field=d,this._measures.push(m)),f!==`count`&&(this._countOnly=!1),m.push(Qo(f,p,g))}return this._measures=this._measures.map(e=>as(e,e.field)),Object.create(null)},cellkey:Go(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let e=this._measures,t=e.length;n.agg=Array(t);for(let r=0;r<t;++r)n.agg[r]=new e[r](n)}return n.store&&(n.data=new os),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let t=0;t<i;++t)a[n[t]]=r[t](e);return t?Ir(t.tuple,a):Nr(a)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let t=0,n=r.length;t<n;++t)r[t].add(r[t].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(--n.num,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let t=0,n=r.length;t<n;++t)r[t].rem(r[t].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let n=e.agg;for(let e=0,r=n.length;e<r;++e)n[e].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,a=e.add,o=e.rem,s=e.mod,c,l,u,d;if(r)for(l in r)c=r[l],(!i||c.num)&&o.push(c.tuple);for(u=0,d=this._alen;u<d;++u)a.push(this.celltuple(t[u])),t[u]=null;for(u=0,d=this._mlen;u<d;++u)c=n[u],(c.num===0&&i?o:s).push(this.celltuple(c)),n[u]=null;return this._alen=this._mlen=0,this._prev=null,e}});var ls=1e-14;function us(e){F.call(this,null,e)}us.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`]}]},N(us,F,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||[`bin0`,`bin1`],s=o[0],c=o[1],l;return e.modified()?(t=t.reflow(!0),l=t.SOURCE):l=t.modified(de(e.field))?t.ADD_MOD:t.ADD,t.visit(l,n?e=>{let t=r(e);e[s]=t,e[c]=t==null?null:i+a*(1+(t-i)/a)}:e=>e[s]=r(e)),t.modifies(n?o:s)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=zi(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,s;(o=e.anchor)!=null&&(s=o-(i+r*Math.floor((o-i)/r)),i+=s,a+=s);let c=function(e){let n=f(t(e));return n==null?null:n<i?-1/0:n>a?1/0:(n=Math.max(i,Math.min(n,a-r)),i+r*Math.floor(ls+(n-i)/r))};return c.start=i,c.stop=n.stop,c.step=r,this.value=xe(c,de(t),e.name||`bin_`+ne(t))}});function ds(e,t,n){let r=e,i=t||[],a=n||[],o={},s=0;return{add:e=>a.push(e),remove:e=>o[r(e)]=++s,size:()=>i.length,data:(e,t)=>(s&&=(i=i.filter(e=>!o[r(e)]),o={},0),t&&e&&i.sort(e),a.length&&(i=e?lr(e,i,a.sort(e)):i.concat(a),a=[]),i)}}function fs(e){F.call(this,[],e)}fs.Definition={type:`Collect`,metadata:{source:!0},params:[{name:`sort`,type:`compare`}]},N(fs,F,{transform(e,t){let n=t.fork(t.ALL),r=ds(P,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(Lr(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function ps(e){Hr.call(this,null,ms,e)}N(ps,Hr);function ms(e){return this.value&&!e.modified()?this.value:ke(e.fields,e.orders)}function hs(e){F.call(this,null,e)}hs.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 rte(e,t,n){switch(t){case`upper`:e=e.toUpperCase();break;case`lower`:e=e.toLowerCase()}return e.match(n)}N(hs,F,{transform(e,t){let n=t=>n=>{for(var r=rte(s(n),e.case,a)||[],i,c=0,l=r.length;c<l;++c)o.test(i=r[c])||t(i)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,s=e.field,c=e.as||[`text`,`count`],l=n(e=>i[e]=1+(i[e]||0)),u=n(e=>--i[e]);return r?t.visit(t.SOURCE,l):(t.visit(t.ADD,l),t.visit(t.REM,u)),this._finish(t,c)},_parameterCheck(e,t){let n=!1;return(e.modified(`stopwords`)||!this._stop)&&(this._stop=RegExp(`^`+(e.stopwords||``)+`$`,`i`),n=!0),(e.modified(`pattern`)||!this._match)&&(this._match=new RegExp(e.pattern||`[\\w']+`,`g`),n=!0),(e.modified(`field`)||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||={},i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),s,c,l;for(s in n)c=r[s],l=n[s]||0,!c&&l?(r[s]=c=Nr({}),c[i]=s,c[a]=l,o.add.push(c)):l===0?(c&&o.rem.push(c),n[s]=null,r[s]=null):c[a]!==l&&(c[a]=l,o.mod.push(c));return o.modifies(t)}});function gs(e){F.call(this,null,e)}gs.Definition={type:`Cross`,metadata:{generates:!0},params:[{name:`filter`,type:`expr`},{name:`as`,type:`string`,array:!0,length:2,default:[`a`,`b`]}]},N(gs,F,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||[`a`,`b`],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified(`as`)||e.modified(`filter`),s=this.value;return o?(s&&(n.rem=s),s=t.materialize(t.SOURCE).source,n.add=this.value=ite(s,i,a,e.filter||x)):n.mod=s,n.source=this.value,n.modifies(r)}});function ite(e,t,n,r){for(var i=[],a={},o=e.length,s=0,c,l;s<o;++s)for(a[t]=l=e[s],c=0;c<o;++c)a[n]=e[c],r(a)&&(i.push(Nr(a)),a={},a[t]=l);return i}var _s={kde:Xi,mixture:na,normal:Yi,lognormal:ta,uniform:sa},ate=`distributions`,vs=`function`,ote=`field`;function ys(e,t){let n=e[vs];p(_s,n)||j(`Unknown distribution function: `+n);let r=_s[n]();for(let n in e)n===ote?r.data((e.from||t()).map(e[n])):n===ate?r[n](e[n].map(e=>ys(e,t))):typeof r[n]===vs&&r[n](e[n]);return r}function bs(e){F.call(this,null,e)}var xs=[{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}]}],ste={key:{function:`mixture`},params:[{name:`distributions`,type:`param`,array:!0,params:xs},{name:`weights`,type:`number`,array:!0}]};bs.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:xs.concat(ste)},{name:`as`,type:`string`,array:!0,default:[`value`,`density`]}]},N(bs,F,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=ys(e.distribution,cte(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||`pdf`;o!==`pdf`&&o!==`cdf`&&j(`Invalid density method: `+o),!e.extent&&!r.data&&j(`Missing density extent parameter.`),o=r[o];let s=e.as||[`value`,`density`],c=e.extent||$n(r.data()),l=Oa(o,c,i,a).map(e=>{let t={};return t[s[0]]=e[0],t[s[1]]=e[1],Nr(t)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function cte(e){return()=>e.materialize(e.SOURCE).source}function Ss(e,t){return e?e.map((e,n)=>t[n]||ne(e)):null}function Cs(e,t,n){let r=[],i=e=>e(c),a,o,s,c,l,u;if(t==null)r.push(e.map(n));else for(a={},o=0,s=e.length;o<s;++o)c=e[o],l=t.map(i),u=a[l],u||(a[l]=u=[],u.dims=l,r.push(u)),u.push(n(c));return r}var ws=`bin`;function Ts(e){F.call(this,null,e)}Ts.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:ws}]};var lte=(e,t)=>fr($n(e,t))/30;N(Ts,F,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=Cs(t.source,e.groupby,O),i=e.smooth||!1,a=e.field,o=e.step||lte(n,a),s=Lr((e,t)=>a(e)-a(t)),c=e.as||ws,l=r.length,u=1/0,d=-1/0,f=0,p;for(;f<l;++f){let e=r[f].sort(s);p=-1;for(let t of Hi(e,o,i,a))t<u&&(u=t),t>d&&(d=t),e[++p][c]=t}return this.value={start:u,stop:d,step:o},t.reflow(!0).modifies(c)}});function Es(e){Hr.call(this,null,ute,e),this.modified(!0)}N(Es,Hr);function ute(e){let t=e.expr;return this.value&&!e.modified(`expr`)?this.value:xe(n=>t(n,e),de(t),ne(t))}function Ds(e){F.call(this,[void 0,void 0],e)}Ds.Definition={type:`Extent`,metadata:{},params:[{name:`field`,type:`field`,required:!0}]},N(Ds,F,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified(`field`),a=n[0],o=n[1];if((i||a==null)&&(a=1/0,o=-1/0),t.visit(i?t.SOURCE:t.ADD,e=>{let t=f(r(e));t!=null&&(t<a&&(a=t),t>o&&(o=t))}),!Number.isFinite(a)||!Number.isFinite(o)){let e=ne(r);e&&=` for field "${e}"`,t.dataflow.warn(`Infinite extent${e}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Os(e,t){Hr.call(this,e),this.parent=t,this.count=0}N(Os,Hr,{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){F.call(this,{},e),this._keys=nr();let t=this._targets=[];t.active=0,t.forEach=e=>{for(let n=0,r=t.active;n<r;++n)e(t[n],n,t)}}N(ks,F,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=p(i,e)&&i[e],o,s;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(s=r||(s=this._group[e])&&s.tuple,o=n.dataflow,a=new Os(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,s)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let e=this._targets.filter(e=>e&&e.count>0);this.initTargets(e)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified(`key`),s=e=>this.subflow(e,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,e=>{let t=P(e),n=a.get(t);n!==void 0&&(a.delete(t),s(n).rem(e))}),t.visit(t.ADD,e=>{let t=r(e);a.set(P(e),t),s(t).add(e)}),o||t.modified(r.fields)?t.visit(t.MOD,e=>{let t=P(e),n=a.get(t),i=r(e);n===i?s(i).mod(e):(a.set(t,i),s(n).rem(e),s(i).add(e))}):t.changed(t.MOD)&&t.visit(t.MOD,e=>{s(a.get(P(e))).mod(e)}),o&&t.visit(t.REFLOW,e=>{let t=P(e),n=a.get(t),i=r(e);n!==i&&(a.set(t,i),s(n).rem(e),s(i).add(e))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function As(e){Hr.call(this,null,dte,e)}N(As,Hr);function dte(e){return this.value&&!e.modified()?this.value:h(e.name)?E(e.name).map(e=>oe(e)):oe(e.name,e.as)}function js(e){F.call(this,nr(),e)}js.Definition={type:`Filter`,metadata:{changes:!0},params:[{name:`expr`,type:`expr`,required:!0}]},N(js,F,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,s=i.mod,c=e.expr,l=!0;t.visit(t.REM,e=>{let t=P(e);r.has(t)?r.delete(t):o.push(e)}),t.visit(t.ADD,t=>{c(t,e)?a.push(t):r.set(P(t),1)});function u(t){let n=P(t),i=c(t,e),u=r.get(n);i&&u?(r.delete(n),a.push(t)):!i&&!u?(r.set(n,1),o.push(t)):l&&i&&!u&&s.push(t)}return t.visit(t.MOD,u),e.modified()&&(l=!1,t.visit(t.REFLOW,u)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function Ms(e){F.call(this,[],e)}Ms.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}]},N(Ms,F,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Ss(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{let t=r.map(t=>t(e)),s=t.reduce((e,t)=>Math.max(e,t.length),0),c=0,l,u;for(;c<s;++c){for(u=Pr(e),l=0;l<o;++l)u[i[l]]=t[l][c]??null;a&&(u[a]=c),n.add.push(u)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function Ns(e){F.call(this,[],e)}Ns.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`]}]},N(Ns,F,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(ne),a=e.as||[`key`,`value`],o=a[0],s=a[1],c=r.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{for(let t=0,a;t<c;++t)a=Pr(e),a[o]=i[t],a[s]=r[t](e),n.add.push(a)}),this.value=n.source=n.add,n.modifies(a)}});function Ps(e){F.call(this,null,e)}Ps.Definition={type:`Formula`,metadata:{modifies:!0},params:[{name:`expr`,type:`expr`,required:!0},{name:`as`,type:`string`,required:!0},{name:`initonly`,type:`boolean`}]},N(Ps,F,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,t=>t[r]=n(t,e))}});function Fs(e){F.call(this,[],e)}N(Fs,F,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,s,c;if(a>0){for(o=[];--a>=0;)o.push(c=Nr(r(e))),i.push(c);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else s=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(s):s,i=i.slice(-a);return n.source=this.value=i,n}});var Is={value:`value`,median:Sr,mean:Aee,min:$e,max:it},fte=[];function Ls(e){F.call(this,[],e)}Ls.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 pte(e){var t=e.method||Is.value,n;if(Is[t]==null)j(`Unrecognized imputation method: `+t);else if(t===Is.value)return n=e.value===void 0?0:e.value,()=>n;else return Is[t]}function mte(e){let t=e.field;return e=>e?t(e):NaN}N(Ls,F,{transform(e,t){var n=t.fork(t.ALL),r=pte(e),i=mte(e),a=ne(e.field),o=ne(e.key),s=(e.groupby||[]).map(ne),c=hte(t.source,e.groupby,e.key,e.keyvals),l=[],u=this.value,d=c.domain.length,f,p,m,h,g,_,v,y,b,x;for(g=0,y=c.length;g<y;++g)for(f=c[g],m=f.values,p=NaN,v=0;v<d;++v)if(f[v]==null){for(h=c.domain[v],x={_impute:!0},_=0,b=m.length;_<b;++_)x[s[_]]=m[_];x[o]=h,x[a]=Number.isNaN(p)?p=r(f,i):p,l.push(Nr(x))}return l.length&&(n.add=n.materialize(n.ADD).add.concat(l)),u.length&&(n.rem=n.materialize(n.REM).rem.concat(u)),this.value=l,n}});function hte(e,t,n,r){var i=e=>e(g),a=[],o=r?r.slice():[],s={},c={},l,u,d,f,p,m,h,g;for(o.forEach((e,t)=>s[e]=t+1),f=0,h=e.length;f<h;++f)g=e[f],m=n(g),p=s[m]||(s[m]=o.push(m)),u=(l=t?t.map(i):fte)+``,(d=c[u])||(d=c[u]=[],a.push(d),d.values=l),d[p-1]=g;return a.domain=o,a}function Rs(e){cs.call(this,e)}Rs.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:Xo},{name:`as`,type:`string`,null:!0,array:!0},{name:`key`,type:`field`}]},N(Rs,cs,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,e=>n.add(e))):(i=n.value=n.value||this.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),n.changes(),t.visit(t.SOURCE,e=>{g(e,i[n.cellkey(e)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function zs(e){F.call(this,null,e)}zs.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`]}]},N(zs,F,{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=Cs(r,e.groupby,e.field),a=(e.groupby||[]).map(ne),o=e.bandwidth,s=e.cumulative?`cdf`:`pdf`,c=e.as||[`value`,`density`],l=[],u=e.extent,d=e.steps||e.minsteps||25,f=e.steps||e.maxsteps||200;s!==`pdf`&&s!==`cdf`&&j(`Invalid density method: `+s),e.resolve===`shared`&&(u||=$n(r,e.field),d=f=e.steps||f),i.forEach(t=>{let n=Xi(t,o)[s],r=e.counts?t.length:1;Oa(n,u||$n(t),d,f).forEach(e=>{let n={};for(let e=0;e<a.length;++e)n[a[e]]=t.dims[e];n[c[0]]=e[0],n[c[1]]=e[1]*r,l.push(Nr(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function Bs(e){Hr.call(this,null,gte,e)}N(Bs,Hr);function gte(e){return this.value&&!e.modified()?this.value:fe(e.fields,e.flat)}function Vs(e){F.call(this,[],e),this._pending=null}N(Vs,F,{transform(e,t){let n=t.dataflow;return this._pending?Hs(this,t,this._pending):_te(e)?t.StopPropagation:e.values?Hs(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(e=>(this._pending=E(e.data),e=>e.touch(this)))}:n.request(e.url,e.format).then(e=>Hs(this,t,E(e.data)))}});function _te(e){return e.modified(`async`)&&!(e.modified(`values`)||e.modified(`url`)||e.modified(`format`))}function Hs(e,t,n){n.forEach(Nr);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 Us(e){F.call(this,{},e)}Us.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}]},N(Us,F,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),s=n.length,c=o?t.SOURCE:t.ADD,l=t,u=e.as,d,f,p;return i?(f=i.length,s>1&&!u&&j(`Multi-field lookup requires explicit "as" parameter.`),u&&u.length!==s*f&&j(`The "as" parameter has too few output field names.`),u||=i.map(ne),d=function(e){for(var t=0,o=0,c,l;t<s;++t)if(l=r.get(n[t](e)),l==null)for(c=0;c<f;++c,++o)e[u[o]]=a;else for(c=0;c<f;++c,++o)e[u[o]]=i[c](l)}):(u||j(`Missing output field names.`),d=function(e){for(var t=0,i;t<s;++t)i=r.get(n[t](e)),e[u[t]]=i??a}),o?l=t.reflow(!0):(p=n.some(e=>t.modified(e.fields)),c|=p?t.MOD:0),t.visit(c,d),l.modifies(u)}});function Ws(e){Hr.call(this,null,vte,e)}N(Ws,Hr);function vte(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 Gs(e){Hr.call(this,null,yte,e)}N(Gs,Hr);function yte(e){return this.value&&!e.modified()?this.value:e.values.reduce((e,t)=>e.concat(t),[])}function Ks(e){F.call(this,null,e)}N(Ks,F,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function qs(e){cs.call(this,e)}qs.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:Xo,default:`sum`},{name:`limit`,type:`number`,default:0},{name:`key`,type:`field`}]},N(qs,cs,{_transform:cs.prototype.transform,transform(e,t){return this._transform(bte(e,t),t)}});function bte(e,t){let n=e.field,r=e.value,i=(e.op===`count`?`__count__`:e.op)||`sum`,a=de(n).concat(de(r)),o=Ste(n,e.limit||0,t);return t.changed()&&e.set(`__pivot__`,null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(e=>xte(e,n,r,a)),as:o.map(e=>e+``),modified:e.modified.bind(e)}}function xte(e,t,n,r){return xe(r=>t(r)===e?n(r):NaN,r,e+``)}function Ste(e,t,n){let r={},i=[];return n.visit(n.SOURCE,t=>{let n=e(t);r[n]||(r[n]=1,i.push(n))}),i.sort(S),t?i.slice(0,t):i}function Js(e){ks.call(this,e)}N(Js,ks,{transform(e,t){let n=e.subflow,r=e.field,i=e=>this.subflow(P(e),n,t,e);return(e.modified(`field`)||r&&t.modified(de(r)))&&j(`PreFacet does not support field modification.`),this.initTargets(),r?(t.visit(t.MOD,e=>{let t=i(e);r(e).forEach(e=>t.mod(e))}),t.visit(t.ADD,e=>{let t=i(e);r(e).forEach(e=>t.add(Nr(e)))}),t.visit(t.REM,e=>{let t=i(e);r(e).forEach(e=>t.rem(e))})):(t.visit(t.MOD,e=>i(e).mod(e)),t.visit(t.ADD,e=>i(e).add(e)),t.visit(t.REM,e=>i(e).rem(e))),t.clean()&&t.runAfter(()=>this.clean()),t}});function Ys(e){F.call(this,null,e)}Ys.Definition={type:`Project`,metadata:{generates:!0,changes:!0},params:[{name:`fields`,type:`field`,array:!0},{name:`as`,type:`string`,null:!0,array:!0}]},N(Ys,F,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=Ss(e.fields,e.as||[]),a=r?(e,t)=>Cte(e,t,r,i):Fr,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,e=>{let t=P(e);n.rem.push(o[t]),o[t]=null}),t.visit(t.ADD,e=>{let t=a(e,Nr({}));o[P(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{n.mod.push(a(e,o[P(e)]))}),n}});function Cte(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function Xs(e){F.call(this,null,e)}N(Xs,F,{transform(e,t){return this.value=e.value,e.modified(`value`)?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Zs(e){F.call(this,null,e)}Zs.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`]}]},N(Zs,F,{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=Cs(i,e.groupby,e.field),o=(e.groupby||[]).map(ne),s=[],c=e.step||.01,l=e.probs||lt(c/2,.99999999999999,c),u=l.length;return a.forEach(e=>{let t=Ii(e,l);for(let n=0;n<u;++n){let i={};for(let t=0;t<o.length;++t)i[o[t]]=e.dims[t];i[r[0]]=l[n],i[r[1]]=t[n],s.push(Nr(i))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s,n}});function Qs(e){F.call(this,null,e)}N(Qs,F,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,e=>{let t=P(e);n.rem.push(r[t]),r[t]=null}),t.visit(t.ADD,e=>{let t=Pr(e);r[P(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{let t=r[P(e)];for(let r in e)t[r]=e[r],n.modifies(r);n.mod.push(t)})),n}});function $s(e){F.call(this,[],e),this.count=0}$s.Definition={type:`Sample`,metadata:{},params:[{name:`size`,type:`number`,default:1e3}]},N($s,F,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified(`size`),i=e.size,a=this.value.reduce((e,t)=>(e[P(t)]=1,e),{}),o=this.value,s=this.count,c=0;function l(e){let t,r;o.length<i?o.push(e):(r=~~((s+1)*Bi()),r<o.length&&r>=c&&(t=o[r],a[P(t)]&&n.rem.push(t),o[r]=e)),++s}if(t.rem.length&&(t.visit(t.REM,e=>{let t=P(e);a[t]&&(a[t]=-1,n.rem.push(e)),--s}),o=o.filter(e=>a[P(e)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(c=s=o.length,t.visit(t.SOURCE,e=>{a[P(e)]||l(e)}),c=-1),r&&o.length>i){let e=o.length-i;for(let t=0;t<e;++t)a[P(o[t])]=-1,n.rem.push(o[t]);o=o.slice(e)}return t.mod.length&&t.visit(t.MOD,e=>{a[P(e)]&&n.mod.push(e)}),t.add.length&&t.visit(t.ADD,l),(t.add.length||c<0)&&(n.add=o.filter(e=>!a[P(e)])),this.count=s,this.value=n.source=o,n}});function ec(e){F.call(this,null,e)}ec.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`}]},N(ec,F,{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=lt(e.start,e.stop,e.step||1).map(e=>{let t={};return t[r]=e,Nr(t)}),n.add=t.add.concat(this.value),n}});function tc(e){F.call(this,null,e),this.modified(!0)}N(tc,F,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function nc(e){F.call(this,null,e)}var rc=[`unit0`,`unit1`];nc.Definition={type:`TimeUnit`,metadata:{modifies:!0},params:[{name:`field`,type:`field`,required:!0},{name:`interval`,type:`boolean`,default:!0},{name:`units`,type:`enum`,values:Va,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:rc}]},N(nc,F,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone===`utc`,a=this._floor(e,t),o=(i?yo:vo)(a.unit).offset,s=e.as||rc,c=s[0],l=s[1],u=a.step,d=a.start||1/0,f=a.stop||-1/0,p=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(de(n)))&&(t=t.reflow(!0),p=t.SOURCE,d=1/0,f=-1/0),t.visit(p,e=>{let t=n(e),i,s;t==null?(e[c]=null,r&&(e[l]=null)):(e[c]=i=s=a(t),r&&(e[l]=s=o(i,u)),i<d&&(d=i),s>f&&(f=s))}),a.start=d,a.stop=f,t.modifies(r?s:c)},_floor(e,t){let n=e.timezone===`utc`,{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:Ho({extent:e.extent||$n(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=Ua(r),o=this.value||{},s=(n?ho:fo)(a,i);return s.unit=M(a),s.units=a,s.step=i,s.start=o.start,s.stop=o.stop,this.value=s}});function ic(e){F.call(this,nr(),e)}N(ic,F,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=e=>i.set(r(e),e),o=!0;return e.modified(`field`)||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,e=>i.delete(r(e))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function ac(e){F.call(this,null,e)}N(ac,F,{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(Lr(e.sort)):t.source).map(e.field))}});function wte(e,t,n,r){let a=oc[e](t,n);return{init:a.init||i,update:function(e,t){t[r]=a.next(e)}}}var oc={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=oc.rank(),t=e.next;return{init:e.init,next:e=>(t(e)-1)/(e.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||j(`ntile num must be greater than zero.`);let n=oc.cume_dist(),r=n.next;return{init:n.init,next:e=>Math.ceil(t*r(e))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||j(`nth_value nth must be greater than zero.`),{next:n=>{let r=n.i0+(t-1);return r<n.i1?e(n.data[r]):null}}},prev_value:function(e){let t;return{init:()=>t=null,next:n=>{let r=e(n.data[n.index]);return r==null?t:t=r}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{let i=r.data;return r.index<=n?t:(n=Tte(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function Tte(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var Ete=Object.keys(oc);function sc(e){let t=E(e.ops),n=E(e.fields),r=E(e.params),i=E(e.aggregate_params),a=E(e.as),o=this.outputs=[],s=this.windows=[],c={},l={},u=[],d=[],f=!0;function m(e){E(de(e)).forEach(e=>c[e]=1)}m(e.sort),t.forEach((e,t)=>{let c=n[t],h=r[t],g=i[t]||null,_=ne(c),v=Ko(e,_,a[t]);if(m(c),o.push(v),p(oc,e))s.push(wte(e,c,h,v));else{if(c==null&&e!==`count`&&j(`Null aggregate field specified.`),e===`count`){u.push(v);return}f=!1;let t=l[_];t||(t=l[_]=[],t.field=c,d.push(t)),t.push(Qo(e,g,v))}}),(u.length||d.length)&&(this.cell=Dte(d,u,f)),this.inputs=Object.keys(c)}var cc=sc.prototype;cc.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},cc.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 Dte(e,t,n){e=e.map(e=>as(e,e.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var s=r.data=new os;return r.add=function(e){if(r.num+=1,!n){s&&s.add(e);for(let t=0;t<i;++t)a[t].add(a[t].get(e),e)}},r.rem=function(e){if(--r.num,!n){s&&s.rem(e);for(let t=0;t<i;++t)a[t].rem(a[t].get(e),e)}},r.set=function(e){let i,o;for(s&&s.values(),i=0,o=t.length;i<o;++i)e[t[i]]=r.num;if(!n)for(i=0,o=a.length;i<o;++i)a[i].set(e)},r.init=function(){r.num=0,s&&s.reset();for(let e=0;e<i;++e)a[e].init()},r}function lc(e){F.call(this,{},e),this._mlen=0,this._mods=[]}lc.Definition={type:`Window`,metadata:{modifies:!0},params:[{name:`sort`,type:`compare`},{name:`groupby`,type:`field`,array:!0},{name:`ops`,type:`enum`,array:!0,values:Ete.concat(Xo)},{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}]},N(lc,F,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=Lr(e.sort),i=Go(e.groupby),a=e=>this.group(i(e)),o=this.state;(!o||n)&&(o=this.state=new sc(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,e=>a(e).add(e))):(t.visit(t.REM,e=>a(e).remove(e)),t.visit(t.ADD,e=>a(e).add(e)));for(let t=0,n=this._mlen;t<n;++t)Ote(this._mods[t],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=ds(P),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function Ote(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=e.data(n),c=s.length,l=a?We(i):null,u={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||Zn(-1)};t.init();for(let e=0;e<c;++e)kte(u,o,e,c),a&&Ate(u,l),t.update(u,s[e])}function kte(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 Ate(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 uc(e,t,n){var r=null,i=Et(!0),a=null,o=Kt,s=null,c=Dt(l);e=typeof e==`function`?e:e===void 0?qt:Et(+e),t=typeof t==`function`?t:Et(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Jt:Et(+n);function l(l){var u,d,f,p=(l=uee(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Yt().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Et(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Et(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Et(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Et(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Et(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Et(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:Et(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var jte={draw(e,t){let n=see(t/lee);e.moveTo(n,0),e.arc(0,0,n,0,cee)}};function dc(e,t){let n=null,r=Dt(i);e=typeof e==`function`?e:Et(e||jte),t=typeof t==`function`?t:Et(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:Et(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:Et(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function fc(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 pc=()=>typeof Image<`u`?Image:null,mc=-.14861,hc=1.78277,gc=-.29227,_c=-.90649,vc=1.97294,yc=vc*_c,bc=vc*hc,xc=hc*gc-_c*mc;function Mte(e){if(e instanceof Cc)return new Cc(e.h,e.s,e.l,e.opacity);e instanceof nn||(e=dee(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(xc*r+yc*t-bc*n)/(xc+yc-bc),a=r-i,o=(vc*(n-i)-gc*a)/_c,s=Math.sqrt(o*o+a*a)/(vc*i*(1-i)),c=s?Math.atan2(o,a)*Ze-120:NaN;return new Cc(c<0?c+360:c,s,i,e.opacity)}function Sc(e,t,n,r){return arguments.length===1?Mte(e):new Cc(e,t,n,r??1)}function Cc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}yee(Cc,Sc,Qt(fn,{brighter(e){return e=e==null?$t:$t**+e,new Cc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?rn:rn**+e,new Cc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*tt,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new nn(255*(t+n*(mc*r+hc*i)),255*(t+n*(gc*r+_c*i)),255*(t+vc*r*n),this.opacity)}}));function Nte(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function Pte(e,t){var n=on(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}function wc(e){return function(t,n){var r=e((t=tn(t)).h,(n=tn(n)).h),i=an(t.s,n.s),a=an(t.l,n.l),o=an(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Fte=wc(on),Ite=wc(an);function Lte(e,t){var n=an((e=ot(e)).l,(t=ot(t)).l),r=an(e.a,t.a),i=an(e.b,t.b),a=an(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function Tc(e){return(function t(n){n=+n;function r(t,r){var i=e((t=Sc(t)).h,(r=Sc(r)).h),a=an(t.s,r.s),o=an(t.l,r.l),s=an(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}var Rte=Tc(on),zte=Tc(an);function Ec(e,t){t===void 0&&(t=e,e=Ue);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function Dc(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var Oc=t({interpolate:()=>Ue,interpolateArray:()=>ree,interpolateBasis:()=>pee,interpolateBasisClosed:()=>pn,interpolateCubehelix:()=>Rte,interpolateCubehelixLong:()=>zte,interpolateDate:()=>Pe,interpolateDiscrete:()=>Nte,interpolateHcl:()=>Xe,interpolateHclLong:()=>et,interpolateHsl:()=>Fte,interpolateHslLong:()=>Ite,interpolateHue:()=>Pte,interpolateLab:()=>Lte,interpolateNumber:()=>gee,interpolateNumberArray:()=>nee,interpolateObject:()=>Ne,interpolateRgb:()=>_ee,interpolateRgbBasis:()=>Cee,interpolateRgbBasisClosed:()=>xee,interpolateRound:()=>Le,interpolateString:()=>hee,interpolateTransformCss:()=>bee,interpolateTransformSvg:()=>dn,interpolateZoom:()=>mee,piecewise:()=>Ec,quantize:()=>Dc});function kc(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Me),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return kc(e).unknown(t)},e=arguments.length?Array.from(e,Me):[0,1],Re(n)}function Ac(e){return Math.log(e)}function jc(e){return Math.exp(e)}function Mc(e){return-Math.log(-e)}function Nc(e){return-Math.exp(-e)}function Pc(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function Fc(e){return e===10?Pc:e===Math.E?Math.exp:t=>e**+t}function Ic(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 Lc(e){return(t,n)=>-e(-t,n)}function Rc(e){let t=e(Ac,jc),n=t.domain,r=10,i,a;function o(){return i=Ic(r),a=Fc(r),n()[0]<0?(i=Lc(i),a=Lc(a),e(Mc,Nc)):e(Ac,jc),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=Ye(o,s,p))}else m=Ye(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=ut(n)).precision==null&&(n.trim=!0),n=dt(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(at(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function zc(){let e=Rc(Ve()).domain([1,10]);return e.copy=()=>Ae(e,zc()).base(e.base()),Xt.apply(e,arguments),e}function Bc(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Vc(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Hc(e){var t=1,n=e(Bc(t),Vc(t));return n.constant=function(n){return arguments.length?e(Bc(t=+n),Vc(t)):t},Re(n)}function Uc(){var e=Hc(Ve());return e.copy=function(){return Ae(e,Uc()).constant(e.constant())},Xt.apply(e,arguments)}function Wc(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Bte(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Vte(e){return e<0?-e*e:e*e}function Gc(e){var t=e(ze,ze),n=1;function r(){return n===1?e(ze,ze):n===.5?e(Bte,Vte):e(Wc(n),Wc(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Re(t)}function Kc(){var e=Gc(Ve());return e.copy=function(){return Ae(e,Kc()).exponent(e.exponent())},Xt.apply(e,arguments),e}function qc(){return Kc.apply(null,arguments).exponent(.5)}function Jc(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=xr(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[Fe(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(je),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return Jc().domain(e).range(t).unknown(r)},Xt.apply(a,arguments)}function Yc(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[Fe(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Yc().domain([e,t]).range(i).unknown(a)},Xt.apply(Re(o),arguments)}function Xc(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Fe(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Xc().domain(e).range(t).unknown(n)},Xt.apply(i,arguments)}function Zc(){return Xt.apply(st(Qe,ct,xt,vt,St,Ct,ft,gt,pt,aee).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Qc(){var e=0,t=1,n,r,i,a,o=ze,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(Ue),l.rangeRound=u(Le),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function $c(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function el(){var e=Re(Qc()(ze));return e.copy=function(){return $c(e,el())},Zt.apply(e,arguments)}function tl(){var e=Rc(Qc()).domain([1,10]);return e.copy=function(){return $c(e,tl()).base(e.base())},Zt.apply(e,arguments)}function nl(){var e=Hc(Qc());return e.copy=function(){return $c(e,nl()).constant(e.constant())},Zt.apply(e,arguments)}function rl(){var e=Gc(Qc());return e.copy=function(){return $c(e,rl()).exponent(e.exponent())},Zt.apply(e,arguments)}function il(){return rl.apply(null,arguments).exponent(.5)}function al(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=ze,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=Ec(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Ue),p.rangeRound=m(Le),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function ol(){var e=Re(al()(ze));return e.copy=function(){return $c(e,ol())},Zt.apply(e,arguments)}function sl(){var e=Rc(al()).domain([.1,1,10]);return e.copy=function(){return $c(e,sl()).base(e.base())},Zt.apply(e,arguments)}function cl(){var e=Hc(al());return e.copy=function(){return $c(e,cl()).constant(e.constant())},Zt.apply(e,arguments)}function ll(){var e=Gc(al());return e.copy=function(){return $c(e,ll()).exponent(e.exponent())},Zt.apply(e,arguments)}function ul(){return ll.apply(null,arguments).exponent(.5)}var dl=mn(`1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf`),fl=mn(`7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666`),pl=mn(`1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666`),ml=mn(`4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0`),hl=mn(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),gl=mn(`fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2`),_l=mn(`b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc`),vl=mn(`e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999`),yl=mn(`66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3`),bl=mn(`8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f`);function xl(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var Sl=`identity`,Cl=`linear`,wl=`sqrt`,Tl=`symlog`,Hte=`time`,El=`sequential`,Dl=`diverging`,Ol=`quantile`,kl=`quantize`,Al=`threshold`,Ute=`ordinal`,Wte=`point`,Gte=`band`,Kte=`bin-ordinal`,jl=`continuous`,Ml=`discrete`,Nl=`discretizing`,Pl=`interpolating`,Fl=`temporal`;function qte(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 Jte(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,s,c,l;for(i<r&&(s=r,r=i,i=s),c=0,l=n.length;c<l;++c)n[c]>=r&&n[c]<=i&&(a<0&&(a=c),o=c);if(!(a<0))return r=e.invertExtent(n[a]),i=e.invertExtent(n[o]),[r[0]===void 0?r[1]:r[0],i[1]===void 0?i[0]:i[1]]}}function Il(){let e=Ge().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,s=0,c=0,l=.5;delete e.unknown;function u(){let e=t().length,u=r[1]<r[0],d=r[1-u],f=xl(e,s,c),p=r[u-0];i=(d-p)/(f||1),o&&(i=Math.floor(i)),p+=(d-p-i*(e-s))*l,a=i*(1-s),o&&(p=Math.round(p),a=Math.round(a));let m=lt(e).map(e=>p+i*e);return n(u?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),u()):t()},e.range=function(e){return arguments.length?(r=[+e[0],+e[1]],u()):r.slice()},e.rangeRound=function(e){return r=[+e[0],+e[1]],o=!0,u()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(e){return arguments.length?(o=!!e,u()):o},e.padding=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),s=c,u()):s},e.paddingInner=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),u()):s},e.paddingOuter=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),u()):c},e.align=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),u()):l},e.invertRange=function(e){if(e[0]==null||e[1]==null)return;let i=r[1]<r[0],o=i?n().reverse():n(),s=o.length-1,c=+e[0],l=+e[1],u,d,f;if(c===c&&l===l&&(l<c&&(f=c,c=l,l=f),!(l<o[0]||c>r[1-i])))return u=Math.max(0,Fe(o,c)-1),d=c===l?u:Fe(o,l)-1,c-o[u]>a+1e-10&&++u,i&&(f=u,u=s-d,d=s-f),u>d?void 0:t().slice(u,d+1)},e.invert=function(t){let n=e.invertRange([t,t]);return n&&n[0]},e.copy=function(){return Il().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l)},u()}function Ll(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return Ll(t())},e}function Yte(){return Ll(Il().paddingInner(1))}var Rl=Array.prototype.map;function zl(e){return Rl.call(e,f)}var Bl=Array.prototype.slice;function Vl(){let e=[],t=[];function n(n){return n==null||n!==n?void 0:t[(Fe(e,n)-1)%t.length]}return n.domain=function(t){return arguments.length?(e=zl(t),n):e.slice()},n.range=function(e){return arguments.length?(t=Bl.call(e),n):t.slice()},n.tickFormat=function(t,n){return Be(e[0],M(e),t??10,n)},n.copy=function(){return Vl().domain(n.domain()).range(n.range())},n}var Hl=new Map,Ul=Symbol(`vega_scale`);function Wl(e){return e[Ul]=!0,e}function Gl(e){return e&&e[Ul]===!0}function Kl(e,t,n){let r=function(){let n=t();return n.invertRange||=n.invert?qte(n):n.invertExtent?Jte(n):void 0,n.type=e,Wl(n)};return r.metadata=pr(E(n)),r}function ql(e,t,n){return arguments.length>1?(Hl.set(e,Kl(e,t,n)),this):Jl(e)?Hl.get(e):void 0}ql(Sl,kc),ql(Cl,He,jl),ql(`log`,zc,[jl,`log`]),ql(`pow`,Kc,jl),ql(wl,qc,jl),ql(Tl,Uc,jl),ql(Hte,nt,[jl,Fl]),ql(`utc`,Zc,[jl,Fl]),ql(El,el,[jl,Pl]),ql(`${El}-${Cl}`,el,[jl,Pl]),ql(`${El}-log`,tl,[jl,Pl,`log`]),ql(`${El}-pow`,rl,[jl,Pl]),ql(`${El}-${wl}`,il,[jl,Pl]),ql(`${El}-${Tl}`,nl,[jl,Pl]),ql(`${Dl}-${Cl}`,ol,[jl,Pl]),ql(`${Dl}-log`,sl,[jl,Pl,`log`]),ql(`${Dl}-pow`,ll,[jl,Pl]),ql(`${Dl}-${wl}`,ul,[jl,Pl]),ql(`${Dl}-${Tl}`,cl,[jl,Pl]),ql(Ol,Jc,[Nl,Ol]),ql(kl,Yc,Nl),ql(Al,Xc,Nl),ql(Kte,Vl,[Ml,Nl]),ql(Ute,Ge,Ml),ql(Gte,Il,Ml),ql(Wte,Yte,Ml);function Jl(e){return Hl.has(e)}function Yl(e,t){let n=Hl.get(e);return n&&n.metadata[t]}function Xl(e){return Yl(e,jl)}function Zl(e){return Yl(e,Ml)}function Ql(e){return Yl(e,Nl)}function $l(e){return Yl(e,`log`)}function eu(e){return Yl(e,Fl)}function tu(e){return Yl(e,Pl)}function nu(e){return Yl(e,Ol)}var ru=[`clamp`,`base`,`constant`,`exponent`];function iu(e,t){let n=t[0],r=M(t)-n;return function(t){return e(n+t*r)}}function au(e,t,n){return Ec(cu(t||`rgb`,n),e)}function ou(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function su(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?Zn(.5):(i=(a=e.type).indexOf(`-`),a=i<0?a:a.slice(i+1),o=ql(a)().domain([t,n]).range([0,1]),ru.forEach(t=>e[t]?o[t](e[t]()):0),o)}function cu(e,t){let n=Oc[lu(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function lu(e){return`interpolate`+e.toLowerCase().split(`-`).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}var uu={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`},du={accent:fl,category10:dl,category20:`1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5`,category20b:`393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6`,category20c:`3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9`,dark2:pl,observable10:ml,paired:hl,pastel1:gl,pastel2:_l,set1:vl,set2:yl,set3:bl,tableau10:`4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac`,tableau20:`4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5`};function fu(e){if(h(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 pu(e,t){for(let n in e)hu(n,t(e[n]))}var mu={};pu(du,fu),pu(uu,e=>au(fu(e)));function hu(e,t){return e&&=e.toLowerCase(),arguments.length>1?(mu[e]=t,this):mu[e]}var gu=e=>h(e)?e.map(e=>String(e)):String(e),_u=(e,t)=>e[1]-t[1],vu=(e,t)=>t[1]-e[1];function yu(e,t,n){let r;if(v(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null)){let r=e.domain(),i=Math.min(r[0],M(r)),a=Math.max(r[0],M(r));if(t=Math.min(t,Math.floor((a-i)/n||1)+1),!e.bins&&!$l(e.type)&&!eu(e.type)&&i<a)for(;t>1&&Je(i,a,t)<n;)--t}return d(t)&&(r=t.step,t=t.interval),_(t)&&(t=e.type===`time`?ce(t):e.type==`utc`?re(t):j(`Only time and utc scales accept interval strings.`),r&&(t=t.every(r))),t}function bu(e,t,n){let r=e.range(),i=r[0],a=M(r),o=_u;if(i>a&&(r=a,a=i,i=r,o=vu),i=Math.floor(i),a=Math.ceil(a),t=t.map(t=>[t,e(t)]).filter(e=>i<=e[1]&&e[1]<=a).sort(o).map(e=>e[0]),n>0&&t.length>1){let e=[t[0],M(t)];for(;t.length>n&&t.length>=3;)t=t.filter((e,t)=>!(t%2));t.length<3&&(t=e)}return t}function xu(e,t){return e.bins?bu(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function Su(e,t,n,r,i,a){let o=t.type,s=gu;if(o===`time`||i===`time`)s=e.timeFormat(r);else if(o===`utc`||i===`utc`)s=e.utcFormat(r);else if($l(o)){let i=e.formatFloat(r);if(a||t.bins)s=i;else{let e=Cu(t,n,!1);s=t=>e(t)?i(t):``}}else if(t.tickFormat){let i=t.domain();s=e.formatSpan(i[0],i[i.length-1],n,r)}else r&&(s=e.format(r));return s}function Cu(e,t,n){let r=xu(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),s=e=>{let t=e/i**+Math.round(Math.log(e)/a);return t*i<i-.5&&(t*=i),t<=o};return n?r.filter(s):s}var wu={[Ol]:`quantiles`,[kl]:`thresholds`,[Al]:`domain`},Tu={[Ol]:`quantiles`,[kl]:`domain`};function Eu(e,t){return e.bins?ku(e.bins):e.type===`log`?Cu(e,t,!0):wu[e.type]?Ou(e[wu[e.type]]()):xu(e,t)}function Du(e,t,n){let r=t[Tu[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 Ou(e){let t=[-1/0].concat(e);return t.max=1/0,t}function ku(e){let t=e.slice(0,-1);return t.max=M(e),t}var Au=e=>wu[e.type]||e.bins;function ju(e,t,n,r,i,a,o){let s=Tu[t.type]&&a!==`time`&&a!==`utc`?Du(e,t,i):Su(e,t,n,i,a,o);return r===`symbol`&&Au(t)?Mu(s):r===`discrete`?Pu(s):Fu(s)}var Mu=e=>(t,n,r)=>{let i=Nu(r[n+1],Nu(r.max,1/0)),a=Iu(t,e),o=Iu(i,e);return a&&o?a+` – `+o:o?`< `+o:`≥ `+a},Nu=(e,t)=>e??t,Pu=e=>(t,n)=>n?e(t):null,Fu=e=>t=>e(t),Iu=(e,t)=>Number.isFinite(e)?t(e):null;function Lu(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+M(t),a=i-r;if(e.type===`threshold`){let e=n?a/n:.1;r-=e,i+=e,a=i-r}return e=>(e-r)/a}function Ru(e,t,n,r){let i=r||t.type;return _(n)&&eu(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`):ju(e,t,5,null,n,r,!0)}function zu(e,t,n){n||={};let r=Math.max(3,n.maxlen||7),i=Ru(e,t,n.format,n.formatType);if(Ql(t.type)){let e=Eu(t).slice(1).map(i),n=e.length;return`${n} boundar${n===1?`y`:`ies`}: ${e.join(`, `)}`}if(Zl(t.type)){let e=t.domain(),n=e.length,a=n>r?e.slice(0,r-2).map(i).join(`, `)+`, ending with `+e.slice(-1).map(i):e.map(i).join(`, `);return`${n} value${n===1?``:`s`}: ${a}`}{let e=t.domain();return`values from ${i(e[0])} to ${i(M(e))}`}}var Bu=0;function Vu(){Bu=0}var Hu=`p_`;function Uu(e){return e&&e.gradient}function Wu(e,t,n){let r=e.gradient,i=e.id,a=r===`radial`?Hu:``;return i||(i=e.id=`gradient_`+Bu++,r===`radial`?(e.x1=Gu(e.x1,.5),e.y1=Gu(e.y1,.5),e.r1=Gu(e.r1,0),e.x2=Gu(e.x2,.5),e.y2=Gu(e.y2,.5),e.r2=Gu(e.r2,.5),a=Hu):(e.x1=Gu(e.x1,0),e.y1=Gu(e.y1,0),e.x2=Gu(e.x2,1),e.y2=Gu(e.y2,0))),t[i]=e,`url(`+(n||``)+`#`+a+i+`)`}function Gu(e,t){return e??t}function Ku(e,t){var n=[],r;return r={gradient:`linear`,x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(e,t){return n.push({offset:e,color:t}),r}}}var qu={basis:{curve:kt},"basis-closed":{curve:Pt},"basis-open":{curve:Ft},bundle:{curve:Rt,tension:`beta`,value:.85},cardinal:{curve:Vt,tension:`tension`,value:0},"cardinal-open":{curve:Mt,tension:`tension`,value:0},"cardinal-closed":{curve:Nt,tension:`tension`,value:0},"catmull-rom":{curve:Gt,tension:`alpha`,value:.5},"catmull-rom-closed":{curve:Lt,tension:`alpha`,value:.5},"catmull-rom-open":{curve:jt,tension:`alpha`,value:.5},linear:{curve:Kt},"linear-closed":{curve:Ut},monotone:{horizontal:Bt,vertical:At},natural:{curve:It},step:{curve:Ht},"step-after":{curve:Wt},"step-before":{curve:zt}};function Ju(e,t,n){var r=p(qu,e)&&qu[e],i=null;return r&&(i=r.curve||r[t||`vertical`],r.tension&&n!=null&&(i=i[r.tension](n))),i}var Yu={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},Xu=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,Zu=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,Qu=/^((\s+,?\s*)|(,\s*))/,$u=/^[01]/;function ed(e){let t=[];return(e.match(Xu)||[]).forEach(e=>{let n=e[0],r=n.toLowerCase(),i=Yu[r],a=td(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!==0)throw Error(`Invalid SVG path, incorrect parameter count`);if(t.push([n,...a.slice(0,i)]),o!==i){r===`m`&&(n=n===`M`?`L`:`l`);for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}function td(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t=e===`a`&&(a===3||a===4)?$u:Zu,o=n.slice(i).match(t);if(o===null)throw Error(`Invalid SVG path, incorrect parameter type`);i+=o[0].length,r.push(+o[0]);let s=n.slice(i).match(Qu);s!==null&&(i+=s[0].length)}return r}var nd=Math.PI/180,rd=1e-14,id=Math.PI/2,ad=Math.PI*2,od=Math.sqrt(3)/2,sd={},cd={},ld=[].join;function ud(e,t,n,r,i,a,o,s,c){let l=ld.call(arguments);if(sd[l])return sd[l];let u=o*nd,d=Math.sin(u),f=Math.cos(u);n=Math.abs(n),r=Math.abs(r);let p=f*(s-e)*.5+d*(c-t)*.5,m=f*(c-t)*.5-d*(s-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=f/n,_=d/n,v=-d/r,y=f/r,b=g*s+_*c,x=v*s+y*c,S=g*e+_*t,C=v*e+y*t,w=1/((S-b)*(S-b)+(C-x)*(C-x))-.25;w<0&&(w=0);let T=Math.sqrt(w);a==i&&(T=-T);let E=.5*(b+S)-T*(C-x),D=.5*(x+C)+T*(S-b),O=Math.atan2(x-D,b-E),k=Math.atan2(C-D,S-E)-O;k<0&&a===1?k+=ad:k>0&&a===0&&(k-=ad);let A=Math.ceil(Math.abs(k/(id+.001))),ee=[];for(let e=0;e<A;++e){let t=O+e*k/A,i=O+(e+1)*k/A;ee[e]=[E,D,t,i,n,r,d,f]}return sd[l]=ee}function dd(e){let t=ld.call(e);if(cd[t])return cd[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7];let u=l*o,d=-c*s,f=c*o,p=l*s,m=Math.cos(i),h=Math.sin(i),g=Math.cos(a),_=Math.sin(a),v=.5*(a-i),y=Math.sin(v*.5),b=8/3*y*y/Math.sin(v),x=n+m-b*h,S=r+h+b*m,C=n+g,w=r+_,T=C+b*_,E=w-b*g;return cd[t]=[u*x+d*S,f*x+p*S,u*T+d*E,f*T+p*E,u*C+d*w,f*C+p*w]}var fd=[`l`,0,0,0,0,0,0,0];function pd(e,t,n){let r=fd[0]=e[0];if(r===`a`||r===`A`)fd[1]=t*e[1],fd[2]=n*e[2],fd[3]=e[3],fd[4]=e[4],fd[5]=e[5],fd[6]=t*e[6],fd[7]=n*e[7];else if(r===`h`||r===`H`)fd[1]=t*e[1];else if(r===`v`||r===`V`)fd[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)fd[i]=(i%2==1?t:n)*e[i];return fd}function md(e,t,n,r,i,a){var o,s=null,c=0,l=0,u=0,d=0,f,p,m,h,g=0,_=0;n??=0,r??=0,i??=1,a??=i,e.beginPath&&e.beginPath();for(var v=0,y=t.length;v<y;++v){switch(o=t[v],(i!==1||a!==1)&&(o=pd(o,i,a)),o[0]){case`l`:c+=o[1],l+=o[2],e.lineTo(c+n,l+r);break;case`L`:c=o[1],l=o[2],e.lineTo(c+n,l+r);break;case`h`:c+=o[1],e.lineTo(c+n,l+r);break;case`H`:c=o[1],e.lineTo(c+n,l+r);break;case`v`:l+=o[1],e.lineTo(c+n,l+r);break;case`V`:l=o[1],e.lineTo(c+n,l+r);break;case`m`:c+=o[1],l+=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`M`:c=o[1],l=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`c`:f=c+o[5],p=l+o[6],u=c+o[3],d=l+o[4],e.bezierCurveTo(c+o[1]+n,l+o[2]+r,u+n,d+r,f+n,p+r),c=f,l=p;break;case`C`:c=o[5],l=o[6],u=o[3],d=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,u+n,d+r,c+n,l+r);break;case`s`:f=c+o[3],p=l+o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,c+o[1]+n,l+o[2]+r,f+n,p+r),u=c+o[1],d=l+o[2],c=f,l=p;break;case`S`:f=o[3],p=o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`q`:f=c+o[3],p=l+o[4],u=c+o[1],d=l+o[2],e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`Q`:f=o[3],p=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`t`:f=c+o[1],p=l+o[2],s[0].match(/[QqTt]/)===null?(u=c,d=l):s[0]===`t`?(u=2*c-m,d=2*l-h):s[0]===`q`&&(u=2*c-u,d=2*l-d),m=u,h=d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p,u=c+o[1],d=l+o[2];break;case`T`:f=o[1],p=o[2],u=2*c-u,d=2*l-d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`a`:hd(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+l+r]),c+=o[6],l+=o[7];break;case`A`:hd(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),c=o[6],l=o[7];break;case`z`:case`Z`:c=g,l=_,e.closePath()}s=o}}function hd(e,t,n,r){let i=ud(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=dd(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}var gd=.5773502691896257,_d={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,ad)}},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=od*n,i=r-n*gd,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=od*n,i=r-n*gd;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=od*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=od*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=od*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=od*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 vd(e){return p(_d,e)?_d[e]:bd(e)}var yd={};function bd(e){if(!p(yd,e)){let t=ed(e);yd[e]={draw:function(e,n){md(e,t,0,0,Math.sqrt(n)/2)}}}return yd[e]}var xd=.448084975506;function Sd(e){return e.x}function Cd(e){return e.y}function wd(e){return e.width}function Td(e){return e.height}function Ed(e){return typeof e==`function`?e:()=>+e}function Dd(e,t,n){return Math.max(t,Math.min(e,n))}function Od(){var e=Sd,t=Cd,n=wd,r=Td,i=Ed(0),a=i,o=i,s=i,c=null;function l(l,u,d){var f,p=u??+e.call(this,l),m=d??+t.call(this,l),h=+n.call(this,l),g=+r.call(this,l),_=Math.min(h,g)/2,v=Dd(+i.call(this,l),0,_),y=Dd(+a.call(this,l),0,_),b=Dd(+o.call(this,l),0,_),x=Dd(+s.call(this,l),0,_);if(c||=f=Tt(),v<=0&&y<=0&&b<=0&&x<=0)c.rect(p,m,h,g);else{var S=p+h,C=m+g;c.moveTo(p+v,m),c.lineTo(S-y,m),c.bezierCurveTo(S-xd*y,m,S,m+xd*y,S,m+y),c.lineTo(S,C-x),c.bezierCurveTo(S,C-xd*x,S-xd*x,C,S-x,C),c.lineTo(p+b,C),c.bezierCurveTo(p+xd*b,C,p,C-xd*b,p,C-b),c.lineTo(p,m+v),c.bezierCurveTo(p,m+xd*v,p+xd*v,m,p+v,m),c.closePath()}if(f)return c=null,f+``||null}return l.x=function(t){return arguments.length?(e=Ed(t),l):e},l.y=function(e){return arguments.length?(t=Ed(e),l):t},l.width=function(e){return arguments.length?(n=Ed(e),l):n},l.height=function(e){return arguments.length?(r=Ed(e),l):r},l.cornerRadius=function(e,t,n,r){return arguments.length?(i=Ed(e),a=t==null?i:Ed(t),s=n==null?i:Ed(n),o=r==null?a:Ed(r),l):i},l.context=function(e){return arguments.length?(c=e??null,l):c},l}function kd(){var e,t,n,r,i=null,a,o,s,c;function l(e,t,n){let r=n/2;if(a){var l=s-t,u=e-o;if(l||u){var d=Math.hypot(l,u),f=(l/=d)*c,p=(u/=d)*c,m=Math.atan2(u,l);i.moveTo(o-f,s-p),i.lineTo(e-l*r,t-u*r),i.arc(e,t,r,m-Math.PI,m),i.lineTo(o+f,s+p),i.arc(o,s,c,m,m+Math.PI)}else i.arc(e,t,r,0,ad);i.closePath()}else a=1;o=e,s=t,c=r}function u(o){var s,c=o.length,u,d=!1,f;for(i??=f=Tt(),s=0;s<=c;++s)!(s<c&&r(u=o[s],s,o))===d&&(d=!d)&&(a=0),d&&l(+e(u,s,o),+t(u,s,o),+n(u,s,o));if(f)return i=null,f+``||null}return u.x=function(t){return arguments.length?(e=t,u):e},u.y=function(e){return arguments.length?(t=e,u):t},u.size=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.context=function(e){return arguments.length?(i=e??null,u):i},u}function Ad(e,t){return e??t}var jd=e=>e.x||0,Md=e=>e.y||0,Nd=e=>e.width||0,Pd=e=>e.height||0,Fd=e=>(e.x||0)+(e.width||0),Id=e=>(e.y||0)+(e.height||0),Ld=e=>e.startAngle||0,Rd=e=>e.endAngle||0,zd=e=>e.padAngle||0,Bd=e=>e.innerRadius||0,Vd=e=>e.outerRadius||0,Hd=e=>e.cornerRadius||0,Ud=e=>Ad(e.cornerRadiusTopLeft,e.cornerRadius)||0,Wd=e=>Ad(e.cornerRadiusTopRight,e.cornerRadius)||0,Gd=e=>Ad(e.cornerRadiusBottomRight,e.cornerRadius)||0,Kd=e=>Ad(e.cornerRadiusBottomLeft,e.cornerRadius)||0,qd=e=>Ad(e.size,64),Jd=e=>e.size||1,Yd=e=>e.defined!==!1,Xd=e=>vd(e.shape||`circle`),Zd=Ot().startAngle(Ld).endAngle(Rd).padAngle(zd).innerRadius(Bd).outerRadius(Vd).cornerRadius(Hd),Qd=uc().x(jd).y1(Md).y0(Id).defined(Yd),$d=uc().y(Md).x1(jd).x0(Fd).defined(Yd),Xte=Yt().x(jd).y(Md).defined(Yd),ef=Od().x(jd).y(Md).width(Nd).height(Pd).cornerRadius(Ud,Wd,Gd,Kd),tf=dc().type(Xd).size(qd),Zte=kd().x(jd).y(Md).defined(Yd).size(Jd);function nf(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Qte(e,t){return Zd.context(e)(t)}function $te(e,t){let n=t[0],r=n.interpolate||`linear`;return(n.orient===`horizontal`?$d:Qd).curve(Ju(r,n.orient,n.tension)).context(e)(t)}function ene(e,t){let n=t[0],r=n.interpolate||`linear`;return Xte.curve(Ju(r,n.orient,n.tension)).context(e)(t)}function rf(e,t,n,r){return ef.context(e)(t,n,r)}function tne(e,t){return(t.mark.shape||t.shape).context(e)(t)}function nne(e,t){return tf.context(e)(t)}function rne(e,t){return Zte.context(e)(t)}var af=1;function ine(){af=1}function of(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||=`clip`+af++,s=i.clipping[a]||(i.clipping[a]={id:a});return o(r)?s.path=r(null):nf(n)?s.path=rf(null,n,0,0):(s.width=n.width||0,s.height=n.height||0),`url(#`+a+`)`}function sf(e){this.clear(),e&&this.union(e)}sf.prototype={clone(){return new sf(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(e),c=Math.sin(e),l=t-t*s+n*c,u=n-t*c-n*s;return[s*r-c*i+l,c*r+s*i+u,s*r-c*o+l,c*r+s*o+u,s*a-c*i+l,c*a+s*i+u,s*a-c*o+l,c*a+s*o+u]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function cf(e){this.mark=e,this.bounds=this.bounds||new sf}function lf(e){cf.call(this,e),this.items=this.items||[]}N(lf,cf);var uf=class{constructor(e){this._pending=0,this._loader=e||te()}pending(){return this._pending}sanitizeURL(e){let t=this;return df(t),t._loader.sanitize(e,{context:`href`}).then(e=>(ff(t),e)).catch(()=>(ff(t),null))}loadImage(e){let t=this,n=pc();return df(t),t._loader.sanitize(e,{context:`image`}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=p(e,`crossOrigin`)?e.crossOrigin:`anonymous`;return a!=null&&(i.crossOrigin=a),i.onload=()=>ff(t),i.onerror=()=>ff(t),i.src=r,i}).catch(e=>(ff(t),{complete:!1,width:0,height:0,src:e&&e.url||``}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function df(e){e._pending+=1}function ff(e){--e._pending}function pf(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?ane(t,r):0))}return e}function ane(e,t){return e.strokeJoin&&e.strokeJoin!==`miter`?0:t}var one=ad-1e-8,mf,hf,gf,_f,vf,yf,bf,xf,Sf=(e,t)=>mf.add(e,t),Cf=(e,t)=>Sf(hf=e,gf=t),wf=e=>Sf(e,mf.y1),Tf=e=>Sf(mf.x1,e),Ef=(e,t)=>vf*e+bf*t,Df=(e,t)=>yf*e+xf*t,Of=(e,t)=>Sf(Ef(e,t),Df(e,t)),kf=(e,t)=>Cf(Ef(e,t),Df(e,t));function Af(e,t){return mf=e,t?(_f=t*nd,vf=xf=Math.cos(_f),yf=Math.sin(_f),bf=-yf):(vf=xf=1,_f=yf=bf=0),sne}var sne={beginPath(){},closePath(){},moveTo:kf,lineTo:kf,rect(e,t,n,r){_f?(Of(e+n,t),Of(e+n,t+r),Of(e,t+r),kf(e,t)):(Sf(e+n,t+r),Cf(e,t))},quadraticCurveTo(e,t,n,r){let i=Ef(e,t),a=Df(e,t),o=Ef(n,r),s=Df(n,r);jf(hf,i,o,wf),jf(gf,a,s,Tf),Cf(o,s)},bezierCurveTo(e,t,n,r,i,a){let o=Ef(e,t),s=Df(e,t),c=Ef(n,r),l=Df(n,r),u=Ef(i,a),d=Df(i,a);Mf(hf,o,c,u,wf),Mf(gf,s,l,d,Tf),Cf(u,d)},arc(e,t,n,r,i,a){if(r+=_f,i+=_f,hf=n*Math.cos(i)+e,gf=n*Math.sin(i)+t,Math.abs(i-r)>one)Sf(e-n,t-n),Sf(e+n,t+n);else{let o=r=>Sf(n*Math.cos(r)+e,n*Math.sin(r)+t),s,c;if(o(r),o(i),i!==r){if(r%=ad,r<0&&(r+=ad),i%=ad,i<0&&(i+=ad),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=ad,s=r-r%id,c=0;c<4&&s>i;++c,s-=id)o(s);else for(s=r-r%id+id,c=0;c<4&&s<i;++c,s+=id)o(s)}}}};function jf(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function Mf(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,s=e-t,c=0,l=0,u;Math.abs(a)>rd?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),c=(-o+u)/a,l=(-o-u)/a)):c=.5*s/o,0<c&&c<1&&i(Nf(c,e,t,n,r)),0<l&&l<1&&i(Nf(l,e,t,n,r))}function Nf(e,t,n,r,i){let a=1-e,o=a*a,s=e*e;return o*a*t+3*o*e*n+3*a*s*r+s*e*i}var Pf=(Pf=fc(1,1))?Pf.getContext(`2d`):null,Ff=new sf;function If(e){return function(t,n){if(!Pf)return!0;e(Pf,t),Ff.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=Ff;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(Pf.isPointInPath(t,e))return!0;return!1}}function Lf(e,t){return t.contains(e.x||0,e.y||0)}function Rf(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(Ff.set(n,r,n+i,r+a))}function zf(e,t){let n=e.x||0,r=e.y||0;return Bf(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function Bf(e,t,n,r,i){let{x1:a,y1:o,x2:s,y2:c}=e,l=r-t,u=i-n,d=0,f=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(a-t)),g===1&&(p=l,m=s-t),g===2&&(p=-u,m=-(o-n)),g===3&&(p=u,m=c-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>f)return!1;h>d&&(d=h)}else if(p>0){if(h<d)return!1;h<f&&(f=h)}}return!0}function Vf(e,t){e.globalCompositeOperation=t.blend||`source-over`}function Hf(e,t){return e??t}function Uf(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function cne(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient===`radial`)a=e.createRadialGradient(n.x1+Hf(t.x1,.5)*r,n.y1+Hf(t.y1,.5)*i,Math.max(r,i)*Hf(t.r1,0),n.x1+Hf(t.x2,.5)*r,n.y1+Hf(t.y2,.5)*i,Math.max(r,i)*Hf(t.r2,.5));else{let o=Hf(t.x1,0),s=Hf(t.y1,0),c=Hf(t.x2,1),l=Hf(t.y2,0);if(o===c||s===l||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+s*i,n.x1+c*r,n.y1+l*i);else{let n=fc(Math.ceil(r),Math.ceil(i)),a=n.getContext(`2d`);return a.scale(r,i),a.fillStyle=Uf(a.createLinearGradient(o,s,c,l),t.stops),a.fillRect(0,0,r,i),e.createPattern(n,`no-repeat`)}}return Uf(a,t.stops)}function Wf(e,t,n){return Uu(n)?cne(e,n,t.bounds):n}function Gf(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0&&(e.globalAlpha=n,e.fillStyle=Wf(e,t,t.fill),!0)}var lne=[];function Kf(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=Wf(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||lne),e.lineDashOffset=t.strokeDashOffset||0),!0))}function une(e,t){return e.zindex-t.zindex||e.index-t.index}function qf(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(une)}function Jf(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=qf(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 Yf(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=qf(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 Xf(e){return function(t,n,r){Jf(n,n=>{(!r||r.intersects(n.bounds))&&Zf(e,t,n,n)})}}function dne(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&Zf(e,t,n.items[0],n.items)}}function Zf(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Vf(t,n),n.fill&&Gf(t,n,i)&&t.fill(),n.stroke&&Kf(t,n,i)&&t.stroke()))}function Qf(e){return e||=x,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,Yf(n,n=>{let s=n.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,n,r,i,a,o))return n})}}function $f(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,s=t??o.fill,c=o.stroke&&n.isPointInStroke,l,u;return c&&(l=o.strokeWidth,u=o.strokeCap,n.lineWidth=l??1,n.lineCap=u??`butt`),e(n,r)?!1:s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a)}}function ep(e){return Qf($f(e))}function tp(e,t){return`translate(`+e+`,`+t+`)`}function np(e){return`rotate(`+e+`)`}function fne(e,t){return`scale(`+e+`,`+t+`)`}function rp(e){return tp(e.x||0,e.y||0)}function pne(e){return tp(e.x||0,e.y||0)+(e.angle?` `+np(e.angle):``)}function mne(e){return tp(e.x||0,e.y||0)+(e.angle?` `+np(e.angle):``)+(e.scaleX||e.scaleY?` `+fne(e.scaleX||1,e.scaleY||1):``)}function ip(e,t,n){function r(e,n){e(`transform`,pne(n)),e(`d`,t(null,n))}function i(e,n){return t(Af(e,n.angle),n),pf(e,n).translate(n.x||0,n.y||0)}function a(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=nd),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:`path`,nested:!1,attr:r,bound:i,draw:Xf(a),pick:ep(a),isect:n||If(a)}}var hne=ip(`arc`,Qte);function gne(e,t){for(var n=e[0].orient===`horizontal`?t[1]:t[0],r=e[0].orient===`horizontal`?`y`:`x`,i=e.length,a=1/0,o,s;--i>=0;)e[i].defined!==!1&&(s=Math.abs(e[i][r]-n),s<a&&(a=s,o=e[i]));return o}function _ne(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 ap(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 op(e,t,n){function r(e,n){var r=n.mark.items;r.length&&e(`d`,t(null,r))}function i(e,n){var r=n.items;return r.length===0?e:(t(Af(e),r),pf(e,r[0]))}function a(e,n){e.beginPath(),t(e,n)}let o=$f(a);function s(e,t,n,r,i,a){var s=t.items,c=t.bounds;return!s||!s.length||c&&!c.contains(i,a)?null:(n*=e.pixelRatio,r*=e.pixelRatio,o(e,s,n,r)?s[0]:null)}return{type:e,tag:`path`,nested:!0,attr:r,bound:i,draw:dne(a),pick:s,isect:Lf,tip:n}}var sp=op(`area`,$te,gne);function cp(e,t){var n=t.clip;e.save(),o(n)?(e.beginPath(),n(e),e.clip()):lp(e,t.group)}function lp(e,t){e.beginPath(),nf(t)?rf(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function up(e){let t=Hf(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function dp(e,t){e(`transform`,rp(t))}function fp(e,t){let n=up(t);e(`d`,rf(null,t,n,n))}function pp(e,t){e(`class`,`background`),e(`aria-hidden`,!0),fp(e,t)}function mp(e,t){e(`class`,`foreground`),e(`aria-hidden`,!0),t.strokeForeground?fp(e,t):e(`d`,``)}function hp(e,t,n){e(`clip-path`,t.clip?of(n,t,t):null)}function gp(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),pf(e,t),e.translate(t.x||0,t.y||0)}function _p(e,t,n,r){let i=up(t);e.beginPath(),rf(e,t,(n||0)+i,(r||0)+i)}var vp=$f(_p),yp=$f(_p,!1),bp=$f(_p,!0);function xp(e,t,n,r){Jf(t,t=>{let i=t.x||0,a=t.y||0,o=t.strokeForeground,s=t.opacity==null?1:t.opacity;(t.stroke||t.fill)&&s&&(_p(e,t,i,a),Vf(e,t),t.fill&&Gf(e,t,s)&&e.fill(),t.stroke&&!o&&Kf(e,t,s)&&e.stroke()),e.save(),e.translate(i,a),t.clip&&lp(e,t),n&&n.translate(-i,-a),Jf(t,t=>{(t.marktype===`group`||r==null||r.includes(t.marktype))&&this.draw(e,t,n,r)}),n&&n.translate(i,a),e.restore(),o&&t.stroke&&s&&(_p(e,t,i,a),Vf(e,t),Kf(e,t,s)&&e.stroke())})}function Sp(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,s=r*e.pixelRatio;return Yf(t,c=>{let l,u,d,f=c.bounds;if(f&&!f.contains(i,a))return;u=c.x||0,d=c.y||0;let p=u+(c.width||0),m=d+(c.height||0),h=c.clip;if(h&&(i<u||i>p||a<d||a>m))return;if(e.save(),e.translate(u,d),u=i-u,d=a-d,h&&nf(c)&&!bp(e,c,o,s))return e.restore(),null;let g=c.strokeForeground,_=t.interactive!==!1;return _&&g&&c.stroke&&yp(e,c,o,s)?(e.restore(),c):(l=Yf(c,e=>Cp(e,u,d)?this.pick(e,n,r,u,d):null),!l&&_&&(c.fill||!g&&c.stroke)&&vp(e,c,o,s)&&(l=c),e.restore(),l||null)})}function Cp(e,t,n){return(e.interactive!==!1||e.marktype===`group`)&&e.bounds&&e.bounds.contains(t,n)}var wp={type:`group`,tag:`g`,nested:!1,attr:dp,bound:gp,draw:xp,pick:Sp,isect:Rf,content:hp,background:pp,foreground:mp},Tp={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,version:`1.1`};function Ep(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(t=>{e.image=t,e.image.url=e.url})),n}function Dp(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 Op(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 kp(e,t){return e===`center`?t/2:e===`right`?t:0}function Ap(e,t){return e===`middle`?t/2:e===`bottom`?t:0}function jp(e,t,n){let r=Ep(t,n),i=Dp(t,r),a=Op(t,r),o=(t.x||0)-kp(t.align,i),s=(t.y||0)-Ap(t.baseline,a);e(`href`,!r.src&&r.toDataURL?r.toDataURL():r.src||``,Tp[`xmlns:xlink`],`xlink:href`),e(`transform`,tp(o,s)),e(`width`,i),e(`height`,a),e(`preserveAspectRatio`,t.aspect===!1?`none`:`xMidYMid`)}function Mp(e,t){let n=t.image,r=Dp(t,n),i=Op(t,n),a=(t.x||0)-kp(t.align,r),o=(t.y||0)-Ap(t.baseline,i);return e.set(a,o,a+r,o+i)}function Np(e,t,n){Jf(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=Ep(t,this),i=Dp(t,r),a=Op(t,r);if(i===0||a===0)return;let o=(t.x||0)-kp(t.align,i),s=(t.y||0)-Ap(t.baseline,a),c,l,u;t.aspect!==!1&&(c=r.width/r.height,l=t.width/t.height,c===c&&l===l&&c!==l&&(l<c?(u=i/c,s+=(a-u)/2,a=u):(u=a*c,o+=(i-u)/2,i=u))),(r.complete||r.toDataURL)&&(Vf(e,t),e.globalAlpha=t.opacity??1,e.imageSmoothingEnabled=t.smooth!==!1,e.drawImage(r,o,s,i,a))})}var Pp={type:`image`,tag:`image`,nested:!1,attr:jp,bound:Mp,draw:Np,pick:Qf(),isect:x,get:Ep,xOffset:kp,yOffset:Ap},Fp=op(`line`,ene,_ne);function Ip(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e(`vector-effect`,`non-scaling-stroke`),e(`transform`,mne(t)),e(`d`,t.path)}function Lp(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,s=(t.angle||0)*nd,c=t.pathCache;(!c||c.path!==n)&&((t.pathCache=c=ed(n)).path=n),s&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(s),md(e,c,0,0,a,o),e.rotate(-s),e.translate(-r,-i)):md(e,c,r,i,a,o)}function Rp(e,t){return Lp(Af(e,t.angle),t)?e.set(0,0,0,0):pf(e,t,!0)}var zp={type:`path`,tag:`path`,nested:!1,attr:Ip,bound:Rp,draw:Xf(Lp),pick:ep(Lp),isect:If(Lp)};function Bp(e,t){e(`d`,rf(null,t))}function Vp(e,t){var n,r;return pf(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function Hp(e,t){e.beginPath(),rf(e,t)}var Up={type:`rect`,tag:`path`,nested:!1,attr:Bp,bound:Vp,draw:Xf(Hp),pick:ep(Hp),isect:Rf};function Wp(e,t){e(`transform`,rp(t)),e(`x2`,t.x2==null?0:t.x2-(t.x||0)),e(`y2`,t.y2==null?0:t.y2-(t.y||0))}function Gp(e,t){var n,r;return pf(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function Kp(e,t,n){var r,i,a,o;return t.stroke&&Kf(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 qp(e,t,n){Jf(t,t=>{if(!(n&&!n.intersects(t.bounds))){var r=t.opacity==null?1:t.opacity;r&&Kp(e,t,r)&&(Vf(e,t),e.stroke())}})}function Jp(e,t,n,r){return e.isPointInStroke?Kp(e,t,1)&&e.isPointInStroke(n,r):!1}var Yp={type:`rule`,tag:`line`,nested:!1,attr:Wp,bound:Gp,draw:qp,pick:Qf(Jp),isect:zf},Xp=ip(`shape`,tne),Zp=ip(`symbol`,nne,Lf),Qp=cr(),$p={height:am,measureWidth:rm,estimateWidth:tm,width:tm,canvas:em};em(!0);function em(e){$p.width=e&&Pf?rm:tm}function tm(e,t){return nm(um(e,t),am(e))}function nm(e,t){return~~(.8*e.length*t)}function rm(e,t){return am(e)<=0||!(t=um(e,t))?0:im(t,mm(e))}function im(e,t){let n=`(${t}) ${e}`,r=Qp.get(n);return r===void 0&&(Pf.font=t,r=Pf.measureText(e).width,Qp.set(n,r)),r}function am(e){return e.fontSize==null?11:+e.fontSize||0}function om(e){return e.lineHeight==null?am(e)+2:e.lineHeight}function sm(e){return h(e)?e.length>1?e:e[0]:e}function cm(e){return sm(e.lineBreak&&e.text&&!h(e.text)?e.text.split(e.lineBreak):e.text)}function lm(e){let t=cm(e);return(h(t)?t.length-1:0)*om(e)}function um(e,t){let n=t==null?``:(t+``).trim();return e.limit>0&&n.length?fm(e,n):n}function dm(e){if($p.width===rm){let t=mm(e);return e=>im(e,t)}if($p.width===tm){let t=am(e);return e=>nm(e,t)}return t=>$p.width(e,t)}function fm(e,t){var n=+e.limit,r=dm(e);if(r(t)<n)return t;var i=e.ellipsis||`…`,a=e.dir===`rtl`,o=0,s=t.length,c;if(n-=r(i),a){for(;o<s;)c=o+s>>>1,r(t.slice(c))>n?o=c+1:s=c;return i+t.slice(o)}for(;o<s;)c=1+(o+s>>>1),r(t.slice(0,c))<n?o=c:s=c-1;return t.slice(0,o)+i}function pm(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,`'`):n)||`sans-serif`}function mm(e,t){return(e.fontStyle?e.fontStyle+` `:``)+(e.fontVariant?e.fontVariant+` `:``)+(e.fontWeight?e.fontWeight+` `:``)+am(e)+`px `+pm(e,t)}function hm(e){var t=e.baseline,n=am(e);return Math.round(t===`top`?.79*n:t===`middle`?.3*n:t===`bottom`?-.21*n:t===`line-top`?.29*n+.5*om(e):t===`line-bottom`?.29*n-.5*om(e):0)}var gm={left:`start`,center:`middle`,right:`end`},_m=new sf;function vm(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-id,t+=r*Math.cos(i),n+=r*Math.sin(i)),_m.x1=t,_m.y1=n,_m}function ym(e,t){var n=t.dx||0,r=(t.dy||0)+hm(t),i=vm(t),a=i.x1,o=i.y1,s=t.angle||0,c;e(`text-anchor`,gm[t.align]||`start`),s?(c=tp(a,o)+` `+np(s),(n||r)&&(c+=` `+tp(n,r))):c=tp(a+n,o+r),e(`transform`,c)}function bm(e,t,n){var r=$p.height(t),i=t.align,a=vm(t),o=a.x1,s=a.y1,c=t.dx||0,l=(t.dy||0)+hm(t)-Math.round(.8*r),u=cm(t),d;if(h(u)?(r+=om(t)*(u.length-1),d=u.reduce((e,n)=>Math.max(e,$p.width(t,n)),0)):d=$p.width(t,u),i===`center`?c-=d/2:i===`right`&&(c-=d),e.set(c+=o,l+=s,c+d,l+r),t.angle&&!n)e.rotate(t.angle*nd,o,s);else if(n===2)return e.rotatedPoints(t.angle*nd,o,s);return e}function xm(e,t,n){Jf(t,t=>{var r=t.opacity==null?1:t.opacity,i,a,o,s,c,l,u;if(!(n&&!n.intersects(t.bounds)||r===0||t.fontSize<=0||t.text==null||t.text.length===0)){if(e.font=mm(t),e.textAlign=t.align||`left`,i=vm(t),a=i.x1,o=i.y1,t.angle&&(e.save(),e.translate(a,o),e.rotate(t.angle*nd),a=o=0),a+=t.dx||0,o+=(t.dy||0)+hm(t),l=cm(t),Vf(e,t),h(l))for(c=om(t),s=0;s<l.length;++s)u=um(t,l[s]),t.fill&&Gf(e,t,r)&&e.fillText(u,a,o),t.stroke&&Kf(e,t,r)&&e.strokeText(u,a,o),o+=c;else u=um(t,l),t.fill&&Gf(e,t,r)&&e.fillText(u,a,o),t.stroke&&Kf(e,t,r)&&e.strokeText(u,a,o);t.angle&&e.restore()}})}function Sm(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=vm(t),s=o.x1,c=o.y1,l=bm(_m,t,1),u=-t.angle*nd,d=Math.cos(u),f=Math.sin(u),p=d*i-f*a+(s-d*s+f*c),m=f*i+d*a+(c-f*s-d*c);return l.contains(p,m)}function Cm(e,t){let n=bm(_m,e,2);return Bf(t,n[0],n[1],n[2],n[3])||Bf(t,n[0],n[1],n[4],n[5])||Bf(t,n[4],n[5],n[6],n[7])||Bf(t,n[2],n[3],n[6],n[7])}var wm={arc:hne,area:sp,group:wp,image:Pp,line:Fp,path:zp,rect:Up,rule:Yp,shape:Xp,symbol:Zp,text:{type:`text`,tag:`text`,nested:!1,attr:ym,bound:bm,draw:xm,pick:Qf(Sm),isect:Cm},trail:op(`trail`,rne,ap)};function Tm(e,t,n){var r=wm[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new sf),e,n)}var Em={mark:null};function Dm(e,t,n){var r=wm[e.marktype],i=r.bound,a=e.items,o=a&&a.length,s,c,l,u;if(r.nested)return o?l=a[0]:(Em.mark=e,l=Em),u=Tm(l,i,n),t=t&&t.union(u)||u,t;if(t=t||e.bounds&&e.bounds.clear()||new sf,o)for(s=0,c=a.length;s<c;++s)t.union(Tm(a[s],i,n));return e.bounds=t}var Om=`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 km(e,t){return JSON.stringify(e,Om,t)}function Am(e){return jm(typeof e==`string`?JSON.parse(e):e)}function jm(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`&&jm(n[i]);return t&&Dm(e),e}var Mm=class{constructor(e){arguments.length?this.root=Am(e):(this.root=Nm({marktype:`group`,name:`root`,role:`frame`}),this.root.items=[new lf(this.root)])}toJSON(e){return km(this.root,e||0)}mark(e,t,n){t||=this.root.items[0];let r=Nm(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function Nm(e,t){let n={bounds:new sf,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 Pm(e,t,n){return!e&&typeof document<`u`&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function Fm(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 Im(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Pm(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function Lm(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function Rm(e){return`mark-`+e.marktype+(e.role?` role-`+e.role:``)+(e.name?` `+e.name:``)}function zm(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function Bm(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=wm[i.marktype]).tip){for(o=zm(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 Vm=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||te(),this._tooltip=t||Hm}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let e in t)n.push(...t[e]);return n}eventName(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:`href`}).then(t=>{let n=new MouseEvent(e.type,e),r=Pm(null,`a`);for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=Bm(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),s=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)s+=e.x||0,c+=e.y||0;return{x:s,y:c,width:a,height:o,left:s,top:c,right:s+a,bottom:c+o}}};function Hm(e,t,n,r){e.element().setAttribute(`title`,r||``)}var Um=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new uf(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r}sanitizeURL(e){return this._load(`sanitizeURL`,e)}loadImage(e){return this._load(`loadImage`,e)}},Wm=`keydown`,Gm=`keypress`,Km=`keyup`,qm=`dragenter`,Jm=`dragleave`,Ym=`dragover`,Xm=`pointerdown`,Zm=`pointerup`,Qm=`pointermove`,$m=`pointerout`,eh=`pointerover`,th=`mousedown`,nh=`mouseup`,rh=`mousemove`,ih=`mouseout`,ah=`mouseover`,oh=`click`,sh=`dblclick`,ch=`wheel`,lh=`mousewheel`,uh=`touchstart`,dh=`touchmove`,fh=`touchend`,ph=[Wm,Gm,Km,qm,Jm,Ym,Xm,Zm,Qm,$m,eh,th,nh,rh,ih,ah,oh,sh,ch,lh,uh,dh,fh],mh=Qm,hh=ih,gh=oh,_h=class extends Vm{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=ph,this.pointermove=Sh([Qm,rh],[eh,ah],[$m,ih]),this.dragover=Sh([Ym],[qm],[Jm]),this.pointerout=Ch([$m,ih]),this.dragleave=Ch([Jm])}initialize(e,t,n){return this._canvas=e&&Fm(e,`canvas`),[oh,th,Xm,Qm,$m,Jm].forEach(e=>yh(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext(`2d`)}DOMMouseScroll(e){this.fire(lh,e)}pointerdown(e){this._down=this._active,this.fire(Xm,e)}mousedown(e){this._down=this._active,this.fire(th,e)}click(e){this._down===this._active&&(this.fire(oh,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&=(this._active=this._touch,!1),this.fire(uh,e,!0)}touchmove(e){this.fire(dh,e,!0)}touchend(e){this.fire(fh,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===gh&&r&&r.href?this.handleHref(t,r,r.href):(e===mh||e===hh)&&this.handleTooltip(t,r,e!==hh),i)for(let e=0,n=i.length;e<n;++e)i[e].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(yh(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=zm(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 wm[e.marktype].pick.call(this,a,e,t,n,r,i)}},vh=e=>e===uh||e===dh||e===fh?[uh,dh,fh]:[e];function yh(e,t){vh(t).forEach(t=>bh(e,t))}function bh(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))}function xh(e,t,n){t.forEach(t=>e.fire(t,n))}function Sh(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?xh(this,e,r):((!i||!i.exit)&&xh(this,n,r),this._active=a,xh(this,t,r),xh(this,e,r))}}function Ch(e){return function(t){xh(this,e,t),this._active=null}}function wh(){return typeof window<`u`&&window.devicePixelRatio||1}function Th(e,t,n,r,i,a){let o=typeof HTMLElement<`u`&&e instanceof HTMLElement&&e.parentNode!=null,s=e.getContext(`2d`),c=o?wh():i;e.width=t*c,e.height=n*c;for(let e in a)s[e]=a[e];return o&&c!==1&&(e.style.width=t+`px`,e.style.height=n+`px`),s.pixelRatio=c,s.setTransform(c,0,0,c,c*r[0],c*r[1]),e}var Eh=class extends Um{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new sf,this._tempb=new sf}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:fc(1,1,this._options.type),e&&this._canvas&&(Lm(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)Th(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||j(`CanvasRenderer is missing a valid canvas or context`),e.scale(this._scale,this._scale),e.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext(`2d`):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,s=Dh(r,i,a);n.save();let c=this._redraw||o.empty()?(this._redraw=!1,s.expand(1)):Oh(n,s.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!==`group`&&r!=null&&!r.includes(t.marktype))return;let i=wm[t.marktype];t.clip&&cp(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))}},Dh=(e,t,n)=>new sf().set(0,0,t,n).translate(-e[0],-e[1]);function Oh(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 kh=class extends Vm{constructor(e,t){super(e,t);let n=this;n._hrefHandler=Ah(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=Ah(n,(e,t)=>{n.handleTooltip(e,t,e.type!==hh)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(gh,this._hrefHandler),r.removeEventListener(mh,this._tooltipHandler),r.removeEventListener(hh,this._tooltipHandler)),this._svg=r=e&&Fm(e,`svg`),r&&(r.addEventListener(gh,this._hrefHandler),r.addEventListener(mh,this._tooltipHandler),r.addEventListener(hh,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:Ah(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}},Ah=(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)},jh=`aria-hidden`,Mh=`aria-label`,Nh=`role`,Ph=`aria-roledescription`,Fh=`graphics-object`,Ih=`graphics-symbol`,Lh=(e,t,n)=>({[Nh]:e,[Ph]:t,[Mh]:n||void 0}),Rh=pr([`axis-domain`,`axis-grid`,`axis-label`,`axis-tick`,`axis-title`,`legend-band`,`legend-entry`,`legend-gradient`,`legend-label`,`legend-title`,`legend-symbol`,`title`]),zh={axis:{desc:`axis`,caption:Kh},legend:{desc:`legend`,caption:qh},"title-text":{desc:`title`,caption:e=>`Title text '${Gh(e)}'`},"title-subtitle":{desc:`subtitle`,caption:e=>`Subtitle text '${Gh(e)}'`}},Bh={ariaRole:Nh,ariaRoleDescription:Ph,description:Mh};function Vh(e,t){let n=t.aria===!1;if(e(jh,n||void 0),n||t.description==null)for(let t in Bh)e(Bh[t],void 0);else{let n=t.mark.marktype;e(Mh,t.description),e(Nh,t.ariaRole||(n===`group`?Fh:Ih)),e(Ph,t.ariaRoleDescription||`${n} mark`)}}function Hh(e){return e.aria===!1?{[jh]:!0}:Rh[e.role]?null:zh[e.role]?Wh(e,zh[e.role]):Uh(e)}function Uh(e){let t=e.marktype;return Lh(t===`group`||t===`text`||e.items.some(e=>e.description!=null&&e.aria!==!1)?Fh:Ih,`${t} mark container`,e.description)}function Wh(e,t){try{let n=e.items[0],r=t.caption||(()=>``);return Lh(t.role||Ih,t.desc,n.description||r(n))}catch{return null}}function Gh(e){return E(e.text).join(` `)}function Kh(e){let t=e.datum,n=e.orient,r=t.title?Jh(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),s=a.type;return`${n===`left`||n===`right`?`Y`:`X`}-axis`+(r?` titled '${r}'`:``)+` for a ${Zl(s)?`discrete`:s} scale with ${zu(o,a,e)}`}function qh(e){let t=e.datum,n=t.title?Jh(e):null,r=`${t.type||``} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,s=o.scales[i[a[0]]].value,c=o.dataflow.locale();return Xh(r)+(n?` titled '${n}'`:``)+` for ${Yh(a)} with ${zu(c,s,e)}`}function Jh(e){try{return E(M(e.items).items[0].text).join(` `)}catch{return null}}function Yh(e){return e=e.map(e=>e+(e===`fill`||e===`stroke`?` color`:``)),e.length<2?e[0]:e.slice(0,-1).join(`, `)+` and `+M(e)}function Xh(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var Zh=e=>(e+``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),Qh=e=>Zh(e).replace(/"/g,`&quot;`).replace(/\t/g,`&#x9;`).replace(/\n/g,`&#xA;`).replace(/\r/g,`&#xD;`);function $h(){let e=``,t=``,n=``,r=[],i=()=>t=n=``,a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(n!=null&&(t+=` ${e}="${Qh(n)}"`),s),s={open(e,...n){a(e),t=`<`+e;for(let e of n)for(let t in e)o(t,e[t]);return s},close(){let a=r.pop();return e+=t?t+(n?`>${n}</${a}>`:`/>`):`</${a}>`,i(),s},attr:o,text:e=>(n+=Zh(e),s),toString:()=>e};return s}var eg=e=>tg($h(),e)+``;function tg(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let t=0;t<r;++t)e.attr(n[t].name,n[t].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let t of n)t.nodeType===3?e.text(t.nodeValue):tg(e,t)}return e.close()}var ng={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`},rg={blend:`mix-blend-mode`},ig={fill:`none`,"stroke-miterlimit":10},ag=0,og=`http://www.w3.org/2000/xmlns/`,sg=Tp.xmlns,cg=class extends Um{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=Im(e,0,`svg`,sg),this._svg.setAttributeNS(og,`xmlns`,sg),this._svg.setAttributeNS(og,`xmlns:xlink`,Tp[`xmlns:xlink`]),this._svg.setAttribute(`version`,Tp.version),this._svg.setAttribute(`class`,`marks`),Lm(e,1),this._root=Im(this._svg,ag,`g`,sg),bg(this._root,ig),Lm(this._svg,1)),this.background(this._bgcolor),super.initialize(e,t,n,r,i)}background(e){return arguments.length&&this._svg&&this._svg.style.setProperty(`background-color`,e),super.background(...arguments)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svg&&(bg(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=Im(e,ag,`rect`,sg),bg(n,{width:this._width,height:this._height,fill:t}));let r=eg(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),Lm(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,s,c;for(o=0,s=e.length;o<s;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=wm[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,lg(n,t),r.items.forEach(e=>{e.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.removeChild(n._svg)),n._svg=null;continue}n=a.nested?r.items[0]:n,n._update!==t&&(!n._svg||!n._svg.ownerSVGElement?(this._dirtyAll=!1,lg(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=wm[a],s=t.interactive===!1?`none`:null,c=o.tag===`g`,l=pg(t,e,n,`g`,i);if(a!==`group`&&r!=null&&!r.includes(a))return Lm(l,0),t._svg;l.setAttribute(`class`,Rm(t));let u=Hh(t);for(let e in u)xg(l,e,u[e]);c||xg(l,`pointer-events`,s),xg(l,`clip-path`,t.clip?of(this,t,t.group):null);let d=null,f=0,p=e=>{let t=this.isDirty(e),n=pg(e,l,d,o.tag,i);t&&(this._update(o,n,e),c&&fg(this,n,e,r)),d=n,++f};return o.nested?t.items.length&&p(t.items[0]):Jf(t,p),Lm(l,f),l}_update(e,t,n){hg=t,gg=t.__values__,Vh(vg,n),e.attr(vg,n,this);let r=_g[e.type];r&&r.call(this,e,t,n),hg&&this.style(hg,n)}style(e,t){if(t!=null){for(let n in ng){let r=n===`font`?pm(t):t[n];if(r===gg[n])continue;let i=ng[n];r==null?e.removeAttribute(i):(Uu(r)&&(r=Wu(r,this._defs.gradient,Cg())),e.setAttribute(i,r+``)),gg[n]=r}for(let n in rg)yg(e,rg[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=Im(e,1,`defs`,sg)),r=ug(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Im(e,1,`defs`,sg)),r=dg(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):Lm(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function lg(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 ug(e,t,n){let r,i,a;if(t.gradient===`radial`){let r=Im(e,n++,`pattern`,sg);bg(r,{id:Hu+t.id,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),r=Im(r,0,`rect`,sg),bg(r,{width:1,height:1,fill:`url(${Cg()}#${t.id})`}),e=Im(e,n++,`radialGradient`,sg),bg(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Im(e,n++,`linearGradient`,sg),bg(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=Im(e,r,`stop`,sg),a.setAttribute(`offset`,t.stops[r].offset),a.setAttribute(`stop-color`,t.stops[r].color);return Lm(e,r),n}function dg(e,t,n){let r;return e=Im(e,n,`clipPath`,sg),e.setAttribute(`id`,t.id),t.path?(r=Im(e,0,`path`,sg),r.setAttribute(`d`,t.path)):(r=Im(e,0,`rect`,sg),bg(r,{x:0,y:0,width:t.width,height:t.height})),Lm(e,1),n+1}function fg(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;Jf(n,n=>{i=e.mark(t,n,i,r),++a}),Lm(t,1+a)}function pg(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Pm(o,r,sg),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:`default`},r===`g`))){let t=Pm(o,`path`,sg);a.appendChild(t),t.__data__=e;let n=Pm(o,`g`,sg);a.appendChild(n),n.__data__=e;let r=Pm(o,`path`,sg);a.appendChild(r),r.__data__=e,r.__values__={fill:`default`}}return(a.ownerSVGElement!==i||mg(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function mg(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var hg=null,gg=null,_g={group(e,t,n){let r=hg=t.childNodes[2];gg=r.__values__,e.foreground(vg,n,this),gg=t.__values__,hg=t.childNodes[1],e.content(vg,n,this);let i=hg=t.childNodes[0];e.background(vg,n,this);let a=n.mark.interactive===!1?`none`:null;if(a!==gg.events&&(xg(r,`pointer-events`,a),xg(i,`pointer-events`,a),gg.events=a),n.strokeForeground&&n.stroke){let e=n.fill;xg(r,`display`,null),this.style(i,n),xg(i,`stroke`,null),e&&(n.fill=null),gg=r.__values__,this.style(r,n),e&&(n.fill=e),hg=null}else xg(r,`display`,`none`)},image(e,t,n){n.smooth===!1?(yg(t,`image-rendering`,`optimizeSpeed`),yg(t,`image-rendering`,`pixelated`)):yg(t,`image-rendering`,null)},text(e,t,n){let r=cm(n),i,a,o,s;h(r)?(a=r.map(e=>um(n,e)),i=a.join(`
2
+ `),i!==gg.text&&(Lm(t,0),o=t.ownerDocument,s=om(n),a.forEach((e,r)=>{let i=Pm(o,`tspan`,sg);i.__data__=n,i.textContent=e,r&&(i.setAttribute(`x`,0),i.setAttribute(`dy`,s)),t.appendChild(i)}),gg.text=i)):(a=um(n,r),a!==gg.text&&(t.textContent=a,gg.text=a)),xg(t,`font-family`,pm(n)),xg(t,`font-size`,am(n)+`px`),xg(t,`font-style`,n.fontStyle),xg(t,`font-variant`,n.fontVariant),xg(t,`font-weight`,n.fontWeight)}};function vg(e,t,n){t!==gg[e]&&(n?Sg(hg,e,t,n):xg(hg,e,t),gg[e]=t)}function yg(e,t,n){n!==gg[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+``),gg[t]=n)}function bg(e,t){for(let n in t)xg(e,n,t[n])}function xg(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function Sg(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function Cg(){let e;return typeof window>`u`?``:(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var wg=class extends Um{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=$h();t.open(`svg`,g({},Tp,{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`,ig,{transform:`translate(`+this._origin+`)`}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+``,this}mark(e,t){let n=wm[t.marktype],r=n.tag,i=[Vh,n.attr];e.open(`g`,{class:Rm(t),"clip-path":t.clip?of(this,t,t.group):null},Hh(t),{"pointer-events":r!==`g`&&t.interactive===!1?`none`:null});let a=a=>{let o=this.href(a);if(o&&e.open(`a`,o),e.open(r,this.attr(t,a,i,r===`g`?null:r)),r===`text`){let t=cm(a);if(h(t)){let n={x:0,dy:om(a)};for(let r=0;r<t.length;++r)e.open(`tspan`,r?n:null).text(um(a,t[r])).close()}else e.text(um(a,t))}else if(r===`g`){let r=a.strokeForeground,i=a.fill,o=a.stroke;r&&o&&(a.stroke=null),e.open(`path`,this.attr(t,a,n.background,`bgrect`)).close(),e.open(`g`,this.attr(t,a,n.content)),Jf(a,t=>this.mark(e,t)),e.close(),r&&o?(i&&(a.fill=null),a.stroke=o,e.open(`path`,this.attr(t,a,n.foreground,`bgrect`)).close(),i&&(a.fill=i)):e.open(`path`,this.attr(t,a,n.foreground,`bgfore`)).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):Jf(t,a),e.close()}href(e){let t=e.href,n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(e=>{e[`xlink:href`]=e.href,e.href=null,(this._hrefs||={})[t]=e})}return null}attr(e,t,n,r){let i={},a=(e,t,n,r)=>{i[r||e]=t};return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),r&&Tg(i,t,e,r,this._defs),i}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){e.open(`defs`);for(let n in t){let r=t[n],i=r.stops;r.gradient===`radial`?(e.open(`pattern`,{id:Hu+n,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),e.open(`rect`,{width:`1`,height:`1`,fill:`url(#`+n+`)`}).close(),e.close(),e.open(`radialGradient`,{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open(`linearGradient`,{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t<i.length;++t)e.open(`stop`,{offset:i[t].offset,"stop-color":i[t].color}).close();e.close()}for(let t in n){let r=n[t];e.open(`clipPath`,{id:t}),r.path?e.open(`path`,{d:r.path}).close():e.open(`rect`,{x:0,y:0,width:r.width,height:r.height}).close(),e.close()}e.close()}}};function Tg(e,t,n,r,i){let a;if(t==null||(r===`bgrect`&&n.interactive===!1&&(e[`pointer-events`]=`none`),r===`bgfore`&&(n.interactive===!1&&(e[`pointer-events`]=`none`),e.display=`none`,t.fill!==null)))return e;r===`image`&&t.smooth===!1&&(a=[`image-rendering: optimizeSpeed;`,`image-rendering: pixelated;`]),r===`text`&&(e[`font-family`]=pm(t),e[`font-size`]=am(t)+`px`,e[`font-style`]=t.fontStyle,e[`font-variant`]=t.fontVariant,e[`font-weight`]=t.fontWeight);for(let n in ng){let r=t[n],a=ng[n];r===`transparent`&&(a===`fill`||a===`stroke`)||r!=null&&(Uu(r)&&(r=Wu(r,i.gradient,``)),e[a]=r)}for(let e in rg){let n=t[e];n!=null&&(a||=[],a.push(`${rg[e]}: ${n};`))}return a&&(e.style=a.join(` `)),e}var Eg={svgMarkTypes:[`text`],svgOnTop:!0,debug:!1};function Dg(e){Eg.svgMarkTypes=e.svgMarkTypes??[`text`],Eg.svgOnTop=e.svgOnTop??!0,Eg.debug=e.debug??!1}var Og=class extends Um{constructor(e){super(e),this._svgRenderer=new cg(e),this._canvasRenderer=new Eh(e)}initialize(e,t,n,r,i){this._root_el=Im(e,0,`div`);let a=Im(this._root_el,0,`div`),o=Im(this._root_el,1,`div`);return this._root_el.style.position=`relative`,Eg.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=Eg.svgOnTop?o:a,this._canvasEl=Eg.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 Eg.svgMarkTypes.includes(e.mark.marktype)?this._svgRenderer.dirty(e):this._canvasRenderer.dirty(e),this}_render(e,t){let n=(t??[`arc`,`area`,`image`,`line`,`path`,`rect`,`rule`,`shape`,`symbol`,`text`,`trail`]).filter(e=>!Eg.svgMarkTypes.includes(e));this._svgRenderer.render(e,Eg.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 Eg.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},kg=class extends _h{constructor(e,t){super(e,t)}initialize(e,t,n){let r=Im(Im(e,0,`div`),+!Eg.svgOnTop,`div`);return super.initialize(r,t,n)}},Ag=`canvas`,jg=`hybrid`,Mg=`png`,Ng=`svg`,Pg=`none`,Fg={Canvas:Ag,PNG:Mg,SVG:Ng,Hybrid:jg,None:Pg},Ig={};Ig[Ag]=Ig[Mg]={renderer:Eh,headless:Eh,handler:_h},Ig[Ng]={renderer:cg,headless:wg,handler:kh},Ig[jg]={renderer:Og,headless:Og,handler:kg},Ig[Pg]={};function Lg(e,t){return e=String(e||``).toLowerCase(),arguments.length>1?(Ig[e]=t,this):Ig[e]}function Rg(e,t,n){let r=[],i=new sf().union(t),a=e.marktype;return a?zg(e,i,n,r):a===`group`?Vg(e,i,n,r):j(`Intersect scene must be mark node or group item.`)}function zg(e,t,n,r){if(Bg(e,t,n)){let i=e.items,a=e.marktype,o=i.length,s=0;if(a===`group`)for(;s<o;++s)Vg(i[s],t,n,r);else for(let e=wm[a].isect;s<o;++s){let n=i[s];Hg(n,t,e)&&r.push(n)}}return r}function Bg(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype===`group`||e.interactive!==!1&&(!n||n(e)))}function Vg(e,t,n,r){n&&n(e.mark)&&Hg(e,t,wm.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,s=e.y||0;t.translate(-o,-s);for(let e=0;e<a;++e)zg(i[e],t,n,r);t.translate(o,s)}return r}function Hg(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var Ug=new sf;function Wg(e){let t=e.clip;if(o(t))t(Af(Ug.clear()));else if(t)Ug.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(Ug)}var Gg=1e-9;function Kg(e,t,n){return e===t?!0:n===`path`?qg(e,t):e instanceof Date&&t instanceof Date?+e==+t:v(e)&&v(t)?Math.abs(e-t)<=Gg:!e||!t||!d(e)&&!d(t)?e==t:Jg(e,t)}function qg(e,t){return Kg(ed(e),ed(t))}function Jg(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],!Kg(e[i],t[i],i))return!1;return typeof e==typeof t}function Yg(){ine(),Vu()}var Xg=t({bound:()=>P_,identifier:()=>L_,mark:()=>z_,overlap:()=>V_,render:()=>Y_,viewlayout:()=>Tv}),Zg=`top`,Qg=`left`,$g=`right`,e_=`bottom`,t_=`top-left`,n_=`top-right`,r_=`bottom-left`,i_=`bottom-right`,a_=`start`,o_=`middle`,s_=`end`,c_=`x`,l_=`y`,u_=`group`,d_=`axis`,f_=`title`,p_=`frame`,m_=`scope`,h_=`legend`,g_=`row-header`,__=`row-footer`,v_=`row-title`,y_=`column-header`,b_=`column-footer`,x_=`column-title`,S_=`padding`,C_=`symbol`,w_=`fit`,T_=`fit-x`,E_=`fit-y`,D_=`pad`,O_=`none`,k_=`all`,A_=`each`,j_=`flush`,M_=`column`,N_=`row`;function P_(e){F.call(this,null,e)}N(P_,F,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=wm[i],o=a.bound,s=r.bounds,c;if(a.nested)r.items.length&&n.dirty(r.items[0]),s=F_(r,o),r.items.forEach(e=>{e.bounds.clear().union(s)});else if(i===u_||e.modified())switch(t.visit(t.MOD,e=>n.dirty(e)),s.clear(),r.items.forEach(e=>s.union(F_(e,o))),r.role){case d_:case h_:case f_:t.reflow()}else c=t.changed(t.REM),t.visit(t.ADD,e=>{s.union(F_(e,o))}),t.visit(t.MOD,e=>{c||=s.alignsWith(e.bounds),n.dirty(e),s.union(F_(e,o))}),c&&(s.clear(),r.items.forEach(e=>s.union(e.bounds)));return Wg(r),t.modifies(`bounds`)}});function F_(e,t,n){return t(e.bounds.clear(),e,n)}var I_=`:vega_identifier:`;function L_(e){F.call(this,0,e)}L_.Definition={type:`Identifier`,metadata:{modifies:!0},params:[{name:`as`,type:`string`,required:!0}]},N(L_,F,{transform(e,t){let n=R_(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,e=>e[r]=e[r]||++i),n.set(this.value=i),t}});function R_(e){return e._signals[I_]||(e._signals[I_]=e.add(0))}function z_(e){F.call(this,null,e)}N(z_,F,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,B_(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===u_?lf:cf;return t.visit(t.ADD,e=>r.call(e,n)),(e.modified(`clip`)||e.modified(`interactive`))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});function B_(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 V_(e){F.call(this,null,e)}var H_={parity:e=>e.filter((e,t)=>t%2?e.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((e,r)=>!r||!U_(n.bounds,e.bounds,t)?(n=e,1):e.opacity=0)}},U_=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),W_=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,a;n<r;i=a,++n)if(U_(i,a=e[n].bounds,t))return!0},G_=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},K_=(e,t,n)=>{var r=e.range(),i=new sf;return t===Zg||t===e_?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),e=>i.encloses(e.bounds)},q_=e=>(e.forEach(e=>e.opacity=1),e),J_=(e,t)=>e.reflow(t.modified()).modifies(`opacity`);N(V_,F,{transform(e,t){let n=H_[e.method]||H_.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`)&&(q_(i),t=J_(t,e)),t;if(i=i.filter(G_),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=q_(i),t=J_(t,e),a.length>=3&&W_(a,r)){do a=n(a,r);while(a.length>=3&&W_(a,r));a.length<3&&!M(i).opacity&&(a.length>1&&(M(a).opacity=0),M(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=K_(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(e=>{o(e)||(e.opacity=0)}));let s=a[0].mark.bounds.clear();return i.forEach(e=>{e.opacity&&s.union(e.bounds)}),t}});function Y_(e){F.call(this,null,e)}N(Y_,F,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,e=>n.dirty(e)),t.fields&&t.fields.zindex){let e=t.source&&t.source[0];e&&(e.mark.zdirty=!0)}}});var X_=new sf;function Z_(e,t,n){return e[t]===n?0:(e[t]=n,1)}function Q_(e){var t=e.items[0].orient;return t===Qg||t===$g}function $_(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function ev(e,t,n,r){var i=t.items[0],a=i.datum,o=i.translate==null?.5:i.translate,s=i.orient,c=$_(a),l=i.range,u=i.offset,d=i.position,f=i.minExtent,p=i.maxExtent,m=a.title&&i.items[c[2]].items[0],h=i.titlePadding,g=i.bounds,_=m&&lm(m),v=0,y=0,b,x;switch(X_.clear().union(g),g.clear(),(b=c[0])>-1&&g.union(i.items[b].bounds),(b=c[1])>-1&&g.union(i.items[b].bounds),s){case Zg:v=d||0,y=-u,x=Math.max(f,Math.min(p,-g.y1)),g.add(0,-x).add(l,0),m&&tv(e,m,x,h,_,0,-1,g);break;case Qg:v=-u,y=d||0,x=Math.max(f,Math.min(p,-g.x1)),g.add(-x,0).add(0,l),m&&tv(e,m,x,h,_,1,-1,g);break;case $g:v=n+u,y=d||0,x=Math.max(f,Math.min(p,g.x2)),g.add(0,0).add(x,l),m&&tv(e,m,x,h,_,1,1,g);break;case e_:v=d||0,y=r+u,x=Math.max(f,Math.min(p,g.y2)),g.add(0,0).add(l,x),m&&tv(e,m,x,h,0,0,1,g);break;default:v=i.x,y=i.y}return pf(g.translate(v,y),i),Z_(i,`x`,v+o)|Z_(i,`y`,y+o)&&(i.bounds=X_,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function tv(e,t,n,r,i,a,o,s){let c=t.bounds;if(t.auto){let s=o*(n+i+r),l=0,u=0;e.dirty(t),a?l=(t.x||0)-(t.x=s):u=(t.y||0)-(t.y=s),t.mark.bounds.clear().union(c.translate(-l,-u)),e.dirty(t)}s.union(c)}var nv=(e,t)=>Math.floor(Math.min(e,t)),rv=(e,t)=>Math.ceil(Math.max(e,t));function iv(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===u_)switch(i.role){case d_:case h_:case f_:break;case g_:o.rowheaders.push(...a);break;case __:o.rowfooters.push(...a);break;case y_:o.colheaders.push(...a);break;case b_:o.colfooters.push(...a);break;case v_:o.rowtitle=a[0];break;case x_:o.coltitle=a[0];break;default:o.marks.push(...a)}return o}function av(e){return new sf().set(0,0,e.width||0,e.height||0)}function ov(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function sv(e,t,n){return(d(e)?e[t]:e)??(n===void 0?0:n)}function cv(e){return e<0?Math.ceil(-e):0}function lv(e,t,n){var r=!n.nodirty,i=n.bounds===j_?av:ov,a=X_.set(0,0,0,0),o=sv(n.align,M_),s=sv(n.align,N_),c=sv(n.padding,M_),l=sv(n.padding,N_),u=n.columns||t.length,d=u<=0?1:Math.ceil(t.length/u),f=t.length,p=Array(f),m=Array(u),h=0,g=Array(f),_=Array(d),v=0,y=Array(f),b=Array(f),x=Array(f),S,C,w,T,E,D,O,k,A,ee,te;for(C=0;C<u;++C)m[C]=0;for(C=0;C<d;++C)_[C]=0;for(C=0;C<f;++C)D=t[C],E=x[C]=i(D),D.x=D.x||0,y[C]=0,D.y=D.y||0,b[C]=0,w=C%u,T=~~(C/u),h=Math.max(h,O=Math.ceil(E.x2)),v=Math.max(v,k=Math.ceil(E.y2)),m[w]=Math.max(m[w],O),_[T]=Math.max(_[T],k),p[C]=c+cv(E.x1),g[C]=l+cv(E.y1),r&&e.dirty(t[C]);for(C=0;C<f;++C)C%u===0&&(p[C]=0),C<u&&(g[C]=0);if(o===A_)for(w=1;w<u;++w){for(te=0,C=w;C<f;C+=u)te<p[C]&&(te=p[C]);for(C=w;C<f;C+=u)p[C]=te+m[w-1]}else if(o===k_){for(te=0,C=0;C<f;++C)C%u&&te<p[C]&&(te=p[C]);for(C=0;C<f;++C)C%u&&(p[C]=te+h)}else for(o=!1,w=1;w<u;++w)for(C=w;C<f;C+=u)p[C]+=m[w-1];if(s===A_)for(T=1;T<d;++T){for(te=0,C=T*u,S=C+u;C<S;++C)te<g[C]&&(te=g[C]);for(C=T*u;C<S;++C)g[C]=te+_[T-1]}else if(s===k_){for(te=0,C=u;C<f;++C)te<g[C]&&(te=g[C]);for(C=u;C<f;++C)g[C]=te+v}else for(s=!1,T=1;T<d;++T)for(C=T*u,S=C+u;C<S;++C)g[C]+=_[T-1];for(A=0,C=0;C<f;++C)A=p[C]+(C%u?A:0),y[C]+=A-t[C].x;for(w=0;w<u;++w)for(ee=0,C=w;C<f;C+=u)ee+=g[C],b[C]+=ee-t[C].y;if(o&&sv(n.center,M_)&&d>1)for(C=0;C<f;++C)E=o===k_?h:m[C%u],A=E-x[C].x2-t[C].x-y[C],A>0&&(y[C]+=A/2);if(s&&sv(n.center,N_)&&u!==1)for(C=0;C<f;++C)E=s===k_?v:_[~~(C/u)],ee=E-x[C].y2-t[C].y-b[C],ee>0&&(b[C]+=ee/2);for(C=0;C<f;++C)a.union(x[C].translate(y[C],b[C]));switch(A=sv(n.anchor,c_),ee=sv(n.anchor,l_),sv(n.anchor,M_)){case s_:A-=a.width();break;case o_:A-=a.width()/2}switch(sv(n.anchor,N_)){case s_:ee-=a.height();break;case o_:ee-=a.height()/2}for(A=Math.round(A),ee=Math.round(ee),a.clear(),C=0;C<f;++C)t[C].mark.bounds.clear();for(C=0;C<f;++C)D=t[C],D.x+=y[C]+=A,D.y+=b[C]+=ee,a.union(D.mark.bounds.union(D.bounds.translate(y[C],b[C]))),r&&e.dirty(D);return a}function uv(e,t,n){var r=iv(t),i=r.marks,a=n.bounds===j_?dv:fv,o=n.offset,s=n.columns||i.length,c=s<=0?1:Math.ceil(i.length/s),l=c*s,u,d,f,p,m,h,g;let _=lv(e,i,n);_.empty()&&_.set(0,0,0,0),r.rowheaders&&(h=sv(n.headerBand,N_,null),u=pv(e,r.rowheaders,i,s,c,-sv(o,`rowHeader`),nv,0,a,`x1`,0,s,1,h)),r.colheaders&&(h=sv(n.headerBand,M_,null),d=pv(e,r.colheaders,i,s,s,-sv(o,`columnHeader`),nv,1,a,`y1`,0,1,s,h)),r.rowfooters&&(h=sv(n.footerBand,N_,null),f=pv(e,r.rowfooters,i,s,c,sv(o,`rowFooter`),rv,0,a,`x2`,s-1,s,1,h)),r.colfooters&&(h=sv(n.footerBand,M_,null),p=pv(e,r.colfooters,i,s,s,sv(o,`columnFooter`),rv,1,a,`y2`,l-s,1,s,h)),r.rowtitle&&(m=sv(n.titleAnchor,N_),g=sv(o,`rowTitle`),g=m===s_?f+g:u-g,h=sv(n.titleBand,N_,.5),mv(e,r.rowtitle,g,0,_,h)),r.coltitle&&(m=sv(n.titleAnchor,M_),g=sv(o,`columnTitle`),g=m===s_?p+g:d-g,h=sv(n.titleBand,M_,.5),mv(e,r.coltitle,g,1,_,h))}function dv(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 fv(e,t){return e.bounds[t]}function pv(e,t,n,r,i,a,o,s,c,l,u,d,f,p){var m=n.length,h=0,g=0,_,v,y,b,x,S,C,w,T;if(!m)return h;for(_=u;_<m;_+=d)n[_]&&(h=o(h,c(n[_],l)));if(!t.length)return h;for(t.length>i&&(e.warn(`Grid headers exceed limit: `+i),t=t.slice(0,i)),h+=a,v=0,b=t.length;v<b;++v)e.dirty(t[v]),t[v].mark.bounds.clear();for(_=u,v=0,b=t.length;v<b;++v,_+=d){for(S=t[v],x=S.mark.bounds,y=_;y>=0&&(C=n[y])==null;y-=f);s?(w=p==null?C.x:Math.round(C.bounds.x1+p*C.bounds.width()),T=h):(w=h,T=p==null?C.y:Math.round(C.bounds.y1+p*C.bounds.height())),x.union(S.bounds.translate(w-(S.x||0),T-(S.y||0))),S.x=w,S.y=T,e.dirty(S),g=o(g,x[l])}return g}function mv(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,s=n;r?o=Math.round(i.x1+a*i.width()):s=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),s-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=s,e.dirty(t)}}function hv(e,t){let n=e[t]||{};return(t,r)=>n[t]==null?e[t]==null?r:e[t]:n[t]}function gv(e,t){let n=-1/0;return e.forEach(e=>{e.offset!=null&&(n=Math.max(n,e.offset))}),n>-1/0?n:t}function _v(e,t,n,r,i,a,o){let s=hv(n,t),c=gv(e,s(`offset`,0)),l=s(`anchor`,a_),u=l===s_?1:l===o_?.5:0,d={align:A_,bounds:s(`bounds`,j_),columns:s(`direction`)===`vertical`?1:e.length,padding:s(`margin`,8),center:s(`center`),nodirty:!0};switch(t){case Qg:d.anchor={x:Math.floor(r.x1)-c,column:s_,y:u*(o||r.height()+2*r.y1),row:l};break;case $g:d.anchor={x:Math.ceil(r.x2)+c,y:u*(o||r.height()+2*r.y1),row:l};break;case Zg:d.anchor={y:Math.floor(i.y1)-c,row:s_,x:u*(a||i.width()+2*i.x1),column:l};break;case e_:d.anchor={y:Math.ceil(i.y2)+c,x:u*(a||i.width()+2*i.x1),column:l};break;case t_:d.anchor={x:c,y:c};break;case n_:d.anchor={x:a-c,y:c,column:s_};break;case r_:d.anchor={x:c,y:o-c,row:s_};break;case i_:d.anchor={x:a-c,y:o-c,column:s_,row:s_}}return d}function vv(e,t){var n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,o=n.x,s=n.y,c,l;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),bv(e,n,n.items[0].items[0]),a=yv(n,a),c=2*n.padding,l=2*n.padding,a.empty()||(c=Math.ceil(a.width()+c),l=Math.ceil(a.height()+l)),r.type===C_&&Cv(n.items[0].items[0].items[0].items),i!==O_&&(n.x=o=0,n.y=s=0),n.width=c,n.height=l,pf(a.set(o,s,o+c,s+l),n),n.mark.bounds.clear().union(a),n}function yv(e,t){return e.items.forEach(e=>t.union(e.bounds)),t.x1=e.padding,t.y1=e.padding,t}function bv(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(!t.datum.title)(i||a)&&Sv(e,n,i,a);else{var o=t.items[1].items[0],s=o.anchor,c=t.titlePadding||0,l=r-o.x,u=r-o.y;switch(o.orient){case Qg:i+=Math.ceil(o.bounds.width())+c;break;case $g:case e_:break;default:a+=o.bounds.height()+c}switch((i||a)&&Sv(e,n,i,a),o.orient){case Qg:u+=xv(t,n,o,s,1,1);break;case $g:l+=xv(t,n,o,s_,0,0)+c,u+=xv(t,n,o,s,1,1);break;case e_:l+=xv(t,n,o,s,0,0),u+=xv(t,n,o,s_,-1,0,1)+c;break;default:l+=xv(t,n,o,s,0,0)}(l||u)&&Sv(e,o,l,u),(l=Math.round(o.bounds.x1-r))<0&&(Sv(e,n,-l,0),Sv(e,o,-l,0))}}function xv(e,t,n,r,i,a,o){let s=e.datum.type!==`symbol`,c=n.datum.vgrad,l=(s&&(a||!c)&&!o?t.items[0]:t).bounds[i?`y2`:`x2`]-e.padding,u=c&&a?l:0,d=c&&a?0:l,f=i<=0?0:lm(n);return Math.round(r===a_?u:r===s_?d-f:.5*(l-f))}function Sv(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 Cv(e){let t=e.reduce((e,t)=>(e[t.column]=Math.max(t.bounds.x2-t.x,e[t.column]||0),e),{});e.forEach(e=>{e.width=t[e.column],e.height=e.bounds.y2-e.y})}function wv(e,t,n,r,i){var a=t.items[0],o=a.frame,s=a.orient,c=a.anchor,l=a.offset,u=a.padding,d=a.items[0].items[0],f=a.items[1]&&a.items[1].items[0],p=s===Qg||s===$g?r:n,m=0,h=0,g=0,_=0,v=0,y;if(o===u_?s===Qg&&(m=r,p=0):s===Qg?(m=i.y2,p=i.y1):s===$g?(m=i.y1,p=i.y2):(m=i.x1,p=i.x2),y=c===a_?m:c===s_?p:(m+p)/2,f&&f.text){switch(s){case Zg:case e_:v=d.bounds.height()+u;break;case Qg:_=d.bounds.width()+u;break;case $g:_=-d.bounds.width()-u}X_.clear().union(f.bounds),X_.translate(_-(f.x||0),v-(f.y||0)),Z_(f,`x`,_)|Z_(f,`y`,v)&&(e.dirty(f),f.bounds.clear().union(X_),f.mark.bounds.clear().union(X_),e.dirty(f)),X_.clear().union(f.bounds)}else X_.clear();switch(X_.union(d.bounds),s){case Zg:h=y,g=i.y1-X_.height()-l;break;case Qg:h=i.x1-X_.width()-l,g=y;break;case $g:h=i.x2+X_.width()+l,g=y;break;case e_:h=y,g=i.y2+l;break;default:h=a.x,g=a.y}return Z_(a,`x`,h)|Z_(a,`y`,g)&&(X_.translate(h,g),e.dirty(a),a.bounds.clear().union(X_),t.bounds.clear().union(X_),e.dirty(a)),a.bounds}function Tv(e){F.call(this,null,e)}N(Tv,F,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(t=>{e.layout&&uv(n,t,e.layout),Dv(n,t,e)}),Ev(e.mark.group)?t.reflow():t}});function Ev(e){return e&&e.mark.role!==`legend-entry`}function Dv(e,t,n){var r=t.items,i=Math.max(0,t.width||0),a=Math.max(0,t.height||0),o=new sf().set(0,0,i,a),s=o.clone(),c=o.clone(),l=[],u,d,f,p,m,h;for(m=0,h=r.length;m<h;++m)switch(d=r[m],d.role){case d_:p=Q_(d)?s:c,p.union(ev(e,d,i,a));break;case f_:u=d;break;case h_:l.push(vv(e,d));break;case p_:case m_:case g_:case __:case v_:case y_:case b_:case x_:s.union(d.bounds),c.union(d.bounds);break;default:o.union(d.bounds)}if(l.length){let t={};l.forEach(e=>{f=e.orient||$g,f!==O_&&(t[f]||(t[f]=[])).push(e)});for(let r in t){let o=t[r];lv(e,o,_v(o,r,n.legends,s,c,i,a))}l.forEach(t=>{let r=t.bounds;if(r.equals(t._bounds)||(t.bounds=t._bounds,e.dirty(t),t.bounds=r,e.dirty(t)),n.autosize&&(n.autosize.type===w_||n.autosize.type===T_||n.autosize.type===E_))switch(t.orient){case Qg:case $g:o.add(r.x1,0).add(r.x2,0);break;case Zg:case e_:o.add(0,r.y1).add(0,r.y2)}else o.union(r)})}o.union(s).union(c),u&&o.union(wv(e,u,i,a,o)),t.clip&&o.set(0,0,t.width||0,t.height||0),Ov(e,t,o,n)}function Ov(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,s=e._height,c=Math.max(0,t.width||0),l=Math.max(0,Math.ceil(-n.x1)),u=Math.max(0,t.height||0),d=Math.max(0,Math.ceil(-n.y1)),f=Math.max(0,Math.ceil(n.x2-c)),p=Math.max(0,Math.ceil(n.y2-u));if(i.contains===S_){let t=e.padding();o-=t.left+t.right,s-=t.top+t.bottom}a===O_?(l=0,d=0,c=o,u=s):a===w_?(c=Math.max(0,o-l-f),u=Math.max(0,s-d-p)):a===T_?(c=Math.max(0,o-l-f),s=u+d+p):a===E_?(o=c+l+f,u=Math.max(0,s-d-p)):a===D_&&(o=c+l+f,s=u+d+p),e._resizeView(o,s,c,u,[l,d],i.resize)}var kv=t({axisticks:()=>Av,datajoin:()=>jv,encode:()=>Pv,legendentries:()=>Fv,linkpath:()=>Bv,pie:()=>qv,scale:()=>Qv,sortitems:()=>dy,stack:()=>gy});function Av(e){F.call(this,null,e)}N(Av,F,{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=yu(a,e.count==null?e.values?e.values.length:10:e.count,e.minstep),s=e.format||Su(n,a,o,e.formatSpecifier,e.formatType,!!e.values),c=e.values?bu(a,e.values,o):xu(a,o);return i&&(r.rem=i),i=c.map((e,t)=>Nr({index:t/(c.length-1||1),value:e,label:s(e)})),e.extra&&i.length&&i.push(Nr({index:-1,extra:{value:i[0].value},label:``})),r.source=i,r.add=i,this.value=i,r}});function jv(e){F.call(this,null,e)}function Mv(){return Nr({})}function Nv(e){let t=nr().test(e=>e.exit);return t.lookup=n=>t.get(e(n)),t}N(jv,F,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||Mv,a=e.key||P,o=this.value;return h(r.encode)&&(r.encode=null),o&&(e.modified(`key`)||t.modified(a))&&j(`DataJoin does not support modified key function or fields.`),o||(t=t.addAll(),this.value=o=Nv(a)),t.visit(t.ADD,e=>{let t=a(e),n=o.get(t);n?n.exit?(o.empty--,r.add.push(n)):r.mod.push(n):(n=i(e),o.set(t,n),r.add.push(n)),n.datum=e,n.exit=!1}),t.visit(t.MOD,e=>{let t=a(e),n=o.get(t);n&&(n.datum=e,r.mod.push(n))}),t.visit(t.REM,e=>{let t=a(e),n=o.get(t);e===n.datum&&!n.exit&&(r.rem.push(n),n.exit=!0,++o.empty)}),t.changed(t.ADD_MOD)&&r.modifies(`datum`),(t.clean()||e.clean&&o.empty>n.cleanThreshold)&&n.runAfter(o.clean),r}});function Pv(e){F.call(this,null,e)}N(Pv,F,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(h(a)){if(n.changed()||a.every(e=>i[e]))a=a[0],n.encode=null;else return t.StopPropagation}var o=a===`enter`,s=i.update||m,c=i.enter||m,l=i.exit||m,u=(a&&!o?i[a]:s)||m;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{c(t,e),s(t,e)}),n.modifies(c.output),n.modifies(s.output),u!==m&&u!==s&&(t.visit(t.ADD,t=>{u(t,e)}),n.modifies(u.output))),t.changed(t.REM)&&l!==m&&(t.visit(t.REM,t=>{l(t,e)}),n.modifies(l.output)),o||u!==m){let i=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(i,t=>{let i=c(t,e)||r;(u(t,e)||i)&&n.mod.push(t)}),n.mod.length&&n.modifies(c.output)):t.visit(i,t=>{(u(t,e)||r)&&n.mod.push(t)}),n.mod.length&&n.modifies(u.output)}return n.changed()?n:t.StopPropagation}});function Fv(e){F.call(this,[],e)}N(Fv,F,{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`,s=e.scale,c=+e.limit,l=yu(s,e.count==null?5:e.count,e.minstep),u=!!e.values||a===`symbol`,d=e.format||ju(n,s,l,a,e.formatSpecifier,e.formatType,u),f=e.values||Eu(s,l),p,m,h,g,_;return i&&(r.rem=i),a===`symbol`?(c&&f.length>c?(t.dataflow.warn(`Symbol legend count exceeds limit, filtering items.`),i=f.slice(0,c-1),_=!0):i=f,o(h=e.size)?(!e.values&&s(i[0])===0&&(i=i.slice(1)),g=i.reduce((t,n)=>Math.max(t,h(n,e)),0)):h=Zn(g=h||8),i=i.map((t,n)=>Nr({index:n,label:d(t,n,i),value:t,offset:g,size:h(t,e)})),_&&(_=f[i.length],i.push(Nr({index:i.length,label:`\u2026${f.length-i.length} entries`,value:_,offset:g,size:h(_,e)})))):a===`gradient`?(p=s.domain(),m=su(s,p[0],M(p)),f.length<3&&!e.values&&p[0]!==M(p)&&(f=[p[0],M(p)]),i=f.map((e,t)=>Nr({index:t,label:d(e,t,f),value:e,perc:m(e)}))):(h=f.length-1,m=Lu(s),i=f.map((e,t)=>Nr({index:t,label:d(e,t,f),value:e,perc:t?m(e):0,perc2:t===h?1:m(f[t+1])}))),r.source=i,r.add=i,this.value=i,r}});var Iv=e=>e.source.x,Lv=e=>e.source.y,Rv=e=>e.target.x,zv=e=>e.target.y;function Bv(e){F.call(this,{},e)}Bv.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`}]},N(Bv,F,{transform(e,t){var n=e.sourceX||Iv,r=e.sourceY||Lv,i=e.targetX||Rv,a=e.targetY||zv,o=e.as||`path`,s=e.orient||`vertical`,c=e.shape||`line`,l=Kv.get(c+`-`+s)||Kv.get(c);return l||j(`LinkPath unsupported type: `+e.shape+(e.orient?`-`+e.orient:``)),t.visit(t.SOURCE,e=>{e[o]=l(n(e),r(e),i(e),a(e))}),t.reflow(e.modified()).modifies(o)}});var Vv=(e,t,n,r)=>`M`+e+`,`+t+`L`+n+`,`+r,Hv=(e,t,n,r)=>Vv(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),Uv=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2,s=180*Math.atan2(a,i)/Math.PI;return`M`+e+`,`+t+`A`+o+`,`+o+` `+s+` 0 1 `+n+`,`+r},Wv=(e,t,n,r)=>Uv(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),Gv=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),s=.2*(a-i);return`M`+e+`,`+t+`C`+(e+o)+`,`+(t+s)+` `+(n+s)+`,`+(r-o)+` `+n+`,`+r},Kv=nr({line:Vv,"line-radial":Hv,arc:Uv,"arc-radial":Wv,curve:Gv,"curve-radial":(e,t,n,r)=>Gv(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(e,t,n,r)=>`M`+e+`,`+t+`V`+r+`H`+n,"orthogonal-vertical":(e,t,n,r)=>`M`+e+`,`+t+`H`+n+`V`+r,"orthogonal-radial":(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),c=Math.abs(n-e)>Math.PI?n<=e:n>e;return`M`+t*i+`,`+t*a+`A`+t+`,`+t+` 0 0,`+ +!!c+` `+t*o+`,`+t*s+`L`+r*o+`,`+r*s},"diagonal-horizontal":(e,t,n,r)=>{let i=(e+n)/2;return`M`+e+`,`+t+`C`+i+`,`+t+` `+i+`,`+r+` `+n+`,`+r},"diagonal-vertical":(e,t,n,r)=>{let i=(t+r)/2;return`M`+e+`,`+t+`C`+e+`,`+i+` `+n+`,`+i+` `+n+`,`+r},"diagonal-radial":(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),c=(t+r)/2;return`M`+t*i+`,`+t*a+`C`+c*i+`,`+c*a+` `+c*o+`,`+c*s+` `+r*o+`,`+r*s}});function qv(e){F.call(this,null,e)}qv.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`]}]},N(qv,F,{transform(e,t){var n=e.as||[`startAngle`,`endAngle`],r=n[0],i=n[1],a=e.field||A,o=e.startAngle||0,s=e.endAngle==null?2*Math.PI:e.endAngle,c=t.source,l=c.map(a),u=l.length,d=o,f=(s-o)/wr(l),p=lt(u),m,h,g;for(e.sort&&p.sort((e,t)=>l[e]-l[t]),m=0;m<u;++m)g=l[p[m]],h=c[p[m]],h[r]=d,h[i]=d+=g*f;return this.value=l,t.reflow(e.modified()).modifies(n)}});var Jv=5;function Yv(e){let t=e.type;return!e.bins&&(t===`linear`||t===`pow`||t===`sqrt`)}function Xv(e){return Xl(e)&&e!==`sequential`}var Zv=pr([`set`,`modified`,`clear`,`type`,`scheme`,`schemeExtent`,`schemeCount`,`domain`,`domainMin`,`domainMid`,`domainMax`,`domainRaw`,`domainImplicit`,`nice`,`zero`,`bins`,`range`,`rangeStep`,`round`,`reverse`,`interpolate`,`interpolateGamma`]);function Qv(e){F.call(this,null,e),this.modified(!0)}N(Qv,F,{transform(e,t){var n=t.dataflow,r=this.value,i=$v(e);for(i in(!r||i!==r.type)&&(this.value=r=ql(i)()),e)if(!Zv[i]){if(i===`padding`&&Xv(r.type))continue;o(r[i])?r[i](e[i]):n.warn(`Unsupported scale property: `+i)}return oy(r,e,ay(r,e,ty(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function $v(e){var t=e.type,n=``,r;return t===`sequential`?El+`-`+Cl:(ey(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?El+`-`:r===3?Dl+`-`:``),(n+t||`linear`).toLowerCase())}function ey(e){let t=e.type;return Xl(t)&&t!==`time`&&t!==`utc`&&(e.scheme||e.range&&e.range.length&&e.range.every(_))}function ty(e,t,n){let r=ny(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,a=e.type,o=t.zero||t.zero===void 0&&Yv(e),s,c;if(!i)return 0;if((o||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(s=(i=i.slice()).length-1||1,o&&(i[0]>0&&(i[0]=0),i[s]<0&&(i[s]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[s]=t.domainMax),t.domainMid!=null)){c=t.domainMid;let e=c>i[s]?s+1:c<i[0]?0:s;e!==s&&n.warn(`Scale domainMid exceeds domain min or max.`,c),i.splice(e,0,c)}return Xv(a)&&t.padding&&i[0]!==M(i)&&(i=ry(a,i,t.range,t.padding,t.exponent,t.constant)),e.domain(iy(a,i,n)),a===`ordinal`&&e.unknown(t.domainImplicit?qe:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&yu(e,t.nice)||null),i.length}function ny(e,t,n){return t?(e.domain(iy(e.type,t,n)),t.length):-1}function ry(e,t,n,r,i,a){var o=Math.abs(M(n)-n[0]),s=o/(o-2*r),c=e===`log`?Gn(t,null,s):e===`sqrt`?Kn(t,null,s,.5):e===`pow`?Kn(t,null,s,i||1):e===`symlog`?qn(t,null,s,a||1):Wn(t,null,s);return t=t.slice(),t[0]=c[0],t[t.length-1]=c[1],t}function iy(e,t,n){return $l(e)&&Math.abs(t.reduce((e,t)=>e+(t<0?-1:+(t>0)),0))!==t.length&&n.warn(`Log scale domain includes zero: `+a(t)),t}function ay(e,t,n){let r=t.bins;if(r&&!h(r)){let t=e.domain(),n=t[0],i=M(t),a=r.step,o=r.start==null?n:r.start,s=r.stop==null?i:r.stop;a||j(`Scale bins parameter missing step property.`),o<n&&(o=a*Math.ceil(n/a)),s>i&&(s=a*Math.floor(i/a)),r=lt(o,s+a/2,a)}return r?e.bins=r:e.bins&&delete e.bins,e.type===`bin-ordinal`&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}function oy(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(t.rangeStep!=null)a=sy(r,t,n);else if(t.scheme&&(a=cy(r,t,n),o(a))){if(e.interpolator)return e.interpolator(a);j(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&tu(r))return e.interpolator(au(uy(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(cu(t.interpolate,t.interpolateGamma)):o(e.round)?e.round(i):o(e.rangeRound)&&e.interpolate(i?Le:Ue),a&&e.range(uy(a,t.reverse))}function sy(e,t,n){e!==`band`&&e!==`point`&&j(`Only band and point scales support rangeStep.`);var r=(t.paddingOuter==null?t.padding:t.paddingOuter)||0,i=e===`point`?1:(t.paddingInner==null?t.padding:t.paddingInner)||0;return[0,t.rangeStep*xl(n,i,r)]}function cy(e,t,n){var r=t.schemeExtent,i,a;return h(t.scheme)?a=au(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),a=hu(i),a||j(`Unrecognized scheme name: ${t.scheme}`)),n=e===`threshold`?n+1:e===`bin-ordinal`?n-1:e===`quantile`||e===`quantize`?+t.schemeCount||Jv:n,tu(e)?ly(a,r,t.reverse):o(a)?ou(ly(a,r),n):e===`ordinal`?a:a.slice(0,n)}function ly(e,t,n){return o(e)&&(t||n)?iu(e,uy(t||[0,1],n)):e}function uy(e,t){return t?e.slice().reverse():e}function dy(e){F.call(this,null,e)}N(dy,F,{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(Lr(e.sort)),this.modified(n),t}});var fy=`zero`,py=`center`,my=`normalize`,hy=[`y0`,`y1`];function gy(e){F.call(this,null,e)}gy.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:fy,values:[fy,py,my]},{name:`as`,type:`string`,array:!0,length:2,default:hy}]},N(gy,F,{transform(e,t){var n=e.as||hy,r=n[0],i=n[1],a=Lr(e.sort),o=e.field||A,s=e.offset===py?_y:e.offset===my?vy:yy,c=by(t.source,e.groupby,a,o),l,u,d;for(l=0,u=c.length,d=c.max;l<u;++l)s(c[l],d,o,r,i);return t.reflow(e.modified()).modifies(n)}});function _y(e,t,n,r,i){for(var a=(t-e.sum)/2,o=e.length,s=0,c;s<o;++s)c=e[s],c[r]=a,c[i]=a+=Math.abs(n(c))}function vy(e,t,n,r,i){for(var a=1/e.sum,o=0,s=e.length,c=0,l=0,u;c<s;++c)u=e[c],u[r]=o,u[i]=o=a*(l+=Math.abs(n(u)))}function yy(e,t,n,r,i){for(var a=0,o=0,s=e.length,c=0,l,u;c<s;++c)u=e[c],l=+n(u),l<0?(u[r]=o,u[i]=o+=l):(u[r]=a,u[i]=a+=l)}function by(e,t,n,r){var i=[],a=e=>e(u),o,s,c,l,u,d,f,p,m;if(t==null)i.push(e.slice());else for(o={},s=0,c=e.length;s<c;++s)u=e[s],d=t.map(a),f=o[d],f||(o[d]=f=[],i.push(f)),f.push(u);for(d=0,m=0,l=i.length;d<l;++d){for(f=i[d],s=0,p=0,c=f.length;s<c;++s)p+=Math.abs(r(f[s]));f.sum=p,p>m&&(m=p),n&&f.sort(n)}return i.max=m,i}var xy=1e-6,Sy=Math.PI,Cy=Sy/2,wy=Sy/4,Ty=Sy*2,Ey=180/Sy,I=Sy/180,Dy=Math.abs,Oy=Math.atan,ky=Math.atan2,L=Math.cos,Ay=Math.ceil,jy=Math.exp,My=Math.hypot,Ny=Math.log,Py=Math.pow,R=Math.sin,Fy=Math.sign||function(e){return e>0?1:e<0?-1:0},Iy=Math.sqrt,Ly=Math.tan;function Ry(e){return e>1?0:e<-1?Sy:Math.acos(e)}function zy(e){return e>1?Cy:e<-1?-Cy:Math.asin(e)}function By(){}function Vy(e,t){e&&Uy.hasOwnProperty(e.type)&&Uy[e.type](e,t)}var Hy={Feature:function(e,t){Vy(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Vy(n[r].geometry,t)}},Uy={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){Wy(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Wy(n[r],t,0)},Polygon:function(e,t){Gy(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Gy(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Vy(n[r],t)}};function Wy(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 Gy(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Wy(e[n],t,1);t.polygonEnd()}function Ky(e,t){e&&Hy.hasOwnProperty(e.type)?Hy[e.type](e,t):Vy(e,t)}var qy=new gr,Jy=new gr,Yy,Xy,Zy,Qy,$y,eb={point:By,lineStart:By,lineEnd:By,polygonStart:function(){qy=new gr,eb.lineStart=vne,eb.lineEnd=yne},polygonEnd:function(){var e=+qy;Jy.add(e<0?Ty+e:e),this.lineStart=this.lineEnd=this.point=By},sphere:function(){Jy.add(Ty)}};function vne(){eb.point=bne}function yne(){tb(Yy,Xy)}function bne(e,t){eb.point=tb,Yy=e,Xy=t,e*=I,t*=I,Zy=e,Qy=L(t=t/2+wy),$y=R(t)}function tb(e,t){e*=I,t*=I,t=t/2+wy;var n=e-Zy,r=n>=0?1:-1,i=r*n,a=L(t),o=R(t),s=$y*o,c=Qy*a+s*L(i),l=s*r*R(i);qy.add(ky(l,c)),Zy=e,Qy=a,$y=o}function nb(e){return Jy=new gr,Ky(e,eb),Jy*2}function rb(e){return[ky(e[1],e[0]),zy(e[2])]}function ib(e){var t=e[0],n=e[1],r=L(n);return[r*L(t),r*R(t),R(n)]}function ab(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function ob(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 sb(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function cb(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function lb(e){var t=Iy(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var ub,db,fb,pb,mb,hb,gb,_b,vb,yb,bb,xb={point:Sb,lineStart:wb,lineEnd:Tb,polygonStart:function(){xb.point=Eb,xb.lineStart=xne,xb.lineEnd=Sne,vb=new gr,eb.polygonStart()},polygonEnd:function(){eb.polygonEnd(),xb.point=Sb,xb.lineStart=wb,xb.lineEnd=Tb,qy<0?(ub=-(fb=180),db=-(pb=90)):vb>1e-6?pb=90:vb<-1e-6&&(db=-90),bb[0]=ub,bb[1]=fb},sphere:function(){ub=-(fb=180),db=-(pb=90)}};function Sb(e,t){yb.push(bb=[ub=e,fb=e]),t<db&&(db=t),t>pb&&(pb=t)}function Cb(e,t){var n=ib([e*I,t*I]);if(_b){var r=ob(_b,n),i=ob([r[1],-r[0],0],r);lb(i),i=rb(i);var a=e-mb,o=a>0?1:-1,s=i[0]*Ey*o,c,l=Dy(a)>180;l^(o*mb<s&&s<o*e)?(c=i[1]*Ey,c>pb&&(pb=c)):(s=(s+360)%360-180,l^(o*mb<s&&s<o*e)?(c=-i[1]*Ey,c<db&&(db=c)):(t<db&&(db=t),t>pb&&(pb=t))),l?e<mb?Db(ub,e)>Db(ub,fb)&&(fb=e):Db(e,fb)>Db(ub,fb)&&(ub=e):fb>=ub?(e<ub&&(ub=e),e>fb&&(fb=e)):e>mb?Db(ub,e)>Db(ub,fb)&&(fb=e):Db(e,fb)>Db(ub,fb)&&(ub=e)}else yb.push(bb=[ub=e,fb=e]);t<db&&(db=t),t>pb&&(pb=t),_b=n,mb=e}function wb(){xb.point=Cb}function Tb(){bb[0]=ub,bb[1]=fb,xb.point=Sb,_b=null}function Eb(e,t){if(_b){var n=e-mb;vb.add(Dy(n)>180?n+(n>0?360:-360):n)}else hb=e,gb=t;eb.point(e,t),Cb(e,t)}function xne(){eb.lineStart()}function Sne(){Eb(hb,gb),eb.lineEnd(),Dy(vb)>1e-6&&(ub=-(fb=180)),bb[0]=ub,bb[1]=fb,_b=null}function Db(e,t){return(t-=e)<0?t+360:t}function Cne(e,t){return e[0]-t[0]}function Ob(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function kb(e){var t,n,r,i,a,o,s;if(pb=fb=-(ub=db=1/0),yb=[],Ky(e,xb),n=yb.length){for(yb.sort(Cne),t=1,r=yb[0],a=[r];t<n;++t)i=yb[t],Ob(r,i[0])||Ob(r,i[1])?(Db(r[0],i[1])>Db(r[0],r[1])&&(r[1]=i[1]),Db(i[0],r[1])>Db(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=a.length-1,t=0,r=a[n];t<=n;r=i,++t)i=a[t],(s=Db(r[1],i[0]))>o&&(o=s,ub=i[0],fb=r[1])}return yb=bb=null,ub===1/0||db===1/0?[[NaN,NaN],[NaN,NaN]]:[[ub,db],[fb,pb]]}var Ab,jb,Mb,Nb,Pb,Fb,Ib,Lb,Rb,zb,Bb,Vb,Hb,Ub,Wb,Gb,Kb={sphere:By,point:qb,lineStart:Yb,lineEnd:Xb,polygonStart:function(){Kb.lineStart=Ene,Kb.lineEnd=Dne},polygonEnd:function(){Kb.lineStart=Yb,Kb.lineEnd=Xb}};function qb(e,t){e*=I,t*=I;var n=L(t);Jb(n*L(e),n*R(e),R(t))}function Jb(e,t,n){++Ab,Mb+=(e-Mb)/Ab,Nb+=(t-Nb)/Ab,Pb+=(n-Pb)/Ab}function Yb(){Kb.point=wne}function wne(e,t){e*=I,t*=I;var n=L(t);Ub=n*L(e),Wb=n*R(e),Gb=R(t),Kb.point=Tne,Jb(Ub,Wb,Gb)}function Tne(e,t){e*=I,t*=I;var n=L(t),r=n*L(e),i=n*R(e),a=R(t),o=ky(Iy((o=Wb*a-Gb*i)*o+(o=Gb*r-Ub*a)*o+(o=Ub*i-Wb*r)*o),Ub*r+Wb*i+Gb*a);jb+=o,Fb+=o*(Ub+(Ub=r)),Ib+=o*(Wb+(Wb=i)),Lb+=o*(Gb+(Gb=a)),Jb(Ub,Wb,Gb)}function Xb(){Kb.point=qb}function Ene(){Kb.point=One}function Dne(){Zb(Vb,Hb),Kb.point=qb}function One(e,t){Vb=e,Hb=t,e*=I,t*=I,Kb.point=Zb;var n=L(t);Ub=n*L(e),Wb=n*R(e),Gb=R(t),Jb(Ub,Wb,Gb)}function Zb(e,t){e*=I,t*=I;var n=L(t),r=n*L(e),i=n*R(e),a=R(t),o=Wb*a-Gb*i,s=Gb*r-Ub*a,c=Ub*i-Wb*r,l=My(o,s,c),u=zy(l),d=l&&-u/l;Rb.add(d*o),zb.add(d*s),Bb.add(d*c),jb+=u,Fb+=u*(Ub+(Ub=r)),Ib+=u*(Wb+(Wb=i)),Lb+=u*(Gb+(Gb=a)),Jb(Ub,Wb,Gb)}function Qb(e){Ab=jb=Mb=Nb=Pb=Fb=Ib=Lb=0,Rb=new gr,zb=new gr,Bb=new gr,Ky(e,Kb);var t=+Rb,n=+zb,r=+Bb,i=My(t,n,r);return i<1e-12&&(t=Fb,n=Ib,r=Lb,jb<1e-6&&(t=Mb,n=Nb,r=Pb),i=My(t,n,r),i<1e-12)?[NaN,NaN]:[ky(n,t)*Ey,zy(r/i)*Ey]}function $b(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return n=t.invert(n,r),n&&e.invert(n[0],n[1])}),n}function ex(e,t){return Dy(e)>Sy&&(e-=Math.round(e/Ty)*Ty),[e,t]}ex.invert=ex;function tx(e,t,n){return(e%=Ty)?t||n?$b(rx(e),ix(t,n)):rx(e):t||n?ix(t,n):ex}function nx(e){return function(t,n){return t+=e,Dy(t)>Sy&&(t-=Math.round(t/Ty)*Ty),[t,n]}}function rx(e){var t=nx(e);return t.invert=nx(-e),t}function ix(e,t){var n=L(e),r=R(e),i=L(t),a=R(t);function o(e,t){var o=L(t),s=L(e)*o,c=R(e)*o,l=R(t),u=l*n+s*r;return[ky(c*i-u*a,s*n-l*r),zy(u*i+c*a)]}return o.invert=function(e,t){var o=L(t),s=L(e)*o,c=R(e)*o,l=R(t),u=l*i-c*a;return[ky(c*i+l*a,s*n+u*r),zy(u*n-s*r)]},o}function kne(e){e=tx(e[0]*I,e[1]*I,e.length>2?e[2]*I:0);function t(t){return t=e(t[0]*I,t[1]*I),t[0]*=Ey,t[1]*=Ey,t}return t.invert=function(t){return t=e.invert(t[0]*I,t[1]*I),t[0]*=Ey,t[1]*=Ey,t},t}function Ane(e,t,n,r,i,a){if(n){var o=L(t),s=R(t),c=r*n;i==null?(i=t+r*Ty,a=t-c/2):(i=ax(o,i),a=ax(o,a),(r>0?i<a:i>a)&&(i+=r*Ty));for(var l,u=i;r>0?u>a:u<a;u-=c)l=rb([o,-s*L(u),-s*R(u)]),e.point(l[0],l[1])}}function ax(e,t){t=ib(t),t[0]-=e,lb(t);var n=Ry(-t[1]);return((-t[2]<0?-n:n)+Ty-xy)%Ty}function ox(){var e=[],t;return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:By,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function sx(e,t){return Dy(e[0]-t[0])<1e-6&&Dy(e[1]-t[1])<1e-6}function cx(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 lx(e,t,n,r,i){var a=[],o=[],s,c;if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n=e[0],r=e[t],c;if(sx(n,r)){if(!n[2]&&!r[2]){for(i.lineStart(),s=0;s<t;++s)i.point((n=e[s])[0],n[1]);i.lineEnd();return}r[0]+=2*xy}a.push(c=new cx(n,e,null,!0)),o.push(c.o=new cx(n,null,c,!1)),a.push(c=new cx(r,e,null,!1)),o.push(c.o=new cx(r,null,c,!0))}}),a.length){for(o.sort(t),ux(a),ux(o),s=0,c=o.length;s<c;++s)o[s].e=n=!n;for(var l=a[0],u,d;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(s=0,c=u.length;s<c;++s)i.point((d=u[s])[0],d[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(p)for(u=f.p.z,s=u.length-1;s>=0;--s)i.point((d=u[s])[0],d[1]);else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,u=f.z,p=!p}while(!f.v);i.lineEnd()}}}function ux(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 dx(e){return Dy(e[0])<=Sy?e[0]:Fy(e[0])*((Dy(e[0])+Sy)%Ty-Sy)}function jne(e,t){var n=dx(t),r=t[1],i=R(r),a=[R(n),-L(n),0],o=0,s=0,c=new gr;i===1?r=Cy+xy:i===-1&&(r=-Cy-xy);for(var l=0,u=e.length;l<u;++l)if(f=(d=e[l]).length)for(var d,f,p=d[f-1],m=dx(p),h=p[1]/2+wy,g=R(h),_=L(h),v=0;v<f;++v,m=b,g=S,_=C,p=y){var y=d[v],b=dx(y),x=y[1]/2+wy,S=R(x),C=L(x),w=b-m,T=w>=0?1:-1,E=T*w,D=E>Sy,O=g*S;if(c.add(ky(O*T*R(E),_*C+O*L(E))),o+=D?w+T*Ty:w,D^m>=n^b>=n){var k=ob(ib(p),ib(y));lb(k);var A=ob(a,k);lb(A);var ee=(D^w>=0?-1:1)*zy(A[2]);(r>ee||r===ee&&(k[0]||k[1]))&&(s+=D^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&c<-1e-12)^s&1}function fx(e,t,n,r){return function(i){var a=t(i),o=ox(),s=t(o),c=!1,l,u,d,f={point:p,lineStart:h,lineEnd:g,polygonStart:function(){f.point=_,f.lineStart=v,f.lineEnd=y,u=[],l=[]},polygonEnd:function(){f.point=p,f.lineStart=h,f.lineEnd=g,u=Cr(u);var e=jne(l,r);u.length?(c||=(i.polygonStart(),!0),lx(u,Nne,e,n,i)):e&&(c||=(i.polygonStart(),!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&=(i.polygonEnd(),!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(t,n){e(t,n)&&i.point(t,n)}function m(e,t){a.point(e,t)}function h(){f.point=m,a.lineStart()}function g(){f.point=p,a.lineEnd()}function _(e,t){d.push([e,t]),s.point(e,t)}function v(){s.lineStart(),d=[]}function y(){_(d[0][0],d[0][1]),s.lineEnd();var e=s.clean(),t=o.result(),n,r=t.length,a,f,p;if(d.pop(),l.push(d),d=null,r){if(e&1){if(f=t[0],(a=f.length-1)>0){for(c||=(i.polygonStart(),!0),i.lineStart(),n=0;n<a;++n)i.point((p=f[n])[0],p[1]);i.lineEnd()}return}r>1&&e&2&&t.push(t.pop().concat(t.shift())),u.push(t.filter(Mne))}}return f}}function Mne(e){return e.length>1}function Nne(e,t){return((e=e.x)[0]<0?e[1]-Cy-xy:Cy-e[1])-((t=t.x)[0]<0?t[1]-Cy-xy:Cy-t[1])}var px=fx(function(){return!0},Pne,Ine,[-Sy,-Cy]);function Pne(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var s=a>0?Sy:-Sy,c=Dy(a-t);Dy(c-Sy)<1e-6?(e.point(t,n=(n+o)/2>0?Cy:-Cy),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),e.point(a,n),i=0):r!==s&&c>=Sy&&(Dy(t-r)<1e-6&&(t-=r*xy),Dy(a-s)<1e-6&&(a-=s*xy),n=Fne(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),i=0),e.point(t=a,n=o),r=s},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function Fne(e,t,n,r){var i,a,o=R(e-n);return Dy(o)>1e-6?Oy((R(t)*(a=L(r))*R(n)-R(r)*(i=L(t))*R(e))/(i*a*o)):(t+r)/2}function Ine(e,t,n,r){var i;if(e==null)i=n*Cy,r.point(-Sy,i),r.point(0,i),r.point(Sy,i),r.point(Sy,0),r.point(Sy,-i),r.point(0,-i),r.point(-Sy,-i),r.point(-Sy,0),r.point(-Sy,i);else if(Dy(e[0]-t[0])>1e-6){var a=e[0]<t[0]?Sy:-Sy;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function Lne(e){var t=L(e),n=2*I,r=t>0,i=Dy(t)>xy;function a(t,r,i,a){Ane(a,e,n,i,t,r)}function o(e,n){return L(e)*L(n)>t}function s(e){var t,n,a,s,u;return{lineStart:function(){s=a=!1,u=1},point:function(d,f){var p=[d,f],m,h=o(d,f),g=r?h?0:l(d,f):h?l(d+(d<0?Sy:-Sy),f):0;if(!t&&(s=a=h)&&e.lineStart(),h!==a&&(m=c(t,p),(!m||sx(t,m)||sx(p,m))&&(p[2]=1)),h!==a)u=0,h?(e.lineStart(),m=c(p,t),e.point(m[0],m[1])):(m=c(t,p),e.point(m[0],m[1],2),e.lineEnd()),t=m;else if(i&&t&&r^h){var _;!(g&n)&&(_=c(p,t,!0))&&(u=0,r?(e.lineStart(),e.point(_[0][0],_[0][1]),e.point(_[1][0],_[1][1]),e.lineEnd()):(e.point(_[1][0],_[1][1]),e.lineEnd(),e.lineStart(),e.point(_[0][0],_[0][1],3)))}h&&(!t||!sx(t,p))&&e.point(p[0],p[1]),t=p,a=h,n=g},lineEnd:function(){a&&e.lineEnd(),t=null},clean:function(){return u|(s&&a)<<1}}}function c(e,n,r){var i=ib(e),a=ib(n),o=[1,0,0],s=ob(i,a),c=ab(s,s),l=s[0],u=c-l*l;if(!u)return!r&&e;var d=t*c/u,f=-t*l/u,p=ob(o,s),m=cb(o,d);sb(m,cb(s,f));var h=p,g=ab(m,h),_=ab(h,h),v=g*g-_*(ab(m,m)-1);if(!(v<0)){var y=Iy(v),b=cb(h,(-g-y)/_);if(sb(b,m),b=rb(b),!r)return b;var x=e[0],S=n[0],C=e[1],w=n[1],T;S<x&&(T=x,x=S,S=T);var E=S-x,D=Dy(E-Sy)<xy,O=D||E<1e-6;if(!D&&w<C&&(T=C,C=w,w=T),O?D?C+w>0^b[1]<(Dy(b[0]-x)<1e-6?C:w):C<=b[1]&&b[1]<=w:E>Sy^(x<=b[0]&&b[0]<=S)){var k=cb(h,(-g+y)/_);return sb(k,m),[b,rb(k)]}}}function l(t,n){var i=r?e:Sy-e,a=0;return t<-i?a|=1:t>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return fx(o,s,a,r?[0,-e]:[-Sy,e-Sy])}function Rne(e,t,n,r,i,a){var o=e[0],s=e[1],c=t[0],l=t[1],u=0,d=1,f=c-o,p=l-s,m=n-o;if(!(!f&&m>0)){if(m/=f,f<0){if(m<u)return;m<d&&(d=m)}else if(f>0){if(m>d)return;m>u&&(u=m)}if(m=i-o,!(!f&&m<0)){if(m/=f,f<0){if(m>d)return;m>u&&(u=m)}else if(f>0){if(m<u)return;m<d&&(d=m)}if(m=r-s,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<d&&(d=m)}else if(p>0){if(m>d)return;m>u&&(u=m)}if(m=a-s,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<d&&(d=m)}return u>0&&(e[0]=o+u*f,e[1]=s+u*p),d<1&&(t[0]=o+d*f,t[1]=s+d*p),!0}}}}}var mx=1e9,hx=-mx;function gx(e,t,n,r){function i(i,a){return e<=i&&i<=n&&t<=a&&a<=r}function a(i,a,s,l){var u=0,d=0;if(i==null||(u=o(i,s))!==(d=o(a,s))||c(i,a)<0^s>0)do l.point(u===0||u===3?e:n,u>1?r:t);while((u=(u+s+4)%4)!==d);else l.point(a[0],a[1])}function o(r,i){return Dy(r[0]-e)<1e-6?i>0?0:3:Dy(r[0]-n)<1e-6?i>0?2:1:Dy(r[1]-t)<1e-6?+(i>0):i>0?3:2}function s(e,t){return c(e.x,t.x)}function c(e,t){var n=o(e,1),r=o(t,1);return n===r?n===0?t[1]-e[1]:n===1?e[0]-t[0]:n===2?e[1]-t[1]:t[0]-e[0]:n-r}return function(o){var c=o,l=ox(),u,d,f,p,m,h,g,_,v,y,b,x={point:S,lineStart:E,lineEnd:D,polygonStart:w,polygonEnd:T};function S(e,t){i(e,t)&&c.point(e,t)}function C(){for(var t=0,n=0,i=d.length;n<i;++n)for(var a=d[n],o=1,s=a.length,c=a[0],l,u,f=c[0],p=c[1];o<s;++o)l=f,u=p,c=a[o],f=c[0],p=c[1],u<=r?p>r&&(f-l)*(r-u)>(p-u)*(e-l)&&++t:p<=r&&(f-l)*(r-u)<(p-u)*(e-l)&&--t;return t}function w(){c=l,u=[],d=[],b=!0}function T(){var e=C(),t=b&&e,n=(u=Cr(u)).length;(t||n)&&(o.polygonStart(),t&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),n&&lx(u,s,e,a,o),o.polygonEnd()),c=o,u=d=f=null}function E(){x.point=O,d&&d.push(f=[]),y=!0,v=!1,g=_=NaN}function D(){u&&(O(p,m),h&&v&&l.rejoin(),u.push(l.result())),x.point=S,v&&c.lineEnd()}function O(a,o){var s=i(a,o);if(d&&f.push([a,o]),y)p=a,m=o,h=s,y=!1,s&&(c.lineStart(),c.point(a,o));else if(s&&v)c.point(a,o);else{var l=[g=Math.max(hx,Math.min(mx,g)),_=Math.max(hx,Math.min(mx,_))],u=[a=Math.max(hx,Math.min(mx,a)),o=Math.max(hx,Math.min(mx,o))];Rne(l,u,e,t,n,r)?(v||(c.lineStart(),c.point(l[0],l[1])),c.point(u[0],u[1]),s||c.lineEnd(),b=!1):s&&(c.lineStart(),c.point(a,o),b=!1)}g=a,_=o,v=s}return x}}function _x(e,t,n){var r=lt(e,t-xy,n).concat(t);return function(e){return r.map(function(t){return[e,t]})}}function vx(e,t,n){var r=lt(e,t-xy,n).concat(t);return function(e){return r.map(function(t){return[t,e]})}}function zne(){var e,t,n,r,i,a,o,s,c=10,l=c,u=90,d=360,f,p,m,h,g=2.5;function _(){return{type:`MultiLineString`,coordinates:v()}}function v(){return lt(Ay(r/u)*u,n,u).map(m).concat(lt(Ay(s/d)*d,o,d).map(h)).concat(lt(Ay(t/c)*c,e,c).filter(function(e){return Dy(e%u)>xy}).map(f)).concat(lt(Ay(a/l)*l,i,l).filter(function(e){return Dy(e%d)>xy}).map(p))}return _.lines=function(){return v().map(function(e){return{type:`LineString`,coordinates:e}})},_.outline=function(){return{type:`Polygon`,coordinates:[m(r).concat(h(o).slice(1),m(n).reverse().slice(1),h(s).reverse().slice(1))]}},_.extent=function(e){return arguments.length?_.extentMajor(e).extentMinor(e):_.extentMinor()},_.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],s=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),s>o&&(e=s,s=o,o=e),_.precision(g)):[[r,s],[n,o]]},_.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],a=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),a>i&&(n=a,a=i,i=n),_.precision(g)):[[t,a],[e,i]]},_.step=function(e){return arguments.length?_.stepMajor(e).stepMinor(e):_.stepMinor()},_.stepMajor=function(e){return arguments.length?(u=+e[0],d=+e[1],_):[u,d]},_.stepMinor=function(e){return arguments.length?(c=+e[0],l=+e[1],_):[c,l]},_.precision=function(c){return arguments.length?(g=+c,f=_x(a,i,90),p=vx(t,e,g),m=_x(s,o,90),h=vx(r,n,g),_):g},_.extentMajor([[-180,-90+xy],[180,90-xy]]).extentMinor([[-180,-80-xy],[180,80+xy]])}var yx=e=>e,bx=new gr,xx=new gr,Sx,Cx,wx,Tx,Ex={point:By,lineStart:By,lineEnd:By,polygonStart:function(){Ex.lineStart=Bne,Ex.lineEnd=Hne},polygonEnd:function(){Ex.lineStart=Ex.lineEnd=Ex.point=By,bx.add(Dy(xx)),xx=new gr},result:function(){var e=bx/2;return bx=new gr,e}};function Bne(){Ex.point=Vne}function Vne(e,t){Ex.point=Dx,Sx=wx=e,Cx=Tx=t}function Dx(e,t){xx.add(Tx*e-wx*t),wx=e,Tx=t}function Hne(){Dx(Sx,Cx)}var Ox=1/0,kx=Ox,Ax=-Ox,jx=Ax,Mx={point:Une,lineStart:By,lineEnd:By,polygonStart:By,polygonEnd:By,result:function(){var e=[[Ox,kx],[Ax,jx]];return Ax=jx=-(kx=Ox=1/0),e}};function Une(e,t){e<Ox&&(Ox=e),e>Ax&&(Ax=e),t<kx&&(kx=t),t>jx&&(jx=t)}var Nx=0,Px=0,Fx=0,Ix=0,Lx=0,Rx=0,zx=0,Bx=0,Vx=0,Hx,Ux,Wx,Gx,Kx={point:qx,lineStart:Jx,lineEnd:Yx,polygonStart:function(){Kx.lineStart=Kne,Kx.lineEnd=qne},polygonEnd:function(){Kx.point=qx,Kx.lineStart=Jx,Kx.lineEnd=Yx},result:function(){var e=Vx?[zx/Vx,Bx/Vx]:Rx?[Ix/Rx,Lx/Rx]:Fx?[Nx/Fx,Px/Fx]:[NaN,NaN];return Nx=Px=Fx=Ix=Lx=Rx=zx=Bx=Vx=0,e}};function qx(e,t){Nx+=e,Px+=t,++Fx}function Jx(){Kx.point=Wne}function Wne(e,t){Kx.point=Gne,qx(Wx=e,Gx=t)}function Gne(e,t){var n=e-Wx,r=t-Gx,i=Iy(n*n+r*r);Ix+=i*(Wx+e)/2,Lx+=i*(Gx+t)/2,Rx+=i,qx(Wx=e,Gx=t)}function Yx(){Kx.point=qx}function Kne(){Kx.point=Jne}function qne(){Xx(Hx,Ux)}function Jne(e,t){Kx.point=Xx,qx(Hx=Wx=e,Ux=Gx=t)}function Xx(e,t){var n=e-Wx,r=t-Gx,i=Iy(n*n+r*r);Ix+=i*(Wx+e)/2,Lx+=i*(Gx+t)/2,Rx+=i,i=Gx*e-Wx*t,zx+=i*(Wx+e),Bx+=i*(Gx+t),Vx+=i*3,qx(Wx=e,Gx=t)}function Zx(e){this._context=e}Zx.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,Ty)}},result:By};var Qx=new gr,$x,eS,tS,nS,rS,iS={point:By,lineStart:function(){iS.point=Yne},lineEnd:function(){$x&&aS(eS,tS),iS.point=By},polygonStart:function(){$x=!0},polygonEnd:function(){$x=null},result:function(){var e=+Qx;return Qx=new gr,e}};function Yne(e,t){iS.point=aS,eS=nS=e,tS=rS=t}function aS(e,t){nS-=e,rS-=t,Qx.add(Iy(nS*nS+rS*rS)),nS=e,rS=t}var oS,sS,cS,lS,uS=class{constructor(e){this._append=e==null?dS:Xne(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!==cS||this._append!==sS){let e=this._radius,t=this._;this._=``,this._append`m0,${e}a${e},${e} 0 1,1 0,${-2*e}a${e},${e} 0 1,1 0,${2*e}z`,cS=e,sS=this._append,lS=this._,this._=t}this._+=lS}}result(){let e=this._;return this._=``,e.length?e:null}};function dS(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Xne(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return dS;if(t!==oS){let e=10**t;oS=t,sS=function(t){let n=1;this._+=t[0];for(let r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}return sS}function fS(e,t){let n=3,r=4.5,i,a;function o(e){return e&&(typeof r==`function`&&a.pointRadius(+r.apply(this,arguments)),Ky(e,i(a))),a.result()}return o.area=function(e){return Ky(e,i(Ex)),Ex.result()},o.measure=function(e){return Ky(e,i(iS)),iS.result()},o.bounds=function(e){return Ky(e,i(Mx)),Mx.result()},o.centroid=function(e){return Ky(e,i(Kx)),Kx.result()},o.projection=function(t){return arguments.length?(i=t==null?(e=null,yx):(e=t).stream,o):e},o.context=function(e){return arguments.length?(a=e==null?(t=null,new uS(n)):new Zx(t=e),typeof r!=`function`&&a.pointRadius(r),o):t},o.pointRadius=function(e){return arguments.length?(r=typeof e==`function`?e:(a.pointRadius(+e),+e),o):r},o.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);n=t}return t===null&&(a=new uS(n)),o},o.projection(e).digits(n).context(t)}function pS(e){return function(t){var n=new mS;for(var r in e)n[r]=e[r];return n.stream=t,n}}function mS(){}mS.prototype={constructor:mS,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 hS(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Ky(n,e.stream(Mx)),t(Mx.result()),r!=null&&e.clipExtent(r),e}function gS(e,t,n){return hS(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+t[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,s])},n)}function _S(e,t,n){return gS(e,[[0,0],t],n)}function vS(e,t,n){return hS(e,function(n){var r=+t,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];e.scale(150*i).translate([a,o])},n)}function yS(e,t,n){return hS(e,function(n){var r=+t,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,o])},n)}var bS=16,Zne=L(30*I);function xS(e,t){return+t?$ne(e,t):Qne(e)}function Qne(e){return pS({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function $ne(e,t){function n(r,i,a,o,s,c,l,u,d,f,p,m,h,g){var _=l-r,v=u-i,y=_*_+v*v;if(y>4*t&&h--){var b=o+f,x=s+p,S=c+m,C=Iy(b*b+x*x+S*S),w=zy(S/=C),T=Dy(Dy(S)-1)<1e-6||Dy(a-d)<1e-6?(a+d)/2:ky(x,b),E=e(T,w),D=E[0],O=E[1],k=D-r,A=O-i,ee=v*k-_*A;(ee*ee/y>t||Dy((_*k+v*A)/y-.5)>.3||o*f+s*p+c*m<Zne)&&(n(r,i,a,o,s,c,D,O,T,b/=C,x/=C,S,h,g),g.point(D,O),n(D,O,T,b,x,S,l,u,d,f,p,m,h,g))}}return function(t){var r,i,a,o,s,c,l,u,d,f,p,m,h={point:g,lineStart:_,lineEnd:y,polygonStart:function(){t.polygonStart(),h.lineStart=b},polygonEnd:function(){t.polygonEnd(),h.lineStart=_}};function g(n,r){n=e(n,r),t.point(n[0],n[1])}function _(){u=NaN,h.point=v,t.lineStart()}function v(r,i){var a=ib([r,i]),o=e(r,i);n(u,d,l,f,p,m,u=o[0],d=o[1],l=r,f=a[0],p=a[1],m=a[2],bS,t),t.point(u,d)}function y(){h.point=g,t.lineEnd()}function b(){_(),h.point=x,h.lineEnd=S}function x(e,t){v(r=e,t),i=u,a=d,o=f,s=p,c=m,h.point=v}function S(){n(u,d,l,f,p,m,i,a,r,o,s,c,bS,t),h.lineEnd=y,y()}return h}}var ere=pS({point:function(e,t){this.stream.point(e*I,t*I)}});function tre(e){return pS({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function nre(e,t,n,r,i){function a(a,o){return a*=r,o*=i,[t+e*a,n-e*o]}return a.invert=function(a,o){return[(a-t)/e*r,(n-o)/e*i]},a}function SS(e,t,n,r,i,a){if(!a)return nre(e,t,n,r,i);var o=L(a),s=R(a),c=o*e,l=s*e,u=o/e,d=s/e,f=(s*n-o*t)/e,p=(s*t+o*n)/e;function m(e,a){return e*=r,a*=i,[c*e-l*a+t,n-l*e-c*a]}return m.invert=function(e,t){return[r*(u*e-d*t+f),i*(p-d*e-u*t)]},m}function CS(e){return wS(function(){return e})()}function wS(e){var t,n=150,r=480,i=250,a=0,o=0,s=0,c=0,l=0,u,d=0,f=1,p=1,m=null,h=px,g=null,_,v,y,b=yx,x=.5,S,C,w,T,E;function D(e){return w(e[0]*I,e[1]*I)}function O(e){return e=w.invert(e[0],e[1]),e&&[e[0]*Ey,e[1]*Ey]}D.stream=function(e){return T&&E===e?T:T=ere(tre(u)(h(S(b(E=e)))))},D.preclip=function(e){return arguments.length?(h=e,m=void 0,A()):h},D.postclip=function(e){return arguments.length?(b=e,g=_=v=y=null,A()):b},D.clipAngle=function(e){return arguments.length?(h=+e?Lne(m=e*I):(m=null,px),A()):m*Ey},D.clipExtent=function(e){return arguments.length?(b=e==null?(g=_=v=y=null,yx):gx(g=+e[0][0],_=+e[0][1],v=+e[1][0],y=+e[1][1]),A()):g==null?null:[[g,_],[v,y]]},D.scale=function(e){return arguments.length?(n=+e,k()):n},D.translate=function(e){return arguments.length?(r=+e[0],i=+e[1],k()):[r,i]},D.center=function(e){return arguments.length?(a=e[0]%360*I,o=e[1]%360*I,k()):[a*Ey,o*Ey]},D.rotate=function(e){return arguments.length?(s=e[0]%360*I,c=e[1]%360*I,l=e.length>2?e[2]%360*I:0,k()):[s*Ey,c*Ey,l*Ey]},D.angle=function(e){return arguments.length?(d=e%360*I,k()):d*Ey},D.reflectX=function(e){return arguments.length?(f=e?-1:1,k()):f<0},D.reflectY=function(e){return arguments.length?(p=e?-1:1,k()):p<0},D.precision=function(e){return arguments.length?(S=xS(C,x=e*e),A()):Iy(x)},D.fitExtent=function(e,t){return gS(D,e,t)},D.fitSize=function(e,t){return _S(D,e,t)},D.fitWidth=function(e,t){return vS(D,e,t)},D.fitHeight=function(e,t){return yS(D,e,t)};function k(){var e=SS(n,0,0,f,p,d).apply(null,t(a,o)),m=SS(n,r-e[0],i-e[1],f,p,d);return u=tx(s,c,l),C=$b(t,m),w=$b(u,C),S=xS(C,x),A()}function A(){return T=E=null,D}return function(){return t=e.apply(this,arguments),D.invert=t.invert&&O,k()}}function TS(e){var t=0,n=Sy/3,r=wS(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*I,n=e[1]*I):[t*Ey,n*Ey]},i}function rre(e){var t=L(e);function n(e,n){return[e*t,R(n)/t]}return n.invert=function(e,n){return[e/t,zy(n*t)]},n}function ire(e,t){var n=R(e),r=(n+R(t))/2;if(Dy(r)<1e-6)return rre(e);var i=1+n*(2*r-n),a=Iy(i)/r;function o(e,t){var n=Iy(i-2*r*R(t))/r;return[n*R(e*=r),a-n*L(e)]}return o.invert=function(e,t){var n=a-t,o=ky(e,Dy(n))*Fy(n);return n*r<0&&(o-=Sy*Fy(e)*Fy(n)),[o/r,zy((i-(e*e+n*n)*r*r)/(2*r))]},o}function ES(){return TS(ire).scale(155.424).center([0,33.6442])}function DS(){return ES().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function are(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 ore(){var e,t,n=DS(),r,i=ES().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=ES().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,c,l={point:function(e,t){c=[e,t]}};function u(e){var t=e[0],n=e[1];return c=null,r.point(t,n),c||(a.point(t,n),c)||(s.point(t,n),c)}u.invert=function(e){var t=n.scale(),r=n.translate(),a=(e[0]-r[0])/t,s=(e[1]-r[1])/t;return(s>=.12&&s<.234&&a>=-.425&&a<-.214?i:s>=.166&&s<.234&&a>=-.214&&a<-.115?o:n).invert(e)},u.stream=function(r){return e&&t===r?e:e=are([n.stream(t=r),i.stream(r),o.stream(r)])},u.precision=function(e){return arguments.length?(n.precision(e),i.precision(e),o.precision(e),d()):n.precision()},u.scale=function(e){return arguments.length?(n.scale(e),i.scale(e*.35),o.scale(e),u.translate(n.translate())):n.scale()},u.translate=function(e){if(!arguments.length)return n.translate();var t=n.scale(),c=+e[0],u=+e[1];return r=n.translate(e).clipExtent([[c-.455*t,u-.238*t],[c+.455*t,u+.238*t]]).stream(l),a=i.translate([c-.307*t,u+.201*t]).clipExtent([[c-.425*t+xy,u+.12*t+xy],[c-.214*t-xy,u+.234*t-xy]]).stream(l),s=o.translate([c-.205*t,u+.212*t]).clipExtent([[c-.214*t+xy,u+.166*t+xy],[c-.115*t-xy,u+.234*t-xy]]).stream(l),d()},u.fitExtent=function(e,t){return gS(u,e,t)},u.fitSize=function(e,t){return _S(u,e,t)},u.fitWidth=function(e,t){return vS(u,e,t)},u.fitHeight=function(e,t){return yS(u,e,t)};function d(){return e=t=null,u}return u.scale(1070)}function OS(e){return function(t,n){var r=L(t),i=L(n),a=e(r*i);return a===1/0?[2,0]:[a*i*R(t),a*R(n)]}}function kS(e){return function(t,n){var r=Iy(t*t+n*n),i=e(r),a=R(i),o=L(i);return[ky(t*a,r*o),zy(r&&n*a/r)]}}var AS=OS(function(e){return Iy(2/(1+e))});AS.invert=kS(function(e){return 2*zy(e/2)});function sre(){return CS(AS).scale(124.75).clipAngle(179.999)}var jS=OS(function(e){return(e=Ry(e))&&e/R(e)});jS.invert=kS(function(e){return e});function cre(){return CS(jS).scale(79.4188).clipAngle(179.999)}function MS(e,t){return[e,Ny(Ly((Cy+t)/2))]}MS.invert=function(e,t){return[e,2*Oy(jy(t))-Cy]};function lre(){return NS(MS).scale(961/Ty)}function NS(e){var t=CS(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,s,c,l;t.scale=function(e){return arguments.length?(r(e),u()):r()},t.translate=function(e){return arguments.length?(i(e),u()):i()},t.center=function(e){return arguments.length?(n(e),u()):n()},t.clipExtent=function(e){return arguments.length?(e==null?o=s=c=l=null:(o=+e[0][0],s=+e[0][1],c=+e[1][0],l=+e[1][1]),u()):o==null?null:[[o,s],[c,l]]};function u(){var n=Sy*r(),i=t(kne(t.rotate()).invert([0,0]));return a(o==null?[[i[0]-n,i[1]-n],[i[0]+n,i[1]+n]]:e===MS?[[Math.max(i[0]-n,o),s],[Math.min(i[0]+n,c),l]]:[[o,Math.max(i[1]-n,s)],[c,Math.min(i[1]+n,l)]])}return u()}function PS(e){return Ly((Cy+e)/2)}function ure(e,t){var n=L(e),r=e===t?R(e):Ny(n/L(t))/Ny(PS(t)/PS(e)),i=n*Py(PS(e),r)/r;if(!r)return MS;function a(e,t){i>0?t<-Cy+1e-6&&(t=-Cy+xy):t>Cy-1e-6&&(t=Cy-xy);var n=i/Py(PS(t),r);return[n*R(r*e),i-n*L(r*e)]}return a.invert=function(e,t){var n=i-t,a=Fy(r)*Iy(e*e+n*n),o=ky(e,Dy(n))*Fy(n);return n*r<0&&(o-=Sy*Fy(e)*Fy(n)),[o/r,2*Oy(Py(i/a,1/r))-Cy]},a}function dre(){return TS(ure).scale(109.5).parallels([30,30])}function FS(e,t){return[e,t]}FS.invert=FS;function fre(){return CS(FS).scale(152.63)}function pre(e,t){var n=L(e),r=e===t?R(e):(n-L(t))/(t-e),i=n/r+e;if(Dy(r)<1e-6)return FS;function a(e,t){var n=i-t,a=r*e;return[n*R(a),i-n*L(a)]}return a.invert=function(e,t){var n=i-t,a=ky(e,Dy(n))*Fy(n);return n*r<0&&(a-=Sy*Fy(e)*Fy(n)),[a/r,i-Fy(r)*Iy(e*e+n*n)]},a}function mre(){return TS(pre).scale(131.154).center([0,13.9389])}var IS=1.340264,LS=-.081106,RS=893e-6,zS=.003796,BS=Iy(3)/2,hre=12;function VS(e,t){var n=zy(BS*R(t)),r=n*n,i=r*r*r;return[e*L(n)/(BS*(IS+3*LS*r+i*(7*RS+9*zS*r))),n*(IS+LS*r+i*(RS+zS*r))]}VS.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,s,c;a<hre&&(s=n*(IS+LS*r+i*(RS+zS*r))-t,c=IS+3*LS*r+i*(7*RS+9*zS*r),n-=o=s/c,r=n*n,i=r*r*r,!(Dy(o)<1e-12));++a);return[BS*e*(IS+3*LS*r+i*(7*RS+9*zS*r))/L(n),zy(R(n)/BS)]};function gre(){return CS(VS).scale(177.158)}function HS(e,t){var n=L(t),r=L(e)*n;return[n*R(e)/r,R(t)/r]}HS.invert=kS(Oy);function _re(){return CS(HS).scale(144.049).clipAngle(60)}function vre(){var e=1,t=0,n=0,r=1,i=1,a=0,o,s,c=null,l,u,d,f=1,p=1,m=pS({point:function(e,t){var n=y([e,t]);this.stream.point(n[0],n[1])}}),h=yx,g,_;function v(){return f=e*r,p=e*i,g=_=null,y}function y(e){var r=e[0]*f,i=e[1]*p;if(a){var c=i*o-r*s;r=r*o+i*s,i=c}return[r+t,i+n]}return y.invert=function(e){var r=e[0]-t,i=e[1]-n;if(a){var c=i*o+r*s;r=r*o-i*s,i=c}return[r/f,i/p]},y.stream=function(e){return g&&_===e?g:g=m(h(_=e))},y.postclip=function(e){return arguments.length?(h=e,c=l=u=d=null,v()):h},y.clipExtent=function(e){return arguments.length?(h=e==null?(c=l=u=d=null,yx):gx(c=+e[0][0],l=+e[0][1],u=+e[1][0],d=+e[1][1]),v()):c==null?null:[[c,l],[u,d]]},y.scale=function(t){return arguments.length?(e=+t,v()):e},y.translate=function(e){return arguments.length?(t=+e[0],n=+e[1],v()):[t,n]},y.angle=function(e){return arguments.length?(a=e%360*I,s=R(a),o=L(a),v()):a*Ey},y.reflectX=function(e){return arguments.length?(r=e?-1:1,v()):r<0},y.reflectY=function(e){return arguments.length?(i=e?-1:1,v()):i<0},y.fitExtent=function(e,t){return gS(y,e,t)},y.fitSize=function(e,t){return _S(y,e,t)},y.fitWidth=function(e,t){return vS(y,e,t)},y.fitHeight=function(e,t){return yS(y,e,t)},y}function US(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)))]}US.invert=function(e,t){var n=t,r=25,i;do{var a=n*n,o=a*a;n-=i=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(Dy(i)>1e-6&&--r>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function yre(){return CS(US).scale(175.295)}function WS(e,t){return[L(t)*R(e),R(t)]}WS.invert=kS(zy);function bre(){return CS(WS).scale(249.5).clipAngle(90+xy)}function GS(e,t){var n=L(t),r=1+L(e)*n;return[n*R(e)/r,R(t)/r]}GS.invert=kS(function(e){return 2*Oy(e)});function xre(){return CS(GS).scale(250).clipAngle(142)}function KS(e,t){return[Ny(Ly((Cy+t)/2)),-e]}KS.invert=function(e,t){return[-t,2*Oy(jy(e))-Cy]};function Sre(){var e=NS(KS),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):(e=t(),[e[1],-e[0]])},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):(e=n(),[e[0],e[1],e[2]-90])},n([0,0,90]).scale(159.155)}var Cre=Math.abs,qS=Math.cos,JS=Math.sin,YS=Math.PI,XS=YS/2;YS/4;var ZS=$S(2);YS*2,180/YS,YS/180;function QS(e){return e>1?XS:e<-1?-XS:Math.asin(e)}function $S(e){return e>0?Math.sqrt(e):0}function eC(e,t){var n=e*JS(t),r=30,i;do t-=i=(t+JS(t)-n)/(1+qS(t));while(Cre(i)>1e-6&&--r>0);return t/2}function tC(e,t,n){function r(r,i){return[e*r*qS(i=eC(n,i)),t*JS(i)]}return r.invert=function(r,i){return i=QS(i/t),[r/(e*qS(i)),QS((2*i+JS(2*i))/n)]},r}var nC=tC(ZS/XS,ZS,YS);function wre(){return CS(nC).scale(169.529)}var rC=fS(),iC=[`clipAngle`,`clipExtent`,`scale`,`translate`,`center`,`rotate`,`parallels`,`precision`,`reflectX`,`reflectY`,`coefficient`,`distance`,`fraction`,`lobes`,`parallel`,`radius`,`ratio`,`spacing`,`tilt`];function aC(e,t){return function n(){let r=t();return r.type=e,r.path=fS().projection(r),r.copy=r.copy||function(){let e=n();return iC.forEach(t=>{r[t]&&e[t](r[t]())}),e.path.pointRadius(r.path.pointRadius()),e},Wl(r)}}function oC(e,t){if(!e||typeof e!=`string`)throw Error(`Projection type must be a name string.`);return e=e.toLowerCase(),arguments.length>1?(cC[e]=aC(e,t),this):cC[e]||null}function sC(e){return e&&e.path||rC}var cC={albers:DS,albersusa:ore,azimuthalequalarea:sre,azimuthalequidistant:cre,conicconformal:dre,conicequalarea:ES,conicequidistant:mre,equalEarth:gre,equirectangular:fre,gnomonic:_re,identity:vre,mercator:lre,mollweide:wre,naturalEarth1:yre,orthographic:bre,stereographic:xre,transversemercator:Sre};for(let e in cC)oC(e,cC[e]);var lC=t({contour:()=>NC,geojson:()=>LC,geopath:()=>RC,geopoint:()=>BC,geoshape:()=>VC,graticule:()=>UC,heatmap:()=>WC,isocontour:()=>bC,kde2d:()=>kC,projection:()=>YC});function uC(){}var dC=[[],[[[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 fC(){var e=1,t=1,n=s;function r(e,t){return t.map(t=>i(e,t))}function i(e,t){var r=[],i=[];return a(e,t,a=>{n(a,e,t),pC(a)>0?r.push([a]):i.push(a)}),i.forEach(e=>{for(var t=0,n=r.length,i;t<n;++t)if(mC((i=r[t])[0],e)!==-1){i.push(e);return}}),{type:`MultiPolygon`,value:t,coordinates:r}}function a(n,r,i){var a=[],s=[],c=l=-1,l,u,d=n[0]>=r,f,p;for(dC[d<<1].forEach(m);++c<e-1;)u=d,d=n[c+1]>=r,dC[u|d<<1].forEach(m);for(dC[d<<0].forEach(m);++l<t-1;){for(c=-1,d=n[l*e+e]>=r,f=n[l*e]>=r,dC[d<<1|f<<2].forEach(m);++c<e-1;)u=d,d=n[l*e+e+c+1]>=r,p=f,f=n[l*e+c+1]>=r,dC[u|d<<1|f<<2|p<<3].forEach(m);dC[d|f<<3].forEach(m)}for(c=-1,f=n[l*e]>=r,dC[f<<2].forEach(m);++c<e-1;)p=f,f=n[l*e+c+1]>=r,dC[f<<2|p<<3].forEach(m);dC[f<<3].forEach(m);function m(e){var t=[e[0][0]+c,e[0][1]+l],n=[e[1][0]+c,e[1][1]+l],r=o(t),u=o(n),d,f;(d=s[r])?(f=a[u])?(delete s[d.end],delete a[f.start],d===f?(d.ring.push(n),i(d.ring)):a[d.start]=s[f.end]={start:d.start,end:f.end,ring:d.ring.concat(f.ring)}):(delete s[d.end],d.ring.push(n),s[d.end=u]=d):(d=a[u])?(f=s[r])?(delete a[d.start],delete s[f.end],d===f?(d.ring.push(n),i(d.ring)):a[f.start]=s[d.end]={start:f.start,end:d.end,ring:f.ring.concat(d.ring)}):(delete a[d.start],d.ring.unshift(t),a[d.start=r]=d):a[r]=s[u]={start:r,end:u,ring:[t,n]}}}function o(t){return t[0]*2+t[1]*(e+1)*4}function s(n,r,i){n.forEach(n=>{var a=n[0],o=n[1],s=a|0,c=o|0,l,u=r[c*e+s];a>0&&a<e&&s===a&&(l=r[c*e+s-1],n[0]=a+(i-l)/(u-l)-.5),o>0&&o<t&&c===o&&(l=r[(c-1)*e+s],n[1]=o+(i-l)/(u-l)-.5)})}return r.contour=i,r.size=function(n){if(!arguments.length)return[e,t];var i=Math.floor(n[0]),a=Math.floor(n[1]);return i>=0&&a>=0||j(`invalid size`),e=i,t=a,r},r.smooth=function(e){return arguments.length?(n=e?s:uC,r):n===s},r}function pC(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 mC(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=hC(e,t[n]))return i;return 0}function hC(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,s=o-1;a<o;s=a++){var c=e[a],l=c[0],u=c[1],d=e[s],f=d[0],p=d[1];if(gC(c,d,t))return 0;u>r!=p>r&&n<(f-l)*(r-u)/(p-u)+l&&(i=-i)}return i}function gC(e,t,n){var r;return _C(e,t,n)&&vC(e[r=+(e[0]===t[0])],n[r],t[r])}function _C(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function vC(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function yC(e,t,n){return function(r){var i=$n(r),a=n?Math.min(i[0],0):i[0],o=i[1],s=o-a,c=t?Je(a,o,e):s/(e+1);return lt(a+c,o,c)}}function bC(e){F.call(this,null,e)}bC.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`}]},N(bC,F,{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||O,a=fC().smooth(e.smooth!==!1),o=e.thresholds||xC(r,i,e),s=e.as===null?null:e.as||`contour`,c=[];return r.forEach(t=>{let n=i(t),r=a.size([n.width,n.height])(n.values,h(o)?o:o(n.values));SC(r,n,t,e),r.forEach(e=>{c.push(Fr(t,Nr(s==null?e:{[s]:e})))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=c,n}});function xC(e,t,n){let r=yC(n.levels||10,n.nice,n.zero!==!1);return n.resolve===`shared`?r(e.map(e=>it(t(e).values))):r}function SC(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(o(i)&&(i=i(n,r)),o(a)&&(a=a(n,r)),(i===1||i==null)&&!a)return;let s=(v(i)?i:i[0])||1,c=(v(i)?i:i[1])||1,l=a&&a[0]||0,u=a&&a[1]||0;e.forEach(CC(t,s,c,l,u))}function CC(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,s=t*n<0;function c(e){e.forEach(l)}function l(e){s&&e.reverse(),e.forEach(u)}function u(e){e[0]=(e[0]-a)*t+r,e[1]=(e[1]-o)*n+i}return function(e){return e.coordinates.forEach(c),e}}function wC(e,t,n){let r=e>=0?e:Ri(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function TC(e){return o(e)?e:Zn(+e)}function EC(){var e=e=>e[0],t=e=>e[1],n=A,r=[-1,-1],i=960,a=500,o=2;function s(s,c){let l=wC(r[0],s,e)>>o,u=wC(r[1],s,t)>>o,d=l?l+2:0,f=u?u+2:0,p=2*d+(i>>o),m=2*f+(a>>o),h=new Float32Array(p*m),g=new Float32Array(p*m),_=h;s.forEach(r=>{let i=d+(+e(r)>>o),a=f+(+t(r)>>o);i>=0&&i<p&&a>=0&&a<m&&(h[i+a*p]+=+n(r))}),l>0&&u>0?(DC(p,m,h,g,l),OC(p,m,g,h,u),DC(p,m,h,g,l),OC(p,m,g,h,u),DC(p,m,h,g,l),OC(p,m,g,h,u)):l>0?(DC(p,m,h,g,l),DC(p,m,g,h,l),DC(p,m,h,g,l),_=g):u>0&&(OC(p,m,h,g,u),OC(p,m,g,h,u),OC(p,m,h,g,u),_=g);let v=c?2**(-2*o):1/wr(_);for(let e=0,t=p*m;e<t;++e)_[e]*=v;return{values:_,scale:1<<o,width:p,height:m,x1:d,y1:f,x2:d+(i>>o),y2:f+(a>>o)}}return s.x=function(t){return arguments.length?(e=TC(t),s):e},s.y=function(e){return arguments.length?(t=TC(e),s):t},s.weight=function(e){return arguments.length?(n=TC(e),s):n},s.size=function(e){if(!arguments.length)return[i,a];var t=+e[0],n=+e[1];return t>=0&&n>=0||j(`invalid size`),i=t,a=n,s},s.cellSize=function(e){return arguments.length?((e=+e)>=1||j(`invalid cell size`),o=Math.floor(Math.log(e)/Math.LN2),s):1<<o},s.bandwidth=function(e){return arguments.length?(e=E(e),e.length===1&&(e=[+e[0],+e[0]]),e.length!==2&&j(`invalid bandwidth`),r=e,s):r},s}function DC(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let t=0,s=0;t<e+i;++t)t<e&&(s+=n[t+o*e]),t>=i&&(t>=a&&(s-=n[t-a+o*e]),r[t-i+o*e]=s/Math.min(t+1,e-1+a-t,a))}function OC(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let s=0,c=0;s<t+i;++s)s<t&&(c+=n[o+s*e]),s>=i&&(s>=a&&(c-=n[o+(s-a)*e]),r[o+(s-i)*e]=c/Math.min(s+1,t-1+a-s,a))}function kC(e){F.call(this,null,e)}kC.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 AC=[`x`,`y`,`weight`,`size`,`cellSize`,`bandwidth`];function jC(e,t){return AC.forEach(n=>t[n]==null?0:e[n](t[n])),e}N(kC,F,{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=MC(r,e.groupby),a=(e.groupby||[]).map(ne),o=jC(EC(),e),s=e.as||`grid`,c=[];function l(e,t){for(let n=0;n<a.length;++n)e[a[n]]=t[n];return e}return c=i.map(t=>Nr(l({[s]:o(t,e.counts)},t.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=c,n}});function MC(e,t){var n=[],r=e=>e(s),i,a,o,s,c,l;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)s=e[a],c=t.map(r),l=i[c],l||(i[c]=l=[],l.dims=c,n.push(l)),l.push(s);return n}function NC(e){F.call(this,null,e)}NC.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}]},N(NC,F,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=fC().smooth(e.smooth!==!1),i=e.values,a=e.thresholds||yC(e.count||10,e.nice,!!i),o=e.size,s,c;return i||=(i=t.materialize(t.SOURCE).source,s=jC(EC(),e)(i,!0),c=CC(s,s.scale||1,s.scale||1,0,0),o=[s.width,s.height],s.values),a=h(a)?a:a(i),i=r.size(o)(i,a),c&&i.forEach(c),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(Nr),n}});var PC=`Feature`,FC=`FeatureCollection`,IC=`MultiPoint`;function LC(e){F.call(this,null,e)}LC.Definition={type:`GeoJSON`,metadata:{},params:[{name:`fields`,type:`field`,array:!0,length:2},{name:`geojson`,type:`field`}]},N(LC,F,{transform(e,t){var n=this._features,r=this._points,i=e.fields,a=i&&i[0],o=i&&i[1],s=e.geojson||!i&&O,c=t.ADD,l=e.modified()||t.changed(t.REM)||t.modified(de(s))||a&&t.modified(de(a))||o&&t.modified(de(o));(!this.value||l)&&(c=t.SOURCE,this._features=n=[],this._points=r=[]),s&&t.visit(c,e=>n.push(s(e))),a&&o&&(t.visit(c,e=>{var t=a(e),n=o(e);t!=null&&n!=null&&(t=+t)===t&&(n=+n)===n&&r.push([t,n])}),n=n.concat({type:PC,geometry:{type:IC,coordinates:r}})),this.value={type:FC,features:n}}});function RC(e){F.call(this,null,e)}RC.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`}]},N(RC,F,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||O,a=e.as||`path`,o=n.SOURCE;!r||e.modified()?(this.value=r=sC(e.projection),n.materialize().reflow()):o=i===O||t.modified(i.fields)?n.ADD_MOD:n.ADD;let s=zC(r,e.pointRadius);return n.visit(o,e=>e[a]=r(i(e))),r.pointRadius(s),n.modifies(a)}});function zC(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function BC(e){F.call(this,null,e)}BC.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`]}]},N(BC,F,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||[`x`,`y`],o=a[0],s=a[1],c;function l(e){let t=n([r(e),i(e)]);t?(e[o]=t[0],e[s]=t[1]):(e[o]=void 0,e[s]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,l):(c=t.modified(r.fields)||t.modified(i.fields),t.visit(c?t.ADD_MOD:t.ADD,l)),t.modifies(a)}});function VC(e){F.call(this,null,e)}VC.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`}]},N(VC,F,{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=HC(sC(e.projection),e.field||oe(`datum`),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,e=>e[i]=r),n.modifies(i)}});function HC(e,t,n){let r=n==null?n=>e(t(n)):r=>{var i=e.pointRadius(),a=e.pointRadius(n)(t(r));return e.pointRadius(i),a};return r.context=t=>(e.context(t),r),r}function UC(e){F.call(this,[],e),this.generator=zne()}UC.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}]},N(UC,F,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let t in e)o(r[t])&&r[t](e[t]);return i=r(),n.length?t.mod.push(Ir(n[0],i)):t.add.push(Nr(i)),n[0]=i,t}});function WC(e){F.call(this,null,e)}WC.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`}]},N(WC,F,{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||O,a=KC(e.opacity,e),o=GC(e.color,e),s=e.as||`image`,c={$x:0,$y:0,$value:0,$max:r?it(n.map(e=>it(i(e).values))):0};return n.forEach(e=>{let t=i(e),n=g({},e,c);r||(n.$max=it(t.values||[])),e[s]=JC(t,n,o.dep?o:Zn(o(n)),a.dep?a:Zn(a(n)))}),t.reflow(!0).modifies(s)}});function GC(e,t){let n;return o(e)?(n=n=>en(e(n,t)),n.dep=qC(e)):n=Zn(en(e||`#888`)),n}function KC(e,t){let n;return o(e)?(n=n=>e(n,t),n.dep=qC(e)):e?n=Zn(e):(n=e=>e.$value/e.$max||0,n.dep=!0),n}function qC(e){if(!o(e))return!1;let t=pr(de(e));return t.$x||t.$y||t.$value||t.$max}function JC(e,t,n,r){let a=e.width,o=e.height,s=e.x1||0,c=e.y1||0,l=e.x2||a,u=e.y2||o,d=e.values,f=d?e=>d[e]:i,p=fc(l-s,u-c),m=p.getContext(`2d`),h=m.getImageData(0,0,l-s,u-c),g=h.data;for(let e=c,i=0;e<u;++e){t.$y=e-c;for(let o=s,c=e*a;o<l;++o,i+=4){t.$x=o-s,t.$value=f(o+c);let e=n(t);g[i+0]=e.r,g[i+1]=e.g,g[i+2]=e.b,g[i+3]=~~(255*r(t))}}return m.putImageData(h,0,0),p}function YC(e){F.call(this,null,e),this.modified(!0)}N(YC,F,{transform(e,t){let n=this.value;return!n||e.modified(`type`)?(this.value=n=ZC(e.type),iC.forEach(t=>{e[t]!=null&&QC(n,t,e[t])})):iC.forEach(t=>{e.modified(t)&&QC(n,t,e[t])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&XC(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function XC(e,t){let n=$C(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function ZC(e){let t=oC((e||`mercator`).toLowerCase());return t||j(`Unrecognized projection type: `+e),t()}function QC(e,t,n){o(e[t])&&e[t](n)}function $C(e){return e=E(e),e.length===1?e[0]:{type:FC,features:e.reduce((e,t)=>e.concat(ew(t)),[])}}function ew(e){return e.type===FC?e.features:E(e).filter(e=>e!=null).map(e=>e.type===PC?e:{type:PC,geometry:e})}function tw(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i<a;++i)o=n[i],s+=o.x,c+=o.y;for(s=(s/a-e)*r,c=(c/a-t)*r,i=0;i<a;++i)o=n[i],o.x-=s,o.y-=c}return i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function nw(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return rw(this.cover(t,n),t,n,e)}function rw(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function Tre(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)rw(this,o[n],s[n],e[n]);return this}function Ere(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function Dre(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function Ore(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 iw(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function kre(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new iw(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a)){if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new iw(p[3],g,_,c,l),new iw(p[2],o,_,g,l),new iw(p[1],g,s,c,_),new iw(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),b=v*v+y*y;if(b<n){var x=Math.sqrt(n=b);i=e-x,a=t-x,u=e+x,d=t+x,r=p.data}}}return r}function Are(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function jre(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function Mre(){return this._root}function Nre(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function Pre(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new iw(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new iw(i,l,u,s,c)),(i=r[2])&&t.push(new iw(i,a,u,l,c)),(i=r[1])&&t.push(new iw(i,l,o,s,u)),(i=r[0])&&t.push(new iw(i,a,o,l,u))}return this}function Fre(e){var t=[],n=[],r;for(this._root&&t.push(new iw(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new iw(a,o,s,u,d)),(a=i[1])&&t.push(new iw(a,u,s,c,d)),(a=i[2])&&t.push(new iw(a,o,d,u,l)),(a=i[3])&&t.push(new iw(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function Ire(e){return e[0]}function Lre(e){return arguments.length?(this._x=e,this):this._x}function Rre(e){return e[1]}function zre(e){return arguments.length?(this._y=e,this):this._y}function aw(e,t,n){var r=new ow(t??Ire,n??Rre,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function ow(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 sw(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var cw=aw.prototype=ow.prototype;cw.copy=function(){var e=new ow(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=sw(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]=sw(r));return e},cw.add=nw,cw.addAll=Tre,cw.cover=Ere,cw.data=Dre,cw.extent=Ore,cw.find=kre,cw.remove=Are,cw.removeAll=jre,cw.root=Mre,cw.size=Nre,cw.visit=Pre,cw.visitAfter=Fre,cw.x=Lre,cw.y=zre;function lw(e){return function(){return e}}function uw(e){return(e()-.5)*1e-6}function dw(e){return e.x+e.vx}function fw(e){return e.y+e.vy}function pw(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=lw(e==null?1:+e));function o(){for(var e,o=t.length,c,l,u,d,f,p,m=0;m<a;++m)for(c=aw(t,dw,fw).visitAfter(s),e=0;e<o;++e)l=t[e],f=n[l.index],p=f*f,u=l.x+l.vx,d=l.y+l.vy,c.visit(h);function h(e,t,n,a,o){var s=e.data,c=e.r,m=f+c;if(s){if(s.index>l.index){var h=u-s.x-s.vx,g=d-s.y-s.vy,_=h*h+g*g;_<m*m&&(h===0&&(h=uw(r),_+=h*h),g===0&&(g=uw(r),_+=g*g),_=(m-(_=Math.sqrt(_)))/_*i,l.vx+=(h*=_)*(m=(c*=c)/(p+c)),l.vy+=(g*=_)*m,s.vx-=h*(m=1-m),s.vy-=g*m)}return}return t>u+m||a<u-m||n>d+m||o<d-m}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function c(){if(t){var r,i=t.length,a;for(n=Array(i),r=0;r<i;++r)a=t[r],n[a.index]=+e(a,r,t)}}return o.initialize=function(e,n){t=e,r=n,c()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e=typeof t==`function`?t:lw(+t),c(),o):e},o}function mw(e){return e.index}function hw(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function gw(e){var t=mw,n=d,r,i=lw(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||uw(l),m=f.y+f.vy-d.y-d.vy||uw(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=hw(u,d.source)),typeof d.target!=`object`&&(d.target=hw(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:lw(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:lw(+e),h(),f):i},f}function _w(e,t,n){var r=new vee,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(e,t,n){t=+t,n=n==null?fee():+n,r._restart(function a(o){o+=i,r._restart(a,i+=t,n),e(o)},t,n)},r.restart(e,t,n),r)}var vw=1664525,yw=1013904223,bw=4294967296;function xw(){let e=1;return()=>(e=(vw*e+yw)%bw)/bw}function Sw(e){return e.x}function Cw(e){return e.y}var ww=10,Tw=Math.PI*(3-Math.sqrt(5));function Ew(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=See(d),l=ln(`tick`,`end`),u=xw();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=ww*Math.sqrt(.5+t),a=t*Tw;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function Dw(){var e,t,n,r,i=lw(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=aw(e,Sw,Cw).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=uw(n),m+=d*d),f===0&&(f=uw(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=uw(n),m+=d*d),f===0&&(f=uw(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:lw(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}function Ow(e){var t=lw(.1),n,r,i;typeof e!=`function`&&(e=lw(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vx+=(i[t]-o.x)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:lw(+e),o(),a):t},a.x=function(t){return arguments.length?(e=typeof t==`function`?t:lw(+t),o(),a):e},a}function kw(e){var t=lw(.1),n,r,i;typeof e!=`function`&&(e=lw(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vy+=(i[t]-o.y)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:lw(+e),o(),a):t},a.y=function(t){return arguments.length?(e=typeof t==`function`?t:lw(+t),o(),a):e},a}var Aw=t({force:()=>Iw}),jw={center:tw,collide:pw,nbody:Dw,link:gw,x:Ow,y:kw},Mw=`forces`,Nw=[`alpha`,`alphaMin`,`alphaTarget`,`velocityDecay`,`forces`],Pw=[`static`,`iterations`],Fw=[`x`,`y`,`vx`,`vy`];function Iw(e){F.call(this,null,e)}Iw.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:Fw}]},N(Iw,F,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(Nw),a=e.iterations||300;if(n?(r&&(t.modifies(`index`),n.nodes(t.source)),(i||t.changed(t.MOD))&&zw(n,e,0,t)):(this.value=n=Rw(t.source,e),n.on(`tick`,Lw(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies(`index`)),i||r||e.modified(Pw)||t.changed()&&e.restart){if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-n.alphaMin()**(1/a)),e.static)for(n.stop();--a>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let e=this._argops,t=0,s=e.length,c;t<s;++t)if(c=e[t],c.name===Mw&&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(Fw)}});function Lw(e,t){return()=>e.touch(t).run()}function Rw(e,t){let n=Ew(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),zw(n,t,!0).on(`end`,()=>a=!0)}function zw(e,t,n,r){var i=E(t.forces),a,o,s,c;for(a=0,o=Nw.length;a<o;++a)s=Nw[a],s!==Mw&&t.modified(s)&&e[s](t[s]);for(a=0,o=i.length;a<o;++a)c=Mw+a,s=n||t.modified(Mw,a)?Vw(i[a]):r&&Bw(i[a],r)?e.force(c):null,s&&e.force(c,s);for(o=e.numForces||0;a<o;++a)e.force(Mw+a,null);return e.numForces=i.length,e}function Bw(e,t){var n,r;for(n in e)if(o(r=e[n])&&t.modified(de(r)))return 1;return 0}function Vw(e){var t,n;for(n in p(jw,e.force)||j(`Unrecognized force: `+e.force),t=jw[e.force](),e)o(t[n])&&Hw(t[n],e[n],e);return t}function Hw(e,t,n){e(o(t)?e=>t(e,n):t)}function Uw(e,t){return e.parent===t.parent?1:2}function Ww(e){return e.reduce(Gw,0)/e.length}function Gw(e,t){return e+t.x}function Kw(e){return 1+e.reduce(qw,0)}function qw(e,t){return Math.max(e,t.y)}function Jw(e){for(var t;t=e.children;)e=t[0];return e}function Yw(e){for(var t;t=e.children;)e=t[t.length-1];return e}function Xw(){var e=Uw,t=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter(function(t){var n=t.children;n?(t.x=Ww(n),t.y=Kw(n)):(t.x=a?o+=e(t,a):0,t.y=0,a=t)});var s=Jw(i),c=Yw(i),l=s.x-e(s,c)/2,u=c.x+e(c,s)/2;return i.eachAfter(r?function(e){e.x=(e.x-i.x)*t,e.y=(i.y-e.y)*n}:function(e){e.x=(e.x-l)/(u-l)*t,e.y=(1-(i.y?e.y/i.y:1))*n})}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}var Zw=1664525,Qw=1013904223,$w=4294967296;function eT(){let e=1;return()=>(e=(Zw*e+Qw)%$w)/$w}function tT(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function nT(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 rT(e,t){for(var n=0,r=(e=nT(Array.from(e),t)).length,i=[],a,o;n<r;)a=e[n],o&&oT(o,a)?++n:(o=cT(i=iT(i,a)),n=0);return o}function iT(e,t){var n,r;if(sT(t,e))return[t];for(n=0;n<e.length;++n)if(aT(t,e[n])&&sT(uT(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(aT(uT(e[n],e[r]),t)&&aT(uT(e[n],t),e[r])&&aT(uT(e[r],t),e[n])&&sT(dT(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}function aT(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 oT(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 sT(e,t){for(var n=0;n<t.length;++n)if(!oT(e,t[n]))return!1;return!0}function cT(e){switch(e.length){case 1:return lT(e[0]);case 2:return uT(e[0],e[1]);case 3:return dT(e[0],e[1],e[2])}}function lT(e){return{x:e.x,y:e.y,r:e.r}}function uT(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,s=t.r,c=a-n,l=o-r,u=s-i,d=Math.sqrt(c*c+l*l);return{x:(n+a+c/d*u)/2,y:(r+o+l/d*u)/2,r:(d+i+s)/2}}function dT(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,s=t.y,c=t.r,l=n.x,u=n.y,d=n.r,f=r-o,p=r-l,m=i-s,h=i-u,g=c-a,_=d-a,v=r*r+i*i-a*a,y=v-o*o-s*s+c*c,b=v-l*l-u*u+d*d,x=p*m-f*h,S=(m*b-h*y)/(x*2)-r,C=(h*g-m*_)/x,w=(p*y-f*b)/(x*2)-i,T=(f*_-p*g)/x,E=C*C+T*T-1,D=2*(a+S*C+w*T),O=S*S+w*w-a*a,k=-(Math.abs(E)>1e-6?(D+Math.sqrt(D*D-4*E*O))/(2*E):O/D);return{x:r+S+C*k,y:i+w+T*k,r:k}}function fT(e,t,n){var r=e.x-t.x,i,a,o=e.y-t.y,s,c,l=r*r+o*o;l?(a=t.r+n.r,a*=a,c=e.r+n.r,c*=c,a>c?(i=(l+c-a)/(2*l),s=Math.sqrt(Math.max(0,c/l-i*i)),n.x=e.x-i*r-s*o,n.y=e.y-i*o+s*r):(i=(l+a-c)/(2*l),s=Math.sqrt(Math.max(0,a/l-i*i)),n.x=t.x+i*r-s*o,n.y=t.y+i*o+s*r)):(n.x=t.x+n.r,n.y=t.y)}function pT(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 mT(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 hT(e){this._=e,this.next=null,this.previous=null}function gT(e,t){if(!(a=(e=tT(e)).length))return 0;var n=e[0],r,i,a,o,s,c,l,u,d,f;if(n.x=0,n.y=0,!(a>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;fT(r,n,i=e[2]),n=new hT(n),r=new hT(r),i=new hT(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;pack:for(c=3;c<a;++c){fT(n._,r._,i=e[c]),i=new hT(i),l=r.next,u=n.previous,d=r._.r,f=n._.r;do if(d<=f){if(pT(l._,i._)){r=l,n.next=r,r.previous=n,--c;continue pack}d+=l._.r,l=l.next}else{if(pT(u._,i._)){n=u,n.next=r,r.previous=n,--c;continue pack}f+=u._.r,u=u.previous}while(l!==u.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=mT(n);(i=i.next)!==r;)(s=mT(i))<o&&(n=i,o=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=rT(n,t),c=0;c<a;++c)n=e[c],n.x-=i.x,n.y-=i.y;return i.r}function _T(e){return Math.sqrt(e.value)}function vT(){var e=null,t=1,n=1,r=gn;function i(i){let a=eT();return i.x=t/2,i.y=n/2,e?i.eachBefore(yT(e)).eachAfter(bT(r,.5,a)).eachBefore(xT(1)):i.eachBefore(yT(_T)).eachAfter(bT(gn,1,a)).eachAfter(bT(r,i.r/Math.min(t,n),a)).eachBefore(xT(Math.min(t,n)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=Dn(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(e){return arguments.length?(r=typeof e==`function`?e:bn(+e),i):r},i}function yT(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function bT(e,t,n){return function(r){if(i=r.children){var i,a,o=i.length,s=e(r)*t||0,c;if(s)for(a=0;a<o;++a)i[a].r+=s;if(c=gT(i,n),s)for(a=0;a<o;++a)i[a].r-=s;r.r=c+s}}}function xT(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 ST(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(Tn),i}function a(e,t){return function(r){r.children&&Sn(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}var CT={depth:-1},wT={},TT={};function ET(e){return e.id}function DT(e){return e.parentId}function OT(){var e=ET,t=DT,n;function r(r){var i=Array.from(r),a=e,o=t,s,c,l,u,d,f,p,m,h=new Map;if(n!=null){let e=i.map((e,t)=>kT(n(e,t,r))),t=e.map(AT),s=new Set(e).add(``);for(let n of t)s.has(n)||(s.add(n),e.push(n),t.push(AT(n)),i.push(TT));a=(t,n)=>e[n],o=(e,n)=>t[n]}for(l=0,s=i.length;l<s;++l)c=i[l],f=i[l]=new _n(c),(p=a(c,l,r))!=null&&(p+=``)&&(m=f.id=p,h.set(m,h.has(m)?wT:f)),(p=o(c,l,r))!=null&&(p+=``)&&(f.parent=p);for(l=0;l<s;++l)if(f=i[l],p=f.parent){if(d=h.get(p),!d)throw Error(`missing: `+p);if(d===wT)throw Error(`ambiguous: `+p);d.children?d.children.push(f):d.children=[f],f.parent=d}else{if(u)throw Error(`multiple roots`);u=f}if(!u)throw Error(`no root`);if(n!=null){for(;u.data===TT&&u.children.length===1;)u=u.children[0],--s;for(let e=i.length-1;e>=0&&(f=i[e],f.data===TT);--e)f.data=null}if(u.parent=CT,u.eachBefore(function(e){e.depth=e.parent.depth+1,--s}).eachBefore(vn),u.parent=null,s>0)throw Error(`cycle`);return u}return r.id=function(t){return arguments.length?(e=Dn(t),r):e},r.parentId=function(e){return arguments.length?(t=Dn(e),r):t},r.path=function(e){return arguments.length?(n=Dn(e),r):n},r}function kT(e){e=`${e}`;let t=e.length;return jT(e,t-1)&&!jT(e,t-2)&&(e=e.slice(0,-1)),e[0]===`/`?e:`/${e}`}function AT(e){let t=e.length;if(t<2)return``;for(;--t>1&&!jT(e,t););return e.slice(0,t)}function jT(e,t){if(e[t]===`/`){let n=0;for(;t>0&&e[--t]===`\\`;)++n;if(!(n&1))return!0}return!1}function MT(e,t){return e.parent===t.parent?1:2}function NT(e){var t=e.children;return t?t[0]:e.t}function PT(e){var t=e.children;return t?t[t.length-1]:e.t}function FT(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 IT(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 LT(e,t,n){return e.a.parent===t.parent?e.a:n}function RT(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}RT.prototype=Object.create(_n.prototype);function zT(e){for(var t=new RT(e,0),n,r=[t],i,a,o,s;n=r.pop();)if(a=n._.children)for(n.children=Array(s=a.length),o=s-1;o>=0;--o)r.push(i=n.children[o]=new RT(a[o],o)),i.parent=n;return(t.parent=new RT(null,0)).children=[t],t}function BT(){var e=MT,t=1,n=1,r=null;function i(i){var s=zT(i);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(o),r)i.eachBefore(c);else{var l=i,u=i,d=i;i.eachBefore(function(e){e.x<l.x&&(l=e),e.x>u.x&&(u=e),e.depth>d.depth&&(d=e)});var f=l===u?1:e(l,u)/2,p=f-l.x,m=t/(u.x+f+p),h=n/(d.depth||1);i.eachBefore(function(e){e.x=(e.x+p)*m,e.y=e.depth*h})}return i}function a(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){IT(t);var a=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=s(t,i,t.parent.A||r[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(t,n,r){if(n){for(var i=t,a=t,o=n,s=i.parent.children[0],c=i.m,l=a.m,u=o.m,d=s.m,f;o=PT(o),i=NT(i),o&&i;)s=NT(s),a=PT(a),a.a=t,f=o.z+u-i.z-c+e(o._,i._),f>0&&(FT(LT(o,t,r),t,f),c+=f,l+=f),u+=o.m,c+=i.m,d+=s.m,l+=a.m;o&&!PT(a)&&(a.t=o,a.m+=u-l),i&&!NT(s)&&(s.t=i,s.m+=c-d,r=t)}return r}function c(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function VT(e,t,n,r,i){var a=e.children,o,s=a.length,c,l=Array(s+1);for(l[0]=c=o=0;o<s;++o)l[o+1]=c+=a[o].value;u(0,s,e.value,t,n,r,i);function u(e,t,n,r,i,o,s){if(e>=t-1){var c=a[e];c.x0=r,c.y0=i,c.x1=o,c.y1=s;return}for(var d=l[e],f=n/2+d,p=e+1,m=t-1;p<m;){var h=p+m>>>1;l[h]<f?p=h+1:m=h}f-l[p-1]<l[p]-f&&e+1<p&&--p;var g=l[p]-d,_=n-g;if(o-r>s-i){var v=n?(r*_+o*g)/n:o;u(e,p,g,r,i,v,s),u(p,t,_,v,i,o,s)}else{var y=n?(i*_+s*g)/n:s;u(e,p,g,r,i,o,y),u(p,t,_,r,y,o,s)}}}function HT(e,t,n,r,i){(e.depth&1?hn:Sn)(e,t,n,r,i)}var UT=(function e(t){function n(e,n,r,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,c,l,u=-1,d,f=o.length,p=e.value;++u<f;){for(s=o[u],c=s.children,l=s.value=0,d=c.length;l<d;++l)s.value+=c[l].value;s.dice?Sn(s,n,r,i,p?r+=(a-r)*s.value/p:a):hn(s,n,r,p?n+=(i-n)*s.value/p:i,a),p-=s.value}else e._squarify=o=wn(t,e,n,r,i,a),o.ratio=t}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(xn),WT=t({nest:()=>KT,pack:()=>eE,partition:()=>nE,stratify:()=>rE,tree:()=>oE,treelinks:()=>sE,treemap:()=>uE});function GT(e,t,n){let r={};return e.each(e=>{let i=e.data;n(i)&&(r[t(i)]=e)}),e.lookup=r,e}function KT(e){F.call(this,null,e)}KT.Definition={type:`Nest`,metadata:{treesource:!0,changes:!0},params:[{name:`keys`,type:`field`,array:!0},{name:`generate`,type:`boolean`}]};var qT=e=>e.values;N(KT,F,{transform(e,t){t.source||j(`Nest transform requires an upstream data source.`);var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(e=>{e.children&&jr(e.data)&&i.rem.push(e.data)}),this.value=a=Cn({values:E(e.keys).reduce((e,t)=>(e.key(t),e),JT()).entries(i.source)},qT),n&&a.each(e=>{e.children&&(e=Nr(e.data),i.add.push(e),i.source.push(e))}),GT(a,P,P)),i.source.root=a,i}});function JT(){let e=[],t={entries:e=>r(n(e,0),0),key:n=>(e.push(n),t)};function n(t,r){if(r>=e.length)return t;let i=t.length,a=e[r++],o={},s={},c=-1,l,u,d;for(;++c<i;)l=a(u=t[c])+``,(d=o[l])?d.push(u):o[l]=[u];for(l in o)s[l]=n(o[l],r);return s}function r(t,n){if(++n>e.length)return t;let i=[];for(let e in t)i.push({key:e,values:r(t[e],n)});return i}return t}function YT(e){F.call(this,null,e)}var XT=(e,t)=>e.parent===t.parent?1:2;N(YT,F,{transform(e,t){(!t.source||!t.source.root)&&j(this.constructor.name+` transform requires a backing tree data source.`);let n=this.layout(e.method),r=this.fields,i=t.source.root,a=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(Lr(e.sort,e=>e.data)),ZT(n,this.params,e),n.separation&&n.separation(e.separation===!1?A:XT);try{this.value=n(i)}catch(e){j(e)}return i.each(e=>QT(e,r,a)),t.reflow(e.modified()).modifies(a).modifies(`leaf`)}});function ZT(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 QT(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 $T=[`x`,`y`,`r`,`depth`,`children`];function eE(e){YT.call(this,e)}eE.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:$T.length,default:$T}]},N(eE,YT,{layout:vT,params:[`radius`,`size`,`padding`],fields:$T});var tE=[`x0`,`y0`,`x1`,`y1`,`depth`,`children`];function nE(e){YT.call(this,e)}nE.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:tE.length,default:tE}]},N(nE,YT,{layout:ST,params:[`size`,`round`,`padding`],fields:tE});function rE(e){F.call(this,null,e)}rE.Definition={type:`Stratify`,metadata:{treesource:!0},params:[{name:`key`,type:`field`,required:!0},{name:`parentKey`,type:`field`,required:!0}]},N(rE,F,{transform(e,t){t.source||j(`Stratify transform requires an upstream data source.`);let n=this.value,r=e.modified(),i=t.fork(t.ALL).materialize(t.SOURCE),a=!n||r||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return i.source=i.source.slice(),a&&(n=i.source.length?GT(OT().id(e.key).parentId(e.parentKey)(i.source),e.key,x):GT(OT()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var iE={tidy:BT,cluster:Xw},aE=[`x`,`y`,`depth`,`children`];function oE(e){YT.call(this,e)}oE.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:aE.length,default:aE}]},N(oE,YT,{layout(e){let t=e||`tidy`;if(p(iE,t))return iE[t]();j(`Unrecognized Tree layout method: `+t)},params:[`size`,`nodeSize`],fields:aE});function sE(e){F.call(this,[],e)}sE.Definition={type:`TreeLinks`,metadata:{tree:!0,generates:!0,changes:!0},params:[]},N(sE,F,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||j(`TreeLinks transform requires a tree data source.`),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,e=>a[P(e)]=1),r.each(e=>{let t=e.data,n=e.parent&&e.parent.data;n&&a[P(t)]&&a[P(n)]&&i.add.push(Nr({source:n,target:t}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,e=>a[P(e)]=1),n.forEach(e=>{(a[P(e.source)]||a[P(e.target)])&&i.mod.push(e)})),i}});var cE={binary:VT,dice:Sn,slice:hn,slicedice:HT,squarify:yn,resquarify:UT},lE=[`x0`,`y0`,`x1`,`y1`,`depth`,`children`];function uE(e){YT.call(this,e)}uE.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:lE.length,default:lE}]},N(uE,YT,{layout(){let e=En();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{p(cE,t)?e.tile(cE[t]):j(`Unrecognized Treemap layout method: `+t)},e},params:[`method`,`ratio`,`size`,`round`,`padding`,`paddingInner`,`paddingOuter`,`paddingTop`,`paddingRight`,`paddingBottom`,`paddingLeft`],fields:lE});var dE=0,fE=`p_`;function pE(e){return e&&e.gradient}function mE(e,t,n){let r=e.gradient,i=e.id,a=r===`radial`?fE:``;return i||(i=e.id=`gradient_`+dE++,r===`radial`?(e.x1=hE(e.x1,.5),e.y1=hE(e.y1,.5),e.r1=hE(e.r1,0),e.x2=hE(e.x2,.5),e.y2=hE(e.y2,.5),e.r2=hE(e.r2,.5),a=fE):(e.x1=hE(e.x1,0),e.y1=hE(e.y1,0),e.x2=hE(e.x2,1),e.y2=hE(e.y2,0))),t[i]=e,`url(`+(n||``)+`#`+a+i+`)`}function hE(e,t){return e??t}function gE(e,t){var n=[],r;return r={gradient:`linear`,x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(e,t){return n.push({offset:e,color:t}),r}}}var _E={basis:{curve:kt},"basis-closed":{curve:Pt},"basis-open":{curve:Ft},bundle:{curve:Rt,tension:`beta`,value:.85},cardinal:{curve:Vt,tension:`tension`,value:0},"cardinal-open":{curve:Mt,tension:`tension`,value:0},"cardinal-closed":{curve:Nt,tension:`tension`,value:0},"catmull-rom":{curve:Gt,tension:`alpha`,value:.5},"catmull-rom-closed":{curve:Lt,tension:`alpha`,value:.5},"catmull-rom-open":{curve:jt,tension:`alpha`,value:.5},linear:{curve:Kt},"linear-closed":{curve:Ut},monotone:{horizontal:Bt,vertical:At},natural:{curve:It},step:{curve:Ht},"step-after":{curve:Wt},"step-before":{curve:zt}};function vE(e,t,n){var r=p(_E,e)&&_E[e],i=null;return r&&(i=r.curve||r[t||`vertical`],r.tension&&n!=null&&(i=i[r.tension](n))),i}var Bre={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},Vre=/[mlhvzcsqta]([^mlhvzcsqta]*)/gi,Hre=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,Ure=/^((\s+,?\s*)|(,\s*))/,Wre=/^[01]/;function yE(e){let t=[];return(e.match(Vre)||[]).forEach(e=>{let n=e[0],r=n.toLowerCase(),i=Bre[r],a=Gre(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!==0)throw Error(`Invalid SVG path, incorrect parameter count`);if(t.push([n,...a.slice(0,i)]),o!==i){r===`m`&&(n=n===`M`?`L`:`l`);for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}function Gre(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t=e===`a`&&(a===3||a===4)?Wre:Hre,o=n.slice(i).match(t);if(o===null)throw Error(`Invalid SVG path, incorrect parameter type`);i+=o[0].length,r.push(+o[0]);let s=n.slice(i).match(Ure);s!==null&&(i+=s[0].length)}return r}var bE=Math.PI/180,Kre=1e-14,xE=Math.PI/2,SE=Math.PI*2,CE=Math.sqrt(3)/2,wE={},TE={},EE=[].join;function qre(e,t,n,r,i,a,o,s,c){let l=EE.call(arguments);if(wE[l])return wE[l];let u=o*bE,d=Math.sin(u),f=Math.cos(u);n=Math.abs(n),r=Math.abs(r);let p=f*(s-e)*.5+d*(c-t)*.5,m=f*(c-t)*.5-d*(s-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=f/n,_=d/n,v=-d/r,y=f/r,b=g*s+_*c,x=v*s+y*c,S=g*e+_*t,C=v*e+y*t,w=1/((S-b)*(S-b)+(C-x)*(C-x))-.25;w<0&&(w=0);let T=Math.sqrt(w);a==i&&(T=-T);let E=.5*(b+S)-T*(C-x),D=.5*(x+C)+T*(S-b),O=Math.atan2(x-D,b-E),k=Math.atan2(C-D,S-E)-O;k<0&&a===1?k+=SE:k>0&&a===0&&(k-=SE);let A=Math.ceil(Math.abs(k/(xE+.001))),ee=[];for(let e=0;e<A;++e){let t=O+e*k/A,i=O+(e+1)*k/A;ee[e]=[E,D,t,i,n,r,d,f]}return wE[l]=ee}function Jre(e){let t=EE.call(e);if(TE[t])return TE[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7];let u=l*o,d=-c*s,f=c*o,p=l*s,m=Math.cos(i),h=Math.sin(i),g=Math.cos(a),_=Math.sin(a),v=.5*(a-i),y=Math.sin(v*.5),b=8/3*y*y/Math.sin(v),x=n+m-b*h,S=r+h+b*m,C=n+g,w=r+_,T=C+b*_,E=w-b*g;return TE[t]=[u*x+d*S,f*x+p*S,u*T+d*E,f*T+p*E,u*C+d*w,f*C+p*w]}var DE=[`l`,0,0,0,0,0,0,0];function Yre(e,t,n){let r=DE[0]=e[0];if(r===`a`||r===`A`)DE[1]=t*e[1],DE[2]=n*e[2],DE[3]=e[3],DE[4]=e[4],DE[5]=e[5],DE[6]=t*e[6],DE[7]=n*e[7];else if(r===`h`||r===`H`)DE[1]=t*e[1];else if(r===`v`||r===`V`)DE[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)DE[i]=(i%2==1?t:n)*e[i];return DE}function OE(e,t,n,r,i,a){var o,s=null,c=0,l=0,u=0,d=0,f,p,m,h,g=0,_=0;n??=0,r??=0,i??=1,a??=i,e.beginPath&&e.beginPath();for(var v=0,y=t.length;v<y;++v){switch(o=t[v],(i!==1||a!==1)&&(o=Yre(o,i,a)),o[0]){case`l`:c+=o[1],l+=o[2],e.lineTo(c+n,l+r);break;case`L`:c=o[1],l=o[2],e.lineTo(c+n,l+r);break;case`h`:c+=o[1],e.lineTo(c+n,l+r);break;case`H`:c=o[1],e.lineTo(c+n,l+r);break;case`v`:l+=o[1],e.lineTo(c+n,l+r);break;case`V`:l=o[1],e.lineTo(c+n,l+r);break;case`m`:c+=o[1],l+=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`M`:c=o[1],l=o[2],g=c,_=l,e.moveTo(c+n,l+r);break;case`c`:f=c+o[5],p=l+o[6],u=c+o[3],d=l+o[4],e.bezierCurveTo(c+o[1]+n,l+o[2]+r,u+n,d+r,f+n,p+r),c=f,l=p;break;case`C`:c=o[5],l=o[6],u=o[3],d=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,u+n,d+r,c+n,l+r);break;case`s`:f=c+o[3],p=l+o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,c+o[1]+n,l+o[2]+r,f+n,p+r),u=c+o[1],d=l+o[2],c=f,l=p;break;case`S`:f=o[3],p=o[4],u=2*c-u,d=2*l-d,e.bezierCurveTo(u+n,d+r,o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`q`:f=c+o[3],p=l+o[4],u=c+o[1],d=l+o[2],e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`Q`:f=o[3],p=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,f+n,p+r),c=f,l=p,u=o[1],d=o[2];break;case`t`:f=c+o[1],p=l+o[2],s[0].match(/[QqTt]/)===null?(u=c,d=l):s[0]===`t`?(u=2*c-m,d=2*l-h):s[0]===`q`&&(u=2*c-u,d=2*l-d),m=u,h=d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p,u=c+o[1],d=l+o[2];break;case`T`:f=o[1],p=o[2],u=2*c-u,d=2*l-d,e.quadraticCurveTo(u+n,d+r,f+n,p+r),c=f,l=p;break;case`a`:kE(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+c+n,o[7]+l+r]),c+=o[6],l+=o[7];break;case`A`:kE(e,c+n,l+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),c=o[6],l=o[7];break;case`z`:case`Z`:c=g,l=_,e.closePath()}s=o}}function kE(e,t,n,r){let i=qre(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=Jre(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}var AE=.5773502691896257,jE={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,SE)}},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=CE*n,i=r-n*AE,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=CE*n,i=r-n*AE;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=CE*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=CE*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=CE*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=CE*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 Xre(e){return p(jE,e)?jE[e]:Zre(e)}var ME={};function Zre(e){if(!p(ME,e)){let t=yE(e);ME[e]={draw:function(e,n){OE(e,t,0,0,Math.sqrt(n)/2)}}}return ME[e]}var NE=.448084975506;function Qre(e){return e.x}function $re(e){return e.y}function eie(e){return e.width}function tie(e){return e.height}function PE(e){return typeof e==`function`?e:()=>+e}function FE(e,t,n){return Math.max(t,Math.min(e,n))}function nie(){var e=Qre,t=$re,n=eie,r=tie,i=PE(0),a=i,o=i,s=i,c=null;function l(l,u,d){var f,p=u??+e.call(this,l),m=d??+t.call(this,l),h=+n.call(this,l),g=+r.call(this,l),_=Math.min(h,g)/2,v=FE(+i.call(this,l),0,_),y=FE(+a.call(this,l),0,_),b=FE(+o.call(this,l),0,_),x=FE(+s.call(this,l),0,_);if(c||=f=Tt(),v<=0&&y<=0&&b<=0&&x<=0)c.rect(p,m,h,g);else{var S=p+h,C=m+g;c.moveTo(p+v,m),c.lineTo(S-y,m),c.bezierCurveTo(S-NE*y,m,S,m+NE*y,S,m+y),c.lineTo(S,C-x),c.bezierCurveTo(S,C-NE*x,S-NE*x,C,S-x,C),c.lineTo(p+b,C),c.bezierCurveTo(p+NE*b,C,p,C-NE*b,p,C-b),c.lineTo(p,m+v),c.bezierCurveTo(p,m+NE*v,p+NE*v,m,p+v,m),c.closePath()}if(f)return c=null,f+``||null}return l.x=function(t){return arguments.length?(e=PE(t),l):e},l.y=function(e){return arguments.length?(t=PE(e),l):t},l.width=function(e){return arguments.length?(n=PE(e),l):n},l.height=function(e){return arguments.length?(r=PE(e),l):r},l.cornerRadius=function(e,t,n,r){return arguments.length?(i=PE(e),a=t==null?i:PE(t),s=n==null?i:PE(n),o=r==null?a:PE(r),l):i},l.context=function(e){return arguments.length?(c=e??null,l):c},l}function rie(){var e,t,n,r,i=null,a,o,s,c;function l(e,t,n){let r=n/2;if(a){var l=s-t,u=e-o;if(l||u){var d=Math.hypot(l,u),f=(l/=d)*c,p=(u/=d)*c,m=Math.atan2(u,l);i.moveTo(o-f,s-p),i.lineTo(e-l*r,t-u*r),i.arc(e,t,r,m-Math.PI,m),i.lineTo(o+f,s+p),i.arc(o,s,c,m,m+Math.PI)}else i.arc(e,t,r,0,SE);i.closePath()}else a=1;o=e,s=t,c=r}function u(o){var s,c=o.length,u,d=!1,f;for(i??=f=Tt(),s=0;s<=c;++s)!(s<c&&r(u=o[s],s,o))===d&&(d=!d)&&(a=0),d&&l(+e(u,s,o),+t(u,s,o),+n(u,s,o));if(f)return i=null,f+``||null}return u.x=function(t){return arguments.length?(e=t,u):e},u.y=function(e){return arguments.length?(t=e,u):t},u.size=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.context=function(e){return arguments.length?(i=e??null,u):i},u}function IE(e,t){return e??t}var LE=e=>e.x||0,RE=e=>e.y||0,iie=e=>e.width||0,aie=e=>e.height||0,oie=e=>(e.x||0)+(e.width||0),sie=e=>(e.y||0)+(e.height||0),cie=e=>e.startAngle||0,lie=e=>e.endAngle||0,uie=e=>e.padAngle||0,die=e=>e.innerRadius||0,fie=e=>e.outerRadius||0,pie=e=>e.cornerRadius||0,mie=e=>IE(e.cornerRadiusTopLeft,e.cornerRadius)||0,hie=e=>IE(e.cornerRadiusTopRight,e.cornerRadius)||0,gie=e=>IE(e.cornerRadiusBottomRight,e.cornerRadius)||0,_ie=e=>IE(e.cornerRadiusBottomLeft,e.cornerRadius)||0,vie=e=>IE(e.size,64),yie=e=>e.size||1,zE=e=>e.defined!==!1,bie=e=>Xre(e.shape||`circle`),xie=Ot().startAngle(cie).endAngle(lie).padAngle(uie).innerRadius(die).outerRadius(fie).cornerRadius(pie),Sie=uc().x(LE).y1(RE).y0(sie).defined(zE),Cie=uc().y(RE).x1(LE).x0(oie).defined(zE),wie=Yt().x(LE).y(RE).defined(zE),Tie=nie().x(LE).y(RE).width(iie).height(aie).cornerRadius(mie,hie,gie,_ie),Eie=dc().type(bie).size(vie),Die=rie().x(LE).y(RE).defined(zE).size(yie);function BE(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function Oie(e,t){return xie.context(e)(t)}function kie(e,t){let n=t[0],r=n.interpolate||`linear`;return(n.orient===`horizontal`?Cie:Sie).curve(vE(r,n.orient,n.tension)).context(e)(t)}function Aie(e,t){let n=t[0],r=n.interpolate||`linear`;return wie.curve(vE(r,n.orient,n.tension)).context(e)(t)}function VE(e,t,n,r){return Tie.context(e)(t,n,r)}function jie(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Mie(e,t){return Eie.context(e)(t)}function Nie(e,t){return Die.context(e)(t)}var Pie=1;function HE(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||=`clip`+Pie++,s=i.clipping[a]||(i.clipping[a]={id:a});return o(r)?s.path=r(null):BE(n)?s.path=VE(null,n,0,0):(s.width=n.width||0,s.height=n.height||0),`url(#`+a+`)`}function UE(e){this.clear(),e&&this.union(e)}UE.prototype={clone(){return new UE(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(e),c=Math.sin(e),l=t-t*s+n*c,u=n-t*c-n*s;return[s*r-c*i+l,c*r+s*i+u,s*r-c*o+l,c*r+s*o+u,s*a-c*i+l,c*a+s*i+u,s*a-c*o+l,c*a+s*o+u]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function WE(e){this.mark=e,this.bounds=this.bounds||new UE}function GE(e){WE.call(this,e),this.items=this.items||[]}N(GE,WE);var Fie=class{constructor(e){this._pending=0,this._loader=e||te()}pending(){return this._pending}sanitizeURL(e){let t=this;return KE(t),t._loader.sanitize(e,{context:`href`}).then(e=>(qE(t),e)).catch(()=>(qE(t),null))}loadImage(e){let t=this,n=pc();return KE(t),t._loader.sanitize(e,{context:`image`}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=p(e,`crossOrigin`)?e.crossOrigin:`anonymous`;return a!=null&&(i.crossOrigin=a),i.onload=()=>qE(t),i.onerror=()=>qE(t),i.src=r,i}).catch(e=>(qE(t),{complete:!1,width:0,height:0,src:e&&e.url||``}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function KE(e){e._pending+=1}function qE(e){--e._pending}function JE(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth,i=(t.strokeCap===`square`?Math.SQRT2:1)*r/2;n&&(!t.strokeJoin||t.strokeJoin===`miter`)&&(i=Math.max(i,(t.strokeMiterLimit==null?4:+t.strokeMiterLimit)*r/2)),e.expand(i)}return e}var YE=SE-1e-8,XE,ZE,QE,$E,eD,tD,nD,rD,iD=(e,t)=>XE.add(e,t),aD=(e,t)=>iD(ZE=e,QE=t),oD=e=>iD(e,XE.y1),sD=e=>iD(XE.x1,e),cD=(e,t)=>eD*e+nD*t,lD=(e,t)=>tD*e+rD*t,uD=(e,t)=>iD(cD(e,t),lD(e,t)),dD=(e,t)=>aD(cD(e,t),lD(e,t));function fD(e,t){return XE=e,t?($E=t*bE,eD=rD=Math.cos($E),tD=Math.sin($E),nD=-tD):(eD=rD=1,$E=tD=nD=0),pD}var pD={beginPath(){},closePath(){},moveTo:dD,lineTo:dD,rect(e,t,n,r){$E?(uD(e+n,t),uD(e+n,t+r),uD(e,t+r),dD(e,t)):(iD(e+n,t+r),aD(e,t))},quadraticCurveTo(e,t,n,r){let i=cD(e,t),a=lD(e,t),o=cD(n,r),s=lD(n,r);mD(ZE,i,o,oD),mD(QE,a,s,sD),aD(o,s)},bezierCurveTo(e,t,n,r,i,a){let o=cD(e,t),s=lD(e,t),c=cD(n,r),l=lD(n,r),u=cD(i,a),d=lD(i,a);hD(ZE,o,c,u,oD),hD(QE,s,l,d,sD),aD(u,d)},arc(e,t,n,r,i,a){if(r+=$E,i+=$E,ZE=n*Math.cos(i)+e,QE=n*Math.sin(i)+t,Math.abs(i-r)>YE)iD(e-n,t-n),iD(e+n,t+n);else{let o=r=>iD(n*Math.cos(r)+e,n*Math.sin(r)+t),s,c;if(o(r),o(i),i!==r){if(r%=SE,r<0&&(r+=SE),i%=SE,i<0&&(i+=SE),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=SE,s=r-r%xE,c=0;c<4&&s>i;++c,s-=xE)o(s);else for(s=r-r%xE+xE,c=0;c<4&&s<i;++c,s+=xE)o(s)}}}};function mD(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function hD(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,s=e-t,c=0,l=0,u;Math.abs(a)>Kre?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),c=(-o+u)/a,l=(-o-u)/a)):c=.5*s/o,0<c&&c<1&&i(gD(c,e,t,n,r)),0<l&&l<1&&i(gD(l,e,t,n,r))}function gD(e,t,n,r,i){let a=1-e,o=a*a,s=e*e;return o*a*t+3*o*e*n+3*a*s*r+s*e*i}var _D=(_D=fc(1,1))?_D.getContext(`2d`):null,vD=new UE;function yD(e){return function(t,n){if(!_D)return!0;e(_D,t),vD.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=vD;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(_D.isPointInPath(t,e))return!0;return!1}}function bD(e,t){return t.contains(e.x||0,e.y||0)}function xD(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(vD.set(n,r,n+i,r+a))}function SD(e,t){let n=e.x||0,r=e.y||0;return CD(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function CD(e,t,n,r,i){let{x1:a,y1:o,x2:s,y2:c}=e,l=r-t,u=i-n,d=0,f=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(a-t)),g===1&&(p=l,m=s-t),g===2&&(p=-u,m=-(o-n)),g===3&&(p=u,m=c-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>f)return!1;h>d&&(d=h)}else if(p>0){if(h<d)return!1;h<f&&(f=h)}}return!0}function wD(e,t){e.globalCompositeOperation=t.blend||`source-over`}function TD(e,t){return e??t}function ED(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function DD(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient===`radial`)a=e.createRadialGradient(n.x1+TD(t.x1,.5)*r,n.y1+TD(t.y1,.5)*i,Math.max(r,i)*TD(t.r1,0),n.x1+TD(t.x2,.5)*r,n.y1+TD(t.y2,.5)*i,Math.max(r,i)*TD(t.r2,.5));else{let o=TD(t.x1,0),s=TD(t.y1,0),c=TD(t.x2,1),l=TD(t.y2,0);if(o===c||s===l||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+s*i,n.x1+c*r,n.y1+l*i);else{let n=fc(Math.ceil(r),Math.ceil(i)),a=n.getContext(`2d`);return a.scale(r,i),a.fillStyle=ED(a.createLinearGradient(o,s,c,l),t.stops),a.fillRect(0,0,r,i),e.createPattern(n,`no-repeat`)}}return ED(a,t.stops)}function OD(e,t,n){return pE(n)?DD(e,n,t.bounds):n}function kD(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0&&(e.globalAlpha=n,e.fillStyle=OD(e,t,t.fill),!0)}var AD=[];function jD(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=OD(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||`butt`,e.lineJoin=t.strokeJoin||`miter`,e.miterLimit=t.strokeMiterLimit==null?4:t.strokeMiterLimit,e.setLineDash&&(e.setLineDash(t.strokeDash||AD),e.lineDashOffset=t.strokeDashOffset||0),!0))}function MD(e,t){return e.zindex-t.zindex||e.index-t.index}function ND(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(MD)}function PD(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=ND(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 FD(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=ND(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 ID(e){return function(t,n,r){PD(n,n=>{(!r||r.intersects(n.bounds))&&RD(e,t,n,n)})}}function LD(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&RD(e,t,n.items[0],n.items)}}function RD(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(wD(t,n),n.fill&&kD(t,n,i)&&t.fill(),n.stroke&&jD(t,n,i)&&t.stroke()))}function zD(e){return e||=x,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,FD(n,n=>{let s=n.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,n,r,i,a,o))return n})}}function BD(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,s=t??o.fill,c=o.stroke&&n.isPointInStroke,l,u;return c&&(l=o.strokeWidth,u=o.strokeCap,n.lineWidth=l??1,n.lineCap=u??`butt`),e(n,r)?!1:s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a)}}function VD(e){return zD(BD(e))}function HD(e,t){return`translate(`+e+`,`+t+`)`}function UD(e){return`rotate(`+e+`)`}function WD(e,t){return`scale(`+e+`,`+t+`)`}function GD(e){return HD(e.x||0,e.y||0)}function KD(e){return HD(e.x||0,e.y||0)+(e.angle?` `+UD(e.angle):``)}function qD(e){return HD(e.x||0,e.y||0)+(e.angle?` `+UD(e.angle):``)+(e.scaleX||e.scaleY?` `+WD(e.scaleX||1,e.scaleY||1):``)}function JD(e,t,n){function r(e,n){e(`transform`,KD(n)),e(`d`,t(null,n))}function i(e,n){return t(fD(e,n.angle),n),JE(e,n,!0).translate(n.x||0,n.y||0)}function a(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=bE),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:`path`,nested:!1,attr:r,bound:i,draw:ID(a),pick:VD(a),isect:n||yD(a)}}var YD=JD(`arc`,Oie);function XD(e,t){for(var n=e[0].orient===`horizontal`?t[1]:t[0],r=e[0].orient===`horizontal`?`y`:`x`,i=e.length,a=1/0,o,s;--i>=0;)e[i].defined!==!1&&(s=Math.abs(e[i][r]-n),s<a&&(a=s,o=e[i]));return o}function ZD(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 QD(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 $D(e,t,n){function r(e,n){var r=n.mark.items;r.length&&e(`d`,t(null,r))}function i(e,n){var r=n.items;return r.length===0?e:(t(fD(e),r),JE(e,r[0],!0))}function a(e,n){e.beginPath(),t(e,n)}let o=BD(a);function s(e,t,n,r,i,a){var s=t.items,c=t.bounds;return!s||!s.length||c&&!c.contains(i,a)?null:(n*=e.pixelRatio,r*=e.pixelRatio,o(e,s,n,r)?s[0]:null)}return{type:e,tag:`path`,nested:!0,attr:r,bound:i,draw:LD(a),pick:s,isect:bD,tip:n}}var eO=$D(`area`,kie,XD);function tO(e,t){var n=t.clip;e.save(),o(n)?(e.beginPath(),n(e),e.clip()):nO(e,t.group)}function nO(e,t){e.beginPath(),BE(t)?VE(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function rO(e){let t=TD(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function iO(e,t){e(`transform`,GD(t))}function aO(e,t){let n=rO(t);e(`d`,VE(null,t,n,n))}function oO(e,t){e(`class`,`background`),e(`aria-hidden`,!0),aO(e,t)}function sO(e,t){e(`class`,`foreground`),e(`aria-hidden`,!0),t.strokeForeground?aO(e,t):e(`d`,``)}function cO(e,t,n){e(`clip-path`,t.clip?HE(n,t,t):null)}function lO(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),JE(e,t),e.translate(t.x||0,t.y||0)}function uO(e,t,n,r){let i=rO(t);e.beginPath(),VE(e,t,(n||0)+i,(r||0)+i)}var dO=BD(uO),fO=BD(uO,!1),pO=BD(uO,!0);function mO(e,t,n,r){PD(t,t=>{let i=t.x||0,a=t.y||0,o=t.strokeForeground,s=t.opacity==null?1:t.opacity;(t.stroke||t.fill)&&s&&(uO(e,t,i,a),wD(e,t),t.fill&&kD(e,t,s)&&e.fill(),t.stroke&&!o&&jD(e,t,s)&&e.stroke()),e.save(),e.translate(i,a),t.clip&&nO(e,t),n&&n.translate(-i,-a),PD(t,t=>{(t.marktype===`group`||r==null||r.includes(t.marktype))&&this.draw(e,t,n,r)}),n&&n.translate(i,a),e.restore(),o&&t.stroke&&s&&(uO(e,t,i,a),wD(e,t),jD(e,t,s)&&e.stroke())})}function hO(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,s=r*e.pixelRatio;return FD(t,c=>{let l,u,d,f=c.bounds;if(f&&!f.contains(i,a))return;u=c.x||0,d=c.y||0;let p=u+(c.width||0),m=d+(c.height||0),h=c.clip;if(h&&(i<u||i>p||a<d||a>m))return;if(e.save(),e.translate(u,d),u=i-u,d=a-d,h&&BE(c)&&!pO(e,c,o,s))return e.restore(),null;let g=c.strokeForeground,_=t.interactive!==!1;return _&&g&&c.stroke&&fO(e,c,o,s)?(e.restore(),c):(l=FD(c,e=>gO(e,u,d)?this.pick(e,n,r,u,d):null),!l&&_&&(c.fill||!g&&c.stroke)&&dO(e,c,o,s)&&(l=c),e.restore(),l||null)})}function gO(e,t,n){return(e.interactive!==!1||e.marktype===`group`)&&e.bounds&&e.bounds.contains(t,n)}var _O={type:`group`,tag:`g`,nested:!1,attr:iO,bound:lO,draw:mO,pick:hO,isect:xD,content:cO,background:oO,foreground:sO},vO={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,version:`1.1`};function yO(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(t=>{e.image=t,e.image.url=e.url})),n}function bO(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 xO(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 SO(e,t){return e===`center`?t/2:e===`right`?t:0}function CO(e,t){return e===`middle`?t/2:e===`bottom`?t:0}function wO(e,t,n){let r=yO(t,n),i=bO(t,r),a=xO(t,r),o=(t.x||0)-SO(t.align,i),s=(t.y||0)-CO(t.baseline,a);e(`href`,!r.src&&r.toDataURL?r.toDataURL():r.src||``,vO[`xmlns:xlink`],`xlink:href`),e(`transform`,HD(o,s)),e(`width`,i),e(`height`,a),e(`preserveAspectRatio`,t.aspect===!1?`none`:`xMidYMid`)}function TO(e,t){let n=t.image,r=bO(t,n),i=xO(t,n),a=(t.x||0)-SO(t.align,r),o=(t.y||0)-CO(t.baseline,i);return e.set(a,o,a+r,o+i)}function EO(e,t,n){PD(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=yO(t,this),i=bO(t,r),a=xO(t,r);if(i===0||a===0)return;let o=(t.x||0)-SO(t.align,i),s=(t.y||0)-CO(t.baseline,a),c,l,u;t.aspect!==!1&&(c=r.width/r.height,l=t.width/t.height,c===c&&l===l&&c!==l&&(l<c?(u=i/c,s+=(a-u)/2,a=u):(u=a*c,o+=(i-u)/2,i=u))),(r.complete||r.toDataURL)&&(wD(e,t),e.globalAlpha=t.opacity??1,e.imageSmoothingEnabled=t.smooth!==!1,e.drawImage(r,o,s,i,a))})}var DO={type:`image`,tag:`image`,nested:!1,attr:wO,bound:TO,draw:EO,pick:zD(),isect:x,get:yO,xOffset:SO,yOffset:CO},OO=$D(`line`,Aie,ZD);function kO(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e(`vector-effect`,`non-scaling-stroke`),e(`transform`,qD(t)),e(`d`,t.path)}function AO(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,s=(t.angle||0)*bE,c=t.pathCache;(!c||c.path!==n)&&((t.pathCache=c=yE(n)).path=n),s&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(s),OE(e,c,0,0,a,o),e.rotate(-s),e.translate(-r,-i)):OE(e,c,r,i,a,o)}function jO(e,t){return AO(fD(e,t.angle),t)?e.set(0,0,0,0):JE(e,t,!0)}var MO={type:`path`,tag:`path`,nested:!1,attr:kO,bound:jO,draw:ID(AO),pick:VD(AO),isect:yD(AO)};function NO(e,t){e(`d`,VE(null,t))}function PO(e,t){var n,r;return JE(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function FO(e,t){e.beginPath(),VE(e,t)}var IO={type:`rect`,tag:`path`,nested:!1,attr:NO,bound:PO,draw:ID(FO),pick:VD(FO),isect:xD};function LO(e,t){e(`transform`,GD(t)),e(`x2`,t.x2==null?0:t.x2-(t.x||0)),e(`y2`,t.y2==null?0:t.y2-(t.y||0))}function RO(e,t){var n,r;return JE(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function zO(e,t,n){var r,i,a,o;return t.stroke&&jD(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 BO(e,t,n){PD(t,t=>{if(!(n&&!n.intersects(t.bounds))){var r=t.opacity==null?1:t.opacity;r&&zO(e,t,r)&&(wD(e,t),e.stroke())}})}function VO(e,t,n,r){return e.isPointInStroke?zO(e,t,1)&&e.isPointInStroke(n,r):!1}var HO={type:`rule`,tag:`line`,nested:!1,attr:LO,bound:RO,draw:BO,pick:zD(VO),isect:SD},UO=JD(`shape`,jie),WO=JD(`symbol`,Mie,bD),GO=cr(),KO={height:QO,measureWidth:XO,estimateWidth:JO,width:JO,canvas:qO};qO(!0);function qO(e){KO.width=e&&_D?XO:JO}function JO(e,t){return YO(nk(e,t),QO(e))}function YO(e,t){return~~(.8*e.length*t)}function XO(e,t){return QO(e)<=0||!(t=nk(e,t))?0:ZO(t,ok(e))}function ZO(e,t){let n=`(${t}) ${e}`,r=GO.get(n);return r===void 0&&(_D.font=t,r=_D.measureText(e).width,GO.set(n,r)),r}function QO(e){return e.fontSize==null?11:+e.fontSize||0}function $O(e){return e.lineHeight==null?QO(e)+2:e.lineHeight}function ek(e){return h(e)?e.length>1?e:e[0]:e}function tk(e){return ek(e.lineBreak&&e.text&&!h(e.text)?e.text.split(e.lineBreak):e.text)}function nk(e,t){let n=t==null?``:(t+``).trim();return e.limit>0&&n.length?ik(e,n):n}function rk(e){if(KO.width===XO){let t=ok(e);return e=>ZO(e,t)}if(KO.width===JO){let t=QO(e);return e=>YO(e,t)}return t=>KO.width(e,t)}function ik(e,t){var n=+e.limit,r=rk(e);if(r(t)<n)return t;var i=e.ellipsis||`…`,a=e.dir===`rtl`,o=0,s=t.length,c;if(n-=r(i),a){for(;o<s;)c=o+s>>>1,r(t.slice(c))>n?o=c+1:s=c;return i+t.slice(o)}for(;o<s;)c=1+(o+s>>>1),r(t.slice(0,c))<n?o=c:s=c-1;return t.slice(0,o)+i}function ak(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,`'`):n)||`sans-serif`}function ok(e,t){return(e.fontStyle?e.fontStyle+` `:``)+(e.fontVariant?e.fontVariant+` `:``)+(e.fontWeight?e.fontWeight+` `:``)+QO(e)+`px `+ak(e,t)}function sk(e){var t=e.baseline,n=QO(e);return Math.round(t===`top`?.79*n:t===`middle`?.3*n:t===`bottom`?-.21*n:t===`line-top`?.29*n+.5*$O(e):t===`line-bottom`?.29*n-.5*$O(e):0)}var ck={left:`start`,center:`middle`,right:`end`},lk=new UE;function uk(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-xE,t+=r*Math.cos(i),n+=r*Math.sin(i)),lk.x1=t,lk.y1=n,lk}function dk(e,t){var n=t.dx||0,r=(t.dy||0)+sk(t),i=uk(t),a=i.x1,o=i.y1,s=t.angle||0,c;e(`text-anchor`,ck[t.align]||`start`),s?(c=HD(a,o)+` `+UD(s),(n||r)&&(c+=` `+HD(n,r))):c=HD(a+n,o+r),e(`transform`,c)}function fk(e,t,n){var r=KO.height(t),i=t.align,a=uk(t),o=a.x1,s=a.y1,c=t.dx||0,l=(t.dy||0)+sk(t)-Math.round(.8*r),u=tk(t),d;if(h(u)?(r+=$O(t)*(u.length-1),d=u.reduce((e,n)=>Math.max(e,KO.width(t,n)),0)):d=KO.width(t,u),i===`center`?c-=d/2:i===`right`&&(c-=d),e.set(c+=o,l+=s,c+d,l+r),t.angle&&!n)e.rotate(t.angle*bE,o,s);else if(n===2)return e.rotatedPoints(t.angle*bE,o,s);return e}function pk(e,t,n){PD(t,t=>{var r=t.opacity==null?1:t.opacity,i,a,o,s,c,l,u;if(!(n&&!n.intersects(t.bounds)||r===0||t.fontSize<=0||t.text==null||t.text.length===0)){if(e.font=ok(t),e.textAlign=t.align||`left`,i=uk(t),a=i.x1,o=i.y1,t.angle&&(e.save(),e.translate(a,o),e.rotate(t.angle*bE),a=o=0),a+=t.dx||0,o+=(t.dy||0)+sk(t),l=tk(t),wD(e,t),h(l))for(c=$O(t),s=0;s<l.length;++s)u=nk(t,l[s]),t.fill&&kD(e,t,r)&&e.fillText(u,a,o),t.stroke&&jD(e,t,r)&&e.strokeText(u,a,o),o+=c;else u=nk(t,l),t.fill&&kD(e,t,r)&&e.fillText(u,a,o),t.stroke&&jD(e,t,r)&&e.strokeText(u,a,o);t.angle&&e.restore()}})}function mk(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=uk(t),s=o.x1,c=o.y1,l=fk(lk,t,1),u=-t.angle*bE,d=Math.cos(u),f=Math.sin(u),p=d*i-f*a+(s-d*s+f*c),m=f*i+d*a+(c-f*s-d*c);return l.contains(p,m)}function hk(e,t){let n=fk(lk,e,2);return CD(t,n[0],n[1],n[2],n[3])||CD(t,n[0],n[1],n[4],n[5])||CD(t,n[4],n[5],n[6],n[7])||CD(t,n[2],n[3],n[6],n[7])}var gk={arc:YD,area:eO,group:_O,image:DO,line:OO,path:MO,rect:IO,rule:HO,shape:UO,symbol:WO,text:{type:`text`,tag:`text`,nested:!1,attr:dk,bound:fk,draw:pk,pick:zD(mk),isect:hk},trail:$D(`trail`,Nie,QD)};function _k(e,t,n){var r=gk[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new UE),e,n)}var vk={mark:null};function yk(e,t,n){var r=gk[e.marktype],i=r.bound,a=e.items,o=a&&a.length,s,c,l,u;if(r.nested)return o?l=a[0]:(vk.mark=e,l=vk),u=_k(l,i,n),t=t&&t.union(u)||u,t;if(t=t||e.bounds&&e.bounds.clear()||new UE,o)for(s=0,c=a.length;s<c;++s)t.union(_k(a[s],i,n));return e.bounds=t}var bk=`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 xk(e,t){return JSON.stringify(e,bk,t)}function Sk(e){return Ck(typeof e==`string`?JSON.parse(e):e)}function Ck(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`&&Ck(n[i]);return t&&yk(e),e}var wk=class{constructor(e){arguments.length?this.root=Sk(e):(this.root=Tk({marktype:`group`,name:`root`,role:`frame`}),this.root.items=[new GE(this.root)])}toJSON(e){return xk(this.root,e||0)}mark(e,t,n){t||=this.root.items[0];let r=Tk(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function Tk(e,t){let n={bounds:new UE,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 Ek(e,t,n){return!e&&typeof document<`u`&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function Dk(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 Ok(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Ek(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function kk(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function Ak(e){return`mark-`+e.marktype+(e.role?` role-`+e.role:``)+(e.name?` `+e.name:``)}function jk(e,t){if(t.getScreenCTM){let n=Mk(e,t.getScreenCTM());if(n)return n}return Nk(e,t,t.getBoundingClientRect())}function Mk(e,t){if(!t)return null;let n=t.a*t.d-t.b*t.c;if(!n)return null;let r=e.clientX-t.e,i=e.clientY-t.f;return[(t.d*r-t.c*i)/n,(t.a*i-t.b*r)/n]}function Nk(e,t,n){let r=t.offsetWidth?n.width/t.offsetWidth:1,i=t.offsetHeight?n.height/t.offsetHeight:1;return[(e.clientX-n.left)/r-(t.clientLeft||0),(e.clientY-n.top)/i-(t.clientTop||0)]}function Pk(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=gk[i.marktype]).tip){for(o=jk(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 Fk=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||te(),this._tooltip=t||Ik}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let e in t)n.push(...t[e]);return n}eventName(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:`href`}).then(t=>{let n=new MouseEvent(e.type,e),r=Ek(null,`a`);for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=Pk(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),s=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)s+=e.x||0,c+=e.y||0;return{x:s,y:c,width:a,height:o,left:s,top:c,right:s+a,bottom:c+o}}};function Ik(e,t,n,r){e.element().setAttribute(`title`,r||``)}var Lk=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new Fie(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r}sanitizeURL(e){return this._load(`sanitizeURL`,e)}loadImage(e){return this._load(`loadImage`,e)}},Rk=`keydown`,zk=`keypress`,Bk=`keyup`,Vk=`dragenter`,Hk=`dragleave`,Uk=`dragover`,Wk=`pointerdown`,Gk=`pointerup`,Kk=`pointermove`,qk=`pointerout`,Jk=`pointerover`,Yk=`mousedown`,Xk=`mouseup`,Zk=`mousemove`,Qk=`mouseout`,$k=`mouseover`,eA=`click`,tA=`dblclick`,nA=`wheel`,rA=`mousewheel`,iA=`touchstart`,aA=`touchmove`,oA=`touchend`,sA=[Rk,zk,Bk,Vk,Hk,Uk,Wk,Gk,Kk,qk,Jk,Yk,Xk,Zk,Qk,$k,eA,tA,nA,rA,iA,aA,oA],cA=Kk,lA=Qk,uA=eA,dA=class extends Fk{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=sA,this.pointermove=gA([Kk,Zk],[Jk,$k],[qk,Qk]),this.dragover=gA([Uk],[Vk],[Hk]),this.pointerout=_A([qk,Qk]),this.dragleave=_A([Hk])}initialize(e,t,n){return this._canvas=e&&Dk(e,`canvas`),[eA,Yk,Wk,Kk,qk,Hk].forEach(e=>pA(this,e)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext(`2d`)}DOMMouseScroll(e){this.fire(rA,e)}pointerdown(e){this._down=this._active,this.fire(Wk,e)}mousedown(e){this._down=this._active,this.fire(Yk,e)}click(e){this._down===this._active&&(this.fire(eA,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&=(this._active=this._touch,!1),this.fire(iA,e,!0)}touchmove(e){this.fire(aA,e,!0)}touchend(e){this.fire(oA,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===uA&&r&&r.href?this.handleHref(t,r,r.href):(e===cA||e===lA)&&this.handleTooltip(t,r,e!==lA),i)for(let e=0,n=i.length;e<n;++e)i[e].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(pA(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=jk(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 gk[e.marktype].pick.call(this,a,e,t,n,r,i)}},fA=e=>e===iA||e===aA||e===oA?[iA,aA,oA]:[e];function pA(e,t){fA(t).forEach(t=>mA(e,t))}function mA(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))}function hA(e,t,n){t.forEach(t=>e.fire(t,n))}function gA(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?hA(this,e,r):((!i||!i.exit)&&hA(this,n,r),this._active=a,hA(this,t,r),hA(this,e,r))}}function _A(e){return function(t){hA(this,e,t),this._active=null}}function vA(){return typeof window<`u`&&window.devicePixelRatio||1}function yA(e,t,n,r,i,a){let o=typeof HTMLElement<`u`&&e instanceof HTMLElement&&e.parentNode!=null,s=e.getContext(`2d`),c=o?vA():i;e.width=t*c,e.height=n*c;for(let e in a)s[e]=a[e];return o&&(e.style.width=t+`px`,e.style.height=n+`px`),s.pixelRatio=c,s.setTransform(c,0,0,c,c*r[0],c*r[1]),e}var bA=class extends Lk{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new UE,this._tempb=new UE}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:fc(1,1,this._options.type),e&&this._canvas&&(kk(e,0).appendChild(this._canvas),this._canvas.setAttribute(`class`,`marks`),this._canvas.style.setProperty(`vertical-align`,`bottom`)),super.initialize(e,t,n,r,i)}resize(e,t,n,r){if(super.resize(e,t,n,r),this._canvas)yA(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;e||j(`CanvasRenderer is missing a valid canvas or context`),e.scale(this._scale,this._scale),e.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext(`2d`):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,s=xA(r,i,a);n.save();let c=this._redraw||o.empty()?(this._redraw=!1,s.expand(1)):SA(n,s.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!==`group`&&r!=null&&!r.includes(t.marktype))return;let i=gk[t.marktype];t.clip&&tO(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))}},xA=(e,t,n)=>new UE().set(0,0,t,n).translate(-e[0],-e[1]);function SA(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 CA=class extends Fk{constructor(e,t){super(e,t);let n=this;n._hrefHandler=wA(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=wA(n,(e,t)=>{n.handleTooltip(e,t,e.type!==lA)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(uA,this._hrefHandler),r.removeEventListener(cA,this._tooltipHandler),r.removeEventListener(lA,this._tooltipHandler)),this._svg=r=e&&Dk(e,`svg`),r&&(r.addEventListener(uA,this._hrefHandler),r.addEventListener(cA,this._tooltipHandler),r.addEventListener(lA,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:wA(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}},wA=(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)},TA=`aria-hidden`,EA=`aria-label`,DA=`role`,OA=`aria-roledescription`,kA=`graphics-object`,AA=`graphics-symbol`,jA=(e,t,n)=>({[DA]:e,[OA]:t,[EA]:n||void 0}),MA=pr([`axis-domain`,`axis-grid`,`axis-label`,`axis-tick`,`axis-title`,`legend-band`,`legend-entry`,`legend-gradient`,`legend-label`,`legend-title`,`legend-symbol`,`title`]),NA={axis:{desc:`axis`,caption:BA},legend:{desc:`legend`,caption:VA},"title-text":{desc:`title`,caption:e=>`Title text '${zA(e)}'`},"title-subtitle":{desc:`subtitle`,caption:e=>`Subtitle text '${zA(e)}'`}},PA={ariaRole:DA,ariaRoleDescription:OA,description:EA};function FA(e,t){let n=t.aria===!1;if(e(TA,n||void 0),n||t.description==null)for(let t in PA)e(PA[t],void 0);else{let n=t.mark.marktype;e(EA,t.description),e(DA,t.ariaRole||(n===`group`?kA:AA)),e(OA,t.ariaRoleDescription||`${n} mark`)}}function IA(e){return e.aria===!1?{[TA]:!0}:MA[e.role]?null:NA[e.role]?RA(e,NA[e.role]):LA(e)}function LA(e){let t=e.marktype;return jA(t===`group`||t===`text`||e.items.some(e=>e.description!=null&&e.aria!==!1)?kA:AA,`${t} mark container`,e.description)}function RA(e,t){try{let n=e.items[0],r=t.caption||(()=>``);return jA(t.role||AA,t.desc,e.description||n.description||r(n))}catch{return null}}function zA(e){return E(e.text).join(` `)}function BA(e){let t=e.datum,n=e.orient,r=t.title?HA(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),s=a.type;return`${n===`left`||n===`right`?`Y`:`X`}-axis`+(r?` titled '${r}'`:``)+` for a ${Zl(s)?`discrete`:s} scale with ${zu(o,a,e)}`}function VA(e){let t=e.datum,n=t.title?HA(e):null,r=`${t.type||``} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,s=o.scales[i[a[0]]].value,c=o.dataflow.locale();return WA(r)+(n?` titled '${n}'`:``)+` for ${UA(a)} with ${zu(c,s,e)}`}function HA(e){try{return E(M(e.items).items[0].text).join(` `)}catch{return null}}function UA(e){return e=e.map(e=>e+(e===`fill`||e===`stroke`?` color`:``)),e.length<2?e[0]:e.slice(0,-1).join(`, `)+` and `+M(e)}function WA(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var GA=e=>(e+``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),KA=e=>GA(e).replace(/"/g,`&quot;`).replace(/\t/g,`&#x9;`).replace(/\n/g,`&#xA;`).replace(/\r/g,`&#xD;`);function qA(){let e=``,t=``,n=``,r=[],i=()=>t=n=``,a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(n!=null&&(t+=` ${e}="${KA(n)}"`),s),s={open(e,...n){a(e),t=`<`+e;for(let e of n)for(let t in e)o(t,e[t]);return s},close(){let a=r.pop();return e+=t?t+(n?`>${n}</${a}>`:`/>`):`</${a}>`,i(),s},attr:o,text:e=>(n+=GA(e),s),toString:()=>e};return s}var JA=e=>YA(qA(),e)+``;function YA(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let t=0;t<r;++t)e.attr(n[t].name,n[t].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let t of n)t.nodeType===3?e.text(t.nodeValue):YA(e,t)}return e.close()}var XA={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`},ZA={blend:`mix-blend-mode`},QA={fill:`none`,"stroke-miterlimit":4},$A=0,ej=`http://www.w3.org/2000/xmlns/`,tj=vO.xmlns,nj=class extends Lk{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=Ok(e,0,`svg`,tj),this._svg.setAttributeNS(ej,`xmlns`,tj),this._svg.setAttributeNS(ej,`xmlns:xlink`,vO[`xmlns:xlink`]),this._svg.setAttribute(`version`,vO.version),this._svg.setAttribute(`class`,`marks`),this._svg.style.setProperty(`vertical-align`,`bottom`),kk(e,1),this._root=Ok(this._svg,$A,`g`,tj),mj(this._root,QA),kk(this._svg,1)),this.background(this._bgcolor),super.initialize(e,t,n,r,i)}background(e){return arguments.length&&this._svg&&this._svg.style.setProperty(`background-color`,e),super.background(...arguments)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svg&&(mj(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute(`transform`,`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){let e=this._svg,t=this._bgcolor;if(!e)return null;let n=e.getAttribute(`style`);e.removeAttribute(`style`);let r;t&&(r=Ok(e,$A,`rect`,tj),mj(r,{width:this._width,height:this._height,fill:t}));let i=JA(e);return t&&e.removeChild(r),n&&e.setAttribute(`style`,n),i}_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),kk(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,s,c;for(o=0,s=e.length;o<s;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=gk[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,rj(n,t),r.items.forEach(e=>{e.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.removeChild(n._svg)),n._svg=null;continue}n=a.nested?r.items[0]:n,n._update!==t&&(!n._svg||!n._svg.ownerSVGElement?(this._dirtyAll=!1,rj(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=gk[a],s=t.interactive===!1?`none`:null,c=o.tag===`g`,l=sj(t,e,n,`g`,i);if(a!==`group`&&r!=null&&!r.includes(a))return kk(l,0),t._svg;l.setAttribute(`class`,Ak(t));let u=IA(t);for(let e in u)hj(l,e,u[e]);c||hj(l,`pointer-events`,s),hj(l,`clip-path`,t.clip?HE(this,t,t.group):null);let d=null,f=0,p=e=>{let t=this.isDirty(e),n=sj(e,l,d,o.tag,i);t&&(this._update(o,n,e),c&&oj(this,n,e,r)),d=n,++f};return o.nested?t.items.length&&p(t.items[0]):PD(t,p),kk(l,f),l}_update(e,t,n){lj=t,uj=t.__values__,FA(fj,n),e.attr(fj,n,this);let r=dj[e.type];r&&r.call(this,e,t,n),lj&&this.style(lj,n)}style(e,t){if(t!=null){for(let n in XA){let r=n===`font`?ak(t):t[n];if(r===uj[n])continue;let i=XA[n];r==null?e.removeAttribute(i):(pE(r)&&(r=mE(r,this._defs.gradient,_j())),e.setAttribute(i,r+``)),uj[n]=r}for(let n in ZA)pj(e,ZA[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=Ok(e,1,`defs`,tj)),r=ij(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=Ok(e,1,`defs`,tj)),r=aj(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):kk(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function rj(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 ij(e,t,n){let r,i,a;if(t.gradient===`radial`){let r=Ok(e,n++,`pattern`,tj);mj(r,{id:fE+t.id,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),r=Ok(r,0,`rect`,tj),mj(r,{width:1,height:1,fill:`url(${_j()}#${t.id})`}),e=Ok(e,n++,`radialGradient`,tj),mj(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=Ok(e,n++,`linearGradient`,tj),mj(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=Ok(e,r,`stop`,tj),a.setAttribute(`offset`,t.stops[r].offset),a.setAttribute(`stop-color`,t.stops[r].color);return kk(e,r),n}function aj(e,t,n){let r;return e=Ok(e,n,`clipPath`,tj),e.setAttribute(`id`,t.id),t.path?(r=Ok(e,0,`path`,tj),r.setAttribute(`d`,t.path)):(r=Ok(e,0,`rect`,tj),mj(r,{x:0,y:0,width:t.width,height:t.height})),kk(e,1),n+1}function oj(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;PD(n,n=>{i=e.mark(t,n,i,r),++a}),kk(t,1+a)}function sj(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Ek(o,r,tj),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:`default`},r===`g`))){let t=Ek(o,`path`,tj);a.appendChild(t),t.__data__=e;let n=Ek(o,`g`,tj);a.appendChild(n),n.__data__=e;let r=Ek(o,`path`,tj);a.appendChild(r),r.__data__=e,r.__values__={fill:`default`}}return(a.ownerSVGElement!==i||cj(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function cj(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var lj=null,uj=null,dj={group(e,t,n){let r=lj=t.childNodes[2];uj=r.__values__,e.foreground(fj,n,this),uj=t.__values__,lj=t.childNodes[1],e.content(fj,n,this);let i=lj=t.childNodes[0];e.background(fj,n,this);let a=n.mark.interactive===!1?`none`:null;if(a!==uj.events&&(hj(r,`pointer-events`,a),hj(i,`pointer-events`,a),uj.events=a),n.strokeForeground&&n.stroke){let e=n.fill;hj(r,`display`,null),this.style(i,n),hj(i,`stroke`,null),e&&(n.fill=null),uj=r.__values__,this.style(r,n),e&&(n.fill=e),lj=null}else hj(r,`display`,`none`)},image(e,t,n){n.smooth===!1?(pj(t,`image-rendering`,`optimizeSpeed`),pj(t,`image-rendering`,`pixelated`)):pj(t,`image-rendering`,null)},text(e,t,n){let r=tk(n),i,a,o,s;h(r)?(a=r.map(e=>nk(n,e)),i=a.join(`
3
+ `),i!==uj.text&&(kk(t,0),o=t.ownerDocument,s=$O(n),a.forEach((e,r)=>{let i=Ek(o,`tspan`,tj);i.__data__=n,i.textContent=e,r&&(i.setAttribute(`x`,0),i.setAttribute(`dy`,s)),t.appendChild(i)}),uj.text=i)):(a=nk(n,r),a!==uj.text&&(t.textContent=a,uj.text=a)),hj(t,`font-family`,ak(n)),hj(t,`font-size`,QO(n)+`px`),hj(t,`font-style`,n.fontStyle),hj(t,`font-variant`,n.fontVariant),hj(t,`font-weight`,n.fontWeight)}};function fj(e,t,n){t!==uj[e]&&(n?gj(lj,e,t,n):hj(lj,e,t),uj[e]=t)}function pj(e,t,n){n!==uj[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+``),uj[t]=n)}function mj(e,t){for(let n in t)hj(e,n,t[n])}function hj(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function gj(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function _j(){let e;return typeof window>`u`?``:(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var vj=class extends Lk{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=qA();t.open(`svg`,g({},vO,{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`,QA,{transform:`translate(`+this._origin+`)`}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+``,this}mark(e,t){let n=gk[t.marktype],r=n.tag,i=[FA,n.attr];e.open(`g`,{class:Ak(t),"clip-path":t.clip?HE(this,t,t.group):null},IA(t),{"pointer-events":r!==`g`&&t.interactive===!1?`none`:null});let a=a=>{let o=this.href(a);if(o&&e.open(`a`,o),e.open(r,this.attr(t,a,i,r===`g`?null:r)),r===`text`){let t=tk(a);if(h(t)){let n={x:0,dy:$O(a)};for(let r=0;r<t.length;++r)e.open(`tspan`,r?n:null).text(nk(a,t[r])).close()}else e.text(nk(a,t))}else if(r===`g`){let r=a.strokeForeground,i=a.fill,o=a.stroke;r&&o&&(a.stroke=null),e.open(`path`,this.attr(t,a,n.background,`bgrect`)).close(),e.open(`g`,this.attr(t,a,n.content)),PD(a,t=>this.mark(e,t)),e.close(),r&&o?(i&&(a.fill=null),a.stroke=o,e.open(`path`,this.attr(t,a,n.foreground,`bgrect`)).close(),i&&(a.fill=i)):e.open(`path`,this.attr(t,a,n.foreground,`bgfore`)).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):PD(t,a),e.close()}href(e){let t=e.href,n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(e=>{e[`xlink:href`]=e.href,e.href=null,(this._hrefs||={})[t]=e})}return null}attr(e,t,n,r){let i={},a=(e,t,n,r)=>{i[r||e]=t};return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),r&&yj(i,t,e,r,this._defs),i}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){e.open(`defs`);for(let n in t){let r=t[n],i=r.stops;r.gradient===`radial`?(e.open(`pattern`,{id:fE+n,viewBox:`0,0,1,1`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid slice`}),e.open(`rect`,{width:`1`,height:`1`,fill:`url(#`+n+`)`}).close(),e.close(),e.open(`radialGradient`,{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open(`linearGradient`,{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t<i.length;++t)e.open(`stop`,{offset:i[t].offset,"stop-color":i[t].color}).close();e.close()}for(let t in n){let r=n[t];e.open(`clipPath`,{id:t}),r.path?e.open(`path`,{d:r.path}).close():e.open(`rect`,{x:0,y:0,width:r.width,height:r.height}).close(),e.close()}e.close()}}};function yj(e,t,n,r,i){let a;if(t==null||(r===`bgrect`&&n.interactive===!1&&(e[`pointer-events`]=`none`),r===`bgfore`&&(n.interactive===!1&&(e[`pointer-events`]=`none`),e.display=`none`,t.fill!==null)))return e;r===`image`&&t.smooth===!1&&(a=[`image-rendering: optimizeSpeed;`,`image-rendering: pixelated;`]),r===`text`&&(e[`font-family`]=ak(t),e[`font-size`]=QO(t)+`px`,e[`font-style`]=t.fontStyle,e[`font-variant`]=t.fontVariant,e[`font-weight`]=t.fontWeight);for(let n in XA){let r=t[n],a=XA[n];r===`transparent`&&(a===`fill`||a===`stroke`)||r!=null&&(pE(r)&&(r=mE(r,i.gradient,``)),e[a]=r)}for(let e in ZA){let n=t[e];n!=null&&(a||=[],a.push(`${ZA[e]}: ${n};`))}return a&&(e.style=a.join(` `)),e}var bj={svgMarkTypes:[`text`],svgOnTop:!0,debug:!1},xj=class extends Lk{constructor(e){super(e),this._svgRenderer=new nj(e),this._canvasRenderer=new bA(e)}initialize(e,t,n,r,i){this._root_el=Ok(e,0,`div`);let a=Ok(this._root_el,0,`div`),o=Ok(this._root_el,1,`div`);return this._root_el.style.position=`relative`,bj.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=bj.svgOnTop?o:a,this._canvasEl=bj.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 bj.svgMarkTypes.includes(e.mark.marktype)?this._svgRenderer.dirty(e):this._canvasRenderer.dirty(e),this}_render(e,t){let n=(t??[`arc`,`area`,`image`,`line`,`path`,`rect`,`rule`,`shape`,`symbol`,`text`,`trail`]).filter(e=>!bj.svgMarkTypes.includes(e));this._svgRenderer.render(e,bj.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 bj.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},Sj=class extends dA{constructor(e,t){super(e,t)}initialize(e,t,n){let r=Ok(Ok(e,0,`div`),+!bj.svgOnTop,`div`);return super.initialize(r,t,n)}},Cj=`canvas`,wj=`hybrid`,Tj=`png`,Ej=`svg`,Dj=`none`,Oj={Canvas:Cj,PNG:Tj,SVG:Ej,Hybrid:wj,None:Dj},kj={};kj[Cj]=kj[Tj]={renderer:bA,headless:bA,handler:dA},kj[Ej]={renderer:nj,headless:vj,handler:CA},kj[wj]={renderer:xj,headless:xj,handler:Sj},kj[Dj]={};function Aj(e,t){return e=String(e||``).toLowerCase(),arguments.length>1?(kj[e]=t,this):kj[e]}function jj(e,t,n){let r=[],i=new UE().union(t),a=e.marktype;return a?Mj(e,i,n,r):a===`group`?Pj(e,i,n,r):j(`Intersect scene must be mark node or group item.`)}function Mj(e,t,n,r){if(Nj(e,t,n)){let i=e.items,a=e.marktype,o=i.length,s=0;if(a===`group`)for(;s<o;++s)Pj(i[s],t,n,r);else for(let e=gk[a].isect;s<o;++s){let n=i[s];Fj(n,t,e)&&r.push(n)}}return r}function Nj(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype===`group`||e.interactive!==!1&&(!n||n(e)))}function Pj(e,t,n,r){n&&n(e.mark)&&Fj(e,t,gk.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,s=e.y||0;t.translate(-o,-s);for(let e=0;e<a;++e)Mj(i[e],t,n,r);t.translate(o,s)}return r}function Fj(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}new UE;var Ij=t({label:()=>gM}),Lj=4278190080;function Rj(e,t){let n=e.bitmap();return(t||[]).forEach(t=>n.set(e(t.boundary[0]),e(t.boundary[3]))),[n,void 0]}function zj(e,t,n,r,i){let a=e.width,o=e.height,s=r||i,c=fc(a,o).getContext(`2d`),l=fc(a,o).getContext(`2d`),u=s&&fc(a,o).getContext(`2d`);n.forEach(e=>Vj(c,e,!1)),Vj(l,t,!1),s&&Vj(u,t,!0);let d=Bj(c,a,o),f=Bj(l,a,o),p=s&&Bj(u,a,o),m=e.bitmap(),h=s&&e.bitmap(),g,_,v,y,b,x,S,C;for(_=0;_<o;++_)for(g=0;g<a;++g)b=_*a+g,x=d[b]&Lj,C=f[b]&Lj,S=s&&p[b]&Lj,(x||S||C)&&(v=e(g),y=e(_),!i&&(x||C)&&m.set(v,y),s&&(x||S)&&h.set(v,y));return[m,h]}function Bj(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function Vj(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r===`group`?t.forEach(t=>{t.items.forEach(t=>Vj(e,t.items,n))}):gk[r].draw(e,{items:n?t.map(Hj):t})}function Hj(e){let t=Fr(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:`#000`,fillOpacity:0}:t}var Uj=5,Wj=31,Gj=32,Kj=new Uint32Array(33),qj=new Uint32Array(33);qj[0]=0,Kj[0]=~qj[0];for(let e=1;e<=Gj;++e)qj[e]=qj[e-1]<<1|1,Kj[e]=~qj[e];function Jj(e,t){let n=new Uint32Array(~~((e*t+Gj)/Gj));function r(e,t){n[e]|=t}function i(e,t){n[e]&=t}return{array:n,get:(t,r)=>{let i=r*e+t;return n[i>>>Uj]&1<<(i&Wj)},set:(t,n)=>{let i=n*e+t;r(i>>>Uj,1<<(i&Wj))},clear:(t,n)=>{let r=n*e+t;i(r>>>Uj,~(1<<(r&Wj)))},getRange:(t,r,i,a)=>{let o=a,s,c,l,u;for(;o>=r;--o)if(s=o*e+t,c=o*e+i,l=s>>>Uj,u=c>>>Uj,l===u){if(n[l]&Kj[s&Wj]&qj[(c&Wj)+1])return!0}else{if(n[l]&Kj[s&Wj]||n[u]&qj[(c&Wj)+1])return!0;for(let e=l+1;e<u;++e)if(n[e])return!0}return!1},setRange:(t,n,i,a)=>{let o,s,c,l,u;for(;n<=a;++n)if(o=n*e+t,s=n*e+i,c=o>>>Uj,l=s>>>Uj,c===l)r(c,Kj[o&Wj]&qj[(s&Wj)+1]);else for(r(c,Kj[o&Wj]),r(l,qj[(s&Wj)+1]),u=c+1;u<l;++u)r(u,4294967295)},clearRange:(t,n,r,a)=>{let o,s,c,l,u;for(;n<=a;++n)if(o=n*e+t,s=n*e+r,c=o>>>Uj,l=s>>>Uj,c===l)i(c,qj[o&Wj]|Kj[(s&Wj)+1]);else for(i(c,qj[o&Wj]),i(l,Kj[(s&Wj)+1]),u=c+1;u<l;++u)i(u,0)},outOfBounds:(n,r,i,a)=>n<0||r<0||a>=t||i>=e}}function Yj(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),o=e=>~~((e+n)/r);return o.invert=e=>e*r-n,o.bitmap=()=>Jj(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}function Xj(e,t,n,r){let i=e.width,a=e.height;return function(e){let t=e.datum.datum.items[r].items,n=t.length,o=e.datum.fontSize,s=KO.width(e.datum,e.datum.text),c=0,l,u,d,f,p,m,h;for(let r=0;r<n;++r)l=t[r].x,d=t[r].y,u=t[r].x2===void 0?l:t[r].x2,f=t[r].y2===void 0?d:t[r].y2,p=(l+u)/2,m=(d+f)/2,h=Math.abs(u-l+f-d),h>=c&&(c=h,e.x=p,e.y=m);return p=s/2,m=o/2,l=e.x-p,u=e.x+p,d=e.y-m,f=e.y+m,e.align=`center`,l<0&&u<=i?e.align=`left`:0<=l&&i<u&&(e.align=`right`),e.baseline=`middle`,d<0&&f<=a?e.baseline=`top`:0<=d&&a<f&&(e.baseline=`bottom`),!0}}function Zj(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 Qj(e,t,n,r,i,a,o,s){let c=i*a/(r*2),l=e(t-c),u=e(t+c),d=e(n-(a/=2)),f=e(n+a);return o.outOfBounds(l,d,u,f)||o.getRange(l,d,u,f)||s&&s.getRange(l,d,u,f)}function $j(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1];function c(t,n,r,c,l){let u=e.invert(t),d=e.invert(n),f=r,p=a,m;if(!Zj(u,d,c,l,i,a)&&!Qj(e,u,d,l,c,f,o,s)&&!Qj(e,u,d,l,c,l,o,null)){for(;p-f>=1;)m=(f+p)/2,Qj(e,u,d,l,c,m,o,s)?p=m:f=m;if(f>r)return[u,d,f,!0]}}return function(t){let s=t.datum.datum.items[r].items,l=s.length,u=t.datum.fontSize,d=KO.width(t.datum,t.datum.text),f=n?u:0,p=!1,m=!1,h=0,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te;for(let r=0;r<l;++r){for(g=s[r].x,v=s[r].y,_=s[r].x2===void 0?g:s[r].x2,y=s[r].y2===void 0?v:s[r].y2,g>_&&(te=g,g=_,_=te),v>y&&(te=v,v=y,y=te),w=e(g),E=e(_),T=~~((w+E)/2),D=e(v),k=e(y),O=~~((D+k)/2),S=T;S>=w;--S)for(C=O;C>=D;--C)ee=c(S,C,f,d,u),ee&&([t.x,t.y,f,p]=ee);for(S=T;S<=E;++S)for(C=O;C<=k;++C)ee=c(S,C,f,d,u),ee&&([t.x,t.y,f,p]=ee);!p&&!n&&(A=Math.abs(_-g+y-v),b=(g+_)/2,x=(v+y)/2,A>=h&&!Zj(b,x,d,u,i,a)&&!Qj(e,b,x,u,d,u,o,null)&&(h=A,t.x=b,t.y=x,m=!0))}return p||m?(b=d/2,x=u/2,o.setRange(e(t.x-b),e(t.y-x),e(t.x+b),e(t.y+x)),t.align=`center`,t.baseline=`middle`,!0):!1}}var eM=[-1,-1,1,1],tM=[-1,1,-1,1];function nM(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1],c=e.bitmap();return function(t){let l=t.datum.datum.items[r].items,u=l.length,d=t.datum.fontSize,f=KO.width(t.datum,t.datum.text),p=[],m=n?d:0,h=!1,g=!1,_=0,v,y,b,x,S,C,w,T,E,D,O,k;for(let r=0;r<u;++r){for(v=l[r].x,b=l[r].y,y=l[r].x2===void 0?v:l[r].x2,x=l[r].y2===void 0?b:l[r].y2,p.push([e((v+y)/2),e((b+x)/2)]);p.length;)if([w,T]=p.pop(),!(o.get(w,T)||s.get(w,T)||c.get(w,T))){c.set(w,T);for(let e=0;e<4;++e)S=w+eM[e],C=T+tM[e],c.outOfBounds(S,C,S,C)||p.push([S,C]);if(S=e.invert(w),C=e.invert(T),E=m,D=a,!Zj(S,C,f,d,i,a)&&!Qj(e,S,C,d,f,E,o,s)&&!Qj(e,S,C,d,f,d,o,null)){for(;D-E>=1;)O=(E+D)/2,Qj(e,S,C,d,f,O,o,s)?D=O:E=O;E>m&&(t.x=S,t.y=C,m=E,h=!0)}}!h&&!n&&(k=Math.abs(y-v+x-b),S=(v+y)/2,C=(b+x)/2,k>=_&&!Zj(S,C,f,d,i,a)&&!Qj(e,S,C,d,f,d,o,null)&&(_=k,t.x=S,t.y=C,g=!0))}return h||g?(S=f/2,C=d/2,o.setRange(e(t.x-S),e(t.y-C),e(t.x+S),e(t.y+C)),t.align=`center`,t.baseline=`middle`,!0):!1}}var rM=[`right`,`center`,`left`],iM=[`bottom`,`middle`,`top`];function aM(e,t,n,r){let i=e.width,a=e.height,o=t[0],s=t[1],c=r.length;return function(t){let l=t.boundary,u=t.datum.fontSize;if(l[2]<0||l[5]<0||l[0]>i||l[3]>a)return!1;let d=t.textWidth??0,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E;for(let i=0;i<c;++i){if(f=(n[i]&3)-1,p=(n[i]>>>2&3)-1,m=f===0&&p===0||r[i]<0,h=f&&p?Math.SQRT1_2:1,g=r[i]<0?-1:1,_=l[1+f]+r[i]*f*h,S=l[4+p]+g*u*p/2+r[i]*p*h,y=S-u/2,b=S+u/2,C=e(_),T=e(y),E=e(b),!d){if(oM(C,C,T,E,o,s,_,_,y,b,l,m))d=KO.width(t.datum,t.datum.text);else continue}if(x=_+g*d*f/2,_=x-d/2,v=x+d/2,C=e(_),w=e(v),oM(C,w,T,E,o,s,_,v,y,b,l,m))return t.x=f?f*g<0?v:_:x,t.y=p?p*g<0?b:y:S,t.align=rM[f*g+1],t.baseline=iM[p*g+1],o.setRange(C,T,w,E),!0}return!1}}function oM(e,t,n,r,i,a,o,s,c,l,u,d){return!(i.outOfBounds(e,n,t,r)||(d&&a||i).getRange(e,n,t,r))}var sM={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},cM={naive:Xj,"reduced-search":$j,floodfill:nM};function lM(e,t,n,r,i,a,o,s,c,l,u){if(!e.length)return e;let d=Math.max(r.length,i.length),f=uM(r,d),p=dM(i,d),m=fM(e[0].datum),h=m===`group`&&e[0].datum.items[c].marktype,g=h===`area`,_=pM(m,h,s,c),v=l===null||l===1/0,y=g&&u===`naive`,b=-1,x=-1,S=e.map(e=>{let t=v?KO.width(e,e.text):void 0;return b=Math.max(b,t),x=Math.max(x,e.fontSize),{datum:e,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:_(e),textWidth:t}});l=l===null||l===1/0?Math.max(b,x)+Math.max(...r):l;let C=Yj(t[0],t[1],l),w;if(!y){n&&S.sort((e,t)=>n(e.datum,t.datum));let t=!1;for(let e=0;e<p.length&&!t;++e)t=p[e]===5||f[e]<0;let r=(m&&o||g)&&e.map(e=>e.datum);w=a.length||r?zj(C,r||[],a,t,g):Rj(C,o&&S)}let T=g?cM[u](C,w,o,c):aM(C,w,p,f);return S.forEach(e=>e.opacity=+T(e)),S}function uM(e,t){let n=new Float64Array(t),r=e.length;for(let t=0;t<r;++t)n[t]=e[t]||0;for(let e=r;e<t;++e)n[e]=n[r-1];return n}function dM(e,t){let n=new Int8Array(t),r=e.length;for(let t=0;t<r;++t)n[t]|=sM[e[t]];for(let e=r;e<t;++e)n[e]=n[r-1];return n}function fM(e){return e&&e.mark&&e.mark.marktype}function pM(e,t,n,r){let i=e=>[e.x,e.x,e.x,e.y,e.y,e.y];return e?e===`line`||e===`area`?e=>i(e.datum):t===`line`?e=>{let t=e.datum.items[r].items;return i(t.length?t[n===`start`?0:t.length-1]:{x:NaN,y:NaN})}:e=>{let t=e.datum.bounds;return[t.x1,(t.x1+t.x2)/2,t.x2,t.y1,(t.y1+t.y2)/2,t.y2]}:i}var mM=[`x`,`y`,`opacity`,`align`,`baseline`],hM=[`top-left`,`left`,`bottom-left`,`top`,`bottom`,`top-right`,`right`,`bottom-right`];function gM(e){F.call(this,null,e)}gM.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:hM},{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:mM.length,default:mM}]},N(gM,F,{transform(e,t){function n(n){let r=e[n];return o(r)&&t.modified(r.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n(`sort`)))return;(!e.size||e.size.length!==2)&&j(`Size parameter should be specified as a [width, height] array.`);let i=e.as||mM;return lM(t.materialize(t.SOURCE).source||[],e.size,e.sort,E(e.offset==null?1:e.offset),E(e.anchor||hM),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||`end`,e.markIndex||0,e.padding===void 0?0:e.padding,e.method||`naive`).forEach(e=>{let t=e.datum;t[i[0]]=e.x,t[i[1]]=e.y,t[i[2]]=e.opacity,t[i[3]]=e.align,t[i[4]]=e.baseline}),t.reflow(r).modifies(i)}});var _M=t({loess:()=>yM,regression:()=>SM});function vM(e,t){var n=[],r=function(e){return e(s)},i,a,o,s,c,l;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)s=e[a],c=t.map(r),l=i[c],l||(i[c]=l=[],l.dims=c,n.push(l)),l.push(s);return n}function yM(e){F.call(this,null,e)}yM.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}]},N(yM,F,{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=vM(r,e.groupby),a=(e.groupby||[]).map(ne),o=a.length,s=e.as||[ne(e.x),ne(e.y)],c=[];i.forEach(t=>{Ca(t,e.x,e.y,e.bandwidth||.3).forEach(e=>{let n={};for(let e=0;e<o;++e)n[a[e]]=t.dims[e];n[s[0]]=e[0],n[s[1]]=e[1],c.push(Nr(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=c}return n}});var bM={constant:ca,linear:pa,log:ma,exp:ha,pow:ga,quad:_a,poly:va},xM=(e,t)=>e===`poly`?t:e===`quad`?2:1;function SM(e){F.call(this,null,e)}SM.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(bM)},{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}]},N(SM,F,{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=vM(r,e.groupby),a=(e.groupby||[]).map(ne),o=e.method||`linear`,s=e.order==null?3:e.order,c=xM(o,s),l=e.as||[ne(e.x),ne(e.y)],u=bM[o],d=[],f=e.extent;p(bM,o)||j(`Invalid regression method: `+o),f!=null&&o===`log`&&f[0]<=0&&(t.dataflow.warn(`Ignoring extent with values <= 0 for log regression.`),f=null),i.forEach(n=>{if(n.length<=c){t.dataflow.warn(`Skipping regression with more parameters than data points.`);return}let r=u(n,e.x,e.y,s);if(e.params){d.push(Nr({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));return}let i=f||$n(n,e.x),p=e=>{let t={};for(let e=0;e<a.length;++e)t[a[e]]=n.dims[e];t[l[0]]=e[0],t[l[1]]=e[1],d.push(Nr(t))};o===`linear`||o===`constant`?i.forEach(e=>p([e,r.predict(e)])):Oa(r.predict,i,25,200).forEach(p)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=d}return n}});var CM=11102230246251565e-32,wM=134217729,TM=3.000000000000001*CM;function EM(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function DM(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function z(e){return new Float64Array(e)}var OM=(3+16*CM)*CM,kM=(2+12*CM)*CM,AM=(9+64*CM)*CM*CM,jM=z(4),MM=z(8),NM=z(12),PM=z(16),FM=z(4);function IM(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=wM*T,p=f-(f-T),m=T-p,f=wM*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=wM*D,p=f-(f-D),m=D-p,f=wM*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,jM[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,jM[1]=y-(_+d)+(d-S),w=v+_,d=w-v,jM[2]=v-(w-d)+(_-d),jM[3]=w;let k=DM(4,jM),A=kM*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=AM*o+TM*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=wM*s,p=f-(f-s),m=s-p,f=wM*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=wM*c,p=f-(f-c),m=c-p,f=wM*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,FM[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,FM[1]=y-(_+d)+(d-S),w=v+_,d=w-v,FM[2]=v-(w-d)+(_-d),FM[3]=w;let ee=EM(4,jM,4,FM,MM);b=T*u,f=wM*T,p=f-(f-T),m=T-p,f=wM*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=wM*D,p=f-(f-D),m=D-p,f=wM*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,FM[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,FM[1]=y-(_+d)+(d-S),w=v+_,d=w-v,FM[2]=v-(w-d)+(_-d),FM[3]=w;let te=EM(ee,MM,4,FM,NM);return b=s*u,f=wM*s,p=f-(f-s),m=s-p,f=wM*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=wM*c,p=f-(f-c),m=c-p,f=wM*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,FM[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,FM[1]=y-(_+d)+(d-S),w=v+_,d=w-v,FM[2]=v-(w-d)+(_-d),FM[3]=w,PM[EM(te,NM,4,FM,PM)-1]}function LM(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=OM*l?c:-IM(e,t,n,r,i,a,l)}(7+56*CM)*CM,(3+28*CM)*CM,(26+288*CM)*CM*CM,z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(8),z(8),z(8),z(4),z(8),z(8),z(16),z(12),z(192),z(192),(10+96*CM)*CM,(4+48*CM)*CM,(44+576*CM)*CM*CM,z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(8),z(8),z(8),z(8),z(8),z(8),z(8),z(8),z(8),z(4),z(4),z(4),z(8),z(16),z(16),z(16),z(32),z(32),z(48),z(64),z(1152),z(1152),(16+224*CM)*CM,(5+72*CM)*CM,(71+1408*CM)*CM*CM,z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(4),z(24),z(24),z(24),z(24),z(24),z(24),z(24),z(24),z(24),z(24),z(1152),z(1152),z(1152),z(1152),z(1152),z(2304),z(2304),z(3456),z(5760),z(8),z(8),z(8),z(16),z(24),z(48),z(48),z(96),z(192),z(384),z(384),z(384),z(768),z(96),z(96),z(96),z(1152);var RM=2**-52,zM=new Uint32Array(512),BM=class e{static from(t,n=JM,r=YM){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=HM(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=HM(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=WM(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];KM(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(LM(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=GM(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=HM(e[2*t],e[2*t+1],S.x,S.y);KM(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=RM&&Math.abs(u-s)<=RM||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],LM(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],LM(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],LM(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(VM(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=zM[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(UM(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<zM.length&&(zM[i++]=s)}else{if(i===0)break;e=zM[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function VM(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function HM(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function UM(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function WM(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function GM(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function KM(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;qM(e,i,a),t[e[n]]>t[e[r]]&&qM(e,n,r),t[e[a]]>t[e[r]]&&qM(e,a,r),t[e[n]]>t[e[a]]&&qM(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;qM(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(KM(e,t,a,r),KM(e,t,n,o-1)):(KM(e,t,n,o-1),KM(e,t,a,r))}}function qM(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function JM(e){return e[0]}function YM(e){return e[1]}var XM=1e-6,ZM=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)>XM||Math.abs(this._y1-i)>XM)&&(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}},QM=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}},$M=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new ZM:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new ZM: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 ZM:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new QM;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},eN=2*Math.PI,tN=Math.pow;function nN(e){return e[0]}function rN(e){return e[1]}function iN(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function aN(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var oN=class e{static from(t,n=nN,r=rN,i){return new e(`length`in t?sN(t,n,r,i):Float64Array.from(cN(t,n,r,i)))}constructor(e){this._delaunator=new BM(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&iN(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=aN(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new BM(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new $M(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=tN(t-c[e*2],2)+tN(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=tN(t-c[r*2],2)+tN(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&tN(t-c[f*2],2)+tN(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new ZM:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new ZM:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,eN)}return n&&n.value()}renderHull(e){let t=e==null?e=new ZM:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new QM;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new ZM:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new QM;return this.renderTriangle(e,t),t.value()}};function sN(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*cN(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 lN=t({voronoi:()=>uN});function uN(e){F.call(this,null,e)}uN.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 dN=[-1e5,-1e5,1e5,1e5];N(uN,F,{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]]:dN;let a=this.value=oN.from(r,e.x,e.y).voronoi(i);for(let e=0,t=r.length;e<t;++e){let t=a.cellPolygon(e);r[e][n]=t&&!pN(t)?fN(t):null}return t.reflow(e.modified()).modifies(n)}});function fN(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 pN(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var mN=t({wordcloud:()=>CN}),hN=Math.PI/180,gN=64,_N=2048;function vN(){var e=[256,256],t,n,r,i,a,o,s,c=bN,l=[],u=Math.random,d={};d.layout=function(){for(var c=f(fc()),d=Bie((e[0]>>5)*e[1]),m=null,h=l.length,g=-1,_=[],v=l.map(e=>({text:t(e),font:n(e),style:i(e),weight:a(e),rotate:o(e),size:~~(r(e)+1e-14),padding:s(e),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:e})).sort((e,t)=>t.size-e.size);++g<h;){var y=v[g];y.x=e[0]*(u()+.5)>>1,y.y=e[1]*(u()+.5)>>1,yN(c,y,v,g),y.hasText&&p(d,y,m)&&(_.push(y),m?Lie(m,y):m=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=e[0]>>1,y.y-=e[1]>>1)}return _};function f(e){e.width=e.height=1;var t=Math.sqrt(e.getContext(`2d`).getImageData(0,0,1,1).data.length>>2);e.width=(gN<<5)/t,e.height=_N/t;var n=e.getContext(`2d`);return n.fillStyle=n.strokeStyle=`red`,n.textAlign=`center`,{context:n,ratio:t}}function p(t,n,r){for(var i=n.x,a=n.y,o=Math.hypot(e[0],e[1]),s=c(e),l=u()<.5?1:-1,d=-l,f,p,m;(f=s(d+=l))&&(p=~~f[0],m=~~f[1],!(Math.min(Math.abs(p),Math.abs(m))>=o));)if(n.x=i+p,n.y=a+m,!(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>e[0]||n.y+n.y1>e[1])&&(!r||!Iie(n,t,e[0]))&&(!r||Rie(n,r))){for(var h=n.sprite,g=n.width>>5,_=e[0]>>5,v=n.x-(g<<4),y=v&127,b=32-y,x=n.y1-n.y0,S=(n.y+n.y0)*_+(v>>5),C,w=0;w<x;w++){C=0;for(var T=0;T<=g;T++)t[S+T]|=C<<b|(T<g?(C=h[w*g+T])>>>y:0);S+=_}return n.sprite=null,!0}return!1}return d.words=function(e){return arguments.length?(l=e,d):l},d.size=function(t){return arguments.length?(e=[+t[0],+t[1]],d):e},d.font=function(e){return arguments.length?(n=xN(e),d):n},d.fontStyle=function(e){return arguments.length?(i=xN(e),d):i},d.fontWeight=function(e){return arguments.length?(a=xN(e),d):a},d.rotate=function(e){return arguments.length?(o=xN(e),d):o},d.text=function(e){return arguments.length?(t=xN(e),d):t},d.spiral=function(e){return arguments.length?(c=Vie[e]||e,d):c},d.fontSize=function(e){return arguments.length?(r=xN(e),d):r},d.padding=function(e){return arguments.length?(s=xN(e),d):s},d.random=function(e){return arguments.length?(u=e,d):u},d}function yN(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,(gN<<5)/a,_N/a);var o=0,s=0,c=0,l=n.length,u,d,f,p,m;for(--r;++r<l;){if(t=n[r],i.save(),i.font=t.style+` `+t.weight+` `+~~((t.size+1)/a)+`px `+t.font,u=i.measureText(t.text+`m`).width*a,f=t.size<<1,t.rotate){var h=Math.sin(t.rotate*hN),g=Math.cos(t.rotate*hN),_=u*g,v=u*h,y=f*g,b=f*h;u=Math.max(Math.abs(_+b),Math.abs(_-b))+31>>5<<5,f=~~Math.max(Math.abs(v+y),Math.abs(v-y))}else u=u+31>>5<<5;if(f>c&&(c=f),o+u>=gN<<5&&(o=0,s+=c,c=0),s+f>=_N)break;i.translate((o+(u>>1))/a,(s+(f>>1))/a),t.rotate&&i.rotate(t.rotate*hN),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=u,t.height=f,t.xoff=o,t.yoff=s,t.x1=u>>1,t.y1=f>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,o+=u}for(var x=i.getImageData(0,0,(gN<<5)/a,_N/a).data,S=[];--r>=0;)if(t=n[r],t.hasText){for(u=t.width,d=u>>5,f=t.y1-t.y0,p=0;p<f*d;p++)S[p]=0;if(o=t.xoff,o==null)return;s=t.yoff;var C=0,w=-1;for(m=0;m<f;m++){for(p=0;p<u;p++){var T=d*m+(p>>5),E=x[(s+m)*(gN<<5)+(o+p)<<2]?1<<31-p%32:0;S[T]|=E,C|=E}C?w=m:(t.y0++,f--,m--,s++)}t.y1=t.y0+w,t.sprite=S.slice(0,(t.y1-t.y0)*d)}}}function Iie(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,a=e.x-(i<<4),o=a&127,s=32-o,c=e.y1-e.y0,l=(e.y+e.y0)*n+(a>>5),u,d=0;d<c;d++){u=0;for(var f=0;f<=i;f++)if((u<<s|(f<i?(u=r[d*i+f])>>>o:0))&t[l+f])return!0;l+=n}return!1}function Lie(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 Rie(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 bN(e){var t=e[0]/e[1];return function(e){return[t*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function zie(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(e){var a=e<0?-1:1;switch(Math.sqrt(1+4*a*e)-a&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t}return[r,i]}}function Bie(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function xN(e){return typeof e==`function`?e:function(){return e}}var Vie={archimedean:bN,rectangular:zie},SN=[`x`,`y`,`font`,`fontSize`,`fontStyle`,`fontWeight`,`angle`],Hie=[`text`,`font`,`rotate`,`fontSize`,`fontStyle`,`fontWeight`];function CN(e){F.call(this,vN(),e)}CN.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:SN}]},N(CN,F,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&j(`Wordcloud size dimensions must be non-zero.`);function n(n){let r=e[n];return o(r)&&t.modified(r.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||Hie.some(n)))return;let i=t.materialize(t.SOURCE).source,a=this.value,s=e.as||SN,c=e.fontSize||14,l;if(o(c)?l=e.fontSizeRange:c=Zn(c),l){let e=c,t=ql(`sqrt`)().domain($n(i,e)).range(l);c=n=>t(e(n))}i.forEach(e=>{e[s[0]]=NaN,e[s[1]]=NaN,e[s[3]]=0});let u=a.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||`archimedean`).rotate(e.rotate||0).font(e.font||`sans-serif`).fontStyle(e.fontStyle||`normal`).fontWeight(e.fontWeight||`normal`).fontSize(c).random(Bi).layout(),d=a.size(),f=d[0]>>1,p=d[1]>>1,m=u.length;for(let e=0,t,n;e<m;++e)t=u[e],n=t.datum,n[s[0]]=t.x+f,n[s[1]]=t.y+p,n[s[2]]=t.font,n[s[3]]=t.size,n[s[4]]=t.style,n[s[5]]=t.weight,n[s[6]]=t.rotate;return t.reflow(r).modifies(s)}});var Uie=t({crossfilter:()=>ON,resolvefilter:()=>kN}),Wie=e=>new Uint8Array(e),Gie=e=>new Uint16Array(e),wN=e=>new Uint32Array(e);function Kie(){let e=8,t=[],n=wN(0),r=TN(0,e),i=TN(0,e);return{data:()=>t,seen:()=>n=qie(n,t.length),add(e){for(let n=0,r=t.length,i=e.length,a;n<i;++n)a=e[n],a._index=r++,t.push(a)},remove(e,n){let a=t.length,o=Array(a-e),s=t,c,l,u;for(l=0;!n[l]&&l<a;++l)o[l]=t[l],s[l]=l;for(u=l;l<a;++l)c=t[l],n[l]?s[l]=-1:(s[l]=u,r[u]=r[l],i[u]=i[l],o[u]=c,c._index=u++),r[l]=0;return t=o,s},size:()=>t.length,curr:()=>r,prev:()=>i,reset:e=>i[e]=r[e],all:()=>e<257?255:e<65537?65535:4294967295,set(e,t){r[e]|=t},clear(e,t){r[e]&=~t},resize(t,n){(t>r.length||n>e)&&(e=Math.max(n,e),r=TN(t,e,r),i=TN(t,e))}}}function qie(e,t,n){return e.length>=t?e:(n||=new e.constructor(t),n.set(e),n)}function TN(e,t,n){let r=(t<257?Wie:t<65537?Gie:wN)(e);return n&&r.set(n),r}function EN(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(e,t){let n=this,i=n.bisect(n.range,e.value),a=e.index,o=i[0],s=i[1],c=a.length,l;for(l=0;l<o;++l)t[a[l]]|=r;for(l=s;l<c;++l)t[a[l]]|=r;return n}}}function DN(){let e=wN(0),t=[],n=0;function r(r,i,a){if(!i.length)return[];let o=n,s=i.length,c=wN(s),l=Array(s),u,d,f;for(f=0;f<s;++f)l[f]=r(i[f]),c[f]=f;if(l=Jie(l,c),o)u=t,d=e,t=Array(o+s),e=wN(o+s),Yie(a,u,d,o,l,c,s,t,e);else{if(a>0)for(f=0;f<s;++f)c[f]+=a;t=l,e=c}return n=o+s,{index:c,value:l}}function i(r,i){let a=n,o,s,c;for(s=0;!i[e[s]]&&s<a;++s);for(c=s;s<a;++s)i[o=e[s]]||(e[c]=o,t[c]=t[s],++c);n=a-r}function a(t){for(let r=0,i=n;r<i;++r)e[r]=t[e[r]]}function o(e,r){let i;return r?i=r.length:(r=t,i=n),[Ie(r,e[0],0,i),Ie(r,e[1],0,i)]}return{insert:r,remove:i,bisect:o,reindex:a,index:()=>e,size:()=>n}}function Jie(e,t){return e.sort.call(t,(t,n)=>{let r=e[t],i=e[n];return r<i?-1:+(r>i)}),Oee(e,t)}function Yie(e,t,n,r,i,a,o,s,c){let l=0,u=0,d;for(d=0;l<r&&u<o;++d)t[l]<i[u]?(s[d]=t[l],c[d]=n[l++]):(s[d]=i[u],c[d]=a[u++]+e);for(;l<r;++l,++d)s[d]=t[l],c[d]=n[l];for(;u<o;++u,++d)s[d]=i[u],c[d]=a[u]+e}function ON(e){F.call(this,Kie(),e),this._indices=null,this._dims=null}ON.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}}]},N(ON,F,{transform(e,t){return this._dims?e.modified(`fields`)||e.fields.some(e=>t.modified(e.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],o=r.length,s=0,c,l;for(;s<o;++s)c=n[s].fname,l=i[c]||(i[c]=DN()),a.push(EN(l,s,r[s]));return this.eval(e,t)},reinit(e,t){let n=t.materialize().fork(),r=e.fields,i=e.query,a=this._indices,o=this._dims,s=this.value,c=s.curr(),l=s.prev(),u=s.all(),d=n.rem=n.add,f=n.mod,p=i.length,m={},h,g,_,v,y,b,x,S,C;if(l.set(c),t.rem.length&&(y=this.remove(e,t,n)),t.add.length&&s.add(t.add),t.mod.length)for(b={},v=t.mod,x=0,S=v.length;x<S;++x)b[v[x]._index]=1;for(x=0;x<p;++x)C=r[x],(!o[x]||e.modified(`fields`,x)||t.modified(C.fields))&&(_=C.fname,(h=m[_])||(a[_]=g=DN(),m[_]=h=g.insert(C,t.source,0)),o[x]=EN(g,x,i[x]).onAdd(h,c));for(x=0,S=s.data().length;x<S;++x)if(y[x])continue;else l[x]===c[x]?b[x]&&c[x]!==u&&f.push(x):d.push(x);return s.mask=(1<<p)-1,n},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified(`query`)&&!e.modified(`fields`)&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,a=this._dims,o=this._indices,s=e.fields,c={},l=n.add,u=i.size()+r.length,d=a.length,f=i.size(),p,m,h;i.resize(u,d),i.add(r);let g=i.curr(),_=i.prev(),v=i.all();for(p=0;p<d;++p)m=s[p].fname,h=c[m]||(c[m]=o[m].insert(s[p],r,f)),a[p].onAdd(h,g);for(;f<u;++f)_[f]=v,g[f]!==v&&l.push(f)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),a=r.all(),o=e.mod,s,c,l;for(s=0,c=o.length;s<c;++s)l=o[s]._index,i[l]!==a&&n.push(l)},remove(e,t,n){let r=this._indices,i=this.value,a=i.curr(),o=i.prev(),s=i.all(),c={},l=n.rem,u=t.rem,d,f,p,m;for(d=0,f=u.length;d<f;++d)p=u[d]._index,c[p]=1,o[p]=m=a[p],a[p]=s,m!==s&&l.push(p);for(p in r)r[p].remove(f,c);return this.reindex(t,f,c),c},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let e=i.remove(t,n);for(let t in r)r[t].reindex(e)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,s=0,c,l;for(n.filters=0,l=0;l<o;++l)e.modified(`query`,l)&&(c=l,++s);if(s===1)s=r[c].one,this.incrementOne(r[c],i[c],n.add,n.rem);else for(l=0,s=0;l<o;++l)e.modified(`query`,l)&&(s|=r[l].one,this.incrementAll(r[l],i[l],a,n.add),n.rem=n.add);return s},incrementAll(e,t,n,r){let i=this.value,a=i.seen(),o=i.curr(),s=i.prev(),c=e.index(),l=e.bisect(e.range),u=e.bisect(t),d=u[0],f=u[1],p=l[0],m=l[1],h=e.one,g,_,v;if(d<p)for(g=d,_=Math.min(p,f);g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;else if(d>p)for(g=p,_=Math.min(d,m);g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;if(f>m)for(g=Math.max(d,m),_=f;g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;else if(f<m)for(g=Math.max(p,f),_=m;g<_;++g)v=c[g],a[v]!==n&&(s[v]=o[v],a[v]=n,r.push(v)),o[v]^=h;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value.curr(),a=e.index(),o=e.bisect(e.range),s=e.bisect(t),c=s[0],l=s[1],u=o[0],d=o[1],f=e.one,p,m,h;if(c<u)for(p=c,m=Math.min(u,l);p<m;++p)h=a[p],i[h]^=f,n.push(h);else if(c>u)for(p=u,m=Math.min(c,d);p<m;++p)h=a[p],i[h]^=f,r.push(h);if(l>d)for(p=Math.max(c,d),m=l;p<m;++p)h=a[p],i[h]^=f,n.push(h);else if(l<d)for(p=Math.max(u,l),m=d;p<m;++p)h=a[p],i[h]^=f,r.push(h);e.range=t.slice()}});function kN(e){F.call(this,null,e)}kN.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.`}]},N(kN,F,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if((i&n)===0)return t.StopPropagation;let a=t.fork(t.ALL),o=r.data(),s=r.curr(),c=r.prev(),l=e=>s[e]&n?null:o[e];return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,e=>{let t=s[e]&n;return!t&&t^c[e]&n?o[e]:null}),a.filter(a.REM,e=>{let t=s[e]&n;return t&&!(t^(t^c[e]&n))?o[e]:null})):(a.filter(a.ADD,l),a.filter(a.REM,e=>(s[e]&n)===i?o[e]:null)),a.filter(a.SOURCE,e=>l(e._index))}});var Xie=`RawCode`,Zie=`Literal`,Qie=`Property`,$ie=`Identifier`,eae=`ArrayExpression`,tae=`BinaryExpression`,nae=`CallExpression`,rae=`ConditionalExpression`,iae=`LogicalExpression`,aae=`MemberExpression`,oae=`ObjectExpression`,sae=`UnaryExpression`;function AN(e){this.type=e}AN.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=cae(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function cae(e){switch(e.type){case eae:return e.elements;case tae:case iae:return[e.left,e.right];case nae:return[e.callee].concat(e.arguments);case rae:return[e.test,e.consequent,e.alternate];case aae:return[e.object,e.property];case oae:return e.properties;case Qie:return[e.key,e.value];case sae:return[e.argument];case $ie:case Zie:case Xie:default:return[]}}var jN,B,V,MN,NN,PN=1,FN=2,IN=3,LN=4,RN=5,zN=6,BN=7,VN=8,lae=9;jN={},jN[PN]=`Boolean`,jN[FN]=`<end>`,jN[IN]=`Identifier`,jN[LN]=`Keyword`,jN[RN]=`Null`,jN[zN]=`Numeric`,jN[BN]=`Punctuator`,jN[VN]=`String`,jN[lae]=`RegularExpression`;var uae=`ArrayExpression`,dae=`BinaryExpression`,fae=`CallExpression`,pae=`ConditionalExpression`,HN=`Identifier`,mae=`Literal`,hae=`LogicalExpression`,gae=`MemberExpression`,_ae=`ObjectExpression`,vae=`Property`,yae=`UnaryExpression`,UN=`Unexpected token %0`,bae=`Unexpected number`,xae=`Unexpected string`,Sae=`Unexpected identifier`,Cae=`Unexpected reserved word`,wae=`Unexpected end of input`,WN=`Invalid regular expression`,GN=`Invalid regular expression: missing /`,KN=`Octal literals are not allowed in strict mode.`,Tae=`Duplicate data property in object literal not allowed in strict mode`,qN=`ILLEGAL`,JN=`Disabled.`,Eae=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]`),Dae=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 YN(e,t){if(!e)throw Error(`ASSERT: `+t)}function XN(e){return e>=48&&e<=57}function ZN(e){return`0123456789abcdefABCDEF`.includes(e)}function QN(e){return`01234567`.includes(e)}function Oae(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 $N(e){return e===10||e===13||e===8232||e===8233}function eP(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&Eae.test(String.fromCharCode(e))}function tP(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&Dae.test(String.fromCharCode(e))}var kae={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 nP(){for(;V<MN;){let e=B.charCodeAt(V);if(Oae(e)||$N(e))++V;else break}}function rP(e){var t,n,r,i=0;for(n=e===`u`?4:2,t=0;t<n;++t)V<MN&&ZN(B[V])?(r=B[V++],i=i*16+`0123456789abcdef`.indexOf(r.toLowerCase())):hP({},UN,qN);return String.fromCharCode(i)}function Aae(){var e=B[V],t=0,n,r;for(e===`}`&&hP({},UN,qN);V<MN&&(e=B[V++],ZN(e));)t=t*16+`0123456789abcdef`.indexOf(e.toLowerCase());return(t>1114111||e!==`}`)&&hP({},UN,qN),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function iP(){var e=B.charCodeAt(V++),t=String.fromCharCode(e);for(e===92&&(B.charCodeAt(V)!==117&&hP({},UN,qN),++V,e=rP(`u`),(!e||e===`\\`||!eP(e.charCodeAt(0)))&&hP({},UN,qN),t=e);V<MN&&(e=B.charCodeAt(V),tP(e));)++V,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),B.charCodeAt(V)!==117&&hP({},UN,qN),++V,e=rP(`u`),(!e||e===`\\`||!tP(e.charCodeAt(0)))&&hP({},UN,qN),t+=e);return t}function jae(){for(var e=V++,t;V<MN;){if(t=B.charCodeAt(V),t===92)return V=e,iP();if(tP(t))++V;else break}return B.slice(e,V)}function Mae(){var e=V,t=B.charCodeAt(V)===92?iP():jae();return{type:t.length===1?IN:kae.hasOwnProperty(t)?LN:t===`null`?RN:t===`true`||t===`false`?PN:IN,value:t,start:e,end:V}}function aP(){var e=V,t=B.charCodeAt(V),n,r=B[V],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++V,{type:BN,value:String.fromCharCode(t),start:e,end:V};default:if(n=B.charCodeAt(V+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 V+=2,{type:BN,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:V};case 33:case 61:return V+=2,B.charCodeAt(V)===61&&++V,{type:BN,value:B.slice(e,V),start:e,end:V}}}if(o=B.substr(V,4),o===`>>>=`)return V+=4,{type:BN,value:o,start:e,end:V};if(a=o.substr(0,3),a===`>>>`||a===`<<=`||a===`>>=`)return V+=3,{type:BN,value:a,start:e,end:V};if(i=a.substr(0,2),r===i[1]&&`+-<>&|`.includes(r)||i===`=>`)return V+=2,{type:BN,value:i,start:e,end:V};if(i===`//`&&hP({},UN,qN),`<>=!+-*%&|^/`.includes(r))return++V,{type:BN,value:r,start:e,end:V};hP({},UN,qN)}function Nae(e){let t=``;for(;V<MN&&ZN(B[V]);)t+=B[V++];return t.length===0&&hP({},UN,qN),eP(B.charCodeAt(V))&&hP({},UN,qN),{type:zN,value:parseInt(`0x`+t,16),start:e,end:V}}function Pae(e){let t=`0`+B[V++];for(;V<MN&&QN(B[V]);)t+=B[V++];return(eP(B.charCodeAt(V))||XN(B.charCodeAt(V)))&&hP({},UN,qN),{type:zN,value:parseInt(t,8),octal:!0,start:e,end:V}}function oP(){var e,t,n=B[V];if(YN(XN(n.charCodeAt(0))||n===`.`,`Numeric literal must start with a decimal digit or a decimal point`),t=V,e=``,n!==`.`){if(e=B[V++],n=B[V],e===`0`){if(n===`x`||n===`X`)return++V,Nae(t);if(QN(n))return Pae(t);n&&XN(n.charCodeAt(0))&&hP({},UN,qN)}for(;XN(B.charCodeAt(V));)e+=B[V++];n=B[V]}if(n===`.`){for(e+=B[V++];XN(B.charCodeAt(V));)e+=B[V++];n=B[V]}if(n===`e`||n===`E`){if(e+=B[V++],n=B[V],(n===`+`||n===`-`)&&(e+=B[V++]),XN(B.charCodeAt(V)))for(;XN(B.charCodeAt(V));)e+=B[V++];else hP({},UN,qN)}return eP(B.charCodeAt(V))&&hP({},UN,qN),{type:zN,value:parseFloat(e),start:t,end:V}}function Fae(){var e=``,t,n,r,i,a=!1;for(t=B[V],YN(t===`'`||t===`"`,`String literal must starts with a quote`),n=V,++V;V<MN;){if(r=B[V++],r===t){t=``;break}if(r===`\\`){if(r=B[V++],!r||!$N(r.charCodeAt(0)))switch(r){case`u`:case`x`:B[V]===`{`?(++V,e+=Aae()):e+=rP(r);break;case`n`:e+=`
4
+ `;break;case`r`:e+=`\r`;break;case`t`:e+=` `;break;case`b`:e+=`\b`;break;case`f`:e+=`\f`;break;case`v`:e+=`\v`;break;default:QN(r)?(i=`01234567`.indexOf(r),i!==0&&(a=!0),V<MN&&QN(B[V])&&(a=!0,i=i*8+`01234567`.indexOf(B[V++]),`0123`.includes(r)&&V<MN&&QN(B[V])&&(i=i*8+`01234567`.indexOf(B[V++]))),e+=String.fromCharCode(i)):e+=r}else r===`\r`&&B[V]===`
5
+ `&&++V}else if($N(r.charCodeAt(0)))break;else e+=r}return t!==``&&hP({},UN,qN),{type:VN,value:e,octal:a,start:n,end:V}}function Iae(e,t){let n=e;t.includes(`u`)&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(e,t)=>{if(parseInt(t,16)<=1114111)return`x`;hP({},WN)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,`x`));try{new RegExp(n)}catch{hP({},WN)}try{return new RegExp(e,t)}catch{return null}}function Lae(){var e=B[V],t,n,r,i;for(YN(e===`/`,`Regular expression literal must start with a slash`),t=B[V++],n=!1,r=!1;V<MN;)if(e=B[V++],t+=e,e===`\\`)e=B[V++],$N(e.charCodeAt(0))&&hP({},GN),t+=e;else if($N(e.charCodeAt(0)))hP({},GN);else if(n)e===`]`&&(n=!1);else if(e===`/`){r=!0;break}else e===`[`&&(n=!0);return r||hP({},GN),i=t.substr(1,t.length-2),{value:i,literal:t}}function Rae(){for(var e,t=``,n=``;V<MN&&(e=B[V],tP(e.charCodeAt(0)));)++V,e===`\\`&&V<MN?hP({},UN,qN):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&hP({},WN,n),{value:n,literal:t}}function zae(){var e,t,n,r;return NN=null,nP(),e=V,t=Lae(),n=Rae(),r=Iae(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:V}}function Bae(e){return e.type===IN||e.type===LN||e.type===PN||e.type===RN}function sP(){if(nP(),V>=MN)return{type:FN,start:V,end:V};let e=B.charCodeAt(V);return eP(e)?Mae():e===40||e===41||e===59?aP():e===39||e===34?Fae():e===46?XN(B.charCodeAt(V+1))?oP():aP():XN(e)?oP():aP()}function cP(){let e=NN;return V=e.end,NN=sP(),V=e.end,e}function lP(){let e=V;NN=sP(),V=e}function Vae(e){let t=new AN(uae);return t.elements=e,t}function uP(e,t,n){let r=new AN(e===`||`||e===`&&`?hae:dae);return r.operator=e,r.left=t,r.right=n,r}function Hae(e,t){let n=new AN(fae);return n.callee=e,n.arguments=t,n}function Uae(e,t,n){let r=new AN(pae);return r.test=e,r.consequent=t,r.alternate=n,r}function dP(e){let t=new AN(HN);return t.name=e,t}function fP(e){let t=new AN(mae);return t.value=e.value,t.raw=B.slice(e.start,e.end),e.regex&&(t.raw===`//`&&(t.raw=`/(?:)/`),t.regex=e.regex),t}function pP(e,t,n){let r=new AN(gae);return r.computed=e===`[`,r.object=t,r.property=n,r.computed||(n.member=!0),r}function Wae(e){let t=new AN(_ae);return t.properties=e,t}function mP(e,t,n){let r=new AN(vae);return r.key=t,r.value=n,r.kind=e,r}function Gae(e,t){let n=new AN(yae);return n.operator=e,n.argument=t,n.prefix=!0,n}function hP(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(e,t)=>(YN(t<r.length,`Message reference must be in range`),r[t]));throw n=Error(i),n.index=V,n.description=i,n}function gP(e){e.type===FN&&hP(e,wae),e.type===zN&&hP(e,bae),e.type===VN&&hP(e,xae),e.type===IN&&hP(e,Sae),e.type===LN&&hP(e,Cae),hP(e,UN,e.value)}function _P(e){let t=cP();(t.type!==BN||t.value!==e)&&gP(t)}function vP(e){return NN.type===BN&&NN.value===e}function yP(e){return NN.type===LN&&NN.value===e}function Kae(){let e=[];for(V=NN.start,_P(`[`);!vP(`]`);)vP(`,`)?(cP(),e.push(null)):(e.push(wP()),vP(`]`)||_P(`,`));return cP(),Vae(e)}function bP(){V=NN.start;let e=cP();return e.type===VN||e.type===zN?(e.octal&&hP(e,KN),fP(e)):dP(e.value)}function qae(){var e,t,n,r;if(V=NN.start,e=NN,e.type===IN)return n=bP(),_P(`:`),r=wP(),mP(`init`,n,r);if(e.type===FN||e.type===BN)gP(e);else return t=bP(),_P(`:`),r=wP(),mP(`init`,t,r)}function Jae(){var e=[],t,n,r,i={},a=String;for(V=NN.start,_P(`{`);!vP(`}`);)t=qae(),n=t.key.type===HN?t.key.name:a(t.key.value),r=`$`+n,Object.prototype.hasOwnProperty.call(i,r)?hP({},Tae):i[r]=!0,e.push(t),vP(`}`)||_P(`,`);return _P(`}`),Wae(e)}function Yae(){_P(`(`);let e=TP();return _P(`)`),e}var Xae={if:1};function Zae(){var e,t,n;if(vP(`(`))return Yae();if(vP(`[`))return Kae();if(vP(`{`))return Jae();if(e=NN.type,V=NN.start,e===IN||Xae[NN.value])n=dP(cP().value);else if(e===VN||e===zN)NN.octal&&hP(NN,KN),n=fP(cP());else if(e===LN)throw Error(JN);else e===PN?(t=cP(),t.value=t.value===`true`,n=fP(t)):e===RN?(t=cP(),t.value=null,n=fP(t)):vP(`/`)||vP(`/=`)?(n=fP(zae()),lP()):gP(cP());return n}function Qae(){let e=[];if(_P(`(`),!vP(`)`))for(;V<MN&&(e.push(wP()),!vP(`)`));)_P(`,`);return _P(`)`),e}function $ae(){V=NN.start;let e=cP();return Bae(e)||gP(e),dP(e.value)}function eoe(){return _P(`.`),$ae()}function toe(){_P(`[`);let e=TP();return _P(`]`),e}function noe(){for(var e=Zae(),t,n;;)if(vP(`.`))n=eoe(),e=pP(`.`,e,n);else if(vP(`(`))t=Qae(),e=Hae(e,t);else if(vP(`[`))n=toe(),e=pP(`[`,e,n);else break;return e}function xP(){let e=noe();if(NN.type===BN&&(vP(`++`)||vP(`--`)))throw Error(JN);return e}function SP(){var e,t;if(NN.type!==BN&&NN.type!==LN)t=xP();else if(vP(`++`)||vP(`--`))throw Error(JN);else if(vP(`+`)||vP(`-`)||vP(`~`)||vP(`!`))e=cP(),t=SP(),t=Gae(e.value,t);else if(yP(`delete`)||yP(`void`)||yP(`typeof`))throw Error(JN);else t=xP();return t}function CP(e){let t=0;if(e.type!==BN&&e.type!==LN)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}return t}function roe(){var e=NN,t,n,r,i,a,o,s,c=SP(),l;if(r=NN,i=CP(r),i===0)return c;for(r.prec=i,cP(),t=[e,NN],o=SP(),a=[c,r,o];(i=CP(NN))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),s=a.pop().value,c=a.pop(),t.pop(),n=uP(s,c,o),a.push(n);r=cP(),r.prec=i,a.push(r),t.push(NN),n=SP(),a.push(n)}for(l=a.length-1,n=a[l],t.pop();l>1;)t.pop(),n=uP(a[l-1].value,a[l-2],n),l-=2;return n}function wP(){var e=roe(),t,n;return vP(`?`)&&(cP(),t=wP(),_P(`:`),n=wP(),e=Uae(e,t,n)),e}function TP(){let e=wP();if(vP(`,`))throw Error(JN);return e}function ioe(e){B=e,V=0,MN=B.length,NN=null,lP();let t=TP();if(NN.type!==FN)throw Error(`Unexpect token after expression.`);return t}var EP={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 DP(e){function t(t,n,r,i){let a=e(n[0]);return r&&(a=r+`(`+a+`)`,r.lastIndexOf(`new `,0)===0&&(a=`(`+a+`)`)),a+`.`+t+(i<0?``:i===0?`()`:`(`+n.slice(1).map(e).join(`,`)+`)`)}function n(e,n,r){return i=>t(e,i,n,r)}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(t){t.length<3&&j(`Missing arguments to clamp function.`),t.length>3&&j(`Too many arguments to clamp function.`);let n=t.map(e);return`Math.max(`+n[1]+`, Math.min(`+n[2]+`,`+n[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`,encodeURIComponent:`encodeURIComponent`,regexp:a,test:n(`test`,a),if:function(t){t.length<3&&j(`Missing arguments to if function.`),t.length>3&&j(`Too many arguments to if function.`);let n=t.map(e);return`(`+n[0]+`?`+n[1]+`:`+n[2]+`)`}}}function aoe(e){let t=e&&e.length-1;return t&&(e[0]===`"`&&e[t]===`"`||e[0]===`'`&&e[t]===`'`)?e.slice(1,-1):e}function OP(e){e||={};let t=e.allowed?pr(e.allowed):{},n=e.forbidden?pr(e.forbidden):{},r=e.constants||EP,i=(e.functions||DP)(f),a=e.globalvar,s=e.fieldvar,c=o(a)?a:e=>`${a}["${e}"]`,l={},u={},d=0;function f(e){if(_(e))return e;let t=m[e.type];return t??j(`Unsupported type: `+e.type),t(e)}let m={Literal:e=>e.raw,Identifier:e=>{let i=e.name;return d>0?i:p(n,i)?j(`Illegal identifier: `+i):p(r,i)?r[i]:p(t,i)?i:(l[i]=1,c(i))},MemberExpression:e=>{let t=!e.computed,n=f(e.object);t&&(d+=1);let r=f(e.property);return n===s&&(u[aoe(r)]=1),t&&--d,n+(t?`.`+r:`[`+r+`]`)},CallExpression:e=>{e.callee.type!==`Identifier`&&j(`Illegal callee type: `+e.callee.type);let t=e.callee.name,n=e.arguments,r=p(i,t)&&i[t];return r||j(`Unrecognized function: `+t),o(r)?r(n):r+`(`+n.map(f).join(`,`)+`)`},ArrayExpression:e=>`[`+e.elements.map(f).join(`,`)+`]`,BinaryExpression:e=>`(`+f(e.left)+` `+e.operator+` `+f(e.right)+`)`,UnaryExpression:e=>`(`+e.operator+f(e.argument)+`)`,ConditionalExpression:e=>`(`+f(e.test)+`?`+f(e.consequent)+`:`+f(e.alternate)+`)`,LogicalExpression:e=>`(`+f(e.left)+e.operator+f(e.right)+`)`,ObjectExpression:e=>{for(let t of e.properties){let e=t.key.type===`Literal`?String(t.key.value):t.key.name;ye.has(e)&&j(`Illegal property: `+e)}return`{`+e.properties.map(f).join(`,`)+`}`},Property:e=>{d+=1;let t=f(e.key);return--d,t+`:`+f(e.value)}};function h(e){let t={code:f(e),globals:Object.keys(l),fields:Object.keys(u)};return l={},u={},t}return h.functions=i,h.constants=r,h}var kP=Symbol(`vega_selection_getter`);function AP(e){return(!e.getter||!e.getter[kP])&&(e.getter=oe(e.field),e.getter[kP]=!0),e.getter}var jP=`intersect`,MP=`union`,ooe=`vlMulti`,soe=`vlPoint`,NP=`or`,coe=`and`,PP=`_vgsid_`,FP=oe(PP),loe=`E`,uoe=`R`,doe=`R-E`,foe=`R-LE`,poe=`R-RE`,moe=`E-LT`,hoe=`E-LTE`,goe=`E-GT`,_oe=`E-GTE`,voe=`E-VALID`,yoe=`E-ONE`,IP=`index:unit`;function LP(e,t){for(var n=t.fields,r=t.values,i=n.length,a=0,o,s;a<i;++a)if(s=n[a],o=AP(s)(e),u(o)&&(o=f(o)),u(r[a])&&(r[a]=f(r[a])),h(r[a])&&u(r[a][0])&&(r[a]=r[a].map(f)),s.type===loe){if(h(r[a])?!r[a].includes(o):o!==r[a])return!1}else if(s.type===uoe){if(!ir(o,r[a]))return!1}else if(s.type===poe){if(!ir(o,r[a],!0,!1))return!1}else if(s.type===doe){if(!ir(o,r[a],!1,!1))return!1}else if(s.type===foe){if(!ir(o,r[a],!1,!0))return!1}else if(s.type===moe){if(o>=r[a])return!1}else if(s.type===hoe){if(o>r[a])return!1}else if(s.type===goe){if(o<=r[a])return!1}else if(s.type===_oe){if(o<r[a])return!1}else if(s.type===voe){if(o===null||isNaN(o))return!1}else if(s.type===yoe&&r[a].indexOf(o)===-1)return!1;return!0}function RP(e,t,n){for(var r=this.context.data[e],i=r?r.values.value:[],a=r?r[IP]&&r[IP].value:void 0,o=n===jP,s=i.length,c=0,l,u,d,f,p;c<s;++c)if(l=i[c],a&&o){if(u||={},d=u[f=l.unit]||0,d===-1)continue;if(p=LP(t,l),u[f]=p?-1:++d,p&&a.size===1)return!0;if(!p&&d===a.get(f).count)return!1}else if(p=LP(t,l),o^p)return p;return s&&o}var zP=We(FP),boe=zP.left,xoe=zP.right;function BP(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],a=r?r[IP]&&r[IP].value:void 0,o=n===jP,s=FP(t),c=boe(i,s);if(c===i.length||FP(i[c])!==s)return!1;if(a&&o){if(a.size===1)return!0;if(xoe(i,s)-c<a.size)return!1}return!0}function VP(e,t){return h(e)||j(`First argument to selectionTuples must be an array.`),d(t)||j(`Second argument to selectionTuples must be an object.`),e.map(e=>g(t.fields?{values:t.fields.map(t=>AP(t)(e.datum))}:{[PP]:FP(e.datum)},t))}function HP(e,t,n,r){for(var i=this.context.data[e],a=i?i.values.value:[],o={},s={},c={},l,u,d,f,p,m,h,g,_,v,y=a.length,b=0,x,S;b<y;++b)if(l=a[b],f=l.unit,u=l.fields,d=l.values,u&&d){for(x=0,S=u.length;x<S;++x)p=u[x],h=o[p.field]||(o[p.field]={}),g=h[f]||(h[f]=[]),c[p.field]=_=p.type.charAt(0),v=UP[`${_}_union`],h[f]=v(g,E(d[x]));n&&(g=s[f]||(s[f]=[]),g.push(E(d).reduce((e,t,n)=>(e[u[n].field]=t,e),{})))}else p=PP,m=FP(l),h=o[p]||(o[p]={}),g=h[f]||(h[f]=[]),g.push(m),n&&(g=s[f]||(s[f]=[]),g.push({[PP]:m}));if(t||=MP,o[PP]?o[PP]=UP[`${PP}_${t}`](...Object.values(o[PP])):Object.keys(o).forEach(e=>{o[e]=Object.keys(o[e]).map(t=>o[e][t]).reduce((n,r)=>n===void 0?r:UP[`${c[e]}_${t}`](n,r))}),a=Object.keys(s),n&&a.length){let e=r?soe:ooe;o[e]=t===MP?{[NP]:a.reduce((e,t)=>(e.push(...s[t]),e),[])}:{[coe]:a.map(e=>({[NP]:s[e]}))}}return o}var UP={[`${PP}_union`]:Pee,[`${PP}_intersect`]:Mee,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(e=>t.includes(e)):t},R_union:function(e,t){var n=f(t[0]),r=f(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=f(t[0]),r=f(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]}},Soe=`:`;function WP(e,t,n,r){t[0].type!==`Literal`&&j(`First argument to selection functions must be a string literal.`);let i=t[0].value,a=t.length>=2&&M(t).value,o=`@unit`,s=Soe+i;a===jP&&!p(r,o)&&(r[o]=n.getData(i).indataRef(n,`unit`)),p(r,s)||(r[s]=n.getData(i).tuplesRef())}function GP(e){let t=this.context.data[e];return t?t.values.value:[]}function Coe(e,t,n){let r=this.context.data[e][`index:`+t],i=r?r.value.get(n):void 0;return i&&i.count}function woe(e,t){let n=this.context.dataflow,r=this.context.data[e].input;return n.pulse(r,n.changeset().remove(x).insert(t)),1}function Toe(e,t,n){if(e){let n=this.context.dataflow,r=e.mark.source;n.pulse(r,n.changeset().encode(e,t))}return n===void 0?e:n}var KP=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?`null`:r[e](n)(t)},Eoe=KP(`format`),qP=KP(`timeFormat`),Doe=KP(`utcFormat`),Ooe=KP(`timeParse`),koe=KP(`utcParse`),JP=new Date(2e3,0,1);function YP(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?``:(JP.setYear(2e3),JP.setMonth(e),JP.setDate(t),qP.call(this,JP,n))}function Aoe(e){return YP.call(this,e,1,`%B`)}function joe(e){return YP.call(this,e,1,`%b`)}function Moe(e){return YP.call(this,0,2+e,`%A`)}function Noe(e){return YP.call(this,0,2+e,`%a`)}function XP(e,t,n,r){t[0].type!==`Literal`&&j(`First argument to data functions must be a string literal.`);let i=t[0].value,a=`:`+i;if(!p(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function Poe(e,t,n,r){t[0].type!==`Literal`&&j(`First argument to indata must be a string literal.`),t[1].type!==`Literal`&&j(`Second argument to indata must be a string literal.`);let i=t[0].value,a=t[1].value,o=`@`+a;p(o,r)||(r[o]=n.getData(i).indataRef(n,a))}function ZP(e,t,n,r){if(t[0].type===`Literal`)QP(n,r,t[0].value);else for(e in n.scales)QP(n,r,e)}function QP(e,t,n){let r=`%`+n;if(!p(t,r))try{t[r]=e.scaleRef(n)}catch{}}function $P(e,t){if(_(e)){let n=t.scales[e];return n&&Gl(n.value)?n.value:void 0}if(o(e))return Gl(e)?e:void 0}function Foe(e,t,n){t.__bandwidth=e=>e&&e.bandwidth?e.bandwidth():0,n._bandwidth=ZP,n._range=ZP,n._scale=ZP;let r=t=>`_[`+(t.type===`Literal`?a(`%`+t.value):a(`%`)+`+`+e(t))+`]`;return{_bandwidth:e=>`this.__bandwidth(${r(e[0])})`,_range:e=>`${r(e[0])}.range()`,_scale:t=>`${r(t[0])}(${e(t[1])})`}}function eF(e,t){return function(n,r,i){if(n){let t=$P(n,(i||this).context);return t&&t.path[e](r)}return t(r)}}var Ioe=eF(`area`,nb),Loe=eF(`bounds`,kb),Roe=eF(`centroid`,Qb);function zoe(e,t){let n=$P(e,(t||this).context);return n&&n.scale()}function Boe(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 tF(e,t,n){try{e[t].apply(e,[`EXPRESSION`].concat([].slice.call(n)))}catch(t){e.warn(t)}return n[n.length-1]}function Voe(){return tF(this.context.dataflow,`warn`,arguments)}function Hoe(){return tF(this.context.dataflow,`info`,arguments)}function Uoe(){return tF(this.context.dataflow,`debug`,arguments)}function nF(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function rF(e){let t=en(e),n=nF(t.r),r=nF(t.g),i=nF(t.b);return .2126*n+.7152*r+.0722*i}function Woe(e,t){let n=rF(e),r=rF(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function Goe(){let e=[].slice.call(arguments);return e.unshift({}),g(...e)}function iF(e,t){return e===t||e!==e&&t!==t?!0:h(e)?h(t)&&e.length===t.length?Koe(e,t):!1:d(e)&&d(t)?aF(e,t):!1}function Koe(e,t){for(let n=0,r=e.length;n<r;++n)if(!iF(e[n],t[n]))return!1;return!0}function aF(e,t){for(let n in e)if(!iF(e[n],t[n]))return!1;return!0}function oF(e){return t=>aF(e,t)}function qoe(e,t,n,r,i,a){let s=this.context.dataflow,c=this.context.data[e],l=c.input,u=s.stamp(),d=c.changes,f,p;if(s._trigger===!1||!(l.value.length||t||r))return 0;if((!d||d.stamp<u)&&(c.changes=d=s.changeset(),d.stamp=u,s.runAfter(()=>{c.modified=!0,s.pulse(l,d).run()},!0,1)),n&&(f=n===!0?x:h(n)||jr(n)?n:oF(n),d.remove(f)),t&&d.insert(t),r&&(f=oF(r),l.value.some(f)?d.remove(f):d.insert(r)),i){if(o(i))throw Error(`modify parameter must be a data tuple, not a function`);for(p in a)d.modify(i,p,a[p])}return 1}function Joe(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 Yoe(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var sF={};function Xoe(e,t){let n=sF[t]||(sF[t]=oe(t));return h(e)?e.map(n):n(e)}function cF(e){return h(e)||ArrayBuffer.isView(e)?e:null}function lF(e){return cF(e)||(_(e)?e:null)}function Zoe(e,...t){return cF(e).join(...t)}function Qoe(e,...t){return lF(e).indexOf(...t)}function $oe(e,...t){return lF(e).lastIndexOf(...t)}function ese(e,...t){return lF(e).slice(...t)}function tse(e,t,n){return o(n)&&j(`Function argument passed to replace.`),!_(t)&&!or(t)&&j(`Please pass a string or RegExp argument to replace.`),String(e).replace(t,n)}function nse(e){return cF(e).slice().reverse()}function rse(e){return cF(e).slice().sort(S)}function ise(e,t,n){return xl(e||0,t||0,n||0)}function ase(e,t){let n=$P(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function ose(e,t){let n=$P(e,(t||this).context);return n?n.copy():void 0}function sse(e,t){let n=$P(e,(t||this).context);return n?n.domain():[]}function cse(e,t,n){let r=$P(e,(n||this).context);return r?h(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function lse(e,t){let n=$P(e,(t||this).context);return n&&n.range?n.range():[]}function use(e,t,n){let r=$P(e,(n||this).context);return r?r(t):void 0}function dse(e,t,n,r,i){e=$P(e,(i||this).context);let a=gE(t,n),o=e.domain(),s=o[0],c=M(o),l=O;return c-s?l=su(e,s,c):e=(e.interpolator?ql(`sequential`)().interpolator(e.interpolator()):ql(`linear`)().interpolate(e.interpolate()).range(e.range())).domain([s=0,c=1]),e.ticks&&(o=e.ticks(+r||15),s!==o[0]&&o.unshift(s),c!==M(o)&&o.push(c)),o.forEach(t=>a.stop(l(t),e(t))),a}function fse(e,t,n){let r=$P(e,(n||this).context);return function(e){return r?r.path.context(e)(t):``}}function pse(e){let t=null;return function(n){return n?OE(n,t||=yE(e)):e}}var uF=e=>e.data;function dF(e,t){let n=GP.call(t,e);return n.root&&n.root.lookup||{}}function mse(e,t,n){let r=dF(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(uF):void 0}function hse(e,t){let n=dF(e,this)[t];return n?n.ancestors().map(uF):void 0}var fF=()=>typeof window<`u`&&window||null;function gse(){let e=fF();return e?e.screen:{}}function _se(){let e=fF();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function vse(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function pF(e,t,n){if(!e)return[];let[r,i]=e,a=new UE().set(r[0],r[1],i[0],i[1]);return jj(n||this.context.dataflow.scenegraph().root,a,yse(t))}function yse(e){let t=null;if(e){let n=E(e.marktype),r=E(e.markname);t=e=>(!n.length||n.some(t=>e.marktype===t))&&(!r.length||r.some(t=>e.name===t))}return t}function bse(e,t,n,r=5){e=E(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 xse(e){return E(e).reduce((t,[n,r],i)=>t+=i==0?`M ${n},${r} `:i===e.length-1?` Z`:`L ${n},${r} `,``)}function Sse(e,t,n){let{x:r,y:i,mark:a}=n,o=new UE().set(2**53-1,2**53-1,-(2**53-1),-(2**53-1));for(let[e,n]of t)e<o.x1&&(o.x1=e),e>o.x2&&(o.x2=e),n<o.y1&&(o.y1=n),n>o.y2&&(o.y2=n);return o.translate(r,i),pF([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(e=>Cse(e.x,e.y,t))}function Cse(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,s]=n[a],[c,l]=n[i];l>t!=s>t&&e<(o-c)*(t-l)/(s-l)+c&&r++}return r&1}var mF={random(){return Bi()},cumulativeNormal:qi,cumulativeLogNormal:$i,cumulativeUniform:aa,densityNormal:Ki,densityLogNormal:Qi,densityUniform:ia,quantileNormal:Ji,quantileLogNormal:ea,quantileUniform:oa,sampleNormal:Gi,sampleLogNormal:Zi,sampleUniform:ra,isArray:h,isBoolean:ar,isDate:u,isDefined(e){return e!==void 0},isNumber:v,isObject:d,isRegExp:or,isString:_,isTuple:jr,isValid(e){return e!=null&&e===e},toBoolean:pe,toDate(e){return y(e)},toNumber:f,toString:c,indexof:Qoe,join:Zoe,lastindexof:$oe,replace:tse,reverse:nse,sort:rse,slice:ese,flush:rr,lerp:sr,merge:Goe,pad:dr,peek:M,pluck:Xoe,span:fr,inrange:ir,truncate:mr,rgb:en,lab:ot,hcl:rt,hsl:tn,luminance:rF,contrast:Woe,sequence:lt,format:Eoe,utcFormat:Doe,utcParse:koe,utcOffset:De,utcSequence:C,timeFormat:qP,timeParse:Ooe,timeOffset:ee,timeSequence:Ee,timeUnitSpecifier:Oe,monthFormat:Aoe,monthAbbrevFormat:joe,dayFormat:Moe,dayAbbrevFormat:Noe,quarter:Jn,utcquarter:Yn,week:l,utcweek:w,dayofyear:he,utcdayofyear:s,warn:Voe,info:Hoe,debug:Uoe,extent(e){return $n(e)},inScope:Boe,intersect:pF,clampRange:Xn,pinchDistance:Joe,pinchAngle:Yoe,screen:gse,containerSize:vse,windowSize:_se,bandspace:ise,setdata:woe,pathShape:pse,panLinear:zn,panLog:Bn,panPow:Vn,panSymlog:Hn,zoomLinear:Wn,zoomLog:Gn,zoomPow:Kn,zoomSymlog:qn,encode:Toe,modify:qoe,lassoAppend:bse,lassoPath:xse,intersectLasso:Sse},wse=[`view`,`item`,`group`,`xy`,`x`,`y`],Tse=`event.vega.`,hF=`this.`,gF={},_F=OP({forbidden:[`_`],allowed:[`datum`,`event`,`item`],fieldvar:`datum`,globalvar:e=>`_[${a(`$`+e)}]`,functions:Ese,constants:EP,visitors:gF});function Ese(e){let t=DP(e);wse.forEach(e=>t[e]=Tse+e);for(let e in mF)t[e]=hF+e;return g(t,Foe(e,mF,gF)),t}function vF(e,t,n){return arguments.length===1?mF[e]:(mF[e]=t,n&&(gF[e]=n),_F&&(_F.functions[e]=hF+e),this)}vF(`bandwidth`,ase,ZP),vF(`copy`,ose,ZP),vF(`domain`,sse,ZP),vF(`range`,lse,ZP),vF(`invert`,cse,ZP),vF(`scale`,use,ZP),vF(`gradient`,dse,ZP),vF(`geoArea`,Ioe,ZP),vF(`geoBounds`,Loe,ZP),vF(`geoCentroid`,Roe,ZP),vF(`geoShape`,fse,ZP),vF(`geoScale`,zoe,ZP),vF(`indata`,Coe,Poe),vF(`data`,GP,XP),vF(`treePath`,mse,XP),vF(`treeAncestors`,hse,XP),vF(`vlSelectionTest`,RP,WP),vF(`vlSelectionIdTest`,BP,WP),vF(`vlSelectionResolve`,HP,WP),vF(`vlSelectionTuples`,VP);function Dse(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(e=>t.parseOperator(e)),n.forEach(e=>t.parseOperatorParameters(e)),(e.streams||[]).forEach(e=>t.parseStream(e)),(e.updates||[]).forEach(e=>t.parseUpdate(e)),t.resolve()}var Ose=pr([`rule`]),yF=pr([`group`,`image`,`rect`]);function kse(e,t){let n=``;return Ose[t]?n:(e.x2&&(e.x?(yF[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?(yF[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 bF(e){return(e+``).toLowerCase()}function Ase(e){return bF(e)===`operator`}function jse(e){return bF(e)===`collect`}function xF(e,t,n){n.endsWith(`;`)||(n=`return(`+n+`);`);let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}function Mse(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}
6
+ : (u > v || v == null) && u != null ? ${r}
7
+ : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
8
+ : v !== v && u === u ? ${r} : `}var Nse={operator:(e,t)=>xF(e,[`_`],t.code),parameter:(e,t)=>xF(e,[`datum`,`_`],t.code),event:(e,t)=>xF(e,[`event`],t.code),handler:(e,t)=>xF(e,[`_`,`event`],`var datum=event.item&&event.item.datum;return ${t.code};`),encode:(e,t)=>{let{marktype:n,channels:r}=t,i=`var o=item,datum=o.datum,m=0,$;`;for(let e in r){let t=`o[`+a(e)+`]`;i+=`$=${r[e].code};if(${t}!==$)${t}=$,m=1;`}return i+=kse(r,n),i+=`return m;`,xF(e,[`item`,`_`],i)},codegen:{get(e){let t=`[${e.map(a).join(`][`)}]`,n=Function(`_`,`return _${t};`);return n.path=t,n},comparator(e,t){let n,r=Function(`a`,`b`,`var u, v; return `+e.map((e,r)=>{let i=t[r],a,o;return e.path?(a=`a${e.path}`,o=`b${e.path}`):((n||={})[`f`+r]=e,a=`this.f${r}(a)`,o=`this.f${r}(b)`),Mse(a,o,-i,i)}).join(``)+`0;`);return n?r.bind(n):r}}};function Pse(e){let t=this;Ase(e.type)||!e.type?t.operator(e,e.update?t.operatorExpression(e.update):null):t.transform(e,e.type)}function Fse(e){let t=this;if(e.params){let n=t.get(e.id);n||j(`Invalid operator id: `+e.id),t.dataflow.connect(n,n.parameters(t.parseParameters(e.params),e.react,e.initonly))}}function Ise(e,t){t||={};let n=this;for(let r in e){let i=e[r];t[r]=h(i)?i.map(e=>SF(e,n,t)):SF(i,n,t)}return t}function SF(e,t,n){if(!e||!d(e))return e;for(let r=0,i=CF.length,a;r<i;++r)if(a=CF[r],p(e,a.key))return a.parse(e,t,n);return e}var CF=[{key:`$ref`,parse:Lse},{key:`$key`,parse:zse},{key:`$expr`,parse:Rse},{key:`$field`,parse:Bse},{key:`$encode`,parse:Hse},{key:`$compare`,parse:Vse},{key:`$context`,parse:Use},{key:`$subflow`,parse:Wse},{key:`$tupleid`,parse:Gse}];function Lse(e,t){return t.get(e.$ref)||j(`Operator not defined: `+e.$ref)}function Rse(e,t,n){e.$params&&t.parseParameters(e.$params,n);let r=`e:`+e.$expr.code;return t.fn[r]||(t.fn[r]=xe(t.parameterExpression(e.$expr),e.$fields))}function zse(e,t){let n=`k:`+e.$key+`_`+!!e.$flat;return t.fn[n]||(t.fn[n]=fe(e.$key,e.$flat,t.expr.codegen))}function Bse(e,t){if(!e.$field)return null;let n=`f:`+e.$field+`_`+e.$name;return t.fn[n]||(t.fn[n]=oe(e.$field,e.$name,t.expr.codegen))}function Vse(e,t){let n=`c:`+e.$compare+`_`+e.$order,r=E(e.$compare).map(e=>e&&e.$tupleid?P:e);return t.fn[n]||(t.fn[n]=ke(r,e.$order,t.expr.codegen))}function Hse(e,t){let n=e.$encode,r={};for(let e in n){let i=n[e];r[e]=xe(t.encodeExpression(i.$expr),i.$fields),r[e].output=i.$output}return r}function Use(e,t){return t}function Wse(e,t){let n=e.$subflow;return function(e,r,i){let a=t.fork().parse(n),o=a.get(n.operators[0].id),s=a.signals.parent;return s&&s.set(i),o.detachSubflow=()=>t.detach(a),o}}function Gse(){return P}function Kse(e){var t=this,n=e.filter==null?void 0:t.eventExpression(e.filter),r=e.stream==null?void 0:t.get(e.stream),i;e.source?r=t.events(e.source,e.type,n):e.merge&&(i=e.merge.map(e=>t.get(e)),r=i[0].merge.apply(i[0],i.slice(1))),e.between&&(i=e.between.map(e=>t.get(e)),r=r.between(i[0],i[1])),e.filter&&(r=r.filter(n)),e.throttle!=null&&(r=r.throttle(+e.throttle)),e.debounce!=null&&(r=r.debounce(+e.debounce)),r??j(`Invalid stream definition: `+JSON.stringify(e)),e.consume&&r.consume(!0),t.stream(e,r)}function qse(e){var t=this,n=d(n=e.source)?n.$ref:n,r=t.get(n),i=null,a=e.update,o=void 0;r||j(`Source not defined: `+e.source),i=e.target&&e.target.$expr?t.eventExpression(e.target.$expr):t.get(e.target),a&&a.$expr&&(a.$params&&(o=t.parseParameters(a.$params)),a=t.handlerExpression(a.$expr)),t.update(e,r,i,a,o)}var Jse={skip:!0};function Yse(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(n=>{let i=t.signals[n];e.signals(n,i)&&(r[n]=i.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(n=>{let r=t.data[n];e.data(n,r)&&(i[n]=r.input.value)})}return t.subcontext&&e.recurse!==!1&&(n.subcontext=t.subcontext.map(t=>t.getState(e))),n}function Xse(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(e=>{n.update(t.signals[e],i[e],Jse)}),Object.keys(r||{}).forEach(e=>{n.pulse(t.data[e].input,n.changeset().remove(x).insert(r[e]))}),(e.subcontext||[]).forEach((e,n)=>{let r=t.subcontext[n];r&&r.setState(e)})}function wF(e,t,n,r){return new TF(e,t,n,r)}function TF(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||Nse,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function EF(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}TF.prototype=EF.prototype={fork(){let e=new EF(this);return(this.subcontext||=[]).push(e),e},detach(e){this.subcontext=this.subcontext.filter(t=>t!==e);let t=Object.keys(e.nodes);for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),jse(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let i=n.get(e.parent.$ref);i?(r.connect(i,[t]),t.targets().add(i)):(n.unresolved=n.unresolved||[]).push(()=>{i=n.get(e.parent.$ref),r.connect(i,[t]),t.targets().add(i)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let r in e.data){let i=n.data[r]||(n.data[r]={});e.data[r].forEach(e=>i[e]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[bF(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:Dse,parseOperator:Pse,parseOperatorParameters:Fse,parseParameters:Ise,parseStream:Kse,parseUpdate:qse,getState:Yse,setState:Xse};function Zse(e){let t=e.container();t&&(t.setAttribute(`role`,`graphics-document`),t.setAttribute(`aria-roleDescription`,`visualization`),DF(t,e.description()))}function DF(e,t){e&&(t==null?e.removeAttribute(`aria-label`):e.setAttribute(`aria-label`,t))}function Qse(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}var OF=`default`;function $se(e){let t=e._signals.cursor||(e._signals.cursor=e.add({user:OF,item:null}));e.on(e.events(`view`,`pointermove`),t,(e,n)=>{let r=t.value,i=r?_(r)?r:r.user:OF,a=n.item&&n.item.cursor||null;return r&&i===r.user&&a==r.item?r:{user:i,item:a}}),e.add(null,function(t){let n=t.cursor,r=this.value;return _(n)||(r=n.item,n=n.user),kF(e,n&&n!==OF?n:r||n),r},{cursor:t})}function kF(e,t){let n=e.globalCursor()?typeof document<`u`&&document.body:e.container();if(n)return t==null?n.style.removeProperty(`cursor`):n.style.cursor=t}function AF(e,t){var n=e._runtime.data;return p(n,t)||j(`Unrecognized data set: `+t),n[t]}function ece(e,t){return arguments.length<2?AF(this,e).values.value:jF.call(this,e,zr().remove(x).insert(t))}function jF(e,t){Rr(t)||j(`Second argument to changes must be a changeset.`);let n=AF(this,e);return n.modified=!0,this.pulse(n.input,t)}function tce(e,t){return jF.call(this,e,zr().insert(t))}function nce(e,t){return jF.call(this,e,zr().remove(t))}function MF(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function NF(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function PF(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}function rce(e){var t=PF(e),n=MF(e),r=NF(e);e._renderer.background(e.background()),e._renderer.resize(n,r,t),e._handler.origin(t),e._resizeListeners.forEach(t=>{try{t(n,r)}catch(t){e.error(t)}})}function ice(e,t,n){var r=e._renderer,i=r&&r.canvas(),a,o,s;return i&&(s=PF(e),o=t.changedTouches?t.changedTouches[0]:t,a=jk(o,i),a[0]-=s[0],a[1]-=s[1]),t.dataflow=e,t.item=n,t.vega=ace(e,n,a),t}function ace(e,t,n){let r=t?t.mark.marktype===`group`?t:t.mark.group:null;function i(e){var n=r,i;if(e){for(i=t;i;i=i.mark.group)if(i.mark.name===e){n=i;break}}return n&&n.mark&&n.mark.interactive?n:{}}function a(e){if(!e)return n;_(e)&&(e=i(e));let t=n.slice();for(;e;)t[0]-=e.x||0,t[1]-=e.y||0,e=e.mark&&e.mark.group;return t}return{view:Zn(e),item:Zn(t||{}),group:i,xy:a,x:e=>a(e)[0],y:e=>a(e)[1]}}var FF=`view`,oce=`timer`,sce=`window`,cce={trap:!1};function lce(e){let t=g({defaults:{}},e),n=(e,t)=>{t.forEach(t=>{h(e[t])&&(e[t]=pr(e[t]))})};return n(t.defaults,[`prevent`,`allow`]),n(t,[`view`,`window`,`selector`]),t}function IF(e,t,n,r){e._eventListeners.push({type:n,sources:E(t),handler:r})}function uce(e,t){var n=e._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[t]:i?!i[t]:e.preventDefault()}function LF(e,t,n){let r=e._eventConfig&&e._eventConfig[t];return r===!1||d(r)&&!r[n]?(e.warn(`Blocked ${t} ${n} event listener.`),!1):!0}function dce(e,t,n){var r=this,i=new Kr(n),a=function(n,a){r.runAsync(null,()=>{e===FF&&uce(r,t)&&n.preventDefault(),i.receive(ice(r,n,a))})},o;if(e===oce)LF(r,`timer`,t)&&r.timer(a,t);else if(e===FF)LF(r,`view`,t)&&r.addEventListener(t,a,cce);else if(e===sce?LF(r,`window`,t)&&typeof window<`u`&&(o=[window]):typeof document<`u`&&LF(r,`selector`,t)&&(o=Array.from(document.querySelectorAll(e))),!o)r.warn(`Can not resolve event source: `+e);else{for(var s=0,c=o.length;s<c;++s)o[s].addEventListener(t,a);IF(r,o,t,a)}return i}function RF(e){return e.item}function zF(e){return e.item.mark.source}function BF(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function fce(e,t){return e=[e||`hover`],t=[t||`update`,e[0]],this.on(this.events(`view`,`pointerover`,RF),zF,BF(e)),this.on(this.events(`view`,`pointerout`,RF),zF,BF(t)),this}function pce(){for(var e=this._tooltip,t=this._timers,n=this._handler.handlers(),r=this._eventListeners,i=t.length,a,o,s,c;--i>=0;)t[i].stop();for(i=r.length;--i>=0;)for(o=r[i],a=o.sources.length;--a>=0;)o.sources[a].removeEventListener(o.type,o.handler);for(e&&e.call(this,this._handler,null,null,null),i=n.length;--i>=0;)c=n[i].type,s=n[i].handler,this._handler.off(c,s);return this}function VF(e,t,n){let r=document.createElement(e);for(let e in t)r.setAttribute(e,t[e]);return n!=null&&(r.textContent=n),r}var mce=`vega-bind`,hce=`vega-bind-name`,gce=`vega-bind-radio`;function _ce(e,t,n){if(!t)return;let r=n.param,i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:t=>{t!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,t)})}},r.debounce&&(i.update=Qn(r.debounce,i.update))),(r.input==null&&r.element?vce:bce)(i,t,r,e),i.active||(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),i.active=!0),i}function vce(e,t,n,r){let i=n.event||`input`,a=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,a),IF(r,t,i,a),e.set=e=>{t.value=e,t.dispatchEvent(yce(i))}}function yce(e){return typeof Event<`u`?new Event(e):{type:e}}function bce(e,t,n,r){let i=r.signal(n.signal),a=VF(`div`,{class:mce}),o=n.input===`radio`?a:a.appendChild(VF(`label`));o.appendChild(VF(`span`,{class:hce},n.name||n.signal)),t.appendChild(a);let s=xce;switch(n.input){case`checkbox`:s=Sce;break;case`select`:s=Cce;break;case`radio`:s=wce;break;case`range`:s=HF}s(e,o,n,i)}function xce(e,t,n,r){let i=VF(`input`);for(let e in n)e!==`signal`&&e!==`element`&&i.setAttribute(e===`input`?`type`:e,n[e]);i.setAttribute(`name`,n.signal),i.value=r,t.appendChild(i),i.addEventListener(`input`,()=>e.update(i.value)),e.elements=[i],e.set=e=>i.value=e}function Sce(e,t,n,r){let i={type:`checkbox`,name:n.signal};r&&(i.checked=!0);let a=VF(`input`,i);t.appendChild(a),a.addEventListener(`change`,()=>e.update(a.checked)),e.elements=[a],e.set=e=>a.checked=!!e||null}function Cce(e,t,n,r){let i=VF(`select`,{name:n.signal}),a=n.labels||[];n.options.forEach((e,t)=>{let n={value:e};UF(e,r)&&(n.selected=!0),i.appendChild(VF(`option`,n,(a[t]||e)+``))}),t.appendChild(i),i.addEventListener(`change`,()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=e=>{for(let t=0,r=n.options.length;t<r;++t)if(UF(n.options[t],e)){i.selectedIndex=t;return}}}function wce(e,t,n,r){let i=VF(`span`,{class:gce}),a=n.labels||[];t.appendChild(i),e.elements=n.options.map((t,o)=>{let s={type:`radio`,name:n.signal,value:t};UF(t,r)&&(s.checked=!0);let c=VF(`input`,s);c.addEventListener(`change`,()=>e.update(t));let l=VF(`label`,{},(a[o]||t)+``);return l.prepend(c),i.appendChild(l),c}),e.set=t=>{let n=e.elements,r=n.length;for(let e=0;e<r;++e)UF(n[e].value,t)&&(n[e].checked=!0)}}function HF(e,t,n,r){r=r===void 0?(+n.max+ +n.min)/2:r;let i=n.max==null?Math.max(100,+r)||100:n.max,a=n.min||Math.min(0,i,+r)||0,o=n.step||Je(a,i,100),s=VF(`input`,{type:`range`,name:n.signal,min:a,max:i,step:o});s.value=r;let c=VF(`span`,{},+r);t.appendChild(s),t.appendChild(c);let l=()=>{c.textContent=s.value,e.update(+s.value)};s.addEventListener(`input`,l),s.addEventListener(`change`,l),e.elements=[s],e.set=e=>{s.value=e,c.textContent=e}}function UF(e,t){return e===t||e+``==t+``}function WF(e,t,n,r,i,a){return t||=new r(e.loader()),t.initialize(n,MF(e),NF(e),PF(e),i,a).background(e.background())}function GF(e,t){return t?function(){try{t.apply(this,arguments)}catch(t){e.error(t)}}:null}function KF(e,t,n,r){let i=new r(e.loader(),GF(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,PF(e),e);return t&&t.handlers().forEach(e=>{i.on(e.type,e.handler)}),i}function qF(e,t){let n=this,r=n._renderType,i=n._eventConfig.bind,a=Aj(r);e=n._el=e?JF(n,e,!0):null,Zse(n),a||n.error(`Unrecognized renderer type: `+r);let o=a.handler||dA,s=e?a.renderer:a.headless;return n._renderer=s?WF(n,n._renderer,e,s):null,n._handler=KF(n,n._handler,e,o),n._redraw=!0,e&&i!==`none`&&(t=t?n._elBind=JF(n,t,!0):e.appendChild(VF(`form`,{class:`vega-bindings`})),n._bind.forEach(e=>{e.param.element&&i!==`container`&&(e.element=JF(n,e.param.element,!!e.param.input))}),n._bind.forEach(e=>{_ce(n,e.element||t,e)})),n}function JF(e,t,n){if(typeof t==`string`){if(typeof document<`u`){if(t=document.querySelector(t),!t)return e.error(`Signal bind element not found: `+t),null}else return e.error(`DOM document instance not found.`),null}if(t&&n)try{t.textContent=``}catch(n){t=null,e.error(n)}return t}var YF=e=>+e||0,XF=e=>({top:e,bottom:e,left:e,right:e});function ZF(e){return d(e)?{top:YF(e.top),bottom:YF(e.bottom),left:YF(e.left),right:YF(e.right)}:XF(YF(e))}async function QF(e,t,n,r){let i=Aj(t),a=i&&i.headless;return a||j(`Unrecognized renderer type: `+t),await e.runAsync(),WF(e,null,null,a,n,r).renderAsync(e._scenegraph.root)}async function $F(e,t){e!==Oj.Canvas&&e!==Oj.SVG&&e!==Oj.PNG&&j(`Unrecognized image type: `+e);let n=await QF(this,e,t);return e===Oj.SVG?eI(n.svg(),`image/svg+xml`):n.canvas().toDataURL(`image/png`)}function eI(e,t){let n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}async function tI(e,t){return(await QF(this,Oj.Canvas,e,t)).canvas()}async function nI(e){return(await QF(this,Oj.SVG,e)).svg()}function rI(e,t,n){return wF(e,Mi,mF,n).parse(t)}function iI(e){var t=this._runtime.scales;return p(t,e)||j(`Unrecognized scale or projection: `+e),t[e].value}var aI=`width`,oI=`height`,sI=`padding`,cI={skip:!0};function lI(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===sI?r.left+r.right:0)}function uI(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===sI?r.top+r.bottom:0)}function dI(e){var t=e._signals,n=t[aI],r=t[oI],i=t[sI];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,t=>{e._width=t.size,e._viewWidth=lI(e,t.size),a()},{size:n}),e._resizeHeight=e.add(null,t=>{e._height=t.size,e._viewHeight=uI(e,t.size),a()},{size:r});let o=e.add(null,a,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}function fI(e,t,n,r,i,a){this.runAfter(o=>{let s=0;o._autosize=0,o.width()!==n&&(s=1,o.signal(aI,n,cI),o._resizeWidth.skip(!0)),o.height()!==r&&(s=1,o.signal(oI,r,cI),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),s&&o.run(`enter`),a&&o.runAfter(e=>e.resize())},!1,1)}function pI(e){return this._runtime.getState(e||{data:mI,signals:hI,recurse:!0})}function mI(e,t){return t.modified&&h(t.input.value)&&!e.startsWith(`_:vega:_`)}function hI(e,t){return!(e===`parent`||t instanceof Mi.proxy)}function gI(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},e=>{e._trigger=!0}),this}function _I(e,t){function n(t){e({timestamp:Date.now(),elapsed:t})}this._timers.push(_w(n,t))}function vI(e,t,n,r){let i=e.element();i&&i.setAttribute(`title`,yI(r))}function yI(e){return e==null?``:h(e)?xI(e):d(e)&&!u(e)?bI(e):e+``}function bI(e){return Object.keys(e).map(t=>{let n=e[t];return t+`: `+(h(n)?xI(n):SI(n))}).join(`
9
+ `)}function xI(e){return`[`+e.map(SI).join(`, `)+`]`}function SI(e){return h(e)?`[…]`:d(e)&&!u(e)?`{…}`:e}function CI(){if(this.renderer()===`canvas`&&this._renderer._canvas){let e=null,t=()=>{e?.();let n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener(`change`,t),e=()=>{n.removeEventListener(`change`,t)},this._renderer._canvas.getContext(`2d`).pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};t()}}function wI(e,t){let n=this;if(t||={},Ai.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),t.logLevel!=null&&n.logLevel(t.logLevel),t.locale||e.locale){let r=g({},e.locale,t.locale);n.locale(Te(r.number,r.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||Oj.Canvas,n._scenegraph=new wk;let r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||vI,n._redraw=!0,n._handler=new dA().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=lce(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);let i=rI(n,e,t.expr);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(e=>({state:null,param:g({},e)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=lI(n,n._width),n._viewHeight=uI(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,dI(n),Qse(n),$se(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind),t.watchPixelRatio&&n._watchPixelRatio()}function TI(e,t){return p(e._signals,t)?e._signals[t]:j(`Unrecognized signal name: `+a(t))}function EI(e,t){let n=(e._targets||[]).filter(e=>e._update&&e._update.handler===t);return n.length?n[0]:null}function DI(e,t,n,r){let i=EI(n,r);return i||(i=GF(e,()=>r(t,n.value)),i.handler=r,e.on(n,null,i)),e}function OI(e,t,n){let r=EI(t,n);return r&&t._targets.remove(r),e}N(wI,Ai,{async evaluate(e,t,n){if(await Ai.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,rce(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(e){this.error(e)}return n&&Or(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=e==null?null:e+``;return t!==this._desc&&DF(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let r=TI(this,e);return arguments.length===1?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal(`width`,e):this.signal(`width`)},height(e){return arguments.length?this.signal(`height`,e):this.signal(`height`)},padding(e){return arguments.length?this.signal(`padding`,ZF(e)):ZF(this.signal(`padding`))},autosize(e){return arguments.length?this.signal(`autosize`,e):this.signal(`autosize`)},background(e){return arguments.length?this.signal(`background`,e):this.signal(`background`)},renderer(e){return arguments.length?(Aj(e)||j(`Unrecognized renderer type: `+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(Ai.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(TI(this,`autosize`))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:fI,addEventListener(e,t,n){let r=t;return n&&n.trap===!1||(r=GF(this,t),r.raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var n=this._handler.handlers(e),r=n.length,i,a;--r>=0;)if(a=n[r].type,i=n[r].handler,e===a&&(t===i||t===i.raw)){this._handler.off(a,i);break}return this},addResizeListener(e){let t=this._resizeListeners;return t.includes(e)||t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return DI(this,e,TI(this,e),t)},removeSignalListener(e,t){return OI(this,TI(this,e),t)},addDataListener(e,t){return DI(this,e,AF(this,e).values,t)},removeDataListener(e,t){return OI(this,AF(this,e).values,t)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){let t=kF(this,null);this._globalCursor=!!e,t&&kF(this,t)}return this}return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:_I,events:dce,finalize:pce,hover:fce,data:ece,change:jF,insert:tce,remove:nce,scale:iI,initialize:qF,toImageURL:$F,toCanvas:tI,toSVG:nI,getState:pI,setState:gI,_watchPixelRatio:CI});var kI=e=>+e;function AI(e){return e*e}function jI(e){return e*(2-e)}function MI(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}var NI=3,PI=(function e(t){t=+t;function n(e){return e**+t}return n.exponent=e,n})(NI),FI=(function e(t){t=+t;function n(e){return 1-(1-e)**t}return n.exponent=e,n})(NI),II=(function e(t){t=+t;function n(e){return((e*=2)<=1?e**+t:2-(2-e)**t)/2}return n.exponent=e,n})(NI),LI=Math.PI,RI=LI/2;function zI(e){return+e==1?1:1-Math.cos(e*RI)}function BI(e){return Math.sin(e*RI)}function VI(e){return(1-Math.cos(LI*e))/2}function HI(e){return(2**(-10*e)-.0009765625)*1.0009775171065494}function UI(e){return HI(1-e)}function WI(e){return 1-HI(e)}function GI(e){return((e*=2)<=1?HI(1-e):2-HI(e-1))/2}function KI(e){return 1-Math.sqrt(1-e*e)}function qI(e){return Math.sqrt(1- --e*e)}function JI(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var YI=4/11,XI=6/11,ZI=8/11,QI=3/4,$I=9/11,eL=10/11,tL=15/16,nL=21/22,rL=63/64,iL=1/YI/YI;function aL(e){return 1-oL(1-e)}function oL(e){return(e=+e)<YI?iL*e*e:e<ZI?iL*(e-=XI)*e+QI:e<eL?iL*(e-=$I)*e+tL:iL*(e-=nL)*e+rL}function sL(e){return((e*=2)<=1?1-oL(1-e):oL(e-1)+1)/2}var cL=1.70158,lL=(function e(t){t=+t;function n(e){return(e=+e)*e*(t*(e-1)+e)}return n.overshoot=e,n})(cL),uL=(function e(t){t=+t;function n(e){return--e*e*((e+1)*t+e)+1}return n.overshoot=e,n})(cL),dL=(function e(t){t=+t;function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return n.overshoot=e,n})(cL),fL=2*Math.PI,pL=1,mL=.3,hL=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=fL);function i(e){return t*HI(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*fL)},i.period=function(n){return e(t,n)},i})(pL,mL),gL=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=fL);function i(e){return 1-t*HI(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*fL)},i.period=function(n){return e(t,n)},i})(pL,mL),_L=(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=fL);function i(e){return((e=e*2-1)<0?t*HI(-e)*Math.sin((r-e)/n):2-t*HI(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*fL)},i.period=function(n){return e(t,n)},i})(pL,mL);function vL(e){let t=this.context.data[e];return t?t.values.value:[]}function yL(e,t,n){let r=this.context.data[e][`index:`+t],i=r?r.value.get(n):void 0;return i&&i.count}function bL(e,t){let n=this.context.dataflow,r=this.context.data[e].input;return n.pulse(r,n.changeset().remove(x).insert(t)),1}var xL={easeLinear:kI,easeQuad:MI,easeQuadIn:AI,easeQuadOut:jI,easeQuadInOut:MI,easeCubic:sn,easeCubicIn:un,easeCubicOut:cn,easeCubicInOut:sn,easePoly:II,easePolyIn:PI,easePolyOut:FI,easePolyInOut:II,easeSin:VI,easeSinIn:zI,easeSinOut:BI,easeSinInOut:VI,easeExp:GI,easeExpIn:UI,easeExpOut:WI,easeExpInOut:GI,easeCircle:JI,easeCircleIn:KI,easeCircleOut:qI,easeCircleInOut:JI,easeBounce:oL,easeBounceIn:aL,easeBounceOut:oL,easeBounceInOut:sL,easeBack:dL,easeBackIn:lL,easeBackOut:uL,easeBackInOut:dL,easeElastic:gL,easeElasticIn:hL,easeElasticOut:gL,easeElasticInOut:_L};function SL(e,t,n){if(e){let n=this.context.dataflow,r=e.mark.source;n.pulse(r,n.changeset().encode(e,t))}return n===void 0?e:n}function CL(e,t){if(!h(e)||!e.length)return;let n=e.length,r=e[0],i=+t;if(n===1||!(i>0))return r;if(i>=1)return M(e);let a=i*(n-1),o=Math.floor(a),s=a-o;return s?e[o]+s*(e[o+1]-e[o]):e[o]}var wL=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?`null`:r[e](n)(t)},TL=wL(`format`),EL=wL(`timeFormat`),DL=wL(`utcFormat`),OL=wL(`timeParse`),kL=wL(`utcParse`),AL=new Date(2e3,0,1);function jL(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?``:(AL.setYear(2e3),AL.setMonth(e),AL.setDate(t),EL.call(this,AL,n))}function ML(e){return jL.call(this,e,1,`%B`)}function NL(e){return jL.call(this,e,1,`%b`)}function PL(e){return jL.call(this,0,2+e,`%A`)}function FL(e){return jL.call(this,0,2+e,`%a`)}function IL(e,t,n,r){t[0].type!==`Literal`&&j(`First argument to data functions must be a string literal.`);let i=t[0].value,a=`:`+i;if(!p(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function LL(e,t,n,r){t[0].type!==`Literal`&&j(`First argument to indata must be a string literal.`),t[1].type!==`Literal`&&j(`Second argument to indata must be a string literal.`);let i=t[0].value,a=t[1].value,o=`@`+a;p(o,r)||(r[o]=n.getData(i).indataRef(n,a))}function RL(e,t,n,r){if(t[0].type===`Literal`)zL(n,r,t[0].value);else for(e in n.scales)zL(n,r,e)}function zL(e,t,n){let r=`%`+n;if(!p(t,r))try{t[r]=e.scaleRef(n)}catch{}}function BL(e,t){if(_(e)){let n=t.scales[e];return n&&Gl(n.value)?n.value:void 0}if(o(e))return Gl(e)?e:void 0}function VL(e,t,n){t.__bandwidth=e=>e&&e.bandwidth?e.bandwidth():0,n._bandwidth=RL,n._range=RL,n._scale=RL;let r=t=>`_[`+(t.type===`Literal`?a(`%`+t.value):a(`%`)+`+`+e(t))+`]`;return{_bandwidth:e=>`this.__bandwidth(${r(e[0])})`,_range:e=>`${r(e[0])}.range()`,_scale:t=>`${r(t[0])}(${e(t[1])})`}}function HL(e,t){return function(n,r,i){if(n){let t=BL(n,(i||this).context);return t&&t.path[e](r)}return t(r)}}var UL=HL(`area`,nb),WL=HL(`bounds`,kb),GL=HL(`centroid`,Qb);function KL(e,t){let n=BL(e,(t||this).context);return n&&n.scale()}function qL(e,t){let n=BL(e,(t||this).context);return n&&n.translate()}function JL(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 YL(e,t,n){try{e[t].apply(e,[`EXPRESSION`].concat([].slice.call(n)))}catch(t){e.warn(t)}return n[n.length-1]}function XL(){return YL(this.context.dataflow,`warn`,arguments)}function ZL(){return YL(this.context.dataflow,`info`,arguments)}function QL(){return YL(this.context.dataflow,`debug`,arguments)}function $L(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function eR(e){let t=en(e),n=$L(t.r),r=$L(t.g),i=$L(t.b);return .2126*n+.7152*r+.0722*i}function tR(e,t){let n=eR(e),r=eR(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function nR(){let e=[].slice.call(arguments);return e.unshift({}),g(...e)}function rR(e,t){return e===t||e!==e&&t!==t?!0:h(e)?h(t)&&e.length===t.length?iR(e,t):!1:d(e)&&d(t)?aR(e,t):!1}function iR(e,t){for(let n=0,r=e.length;n<r;++n)if(!rR(e[n],t[n]))return!1;return!0}function aR(e,t){for(let n in e)if(!rR(e[n],t[n]))return!1;return!0}function oR(e){return t=>aR(e,t)}function sR(e,t,n,r,i,a){let s=this.context.dataflow,c=this.context.data[e],l=c.input,u=s.stamp(),d=c.changes,f,p;if(s._trigger===!1||!(l.value.length||t||r))return 0;if((!d||d.stamp<u)&&(c.changes=d=s.changeset(),d.stamp=u,s.runAfter(()=>{c.modified=!0,s.pulse(l,d).run()},!0,1)),n&&(f=n===!0?x:h(n)||jr(n)?n:oR(n),d.remove(f)),t&&d.insert(t),r&&(f=oR(r),l.value.some(f)?d.remove(f):d.insert(r)),i){if(o(i))throw Error(`modify parameter must be a data tuple, not a function`);for(p in a)d.modify(i,p,a[p])}return 1}function cR(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 lR(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var uR={};function dR(e,t){let n=uR[t]||(uR[t]=oe(t));return h(e)?e.map(n):n(e)}function fR(e){return h(e)||ArrayBuffer.isView(e)?e:null}function pR(e){return fR(e)||(_(e)?e:null)}function mR(e,...t){return fR(e).join(...t)}function hR(e,...t){return pR(e).indexOf(...t)}function gR(e,...t){return pR(e).lastIndexOf(...t)}function _R(e,...t){return pR(e).slice(...t)}function vR(e,t,n){return o(n)&&j(`Function argument passed to replace.`),!_(t)&&!or(t)&&j(`Please pass a string or RegExp argument to replace.`),String(e).replace(t,n)}function yR(e){return fR(e).slice().reverse()}function bR(e){return fR(e).slice().sort(S)}function xR(e,t,n){return xl(e||0,t||0,n||0)}function SR(e,t){let n=BL(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function CR(e,t){let n=BL(e,(t||this).context);return n?n.copy():void 0}function wR(e,t){let n=BL(e,(t||this).context);return n?n.domain():[]}function TR(e,t,n){let r=BL(e,(n||this).context);return r?h(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function ER(e,t){let n=BL(e,(t||this).context);return n&&n.range?n.range():[]}function DR(e,t,n){let r=BL(e,(n||this).context);return r?r(t):void 0}function OR(e,t,n,r,i){e=BL(e,(i||this).context);let a=gE(t,n),o=e.domain(),s=o[0],c=M(o),l=O;return c-s?l=su(e,s,c):e=(e.interpolator?ql(`sequential`)().interpolator(e.interpolator()):ql(`linear`)().interpolate(e.interpolate()).range(e.range())).domain([s=0,c=1]),e.ticks&&(o=e.ticks(+r||15),s!==o[0]&&o.unshift(s),c!==M(o)&&o.push(c)),o.forEach(t=>a.stop(l(t),e(t))),a}function kR(e,t,n){let r=BL(e,(n||this).context);return function(e){return r?r.path.context(e)(t):``}}function AR(e){let t=null;return function(n){return n?OE(n,t||=yE(e)):e}}var jR=e=>e.data;function MR(e,t){let n=vL.call(t,e);return n.root&&n.root.lookup||{}}function NR(e,t,n){let r=MR(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(jR):void 0}function PR(e,t){let n=MR(e,this)[t];return n?n.ancestors().map(jR):void 0}var FR=()=>typeof window<`u`&&window||null;function IR(){let e=FR();return e?e.screen:{}}function LR(){let e=FR();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function RR(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function zR(e,t,n){if(!e)return[];let[r,i]=e,a=new UE().set(r[0],r[1],i[0],i[1]);return jj(n||this.context.dataflow.scenegraph().root,a,BR(t))}function BR(e){let t=null;if(e){let n=E(e.marktype),r=E(e.markname);t=e=>(!n.length||n.some(t=>e.marktype===t))&&(!r.length||r.some(t=>e.name===t))}return t}function VR(e,t,n,r=5){e=E(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 HR(e){return E(e).reduce((t,[n,r],i)=>t+=i==0?`M ${n},${r} `:i===e.length-1?` Z`:`L ${n},${r} `,``)}function UR(e,t,n){let{x:r,y:i,mark:a}=n,o=new UE().set(2**53-1,2**53-1,-(2**53-1),-(2**53-1));for(let[e,n]of t)e<o.x1&&(o.x1=e),e>o.x2&&(o.x2=e),n<o.y1&&(o.y1=n),n>o.y2&&(o.y2=n);return o.translate(r,i),zR([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(e=>WR(e.x,e.y,t))}function WR(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,s]=n[a],[c,l]=n[i];l>t!=s>t&&e<(o-c)*(t-l)/(s-l)+c&&r++}return r&1}var GR={random(){return Bi()},cumulativeNormal:qi,cumulativeLogNormal:$i,cumulativeUniform:aa,densityNormal:Ki,densityLogNormal:Qi,densityUniform:ia,quantileNormal:Ji,quantileLogNormal:ea,quantileUniform:oa,sampleNormal:Gi,sampleLogNormal:Zi,sampleUniform:ra,isArray:h,isBoolean:ar,isDate:u,isDefined(e){return e!==void 0},isNumber:v,isObject:d,isRegExp:or,isString:_,isTuple:jr,isValid(e){return e!=null&&e===e},toBoolean:pe,toDate(e){return y(e)},toNumber:f,toString:c,indexof:hR,join:mR,lastindexof:gR,replace:vR,reverse:yR,sort:bR,slice:_R,flush:rr,lerp:sr,interpolateLinear:CL,merge:nR,pad:dr,peek:M,pluck:dR,span:fr,inrange:ir,truncate:mr,rgb:en,lab:ot,hcl:rt,hsl:tn,luminance:eR,contrast:tR,sequence:lt,format:TL,utcFormat:DL,utcParse:kL,utcOffset:De,utcSequence:C,timeFormat:EL,timeParse:OL,timeOffset:ee,timeSequence:Ee,timeUnitSpecifier:Oe,monthFormat:ML,monthAbbrevFormat:NL,dayFormat:PL,dayAbbrevFormat:FL,quarter:Jn,utcquarter:Yn,week:l,utcweek:w,isoweek:le,utcisoweek:eee,dayofyear:he,utcdayofyear:s,warn:XL,info:ZL,debug:QL,extent(e){return $n(e)},inScope:JL,intersect:zR,clampRange:Xn,pinchDistance:cR,pinchAngle:lR,screen:IR,containerSize:RR,windowSize:LR,bandspace:xR,setdata:bL,pathShape:AR,panLinear:zn,panLog:Bn,panPow:Vn,panSymlog:Hn,zoomLinear:Wn,zoomLog:Gn,zoomPow:Kn,zoomSymlog:qn,encode:SL,modify:sR,lassoAppend:VR,lassoPath:HR,intersectLasso:UR,...xL},KR=[`view`,`item`,`group`,`xy`,`x`,`y`],qR=`event.vega.`,JR=`this.`,YR={},XR={forbidden:[`_`],allowed:[`datum`,`event`,`item`],fieldvar:`datum`,globalvar:e=>`_[${a(`$`+e)}]`,functions:QR,constants:EP,visitors:YR},ZR=OP(XR);function QR(e){let t=DP(e);KR.forEach(e=>t[e]=qR+e);for(let e in GR)t[e]=JR+e;return g(t,VL(e,GR,YR)),t}function $R(e,t,n){return arguments.length===1?GR[e]:(GR[e]=t,n&&(YR[e]=n),ZR&&(ZR.functions[e]=JR+e),this)}$R(`bandwidth`,SR,RL),$R(`copy`,CR,RL),$R(`domain`,wR,RL),$R(`range`,ER,RL),$R(`invert`,TR,RL),$R(`scale`,DR,RL),$R(`gradient`,OR,RL),$R(`geoArea`,UL,RL),$R(`geoBounds`,WL,RL),$R(`geoCentroid`,GL,RL),$R(`geoShape`,kR,RL),$R(`geoScale`,KL,RL),$R(`geoTranslate`,qL,RL),$R(`indata`,yL,LL),$R(`data`,vL,IL),$R(`treePath`,NR,IL),$R(`treeAncestors`,PR,IL),$R(`vlSelectionTest`,RP,WP),$R(`vlSelectionIdTest`,BP,WP),$R(`vlSelectionResolve`,HP,WP),$R(`vlSelectionTuples`,VP);function ez(e,t){let n={},r;try{e=_(e)?e:a(e)+``,r=ioe(e)}catch{j(`Expression parse error: `+e)}r.visit(e=>{if(e.type!==`CallExpression`)return;let r=e.callee.name,i=XR.visitors[r];i&&i(r,e.arguments,t,n)});let i=ZR(r);return i.globals.forEach(e=>{let r=`$`+e;!p(n,r)&&t.getSignal(e)&&(n[r]=t.signalRef(e))}),{$expr:g({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}var tz=`view`,nz=`[`,rz=`]`,iz=`{`,az=`}`,oz=`:`,sz=`,`,cz=`@`,lz=`>`,uz=/[[\]{}]/,dz={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},fz,pz;function mz(e,t,n){return fz=t||tz,pz=n||dz,_z(e.trim()).map(vz)}function hz(e){return pz[e]}function gz(e,t,n,r,i){let a=e.length,o=0,s;for(;t<a;++t){if(s=e[t],!o&&s===n)return t;i&&i.includes(s)?--o:r&&r.includes(s)&&++o}return t}function _z(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=gz(e,i,sz,`[{`,`]}`),t.push(e.substring(r,i).trim()),r=++i;if(t.length===0)throw`Empty event selector: `+e;return t}function vz(e){return e[0]===`[`?yz(e):bz(e)}function yz(e){let t=e.length,n=1,r;if(n=gz(e,n,rz,nz,rz),n===t)throw`Empty between selector: `+e;if(r=_z(e.substring(1,n)),r.length!==2)throw`Between selector must have two elements: `+e;if(e=e.slice(n+1).trim(),e[0]!==lz)throw`Expected '>' after between selector: `+e;r=r.map(vz);let i=vz(e.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function bz(e){let t={source:fz},n=[],r=[0,0],i=0,a=0,o=e.length,s=0,c,l;if(e[o-1]===az){if(s=e.lastIndexOf(iz),s>=0){try{r=xz(e.substring(s+1,o-1))}catch{throw`Invalid throttle specification: `+e}e=e.slice(0,s).trim(),o=e.length}else throw`Unmatched right brace: `+e;s=0}if(!o)throw e;if(e[0]===cz&&(i=++s),c=gz(e,s,oz),c<o&&(n.push(e.substring(a,c).trim()),a=s=++c),s=gz(e,s,nz),s===o)n.push(e.substring(a,o).trim());else if(n.push(e.substring(a,s).trim()),l=[],a=++s,a===o)throw`Unmatched left bracket: `+e;for(;s<o;){if(s=gz(e,s,rz),s===o)throw`Unmatched left bracket: `+e;if(l.push(e.substring(a,s).trim()),s<o-1&&e[++s]!==nz)throw`Expected left bracket: `+e;a=++s}if(!(o=n.length)||uz.test(n[o-1]))throw`Invalid event selector: `+e;return o>1?(t.type=n[1],i?t.markname=n[0].slice(1):hz(n[0])?t.marktype=n[0]:t.source=n[0]):t.type=n[0],t.type.slice(-1)===`!`&&(t.consume=!0,t.type=t.type.slice(0,-1)),l!=null&&(t.filter=l),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}function xz(e){let t=e.split(sz);if(!e.length||t.length>2)throw e;return t.map(t=>{let n=+t;if(n!==n)throw e;return n})}function Sz(e){return d(e)?e:{type:e||`pad`}}var Cz=e=>+e||0,wz=e=>({top:e,bottom:e,left:e,right:e});function Tz(e){return d(e)?e.signal?e:{top:Cz(e.top),bottom:Cz(e.bottom),left:Cz(e.left),right:Cz(e.right)}:wz(Cz(e))}var Ez=e=>d(e)&&!h(e)?g({},e):{value:e};function Dz(e,t,n,r){return n==null?0:(d(n)&&!h(n)||h(n)&&n.length&&d(n[0])?e.update[t]=n:e[r||`enter`][t]={value:n},1)}function Oz(e,t,n){for(let n in t)Dz(e,n,t[n]);for(let t in n)Dz(e,t,n[t],`update`)}function kz(e,t,n){for(let r in t)n&&p(n,r)||(e[r]=g(e[r]||{},t[r]));return e}function Az(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}var jz=`frame`,Mz=`scope`,Nz=`axis`,Pz=`axis-domain`,Fz=`axis-grid`,Iz=`axis-label`,Lz=`axis-tick`,Rz=`axis-title`,zz=`legend`,Bz=`legend-band`,Vz=`legend-entry`,Hz=`legend-gradient`,Uz=`legend-label`,Wz=`legend-symbol`,Gz=`legend-title`,Kz=`title`,qz=`title-text`,Jz=`title-subtitle`;function Yz(e,t,n,r,i){let a={},o={},s,c,l,u;for(c in c=`lineBreak`,t===`text`&&i[c]!=null&&!Az(c,e)&&Xz(a,c,i[c]),(n==`legend`||String(n).startsWith(`axis`))&&(n=null),u=n===`frame`?i.group:n===`mark`?g({},i.mark,i[t]):null,u)l=Az(c,e)||(c===`fill`||c===`stroke`)&&(Az(`fill`,e)||Az(`stroke`,e)),l||Xz(a,c,u[c]);for(c in E(r).forEach(t=>{let n=i.style&&i.style[t];for(let t in n)Az(t,e)||Xz(a,t,n[t])}),e=g({},e),a)u=a[c],u.signal?(s||={})[c]=u:o[c]=u;return e.enter=g(o,e.enter),s&&(e.update=g(s,e.update)),e}function Xz(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}var Zz=e=>_(e)?a(e):e.signal?`(${e.signal})`:rB(e);function Qz(e){if(e.gradient!=null)return tB(e);let t=e.signal?`(${e.signal})`:e.color?eB(e.color):e.field==null?e.value===void 0?void 0:a(e.value):rB(e.field);return e.scale!=null&&(t=aB(e,t)),t===void 0&&(t=null),e.exponent!=null&&(t=`pow(${t},${nB(e.exponent)})`),e.mult!=null&&(t+=`*${nB(e.mult)}`),e.offset!=null&&(t+=`+${nB(e.offset)}`),e.round&&(t=`round(${t})`),t}var $z=(e,t,n,r)=>`(${e}(${[t,n,r].map(Qz).join(`,`)})+'')`;function eB(e){return e.c?$z(`hcl`,e.h,e.c,e.l):e.h||e.s?$z(`hsl`,e.h,e.s,e.l):e.l||e.a?$z(`lab`,e.l,e.a,e.b):e.r||e.g||e.b?$z(`rgb`,e.r,e.g,e.b):null}function tB(e){let t=[e.start,e.stop,e.count].map(e=>e==null?null:a(e));for(;t.length&&M(t)==null;)t.pop();return t.unshift(Zz(e.gradient)),`gradient(${t.join(`,`)})`}function nB(e){return d(e)?`(`+Qz(e)+`)`:e}function rB(e){return iB(d(e)?e:{datum:e})}function iB(e){let t,n,r;if(e.signal)t=`datum`,r=e.signal;else if(e.group||e.parent){for(n=Math.max(1,e.level||1),t=`item`;n-->0;)t+=`.mark.group`;e.parent?(r=e.parent,t+=`.datum`):r=e.group}else e.datum?(t=`datum`,r=e.datum):j(`Invalid field reference: `+a(e));return e.signal||(r=_(r)?we(r).map(a).join(`][`):iB(r)),t+`[`+r+`]`}function aB(e,t){let n=Zz(e.scale);return e.range==null?(t!==void 0&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+`+`:``)+`_bandwidth(${n})`+(+e.band==1?``:`*`+nB(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),t??=`0`):t=`lerp(_range(${n}), ${+e.range})`,t}function oB(e){let t=``;return e.forEach(e=>{let n=Qz(e);t+=e.test?`(${e.test})?${n}:`:n}),M(t)===`:`&&(t+=`null`),t}function sB(e,t,n,r,i,a){let o={};a||={},a.encoders={$encode:o},e=Yz(e,t,n,r,i.config);for(let n in e)o[n]=cB(e[n],t,a,i);return a}function cB(e,t,n,r){let i={},a={};for(let t in e)e[t]!=null&&(i[t]=uB(lB(e[t]),r,n,a));return{$expr:{marktype:t,channels:i},$fields:Object.keys(a),$output:Object.keys(e)}}function lB(e){return h(e)?oB(e):Qz(e)}function uB(e,t,n,r){let i=ez(e,t);return i.$fields.forEach(e=>r[e]=1),g(n,i.$params),i.$expr}var dB=`outer`,fB=[`value`,`update`,`init`,`react`,`bind`];function pB(e,t){j(e+` for "outer" push: `+a(t))}function mB(e,t){let n=e.name;if(e.push===dB)t.signals[n]||pB(`No prior signal definition`,n),fB.forEach(t=>{e[t]!==void 0&&pB(`Invalid property `,t)});else{let r=t.addSignal(n,e.value);e.react===!1&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function hB(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function gB(e,t,n,r){return new hB(e,t,n,r)}function _B(e,t){return gB(`operator`,e,t)}function H(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function vB(e,t){return t?{$field:e,$name:t}:{$field:e}}var yB=vB(`key`);function bB(e,t){return{$compare:e,$order:t}}function xB(e,t){let n={$key:e};return t&&(n.$flat=!0),n}var SB=`ascending`,CB=`descending`;function wB(e){return d(e)?(e.order===CB?`-`:`+`)+TB(e.op,e.field):``}function TB(e,t){return(e&&e.signal?`$`+e.signal:e||``)+(e&&t?`_`:``)+(t&&t.signal?`$`+t.signal:t?.replace(/\W+/g,`_`).replace(/^_+|_+$/g,``)||``)}var EB=`scope`,DB=`view`;function OB(e){return e&&e.signal}function kB(e){return e&&e.expr}function AB(e){if(OB(e))return!0;if(d(e)){for(let t in e)if(AB(e[t]))return!0}return!1}function jB(e,t){return e??t}function MB(e){return e&&e.signal||e}var NB=`timer`;function PB(e,t){return(e.merge?IB:e.stream?LB:e.type?RB:j(`Invalid stream specification: `+a(e)))(e,t)}function FB(e){return e===EB?DB:e||DB}function IB(e,t){let n=zB({merge:e.merge.map(e=>PB(e,t))},e,t);return t.addStream(n).id}function LB(e,t){let n=zB({stream:PB(e.stream,t)},e,t);return t.addStream(n).id}function RB(e,t){let n;e.type===NB?(n=t.event(NB,e.throttle),e={between:e.between,filter:e.filter}):n=t.event(FB(e.source),e.type);let r=zB({stream:n},e,t);return Object.keys(r).length===1?n:t.addStream(r).id}function zB(e,t,n){let r=t.between;return r&&(r.length!==2&&j(`Stream "between" parameter must have 2 entries: `+a(t)),e.between=[PB(r[0],n),PB(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(BB(t.marktype,t.markname,t.markrole)),t.source===EB&&r.push(`inScope(event.item)`),r.length&&(e.filter=ez(`(`+r.join(`)&&(`)+`)`,n).$expr),(r=t.throttle)!=null&&(e.throttle=+r),(r=t.debounce)!=null&&(e.debounce=+r),t.consume&&(e.consume=!0),e}function BB(e,t,n){let r=`event.item`;return r+(e&&e!==`*`?`&&`+r+`.mark.marktype==='`+e+`'`:``)+(n?`&&`+r+`.mark.role==='`+n+`'`:``)+(t?`&&`+r+`.mark.name==='`+t+`'`:``)}var VB={code:`_.$value`,ast:{type:`Identifier`,value:`value`}};function HB(e,t,n){let r=e.encode,i={target:n},o=e.events,s=e.update,c=[];o||j(`Signal update missing events specification.`),_(o)&&(o=mz(o,t.isSubscope()?EB:DB)),o=E(o).filter(e=>e.signal||e.scale?(c.push(e),0):1),c.length>1&&(c=[WB(c)]),o.length&&c.push(o.length>1?{merge:o}:o[0]),r!=null&&(s&&j(`Signal encode and update are mutually exclusive.`),s=`encode(item(),`+a(r)+`)`),i.update=_(s)?ez(s,t):s.expr==null?s.value==null?s.signal==null?j(`Invalid signal update specification.`):{$expr:VB,$params:{$value:t.signalRef(s.signal)}}:s.value:ez(s.expr,t),e.force&&(i.options={force:!0}),c.forEach(e=>t.addUpdate(g(UB(e,t),i)))}function UB(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):PB(e,t)}}function WB(e){return{signal:`[`+e.map(e=>e.scale?`scale("`+e.scale+`")`:e.signal)+`]`}}function GB(e,t){let n=t.getSignal(e.name),r=e.update;e.init&&(r?j(`Signals can not include both init and update expressions.`):(r=e.init,n.initonly=!0)),r&&(r=ez(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(e=>HB(e,t,n.id))}var KB=e=>(t,n,r)=>gB(e,n,t||void 0,r),qB=KB(`aggregate`),JB=KB(`axisticks`),YB=KB(`bound`),XB=KB(`collect`),ZB=KB(`compare`),QB=KB(`datajoin`),$B=KB(`encode`),eV=KB(`expression`),tV=KB(`facet`),nV=KB(`field`),rV=KB(`key`),iV=KB(`legendentries`),aV=KB(`load`),oV=KB(`mark`),sV=KB(`multiextent`),cV=KB(`multivalues`),lV=KB(`overlap`),uV=KB(`params`),dV=KB(`prefacet`),fV=KB(`projection`),pV=KB(`proxy`),mV=KB(`relay`),hV=KB(`render`),gV=KB(`scale`),_V=KB(`sieve`),vV=KB(`sortitems`),yV=KB(`viewlayout`),bV=KB(`values`),xV=0,SV={min:`min`,max:`max`,count:`sum`};function CV(e,t){let n=e.type||`linear`;Jl(n)||j(`Unrecognized scale type: `+a(n)),t.addScale(e.name,{type:n,domain:void 0})}function wV(e,t){let n=t.getScale(e.name).params,r;for(r in n.domain=OV(e.domain,e,t),e.range!=null&&(n.range=BV(e,t,n)),e.interpolate!=null&&zV(e.interpolate,n),e.nice!=null&&(n.nice=RV(e.nice,t)),e.bins!=null&&(n.bins=LV(e.bins,t)),e)p(n,r)||r===`name`||(n[r]=TV(e[r],t))}function TV(e,t){return d(e)?e.signal?t.signalRef(e.signal):j(`Unsupported object: `+a(e)):e}function EV(e,t){return e.signal?t.signalRef(e.signal):e.map(e=>TV(e,t))}function DV(e){j(`Can not find data set: `+a(e))}function OV(e,t,n){if(!e){(t.domainMin!=null||t.domainMax!=null)&&j(`No scale domain defined for domainMin/domainMax to override.`);return}return e.signal?n.signalRef(e.signal):(h(e)?kV:e.fields?jV:AV)(e,t,n)}function kV(e,t,n){return e.map(e=>TV(e,n))}function AV(e,t,n){let r=n.getData(e.data);return r||DV(e.data),Zl(t.type)?r.valuesRef(n,e.field,PV(e.sort,!1)):nu(t.type)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function jV(e,t,n){let r=e.data,i=e.fields.reduce((e,t)=>(t=_(t)?{data:r,field:t}:h(t)||t.signal?MV(t,n):t,e.push(t),e),[]);return(Zl(t.type)?NV:nu(t.type)?FV:IV)(e,n,i)}function MV(e,t){let n=`_:vega:_`+xV++,r=XB({});if(h(e)&&!e.some(OB))r.value={$ingest:e};else{let i=h(e)?`[`+e.map(e=>OB(e)?e.signal:a(e)).join(`,`)+`]`:e.signal,o=`setdata(`+a(n)+`,`+i+`)`;r.params.input=t.signalRef(o)}return t.addDataPipeline(n,[r,_V({})]),{data:n,field:`data`}}function NV(e,t,n){let r=PV(e.sort,!0),i,a,o={groupby:yB,pulse:n.map(e=>{let n=t.getData(e.data);return n||DV(e.data),n.countsRef(t,e.field,r)})};r&&(i=r.op||`count`,a=r.field?TB(i,r.field):`count`,o.ops=[SV[i]],o.fields=[t.fieldRef(a)],o.as=[a]),i=t.add(qB(o));let s=t.add(XB({pulse:H(i)}));return a=t.add(bV({field:yB,sort:t.sortRef(r),pulse:H(s)})),H(a)}function PV(e,t){return e&&(!e.field&&!e.op?d(e)?e.field=`key`:e={field:`key`}:!e.field&&e.op!==`count`?j(`No field provided for sort aggregate op: `+e.op):t&&e.field&&e.op&&!SV[e.op]&&j(`Multiple domain scales can not be sorted using `+e.op)),e}function FV(e,t,n){let r=n.map(e=>{let n=t.getData(e.data);return n||DV(e.data),n.domainRef(t,e.field)});return H(t.add(cV({values:r})))}function IV(e,t,n){let r=n.map(e=>{let n=t.getData(e.data);return n||DV(e.data),n.extentRef(t,e.field)});return H(t.add(sV({extents:r})))}function LV(e,t){return e.signal||h(e)?EV(e,t):t.objectProperty(e)}function RV(e,t){return e.signal?t.signalRef(e.signal):d(e)?{interval:TV(e.interval),step:TV(e.step)}:TV(e)}function zV(e,t){t.interpolate=TV(e.type||e),e.gamma!=null&&(t.interpolateGamma=TV(e.gamma))}function BV(e,t,n){let r=t.config.range,i=e.range;if(i.signal)return t.signalRef(i.signal);if(_(i)){if(r&&p(r,i))return e=g({},e,{range:r[i]}),BV(e,t,n);i===`width`?i=[0,{signal:`width`}]:i===`height`?i=Zl(e.type)?[0,{signal:`height`}]:[{signal:`height`},0]:j(`Unrecognized scale range value: `+a(i))}else if(i.scheme){n.scheme=h(i.scheme)?EV(i.scheme,t):TV(i.scheme,t),i.extent&&(n.schemeExtent=EV(i.extent,t)),i.count&&(n.schemeCount=TV(i.count,t));return}else if(i.step){n.rangeStep=TV(i.step,t);return}else if(Zl(e.type)&&!h(i))return OV(i,e,t);else h(i)||j(`Unsupported range type: `+a(i));return i.map(e=>(h(e)?EV:TV)(e,t))}function VV(e,t){let n=t.config.projection||{},r={};for(let n in e)n!==`name`&&(r[n]=HV(e[n],n,t));for(let e in n)r[e]??(r[e]=HV(n[e],e,t));t.addProjection(e.name,r)}function HV(e,t,n){return h(e)?e.map(e=>HV(e,t,n)):d(e)?e.signal?n.signalRef(e.signal):t===`fit`?e:j(`Unsupported parameter object: `+a(e)):e}var UV=`top`,WV=`left`,GV=`right`,KV=`bottom`,qV=`center`,JV=`vertical`,YV=`start`,XV=`middle`,ZV=`end`,QV=`index`,$V=`label`,eH=`offset`,tH=`perc`,nH=`value`,rH=`guide-label`,iH=`guide-title`,aH=`group-title`,oH=`group-subtitle`,sH=`symbol`,cH=`gradient`,lH=`discrete`,uH=`size`,dH=[uH,`shape`,`fill`,`stroke`,`strokeWidth`,`strokeDash`,`opacity`],fH={name:1,style:1,interactive:1},pH={value:0},mH={value:1},hH=`group`,gH=`rect`,_H=`rule`,vH=`symbol`,yH=`text`;function bH(e){return e.type=hH,e.interactive=e.interactive||!1,e}function xH(e,t){let n=(n,r)=>jB(e[n],jB(t[n],r));return n.isVertical=n=>JV===jB(e.direction,t.direction||(n?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>jB(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>jB(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>jB(e.columns,jB(t.columns,+n.isVertical(!0))),n}function SH(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function CH(e,t,n){let r=t.config.style[n];return r&&r[e]}function wH(e,t,n){return`item.anchor === '${YV}' ? ${e} : item.anchor === '${ZV}' ? ${t} : ${n}`}var TH=wH(a(WV),a(GV),a(qV));function EH(e){let t=e(`tickBand`),n=e(`tickOffset`),r,i;return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},d(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):t===`extent`?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e(`bandPosition`),i=e(`tickExtra`)),{extra:i,band:r,offset:n}}function DH(e,t){return t?e?d(e)?Object.assign({},e,{offset:DH(e.offset,t)}):{value:e,offset:t}:t:e}function OH(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=kz(e.encode,t,fH)):e.interactive=!1,e}function kH(e,t,n,r){let i=xH(e,n),a=i.isVertical(),o=i.gradientThickness(),s=i.gradientLength(),c,l,u,d,f;a?(l=[0,1],u=[0,0],d=o,f=s):(l=[0,0],u=[1,0],d=s,f=o);let p={enter:c={opacity:pH,x:pH,y:pH,width:Ez(d),height:Ez(f)},update:g({},c,{opacity:mH,fill:{gradient:t,start:l,stop:u}}),exit:{opacity:pH}};return Oz(p,{stroke:i(`gradientStrokeColor`),strokeWidth:i(`gradientStrokeWidth`)},{opacity:i(`gradientOpacity`)}),OH({type:gH,role:Hz,encode:p},r)}function AH(e,t,n,r,i){let a=xH(e,n),o=a.isVertical(),s=a.gradientThickness(),c=a.gradientLength(),l,u,d,f,p=``;o?(l=`y`,d=`y2`,u=`x`,f=`width`,p=`1-`):(l=`x`,d=`x2`,u=`y`,f=`height`);let m={opacity:pH,fill:{scale:t,field:nH}};m[l]={signal:p+`datum.perc`,mult:c},m[u]=pH,m[d]={signal:p+`datum.perc2`,mult:c},m[f]=Ez(s);let h={enter:m,update:g({},m,{opacity:mH}),exit:{opacity:pH}};return Oz(h,{stroke:a(`gradientStrokeColor`),strokeWidth:a(`gradientStrokeWidth`)},{opacity:a(`gradientOpacity`)}),OH({type:gH,role:Bz,key:nH,from:i,encode:h},r)}var jH=`datum.${tH}<=0?"${WV}":datum.${tH}>=1?"${GV}":"${qV}"`,MH=`datum.${tH}<=0?"${KV}":datum.${tH}>=1?"${UV}":"${XV}"`;function NH(e,t,n,r){let i=xH(e,t),a=i.isVertical(),o=Ez(i.gradientThickness()),s=i.gradientLength(),c=i(`labelOverlap`),l,u,d,f,p=``,m={enter:l={opacity:pH},update:u={opacity:mH,text:{field:$V}},exit:{opacity:pH}};return Oz(m,{fill:i(`labelColor`),fillOpacity:i(`labelOpacity`),font:i(`labelFont`),fontSize:i(`labelFontSize`),fontStyle:i(`labelFontStyle`),fontWeight:i(`labelFontWeight`),limit:jB(e.labelLimit,t.gradientLabelLimit)}),a?(l.align={value:`left`},l.baseline=u.baseline={signal:MH},d=`y`,f=`x`,p=`1-`):(l.align=u.align={signal:jH},l.baseline={value:`top`},d=`x`,f=`y`),l[d]=u[d]={signal:p+`datum.perc`,mult:s},l[f]=u[f]=o,o.offset=jB(e.labelOffset,t.gradientLabelOffset)||0,c=c?{separation:i(`labelSeparation`),method:c,order:`datum.index`}:void 0,OH({type:yH,role:Uz,style:rH,key:nH,from:r,encode:m,overlap:c},n)}function PH(e,t,n,r,i){let a=xH(e,t),o=n.entries,s=!!(o&&o.interactive),c=o?o.name:void 0,l=a(`clipHeight`),u=a(`symbolOffset`),d={data:`value`},f=`(${i}) ? datum.${eH} : datum.${uH}`,p=l?Ez(l):{field:uH},m=`datum.${QV}`,h=`max(1, ${i})`,g,_,v,y,b;p.mult=.5,g={enter:_={opacity:pH,x:{signal:f,mult:.5,offset:u},y:p},update:v={opacity:mH,x:_.x,y:_.y},exit:{opacity:pH}};let x=null,S=null;e.fill||(x=t.symbolBaseFillColor,S=t.symbolBaseStrokeColor),Oz(g,{fill:a(`symbolFillColor`,x),shape:a(`symbolType`),size:a(`symbolSize`),stroke:a(`symbolStrokeColor`,S),strokeDash:a(`symbolDash`),strokeDashOffset:a(`symbolDashOffset`),strokeWidth:a(`symbolStrokeWidth`)},{opacity:a(`symbolOpacity`)}),dH.forEach(t=>{e[t]&&(v[t]=_[t]={scale:e[t],field:nH})});let C=OH({type:vH,role:Wz,key:nH,from:d,clip:l?!0:void 0,encode:g},n.symbols),w=Ez(u);w.offset=a(`labelOffset`),g={enter:_={opacity:pH,x:{signal:f,offset:w},y:p},update:v={opacity:mH,text:{field:$V},x:_.x,y:_.y},exit:{opacity:pH}},Oz(g,{align:a(`labelAlign`),baseline:a(`labelBaseline`),fill:a(`labelColor`),fillOpacity:a(`labelOpacity`),font:a(`labelFont`),fontSize:a(`labelFontSize`),fontStyle:a(`labelFontStyle`),fontWeight:a(`labelFontWeight`),limit:a(`labelLimit`)});let T=OH({type:yH,role:Uz,style:rH,key:nH,from:d,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:pH,height:l?Ez(l):pH,opacity:pH},exit:{opacity:pH},update:v={opacity:mH,row:{signal:null},column:{signal:null}}},a.isVertical(!0)?(y=`ceil(item.mark.items.length / ${h})`,v.row.signal=`${m}%${y}`,v.column.signal=`floor(${m} / ${y})`,b={field:[`row`,m]}):(v.row.signal=`floor(${m} / ${h})`,v.column.signal=`${m} % ${h}`,b={field:m}),v.column.signal=`(${i})?${v.column.signal}:${m}`,r={facet:{data:r,name:`value`,groupby:QV}},bH({role:Mz,from:r,encode:kz(g,o,fH),marks:[C,T],name:c,interactive:s,sort:b})}function FH(e,t){let n=xH(e,t);return{align:n(`gridAlign`),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n(`rowPadding`),column:n(`columnPadding`)}}}var IH=`item.orient === "left"`,LH=`item.orient === "right"`,RH=`(${IH} || ${LH})`,zH=`datum.vgrad && ${RH}`,BH=wH(`"top"`,`"bottom"`,`"middle"`),VH=`datum.vgrad && ${LH} ? (${wH(`"right"`,`"left"`,`"center"`)}) : (${RH} && !(datum.vgrad && ${IH})) ? "left" : ${TH}`,HH=`item._anchor || (${RH} ? "middle" : "start")`,UH=`${zH} ? (${IH} ? -90 : 90) : 0`,WH=`${RH} ? (datum.vgrad ? (${LH} ? "bottom" : "top") : ${BH}) : "top"`;function GH(e,t,n,r){let i=xH(e,t),a={enter:{opacity:pH},update:{opacity:mH,x:{field:{group:`padding`}},y:{field:{group:`padding`}}},exit:{opacity:pH}};return Oz(a,{orient:i(`titleOrient`),_anchor:i(`titleAnchor`),anchor:{signal:HH},angle:{signal:UH},align:{signal:VH},baseline:{signal:WH},text:e.title,fill:i(`titleColor`),fillOpacity:i(`titleOpacity`),font:i(`titleFont`),fontSize:i(`titleFontSize`),fontStyle:i(`titleFontStyle`),fontWeight:i(`titleFontWeight`),limit:i(`titleLimit`),lineHeight:i(`titleLineHeight`)},{align:i(`titleAlign`),baseline:i(`titleBaseline`)}),OH({type:yH,role:Gz,style:iH,from:r,encode:a},n)}function KH(e,t){let n;return d(e)&&(e.signal?n=e.signal:e.path?n=`pathShape(`+qH(e.path)+`)`:e.sphere&&(n=`geoShape(`+qH(e.sphere)+`, {type: "Sphere"})`)),n?t.signalRef(n):!!e}function qH(e){return d(e)&&e.signal?e.signal:a(e)}function JH(e){let t=e.role||``;return t.startsWith(`axis`)||t.startsWith(`legend`)||t.startsWith(`title`)?t:e.type===hH?Mz:t||`mark`}function YH(e){return{marktype:e.type,name:e.name||void 0,role:e.role||JH(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function XH(e,t){return e&&e.signal?t.signalRef(e.signal):e!==!1}function ZH(e,t){let n=Ni(e.type);n||j(`Unrecognized transform type: `+a(e.type));let r=gB(n.type.toLowerCase(),null,QH(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function QH(e,t,n){let r={},i=e.params.length;for(let a=0;a<i;++a){let i=e.params[a];r[i.name]=$H(i,t,n)}return r}function $H(e,t,n){let r=e.type,i=t[e.name];if(r===`index`)return tU(e,t,n);if(i===void 0){e.required&&j(`Missing required `+a(t.type)+` parameter: `+a(e.name));return}return r===`param`?nU(e,t,n):r===`projection`?n.projectionRef(t[e.name]):e.array&&!OB(i)?i.map(t=>eU(e,t,n)):eU(e,i,n)}function eU(e,t,n){let r=e.type;if(OB(t))return sU(r)?j(`Expression references can not be signals.`):cU(r)?n.fieldRef(t):lU(r)?n.compareRef(t):n.signalRef(t.signal);{let i=e.expr||cU(r);return i&&iU(t)?n.exprRef(t.expr,t.as):i&&aU(t)?vB(t.field,t.as):sU(r)?ez(t,n):oU(r)?H(n.getData(t).values):cU(r)?vB(t):lU(r)?n.compareRef(t):t}}function tU(e,t,n){return _(t.from)||j(`Lookup "from" parameter must be a string literal.`),n.getData(t.from).lookupRef(n,t.key)}function nU(e,t,n){let r=t[e.name];return e.array?(h(r)||j(`Expected an array of sub-parameters. Instead: `+a(r)),r.map(t=>rU(e,t,n))):rU(e,r,n)}function rU(e,t,n){let r=e.params.length,i;for(let n=0;n<r;++n){i=e.params[n];for(let e in i.key)if(i.key[e]!==t[e]){i=null;break}if(i)break}i||j(`Unsupported parameter: `+a(t));let o=g(QH(i,t,n),i.key);return H(n.add(uV(o)))}var iU=e=>e&&e.expr,aU=e=>e&&e.field,oU=e=>e===`data`,sU=e=>e===`expr`,cU=e=>e===`field`,lU=e=>e===`compare`;function uU(e,t,n){let r,i,a,o,s;return e?(r=e.facet)&&(t||j(`Only group marks can be faceted.`),r.field==null?(e.data?s=H(n.getData(e.data).aggregate):(a=ZH(g({type:`aggregate`,groupby:E(r.groupby)},r.aggregate),n),a.params.key=n.keyRef(r.groupby),a.params.pulse=dU(r,n),o=s=H(n.add(a))),i=n.keyRef(r.groupby,!0)):o=s=dU(r,n)):o=H(n.add(XB(null,[{}]))),o||=dU(e,n),{key:i,pulse:o,parent:s}}function dU(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:H(t.getData(e.data).output)}function fU(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}fU.fromEntries=function(e,t){let n=t.length,r=t[n-1],i=t[n-2],a=t[0],o=null,s=1;for(a&&a.type===`load`&&(a=t[1]),e.add(t[0]);s<n;++s)t[s].params.pulse=H(t[s-1]),e.add(t[s]),t[s].type===`aggregate`&&(o=t[s]);return new fU(e,a,i,r,o)};function pU(e){return _(e)?e:null}function mU(e,t,n){let r=TB(n.op,n.field),i;if(t.ops){for(let e=0,n=t.as.length;e<n;++e)if(t.as[e]===r)return}else t.ops=[`count`],t.fields=[null],t.as=[`count`];n.op&&(t.ops.push((i=n.op.signal)?e.signalRef(i):n.op),t.fields.push(e.fieldRef(n.field)),t.as.push(r))}function hU(e,t,n,r,i,a,o){let s=t[n]||(t[n]={}),c=wB(a),l=pU(i),u,d;if(l!=null&&(e=t.scope,l+=c?`|`+c:``,u=s[l]),!u){let n=a?{field:yB,pulse:t.countsRef(e,i,a)}:{field:e.fieldRef(i),pulse:H(t.output)};c&&(n.sort=e.sortRef(a)),d=e.add(gB(r,void 0,n)),o&&(t.index[i]=d),u=H(d),l!=null&&(s[l]=u)}return u}fU.prototype={countsRef(e,t,n){let r=this,i=r.counts||={},a=pU(t),o,s,c;return a!=null&&(e=r.scope,o=i[a]),o?n&&n.field&&mU(e,o.agg.params,n):(c={groupby:e.fieldRef(t,`key`),pulse:H(r.output)},n&&n.field&&mU(e,c,n),s=e.add(qB(c)),o=e.add(XB({pulse:H(s)})),o={agg:s,ref:H(o)},a!=null&&(i[a]=o)),o.ref},tuplesRef(){return H(this.values)},extentRef(e,t){return hU(e,this,`extent`,`extent`,t,!1)},domainRef(e,t){return hU(e,this,`domain`,`values`,t,!1)},valuesRef(e,t,n){return hU(e,this,`vals`,`values`,t,n||!0)},lookupRef(e,t){return hU(e,this,`lookup`,`tupleindex`,t,!1)},indataRef(e,t){return hU(e,this,`indata`,`tupleindex`,t,!0,!0)}};function gU(e,t,n){let r=e.from.facet,i=r.name,o=dU(r,t),s;r.name||j(`Facet must have a name: `+a(r)),r.data||j(`Facet must reference a data set: `+a(r)),r.field?s=t.add(dV({field:t.fieldRef(r.field),pulse:o})):r.groupby?s=t.add(tV({key:t.keyRef(r.groupby),group:H(t.proxy(n.parent)),pulse:o})):j(`Facet must specify groupby or field: `+a(r));let c=t.fork(),l=c.add(XB()),u=c.add(_V({pulse:H(l)}));c.addData(i,new fU(c,l,l,u)),c.addSignal(`parent`,null),s.params.subflow={$subflow:c.parse(e).toRuntime()}}function _U(e,t,n){let r=t.add(dV({pulse:n.pulse})),i=t.fork();i.add(_V()),i.addSignal(`parent`,null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}function vU(e,t,n){let r=e.remove,i=e.insert,a=e.toggle,o=e.modify,s=e.values,c=t.add(_B()),l=ez(`if(`+e.trigger+`,modify("`+n+`",`+[i,r,a,o,s].map(e=>e??`null`).join(`,`)+`),0)`,t);c.update=l.$expr,c.params=l.$params}function yU(e,t){let n=JH(e),r=e.type===hH,i=e.from&&e.from.facet,a=e.overlap,o=e.layout||n===`scope`||n===`frame`,s,c,l,u,d,f,p,m=n===`mark`||o||i,h=uU(e.from,r,t);c=t.add(QB({key:h.key||(e.key?vB(e.key):void 0),pulse:h.pulse,clean:!r}));let g=H(c);c=l=t.add(XB({pulse:g})),c=t.add(oV({markdef:YH(e),interactive:XH(e.interactive,t),clip:KH(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef(`parent`):null,index:t.markpath(),pulse:H(c)}));let _=H(c);c=u=t.add($B(sB(e.encode,e.type,n,e.style,t,{mod:!1,pulse:_}))),c.params.parent=t.encode(),e.transform&&e.transform.forEach(e=>{let n=ZH(e,t),r=n.metadata;(r.generates||r.changes)&&j(`Mark transforms should not generate new data.`),r.nomod||(u.params.mod=!0),n.params.pulse=H(c),t.add(c=n)}),e.sort&&(c=t.add(vV({sort:t.compareRef(e.sort),pulse:H(c)})));let v=H(c);(i||o)&&(o=t.add(yV({layout:t.objectProperty(e.layout),legends:t.legends,mark:_,pulse:v})),f=H(o));let y=t.add(YB({mark:_,pulse:f||v}));p=H(y),r&&(m&&(s=t.operators,s.pop(),o&&s.pop()),t.pushState(v,f||p,g),i?gU(e,t,h):m?_U(e,t,h):t.parse(e),t.popState(),m&&(o&&s.push(o),s.push(y))),a&&(p=bU(a,p,t));let b=t.add(hV({pulse:p})),x=t.add(_V({pulse:H(b)},void 0,t.parent()));e.name!=null&&(d=e.name,t.addData(d,new fU(t,l,b,x)),e.on&&e.on.forEach(e=>{(e.insert||e.remove||e.toggle)&&j(`Marks only support modify triggers.`),vU(e,t,d)}))}function bU(e,t,n){let r=e.method,i=e.bound,a=e.separation,o={separation:OB(a)?n.signalRef(a.signal):a,method:OB(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(o.sort=n.compareRef({field:e.order})),i){let e=i.tolerance;o.boundTolerance=OB(e)?n.signalRef(e.signal):+e,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return H(n.add(lV(o)))}function xU(e,t){let n=t.config.legend,r=e.encode||{},i=xH(e,n),a=r.legend||{},o=a.name||void 0,s=a.interactive,c=a.style,l={},u=0,d,f,p;dH.forEach(t=>e[t]?(l[t]=e[t],u||=e[t]):0),u||j(`Missing valid scale for legend.`);let m=SU(e,t.scaleType(u)),h={title:e.title!=null,scales:l,type:m,vgrad:m!==`symbol`&&i.isVertical()},g=H(t.add(XB(null,[h]))),_={enter:{x:{value:0},y:{value:0}}},v=H(t.add(iV(f={type:m,scale:t.scaleRef(u),count:t.objectProperty(i(`tickCount`)),limit:t.property(i(`symbolLimit`)),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return m===cH?(p=[kH(e,u,n,r.gradient),NH(e,n,r.labels,v)],f.count=f.count||t.signalRef(`max(2,2*floor((${MB(i.gradientLength())})/100))`)):m===lH?p=[AH(e,u,n,r.gradient,v),NH(e,n,r.labels,v)]:(d=FH(e,n),p=[PH(e,n,r,v,MB(d.columns))],f.size=TU(e,t,p[0].marks)),p=[bH({role:Vz,from:g,encode:_,marks:p,layout:d,interactive:s})],h.title&&p.push(GH(e,n,r.title,g)),yU(bH({role:zz,from:g,encode:kz(wU(i,e,n),a,fH),marks:p,aria:i(`aria`),description:i(`description`),zindex:i(`zindex`),name:o,interactive:s,style:c}),t)}function SU(e,t){let n=e.type||sH;return!e.type&&CU(e)===1&&(e.fill||e.stroke)&&(n=Xl(t)?cH:Ql(t)?lH:sH),n===cH?Ql(t)?lH:cH:n}function CU(e){return dH.reduce((t,n)=>t+ +!!e[n],0)}function wU(e,t,n){let r={enter:{},update:{}};return Oz(r,{orient:e(`orient`),offset:e(`offset`),padding:e(`padding`),titlePadding:e(`titlePadding`),cornerRadius:e(`cornerRadius`),fill:e(`fillColor`),stroke:e(`strokeColor`),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e(`legendX`),y:e(`legendY`),format:t.format,formatType:t.formatType}),r}function TU(e,t,n){return ez(`max(ceil(sqrt(${MB(EU(`size`,e,n))})+${MB(EU(`strokeWidth`,e,n))}),${MB(DU(n[1].encode,t,rH))})`,t)}function EU(e,t,n){return t[e]?`scale("${t[e]}",datum)`:SH(e,n[0].encode)}function DU(e,t,n){return SH(`fontSize`,e)||CH(`fontSize`,t,n)}var OU=`item.orient==="${WV}"?-90:item.orient==="${GV}"?90:0`;function kU(e,t){e=_(e)?{text:e}:e;let n=xH(e,t.config.title),r=e.encode||{},i=r.group||{},a=i.name||void 0,o=i.interactive,s=i.style,c=[],l=H(t.add(XB(null,[{}])));return c.push(MU(e,n,AU(e),l)),e.subtitle&&c.push(NU(e,n,r.subtitle,l)),yU(bH({role:Kz,from:l,encode:jU(n,i),marks:c,aria:n(`aria`),description:n(`description`),zindex:n(`zindex`),name:a,interactive:o,style:s}),t)}function AU(e){let t=e.encode;return t&&t.title||g({name:e.name,interactive:e.interactive,style:e.style},t)}function jU(e,t){let n={enter:{},update:{}};return Oz(n,{orient:e(`orient`),anchor:e(`anchor`),align:{signal:TH},angle:{signal:OU},limit:e(`limit`),frame:e(`frame`),offset:e(`offset`)||0,padding:e(`subtitlePadding`)}),kz(n,t,fH)}function MU(e,t,n,r){let i={value:0},a=e.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Oz(o,{text:a,align:{signal:`item.mark.group.align`},angle:{signal:`item.mark.group.angle`},limit:{signal:`item.mark.group.limit`},baseline:`top`,dx:t(`dx`),dy:t(`dy`),fill:t(`color`),font:t(`font`),fontSize:t(`fontSize`),fontStyle:t(`fontStyle`),fontWeight:t(`fontWeight`),lineHeight:t(`lineHeight`)},{align:t(`align`),angle:t(`angle`),baseline:t(`baseline`)}),OH({type:yH,role:qz,style:aH,from:r,encode:o},n)}function NU(e,t,n,r){let i={value:0},a=e.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Oz(o,{text:a,align:{signal:`item.mark.group.align`},angle:{signal:`item.mark.group.angle`},limit:{signal:`item.mark.group.limit`},baseline:`top`,dx:t(`dx`),dy:t(`dy`),fill:t(`subtitleColor`),font:t(`subtitleFont`),fontSize:t(`subtitleFontSize`),fontStyle:t(`subtitleFontStyle`),fontWeight:t(`subtitleFontWeight`),lineHeight:t(`subtitleLineHeight`)},{align:t(`align`),angle:t(`angle`),baseline:t(`baseline`)}),OH({type:yH,role:Jz,style:oH,from:r,encode:o},n)}function PU(e,t){let n=[];e.transform&&e.transform.forEach(e=>{n.push(ZH(e,t))}),e.on&&e.on.forEach(n=>{vU(n,t,e.name)}),t.addDataPipeline(e.name,FU(e,t,n))}function FU(e,t,n){let r=[],i=null,a=!1,o=!1,s,c,l,u,d;for(e.values?OB(e.values)||AB(e.format)?(r.push(LU(t,e)),r.push(i=IU())):r.push(i=IU({$ingest:e.values,$format:e.format})):e.url?AB(e.url)||AB(e.format)?(r.push(LU(t,e)),r.push(i=IU())):r.push(i=IU({$request:e.url,$format:e.format})):e.source&&(i=s=E(e.source).map(e=>H(t.getData(e).output)),r.push(null)),c=0,l=n.length;c<l;++c)u=n[c],d=u.metadata,!i&&!d.source&&r.push(i=IU()),r.push(u),d.generates&&(o=!0),d.modifies&&!o&&(a=!0),d.source?i=u:d.changes&&(i=null);return s&&(l=s.length-1,r[0]=mV({derive:a,pulse:l?s:s[0]}),(a||l)&&r.splice(1,0,IU())),i||r.push(IU()),r.push(_V({})),r}function IU(e){let t=XB({},e);return t.metadata={source:!0},t}function LU(e,t){return aV({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}var RU=e=>e===KV||e===UV,zU=(e,t,n)=>OB(e)?KU(e.signal,t,n):e===WV||e===UV?t:n,BU=(e,t,n)=>OB(e)?WU(e.signal,t,n):RU(e)?t:n,VU=(e,t,n)=>OB(e)?GU(e.signal,t,n):RU(e)?n:t,HU=(e,t,n)=>OB(e)?qU(e.signal,t,n):e===UV?{value:t}:{value:n},UU=(e,t,n)=>OB(e)?JU(e.signal,t,n):e===GV?{value:t}:{value:n},WU=(e,t,n)=>YU(`${e} === '${UV}' || ${e} === '${KV}'`,t,n),GU=(e,t,n)=>YU(`${e} !== '${UV}' && ${e} !== '${KV}'`,t,n),KU=(e,t,n)=>ZU(`${e} === '${WV}' || ${e} === '${UV}'`,t,n),qU=(e,t,n)=>ZU(`${e} === '${UV}'`,t,n),JU=(e,t,n)=>ZU(`${e} === '${GV}'`,t,n),YU=(e,t,n)=>(t=t==null?t:Ez(t),n=n==null?n:Ez(n),XU(t)&&XU(n)?(t=t?t.signal||a(t.value):null,n=n?n.signal||a(n.value):null,{signal:`${e} ? (${t}) : (${n})`}):[g({test:e},t)].concat(n||[])),XU=e=>e==null||Object.keys(e).length===1,ZU=(e,t,n)=>({signal:`${e} ? (${$U(t)}) : (${$U(n)})`}),QU=(e,t,n,r,i)=>({signal:(r==null?``:`${e} === '${WV}' ? (${$U(r)}) : `)+(n==null?``:`${e} === '${KV}' ? (${$U(n)}) : `)+(i==null?``:`${e} === '${GV}' ? (${$U(i)}) : `)+(t==null?``:`${e} === '${UV}' ? (${$U(t)}) : `)+`(null)`}),$U=e=>OB(e)?e.signal:e==null?null:a(e),eW=(e,t)=>t===0?0:OB(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},tW=(e,t)=>{let n=e.signal;return n&&n.endsWith(`(null)`)?{signal:n.slice(0,-6)+t.signal}:e};function nW(e,t,n,r){let i;if(t&&p(t,e))return t[e];if(p(n,e))return n[e];if(e.startsWith(`title`)){switch(e){case`titleColor`:i=`fill`;break;case`titleFont`:case`titleFontSize`:case`titleFontWeight`:i=e[5].toLowerCase()+e.slice(6)}return r[iH][i]}if(e.startsWith(`label`)){switch(e){case`labelColor`:i=`fill`;break;case`labelFont`:case`labelFontSize`:i=e[5].toLowerCase()+e.slice(6)}return r[rH][i]}return null}function rW(e){let t={};for(let n of e)if(n)for(let e in n)t[e]=1;return Object.keys(t)}function iW(e,t){var n=t.config,r=n.style,i=n.axis,a=t.scaleType(e.scale)===`band`&&n.axisBand,o=e.orient,s,c,l;if(OB(o)){let e=rW([n.axisX,n.axisY]),t=rW([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);s={};for(l of e)s[l]=BU(o,nW(l,n.axisX,i,r),nW(l,n.axisY,i,r));c={};for(l of t)c[l]=QU(o.signal,nW(l,n.axisTop,i,r),nW(l,n.axisBottom,i,r),nW(l,n.axisLeft,i,r),nW(l,n.axisRight,i,r))}else s=o===UV||o===KV?n.axisX:n.axisY,c=n[`axis`+o[0].toUpperCase()+o.slice(1)];return s||c||a?g({},i,s,c,a):i}function aW(e,t,n,r){let i=xH(e,t),a=e.orient,o,s,c={enter:o={opacity:pH},update:s={opacity:mH},exit:{opacity:pH}};Oz(c,{stroke:i(`domainColor`),strokeCap:i(`domainCap`),strokeDash:i(`domainDash`),strokeDashOffset:i(`domainDashOffset`),strokeWidth:i(`domainWidth`),strokeOpacity:i(`domainOpacity`)});let l=oW(e,0),u=oW(e,1);return o.x=s.x=BU(a,l,pH),o.x2=s.x2=BU(a,u),o.y=s.y=VU(a,l,pH),o.y2=s.y2=VU(a,u),OH({type:_H,role:Pz,from:r,encode:c},n)}function oW(e,t){return{scale:e.scale,range:t}}function sW(e,t,n,r,i){let a=xH(e,t),o=e.orient,s=e.gridScale,c=zU(o,1,-1),l=cW(e.offset,c),u,d,f,p={enter:u={opacity:pH},update:f={opacity:mH},exit:d={opacity:pH}};Oz(p,{stroke:a(`gridColor`),strokeCap:a(`gridCap`),strokeDash:a(`gridDash`),strokeDashOffset:a(`gridDashOffset`),strokeOpacity:a(`gridOpacity`),strokeWidth:a(`gridWidth`)});let m={scale:e.scale,field:nH,band:i.band,extra:i.extra,offset:i.offset,round:a(`tickRound`)},h=BU(o,{signal:`height`},{signal:`width`}),_=s?{scale:s,range:0,mult:c,offset:l}:{value:0,offset:l},v=s?{scale:s,range:1,mult:c,offset:l}:g(h,{mult:c,offset:l});return u.x=f.x=BU(o,m,_),u.y=f.y=VU(o,m,_),u.x2=f.x2=VU(o,v),u.y2=f.y2=BU(o,v),d.x=BU(o,m),d.y=VU(o,m),OH({type:_H,role:Fz,key:nH,from:r,encode:p},n)}function cW(e,t){if(t!==1){if(!d(e))e=OB(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);else{let n=e=g({},e);for(;n.mult!=null;)if(d(n.mult))n=n.mult=g({},n.mult);else return n.mult=OB(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n.mult=t}}return e}function lW(e,t,n,r,i,a){let o=xH(e,t),s=e.orient,c=zU(s,-1,1),l,u,d,f={enter:l={opacity:pH},update:d={opacity:mH},exit:u={opacity:pH}};Oz(f,{stroke:o(`tickColor`),strokeCap:o(`tickCap`),strokeDash:o(`tickDash`),strokeDashOffset:o(`tickDashOffset`),strokeOpacity:o(`tickOpacity`),strokeWidth:o(`tickWidth`)});let p=Ez(i);p.mult=c;let m={scale:e.scale,field:nH,band:a.band,extra:a.extra,offset:a.offset,round:o(`tickRound`)};return d.y=l.y=BU(s,pH,m),d.y2=l.y2=BU(s,p),u.x=BU(s,m),d.x=l.x=VU(s,pH,m),d.x2=l.x2=VU(s,p),u.y=VU(s,m),OH({type:_H,role:Lz,key:nH,from:r,encode:f},n)}function uW(e,t,n,r,i){return{signal:`flush(range("`+e+`"), scale("`+e+`", datum.value), `+t+`,`+n+`,`+r+`,`+i+`)`}}function dW(e,t,n,r,i,a){let o=xH(e,t),s=e.orient,c=e.scale,l=zU(s,-1,1),u=MB(o(`labelFlush`)),d=MB(o(`labelFlushOffset`)),f=o(`labelAlign`),p=o(`labelBaseline`),m=u===0||!!u,h,g=Ez(i);g.mult=l,g.offset=Ez(o(`labelPadding`)||0),g.offset.mult=l;let _={scale:c,field:nH,band:.5,offset:DH(a.offset,o(`labelOffset`))},v=BU(s,m?uW(c,u,`"left"`,`"right"`,`"center"`):{value:`center`},UU(s,`left`,`right`)),y=BU(s,HU(s,`bottom`,`top`),m?uW(c,u,`"top"`,`"bottom"`,`"middle"`):{value:`middle`}),b=uW(c,u,`-(${d})`,d,0);m&&=d;let x={opacity:pH,x:BU(s,_,g),y:VU(s,_,g)},S={enter:x,update:h={opacity:mH,text:{field:$V},x:x.x,y:x.y,align:v,baseline:y},exit:{opacity:pH,x:x.x,y:x.y}};Oz(S,{dx:!f&&m?BU(s,b):null,dy:!p&&m?VU(s,b):null}),Oz(S,{angle:o(`labelAngle`),fill:o(`labelColor`),fillOpacity:o(`labelOpacity`),font:o(`labelFont`),fontSize:o(`labelFontSize`),fontWeight:o(`labelFontWeight`),fontStyle:o(`labelFontStyle`),limit:o(`labelLimit`),lineHeight:o(`labelLineHeight`)},{align:f,baseline:p});let C=o(`labelBound`),w=o(`labelOverlap`);return w=w||C?{separation:o(`labelSeparation`),method:w,order:`datum.index`,bound:C?{scale:c,orient:s,tolerance:C}:null}:void 0,h.align!==v&&(h.align=tW(h.align,v)),h.baseline!==y&&(h.baseline=tW(h.baseline,y)),OH({type:yH,role:Iz,style:rH,key:nH,from:r,encode:S,overlap:w},n)}function fW(e,t,n,r){let i=xH(e,t),a=e.orient,o=zU(a,-1,1),s,c,l={enter:s={opacity:pH,anchor:Ez(i(`titleAnchor`,null)),align:{signal:TH}},update:c=g({},s,{opacity:mH,text:Ez(e.title)}),exit:{opacity:pH}},u={signal:`lerp(range("${e.scale}"), ${wH(0,1,.5)})`};return c.x=BU(a,u),c.y=VU(a,u),s.angle=BU(a,pH,eW(o,90)),s.baseline=BU(a,HU(a,KV,UV),{value:KV}),c.angle=s.angle,c.baseline=s.baseline,Oz(l,{fill:i(`titleColor`),fillOpacity:i(`titleOpacity`),font:i(`titleFont`),fontSize:i(`titleFontSize`),fontStyle:i(`titleFontStyle`),fontWeight:i(`titleFontWeight`),limit:i(`titleLimit`),lineHeight:i(`titleLineHeight`)},{align:i(`titleAlign`),angle:i(`titleAngle`),baseline:i(`titleBaseline`)}),pW(i,a,l,n),l.update.align=tW(l.update.align,s.align),l.update.angle=tW(l.update.angle,s.angle),l.update.baseline=tW(l.update.baseline,s.baseline),OH({type:yH,role:Rz,style:iH,from:r,encode:l},n)}function pW(e,t,n,r){let i=(e,t)=>e==null?!Az(t,r):(n.update[t]=tW(Ez(e),n.update[t]),!1),a=i(e(`titleX`),`x`),o=i(e(`titleY`),`y`);n.enter.auto=o===a?Ez(o):BU(t,Ez(o),Ez(a))}function mW(e,t){let n=iW(e,t),r=e.encode||{},i=r.axis||{},a=i.name||void 0,o=i.interactive,s=i.style,c=xH(e,n),l=EH(c),u={scale:e.scale,ticks:!!c(`ticks`),labels:!!c(`labels`),grid:!!c(`grid`),domain:!!c(`domain`),title:e.title!=null},d=H(t.add(XB({},[u]))),f=H(t.add(JB({scale:t.scaleRef(e.scale),extra:t.property(l.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),p=[],m;return u.grid&&p.push(sW(e,n,r.grid,f,l)),u.ticks&&(m=c(`tickSize`),p.push(lW(e,n,r.ticks,f,m,l))),u.labels&&(m=u.ticks?m:0,p.push(dW(e,n,r.labels,f,m,l))),u.domain&&p.push(aW(e,n,r.domain,d)),u.title&&p.push(fW(e,n,r.title,d)),yU(bH({role:Nz,from:d,encode:kz(hW(c,e),i,fH),marks:p,aria:c(`aria`),description:c(`description`),zindex:c(`zindex`),name:a,interactive:o,style:s}),t)}function hW(e,t){let n={enter:{},update:{}};return Oz(n,{orient:e(`orient`),offset:e(`offset`)||0,position:jB(t.position,0),titlePadding:e(`titlePadding`),minExtent:e(`minExtent`),maxExtent:e(`maxExtent`),range:{signal:`abs(span(range("${t.scale}")))`},translate:e(`translate`),format:t.format,formatType:t.formatType}),n}function gW(e,t,n){let r=E(e.signals),i=E(e.scales);return n||r.forEach(e=>mB(e,t)),E(e.projections).forEach(e=>VV(e,t)),i.forEach(e=>CV(e,t)),E(e.data).forEach(e=>PU(e,t)),i.forEach(e=>wV(e,t)),(n||r).forEach(e=>GB(e,t)),E(e.axes).forEach(e=>mW(e,t)),E(e.marks).forEach(e=>yU(e,t)),E(e.legends).forEach(e=>xU(e,t)),e.title&&kU(e.title,t),t.parseLambdas(),t}var _W=e=>kz({enter:{x:{value:0},y:{value:0}},update:{width:{signal:`width`},height:{signal:`height`}}},e);function vW(e,t){let n=t.config,r=H(t.root=t.add(_B())),i=bW(e,n);i.forEach(e=>mB(e,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;let a=t.add(XB()),o=t.add($B(sB(_W(e.encode),hH,jz,e.style,t,{pulse:H(a)}))),s=t.add(yV({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef(`autosize`),mark:r,pulse:H(o)}));t.operators.pop(),t.pushState(H(o),H(s),null),gW(e,t,i),t.operators.push(s);let c=t.add(YB({mark:r,pulse:H(s)}));return c=t.add(hV({pulse:H(c)})),c=t.add(_V({pulse:H(c)})),t.addData(`root`,new fU(t,a,a,c)),t}function yW(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function bW(e,t){let n=n=>jB(e[n],t[n]),r=[yW(`background`,n(`background`)),yW(`autosize`,Sz(n(`autosize`))),yW(`padding`,Tz(n(`padding`))),yW(`width`,n(`width`)||0),yW(`height`,n(`height`)||0)],i=r.reduce((e,t)=>(e[t.name]=t,e),{}),a={};return E(e.signals).forEach(e=>{p(i,e.name)?e=g(i[e.name],e):r.push(e),a[e.name]=e}),E(t.signals).forEach(e=>{!p(a,e.name)&&!p(i,e.name)&&r.push(e)}),r}function xW(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function SW(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}xW.prototype=SW.prototype={parse(e){return gW(e,this)},fork(){return new SW(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+`:`:0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&=(e.refs.forEach(t=>{t.$ref=e.id}),null),e},proxy(e){let t=e instanceof hB?H(e):e;return this.add(pV({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(e,t,n){let r,i;e&&(r=e.data||={},i=r[t]||(r[t]=[]),i.push(n))}for(e in this.data){t=this.data[e],n(t.input,e,`input`),n(t.output,e,`output`),n(t.values,e,`values`);for(let r in t.index)n(t.index[r],e,`index:`+r)}return this},pushState(e,t,n){this._encode.push(H(this.add(_V({pulse:e})))),this._parent.push(t),this._lookup.push(n?H(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return M(this._parent)},encode(){return M(this._encode)},lookup(){return M(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(_(e))return vB(e,t);e.signal||j(`Unsupported field reference: `+a(e));let n=e.signal,r=this.field[n];if(!r){let e={name:this.signalRef(n)};t&&(e.as=t),this.field[n]=r=H(this.add(nV(e)))}return r},compareRef(e){let t=!1,n=e=>OB(e)?(t=!0,this.signalRef(e.signal)):kB(e)?(t=!0,this.exprRef(e.expr)):e,r=E(e.field).map(n),i=E(e.order).map(n);return t?H(this.add(ZB({fields:r,orders:i}))):bB(r,i)},keyRef(e,t){let n=!1,r=e=>OB(e)?(n=!0,H(i[e.signal])):e,i=this.signals;return e=E(e).map(r),n?H(this.add(rV({fields:e,flat:t}))):xB(e,t)},sortRef(e){if(!e)return e;let t=TB(e.op,e.field),n=e.order||SB;return n.signal?H(this.add(ZB({fields:t,orders:this.signalRef(n.signal)}))):bB(t,n)},event(e,t){let n=e+`:`+t;if(!this.events[n]){let r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return p(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&j(`Duplicate signal name: `+a(e));let n=t instanceof hB?t:this.add(_B(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||j(`Unrecognized signal name: `+a(e)),this.signals[e]},signalRef(e){return this.signals[e]?H(this.signals[e]):(p(this.lambdas,e)||(this.lambdas[e]=this.add(_B(null))),H(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t<n;++t){let n=e[t],r=ez(n,this),i=this.lambdas[n];i.params=r.$params,i.update=r.$expr}},property(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty(e){return!e||!d(e)?e:this.signalRef(e.signal||CW(e))},exprRef(e,t){let n={expr:ez(e,this)};return t&&(n.expr.$name=t),H(this.add(eV(n)))},addBinding(e,t){this.bindings||j(`Nested signals do not support binding: `+a(e)),this.bindings.push(g({signal:e},t))},addScaleProj(e,t){p(this.scales,e)&&j(`Duplicate scale or projection name: `+a(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,gV(t))},addProjection(e,t){this.addScaleProj(e,fV(t))},getScale(e){return this.scales[e]||j(`Unrecognized scale name: `+a(e)),this.scales[e]},scaleRef(e){return H(this.getScale(e))},scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return p(this.data,e)&&j(`Duplicate data set name: `+a(e)),this.data[e]=t},getData(e){return this.data[e]||j(`Undefined data set name: `+a(e)),this.data[e]},addDataPipeline(e,t){return p(this.data,e)&&j(`Duplicate data set name: `+a(e)),this.addData(e,fU.fromEntries(this,t))}};function CW(e){return(h(e)?wW:TW)(e)}function wW(e){let t=e.length,n=`[`;for(let r=0;r<t;++r){let t=e[r];n+=(r>0?`,`:``)+(d(t)?t.signal||CW(t):a(t))}return n+`]`}function TW(e){let t=`{`,n=0,r,i;for(r in e)i=e[r],t+=(++n>1?`,`:``)+a(r)+`:`+(d(i)?i.signal||CW(i):a(i));return t+`}`}function EW(){let e=`sans-serif`,t=`#4c78a8`,n=`#000`,r=`#888`,i=`#ddd`;return{description:`Vega visualization`,padding:0,autosize:`pad`,background:null,events:{defaults:{allow:[`wheel`]}},group:null,mark:null,arc:{fill:t},area:{fill:t},image:null,line:{stroke:t,strokeWidth:2},path:{stroke:t},rect:{fill:t},rule:{stroke:n},shape:{stroke:t},symbol:{fill:t,size:64},text:{fill:n,font:e,fontSize:11},trail:{fill:t,size:2},style:{"guide-label":{fill:n,font:e,fontSize:10},"guide-title":{fill:n,font:e,fontSize:11,fontWeight:`bold`},"group-title":{fill:n,font:e,fontSize:13,fontWeight:`bold`},"group-subtitle":{fill:n,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:`circle`},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:`square`},cell:{fill:`transparent`,stroke:i},view:{fill:`transparent`}},title:{orient:`top`,anchor:`middle`,offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:r,grid:!1,gridWidth:1,gridColor:i,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:r,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:`mercator`},legend:{orient:`right`,padding:0,gridAlign:`each`,columnPadding:10,rowPadding:2,symbolDirection:`vertical`,gradientDirection:`vertical`,gradientLength:200,gradientThickness:16,gradientStrokeColor:i,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:`left`,labelBaseline:`middle`,labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:`circle`,symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:`transparent`,symbolBaseStrokeColor:r,titleLimit:180,titleOrient:`top`,titlePadding:5,layout:{offset:18,direction:`horizontal`,left:{direction:`vertical`},right:{direction:`vertical`}}},range:{category:{scheme:`tableau10`},ordinal:{scheme:`blues`},heatmap:{scheme:`yellowgreenblue`},ramp:{scheme:`blues`},diverging:{scheme:`blueorange`,extent:[1,0]},symbol:[`circle`,`square`,`triangle-up`,`cross`,`diamond`,`triangle-right`,`triangle-down`,`triangle-left`]}}}function DW(e,t,n){return d(e)||j(`Input Vega specification must be an object.`),t=T(EW(),t,e.config),vW(e,new xW(t,n)).toRuntime()}var OW=`RawCode`,kW=`Literal`,AW=`Property`,jW=`Identifier`,MW=`ArrayExpression`,NW=`BinaryExpression`,PW=`CallExpression`,FW=`ConditionalExpression`,IW=`LogicalExpression`,LW=`MemberExpression`,RW=`ObjectExpression`,zW=`UnaryExpression`;function BW(e){this.type=e}BW.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=VW(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function VW(e){switch(e.type){case MW:return e.elements;case NW:case IW:return[e.left,e.right];case PW:return[e.callee].concat(e.arguments);case FW:return[e.test,e.consequent,e.alternate];case LW:return[e.object,e.property];case RW:return e.properties;case AW:return[e.key,e.value];case zW:return[e.argument];case jW:case kW:case OW:default:return[]}}var HW,U,W,UW,WW,GW=1,KW=2,qW=3,JW=4,YW=5,XW=6,ZW=7,QW=8,$W=9;HW={},HW[GW]=`Boolean`,HW[KW]=`<end>`,HW[qW]=`Identifier`,HW[JW]=`Keyword`,HW[YW]=`Null`,HW[XW]=`Numeric`,HW[ZW]=`Punctuator`,HW[QW]=`String`,HW[$W]=`RegularExpression`;var eG=`ArrayExpression`,tG=`BinaryExpression`,nG=`CallExpression`,rG=`ConditionalExpression`,iG=`Identifier`,aG=`Literal`,oG=`LogicalExpression`,sG=`MemberExpression`,cG=`ObjectExpression`,lG=`Property`,uG=`UnaryExpression`,dG=`Unexpected token %0`,fG=`Unexpected number`,pG=`Unexpected string`,mG=`Unexpected identifier`,hG=`Unexpected reserved word`,gG=`Unexpected end of input`,_G=`Invalid regular expression`,vG=`Invalid regular expression: missing /`,yG=`Octal literals are not allowed in strict mode.`,bG=`Duplicate data property in object literal not allowed in strict mode`,xG=`ILLEGAL`,SG=`Disabled.`,CG=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]`),wG=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 TG(e,t){if(!e)throw Error(`ASSERT: `+t)}function EG(e){return e>=48&&e<=57}function DG(e){return`0123456789abcdefABCDEF`.includes(e)}function OG(e){return`01234567`.includes(e)}function kG(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 AG(e){return e===10||e===13||e===8232||e===8233}function jG(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&CG.test(String.fromCharCode(e))}function MG(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&wG.test(String.fromCharCode(e))}var NG={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 PG(){for(;W<UW;){let e=U.charCodeAt(W);if(kG(e)||AG(e))++W;else break}}function FG(e){var t,n,r,i=0;for(n=e===`u`?4:2,t=0;t<n;++t)W<UW&&DG(U[W])?(r=U[W++],i=i*16+`0123456789abcdef`.indexOf(r.toLowerCase())):lK({},dG,xG);return String.fromCharCode(i)}function IG(){var e=U[W],t=0,n,r;for(e===`}`&&lK({},dG,xG);W<UW&&(e=U[W++],DG(e));)t=t*16+`0123456789abcdef`.indexOf(e.toLowerCase());return(t>1114111||e!==`}`)&&lK({},dG,xG),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function LG(){var e=U.charCodeAt(W++),t=String.fromCharCode(e);for(e===92&&(U.charCodeAt(W)!==117&&lK({},dG,xG),++W,e=FG(`u`),(!e||e===`\\`||!jG(e.charCodeAt(0)))&&lK({},dG,xG),t=e);W<UW&&(e=U.charCodeAt(W),MG(e));)++W,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),U.charCodeAt(W)!==117&&lK({},dG,xG),++W,e=FG(`u`),(!e||e===`\\`||!MG(e.charCodeAt(0)))&&lK({},dG,xG),t+=e);return t}function RG(){for(var e=W++,t;W<UW;){if(t=U.charCodeAt(W),t===92)return W=e,LG();if(MG(t))++W;else break}return U.slice(e,W)}function zG(){var e=W,t=U.charCodeAt(W)===92?LG():RG();return{type:t.length===1?qW:NG.hasOwnProperty(t)?JW:t===`null`?YW:t===`true`||t===`false`?GW:qW,value:t,start:e,end:W}}function BG(){var e=W,t=U.charCodeAt(W),n,r=U[W],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++W,{type:ZW,value:String.fromCharCode(t),start:e,end:W};default:if(n=U.charCodeAt(W+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 W+=2,{type:ZW,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:W};case 33:case 61:return W+=2,U.charCodeAt(W)===61&&++W,{type:ZW,value:U.slice(e,W),start:e,end:W}}}if(o=U.substr(W,4),o===`>>>=`)return W+=4,{type:ZW,value:o,start:e,end:W};if(a=o.substr(0,3),a===`>>>`||a===`<<=`||a===`>>=`)return W+=3,{type:ZW,value:a,start:e,end:W};if(i=a.substr(0,2),r===i[1]&&`+-<>&|`.includes(r)||i===`=>`)return W+=2,{type:ZW,value:i,start:e,end:W};if(i===`//`&&lK({},dG,xG),`<>=!+-*%&|^/`.includes(r))return++W,{type:ZW,value:r,start:e,end:W};lK({},dG,xG)}function VG(e){let t=``;for(;W<UW&&DG(U[W]);)t+=U[W++];return t.length===0&&lK({},dG,xG),jG(U.charCodeAt(W))&&lK({},dG,xG),{type:XW,value:parseInt(`0x`+t,16),start:e,end:W}}function HG(e){let t=`0`+U[W++];for(;W<UW&&OG(U[W]);)t+=U[W++];return(jG(U.charCodeAt(W))||EG(U.charCodeAt(W)))&&lK({},dG,xG),{type:XW,value:parseInt(t,8),octal:!0,start:e,end:W}}function UG(){var e,t,n=U[W];if(TG(EG(n.charCodeAt(0))||n===`.`,`Numeric literal must start with a decimal digit or a decimal point`),t=W,e=``,n!==`.`){if(e=U[W++],n=U[W],e===`0`){if(n===`x`||n===`X`)return++W,VG(t);if(OG(n))return HG(t);n&&EG(n.charCodeAt(0))&&lK({},dG,xG)}for(;EG(U.charCodeAt(W));)e+=U[W++];n=U[W]}if(n===`.`){for(e+=U[W++];EG(U.charCodeAt(W));)e+=U[W++];n=U[W]}if(n===`e`||n===`E`){if(e+=U[W++],n=U[W],(n===`+`||n===`-`)&&(e+=U[W++]),EG(U.charCodeAt(W)))for(;EG(U.charCodeAt(W));)e+=U[W++];else lK({},dG,xG)}return jG(U.charCodeAt(W))&&lK({},dG,xG),{type:XW,value:parseFloat(e),start:t,end:W}}function WG(){var e=``,t,n,r,i,a=!1;for(t=U[W],TG(t===`'`||t===`"`,`String literal must starts with a quote`),n=W,++W;W<UW;){if(r=U[W++],r===t){t=``;break}if(r===`\\`){if(r=U[W++],!r||!AG(r.charCodeAt(0)))switch(r){case`u`:case`x`:U[W]===`{`?(++W,e+=IG()):e+=FG(r);break;case`n`:e+=`
10
+ `;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:OG(r)?(i=`01234567`.indexOf(r),i!==0&&(a=!0),W<UW&&OG(U[W])&&(a=!0,i=i*8+`01234567`.indexOf(U[W++]),`0123`.includes(r)&&W<UW&&OG(U[W])&&(i=i*8+`01234567`.indexOf(U[W++]))),e+=String.fromCharCode(i)):e+=r}else r===`\r`&&U[W]===`
11
+ `&&++W}else if(AG(r.charCodeAt(0)))break;else e+=r}return t!==``&&lK({},dG,xG),{type:QW,value:e,octal:a,start:n,end:W}}function GG(e,t){let n=e;t.includes(`u`)&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(e,t)=>{if(parseInt(t,16)<=1114111)return`x`;lK({},_G)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,`x`));try{new RegExp(n)}catch{lK({},_G)}try{return new RegExp(e,t)}catch{return null}}function KG(){var e=U[W],t,n,r,i;for(TG(e===`/`,`Regular expression literal must start with a slash`),t=U[W++],n=!1,r=!1;W<UW;)if(e=U[W++],t+=e,e===`\\`)e=U[W++],AG(e.charCodeAt(0))&&lK({},vG),t+=e;else if(AG(e.charCodeAt(0)))lK({},vG);else if(n)e===`]`&&(n=!1);else if(e===`/`){r=!0;break}else e===`[`&&(n=!0);return r||lK({},vG),i=t.substr(1,t.length-2),{value:i,literal:t}}function qG(){for(var e,t=``,n=``;W<UW&&(e=U[W],MG(e.charCodeAt(0)));)++W,e===`\\`&&W<UW?lK({},dG,xG):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&lK({},_G,n),{value:n,literal:t}}function JG(){var e,t,n,r;return WW=null,PG(),e=W,t=KG(),n=qG(),r=GG(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:W}}function YG(e){return e.type===qW||e.type===JW||e.type===GW||e.type===YW}function XG(){if(PG(),W>=UW)return{type:KW,start:W,end:W};let e=U.charCodeAt(W);return jG(e)?zG():e===40||e===41||e===59?BG():e===39||e===34?WG():e===46?EG(U.charCodeAt(W+1))?UG():BG():EG(e)?UG():BG()}function ZG(){let e=WW;return W=e.end,WW=XG(),W=e.end,e}function QG(){let e=W;WW=XG(),W=e}function $G(e){let t=new BW(eG);return t.elements=e,t}function eK(e,t,n){let r=new BW(e===`||`||e===`&&`?oG:tG);return r.operator=e,r.left=t,r.right=n,r}function tK(e,t){let n=new BW(nG);return n.callee=e,n.arguments=t,n}function nK(e,t,n){let r=new BW(rG);return r.test=e,r.consequent=t,r.alternate=n,r}function rK(e){let t=new BW(iG);return t.name=e,t}function iK(e){let t=new BW(aG);return t.value=e.value,t.raw=U.slice(e.start,e.end),e.regex&&(t.raw===`//`&&(t.raw=`/(?:)/`),t.regex=e.regex),t}function aK(e,t,n){let r=new BW(sG);return r.computed=e===`[`,r.object=t,r.property=n,r.computed||(n.member=!0),r}function oK(e){let t=new BW(cG);return t.properties=e,t}function sK(e,t,n){let r=new BW(lG);return r.key=t,r.value=n,r.kind=e,r}function cK(e,t){let n=new BW(uG);return n.operator=e,n.argument=t,n.prefix=!0,n}function lK(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(e,t)=>(TG(t<r.length,`Message reference must be in range`),r[t]));throw n=Error(i),n.index=W,n.description=i,n}function uK(e){e.type===KW&&lK(e,gG),e.type===XW&&lK(e,fG),e.type===QW&&lK(e,pG),e.type===qW&&lK(e,mG),e.type===JW&&lK(e,hG),lK(e,dG,e.value)}function dK(e){let t=ZG();(t.type!==ZW||t.value!==e)&&uK(t)}function fK(e){return WW.type===ZW&&WW.value===e}function pK(e){return WW.type===JW&&WW.value===e}function mK(){let e=[];for(W=WW.start,dK(`[`);!fK(`]`);)fK(`,`)?(ZG(),e.push(null)):(e.push(AK()),fK(`]`)||dK(`,`));return ZG(),$G(e)}function hK(){W=WW.start;let e=ZG();return e.type===QW||e.type===XW?(e.octal&&lK(e,yG),iK(e)):rK(e.value)}function gK(){var e,t,n,r;if(W=WW.start,e=WW,e.type===qW)return n=hK(),dK(`:`),r=AK(),sK(`init`,n,r);if(e.type===KW||e.type===ZW)uK(e);else return t=hK(),dK(`:`),r=AK(),sK(`init`,t,r)}function _K(){var e=[],t,n,r,i={},a=String;for(W=WW.start,dK(`{`);!fK(`}`);)t=gK(),n=t.key.type===iG?t.key.name:a(t.key.value),r=`$`+n,Object.prototype.hasOwnProperty.call(i,r)?lK({},bG):i[r]=!0,e.push(t),fK(`}`)||dK(`,`);return dK(`}`),oK(e)}function vK(){dK(`(`);let e=jK();return dK(`)`),e}var yK={if:1};function bK(){var e,t,n;if(fK(`(`))return vK();if(fK(`[`))return mK();if(fK(`{`))return _K();if(e=WW.type,W=WW.start,e===qW||yK[WW.value])n=rK(ZG().value);else if(e===QW||e===XW)WW.octal&&lK(WW,yG),n=iK(ZG());else if(e===JW)throw Error(SG);else e===GW?(t=ZG(),t.value=t.value===`true`,n=iK(t)):e===YW?(t=ZG(),t.value=null,n=iK(t)):fK(`/`)||fK(`/=`)?(n=iK(JG()),QG()):uK(ZG());return n}function xK(){let e=[];if(dK(`(`),!fK(`)`))for(;W<UW&&(e.push(AK()),!fK(`)`));)dK(`,`);return dK(`)`),e}function SK(){W=WW.start;let e=ZG();return YG(e)||uK(e),rK(e.value)}function CK(){return dK(`.`),SK()}function wK(){dK(`[`);let e=jK();return dK(`]`),e}function TK(){for(var e=bK(),t,n;;)if(fK(`.`))n=CK(),e=aK(`.`,e,n);else if(fK(`(`))t=xK(),e=tK(e,t);else if(fK(`[`))n=wK(),e=aK(`[`,e,n);else break;return e}function EK(){let e=TK();if(WW.type===ZW&&(fK(`++`)||fK(`--`)))throw Error(SG);return e}function DK(){var e,t;if(WW.type!==ZW&&WW.type!==JW)t=EK();else if(fK(`++`)||fK(`--`))throw Error(SG);else if(fK(`+`)||fK(`-`)||fK(`~`)||fK(`!`))e=ZG(),t=DK(),t=cK(e.value,t);else if(pK(`delete`)||pK(`void`)||pK(`typeof`))throw Error(SG);else t=EK();return t}function OK(e){let t=0;if(e.type!==ZW&&e.type!==JW)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}return t}function kK(){var e=WW,t,n,r,i,a,o,s,c=DK(),l;if(r=WW,i=OK(r),i===0)return c;for(r.prec=i,ZG(),t=[e,WW],o=DK(),a=[c,r,o];(i=OK(WW))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),s=a.pop().value,c=a.pop(),t.pop(),n=eK(s,c,o),a.push(n);r=ZG(),r.prec=i,a.push(r),t.push(WW),n=DK(),a.push(n)}for(l=a.length-1,n=a[l],t.pop();l>1;)t.pop(),n=eK(a[l-1].value,a[l-2],n),l-=2;return n}function AK(){var e=kK(),t,n;return fK(`?`)&&(ZG(),t=AK(),dK(`:`),n=AK(),e=nK(e,t,n)),e}function jK(){let e=AK();if(fK(`,`))throw Error(SG);return e}function MK(e){U=e,W=0,UW=U.length,WW=null,QG();let t=jK();if(WW.type!==KW)throw Error(`Unexpect token after expression.`);return t}var NK={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 PK(e){function t(t,n,r,i){let a=e(n[0]);return r&&(a=r+`(`+a+`)`,r.lastIndexOf(`new `,0)===0&&(a=`(`+a+`)`)),a+`.`+t+(i<0?``:i===0?`()`:`(`+n.slice(1).map(e).join(`,`)+`)`)}function n(e,n,r){return i=>t(e,i,n,r)}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(t){t.length<3&&j(`Missing arguments to clamp function.`),t.length>3&&j(`Too many arguments to clamp function.`);let n=t.map(e);return`Math.max(`+n[1]+`, Math.min(`+n[2]+`,`+n[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(t){t.length<3&&j(`Missing arguments to if function.`),t.length>3&&j(`Too many arguments to if function.`);let n=t.map(e);return`(`+n[0]+`?`+n[1]+`:`+n[2]+`)`}}}function FK(e){let t=e&&e.length-1;return t&&(e[0]===`"`&&e[t]===`"`||e[0]===`'`&&e[t]===`'`)?e.slice(1,-1):e}function IK(e){e||={};let t=e.allowed?pr(e.allowed):{},n=e.forbidden?pr(e.forbidden):{},r=e.constants||NK,i=(e.functions||PK)(f),a=e.globalvar,s=e.fieldvar,c=o(a)?a:e=>`${a}["${e}"]`;[...Object.getOwnPropertyNames(Object.prototype).filter(e=>typeof Object.prototype[e]==`function`)];let l={},u={},d=0;function f(e){if(_(e))return e;let t=m[e.type];return t??j(`Unsupported type: `+e.type),t(e)}let m={Literal:e=>e.raw,Identifier:e=>{let i=e.name;return d>0?i:p(n,i)?j(`Illegal identifier: `+i):p(r,i)?r[i]:p(t,i)?i:(l[i]=1,c(i))},MemberExpression:e=>{let t=!e.computed,n=f(e.object);t&&(d+=1);let r=f(e.property);return n===s&&(u[FK(r)]=1),t&&--d,n+(t?`.`+r:`[`+r+`]`)},CallExpression:e=>{e.callee.type!==`Identifier`&&j(`Illegal callee type: `+e.callee.type);let t=e.callee.name,n=e.arguments,r=p(i,t)&&i[t];return r||j(`Unrecognized function: `+t),o(r)?r(n):r+`(`+n.map(f).join(`,`)+`)`},ArrayExpression:e=>`[`+e.elements.map(f).join(`,`)+`]`,BinaryExpression:e=>`(`+f(e.left)+` `+e.operator+` `+f(e.right)+`)`,UnaryExpression:e=>`(`+e.operator+f(e.argument)+`)`,ConditionalExpression:e=>`(`+f(e.test)+`?`+f(e.consequent)+`:`+f(e.alternate)+`)`,LogicalExpression:e=>`(`+f(e.left)+e.operator+f(e.right)+`)`,ObjectExpression:e=>{for(let t of e.properties){let e=t.key.name;ye.has(e)&&j(`Illegal property: `+e)}return`{`+e.properties.map(f).join(`,`)+`}`},Property:e=>{d+=1;let t=f(e.key);return--d,t+`:`+f(e.value)}};function h(e){let t={code:f(e),globals:Object.keys(l),fields:Object.keys(u)};return l={},u={},t}return h.functions=i,h.constants=r,h}var LK=t({Bounds:()=>sf,CanvasHandler:()=>_h,CanvasRenderer:()=>Eh,DATE:()=>Fa,DAY:()=>`day`,DAYOFYEAR:()=>Ia,Dataflow:()=>Ai,Debug:()=>4,DisallowedObjectProperties:()=>ye,Error:()=>1,EventStream:()=>Kr,Gradient:()=>Ku,GroupItem:()=>lf,HOURS:()=>La,Handler:()=>Vm,HybridHandler:()=>kg,HybridRenderer:()=>Og,Info:()=>3,Item:()=>cf,MILLISECONDS:()=>Ba,MINUTES:()=>Ra,MONTH:()=>Na,Marks:()=>wm,MultiPulse:()=>Si,None:()=>0,Operator:()=>Hr,Parameters:()=>Vr,Pulse:()=>vi,QUARTER:()=>Ma,RenderType:()=>Fg,Renderer:()=>Um,ResourceLoader:()=>uf,SECONDS:()=>za,SVGHandler:()=>kh,SVGRenderer:()=>cg,SVGStringRenderer:()=>wg,Scenegraph:()=>Mm,TIME_UNITS:()=>Va,Transform:()=>F,View:()=>wI,WEEK:()=>Pa,Warn:()=>2,YEAR:()=>ja,accessor:()=>xe,accessorFields:()=>de,accessorName:()=>ne,array:()=>E,ascending:()=>S,bandwidthNRD:()=>Ri,bin:()=>zi,bootstrapCI:()=>Vi,boundClip:()=>Wg,boundContext:()=>Af,boundItem:()=>Tm,boundMark:()=>Dm,boundStroke:()=>pf,changeset:()=>zr,clampRange:()=>Xn,codegenExpression:()=>IK,compare:()=>ke,constant:()=>Zn,cumulativeLogNormal:()=>$i,cumulativeNormal:()=>qi,cumulativeUniform:()=>aa,dayofyear:()=>Ja,debounce:()=>Qn,defaultLocale:()=>me,definition:()=>Ni,densityLogNormal:()=>Qi,densityNormal:()=>Ki,densityUniform:()=>ia,domChild:()=>Im,domClear:()=>Lm,domCreate:()=>Pm,domFind:()=>Fm,dotbin:()=>Hi,error:()=>j,expressionFunction:()=>vF,extend:()=>g,extent:()=>$n,extentIndex:()=>er,falsy:()=>m,fastmap:()=>nr,field:()=>oe,flush:()=>rr,font:()=>mm,fontFamily:()=>pm,fontSize:()=>am,format:()=>Ce,formatLocale:()=>ae,formats:()=>ge,hasOwnProperty:()=>p,id:()=>k,identity:()=>O,inferType:()=>be,inferTypes:()=>ue,ingest:()=>Nr,inherits:()=>N,inrange:()=>ir,interpolate:()=>cu,interpolateColors:()=>au,interpolateRange:()=>iu,intersect:()=>Rg,intersectBoxLine:()=>Bf,intersectPath:()=>If,intersectPoint:()=>Lf,intersectRule:()=>zf,isArray:()=>h,isBoolean:()=>ar,isDate:()=>u,isFunction:()=>o,isIterable:()=>b,isNumber:()=>v,isObject:()=>d,isRegExp:()=>or,isString:()=>_,isTuple:()=>jr,key:()=>fe,lerp:()=>sr,lineHeight:()=>om,loader:()=>te,locale:()=>Te,logger:()=>kn,lruCache:()=>cr,markup:()=>$h,merge:()=>lr,mergeConfig:()=>T,multiLineOffset:()=>lm,one:()=>A,pad:()=>dr,panLinear:()=>zn,panLog:()=>Bn,panPow:()=>Vn,panSymlog:()=>Hn,parse:()=>DW,parseExpression:()=>MK,parseSelector:()=>mz,path:()=>Tt,pathCurves:()=>Ju,pathEqual:()=>qg,pathParse:()=>ed,pathRectangle:()=>Od,pathRender:()=>md,pathSymbols:()=>vd,pathTrail:()=>kd,peek:()=>M,point:()=>zm,projection:()=>oC,quantileLogNormal:()=>ea,quantileNormal:()=>Ji,quantileUniform:()=>oa,quantiles:()=>Ii,quantizeInterpolator:()=>ou,quarter:()=>Jn,quartiles:()=>Li,random:()=>Bi,randomInteger:()=>ete,randomKDE:()=>Xi,randomLCG:()=>$ee,randomLogNormal:()=>ta,randomMixture:()=>na,randomNormal:()=>Yi,randomUniform:()=>sa,read:()=>_e,regressionConstant:()=>ca,regressionExp:()=>ha,regressionLinear:()=>pa,regressionLoess:()=>Ca,regressionLog:()=>ma,regressionPoly:()=>va,regressionPow:()=>ga,regressionQuad:()=>_a,renderModule:()=>Lg,repeat:()=>ur,resetDefaultLocale:()=>se,resetSVGDefIds:()=>Yg,responseType:()=>Se,runtimeContext:()=>wF,sampleCurve:()=>Oa,sampleLogNormal:()=>Zi,sampleNormal:()=>Gi,sampleUniform:()=>ra,scale:()=>ql,sceneEqual:()=>Kg,sceneFromJSON:()=>Am,scenePickVisit:()=>Yf,sceneToJSON:()=>km,sceneVisit:()=>Jf,sceneZOrder:()=>qf,scheme:()=>hu,serializeXML:()=>eg,setHybridRendererOptions:()=>Dg,setRandom:()=>Zee,span:()=>fr,splitAccessPath:()=>we,stringValue:()=>a,textMetrics:()=>$p,timeBin:()=>Ho,timeFloor:()=>fo,timeFormatLocale:()=>ve,timeInterval:()=>vo,timeOffset:()=>xo,timeSequence:()=>wo,timeUnitSpecifier:()=>Ga,timeUnits:()=>Ua,toBoolean:()=>pe,toDate:()=>y,toNumber:()=>f,toSet:()=>pr,toString:()=>c,transform:()=>Pi,transforms:()=>Mi,truncate:()=>mr,truthy:()=>x,tupleid:()=>P,typeParsers:()=>ie,utcFloor:()=>ho,utcInterval:()=>yo,utcOffset:()=>So,utcSequence:()=>To,utcdayofyear:()=>eo,utcquarter:()=>Yn,utcweek:()=>to,version:()=>zK,visitArray:()=>hr,week:()=>Ya,writeConfig:()=>D,zero:()=>i,zoomLinear:()=>Wn,zoomLog:()=>Gn,zoomPow:()=>Kn,zoomSymlog:()=>qn}),RK=`6.2.0`;g(Mi,Uo,Xg,kv,lC,Aw,Ij,WT,_M,lN,mN,Uie);var zK=RK;function BK(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}var VK={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},HK={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},UK={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e},WK=Array.prototype.slice,GK=(e,t,n)=>{let r=n?n(t[0]):t[0];return r[e].apply(r,WK.call(t,1))},KK={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t=0,n=1,r=0,i=0,a=0,o=0)=>_(e)?new Date(e):new Date(e,t,n,r,i,a,o),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return GK(`join`,arguments)},indexof:function(){return GK(`indexOf`,arguments)},lastindexof:function(){return GK(`lastIndexOf`,arguments)},slice:function(){return GK(`slice`,arguments)},reverse:e=>e.slice().reverse(),sort:e=>e.slice().sort(S),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return GK(`substring`,arguments,String)},split:function(){return GK(`split`,arguments,String)},replace:function(){return GK(`replace`,arguments,String)},trim:e=>String(e).trim(),btoa:e=>btoa(e),atob:e=>atob(e),encodeURIComponent:e=>encodeURIComponent(e),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)},qK=[`view`,`item`,`group`,`xy`,`x`,`y`],JK=new Set([Function,eval,setTimeout,setInterval]);typeof setImmediate==`function`&&JK.add(setImmediate);var YK={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:n===`datum`?e.datum:n===`event`?e.event:n===`item`?e.item:VK[n]||e.params[`$`+n]},MemberExpression:(e,t)=>{let n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);let i=e(t.property);if(n&&--e.memberDepth,JK.has(r[i])){console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);return}return r[i]},CallExpression:(e,t)=>{let n=t.arguments,r=t.callee.name;return r.startsWith(`_`)&&(r=r.slice(1)),r===`if`?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||KK[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>HK[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>UK[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>t.operator===`&&`?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((t,n)=>{e.memberDepth+=1;let r=e(n.key);--e.memberDepth;let i=e(n.value);return ye.has(r)?console.error(`Prevented interpretation of property "${r}" which could lead to insecure code execution`):JK.has(i)?console.error(`Prevented interpretation of method "${r}" which could lead to insecure code execution`):t[r]=i,t},{})};function XK(e,t,n,r,i,a){let o=e=>YK[e.type](o,e);return o.memberDepth=0,o.fn=Object.create(t),o.params=n,o.datum=r,o.event=i,o.item=a,qK.forEach(e=>o.fn[e]=(...t)=>i.vega[e](...t)),o(e)}var ZK={operator(e,t){let n=t.ast,r=e.functions;return e=>XK(n,r,e)},parameter(e,t){let n=t.ast,r=e.functions;return(e,t)=>XK(n,r,t,e)},event(e,t){let n=t.ast,r=e.functions;return e=>XK(n,r,void 0,void 0,e)},handler(e,t){let n=t.ast,r=e.functions;return(e,t)=>{let i=t.item&&t.item.datum;return XK(n,r,e,i,t)}},encode(e,t){let{marktype:n,channels:r}=t,i=e.functions,a=n===`group`||n===`image`||n===`rect`;return(e,t)=>{let o=e.datum,s=0,c;for(let n in r)c=XK(r[n].ast,i,t,o,void 0,e),e[n]!==c&&(e[n]=c,s=1);return n!==`rule`&&BK(e,r,a),s}}},QK=t({accessPathDepth:()=>Lq,accessPathWithDatum:()=>kq,accessWithDatumToUnescapedPath:()=>jq,compile:()=>P5,contains:()=>lq,deepEqual:()=>qq,deleteNestedProperty:()=>Dq,duplicate:()=>G,entries:()=>Sq,every:()=>dq,fieldIntersection:()=>yq,flatAccessWithDatum:()=>Aq,getFirstDefined:()=>Rq,hasIntersection:()=>_q,hasProperty:()=>J,hash:()=>K,internalField:()=>Hq,isBoolean:()=>Cq,isEmpty:()=>bq,isEqual:()=>hq,isInternalField:()=>Uq,isNullOrFalse:()=>cq,isNumeric:()=>Gq,isPrimitive:()=>wq,keys:()=>q,logicalExpr:()=>Eq,mergeDeep:()=>fq,never:()=>aq,normalize:()=>g4,normalizeAngle:()=>Wq,omit:()=>sq,pick:()=>oq,prefixGenerator:()=>vq,removePathFromField:()=>Iq,replaceAll:()=>Fq,replacePathInField:()=>Pq,resetIdCounter:()=>Vq,setEqual:()=>gq,some:()=>uq,stringify:()=>Jq,titleCase:()=>Oq,unescapeSingleQuoteAndPathDot:()=>Mq,unique:()=>mq,uniqueId:()=>Bq,vals:()=>xq,varName:()=>Tq,version:()=>kme}),$K={version:`6.4.3`};function eq(e){return J(e,`or`)}function tq(e){return J(e,`and`)}function nq(e){return J(e,`not`)}function rq(e,t){if(nq(e))rq(e.not,t);else if(tq(e))for(let n of e.and)rq(n,t);else if(eq(e))for(let n of e.or)rq(n,t);else t(e)}function iq(e,t){return nq(e)?{not:iq(e.not,t)}:tq(e)?{and:e.and.map(e=>iq(e,t))}:eq(e)?{or:e.or.map(e=>iq(e,t))}:t(e)}var G=structuredClone;function aq(e){throw Error(e)}function oq(e,t){let n={};for(let r of t)p(e,r)&&(n[r]=e[r]);return n}function sq(e,t){let n={...e};for(let e of t)delete n[e];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>Jq(e)).join(`,`)})`};function K(e){if(v(e))return e;let t=_(e)?e:Jq(e);if(t.length<250)return t;let n=0;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);n=(n<<5)-n+r,n&=n}return n}function cq(e){return e===!1||e===null}function lq(e,t){return e.includes(t)}function uq(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function dq(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function fq(e,...t){for(let n of t)pq(e,n??{});return e}function pq(e,t){for(let n of q(t))D(e,n,t[n],!0)}function mq(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 hq(e,t){let n=q(e),r=q(t);if(n.length!==r.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function gq(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function _q(e,t){for(let n of e)if(t.has(n))return!0;return!1}function vq(e){let t=new Set;for(let n of e){let e=we(n).map((e,t)=>t===0?e:`[${e}]`),r=e.map((t,n)=>e.slice(0,n+1).join(``));for(let e of r)t.add(e)}return t}function yq(e,t){return e===void 0||t===void 0||_q(vq(e),vq(t))}function bq(e){return q(e).length===0}var q=Object.keys,xq=Object.values,Sq=Object.entries;function Cq(e){return e===!0||e===!1}function wq(e){return _(e)||v(e)||Cq(e)}function Tq(e){let t=e.replace(/\W/g,`_`);return(e.match(/^\d+/)?`_`:``)+t}function Eq(e,t){return nq(e)?`!(${Eq(e.not,t)})`:tq(e)?`(${e.and.map(e=>Eq(e,t)).join(`) && (`)})`:eq(e)?`(${e.or.map(e=>Eq(e,t)).join(`) || (`)})`:t(e)}function Dq(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&Dq(e[n],t)&&delete e[n],bq(e)}function Oq(e){return e.charAt(0).toUpperCase()+e.substr(1)}function kq(e,t=`datum`){let n=we(e),r=[];for(let e=1;e<=n.length;e++){let i=`[${n.slice(0,e).map(a).join(`][`)}]`;r.push(`${t}${i}`)}return r.join(` && `)}function Aq(e,t=`datum`){return`${t}[${a(we(e).join(`.`))}]`}function jq(e){return`datum['${e.replaceAll(`'`,`\\'`)}']`}function Mq(e){return e.replaceAll(`\\'`,`'`).replaceAll(`\\.`,`.`)}function Nq(e){return e.replace(/(\[|\]|\.|'|")/g,`\\$1`)}function Pq(e){return`${we(e).map(Nq).join(`\\.`)}`}function Fq(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`),`g`),n)}function Iq(e){return`${we(e).join(`.`)}`}function Lq(e){return e?we(e).length:0}function Rq(...e){return e.find(e=>e!==void 0)}var zq=42;function Bq(e){let t=++zq;return e?String(e)+t:t}function Vq(){zq=42}function Hq(e){return Uq(e)?e:`__${e}`}function Uq(e){return e.startsWith(`__`)}function Wq(e){if(e!==void 0)return(e%360+360)%360}function Gq(e){return v(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var Kq=Object.getPrototypeOf(structuredClone({}));function qq(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(!qq(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let n of e.entries())if(!t.has(n[0]))return!1;for(let n of e.entries())if(!qq(n[1],t.get(n[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e.entries())if(!t.has(n[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!==Kq.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==Kq.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 n=i[r];if(!qq(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Jq(e){let t=[];return(function e(n){if(n?.toJSON&&typeof n.toJSON==`function`&&(n=n.toJSON()),n===void 0)return;if(typeof n==`number`)return isFinite(n)?`${n}`:`null`;if(typeof n!=`object`)return JSON.stringify(n);let r,i;if(Array.isArray(n)){for(i=`[`,r=0;r<n.length;r++)r&&(i+=`,`),i+=e(n[r])||`null`;return`${i}]`}if(n===null)return`null`;if(t.includes(n))throw TypeError(`Converting circular structure to JSON`);let a=t.push(n)-1,o=Object.keys(n).sort();for(i=``,r=0;r<o.length;r++){let t=o[r],a=e(n[t]);a&&(i&&(i+=`,`),i+=`${JSON.stringify(t)}:${a}`)}return t.splice(a,1),`{${i}}`})(e)}function J(e,t){return d(e)&&p(e,t)&&e[t]!==void 0}var Yq=`row`,Xq=`column`,Zq=`facet`,Qq=`x`,$q=`y`,eJ=`x2`,tJ=`y2`,nJ=`xOffset`,rJ=`yOffset`,iJ=`radius`,aJ=`radius2`,oJ=`theta`,sJ=`theta2`,cJ=`latitude`,lJ=`longitude`,uJ=`latitude2`,dJ=`longitude2`,fJ=`time`,pJ=`color`,mJ=`fill`,hJ=`stroke`,gJ=`shape`,_J=`size`,vJ=`angle`,yJ=`opacity`,bJ=`fillOpacity`,xJ=`strokeOpacity`,SJ=`strokeWidth`,CJ=`strokeDash`,wJ=`text`,TJ=`order`,EJ=`detail`,DJ=`key`,OJ=`tooltip`,kJ=`href`,AJ=`url`,jJ=`description`,MJ={x:1,y:1,x2:1,y2:1},NJ={theta:1,theta2:1,radius:1,radius2:1};function PJ(e){return p(NJ,e)}var FJ={longitude:1,longitude2:1,latitude:1,latitude2:1};function IJ(e){switch(e){case cJ:return`y`;case uJ:return`y2`;case lJ:return`x`;case dJ:return`x2`}}function LJ(e){return p(FJ,e)}var RJ=q(FJ),zJ={...MJ,...NJ,...FJ,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 BJ(e){return e===pJ||e===mJ||e===hJ}var VJ={row:1,column:1,facet:1},HJ=q(VJ),UJ={...zJ,...VJ},WJ=q(UJ),{order:Tce,detail:Ece,tooltip:Dce,...GJ}=UJ,{row:Oce,column:kce,facet:Ace,...KJ}=GJ;function qJ(e){return p(KJ,e)}function JJ(e){return p(UJ,e)}var YJ=[eJ,tJ,uJ,dJ,sJ,aJ];function XJ(e){return ZJ(e)!==e}function ZJ(e){switch(e){case eJ:return Qq;case tJ:return $q;case uJ:return cJ;case dJ:return lJ;case sJ:return oJ;case aJ:return iJ}return e}function QJ(e){if(PJ(e))switch(e){case oJ:return`startAngle`;case sJ:return`endAngle`;case iJ:return`outerRadius`;case aJ:return`innerRadius`}return e}function $J(e){switch(e){case Qq:return eJ;case $q:return tJ;case cJ:return uJ;case lJ:return dJ;case oJ:return sJ;case iJ:return aJ}}function eY(e){switch(e){case Qq:case eJ:return`width`;case $q:case tJ:return`height`}}function tY(e){switch(e){case Qq:return`xOffset`;case $q:return`yOffset`;case eJ:return`x2Offset`;case tJ:return`y2Offset`;case oJ:return`thetaOffset`;case iJ:return`radiusOffset`;case sJ:return`theta2Offset`;case aJ:return`radius2Offset`}}function nY(e){switch(e){case Qq:return`xOffset`;case $q:return`yOffset`}}function rY(e){switch(e){case`xOffset`:return`x`;case`yOffset`:return`y`}}var iY=q(zJ),{x:jce,y:Mce,x2:Nce,y2:Pce,xOffset:Fce,yOffset:Ice,latitude:Lce,longitude:Rce,latitude2:zce,longitude2:Bce,theta:Vce,theta2:Hce,radius:Uce,radius2:Wce,...aY}=zJ,oY=q(aY),sY={x:1,y:1},cY=q(sY);function lY(e){return p(sY,e)}var uY={theta:1,radius:1},dY=q(uY);function fY(e){return e===`width`?Qq:$q}var pY={xOffset:1,yOffset:1};function mY(e){return p(pY,e)}var hY={time:1};function gY(e){return e in hY}var{text:Gce,tooltip:Kce,href:qce,url:Jce,description:Yce,detail:Xce,key:Zce,order:Qce,..._Y}=aY,vY=q(_Y);function yY(e){return p(aY,e)}function bY(e){switch(e){case pJ:case mJ:case hJ:case _J:case gJ:case yJ:case SJ:case CJ:return!0;case bJ:case xJ:case vJ:case fJ:return!1}}var xY={...sY,...uY,...pY,..._Y},SY=q(xY);function CY(e){return p(xY,e)}function wY(e,t){return DY(e)[t]}var TY={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:$ce,...EY}=TY;function DY(e){switch(e){case pJ:case mJ:case hJ:case jJ:case EJ:case DJ:case OJ:case kJ:case TJ:case yJ:case bJ:case xJ:case SJ:case Zq:case Yq:case Xq:return TY;case Qq:case $q:case nJ:case rJ:case cJ:case lJ:case fJ:return EY;case eJ:case tJ:case uJ:case dJ:return{area:`always`,bar:`always`,image:`always`,rect:`always`,rule:`always`,circle:`binned`,point:`binned`,square:`binned`,tick:`binned`,line:`binned`,trail:`binned`};case _J:return{point:`always`,tick:`always`,rule:`always`,circle:`always`,square:`always`,bar:`always`,text:`always`,line:`always`,trail:`always`};case CJ:return{line:`always`,point:`always`,tick:`always`,rule:`always`,circle:`always`,square:`always`,bar:`always`,geoshape:`always`};case gJ:return{point:`always`,geoshape:`always`};case wJ:return{text:`always`};case vJ:return{point:`always`,square:`always`,text:`always`};case AJ:return{image:`always`};case oJ:return{text:`always`,arc:`always`};case iJ:return{text:`always`,arc:`always`};case sJ:case aJ:return{arc:`always`}}}function OY(e){switch(e){case Qq:case $q:case oJ:case iJ:case nJ:case rJ:case _J:case vJ:case SJ:case yJ:case bJ:case xJ:case fJ:case eJ:case tJ:case sJ:case aJ:return;case Zq:case Yq:case Xq:case gJ:case CJ:case wJ:case OJ:case kJ:case AJ:case jJ:return`discrete`;case pJ:case mJ:case hJ:return`flexible`;case cJ:case lJ:case uJ:case dJ:case EJ:case DJ:case TJ:return}}var kY={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},AY={count:1,min:1,max:1};function jY(e){return J(e,`argmin`)}function MY(e){return J(e,`argmax`)}function NY(e){return _(e)&&p(kY,e)}var PY=new Set([`count`,`valid`,`missing`,`distinct`]);function FY(e){return _(e)&&PY.has(e)}function IY(e){return _(e)&&lq([`min`,`max`],e)}var LY=new Set([`count`,`sum`,`distinct`,`valid`,`missing`]),RY=new Set([`mean`,`average`,`median`,`q1`,`q3`,`min`,`max`]);function zY(e){return ar(e)&&(e=N0(e,void 0)),`bin${q(e).map(t=>UY(e[t])?Tq(`_${t}_${Sq(e[t])}`):Tq(`_${t}_${e[t]}`)).join(``)}`}function BY(e){return e===!0||HY(e)&&!e.binned}function VY(e){return e===`binned`||HY(e)&&e.binned===!0}function HY(e){return d(e)}function UY(e){return J(e,`param`)}function WY(e){switch(e){case Yq:case Xq:case _J:case pJ:case mJ:case hJ:case SJ:case yJ:case bJ:case xJ:case gJ:return 6;case CJ:return 4;default:return 10}}function GY(e){return J(e,`expr`)}function KY(e,{level:t}={level:0}){let n=q(e||{}),r={};for(let i of n)r[i]=t===0?iX(e[i]):KY(e[i],{level:t-1});return r}function qY(e){let{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:o,color:s,subtitleColor:c,subtitleFont:l,subtitleFontSize:u,subtitleFontStyle:d,subtitleFontWeight:f,subtitleLineHeight:p,subtitlePadding:m,...h}=e,g={...h,...s?{fill:s}:{}},_={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...a===void 0?{}:{angle:a},...o===void 0?{}:{limit:o}},v={...c?{subtitleColor:c}:{},...l?{subtitleFont:l}:{},...u?{subtitleFontSize:u}:{},...d?{subtitleFontStyle:d}:{},...f?{subtitleFontWeight:f}:{},...p?{subtitleLineHeight:p}:{},...m?{subtitlePadding:m}:{}};return{titleMarkConfig:g,subtitleMarkConfig:oq(e,[`align`,`baseline`,`dx`,`dy`,`limit`]),nonMarkTitleProperties:_,subtitle:v}}function JY(e){return _(e)||h(e)&&_(e[0])}function Y(e){return J(e,`signal`)}function YY(e){return J(e,`step`)}function XY(e){return!h(e)&&J(e,`fields`)&&!J(e,`data`)}function ZY(e){return!h(e)&&J(e,`fields`)&&J(e,`data`)}function QY(e){return!h(e)&&J(e,`field`)&&J(e,`data`)}var $Y=q({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}),eX={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},tX=[`cornerRadius`,`cornerRadiusTopLeft`,`cornerRadiusTopRight`,`cornerRadiusBottomLeft`,`cornerRadiusBottomRight`],nX=` – `;function rX(e){let t=h(e.condition)?e.condition.map(aX):aX(e.condition);return{...iX(e),condition:t}}function iX(e){if(GY(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function aX(e){if(GY(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function oX(e){if(GY(e)){let{expr:t,...n}=e;return{signal:t,...n}}return Y(e)?e:e===void 0?void 0:{value:e}}function sX(e){return Y(e)?e.signal:a(e)}function cX(e){return Y(e)?e.signal:a(e.value)}function lX(e){return Y(e)?e.signal:e==null?null:a(e)}function uX(e,t,n){for(let r of n){let n=pX(r,t.markDef,t.config);n!==void 0&&(e[r]=oX(n))}return e}function dX(e){return[].concat(e.type,e.style??[])}function fX(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:pX(e,t,n,r):t[e]}function pX(e,t,n,{vgChannel:r}={}){let i=mX(e,t,n.style);return Rq(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function mX(e,t,n){return hX(e,dX(t),n)}function hX(e,t,n){t=E(t);let r;for(let i of t){let t=n[i];J(t,e)&&(r=t[e])}return r}function gX(e,t){return E(e).reduce((e,n)=>(e.field.push($(n,t)),e.order.push(n.sort??`ascending`),e),{field:[],order:[]})}function _X(e,t){let n=[...e];return t.forEach(e=>{for(let t of n)if(qq(t,e))return;n.push(e)}),n}function vX(e,t){return qq(e,t)||!t?e:e?[...E(e),...E(t)].join(`, `):t}function yX(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((JY(n)||Y(n))&&(JY(r)||Y(r)))return{explicit:e.explicit,value:vX(n,r)};if(JY(n)||Y(n))return{explicit:e.explicit,value:n};if(JY(r)||Y(r))return{explicit:e.explicit,value:r};if(!JY(n)&&!Y(n)&&!JY(r)&&!Y(r))return{explicit:e.explicit,value:_X(n,r)};throw Error(`It should never reach here`)}function bX(e){return`Invalid specification ${Jq(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}var xX=`Autosize "fit" only works for single views and layered views.`;function SX(e){return`${e==`width`?`Width`:`Height`} "container" only works for single views and layered views.`}function CX(e){return`${e==`width`?`Width`:`Height`} "container" only works well with autosize "fit" or "fit-${e==`width`?`x`:`y`}".`}function wX(e){return e?`Dropping "fit-${e}" because spec has discrete ${eY(e)}.`:`Dropping "fit" because spec has discrete size.`}function TX(e){return`Unknown field for ${e}. Cannot calculate view size.`}function EX(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function DX(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function OX(e){return`The "nearest" transform is not supported for ${e} marks.`}function kX(e){return`Selection not supported for ${e} yet.`}function AX(e){return`Cannot find a selection named "${e}".`}var jX=`Scale bindings are currently only supported for scales with unbinned, continuous domains.`,MX=`Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc`,NX=`Legend bindings are only supported for selections over an individual field or encoding channel.`;function PX(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}function FX(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}var IX=`The same selection must be used to override scale domains in a layered view.`,LX=`Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.`;function RX(e){return`Unknown repeated value "${e}".`}function zX(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}var BX=`Multiple timer selections in one unit spec are not supported. Ignoring all but the first.`,VX=`Animation involving facet, layer, or concat is currently unsupported.`;function HX(e){return`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${a(e)}.`}function UX(e,t,n,r){return`${e.length?`Multiple `:`No `}matching ${a(t)} encoding found for selection ${a(n.param)}. Using "field": ${a(r)}.`}var WX=`Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).`;function GX(e){return`Unrecognized parse "${e}".`}function KX(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}var qX=`Attempt to add the same child twice.`;function JX(e){return`Ignoring an invalid transform: ${Jq(e)}.`}var YX=`If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.`;function XX(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function ZX(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${Jq(t)} is overridden by a child projection ${Jq(n)}.`}var QX=`Arc marks uses theta channel rather than angle, replacing angle with theta.`;function $X(e){return`${e}Offset dropped because ${e} is continuous`}function eZ(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${Jq(n)}}.`}function tZ(e){return`Invalid field type "${e}".`}function nZ(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}function rZ(e){return`Invalid aggregation operator "${e}".`}function iZ(e,t){let{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?`fill and stroke`:n?`fill`:`stroke`}.`}function aZ(e){return`Position range does not support relative band size for ${e}.`}function oZ(e,t){return`Dropping ${Jq(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}var sZ=`Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.`;function cZ(e,t,n){return`${e} dropped as it is incompatible with "${t}".`}function lZ(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function uZ(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function dZ(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function fZ(e){return`Facet encoding dropped as ${e.join(` and `)} ${e.length>1?`are`:`is`} also specified.`}function pZ(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t===`ordinal`?`order`:`magnitude`}.`}function mZ(e){return`The ${e} for range marks cannot be an expression`}function hZ(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?`x2 and y2`:e?`x2`:`y2`}. We will use the rule mark (line segments) instead.`}function gZ(e,t){return`Specified orient "${e}" overridden with "${t}".`}function _Z(e){return`Cannot use the scale property "${e}" with non-color channel.`}function vZ(e){return`Cannot use the relative band size with ${e} scale.`}function yZ(e){return`Using unaggregated domain with raw field has no effect (${Jq(e)}).`}function bZ(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function xZ(e){return`Unaggregated domain is currently unsupported for log scale (${Jq(e)}).`}function SZ(e){return`Cannot apply size to non-oriented mark "${e}".`}function CZ(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}function wZ(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}function TZ(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function EZ(e){return`The step for "${e}" is dropped because the ${e===`width`?`x`:`y`} is continuous.`}function DZ(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Jq(n)} and ${Jq(r)}). Using ${Jq(n)}.`}function OZ(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Jq(n)} and ${Jq(r)}). Using the union of the two domains.`}function kZ(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}function AZ(e){return`Dropping sort property ${Jq(e)} as unioned domains only support boolean or op "count", "min", and "max".`}var jZ=`Domains that should be unioned has conflicting sort properties. Sort will be set to true.`,MZ=`Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.`,NZ=`Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.`,PZ=`Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.`;function FZ(e,t){return`Unioning discrete legend values from ${e} and ${t}.`}function IZ(e){return`Cannot stack "${e}" if there is already "${e}2".`}function LZ(e){return`Stack is applied to a non-linear scale (${e}).`}function RZ(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}function zZ(e,t){return`Invalid ${e}: ${Jq(t)}.`}function BZ(e){return`Dropping day from datetime ${Jq(e)} as day cannot be combined with other units.`}function VZ(e,t){return`${t?`extent `:``}${t&&e?`and `:``}${e?`center `:``}${t&&e?`are `:`is `}not needed when data are aggregated.`}function HZ(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}function UZ(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}function WZ(e){return`1D error band does not support ${e}.`}function GZ(e){return`Channel ${e} is required for "binned" bin.`}function KZ(e){return`Channel ${e} should not be used with "binned" bin.`}function qZ(e){return`Domain for ${e} is required for threshold scale.`}var JZ=kn(2),YZ=JZ;function XZ(e){return YZ=e,YZ}function ZZ(){return YZ=JZ,YZ}function QZ(...e){YZ.error(...e)}function X(...e){YZ.warn(...e)}function $Z(...e){YZ.debug(...e)}function eQ(e){if(e&&d(e)){for(let t of pQ)if(J(e,t))return!0}return!1}var tQ=[`january`,`february`,`march`,`april`,`may`,`june`,`july`,`august`,`september`,`october`,`november`,`december`],nQ=tQ.map(e=>e.substr(0,3)),rQ=[`sunday`,`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`],iQ=rQ.map(e=>e.substr(0,3));function aQ(e){if(Gq(e)&&(e=+e),v(e))return e>4&&X(zZ(`quarter`,e)),e-1;throw Error(zZ(`quarter`,e))}function oQ(e){if(Gq(e)&&(e=+e),v(e))return e-1;{let t=e.toLowerCase(),n=tQ.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=nQ.indexOf(r);if(i!==-1)return i;throw Error(zZ(`month`,e))}}function sQ(e){if(Gq(e)&&(e=+e),v(e))return e%7;{let t=e.toLowerCase(),n=rQ.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=iQ.indexOf(r);if(i!==-1)return i;throw Error(zZ(`day`,e))}}function cQ(e,t){let n=[];if(t&&e.day!==void 0&&q(e).length>1&&(X(BZ(e)),e=G(e),delete e.day),e.year===void 0?n.push(2012):n.push(e.year),e.month!==void 0){let r=t?oQ(e.month):e.month;n.push(r)}else if(e.quarter!==void 0){let r=t?aQ(e.quarter):e.quarter;n.push(v(r)?r*3:`${r}*3`)}else n.push(0);if(e.date!==void 0)n.push(e.date);else if(e.day!==void 0){let r=t?sQ(e.day):e.day;n.push(v(r)?r+1:`${r}+1`)}else n.push(1);for(let t of[`hours`,`minutes`,`seconds`,`milliseconds`]){let r=e[t];n.push(r===void 0?0:r)}return n}function lQ(e){let t=cQ(e,!0).join(`, `);return e.utc?`utc(${t})`:`datetime(${t})`}function uQ(e){let t=cQ(e,!1).join(`, `);return e.utc?`utc(${t})`:`datetime(${t})`}function dQ(e){let t=cQ(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}var fQ={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},pQ=q(fQ);function mQ(e){return p(fQ,e)}function hQ(e){return d(e)?e.binned:gQ(e)}function gQ(e){return e?.startsWith(`binned`)}function _Q(e){return e.startsWith(`utc`)}function vQ(e){return e.substring(3)}var yQ={"year-month":`%b %Y `,"year-month-date":`%b %d, %Y `};function bQ(e){return pQ.filter(t=>SQ(e,t))}function xQ(e){let t=bQ(e);return t[t.length-1]}function SQ(e,t){let n=e.indexOf(t);return!(n<0||n>0&&t===`seconds`&&e.charAt(n-1)===`i`||e.length>n+3&&t===`day`&&e.charAt(n+3)===`o`||n>0&&t===`year`&&e.charAt(n-1)===`f`)}function CQ(e,t,{end:n}={end:!1}){let r=kq(t),i=_Q(e)?`utc`:``;function a(e){return e===`quarter`?`(${i}quarter(${r})-1)`:`${i}${e}(${r})`}let o,s={};for(let t of pQ)SQ(e,t)&&(s[t]=a(t),o=t);return n&&(s[o]+=`+1`),uQ(s)}function wQ(e){if(e)return`timeUnitSpecifier(${Jq(bQ(e))}, ${Jq(yQ)})`}function TQ(e,t,n){if(!e)return;let r=wQ(e);return`${n||_Q(e)?`utc`:`time`}Format(${t}, ${r})`}function EQ(e){if(!e)return;let t;return _(e)?t=gQ(e)?{unit:e.substring(6),binned:!0}:{unit:e}:d(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),_Q(t.unit)&&(t.utc=!0,t.unit=vQ(t.unit)),t}function DQ(e){let{utc:t,...n}=EQ(e);return n.unit?(t?`utc`:``)+q(n).map(e=>Tq(`${e===`unit`?``:`_${e}_`}${n[e]}`)).join(``):`${t?`utc`:``}timeunit${q(n).map(e=>Tq(`_${e}_${n[e]}`)).join(``)}`}function OQ(e,t=e=>e){let n=EQ(e),r=xQ(n.unit);if(r&&r!==`day`){let e={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:i,part:a}=jQ(r,n.step);return`${t(lQ({...e,[a]:+e[a]+i}))} - ${t(lQ(e))}`}}var kQ={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function AQ(e){return p(kQ,e)}function jQ(e,t=1){if(AQ(e))return{part:e,step:t};switch(e){case`day`:case`dayofyear`:return{part:`date`,step:t};case`quarter`:return{part:`month`,step:t*3};case`week`:return{part:`date`,step:t*7}}}function MQ(e){return J(e,`param`)}function NQ(e){return!!e?.field&&e.equal!==void 0}function PQ(e){return!!e?.field&&e.lt!==void 0}function FQ(e){return!!e?.field&&e.lte!==void 0}function IQ(e){return!!e?.field&&e.gt!==void 0}function LQ(e){return!!e?.field&&e.gte!==void 0}function RQ(e){return!!(e?.field&&(h(e.range)&&e.range.length===2||Y(e.range)))}function zQ(e){return!!e?.field&&(h(e.oneOf)||h(e.in))}function BQ(e){return!!e?.field&&e.valid!==void 0}function VQ(e){return zQ(e)||NQ(e)||RQ(e)||PQ(e)||IQ(e)||FQ(e)||LQ(e)}function HQ(e,t){return I0(e,{timeUnit:t,wrapTime:!0})}function UQ(e,t){return e.map(e=>HQ(e,t))}function WQ(e,t=!0){let{field:n}=e,{unit:r,binned:i}=EQ(e.timeUnit)||{},a=$(e,{expr:`datum`}),o=r?`time(${i?a:CQ(r,n)})`:a;if(NQ(e))return`${o}===${HQ(e.equal,r)}`;if(PQ(e)){let t=e.lt;return`${o}<${HQ(t,r)}`}if(IQ(e)){let t=e.gt;return`${o}>${HQ(t,r)}`}if(FQ(e)){let t=e.lte;return`${o}<=${HQ(t,r)}`}if(LQ(e)){let t=e.gte;return`${o}>=${HQ(t,r)}`}if(zQ(e))return`indexof([${UQ(e.oneOf,r).join(`,`)}], ${o}) !== -1`;if(BQ(e))return GQ(o,e.valid);if(RQ(e)){let{range:n}=KY(e),i=Y(n)?{signal:`${n.signal}[0]`}:n[0],a=Y(n)?{signal:`${n.signal}[1]`}:n[1];if(i!==null&&a!==null&&t)return`inrange(${o}, [${HQ(i,r)}, ${HQ(a,r)}])`;let s=[];return i!==null&&s.push(`${o} >= ${HQ(i,r)}`),a!==null&&s.push(`${o} <= ${HQ(a,r)}`),s.length>0?s.join(` && `):`true`}throw Error(`Invalid field predicate: ${Jq(e)}`)}function GQ(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function KQ(e){return VQ(e)&&e.timeUnit?{...e,timeUnit:EQ(e.timeUnit)}:e}var qQ={quantitative:`quantitative`,ordinal:`ordinal`,temporal:`temporal`,nominal:`nominal`,geojson:`geojson`};function JQ(e){return e===`quantitative`||e===`temporal`}function YQ(e){return e===`ordinal`||e===`nominal`}var XQ=qQ.quantitative,ZQ=qQ.ordinal,QQ=qQ.temporal,$Q=qQ.nominal,e$=qQ.geojson;function t$(e){if(e)switch(e=e.toLowerCase(),e){case`q`:case XQ:return`quantitative`;case`t`:case QQ:return`temporal`;case`o`:case ZQ:return`ordinal`;case`n`:case $Q:return`nominal`;case e$:return`geojson`}}var n$={LINEAR:`linear`,LOG:`log`,POW:`pow`,SQRT:`sqrt`,TIME:`time`,UTC:`utc`,POINT:`point`,BAND:`band`},r$={linear:`numeric`,log:`numeric`,pow:`numeric`,sqrt:`numeric`,symlog:`numeric`,identity:`numeric`,sequential:`numeric`,time:`time`,utc:`time`,ordinal:`ordinal`,"bin-ordinal":`bin-ordinal`,point:`ordinal-position`,band:`ordinal-position`,quantile:`discretizing`,quantize:`discretizing`,threshold:`discretizing`};function i$(e,t){let n=r$[e],r=r$[t];return n===r||n===`ordinal-position`&&r===`time`||r===`ordinal-position`&&n===`time`}var a$={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function o$(e){return a$[e]}var s$=new Set([`linear`,`log`,`pow`,`sqrt`,`symlog`]),c$=new Set([...s$,`time`,`utc`]);function l$(e){return s$.has(e)}var u$=new Set([`quantile`,`quantize`,`threshold`]),d$=new Set([...c$,...u$,`sequential`,`identity`]),f$=new Set([`ordinal`,`bin-ordinal`,`point`,`band`]);function p$(e){return f$.has(e)}function m$(e){return d$.has(e)}function h$(e){return c$.has(e)}function g$(e){return u$.has(e)}var _$={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0,framesPerSecond:2,animationDuration:5};function v$(e){return!_(e)&&J(e,`name`)}function y$(e){return J(e,`param`)}function b$(e){return J(e,`unionWith`)}function x$(e){return d(e)&&`field`in e}var{type:ele,domain:tle,range:nle,rangeMax:rle,rangeMin:ile,scheme:ale,...S$}={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},C$=q(S$);function w$(e,t){switch(t){case`type`:case`domain`:case`reverse`:case`range`:return!0;case`scheme`:case`interpolate`:return![`point`,`band`,`identity`].includes(e);case`bins`:return![`point`,`band`,`identity`,`ordinal`].includes(e);case`round`:return h$(e)||e===`band`||e===`point`;case`padding`:case`rangeMin`:case`rangeMax`:return h$(e)||[`point`,`band`].includes(e);case`paddingOuter`:case`align`:return[`point`,`band`].includes(e);case`paddingInner`:return e===`band`;case`domainMax`:case`domainMid`:case`domainMin`:case`domainRaw`:case`clamp`:return h$(e);case`nice`:return h$(e)||e===`quantize`||e===`threshold`;case`exponent`:return e===`pow`;case`base`:return e===`log`;case`constant`:return e===`symlog`;case`zero`:return m$(e)&&!lq([`log`,`time`,`utc`,`threshold`,`quantile`],e)}}function T$(e,t){switch(t){case`interpolate`:case`scheme`:case`domainMid`:return BJ(e)?void 0:_Z(t);case`align`:case`type`:case`bins`:case`domain`:case`domainMax`:case`domainMin`:case`domainRaw`:case`range`:case`base`:case`exponent`:case`constant`:case`nice`:case`padding`:case`paddingInner`:case`paddingOuter`:case`rangeMax`:case`rangeMin`:case`reverse`:case`round`:case`clamp`:case`zero`:return}}function E$(e,t){return lq([ZQ,$Q],t)?e===void 0||p$(e):t===QQ?lq([n$.TIME,n$.UTC,void 0],e):t!==XQ||l$(e)||g$(e)||e===void 0}function D$(e,t,n=!1){if(!CY(e))return!1;switch(e){case Qq:case $q:case nJ:case rJ:case oJ:case iJ:return h$(t)?!0:t===`band`||t===`point`&&!n;case fJ:return lq([`linear`,`band`],t);case _J:case SJ:case yJ:case bJ:case xJ:case vJ:return h$(t)||g$(t)||lq([`band`,`point`,`ordinal`],t);case pJ:case mJ:case hJ:return t!==`band`;case CJ:case gJ:return t===`ordinal`||g$(t)}}function O$(e){return d(e)&&`value`in e}var k$={arc:`arc`,area:`area`,bar:`bar`,image:`image`,line:`line`,point:`point`,rect:`rect`,rule:`rule`,text:`text`,tick:`tick`,trail:`trail`,circle:`circle`,square:`square`,geoshape:`geoshape`},A$=k$.arc,j$=k$.area,M$=k$.bar,N$=k$.image,P$=k$.line,F$=k$.point,I$=k$.rect,L$=k$.rule,R$=k$.text,z$=k$.tick,B$=k$.trail,V$=k$.circle,H$=k$.square,U$=k$.geoshape;function W$(e){return[`line`,`area`,`trail`].includes(e)}function G$(e){return[`rect`,`bar`,`image`,`arc`,`tick`].includes(e)}var K$=new Set(q(k$));function q$(e){return J(e,`type`)}var J$=[`stroke`,`strokeWidth`,`strokeDash`,`strokeDashOffset`,`strokeOpacity`,`strokeJoin`,`strokeMiterLimit`],Y$=[`fill`,`fillOpacity`],X$=[...J$,...Y$],Z$=q({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Q$=[`binSpacing`,`continuousBandSize`,`discreteBandSize`,`minBandSize`],$$={area:[`line`,`point`],bar:Q$,rect:Q$,line:[`point`],tick:[`bandSize`,`thickness`,...Q$]},e1={color:`#4c78a8`,invalid:`break-paths-show-path-domains`,timeUnitBandSize:1},t1=q({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function n1(e){return J(e,`band`)}var r1={horizontal:[`cornerRadiusTopRight`,`cornerRadiusBottomRight`],vertical:[`cornerRadiusTopLeft`,`cornerRadiusTopRight`]},i1={binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},a1={...i1,binSpacing:1},o1={...i1,thickness:1};function s1(e){return q$(e)?e.type:e}function c1(e,{isPath:t}){return e===void 0||e===`break-paths-show-path-domains`?t?`break-paths-show-domains`:`filter`:e===null?`show`:e}function l1({markDef:e,config:t,scaleChannel:n,scaleType:r,isCountAggregate:i}){if(!r||!m$(r)||i)return`always-valid`;let a=c1(fX(`invalid`,e,t),{isPath:W$(e.type)});return t.scale?.invalid?.[n]===void 0?a:`show`}function u1(e){return e===`break-paths-filter-domains`||e===`break-paths-show-domains`}function d1({scaleName:e,scale:t,mode:n}){let r=`domain('${e}')`;if(!t||!e)return;let i=`${r}[0]`,a=`peek(${r})`,o=t.domainHasZero();return o===`definitely`?{scale:e,value:0}:o===`maybe`?{signal:`scale('${e}', inrange(0, ${r}) ? 0 : ${n===`zeroOrMin`?i:a})`}:{signal:`scale('${e}', ${n===`zeroOrMin`?i:a})`}}function f1({scaleChannel:e,channelDef:t,scale:n,scaleName:r,markDef:i,config:a}){let o=n?.get(`type`),s=O0(t),c=l1({scaleChannel:e,markDef:i,config:a,scaleType:o,isCountAggregate:FY(s?.aggregate)});if(s&&c===`show`){let t=a.scale.invalid?.[e]??`zero-or-min`;return{test:GQ($(s,{expr:`datum`}),!1),...p1(t,n,r)}}}function p1(e,t,n){if(O$(e)){let{value:t}=e;return Y(t)?{signal:t.signal}:{value:t}}return d1({scale:t,scaleName:n,mode:`zeroOrMin`})}function m1(e){let{channel:t,channelDef:n,markDef:r,scale:i,scaleName:a,config:o}=e,s=ZJ(t),c=y1(e),l=f1({scaleChannel:s,channelDef:n,scale:i,scaleName:a,markDef:r,config:o});return l===void 0?c:[l,c]}function h1(e){let{datum:t}=e;return eQ(t)?lQ(t):`${Jq(t)}`}function g1(e,t,n,r){let i={};if(t&&(i.scale=t),n0(e)){let{datum:t}=e;eQ(t)?i.signal=lQ(t):Y(t)?i.signal=t.signal:GY(t)?i.signal=t.expr:i.value=t}else i.field=$(e,n);if(r){let{offset:e,band:t}=r;e&&(i.offset=e),t&&(i.band=t)}return i}function _1({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,endSuffix:a=`end`,bandPosition:o=.5}){let s=!Y(o)&&0<o&&o<1?`datum`:void 0,c=$(t,{expr:s,suffix:i}),l=n===void 0?$(t,{suffix:a,expr:s}):$(n,{expr:s}),u={};return o===0||o===1?(u.scale=e,u.field=o===0?c:l):u.signal=`scale("${e}", ${Y(o)?`(1-${o.signal}) * ${c} + ${o.signal} * ${l}`:`${1-o} * ${c} + ${o} * ${l}`})`,r&&(u.offset=r),u}function v1({scaleName:e,fieldDef:t}){let n=$(t,{expr:`datum`});return`abs(scale("${e}", ${$(t,{expr:`datum`,suffix:`end`})}) - scale("${e}", ${n}))`}function y1({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:s,stack:c,offset:l,defaultRef:u,bandPosition:d}){if(t){if(Q(t)){let o=s?.get(`type`);if(o0(t)){d??=q1({fieldDef:t,fieldDef2:n,markDef:r,config:i});let{bin:s,timeUnit:u,type:f}=t;if(BY(s)||d&&u&&f===QQ)return c?.impute?g1(t,a,{binSuffix:`mid`},{offset:l}):d&&!p$(o)?_1({scaleName:a,fieldOrDatumDef:t,bandPosition:d,offset:l}):g1(t,a,R0(t,e)?{binSuffix:`range`}:{},{offset:l});if(VY(s)){if(Z(n))return _1({scaleName:a,fieldOrDatumDef:t,fieldOrDatumDef2:n,bandPosition:d,offset:l});X(GZ(e===Qq?eJ:tJ))}}return g1(t,a,p$(o)?{binSuffix:`range`}:{},{offset:l,band:o===`band`?d??t.bandPosition??.5:void 0})}if(s0(t)){let n=t.value,r=l?{offset:l}:{};return{...b1(e,n),...r}}}return o(u)&&(u=u()),u&&{...u,...l?{offset:l}:{}}}function b1(e,t){return lq([`x`,`x2`],e)&&t===`width`?{field:{group:`width`}}:lq([`y`,`y2`],e)&&t===`height`?{field:{group:`height`}}:oX(t)}function x1(e){return e&&e!==`number`&&e!==`time`}function S1(e,t,n){return`${e}(${t}${n?`, ${Jq(n)}`:``})`}function C1({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a}){if(x1(n))return T1({fieldOrDatumDef:e,format:t,formatType:n,expr:r,config:a});let o=w1(e,r,i),s=t0(e);if(t===void 0&&n===void 0&&a.customFormatTypes){if(s===`quantitative`){if(i&&a.normalizedNumberFormatType)return T1({fieldOrDatumDef:e,format:a.normalizedNumberFormat,formatType:a.normalizedNumberFormatType,expr:r,config:a});if(a.numberFormatType)return T1({fieldOrDatumDef:e,format:a.numberFormat,formatType:a.numberFormatType,expr:r,config:a})}if(s===`temporal`&&a.timeFormatType&&Z(e)&&e.timeUnit===void 0)return T1({fieldOrDatumDef:e,format:a.timeFormat,formatType:a.timeFormatType,expr:r,config:a})}function c(e){return Z(e)?EQ(e.timeUnit)||{}:{unit:void 0,utc:void 0}}if(F0(e)){let{unit:n,utc:r}=c(e),i=N1({field:o,timeUnit:n,format:t,formatType:a.timeFormatType,rawTimeFormat:a.timeFormat,isUTCScale:r||c0(e)&&e.scale?.type===n$.UTC});return i?{signal:i}:void 0}return t=O1({type:s,specifiedFormat:t,config:a,normalizeStack:i}),Z(e)&&BY(e.bin)?{signal:M1(o,$(e,{expr:r,binSuffix:`end`}),t,n,a)}:t||t0(e)===`quantitative`?{signal:`${A1(o,t)}`}:{signal:`isValid(${o}) ? ${o} : ""+${o}`}}function w1(e,t,n){return Z(e)?n?`${$(e,{expr:t,suffix:`end`})}-${$(e,{expr:t,suffix:`start`})}`:$(e,{expr:t}):h1(e)}function T1({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a,field:o}){if(o??=w1(e,r,i),o!==`datum.value`&&Z(e)&&BY(e.bin)){let i=$(e,{expr:r,binSuffix:`end`});return{signal:M1(o,i,t,n,a)}}return{signal:S1(n,o,t)}}function E1(e,t,n,r,i,a){if(!(_(r)&&x1(r))&&!(n===void 0&&r===void 0&&i.customFormatTypes&&t0(e)===`quantitative`&&(i.normalizedNumberFormatType&&l0(e)&&e.stack===`normalize`||i.numberFormatType))){if(l0(e)&&e.stack===`normalize`&&i.normalizedNumberFormat)return O1({type:`quantitative`,config:i,normalizeStack:!0});if(F0(e)){let t=Z(e)?EQ(e.timeUnit)?.unit:void 0;return t===void 0&&i.customFormatTypes&&i.timeFormatType?void 0:k1({specifiedFormat:n,timeUnit:t,config:i,omitTimeFormatConfig:a})}return O1({type:t,specifiedFormat:n,config:i})}}function D1(e,t,n){if(e&&(Y(e)||e===`number`||e===`time`))return e;if(F0(t)&&n!==`time`&&n!==`utc`)return Z(t)&&EQ(t?.timeUnit)?.utc?`utc`:`time`}function O1({type:e,specifiedFormat:t,config:n,normalizeStack:r}){if(_(t))return t;if(e===XQ)return r?n.normalizedNumberFormat:n.numberFormat}function k1({specifiedFormat:e,timeUnit:t,config:n,omitTimeFormatConfig:r}){return e||(t?{signal:wQ(t)}:r?void 0:n.timeFormat)}function A1(e,t){return`format(${e}, "${t||``}")`}function j1(e,t,n,r){return x1(n)?S1(n,e,t):A1(e,(_(t)?t:void 0)??r.numberFormat)}function M1(e,t,n,r,i){if(n===void 0&&r===void 0&&i.customFormatTypes&&i.numberFormatType)return M1(e,t,i.numberFormat,i.numberFormatType,i);let a=j1(e,n,r,i),o=j1(t,n,r,i);return`${GQ(e,!1)} ? "null" : ${a} + "${nX}" + ${o}`}function N1({field:e,timeUnit:t,format:n,formatType:r,rawTimeFormat:i,isUTCScale:a}){return!t||n?!t&&r?`${r}(${e}, ${Jq(n)})`:(n=_(n)?n:i,`${a?`utc`:`time`}Format(${e}, ${Jq(n)})`):TQ(t,e,a)}var P1=`min`,F1={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function I1(e){return p(F1,e)}function L1(e){return J(e,`encoding`)}function R1(e){return e&&(e.op===`count`||J(e,`field`))}function z1(e){return e&&h(e)}function B1(e){return J(e,`row`)||J(e,`column`)}function V1(e){return J(e,`header`)}function H1(e){return J(e,`facet`)}function U1(e){return J(e,`param`)}function W1(e){return!_(e)&&J(e,`repeat`)}function G1(e){let{field:t,timeUnit:n,bin:r,aggregate:i}=e;return{...n?{timeUnit:n}:{},...r?{bin:r}:{},...i?{aggregate:i}:{},field:t}}function K1(e){return J(e,`sort`)}function q1({fieldDef:e,fieldDef2:t,markDef:n,config:r}){if(Q(e)&&e.bandPosition!==void 0)return e.bandPosition;if(Z(e)){let{timeUnit:i,bin:a}=e;if(i&&!t)return pX(`timeUnitBandPosition`,n,r);if(BY(a))return .5}}function J1({channel:e,fieldDef:t,fieldDef2:n,markDef:r,config:i,scaleType:a,useVlSizeChannel:o}){let s=eY(e),c=fX(o?`size`:s,r,i,{vgChannel:s});if(c!==void 0)return c;if(Z(t)){let{timeUnit:e,bin:o}=t;if(e&&!n)return{band:pX(`timeUnitBandSize`,r,i)};if(BY(o)&&!p$(a))return{band:1}}if(G$(r.type))return a?p$(a)?i[r.type]?.discreteBandSize||{band:1}:i[r.type]?.continuousBandSize:i[r.type]?.discreteBandSize}function Y1(e,t,n,r){return BY(e.bin)||e.timeUnit&&o0(e)&&e.type===`temporal`?q1({fieldDef:e,fieldDef2:t,markDef:n,config:r})!==void 0:!1}function X1(e){return J(e,`sort`)&&!J(e,`field`)}function Z1(e){return J(e,`condition`)}function Q1(e){let t=e?.condition;return!!t&&!h(t)&&Z(t)}function $1(e){let t=e?.condition;return!!t&&!h(t)&&Q(t)}function e0(e){let t=e?.condition;return!!t&&(h(t)||s0(t))}function Z(e){return J(e,`field`)||e?.aggregate===`count`}function t0(e){return e?.type}function n0(e){return J(e,`datum`)}function r0(e){return o0(e)&&!m0(e)||a0(e)}function i0(e){return o0(e)&&e.type===`quantitative`&&!e.bin||a0(e)}function a0(e){return n0(e)&&v(e.datum)}function Q(e){return Z(e)||n0(e)}function o0(e){return e&&(J(e,`field`)||e.aggregate===`count`)&&J(e,`type`)}function s0(e){return J(e,`value`)}function c0(e){return J(e,`scale`)||J(e,`sort`)}function l0(e){return J(e,`axis`)||J(e,`stack`)||J(e,`impute`)}function u0(e){return J(e,`legend`)}function d0(e){return J(e,`format`)||J(e,`formatType`)}function f0(e){return sq(e,[`legend`,`axis`,`header`,`scale`])}function p0(e){return J(e,`op`)}function $(e,t={}){let n=e.field,r=t.prefix,i=t.suffix,a=``;if(g0(e))n=Hq(`count`);else{let r;if(!t.nofn){if(p0(e))r=e.op;else{let{bin:o,aggregate:s,timeUnit:c}=e;BY(o)?(r=zY(o),i=(t.binSuffix??``)+(t.suffix??``)):s?MY(s)?(a=`["${n}"]`,n=`argmax_${s.argmax}`):jY(s)?(a=`["${n}"]`,n=`argmin_${s.argmin}`):r=String(s):c&&!hQ(c)&&(r=DQ(c),i=(![`range`,`mid`].includes(t.binSuffix)&&t.binSuffix||``)+(t.suffix??``))}}r&&(n=n?`${r}_${n}`:r)}return i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs?Iq(n):t.expr?Aq(n,t.expr)+a:Pq(n)+a}function m0(e){switch(e.type){case`nominal`:case`ordinal`:case`geojson`:return!0;case`quantitative`:return Z(e)&&!!e.bin;case`temporal`:return!1}throw Error(tZ(e.type))}function h0(e){return c0(e)&&g$(e.scale?.type)}function g0(e){return e.aggregate===`count`}function _0(e,t){let{field:n,bin:r,timeUnit:i,aggregate:a}=e;if(a===`count`)return t.countTitle;if(BY(r))return`${n} (binned)`;if(i&&!hQ(i)){let e=EQ(i)?.unit;if(e)return`${n} (${bQ(e).join(`-`)})`}else if(a)return MY(a)?`${n} for max ${a.argmax}`:jY(a)?`${n} for min ${a.argmin}`:`${Oq(a)} of ${n}`;return n}function v0(e){let{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(MY(t))return`${i} for argmax(${t.argmax})`;if(jY(t))return`${i} for argmin(${t.argmin})`;let a=r&&!hQ(r)?EQ(r):void 0,o=t||a?.unit||a?.maxbins&&`timeunit`||BY(n)&&`bin`;return o?`${o.toUpperCase()}(${i})`:i}var y0=(e,t)=>{switch(t.fieldTitle){case`plain`:return e.field;case`functional`:return v0(e);default:return _0(e,t)}},b0=y0;function x0(e){b0=e}function S0(){x0(y0)}function C0(e,t,{allowDisabling:n,includeDefault:r=!0}){let i=w0(e)?.title;if(!Z(e))return i??e.title;let a=e,o=r?T0(a,t):void 0;return n?Rq(i,a.title,o):i??a.title??o}function w0(e){if(l0(e)&&e.axis)return e.axis;if(u0(e)&&e.legend)return e.legend;if(V1(e)&&e.header)return e.header}function T0(e,t){return b0(e,t)}function E0(e){if(d0(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}{let{format:t,formatType:n}=w0(e)??{};return{format:t,formatType:n}}}function D0(e,t){switch(t){case`latitude`:case`longitude`:return`quantitative`;case`row`:case`column`:case`facet`:case`shape`:case`strokeDash`:return`nominal`;case`order`:return`ordinal`}if(K1(e)&&h(e.sort))return`ordinal`;let{aggregate:n,bin:r,timeUnit:i}=e;if(i)return`temporal`;if(r||n&&!MY(n)&&!jY(n))return`quantitative`;if(c0(e)&&e.scale?.type)switch(r$[e.scale.type]){case`numeric`:case`discretizing`:return`quantitative`;case`time`:return`temporal`}return`nominal`}function O0(e){if(Z(e))return e;if(Q1(e))return e.condition}function k0(e){if(Q(e))return e;if($1(e))return e.condition}function A0(e,t,n,r={}){return wq(e)?(X(eZ(t,_(e)?`string`:v(e)?`number`:`boolean`,e)),{value:e}):Q(e)?j0(e,t,n,r):$1(e)?{...e,condition:j0(e.condition,t,n,r)}:e}function j0(e,t,n,r){if(d0(e)){let{format:i,formatType:a,...o}=e;if(x1(a)&&!n.customFormatTypes)return X(XX(t)),j0(o,t,n,r)}else{let i=l0(e)?`axis`:u0(e)?`legend`:V1(e)?`header`:null;if(i&&e[i]){let{format:a,formatType:o,...s}=e[i];if(x1(o)&&!n.customFormatTypes)return X(XX(t)),j0({...e,[i]:s},t,n,r)}}return Z(e)?M0(e,t,r):ole(e)}function ole(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=v(n)?`quantitative`:_(n)?`nominal`:eQ(n)?`temporal`:void 0,{...e,type:t}}function M0(e,t,{compositeMark:n=!1}={}){let{aggregate:r,timeUnit:i,bin:a,field:o}=e,s={...e};if(!n&&r&&!NY(r)&&!MY(r)&&!jY(r)&&(X(rZ(r)),delete s.aggregate),i&&(s.timeUnit=EQ(i)),o&&(s.field=`${o}`),BY(a)&&(s.bin=N0(a,t)),VY(a)&&!lY(t)&&X(KZ(t)),o0(s)){let{type:e}=s,t=t$(e);e!==t&&(s.type=t),e!==`quantitative`&&FY(r)&&(X(nZ(e,r)),s.type=`quantitative`)}else XJ(t)||(s.type=D0(s,t));if(o0(s)){let{compatible:e,warning:n}=sle(s,t)||{};e===!1&&X(n)}if(K1(s)&&_(s.sort)){let{sort:e}=s;if(I1(e))return{...s,sort:{encoding:e}};let t=e.substring(1);if(e.charAt(0)===`-`&&I1(t))return{...s,sort:{encoding:t,order:`descending`}}}if(V1(s)){let{header:e}=s;if(e){let{orient:t,...n}=e;if(t)return{...s,header:{...n,labelOrient:e.labelOrient||t,titleOrient:e.titleOrient||t}}}}return s}function N0(e,t){return ar(e)?{maxbins:WY(t)}:e===`binned`?{binned:!0}:!e.maxbins&&!e.step?{...e,maxbins:WY(t)}:e}var P0={compatible:!0};function sle(e,t){let n=e.type;if(n===`geojson`&&t!==`shape`)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case Yq:case Xq:case Zq:return m0(e)?P0:{compatible:!1,warning:uZ(t)};case Qq:case $q:case nJ:case rJ:case pJ:case mJ:case hJ:case wJ:case EJ:case DJ:case OJ:case kJ:case AJ:case vJ:case oJ:case iJ:case jJ:return P0;case lJ:case dJ:case cJ:case uJ:return n===XQ?P0:{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`};case yJ:case bJ:case xJ:case SJ:case _J:case sJ:case aJ:case eJ:case tJ:case fJ:return n===`nominal`&&!e.sort?{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`}:P0;case gJ:case CJ:return!m0(e)&&!h0(e)?{compatible:!1,warning:dZ(t)}:P0;case TJ:return e.type===`nominal`&&!(`sort`in e)?{compatible:!1,warning:`Channel order is inappropriate for nominal field, which has no inherent order.`}:P0}}function F0(e){let{formatType:t}=E0(e);return t===`time`||!t&&cle(e)}function cle(e){return e&&(e.type===`temporal`||Z(e)&&!!e.timeUnit)}function I0(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){let a=t&&EQ(t)?.unit,o=a||n===`temporal`,s;return GY(e)?s=e.expr:Y(e)?s=e.signal:eQ(e)?(o=!0,s=lQ(e)):(_(e)||v(e))&&o&&(s=`datetime(${Jq(e)})`,mQ(a)&&(v(e)&&e<1e4||_(e)&&isNaN(Date.parse(e)))&&(s=lQ({[a]:e}))),s?r&&o?`time(${s})`:s:i?void 0:Jq(e)}function L0(e,t){let{type:n}=e;return t.map(t=>{let r=I0(t,{timeUnit:Z(e)&&!hQ(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return r===void 0?t:{signal:r}})}function R0(e,t){return BY(e.bin)?CY(t)&&[`ordinal`,`nominal`].includes(e.type):(console.warn(`Only call this method for binned field defs.`),!1)}var z0={labelAlign:{part:`labels`,vgProp:`align`},labelBaseline:{part:`labels`,vgProp:`baseline`},labelColor:{part:`labels`,vgProp:`fill`},labelFont:{part:`labels`,vgProp:`font`},labelFontSize:{part:`labels`,vgProp:`fontSize`},labelFontStyle:{part:`labels`,vgProp:`fontStyle`},labelFontWeight:{part:`labels`,vgProp:`fontWeight`},labelOpacity:{part:`labels`,vgProp:`opacity`},labelOffset:null,labelPadding:null,gridColor:{part:`grid`,vgProp:`stroke`},gridDash:{part:`grid`,vgProp:`strokeDash`},gridDashOffset:{part:`grid`,vgProp:`strokeDashOffset`},gridOpacity:{part:`grid`,vgProp:`opacity`},gridWidth:{part:`grid`,vgProp:`strokeWidth`},tickColor:{part:`ticks`,vgProp:`stroke`},tickDash:{part:`ticks`,vgProp:`strokeDash`},tickDashOffset:{part:`ticks`,vgProp:`strokeDashOffset`},tickOpacity:{part:`ticks`,vgProp:`opacity`},tickSize:null,tickWidth:{part:`ticks`,vgProp:`strokeWidth`}};function B0(e){return e?.condition}var V0=[`domain`,`grid`,`labels`,`ticks`,`title`],lle={grid:`grid`,gridCap:`grid`,gridColor:`grid`,gridDash:`grid`,gridDashOffset:`grid`,gridOpacity:`grid`,gridScale:`grid`,gridWidth:`grid`,orient:`main`,bandPosition:`both`,aria:`main`,description:`main`,domain:`main`,domainCap:`main`,domainColor:`main`,domainDash:`main`,domainDashOffset:`main`,domainOpacity:`main`,domainWidth:`main`,format:`main`,formatType:`main`,labelAlign:`main`,labelAngle:`main`,labelBaseline:`main`,labelBound:`main`,labelColor:`main`,labelFlush:`main`,labelFlushOffset:`main`,labelFont:`main`,labelFontSize:`main`,labelFontStyle:`main`,labelFontWeight:`main`,labelLimit:`main`,labelLineHeight:`main`,labelOffset:`main`,labelOpacity:`main`,labelOverlap:`main`,labelPadding:`main`,labels:`main`,labelSeparation:`main`,maxExtent:`main`,minExtent:`main`,offset:`both`,position:`main`,tickCap:`main`,tickColor:`main`,tickDash:`main`,tickDashOffset:`main`,tickMinStep:`both`,tickOffset:`both`,tickOpacity:`main`,tickRound:`both`,ticks:`main`,tickSize:`main`,tickWidth:`both`,title:`main`,titleAlign:`main`,titleAnchor:`main`,titleAngle:`main`,titleBaseline:`main`,titleColor:`main`,titleFont:`main`,titleFontSize:`main`,titleFontStyle:`main`,titleFontWeight:`main`,titleLimit:`main`,titleLineHeight:`main`,titleOpacity:`main`,titlePadding:`main`,titleX:`main`,titleY:`main`,encode:`both`,scale:`both`,tickBand:`both`,tickCount:`both`,tickExtra:`both`,translate:`both`,values:`both`,zindex:`both`},H0={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},ule={...H0,style:1,labelExpr:1,encoding:1};function U0(e){return p(ule,e)}var W0=q({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function G0(e){return J(e,`mark`)}var K0=class{name;run;constructor(e,t){this.name=e,this.run=t}hasMatchingType(e){return G0(e)?s1(e.mark)===this.name:!1}};function q0(e,t){let n=e?.[t];return n?h(n)?uq(n,e=>!!e.field):Z(n)||Q1(n):!1}function J0(e,t){let n=e?.[t];return n?h(n)?uq(n,e=>!!e.field):Z(n)||n0(n)||$1(n):!1}function Y0(e,t){if(lY(t)){let n=e[t];if((Z(n)||n0(n))&&(YQ(n.type)||Z(n)&&n.timeUnit))return J0(e,nY(t))}return!1}function X0(e){return uq(WJ,t=>{if(q0(e,t)){let n=e[t];if(h(n))return uq(n,e=>!!e.aggregate);{let e=O0(n);return e&&!!e.aggregate}}return!1})}function Z0(e,t){let n=[],r=[],i=[],a=[],o={};return $0(e,(s,c)=>{if(Z(s)){let{field:l,aggregate:u,bin:d,timeUnit:f,...p}=s;if(u||f||d){let e=w0(s)?.title,m=$(s,{forAs:!0}),h={...e?[]:{title:C0(s,t,{allowDisabling:!0})},...p,field:m};if(u){let e;if(MY(u)?(e=`argmax`,m=$({op:`argmax`,field:u.argmax},{forAs:!0}),h.field=`${m}.${l}`):jY(u)?(e=`argmin`,m=$({op:`argmin`,field:u.argmin},{forAs:!0}),h.field=`${m}.${l}`):u!==`boxplot`&&u!==`errorbar`&&u!==`errorband`&&(e=u),e){let t={op:e,as:m};l&&(t.field=l),a.push(t)}}else if(n.push(m),o0(s)&&BY(d)){if(r.push({bin:d,field:l,as:m}),n.push($(s,{binSuffix:`end`})),R0(s,c)&&n.push($(s,{binSuffix:`range`})),lY(c)){let e={field:`${m}_end`};o[`${c}2`]=e}h.bin=`binned`,XJ(c)||(h.type=XQ)}else if(f&&!hQ(f)){i.push({timeUnit:f,field:l,as:m});let e=o0(s)&&s.type!==QQ&&`time`;e&&(c===wJ||c===OJ?h.formatType=e:yY(c)?h.legend={formatType:e,...h.legend}:lY(c)&&(h.axis={formatType:e,...h.axis}))}o[c]=h}else n.push(l),o[c]=e[c]}else o[c]=e[c]}),{bins:r,timeUnits:i,aggregate:a,groupby:n,encoding:o}}function dle(e,t,n){let r=wY(t,n);if(!r)return!1;if(r===`binned`){let n=e[t===eJ?Qq:$q];return!!(Z(n)&&Z(e[t])&&VY(n.bin))}return!0}function fle(e,t,n,r){let i={};for(let t of q(e))JJ(t)||X(lZ(t));for(let a of iY){if(!e[a])continue;let o=e[a];if(mY(a)){let e=rY(a),t=i[e];if(Z(t)&&JQ(t.type)&&Z(o)&&!t.timeUnit){X($X(e));continue}}if(a===`angle`&&t===`arc`&&!e.theta&&(X(QX),a=oJ),!dle(e,a,t)){X(cZ(a,t));continue}if(a===_J&&t===`line`&&O0(e[a])?.aggregate){X(sZ);continue}if(a===pJ&&(n?`fill`in e:`stroke`in e)){X(iZ(`encoding`,{fill:`fill`in e,stroke:`stroke`in e}));continue}if(a===EJ||a===TJ&&!h(o)&&!s0(o)||a===OJ&&h(o)){if(o){if(a===TJ){let t=e[a];if(X1(t)){i[a]=t;continue}}i[a]=E(o).reduce((e,t)=>(Z(t)?e.push(M0(t,a)):X(oZ(t,a)),e),[])}}else{if(a===OJ&&o===null)i[a]=null;else if(!Z(o)&&!n0(o)&&!s0(o)&&!Z1(o)&&!Y(o)){X(oZ(o,a));continue}i[a]=A0(o,a,r)}}return i}function Q0(e,t){let n={};for(let r of q(e))n[r]=A0(e[r],r,t,{compositeMark:!0});return n}function ple(e){let t=[];for(let n of q(e))if(q0(e,n)){let r=e[n],i=E(r);for(let e of i)Z(e)?t.push(e):Q1(e)&&t.push(e.condition)}return t}function $0(e,t,n){if(e)for(let r of q(e)){let i=e[r];if(h(i))for(let e of i)t.call(n,e,r);else t.call(n,i,r)}}function mle(e,t,n,r){return e?q(e).reduce((n,i)=>{let a=e[i];return h(a)?a.reduce((e,n)=>t.call(r,e,n,i),n):t.call(r,n,a,i)},n):n}function e2(e,t){return q(t).reduce((n,r)=>{switch(r){case Qq:case $q:case kJ:case jJ:case AJ:case eJ:case tJ:return n;case nJ:case rJ:if(e===`line`||e===`area`||e===`trail`){let e=t[r];if(Z(e)){let i=t[r===nJ?Qq:$q];if(Z(i)&&!i.aggregate&&!e.aggregate){let t=$(i,{}),r=$(e,{});t&&r&&t!==r&&n.push(t)}}}return n;case oJ:case sJ:case iJ:case aJ:case fJ:case cJ:case lJ:case uJ:case dJ:case wJ:case gJ:case vJ:case OJ:return n;case TJ:if(e===`line`||e===`trail`)return n;case EJ:case DJ:{let e=t[r];if(h(e)||Z(e))for(let t of E(e))t.aggregate||n.push($(t,{}));return n}case _J:if(e===`trail`)return n;case pJ:case mJ:case hJ:case yJ:case bJ:case xJ:case CJ:case SJ:{let e=O0(t[r]);return e&&!e.aggregate&&n.push($(e,{})),n}}},[])}function hle(e){let{tooltip:t,...n}=e;if(!t)return{filteredEncoding:n};let r,i;if(h(t)){for(let e of t)e.aggregate?(r||=[],r.push(e)):(i||=[],i.push(e));r&&(n.tooltip=r)}else t.aggregate?n.tooltip=t:i=t;return h(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function t2(e,t,n,r=!0){if(`tooltip`in n)return{tooltip:n.tooltip};let i=e.map(({fieldPrefix:e,titlePrefix:n})=>{let i=r?` of ${n2(t)}`:``;return{field:e+t.field,type:t.type,title:Y(n)?{signal:`${n}"${escape(i)}"`}:n+i}}),a=ple(n).map(f0);return{tooltip:[...i,...mq(a,K)]}}function n2(e){let{title:t,field:n}=e;return Rq(t,n)}function r2(e,t,n,r,i){let{scale:a,axis:o}=n;return({partName:s,mark:c,positionPrefix:l,endPositionPrefix:u=void 0,extraEncoding:d={}})=>{let f=n2(n);return i2(e,s,i,{mark:c,encoding:{[t]:{field:`${l}_${n.field}`,type:n.type,...f===void 0?{}:{title:f},...a===void 0?{}:{scale:a},...o===void 0?{}:{axis:o}},..._(u)?{[`${t}2`]:{field:`${u}_${n.field}`}}:{},...r,...d}})}}function i2(e,t,n,r){let{clip:i,color:a,opacity:o}=e,s=e.type;return e[t]||e[t]===void 0&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...a?{color:a}:{},...o?{opacity:o}:{},...q$(r.mark)?r.mark:{type:r.mark},style:`${s}-${String(t)}`,...ar(e[t])?{}:e[t]}}]:[]}function a2(e,t,n){let{encoding:r}=e,i=t===`vertical`?`y`:`x`,a=r[i],o=r[`${i}2`],s=r[`${i}Error`],c=r[`${i}Error2`];return{continuousAxisChannelDef:o2(a,n),continuousAxisChannelDef2:o2(o,n),continuousAxisChannelDefError:o2(s,n),continuousAxisChannelDefError2:o2(c,n),continuousAxis:i}}function o2(e,t){if(e?.aggregate){let{aggregate:n,...r}=e;return n!==t&&X(UZ(n,t)),r}return e}function s2(e,t){let{mark:n,encoding:r}=e,{x:i,y:a}=r;if(q$(n)&&n.orient)return n.orient;if(r0(i)){if(r0(a)){let e=Z(i)&&i.aggregate,n=Z(a)&&a.aggregate;if(!e&&n===t)return`vertical`;if(!n&&e===t)return`horizontal`;if(e===t&&n===t)throw Error(`Both x and y cannot have aggregate`);return F0(a)&&!F0(i)?`horizontal`:`vertical`}return`horizontal`}if(r0(a))return`vertical`;throw Error(`Need a valid continuous axis for ${t}s`)}var c2=`boxplot`,gle=[`box`,`median`,`outliers`,`rule`,`ticks`],_le=new K0(c2,u2);function l2(e){return v(e)?`tukey`:e}function u2(e,{config:t}){e={...e,encoding:Q0(e.encoding,t)};let{mark:n,encoding:r,params:i,projection:a,...o}=e,s=q$(n)?n:{type:n};i&&X(kX(`boxplot`));let c=s.extent??t.boxplot.extent,l=fX(`size`,s,t),u=s.invalid,f=l2(c),{bins:p,timeUnits:m,transform:h,continuousAxisChannelDef:g,continuousAxis:_,groupby:v,aggregate:y,encodingWithoutContinuousAxis:b,ticksOrient:x,boxOrient:S,customTooltipWithoutAggregatedField:C}=vle(e,c,t),w=Iq(g.field),{color:T,size:E,...D}=b,O=e=>r2(s,_,g,e,t.boxplot),k=O(D),A=O(b),ee=(d(t.boxplot.box)?t.boxplot.box.color:t.mark.color)||`#4c78a8`,te=O({...D,...E?{size:E}:{},color:{condition:{test:`${jq(`lower_box_${g.field}`)} >= ${jq(`upper_box_${g.field}`)}`,...T||{value:ee}}}}),ne=t2([{fieldPrefix:f===`min-max`?`upper_whisker_`:`max_`,titlePrefix:`Max`},{fieldPrefix:`upper_box_`,titlePrefix:`Q3`},{fieldPrefix:`mid_box_`,titlePrefix:`Median`},{fieldPrefix:`lower_box_`,titlePrefix:`Q1`},{fieldPrefix:f===`min-max`?`lower_whisker_`:`min_`,titlePrefix:`Min`}],g,b),re={type:`tick`,color:`black`,opacity:1,orient:x,invalid:u,aria:!1},ie=f===`min-max`?ne:t2([{fieldPrefix:`upper_whisker_`,titlePrefix:`Upper Whisker`},{fieldPrefix:`lower_whisker_`,titlePrefix:`Lower Whisker`}],g,b),ae=[...k({partName:`rule`,mark:{type:`rule`,invalid:u,aria:!1},positionPrefix:`lower_whisker`,endPositionPrefix:`lower_box`,extraEncoding:ie}),...k({partName:`rule`,mark:{type:`rule`,invalid:u,aria:!1},positionPrefix:`upper_box`,endPositionPrefix:`upper_whisker`,extraEncoding:ie}),...k({partName:`ticks`,mark:re,positionPrefix:`lower_whisker`,extraEncoding:ie}),...k({partName:`ticks`,mark:re,positionPrefix:`upper_whisker`,extraEncoding:ie})],oe=[...f===`tukey`?[]:ae,...A({partName:`box`,mark:{type:`bar`,...l?{size:l}:{},orient:S,invalid:u,ariaRoleDescription:`box`},positionPrefix:`lower_box`,endPositionPrefix:`upper_box`,extraEncoding:ne}),...te({partName:`median`,mark:{type:`tick`,invalid:u,...d(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...l?{size:l}:{},orient:x,aria:!1},positionPrefix:`mid_box`,extraEncoding:ne})];if(f===`min-max`)return{...o,transform:(o.transform??[]).concat(h),layer:oe};let se=jq(`lower_box_${g.field}`),ce=jq(`upper_box_${g.field}`),le=`(${ce} - ${se})`,ue=`${se} - ${c} * ${le}`,de=`${ce} + ${c} * ${le}`,fe=jq(g.field),pe={joinaggregate:d2(g.field),groupby:v},me={transform:[{filter:`(${ue} <= ${fe}) && (${fe} <= ${de})`},{aggregate:[{op:`min`,field:g.field,as:`lower_whisker_${w}`},{op:`max`,field:g.field,as:`upper_whisker_${w}`},{op:`min`,field:`lower_box_${g.field}`,as:`lower_box_${w}`},{op:`max`,field:`upper_box_${g.field}`,as:`upper_box_${w}`},...y],groupby:v}],layer:ae},{tooltip:he,...ge}=D,{scale:j,axis:_e}=g,ve=n2(g),ye=i2(s,`outliers`,t.boxplot,{transform:[{filter:`(${fe} < ${ue}) || (${fe} > ${de})`}],mark:`point`,encoding:{[_]:{field:g.field,type:g.type,...ve===void 0?{}:{title:ve},...j===void 0?{}:{scale:j},..._e===void 0?{}:{axis:_e}},...ge,...T?{color:T}:{},...C?{tooltip:C}:{}}})[0],be,xe=[...p,...m,pe];return ye?be={transform:xe,layer:[ye,me]}:(be=me,be.transform.unshift(...xe)),{...o,layer:[be,{transform:h,layer:oe}]}}function d2(e){let t=Iq(e);return[{op:`q1`,field:e,as:`lower_box_${t}`},{op:`q3`,field:e,as:`upper_box_${t}`}]}function vle(e,t,n){let r=s2(e,c2),{continuousAxisChannelDef:i,continuousAxis:a}=a2(e,r,c2),o=i.field,s=Iq(o),c=l2(t),l=[...d2(o),{op:`median`,field:o,as:`mid_box_${s}`},{op:`min`,field:o,as:(c===`min-max`?`lower_whisker_`:`min_`)+s},{op:`max`,field:o,as:(c===`min-max`?`upper_whisker_`:`max_`)+s}],u=c===`min-max`||c===`tukey`?[]:[{calculate:`${jq(`upper_box_${s}`)} - ${jq(`lower_box_${s}`)}`,as:`iqr_${s}`},{calculate:`min(${jq(`upper_box_${s}`)} + ${jq(`iqr_${s}`)} * ${t}, ${jq(`max_${s}`)})`,as:`upper_whisker_${s}`},{calculate:`max(${jq(`lower_box_${s}`)} - ${jq(`iqr_${s}`)} * ${t}, ${jq(`min_${s}`)})`,as:`lower_whisker_${s}`}],{[a]:d,...f}=e.encoding,{customTooltipWithoutAggregatedField:p,filteredEncoding:m}=hle(f),{bins:h,timeUnits:g,aggregate:_,groupby:v,encoding:y}=Z0(m,n),b=r===`vertical`?`horizontal`:`vertical`,x=r;return{bins:h,timeUnits:g,transform:[...h,...g,{aggregate:[..._,...l],groupby:v},...u],groupby:v,aggregate:_,continuousAxisChannelDef:i,continuousAxis:a,encodingWithoutContinuousAxis:y,ticksOrient:b,boxOrient:x,customTooltipWithoutAggregatedField:p}}var f2=`errorbar`,yle=[`ticks`,`rule`],ble=new K0(f2,p2);function p2(e,{config:t}){e={...e,encoding:Q0(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,ticksOrient:o,markDef:s,outerSpec:c,tooltipEncoding:l}=m2(e,f2,t);delete a.size;let u=r2(s,i,r,a,t.errorbar),d=s.thickness,f=s.size,p={type:`tick`,orient:o,aria:!1,...d===void 0?{}:{thickness:d},...f===void 0?{}:{size:f}},m=[...u({partName:`ticks`,mark:p,positionPrefix:`lower`,extraEncoding:l}),...u({partName:`ticks`,mark:p,positionPrefix:`upper`,extraEncoding:l}),...u({partName:`rule`,mark:{type:`rule`,ariaRoleDescription:`errorbar`,...d===void 0?{}:{size:d}},positionPrefix:`lower`,endPositionPrefix:`upper`,extraEncoding:l})];return{...c,transform:n,...m.length>1?{layer:m}:{...m[0]}}}function xle(e,t){let{encoding:n}=e;if(Sle(n))return{orient:s2(e,t),inputType:`raw`};let r=Cle(n),i=wle(n),a=n.x,o=n.y;if(r){if(i)throw Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let e=n.x2,r=n.y2;if(Q(e)&&Q(r))throw Error(`${t} cannot have both x2 and y2`);if(Q(e)){if(r0(a))return{orient:`horizontal`,inputType:`aggregated-upper-lower`};throw Error(`Both x and x2 have to be quantitative in ${t}`)}if(Q(r)){if(r0(o))return{orient:`vertical`,inputType:`aggregated-upper-lower`};throw Error(`Both y and y2 have to be quantitative in ${t}`)}throw Error(`No ranged axis`)}{let e=n.xError,r=n.xError2,i=n.yError,s=n.yError2;if(Q(r)&&!Q(e))throw Error(`${t} cannot have xError2 without xError`);if(Q(s)&&!Q(i))throw Error(`${t} cannot have yError2 without yError`);if(Q(e)&&Q(i))throw Error(`${t} cannot have both xError and yError with both are quantiative`);if(Q(e)){if(r0(a))return{orient:`horizontal`,inputType:`aggregated-error`};throw Error(`All x, xError, and xError2 (if exist) have to be quantitative`)}if(Q(i)){if(r0(o))return{orient:`vertical`,inputType:`aggregated-error`};throw Error(`All y, yError, and yError2 (if exist) have to be quantitative`)}throw Error(`No ranged axis`)}}function Sle(e){return(Q(e.x)||Q(e.y))&&!Q(e.x2)&&!Q(e.y2)&&!Q(e.xError)&&!Q(e.xError2)&&!Q(e.yError)&&!Q(e.yError2)}function Cle(e){return Q(e.x2)||Q(e.y2)}function wle(e){return Q(e.xError)||Q(e.xError2)||Q(e.yError)||Q(e.yError2)}function m2(e,t,n){let{mark:r,encoding:i,params:a,projection:o,...s}=e,c=q$(r)?r:{type:r};a&&X(kX(t));let{orient:l,inputType:u}=xle(e,t),{continuousAxisChannelDef:d,continuousAxisChannelDef2:f,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:h}=a2(e,l,t),{errorBarSpecificAggregate:g,postAggregateCalculates:_,tooltipSummary:v,tooltipTitleWithFieldName:y}=Tle(c,d,f,p,m,u,t,n),{[h]:b,[h===`x`?`x2`:`y2`]:x,[h===`x`?`xError`:`yError`]:S,[h===`x`?`xError2`:`yError2`]:C,...w}=i,{bins:T,timeUnits:E,aggregate:D,groupby:O,encoding:k}=Z0(w,n),A=[...D,...g],ee=u===`raw`?O:[],te=t2(v,d,k,y);return{transform:[...s.transform??[],...T,...E,...A.length===0?[]:[{aggregate:A,groupby:ee}],..._],groupby:ee,continuousAxisChannelDef:d,continuousAxis:h,encodingWithoutContinuousAxis:k,ticksOrient:l===`vertical`?`horizontal`:`vertical`,markDef:c,outerSpec:s,tooltipEncoding:te}}function Tle(e,t,n,r,i,a,o,s){let c=[],l=[],u=t.field,d,f=!1;if(a===`raw`){let t=e.center?e.center:e.extent?e.extent===`iqr`?`median`:`mean`:s.errorbar.center,n=e.extent?e.extent:t===`mean`?`stderr`:`iqr`;if(t===`median`!=(n===`iqr`)&&X(HZ(t,n,o)),n===`stderr`||n===`stdev`)c=[{op:n,field:u,as:`extent_${u}`},{op:t,field:u,as:`center_${u}`}],l=[{calculate:`${jq(`center_${u}`)} + ${jq(`extent_${u}`)}`,as:`upper_${u}`},{calculate:`${jq(`center_${u}`)} - ${jq(`extent_${u}`)}`,as:`lower_${u}`}],d=[{fieldPrefix:`center_`,titlePrefix:Oq(t)},{fieldPrefix:`upper_`,titlePrefix:h2(t,n,`+`)},{fieldPrefix:`lower_`,titlePrefix:h2(t,n,`-`)}],f=!0;else{let e,t,r;n===`ci`?(e=`mean`,t=`ci0`,r=`ci1`):(e=`median`,t=`q1`,r=`q3`),c=[{op:t,field:u,as:`lower_${u}`},{op:r,field:u,as:`upper_${u}`},{op:e,field:u,as:`center_${u}`}],d=[{fieldPrefix:`upper_`,titlePrefix:C0({field:u,aggregate:r,type:`quantitative`},s,{allowDisabling:!1})},{fieldPrefix:`lower_`,titlePrefix:C0({field:u,aggregate:t,type:`quantitative`},s,{allowDisabling:!1})},{fieldPrefix:`center_`,titlePrefix:C0({field:u,aggregate:e,type:`quantitative`},s,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&X(VZ(e.center,e.extent)),a===`aggregated-upper-lower`?(d=[],l=[{calculate:jq(n.field),as:`upper_${u}`},{calculate:jq(u),as:`lower_${u}`}]):a===`aggregated-error`&&(d=[{fieldPrefix:``,titlePrefix:u}],l=[{calculate:`${jq(u)} + ${jq(r.field)}`,as:`upper_${u}`}],i?l.push({calculate:`${jq(u)} + ${jq(i.field)}`,as:`lower_${u}`}):l.push({calculate:`${jq(u)} - ${jq(r.field)}`,as:`lower_${u}`}));for(let e of l)d.push({fieldPrefix:e.as.substring(0,6),titlePrefix:Fq(Fq(e.calculate,`datum['`,``),`']`,``)})}return{postAggregateCalculates:l,errorBarSpecificAggregate:c,tooltipSummary:d,tooltipTitleWithFieldName:f}}function h2(e,t,n){return`${Oq(e)} ${n} ${t}`}var g2=`errorband`,Ele=[`band`,`borders`],Dle=new K0(g2,_2);function _2(e,{config:t}){e={...e,encoding:Q0(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,markDef:o,outerSpec:s,tooltipEncoding:c}=m2(e,g2,t),l=o,u=r2(l,i,r,a,t.errorband),d=e.encoding.x!==void 0&&e.encoding.y!==void 0,f={type:d?`area`:`rect`},p={type:d?`line`:`rule`},m={...l.interpolate?{interpolate:l.interpolate}:{},...l.tension&&l.interpolate?{tension:l.tension}:{}};return d?(f={...f,...m,ariaRoleDescription:`errorband`},p={...p,...m,aria:!1}):l.interpolate?X(WZ(`interpolate`)):l.tension&&X(WZ(`tension`)),{...s,transform:n,layer:[...u({partName:`band`,mark:f,positionPrefix:`lower`,endPositionPrefix:`upper`,extraEncoding:c}),...u({partName:`borders`,mark:p,positionPrefix:`lower`,extraEncoding:c}),...u({partName:`borders`,mark:p,positionPrefix:`upper`,extraEncoding:c})]}}var v2={};function y2(e,t,n){v2[e]={normalizer:new K0(e,t),parts:n}}function Ole(){return q(v2)}y2(c2,u2,gle),y2(f2,p2,yle),y2(g2,_2,Ele);var kle=[`gradientHorizontalMaxLength`,`gradientHorizontalMinLength`,`gradientVerticalMaxLength`,`gradientVerticalMinLength`,`unselectedOpacity`],b2={titleAlign:`align`,titleAnchor:`anchor`,titleAngle:`angle`,titleBaseline:`baseline`,titleColor:`color`,titleFont:`font`,titleFontSize:`fontSize`,titleFontStyle:`fontStyle`,titleFontWeight:`fontWeight`,titleLimit:`limit`,titleLineHeight:`lineHeight`,titleOrient:`orient`,titlePadding:`offset`},x2={labelAlign:`align`,labelAnchor:`anchor`,labelAngle:`angle`,labelBaseline:`baseline`,labelColor:`color`,labelFont:`font`,labelFontSize:`fontSize`,labelFontStyle:`fontStyle`,labelFontWeight:`fontWeight`,labelLimit:`limit`,labelLineHeight:`lineHeight`,labelOrient:`orient`,labelPadding:`offset`},Ale=q(b2),jle=q(x2),S2=q({header:1,headerRow:1,headerColumn:1,headerFacet:1}),C2=[`size`,`shape`,`fill`,`stroke`,`strokeDash`,`strokeWidth`,`opacity`],Mle={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},Nle={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},w2=`_vgsid_`,Ple={point:{on:`click`,fields:[w2],toggle:`event.shiftKey`,resolve:`global`,clear:`dblclick`},interval:{on:`[pointerdown, window:pointerup] > window:pointermove!`,encodings:[`x`,`y`],translate:`[pointerdown, window:pointerup] > window:pointermove!`,zoom:`wheel!`,mark:{fill:`#333`,fillOpacity:.125,stroke:`white`},resolve:`global`,clear:`dblclick`}};function T2(e){return e===`legend`||!!e?.legend}function E2(e){return T2(e)&&d(e)}function D2(e){return!!e?.select}function O2(e){let t=[];for(let n of e||[]){if(D2(n))continue;let{expr:e,bind:r,...i}=n;if(r&&e){let n={...i,bind:r,init:e};t.push(n)}else{let n={...i,...e?{update:e}:{},...r?{bind:r}:{}};t.push(n)}}return t}function Fle(e){return A2(e)||j2(e)||k2(e)}function k2(e){return J(e,`concat`)}function A2(e){return J(e,`vconcat`)}function j2(e){return J(e,`hconcat`)}function M2({step:e,offsetIsDiscrete:t}){return t?e.for??`offset`:`position`}function N2(e){return J(e,`step`)}function P2(e){return J(e,`view`)||J(e,`width`)||J(e,`height`)}var F2=20,Ile=q({align:1,bounds:1,center:1,columns:1,spacing:1});function Lle(e,t,n){let r=n[t],i={},{spacing:a,columns:o}=r;a!==void 0&&(i.spacing=a),o!==void 0&&(H1(e)&&!B1(e.facet)||k2(e))&&(i.columns=o),A2(e)&&(i.columns=1);for(let t of Ile)if(e[t]!==void 0){if(t===`spacing`){let n=e[t];i[t]=v(n)?n:{row:n.row??a,column:n.column??a}}else i[t]=e[t]}return i}function I2(e,t){return e[t]??e[t===`width`?`continuousWidth`:`continuousHeight`]}function L2(e,t){let n=R2(e,t);return N2(n)?n.step:z2}function R2(e,t){return Rq(e[t]??e[t===`width`?`discreteWidth`:`discreteHeight`],{step:e.step})}var z2=20,Rle={background:`white`,padding:5,timeFormat:`%b %d, %Y`,countTitle:`Count of Records`,view:{continuousWidth:300,continuousHeight:300,step:z2},mark:e1,arc:{},area:{},bar:a1,circle:{},geoshape:{},image:{},line:{},point:{},rect:i1,rule:{color:`black`},square:{},text:{color:`black`},tick:o1,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:`white`},outliers:{},rule:{},ticks:null},errorbar:{center:`mean`,rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:_$,projection:{},legend:Mle,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:Ple,style:{},title:{},facet:{spacing:F2},concat:{spacing:F2},normalizedNumberFormat:`.0%`},B2=[`#4c78a8`,`#f58518`,`#e45756`,`#72b7b2`,`#54a24b`,`#eeca3b`,`#b279a2`,`#ff9da6`,`#9d755d`,`#bab0ac`],V2={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},H2={blue:B2[0],orange:B2[1],red:B2[2],teal:B2[3],green:B2[4],yellow:B2[5],purple:B2[6],pink:B2[7],brown:B2[8],gray0:`#000`,gray1:`#111`,gray2:`#222`,gray3:`#333`,gray4:`#444`,gray5:`#555`,gray6:`#666`,gray7:`#777`,gray8:`#888`,gray9:`#999`,gray10:`#aaa`,gray11:`#bbb`,gray12:`#ccc`,gray13:`#ddd`,gray14:`#eee`,gray15:`#fff`};function zle(e={}){return{signals:[{name:`color`,value:d(e)?{...H2,...e}:H2}],mark:{color:{signal:`color.blue`}},rule:{color:{signal:`color.gray0`}},text:{color:{signal:`color.gray0`}},style:{"guide-label":{fill:{signal:`color.gray0`}},"guide-title":{fill:{signal:`color.gray0`}},"group-title":{fill:{signal:`color.gray0`}},"group-subtitle":{fill:{signal:`color.gray0`}},cell:{stroke:{signal:`color.gray8`}}},axis:{domainColor:{signal:`color.gray13`},gridColor:{signal:`color.gray8`},tickColor:{signal:`color.gray13`}},range:{category:[{signal:`color.blue`},{signal:`color.orange`},{signal:`color.red`},{signal:`color.teal`},{signal:`color.green`},{signal:`color.yellow`},{signal:`color.purple`},{signal:`color.pink`},{signal:`color.brown`},{signal:`color.grey8`}]}}}function Ble(e){return{signals:[{name:`fontSize`,value:d(e)?{...V2,...e}:V2}],text:{fontSize:{signal:`fontSize.text`}},style:{"guide-label":{fontSize:{signal:`fontSize.guideLabel`}},"guide-title":{fontSize:{signal:`fontSize.guideTitle`}},"group-title":{fontSize:{signal:`fontSize.groupTitle`}},"group-subtitle":{fontSize:{signal:`fontSize.groupSubtitle`}}}}}function Vle(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}function U2(e){let t=q(e||{}),n={};for(let r of t){let t=e[r];n[r]=B0(t)?rX(t):iX(t)}return n}function Hle(e){let t=q(e),n={};for(let r of t)n[r]=U2(e[r]);return n}var Ule=[...t1,...W0,...S2,`background`,`padding`,`legend`,`lineBreak`,`scale`,`style`,`title`,`view`];function W2(e={}){let{color:t,font:n,fontSize:r,selection:i,...a}=e,o=T({},G(Rle),n?Vle(n):{},t?zle(t):{},r?Ble(r):{},a||{});i&&D(o,`selection`,i,!0);let s=sq(o,Ule);for(let e of[`background`,`lineBreak`,`padding`])o[e]&&(s[e]=iX(o[e]));for(let e of t1)o[e]&&(s[e]=KY(o[e]));for(let e of W0)o[e]&&(s[e]=U2(o[e]));for(let e of S2)o[e]&&(s[e]=KY(o[e]));if(o.legend&&(s.legend=KY(o.legend)),o.scale){let{invalid:e,...t}=o.scale,n=KY(e,{level:1});s.scale={...KY(t),...q(n).length>0?{invalid:n}:{}}}return o.style&&(s.style=Hle(o.style)),o.title&&(s.title=KY(o.title)),o.view&&(s.view=KY(o.view)),s}var Wle=new Set([`view`,...K$]),Gle=`color.fontSize.background.padding.facet.concat.numberFormat.numberFormatType.normalizedNumberFormat.normalizedNumberFormatType.timeFormat.countTitle.header.axisQuantitative.axisTemporal.axisDiscrete.axisPoint.axisXBand.axisXPoint.axisXDiscrete.axisXQuantitative.axisXTemporal.axisYBand.axisYPoint.axisYDiscrete.axisYQuantitative.axisYTemporal.scale.selection.overlay`.split(`.`),Kle={view:[`continuousWidth`,`continuousHeight`,`discreteWidth`,`discreteHeight`,`step`],...$$};function qle(e){e=G(e);for(let t of Gle)delete e[t];if(e.axis)for(let t in e.axis)B0(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of kle)delete e.legend[t];if(e.mark){for(let t of Z$)delete e.mark[t];e.mark.tooltip&&d(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat(O2(e.params)),delete e.params);for(let t of Wle){for(let n of Z$)delete e[t][n];let n=Kle[t];if(n)for(let r of n)delete e[t][r];Yle(e,t)}for(let t of Ole())delete e[t];Jle(e);for(let t in e)d(e[t])&&bq(e[t])&&delete e[t];return bq(e)?void 0:e}function Jle(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:r}=qY(e.title);bq(t)||(e.style[`group-title`]={...e.style[`group-title`],...t}),bq(n)||(e.style[`group-subtitle`]={...e.style[`group-subtitle`],...n}),bq(r)?delete e.title:e.title=r}function Yle(e,t,n,r){let i=e[t];t===`view`&&(n=`cell`);let a={...i,...e.style[n??t]};bq(a)||(e.style[n??t]=a),delete e[t]}function G2(e){return J(e,`layer`)}function Xle(e){return J(e,`repeat`)}function Zle(e){return!h(e.repeat)&&J(e.repeat,`layer`)}var K2=class{map(e,t){return H1(e)?this.mapFacet(e,t):Xle(e)?this.mapRepeat(e,t):j2(e)?this.mapHConcat(e,t):A2(e)?this.mapVConcat(e,t):k2(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(G2(e))return this.mapLayer(e,t);if(G0(e))return this.mapUnit(e,t);throw Error(bX(e))}mapLayer(e,t){return{...e,layer:e.layer.map(e=>this.mapLayerOrUnit(e,t))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map(e=>this.map(e,t))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map(e=>this.map(e,t))}}mapConcat(e,t){let{concat:n,...r}=e;return{...r,concat:n.map(e=>this.map(e,t))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}},Qle={zero:1,center:1,normalize:1};function $le(e){return p(Qle,e)}var eue=new Set([A$,M$,j$,L$,F$,V$,H$,P$,R$,z$]),tue=new Set([M$,j$,A$]);function q2(e){return Z(e)&&t0(e)===`quantitative`&&!e.bin}function J2(e,t,{orient:n,type:r}){let i=t===`x`?`y`:`radius`,a=t===`x`&&[`bar`,`area`].includes(r),o=e[t],s=e[i];if(Z(o)&&Z(s)){if(q2(o)&&q2(s)){if(o.stack)return t;if(s.stack)return i;let e=Z(o)&&!!o.aggregate;if(e!==(Z(s)&&!!s.aggregate))return e?t:i;if(a){if(n===`vertical`)return i;if(n===`horizontal`)return t}}else if(q2(o))return t;else if(q2(s))return i}else if(q2(o))return a&&n===`vertical`?void 0:t;else if(q2(s))return a&&n===`horizontal`?void 0:i}function nue(e){switch(e){case`x`:return`y`;case`y`:return`x`;case`theta`:return`radius`;case`radius`:return`theta`}}function Y2(e,t){let n=q$(e)?e:{type:e},r=n.type;if(!eue.has(r))return null;let i=J2(t,`x`,n)||J2(t,`theta`,n);if(!i)return null;let a=t[i],o=Z(a)?$(a,{}):void 0,s=nue(i),c=[],l=new Set;if(t[s]){let e=t[s],n=Z(e)?$(e,{}):void 0;n&&n!==o&&(c.push(s),l.add(n))}let u=s===`x`?`xOffset`:`yOffset`,d=t[u],f=Z(d)?$(d,{}):void 0;f&&f!==o&&(c.push(u),l.add(f));let p=oY.reduce((e,n)=>{if(n!==`tooltip`&&q0(t,n)){let r=t[n];for(let t of E(r)){let r=O0(t);if(r.aggregate)continue;let i=$(r,{});(!i||!l.has(i))&&e.push({channel:n,fieldDef:r})}}return e},[]),m;return a.stack===void 0?tue.has(r)&&(m=`zero`):m=ar(a.stack)?a.stack?`zero`:null:a.stack,!m||!$le(m)||X0(t)&&p.length===0?null:(a?.scale?.type&&a?.scale?.type!==n$.LINEAR&&a?.stack&&X(LZ(a.scale.type)),Q(t[$J(i)])?(a.stack!==void 0&&X(IZ(i)),null):(Z(a)&&a.aggregate&&!LY.has(a.aggregate)&&X(RZ(a.aggregate)),{groupbyChannels:c,groupbyFields:l,fieldChannel:i,impute:a.impute!==null&&W$(r),stackBy:p,offset:m}))}function X2(e,t,n){let r=KY(e),i=fX(`orient`,r,n);if(r.orient=oue(r.type,t,i),i!==void 0&&i!==r.orient&&X(gZ(r.orient,i)),r.type===`bar`&&r.orient){let e=fX(`cornerRadiusEnd`,r,n);if(e!==void 0){let n=r.orient===`horizontal`&&t.x2||r.orient===`vertical`&&t.y2?[`cornerRadius`]:r1[r.orient];for(let t of n)r[t]=e;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}let a=fX(`opacity`,r,n),o=fX(`fillOpacity`,r,n);return a===void 0&&o===void 0&&(r.opacity=iue(r.type,t)),fX(`cursor`,r,n)===void 0&&(r.cursor=rue(r,t,n)),r}function rue(e,t,n){return t.href||e.href||fX(`href`,e,n)?`pointer`:e.cursor}var Z2=.7;function iue(e,t){if(lq([F$,z$,V$,H$],e)&&!X0(t))return Z2}function aue(e,t,{graticule:n}){if(n)return!1;let r=pX(`filled`,e,t),i=e.type;return Rq(r,i!==F$&&i!==P$&&i!==L$)}function oue(e,t,n){switch(e){case F$:case V$:case H$:case I$:case N$:return}let{x:r,y:i,x2:a,y2:o}=t;switch(e){case R$:case M$:if(Z(r)&&(VY(r.bin)||Z(i)&&i.aggregate&&!r.aggregate))return`vertical`;if(Z(i)&&(VY(i.bin)||Z(r)&&r.aggregate&&!i.aggregate))return`horizontal`;if(o||a){if(n)return n;if(!a)return(Z(r)&&r.type===XQ&&!BY(r.bin)||a0(r))&&Z(i)&&VY(i.bin)?`horizontal`:`vertical`;if(!o)return(Z(i)&&i.type===XQ&&!BY(i.bin)||a0(i))&&Z(r)&&VY(r.bin)?`vertical`:`horizontal`}case L$:if(a&&!(Z(r)&&VY(r.bin))&&o&&!(Z(i)&&VY(i.bin)))return;case j$:if(o)return Z(i)&&VY(i.bin)?`horizontal`:`vertical`;if(a)return Z(r)&&VY(r.bin)?`vertical`:`horizontal`;if(e===L$){if(r&&!i)return`vertical`;if(i&&!r)return`horizontal`}case P$:case z$:{let t=i0(r),a=i0(i);if(n)return n;if(t&&!a)return e===`tick`?`vertical`:`horizontal`;if(!t&&a)return e===`tick`?`horizontal`:`vertical`;if(t&&a)return`vertical`;{let e=o0(r)&&r.type===QQ,t=o0(i)&&i.type===QQ;if(e&&!t)return`vertical`;if(!e&&t)return`horizontal`}return}}return`vertical`}function sue(e){let{point:t,line:n,...r}=e;return q(r).length>1?r:r.type}function cue(e){for(let t of[`line`,`area`,`rule`,`trail`])e[t]&&(e={...e,[t]:sq(e[t],[`point`,`line`])});return e}function Q2(e,t={},n){return e.point===`transparent`?{opacity:0}:e.point?d(e.point)?e.point:{}:e.point===void 0?t.point||n.shape?d(t.point)?t.point:{}:void 0:null}function $2(e,t={}){return e.line?e.line===!0?{}:e.line:e.line===void 0?t.line?t.line===!0?{}:t.line:void 0:null}var lue=class{name=`path-overlay`;hasMatchingType(e,t){if(G0(e)){let{mark:n,encoding:r}=e,i=q$(n)?n:{type:n};switch(i.type){case`line`:case`rule`:case`trail`:return!!Q2(i,t[i.type],r);case`area`:return!!Q2(i,t[i.type],r)||!!$2(i,t[i.type])}}return!1}run(e,t,n){let{config:r}=t,{params:i,projection:a,mark:o,name:s,encoding:c,...l}=e,u=Q0(c,r),d=q$(o)?o:{type:o},f=Q2(d,r[d.type],u),p=d.type===`area`&&$2(d,r[d.type]),m=[{name:s,...i?{params:i}:{},mark:sue({...d.type===`area`&&fX(`opacity`,d,r)==null&&fX(`fillOpacity`,d,r)==null?{opacity:Z2}:{},...d}),encoding:sq(u,[`shape`])}],h=Y2(X2(d,u,r),u),g=u;if(h){let{fieldChannel:e,offset:t}=h;g={...u,[e]:{...u[e],...t?{stack:t}:{}}}}return g=sq(g,[`y2`,`x2`]),p&&m.push({...a?{projection:a}:{},mark:{type:`line`,...oq(d,[`clip`,`interpolate`,`tension`,`tooltip`]),...p},encoding:g}),f&&m.push({...a?{projection:a}:{},mark:{type:`point`,opacity:1,filled:!0,...oq(d,[`clip`,`tooltip`]),...f},encoding:g}),n({...l,layer:m},{...t,config:cue(r)})}};function uue(e,t){return t?B1(e)?a4(e,t):n4(e,t):e}function e4(e,t){return t?a4(e,t):e}function t4(e,t,n){let r=t[e];if(W1(r)){if(r.repeat in n)return{...t,[e]:n[r.repeat]};X(RX(r.repeat));return}return t}function n4(e,t){if(e=t4(`field`,e,t),e!==void 0){if(e===null)return null;if(K1(e)&&R1(e.sort)){let n=t4(`field`,e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function r4(e,t){if(Z(e))return n4(e,t);{let n=t4(`datum`,e,t);return n!==e&&!n.type&&(n.type=`nominal`),n}}function i4(e,t){if(Q(e)){let n=r4(e,t);if(n)return n;if(Z1(e))return{condition:e.condition}}else{if($1(e)){let n=r4(e.condition,t);if(n)return{...e,condition:n};{let{condition:t,...n}=e;return n}}return e}}function a4(e,t){let n={};for(let r in e)if(J(e,r)){let i=e[r];if(h(i))n[r]=i.map(e=>i4(e,t)).filter(e=>e);else{let e=i4(i,t);e!==void 0&&(n[r]=e)}}return n}var due=class{name=`RuleForRangedLine`;hasMatchingType(e){if(G0(e)){let{encoding:t,mark:n}=e;if(n===`line`||q$(n)&&n.type===`line`)for(let e of YJ){let n=t[ZJ(e)];if(t[e]&&(Z(n)&&!VY(n.bin)||n0(n)))return!0}}return!1}run(e,t,n){let{encoding:r,mark:i}=e;return X(hZ(!!r.x2,!!r.y2)),n({...e,mark:d(i)?{...i,type:`rule`}:`rule`},t)}},fue=class extends K2{nonFacetUnitNormalizers=[_le,ble,Dle,new lue,new due];map(e,t){if(G0(e)){let n=q0(e.encoding,Yq),r=q0(e.encoding,Xq),i=q0(e.encoding,Zq);if(n||r||i)return this.mapFacetedUnit(e,t)}return super.map(e,t)}mapUnit(e,t){let{parentEncoding:n,parentProjection:r}=t,i=e4(e.encoding,t.repeater),a={...e,...e.name?{name:[t.repeaterPrefix,e.name].filter(e=>e).join(`_`)}:{},...i?{encoding:i}:{}};if(n||r)return this.mapUnitWithParentEncodingOrProjection(a,t);let o=this.mapLayerOrUnit.bind(this);for(let e of this.nonFacetUnitNormalizers)if(e.hasMatchingType(a,t.config))return e.run(a,t,o);return a}mapRepeat(e,t){return Zle(e)?this.mapLayerRepeat(e,t):this.mapNonLayerRepeat(e,t)}mapLayerRepeat(e,t){let{repeat:n,spec:r,...i}=e,{row:a,column:o,layer:s}=n,{repeater:c={},repeaterPrefix:l=``}=t;return a||o?this.mapRepeat({...e,repeat:{...a?{row:a}:{},...o?{column:o}:{}},spec:{repeat:{layer:s},spec:r}},t):{...i,layer:s.map(e=>{let n={...c,layer:e},i=`${(r.name?`${r.name}_`:``)+l}child__layer_${Tq(e)}`,a=this.mapLayerOrUnit(r,{...t,repeater:n,repeaterPrefix:i});return a.name=i,a})}}mapNonLayerRepeat(e,t){let{repeat:n,spec:r,data:i,...a}=e;!h(n)&&e.columns&&(e=sq(e,[`columns`]),X(zX(`repeat`)));let o=[],{repeater:s={},repeaterPrefix:c=``}=t,l=!h(n)&&n.row||[s?s.row:null],u=!h(n)&&n.column||[s?s.column:null],d=h(n)&&n||[s?s.repeat:null];for(let e of d)for(let i of l)for(let a of u){let l={repeat:e,row:i,column:a,layer:s.layer},u=`${(r.name?`${r.name}_`:``)+c}child__${h(n)?`${Tq(e)}`:(n.row?`row_${Tq(i)}`:``)+(n.column?`column_${Tq(a)}`:``)}`,d=this.map(r,{...t,repeater:l,repeaterPrefix:u});d.name=u,o.push(sq(d,[`data`]))}let f=h(n)?e.columns:n.column?n.column.length:1;return{data:r.data??i,align:`all`,...a,columns:f,concat:o}}mapFacet(e,t){let{facet:n}=e;return B1(n)&&e.columns&&(e=sq(e,[`columns`]),X(zX(`facet`))),super.mapFacet(e,t)}mapUnitWithParentEncodingOrProjection(e,t){let{encoding:n,projection:r}=e,{parentEncoding:i,parentProjection:a,config:o}=t,s=s4({parentProjection:a,projection:r}),c=o4({parentEncoding:i,encoding:e4(n,t.repeater)});return this.mapUnit({...e,...s?{projection:s}:{},...c?{encoding:c}:{}},{config:o})}mapFacetedUnit(e,t){let{row:n,column:r,facet:i,...a}=e.encoding,{mark:o,width:s,projection:c,height:l,view:u,params:d,encoding:f,...p}=e,{facetMapping:m,layout:h}=this.getFacetMappingAndLayout({row:n,column:r,facet:i},t),g=e4(a,t.repeater);return this.mapFacet({...p,...h,facet:m,spec:{...s?{width:s}:{},...l?{height:l}:{},...u?{view:u}:{},...c?{projection:c}:{},mark:o,encoding:g,...d?{params:d}:{}}},t)}getFacetMappingAndLayout(e,t){let{row:n,column:r,facet:i}=e;if(n||r){i&&X(fZ([...n?[Yq]:[],...r?[Xq]:[]]));let t={},a={};for(let n of[Yq,Xq]){let r=e[n];if(r){let{align:e,center:i,spacing:o,columns:s,...c}=r;t[n]=c;for(let e of[`align`,`center`,`spacing`])r[e]!==void 0&&(a[e]??={},a[e][n]=r[e])}}return{facetMapping:t,layout:a}}{let{align:e,center:n,spacing:r,columns:a,...o}=i;return{facetMapping:uue(o,t.repeater),layout:{...e?{align:e}:{},...n?{center:n}:{},...r?{spacing:r}:{},...a?{columns:a}:{}}}}}mapLayer(e,{parentEncoding:t,parentProjection:n,...r}){let{encoding:i,projection:a,...o}=e,s={...r,parentEncoding:o4({parentEncoding:t,encoding:i,layer:!0}),parentProjection:s4({parentProjection:n,projection:a})};return super.mapLayer({...o,...e.name?{name:[s.repeaterPrefix,e.name].filter(e=>e).join(`_`)}:{}},s)}};function o4({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){let i=new Set([...q(e),...q(t)]);for(let a of i){let i=t[a],o=e[a];if(Q(i)){let e={...o,...i};r[a]=e}else $1(i)?r[a]={...i,condition:{...o,...i.condition}}:i||i===null?r[a]=i:(n||s0(o)||Y(o)||Q(o)||h(o))&&(r[a]=o)}}else r=t;return!r||bq(r)?void 0:r}function s4(e){let{parentProjection:t,projection:n}=e;return t&&n&&X(ZX({parentProjection:t,projection:n})),n??t}function c4(e){return J(e,`filter`)}function pue(e){return J(e,`stop`)}function l4(e){return J(e,`lookup`)}function mue(e){return J(e,`data`)}function hue(e){return J(e,`param`)}function gue(e){return J(e,`pivot`)}function _ue(e){return J(e,`density`)}function vue(e){return J(e,`quantile`)}function yue(e){return J(e,`regression`)}function bue(e){return J(e,`loess`)}function xue(e){return J(e,`sample`)}function Sue(e){return J(e,`window`)}function Cue(e){return J(e,`joinaggregate`)}function wue(e){return J(e,`flatten`)}function Tue(e){return J(e,`calculate`)}function u4(e){return J(e,`bin`)}function Eue(e){return J(e,`impute`)}function Due(e){return J(e,`timeUnit`)}function Oue(e){return J(e,`aggregate`)}function kue(e){return J(e,`stack`)}function Aue(e){return J(e,`fold`)}function jue(e){return J(e,`extent`)&&!J(e,`density`)&&!J(e,`regression`)}function Mue(e){return e.map(e=>c4(e)?{filter:iq(e.filter,KQ)}:e)}var Nue=class extends K2{map(e,t){return t.emptySelections??={},t.selectionPredicates??={},e=d4(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if(e=d4(e,t),e.encoding){let n={};for(let[r,i]of Sq(e.encoding))n[r]=f4(i,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){let{selection:n,...r}=e;return n?{...r,params:Sq(n).map(([e,n])=>{let{init:r,bind:i,empty:a,...o}=n;o.type===`single`?(o.type=`point`,o.toggle=!1):o.type===`multi`&&(o.type=`point`),t.emptySelections[e]=a!==`none`;for(let n of xq(t.selectionPredicates[e]??{}))n.empty=a!==`none`;return{name:e,value:r,select:o,bind:i}})}:e}};function d4(e,t){let{transform:n,...r}=e;if(n){let e=n.map(e=>{if(c4(e))return{filter:m4(e,t)};if(u4(e)&&HY(e.bin))return{...e,bin:p4(e.bin)};if(l4(e)){let{selection:t,...n}=e.from;return t?{...e,from:{param:t,...n}}:e}return e});return{...r,transform:e}}return e}function f4(e,t){let n=G(e);if(Z(n)&&HY(n.bin)&&(n.bin=p4(n.bin)),c0(n)&&n.scale?.domain?.selection){let{selection:e,...t}=n.scale.domain;n.scale.domain={...t,...e?{param:e}:{}}}if(Z1(n)){if(h(n.condition))n.condition=n.condition.map(e=>{let{selection:n,param:r,test:i,...a}=e;return r?e:{...a,test:m4(e,t)}});else{let{selection:e,param:r,test:i,...a}=f4(n.condition,t);n.condition=r?n.condition:{...a,test:m4(n.condition,t)}}}return n}function p4(e){let t=e.extent;if(t?.selection){let{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function m4(e,t){let n=e=>iq(e,e=>{let n={param:e,empty:t.emptySelections[e]??!0};return t.selectionPredicates[e]??=[],t.selectionPredicates[e].push(n),n});return e.selection?n(e.selection):iq(e.test||e.filter,e=>e.selection?n(e.selection):e)}var h4=class extends K2{map(e,t){let n=t.selections??[];if(e.params&&!G0(e)){let t=[];for(let r of e.params)D2(r)?n.push(r):t.push(r);e.params=t}return t.selections=n,super.map(e,t)}mapUnit(e,t){let n=t.selections;if(!n||!n.length)return e;let r=(t.path??[]).concat(e.name),i=[];for(let t of n)if(!t.views||!t.views.length)i.push(t);else for(let n of t.views)(_(n)&&(n===e.name||r.includes(n))||h(n)&&n.map(e=>r.indexOf(e)).every((e,t,n)=>e!==-1&&(t===0||e>n[t-1])))&&i.push(t);return i.length&&(e.params=i),e}};for(let e of[`mapFacet`,`mapRepeat`,`mapHConcat`,`mapVConcat`,`mapLayer`]){let t=h4.prototype[e];h4.prototype[e]=function(e,n){return t.call(this,e,Pue(e,n))}}function Pue(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function g4(e,t){t===void 0&&(t=W2(e.config));let n=Rue(e,t),{width:r,height:i}=e,a=zue(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}var Fue=new fue,Iue=new Nue,Lue=new h4;function Rue(e,t={}){let n={config:t};return Lue.map(Fue.map(Iue.map(e,n),n),n)}function _4(e){return _(e)?{type:e}:e??{}}function zue(e,t,n){let{width:r,height:i}=t,a=G0(e)||G2(e),o={};a?r==`container`&&i==`container`?(o.type=`fit`,o.contains=`padding`):r==`container`?(o.type=`fit-x`,o.contains=`padding`):i==`container`&&(o.type=`fit-y`,o.contains=`padding`):(r==`container`&&(X(SX(`width`)),r=void 0),i==`container`&&(X(SX(`height`)),i=void 0));let s={type:`pad`,...o,...n?_4(n.autosize):{},..._4(e.autosize)};if(s.type===`fit`&&!a&&(X(xX),s.type=`pad`),r==`container`&&s.type!=`fit`&&s.type!=`fit-x`&&X(CX(`width`)),i==`container`&&s.type!=`fit`&&s.type!=`fit-y`&&X(CX(`height`)),!qq(s,{type:`pad`}))return s}function Bue(e){return[`fit`,`fit-x`,`fit-y`].includes(e)}function Vue(e){return e?`fit-${fY(e)}`:`fit`}var Hue=[`background`,`padding`];function v4(e,t){let n={};for(let t of Hue)e&&e[t]!==void 0&&(n[t]=iX(e[t]));return t&&(n.params=e.params),n}var y4=class e{explicit;implicit;constructor(e={},t={}){this.explicit=e,this.implicit=t}clone(){return new e(G(this.explicit),G(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(e){return Rq(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]===void 0?this.implicit[e]===void 0?{explicit:!1,value:void 0}:{explicit:!1,value:this.implicit[e]}:{explicit:!0,value:this.explicit[e]}}setWithExplicit(e,{value:t,explicit:n}){t!==void 0&&this.set(e,t,n)}set(e,t,n){return delete this[n?`implicit`:`explicit`][e],this[n?`explicit`:`implicit`][e]=t,this}copyKeyFromSplit(e,{explicit:t,implicit:n}){t[e]===void 0?n[e]!==void 0&&this.set(e,n[e],!1):this.set(e,t[e],!0)}copyKeyFromObject(e,t){t[e]!==void 0&&this.set(e,t[e],!0)}copyAll(e){for(let t of q(e.combine())){let n=e.getWithExplicit(t);this.setWithExplicit(t,n)}}};function b4(e){return{explicit:!0,value:e}}function x4(e){return{explicit:!1,value:e}}function S4(e){return(t,n,r,i)=>{let a=e(t.value,n.value);return a>0?t:a<0?n:C4(t,n,r,i)}}function C4(e,t,n,r){return e.explicit&&t.explicit&&X(DZ(n,r,e.value,t.value)),e}function w4(e,t,n,r,i=C4){return e===void 0||e.value===void 0?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:qq(e.value,t.value)?e:i(e,t,n,r)}var Uue=class extends y4{explicit;implicit;parseNothing;constructor(e={},t={},n=!1){super(e,t),this.explicit=e,this.implicit=t,this.parseNothing=n}clone(){let e=super.clone();return e.parseNothing=this.parseNothing,e}};function T4(e){return J(e,`url`)}function E4(e){return J(e,`values`)}function D4(e){return J(e,`name`)&&!T4(e)&&!E4(e)&&!O4(e)}function O4(e){return e&&(k4(e)||A4(e)||j4(e))}function k4(e){return J(e,`sequence`)}function A4(e){return J(e,`sphere`)}function j4(e){return J(e,`graticule`)}var M4;(function(e){e[e.Raw=0]=`Raw`,e[e.Main=1]=`Main`,e[e.Row=2]=`Row`,e[e.Column=3]=`Column`,e[e.Lookup=4]=`Lookup`,e[e.PreFilterInvalid=5]=`PreFilterInvalid`,e[e.PostFilterInvalid=6]=`PostFilterInvalid`})(M4||={});function N4({invalid:e,isPath:t}){switch(c1(e,{isPath:t})){case`filter`:return{marks:`exclude-invalid-values`,scales:`exclude-invalid-values`};case`break-paths-show-domains`:return{marks:t?`include-invalid-values`:`exclude-invalid-values`,scales:`include-invalid-values`};case`break-paths-filter-domains`:return{marks:t?`include-invalid-values`:`exclude-invalid-values`,scales:`exclude-invalid-values`};case`show`:return{marks:`include-invalid-values`,scales:`include-invalid-values`}}}function Wue(e){let{marks:t,scales:n}=N4(e);return t===n?M4.Main:n===`include-invalid-values`?M4.PreFilterInvalid:M4.PostFilterInvalid}var P4=class{debugName;_children=[];_parent=null;_hash;constructor(e,t){this.debugName=t,e&&(this.parent=e)}clone(){throw Error(`Cannot clone node`)}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,t){if(this._children.includes(e)){X(qX);return}t===void 0?this._children.push(e):this._children.splice(t,0,e)}removeChild(e){let t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(let t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){let t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){let e=this._parent,t=e.parent;for(let t of this._children)t.parent=e;this._children=[],e.removeChild(this);let n=e.parent.removeChild(e);this._parent=t,t.addChild(this,n),e.parent=this}},F4=class extends P4{type;refCounts;_source;_name;clone(){let e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}constructor(e,t,n,r){super(e,t),this.type=n,this.refCounts=r,this._source=this._name=t,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${Bq()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}};function I4(e){return e.as!==void 0}function L4(e){return`${e}_end`}var R4=class e extends P4{timeUnits;clone(){return new e(null,G(this.timeUnits))}constructor(e,t){super(e),this.timeUnits=t}static makeFromEncoding(t,n){let r=n.reduceFieldDef((e,t,r)=>{let{field:i,timeUnit:a}=t;if(a){let o;if(hQ(a)){if(Q8(n)){let{mark:e,markDef:r,config:s}=n,c=q1({fieldDef:t,markDef:r,config:s});(G$(e)||c)&&(o={timeUnit:EQ(a),field:i})}}else o={as:$(t,{forAs:!0}),field:i,timeUnit:a};if(Q8(n)){let{mark:e,markDef:i,config:a}=n,s=q1({fieldDef:t,markDef:i,config:a});G$(e)&&lY(r)&&s!==.5&&(o.rectBandPosition=s)}o&&(e[K(o)]=o)}return e},{});return bq(r)?null:new e(t,r)}static makeFromTransform(t,n){let{timeUnit:r,...i}={...n},a=EQ(r),o={...i,timeUnit:a};return new e(t,{[K(o)]:o})}merge(e){this.timeUnits={...this.timeUnits};for(let t in e.timeUnits)this.timeUnits[t]||(this.timeUnits[t]=e.timeUnits[t]);for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}removeFormulas(e){let t={};for(let[n,r]of Sq(this.timeUnits)){let i=I4(r)?r.as:`${r.field}_end`;e.has(i)||(t[n]=r)}this.timeUnits=t}producedFields(){return new Set(xq(this.timeUnits).map(e=>I4(e)?e.as:L4(e.field)))}dependentFields(){return new Set(xq(this.timeUnits).map(e=>e.field))}hash(){return`TimeUnit ${K(this.timeUnits)}`}assemble(){let e=[];for(let t of xq(this.timeUnits)){let{rectBandPosition:n}=t,r=EQ(t.timeUnit);if(I4(t)){let{field:i,as:a}=t,{unit:o,utc:s,...c}=r,l=[a,`${a}_end`];e.push({field:Pq(i),type:`timeunit`,...o?{units:bQ(o)}:{},...s?{timezone:`utc`}:{},...c,as:l}),e.push(...H4(l,n,r))}else if(t){let{field:i}=t,a=Mq(i),o=V4({timeUnit:r,field:a}),s=L4(a);e.push({type:`formula`,expr:o,as:s}),e.push(...H4([a,s],n,r))}}return e}},z4=`offsetted_rect_start`,B4=`offsetted_rect_end`;function V4({timeUnit:e,field:t,reverse:n}){let{unit:r,utc:i}=e,{part:a,step:o}=jQ(xQ(r),e.step);return`${i?`utcOffset`:`timeOffset`}('${a}', ${jq(t)}, ${n?-o:o})`}function H4([e,t],n,r){if(n!==void 0&&n!==.5){let i=jq(e),a=jq(t);return[{type:`formula`,expr:U4([V4({timeUnit:r,field:e,reverse:!0}),i],n+.5),as:`${e}_${z4}`},{type:`formula`,expr:U4([i,a],n+.5),as:`${e}_${B4}`}]}return[]}function U4([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}var W4=`_tuple_fields`,Gue=class{hasChannel;hasField;hasSelectionId;timeUnit;items;constructor(...e){this.items=e,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}},Kue={defined:()=>!0,parse:(e,t,n)=>{let r=t.name,i=t.project??=new Gue,a={},o={},s=new Set,c=(e,t)=>{let n=t===`visual`?e.channel:e.field,i=Tq(`${r}_${n}`);for(let e=1;s.has(i);e++)i=Tq(`${r}_${n}_${e}`);return s.add(i),{[t]:i}},l=t.type,u=e.config.selection[l],f=n.value===void 0?null:E(n.value),{fields:p,encodings:m}=d(n.select)?n.select:{};if(!p&&!m&&f){for(let e of f)if(d(e))for(let t of q(e))qJ(t)?(m||=[]).push(t):l===`interval`?(X(LX),m=u.encodings):(p??=[]).push(t)}!p&&!m&&(m=u.encodings,`fields`in u&&(p=u.fields));for(let t of m??[]){let n=e.fieldDef(t);if(n){let r=n.field;if(n.aggregate){X(DX(t,n.aggregate));continue}if(!r){X(EX(t));continue}if(n.timeUnit&&!hQ(n.timeUnit)){r=e.vgField(t);let i={timeUnit:n.timeUnit,as:r,field:n.field};o[K(i)]=i}if(!a[r]){let o=l===`interval`&&CY(t)&&m$(e.getScaleComponent(t).get(`type`))?`R`:n.bin?`R-RE`:`E`,s={field:r,channel:t,type:o,index:i.items.length};s.signals={...c(s,`data`),...c(s,`visual`)},i.items.push(a[r]=s),i.hasField[r]=a[r],i.hasSelectionId=i.hasSelectionId||r===w2,LJ(t)?(s.geoChannel=t,s.channel=IJ(t),i.hasChannel[s.channel]=a[r]):i.hasChannel[t]=a[r]}}else X(EX(t))}for(let e of p??[]){if(i.hasField[e])continue;let t={type:`E`,field:e,index:i.items.length};t.signals={...c(t,`data`)},i.items.push(t),i.hasField[e]=t,i.hasSelectionId=i.hasSelectionId||e===w2}f&&(t.init=f.map(e=>i.items.map(t=>d(e)?e[t.geoChannel||t.channel]===void 0?e[t.field]:e[t.geoChannel||t.channel]:e))),bq(o)||(i.timeUnit=new R4(null,o))},signals:(e,t,n)=>{let r=t.name+W4;return n.filter(e=>e.name===r).length>0||t.project.hasSelectionId?n:n.concat({name:r,value:t.project.items.map($4)})}},G4=`_curr`,K4=`anim_value`,q4=`anim_clock`,J4=`eased_anim_clock`,Y4=`min_extent`,X4=`max_range_extent`,Z4=`last_tick_at`,Q4=`is_playing`,que=1/60*1e3,Jue=(e,t)=>[{name:J4,update:q4},{name:`${e}_domain`,init:`domain('${t}')`},{name:Y4,init:`extent(${e}_domain)[0]`},{name:X4,init:`extent(range('${t}'))[1]`},{name:K4,update:`invert('${t}', ${J4})`}],Yue={defined:e=>e.type===`point`,topLevelSignals:(e,t,n)=>($3(t)&&(n=n.concat([{name:q4,init:`0`,on:[{events:{type:`timer`,throttle:que},update:`${Q4} ? (${q4} + (now() - ${Z4}) > ${X4} ? 0 : ${q4} + (now() - ${Z4})) : ${q4}`}]},{name:Z4,init:`now()`,on:[{events:[{signal:q4},{signal:Q4}],update:`now()`}]},{name:Q4,init:`true`}])),n),signals:(e,t,n)=>{let r=t.name,i=r+W4,o=t.project,s=`(item().isVoronoi ? datum.datum : datum)`,c=xq(e.component.selection??{}).reduce((e,t)=>t.type===`interval`?e.concat(t.name+o3):e,[]).map(e=>`indexof(item().mark.name, '${e}') < 0`).join(` && `),l=`datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${c?` && ${c}`:``}`,u=`unit: ${X3(e)}, `;if(t.project.hasSelectionId)u+=`${w2}: ${s}[${a(w2)}]`;else if($3(t))u+=`fields: ${i}, values: [${K4} ? ${K4} : ${Y4}]`;else{let t=o.items.map(t=>e.fieldDef(t.channel)?.bin?`[${s}[${a(e.vgField(t.channel,{}))}], ${s}[${a(e.vgField(t.channel,{binSuffix:`end`}))}]]`:`${s}[${a(t.field)}]`).join(`, `);u+=`fields: ${i}, values: [${t}]`}if($3(t))return n.concat(Jue(t.name,e.scaleName(fJ)),[{name:r+q3,on:[{events:[{signal:J4},{signal:K4}],update:`{${u}}`,force:!0}]}]);{let e=t.events;return n.concat([{name:r+q3,on:e?[{events:e,update:`${l} ? {${u}} : null`,force:!0}]:[]}])}}};function $4(e){let{signals:t,hasLegend:n,index:r,...i}=e;return i.field=Pq(i.field),i}function e3(e,t=!0,n=O){if(h(e)){let r=e.map(e=>e3(e,t,n));return t?`[${r.join(`, `)}]`:r}return eQ(e)?n(t?lQ(e):dQ(e)):t?n(Jq(e)):e}function Xue(e,t){for(let n of xq(e.component.selection??{})){let r=n.name,i=`${r}${q3}, ${n.resolve===`global`?`true`:`{unit: ${X3(e)}}`}`;for(let r of Y3)r.defined(n)&&(r.signals&&(t=r.signals(e,n,t)),r.modifyExpr&&(i=r.modifyExpr(e,n,i)));t.push({name:r+Cde,on:[{events:{signal:n.name+q3},update:`modify(${a(n.name+K3)}, ${i})`}]})}return n3(t)}function Zue(e,t){if(e.component.selection&&q(e.component.selection).length){let n=a(e.getName(`cell`));t.unshift({name:`facet`,value:{},on:[{events:mz(`pointermove`,`scope`),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return n3(t)}function Que(e,t){let n=!1;for(let r of xq(e.component.selection??{})){let i=r.name,o=a(i+K3);if(t.filter(e=>e.name===i).length===0){let e=r.resolve===`global`?`union`:r.resolve,n=r.type===`point`?`, true, true)`:`)`;t.push({name:r.name,update:`${J3}(${o}, ${a(e)}${n}`})}n=!0;for(let n of Y3)n.defined(r)&&n.topLevelSignals&&(t=n.topLevelSignals(e,r,t))}return n&&t.filter(e=>e.name===`unit`).length===0&&t.unshift({name:`unit`,value:{},on:[{events:`pointermove`,update:`isTuple(group()) ? group() : unit`}]}),n3(t)}function $ue(e,t){let n=[],r=[],i=X3(e,{escape:!1});for(let a of xq(e.component.selection??{})){let o={name:a.name+K3};if(a.project.hasSelectionId&&(o.transform=[{type:`collect`,sort:{field:w2}}]),a.init){let e=a.project.items.map($4);o.values=a.project.hasSelectionId?a.init.map(e=>({unit:i,[w2]:e3(e,!1)[0]})):a.init.map(t=>({unit:i,fields:e,values:e3(t,!1)}))}if([...n,...t].filter(e=>e.name===a.name+K3).length||n.push(o),$3(a)&&t.length){let n=e.lookupDataSource(e.getDataName(M4.Main)),i=t.find(e=>e.name===n),a=i.transform.find(e=>e.type===`filter`&&e.expr.includes(`vlSelectionTest`));if(a){i.transform=i.transform.filter(e=>e!==a);let e={name:i.name+G4,source:i.name,transform:[a]};r.push(e)}}}return n.concat(t,r)}function t3(e,t){for(let n of xq(e.component.selection??{}))for(let r of Y3)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function ede(e,t){for(let n of e.children)Q8(n)&&(t=t3(n,t));return t}function tde(e,t,n,r){let i=a6(e,t.param,t);return{signal:m$(n.get(`type`))&&h(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function n3(e){return e.map(e=>(e.on&&!e.on.length&&delete e.on,e))}var r3={defined:e=>e.type===`interval`&&e.resolve===`global`&&e.bind&&e.bind===`scales`,parse:(e,t)=>{let n=t.scales=[];for(let r of t.project.items){let i=r.channel;if(!CY(i))continue;let a=e.getScaleComponent(i),o=a?a.get(`type`):void 0;if(o==`sequential`&&X(MX),!a||!m$(o)){X(jX);continue}a.set(`selectionExtent`,{param:t.name,field:r.field},!0),n.push(r)}},topLevelSignals:(e,t,n)=>{let r=t.scales.filter(e=>n.filter(t=>t.name===e.signals.data).length===0);if(!e.parent||a3(e)||r.length===0)return n;let i=n.find(e=>e.name===t.name),o=i.update;if(o.includes(J3))i.update=`{${r.map(e=>`${a(Pq(e.field))}: ${e.signals.data}`).join(`, `)}}`;else{for(let e of r){let t=`${a(Pq(e.field))}: ${e.signals.data}`;o.includes(t)||(o=`${o.substring(0,o.length-1)}, ${t}}`)}i.update=o}return n.concat(r.map(e=>({name:e.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!a3(e))for(let e of t.scales){let t=n.find(t=>t.name===e.signals.data);t.push=`outer`,delete t.value,delete t.update}return n}};function i3(e,t){return`domain(${a(e.scaleName(t))})`}function a3(e){return e.parent&&t5(e.parent)&&(!e.parent.parent||a3(e.parent.parent))}var o3=`_brush`,s3=`_scale_trigger`,c3=`geo_interval_init_tick`,l3=`_init`,nde=`_center`,rde={defined:e=>e.type===`interval`,parse:(e,t,n)=>{if(e.hasProjection){let e={...d(n.select)?n.select:{}};e.fields=[w2],e.encodings||=n.value?q(n.value):[lJ,cJ],n.select={type:`interval`,...e}}if(t.translate&&!r3.defined(t)){let e=`!event.item || event.item.mark.name !== ${a(t.name+o3)}`;for(let n of t.events){if(!n.between){X(`${n} is not an ordered event stream for interval selections.`);continue}let t=E(n.between[0].filter??=[]);t.includes(e)||t.push(e)}}},signals:(e,t,n)=>{let r=t.name,i=r+q3,o=xq(t.project.hasChannel).filter(e=>e.channel===Qq||e.channel===$q),s=t.init?t.init[0]:null;if(n.push(...o.reduce((n,r)=>n.concat(ide(e,t,r,s?.[r.index])),[])),e.hasProjection){let c=a(e.projectionName()),l=e.projectionName()+nde,{x:u,y:d}=t.project.hasChannel,f=u?.signals.visual,p=d?.signals.visual,m=u?s?.[u.index]:`${l}[0]`,h=d?s?.[d.index]:`${l}[1]`,g=t=>e.getSizeSignalRef(t).signal,_=`[[${f?`${f}[0]`:`0`}, ${p?`${p}[0]`:`0`}],[${f?`${f}[1]`:g(`width`)}, ${p?`${p}[1]`:g(`height`)}]]`;s&&(n.unshift({name:r+l3,init:`[scale(${c}, [${u?m[0]:m}, ${d?h[0]:h}]), scale(${c}, [${u?m[1]:m}, ${d?h[1]:h}])]`}),(!u||!d)&&(n.find(e=>e.name===l)||n.unshift({name:l,update:`invert(${c}, [${g(`width`)}/2, ${g(`height`)}/2])`})));let v=`vlSelectionTuples(${`intersect(${_}, {markname: ${a(e.getName(`marks`))}}, unit.mark)`}, ${`{unit: ${X3(e)}}`})`,y=o.map(e=>e.signals.visual);return n.concat({name:i,on:[{events:[...y.length?[{signal:y.join(` || `)}]:[],...s?[{signal:c3}]:[]],update:v}]})}{if(!r3.defined(t)){let t=r+s3,i=o.map(t=>{let n=t.channel,{data:r,visual:i}=t.signals,o=a(e.scaleName(n)),s=m$(e.getScaleComponent(n).get(`type`))?`+`:``;return`(!isArray(${r}) || (${s}invert(${o}, ${i})[0] === ${s}${r}[0] && ${s}invert(${o}, ${i})[1] === ${s}${r}[1]))`});i.length&&n.push({name:t,value:{},on:[{events:o.map(t=>({scale:e.scaleName(t.channel)})),update:`${i.join(` && `)} ? ${t} : {}`}]})}let c=o.map(e=>e.signals.data),l=`unit: ${X3(e)}, fields: ${r+W4}, values`;return n.concat({name:i,...s?{init:`{${l}: ${e3(s)}}`}:{},...c.length?{on:[{events:[{signal:c.join(` || `)}],update:`${c.join(` && `)} ? {${l}: [${c}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(Q8(e)&&e.hasProjection&&t.init&&(n.filter(e=>e.name===c3).length||n.unshift({name:c3,value:null,on:[{events:`timer{1}`,update:`${c3} === null ? {} : ${c3}`}]})),n),marks:(e,t,n)=>{let r=t.name,{x:i,y:o}=t.project.hasChannel,s=i?.signals.visual,c=o?.signals.visual,l=`data(${a(t.name+K3)})`;if(r3.defined(t)||!i&&!o)return n;let u={x:i===void 0?{value:0}:{signal:`${s}[0]`},y:o===void 0?{value:0}:{signal:`${c}[0]`},x2:i===void 0?{field:{group:`width`}}:{signal:`${s}[1]`},y2:o===void 0?{field:{group:`height`}}:{signal:`${c}[1]`}};if(t.resolve===`global`)for(let t of q(u))u[t]=[{test:`${l}.length && ${l}[0].unit === ${X3(e)}`,...u[t]},{value:0}];let{fill:d,fillOpacity:f,cursor:p,...m}=t.mark,h=q(m).reduce((e,t)=>(e[t]=[{test:[i!==void 0&&`${s}[0] !== ${s}[1]`,o!==void 0&&`${c}[0] !== ${c}[1]`].filter(e=>e).join(` && `),value:m[t]},{value:null}],e),{}),g=p??(t.translate?`move`:null);return[{name:`${r+o3}_bg`,type:`rect`,clip:!0,encode:{enter:{fill:{value:d},fillOpacity:{value:f}},update:u}},...n,{name:r+o3,type:`rect`,clip:!0,encode:{enter:{...g?{cursor:{value:g}}:{},fill:{value:`transparent`}},update:{...u,...h}}}]}};function ide(e,t,n,r){let i=!e.hasProjection,o=n.channel,s=n.signals.visual,c=a(i?e.scaleName(o):e.projectionName()),l=e=>`scale(${c}, ${e})`,u=e.getSizeSignalRef(o===Qq?`width`:`height`).signal,d=`${o}(unit)`,f=t.events.reduce((e,t)=>[...e,{events:t.between[0],update:`[${d}, ${d}]`},{events:t,update:`[${s}[0], clamp(${d}, 0, ${u})]`}],[]);if(i){let i=n.signals.data,a=r3.defined(t),u=e.getScaleComponent(o),d=u?u.get(`type`):void 0,p=r?{init:e3(r,!0,l)}:{value:[]};return f.push({events:{signal:t.name+s3},update:m$(d)?`[${l(`${i}[0]`)}, ${l(`${i}[1]`)}]`:`[0, 0]`}),a?[{name:i,on:[]}]:[{name:s,...p,on:f},{name:i,...r?{init:e3(r)}:{},on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${c}, ${s})`}]}]}{let e=o===Qq?0:1,n=t.name+l3;return[{name:s,...r?{init:`[${n}[0][${e}], ${n}[1][${e}]]`}:{value:[]},on:f}]}}function u3({model:e,channelDef:t,vgChannel:n,invalidValueRef:r,mainRefFn:i}){let a=Z1(t)&&t.condition,o=[];a&&(o=E(a).map(t=>{let n=i(t);if(U1(t)){let{param:r,empty:i}=t;return{test:i6(e,{param:r,empty:i}),...n}}return{test:o6(e,t.test),...n}})),r!==void 0&&o.push(r);let s=i(t);return s!==void 0&&o.push(s),o.length>1||o.length===1&&o[0].test?{[n]:o}:o.length===1?{[n]:o[0]}:{}}function d3(e,t=`text`){let n=e.encoding[t];return u3({model:e,channelDef:n,vgChannel:t,mainRefFn:t=>f3(t,e.config),invalidValueRef:void 0})}function f3(e,t,n=`datum`){if(e){if(s0(e))return oX(e.value);if(Q(e)){let{format:r,formatType:i}=E0(e);return C1({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function p3(e,t={}){let{encoding:n,markDef:r,config:i,stack:a}=e,o=n.tooltip;if(h(o))return{tooltip:h3({tooltip:o},a,i,t)};{let s=t.reactiveGeom?`datum.datum`:`datum`;return u3({model:e,channelDef:o,vgChannel:`tooltip`,mainRefFn:e=>{let o=g3(e,i,s);if(o)return o;if(e===null)return;let c=fX(`tooltip`,r,i);if(c===!0&&(c={content:`encoding`}),_(c))return{value:c};if(d(c))return Y(c)?c:c.content===`encoding`?h3(n,a,i,t):{signal:s}},invalidValueRef:void 0})}}function m3(e,t,n,{reactiveGeom:r}={}){let i={...n,...n.tooltipFormat},a=new Set,o=r?`datum.datum`:`datum`,s=[];function c(n,r){let c=ZJ(r),l=o0(n)?n:{...n,type:e[c].type},u=l.title||T0(l,i),d=E(u).join(`, `).replaceAll(/"/g,`\\"`),f;if(lY(r)){let t=r===`x`?`x2`:`y2`,n=O0(e[t]);if(VY(l.bin)&&n){let e=$(l,{expr:o}),r=$(n,{expr:o}),{format:s,formatType:c}=E0(l);f=M1(e,r,s,c,i),a.add(t)}}if((lY(r)||r===oJ||r===iJ)&&t&&t.fieldChannel===r&&t.offset===`normalize`){let{format:e,formatType:t}=E0(l);f=C1({fieldOrDatumDef:l,format:e,formatType:t,expr:o,config:i,normalizeStack:!0}).signal}f??=g3(l,i,o).signal,s.push({channel:r,key:d,value:f})}$0(e,(e,t)=>{Z(e)?c(e,t):Q1(e)&&c(e.condition,t)});let l={};for(let{channel:e,key:t,value:n}of s)!a.has(e)&&!l[t]&&(l[t]=n);return l}function h3(e,t,n,{reactiveGeom:r}={}){let i=Sq(m3(e,t,n,{reactiveGeom:r})).map(([e,t])=>`"${e}": ${t}`);return i.length>0?{signal:`{${i.join(`, `)}}`}:void 0}function g3(e,t,n=`datum`){if(Z(e)&&YQ(e.type)&&!e.timeUnit&&!E0(e).format&&!E0(e).formatType){let t=`${n}["${e.field}"]`;return{signal:`isValid(${t}) ? isArray(${t}) ? join(${t}, '\\n') : ${t} : ""+${t}`}}return f3(e,t,n)}function ade(e){let{markDef:t,config:n}=e,r=fX(`aria`,t,n);return r===!1?{}:{...r?{aria:r}:{},...ode(e),...sde(e)}}function ode(e){let{mark:t,markDef:n,config:r}=e;if(r.aria===!1)return{};let i=fX(`ariaRoleDescription`,n,r);return i==null?p(eX,t)?{}:{ariaRoleDescription:{value:t}}:{ariaRoleDescription:{value:i}}}function sde(e){let{encoding:t,markDef:n,config:r,stack:i}=e,a=t.description;if(a)return u3({model:e,channelDef:a,vgChannel:`description`,mainRefFn:t=>f3(t,e.config),invalidValueRef:void 0});let o=fX(`description`,n,r);if(o!=null)return{description:oX(o)};if(r.aria===!1)return{};let s=m3(t,i,r);if(!bq(s))return{description:{signal:Sq(s).filter(([e])=>!e.startsWith(`_`)).map(([e,t])=>[e,t.replaceAll(`\\n`,` `)]).map(([e,t],n)=>`"${n>0?`; `:``}${e}: " + (${t})`).join(` + `)}}}function _3(e,t,n={}){let{markDef:r,encoding:i,config:a}=t,{vgChannel:o}=n,{defaultRef:s,defaultValue:c}=n,l=i[e];s===void 0&&(c??=fX(e,r,a,{vgChannel:o,ignoreVgConfig:!Z1(l)}),c!==void 0&&(s=oX(c)));let u={markDef:r,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e)},d=f1({...u,scaleChannel:e,channelDef:l});return u3({model:t,channelDef:l,vgChannel:o??e,invalidValueRef:d,mainRefFn:t=>y1({...u,channel:e,channelDef:t,stack:null,defaultRef:s})})}function v3(e,t={filled:void 0}){let{markDef:n,encoding:r,config:i}=e,{type:a}=n,o=t.filled??fX(`filled`,n,i),s=lq([`bar`,`point`,`circle`,`square`,`geoshape`],a)?`transparent`:void 0,c=fX(o===!0?`color`:void 0,n,i,{vgChannel:`fill`})??i.mark[o===!0&&`color`]??s,l=fX(o===!1?`color`:void 0,n,i,{vgChannel:`stroke`})??i.mark[o===!1&&`color`],u=o?`fill`:`stroke`,d={...c?{fill:oX(c)}:{},...l?{stroke:oX(l)}:{}};return n.color&&(o?n.fill:n.stroke)&&X(iZ(`property`,{fill:`fill`in n,stroke:`stroke`in n})),{...d,..._3(`color`,e,{vgChannel:u,defaultValue:o?c:l}),..._3(`fill`,e,{defaultValue:r.fill?c:void 0}),..._3(`stroke`,e,{defaultValue:r.stroke?l:void 0})}}function cde(e){let{encoding:t,mark:n}=e,r=t.order;return!W$(n)&&s0(r)?u3({model:e,channelDef:r,vgChannel:`zindex`,mainRefFn:e=>oX(e.value),invalidValueRef:void 0}):{}}function y3({channel:e,markDef:t,encoding:n={},model:r,bandPosition:i}){let a=`${e}Offset`,o=t[a],s=n[a];if((a===`xOffset`||a===`yOffset`)&&s)return{offsetType:`encoding`,offset:y1({channel:a,channelDef:s,markDef:t,config:r?.config,scaleName:r.scaleName(a),scale:r.getScaleComponent(a),stack:null,defaultRef:oX(o),bandPosition:i})};let c=t[a];return c?{offsetType:`visual`,offset:c}:{}}function b3(e,t,{defaultPos:n,vgChannel:r}){let{encoding:i,markDef:a,config:o,stack:s}=t,c=i[e],l=i[$J(e)],u=t.scaleName(e),d=t.getScaleComponent(e),{offset:f,offsetType:p}=y3({channel:e,markDef:a,encoding:i,model:t,bandPosition:.5}),m=x3({model:t,defaultPos:n,channel:e,scaleName:u,scale:d}),h=!c&&lY(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:lde({channel:e,channelDef:c,channel2Def:l,markDef:a,config:o,scaleName:u,scale:d,stack:s,offset:f,defaultRef:m,bandPosition:p===`encoding`?0:void 0});return h?{[r||e]:h}:void 0}function lde(e){let{channel:t,channelDef:n,scaleName:r,stack:i,offset:a,markDef:o}=e;if(Q(n)&&i&&t===i.fieldChannel){if(Z(n)){let e=n.bandPosition;if(e===void 0&&o.type===`text`&&(t===`radius`||t===`theta`)&&(e=.5),e!==void 0)return _1({scaleName:r,fieldOrDatumDef:n,startSuffix:`start`,bandPosition:e,offset:a})}return g1(n,r,{suffix:`end`},{offset:a})}return m1(e)}function x3({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){let{markDef:a,config:o}=e;return()=>{let s=ZJ(n),c=QJ(n),l=fX(n,a,o,{vgChannel:c});if(l!==void 0)return b1(n,l);switch(t){case`zeroOrMin`:return S3({scaleName:r,scale:i,mode:`zeroOrMin`,mainChannel:s,config:o});case`zeroOrMax`:return S3({scaleName:r,scale:i,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:s,config:o});case`mid`:return{...e[eY(n)],mult:.5}}}}function S3({mainChannel:e,config:t,...n}){let r=d1(n),{mode:i}=n;if(r)return r;switch(e){case`radius`:{if(i===`zeroOrMin`)return{value:0};let{widthSignal:e,heightSignal:t}=i.zeroOrMax;return{signal:`min(${e},${t})/2`}}case`theta`:return i===`zeroOrMin`?{value:0}:{signal:`2*PI`};case`x`:return i===`zeroOrMin`?{value:0}:{field:{group:`width`}};case`y`:return i===`zeroOrMin`?{field:{group:`height`}}:{value:0}}}var ude={left:`x`,center:`xc`,right:`x2`},dde={top:`y`,middle:`yc`,bottom:`y2`};function C3(e,t,n,r=`middle`){if(e===`radius`||e===`theta`)return QJ(e);let i=e===`x`?`align`:`baseline`,a=fX(i,t,n),o;return Y(a)?(X(mZ(i)),o=void 0):o=a,e===`x`?ude[o||(r===`top`?`left`:`center`)]:dde[o||r]}function w3(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?T3(e,t,{defaultPos:n,defaultPos2:r}):b3(e,t,{defaultPos:n})}function T3(e,t,{defaultPos:n,defaultPos2:r}){let{markDef:i,config:a}=t,o=$J(e),s=eY(e),c=fde(t,r,o);return{...b3(e,t,{defaultPos:n,vgChannel:c[s]?C3(e,i,a):QJ(e)}),...c}}function fde(e,t,n){let{encoding:r,mark:i,markDef:a,stack:o,config:s}=e,c=ZJ(n),l=eY(n),u=QJ(n),d=r[c],f=e.scaleName(c),p=e.getScaleComponent(c),{offset:m}=n in r||n in a?y3({channel:n,markDef:a,encoding:r,model:e}):y3({channel:c,markDef:a,encoding:r,model:e});if(!d&&(n===`x2`||n===`y2`)&&(r.latitude||r.longitude)){let t=eY(n),r=e.markDef[t];return r==null?{[u]:{field:e.getName(n)}}:{[t]:{value:r}}}let h=pde({channel:n,channelDef:d,channel2Def:r[n],markDef:a,config:s,scaleName:f,scale:p,stack:o,offset:m,defaultRef:void 0});return h===void 0?E3(n,a)||E3(n,{[n]:mX(n,a,s.style),[l]:mX(l,a,s.style)})||E3(n,s[i])||E3(n,s.mark)||{[u]:x3({model:e,defaultPos:t,channel:n,scaleName:f,scale:p})()}:{[u]:h}}function pde({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:s,offset:c,defaultRef:l}){return Q(t)&&s&&e.charAt(0)===s.fieldChannel.charAt(0)?g1(t,a,{suffix:`start`},{offset:c}):m1({channel:e,channelDef:n,scaleName:a,scale:o,stack:s,markDef:r,config:i,offset:c,defaultRef:l})}function E3(e,t){let n=eY(e),r=QJ(e);if(t[r]!==void 0)return{[r]:b1(e,t[r])};if(t[e]!==void 0)return{[r]:b1(e,t[e])};if(t[n]){let r=t[n];if(n1(r))X(aZ(n));else return{[n]:b1(e,r)}}}function D3(e,t){let{config:n,encoding:r,markDef:i}=e,a=i.type,o=$J(t),s=eY(t),c=r[t],l=r[o],u=e.getScaleComponent(t),d=u?u.get(`type`):void 0,f=i.orient,p=r[s]??r.size??fX(`size`,i,n,{vgChannel:s}),m=tY(t),h=a===`bar`&&(t===`x`?f===`vertical`:f===`horizontal`)||a===`tick`&&(t===`y`?f===`vertical`:f===`horizontal`);return Z(c)&&(BY(c.bin)||VY(c.bin)||c.timeUnit&&!l)&&!(p&&!n1(p))&&!r[m]&&!p$(d)?gde({fieldDef:c,fieldDef2:l,channel:t,model:e}):(Q(c)&&p$(d)||h)&&!l?hde(c,t,e):T3(t,e,{defaultPos:`zeroOrMax`,defaultPos2:`zeroOrMin`})}function mde(e,t,n,r,i,a,o){if(n1(i)){if(n){let e=n.get(`type`);if(e===`band`){let e=`bandwidth('${t}')`;i.band!==1&&(e=`${i.band} * ${e}`);let n=pX(`minBandSize`,{type:o},r);return{signal:n?`max(${lX(n)}, ${e})`:e}}i.band!==1&&X(vZ(e))}else return{mult:i.band,field:{group:e}}}else if(Y(i))return i;else if(i)return{value:i};if(n){let e=n.get(`range`);if(YY(e)&&v(e.step))return{value:e.step-2}}if(!a){let{bandPaddingInner:t,barBandPaddingInner:n,rectBandPaddingInner:i,tickBandPaddingInner:a}=r.scale,s=Rq(t,o===`tick`?a:o===`bar`?n:i);if(Y(s))return{signal:`(1 - (${s.signal})) * ${e}`};if(v(s))return{signal:`${1-s} * ${e}`}}return{value:L2(r.view,e)-2}}function hde(e,t,n){let{markDef:r,encoding:i,config:a,stack:o}=n,s=r.orient,c=n.scaleName(t),l=n.getScaleComponent(t),u=eY(t),d=$J(t),f=tY(t),p=n.scaleName(f),m=n.getScaleComponent(nY(t)),g=r.type===`tick`||s===`horizontal`&&t===`y`||s===`vertical`&&t===`x`,_;(i.size||r.size)&&(g?_=_3(`size`,n,{vgChannel:u,defaultRef:oX(r.size)}):X(SZ(r.type)));let v=!!_,y=J1({channel:t,fieldDef:e,markDef:r,config:a,scaleType:(l||m)?.get(`type`),useVlSizeChannel:g});_||={[u]:mde(u,p||c,m||l,a,y,!!e,r.type)};let b=C3(t,r,a,(l||m)?.get(`type`)===`band`&&n1(y)&&!v?`top`:`middle`),x=b===`xc`||b===`yc`,{offset:S,offsetType:C}=y3({channel:t,markDef:r,encoding:i,model:n,bandPosition:x?.5:0}),w=(x&&C!==`encoding`&&Z(e)&&e.timeUnit&&!i[d]?q1({fieldDef:e,markDef:r,config:a}):void 0)??(x?C===`encoding`?0:.5:Y(y)?{signal:`(1-${y})/2`}:n1(y)?(1-y.band)/2:0),T=m1({channel:t,channelDef:e,markDef:r,config:a,scaleName:c,scale:l,stack:o,offset:S,defaultRef:x3({model:n,defaultPos:`mid`,channel:t,scaleName:c,scale:l}),bandPosition:w});if(u)return{[b]:T,..._};{let e=QJ(d),t=_[u],n=S?{...t,offset:S}:t;return{[b]:T,[e]:h(T)?[T[0],{...T[1],offset:n}]:{...T,offset:n}}}}function O3(e,t,n,r,i,a,o){if(PJ(e))return 0;let s=e===`x`||e===`y2`,c=s?-t/2:t/2;if(Y(n)||Y(i)||Y(r)||a){let e=lX(n),t=lX(i),l=lX(r),u=lX(a),d=a?`(${o} < ${u} ? ${s?``:`-`}0.5 * (${u} - (${o})) : ${c})`:c,f=l?`${l} + `:``,p=e?`(${e} ? -1 : 1) * `:``,m=t?`(${t} + ${d})`:d;return{signal:f+p+m}}return i||=0,r+(n?-i-c:+i+c)}function gde({fieldDef:e,fieldDef2:t,channel:n,model:r}){let{config:i,markDef:a,encoding:o}=r,s=r.getScaleComponent(n),c=r.scaleName(n),l=s?s.get(`type`):void 0,u=s.get(`reverse`),d=J1({channel:n,fieldDef:e,markDef:a,config:i,scaleType:l}),f=(r.component.axes[n]?.[0])?.get(`translate`)??.5,p=lY(n)?fX(`binSpacing`,a,i)??0:0,m=$J(n),h=QJ(n),g=QJ(m),_=pX(`minBandSize`,a,i),{offset:v}=y3({channel:n,markDef:a,encoding:o,model:r,bandPosition:0}),{offset:y}=y3({channel:m,markDef:a,encoding:o,model:r,bandPosition:0}),b=v1({fieldDef:e,scaleName:c}),x=O3(n,p,u,f,v,_,b),S=O3(m,p,u,f,y??v,_,b),C=Y(d)?{signal:`(1-${d.signal})/2`}:n1(d)?(1-d.band)/2:.5,w=q1({fieldDef:e,fieldDef2:t,markDef:a,config:i});if(BY(e.bin)||e.timeUnit){let t=e.timeUnit&&w!==.5;return{[g]:k3({fieldDef:e,scaleName:c,bandPosition:C,offset:S,useRectOffsetField:t}),[h]:k3({fieldDef:e,scaleName:c,bandPosition:Y(C)?{signal:`1-${C.signal}`}:1-C,offset:x,useRectOffsetField:t})}}if(VY(e.bin)){let n=g1(e,c,{},{offset:S});if(Z(t))return{[g]:n,[h]:g1(t,c,{},{offset:x})};if(HY(e.bin)&&e.bin.step)return{[g]:n,[h]:{signal:`scale("${c}", ${$(e,{expr:`datum`})} + ${e.bin.step})`,offset:x}}}X(GZ(m))}function k3({fieldDef:e,scaleName:t,bandPosition:n,offset:r,useRectOffsetField:i}){return _1({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:r,...i?{startSuffix:z4,endSuffix:B4}:{}})}var _de=new Set([`aria`,`width`,`height`]);function A3(e,t){let{fill:n=void 0,stroke:r=void 0}=t.color===`include`?v3(e):{};return{...vde(e.markDef,t),...j3(`fill`,n),...j3(`stroke`,r),..._3(`opacity`,e),..._3(`fillOpacity`,e),..._3(`strokeOpacity`,e),..._3(`strokeWidth`,e),..._3(`strokeDash`,e),...cde(e),...p3(e),...d3(e,`href`),...ade(e)}}function j3(e,t){return t?{[e]:t}:{}}function vde(e,t){return $Y.reduce((n,r)=>(!_de.has(r)&&J(e,r)&&t[r]!==`ignore`&&(n[r]=oX(e[r])),n),{})}function M3(e){let{config:t,markDef:n}=e,r=new Set;if(e.forEachFieldDef((i,a)=>{let o;if(!CY(a)||!(o=e.getScaleType(a)))return;let s=FY(i.aggregate);if(u1(l1({scaleChannel:a,markDef:n,config:t,scaleType:o,isCountAggregate:s}))){let t=e.vgField(a,{expr:`datum`,binSuffix:e.stack?.impute?`mid`:void 0});t&&r.add(t)}}),r.size>0)return{defined:{signal:[...r].map(e=>GQ(e,!0)).join(` && `)}}}function N3(e,t){if(t!==void 0)return{[e]:oX(t)}}var P3=`voronoi`,F3={defined:e=>e.type===`point`&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(P3)},marks:(e,t,n)=>{let{x:r,y:i}=t.project.hasChannel,a=e.mark;if(W$(a))return X(OX(a)),n;let o={name:e.getName(P3),type:`path`,interactive:!0,aria:!1,from:{data:e.getName(`marks`)},encode:{update:{fill:{value:`transparent`},strokeWidth:{value:.35},stroke:{value:`transparent`},isVoronoi:{value:!0},...p3(e,{reactiveGeom:!0})}},transform:[{type:`voronoi`,x:{expr:r||!i?`datum.datum.x || 0`:`0`},y:{expr:i||!r?`datum.datum.y || 0`:`0`},size:[e.getSizeSignalRef(`width`),e.getSizeSignalRef(`height`)]}]},s=0,c=!1;return n.forEach((t,n)=>{let r=t.name??``;r===e.component.mark[0].name?s=n:r.includes(P3)&&(c=!0)}),c||n.splice(s+1,0,o),n}},I3={defined:e=>e.type===`point`&&e.resolve===`global`&&e.bind&&e.bind!==`scales`&&!T2(e.bind),parse:(e,t,n)=>Q3(t,n),topLevelSignals:(e,t,n)=>{let r=t.name,i=t.project,o=t.bind,s=t.init?.[0],c=F3.defined(t)?`(item().isVoronoi ? datum.datum : datum)`:`datum`;return i.items.forEach((e,i)=>{let l=Tq(`${r}_${e.field}`);n.filter(e=>e.name===l).length||n.unshift({name:l,...s?{init:e3(s[i])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${c}[${a(e.field)}] : null`}]:[],bind:o[e.field]??o[e.channel]??o})}),n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(e=>e.name===r+q3),o=r+W4,s=i.items.map(e=>Tq(`${r}_${e.field}`)),c=s.map(e=>`${e} !== null`).join(` && `);return s.length&&(a.update=`${c} ? {fields: ${o}, values: [${s.join(`, `)}]} : null`),delete a.value,delete a.on,n}},L3=`_toggle`,R3={defined:e=>e.type===`point`&&!$3(e)&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+L3,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+q3,r=t.name+L3;return`${r} ? null : ${n}, ${t.resolve===`global`?`${r} ? null : true, `:`${r} ? null : {unit: ${X3(e)}}, `}${r} ? ${n} : null`}},yde={defined:e=>e.clear!==void 0&&e.clear!==!1&&!$3(e),parse:(e,t)=>{t.clear&&=_(t.clear)?mz(t.clear,`view`):t.clear},topLevelSignals:(e,t,n)=>{if(I3.defined(t))for(let e of t.project.items){let r=n.findIndex(n=>n.name===Tq(`${t.name}_${e.field}`));r!==-1&&n[r].on.push({events:t.clear,update:`null`})}return n},signals:(e,t,n)=>{function r(e,r){e!==-1&&n[e].on&&n[e].on.push({events:t.clear,update:r})}if(t.type===`interval`)for(let e of t.project.items){let t=n.findIndex(t=>t.name===e.signals.visual);r(t,`[0, 0]`),t===-1&&r(n.findIndex(t=>t.name===e.signals.data),`null`)}else{let e=n.findIndex(e=>e.name===t.name+q3);r(e,`null`),R3.defined(t)&&(e=n.findIndex(e=>e.name===t.name+L3),r(e,`false`))}return n}},z3={defined:e=>{let t=e.resolve===`global`&&e.bind&&T2(e.bind),n=e.project.items.length===1&&e.project.items[0].field!==w2;return t&&!n&&X(NX),t&&n},parse:(e,t,n)=>{let r=G(n);if(r.select=_(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},Q3(t,r),d(n.select)&&(n.select.on||n.select.clear)){let e=`event.item && indexof(event.item.mark.role, "legend") < 0`;for(let n of t.events)n.filter=E(n.filter??[]),n.filter.includes(e)||n.filter.push(e)}let i=E2(t.bind)?t.bind.legend:`click`;t.bind={legend:{merge:_(i)?mz(i,`view`):E(i)}}},topLevelSignals:(e,t,n)=>{let r=t.name,i=E2(t.bind)&&t.bind.legend,a=e=>t=>{let n=G(t);return n.markname=e,n};for(let e of t.project.items){if(!e.hasLegend)continue;let o=`${Tq(e.field)}_legend`,s=`${r}_${o}`;if(n.filter(e=>e.name===s).length===0){let e=i.merge.map(a(`${o}_symbols`)).concat(i.merge.map(a(`${o}_labels`))).concat(i.merge.map(a(`${o}_entries`)));n.unshift({name:s,...t.init?{}:{value:null},on:[{events:e,update:`isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value`,force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${s}`,force:!0}]})}}return n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(e=>e.name===r+q3),o=r+W4,s=i.items.filter(e=>e.hasLegend).map(e=>Tq(`${r}_${Tq(e.field)}_legend`)),c=`${s.map(e=>`${e} !== null`).join(` && `)} ? {fields: ${o}, values: [${s.join(`, `)}]} : null`;t.events&&s.length>0?a.on.push({events:s.map(e=>({signal:e})),update:c}):s.length>0&&(a.update=c,delete a.value,delete a.on);let l=n.find(e=>e.name===r+L3),u=E2(t.bind)&&t.bind.legend;return l&&(t.events?l.on.push({...l.on[0],events:u}):l.on[0].events=u),n}};function bde(e,t,n){let r=e.fieldDef(t)?.field;for(let i of xq(e.component.selection??{})){let e=i.project.hasField[r]??i.project.hasChannel[t];if(e&&z3.defined(i)){let t=n.get(`selections`)??[];t.push(i.name),n.set(`selections`,t,!1),e.hasLegend=!0}}}var B3=`_translate_anchor`,V3=`_translate_delta`,xde={defined:e=>e.type===`interval`&&e.translate,signals:(e,t,n)=>{let r=t.name,i=r3.defined(t),a=r+B3,{x:o,y:s}=t.project.hasChannel,c=mz(t.translate,`scope`);return i||(c=c.map(e=>(e.between[0].markname=r+o3,e))),n.push({name:a,value:{},on:[{events:c.map(e=>e.between[0]),update:`{x: x(unit), y: y(unit)${o===void 0?``:`, extent_x: ${i?i3(e,Qq):`slice(${o.signals.visual})`}`}${s===void 0?``:`, extent_y: ${i?i3(e,$q):`slice(${s.signals.visual})`}`}}`}]},{name:r+V3,value:{},on:[{events:c,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),o!==void 0&&H3(e,t,o,`width`,n),s!==void 0&&H3(e,t,s,`height`,n),n}};function H3(e,t,n,r,i){let a=t.name,o=a+B3,s=a+V3,c=n.channel,l=r3.defined(t),u=i.find(e=>e.name===n.signals[l?`data`:`visual`]),d=e.getSizeSignalRef(r).signal,f=e.getScaleComponent(c),p=f?.get(`type`),m=f?.get(`reverse`),h=l?c===Qq?m?``:`-`:m?`-`:``:``,g=`${o}.extent_${c}`,_=`${h}${s}.${c} / ${l?`${d}`:`span(${g})`}`,v=`${!l||!f?`panLinear`:p===`log`?`panLog`:p===`symlog`?`panSymlog`:p===`pow`?`panPow`:`panLinear`}(${g}, ${_}${l?p===`pow`?`, ${f.get(`exponent`)??1}`:p===`symlog`?`, ${f.get(`constant`)??1}`:``:``})`;u.on.push({events:{signal:s},update:l?v:`clampRange(${v}, 0, ${d})`})}var U3=`_zoom_anchor`,W3=`_zoom_delta`,Sde={defined:e=>e.type===`interval`&&e.zoom,signals:(e,t,n)=>{let r=t.name,i=r3.defined(t),o=r+W3,{x:s,y:c}=t.project.hasChannel,l=a(e.scaleName(Qq)),u=a(e.scaleName($q)),d=mz(t.zoom,`scope`);return i||(d=d.map(e=>(e.markname=r+o3,e))),n.push({name:r+U3,on:[{events:d,update:i?`{${[l?`x: invert(${l}, x(unit))`:``,u?`y: invert(${u}, y(unit))`:``].filter(e=>e).join(`, `)}}`:`{x: x(unit), y: y(unit)}`}]},{name:o,on:[{events:d,force:!0,update:`pow(1.001, event.deltaY * pow(16, event.deltaMode))`}]}),s!==void 0&&G3(e,t,s,`width`,n),c!==void 0&&G3(e,t,c,`height`,n),n}};function G3(e,t,n,r,i){let a=t.name,o=n.channel,s=r3.defined(t),c=i.find(e=>e.name===n.signals[s?`data`:`visual`]),l=e.getSizeSignalRef(r).signal,u=e.getScaleComponent(o),d=u?.get(`type`),f=s?i3(e,o):c.name,p=a+W3,m=`${a}${U3}.${o}`,h=`${!s||!u?`zoomLinear`:d===`log`?`zoomLog`:d===`symlog`?`zoomSymlog`:d===`pow`?`zoomPow`:`zoomLinear`}(${f}, ${m}, ${p}${s?d===`pow`?`, ${u.get(`exponent`)??1}`:d===`symlog`?`, ${u.get(`constant`)??1}`:``:``})`;c.on.push({events:{signal:p},update:s?h:`clampRange(${h}, 0, ${l})`})}var K3=`_store`,q3=`_tuple`,Cde=`_modify`,J3=`vlSelectionResolve`,Y3=[Yue,rde,Kue,R3,I3,r3,z3,yde,xde,Sde,F3];function wde(e){let t=e.parent;for(;t&&!$8(t);)t=t.parent;return t}function X3(e,{escape:t}={escape:!0}){let n=t?a(e.name):e.name,r=wde(e);if(r){let{facet:e}=r;for(let t of HJ)e[t]&&(n+=` + '__facet_${t}_' + (facet[${a(r.vgField(t))}])`)}return n}function Z3(e){return xq(e.component.selection??{}).reduce((e,t)=>e||t.project.hasSelectionId,!1)}function Q3(e,t){(_(t.select)||!t.select.on)&&delete e.events,(_(t.select)||!t.select.clear)&&delete e.clear,(_(t.select)||!t.select.toggle)&&delete e.toggle}function $3(e){return e.events?.find(e=>`type`in e&&e.type===`timer`)}function e6(e){let t=[];return e.type===`Identifier`?[e.name]:e.type===`Literal`?[e.value]:(e.type===`MemberExpression`&&(t.push(...e6(e.object)),t.push(...e6(e.property))),t)}function t6(e){return e.object.type===`MemberExpression`?t6(e.object):e.object.name===`datum`}function n6(e){let t=MK(e),n=new Set;return t.visit(e=>{e.type===`MemberExpression`&&t6(e)&&n.add(e6(e).slice(1).join(`.`))}),n}var r6=class e extends P4{model;filter;expr;_dependentFields;clone(){return new e(null,this.model,G(this.filter))}constructor(e,t,n){super(e),this.model=t,this.filter=n,this.expr=o6(this.model,this.filter,this),this._dependentFields=n6(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:`filter`,expr:this.expr}}hash(){return`Filter ${this.expr}`}};function Tde(e,t){let n={},r=e.config.selection;if(!t||!t.length)return n;let i=0;for(let a of t){let t=Tq(a.name),o=a.select,s=_(o)?o:o.type,c=d(o)?G(o):{type:s},l=r[s];for(let e in l)e!==`fields`&&e!==`encodings`&&(e===`mark`&&(c.mark={...l.mark,...c.mark}),(c[e]===void 0||c[e]===!0)&&(c[e]=G(l[e]??c[e])));let u=n[t]={...c,name:t,type:s,init:a.value,bind:a.bind,events:_(c.on)?mz(c.on,`scope`):E(G(c.on))};if($3(u)&&(i++,i>1)){delete n[t];continue}let f=G(a);for(let t of Y3)t.defined(u)&&t.parse&&t.parse(e,u,f)}return i>1&&X(BX),n}function i6(e,t,n,r=`datum`){let i=_(t)?t:t.param,o=Tq(i),s=a(o+K3),c;try{c=e.getSelectionComponent(o,i)}catch{return`!!${o}`}if(c.project.timeUnit){let t=n??e.component.data.raw,r=c.project.timeUnit.clone();t.parent?r.insertAsParentOf(t):t.parent=r}let l=`${c.project.hasSelectionId?`vlSelectionIdTest(`:`vlSelectionTest(`}${s}, ${r}${c.resolve===`global`?`)`:`, ${a(c.resolve)})`}`,u=`length(data(${s}))`;return t.empty===!1?`${u} && ${l}`:`!${u} || ${l}`}function a6(e,t,n){let r=Tq(t),i=n.encoding,o=n.field,s;try{s=e.getSelectionComponent(r,t)}catch{return r}if(!i&&!o)o=s.project.items[0].field,s.project.items.length>1&&X(HX(o));else if(i&&!o){let e=s.project.items.filter(e=>e.channel===i);!e.length||e.length>1?(o=s.project.items[0].field,X(UX(e,i,n,o))):o=e[0].field}return`${s.name}[${a(Pq(o))}]`}function Ede(e,t){for(let[n,r]of Sq(e.component.selection??{})){let i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new F4(new r6(t,e,{param:n}),i,M4.Lookup,e.component.data.outputNodeRefCounts)}}function o6(e,t,n){return Eq(t,t=>_(t)?t:MQ(t)?i6(e,t,n):WQ(t))}function Dde(e,t){if(e)return h(e)&&!JY(e)?e.map(e=>T0(e,t)).join(`, `):e}function s6(e,t,n,r){e.encode??={},e.encode[t]??={},e.encode[t].update??={},e.encode[t].update[n]=r}function c6(e,t,n,r={header:!1}){let{disable:i,orient:a,scale:o,labelExpr:s,title:c,zindex:l,...u}=e.combine();if(!i){for(let e in u){let n=e,r=lle[n],i=u[n];if(r&&r!==t&&r!==`both`)delete u[n];else if(B0(i)){let{condition:e,...t}=i,r=E(e),a=z0[n];if(a){let{vgProp:e,part:i}=a;s6(u,i,e,[...r.map(e=>{let{test:t,...n}=e;return{test:o6(null,t),...n}}),t]),delete u[n]}else a===null&&(u[n]={signal:r.map(e=>{let{test:t,...n}=e;return`${o6(null,t)} ? ${cX(n)} : `}).join(``)+cX(t)})}else if(Y(i)){let e=z0[n];if(e){let{vgProp:t,part:r}=e;s6(u,r,t,i),delete u[n]}}lq([`labelAlign`,`labelBaseline`],n)&&u[n]===null&&delete u[n]}if(t===`grid`){if(!u.grid)return;if(u.encode){let{grid:e}=u.encode;u.encode={...e?{grid:e}:{}},bq(u.encode)&&delete u.encode}return{scale:o,orient:a,...u,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Rq(l,0)}}{if(!r.header&&e.mainExtracted)return;if(s!==void 0){let e=s;u.encode?.labels?.update&&Y(u.encode.labels.update.text)&&(e=Fq(s,`datum.label`,u.encode.labels.update.text.signal)),s6(u,`labels`,`text`,{signal:e})}if(u.labelAlign===null&&delete u.labelAlign,u.encode){for(let t of V0)e.hasAxisPart(t)||delete u.encode[t];bq(u.encode)&&delete u.encode}let t=Dde(c,n);return{scale:o,orient:a,grid:!1,...t?{title:t}:{},...u,...n.aria===!1?{aria:!1}:{},zindex:Rq(l,0)}}}}function l6(e){let{axes:t}=e.component,n=[];for(let r of cY)if(t[r]){for(let i of t[r])if(!i.get(`disable`)&&!i.get(`gridScale`)){let t=r===`x`?`height`:`width`,i=e.getSizeSignalRef(t).signal;t!==i&&n.push({name:t,update:i})}}return n}function Ode(e,t){let{x:n=[],y:r=[]}=e;return[...n.map(e=>c6(e,`grid`,t)),...r.map(e=>c6(e,`grid`,t)),...n.map(e=>c6(e,`main`,t)),...r.map(e=>c6(e,`main`,t))].filter(e=>e)}function u6(e,t,n,r){return Object.assign.apply(null,[{},...e.map(e=>{if(e===`axisOrient`){let e=n===`x`?`bottom`:`left`,i=t[n===`x`?`axisBottom`:`axisLeft`]||{},a=t[n===`x`?`axisTop`:`axisRight`]||{},o=new Set([...q(i),...q(a)]),s={};for(let t of o.values())s[t]={signal:`${r.signal} === "${e}" ? ${lX(i[t])} : ${lX(a[t])}`};return s}return t[e]})])}function kde(e,t,n,r){let i=t===`band`?[`axisDiscrete`,`axisBand`]:t===`point`?[`axisDiscrete`,`axisPoint`]:l$(t)?[`axisQuantitative`]:t===`time`||t===`utc`?[`axisTemporal`]:[],a=e===`x`?`axisX`:`axisY`,o=Y(n)?`axisOrient`:`axis${Oq(n)}`,s=[...i,...i.map(e=>a+e.substr(4))],c=[`axis`,o,a];return{vlOnlyAxisConfig:u6(s,r,e,n),vgAxisConfig:u6(c,r,e,n),axisConfigStyle:Ade([...c,...s],r)}}function Ade(e,t){let n=[{}];for(let r of e){let e=t[r]?.style;if(e){e=E(e);for(let r of e)n.push(t.style[r])}}return Object.assign.apply(null,n)}function d6(e,t,n,r={}){let i=hX(e,n,t);if(i!==void 0)return{configFrom:`style`,configValue:i};for(let t of[`vlOnlyAxisConfig`,`vgAxisConfig`,`axisConfigStyle`])if(r[t]?.[e]!==void 0)return{configFrom:t,configValue:r[t][e]};return{}}var f6={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??jde(n,e),gridScale:({model:e,channel:t})=>Mde(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||h6(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||m6(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??Pde(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??Fde(t.type,n,Z(t)&&!!t.timeUnit,Z(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{let a=e===`x`?`width`:e===`y`?`height`:void 0,o=a?t.getSizeSignalRef(a):void 0;return n.tickCount??Lde({fieldOrDatumDef:r,scaleType:i,size:o,values:n.values})},tickMinStep:({axis:e,format:t,fieldOrDatumDef:n})=>e.tickMinStep??Rde({format:t,fieldOrDatumDef:n}),title:({axis:e,model:t,channel:n})=>{if(e.title!==void 0)return e.title;let r=g6(t,n);if(r!==void 0)return r;let i=t.typedFieldDef(n),a=n===`x`?`x2`:`y2`,o=t.fieldDef(a);return _X(i?[G1(i)]:[],Z(o)?[G1(o)]:[])},values:({axis:e,fieldOrDatumDef:t})=>zde(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??Bde(n,t)};function jde(e,t){return!p$(e)&&Z(t)&&!BY(t?.bin)&&!VY(t?.bin)}function Mde(e,t){let n=t===`x`?`y`:`x`;if(e.getScaleComponent(n))return e.scaleName(n)}function Nde(e,t,n,r,i){let a=t?.labelAngle;if(a!==void 0)return Y(a)?a:Wq(a);{let{configValue:a}=d6(`labelAngle`,r,t?.style,i);return a===void 0?n===Qq&&lq([$Q,ZQ],e.type)&&!(Z(e)&&e.timeUnit)?270:void 0:Wq(a)}}function p6(e){return`(((${e.signal} % 360) + 360) % 360)`}function m6(e,t,n,r){if(e!==void 0){if(n===`x`){if(Y(e)){let n=p6(e);return{signal:`(45 < ${n} && ${n} < 135) || (225 < ${n} && ${n} < 315) ? "middle" :(${n} <= 45 || 315 <= ${n}) === ${Y(t)?`(${t.signal} === "top")`:t===`top`} ? "bottom" : "top"`}}if(45<e&&e<135||225<e&&e<315)return`middle`;if(Y(t)){let n=e<=45||315<=e?`===`:`!==`;return{signal:`${t.signal} ${n} "top" ? "bottom" : "top"`}}return(e<=45||315<=e)==(t===`top`)?`bottom`:`top`}if(Y(e)){let n=p6(e),i=Y(t)?`(${t.signal} === "left")`:t===`left`;return{signal:`${n} <= 45 || 315 <= ${n} || (135 <= ${n} && ${n} <= 225) ? ${r?`"middle"`:`null`} : (45 <= ${n} && ${n} <= 135) === ${i} ? "top" : "bottom"`}}if(e<=45||315<=e||135<=e&&e<=225)return r?`middle`:null;if(Y(t)){let n=45<=e&&e<=135?`===`:`!==`;return{signal:`${t.signal} ${n} "left" ? "top" : "bottom"`}}return(45<=e&&e<=135)==(t===`left`)?`top`:`bottom`}}function h6(e,t,n){if(e===void 0)return;let r=n===`x`,i=r?0:90,a=r?`bottom`:`left`;if(Y(e)){let n=p6(e),o=Y(t)?`(${t.signal} === "${a}")`:t===a;return{signal:`(${i?`(${n} + 90)`:n} % 180 === 0) ? ${r?null:`"center"`} :(${i} < ${n} && ${n} < ${180+i}) === ${o} ? "left" : "right"`}}if((e+i)%180==0)return r?null:`center`;if(Y(t)){let n=i<e&&e<180+i?`===`:`!==`;return{signal:`${`${t.signal} ${n} "${a}"`} ? "left" : "right"`}}return(i<e&&e<180+i)==(t===a)?`left`:`right`}function Pde(e,t){if(t===`x`&&lq([`quantitative`,`temporal`],e))return!0}function Fde(e,t,n,r){if(n&&!d(r)||e!==`nominal`&&e!==`ordinal`)return t===`log`||t===`symlog`?`greedy`:!0}function Ide(e){return e===`x`?`bottom`:`left`}function Lde({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){if(!r&&!p$(t)&&t!==`log`){if(Z(e)){if(BY(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&lq([`month`,`hours`,`day`,`quarter`],EQ(e.timeUnit)?.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function Rde({format:e,fieldOrDatumDef:t}){if(e===`d`)return 1;if(Z(t)){let{timeUnit:e}=t;if(e){let t=OQ(e);if(t)return{signal:t}}}}function g6(e,t){let n=t===`x`?`x2`:`y2`,r=e.fieldDef(t),i=e.fieldDef(n),a=r?r.title:void 0,o=i?i.title:void 0;if(a&&o)return vX(a,o);if(a)return a;if(o)return o;if(a!==void 0)return a;if(o!==void 0)return o}function zde(e,t){let n=e.values;if(h(n))return L0(t,n);if(Y(n))return n}function Bde(e,t){return e===`rect`&&m0(t)?1:0}var _6=class e extends P4{transform;_dependentFields;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this._dependentFields=n6(this.transform.calculate)}static parseAllForSortIndex(t,n){return n.forEachFieldDef((n,r)=>{if(c0(n)&&z1(n.sort)){let{field:i,timeUnit:a}=n,o=n.sort,s=o.map((e,t)=>`${WQ({field:i,timeUnit:a,equal:e})} ? ${t} : `).join(``)+o.length;t=new e(t,{calculate:s,as:v6(n,r,{forAs:!0})})}}),t}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:`formula`,expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${K(this.transform)}`}};function v6(e,t,n){return $(e,{prefix:t,suffix:`sort_index`,...n})}function y6(e,t){return lq([`top`,`bottom`],t)?`column`:lq([`left`,`right`],t)||e===`row`?`row`:`column`}function b6(e,t,n,r){let i=r===`row`?n.headerRow:r===`column`?n.headerColumn:n.headerFacet;return Rq((t||{})[e],i[e],n.header[e])}function x6(e,t,n,r){let i={};for(let a of e){let e=b6(a,t||{},n,r);e!==void 0&&(i[a]=e)}return i}var S6=[`row`,`column`],C6=[`header`,`footer`];function Vde(e,t){let n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:o,titleOrient:s}=x6([`titleAnchor`,`titleAngle`,`titleOrient`],i.header,r,t),c=y6(t,s),l=Wq(o);return{name:`${t}-title`,type:`group`,role:`${c}-title`,title:{text:n,...t===`row`?{orient:`left`}:{},style:`guide-title`,...T6(l,c),...w6(c,l,a),...D6(r,i,t,Ale,b2)}}}function w6(e,t,n=`middle`){switch(n){case`start`:return{align:`left`};case`end`:return{align:`right`}}let r=h6(t,e===`row`?`left`:`top`,e===`row`?`y`:`x`);return r?{align:r}:{}}function T6(e,t){let n=m6(e,t===`row`?`left`:`top`,t===`row`?`y`:`x`,!0);return n?{baseline:n}:{}}function Hde(e,t){let n=e.component.layoutHeaders[t],r=[];for(let i of C6)if(n[i])for(let a of n[i]){let o=Wde(e,t,i,n,a);o!=null&&r.push(o)}return r}function Ude(e,t){let{sort:n}=e;return R1(n)?{field:$(n,{expr:`datum`}),order:n.order??`ascending`}:h(n)?{field:v6(e,t,{expr:`datum`}),order:`ascending`}:{field:$(e,{expr:`datum`}),order:n??`ascending`}}function E6(e,t,n){let{format:r,formatType:i,labelAngle:a,labelAnchor:o,labelOrient:s,labelExpr:c}=x6([`format`,`formatType`,`labelAngle`,`labelAnchor`,`labelOrient`,`labelExpr`],e.header,n,t),l=C1({fieldOrDatumDef:e,format:r,formatType:i,expr:`parent`,config:n}).signal,u=y6(t,s);return{text:{signal:c?Fq(Fq(c,`datum.label`,l),`datum.value`,$(e,{expr:`parent`})):l},...t===`row`?{orient:`left`}:{},style:`guide-label`,frame:`group`,...T6(a,u),...w6(u,a,o),...D6(n,e,t,jle,x2)}}function Wde(e,t,n,r,i){if(i){let a=null,{facetFieldDef:o}=r,s=e.config?e.config:void 0;if(o&&i.labels){let{labelOrient:e}=x6([`labelOrient`],o.header,s,t);(t===`row`&&!lq([`top`,`bottom`],e)||t===`column`&&!lq([`left`,`right`],e))&&(a=E6(o,t,s))}let c=$8(e)&&!B1(e.facet),l=i.axes,u=l?.length>0;if(a||u){let s=t===`row`?`height`:`width`;return{name:e.getName(`${t}_${n}`),type:`group`,role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:Ude(o,t)}:{},...u&&c?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...i.sizeSignal?{encode:{update:{[s]:i.sizeSignal}}}:{},...u?{axes:l}:{}}}}return null}var Gde={column:{start:0,end:1},row:{start:1,end:0}};function Kde(e,t){return Gde[t][e]}function qde(e,t){let n={};for(let r of HJ){let i=e[r];if(i?.facetFieldDef){let{titleAnchor:e,titleOrient:a}=x6([`titleAnchor`,`titleOrient`],i.facetFieldDef.header,t,r),o=y6(r,a),s=Kde(e,o);s!==void 0&&(n[o]=s)}}return bq(n)?void 0:n}function D6(e,t,n,r,i){let a={};for(let o of r){if(!i[o])continue;let r=b6(o,t?.header,e,n);r!==void 0&&(a[i[o]]=r)}return a}function O6(e){return[...k6(e,`width`),...k6(e,`height`),...k6(e,`childWidth`),...k6(e,`childHeight`)]}function k6(e,t){let n=t===`width`?`x`:`y`,r=e.component.layoutSize.get(t);if(r==null||r===`merged`)return[];let i=e.getSizeSignalRef(t).signal;if(r===`step`){let t=e.getScaleComponent(n);if(t){let r=t.get(`type`),a=t.get(`range`);if(p$(r)&&YY(a)){let r=e.scaleName(n);return $8(e.parent)&&e.parent.component.resolve.scale[n]===`independent`?[A6(r,a)]:[A6(r,a),{name:i,update:j6(r,t,`domain('${r}').length`)}]}}throw Error(`layout size is step although width/height is not step.`)}if(r==`container`){let t=i.endsWith(`width`),n=t?`containerSize()[0]`:`containerSize()[1]`,r=`isFinite(${n}) ? ${n} : ${I2(e.config.view,t?`width`:`height`)}`;return[{name:i,init:r,on:[{update:r,events:`window:resize`}]}]}return[{name:i,value:r}]}function A6(e,t){let n=`${e}_step`;return Y(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function j6(e,t,n){let r=t.get(`type`),i=t.get(`padding`),a=Rq(t.get(`paddingOuter`),i),o=t.get(`paddingInner`);return o=r===`band`?o===void 0?i:o:1,`bandspace(${n}, ${lX(o)}, ${lX(a)}) * ${e}_step`}function M6(e){return e===`childWidth`?`width`:e===`childHeight`?`height`:e}function N6(e,t){return q(e).reduce((n,r)=>({...n,...u3({model:t,channelDef:e[r],vgChannel:r,mainRefFn:e=>oX(e.value),invalidValueRef:void 0})}),{})}function P6(e,t){if($8(t))return e===`theta`?`independent`:`shared`;if(t5(t))return`shared`;if(e5(t))return lY(e)||e===`theta`||e===`radius`?`independent`:`shared`;throw Error(`invalid model type for resolve`)}function F6(e,t){let n=e.scale[t],r=lY(t)?`axis`:`legend`;return n===`independent`?(e[r][t]===`shared`&&X(kZ(t)),`independent`):e[r][t]||`shared`}var I6=q({...Nle,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),Jde=class extends y4{},L6={symbols:Yde,gradient:Xde,labels:Zde,entries:Qde};function Yde(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:a}){if(a!==`symbol`)return;let{markDef:o,encoding:s,config:c,mark:l}=n,u=o.filled&&l!==`trail`,d={...uX({},n,X$),...v3(n,{filled:u})},f=i.get(`symbolOpacity`)??c.legend.symbolOpacity,p=i.get(`symbolFillColor`)??c.legend.symbolFillColor,m=i.get(`symbolStrokeColor`)??c.legend.symbolStrokeColor,g=f===void 0?R6(s.opacity)??o.opacity:void 0;if(d.fill){if(r===`fill`||u&&r===pJ)delete d.fill;else if(J(d.fill,`field`))p?delete d.fill:(d.fill=oX(c.legend.symbolBaseFillColor??`black`),d.fillOpacity=oX(g??1));else if(h(d.fill)){let e=z6(s.fill??s.color)??o.fill??(u&&o.color);e&&(d.fill=oX(e))}}if(d.stroke){if(r===`stroke`||!u&&r===pJ)delete d.stroke;else if(J(d.stroke,`field`)||m)delete d.stroke;else if(h(d.stroke)){let e=Rq(z6(s.stroke||s.color),o.stroke,u?o.color:void 0);e&&(d.stroke={value:e})}}if(r!==yJ){let e=Z(t)&&V6(n,i,t);e?d.opacity=[{test:e,...oX(g??1)},oX(c.legend.unselectedOpacity)]:g&&(d.opacity=oX(g))}return d={...d,...e},bq(d)?void 0:d}function Xde(e,{model:t,legendType:n,legendCmpt:r}){if(n!==`gradient`)return;let{config:i,markDef:a,encoding:o}=t,s={},c=(r.get(`gradientOpacity`)??i.legend.gradientOpacity)===void 0?R6(o.opacity)||a.opacity:void 0;return c&&(s.opacity=oX(c)),s={...s,...e},bq(s)?void 0:s}function Zde(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){let a=n.legend(r)||{},o=n.config,s=Z(t)?V6(n,i,t):void 0,c=s?[{test:s,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:u}=a,d;x1(u)?d=T1({fieldOrDatumDef:t,field:`datum.value`,format:l,formatType:u,config:o}):l===void 0&&u===void 0&&o.customFormatTypes&&(t.type===`quantitative`&&o.numberFormatType?d=T1({fieldOrDatumDef:t,field:`datum.value`,format:o.numberFormat,formatType:o.numberFormatType,config:o}):t.type===`temporal`&&o.timeFormatType&&Z(t)&&t.timeUnit===void 0&&(d=T1({fieldOrDatumDef:t,field:`datum.value`,format:o.timeFormat,formatType:o.timeFormatType,config:o})));let f={...c?{opacity:c}:{},...d?{text:d}:{},...e};return bq(f)?void 0:f}function Qde(e,{legendCmpt:t}){return t.get(`selections`)?.length?{...e,fill:{value:`transparent`}}:e}function R6(e){return B6(e,(e,t)=>Math.max(e,t.value))}function z6(e){return B6(e,(e,t)=>Rq(e,t.value))}function B6(e,t){if(e0(e))return E(e.condition).reduce(t,e.value);if(s0(e))return e.value}function V6(e,t,n){let r=t.get(`selections`);if(!r?.length)return;let i=a(n.field);return r.map(e=>`(!length(data(${a(Tq(e)+K3)})) || (${e}[${i}] && indexof(${e}[${i}], datum.value) >= 0))`).join(` || `)}var H6={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:r,formatType:i}=t;return E1(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return D1(r,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??afe(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??ofe(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??efe(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>C0(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(BJ(n)&&h$(t)){if(e===`gradient`)return}else if(e===`symbol`)return;return e},values:({fieldOrDatumDef:e,legend:t})=>$de(t,e)};function $de(e,t){let n=e.values;if(h(n))return L0(t,n);if(Y(n))return n}function efe(e,t,n,r){if(t!==`shape`){let e=z6(n)??r;if(e)return e}switch(e){case`bar`:case`rect`:case`image`:case`square`:return`square`;case`line`:case`trail`:case`rule`:return`stroke`;case`arc`:case`point`:case`circle`:case`tick`:case`geoshape`:case`area`:case`text`:return`circle`}}function tfe(e){let{legend:t}=e;return Rq(t.type,nfe(e))}function nfe({channel:e,timeUnit:t,scaleType:n}){if(BJ(e)){if(lq([`quarter`,`month`,`day`],t))return`symbol`;if(h$(n))return`gradient`}return`symbol`}function rfe({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?`gradientDirection`:`symbolDirection`]??ife(n,t)}function ife(e,t){switch(e){case`top`:case`bottom`:return`horizontal`;case`left`:case`right`:case`none`:case void 0:return;default:return t===`gradient`?`horizontal`:void 0}}function afe({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){let{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:o,gradientVerticalMaxLength:s,gradientVerticalMinLength:c}=e;if(h$(i))return n===`horizontal`?r===`top`||r===`bottom`?U6(t,`width`,o,a):o:U6(t,`height`,c,s)}function U6(e,t,n,r){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})`}}function ofe(e){if(lq([`quantile`,`threshold`,`log`,`symlog`],e))return`greedy`}function W6(e){let t=Q8(e)?sfe(e):dfe(e);return e.component.legends=t,t}function sfe(e){let{encoding:t}=e,n={};for(let r of[pJ,...C2]){let i=k0(t[r]);!i||!e.getScaleComponent(r)||r===gJ&&Z(i)&&i.type===e$||(n[r]=ufe(e,r))}return n}function cfe(e,t){let n=e.scaleName(t);if(e.mark===`trail`){if(t===`color`)return{stroke:n};if(t===`size`)return{strokeWidth:n}}return t===`color`?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}function lfe(e,t,n,r){switch(t){case`disable`:return n!==void 0;case`values`:return!!n?.values;case`title`:if(t===`title`&&e===r?.title)return!0}return e===(n||{})[t]}function ufe(e,t){let n=e.legend(t),{markDef:r,encoding:i,config:a}=e,o=a.legend,s=new Jde({},cfe(e,t));bde(e,t,s);let c=n===void 0?o.disable:!n;if(s.set(`disable`,c,n!==void 0),c)return s;n||={};let l=e.getScaleComponent(t).get(`type`),u=k0(i[t]),d=Z(u)?EQ(u.timeUnit)?.unit:void 0,f=n.orient||a.legend.orient||`right`,p=tfe({legend:n,channel:t,timeUnit:d,scaleType:l}),m=rfe({legend:n,legendType:p,orient:f,legendConfig:o}),h={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:u,legendConfig:o,config:a,scaleType:l,orient:f,legendType:p,direction:m};for(let r of I6){if(p===`gradient`&&r.startsWith(`symbol`)||p===`symbol`&&r.startsWith(`gradient`))continue;let i=r in H6?H6[r](h):n[r];if(i!==void 0){let o=lfe(i,r,n,e.fieldDef(t));(o||a.legend[r]===void 0)&&s.set(r,i,o)}}let g=n?.encoding??{},_=s.get(`selections`),v={},y={fieldOrDatumDef:u,model:e,channel:t,legendCmpt:s,legendType:p};for(let t of[`labels`,`legend`,`title`,`symbols`,`gradient`,`entries`]){let n=N6(g[t]??{},e),r=t in L6?L6[t](n,y):n;r!==void 0&&!bq(r)&&(v[t]={..._?.length&&Z(u)?{name:`${Tq(u.field)}_legend_${t}`}:{},..._?.length?{interactive:!0}:{},update:_?.length?{...r,cursor:{value:`pointer`}}:r})}return bq(v)||s.set(`encode`,v,!!n?.encoding),s}function dfe(e){let{legends:t,resolve:n}=e.component;for(let r of e.children){W6(r);for(let i of q(r.component.legends))n.legend[i]=F6(e.component.resolve,i),n.legend[i]===`shared`&&(t[i]=G6(t[i],r.component.legends[i]),t[i]||(n.legend[i]=`independent`,delete t[i]))}for(let r of q(t))for(let t of e.children)t.component.legends[r]&&n.legend[r]===`shared`&&delete t.component.legends[r];return t}function G6(e,t){if(!e)return t.clone();let n=e.getWithExplicit(`orient`),r=t.getWithExplicit(`orient`);if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(let n of I6){let r=w4(e.getWithExplicit(n),t.getWithExplicit(n),n,`legend`,(e,t)=>{switch(n){case`symbolType`:return ffe(e,t);case`title`:return yX(e,t);case`type`:return i=!0,x4(`symbol`)}return C4(e,t,n,`legend`)});e.setWithExplicit(n,r)}return i&&(e.implicit?.encode?.gradient&&Dq(e.implicit,[`encode`,`gradient`]),e.explicit?.encode?.gradient&&Dq(e.explicit,[`encode`,`gradient`])),e}function ffe(e,t){return t.value===`circle`?t:e}function pfe(e,t,n,r){if(R0(t,n)){let i=Q8(e)?e.axis(n)??e.legend(n)??{}:{},a=$(t,{expr:`datum`}),o=$(t,{expr:`datum`,binSuffix:`end`});return{formulaAs:$(t,{binSuffix:`range`,forAs:!0}),formula:M1(a,o,i.format,i.formatType,r)}}return{}}function K6(e,t){return`${zY(e)}_${t}`}function mfe(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}function q6(e,t,n){let r=K6(N0(n,void 0)??{},t);return e.getName(`${r}_bins`)}function hfe(e){return`as`in e}function J6(e,t,n){let r,i;r=hfe(e)?_(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[$(e,{forAs:!0}),$(e,{binSuffix:`end`,forAs:!0})];let a={...N0(t,void 0)},o=K6(a,e.field),{signal:s,extentSignal:c}=mfe(n,o);if(UY(a.extent)){let e=a.extent;i=a6(n,e.param,e),delete a.extent}return{key:o,binComponent:{bin:a,field:e.field,as:[r],...s?{signal:s}:{},...c?{extentSignal:c}:{},...i?{span:i}:{}}}}var Y6=class e extends P4{bins;clone(){return new e(null,G(this.bins))}constructor(e,t){super(e),this.bins=t}static makeFromEncoding(t,n){let r=n.reduceFieldDef((e,t,r)=>{if(o0(t)&&BY(t.bin)){let{key:i,binComponent:a}=J6(t,t.bin,n);e[i]={...a,...e[i],...pfe(n,t,r,n.config)}}return e},{});return bq(r)?null:new e(t,r)}static makeFromTransform(t,n,r){let{key:i,binComponent:a}=J6(n,n.bin,r);return new e(t,{[i]:a})}merge(e,t){for(let n of q(e.bins))n in this.bins?(t(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=mq([...this.bins[n].as,...e.bins[n].as],K)):this.bins[n]=e.bins[n];for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(xq(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(xq(this.bins).map(e=>e.field))}hash(){return`Bin ${K(this.bins)}`}assemble(){return xq(this.bins).flatMap(e=>{let t=[],[n,...r]=e.as,{extent:i,...a}=e.bin,o={type:`bin`,field:Pq(e.field),as:n,signal:e.signal,...UY(i)?{extent:null}:{extent:i},...e.span?{span:{signal:`span(${e.span})`}}:{},...a};!i&&e.extentSignal&&(t.push({type:`extent`,field:Pq(e.field),signal:e.extentSignal}),o.extent={signal:e.extentSignal}),t.push(o);for(let e of r)for(let r=0;r<2;r++)t.push({type:`formula`,expr:$({field:n[r]},{expr:`datum`}),as:e[r]});return e.formula&&t.push({type:`formula`,expr:e.formula,as:e.formulaAs}),t})}};function gfe(e,t,n,r){let i=Q8(r)?r.encoding[$J(t)]:void 0;if(o0(n)&&Q8(r)&&Y1(n,i,r.markDef,r.config)){e.add($(n,{})),e.add($(n,{suffix:`end`}));let{mark:i,markDef:a,config:o}=r,s=q1({fieldDef:n,markDef:a,config:o});G$(i)&&s!==.5&&lY(t)&&(e.add($(n,{suffix:z4})),e.add($(n,{suffix:B4}))),n.bin&&R0(n,t)&&e.add($(n,{binSuffix:`range`}))}else if(LJ(t)){let n=IJ(t);e.add(r.getName(n))}else e.add($(n));return c0(n)&&x$(n.scale?.range)&&e.add(n.scale.range.field),e}function _fe(e,t){for(let n of q(t)){let r=t[n];for(let t of q(r))n in e?e[n][t]=new Set([...e[n][t]??[],...r[t]]):e[n]={[t]:r[t]}}}var X6=class e extends P4{dimensions;measures;clone(){return new e(null,new Set(this.dimensions),G(this.measures))}constructor(e,t,n){super(e),this.dimensions=t,this.measures=n}get groupBy(){return this.dimensions}static makeFromEncoding(t,n){let r=!1;n.forEachFieldDef(e=>{e.aggregate&&(r=!0)});let i={},a=new Set;return!r||(n.forEachFieldDef((e,t)=>{let{aggregate:r,field:o}=e;if(r){if(r===`count`)i[`*`]??={},i[`*`].count=new Set([$(e,{forAs:!0})]);else{if(jY(r)||MY(r)){let e=jY(r)?`argmin`:`argmax`,t=r[e];i[t]??={},i[t][e]=new Set([$({op:e,field:t},{forAs:!0})])}else i[o]??={},i[o][r]=new Set([$(e,{forAs:!0})]);CY(t)&&n.scaleDomain(t)===`unaggregated`&&(i[o]??={},i[o].min=new Set([$({field:o,aggregate:`min`},{forAs:!0})]),i[o].max=new Set([$({field:o,aggregate:`max`},{forAs:!0})]))}}else gfe(a,t,e,n)}),a.size+q(i).length===0)?null:new e(t,a,i)}static makeFromTransform(t,n){let r=new Set,i={};for(let e of n.aggregate){let{op:t,field:n,as:r}=e;t&&(t===`count`?(i[`*`]??={},i[`*`].count=new Set([r||$(e,{forAs:!0})])):(i[n]??={},i[n][t]??=new Set,i[n][t].add(r||$(e,{forAs:!0}))))}for(let e of n.groupby??[])r.add(e);return r.size+q(i).length===0?null:new e(t,r,i)}merge(e){return gq(this.dimensions,e.dimensions)?(_fe(this.measures,e.measures),!0):($Z(`different dimensions, cannot merge`),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...q(this.measures)])}producedFields(){let e=new Set;for(let t of q(this.measures))for(let n of q(this.measures[t])){let r=this.measures[t][n];r.size===0?e.add(`${n}_${t}`):r.forEach(e.add,e)}return e}hash(){return`Aggregate ${K({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let e=[],t=[],n=[];for(let r of q(this.measures))for(let i of q(this.measures[r]))for(let a of this.measures[r][i])n.push(a),e.push(i),t.push(r===`*`?null:Pq(r));return{type:`aggregate`,groupby:[...this.dimensions].map(Pq),ops:e,fields:t,as:n}}},Z6=class extends P4{model;name;data;column;row;facet;childModel;constructor(e,t,n,r){super(e),this.model=t,this.name=n,this.data=r;for(let e of HJ){let n=t.facet[e];if(n){let{bin:r,sort:i}=n;this[e]={name:t.getName(`${e}_domain`),fields:[$(n),...BY(r)?[$(n,{binSuffix:`end`})]:[]],...R1(i)?{sortField:i}:h(i)?{sortIndexField:v6(n,e)}:{}}}}this.childModel=t.child}hash(){let e=`Facet`;for(let t of HJ)this[t]&&(e+=` ${t.charAt(0)}:${K(this[t])}`);return e}get fields(){let e=[];for(let t of HJ)this[t]?.fields&&e.push(...this[t].fields);return e}dependentFields(){let e=new Set(this.fields);for(let t of HJ)this[t]&&(this[t].sortField&&e.add(this[t].sortField.field),this[t].sortIndexField&&e.add(this[t].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let e={};for(let t of cY){let n=this.childModel.component.scales[t];if(n&&!n.merged){let r=n.get(`type`),i=n.get(`range`);if(p$(r)&&YY(i)){let n=D8(O8(this.childModel,t));n?e[t]=n:X(TX(t))}}}return e}assembleRowColumnHeaderData(e,t,n){let r={row:`y`,column:`x`,facet:void 0}[e],i=[],a=[],o=[];r&&n&&n[r]&&(t?(i.push(`distinct_${n[r]}`),a.push(`max`)):(i.push(n[r]),a.push(`distinct`)),o.push(`distinct_${n[r]}`));let{sortField:s,sortIndexField:c}=this[e];if(s){let{op:e=P1,field:t}=s;i.push(t),a.push(e),o.push($(s,{forAs:!0}))}else c&&(i.push(c),a.push(`max`),o.push(c));return{name:this[e].name,source:t??this.data,transform:[{type:`aggregate`,groupby:this[e].fields,...i.length?{fields:i,ops:a,as:o}:{}}]}}assembleFacetHeaderData(e){let{columns:t}=this.model.layout,{layoutHeaders:n}=this.model.component,r=[],i={};for(let e of S6){for(let t of C6){let r=n[e]?.[t]??[];for(let t of r)if(t.axes?.length>0){i[e]=!0;break}}if(i[e]){let n=`length(data("${this.facet.name}"))`,i=e===`row`?t?{signal:`ceil(${n} / ${t})`}:1:t?{signal:`min(${n}, ${t})`}:{signal:n};r.push({name:`${this.facet.name}_${e}`,transform:[{type:`sequence`,start:0,stop:i}]})}}let{row:a,column:o}=i;return(a||o)&&r.unshift(this.assembleRowColumnHeaderData(`facet`,null,e)),r}assemble(){let e=[],t=null,n=this.getChildIndependentFieldsWithStep(),{column:r,row:i,facet:a}=this;if(r&&i&&(n.x||n.y)){t=`cross_${this.column.name}_${this.row.name}`;let r=[].concat(n.x??[],n.y??[]),i=r.map(()=>`distinct`);e.push({name:t,source:this.data,transform:[{type:`aggregate`,groupby:this.fields,fields:r,ops:i}]})}for(let r of[Xq,Yq])this[r]&&e.push(this.assembleRowColumnHeaderData(r,t,n));if(a){let t=this.assembleFacetHeaderData(n);t&&e.push(...t)}return e}};function Q6(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function vfe(e,t){let n=kq(e);return t===`number`?`toNumber(${n})`:t===`boolean`?`toBoolean(${n})`:t===`string`?`toString(${n})`:t===`date`?`toDate(${n})`:t===`flatten`?n:t.startsWith(`date:`)?`timeParse(${n},'${Q6(t.slice(5,t.length))}')`:t.startsWith(`utc:`)?`utcParse(${n},'${Q6(t.slice(4,t.length))}')`:(X(GX(t)),null)}function yfe(e){let t={};return rq(e.filter,e=>{if(VQ(e)){let n=null;NQ(e)?n=iX(e.equal):FQ(e)?n=iX(e.lte):PQ(e)?n=iX(e.lt):IQ(e)?n=iX(e.gt):LQ(e)?n=iX(e.gte):RQ(e)?n=e.range[0]:zQ(e)&&(n=(e.oneOf??e.in)[0]),n&&(eQ(n)?t[e.field]=`date`:v(n)?t[e.field]=`number`:_(n)&&(t[e.field]=`string`)),e.timeUnit&&(t[e.field]=`date`)}}),t}function bfe(e){let t={};function n(e){F0(e)?t[e.field]=`date`:e.type===`quantitative`&&IY(e.aggregate)?t[e.field]=`number`:Lq(e.field)>1?e.field in t||(t[e.field]=`flatten`):c0(e)&&R1(e.sort)&&Lq(e.sort.field)>1&&(e.sort.field in t||(t[e.sort.field]=`flatten`))}if((Q8(e)||$8(e))&&e.forEachFieldDef((t,r)=>{if(o0(t))n(t);else{let i=ZJ(r),a=e.fieldDef(i);n({...t,type:a.type})}}),Q8(e)){let{mark:n,markDef:r,encoding:i}=e;if(W$(n)&&!e.encoding.order){let e=i[r.orient===`horizontal`?`y`:`x`];Z(e)&&e.type===`quantitative`&&!(e.field in t)&&(t[e.field]=`number`)}}return t}function xfe(e){let t={};if(Q8(e)&&e.component.selection)for(let n of q(e.component.selection)){let r=e.component.selection[n];for(let e of r.project.items)!e.channel&&Lq(e.field)>1&&(t[e.field]=`flatten`)}return t}var $6=class e extends P4{_parse;clone(){return new e(null,G(this._parse))}constructor(e,t){super(e),this._parse=t}hash(){return`Parse ${K(this._parse)}`}static makeExplicit(e,t,n){let r={},i=t.data;return!O4(i)&&i?.format?.parse&&(r=i.format.parse),this.makeWithAncestors(e,r,{},n)}static makeWithAncestors(t,n,r,i){for(let e of q(r)){let t=i.getWithExplicit(e);t.value!==void 0&&(t.explicit||t.value===r[e]||t.value===`derived`||r[e]===`flatten`?delete r[e]:X(KX(e,r[e],t.value)))}for(let e of q(n)){let t=i.get(e);t!==void 0&&(t===n[e]?delete n[e]:X(KX(e,n[e],t)))}let a=new y4(n,r);i.copyAll(a);let o={};for(let e of q(a.combine())){let t=a.get(e);t!==null&&(o[e]=t)}return q(o).length===0||i.parseNothing?null:new e(t,o)}get parse(){return this._parse}merge(e){this._parse={...this._parse,...e.parse},e.remove()}assembleFormatParse(){let e={};for(let t of q(this._parse)){let n=this._parse[t];Lq(t)===1&&(e[t]=n)}return e}producedFields(){return new Set(q(this._parse))}dependentFields(){return new Set(q(this._parse))}assembleTransforms(e=!1){return q(this._parse).filter(t=>!e||Lq(t)>1).map(e=>{let t=vfe(e,this._parse[e]);return t?{type:`formula`,expr:t,as:Iq(e)}:null}).filter(e=>e!==null)}},e8=class e extends P4{clone(){return new e(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([w2])}hash(){return`Identifier`}assemble(){return{type:`identifier`,as:w2}}},t8=class e extends P4{params;clone(){return new e(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${K(this.params)}`}assemble(){return{type:`graticule`,...this.params===!0?{}:this.params}}},n8=class e extends P4{params;clone(){return new e(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??`data`])}hash(){return`Hash ${K(this.params)}`}assemble(){return{type:`sequence`,...this.params}}},r8=class extends P4{_data;_name;_generator;constructor(e){super(null),e??={name:`source`};let t;if(O4(e)||(t=e.format?{...sq(e.format,[`parse`])}:{}),E4(e))this._data={values:e.values};else if(T4(e)){if(this._data={url:e.url},!t.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];lq([`json`,`csv`,`tsv`,`dsv`,`topojson`],n)||(n=`json`),t.type=n}}else A4(e)?this._data={values:[{type:`Sphere`}]}:(D4(e)||O4(e))&&(this._data={});this._generator=O4(e),e.name&&(this._name=e.name),t&&!bq(t)&&(this._data.format=t)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw Error(`Source nodes have to be roots.`)}remove(){throw Error(`Source nodes are roots and cannot be removed.`)}hash(){throw Error(`Cannot hash sources`)}assemble(){return{name:this._name,...this._data,transform:[]}}};function i8(e){return e instanceof r8||e instanceof t8||e instanceof n8}var a8=class{#e;constructor(){this.#e=!1}setModified(){this.#e=!0}get modifiedFlag(){return this.#e}},o8=class extends a8{getNodeDepths(e,t,n){n.set(e,t);for(let r of e.children)this.getNodeDepths(r,t+1,n);return n}optimize(e){let t=[...this.getNodeDepths(e,0,new Map).entries()].sort((e,t)=>t[1]-e[1]);for(let e of t)this.run(e[0]);return this.modifiedFlag}},s8=class extends a8{optimize(e){this.run(e);for(let t of e.children)this.optimize(t);return this.modifiedFlag}},Sfe=class extends s8{mergeNodes(e,t){let n=t.shift();for(let r of t)e.removeChild(r),r.parent=n,r.remove()}run(e){let t=e.children.map(e=>e.hash()),n={};for(let r=0;r<t.length;r++)n[t[r]]===void 0?n[t[r]]=[e.children[r]]:n[t[r]].push(e.children[r]);for(let t of q(n))n[t].length>1&&(this.setModified(),this.mergeNodes(e,n[t]))}},Cfe=class extends s8{requiresSelectionId;constructor(e){super(),this.requiresSelectionId=e&&Z3(e)}run(e){e instanceof e8&&(this.requiresSelectionId&&(i8(e.parent)||e.parent instanceof X6||e.parent instanceof $6)||(this.setModified(),e.remove()))}},wfe=class extends a8{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;e instanceof R4&&(n=e.producedFields(),_q(n,t)&&(this.setModified(),e.removeFormulas(t),e.producedFields.length===0&&e.remove()));for(let r of e.children)this.run(r,new Set([...t,...n]))}},Tfe=class extends s8{constructor(){super()}run(e){e instanceof F4&&!e.isRequired()&&(this.setModified(),e.remove())}},Efe=class extends o8{run(e){if(!i8(e)&&!(e.numChildren()>1)){for(let t of e.children)if(t instanceof $6){if(e instanceof $6)this.setModified(),e.merge(t);else{if(yq(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}}},Dfe=class extends o8{run(e){let t=[...e.children],n=e.children.filter(e=>e instanceof $6);if(e.numChildren()>1&&n.length>=1){let r={},i=new Set;for(let e of n){let t=e.parse;for(let e of q(t))e in r?r[e]!==t[e]&&i.add(e):r[e]=t[e]}for(let e of i)delete r[e];if(!bq(r)){this.setModified();let n=new $6(e,r);for(let i of t){if(i instanceof $6)for(let e of q(r))delete i.parse[e];e.removeChild(i),i.parent=n,i instanceof $6&&q(i.parse).length===0&&i.remove()}}}}},Ofe=class extends o8{run(e){e instanceof F4||e.numChildren()>0||e instanceof Z6||e instanceof r8||(this.setModified(),e.remove())}},kfe=class extends o8{run(e){let t=e.children.filter(e=>e instanceof R4),n=t.pop();for(let e of t)this.setModified(),n.merge(e)}},Afe=class extends o8{run(e){let t=e.children.filter(e=>e instanceof X6),n={};for(let e of t){let t=K(e.groupBy);t in n||(n[t]=[]),n[t].push(e)}for(let t of q(n)){let r=n[t];if(r.length>1){let t=r.pop();for(let n of r)t.merge(n)&&(e.removeChild(n),n.parent=t,n.remove(),this.setModified())}}}},jfe=class extends o8{model;constructor(e){super(),this.model=e}run(e){let t=!(i8(e)||e instanceof r6||e instanceof $6||e instanceof e8),n=[],r=[];for(let i of e.children)i instanceof Y6&&(t&&!yq(e.producedFields(),i.dependentFields())?n.push(i):r.push(i));if(n.length>0){let t=n.pop();for(let e of n)t.merge(e,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Y6?e.merge(t,this.model.renameSignal.bind(this.model)):t.swapWithParent()}if(r.length>1){let e=r.pop();for(let t of r)e.merge(t,this.model.renameSignal.bind(this.model));this.setModified()}}},Mfe=class extends o8{run(e){let t=[...e.children];if(!uq(t,e=>e instanceof F4)||e.numChildren()<=1)return;let n=[],r;for(let i of t)if(i instanceof F4){let t=i;for(;t.numChildren()===1;){let[e]=t.children;if(e instanceof F4)t=e;else break}n.push(...t.children),r?(e.removeChild(i),i.parent=r.parent,r.parent.removeChild(r),r.parent=t,this.setModified()):r=t}else n.push(i);if(n.length){this.setModified();for(let e of n)e.parent.removeChild(e),e.parent=r}}},c8=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=mq(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(e=>e.field).filter(e=>e!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){return e.as??$(e)}hash(){return`JoinAggregateTransform ${K(this.transform)}`}assemble(){let e=[],t=[],n=[];for(let r of this.transform.joinaggregate)t.push(r.op),n.push(this.getDefaultName(r)),e.push(r.field===void 0?null:r.field);let r=this.transform.groupby;return{type:`joinaggregate`,as:n,ops:t,fields:e,...r===void 0?{}:{groupby:r}}}},l8=class e extends P4{filter;clone(){return new e(null,{...this.filter})}constructor(e,t){super(e),this.filter=t}static make(t,n,r){let{config:i,markDef:a}=n,{marks:o,scales:s}=r;if(o===`include-invalid-values`&&s===`include-invalid-values`)return null;let c=n.reduceFieldDef((e,t,r)=>{let o=CY(r)&&n.getScaleComponent(r);if(o){let n=o.get(`type`),{aggregate:s}=t,c=l1({scaleChannel:r,markDef:a,config:i,scaleType:n,isCountAggregate:FY(s)});c!==`show`&&c!==`always-valid`&&(e[t.field]=t)}return e},{});return q(c).length?new e(t,c):null}dependentFields(){return new Set(q(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${K(this.filter)}`}assemble(){let e=q(this.filter).reduce((e,t)=>{let n=this.filter[t],r=$(n,{expr:`datum`});return n!==null&&(n.type===`temporal`?e.push(`(isDate(${r}) || (${u8(r)}))`):n.type===`quantitative`&&e.push(u8(r))),e},[]);return e.length>0?{type:`filter`,expr:e.join(` && `)}:null}};function u8(e){return`isValid(${e}) && isFinite(+${e})`}function Nfe(e){return e.stack.stackBy.reduce((e,t)=>{let n=t.fieldDef,r=$(n);return r&&e.push(r),e},[])}function Pfe(e){return h(e)&&e.every(e=>_(e))&&e.length>1}var d8=class e extends P4{_stack;clone(){return new e(null,G(this._stack))}constructor(e,t){super(e),this._stack=t}static makeFromTransform(t,n){let{stack:r,groupby:i,as:a,offset:o=`zero`}=n,s=[],c=[];if(n.sort!==void 0)for(let e of n.sort)s.push(e.field),c.push(Rq(e.order,`ascending`));let l={field:s,order:c},u;return u=Pfe(a)?a:_(a)?[a,`${a}_end`]:[`${n.stack}_start`,`${n.stack}_end`],new e(t,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:o,sort:l,facetby:[],as:u})}static makeFromEncoding(t,n){let r=n.stack,{encoding:i}=n;if(!r)return null;let{groupbyChannels:a,fieldChannel:o,offset:s,impute:c}=r,l=a.map(e=>{let t=i[e];return O0(t)}).filter(e=>!!e),u=Nfe(n),d=n.encoding.order,f;if(h(d)||Z(d))f=gX(d);else{let e=X1(d)?d.sort:o===`y`?`descending`:`ascending`;f=u.reduce((t,n)=>(t.field.includes(n)||(t.field.push(n),t.order.push(e)),t),{field:[],order:[]})}return new e(t,{dimensionFieldDefs:l,stackField:n.vgField(o),facetby:[],stackby:u,sort:f,offset:s,impute:c,as:[n.vgField(o,{suffix:`start`,forAs:!0}),n.vgField(o,{suffix:`end`,forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){let e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${K(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:e,impute:t,groupby:n}=this._stack;return e.length>0?e.map(e=>e.bin?t?[$(e,{binSuffix:`mid`})]:[$(e,{}),$(e,{binSuffix:`end`})]:[$(e)]).flat():n??[]}assemble(){let e=[],{facetby:t,dimensionFieldDefs:n,stackField:r,stackby:i,sort:a,offset:o,impute:s,as:c}=this._stack;if(s)for(let a of n){let{bandPosition:n=.5,bin:o}=a;if(o){let t=$(a,{expr:`datum`}),r=$(a,{expr:`datum`,binSuffix:`end`});e.push({type:`formula`,expr:`${u8(t)} ? ${n}*${t}+${1-n}*${r} : ${t}`,as:$(a,{binSuffix:`mid`,forAs:!0})})}e.push({type:`impute`,field:r,groupby:[...i,...t],key:$(a,{binSuffix:`mid`}),method:`value`,value:0})}return e.push({type:`stack`,groupby:[...this.getGroupbyFields(),...t],field:r,sort:a,as:c,offset:o}),e}},f8=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=mq(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return(this.transform.groupby??[]).forEach(e.add,e),(this.transform.sort??[]).forEach(t=>e.add(t.field)),this.transform.window.map(e=>e.field).filter(e=>e!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){return e.as??$(e)}hash(){return`WindowTransform ${K(this.transform)}`}assemble(){let e=[],t=[],n=[],r=[];for(let i of this.transform.window)t.push(i.op),n.push(this.getDefaultName(i)),r.push(i.param===void 0?null:i.param),e.push(i.field===void 0?null:i.field);let i=this.transform.frame,a=this.transform.groupby;if(i&&i[0]===null&&i[1]===null&&t.every(e=>NY(e)))return{type:`joinaggregate`,as:n,ops:t,fields:e,...a===void 0?{}:{groupby:a}};let o=[],s=[];if(this.transform.sort!==void 0)for(let e of this.transform.sort)o.push(e.field),s.push(e.order??`ascending`);let c={field:o,order:s},l=this.transform.ignorePeers;return{type:`window`,params:r,as:n,ops:t,fields:e,sort:c,...l===void 0?{}:{ignorePeers:l},...a===void 0?{}:{groupby:a},...i===void 0?{}:{frame:i}}}};function Ffe(e){function t(n){if(!(n instanceof Z6)){let r=n.clone();if(r instanceof F4){let t=h8+r.getSource();r.setSource(t),e.model.component.data.outputNodes[t]=r}else(r instanceof X6||r instanceof d8||r instanceof f8||r instanceof c8)&&r.addDimensions(e.fields);for(let e of n.children.flatMap(t))e.parent=r;return[r]}return n.children.flatMap(t)}return t}function p8(e){if(e instanceof Z6){if(e.numChildren()===1&&!(e.children[0]instanceof F4)){let t=e.children[0];(t instanceof X6||t instanceof d8||t instanceof f8||t instanceof c8)&&t.addDimensions(e.fields),t.swapWithParent(),p8(e)}else{let t=e.model.component.data.main;m8(t);let n=Ffe(e),r=e.children.map(n).flat();for(let e of r)e.parent=t}}else e.children.map(p8)}function m8(e){if(e instanceof F4&&e.type===M4.Main&&e.numChildren()===1){let t=e.children[0];t instanceof Z6||(t.swapWithParent(),m8(e))}}var h8=`scale_`,g8=5;function _8(e){for(let t of e){for(let e of t.children)if(e.parent!==t)return!1;if(!_8(t.children))return!1}return!0}function v8(e,t){let n=!1;for(let r of t)n=e.optimize(r)||n;return n}function y8(e,t,n){let r=e.sources,i=!1;return i=v8(new Tfe,r)||i,i=v8(new Cfe(t),r)||i,r=r.filter(e=>e.numChildren()>0),i=v8(new Ofe,r)||i,r=r.filter(e=>e.numChildren()>0),n||(i=v8(new Efe,r)||i,i=v8(new jfe(t),r)||i,i=v8(new wfe,r)||i,i=v8(new Dfe,r)||i,i=v8(new Afe,r)||i,i=v8(new kfe,r)||i,i=v8(new Sfe,r)||i,i=v8(new Mfe,r)||i),e.sources=r,i}function Ife(e,t){_8(e.sources);let n=0,r=0;for(let r=0;r<g8&&y8(e,t,!0);r++)n++;e.sources.map(p8);for(let n=0;n<g8&&y8(e,t,!1);n++)r++;_8(e.sources),Math.max(n,r)===g8&&X(`Maximum optimization runs(${g8}) reached.`)}var b8=class e{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}signal;static fromName(t,n){return new e(()=>t(n))}};function x8(e){Q8(e)?Lfe(e):Rfe(e)}function Lfe(e){let t=e.component.scales;for(let n of q(t)){let r=Bfe(e,n);if(t[n].setWithExplicit(`domains`,r),Hfe(e,n),e.component.data.isFaceted){let t=e;for(;!$8(t)&&t.parent;)t=t.parent;if(t.component.resolve.scale[n]===`shared`)for(let e of r.value)QY(e)&&(e.data=h8+e.data.replace(h8,``))}}}function Rfe(e){for(let t of e.children)x8(t);let t=e.component.scales;for(let n of q(t)){let r,i=null;for(let t of e.children){let e=t.component.scales[n];if(e){r=r===void 0?e.getWithExplicit(`domains`):w4(r,e.getWithExplicit(`domains`),`domains`,`scale`,E8);let t=e.get(`selectionExtent`);i&&t&&i.param!==t.param&&X(IX),i=t}}t[n].setWithExplicit(`domains`,r),i&&t[n].set(`selectionExtent`,i,!0)}}function zfe(e,t,n,r){if(e===`unaggregated`){let{valid:e,reason:r}=T8(t,n);if(!e){X(r);return}}else if(e===void 0&&r.useUnaggregatedDomain){let{valid:e}=T8(t,n);if(e)return`unaggregated`}return e}function Bfe(e,t){let n=e.getScaleComponent(t).get(`type`),{encoding:r}=e,i=zfe(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}),t===`x`&&k0(r.x2)?k0(r.x)?w4(C8(n,i,e,`x`),C8(n,i,e,`x2`),`domain`,`scale`,E8):C8(n,i,e,`x2`):t===`y`&&k0(r.y2)?k0(r.y)?w4(C8(n,i,e,`y`),C8(n,i,e,`y2`),`domain`,`scale`,E8):C8(n,i,e,`y2`):C8(n,i,e,t)}function Vfe(e,t,n){return e.map(e=>({signal:`{data: ${I0(e,{timeUnit:n,type:t})}}`}))}function S8(e,t,n){let r=EQ(n)?.unit;return t===`temporal`||r?Vfe(e,t,r):[e]}function C8(e,t,n,r){let{encoding:i,markDef:a,mark:o,config:s,stack:c}=n,l=k0(i[r]),{type:u}=l,f=l.timeUnit,p=Wue({invalid:pX(`invalid`,a,s),isPath:W$(o)});if(b$(t)){let i=C8(e,void 0,n,r);return b4([...S8(t.unionWith,u,f),...i.value])}if(Y(t))return b4([t]);if(t&&t!==`unaggregated`&&!y$(t))return b4(S8(t,u,f));if(c&&r===c.fieldChannel){if(c.offset===`normalize`)return x4([[0,1]]);let e=n.requestDataName(p);return x4([{data:e,field:n.vgField(r,{suffix:`start`})},{data:e,field:n.vgField(r,{suffix:`end`})}])}let m=CY(r)&&Z(l)?Ufe(n,r,e):void 0;if(n0(l))return x4(S8([l.datum],u,f));let h=l;if(t===`unaggregated`){let{field:e}=l;return x4([{data:n.requestDataName(p),field:$({field:e,aggregate:`min`})},{data:n.requestDataName(p),field:$({field:e,aggregate:`max`})}])}if(BY(h.bin)){if(p$(e))return x4(e===`bin-ordinal`?[]:[{data:Cq(m)?n.requestDataName(p):n.requestDataName(M4.Raw),field:n.vgField(r,R0(h,r)?{binSuffix:`range`}:{}),sort:m===!0||!d(m)?{field:n.vgField(r,{}),op:`min`}:m}]);{let{bin:e}=h;if(BY(e)){let t=q6(n,h.field,e);return x4([new b8(()=>{let e=n.getSignalName(t);return`[${e}.start, ${e}.stop]`})])}return x4([{data:n.requestDataName(p),field:n.vgField(r,{})}])}}if(h.timeUnit&&lq([`time`,`utc`],e)){let e=i[$J(r)];if(Y1(h,e,a,s)){let t=n.requestDataName(p),i=q1({fieldDef:h,fieldDef2:e,markDef:a,config:s}),c=G$(o)&&i!==.5&&lY(r);return x4([{data:t,field:n.vgField(r,c?{suffix:z4}:{})},{data:t,field:n.vgField(r,{suffix:c?B4:`end`})}])}}return x4(m?[{data:Cq(m)?n.requestDataName(p):n.requestDataName(M4.Raw),field:n.vgField(r),sort:m}]:[{data:n.requestDataName(p),field:n.vgField(r)}])}function w8(e,t){let{op:n,field:r,order:i}=e;return{op:n??(t?`sum`:P1),...r?{field:Pq(r)}:{},...i?{order:i}:{}}}function Hfe(e,t){let n=e.component.scales[t],r=e.specifiedScales[t].domain,i=e.fieldDef(t)?.bin,a=y$(r)?r:void 0,o=HY(i)&&UY(i.extent)?i.extent:void 0;(a||o)&&n.set(`selectionExtent`,a??o,!0)}function Ufe(e,t,n){if(!p$(n))return;let r=e.fieldDef(t),i=r.sort;if(z1(i))return{op:`min`,field:v6(r,t),order:`ascending`};let{stack:a}=e,o=a?new Set([...a.groupbyFields,...a.stackBy.map(e=>e.fieldDef.field)]):void 0;if(R1(i))return w8(i,a&&!o.has(i.field));if(L1(i)){let{encoding:t,order:n}=i,r=e.fieldDef(t),{aggregate:s,field:c}=r,l=a&&!o.has(c);if(jY(s)||MY(s))return w8({field:$(r),order:n},l);if(NY(s)||!s)return w8({op:s,field:c,order:n},l)}else if(i===`descending`)return{op:`min`,field:e.vgField(t),order:`descending`};else if(lq([`ascending`,void 0],i))return!0}function T8(e,t){let{aggregate:n,type:r}=e;return n?_(n)&&!RY.has(n)?{valid:!1,reason:bZ(n)}:r===`quantitative`&&t===`log`?{valid:!1,reason:xZ(e)}:{valid:!0}:{valid:!1,reason:yZ(e)}}function E8(e,t,n,r){return e.explicit&&t.explicit&&X(OZ(n,r,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function Wfe(e){let t=mq(e.map(e=>{if(QY(e)){let{sort:t,...n}=e;return n}return e}),K),n=mq(e.map(e=>{if(QY(e)){let t=e.sort;return t!==void 0&&!Cq(t)&&(`op`in t&&t.op===`count`&&delete t.field,t.order===`ascending`&&delete t.order),t}}).filter(e=>e!==void 0),K);if(t.length===0)return;if(t.length===1){let t=e[0];if(QY(t)&&n.length>0){let e=n[0];if(n.length>1){X(jZ);let t=n.filter(e=>d(e)&&`op`in e&&e.op!==`min`);e=n.every(e=>d(e)&&`op`in e)&&t.length===1?t[0]:!0}else if(d(e)&&`field`in e){let n=e.field;t.field===n&&(e=!e.order||{order:e.order})}return{...t,sort:e}}return t}let r=mq(n.map(e=>Cq(e)||!(`op`in e)||_(e.op)&&p(AY,e.op)?e:(X(AZ(e)),!0)),K),i;r.length===1?i=r[0]:r.length>1&&(X(jZ),i=!0);let a=mq(e.map(e=>QY(e)?e.data:null),e=>e);return a.length===1&&a[0]!==null?{data:a[0],fields:t.map(e=>e.field),...i?{sort:i}:{}}:{fields:t,...i?{sort:i}:{}}}function D8(e){if(QY(e)&&_(e.field))return e.field;if(XY(e)){let t;for(let n of e.fields)if(QY(n)&&_(n.field)){if(!t)t=n.field;else if(t!==n.field)return X(MZ),t}return X(NZ),t}if(ZY(e)){X(PZ);let t=e.fields[0];return _(t)?t:void 0}}function O8(e,t){return Wfe(e.component.scales[t].get(`domains`).map(t=>(QY(t)&&(t.data=e.lookupDataSource(t.data)),t)))}function Gfe(e,t,n,r){e.encode??={},e.encode[t]??={},e.encode[t].update??={},e.encode[t].update[n]=r}function k8(e,t){if(Q8(e)){let n=e.fieldDef(t);if(n?.field)return n.field}let n=(e.children??[]).map(e=>k8(e,t)).filter(e=>!!e);if(n.length>0){let e=mq(n,K);return e.length===1?e[0]:void 0}}function Kfe(e,t,n){if(t===n)return!0;let r=e.getScaleType(t),i=e.getScaleType(n);return!r||!i?!1:p$(r)===p$(i)}function qfe(e,t){return e?`field:${e}`:`channel:${String(t)}`}function Jfe(e){if(h(e)){let t=e.filter(wq);return t.length>0?t:null}if(XY(e)){let t=[];if(t.push(...e.fields.flatMap(e=>h(e)?e.filter(wq):[])),t.length>0)return mq(t,K)}return null}function A8(e,t){try{return Jfe(O8(e,t))}catch{return null}}function Yfe(e,t,n){let r=A8(e,t),i=A8(e,n);return r&&i?mq([...r,...i],K):null}function j8(e,t,n){t&&t.length>0&&(e.getWithExplicit(`values`)?.explicit||(n&&X(n),e.set(`values`,t,!1)))}function Xfe(e,t,n){let r=e.getScaleComponent(t),i=e.getScaleComponent(n);if(!r||!i)return!1;let a=r.getWithExplicit(`domains`),o=i.getWithExplicit(`domains`);if(!(a?.explicit&&o?.explicit))return!1;let s=O8(e,t),c=O8(e,n);return K(s)===K(c)}function M8(e){let t=e.component.legends,n={};for(let r of q(t)){let i=qfe(k8(e,r),r);if(!n[i]){n[i]=[{channel:r,cmpt:t[r].clone()}];continue}let a=!1;for(let o of n[i])if(Kfe(e,o.channel,r)&&G6(o.cmpt,t[r])){let t=e.getScaleType(o.channel),n=e.getScaleType(r);t&&n&&p$(t)&&p$(n)&&(Xfe(e,o.channel,r)?j8(o.cmpt,A8(e,o.channel)):j8(o.cmpt,Yfe(e,o.channel,r),FZ(o.channel,r))),a=!0;break}a||n[i].push({channel:r,cmpt:t[r].clone()})}return xq(n).flat().map(t=>Zfe(t.cmpt,e.config)).filter(e=>e!==void 0)}function Zfe(e,t){let{disable:n,labelExpr:r,selections:i,...a}=e.combine();if(!n){if(t.aria===!1&&a.aria==null&&(a.aria=!1),a.encode?.symbols){let e=a.encode.symbols.update;e.fill&&e.fill.value!==`transparent`&&!e.stroke&&!a.stroke&&(e.stroke={value:`transparent`});for(let t of C2)a[t]&&delete e[t]}if(a.title||delete a.title,r!==void 0){let e=r;a.encode?.labels?.update&&Y(a.encode.labels.update.text)&&(e=Fq(r,`datum.label`,a.encode.labels.update.text.signal)),Gfe(a,`labels`,`text`,{signal:e})}return a}}function Qfe(e){return t5(e)||e5(e)?$fe(e):N8(e)}function $fe(e){return e.children.reduce((e,t)=>e.concat(t.assembleProjections()),N8(e))}function N8(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:r}=n;if(t.data){let i={signal:`[${t.size.map(e=>e.signal).join(`, `)}]`},a=t.data.reduce((t,n)=>{let r=Y(n)?n.signal:`data('${e.lookupDataSource(n)}')`;return lq(t,r)||t.push(r),t},[]);if(a.length<=0)throw Error(`Projection's fit didn't find any data sources`);return[{name:r,size:i,fit:{signal:a.length>1?`[${a.join(`, `)}]`:a[0]},...n}]}return[{name:r,translate:{signal:`[width / 2, height / 2]`},...n}]}var epe=[`type`,`clipAngle`,`clipExtent`,`center`,`rotate`,`precision`,`reflectX`,`reflectY`,`coefficient`,`distance`,`fraction`,`lobes`,`parallel`,`radius`,`ratio`,`spacing`,`tilt`],P8=class extends y4{specifiedProjection;size;data;merged=!1;constructor(e,t,n,r){super({...t},{name:e}),this.specifiedProjection=t,this.size=n,this.data=r}get isFit(){return!!this.data}};function F8(e){e.component.projection=Q8(e)?tpe(e):ipe(e)}function tpe(e){if(e.hasProjection){let t=KY(e.specifiedProjection),n=!(t&&(t.scale!=null||t.translate!=null)),r=n?[e.getSizeSignalRef(`width`),e.getSizeSignalRef(`height`)]:void 0,i=n?npe(e):void 0,a=new P8(e.projectionName(!0),{...KY(e.config.projection),...t},r,i);return a.get(`type`)||a.set(`type`,`equalEarth`,!1),a}}function npe(e){let t=[],{encoding:n}=e;for(let r of[[lJ,cJ],[dJ,uJ]])(k0(n[r[0]])||k0(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(gJ)&&e.typedFieldDef(gJ).type===e$&&t.push({signal:e.getName(`geojson_${t.length}`)}),t.length===0&&t.push(e.requestDataName(M4.Main)),t}function rpe(e,t){let n=dq(epe,n=>!!(!p(e.explicit,n)&&!p(t.explicit,n)||p(e.explicit,n)&&p(t.explicit,n)&&qq(e.get(n),t.get(n))));if(qq(e.size,t.size)){if(n)return e;if(qq(e.explicit,{}))return t;if(qq(t.explicit,{}))return e}return null}function ipe(e){if(e.children.length===0)return;let t;for(let t of e.children)F8(t);let n=dq(e.children,e=>{let n=e.component.projection;if(!n)return!0;if(t){let e=rpe(t,n);return e&&(t=e),!!e}return t=n,!0});if(t&&n){let n=e.projectionName(!0),r=new P8(n,t.specifiedProjection,t.size,G(t.data));for(let t of e.children){let e=t.component.projection;e&&(e.isFit&&r.data.push(...t.component.projection.data),t.renameProjection(e.get(`name`),n),e.merged=!0)}return r}}function I8(e){return t5(e)||e5(e)?e.children.reduce((e,t)=>e.concat(I8(t)),L8(e)):L8(e)}function L8(e){return q(e.component.scales).reduce((t,n)=>{let r=e.component.scales[n];if(r.merged)return t;let i=r.combine(),{name:a,type:o,selectionExtent:s,domains:c,range:l,reverse:u,...d}=i,f=ape(i.range,a,n,e),p=O8(e,n),m=s?tde(e,s,r,p):null;return t.push({name:a,type:o,...p?{domain:p}:{},...m?{domainRaw:m}:{},range:f,...u===void 0?{}:{reverse:u},...d}),t},[])}function ape(e,t,n,r){if(lY(n)){if(YY(e))return{step:{signal:`${t}_step`}}}else if(d(e)&&QY(e))return{...e,data:r.lookupDataSource(e.data)};return e}var R8=class extends y4{merged=!1;constructor(e,t){super({},{name:e}),this.setWithExplicit(`type`,t)}domainHasZero(){let e=this.get(`type`);if(lq([n$.LOG,n$.TIME,n$.UTC],e))return`definitely-not`;let t=this.get(`zero`);if(t===!0||t===void 0&&lq([n$.LINEAR,n$.SQRT,n$.POW],e))return`definitely`;let n=this.get(`domains`);if(n.length>0){let e=!1,t=!1,r=!1;for(let i of n){if(h(i)){let n=i[0],r=i[i.length-1];if(v(n)&&v(r)){if(n<=0&&r>=0){e=!0;continue}t=!0;continue}}r=!0}if(e)return`definitely`;if(t&&!r)return`definitely-not`}return`maybe`}},ope=[`range`,`scheme`];function spe(e){let t=e.component.scales;for(let n of SY){let r=t[n];if(!r)continue;let i=cpe(n,e);r.setWithExplicit(`range`,i)}}function z8(e,t){let n=e.fieldDef(t);if(n?.bin){let{bin:r,field:i}=n,a=eY(t),o=e.getName(a);if(d(r)&&r.binned&&r.step!==void 0)return new b8(()=>{let n=e.scaleName(t),i=`(domain("${n}")[1] - domain("${n}")[0]) / ${r.step}`;return`${e.getSignalName(o)} / (${i})`});if(BY(r)){let t=q6(e,i,r);return new b8(()=>{let n=e.getSignalName(t),r=`(${n}.stop - ${n}.start) / ${n}.step`;return`${e.getSignalName(o)} / (${r})`})}}}function cpe(e,t){let n=t.specifiedScales[e],{size:r}=t,i=t.getScaleComponent(e).get(`type`);for(let r of ope)if(n[r]!==void 0){let a=w$(i,r),o=T$(e,r);if(!a)X(TZ(i,r,e));else if(o)X(o);else switch(r){case`range`:{let r=n.range;if(h(r)){if(lY(e))return b4(r.map(e=>{if(e===`width`||e===`height`){let n=t.getName(e),r=t.getSignalName.bind(t);return b8.fromName(r,n)}return e}))}else if(d(r))return b4({data:t.requestDataName(M4.Main),field:r.field,sort:{op:`min`,field:t.vgField(e)}});return b4(r)}case`scheme`:return b4(lpe(n[r]))}}let a=e===Qq||e===`xOffset`?`width`:`height`,o=r[a];if(N2(o)){if(lY(e)){if(p$(i)){let n=V8(o,t,e);if(n)return b4({step:n})}else X(EZ(a))}else if(mY(e)){let n=e===nJ?`x`:`y`;if(t.getScaleComponent(n).get(`type`)===`band`){let e=H8(o,i);if(e)return b4(e)}}}let{rangeMin:s,rangeMax:c}=n,l=upe(e,t);return(s!==void 0||c!==void 0)&&w$(i,`rangeMin`)&&h(l)&&l.length===2?b4([s??l[0],c??l[1]]):x4(l)}function lpe(e){return v$(e)?{scheme:e.name,...sq(e,[`name`])}:{scheme:e}}function B8(e,t,n,{center:r}={}){let i=eY(e),a=t.getName(i),o=t.getSignalName.bind(t);return e===$q&&m$(n)?r?[b8.fromName(e=>`${o(e)}/2`,a),b8.fromName(e=>`-${o(e)}/2`,a)]:[b8.fromName(o,a),0]:r?[b8.fromName(e=>`-${o(e)}/2`,a),b8.fromName(e=>`${o(e)}/2`,a)]:[0,b8.fromName(o,a)]}function upe(e,t){let{size:n,config:r,mark:i,encoding:a}=t,{type:o}=k0(a[e]),s=t.getScaleComponent(e).get(`type`),{domain:c,domainMid:l}=t.specifiedScales[e];switch(e){case Qq:case $q:if(lq([`point`,`band`],s)){let i=U8(e,n,r.view);if(N2(i))return{step:V8(i,t,e)}}return B8(e,t,s);case nJ:case rJ:return dpe(e,t,s);case _J:{let a=mpe(i,r),o=hpe(i,n,t,r);return g$(s)?ppe(a,o,fpe(s,r,c,e)):[a,o]}case oJ:return[0,Math.PI*2];case vJ:return[0,360];case iJ:return[0,new b8(()=>`min(${t.getSignalName($8(t.parent)?`child_width`:`width`)},${t.getSignalName($8(t.parent)?`child_height`:`height`)})/2`)];case fJ:return{step:1e3/r.scale.framesPerSecond};case SJ:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case CJ:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case gJ:return`symbol`;case pJ:case mJ:case hJ:return s===`ordinal`?o===`nominal`?`category`:`ordinal`:l===void 0?i===`rect`||i===`geoshape`?`heatmap`:`ramp`:`diverging`;case yJ:case bJ:case xJ:return[r.scale.minOpacity,r.scale.maxOpacity]}}function V8(e,t,n){let{encoding:r}=t,i=t.getScaleComponent(n),a=nY(n),o=r[a];if(M2({step:e,offsetIsDiscrete:Q(o)&&YQ(o.type)})===`offset`&&J0(r,a)){let n=t.getScaleComponent(a),r=`domain('${t.scaleName(a)}').length`;if(n.get(`type`)===`band`){let e=n.get(`paddingInner`)??n.get(`padding`)??0,t=n.get(`paddingOuter`)??n.get(`padding`)??0;r=`bandspace(${r}, ${e}, ${t})`}let o=i.get(`paddingInner`)??i.get(`padding`);return{signal:`${e.step} * ${r} / (1-${sX(o)})`}}return e.step}function H8(e,t){if(M2({step:e,offsetIsDiscrete:p$(t)})===`offset`)return{step:e.step}}function dpe(e,t,n){let r=e===nJ?`x`:`y`,i=t.getScaleComponent(r);if(!i)return B8(r,t,n,{center:!0});let a=i.get(`type`),o=t.scaleName(r),{markDef:s,config:c}=t;if(a===`band`){let e=U8(r,t.size,t.config.view);if(N2(e)){let t=H8(e,n);if(t)return t}return[0,{signal:`bandwidth('${o}')`}]}{let n=t.encoding[r];if(Z(n)&&n.timeUnit){let e=OQ(n.timeUnit,e=>`scale('${o}', ${e})`),r=t.config.scale.bandWithNestedOffsetPaddingInner,i=q1({fieldDef:n,markDef:s,config:c})-.5,a=i===0?``:` + ${i}`;if(r){let t=Y(r)?`${r.signal}/2${a}`:`${r/2+i}`,n=Y(r)?`(1 - ${r.signal}/2)${a}`:`${1-r/2+i}`;return[{signal:`${t} * (${e})`},{signal:`${n} * (${e})`}]}return[0,{signal:e}]}return aq(`Cannot use ${e} scale if ${r} scale is not discrete.`)}}function U8(e,t,n){let r=e===Qq?`width`:`height`,i=t[r];return i===void 0?R2(n,r):i}function fpe(e,t,n,r){switch(e){case`quantile`:return t.scale.quantileCount;case`quantize`:return t.scale.quantizeCount;case`threshold`:return n!==void 0&&h(n)?n.length+1:(X(qZ(r)),3)}}function ppe(e,t,n){let r=()=>{let r=lX(t),i=lX(e),a=`(${r} - ${i}) / (${n} - 1)`;return`sequence(${i}, ${r} + ${a}, ${a})`};return Y(t)?new b8(r):{signal:r()}}function mpe(e,t){switch(e){case`bar`:case`tick`:return t.scale.minBandSize;case`line`:case`trail`:case`rule`:return t.scale.minStrokeWidth;case`text`:return t.scale.minFontSize;case`point`:case`square`:case`circle`:return t.scale.minSize}throw Error(cZ(`size`,e))}var W8=.95;function hpe(e,t,n,r){let i={x:z8(n,`x`),y:z8(n,`y`)};switch(e){case`bar`:case`tick`:{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;let e=G8(t,i,r.view);return v(e)?e-1:new b8(()=>`${e.signal} - 1`)}case`line`:case`trail`:case`rule`:return r.scale.maxStrokeWidth;case`text`:return r.scale.maxFontSize;case`point`:case`square`:case`circle`:{if(r.scale.maxSize)return r.scale.maxSize;let e=G8(t,i,r.view);return v(e)?(W8*e)**2:new b8(()=>`pow(${W8} * ${e.signal}, 2)`)}}throw Error(cZ(`size`,e))}function G8(e,t,n){let r=N2(e.width)?e.width.step:L2(n,`width`),i=N2(e.height)?e.height.step:L2(n,`height`);return t.x||t.y?new b8(()=>`min(${[t.x?t.x.signal:r,t.y?t.y.signal:i].join(`, `)})`):Math.min(r,i)}function K8(e,t){Q8(e)?gpe(e,t):Y8(e,t)}function gpe(e,t){let n=e.component.scales,{config:r,encoding:i,markDef:a,specifiedScales:o}=e;for(let s of q(n)){let c=o[s],l=n[s],u=e.getScaleComponent(s),d=k0(i[s]),f=c[t],p=u.get(`type`),m=u.get(`padding`),h=u.get(`paddingInner`),g=w$(p,t),_=T$(s,t);if(f!==void 0&&(g?_&&X(_):X(TZ(p,t,s))),g&&_===void 0){if(f!==void 0){let e=d.timeUnit,n=d.type;switch(t){case`domainMax`:case`domainMin`:eQ(c[t])||n===`temporal`||e?l.set(t,{signal:I0(c[t],{type:n,timeUnit:e})},!0):l.set(t,c[t],!0);break;default:l.copyKeyFromObject(t,c)}}else{let n=J(q8,t)?q8[t]({model:e,channel:s,fieldOrDatumDef:d,scaleType:p,scalePadding:m,scalePaddingInner:h,domain:c.domain,domainMin:c.domainMin,domainMax:c.domainMax,markDef:a,config:r,hasNestedOffsetScale:Y0(i,s),hasSecondaryRangeChannel:!!i[$J(s)]}):r.scale[t];n!==void 0&&l.set(t,n,!1)}}}}var q8={bins:({model:e,fieldOrDatumDef:t})=>Z(t)?_pe(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>vpe(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:a})=>ype(e,t,n,r,i,a),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>bpe(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:a})=>xpe(e,t,n.type,r,i.scale,a),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:a})=>Spe(e,t,n,r,i.scale,a),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>Cpe(t,Z(e)?e.sort:void 0,n,r.scale),zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i,config:a,hasSecondaryRangeChannel:o})=>wpe(e,t,n,r,i,a.scale,o)};function J8(e){Q8(e)?spe(e):Y8(e,`range`)}function Y8(e,t){let n=e.component.scales;for(let n of e.children)t===`range`?J8(n):K8(n,t);for(let r of q(n)){let i;for(let n of e.children){let e=n.component.scales[r];if(e){let n=e.getWithExplicit(t);i=w4(i,n,t,`scale`,S4((e,n)=>t===`range`&&e.step&&n.step?e.step-n.step:0))}}n[r].setWithExplicit(t,i)}}function _pe(e,t){let n=t.bin;if(BY(n)){let r=q6(e,t.field,n);return new b8(()=>e.getSignalName(r))}if(VY(n)&&HY(n)&&n.step!==void 0)return{step:n.step}}function vpe(e,t){if(lq([pJ,mJ,hJ],e)&&t!==`nominal`)return`hcl`}function ype(e,t,n,r,i,a){if(!(O0(a)?.bin||h(n)||i!=null||r!=null||lq([n$.TIME,n$.UTC],e)))return lY(t)?!0:void 0}function bpe(e,t,n,r,i,a){if(lY(e)){if(h$(t)){if(n.continuousPadding!==void 0)return n.continuousPadding;let{type:t,orient:o}=i;if(t===`bar`&&!(Z(r)&&(r.bin||r.timeUnit))&&(o===`vertical`&&e===`x`||o===`horizontal`&&e===`y`))return a.continuousBandSize}if(t===n$.POINT)return n.pointPadding}}function xpe(e,t,n,r,i,a=!1){if(e===void 0){if(lY(t)){let{bandPaddingInner:e,barBandPaddingInner:t,rectBandPaddingInner:r,tickBandPaddingInner:o,bandWithNestedOffsetPaddingInner:s}=i;return a?s:Rq(e,n===`bar`?t:n===`tick`?o:r)}if(mY(t)&&r===n$.BAND)return i.offsetBandPaddingInner}}function Spe(e,t,n,r,i,a=!1){if(e===void 0){if(lY(t)){let{bandPaddingOuter:e,bandWithNestedOffsetPaddingOuter:t}=i;if(a)return t;if(n===n$.BAND)return Rq(e,Y(r)?{signal:`${r.signal}/2`}:r/2)}else if(mY(t)){if(n===n$.POINT)return .5;if(n===n$.BAND)return i.offsetBandPaddingOuter}}}function Cpe(e,t,n,r){if(n===`x`&&r.xReverse!==void 0)return m$(e)&&t===`descending`?Y(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(m$(e)&&t===`descending`)return!0}function wpe(e,t,n,r,i,a,o){if(n&&n!==`unaggregated`&&m$(i)){if(h(n)){let e=n[0],t=n[n.length-1];if(v(e)&&e<=0&&v(t)&&t>=0)return!0}return!1}if(e===`size`&&t.type===`quantitative`&&!g$(i))return!0;if(!(Z(t)&&t.bin)&&lq([...cY,...dY],e)){let{orient:t,type:n}=r;return lq([`bar`,`area`,`line`,`trail`],n)&&(t===`horizontal`&&e===`y`||t===`vertical`&&e===`x`)?!1:lq([`bar`,`area`],n)&&!o?!0:a?.zero}return!1}function Tpe(e,t,n,r,i=!1){let a=Epe(t,n,r,i),{type:o}=e;return CY(t)?o===void 0?a:D$(t,o)?Z(n)&&!E$(o,n.type)?(X(wZ(o,a)),a):o:(X(CZ(t,o,a)),a):null}function Epe(e,t,n,r){switch(t.type){case`nominal`:case`ordinal`:{if(BJ(e)||OY(e)===`discrete`)return e===`shape`&&t.type===`ordinal`&&X(pZ(e,`ordinal`)),`ordinal`;if(gY(e))return`band`;if(lY(e)||mY(e)){if(lq([`rect`,`bar`,`image`,`rule`,`tick`],n.type)||r)return`band`}else if(n.type===`arc`&&e in uY)return`band`;let i=n[eY(e)];return n1(i)||l0(t)&&t.axis?.tickBand?`band`:`point`}case`temporal`:return BJ(e)?`time`:OY(e)===`discrete`?(X(pZ(e,`temporal`)),`ordinal`):Z(t)&&t.timeUnit&&EQ(t.timeUnit).utc?`utc`:gY(e)?`band`:`time`;case`quantitative`:return BJ(e)?Z(t)&&BY(t.bin)?`bin-ordinal`:`linear`:OY(e)===`discrete`?(X(pZ(e,`quantitative`)),`ordinal`):gY(e)?`band`:`linear`;case`geojson`:return}throw Error(tZ(t.type))}function Dpe(e,{ignoreRange:t}={}){X8(e),x8(e);for(let t of C$)K8(e,t);t||J8(e)}function X8(e){Q8(e)?e.component.scales=Ope(e):e.component.scales=Ape(e)}function Ope(e){let{encoding:t,mark:n,markDef:r}=e,i={};for(let a of SY){let o=k0(t[a]);if(o&&n===U$&&a===gJ&&o.type===e$)continue;let s=o&&o.scale;if(o&&s!==null&&s!==!1){s??={};let n=Y0(t,a),c=Tpe(s,a,o,r,n);i[a]=new R8(e.scaleName(`${a}`,!0),{value:c,explicit:s.type===c})}}return i}var kpe=S4((e,t)=>o$(e)-o$(t));function Ape(e){let t=e.component.scales={},n={},r=e.component.resolve;for(let t of e.children){X8(t);for(let i of q(t.component.scales))if(r.scale[i]??=P6(i,e),r.scale[i]===`shared`){let e=n[i],a=t.component.scales[i].getWithExplicit(`type`);e?i$(e.value,a.value)?n[i]=w4(e,a,`type`,`scale`,kpe):(r.scale[i]=`independent`,delete n[i]):n[i]=a}}for(let r of q(n)){let i=e.scaleName(r,!0),a=n[r];t[r]=new R8(i,a);for(let t of e.children){let e=t.component.scales[r];e&&(t.renameScale(e.get(`name`),i),e.merged=!0)}}return t}var Z8=class{nameMap;constructor(){this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}};function Q8(e){return e?.type===`unit`}function $8(e){return e?.type===`facet`}function e5(e){return e?.type===`concat`}function t5(e){return e?.type===`layer`}var n5=class{type;parent;config;name;size;title;description;data;transforms;layout;scaleNameMap;projectionNameMap;signalNameMap;component;view;constructor(e,t,n,r,i,a,o){this.type=t,this.parent=n,this.config=i,this.parent=n,this.config=i,this.view=KY(o),this.name=e.name??r,this.title=JY(e.title)?{text:e.title}:e.title?KY(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new Z8,this.projectionNameMap=n?n.projectionNameMap:new Z8,this.signalNameMap=n?n.signalNameMap:new Z8,this.data=e.data,this.description=e.description,this.transforms=Mue(e.transform??[]),this.layout=t===`layer`||t===`unit`?{}:Lle(e,t,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:H1(e)||n?.component.data.isFaceted&&e.data===void 0},layoutSize:new y4,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?G(a):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef(`width`)}get height(){return this.getSizeSignalRef(`height`)}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){Dpe(this)}parseProjection(){F8(this)}renameTopLevelLayoutSizeSignal(){this.getName(`width`)!==`width`&&this.renameSignal(this.getName(`width`),`width`),this.getName(`height`)!==`height`&&this.renameSignal(this.getName(`height`),`height`)}parseLegends(){W6(this)}assembleEncodeFromView(e){let{style:t,...n}=e,r={};for(let e of q(n)){let t=n[e];t!==void 0&&(r[e]=oX(t))}return r}assembleGroupEncodeEntry(e){let t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(t.description=oX(this.description)),this.type===`unit`||this.type===`layer`)?{width:this.getSizeSignalRef(`width`),height:this.getSizeSignalRef(`height`),...t}:bq(t)?void 0:t}assembleLayout(){if(!this.layout)return;let{spacing:e,...t}=this.layout,{component:n,config:r}=this,i=qde(n.layoutHeaders,r);return{padding:e,...this.assembleDefaultLayout(),...t,...i?{titleBand:i}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,t=[];for(let n of HJ)e[n].title&&t.push(Vde(this,n));for(let e of S6)t=t.concat(Hde(this,e));return t}assembleAxes(){return Ode(this.component.axes,this.config)}assembleLegends(){return M8(this)}assembleProjections(){return Qfe(this)}assembleTitle(){let{encoding:e,...t}=this.title??{},n={...qY(this.config.title).nonMarkTitleProperties,...t,...e?{encode:{update:e}}:{}};if(n.text)return lq([`unit`,`layer`],this.type)?lq([`middle`,void 0],n.anchor)&&(n.frame??=`group`):n.anchor??=`start`,bq(n)?void 0:n}assembleGroup(e=[]){let t={};e=e.concat(this.assembleSignals()),e.length>0&&(t.signals=e);let n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let r=!this.parent||$8(this.parent)?I8(this):[];r.length>0&&(t.scales=r);let i=this.assembleAxes();i.length>0&&(t.axes=i);let a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(e){return Tq((this.name?`${this.name}_`:``)+e)}getDataName(e){return this.getName(M4[e].toLowerCase())}requestDataName(e){let t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if($8(this.parent)){let t=fY(M6(e)),n=this.component.scales[t];if(n&&!n.merged){let e=n.get(`type`),r=n.get(`range`);if(p$(e)&&YY(r)){let e=n.get(`name`),r=D8(O8(this,t));return r?{signal:j6(e,n,$({aggregate:`distinct`,field:r},{expr:`datum`}))}:(X(TX(t)),null)}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){if(t)return this.getName(e);if(JJ(e)&&CY(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName(`projection`);if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName(`projection`)))return this.projectionNameMap.get(this.getName(`projection`))}getScaleComponent(e){if(!this.component.scales)throw Error(`getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().`);let t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getScaleType(e){let t=this.getScaleComponent(e);return t?t.get(`type`):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw Error(AX(t));return n}hasAxisOrientSignalRef(){return this.component.axes.x?.some(e=>e.hasOrientSignalRef())||this.component.axes.y?.some(e=>e.hasOrientSignalRef())}},r5=class extends n5{vgField(e,t={}){let n=this.fieldDef(e);if(n)return $(n,t)}reduceFieldDef(e,t){return mle(this.getMapping(),(t,n,r)=>{let i=O0(n);return i?e(t,i,r):t},t)}forEachFieldDef(e,t){$0(this.getMapping(),(t,n)=>{let r=O0(t);r&&e(r,n)},t)}},i5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??`value`,n[1]??`density`];let r=this.transform.resolve??`shared`;this.transform.resolve=r}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${K(this.transform)}`}assemble(){let{density:e,...t}=this.transform,n={type:`kde`,field:e,...t};return n.resolve=this.transform.resolve,n}},a5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${K(this.transform)}`}assemble(){let{extent:e,param:t}=this.transform;return{type:`extent`,field:e,signal:t}}},o5=class e extends P4{transform;clone(){return new e(this.parent,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let{flatten:n,as:r=[]}=this.transform;this.transform.as=n.map((e,t)=>r[t]??e)}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${K(this.transform)}`}assemble(){let{flatten:e,as:t}=this.transform;return{type:`flatten`,fields:e,as:t}}},s5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??`key`,n[1]??`value`]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${K(this.transform)}`}assemble(){let{fold:e,as:t}=this.transform;return{type:`fold`,fields:e,as:t}}},c5=class e extends P4{fields;geojson;signal;clone(){return new e(null,G(this.fields),this.geojson,this.signal)}static parseAll(t,n){if(n.component.projection&&!n.component.projection.isFit)return t;let r=0;for(let i of[[lJ,cJ],[dJ,uJ]]){let a=i.map(e=>{let t=k0(n.encoding[e]);return Z(t)?t.field:n0(t)?{expr:`${t.datum}`}:s0(t)?{expr:`${t.value}`}:void 0});(a[0]||a[1])&&(t=new e(t,a,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(gJ)){let i=n.typedFieldDef(gJ);i.type===e$&&(t=new e(t,null,i.field,n.getName(`geojson_${r}`)))}return t}constructor(e,t,n,r){super(e),this.fields=t,this.geojson=n,this.signal=r}dependentFields(){let e=(this.fields??[]).filter(_);return new Set([...this.geojson?[this.geojson]:[],...e])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${K(this.fields)}`}assemble(){return[...this.geojson?[{type:`filter`,expr:`isValid(datum["${this.geojson}"])`}]:[],{type:`geojson`,...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}},l5=class e extends P4{projection;fields;as;clone(){return new e(null,this.projection,G(this.fields),G(this.as))}constructor(e,t,n,r){super(e),this.projection=t,this.fields=n,this.as=r}static parseAll(t,n){if(!n.projectionName())return t;for(let r of[[lJ,cJ],[dJ,uJ]]){let i=r.map(e=>{let t=k0(n.encoding[e]);return Z(t)?t.field:n0(t)?{expr:`${t.datum}`}:s0(t)?{expr:`${t.value}`}:void 0}),a=r[0]===dJ?`2`:``;(i[0]||i[1])&&(t=new e(t,n.projectionName(),i,[n.getName(`x${a}`),n.getName(`y${a}`)]))}return t}dependentFields(){return new Set(this.fields.filter(_))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${K(this.fields)} ${K(this.as)}`}assemble(){return{type:`geopoint`,projection:this.projection,fields:this.fields,as:this.as}}},u5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){let{start:t=0,stop:n,step:r}=e;return{signal:`sequence(${[t,n,...r?[r]:[]].join(`,`)})`}}static makeFromTransform(t,n){return new e(t,n)}static makeFromEncoding(t,n){let r=n.encoding,i=r.x,a=r.y;if(Z(i)&&Z(a)){let o=i.impute?i:a.impute?a:void 0;if(o===void 0)return;let s=i.impute?a:a.impute?i:void 0,{method:c,value:l,frame:u,keyvals:d}=o.impute,f=e2(n.mark,r);return new e(t,{impute:o.field,key:s.field,...c?{method:c}:{},...l===void 0?{}:{value:l},...u?{frame:u}:{},...d===void 0?{}:{keyvals:d},...f.length?{groupby:f}:{}})}return null}hash(){return`Impute ${K(this.transform)}`}assemble(){let{impute:e,key:t,keyvals:n,method:r,groupby:i,value:a,frame:o=[null,null]}=this.transform,s={type:`impute`,field:e,key:t,...n?{keyvals:pue(n)?this.processSequence(n):n}:{},method:`value`,...i?{groupby:i}:{},value:!r||r===`value`?a:null};return r&&r!==`value`?[s,{type:`window`,as:[`imputed_${e}_value`],ops:[r],fields:[e],frame:o,ignorePeers:!1,...i?{groupby:i}:{}},{type:`formula`,expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e}]:[s]}},d5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${K(this.transform)}`}assemble(){let{loess:e,on:t,...n}=this.transform;return{type:`loess`,x:t,y:e,...n}}},f5=class e extends P4{transform;secondary;clone(){return new e(null,G(this.transform),this.secondary)}constructor(e,t,n){super(e),this.transform=t,this.secondary=n}static make(t,n,r,i){let a=n.component.data.sources,{from:o}=r,s=null;if(mue(o)){let e=C5(o.data,a);e||(e=new r8(o.data),a.push(e));let t=n.getName(`lookup_${i}`);s=new F4(e,t,M4.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[t]=s}else if(hue(o)){let e=o.param;r={as:e,...r};let t;try{t=n.getSelectionComponent(Tq(e),e)}catch{throw Error(PX(e))}if(s=t.materialized,!s)throw Error(FX(e))}return new e(t,r,s.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?E(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${K({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e={values:this.transform.from.fields,...this.transform.as?{as:E(this.transform.as)}:{}};else{let t=this.transform.as;_(t)||(X(YX),t=`_lookup`),e={as:[t]}}return{type:`lookup`,from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...e,...this.transform.default?{default:this.transform.default}:{}}}},p5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??`prob`,n[1]??`value`]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${K(this.transform)}`}assemble(){let{quantile:e,...t}=this.transform;return{type:`quantile`,field:e,...t}}},m5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=G(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${K(this.transform)}`}assemble(){let{regression:e,on:t,...n}=this.transform;return{type:`regression`,x:t,y:e,...n}}},h5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=mq((this.transform.groupby??[]).concat(e),e=>e)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${K(this.transform)}`}assemble(){let{pivot:e,value:t,groupby:n,limit:r,op:i}=this.transform;return{type:`pivot`,field:e,value:t,...r===void 0?{}:{limit:r},...i===void 0?{}:{op:i},...n===void 0?{}:{groupby:n}}}},g5=class e extends P4{transform;clone(){return new e(null,G(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${K(this.transform)}`}assemble(){return{type:`sample`,size:this.transform.sample}}};function _5(e){let t=0;function n(r,i){if(r instanceof r8&&!r.isGenerator&&!T4(r.data)&&(e.push(i),i={name:null,source:i.name,transform:[]}),r instanceof $6&&(r.parent instanceof r8&&!i.source?(i.format={...i.format,parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof Z6){i.name||(i.name=`data_${t++}`),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,e.push(...r.assemble());return}switch((r instanceof t8||r instanceof n8||r instanceof l8||r instanceof r6||r instanceof _6||r instanceof l5||r instanceof X6||r instanceof f5||r instanceof f8||r instanceof c8||r instanceof s5||r instanceof o5||r instanceof i5||r instanceof d5||r instanceof p5||r instanceof m5||r instanceof e8||r instanceof g5||r instanceof h5||r instanceof a5)&&i.transform.push(r.assemble()),(r instanceof Y6||r instanceof R4||r instanceof u5||r instanceof d8||r instanceof c5)&&i.transform.push(...r.assemble()),r instanceof F4&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof F4?r.setSource(i.name):(i.name||(i.name=`data_${t++}`),r.setSource(i.name),r.numChildren()===1&&(e.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof F4&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${t++}`);let a=i.name;!i.source||i.transform.length>0?e.push(i):a=i.source;for(let e of r.children)n(e,{name:null,source:a,transform:[]});break}}}return n}function jpe(e){let t=[],n=_5(t);for(let t of e.children)n(t,{source:e.name,name:null,transform:[]});return t}function Mpe(e,t){let n=[],r=_5(n),i=0;for(let t of e.sources)t.hasName()||(t.dataName=`source_${i++}`),r(t,t.assemble());for(let e of n)e.transform.length===0&&delete e.transform;let a=0;for(let[e,t]of n.entries())(t.transform??[]).length===0&&!t.source&&n.splice(a++,0,n.splice(e,1)[0]);for(let t of n)for(let n of t.transform??[])n.type===`lookup`&&(n.from=e.outputNodes[n.from].getSource());for(let e of n)e.name in t&&(e.values=t[e.name]);return n}function Npe(e){return e===`top`||e===`left`||Y(e)?`header`:`footer`}function Ppe(e){for(let t of HJ)Fpe(e,t);y5(e,`x`),y5(e,`y`)}function Fpe(e,t){let{facet:n,config:r,child:i,component:a}=e;if(e.channelHasField(t)){let o=n[t],s=b6(`title`,null,r,t),c=C0(o,r,{allowDisabling:!0,includeDefault:s===void 0||!!s});i.component.layoutHeaders[t].title&&(c=h(c)?c.join(`, `):c,c+=` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);let l=b6(`labelOrient`,o.header,r,t),u=o.header!==null&&Rq(o.header?.labels,r.header.labels,!0),d=lq([`bottom`,`right`],l)?`footer`:`header`;a.layoutHeaders[t]={title:o.header===null?null:c,facetFieldDef:o,[d]:t===`facet`?[]:[v5(e,t,u)]}}}function v5(e,t,n){let r=t===`row`?`height`:`width`;return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function y5(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:r,resolve:i}=e.component;if(i.axis[t]=F6(i,t),i.axis[t]===`shared`){let i=t===`x`?`column`:`row`,a=r[i];for(let r of n.component.axes[t]){let t=Npe(r.get(`orient`));a[t]??=[v5(e,i,!1)];let n=c6(r,`main`,e.config,{header:!0});n&&a[t][0].axes.push(n),r.mainExtracted=!0}}}}function Ipe(e){b5(e),x5(e,`width`),x5(e,`height`)}function Lpe(e){b5(e);let t=e.layout.columns===1?`width`:`childWidth`,n=e.layout.columns===void 0?`height`:`childHeight`;x5(e,t),x5(e,n)}function b5(e){for(let t of e.children)t.parseLayoutSize()}function x5(e,t){let n=M6(t),r=fY(n),i=e.component.resolve,a=e.component.layoutSize,o;for(let t of e.children){let a=t.component.layoutSize.getWithExplicit(n),s=i.scale[r]??P6(r,e);if(s===`independent`&&a.value===`step`){o=void 0;break}if(o){if(s===`independent`&&o.value!==a.value){o=void 0;break}o=w4(o,a,n,``)}else o=a}if(o){for(let r of e.children)e.renameSignal(r.getName(n),e.getName(t)),r.component.layoutSize.set(n,`merged`,!1);a.setWithExplicit(t,o)}else a.setWithExplicit(t,{explicit:!1,value:void 0})}function Rpe(e){let{size:t,component:n}=e;for(let r of cY){let i=eY(r);if(t[i]!=null&&t[i]!=null){let e=t[i];n.layoutSize.set(i,N2(e)?`step`:e,!0)}else{let t=zpe(e,i);n.layoutSize.set(i,t,!1)}}}function zpe(e,t){let n=t===`width`?`x`:`y`,r=e.config,i=e.getScaleComponent(n);if(i){let e=i.get(`type`),n=i.get(`range`);if(p$(e)){let e=R2(r.view,t);return YY(n)||N2(e)?`step`:e}return I2(r.view,t)}if(e.hasProjection||e.mark===`arc`)return I2(r.view,t);{let e=R2(r.view,t);return N2(e)?e.step:e}}function S5(e,t,n){return $(t,{suffix:`by_${$(e)}`,...n})}var Bpe=class e extends r5{facet;child;children;constructor(e,t,n,r){super(e,`facet`,t,n,r,e.resolve),this.child=N5(e.spec,this,this.getName(`child`),void 0,r),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!B1(e))return{facet:this.initFacetFieldDef(e,`facet`)};let t=q(e),n={};for(let r of t){if(![Yq,Xq].includes(r)){X(cZ(r,`facet`));break}let t=e[r];if(t.field===void 0){X(oZ(t,r));break}n[r]=this.initFacetFieldDef(t,r)}return n}initFacetFieldDef(e,t){let n=M0(e,t);return n.header?n.header=KY(n.header):n.header===null&&(n.header=null),n}channelHasField(e){return J(this.facet,e)}fieldDef(e){return this.facet[e]}parseData(){this.component.data=w5(this),this.child.parseData()}parseLayoutSize(){b5(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection,xq(this.component.selection).some(e=>$3(e))&&QZ(VX)}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Ppe(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){let e={};for(let t of HJ)for(let n of C6){let r=this.component.layoutHeaders[t],i=r[n],{facetFieldDef:a}=r;if(a){let n=b6(`titleOrient`,a.header,this.config,t);if([`right`,`bottom`].includes(n)){let r=y6(t,n);e.titleAnchor??={},e.titleAnchor[r]=`end`}}if(i?.[0]){let i=t===`row`?`height`:`width`,a=n===`header`?`headerBand`:`footerBand`;t!==`facet`&&!this.child.component.layoutSize.get(i)&&(e[a]??={},e[a][t]=.5),r.title&&(e.offset??={},e.offset[t===`row`?`rowTitle`:`columnTitle`]=10)}}return e}assembleDefaultLayout(){let{column:e,row:t}=this.facet,n=e?this.columnDistinctSignal():t?1:void 0,r=`all`;return(!t&&this.component.resolve.scale.x===`independent`||!e&&this.component.resolve.scale.y===`independent`)&&(r=`none`),{...this.getHeaderLayoutMixins(),...n?{columns:n}:{},bounds:`full`,align:r}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof e))return{signal:`length(data('${this.getName(`column_domain`)}'))`}}assembleGroupStyle(){}assembleGroup(t){return this.parent&&this.parent instanceof e?{...this.channelHasField(`column`)?{encode:{update:{columns:{field:$(this.facet.column,{prefix:`distinct`})}}}}:{},...super.assembleGroup(t)}:super.assembleGroup(t)}getCardinalityAggregateForChild(){let t=[],n=[],r=[];if(this.child instanceof e){if(this.child.channelHasField(`column`)){let e=$(this.child.facet.column);t.push(e),n.push(`distinct`),r.push(`distinct_${e}`)}}else for(let e of cY){let i=this.child.component.scales[e];if(i&&!i.merged){let a=i.get(`type`),o=i.get(`range`);if(p$(a)&&YY(o)){let i=D8(O8(this.child,e));i?(t.push(i),n.push(`distinct`),r.push(`distinct_${i}`)):X(TX(e))}}}return{fields:t,ops:n,as:r}}assembleFacet(){let{name:e,data:t}=this.component.data.facetRoot,{row:n,column:r}=this.facet,{fields:i,ops:a,as:o}=this.getCardinalityAggregateForChild(),s=[];for(let e of HJ){let t=this.facet[e];if(t){s.push($(t));let{bin:c,sort:l}=t;if(BY(c)&&s.push($(t,{binSuffix:`end`})),R1(l)){let{field:e,op:s=P1}=l,c=S5(t,l);n&&r?(i.push(c),a.push(`max`),o.push(c)):(i.push(e),a.push(s),o.push(c))}else if(h(l)){let n=v6(t,e);i.push(n),a.push(`max`),o.push(n)}}}let c=!!n&&!!r;return{name:e,data:t,groupby:s,...c||i.length>0?{aggregate:{...c?{cross:c}:{},...i.length?{fields:i,ops:a,as:o}:{}}}:{}}}facetSortFields(e){let{facet:t}=this,n=t[e];return n?R1(n.sort)?[S5(n,n.sort,{expr:`datum`})]:h(n.sort)?[v6(n,e,{expr:`datum`})]:[$(n,{expr:`datum`})]:[]}facetSortOrder(e){let{facet:t}=this,n=t[e];if(n){let{sort:e}=n;return[(R1(e)?e.order:!h(e)&&e)||`ascending`]}return[]}assembleLabelTitle(){let{facet:e,config:t}=this;if(e.facet)return E6(e.facet,`facet`,t);let n={row:[`top`,`bottom`],column:[`left`,`right`]};for(let r of S6)if(e[r]){let i=b6(`labelOrient`,e[r]?.header,t,r);if(n[r].includes(i))return E6(e[r],r,t)}}assembleMarks(){let{child:e}=this,t=this.component.data.facetRoot,n=jpe(t),r=e.assembleGroupEncodeEntry(!1),i=this.assembleLabelTitle()||e.assembleTitle(),a=e.assembleGroupStyle();return[{name:this.getName(`cell`),type:`group`,...i?{title:i}:{},...a?{style:a}:{},from:{facet:this.assembleFacet()},sort:{field:HJ.map(e=>this.facetSortFields(e)).flat(),order:HJ.map(e=>this.facetSortOrder(e)).flat()},...n.length>0?{data:n}:{},...r?{encode:{update:r}}:{},...e.assembleGroup(Zue(this,[]))}]}getMapping(){return this.facet}};function Vpe(e,t){let{row:n,column:r}=t;if(n&&r){let t=null;for(let i of[n,r])if(R1(i.sort)){let{field:n,op:r=P1}=i.sort;e=t=new c8(e,{joinaggregate:[{op:r,field:n,as:S5(i,i.sort,{forAs:!0})}],groupby:[$(i)]})}return t}return null}function C5(e,t){for(let n of t){let t=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;let r=e.format?.mesh,i=t.format?.feature;if(r&&i)continue;let a=e.format?.feature;if((a||i)&&a!==i)continue;let o=t.format?.mesh;if(!((r||o)&&r!==o)){if(E4(e)&&E4(t)){if(qq(e.values,t.values))return n}else if(T4(e)&&T4(t)){if(e.url===t.url)return n}else if(D4(e)&&e.name===n.dataName)return n}}return null}function Hpe(e,t){if(e.data||!e.parent){if(e.data===null){let e=new r8({values:[]});return t.push(e),e}let n=C5(e.data,t);if(n)return O4(e.data)||(n.data.format=fq({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let n=new r8(e.data);return t.push(n),n}}return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}function Upe(e,t,n){let r=0;for(let i of t.transforms){let a,o;if(Tue(i))o=e=new _6(e,i),a=`derived`;else if(c4(i)){let r=yfe(i);o=e=$6.makeWithAncestors(e,{},r,n)??e,e=new r6(e,t,i.filter)}else if(u4(i))o=e=Y6.makeFromTransform(e,i,t),a=`number`;else if(Due(i))a=`date`,n.getWithExplicit(i.field).value===void 0&&(e=new $6(e,{[i.field]:a}),n.set(i.field,a,!1)),o=e=R4.makeFromTransform(e,i);else if(Oue(i))o=e=X6.makeFromTransform(e,i),a=`number`,Z3(t)&&(e=new e8(e));else if(l4(i))o=e=f5.make(e,t,i,r++),a=`derived`;else if(Sue(i))o=e=new f8(e,i),a=`number`;else if(Cue(i))o=e=new c8(e,i),a=`number`;else if(kue(i))o=e=d8.makeFromTransform(e,i),a=`derived`;else if(Aue(i))o=e=new s5(e,i),a=`derived`;else if(jue(i))o=e=new a5(e,i),a=`derived`;else if(wue(i))o=e=new o5(e,i),a=`derived`;else if(gue(i))o=e=new h5(e,i),a=`derived`;else if(xue(i))e=new g5(e,i);else if(Eue(i))o=e=u5.makeFromTransform(e,i),a=`derived`;else if(_ue(i))o=e=new i5(e,i),a=`derived`;else if(vue(i))o=e=new p5(e,i),a=`derived`;else if(yue(i))o=e=new m5(e,i),a=`derived`;else if(bue(i))o=e=new d5(e,i),a=`derived`;else{X(JX(i));continue}if(o&&a!==void 0)for(let e of o.producedFields()??[])n.set(e,a,!1)}return e}function w5(e){let t=Hpe(e,e.component.data.sources),{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.data,a=!(i&&(O4(i)||T4(i)||E4(i)))&&e.parent?e.parent.component.data.ancestorParse.clone():new Uue;O4(i)?(k4(i)?t=new n8(t,i.sequence):j4(i)&&(t=new t8(t,i.graticule)),a.parseNothing=!0):i?.format?.parse===null&&(a.parseNothing=!0),t=$6.makeExplicit(t,e,a)??t,t=new e8(t);let o=e.parent&&t5(e.parent);(Q8(e)||$8(e))&&o&&(t=Y6.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=Upe(t,e,a));let s=xfe(e),c=bfe(e);t=$6.makeWithAncestors(t,{},{...s,...c},a)??t,Q8(e)&&(t=c5.parseAll(t,e),t=l5.parseAll(t,e)),(Q8(e)||$8(e))&&(o||(t=Y6.makeFromEncoding(t,e)??t),t=R4.makeFromEncoding(t,e)??t,t=_6.parseAllForSortIndex(t,e));let l=t=T5(M4.Raw,e,t);if(Q8(e)){let n=X6.makeFromEncoding(t,e);n&&(t=n,Z3(e)&&(t=new e8(t))),t=u5.makeFromEncoding(t,e)??t,t=d8.makeFromEncoding(t,e)??t}let u,d;if(Q8(e)){let{markDef:n,mark:r,config:i}=e,{marks:a,scales:o}=d=N4({invalid:fX(`invalid`,n,i),isPath:W$(r)});a!==o&&o===`include-invalid-values`&&(u=t=T5(M4.PreFilterInvalid,e,t)),a===`exclude-invalid-values`&&(t=l8.make(t,e,d)??t)}let f=t=T5(M4.Main,e,t),p;if(Q8(e)&&d){let{marks:n,scales:r}=d;n===`include-invalid-values`&&r===`exclude-invalid-values`&&(t=l8.make(t,e,d)??t,p=t=T5(M4.PostFilterInvalid,e,t))}Q8(e)&&Ede(e,f);let m=null;if($8(e)){let r=e.getName(`facet`);t=Vpe(t,e.facet)??t,m=new Z6(t,e,r,f.getSource()),n[r]=m}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:l,main:f,facetRoot:m,ancestorParse:a,preFilterInvalid:u,postFilterInvalid:p}}function T5(e,t,n){let{outputNodes:r,outputNodeRefCounts:i}=t.component.data,a=t.getDataName(e),o=new F4(n,a,e,i);return r[a]=o,o}var Wpe=class extends n5{children;constructor(e,t,n,r){super(e,`concat`,t,n,r,e.resolve),(e.resolve?.axis?.x===`shared`||e.resolve?.axis?.y===`shared`)&&X(WX),this.children=this.getChildren(e).map((e,t)=>N5(e,this,this.getName(`concat_${t}`),void 0,r))}parseData(){this.component.data=w5(this);for(let e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(let e of this.children){e.parseSelections();for(let t of q(e.component.selection))this.component.selection[t]=e.component.selection[t]}xq(this.component.selection).some(e=>$3(e))&&QZ(VX)}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(let e of this.children)e.parseAxesAndHeaders()}getChildren(e){return A2(e)?e.vconcat:j2(e)?e.hconcat:e.concat}parseLayoutSize(){Lpe(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){let e=O6(this);for(let t of this.children)e.push(...t.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleMarks(){return this.children.map(e=>{let t=e.assembleTitle(),n=e.assembleGroupStyle(),r=e.assembleGroupEncodeEntry(!1);return{type:`group`,name:e.getName(`group`),...t?{title:t}:{},...n?{style:n}:{},...r?{encode:{update:r}}:{},...e.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){let e=this.layout.columns;return{...e==null?{}:{columns:e},bounds:`full`,align:`each`}}};function Gpe(e){return e===!1||e===null}var E5=q({disable:1,gridScale:1,scale:1,...H0,labelExpr:1,encode:1}),Kpe=class e extends y4{explicit;implicit;mainExtracted;constructor(e={},t={},n=!1){super(),this.explicit=e,this.implicit=t,this.mainExtracted=n}clone(){return new e(G(this.explicit),G(this.implicit),this.mainExtracted)}hasAxisPart(e){return e===`axis`?!0:e===`grid`||e===`title`?!!this.get(e):!Gpe(this.get(e))}hasOrientSignalRef(){return Y(this.explicit.orient)}};function qpe(e,t,n){let{encoding:r,config:i}=e,a=k0(r[t])??k0(r[$J(t)]),{format:o,formatType:s}=e.axis(t)||{};if(x1(s))return{text:T1({fieldOrDatumDef:a,field:`datum.value`,format:o,formatType:s,config:i}),...n};if(o===void 0&&s===void 0&&i.customFormatTypes){if(t0(a)===`quantitative`){if(l0(a)&&a.stack===`normalize`&&i.normalizedNumberFormatType)return{text:T1({fieldOrDatumDef:a,field:`datum.value`,format:i.normalizedNumberFormat,formatType:i.normalizedNumberFormatType,config:i}),...n};if(i.numberFormatType)return{text:T1({fieldOrDatumDef:a,field:`datum.value`,format:i.numberFormat,formatType:i.numberFormatType,config:i}),...n}}if(t0(a)===`temporal`&&i.timeFormatType&&Z(a)&&!a.timeUnit)return{text:T1({fieldOrDatumDef:a,field:`datum.value`,format:i.timeFormat,formatType:i.timeFormatType,config:i}),...n}}return n}function Jpe(e){return cY.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[tme(n,e)]),t),{})}var Ype={bottom:`top`,top:`bottom`,left:`right`,right:`left`};function Xpe(e){let{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(let r of e.children){r.parseAxesAndHeaders();for(let i of q(r.component.axes))n.axis[i]=F6(e.component.resolve,i),n.axis[i]===`shared`&&(t[i]=Zpe(t[i],r.component.axes[i]),t[i]||(n.axis[i]=`independent`,delete t[i]))}for(let i of cY){for(let a of e.children)if(a.component.axes[i]){if(n.axis[i]===`independent`){t[i]=(t[i]??[]).concat(a.component.axes[i]);for(let e of a.component.axes[i]){let{value:t,explicit:n}=e.getWithExplicit(`orient`);if(!Y(t)){if(r[t]>0&&!n){let n=Ype[t];r[t]>r[n]&&e.set(`orient`,n,!1)}r[t]++}}}delete a.component.axes[i]}if(n.axis[i]===`independent`&&t[i]&&t[i].length>1)for(let[e,n]of(t[i]||[]).entries())e>0&&n.get(`grid`)&&!n.explicit.grid&&(n.implicit.grid=!1)}}function Zpe(e,t){if(e){if(e.length!==t.length)return;let n=e.length;for(let r=0;r<n;r++){let n=e[r],i=t[r];if(!!n!=!!i)return;if(n&&i){let t=n.getWithExplicit(`orient`),a=i.getWithExplicit(`orient`);if(t.explicit&&a.explicit&&t.value!==a.value)return;e[r]=Qpe(n,i)}}}else return t.map(e=>e.clone());return e}function Qpe(e,t){for(let n of E5){let r=w4(e.getWithExplicit(n),t.getWithExplicit(n),n,`axis`,(e,t)=>{switch(n){case`title`:return yX(e,t);case`gridScale`:return{explicit:e.explicit,value:Rq(e.value,t.value)}}return C4(e,t,n,`axis`)});e.setWithExplicit(n,r)}return e}function $pe(e,t,n,r,i){if(t===`disable`)return n!==void 0;switch(n||={},t){case`titleAngle`:case`labelAngle`:return e===(Y(n.labelAngle)?n.labelAngle:Wq(n.labelAngle));case`values`:return!!n.values;case`encode`:return!!n.encoding||!!n.labelAngle;case`title`:if(e===g6(r,i))return!0}return e===n[t]}var eme=new Set([`grid`,`translate`,`format`,`formatType`,`orient`,`labelExpr`,`tickCount`,`position`,`tickMinStep`]);function tme(e,t){let n=t.axis(e),r=new Kpe,i=k0(t.encoding[e]),{mark:a,config:o}=t,s=n?.orient||o[e===`x`?`axisX`:`axisY`]?.orient||o.axis?.orient||Ide(e),c=t.getScaleComponent(e).get(`type`),l=kde(e,c,s,t.config),u=n===void 0?d6(`disable`,o.style,n?.style,l).configValue:!n;if(r.set(`disable`,u,n!==void 0),u)return r;n||={};let d=Nde(i,n,e,o.style,l),f=D1(n.formatType,i,c),p=E1(i,i.type,n.format,n.formatType,o,!0),m={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:c,orient:s,labelAngle:d,format:p,formatType:f,mark:a,config:o};for(let i of E5){let a=i in f6?f6[i](m):U0(i)?n[i]:void 0,s=a!==void 0,c=$pe(a,i,n,t,e);if(s&&c)r.set(i,a,c);else{let{configValue:e=void 0,configFrom:t=void 0}=U0(i)&&i!==`values`?d6(i,o.style,n.style,l):{},u=e!==void 0;s&&!u?r.set(i,a,c):(t!==`vgAxisConfig`||eme.has(i)&&u||B0(e)||Y(e))&&r.set(i,e,!1)}}let h=n.encoding??{},g=V0.reduce((n,i)=>{if(!r.hasAxisPart(i))return n;let a=N6(h[i]??{},t),o=i===`labels`?qpe(t,e,a):a;return o!==void 0&&!bq(o)&&(n[i]={update:o}),n},{});return bq(g)||r.set(`encode`,g,!!n.encoding||n.labelAngle!==void 0),r}function nme({encoding:e,size:t}){for(let n of cY){let r=eY(n);N2(t[r])&&r0(e[n])&&(delete t[r],X(EZ(r)))}return t}var rme={vgMark:`arc`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,size:`ignore`,orient:`ignore`,theta:`ignore`}),...b3(`x`,e,{defaultPos:`mid`}),...b3(`y`,e,{defaultPos:`mid`}),...D3(e,`radius`),...D3(e,`theta`)})},ime={vgMark:`area`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,orient:`include`,size:`ignore`,theta:`ignore`}),...w3(`x`,e,{defaultPos:`zeroOrMin`,defaultPos2:`zeroOrMin`,range:e.markDef.orient===`horizontal`}),...w3(`y`,e,{defaultPos:`zeroOrMin`,defaultPos2:`zeroOrMin`,range:e.markDef.orient===`vertical`}),...M3(e)})},ame={vgMark:`rect`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,orient:`ignore`,size:`ignore`,theta:`ignore`}),...D3(e,`x`),...D3(e,`y`)})},ome={vgMark:`shape`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,size:`ignore`,orient:`ignore`,theta:`ignore`})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape;return[{type:`geoshape`,projection:e.projectionName(),...n&&Z(n)&&n.type===e$?{field:$(n,{expr:`datum`})}:{}}]}},sme={vgMark:`image`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`ignore`,orient:`ignore`,size:`ignore`,theta:`ignore`}),...D3(e,`x`),...D3(e,`y`),...d3(e,`url`)})},cme={vgMark:`line`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,size:`ignore`,orient:`ignore`,theta:`ignore`}),...b3(`x`,e,{defaultPos:`mid`}),...b3(`y`,e,{defaultPos:`mid`}),..._3(`size`,e,{vgChannel:`strokeWidth`}),...M3(e)})},lme={vgMark:`trail`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,size:`include`,orient:`ignore`,theta:`ignore`}),...b3(`x`,e,{defaultPos:`mid`}),...b3(`y`,e,{defaultPos:`mid`}),..._3(`size`,e),...M3(e)})};function D5(e,t){let{config:n}=e;return{...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,size:`include`,orient:`ignore`,theta:`ignore`}),...b3(`x`,e,{defaultPos:`mid`}),...b3(`y`,e,{defaultPos:`mid`}),..._3(`size`,e),..._3(`angle`,e),...ume(e,n,t)}}function ume(e,t,n){return n?{shape:{value:n}}:_3(`shape`,e)}var dme={vgMark:`symbol`,encodeEntry:e=>D5(e)},fme={vgMark:`symbol`,encodeEntry:e=>D5(e,`circle`)},pme={vgMark:`symbol`,encodeEntry:e=>D5(e,`square`)},mme={vgMark:`rect`,encodeEntry:e=>({...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,orient:`ignore`,size:`ignore`,theta:`ignore`}),...D3(e,`x`),...D3(e,`y`)})},hme={vgMark:`rule`,encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return!e.encoding.x&&!e.encoding.y&&!e.encoding.latitude&&!e.encoding.longitude?{}:{...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,orient:`ignore`,size:`ignore`,theta:`ignore`}),...w3(`x`,e,{defaultPos:n===`horizontal`?`zeroOrMax`:`mid`,defaultPos2:`zeroOrMin`,range:n!==`vertical`}),...w3(`y`,e,{defaultPos:n===`vertical`?`zeroOrMax`:`mid`,defaultPos2:`zeroOrMin`,range:n!==`horizontal`}),..._3(`size`,e,{vgChannel:`strokeWidth`})}}},gme={vgMark:`text`,encodeEntry:e=>{let{config:t,encoding:n}=e;return{...A3(e,{align:`include`,baseline:`include`,color:`include`,size:`ignore`,orient:`ignore`,theta:`include`}),...b3(`x`,e,{defaultPos:`mid`}),...b3(`y`,e,{defaultPos:`mid`}),...d3(e),..._3(`size`,e,{vgChannel:`fontSize`}),..._3(`angle`,e),...N3(`align`,_me(e.markDef,n,t)),...N3(`baseline`,vme(e.markDef,n,t)),...b3(`radius`,e,{defaultPos:null}),...b3(`theta`,e,{defaultPos:null})}}};function _me(e,t,n){if(fX(`align`,e,n)===void 0)return`center`}function vme(e,t,n){if(fX(`baseline`,e,n)===void 0)return`middle`}var O5={arc:rme,area:ime,bar:ame,circle:fme,geoshape:ome,image:sme,line:cme,point:dme,rect:mme,rule:hme,square:pme,text:gme,tick:{vgMark:`rect`,encodeEntry:e=>{let{config:t,markDef:n}=e,r=n.orient,i=r===`horizontal`?`x`:`y`,a=r===`horizontal`?`y`:`x`,o=r===`horizontal`?`height`:`width`;return{...A3(e,{align:`ignore`,baseline:`ignore`,color:`include`,orient:`ignore`,size:`ignore`,theta:`ignore`}),...D3(e,i),...b3(a,e,{defaultPos:`mid`,vgChannel:a===`y`?`yc`:`xc`}),[o]:oX(fX(`thickness`,n,t))}}},trail:lme};function yme(e){if(lq([P$,j$,B$],e.mark)){let t=e2(e.mark,e.encoding);if(t.length>0)return bme(e,t)}else if(e.mark===M$){let t=tX.some(t=>fX(t,e.markDef,e.config));if(e.stack&&!e.fieldDef(`size`)&&t)return xme(e)}return j5(e)}var k5=`faceted_path_`;function bme(e,t){return[{name:e.getName(`pathgroup`),type:`group`,from:{facet:{name:k5+e.requestDataName(M4.Main),data:e.requestDataName(M4.Main),groupby:t}},encode:{update:{width:{field:{group:`width`}},height:{field:{group:`height`}}}},marks:j5(e,{fromPrefix:k5})}]}var A5=`stack_group_`;function xme(e){let[t]=j5(e,{fromPrefix:A5}),n=e.scaleName(e.stack.fieldChannel),r=(t={})=>e.vgField(e.stack.fieldChannel,t),i=(e,t)=>`${e}(${[r({prefix:`min`,suffix:`start`,expr:t}),r({prefix:`max`,suffix:`start`,expr:t}),r({prefix:`min`,suffix:`end`,expr:t}),r({prefix:`max`,suffix:`end`,expr:t})].map(e=>`scale('${n}',${e})`).join(`,`)})`,a,o;e.stack.fieldChannel===`x`?(a={...oq(t.encode.update,[`y`,`yc`,`y2`,`height`,...tX]),x:{signal:i(`min`,`datum`)},x2:{signal:i(`max`,`datum`)},clip:{value:!0}},o={x:{field:{group:`x`},mult:-1},height:{field:{group:`height`}}},t.encode.update={...sq(t.encode.update,[`y`,`yc`,`y2`]),height:{field:{group:`height`}}}):(a={...oq(t.encode.update,[`x`,`xc`,`x2`,`width`]),y:{signal:i(`min`,`datum`)},y2:{signal:i(`max`,`datum`)},clip:{value:!0}},o={y:{field:{group:`y`},mult:-1},width:{field:{group:`width`}}},t.encode.update={...sq(t.encode.update,[`x`,`xc`,`x2`]),width:{field:{group:`width`}}});for(let n of tX){let r=pX(n,e.markDef,e.config);t.encode.update[n]?(a[n]=t.encode.update[n],delete t.encode.update[n]):r&&(a[n]=oX(r)),r&&(t.encode.update[n]={value:0})}let s=[];if(e.stack.groupbyChannels?.length>0)for(let t of e.stack.groupbyChannels){let n=e.fieldDef(t),r=$(n);r&&s.push(r),(n?.bin||n?.timeUnit)&&s.push($(n,{binSuffix:`end`}))}return a=[`stroke`,`strokeWidth`,`strokeJoin`,`strokeCap`,`strokeDash`,`strokeDashOffset`,`strokeMiterLimit`,`strokeOpacity`].reduce((n,r)=>{if(t.encode.update[r])return{...n,[r]:t.encode.update[r]};{let t=pX(r,e.markDef,e.config);return t===void 0?n:{...n,[r]:oX(t)}}},a),a.stroke&&(a.strokeForeground={value:!0},a.strokeOffset={value:0}),[{type:`group`,from:{facet:{data:e.requestDataName(M4.Main),name:A5+e.requestDataName(M4.Main),groupby:s,aggregate:{fields:[r({suffix:`start`}),r({suffix:`start`}),r({suffix:`end`}),r({suffix:`end`})],ops:[`min`,`max`,`min`,`max`]}}},encode:{update:a},marks:[{type:`group`,encode:{update:o},marks:[t]}]}]}function Sme(e){let{encoding:t,stack:n,mark:r,markDef:i,config:a}=e,o=t.order;if(!(!h(o)&&s0(o)&&cq(o.value)||!o&&cq(fX(`order`,i,a)))){if((h(o)||Z(o))&&!n)return gX(o,{expr:`datum`});if(W$(r)){let e=i.orient===`horizontal`?`y`:`x`,n=t[e];if(Z(n))return{field:e}}}}function j5(e,t={fromPrefix:``}){let{mark:n,markDef:r,encoding:i,config:a}=e,o=Rq(r.clip,Cme(e),wme(e)),s=dX(r),c=i.key,l=Sme(e),u=Tme(e);u&&Object.values(e.component.selection).some(e=>e.type===`point`&&!e.bind&&e.on!==`pointerover`)&&(e.markDef.cursor??=`pointer`);let d=fX(`aria`,r,a),f=O5[n].postEncodingTransform?O5[n].postEncodingTransform(e):null;return[{name:e.getName(`marks`),type:O5[n].vgMark,...o?{clip:o}:{},...s?{style:s}:{},...c?{key:c.field}:{},...l?{sort:l}:{},...u||{},...d===!1?{aria:d}:{},from:{data:t.fromPrefix+e.requestDataName(M4.Main)},encode:{update:O5[n].encodeEntry(e)},...f?{transform:f}:{}}]}function Cme(e){let t=e.getScaleComponent(`x`),n=e.getScaleComponent(`y`);return t?.get(`selectionExtent`)||n?.get(`selectionExtent`)?!0:void 0}function wme(e){let t=e.component.projection;return t&&!t.isFit?!0:void 0}function Tme(e){if(!e.component.selection)return null;let t=q(e.component.selection).length,n=t,r=e.parent;for(;r&&n===0;)n=q(r.component.selection).length,r=r.parent;return n?{interactive:t>0||e.mark===`geoshape`||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}var M5=class extends r5{markDef;encoding;specifiedScales={};stack;specifiedAxes={};specifiedLegends={};specifiedProjection={};selection=[];children=[];constructor(e,t,n,r={},i){super(e,`unit`,t,n,i,void 0,P2(e)?e.view:void 0);let a=q$(e.mark)?{...e.mark}:{type:e.mark},o=a.type;a.filled===void 0&&(a.filled=aue(a,i,{graticule:e.data&&j4(e.data)}));let s=this.encoding=fle(e.encoding||{},o,a.filled,i);this.markDef=X2(a,s,i),this.size=nme({encoding:s,size:P2(e)?{...r,...e.width===void 0?{}:{width:e.width},...e.height===void 0?{}:{height:e.height}}:r}),this.stack=Y2(this.markDef,s),this.specifiedScales=this.initScales(o,s),this.specifiedAxes=this.initAxes(s),this.specifiedLegends=this.initLegends(s),this.specifiedProjection=e.projection,this.selection=(e.params??[]).filter(e=>D2(e)),this.alignStackOrderWithColorDomain()}get hasProjection(){let{encoding:e}=this,t=this.mark===U$,n=e&&RJ.some(t=>Q(e[t]));return t||n}scaleDomain(e){let t=this.specifiedScales[e];return t?t.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,t){return SY.reduce((e,n)=>{let r=k0(t[n]);return r&&(e[n]=this.initScale(r.scale??{})),e},{})}initScale(e){let{domain:t,range:n}=e,r=KY(e);return h(t)&&(r.domain=t.map(iX)),h(n)&&(r.range=n.map(iX)),r}initAxes(e){return cY.reduce((t,n)=>{let r=e[n];if(Q(r)||n===Qq&&Q(e.x2)||n===$q&&Q(e.y2)){let e=Q(r)?r.axis:void 0;t[n]=e&&this.initAxis({...e})}return t},{})}initAxis(e){let t=q(e),n={};for(let r of t){let t=e[r];n[r]=B0(t)?rX(t):iX(t)}return n}initLegends(e){return vY.reduce((t,n)=>{let r=k0(e[n]);if(r&&bY(n)){let e=r.legend;t[n]=e&&KY(e)}return t},{})}alignStackOrderWithColorDomain(){let{color:e,fill:t,order:n,xOffset:r,yOffset:i}=this.encoding,o=t||e,s=Z(o)?o:void 0,c=s?.field,l=s?.scale,u=s?.type,d=l?.domain,f=r||i,p=Z(f)?f:void 0,m=`_${c}_sort_index`;if(!n&&Array.isArray(d)&&typeof c==`string`&&u===`nominal`){if(p&&!p.sort)p.sort=d;else{if(!this.stack)return;let e=`indexof(${a(d)}, datum['${c}'])`,t=this.markDef?.orient===`horizontal`?`ascending`:`descending`;this.transforms.push({calculate:e,as:m}),this.encoding.order={field:m,type:`quantitative`,sort:t}}}}parseData(){this.component.data=w5(this)}parseLayoutSize(){Rpe(this)}parseSelections(){this.component.selection=Tde(this,this.selection)}parseMarkGroup(){this.component.mark=yme(this)}parseAxesAndHeaders(){this.component.axes=Jpe(this)}assembleSelectionTopLevelSignals(e){return Que(this,e)}assembleSignals(){return[...l6(this),...Xue(this,[])]}assembleSelectionData(e){return $ue(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return O6(this)}correctDataNames=e=>(e.from?.data&&(e.from.data=this.lookupDataSource(e.from.data),`time`in this.encoding&&(e.from.data=e.from.data+G4)),e.from?.facet?.data&&(e.from.facet.data=this.lookupDataSource(e.from.facet.data)),e);assembleMarks(){let e=this.component.mark??[];return(!this.parent||!t5(this.parent))&&(e=t3(this,e)),e.map(this.correctDataNames)}assembleGroupStyle(){let{style:e}=this.view||{};return e===void 0?this.encoding.x||this.encoding.y?`cell`:`view`:e}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return q0(this.encoding,e)}fieldDef(e){let t=this.encoding[e];return O0(t)}typedFieldDef(e){let t=this.fieldDef(e);return o0(t)?t:null}},Eme=class e extends n5{children;constructor(t,n,r,i,a){super(t,`layer`,n,r,a,t.resolve,t.view);let o={...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}};this.children=t.layer.map((t,n)=>{if(G2(t))return new e(t,this,this.getName(`layer_${n}`),o,a);if(G0(t))return new M5(t,this,this.getName(`layer_${n}`),o,a);throw Error(bX(t))})}parseData(){this.component.data=w5(this);for(let e of this.children)e.parseData()}parseLayoutSize(){Ipe(this)}parseSelections(){this.component.selection={};for(let e of this.children){e.parseSelections();for(let t of q(e.component.selection))this.component.selection[t]=e.component.selection[t]}xq(this.component.selection).some(e=>$3(e))&&QZ(VX)}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){Xpe(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleSignals()),l6(this))}assembleLayoutSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleLayoutSignals()),O6(this))}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleGroupStyle(){let e=new Set;for(let t of this.children)for(let n of E(t.assembleGroupStyle()))e.add(n);let t=Array.from(e);return t.length>1?t:t.length===1?t[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(let t of this.children)if(e=t.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return ede(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,t)=>e.concat(t.assembleLegends()),M8(this))}};function N5(e,t,n,r,i){if(H1(e))return new Bpe(e,t,n,i);if(G2(e))return new Eme(e,t,n,r,i);if(G0(e))return new M5(e,t,n,r,i);if(Fle(e))return new Wpe(e,t,n,i);throw Error(bX(e))}function P5(e,t={}){t.logger&&XZ(t.logger),t.fieldTitle&&x0(t.fieldTitle);try{let n=W2(T(t.config,e.config)),r=g4(e,n),i=N5(r,null,``,void 0,n);return i.parse(),Ife(i.component.data,i),{spec:Ome(i,Dme(e,r.autosize,n,i),e.datasets,e.usermeta),normalized:r}}finally{t.logger&&ZZ(),t.fieldTitle&&S0()}}function Dme(e,t,n,r){let i=r.component.layoutSize.get(`width`),a=r.component.layoutSize.get(`height`);if(t===void 0?(t={type:`pad`},r.hasAxisOrientSignalRef()&&(t.resize=!0)):_(t)&&(t={type:t}),i&&a&&Bue(t.type)){if(i===`step`&&a===`step`)X(wX()),t.type=`pad`;else if(i===`step`||a===`step`){let e=i===`step`?`width`:`height`;X(wX(fY(e))),t.type=Vue(e===`width`?`height`:`width`)}}return{...q(t).length===1&&t.type?t.type===`pad`?{}:{autosize:t.type}:{autosize:t},...v4(n,!1),...v4(e,!0)}}function Ome(e,t,n={},r){let i=e.config?qle(e.config):void 0,a=Mpe(e.component.data,n),o=e.assembleSelectionData(a),s=e.assembleProjections(),c=e.assembleTitle(),l=e.assembleGroupStyle(),u=e.assembleGroupEncodeEntry(!0),d=e.assembleLayoutSignals();d=d.filter(e=>(e.name===`width`||e.name===`height`)&&e.value!==void 0?(t[e.name]=+e.value,!1):!0);let{params:f,...p}=t;return{$schema:`https://vega.github.io/schema/vega/v6.json`,...e.description?{description:e.description}:{},...p,...c?{title:c}:{},...l?{style:l}:{},...u?{encode:{update:u}}:{},data:o,...s.length>0?{projections:s}:{},...e.assembleGroup([...d,...e.assembleSelectionTopLevelSignals([]),...O2(f)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}var kme=$K.version;function F5(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}}var Ame=t({carbong10:()=>lhe,carbong100:()=>dhe,carbong90:()=>uhe,carbonwhite:()=>che,dark:()=>Mme,excel:()=>Nme,fivethirtyeight:()=>Ime,ggplot2:()=>Lme,googlecharts:()=>Yme,latimes:()=>Vme,powerbi:()=>ihe,quartz:()=>Hme,urbaninstitute:()=>Jme,version:()=>fhe,vox:()=>Ume}),jme={version:`3.0.0`},I5=`#fff`,L5=`#888`,Mme={background:`#333`,view:{stroke:L5},title:{color:I5,subtitleColor:I5},style:{"guide-label":{fill:I5},"guide-title":{fill:I5}},axis:{domainColor:I5,gridColor:L5,tickColor:I5}},R5=`#4572a7`,Nme={background:`#fff`,arc:{fill:R5},area:{fill:R5},line:{stroke:R5,strokeWidth:2},path:{stroke:R5},rect:{fill:R5},shape:{stroke:R5},symbol:{fill:R5,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:`#000000`,gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:`middle`,labelFontSize:11,symbolSize:50,symbolType:`square`},range:{category:[`#4572a7`,`#aa4643`,`#8aa453`,`#71598e`,`#4598ae`,`#d98445`,`#94aace`,`#d09393`,`#b9cc98`,`#a99cbc`]}},z5=`#30a2da`,B5=`#cbcbcb`,Pme=`#999`,Fme=`#333`,V5=`#f0f0f0`,H5=`#333`,Ime={arc:{fill:z5},area:{fill:z5},axis:{domainColor:B5,grid:!0,gridColor:B5,gridWidth:1,labelColor:Pme,labelFontSize:10,titleColor:Fme,tickColor:B5,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:V5,group:{fill:V5},legend:{labelColor:H5,labelFontSize:11,padding:1,symbolSize:30,symbolType:`square`,titleColor:H5,titleFontSize:14,titlePadding:10},line:{stroke:z5,strokeWidth:2},path:{stroke:z5,strokeWidth:.5},rect:{fill:z5},range:{category:[`#30a2da`,`#fc4f30`,`#e5ae38`,`#6d904f`,`#8b8b8b`,`#b96db8`,`#ff9e27`,`#56cc60`,`#52d2ca`,`#52689e`,`#545454`,`#9fe4f8`],diverging:[`#cc0020`,`#e77866`,`#f6e7e1`,`#d6e8ed`,`#91bfd9`,`#1d78b5`],heatmap:[`#d6e8ed`,`#cee0e5`,`#91bfd9`,`#549cc6`,`#1d78b5`]},point:{filled:!0,shape:`circle`},shape:{stroke:z5},bar:{binSpacing:2,fill:z5,stroke:null},title:{anchor:`start`,fontSize:24,fontWeight:600,offset:20}},U5=`#000`,Lme={group:{fill:`#e5e5e5`},arc:{fill:U5},area:{fill:U5},line:{stroke:U5},path:{stroke:U5},rect:{fill:U5},shape:{stroke:U5},symbol:{fill:U5,size:40},axis:{domain:!1,grid:!0,gridColor:`#FFFFFF`,gridOpacity:1,labelColor:`#7F7F7F`,labelPadding:4,tickColor:`#7F7F7F`,tickSize:5.67,titleFontSize:16,titleFontWeight:`normal`},legend:{labelBaseline:`middle`,labelFontSize:11,symbolSize:40},range:{category:[`#000000`,`#7F7F7F`,`#1A1A1A`,`#999999`,`#333333`,`#B0B0B0`,`#4D4D4D`,`#C9C9C9`,`#666666`,`#DCDCDC`]}},Rme=22,zme=`normal`,W5=`Benton Gothic, sans-serif`,G5=11.5,Bme=`normal`,K5=`#82c6df`,q5=`Benton Gothic Bold, sans-serif`,J5=`normal`,Y5=13,X5={"category-6":[`#ec8431`,`#829eb1`,`#c89d29`,`#3580b1`,`#adc839`,`#ab7fb4`],"fire-7":[`#fbf2c7`,`#f9e39c`,`#f8d36e`,`#f4bb6a`,`#e68a4f`,`#d15a40`,`#ab4232`],"fireandice-6":[`#e68a4f`,`#f4bb6a`,`#f9e39c`,`#dadfe2`,`#a6b7c6`,`#849eae`]},Vme={background:`#ffffff`,title:{anchor:`start`,color:`#000000`,font:q5,fontSize:Rme,fontWeight:zme},arc:{fill:K5},area:{fill:K5},line:{stroke:K5,strokeWidth:2},path:{stroke:K5},rect:{fill:K5},shape:{stroke:K5},symbol:{fill:K5,size:30},axis:{labelFont:W5,labelFontSize:G5,labelFontWeight:Bme,titleFont:q5,titleFontSize:Y5,titleFontWeight:J5},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:`middle`,maxExtent:45,minExtent:45,tickSize:2,titleAlign:`left`,titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:W5,labelFontSize:G5,symbolType:`square`,titleFont:q5,titleFontSize:Y5,titleFontWeight:J5},range:{category:X5[`category-6`],diverging:X5[`fireandice-6`],heatmap:X5[`fire-7`],ordinal:X5[`fire-7`],ramp:X5[`fire-7`]}},Z5=`#ab5787`,Q5=`#979797`,Hme={background:`#f9f9f9`,arc:{fill:Z5},area:{fill:Z5},line:{stroke:Z5},path:{stroke:Z5},rect:{fill:Z5},shape:{stroke:Z5},symbol:{fill:Z5,size:30},axis:{domainColor:Q5,domainWidth:.5,gridWidth:.2,labelColor:Q5,tickColor:Q5,tickWidth:.2,titleColor:Q5},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:`square`},range:{category:[`#ab5787`,`#51b2e5`,`#703c5c`,`#168dd9`,`#d190b6`,`#00609f`,`#d365ba`,`#154866`,`#666666`,`#c4c4c4`]}},$5=`#3e5c69`,Ume={background:`#fff`,arc:{fill:$5},area:{fill:$5},line:{stroke:$5},path:{stroke:$5},rect:{fill:$5},shape:{stroke:$5},symbol:{fill:$5},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:`normal`},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:`square`},range:{category:[`#3e5c69`,`#6793a6`,`#182429`,`#0570b0`,`#3690c0`,`#74a9cf`,`#a6bddb`,`#e2ddf2`]}},e7=`#1696d2`,t7=`#000000`,Wme=`#FFFFFF`,n7=`Lato`,r7=`Lato`,Gme=`Lato`,Kme=`#DEDDDD`,qme=18,i7={"shades-blue":[`#CFE8F3`,`#A2D4EC`,`#73BFE2`,`#46ABDB`,`#1696D2`,`#12719E`,`#0A4C6A`,`#062635`],"six-groups-cat-1":[`#1696d2`,`#ec008b`,`#fdbf11`,`#000000`,`#d2d2d2`,`#55b748`],"six-groups-seq":[`#cfe8f3`,`#a2d4ec`,`#73bfe2`,`#46abdb`,`#1696d2`,`#12719e`],"diverging-colors":[`#ca5800`,`#fdbf11`,`#fdd870`,`#fff2cf`,`#cfe8f3`,`#73bfe2`,`#1696d2`,`#0a4c6a`]},Jme={background:Wme,title:{anchor:`start`,fontSize:qme,font:n7},axisX:{domain:!0,domainColor:t7,domainWidth:1,grid:!1,labelFontSize:12,labelFont:r7,labelAngle:0,tickColor:t7,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:n7},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:Kme,gridWidth:1,labelFontSize:12,labelFont:r7,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:n7,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:r7,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:n7,orient:`right`,offset:10},view:{stroke:`transparent`},range:{category:i7[`six-groups-cat-1`],diverging:i7[`diverging-colors`],heatmap:i7[`diverging-colors`],ordinal:i7[`six-groups-seq`],ramp:i7[`shades-blue`]},area:{fill:e7},rect:{fill:e7},line:{color:e7,stroke:e7,strokeWidth:5},trail:{color:e7,stroke:e7,strokeWidth:0,size:1},path:{stroke:e7,strokeWidth:.5},point:{filled:!0},text:{font:Gme,color:e7,fontSize:11,align:`center`,fontWeight:400,size:11},style:{bar:{fill:e7,stroke:null}},arc:{fill:e7},shape:{stroke:e7},symbol:{fill:e7,size:30}},a7=`#3366CC`,o7=`#ccc`,s7=`Arial, sans-serif`,Yme={arc:{fill:a7},area:{fill:a7},path:{stroke:a7},rect:{fill:a7},shape:{stroke:a7},symbol:{stroke:a7},circle:{fill:a7},background:`#fff`,padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:s7,fontSize:12},"guide-title":{font:s7,fontSize:12},"group-title":{font:s7,fontSize:12}},title:{font:s7,fontSize:14,fontWeight:`bold`,dy:-3,anchor:`start`},axis:{gridColor:o7,tickColor:o7,domain:!1,grid:!0},range:{category:[`#4285F4`,`#DB4437`,`#F4B400`,`#0F9D58`,`#AB47BC`,`#00ACC1`,`#FF7043`,`#9E9D24`,`#5C6BC0`,`#F06292`,`#00796B`,`#C2185B`],heatmap:[`#c6dafc`,`#5e97f6`,`#2a56c6`]}},c7=e=>e*(1/3+1),l7=c7(9),u7=c7(10),d7=c7(12),f7=`Segoe UI`,p7=`wf_standard-font, helvetica, arial, sans-serif`,m7=`#252423`,h7=`#605E5C`,g7=`transparent`,Xme=`#C8C6C4`,_7=`#118DFF`,Zme=`#12239E`,Qme=`#E66C37`,$me=`#6B007B`,ehe=`#E044A7`,the=`#744EC2`,nhe=`#D9B300`,rhe=`#D64550`,v7=_7,y7=`#DEEFFF`,b7=[y7,v7],ihe={view:{stroke:g7},background:g7,font:f7,header:{titleFont:p7,titleFontSize:d7,titleColor:m7,labelFont:f7,labelFontSize:u7,labelColor:h7},axis:{ticks:!1,grid:!1,domain:!1,labelColor:h7,labelFontSize:l7,titleFont:p7,titleColor:m7,titleFontSize:d7,titleFontWeight:`normal`},axisQuantitative:{tickCount:3,grid:!0,gridColor:Xme,gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:_7},line:{stroke:_7,strokeWidth:3,strokeCap:`round`,strokeJoin:`round`},text:{font:f7,fontSize:l7,fill:h7},arc:{fill:_7},area:{fill:_7,line:!0,opacity:.6},path:{stroke:_7},rect:{fill:_7},point:{fill:_7,filled:!0,size:75},shape:{stroke:_7},symbol:{fill:_7,strokeWidth:1.5,size:50},legend:{titleFont:f7,titleFontWeight:`bold`,titleColor:h7,labelFont:f7,labelFontSize:u7,labelColor:h7,symbolType:`circle`,symbolSize:75},range:{category:[_7,Zme,Qme,$me,ehe,the,nhe,rhe],diverging:b7,heatmap:b7,ordinal:[y7,`#c7e4ff`,`#b0d9ff`,`#9aceff`,`#83c3ff`,`#6cb9ff`,`#55aeff`,`#3fa3ff`,`#2898ff`,v7]}},x7=`IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif`,ahe=`IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif`,S7=400,C7={textPrimary:{g90:`#f4f4f4`,g100:`#f4f4f4`,white:`#161616`,g10:`#161616`},textSecondary:{g90:`#c6c6c6`,g100:`#c6c6c6`,white:`#525252`,g10:`#525252`},layerAccent01:{white:`#e0e0e0`,g10:`#e0e0e0`,g90:`#525252`,g100:`#393939`},gridBg:{white:`#ffffff`,g10:`#ffffff`,g90:`#161616`,g100:`#161616`}},ohe=[`#8a3ffc`,`#33b1ff`,`#007d79`,`#ff7eb6`,`#fa4d56`,`#fff1f1`,`#6fdc8c`,`#4589ff`,`#d12771`,`#d2a106`,`#08bdba`,`#bae6ff`,`#ba4e00`,`#d4bbff`],she=[`#6929c4`,`#1192e8`,`#005d5d`,`#9f1853`,`#fa4d56`,`#570408`,`#198038`,`#002d9c`,`#ee538b`,`#b28600`,`#009d9a`,`#012749`,`#8a3800`,`#a56eff`];function w7({theme:e,background:t}){let n=[`white`,`g10`].includes(e)?`light`:`dark`,r=C7.gridBg[e],i=C7.textPrimary[e],a=C7.textSecondary[e],o=n===`dark`?ohe:she,s=n===`dark`?`#d4bbff`:`#6929c4`;return{background:t,arc:{fill:s},area:{fill:s},path:{stroke:s},rect:{fill:s},shape:{stroke:s},symbol:{stroke:s},circle:{fill:s},view:{fill:r,stroke:r},group:{fill:r},title:{color:i,anchor:`start`,dy:-15,fontSize:16,font:x7,fontWeight:600},axis:{labelColor:a,labelFontSize:12,labelFont:ahe,labelFontWeight:S7,titleColor:i,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:C7.layerAccent01[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:x7,fill:a,fontWeight:S7},"guide-title":{font:x7,fill:a,fontWeight:S7}},range:{category:o,diverging:[`#750e13`,`#a2191f`,`#da1e28`,`#fa4d56`,`#ff8389`,`#ffb3b8`,`#ffd7d9`,`#fff1f1`,`#e5f6ff`,`#bae6ff`,`#82cfff`,`#33b1ff`,`#1192e8`,`#0072c3`,`#00539a`,`#003a6d`],heatmap:[`#f6f2ff`,`#e8daff`,`#d4bbff`,`#be95ff`,`#a56eff`,`#8a3ffc`,`#6929c4`,`#491d8b`,`#31135e`,`#1c0f30`]}}}var che=w7({theme:`white`,background:`#ffffff`}),lhe=w7({theme:`g10`,background:`#f4f4f4`}),uhe=w7({theme:`g90`,background:`#262626`}),dhe=w7({theme:`g100`,background:`#161616`}),fhe=jme.version,phe={version:`1.0.0`};function mhe(e,t,n,r){if(h(e))return`[${e.map(e=>t(_(e)?e:T7(e,n))).join(`, `)}]`;if(d(e)){let i=``,{title:a,image:o,...s}=e;a&&(i+=`<h2>${t(a)}</h2>`),o&&(i+=`<img src="${new URL(t(o),r||location.href).href}">`);let c=Object.keys(s);if(c.length>0){i+=`<table>`;for(let e of c){let r=s[e];r!==void 0&&(d(r)&&(r=T7(r,n)),i+=`<tr><td class="key">${t(e)}</td><td class="value">${t(r)}</td></tr>`)}i+=`</table>`}return i||`{}`}return t(e)}function hhe(e){let t=[];return function(n,r){if(typeof r!=`object`||!r)return r;let i=t.indexOf(this)+1;return t.length=i,t.length>e?`[Object]`:t.indexOf(r)>=0?`[Circular]`:(t.push(r),r)}}function T7(e,t){return JSON.stringify(e,hhe(t))}var ghe=`#vg-tooltip-element {
12
+ visibility: hidden;
13
+ padding: 8px;
14
+ position: fixed;
15
+ z-index: 1000;
16
+ font-family: sans-serif;
17
+ font-size: 11px;
18
+ border-radius: 3px;
19
+ box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
20
+ /* The default theme is the light theme. */
21
+ background-color: rgba(255, 255, 255, 0.95);
22
+ border: 1px solid #d9d9d9;
23
+ color: black;
24
+ }
25
+ #vg-tooltip-element.visible {
26
+ visibility: visible;
27
+ }
28
+ #vg-tooltip-element h2 {
29
+ margin-top: 0;
30
+ margin-bottom: 10px;
31
+ font-size: 13px;
32
+ }
33
+ #vg-tooltip-element table {
34
+ border-spacing: 0;
35
+ }
36
+ #vg-tooltip-element table tr {
37
+ border: none;
38
+ }
39
+ #vg-tooltip-element table tr td {
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ padding-top: 2px;
43
+ padding-bottom: 2px;
44
+ }
45
+ #vg-tooltip-element table tr td.key {
46
+ color: #808080;
47
+ max-width: 150px;
48
+ text-align: right;
49
+ padding-right: 4px;
50
+ }
51
+ #vg-tooltip-element table tr td.value {
52
+ display: block;
53
+ max-width: 300px;
54
+ max-height: 7em;
55
+ text-align: left;
56
+ }
57
+ #vg-tooltip-element.dark-theme {
58
+ background-color: rgba(32, 32, 32, 0.9);
59
+ border: 1px solid #f5f5f5;
60
+ color: white;
61
+ }
62
+ #vg-tooltip-element.dark-theme td.key {
63
+ color: #bfbfbf;
64
+ }
65
+ `,E7=`vg-tooltip-element`,_he={offsetX:10,offsetY:10,id:E7,styleId:`vega-tooltip-style`,theme:`light`,disableDefaultStyle:!1,sanitize:vhe,maxDepth:2,formatTooltip:mhe,baseURL:``,anchor:`cursor`,position:[`top`,`bottom`,`left`,`right`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]};function vhe(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`)}function yhe(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error(`Invalid HTML ID`);return ghe.toString().replaceAll(E7,e)}function D7(e,t,{offsetX:n,offsetY:r}){let i=O7({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,r);for(let e of[`bottom-right`,`bottom-left`,`top-right`,`top-left`])if(k7(i[e],t))return i[e];return i[`top-left`]}function bhe(e,t,n,r,i){let{position:a,offsetX:o,offsetY:s}=i,c=e._el.getBoundingClientRect(),l=e._origin,u=O7(xhe(c,l,n),r,o,s),d=Array.isArray(a)?a:[a];for(let e of d)if(k7(u[e],r)&&!She(t,u[e],r))return u[e];return D7(t,r,i)}function xhe(e,t,n){let r=n.isVoronoi?n.datum.bounds:n.bounds,i=e.left+t[0]+r.x1,a=e.top+t[1]+r.y1,o=n;for(;o.mark.group;)o=o.mark.group,i+=o.x??0,a+=o.y??0;let s=r.x2-r.x1,c=r.y2-r.y1;return{x1:i,x2:i+s,y1:a,y2:a+c}}function O7(e,t,n,r){let i=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,s=i-t.width/2,c=e.x2+n,l=e.y1-t.height-r,u=a-t.height/2,d=e.y2+r;return{top:{x:s,y:l},bottom:{x:s,y:d},left:{x:o,y:u},right:{x:c,y:u},"top-left":{x:o,y:l},"top-right":{x:c,y:l},"bottom-left":{x:o,y:d},"bottom-right":{x:c,y:d}}}function k7(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}function She(e,t,n){return e.clientX>=t.x&&e.clientX<=t.x+n.width&&e.clientY>=t.y&&e.clientY<=t.y+n.height}var Che=class{call;options;el;constructor(e){this.options={..._he,...e};let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let e=document.createElement(`style`);e.setAttribute(`id`,this.options.styleId),e.innerHTML=yhe(t);let n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement(`div`),this.el.setAttribute(`id`,this.options.id),this.el.classList.add(`vg-tooltip`),(document.fullscreenElement??document.body).appendChild(this.el)),r==null||r===``){this.el.classList.remove(`visible`,`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add(`visible`,`${this.options.theme}-theme`);let{x:i,y:a}=this.options.anchor===`mark`?bhe(e,t,n,this.el.getBoundingClientRect(),this.options):D7(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${i}px`}};phe.version;var whe=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),The=Object.prototype.hasOwnProperty;function A7(e,t){return The.call(e,t)}function j7(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n<t.length;n++)t[n]=``+n;return t}if(Object.keys)return Object.keys(e);var r=[];for(var i in e)A7(e,i)&&r.push(i);return r}function M7(e){switch(typeof e){case`object`:return JSON.parse(JSON.stringify(e));case`undefined`:return null;default:return e}}function N7(e){for(var t=0,n=e.length,r;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function P7(e){return e.indexOf(`/`)===-1&&e.indexOf(`~`)===-1?e:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function F7(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}function I7(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(I7(e[t]))return!0}else if(typeof e==`object`){for(var r=j7(e),i=r.length,a=0;a<i;a++)if(I7(e[r[a]]))return!0}}return!1}function L7(e,t){var n=[e];for(var r in t){var i=typeof t[r]==`object`?JSON.stringify(t[r],null,2):t[r];i!==void 0&&n.push(r+`: `+i)}return n.join(`
66
+ `)}var R7=function(e){whe(t,e);function t(t,n,r,i,a){var o=this.constructor,s=e.call(this,L7(t,{name:n,index:r,operation:i,tree:a}))||this;return s.name=n,s.index=r,s.operation=i,s.tree=a,Object.setPrototypeOf(s,o.prototype),s.message=L7(t,{name:n,index:r,operation:i,tree:a}),s}return t}(Error),z7=R7,Ehe=M7,B7={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=V7(n,this.path);r&&=M7(r);var i=H7(n,{op:`remove`,path:this.from}).removed;return H7(n,{op:`add`,path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=V7(n,this.from);return H7(n,{op:`add`,path:this.path,value:M7(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:K7(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},Dhe={add:function(e,t,n){return N7(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:B7.move,copy:B7.copy,test:B7.test,_get:B7._get};function V7(e,t){if(t==``)return e;var n={op:`_get`,path:t};return H7(e,n),n.value}function H7(e,t,n,r,i,a){if(n===void 0&&(n=!1),r===void 0&&(r=!0),i===void 0&&(i=!0),a===void 0&&(a=0),n&&(typeof n==`function`?n(t,0,e,t.path):W7(t,0)),t.path===``){var o={newDocument:e};if(t.op===`add`)return o.newDocument=t.value,o;if(t.op===`replace`)return o.newDocument=t.value,o.removed=e,o;if(t.op===`move`||t.op===`copy`)return o.newDocument=V7(e,t.from),t.op===`move`&&(o.removed=e),o;if(t.op===`test`){if(o.test=K7(e,t.value),o.test===!1)throw new z7(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o.newDocument=e,o}if(t.op===`remove`)return o.removed=e,o.newDocument=null,o;if(t.op===`_get`)return t.value=e,o;if(n)throw new z7("Operation `op` property is not one of operations defined in RFC-6902",`OPERATION_OP_INVALID`,a,t,e);return o}r||(e=M7(e));var s=(t.path||``).split(`/`),c=e,l=1,u=s.length,d=void 0,f=void 0,p=void 0;for(p=typeof n==`function`?n:W7;;){if(f=s[l],f&&f.indexOf(`~`)!=-1&&(f=F7(f)),i&&(f==`__proto__`||f==`prototype`&&l>0&&s[l-1]==`constructor`))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&d===void 0&&(c[f]===void 0?d=s.slice(0,l).join(`/`):l==u-1&&(d=t.path),d!==void 0&&p(t,0,e,d)),l++,Array.isArray(c)){if(f===`-`)f=c.length;else if(n&&!N7(f))throw new z7(`Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index`,`OPERATION_PATH_ILLEGAL_ARRAY_INDEX`,a,t,e);else N7(f)&&(f=~~f);if(l>=u){if(n&&t.op===`add`&&f>c.length)throw new z7(`The specified index MUST NOT be greater than the number of elements in the array`,`OPERATION_VALUE_OUT_OF_BOUNDS`,a,t,e);var o=Dhe[t.op].call(t,c,f,e);if(o.test===!1)throw new z7(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o}}else if(l>=u){var o=B7[t.op].call(t,c,f,e);if(o.test===!1)throw new z7(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o}if(c=c[f],n&&l<u&&(!c||typeof c!=`object`))throw new z7(`Cannot perform operation at the desired path`,`OPERATION_PATH_UNRESOLVABLE`,a,t,e)}}function U7(e,t,n,r,i){if(r===void 0&&(r=!0),i===void 0&&(i=!0),n&&!Array.isArray(t))throw new z7(`Patch sequence must be an array`,`SEQUENCE_NOT_AN_ARRAY`);r||(e=M7(e));for(var a=Array(t.length),o=0,s=t.length;o<s;o++)a[o]=H7(e,t[o],n,!0,i,o),e=a[o].newDocument;return a.newDocument=e,a}function Ohe(e,t,n){var r=H7(e,t);if(r.test===!1)throw new z7(`Test operation failed`,`TEST_OPERATION_FAILED`,n,t,e);return r.newDocument}function W7(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e))throw new z7(`Operation is not an object`,`OPERATION_NOT_AN_OBJECT`,t,e,n);if(!B7[e.op])throw new z7("Operation `op` property is not one of operations defined in RFC-6902",`OPERATION_OP_INVALID`,t,e,n);if(typeof e.path!=`string`)throw new z7("Operation `path` property is not a string",`OPERATION_PATH_INVALID`,t,e,n);if(e.path.indexOf(`/`)!==0&&e.path.length>0)throw new z7('Operation `path` property must start with "/"',`OPERATION_PATH_INVALID`,t,e,n);if((e.op===`move`||e.op===`copy`)&&typeof e.from!=`string`)throw new z7("Operation `from` property is not present (applicable in `move` and `copy` operations)",`OPERATION_FROM_REQUIRED`,t,e,n);if((e.op===`add`||e.op===`replace`||e.op===`test`)&&e.value===void 0)throw new z7("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)",`OPERATION_VALUE_REQUIRED`,t,e,n);if((e.op===`add`||e.op===`replace`||e.op===`test`)&&I7(e.value))throw new z7("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)",`OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED`,t,e,n);if(n){if(e.op==`add`){var i=e.path.split(`/`).length,a=r.split(`/`).length;if(i!==a+1&&i!==a)throw new z7("Cannot perform an `add` operation at the desired path",`OPERATION_PATH_CANNOT_ADD`,t,e,n)}else if(e.op===`replace`||e.op===`remove`||e.op===`_get`){if(e.path!==r)throw new z7(`Cannot perform the operation at a path that does not exist`,`OPERATION_PATH_UNRESOLVABLE`,t,e,n)}else if(e.op===`move`||e.op===`copy`){var o=G7([{op:`_get`,path:e.from,value:void 0}],n);if(o&&o.name===`OPERATION_PATH_UNRESOLVABLE`)throw new z7(`Cannot perform the operation from a path that does not exist`,`OPERATION_FROM_UNRESOLVABLE`,t,e,n)}}}function G7(e,t,n){try{if(!Array.isArray(e))throw new z7(`Patch sequence must be an array`,`SEQUENCE_NOT_AN_ARRAY`);if(t)U7(M7(t),M7(e),n||!0);else{n||=W7;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(e){if(e instanceof z7)return e;throw e}}function K7(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){var n=Array.isArray(e),r=Array.isArray(t),i,a,o;if(n&&r){if(a=e.length,a!=t.length)return!1;for(i=a;i--!==0;)if(!K7(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=Object.keys(e);if(a=s.length,a!==Object.keys(t).length)return!1;for(i=a;i--!==0;)if(!t.hasOwnProperty(s[i]))return!1;for(i=a;i--!==0;)if(o=s[i],!K7(e[o],t[o]))return!1;return!0}return e!==e&&t!==t}var khe=Object.freeze({__proto__:null,JsonPatchError:z7,_areEquals:K7,applyOperation:H7,applyPatch:U7,applyReducer:Ohe,deepClone:Ehe,getValueByPointer:V7,validate:G7,validator:W7}),q7=new WeakMap,Ahe=function(){function e(e){this.observers=new Map,this.obj=e}return e}(),jhe=function(){function e(e,t){this.callback=e,this.observer=t}return e}();function Mhe(e){return q7.get(e)}function Nhe(e,t){return e.observers.get(t)}function Phe(e,t){e.observers.delete(t.callback)}function Fhe(e,t){t.unobserve()}function Ihe(e,t){var n=[],r,i=Mhe(e);if(!i)i=new Ahe(e),q7.set(e,i);else{var a=Nhe(i,t);r=a&&a.observer}if(r)return r;if(r={},i.value=M7(e),t){r.callback=t,r.next=null;var o=function(){J7(r)},s=function(){clearTimeout(r.next),r.next=setTimeout(o)};typeof window<`u`&&(window.addEventListener(`mouseup`,s),window.addEventListener(`keyup`,s),window.addEventListener(`mousedown`,s),window.addEventListener(`keydown`,s),window.addEventListener(`change`,s))}return r.patches=n,r.object=e,r.unobserve=function(){J7(r),clearTimeout(r.next),Phe(i,r),typeof window<`u`&&(window.removeEventListener(`mouseup`,s),window.removeEventListener(`keyup`,s),window.removeEventListener(`mousedown`,s),window.removeEventListener(`keydown`,s),window.removeEventListener(`change`,s))},i.observers.set(t,new jhe(t,r)),r}function J7(e,t){t===void 0&&(t=!1);var n=q7.get(e.object);Y7(n.value,e.object,e.patches,``,t),e.patches.length&&U7(n.value,e.patches);var r=e.patches;return r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function Y7(e,t,n,r,i){if(t!==e){typeof t.toJSON==`function`&&(t=t.toJSON());for(var a=j7(t),o=j7(e),s=!1,c=o.length-1;c>=0;c--){var l=o[c],u=e[l];if(A7(t,l)&&(t[l]!==void 0||u===void 0||Array.isArray(t)!==!1)){var d=t[l];typeof u==`object`&&u&&typeof d==`object`&&d&&Array.isArray(u)===Array.isArray(d)?Y7(u,d,n,r+`/`+P7(l),i):u!==d&&(i&&n.push({op:`test`,path:r+`/`+P7(l),value:M7(u)}),n.push({op:`replace`,path:r+`/`+P7(l),value:M7(d)}))}else Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:`test`,path:r+`/`+P7(l),value:M7(u)}),n.push({op:`remove`,path:r+`/`+P7(l)}),s=!0):(i&&n.push({op:`test`,path:r,value:e}),n.push({op:`replace`,path:r,value:t}))}if(!(!s&&a.length==o.length))for(var c=0;c<a.length;c++){var l=a[c];!A7(e,l)&&t[l]!==void 0&&n.push({op:`add`,path:r+`/`+P7(l),value:M7(t[l])})}}}function Lhe(e,t,n){n===void 0&&(n=!1);var r=[];return Y7(e,t,r,``,n),r}Object.assign({},khe,Object.freeze({__proto__:null,compare:Lhe,generate:J7,observe:Ihe,unobserve:Fhe}),{JsonPatchError:R7,deepClone:M7,escapePathComponent:P7,unescapePathComponent:F7});function Rhe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var X7,Z7;function zhe(){if(Z7)return X7;Z7=1;class e{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}return X7=e,X7}var Q7,$7;function e9(){if($7)return Q7;$7=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return Q7=n=>n?typeof n==`object`?n:e:t,Q7}var t9={exports:{}},n9,r9;function i9(){return r9?n9:(r9=1,n9={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`],SEMVER_SPEC_VERSION:`2.0.0`,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},n9)}var a9,o9;function s9(){return o9?a9:(o9=1,a9=typeof process==`object`&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error(`SEMVER`,...e):()=>{},a9)}var c9;function l9(){return c9?t9.exports:(c9=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=i9(),a=s9();t=e.exports={};let o=t.re=[],s=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={},d=0,f=`[a-zA-Z0-9-]`,p=[[`\\s`,1],[`\\d`,i],[f,r]],m=e=>{for(let[t,n]of p)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e},h=(e,t,n)=>{let r=m(t),i=d++;a(e,i,t),u[e]=i,c[i]=t,l[i]=r,o[i]=new RegExp(t,n?`g`:void 0),s[i]=new RegExp(r,n?`g`:void 0)};h(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),h(`NUMERICIDENTIFIERLOOSE`,`\\d+`),h(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${f}*`),h(`MAINVERSION`,`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h(`MAINVERSIONLOOSE`,`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASEIDENTIFIER`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h(`PRERELEASEIDENTIFIERLOOSE`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASE`,`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h(`PRERELEASELOOSE`,`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h(`BUILDIDENTIFIER`,`${f}+`),h(`BUILD`,`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h(`FULLPLAIN`,`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h(`FULL`,`^${c[u.FULLPLAIN]}$`),h(`LOOSEPLAIN`,`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h(`LOOSE`,`^${c[u.LOOSEPLAIN]}$`),h(`GTLT`,`((?:<|>)?=?)`),h(`XRANGEIDENTIFIERLOOSE`,`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h(`XRANGEIDENTIFIER`,`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h(`XRANGEPLAIN`,`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h(`XRANGEPLAINLOOSE`,`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h(`XRANGE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h(`XRANGELOOSE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h(`COERCE`,`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h(`COERCEFULL`,c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),h(`COERCERTL`,c[u.COERCE],!0),h(`COERCERTLFULL`,c[u.COERCEFULL],!0),h(`LONETILDE`,`(?:~>?)`),h(`TILDETRIM`,`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace=`$1~`,h(`TILDE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h(`TILDELOOSE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h(`LONECARET`,`(?:\\^)`),h(`CARETTRIM`,`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace=`$1^`,h(`CARET`,`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h(`CARETLOOSE`,`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h(`COMPARATORLOOSE`,`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h(`COMPARATOR`,`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h(`COMPARATORTRIM`,`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace=`$1$2$3`,h(`HYPHENRANGE`,`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h(`HYPHENRANGELOOSE`,`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h(`STAR`,`(<|>)?=?\\s*\\*`),h(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),h(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)})(t9,t9.exports),t9.exports)}var u9,d9;function Bhe(){if(d9)return u9;d9=1;let e=/^[0-9]+$/,t=(t,n)=>{let r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return u9={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)},u9}var f9,p9;function m9(){if(p9)return f9;p9=1;let e=s9(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=i9(),{safeRe:r,t:i}=l9(),a=e9(),{compareIdentifiers:o}=Bhe();class s{constructor(o,c){if(c=a(c),o instanceof s){if(o.loose===!!c.loose&&o.includePrerelease===!!c.includePrerelease)return o;o=o.version}else if(typeof o!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw TypeError(`version is longer than ${t} characters`);e(`SemVer`,o,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let l=o.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>n||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>n||this.patch<0)throw TypeError(`Invalid patch version`);this.prerelease=l[4]?l[4].split(`.`).map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<n)return t}return e}):[],this.build=l[5]?l[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(t){if(e(`SemVer.compare`,this.version,this.options,t),!(t instanceof s)){if(typeof t==`string`&&t===this.version)return 0;t=new s(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof s||(e=new s(e,this.options)),o(this.major,e.major)||o(this.minor,e.minor)||o(this.patch,e.patch)}comparePre(t){if(t instanceof s||(t=new s(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{let r=this.prerelease[n],i=t.prerelease[n];if(e(`prerelease compare`,n,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r!==i)return o(r,i)}while(++n)}compareBuild(t){t instanceof s||(t=new s(t,this.options));let n=0;do{let r=this.build[n],i=t.build[n];if(e(`build compare`,n,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r!==i)return o(r,i)}while(++n)}inc(e,t,n){if(e.startsWith(`pre`)){if(!t&&n===!1)throw Error(`invalid increment argument: identifier is empty`);if(t){let e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[1]!==t)throw Error(`invalid identifier: ${t}`)}}switch(e){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,t,n);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,t,n);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let e=+!!Number(n);if(this.prerelease.length===0)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]==`number`&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(`.`)&&n===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(e)}}if(t){let r=[t,e];n===!1&&(r=[t]),o(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}}return f9=s,f9}var h9,g9;function _9(){if(g9)return h9;g9=1;let e=m9();return h9=(t,n,r)=>new e(t,r).compare(new e(n,r)),h9}var v9,y9;function Vhe(){if(y9)return v9;y9=1;let e=_9();return v9=(t,n,r)=>e(t,n,r)===0,v9}var b9,x9;function Hhe(){if(x9)return b9;x9=1;let e=_9();return b9=(t,n,r)=>e(t,n,r)!==0,b9}var S9,C9;function Uhe(){if(C9)return S9;C9=1;let e=_9();return S9=(t,n,r)=>e(t,n,r)>0,S9}var w9,T9;function Whe(){if(T9)return w9;T9=1;let e=_9();return w9=(t,n,r)=>e(t,n,r)>=0,w9}var E9,D9;function Ghe(){if(D9)return E9;D9=1;let e=_9();return E9=(t,n,r)=>e(t,n,r)<0,E9}var O9,k9;function Khe(){if(k9)return O9;k9=1;let e=_9();return O9=(t,n,r)=>e(t,n,r)<=0,O9}var A9,j9;function qhe(){if(j9)return A9;j9=1;let e=Vhe(),t=Hhe(),n=Uhe(),r=Whe(),i=Ghe(),a=Khe();return A9=(o,s,c,l)=>{switch(s){case`===`:return typeof o==`object`&&(o=o.version),typeof c==`object`&&(c=c.version),o===c;case`!==`:return typeof o==`object`&&(o=o.version),typeof c==`object`&&(c=c.version),o!==c;case``:case`=`:case`==`:return e(o,c,l);case`!=`:return t(o,c,l);case`>`:return n(o,c,l);case`>=`:return r(o,c,l);case`<`:return i(o,c,l);case`<=`:return a(o,c,l);default:throw TypeError(`Invalid operator: ${s}`)}},A9}var M9,N9;function Jhe(){if(N9)return M9;N9=1;let e=Symbol(`SemVer ANY`);class t{static get ANY(){return e}constructor(r,i){if(i=n(i),r instanceof t){if(r.loose===!!i.loose)return r;r=r.value}r=r.trim().split(/\s+/).join(` `),o(`comparator`,r,i),this.options=i,this.loose=!!i.loose,this.parse(r),this.value=this.semver===e?``:this.operator+this.semver.version,o(`comp`,this)}parse(t){let n=this.options.loose?r[i.COMPARATORLOOSE]:r[i.COMPARATOR],a=t.match(n);if(!a)throw TypeError(`Invalid comparator: ${t}`);this.operator=a[1]===void 0?``:a[1],this.operator===`=`&&(this.operator=``),this.semver=a[2]?new s(a[2],this.options.loose):e}toString(){return this.value}test(t){if(o(`Comparator.test`,t,this.options.loose),this.semver===e||t===e)return!0;if(typeof t==`string`)try{t=new s(t,this.options)}catch{return!1}return a(t,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``||new c(e.value,r).test(this.value):e.operator===``?e.value===``||new c(this.value,r).test(e.semver):(r=n(r),r.includePrerelease&&(this.value===`<0.0.0-0`||e.value===`<0.0.0-0`)||!r.includePrerelease&&(this.value.startsWith(`<0.0.0`)||e.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&e.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&e.operator.startsWith(`<`)||this.semver.version===e.semver.version&&this.operator.includes(`=`)&&e.operator.includes(`=`)||a(this.semver,`<`,e.semver,r)&&this.operator.startsWith(`>`)&&e.operator.startsWith(`<`)||a(this.semver,`>`,e.semver,r)&&this.operator.startsWith(`<`)&&e.operator.startsWith(`>`)))}}M9=t;let n=e9(),{safeRe:r,t:i}=l9(),a=qhe(),o=s9(),s=m9(),c=I9();return M9}var P9,F9;function I9(){if(F9)return P9;F9=1;let e=/\s+/g;class t{constructor(n,a){if(a=r(a),n instanceof t)return n.loose===!!a.loose&&n.includePrerelease===!!a.includePrerelease?n:new t(n.raw,a);if(n instanceof i)return this.raw=n.value,this.set=[[n]],this.formatted=void 0,this;if(this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease,this.raw=n.trim().replace(e,` `),this.set=this.raw.split(`||`).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!m(e[0])),this.set.length===0)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(e.length===1&&h(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted=``;for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+=`||`);let t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=` `),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let t=((this.options.includePrerelease&&f)|(this.options.loose&&p))+`:`+e,r=n.get(t);if(r)return r;let o=this.options.loose,h=o?s[c.HYPHENRANGELOOSE]:s[c.HYPHENRANGE];e=e.replace(h,D(this.options.includePrerelease)),a(`hyphen replace`,e),e=e.replace(s[c.COMPARATORTRIM],l),a(`comparator trim`,e),e=e.replace(s[c.TILDETRIM],u),a(`tilde trim`,e),e=e.replace(s[c.CARETTRIM],d),a(`caret trim`,e);let g=e.split(` `).map(e=>_(e,this.options)).join(` `).split(/\s+/).map(e=>E(e,this.options));o&&(g=g.filter(e=>(a(`loose invalid filter`,e,this.options),!!e.match(s[c.COMPARATORLOOSE])))),a(`range list`,g);let v=new Map,y=g.map(e=>new i(e,this.options));for(let e of y){if(m(e))return[e];v.set(e.value,e)}v.size>1&&v.has(``)&&v.delete(``);let b=[...v.values()];return n.set(t,b),b}intersects(e,n){if(!(e instanceof t))throw TypeError(`a Range is required`);return this.set.some(t=>g(t,n)&&e.set.some(e=>g(e,n)&&t.every(t=>e.every(e=>t.intersects(e,n)))))}test(e){if(!e)return!1;if(typeof e==`string`)try{e=new o(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(O(this.set[t],e,this.options))return!0;return!1}}P9=t;let n=new(zhe()),r=e9(),i=Jhe(),a=s9(),o=m9(),{safeRe:s,t:c,comparatorTrimReplace:l,tildeTrimReplace:u,caretTrimReplace:d}=l9(),{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:p}=i9(),m=e=>e.value===`<0.0.0-0`,h=e=>e.value===``,g=(e,t)=>{let n=!0,r=e.slice(),i=r.pop();for(;n&&r.length;)n=r.every(e=>i.intersects(e,t)),i=r.pop();return n},_=(e,t)=>(a(`comp`,e,t),e=x(e,t),a(`caret`,e),e=y(e,t),a(`tildes`,e),e=C(e,t),a(`xrange`,e),e=T(e,t),a(`stars`,e),e),v=e=>!e||e.toLowerCase()===`x`||e===`*`,y=(e,t)=>e.trim().split(/\s+/).map(e=>b(e,t)).join(` `),b=(e,t)=>{let n=t.loose?s[c.TILDELOOSE]:s[c.TILDE];return e.replace(n,(t,n,r,i,o)=>{a(`tilde`,e,t,n,r,i,o);let s;return v(n)?s=``:v(r)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:v(i)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:o?(a(`replaceTilde pr`,o),s=`>=${n}.${r}.${i}-${o} <${n}.${+r+1}.0-0`):s=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,a(`tilde return`,s),s})},x=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(` `),S=(e,t)=>{a(`caret`,e,t);let n=t.loose?s[c.CARETLOOSE]:s[c.CARET],r=t.includePrerelease?`-0`:``;return e.replace(n,(t,n,i,o,s)=>{a(`caret`,e,t,n,i,o,s);let c;return v(n)?c=``:v(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:v(o)?c=n===`0`?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:s?(a(`replaceCaret pr`,s),c=n===`0`?i===`0`?`>=${n}.${i}.${o}-${s} <${n}.${i}.${+o+1}-0`:`>=${n}.${i}.${o}-${s} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${o}-${s} <${+n+1}.0.0-0`):(a(`no pr`),c=n===`0`?i===`0`?`>=${n}.${i}.${o}${r} <${n}.${i}.${+o+1}-0`:`>=${n}.${i}.${o}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${o} <${+n+1}.0.0-0`),a(`caret return`,c),c})},C=(e,t)=>(a(`replaceXRanges`,e,t),e.split(/\s+/).map(e=>w(e,t)).join(` `)),w=(e,t)=>{e=e.trim();let n=t.loose?s[c.XRANGELOOSE]:s[c.XRANGE];return e.replace(n,(n,r,i,o,s,c)=>{a(`xRange`,e,n,r,i,o,s,c);let l=v(i),u=l||v(o),d=u||v(s),f=d;return r===`=`&&f&&(r=``),c=t.includePrerelease?`-0`:``,l?n=r===`>`||r===`<`?`<0.0.0-0`:`*`:r&&f?(u&&(o=0),s=0,r===`>`?(r=`>=`,u?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):r===`<=`&&(r=`<`,u?i=+i+1:o=+o+1),r===`<`&&(c=`-0`),n=`${r+i}.${o}.${s}${c}`):u?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),a(`xRange return`,n),n})},T=(e,t)=>(a(`replaceStars`,e,t),e.trim().replace(s[c.STAR],``)),E=(e,t)=>(a(`replaceGTE0`,e,t),e.trim().replace(s[t.includePrerelease?c.GTE0PRE:c.GTE0],``)),D=e=>(t,n,r,i,a,o,s,c,l,u,d,f)=>(n=v(r)?``:v(i)?`>=${r}.0.0${e?`-0`:``}`:v(a)?`>=${r}.${i}.0${e?`-0`:``}`:o?`>=${n}`:`>=${n}${e?`-0`:``}`,c=v(l)?``:v(u)?`<${+l+1}.0.0-0`:v(d)?`<${l}.${+u+1}.0-0`:f?`<=${l}.${u}.${d}-${f}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`,`${n} ${c}`.trim()),O=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(a(e[n].semver),e[n].semver!==i.ANY&&e[n].semver.prerelease.length>0){let r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0};return P9}var L9,R9;function Yhe(){if(R9)return L9;R9=1;let e=I9();return L9=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},L9}var z9=Rhe(Yhe());function Xhe(e,t,n){let r=e.open(t),{origin:i}=new URL(t),a=40;function o(t){t.source===r&&(a=0,e.removeEventListener(`message`,o,!1))}e.addEventListener(`message`,o,!1);function s(){a<=0||(r.postMessage(n,i),setTimeout(s,250),--a)}setTimeout(s,250)}var Zhe=`.vega-embed {
67
+ position: relative;
68
+ display: inline-block;
69
+ box-sizing: border-box;
70
+ }
71
+ .vega-embed.has-actions {
72
+ padding-right: 38px;
73
+ }
74
+ .vega-embed details:not([open]) > :not(summary) {
75
+ display: none !important;
76
+ }
77
+ .vega-embed summary {
78
+ list-style: none;
79
+ position: absolute;
80
+ top: 0;
81
+ right: 0;
82
+ padding: 6px;
83
+ z-index: 1000;
84
+ background: white;
85
+ box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
86
+ color: #1b1e23;
87
+ border: 1px solid #aaa;
88
+ border-radius: 999px;
89
+ opacity: 0.2;
90
+ transition: opacity 0.4s ease-in;
91
+ cursor: pointer;
92
+ line-height: 0px;
93
+ }
94
+ .vega-embed summary::-webkit-details-marker {
95
+ display: none;
96
+ }
97
+ .vega-embed summary:active {
98
+ box-shadow: #aaa 0px 0px 0px 1px inset;
99
+ }
100
+ .vega-embed summary svg {
101
+ width: 14px;
102
+ height: 14px;
103
+ }
104
+ .vega-embed details[open] summary {
105
+ opacity: 0.7;
106
+ }
107
+ .vega-embed:hover summary, .vega-embed:focus-within summary {
108
+ opacity: 1 !important;
109
+ transition: opacity 0.2s ease;
110
+ }
111
+ .vega-embed .vega-actions {
112
+ position: absolute;
113
+ z-index: 1001;
114
+ top: 35px;
115
+ right: -9px;
116
+ display: flex;
117
+ flex-direction: column;
118
+ padding-bottom: 8px;
119
+ padding-top: 8px;
120
+ border-radius: 4px;
121
+ box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
122
+ border: 1px solid #d9d9d9;
123
+ background: white;
124
+ animation-duration: 0.15s;
125
+ animation-name: scale-in;
126
+ animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
127
+ text-align: left;
128
+ }
129
+ .vega-embed .vega-actions a {
130
+ padding: 8px 16px;
131
+ font-family: sans-serif;
132
+ font-size: 14px;
133
+ font-weight: 600;
134
+ white-space: nowrap;
135
+ color: #434a56;
136
+ text-decoration: none;
137
+ }
138
+ .vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {
139
+ background-color: #f7f7f9;
140
+ color: black;
141
+ }
142
+ .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {
143
+ content: "";
144
+ display: inline-block;
145
+ position: absolute;
146
+ }
147
+ .vega-embed .vega-actions::before {
148
+ left: auto;
149
+ right: 14px;
150
+ top: -16px;
151
+ border: 8px solid rgba(0, 0, 0, 0);
152
+ border-bottom-color: #d9d9d9;
153
+ }
154
+ .vega-embed .vega-actions::after {
155
+ left: auto;
156
+ right: 15px;
157
+ top: -14px;
158
+ border: 7px solid rgba(0, 0, 0, 0);
159
+ border-bottom-color: #fff;
160
+ }
161
+ .vega-embed .chart-wrapper.fit-x {
162
+ width: 100%;
163
+ }
164
+ .vega-embed .chart-wrapper.fit-y {
165
+ height: 100%;
166
+ }
167
+
168
+ .vega-embed-wrapper {
169
+ max-width: 100%;
170
+ overflow: auto;
171
+ padding-right: 14px;
172
+ }
173
+
174
+ @keyframes scale-in {
175
+ from {
176
+ opacity: 0;
177
+ transform: scale(0.6);
178
+ }
179
+ to {
180
+ opacity: 1;
181
+ transform: scale(1);
182
+ }
183
+ }
184
+ `;function B9(e,...t){for(let n of t)Qhe(e,n);return e}function Qhe(e,t){for(let n of Object.keys(t))D(e,n,t[n],!0)}({version:`7.1.0`}).version;var V9=LK,H9=QK,U9=typeof window<`u`?window:void 0;H9===void 0&&U9?.vl?.compile&&(H9=U9.vl);var $he={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},ege={CLICK_TO_VIEW_ACTIONS:`Click to view actions`,COMPILED_ACTION:`View Compiled Vega`,EDITOR_ACTION:`Open in Vega Editor`,PNG_ACTION:`Save as PNG`,SOURCE_ACTION:`View Source`,SVG_ACTION:`Save as SVG`},W9={vega:`Vega`,"vega-lite":`Vega-Lite`},G9={vega:V9.version,"vega-lite":H9?H9.version:`not available`},tge={vega:e=>e,"vega-lite":(e,t,n)=>H9.compile(e,{config:n,logger:t}).spec},nge=`
185
+ <svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
186
+ <circle r="2" cy="8" cx="2"></circle>
187
+ <circle r="2" cy="8" cx="8"></circle>
188
+ <circle r="2" cy="8" cx="14"></circle>
189
+ </svg>`,rge=`chart-wrapper`;function ige(e){return typeof e==`function`}function K9(e,t,n,r){let i=`<html><head>${t}</head><body><pre><code class="json">`,a=`</code></pre>${n}</body></html>`,o=window.open(``);o.document.write(i+e+a),o.document.title=`${W9[r]} JSON Source`}function age(e,t,n){if(e.$schema){let r=F5(e.$schema);n&&n!==r.library&&t.warn(`The given visualization spec is written in ${W9[r.library]}, but mode argument sets ${W9[n]??n}.`);let i=r.library;return z9(G9[i],`^${r.version.slice(1)}`)||t.warn(`The input spec uses ${W9[i]} ${r.version}, but the current version of ${W9[i]} is v${G9[i]}.`),i}return`mark`in e||`encoding`in e||`layer`in e||`hconcat`in e||`vconcat`in e||`facet`in e||`repeat`in e?`vega-lite`:`marks`in e||`signals`in e||`scales`in e||`axes`in e?`vega`:n??`vega`}function q9(e){return!!(e&&`load`in e)}function J9(e){return q9(e)?e:V9.loader(e)}function oge(e){let t=e.usermeta?.embedOptions??{};return _(t.defaultStyle)&&(t.defaultStyle=!1),t}async function sge(e,t,n={}){let r,i;_(t)?(i=J9(n.loader),r=JSON.parse(await i.load(t))):r=t;let a=oge(r),o=a.loader;(!i||o)&&(i=J9(n.loader??o));let s=await Y9(a,i),c=await Y9(n,i),l={...B9(c,s),config:T(c.config??{},s.config??{})};return await lge(e,r,l,i)}async function Y9(e,t){let n=_(e.config)?JSON.parse(await t.load(e.config)):e.config??{},r=_(e.patch)?JSON.parse(await t.load(e.patch)):e.patch;return{...e,...r?{patch:r}:{},...n?{config:n}:{}}}function cge(e){let t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}async function lge(e,t,n={},r){let i=n.theme?T(Ame[n.theme],n.config??{}):n.config,a=ar(n.actions)?n.actions:B9({},$he,n.actions??{}),o={...ege,...n.i18n},s=n.renderer??`svg`,c=n.logger??kn(V9.Warn);n.logLevel!==void 0&&c.level(n.logLevel);let l=n.downloadFileName??`visualization`,u=typeof e==`string`?document.querySelector(e):e;if(!u)throw Error(`${e} does not exist`);if(n.defaultStyle!==!1){let e=`vega-embed-style`,{root:t,rootContainer:r}=cge(u);if(!t.getElementById(e)){let t=document.createElement(`style`);t.id=e,t.innerHTML=n.defaultStyle===void 0||n.defaultStyle===!0?Zhe.toString():n.defaultStyle,r.appendChild(t)}}let f=age(t,c,n.mode),p=tge[f](t,c,i);if(f===`vega-lite`&&p.$schema){let e=F5(p.$schema);z9(G9.vega,`^${e.version.slice(1)}`)||c.warn(`The compiled spec uses Vega ${e.version}, but current version is v${G9.vega}.`)}u.classList.add(`vega-embed`),a&&u.classList.add(`has-actions`),u.innerHTML=``;let m=u;if(a){let e=document.createElement(`div`);e.classList.add(rge),u.appendChild(e),m=e}let h=n.patch;if(h&&(p=h instanceof Function?h(p):U7(p,h,!0,!1).newDocument),n.formatLocale&&V9.formatLocale(n.formatLocale),n.timeFormatLocale&&V9.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(let e in n.expressionFunctions){let t=n.expressionFunctions[e];`fn`in t?V9.expressionFunction(e,t.fn,t.visitor):t instanceof Function&&V9.expressionFunction(e,t)}let{ast:g}=n,_=V9.parse(p,f===`vega-lite`?{}:i,{ast:g}),v=new(n.viewClass||V9.View)(_,{loader:r,logger:c,renderer:s,...g?{expr:V9.expressionInterpreter??n.expr??ZK}:{}});if(v.addSignalListener(`autosize`,(e,t)=>{let{type:n}=t;n==`fit-x`?(m.classList.add(`fit-x`),m.classList.remove(`fit-y`)):n==`fit-y`?(m.classList.remove(`fit-x`),m.classList.add(`fit-y`)):n==`fit`?m.classList.add(`fit-x`,`fit-y`):m.classList.remove(`fit-x`,`fit-y`)}),n.tooltip!==!1){let{loader:e,tooltip:t}=n,r=e&&!q9(e)?e?.baseURL:void 0,i=ige(t)?t:new Che({baseURL:r,...t===!0?{}:t}).call;v.tooltip(i)}let{hover:y}=n;if(y===void 0&&(y=f===`vega`),y){let{hoverSet:e,updateSet:t}=typeof y==`boolean`?{}:y;v.hover(e,t)}n&&(n.width!=null&&v.width(n.width),n.height!=null&&v.height(n.height),n.padding!=null&&v.padding(n.padding)),await v.initialize(m,n.bind).runAsync();let b;if(a!==!1){let e=u;if(n.defaultStyle!==!1||n.forceActionsMenu){let t=document.createElement(`details`);t.title=o.CLICK_TO_VIEW_ACTIONS,u.append(t),e=t;let n=document.createElement(`summary`);n.innerHTML=nge,t.append(n),b=e=>{t.contains(e.target)||t.removeAttribute(`open`)},document.addEventListener(`click`,b)}let r=document.createElement(`div`);if(e.append(r),r.classList.add(`vega-actions`),a===!0||a.export!==!1){for(let e of[`svg`,`png`])if(a===!0||a.export===!0||a.export[e]){let t=o[`${e.toUpperCase()}_ACTION`],i=document.createElement(`a`),a=d(n.scaleFactor)?n.scaleFactor[e]:n.scaleFactor;i.text=t,i.href=`#`,i.target=`_blank`,i.download=`${l}.${e}`,i.addEventListener(`mousedown`,async function(t){t.preventDefault();let n=await v.toImageURL(e,a);this.href=n}),r.append(i)}}if(a===!0||a.source!==!1){let e=document.createElement(`a`);e.text=o.SOURCE_ACTION,e.href=`#`,e.addEventListener(`click`,function(e){K9(Er(t),n.sourceHeader??``,n.sourceFooter??``,f),e.preventDefault()}),r.append(e)}if(f===`vega-lite`&&(a===!0||a.compiled!==!1)){let e=document.createElement(`a`);e.text=o.COMPILED_ACTION,e.href=`#`,e.addEventListener(`click`,function(e){K9(Er(p),n.sourceHeader??``,n.sourceFooter??``,`vega`),e.preventDefault()}),r.append(e)}if(a===!0||a.editor!==!1){let e=n.editorUrl??`https://vega.github.io/editor/`,a=document.createElement(`a`);a.text=o.EDITOR_ACTION,a.href=`#`,a.addEventListener(`click`,function(n){Xhe(window,e,{config:i,mode:h?`vega`:f,renderer:s,spec:Er(h?p:t)}),n.preventDefault()}),r.append(a)}}function x(){b&&document.removeEventListener(`click`,b),v.finalize()}return{view:v,spec:t,vgSpec:p,finalize:x,embedOptions:n}}function uge(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var X9,Z9;function dge(){return Z9||(Z9=1,X9=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}),X9}var fge=uge(dge());function Q9(e){let[t,n]=Tr.useState(null),{ref:r,spec:i,onEmbed:a,onError:o,options:s={}}=e;return pge(()=>{let e=!1,t=null;return(async()=>{if(!(!r.current||e))try{if(t=await sge(r.current,i,s),e){t.finalize();return}n(t),a?.(t)}catch(e){console.error(`[react-vega] Error creating view: ${e}`),o?.(e)}})(),()=>{e=!0,t?.finalize()}},[i,s]),t}function pge(e,t){let n=Tr.useRef(null),r=Tr.useRef(0);(!n.current||!fge(t,n.current))&&(r.current+=1),n.current=t,Tr.useEffect(e,[r.current])}var $9=Tr.forwardRef((e,t)=>{let{spec:n,options:r,onEmbed:i,onError:a,...o}=e,s=Tr.useRef(null);return Tr.useImperativeHandle(t,()=>{if(!s.current)throw Error(`VegaEmbed: ref is not attached to a div element`);return s.current},[]),Q9({ref:s,spec:n,onEmbed:i,onError:a,options:r}),(0,Fee.jsx)(`div`,{ref:s,...o})});$9.displayName=`VegaEmbed`;export{lq as i,$9 as n,P5 as r,Q9 as t};