@synnaxlabs/pluto 0.38.2 → 0.39.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Center-BjxFDxgi.cjs +1 -0
- package/dist/Center-DoAxDY5V.js +24 -0
- package/dist/ContextMenu-BWGS1vXl.cjs +1 -0
- package/dist/ContextMenu-DX6j7Wwi.js +101 -0
- package/dist/DateTime-DUuYjZr8.cjs +1 -0
- package/dist/DateTime-sO15tvDD.js +17 -0
- package/dist/Divider-C5m3c4pv.js +1428 -0
- package/dist/Divider-MIbyu5ZH.cjs +31 -0
- package/dist/Dropdown-DurKTABg.cjs +1 -0
- package/dist/Dropdown-FSmdakic.js +261 -0
- package/dist/Haul-CoG7Jmz6.cjs +1 -0
- package/dist/Haul-DrdXQaTq.js +125 -0
- package/dist/Item-CZAsnOoO.js +108 -0
- package/dist/Item-Dj7cQJ8t.cjs +1 -0
- package/dist/Keyboard-D4FRdVej.cjs +1 -0
- package/dist/Keyboard-lwCx7plR.js +29 -0
- package/dist/{Link-DO2YbtQM.cjs → Link-BSZ-HrRf.cjs} +1 -1
- package/dist/{Link-BIWA4Kdj.js → Link-lleSh5eG.js} +2 -2
- package/dist/Pack-BbwDtaE6.cjs +1 -0
- package/dist/Pack-CzZzxA2R.cjs +1 -0
- package/dist/Pack-D50qN0Vu.js +13 -0
- package/dist/Pack-Dlj4dZzQ.js +46 -0
- package/dist/Provider-CCZPt2M5.js +436 -0
- package/dist/Provider-YIru1nvE.cjs +1 -0
- package/dist/Space-DBmhvGQL.js +76 -0
- package/dist/Space-NNqCWFbg.cjs +1 -0
- package/dist/Text-B3pNXYhh.js +124 -0
- package/dist/Text-D1GKnp9s.cjs +1 -0
- package/dist/Text-DT2rIwXL.js +1199 -0
- package/dist/Text-DrXyKZwR.cjs +1 -0
- package/dist/Text-Hnsb1fus.cjs +4 -0
- package/dist/Text-g6btwQ6E.js +32 -0
- package/dist/Toggle-BzORI5sE.cjs +1 -0
- package/dist/Toggle-DZMcFiiI.js +356 -0
- package/dist/{Video-usN9Roxq.cjs → Video-BJudMCoc.cjs} +1 -1
- package/dist/{Video-CAbdyjCE.js → Video-DPIAdJ-g.js} +2 -2
- package/dist/WithIcon-C6COgbZq.js +92 -0
- package/dist/WithIcon-CJvuPkSy.cjs +1 -0
- package/dist/aggregator-5XpEdQtr.js +83 -0
- package/dist/aggregator-BAdXZfPY.cjs +1 -0
- package/dist/align.cjs +1 -1
- package/dist/align.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/color.cjs +1 -1
- package/dist/color.js +1 -1
- package/dist/css-CU7tous7.cjs +1 -0
- package/dist/{css-Bbri4zkj.js → css-rxwBYwM1.js} +136 -136
- package/dist/css.cjs +1 -1
- package/dist/css.js +2 -2
- package/dist/debounce-CW9Q-DsR.js +17 -0
- package/dist/debounce-heEWeOqL.cjs +1 -0
- package/dist/deep-BjupBYvk.cjs +1 -0
- package/dist/deep-ChDJVfub.js +105 -0
- package/dist/dimensions-Bt1NqWz6.js +18 -0
- package/dist/dimensions-IEzi7AOM.cjs +1 -0
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/eraser-CnbMvm7W.cjs +11 -0
- package/dist/eraser-DKQ5u3sz.js +823 -0
- package/dist/ether.cjs +1 -1
- package/dist/ether.js +89 -85
- package/dist/external-AOOzgEKd.cjs +1 -0
- package/dist/external-BJulb-Hm.cjs +1 -0
- package/dist/external-BOOtUi1D.js +20 -0
- package/dist/external-BQtPGUNg.cjs +1 -0
- package/dist/external-BTGfIw_K.cjs +1 -0
- package/dist/external-BhaLdMzY.js +8991 -0
- package/dist/external-Bxg2-RDn.js +13 -0
- package/dist/{Toggle-DvdBHJvZ.js → external-C710XUvC.js} +17484 -30626
- package/dist/external-C8i1PCpN.js +59 -0
- package/dist/external-CL_RlqOT.cjs +1 -0
- package/dist/external-CNyc2Q9k.cjs +1 -0
- package/dist/{external-CWIwuJks.cjs → external-CRbERCqd.cjs} +1 -1
- package/dist/external-CjZqwgDh.js +1265 -0
- package/dist/external-D18IGHXh.js +77 -0
- package/dist/external-DK_wU08V.js +19 -0
- package/dist/external-DNC1e6Hi.js +343 -0
- package/dist/external-DYUmsMj8.cjs +46 -0
- package/dist/external-DYn3iC-U.js +418 -0
- package/dist/external-DhX0dZoF.cjs +1 -0
- package/dist/external-Dmr3e50U.js +15 -0
- package/dist/external-DrwngojV.cjs +1 -0
- package/dist/external-GUQ0NMxY.js +111 -0
- package/dist/external-Vjn4WKwt.cjs +85 -0
- package/dist/external-vVwTqni5.cjs +1 -0
- package/dist/font-CD9W5Tsh.js +15 -0
- package/dist/font-MRTGIokZ.cjs +1 -0
- package/dist/fontString-MM82zgKY.cjs +1 -0
- package/dist/fontString-p8gMjlA1.js +12 -0
- package/dist/header.cjs +1 -1
- package/dist/header.js +1 -1
- package/dist/hooks-BKLtEDxx.cjs +1 -0
- package/dist/hooks-CwSxEEAh.js +293 -0
- package/dist/index.cjs +7 -7
- package/dist/index.js +7520 -7281
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/{jsx-runtime-Bdg6XQ1m.js → jsx-runtime-CYK1ROHF.js} +98 -98
- package/dist/{jsx-runtime-D8EVjfnb.cjs → jsx-runtime-UYeBbnYT.cjs} +8 -8
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/pluto.css +1 -1
- package/dist/provider-D3MPSb7n.cjs +53 -0
- package/dist/provider-DfVWtUxZ.js +10299 -0
- package/dist/src/accordion/Accordion.d.ts +1 -1
- package/dist/src/accordion/Accordion.d.ts.map +1 -1
- package/dist/src/aether/main.d.ts +8 -9
- package/dist/src/aether/main.d.ts.map +1 -1
- package/dist/src/alamos/Provider.d.ts +1 -1
- package/dist/src/alamos/Provider.d.ts.map +1 -1
- package/dist/src/alamos/aether/alamos.d.ts.map +1 -1
- package/dist/src/align/Center.d.ts +1 -1
- package/dist/src/align/Center.d.ts.map +1 -1
- package/dist/src/align/Pack.d.ts +1 -1
- package/dist/src/align/Pack.d.ts.map +1 -1
- package/dist/src/align/Space.d.ts +1 -1
- package/dist/src/align/Space.d.ts.map +1 -1
- package/dist/src/breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/src/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/src/button/Button.d.ts +8 -9
- package/dist/src/button/Button.d.ts.map +1 -1
- package/dist/src/button/Icon.d.ts.map +1 -1
- package/dist/src/button/Link.d.ts +1 -1
- package/dist/src/button/Link.d.ts.map +1 -1
- package/dist/src/button/Toggle.d.ts +2 -2
- package/dist/src/button/Toggle.d.ts.map +1 -1
- package/dist/src/button/color.d.ts +1 -1
- package/dist/src/button/color.d.ts.map +1 -1
- package/dist/src/caret/Animated.d.ts.map +1 -1
- package/dist/src/channel/AliasProvider.d.ts +5 -6
- package/dist/src/channel/AliasProvider.d.ts.map +1 -1
- package/dist/src/channel/LinePlot.d.ts +1 -1
- package/dist/src/channel/LinePlot.d.ts.map +1 -1
- package/dist/src/channel/Select.d.ts +2 -2
- package/dist/src/channel/Select.d.ts.map +1 -1
- package/dist/src/color/BaseSwatch.d.ts +10 -0
- package/dist/src/color/BaseSwatch.d.ts.map +1 -0
- package/dist/src/color/GradientPicker.d.ts.map +1 -1
- package/dist/src/color/Picker.d.ts +1 -1
- package/dist/src/color/Picker.d.ts.map +1 -1
- package/dist/src/color/Provider.d.ts +14 -12
- package/dist/src/color/Provider.d.ts.map +1 -1
- package/dist/src/color/Swatch.d.ts +3 -7
- package/dist/src/color/Swatch.d.ts.map +1 -1
- package/dist/src/color/core/color.d.ts.map +1 -1
- package/dist/src/color/core/gradient.d.ts.map +1 -1
- package/dist/src/color/core/transformColorsToHex.d.ts.map +1 -1
- package/dist/src/css/bem.d.ts.map +1 -1
- package/dist/src/css/color.d.ts +3 -4
- package/dist/src/css/color.d.ts.map +1 -1
- package/dist/src/css/units.d.ts.map +1 -1
- package/dist/src/css/vars.d.ts.map +1 -1
- package/dist/src/cursor/cursor.d.ts.map +1 -1
- package/dist/src/dialog/use.d.ts +36 -17
- package/dist/src/dialog/use.d.ts.map +1 -1
- package/dist/src/divider/Divider.d.ts +1 -1
- package/dist/src/divider/Divider.d.ts.map +1 -1
- package/dist/src/dropdown/Dropdown.d.ts +3 -3
- package/dist/src/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/src/form/Field.d.ts +9 -1
- package/dist/src/form/Field.d.ts.map +1 -1
- package/dist/src/form/Form.d.ts +19 -9
- package/dist/src/form/Form.d.ts.map +1 -1
- package/dist/src/form/synced.d.ts +1 -1
- package/dist/src/form/synced.d.ts.map +1 -1
- package/dist/src/generic/Generic.d.ts +1 -1
- package/dist/src/generic/Generic.d.ts.map +1 -1
- package/dist/src/hardware/device/Select.d.ts +2 -2
- package/dist/src/hardware/device/Select.d.ts.map +1 -1
- package/dist/src/hardware/rack/Select.d.ts +7 -0
- package/dist/src/hardware/rack/Select.d.ts.map +1 -0
- package/dist/src/hardware/rack/index.d.ts +2 -0
- package/dist/src/hardware/rack/index.d.ts.map +1 -0
- package/dist/src/haul/Haul.d.ts +13 -5
- package/dist/src/haul/Haul.d.ts.map +1 -1
- package/dist/src/header/Actions.d.ts +3 -2
- package/dist/src/header/Actions.d.ts.map +1 -1
- package/dist/src/header/ButtonTitle.d.ts +1 -1
- package/dist/src/header/ButtonTitle.d.ts.map +1 -1
- package/dist/src/header/Header.d.ts +1 -1
- package/dist/src/header/Header.d.ts.map +1 -1
- package/dist/src/header/Title.d.ts +1 -1
- package/dist/src/header/Title.d.ts.map +1 -1
- package/dist/src/hooks/effect.d.ts.map +1 -1
- package/dist/src/hooks/ref.d.ts +3 -2
- package/dist/src/hooks/ref.d.ts.map +1 -1
- package/dist/src/hooks/useClickOutside.d.ts.map +1 -1
- package/dist/src/hooks/useCursorDrag/useCursorDrag.d.ts.map +1 -1
- package/dist/src/hooks/useCursorDrag/useVirtualCursorDragWebKit.d.ts.map +1 -1
- package/dist/src/hooks/useCursorDrag/useVirtualCursorDragWebView.d.ts.map +1 -1
- package/dist/src/hooks/useDebouncedCallback.d.ts.map +1 -1
- package/dist/src/hooks/useDelayedState.d.ts.map +1 -1
- package/dist/src/hooks/useFilter.d.ts.map +1 -1
- package/dist/src/hooks/useRequiredContext.d.ts.map +1 -1
- package/dist/src/hooks/useResize.d.ts.map +1 -1
- package/dist/src/hooks/useTransforms.d.ts.map +1 -1
- package/dist/src/hooks/useUniqueKey.d.ts +2 -2
- package/dist/src/hooks/useUniqueKey.d.ts.map +1 -1
- package/dist/src/icon/Icon.d.ts +1 -1
- package/dist/src/icon/Icon.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/input/Date.d.ts +1 -1
- package/dist/src/input/Date.d.ts.map +1 -1
- package/dist/src/input/DateTime.d.ts +1 -2
- package/dist/src/input/DateTime.d.ts.map +1 -1
- package/dist/src/input/DragButton.d.ts +1 -1
- package/dist/src/input/DragButton.d.ts.map +1 -1
- package/dist/src/input/HelpText.d.ts +1 -1
- package/dist/src/input/HelpText.d.ts.map +1 -1
- package/dist/src/input/Item.d.ts +1 -1
- package/dist/src/input/Item.d.ts.map +1 -1
- package/dist/src/input/Label.d.ts +1 -1
- package/dist/src/input/Label.d.ts.map +1 -1
- package/dist/src/input/Numeric.d.ts +1 -1
- package/dist/src/input/Numeric.d.ts.map +1 -1
- package/dist/src/input/Switch.d.ts +1 -1
- package/dist/src/input/Switch.d.ts.map +1 -1
- package/dist/src/input/Text.d.ts +2 -2
- package/dist/src/input/Text.d.ts.map +1 -1
- package/dist/src/input/TextArea.d.ts +1 -1
- package/dist/src/input/TextArea.d.ts.map +1 -1
- package/dist/src/input/Time.d.ts +1 -1
- package/dist/src/input/Time.d.ts.map +1 -1
- package/dist/src/label/Select.d.ts +3 -3
- package/dist/src/label/Select.d.ts.map +1 -1
- package/dist/src/list/Column.d.ts +4 -7
- package/dist/src/list/Column.d.ts.map +1 -1
- package/dist/src/list/Core.d.ts +3 -3
- package/dist/src/list/Core.d.ts.map +1 -1
- package/dist/src/list/Data.d.ts +2 -2
- package/dist/src/list/Data.d.ts.map +1 -1
- package/dist/src/list/Filter.d.ts +1 -1
- package/dist/src/list/Filter.d.ts.map +1 -1
- package/dist/src/list/Hover.d.ts.map +1 -1
- package/dist/src/list/Infinite.d.ts +2 -2
- package/dist/src/list/Infinite.d.ts.map +1 -1
- package/dist/src/list/Item.d.ts +1 -1
- package/dist/src/list/Item.d.ts.map +1 -1
- package/dist/src/list/List.d.ts.map +1 -1
- package/dist/src/list/Search.d.ts +1 -1
- package/dist/src/list/Search.d.ts.map +1 -1
- package/dist/src/list/Selector.d.ts +2 -2
- package/dist/src/list/Selector.d.ts.map +1 -1
- package/dist/src/list/useSelect.d.ts.map +1 -1
- package/dist/src/memo/useMemoCompare.d.ts.map +1 -1
- package/dist/src/menu/ContextMenu.d.ts +1 -1
- package/dist/src/menu/ContextMenu.d.ts.map +1 -1
- package/dist/src/menu/Menu.d.ts +3 -5
- package/dist/src/menu/Menu.d.ts.map +1 -1
- package/dist/src/modal/Modal.d.ts +2 -2
- package/dist/src/modal/Modal.d.ts.map +1 -1
- package/dist/src/mosaic/Mosaic.d.ts.map +1 -1
- package/dist/src/mosaic/tree.d.ts.map +1 -1
- package/dist/src/mosaic/types.d.ts +5 -0
- package/dist/src/mosaic/types.d.ts.map +1 -1
- package/dist/src/mosaic/use.d.ts.map +1 -1
- package/dist/src/nav/Bar.d.ts +1 -1
- package/dist/src/nav/Bar.d.ts.map +1 -1
- package/dist/src/nav/Drawer.d.ts +1 -1
- package/dist/src/nav/Drawer.d.ts.map +1 -1
- package/dist/src/notation/Select.d.ts +1 -1
- package/dist/src/notation/Select.d.ts.map +1 -1
- package/dist/src/notation/notation.d.ts.map +1 -1
- package/dist/src/note/Note.d.ts +1 -1
- package/dist/src/note/Note.d.ts.map +1 -1
- package/dist/src/observe/use.d.ts.map +1 -1
- package/dist/src/os/Controls/Controls.d.ts +1 -1
- package/dist/src/os/Controls/Controls.d.ts.map +1 -1
- package/dist/src/os/Controls/Mac.d.ts +1 -1
- package/dist/src/os/Controls/Mac.d.ts.map +1 -1
- package/dist/src/os/Controls/Windows.d.ts +1 -1
- package/dist/src/os/Controls/Windows.d.ts.map +1 -1
- package/dist/src/override/factory.d.ts.map +1 -1
- package/dist/src/pluto/Pluto.d.ts.map +1 -1
- package/dist/src/portal/Portal.d.ts.map +1 -1
- package/dist/src/progress/Progress.d.ts.map +1 -1
- package/dist/src/ranger/Select.d.ts +3 -3
- package/dist/src/ranger/Select.d.ts.map +1 -1
- package/dist/src/ranger/SelectLabel.d.ts.map +1 -1
- package/dist/src/ranger/TimeRangeChip.d.ts +1 -1
- package/dist/src/ranger/TimeRangeChip.d.ts.map +1 -1
- package/dist/src/resize/Core.d.ts +1 -1
- package/dist/src/resize/Core.d.ts.map +1 -1
- package/dist/src/resize/Multiple.d.ts +1 -1
- package/dist/src/resize/Multiple.d.ts.map +1 -1
- package/dist/src/resize/Single.d.ts +1 -1
- package/dist/src/resize/Single.d.ts.map +1 -1
- package/dist/src/select/Alignment.d.ts +1 -1
- package/dist/src/select/Alignment.d.ts.map +1 -1
- package/dist/src/select/Button.d.ts +3 -3
- package/dist/src/select/Button.d.ts.map +1 -1
- package/dist/src/select/ClearButton.d.ts.map +1 -1
- package/dist/src/select/ComponentSize.d.ts +1 -1
- package/dist/src/select/ComponentSize.d.ts.map +1 -1
- package/dist/src/select/DataType.d.ts +1 -1
- package/dist/src/select/DataType.d.ts.map +1 -1
- package/dist/src/select/Direction.d.ts +1 -1
- package/dist/src/select/Direction.d.ts.map +1 -1
- package/dist/src/select/List.d.ts +1 -1
- package/dist/src/select/List.d.ts.map +1 -1
- package/dist/src/select/Multiple.d.ts +2 -2
- package/dist/src/select/Multiple.d.ts.map +1 -1
- package/dist/src/select/Single.d.ts +1 -1
- package/dist/src/select/Single.d.ts.map +1 -1
- package/dist/src/select/external.d.ts +1 -0
- package/dist/src/select/external.d.ts.map +1 -1
- package/dist/src/select/text/Level.d.ts +11 -0
- package/dist/src/select/text/Level.d.ts.map +1 -0
- package/dist/src/select/text/Weight.d.ts +11 -0
- package/dist/src/select/text/Weight.d.ts.map +1 -0
- package/dist/src/select/text/external.d.ts +3 -0
- package/dist/src/select/text/external.d.ts.map +1 -0
- package/dist/src/select/text/index.d.ts +2 -0
- package/dist/src/select/text/index.d.ts.map +1 -0
- package/dist/src/state/state.d.ts.map +1 -1
- package/dist/src/status/Aggregator.d.ts +13 -10
- package/dist/src/status/Aggregator.d.ts.map +1 -1
- package/dist/src/status/Aggregator.spec.d.ts +2 -0
- package/dist/src/status/Aggregator.spec.d.ts.map +1 -0
- package/dist/src/status/Circle.d.ts +1 -1
- package/dist/src/status/Circle.d.ts.map +1 -1
- package/dist/src/status/Notification.d.ts +1 -1
- package/dist/src/status/Notification.d.ts.map +1 -1
- package/dist/src/status/Notification.spec.d.ts +2 -0
- package/dist/src/status/Notification.spec.d.ts.map +1 -0
- package/dist/src/status/Text.d.ts +6 -8
- package/dist/src/status/Text.d.ts.map +1 -1
- package/dist/src/status/aether/aggregator.d.ts +18 -8
- package/dist/src/status/aether/aggregator.d.ts.map +1 -1
- package/dist/src/status/aether/types.d.ts +4 -2
- package/dist/src/status/aether/types.d.ts.map +1 -1
- package/dist/src/status/external.d.ts +1 -0
- package/dist/src/status/external.d.ts.map +1 -1
- package/dist/src/steps/Steps.d.ts +1 -1
- package/dist/src/steps/Steps.d.ts.map +1 -1
- package/dist/src/synnax/Provider.d.ts.map +1 -1
- package/dist/src/synnax/aether/provider.d.ts +30 -30
- package/dist/src/synnax/aether/provider.d.ts.map +1 -1
- package/dist/src/table/Table.d.ts +3 -3
- package/dist/src/table/Table.d.ts.map +1 -1
- package/dist/src/table/aether/Table.d.ts +1 -1
- package/dist/src/table/aether/Table.d.ts.map +1 -1
- package/dist/src/table/cells/Cells.d.ts.map +1 -1
- package/dist/src/table/cells/Forms.d.ts.map +1 -1
- package/dist/src/tabs/Selector.d.ts +1 -1
- package/dist/src/tabs/Selector.d.ts.map +1 -1
- package/dist/src/tabs/Tabs.d.ts +6 -71
- package/dist/src/tabs/Tabs.d.ts.map +1 -1
- package/dist/src/tabs/external.d.ts +1 -0
- package/dist/src/tabs/external.d.ts.map +1 -1
- package/dist/src/tabs/types.d.ts +6 -0
- package/dist/src/tabs/types.d.ts.map +1 -1
- package/dist/src/tabs/useContext.d.ts +64 -0
- package/dist/src/tabs/useContext.d.ts.map +1 -0
- package/dist/src/tag/Tag.d.ts +1 -1
- package/dist/src/tag/Tag.d.ts.map +1 -1
- package/dist/src/telem/Provider.d.ts.map +1 -1
- package/dist/src/telem/aether/context.d.ts.map +1 -1
- package/dist/src/telem/aether/convertSeries.d.ts.map +1 -1
- package/dist/src/telem/aether/factory.d.ts.map +1 -1
- package/dist/src/telem/aether/pipeline.d.ts.map +1 -1
- package/dist/src/telem/aether/remote.d.ts.map +1 -1
- package/dist/src/telem/aether/static.d.ts.map +1 -1
- package/dist/src/telem/aether/transformers.d.ts.map +1 -1
- package/dist/src/telem/client/client.d.ts.map +1 -1
- package/dist/src/telem/client/types.d.ts.map +1 -1
- package/dist/src/telem/control/Chip.d.ts +1 -1
- package/dist/src/telem/control/Chip.d.ts.map +1 -1
- package/dist/src/telem/control/Controller.d.ts.map +1 -1
- package/dist/src/telem/control/Indicator.d.ts.map +1 -1
- package/dist/src/telem/control/Legend.d.ts +1 -1
- package/dist/src/telem/control/Legend.d.ts.map +1 -1
- package/dist/src/telem/control/StateProvider.d.ts.map +1 -1
- package/dist/src/telem/control/aether/chip.d.ts.map +1 -1
- package/dist/src/telem/control/aether/controller.d.ts +4 -4
- package/dist/src/telem/control/aether/controller.d.ts.map +1 -1
- package/dist/src/telem/control/aether/legend.d.ts.map +1 -1
- package/dist/src/telem/control/aether/state.d.ts.map +1 -1
- package/dist/src/testutil/dom.d.ts.map +1 -1
- package/dist/src/text/DateTime.d.ts +1 -1
- package/dist/src/text/DateTime.d.ts.map +1 -1
- package/dist/src/text/Editable.d.ts +2 -2
- package/dist/src/text/Editable.d.ts.map +1 -1
- package/dist/src/text/Keyboard.d.ts +1 -1
- package/dist/src/text/Keyboard.d.ts.map +1 -1
- package/dist/src/text/Link.d.ts +1 -1
- package/dist/src/text/Link.d.ts.map +1 -1
- package/dist/src/text/Text.d.ts +2 -2
- package/dist/src/text/Text.d.ts.map +1 -1
- package/dist/src/text/WithIcon.d.ts +1 -1
- package/dist/src/text/WithIcon.d.ts.map +1 -1
- package/dist/src/text/core/types.d.ts.map +1 -1
- package/dist/src/text/dimensions.d.ts.map +1 -1
- package/dist/src/text/external.d.ts +0 -1
- package/dist/src/text/external.d.ts.map +1 -1
- package/dist/src/theming/Provider.d.ts +3 -4
- package/dist/src/theming/Provider.d.ts.map +1 -1
- package/dist/src/theming/aether/provider.d.ts.map +1 -1
- package/dist/src/theming/core/fontString.d.ts.map +1 -1
- package/dist/src/theming/css.d.ts.map +1 -1
- package/dist/src/theming/external.d.ts +0 -1
- package/dist/src/theming/external.d.ts.map +1 -1
- package/dist/src/theming/font.d.ts.map +1 -1
- package/dist/src/theming/index.d.ts.map +1 -1
- package/dist/src/tooltip/Config.d.ts +0 -1
- package/dist/src/tooltip/Config.d.ts.map +1 -1
- package/dist/src/tooltip/Dialog.d.ts.map +1 -1
- package/dist/src/tooltip/wrap.d.ts.map +1 -1
- package/dist/src/tree/Tree.d.ts +4 -3
- package/dist/src/tree/Tree.d.ts.map +1 -1
- package/dist/src/tree/core.d.ts +3 -1
- package/dist/src/tree/core.d.ts.map +1 -1
- package/dist/src/triggers/Provider.d.ts +3 -2
- package/dist/src/triggers/Provider.d.ts.map +1 -1
- package/dist/src/triggers/Status.d.ts.map +1 -1
- package/dist/src/triggers/Text.d.ts +1 -1
- package/dist/src/triggers/Text.d.ts.map +1 -1
- package/dist/src/triggers/hooks.d.ts +1 -1
- package/dist/src/triggers/hooks.d.ts.map +1 -1
- package/dist/src/triggers/triggers.d.ts.map +1 -1
- package/dist/src/triggers/useDrag.d.ts.map +1 -1
- package/dist/src/util/canDisable.d.ts.map +1 -1
- package/dist/src/util/children.d.ts +2 -2
- package/dist/src/util/children.d.ts.map +1 -1
- package/dist/src/util/component.d.ts.map +1 -1
- package/dist/src/util/event.d.ts.map +1 -1
- package/dist/src/util/findParent.d.ts.map +1 -1
- package/dist/src/util/reflow.d.ts.map +1 -1
- package/dist/src/util/removeProps.d.ts.map +1 -1
- package/dist/src/util/renderProp.d.ts +1 -1
- package/dist/src/util/renderProp.d.ts.map +1 -1
- package/dist/src/util/rootElement.d.ts.map +1 -1
- package/dist/src/util/zod.d.ts.map +1 -1
- package/dist/src/video/Video.d.ts +1 -1
- package/dist/src/video/Video.d.ts.map +1 -1
- package/dist/src/viewport/Mask.d.ts +1 -1
- package/dist/src/viewport/Mask.d.ts.map +1 -1
- package/dist/src/viewport/SelectMode.d.ts +1 -1
- package/dist/src/viewport/SelectMode.d.ts.map +1 -1
- package/dist/src/viewport/use.d.ts.map +1 -1
- package/dist/src/vis/axis/ticks.d.ts +1 -1
- package/dist/src/vis/axis/ticks.d.ts.map +1 -1
- package/dist/src/vis/button/use.d.ts.map +1 -1
- package/dist/src/vis/canvas/Canvas.d.ts +1 -1
- package/dist/src/vis/canvas/Canvas.d.ts.map +1 -1
- package/dist/src/vis/diagram/Diagram.d.ts +7 -5
- package/dist/src/vis/diagram/Diagram.d.ts.map +1 -1
- package/dist/src/vis/diagram/aether/Diagram.d.ts +1 -1
- package/dist/src/vis/diagram/aether/Diagram.d.ts.map +1 -1
- package/dist/src/vis/diagram/aether/types.d.ts.map +1 -1
- package/dist/src/vis/diagram/align.d.ts.map +1 -1
- package/dist/src/vis/diagram/edge/Edge.d.ts +1 -1
- package/dist/src/vis/diagram/edge/Edge.d.ts.map +1 -1
- package/dist/src/vis/diagram/edge/connector/connector.d.ts.map +1 -1
- package/dist/src/vis/diagram/edge/paths.d.ts +1 -1
- package/dist/src/vis/diagram/edge/paths.d.ts.map +1 -1
- package/dist/src/vis/diagram/util.d.ts.map +1 -1
- package/dist/src/vis/draw2d/index.d.ts +1 -1
- package/dist/src/vis/draw2d/index.d.ts.map +1 -1
- package/dist/src/vis/eraser/use.d.ts.map +1 -1
- package/dist/src/vis/grid/grid.d.ts.map +1 -1
- package/dist/src/vis/legend/Container.d.ts +1 -1
- package/dist/src/vis/legend/Container.d.ts.map +1 -1
- package/dist/src/vis/legend/Simple.d.ts +1 -1
- package/dist/src/vis/legend/Simple.d.ts.map +1 -1
- package/dist/src/vis/light/aether/light.d.ts +1 -1
- package/dist/src/vis/light/aether/light.d.ts.map +1 -1
- package/dist/src/vis/light/use.d.ts.map +1 -1
- package/dist/src/vis/line/Line.d.ts +1 -1
- package/dist/src/vis/line/Line.d.ts.map +1 -1
- package/dist/src/vis/line/aether/line.d.ts.map +1 -1
- package/dist/src/vis/lineplot/Axis.d.ts.map +1 -1
- package/dist/src/vis/lineplot/Legend.d.ts +2 -2
- package/dist/src/vis/lineplot/Legend.d.ts.map +1 -1
- package/dist/src/vis/lineplot/Line.d.ts +1 -1
- package/dist/src/vis/lineplot/Line.d.ts.map +1 -1
- package/dist/src/vis/lineplot/LinePlot.d.ts +3 -3
- package/dist/src/vis/lineplot/LinePlot.d.ts.map +1 -1
- package/dist/src/vis/lineplot/Title.d.ts +1 -1
- package/dist/src/vis/lineplot/Title.d.ts.map +1 -1
- package/dist/src/vis/lineplot/Viewport.d.ts +1 -1
- package/dist/src/vis/lineplot/Viewport.d.ts.map +1 -1
- package/dist/src/vis/lineplot/aether/LinePlot.d.ts +1 -1
- package/dist/src/vis/lineplot/aether/LinePlot.d.ts.map +1 -1
- package/dist/src/vis/lineplot/aether/axis.d.ts.map +1 -1
- package/dist/src/vis/lineplot/range/Annotation.d.ts +1 -1
- package/dist/src/vis/lineplot/range/Annotation.d.ts.map +1 -1
- package/dist/src/vis/lineplot/range/Provider.d.ts +1 -1
- package/dist/src/vis/lineplot/range/Provider.d.ts.map +1 -1
- package/dist/src/vis/lineplot/range/aether/provider.d.ts +1 -1
- package/dist/src/vis/lineplot/range/aether/provider.d.ts.map +1 -1
- package/dist/src/vis/lineplot/tooltip/Tooltip.d.ts +1 -1
- package/dist/src/vis/lineplot/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/src/vis/log/Log.d.ts +1 -1
- package/dist/src/vis/log/Log.d.ts.map +1 -1
- package/dist/src/vis/measure/Measure.d.ts.map +1 -1
- package/dist/src/vis/render/util.d.ts.map +1 -1
- package/dist/src/vis/rule/Rule.d.ts +1 -1
- package/dist/src/vis/rule/Rule.d.ts.map +1 -1
- package/dist/src/vis/schematic/Forms.d.ts.map +1 -1
- package/dist/src/vis/schematic/Grid.d.ts +1 -1
- package/dist/src/vis/schematic/Grid.d.ts.map +1 -1
- package/dist/src/vis/schematic/SelectOrientation.d.ts +1 -1
- package/dist/src/vis/schematic/SelectOrientation.d.ts.map +1 -1
- package/dist/src/vis/schematic/Symbols.d.ts +3 -3
- package/dist/src/vis/schematic/Symbols.d.ts.map +1 -1
- package/dist/src/vis/schematic/primitives/Primitives.d.ts +80 -80
- package/dist/src/vis/schematic/primitives/Primitives.d.ts.map +1 -1
- package/dist/src/vis/setpoint/aether/setpoint.d.ts +1 -2
- package/dist/src/vis/setpoint/aether/setpoint.d.ts.map +1 -1
- package/dist/src/vis/setpoint/use.d.ts.map +1 -1
- package/dist/src/vis/toggle/aether/toggle.d.ts +1 -1
- package/dist/src/vis/toggle/aether/toggle.d.ts.map +1 -1
- package/dist/src/vis/toggle/use.d.ts.map +1 -1
- package/dist/src/vis/value/Form.d.ts.map +1 -1
- package/dist/src/vis/value/use.d.ts.map +1 -1
- package/dist/src/worker/Context.d.ts.map +1 -1
- package/dist/state-BKyv_jWZ.cjs +15 -0
- package/dist/state-w46WTrh-.js +2399 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text.cjs +1 -1
- package/dist/text.js +2 -2
- package/dist/theming.cjs +1 -1
- package/dist/theming.js +2 -2
- package/dist/toArray-DRKOku1s.cjs +1 -0
- package/dist/toArray-Dvn9FA_3.js +5 -0
- package/dist/{transformColorsToHex-CDwcIPob.cjs → transformColorsToHex-B2Bui-Wf.cjs} +1 -1
- package/dist/{transformColorsToHex-CnZpPlL2.js → transformColorsToHex-B6dG2LA6.js} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/triggers.cjs +1 -1
- package/dist/triggers.js +1 -1
- package/dist/{units-BpKy5yTv.cjs → units-CvIf5nF_.cjs} +1 -1
- package/dist/{units-CNGjg1NV.js → units-D7qkgH-s.js} +1 -1
- package/dist/useClickOutside-EJHWO4Q9.cjs +1 -0
- package/dist/useClickOutside-vpv_GiBw.js +107 -0
- package/dist/useDebouncedCallback-CVLx7N1s.cjs +1 -0
- package/dist/useDebouncedCallback-DDLuEZa8.js +7 -0
- package/dist/useMemoCompare-B-Y9Ft2w.js +19 -0
- package/dist/useMemoCompare-ONEAVO05.cjs +1 -0
- package/dist/useVirtualCursorDragWebKit-BLtwRQY7.cjs +1 -0
- package/dist/useVirtualCursorDragWebKit-DFC-XFfl.js +65 -0
- package/dist/value-DQqKhQvt.cjs +57 -0
- package/dist/{LinePlot-tqJ3Um1S.js → value-DbcZ1sQB.js} +1998 -1994
- package/dist/video.cjs +1 -1
- package/dist/video.js +1 -1
- package/package.json +28 -26
- package/dist/Animated-BWcO40x5.js +0 -19
- package/dist/Animated-Cxl7iHik.cjs +0 -1
- package/dist/Item-BZvmqn4h.js +0 -109
- package/dist/Item-C4SOBynl.cjs +0 -1
- package/dist/LinePlot-Cys9-mEC.cjs +0 -56
- package/dist/Pack-B7_tAsYd.cjs +0 -1
- package/dist/Pack-Di5J8hmU.js +0 -143
- package/dist/Toggle-BOWYgKry.cjs +0 -163
- package/dist/aggregator-B4RWbN9h.cjs +0 -77
- package/dist/aggregator-Bl15iClv.js +0 -13712
- package/dist/css-DT9dIVAb.cjs +0 -1
- package/dist/external-8OKX45Jc.cjs +0 -1
- package/dist/external-9Q86X8hc.cjs +0 -1
- package/dist/external-B45MvYg8.js +0 -111
- package/dist/external-BP5euc4j.js +0 -34
- package/dist/external-Ba8go3wq.cjs +0 -1
- package/dist/external-C59dex28.js +0 -13
- package/dist/external-CKXRIr4_.cjs +0 -1
- package/dist/external-CML3oqyJ.js +0 -22
- package/dist/external-CW61uh4b.cjs +0 -1
- package/dist/external-CcuRxo0Z.js +0 -323
- package/dist/external-CigHe3w_.cjs +0 -1
- package/dist/external-Cm1kldLr.js +0 -123
- package/dist/external-DNjLBxYA.js +0 -1189
- package/dist/external-DTDBfIqD.js +0 -13
- package/dist/external-DkXE1VK8.cjs +0 -1
- package/dist/external-Dt4ggRt2.cjs +0 -1
- package/dist/external-DuGCS_ZD.js +0 -20
- package/dist/external-DuK5v_sl.js +0 -375
- package/dist/external-SsIgRo40.cjs +0 -1
- package/dist/external-U33eEFR3.js +0 -75
- package/dist/external-bw66TR6V.js +0 -277
- package/dist/external-kZBV4X9L.cjs +0 -1
- package/dist/external-ok_ye4LF.cjs +0 -1
- package/dist/src/telem/Pipeline.d.ts +0 -3
- package/dist/src/telem/Pipeline.d.ts.map +0 -1
- package/dist/src/text/Select.d.ts +0 -19
- package/dist/src/text/Select.d.ts.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";var Ei=Object.defineProperty;var Mi=(e,n,t)=>n in e?Ei(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var h=(e,n,t)=>Mi(e,typeof n!="symbol"?n+"":n,t);const w=require("./state-BKyv_jWZ.cjs"),f=require("zod"),y=require("./provider-D3MPSb7n.cjs"),X=require("./aggregator-BAdXZfPY.cjs"),l=require("./css-CU7tous7.cjs"),ee=require("./fontString-MM82zgKY.cjs"),ft=require("./dimensions-IEzi7AOM.cjs"),G=require("./eraser-CnbMvm7W.cjs"),Es=require("./debounce-heEWeOqL.cjs"),rr=require("./deep-BjupBYvk.cjs"),Ms=require("./toArray-DRKOku1s.cjs");var Pi=Object.defineProperty,ki=(e,n,t)=>n in e?Pi(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,je=(e,n,t)=>ki(e,typeof n!="symbol"?n+"":n,t);class Ri{constructor(n,t){je(this,"handlers"),je(this,"transform"),je(this,"closer"),this.transform=n,this.handlers=t??new Map}onChange(n){return this.handlers.set(n,null),()=>this.handlers.delete(n)}notify(n){let t=n;if(this.transform!=null){const[r,s]=this.transform(n);if(!s)return;t=r}this.handlers.forEach((r,s)=>s(t))}setCloser(n){this.closer=n}async close(){var n;return await((n=this.closer)==null?void 0:n.call(this))}}class Yi{constructor(n){je(this,"handlers"),this.handlers=n??new Map}onChange(n){return this.handlers.set(n,null),()=>this.handlers.delete(n)}notify(n){this.handlers.forEach((t,r)=>r(n))}}const sr=Object.freeze(Object.defineProperty({__proto__:null,BaseObserver:Yi,Observer:Ri},Symbol.toStringTag,{value:"Module"})),tt="layout",jn="data",st="tool";var J;let I=(J=class{constructor(n){h(this,"f");this.f=n}static control(n,t){n.set(J.CONTEXT_KEY,new J(t),!1)}static useRequest(n){return n.get(J.CONTEXT_KEY).f}static useOptionalRequest(n){var t;return((t=n.getOptional(J.CONTEXT_KEY))==null?void 0:t.f)??null}static requestRender(n,t){this.useRequest(n)(t)}},h(J,"CONTEXT_KEY","pluto-vis-renderer"),J);const zi=f.z.object({props:y.wg.nullable(),state:y.bg.connectivity.connectionStateZ.nullable()}),ar={synnax:null,state:y.bg.connectivity.DEFAULT};var lt;let Ve=(lt=class extends y.Composite{constructor(){super(...arguments);h(this,"schema",lt.stateZ)}async afterUpdate(t){var r;if(t.setPreviously(ir)||$n(t,ar),this.state.props==null){this.internal.synnax!=null&&(this.setState(s=>({...s,state:y.bg.connectivity.DEFAULT})),(r=this.internal.synnax)==null||r.close(),this.internal.synnax=null),$n(t,this.internal);return}this.prevState.props!=null&&rr.I.equal(this.state.props,this.prevState.props)&&this.internal.synnax!=null||(this.internal.synnax=new y.bg(this.state.props),this.internal.synnax.connectivity.onChange(s=>this.setState(a=>({...a,state:s}))),$n(t,this.internal))}},h(lt,"TYPE","synnax.Provider"),h(lt,"stateZ",zi),lt);const ir="pluto-client-context",$n=(e,n)=>e.set(ir,n),Oe=e=>e.get(ir).synnax,Ps={[Ve.TYPE]:Ve},Li=Object.freeze(Object.defineProperty({__proto__:null,Provider:Ve,REGISTRY:Ps,ZERO_CONTEXT_VALUE:ar,use:Oe},Symbol.toStringTag,{value:"Module"}));class ct extends sr.Observer{async cleanup(){}}class Xe extends ct{async set(){return await Promise.resolve()}}h(Xe,"TYPE","noop-boolean-sink");const Pn={type:Xe.TYPE,props:{},variant:"sink",valueType:"boolean"};class Ke extends ct{async set(){return await Promise.resolve()}}h(Ke,"TYPE","noop-numeric-sink");const ks={type:Ke.TYPE,props:{},variant:"sink",valueType:"number"};class Je extends ct{async value(){return await Promise.resolve(!1)}}h(Je,"TYPE","noop-boolean-source");const or={type:Je.TYPE,props:{},variant:"source",valueType:"boolean"};class Qe extends ct{async value(){return 0}}h(Qe,"TYPE","noop-numeric-source");const Rs={type:Qe.TYPE,props:{},variant:"source",valueType:"number"};class tn extends ct{async value(){return""}}h(tn,"TYPE","noop-string-source");const Ys={type:tn.TYPE,props:{},variant:"source",valueType:"string"};class en extends ct{async value(){return{key:"noop",variant:"disabled",message:"unknown",time:w.m.now()}}}h(en,"TYPE","noop-status-source");const lr={type:en.TYPE,props:{},variant:"source",valueType:"status"};class nn extends ct{async value(){return l.ZERO}}h(nn,"TYPE","noop-color-source");const kn={type:nn.TYPE,props:{},variant:"source",valueType:"color"};class rn extends ct{async value(){return[l.H.ZERO,[]]}}h(rn,"TYPE","noop-series");const zs={type:rn.TYPE,props:{},variant:"source",valueType:"series"},Di={[Xe.TYPE]:Xe,[Ke.TYPE]:Ke,[Je.TYPE]:Je,[Qe.TYPE]:Qe,[en.TYPE]:en,[nn.TYPE]:nn,[tn.TYPE]:tn,[rn.TYPE]:rn};class Ls{constructor(){h(this,"type","noop")}create(n){const t=Di[n.type];return t==null?null:new t}}const Oi=f.z.instanceof(ArrayBuffer),Ae=f.z.object({type:f.z.string(),variant:f.z.enum(["source","sink","source-transformer","sink-transformer"]),valueType:f.z.string(),props:f.z.any(),transfer:f.z.array(Oi).optional()}),ut=Ae.extend({variant:f.z.literal("source")}),Rn=Ae.extend({variant:f.z.literal("sink")}),Ds=Ae.extend({variant:f.z.literal("source-transformer")}),Os=Ae.extend({variant:f.z.literal("sink-transformer")}),sn=ut.extend({valueType:f.z.literal("series")}),cr=ut.extend({valueType:f.z.literal("boolean")}),Yn=Rn.extend({valueType:f.z.literal("boolean")}),Ai=Os.extend({valueType:f.z.literal("boolean")}),$i=Ds.extend({valueType:f.z.literal("boolean")}),As=ut.extend({valueType:f.z.literal("number")}),$s=Rn.extend({valueType:f.z.literal("number")}),ur=ut.extend({valueType:f.z.literal("color")}),hr=ut.extend({valueType:f.z.literal("status")}),dr=ut.extend({valueType:f.z.literal("string")});class zn extends sr.BaseObserver{constructor(t){super();h(this,"props_");h(this,"uProps_");h(this,"schema");this.uProps_=t}get props(){if(this.props_==null){const t=this._schema.safeParse(this.uProps_);if(t.success)this.props_=t.data;else throw new y.L(`[BaseTelem] - expected props to be valid, but found the following errors:
|
|
2
|
+
${t.error.message}`)}return this.props_}get _schema(){if(this.schema==null)throw new y.L(`[BaseTelem] - expected subclass to define props schema, but none was found.
|
|
3
|
+
Make sure to define a property 'schema' on the class.`);return this.schema}async cleanup(){}}class H extends zn{}class Ln extends zn{}class wt extends H{constructor(){super(...arguments);h(this,"sources",{})}get source(){const[t]=Object.values(this.sources);if(t==null)throw new y.L("[UnarySourceTransformer] - expected source to exist, but none was found.");return t}async value(){return this.transform(await this.source.value())}onChange(t){return this.source.onChange(()=>{this.source.value().then(r=>{this.shouldNotify(r)&&t()}).catch(console.error)})}setSources(t){this.sources=t}shouldNotify(t){return!0}transform(t){throw new y.L(`[UnarySourceTransformer] - expected subclass to define transform method, but none was found.
|
|
4
|
+
Make sure to define a method 'transform' on the class.`)}}class Zs extends H{constructor(){super(...arguments);h(this,"sources",{})}async value(){const t=Object.fromEntries(await Promise.all(Object.entries(this.sources).map(async([r,s])=>[r,await s.value()])));return this.transform(t)}setSources(t){this.sources={...this.sources,...t}}transform(t){throw new y.L(`[MultiSourceTransformer] - expected subclass to define transform method, but none was found.
|
|
5
|
+
Make sure to define a method 'transform' on the class.`)}}class Is extends zn{constructor(){super(...arguments);h(this,"sinks",{})}get sink(){const[t]=Object.values(this.sinks);if(t==null)throw new y.L("[UnarySinkTransformer] - expected sink to exist, but none was found.");return t}async set(t){return await this.sink.set(this.transform(t))}setSinks(t){this.sinks={...this.sinks,...t}}transform(t){throw new y.L(`[UnarySinkTransformer] - expected subclass to define transform method, but none was found.
|
|
6
|
+
Make sure to define a method 'transform' on the class.`)}}const fr=f.z.object({from:f.z.string(),to:f.z.string()}),pr=f.z.object({connections:f.z.array(fr),outlet:f.z.string(),segments:f.z.record(ut)});class gr{constructor(n){h(this,"type","pipeline");h(this,"factory");this.factory=n}create(n){switch(n.type){case de.TYPE:return new de(n.props,this.factory);case fe.TYPE:return new fe(n.props,this.factory);default:return null}}}class de extends H{constructor(t,r){super(t);h(this,"schema",pr);h(this,"sources",{});const{connections:s,segments:a}=this.props;Object.entries(a).forEach(([i,o])=>{const c=r.create(o);c!=null&&(this.sources[i]=c)}),s.forEach(({from:i,to:o})=>{const c=this.sources[i],u=this.sources[o];c==null||u==null||"setSources"in u&&u.setSources({[i]:c})})}get outlet(){const{outlet:t}=this.props,r=this.sources[t];if(r==null)throw new y.L(`[SourcePipeline] - expected source to exist at outlet '${t}', but none was found.`);return r}async value(){return await this.outlet.value()}onChange(t){return this.outlet.onChange(t)}async cleanup(){await Promise.all(Object.values(this.sources).map(async t=>{var r;return await((r=t.cleanup)==null?void 0:r.call(t))}))}}h(de,"TYPE","source-pipeline");const Ns=(e,n)=>({variant:"source",props:n,type:de.TYPE,valueType:e}),mr=f.z.object({connections:f.z.array(fr),inlet:f.z.string(),segments:f.z.record(Rn)});class fe extends Ln{constructor(t,r){super(t);h(this,"schema",mr);h(this,"sinks",{});const{connections:s,segments:a}=this.props;Object.entries(a).forEach(([i,o])=>{const c=r.create(o);c!=null&&(this.sinks[i]=c)}),s.forEach(({from:i,to:o})=>{const c=this.sinks[i],u=this.sinks[o];c==null||u==null||"setSinks"in c&&c.setSinks({[o]:u})})}get inlet(){const{inlet:t}=this.props,r=this.sinks[t];if(r==null)throw new y.L(`[SinkPipeline] - expected source to exist at inlet '${t}', but none was found.`);return r}async set(t){return await this.inlet.set(t)}async cleanup(){await Promise.all(Object.values(this.sinks).map(async t=>{var r;return await((r=t.cleanup)==null?void 0:r.call(t))}))}}h(fe,"TYPE","sink-pipeline");const Us=(e,n)=>({variant:"sink",props:n,type:fe.TYPE,valueType:e}),yr=f.z.object({channel:f.z.number().or(f.z.string())});class pe extends H{constructor(t,r){super(r);h(this,"client");h(this,"removeStreamHandler",null);h(this,"channelKey",0);h(this,"schema",yr);h(this,"leadingBuffer",null);h(this,"valid",!1);this.client=t}get testingOnlyLeadingBuffer(){return this.leadingBuffer}get testingOnlyValid(){return this.valid}async cleanup(){var t,r;await((t=this.removeStreamHandler)==null?void 0:t.call(this)),this.valid=!1,(r=this.leadingBuffer)==null||r.release(),this.leadingBuffer=null,this.removeStreamHandler=null}async value(){if(w.w(this.props.channel))return 0;if(this.channelKey===0){const t=await wr(this.client,this.props.channel,!1);if(t==null)return 0;this.channelKey=t.key}return this.valid||await this.read(),this.leadingBuffer==null||this.leadingBuffer.length===0?0:this.leadingBuffer.at(-1,!0)}async read(){this.valid=!0,await this.updateStreamHandler()}async updateStreamHandler(){var r;await((r=this.removeStreamHandler)==null?void 0:r.call(this));const t=s=>{var o;const i=s[this.channelKey].data;if(i.length!==0){const c=i[i.length-1];c.acquire(),(o=this.leadingBuffer)==null||o.release(),this.leadingBuffer=c}this.notify()};this.removeStreamHandler=await this.client.stream(t,[this.channelKey])}}h(pe,"TYPE","stream-channel-value");const wr=async(e,n,t)=>{let r=await e.retrieveChannel(n);if(r==null)return null;if(!t||r.isIndex)return{key:r.key,dataType:r.dataType,virtual:r.virtual};if(y.Jg.isCalculated(r)){const s=await y.Jg.resolveCalculatedIndex(e.retrieveChannel.bind(e),r);if(s==null)throw new y.L("Cannot resolve calculated index");return r=await e.retrieveChannel(s),r==null?null:{key:r.key,dataType:w.g$1.TIMESTAMP,virtual:!1}}if(r.virtual)throw new y.L("Cannot plot data from virtual channels");return{key:r.index,dataType:w.g$1.TIMESTAMP,virtual:!1}},Zi=f.z.object({timeRange:w.U.z,channel:f.z.number().or(f.z.string()),useIndexOfChannel:f.z.boolean().optional().default(!1)});class ge extends H{constructor(t,r){super(r);h(this,"client");h(this,"data",[]);h(this,"valid",!1);h(this,"schema",Zi);this.client=t}async cleanup(){this.data.forEach(t=>t.release()),this.valid=!1}async value(){const{timeRange:t,channel:r,useIndexOfChannel:s}=this.props;if(t.isZero||r===0)return[l.H.ZERO,[]];const a=await wr(this.client,r,s);if(a==null)return[l.H.ZERO,[]];this.valid||await this.readFixed(a.key);let i=l.H.max(this.data.map(o=>o.bounds));return a.dataType.equals(w.g$1.TIMESTAMP)&&(i={upper:Math.min(i.upper,Number(this.props.timeRange.end.valueOf())),lower:Math.max(i.lower,Number(this.props.timeRange.start.valueOf()))}),[i,this.data]}async readFixed(t){const s=(await this.client.read(this.props.timeRange,[t]))[t].data;s.forEach(a=>a.acquire()),this.data=s,this.valid=!0}}h(ge,"TYPE","series-source");const Ii=f.z.object({channel:f.z.number().or(f.z.string()),useIndexOfChannel:f.z.boolean().optional().default(!1),timeSpan:w.y$1.z,keepFor:w.y$1.z.optional()});class me extends H{constructor(t,r){super(r);h(this,"client");h(this,"data",[]);h(this,"stopStreaming");h(this,"valid",!1);h(this,"schema",Ii);this.client=t}async value(){const{channel:t,useIndexOfChannel:r,timeSpan:s}=this.props;if(t===0)return[l.H.ZERO,[]];const a=w.m.now(),i=await wr(this.client,t,r);if(i==null)return[l.H.ZERO,[]];if(this.valid||await this.read(i),i.dataType.isVariable)return[l.H.ZERO,this.data];let o=l.H.max(this.data.filter(c=>c.timeRange.end.after(a.sub(s))).map(c=>c.bounds));return i.dataType.equals(w.g$1.TIMESTAMP)&&(o={upper:o.upper,lower:Math.max(o.lower,o.upper-Number(s.valueOf()))}),[o,this.data]}async read({key:t,virtual:r}){const s=w.m.now().spanRange(-this.props.timeSpan);if(!r){const i=(await this.client.read(s,[t]))[t].data;i.forEach(o=>o.acquire()),this.data.push(...i)}await this.updateStreamHandler(t),this.valid=!0}async updateStreamHandler(t){this.stopStreaming!=null&&await this.stopStreaming();const r=s=>{const a=s[t].data;a.forEach(i=>i.acquire()),this.data.push(...a),this.gcOutOfRangeData(),this.notify()};this.stopStreaming=await this.client.stream(r,[t])}gcOutOfRangeData(){const t=w.m.now().sub(this.props.keepFor??this.props.timeSpan),r=this.data.findIndex(s=>s.timeRange.end.before(t));r!==-1&&(this.data.splice(r,1).forEach(s=>s.release()),this.gcOutOfRangeData())}async cleanup(){var t;await((t=this.stopStreaming)==null?void 0:t.call(this)),this.stopStreaming=void 0,this.data.forEach(r=>r.release())}}h(me,"TYPE","dynamic-series-source");const Ni={[ge.TYPE]:ge,[me.TYPE]:me,[pe.TYPE]:pe};class Bs{constructor(n){h(this,"type","remote");h(this,"client");this.client=n}create(n){const t=Ni[n.type];return t==null?null:new t(this.client,n.props)}}const Gs=e=>({type:ge.TYPE,props:e,variant:"source",valueType:"series"}),_s=e=>({type:me.TYPE,props:e,variant:"source",valueType:"series"}),Fs=e=>({type:pe.TYPE,props:e,variant:"source",valueType:"number"});class Hs{constructor(){h(this,"type","static")}create(n){switch(n.type){case an.TYPE:return new an(n.props);case ye.TYPE:return new ye(n.props);case we.TYPE:return new we(n.props);case be.TYPE:return new be(n.props);case xe.TYPE:return new xe(n.props);default:return null}}}const br=f.z.object({data:f.z.array(w.Ct),offsets:f.z.array(f.z.number()).optional().default([])});class an extends H{constructor(t){super(t);h(this,"data");h(this,"schema",br);this.data=this.props.data.map((r,s)=>new w.Z({data:r,dataType:w.g$1.FLOAT32,timeRange:w.U.ZERO,sampleOffset:this.props.offsets[s]??0}))}async value(){return[l.H.max(this.data.map(r=>r.bounds)),this.data]}}h(an,"TYPE","static-series");const qs=br.extend({rate:w.$.z,yOffset:f.z.number().optional().default(0),scroll:f.z.number().optional().default(0),startPosition:f.z.number().optional().default(0),scrollBounds:f.z.boolean().optional().default(!1)});class ye extends H{constructor(t){super(t);h(this,"schema",qs);h(this,"position");h(this,"interval");h(this,"data");this.position=this.props.startPosition,this.start(this.props.rate),this.data=this.props.data.map((r,s)=>new w.Z({data:r,dataType:w.g$1.FLOAT32,timeRange:w.U.ZERO,sampleOffset:this.props.offsets[s]??0}))}async value(){const t=this.data.map(s=>s.slice(0,this.position));if(this.props.scrollBounds){const s=t[0].data[this.position-this.props.scroll<0?0:this.position-this.props.scroll],a=t[0].data[this.position-1];return[{lower:Number(s),upper:Number(a)},t]}return[l.H.max(t.map(s=>s.bounds)),t]}start(t){this.interval!=null&&clearInterval(this.interval),this.interval=setInterval(()=>{var r;(r=this.notify)==null||r.call(this),this.position++},t.period.milliseconds)}async cleanup(){clearInterval(this.interval),this.interval=void 0}}h(ye,"TYPE","iterative-series");const js=f.z.number();class we extends H{constructor(){super(...arguments);h(this,"schema",js)}async value(){return this.props}}h(we,"TYPE","static-numeric");const Ws=f.z.string();class be extends H{constructor(){super(...arguments);h(this,"schema",Ws)}async value(){return this.props}}h(be,"TYPE","static-string");const Vs=l.crudeZ;class xe extends H{constructor(){super(...arguments);h(this,"schema",Vs)}async value(){return new l.Color(this.props)}}h(xe,"TYPE","static-color");const Ui=e=>({type:an.TYPE,props:e,variant:"source",valueType:"series"}),Bi=e=>({type:ye.TYPE,props:e,variant:"source",valueType:"series"}),Gi=e=>({type:we.TYPE,props:e,variant:"source",valueType:"number"}),_i=e=>({type:be.TYPE,props:e,variant:"source",valueType:"string"}),Fi=e=>({type:xe.TYPE,props:e,variant:"source",valueType:"color"}),Hi=["standard","scientific","engineering"],Xs=f.z.enum(Hi),qi=(e,n,t)=>{if(Number.isNaN(e))return"NaN";if(e===1/0)return"∞";if(e===-1/0)return"-∞";if(t==="standard")return e.toFixed(n);if(e===0)return n===0?"0ᴇ0":`0.${"0".repeat(n)}ᴇ0`;let r;return t==="scientific"?r=Math.floor(Math.log10(Math.abs(e))):r=Math.floor(Math.log10(Math.abs(e))/3)*3,`${(e/10**r).toFixed(n)}ᴇ${r}`};class Ks{constructor(){h(this,"type","transformer")}create(n){switch(n.type){case zt.TYPE:return new zt(n.props);case Lt.TYPE:return new Lt(n.props);case Dt.TYPE:return new Dt(n.props);case Ot.TYPE:return new Ot(n.props);case At.TYPE:return new At(n.props);case $t.TYPE:return new $t(n.props);case Zt.TYPE:return new Zt(n.props);case It.TYPE:return new It(n.props)}return null}}const ji=f.z.object({truthy:f.z.number().optional().default(1),falsy:f.z.number().optional().default(0)}),Js=e=>({props:e,type:zt.TYPE,variant:"sink",valueType:"boolean"}),ne=class ne extends Is{constructor(){super(...arguments);h(this,"schema",ne.propsZ)}transform(t){return t?this.props.truthy:this.props.falsy}};h(ne,"TYPE","boolean-numeric-converter-sink"),h(ne,"propsZ",ji);let zt=ne;const xr=f.z.object({trueBound:l.H.bounds}),Qs=e=>({props:e,type:Lt.TYPE,variant:"source",valueType:"boolean"}),re=class re extends wt{constructor(){super(...arguments);h(this,"schema",re.propsZ);h(this,"curr",null)}shouldNotify(t){const r=l.H.contains(this.props.trueBound,t)!==this.curr;return this.curr=l.H.contains(this.props.trueBound,t),r}transform(t){return this.curr=l.H.contains(this.props.trueBound,t),this.curr}};h(re,"TYPE","boolean-source"),h(re,"propsZ",xr);let Lt=re;const ta=f.z.object({}),se=class se extends Zs{constructor(){super(...arguments);h(this,"schema",se.propsZ)}transform(t){return Object.values(t).reduce((r,s)=>r+s,0)/Object.keys(t).length}};h(se,"TYPE","mean"),h(se,"propsZ",ta);let Dt=se;const Wi=e=>({props:e,type:Dt.TYPE,variant:"source",valueType:"boolean"}),ea=f.z.object({trueVariant:X.variantZ.optional().default("success")}),ae=class ae extends wt{constructor(){super(...arguments);h(this,"schema",ae.propsZ)}transform(t){return t.variant===this.props.trueVariant}};h(ae,"TYPE","boolean-status"),h(ae,"propsZ",ea);let Ot=ae;const Vi=e=>({props:e,type:Ot.TYPE,variant:"source",valueType:"boolean"}),vr=f.z.object({precision:f.z.number().optional().default(2),prefix:f.z.string().optional().default(""),suffix:f.z.string().optional().default(""),notation:Xs.optional().default("standard")}),ie=class ie extends wt{constructor(){super(...arguments);h(this,"schema",ie.propsZ)}transform(t){return`${this.props.prefix}${qi(t,this.props.precision,this.props.notation)}${this.props.suffix}`}};h(ie,"TYPE","stringify-number"),h(ie,"propsZ",vr);let At=ie;const na=e=>({props:e,type:At.TYPE,variant:"source",valueType:"string"}),Tr=f.z.object({windowSize:f.z.number().optional().default(5)});class $t extends wt{constructor(){super(...arguments);h(this,"schema",Tr);h(this,"values",[])}transform(t){return this.props.windowSize<2?t:this.values.reduce((r,s)=>r+s,0)/this.values.length}shouldNotify(t){return this.props.windowSize<2?!0:(this.values.length>this.props.windowSize&&(this.values=[]),this.values.push(t),this.values.length===this.props.windowSize)}}h($t,"TYPE","rolling-average"),h($t,"propsZ",ta);const ra=e=>({props:e,type:$t.TYPE,variant:"source",valueType:"number"}),sa=f.z.object({gradient:l.gradientZ}),oe=class oe extends wt{constructor(){super(...arguments);h(this,"schema",oe.propsZ)}transform(t){return l.fromGradient(this.props.gradient,t)}};h(oe,"TYPE","color-gradient"),h(oe,"propsZ",sa);let Zt=oe;const aa=e=>({props:e,type:Zt.TYPE,variant:"source",valueType:"color"}),ia=f.z.object({scale:l.b.transform}),le=class le extends wt{constructor(){super(...arguments);h(this,"schema",le.propsZ)}transform(t){const{offset:r,scale:s}=this.props.scale;return t*s+r}};h(le,"TYPE","scale-number"),h(le,"propsZ",ia);let It=le;const oa=e=>({props:e,type:It.TYPE,variant:"source",valueType:"number"});class Sr{constructor(n){h(this,"factories");h(this,"type","compound");this.factories=n}add(n){this.factories=[...this.factories.filter(t=>t.type!==n.type),n]}create(n){for(const t of this.factories){const r=t.create(n);if(r!=null)return r}return null}}const la=e=>{const n=[new Ks,new Hs,new Ls],t=new Sr(n);return e!=null&&t.add(new Bs(e)),t.add(new gr(t)),t};let ca=class ua{constructor(n,t){h(this,"factory");h(this,"key");h(this,"parent");this.factory=n,this.key=w.Rt.create(),this.parent=t}child(n,t){const r=new Sr([...this.factory.factories,...Ms.A(n)]);return r.add(new gr(r)),new ua(r,t)}create(n){const t=this.factory.create(n);if(t==null)throw new y.Me(`Telemetry service could not find a source for type ${n.type}`);return t}};const Cr="pluto-telem-context",Dn=e=>e.get(Cr),ha=(e,n)=>e.set(Cr,n),da=(e,n,t)=>{var a;const r=Dn(e);if(r!=null&&t!=null&&r.key===((a=t==null?void 0:t.parent)==null?void 0:a.key))return t;const s=r.child(n,r);return e.set(Cr,s),s};class fa{constructor(n,t,r){h(this,"spec");h(this,"wrapped");h(this,"prevProv");this.wrapped=n,this.spec=r,this.prevProv=t}shouldUpdate(n,t){return this.prevProv.key!==n.key||!rr.I.equal(this.spec,t)}}class Hr extends fa{async value(){return await this.wrapped.value()}async cleanup(){var n,t;await((t=(n=this.wrapped).cleanup)==null?void 0:t.call(n))}onChange(n){return this.wrapped.onChange(n)}}class qr extends fa{async set(n){return await this.wrapped.set(n)}async cleanup(){var n,t;await((t=(n=this.wrapped).cleanup)==null?void 0:t.call(n))}}const j=async(e,n,t)=>{var s;const r=Dn(e);if(t instanceof Hr){if(!t.shouldUpdate(r,n))return t;await((s=t.cleanup)==null?void 0:s.call(t))}return new Hr(r.create(n),r,n)},$e=async(e,n,t)=>{var s;const r=Dn(e);if(t instanceof qr){if(!t.shouldUpdate(r,n))return t;await((s=t.cleanup)==null?void 0:s.call(t))}return new qr(r.create(n),r,n)},pa=f.z.object({include:f.z.string().array().optional(),exclude:f.z.string().array().optional(),level:f.z.enum(y.g.LOG_LEVELS).optional().default("info")}),Wn="alamos-provider";var qn;let Vn=(qn=class extends y.Composite{constructor(){super(...arguments);h(this,"schema",pa)}async afterUpdate(t){if(t.getOptional(Wn)!=null)return;const s=[],{include:a,exclude:i,level:o}=this.state;(a!=null||i!=null)&&s.push(y.g.logLevelKeyFiler({include:a,exclude:i})),o!=null&&s.push(y.g.logThresholdFilter(o)),s.length===0&&s.push(()=>!1),this.internal.ins=new y.g.Instrumentation({key:"aether",logger:new y.g.Logger({filters:s})}),t.set(Wn,this.internal.ins)}},h(qn,"TYPE","alamos.Provider"),qn);const Ze=(e,n)=>{const t=e.get(Wn);if(t==null)throw new Error("No instrumentation provider");return n==null?t:t.child(n)},Xi={[Vn.TYPE]:Vn},ga=(e,n)=>e.dataType.isVariable||e.dataType.equals(w.g$1.UINT8)?e:(n==null&&e.dataType.equals(w.g$1.TIMESTAMP)&&(n=BigInt(e.data[0])),e.convert(w.g$1.FLOAT32,n)),Ki=e=>e.isVariable||e.equals(w.g$1.UINT8)?e:w.g$1.FLOAT32,ma=()=>({purgedSeries:0,purgedBytes:w.x.bytes(0)}),ya={instrumentation:y.g.NOOP,staleEntryThreshold:w.y$1.seconds(20)};class Ji{constructor(n){h(this,"data",[]);h(this,"props");this.props={...ya,...n}}write(n){n.length!==0&&(n.forEach(t=>this.writeOne(ga(t))),this.checkIntegrity(n))}dirtyRead(n){const t=this.data.filter(({data:i})=>i.timeRange.overlapsWith(n)).map(({data:i})=>i);if(t.length===0)return{series:[],gaps:[n]};const r=t.map((i,o)=>o===0?w.U.ZERO:new w.U(t[o-1].timeRange.end,i.timeRange.start)).filter(i=>!i.isZero&&i.isValid),s=new w.U(n.start,t[0].timeRange.start),a=new w.U(t[t.length-1].timeRange.end,n.end);return s.isValid&&!s.isZero&&r.unshift(s),a.isValid&&!a.isZero&&r.push(a),{series:t,gaps:r}}gc(){const{staleEntryThreshold:n}=this.props,t=ma(),r=this.data.filter(s=>{const a=s.data.refCount>0||w.m.since(s.addedAt).lessThan(n);return a||(t.purgedBytes=t.purgedBytes.add(s.data.byteCapacity)),a});return t.purgedSeries=this.data.length-r.length,this.data=r,t}close(){this.data=[]}writeOne(n){const{instrumentation:{L:t}}=this.props;if(n.length===0)return;const r=l.H.buildInsertionPlan(this.data.map(c=>c.data.alignmentBounds),n.alignmentBounds);if(r===null)return t.debug("Found no viable insertion plan",{inserting:n.digest,cacheContents:this.data.map(c=>c.data.digest)});const{removeBefore:s,removeAfter:a,insertInto:i,deleteInBetween:o}=r;n=n.slice(s,n.data.length-Number(a)),n.length!==0&&this.data.splice(i,o,{data:n,addedAt:w.m.now()})}checkIntegrity(n){const{instrumentation:{L:t}}=this.props,r=this.data.map(a=>a.data.alignmentBounds);if(r.some((a,i)=>r.some((o,c)=>i===c?!1:l.H.overlapsWith(a,o))))throw t.debug("Cache is in an invalid state - bounds overlap!",()=>({write:n.map(a=>a.digest),cacheContents:this.data.map(a=>a.data.digest)})),new Error("Invalid state")}}const Qi=100,to=1e6,eo=1e4,no=100,ro=40;class so{constructor(n){h(this,"props");h(this,"counter",0);h(this,"curr");h(this,"avgRate",0);h(this,"timeOfLastWrite");h(this,"totalWrites",0);h(this,"now",()=>w.m.now());this.props=n,this.curr=null,n.testingNow!=null&&(this.now=n.testingNow),this.timeOfLastWrite=this.now()}get length(){var n;return((n=this.curr)==null?void 0:n.length)??0}get leadingBuffer(){return this.curr}write(n){const t=n.flatMap(r=>this._write(r));return{flushed:t.flatMap(r=>r.flushed),allocated:t.flatMap(r=>r.allocated)}}allocate(n,t,r){this.counter++;const s=this.props.dataType.isVariable,a=this.props.dataType.equals(w.g$1.TIMESTAMP);return w.Z.alloc({capacity:s?n*ro:n,dataType:Ki(this.props.dataType),timeRange:r.range(w.m.MAX),sampleOffset:a?BigInt(r.valueOf()):0,glBufferUsage:"dynamic",alignment:t,key:`dynamic-${this.counter}`})}_write(n){const t=this.nextBufferSize(),r={flushed:[],allocated:[]};if(this.curr==null)this.curr=this.allocate(t,n.alignment,this.now()),r.allocated.push(this.curr);else if(Math.abs(Number(this.curr.alignment+BigInt(this.curr.length)-n.alignment))>1){const c=this.now();this.curr.timeRange.end=c,r.flushed.push(this.curr),this.curr=this.allocate(t,n.alignment,c),r.allocated.push(this.curr)}const s=ga(n,this.curr.sampleOffset),a=this.curr.write(s);if(a===n.length)return this.updateAvgRate(n),r;const i=this.now();this.curr.timeRange.end=i,r.flushed.push(this.curr),this.curr=this.allocate(t,n.alignment+BigInt(a),i),r.allocated.push(this.curr);const o=this._write(n.slice(a));return r.flushed.push(...o.flushed),r.allocated.push(...o.allocated),r}updateAvgRate(n){if(typeof this.props.dynamicBufferSize=="number")return;const t=n.length/this.now().span(this.timeOfLastWrite).seconds;this.totalWrites>0&&isFinite(t)&&t>0&&(this.avgRate=(this.avgRate*(this.totalWrites-1)+t)/this.totalWrites),this.totalWrites++,this.timeOfLastWrite=this.now()}nextBufferSize(){const{dynamicBufferSize:n}=this.props;if(typeof n=="number")return n;if(this.totalWrites<no)return eo;const t=l.G$1.roundToNearestMagnitude(this.avgRate*n.seconds);return Math.round(Math.max(Math.min(t,to),Qi))}close(){this.curr=null}}class ao{constructor(n){h(this,"channel");h(this,"closed",!1);h(this,"ins");h(this,"static");h(this,"dynamic");this.channel=n.channel,this.ins=n.instrumentation??y.g.NOOP,this.static=new Ji(n),this.dynamic=new so({dynamicBufferSize:n.dynamicBufferSize,dataType:this.channel.dataType})}writeDynamic(n){if(this.closed)return this.ins.L.warn(`Ignoring attempted dynamic write to a closed cache for channel ${this.channel.name}`),[];const{flushed:t,allocated:r}=this.dynamic.write(n);return t.length>0&&this.static.write(t),r}get leadingBuffer(){return this.dynamic.leadingBuffer}writeStatic(n){if(this.closed)return this.ins.L.warn(`Ignoring attempted static write to a closed cache for channel ${this.channel.name}`);this.static.write(n)}read(n){return this.closed?(this.ins.L.warn(`Ignoring attempted dirty read from a closed cache for channel ${this.channel.name}`),{series:[],gaps:[]}):this.static.dirtyRead(n)}gc(){return this.closed?(this.ins.L.warn(`Ignoring attempted garbage collection on a closed cache for channel ${this.channel.name}`),{purgedSeries:0,purgedBytes:w.x.bytes(0)}):this.static.gc()}close(){this.closed=!0,this.dynamic.close(),this.static.close()}}const io=y.S.seconds(60);class oo{constructor(n){h(this,"props");h(this,"cache",new Map);h(this,"gcInterval");this.props={dynamicBufferSize:io,gcInterval:y.S.seconds(30),...ya,...n},this.gcInterval=setInterval(()=>this.gc(),this.props.gcInterval.milliseconds)}async populateMissing(n){const{instrumentation:t,channelRetriever:r,dynamicBufferSize:s}=this.props,a=[];for(const o of n)this.cache.has(o)||a.push(o);if(a.length===0)return;const i=await r.retrieve(a);for(const o of i){const c=new ao({channel:o,dynamicBufferSize:s,instrumentation:t.child(`cache-${o.name}-${o.key}`)});this.cache.has(o.key)||this.cache.set(o.key,c)}}get(n){const t=this.cache.get(n);if(t!=null)return t;throw new y.Me(`cache entry for ${n} not found`)}gc(){const{instrumentation:{L:n}}=this.props;n.info("starting garbage collection");const t=ma();this.cache.forEach(r=>{const s=r.gc();t.purgedSeries+=s.purgedSeries,t.purgedBytes=t.purgedBytes.add(s.purgedBytes)}),n.info("garbage collection complete",{purgedSeries:t.purgedSeries,purgedBytes:t.purgedBytes.toString()},!0)}close(){clearInterval(this.gcInterval),this.cache.forEach(n=>n.close()),this.cache.clear()}}class on{constructor(n,t){h(this,"channel");h(this,"data");this.channel=n,this.data=t}get timeRange(){if(this.data.length===0)return y.H.ZERO;const n=this.data[0].timeRange,t=this.data[this.data.length-1].timeRange;return new y.H(n.start,t.end)}get digest(){return{channel:this.channel.key,timeRange:this.timeRange.toPrettyString(),series:this.data.map(n=>n.digest)}}}const Zn=e=>e.map(n=>n.digest);class lo{constructor(n){h(this,"props");h(this,"debouncedRead");h(this,"guarded",{mu:new y.Mutex,requests:new Map});this.props={instrumentation:y.g.NOOP,batchDebounce:w.y$1.milliseconds(50),...n},this.debouncedRead=Es.o(()=>{this.batchRead()},this.props.batchDebounce.milliseconds)}async read(n,t){const{instrumentation:{L:r},cache:s}=this.props;r.debug("starting read",{tr:n.toPrettyString(),channels:t});const a=performance.now(),i=new Map,o={};await s.populateMissing(t);try{for(const d of t){const p=s.get(d),{series:g,gaps:b}=p.read(n);b.length===0&&(o[d]=new on(p.channel,g)),b.forEach(v=>{const S=i.get(v.toString());S==null?i.set(v.toString(),[v,new Set([d])]):i.set(v.toString(),[v,new Set([...S[1],d])])})}if(i.size===0)return r.debug("read satisfied by cache",()=>({tr:n.toPrettyString(),channels:t,responses:Zn(Object.values(o)),time:w.y$1.milliseconds(performance.now()-a).toString()})),o;r.debug("read cache miss",()=>({tr:n.toPrettyString(),channels:t,toFetch:Array.from(i.values()).map(([d,p])=>({timeRange:d.toPrettyString(),channels:p})),responses:Zn(Object.values(o))}));const{mu:c,requests:u}=this.guarded;for(const[,[d,p]]of i)await new Promise((g,b)=>{c.runExclusive(async()=>{u.set([d,p],{resolve:g,reject:b}),this.debouncedRead()})})}catch(c){throw r.error("read failed",{tr:n.toPrettyString(),channels:t,error:c}),c}for(const c of t){const u=s.get(c),{series:d}=u.read(n);o[c]=new on(u.channel,d)}return r.debug("read satisfied by fetch",()=>({tr:n.toPrettyString(),channels:t,responses:Zn(Object.values(o)),time:w.y$1.milliseconds(performance.now()-a).toString()})),o}async batchRead(){const{instrumentation:{L:n},readRemote:t,cache:r}=this.props,{mu:s,requests:a}=this.guarded;await s.runExclusive(async()=>{const i=[];try{a.forEach((o,c)=>{const[u,d]=c,p=i.find(([g])=>g.start.span(u.start).lessThan(w.y$1.milliseconds(5))&&g.end.span(u.end).lessThan(w.y$1.milliseconds(5)));p==null?i.push([u,d]):p[1]=new Set([...p[1],...d])}),n.debug("batch read",{toFetch:i.map(([o,c])=>({timeRange:o.toPrettyString(),channels:c}))});for(const[o,c]of i){const u=Array.from(c),d=await t(o,u);u.forEach(p=>{const g=r.get(p),b=d.get(p);g.writeStatic(b.series)})}a.forEach(o=>o.resolve())}catch(o){n.error("batch read failed",{error:o},!0),a.forEach(c=>c.reject(o))}finally{a.clear()}})}}class co{constructor(n){h(this,"props");h(this,"mu",new y.Mutex);h(this,"listeners",new Map);h(this,"streamerRunLoop",null);h(this,"streamer",null);h(this,"closed",!1);this.props={instrumentation:y.g.NOOP,...n}}async stream(n,t){const{cache:r,instrumentation:{L:s}}=this.props;return await r.populateMissing(t),await this.mu.runExclusive(async()=>{s.debug("adding stream handler",{keys:t}),this.listeners.set(n,{valid:!0,keys:t});const a={};for(const i of t){const o=r.get(i),c=o.leadingBuffer!=null?[o.leadingBuffer]:[];a[i]=new on(o.channel,c)}return n(a),await this.updateStreamer(),async()=>await this.removeStreamHandler(n)})}async removeStreamHandler(n){const{instrumentation:{L:t}}=this.props;await this.mu.runExclusive(()=>{const r=this.listeners.get(n);r!=null&&(r.valid=!1)}),setTimeout(()=>{this.mu.runExclusive(async()=>{if(t.debug("removing stream handler"),this.listeners.delete(n))return await this.updateStreamer();t.warn("attempted to remove non-existent stream handler")})},5e3)}async updateStreamer(){var a,i;if(this.closed)return;const{instrumentation:{L:n},core:t}=this.props,r=new Set;if(this.listeners.forEach(o=>o.keys.forEach(c=>r.add(c))),r.size===0){n.info("no keys to stream, closing streamer"),(a=this.streamer)==null||a.close(),this.streamerRunLoop!=null&&await this.streamerRunLoop,this.streamer=null,n.info("streamer closed successfully");return}const s=Array.from(r);if(w.F.primitiveArrays(s,((i=this.streamer)==null?void 0:i.keys)??[])===w.F.EQUAL){n.debug("streamer keys unchanged",{keys:s});return}this.streamer==null&&(n.info("creating new streamer",{keys:s}),this.streamer=await t.openStreamer(s),this.streamerRunLoop=this.runStreamer(this.streamer)),n.debug("updating streamer",{prev:this.streamer.keys,next:s});try{await this.streamer.update(s)}catch(o){throw n.error("failed to update streamer",{error:o}),o}}async runStreamer(n){const{cache:t,instrumentation:{L:r}}=this.props;try{for await(const s of n){const a=[];for(const i of s.keys){const o=s.get(i),c=t.get(i),u=c.writeDynamic(o.series);a.push(new on(c.channel,u))}this.listeners.forEach((i,o)=>{if(!i.valid)return;const c=a.filter(d=>i.keys.includes(d.channel.key));if(c.length===0)return;const u=Object.fromEntries(c.map(d=>[d.channel.key,d]));o(u)})}}catch(s){throw r.error("streamer run loop failed",{error:s},!0),s}}async close(){var n;(n=this.streamer)==null||n.close(),this.streamerRunLoop!=null&&await this.streamerRunLoop,this.closed=!0}}class uo{constructor(){h(this,"key",w.Rt.create())}async retrieveChannel(){return null}async read(){return{}}async stream(){return async()=>{}}async close(){}}class ho{constructor({instrumentation:n,core:t}){h(this,"key",w.Rt.create());h(this,"ins");h(this,"cache");h(this,"reader");h(this,"streamer");h(this,"channelRetriever");this.ins=n??y.g.NOOP,this.channelRetriever=t.channels.createDebouncedBatchRetriever(10),this.cache=new oo({channelRetriever:this.channelRetriever,instrumentation:this.ins.child("cache")}),this.reader=new lo({cache:this.cache,readRemote:async(r,s)=>await t.read(r,s),instrumentation:this.ins.child("reader")}),this.streamer=new co({cache:this.cache,core:t,instrumentation:this.ins.child("streamer")})}async retrieveChannel(n){const t=await this.channelRetriever.retrieve([n]);if(t.length===0)throw new y.ie(`channel ${n} not found`);return t[0]}async read(n,t){return await this.reader.read(n,t)}async stream(n,t){return await this.streamer.stream(n,t)}async close(){this.ins.L.info("closing client",{key:this.key}),await this.streamer.close(),this.cache.close()}}const Er=f.z.object({}),ce=class ce extends y.Composite{constructor(){super(...arguments);h(this,"schema",ce.stateZ);h(this,"prevClient",null)}async afterUpdate(t){const r=Oe(t),s=Ze(t,"telem");if(this.internal.instrumentation=s.child("provider"),!(r!==this.prevClient))return;this.prevClient=r;const i=r==null?new uo:new ho({core:r,instrumentation:s}),o=la(i),c=new ca(o);ha(t,c)}};h(ce,"TYPE","telem.Provider"),h(ce,"stateZ",Er);let Nt=ce;const wa={[Nt.TYPE]:Nt},fo=Object.freeze(Object.defineProperty({__proto__:null,AbstractSink:Ln,AbstractSource:H,Base:zn,BaseProvider:Nt,BooleanStatus:Ot,ChannelData:ge,ColorGradient:Zt,CompoundTelemFactory:Sr,Context:ca,FixedColorSource:xe,FixedNumber:we,FixedString:be,IterativeSeries:ye,Mean:Dt,MultiSourceTransformer:Zs,NoopFactory:Ls,PipelineFactory:gr,REGISTRY:wa,RemoteFactory:Bs,RollingAverage:$t,ScaleNumber:It,SetPoint:zt,SinkPipeline:fe,SourcePipeline:de,StaticFactory:Hs,StreamChannelData:me,StreamChannelValue:pe,StringifyNumber:At,TransformerFactory:Ks,UnarySinkTransformer:Is,UnarySourceTransformer:wt,WithinBounds:Lt,booleanSinkSpecZ:Yn,booleanSinkTransformerSpecZ:Ai,booleanSourceSpecZ:cr,booleanSourceTransformerSpecZ:$i,booleanStatus:Vi,booleanStatusProps:ea,channelData:Gs,colorGradient:aa,colorGradientProps:sa,colorSourceSpecZ:ur,connectionZ:fr,createFactory:la,fixedArray:Ui,fixedColor:Fi,fixedColorSourcePropsZ:Vs,fixedNumber:Gi,fixedNumberPropsZ:js,fixedSeriesPropsZ:br,fixedString:_i,fixedStringPropsZ:Ws,iterativeArray:Bi,iterativeSeriesPropsZ:qs,mean:Wi,noopBooleanSinkSpec:Pn,noopBooleanSourceSpec:or,noopColorSourceSpec:kn,noopNumericSinkSpec:ks,noopNumericSourceSpec:Rs,noopSeriesSourceSpec:zs,noopStatusSourceSpec:lr,noopStringSourceSpec:Ys,numberSinkSpecZ:$s,numberSourceSpecZ:As,providerStateZ:Er,rollingAverage:ra,rollingAverageProps:Tr,scaleNumber:oa,scaleNumberProps:ia,seriesSourceSpecZ:sn,setContext:ha,setpoint:Js,sinkPipeline:Us,sinkPipelinePropsZ:mr,sinkSpecZ:Rn,sinkTransformerSpecZ:Os,sourcePipeline:Ns,sourcePipelinePropsZ:pr,sourceSpecZ:ut,sourceTransformerSpecZ:Ds,specZ:Ae,statusSourceSpecZ:hr,streamChannelData:_s,streamChannelValue:Fs,streamChannelValuePropsZ:yr,stringSourceSpecZ:dr,stringifyNumber:na,stringifyNumberProps:vr,useChildContext:da,useContext:Dn,useSink:$e,useSource:j,withinBounds:Qs,withinBoundsProps:xr},Symbol.toStringTag,{value:"Module"})),ba=f.z.object({key:f.z.string(),size:f.z.number(),order:f.z.number(),loc:l.K.outer});f.z.record(ba);const pt=(e,n)=>Object.values(n).filter(({loc:t})=>t===e).sort((t,r)=>r.order-t.order),po=(e,n,t)=>{const r=n[e];if(r==null)return l.G.ZERO;const s=l.K.construct(r.loc),a=pt(s,n),i=l.K.construct(l.g.swap(l.K.direction(s))),o=pt(i,n),c=a.findIndex(({key:p})=>p===e),u=a.slice(0,c).reduce((p,{size:g})=>p+g,0),d=o.reduce((p,{size:g})=>p+g,0);switch(s){case"left":return l.G.translate(l.Mo.topLeft(t),[u,d]);case"right":return l.G.translate(l.Mo.topRight(t),[u-r.size,d]);case"top":return l.G.translate(l.Mo.topLeft(t),[d,u]);default:return l.G.translate(l.Mo.bottomLeft(t),[d,-u-r.size])}},go=(e,n)=>{const t=pt("left",e),r=pt("right",e),s=pt("top",e),a=pt("bottom",e),i=t.reduce((d,{size:p})=>d+p,0),o=r.reduce((d,{size:p})=>d+p,0),c=s.reduce((d,{size:p})=>d+p,0),u=a.reduce((d,{size:p})=>d+p,0);return l.Mo.construct(l.G.translate(l.Mo.topLeft(n),{x:i,y:c}),l.Mo.width(n)-i-o,l.Mo.height(n)-c-u)};function We(e,n){return e==null||n==null?NaN:e<n?-1:e>n?1:e>=n?0:NaN}function mo(e,n){return e==null||n==null?NaN:n<e?-1:n>e?1:n>=e?0:NaN}function Mr(e){let n,t,r;e.length!==2?(n=We,t=(o,c)=>We(e(o),c),r=(o,c)=>e(o)-c):(n=e===We||e===mo?e:yo,t=e,r=e);function s(o,c,u=0,d=o.length){if(u<d){if(n(c,c)!==0)return d;do{const p=u+d>>>1;t(o[p],c)<0?u=p+1:d=p}while(u<d)}return u}function a(o,c,u=0,d=o.length){if(u<d){if(n(c,c)!==0)return d;do{const p=u+d>>>1;t(o[p],c)<=0?u=p+1:d=p}while(u<d)}return u}function i(o,c,u=0,d=o.length){const p=s(o,c,u,d-1);return p>u&&r(o[p-1],c)>-r(o[p],c)?p-1:p}return{left:s,center:i,right:a}}function yo(){return 0}function wo(e){return e===null?NaN:+e}const bo=Mr(We),xo=bo.right;Mr(wo).center;const vo=Math.sqrt(50),To=Math.sqrt(10),So=Math.sqrt(2);function ln(e,n,t){const r=(n-e)/Math.max(0,t),s=Math.floor(Math.log10(r)),a=r/Math.pow(10,s),i=a>=vo?10:a>=To?5:a>=So?2:1;let o,c,u;return s<0?(u=Math.pow(10,-s)/i,o=Math.round(e*u),c=Math.round(n*u),o/u<e&&++o,c/u>n&&--c,u=-u):(u=Math.pow(10,s)*i,o=Math.round(e/u),c=Math.round(n/u),o*u<e&&++o,c*u>n&&--c),c<o&&.5<=t&&t<2?ln(e,n,t*2):[o,c,u]}function Co(e,n,t){if(n=+n,e=+e,t=+t,!(t>0))return[];if(e===n)return[e];const r=n<e,[s,a,i]=r?ln(n,e,t):ln(e,n,t);if(!(a>=s))return[];const o=a-s+1,c=new Array(o);if(r)if(i<0)for(let u=0;u<o;++u)c[u]=(a-u)/-i;else for(let u=0;u<o;++u)c[u]=(a-u)*i;else if(i<0)for(let u=0;u<o;++u)c[u]=(s+u)/-i;else for(let u=0;u<o;++u)c[u]=(s+u)*i;return c}function Xn(e,n,t){return n=+n,e=+e,t=+t,ln(e,n,t)[2]}function Kn(e,n,t){n=+n,e=+e,t=+t;const r=n<e,s=r?Xn(n,e,t):Xn(e,n,t);return(r?-1:1)*(s<0?1/-s:s)}function xa(e,n){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(n).domain(e);break}return this}function Pr(e,n,t){e.prototype=n.prototype=t,t.constructor=e}function va(e,n){var t=Object.create(e.prototype);for(var r in n)t[r]=n[r];return t}function Ie(){}var ve=.7,cn=1/ve,Yt="\\s*([+-]?\\d+)\\s*",Te="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Eo=/^#([0-9a-f]{3,8})$/,Mo=new RegExp(`^rgb\\(${Yt},${Yt},${Yt}\\)$`),Po=new RegExp(`^rgb\\(${Q},${Q},${Q}\\)$`),ko=new RegExp(`^rgba\\(${Yt},${Yt},${Yt},${Te}\\)$`),Ro=new RegExp(`^rgba\\(${Q},${Q},${Q},${Te}\\)$`),Yo=new RegExp(`^hsl\\(${Te},${Q},${Q}\\)$`),zo=new RegExp(`^hsla\\(${Te},${Q},${Q},${Te}\\)$`),jr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Pr(Ie,Ut,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Wr,formatHex:Wr,formatHex8:Lo,formatHsl:Do,formatRgb:Vr,toString:Vr});function Wr(){return this.rgb().formatHex()}function Lo(){return this.rgb().formatHex8()}function Do(){return Ta(this).formatHsl()}function Vr(){return this.rgb().formatRgb()}function Ut(e){var n,t;return e=(e+"").trim().toLowerCase(),(n=Eo.exec(e))?(t=n[1].length,n=parseInt(n[1],16),t===6?Xr(n):t===3?new B(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):t===8?_e(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):t===4?_e(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=Mo.exec(e))?new B(n[1],n[2],n[3],1):(n=Po.exec(e))?new B(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=ko.exec(e))?_e(n[1],n[2],n[3],n[4]):(n=Ro.exec(e))?_e(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Yo.exec(e))?Qr(n[1],n[2]/100,n[3]/100,1):(n=zo.exec(e))?Qr(n[1],n[2]/100,n[3]/100,n[4]):jr.hasOwnProperty(e)?Xr(jr[e]):e==="transparent"?new B(NaN,NaN,NaN,0):null}function Xr(e){return new B(e>>16&255,e>>8&255,e&255,1)}function _e(e,n,t,r){return r<=0&&(e=n=t=NaN),new B(e,n,t,r)}function Oo(e){return e instanceof Ie||(e=Ut(e)),e?(e=e.rgb(),new B(e.r,e.g,e.b,e.opacity)):new B}function Jn(e,n,t,r){return arguments.length===1?Oo(e):new B(e,n,t,r??1)}function B(e,n,t,r){this.r=+e,this.g=+n,this.b=+t,this.opacity=+r}Pr(B,Jn,va(Ie,{brighter(e){return e=e==null?cn:Math.pow(cn,e),new B(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ve:Math.pow(ve,e),new B(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new B(mt(this.r),mt(this.g),mt(this.b),un(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Kr,formatHex:Kr,formatHex8:Ao,formatRgb:Jr,toString:Jr}));function Kr(){return`#${gt(this.r)}${gt(this.g)}${gt(this.b)}`}function Ao(){return`#${gt(this.r)}${gt(this.g)}${gt(this.b)}${gt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jr(){const e=un(this.opacity);return`${e===1?"rgb(":"rgba("}${mt(this.r)}, ${mt(this.g)}, ${mt(this.b)}${e===1?")":`, ${e})`}`}function un(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mt(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function gt(e){return e=mt(e),(e<16?"0":"")+e.toString(16)}function Qr(e,n,t,r){return r<=0?e=n=t=NaN:t<=0||t>=1?e=n=NaN:n<=0&&(e=NaN),new V(e,n,t,r)}function Ta(e){if(e instanceof V)return new V(e.h,e.s,e.l,e.opacity);if(e instanceof Ie||(e=Ut(e)),!e)return new V;if(e instanceof V)return e;e=e.rgb();var n=e.r/255,t=e.g/255,r=e.b/255,s=Math.min(n,t,r),a=Math.max(n,t,r),i=NaN,o=a-s,c=(a+s)/2;return o?(n===a?i=(t-r)/o+(t<r)*6:t===a?i=(r-n)/o+2:i=(n-t)/o+4,o/=c<.5?a+s:2-a-s,i*=60):o=c>0&&c<1?0:i,new V(i,o,c,e.opacity)}function $o(e,n,t,r){return arguments.length===1?Ta(e):new V(e,n,t,r??1)}function V(e,n,t,r){this.h=+e,this.s=+n,this.l=+t,this.opacity=+r}Pr(V,$o,va(Ie,{brighter(e){return e=e==null?cn:Math.pow(cn,e),new V(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ve:Math.pow(ve,e),new V(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,t=this.l,r=t+(t<.5?t:1-t)*n,s=2*t-r;return new B(In(e>=240?e-240:e+120,s,r),In(e,s,r),In(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new V(ts(this.h),Fe(this.s),Fe(this.l),un(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=un(this.opacity);return`${e===1?"hsl(":"hsla("}${ts(this.h)}, ${Fe(this.s)*100}%, ${Fe(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ts(e){return e=(e||0)%360,e<0?e+360:e}function Fe(e){return Math.max(0,Math.min(1,e||0))}function In(e,n,t){return(e<60?n+(t-n)*e/60:e<180?t:e<240?n+(t-n)*(240-e)/60:n)*255}const kr=e=>()=>e;function Zo(e,n){return function(t){return e+t*n}}function Io(e,n,t){return e=Math.pow(e,t),n=Math.pow(n,t)-e,t=1/t,function(r){return Math.pow(e+r*n,t)}}function No(e){return(e=+e)==1?Sa:function(n,t){return t-n?Io(n,t,e):kr(isNaN(n)?t:n)}}function Sa(e,n){var t=n-e;return t?Zo(e,t):kr(isNaN(e)?n:e)}const Qn=function e(n){var t=No(n);function r(s,a){var i=t((s=Jn(s)).r,(a=Jn(a)).r),o=t(s.g,a.g),c=t(s.b,a.b),u=Sa(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=o(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r}(1);function Uo(e,n){n||(n=[]);var t=e?Math.min(n.length,e.length):0,r=n.slice(),s;return function(a){for(s=0;s<t;++s)r[s]=e[s]*(1-a)+n[s]*a;return r}}function Bo(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Go(e,n){var t=n?n.length:0,r=e?Math.min(t,e.length):0,s=new Array(r),a=new Array(t),i;for(i=0;i<r;++i)s[i]=Rr(e[i],n[i]);for(;i<t;++i)a[i]=n[i];return function(o){for(i=0;i<r;++i)a[i]=s[i](o);return a}}function _o(e,n){var t=new Date;return e=+e,n=+n,function(r){return t.setTime(e*(1-r)+n*r),t}}function Se(e,n){return e=+e,n=+n,function(t){return e*(1-t)+n*t}}function Fo(e,n){var t={},r={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?t[s]=Rr(e[s],n[s]):r[s]=n[s];return function(a){for(s in t)r[s]=t[s](a);return r}}var tr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Nn=new RegExp(tr.source,"g");function Ho(e){return function(){return e}}function qo(e){return function(n){return e(n)+""}}function Ca(e,n){var t=tr.lastIndex=Nn.lastIndex=0,r,s,a,i=-1,o=[],c=[];for(e=e+"",n=n+"";(r=tr.exec(e))&&(s=Nn.exec(n));)(a=s.index)>t&&(a=n.slice(t,a),o[i]?o[i]+=a:o[++i]=a),(r=r[0])===(s=s[0])?o[i]?o[i]+=s:o[++i]=s:(o[++i]=null,c.push({i,x:Se(r,s)})),t=Nn.lastIndex;return t<n.length&&(a=n.slice(t),o[i]?o[i]+=a:o[++i]=a),o.length<2?c[0]?qo(c[0].x):Ho(n):(n=c.length,function(u){for(var d=0,p;d<n;++d)o[(p=c[d]).i]=p.x(u);return o.join("")})}function Rr(e,n){var t=typeof n,r;return n==null||t==="boolean"?kr(n):(t==="number"?Se:t==="string"?(r=Ut(n))?(n=r,Qn):Ca:n instanceof Ut?Qn:n instanceof Date?_o:Bo(n)?Uo:Array.isArray(n)?Go:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Fo:Se)(e,n)}function jo(e,n){return e=+e,n=+n,function(t){return Math.round(e*(1-t)+n*t)}}function Wo(e){return function(){return e}}function Vo(e){return+e}var es=[0,1];function Et(e){return e}function er(e,n){return(n-=e=+e)?function(t){return(t-e)/n}:Wo(isNaN(n)?NaN:.5)}function Xo(e,n){var t;return e>n&&(t=e,e=n,n=t),function(r){return Math.max(e,Math.min(n,r))}}function Ko(e,n,t){var r=e[0],s=e[1],a=n[0],i=n[1];return s<r?(r=er(s,r),a=t(i,a)):(r=er(r,s),a=t(a,i)),function(o){return a(r(o))}}function Jo(e,n,t){var r=Math.min(e.length,n.length)-1,s=new Array(r),a=new Array(r),i=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),n=n.slice().reverse());++i<r;)s[i]=er(e[i],e[i+1]),a[i]=t(n[i],n[i+1]);return function(o){var c=xo(e,o,1,r)-1;return a[c](s[c](o))}}function Ea(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Qo(){var e=es,n=es,t=Rr,r,s,a,i=Et,o,c,u;function d(){var g=Math.min(e.length,n.length);return i!==Et&&(i=Xo(e[0],e[g-1])),o=g>2?Jo:Ko,c=u=null,p}function p(g){return g==null||isNaN(g=+g)?a:(c||(c=o(e.map(r),n,t)))(r(i(g)))}return p.invert=function(g){return i(s((u||(u=o(n,e.map(r),Se)))(g)))},p.domain=function(g){return arguments.length?(e=Array.from(g,Vo),d()):e.slice()},p.range=function(g){return arguments.length?(n=Array.from(g),d()):n.slice()},p.rangeRound=function(g){return n=Array.from(g),t=jo,d()},p.clamp=function(g){return arguments.length?(i=g?!0:Et,d()):i!==Et},p.interpolate=function(g){return arguments.length?(t=g,d()):t},p.unknown=function(g){return arguments.length?(a=g,p):a},function(g,b){return r=g,s=b,d()}}function Ma(){return Qo()(Et,Et)}function tl(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function hn(e,n){if((t=(e=n?e.toExponential(n-1):e.toExponential()).indexOf("e"))<0)return null;var t,r=e.slice(0,t);return[r.length>1?r[0]+r.slice(2):r,+e.slice(t+1)]}function Bt(e){return e=hn(Math.abs(e)),e?e[1]:NaN}function el(e,n){return function(t,r){for(var s=t.length,a=[],i=0,o=e[0],c=0;s>0&&o>0&&(c+o+1>r&&(o=Math.max(1,r-c)),a.push(t.substring(s-=o,s+o)),!((c+=o+1)>r));)o=e[i=(i+1)%e.length];return a.reverse().join(n)}}function nl(e){return function(n){return n.replace(/[0-9]/g,function(t){return e[+t]})}}var rl=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function dn(e){if(!(n=rl.exec(e)))throw new Error("invalid format: "+e);var n;return new Yr({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}dn.prototype=Yr.prototype;function Yr(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Yr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function sl(e){t:for(var n=e.length,t=1,r=-1,s;t<n;++t)switch(e[t]){case".":r=s=t;break;case"0":r===0&&(r=t),s=t;break;default:if(!+e[t])break t;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(s+1):e}var Pa;function al(e,n){var t=hn(e,n);if(!t)return e+"";var r=t[0],s=t[1],a=s-(Pa=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,i=r.length;return a===i?r:a>i?r+new Array(a-i+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+hn(e,Math.max(0,n+a-1))[0]}function ns(e,n){var t=hn(e,n);if(!t)return e+"";var r=t[0],s=t[1];return s<0?"0."+new Array(-s).join("0")+r:r.length>s+1?r.slice(0,s+1)+"."+r.slice(s+1):r+new Array(s-r.length+2).join("0")}const rs={"%":(e,n)=>(e*100).toFixed(n),b:e=>Math.round(e).toString(2),c:e=>e+"",d:tl,e:(e,n)=>e.toExponential(n),f:(e,n)=>e.toFixed(n),g:(e,n)=>e.toPrecision(n),o:e=>Math.round(e).toString(8),p:(e,n)=>ns(e*100,n),r:ns,s:al,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ss(e){return e}var as=Array.prototype.map,is=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function il(e){var n=e.grouping===void 0||e.thousands===void 0?ss:el(as.call(e.grouping,Number),e.thousands+""),t=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?ss:nl(as.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(p){p=dn(p);var g=p.fill,b=p.align,v=p.sign,S=p.symbol,C=p.zero,Y=p.width,D=p.comma,P=p.precision,L=p.trim,$=p.type;$==="n"?(D=!0,$="g"):rs[$]||(P===void 0&&(P=12),L=!0,$="g"),(C||g==="0"&&b==="=")&&(C=!0,g="0",b="=");var T=S==="$"?t:S==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",Z=S==="$"?r:/[%p]/.test($)?i:"",ht=rs[$],An=/[defgprs%]/.test($);P=P===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,P)):Math.max(0,Math.min(20,P));function Be(M){var et=T,N=Z,ot,Ge,vt;if($==="c")N=ht(M)+N,M="";else{M=+M;var Tt=M<0||1/M<0;if(M=isNaN(M)?c:ht(Math.abs(M),P),L&&(M=sl(M)),Tt&&+M==0&&v!=="+"&&(Tt=!1),et=(Tt?v==="("?v:o:v==="-"||v==="("?"":v)+et,N=($==="s"?is[8+Pa/3]:"")+N+(Tt&&v==="("?")":""),An){for(ot=-1,Ge=M.length;++ot<Ge;)if(vt=M.charCodeAt(ot),48>vt||vt>57){N=(vt===46?s+M.slice(ot+1):M.slice(ot))+N,M=M.slice(0,ot);break}}}D&&!C&&(M=n(M,1/0));var St=et.length+M.length+N.length,W=St<Y?new Array(Y-St+1).join(g):"";switch(D&&C&&(M=n(W+M,W.length?Y-N.length:1/0),W=""),b){case"<":M=et+M+N+W;break;case"=":M=et+W+M+N;break;case"^":M=W.slice(0,St=W.length>>1)+et+M+N+W.slice(St);break;default:M=W+et+M+N;break}return a(M)}return Be.toString=function(){return p+""},Be}function d(p,g){var b=u((p=dn(p),p.type="f",p)),v=Math.max(-8,Math.min(8,Math.floor(Bt(g)/3)))*3,S=Math.pow(10,-v),C=is[8+v/3];return function(Y){return b(S*Y)+C}}return{format:u,formatPrefix:d}}var He,ka,Ra;ol({thousands:",",grouping:[3],currency:["$",""]});function ol(e){return He=il(e),ka=He.format,Ra=He.formatPrefix,He}function ll(e){return Math.max(0,-Bt(Math.abs(e)))}function cl(e,n){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Bt(n)/3)))*3-Bt(Math.abs(e)))}function ul(e,n){return e=Math.abs(e),n=Math.abs(n)-e,Math.max(0,Bt(n)-Bt(e))+1}function hl(e,n,t,r){var s=Kn(e,n,t),a;switch(r=dn(r??",f"),r.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(n));return r.precision==null&&!isNaN(a=cl(s,i))&&(r.precision=a),Ra(r,i)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=ul(s,Math.max(Math.abs(e),Math.abs(n))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=ll(s))&&(r.precision=a-(r.type==="%")*2);break}}return ka(r)}function dl(e){var n=e.domain;return e.ticks=function(t){var r=n();return Co(r[0],r[r.length-1],t??10)},e.tickFormat=function(t,r){var s=n();return hl(s[0],s[s.length-1],t??10,r)},e.nice=function(t){t==null&&(t=10);var r=n(),s=0,a=r.length-1,i=r[s],o=r[a],c,u,d=10;for(o<i&&(u=i,i=o,o=u,u=s,s=a,a=u);d-- >0;){if(u=Xn(i,o,t),u===c)return r[s]=i,r[a]=o,n(r);if(u>0)i=Math.floor(i/u)*u,o=Math.ceil(o/u)*u;else if(u<0)i=Math.ceil(i*u)/u,o=Math.floor(o*u)/u;else break;c=u}return e},e}function Ya(){var e=Ma();return e.copy=function(){return Ea(e,Ya())},xa.apply(e,arguments),dl(e)}function fl(e,n){e=e.slice();var t=0,r=e.length-1,s=e[t],a=e[r],i;return a<s&&(i=t,t=r,r=i,i=s,s=a,a=i),e[t]=n.floor(s),e[r]=n.ceil(a),e}const Un=new Date,Bn=new Date;function O(e,n,t,r){function s(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return s.floor=a=>(e(a=new Date(+a)),a),s.ceil=a=>(e(a=new Date(a-1)),n(a,1),e(a),a),s.round=a=>{const i=s(a),o=s.ceil(a);return a-i<o-a?i:o},s.offset=(a,i)=>(n(a=new Date(+a),i==null?1:Math.floor(i)),a),s.range=(a,i,o)=>{const c=[];if(a=s.ceil(a),o=o==null?1:Math.floor(o),!(a<i)||!(o>0))return c;let u;do c.push(u=new Date(+a)),n(a,o),e(a);while(u<a&&a<i);return c},s.filter=a=>O(i=>{if(i>=i)for(;e(i),!a(i);)i.setTime(i-1)},(i,o)=>{if(i>=i)if(o<0)for(;++o<=0;)for(;n(i,-1),!a(i););else for(;--o>=0;)for(;n(i,1),!a(i););}),t&&(s.count=(a,i)=>(Un.setTime(+a),Bn.setTime(+i),e(Un),e(Bn),Math.floor(t(Un,Bn))),s.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?s.filter(r?i=>r(i)%a===0:i=>s.count(0,i)%a===0):s)),s}const fn=O(()=>{},(e,n)=>{e.setTime(+e+n)},(e,n)=>n-e);fn.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?O(n=>{n.setTime(Math.floor(n/e)*e)},(n,t)=>{n.setTime(+n+t*e)},(n,t)=>(t-n)/e):fn);fn.range;const nt=1e3,q=nt*60,rt=q*60,at=rt*24,zr=at*7,os=at*30,Gn=at*365,Mt=O(e=>{e.setTime(e-e.getMilliseconds())},(e,n)=>{e.setTime(+e+n*nt)},(e,n)=>(n-e)/nt,e=>e.getUTCSeconds());Mt.range;const Lr=O(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*nt)},(e,n)=>{e.setTime(+e+n*q)},(e,n)=>(n-e)/q,e=>e.getMinutes());Lr.range;const pl=O(e=>{e.setUTCSeconds(0,0)},(e,n)=>{e.setTime(+e+n*q)},(e,n)=>(n-e)/q,e=>e.getUTCMinutes());pl.range;const Dr=O(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*nt-e.getMinutes()*q)},(e,n)=>{e.setTime(+e+n*rt)},(e,n)=>(n-e)/rt,e=>e.getHours());Dr.range;const gl=O(e=>{e.setUTCMinutes(0,0,0)},(e,n)=>{e.setTime(+e+n*rt)},(e,n)=>(n-e)/rt,e=>e.getUTCHours());gl.range;const Ne=O(e=>e.setHours(0,0,0,0),(e,n)=>e.setDate(e.getDate()+n),(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*q)/at,e=>e.getDate()-1);Ne.range;const Or=O(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/at,e=>e.getUTCDate()-1);Or.range;const ml=O(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/at,e=>Math.floor(e/at));ml.range;function bt(e){return O(n=>{n.setDate(n.getDate()-(n.getDay()+7-e)%7),n.setHours(0,0,0,0)},(n,t)=>{n.setDate(n.getDate()+t*7)},(n,t)=>(t-n-(t.getTimezoneOffset()-n.getTimezoneOffset())*q)/zr)}const On=bt(0),pn=bt(1),yl=bt(2),wl=bt(3),Gt=bt(4),bl=bt(5),xl=bt(6);On.range;pn.range;yl.range;wl.range;Gt.range;bl.range;xl.range;function xt(e){return O(n=>{n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-e)%7),n.setUTCHours(0,0,0,0)},(n,t)=>{n.setUTCDate(n.getUTCDate()+t*7)},(n,t)=>(t-n)/zr)}const za=xt(0),gn=xt(1),vl=xt(2),Tl=xt(3),_t=xt(4),Sl=xt(5),Cl=xt(6);za.range;gn.range;vl.range;Tl.range;_t.range;Sl.range;Cl.range;const Ar=O(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,n)=>{e.setMonth(e.getMonth()+n)},(e,n)=>n.getMonth()-e.getMonth()+(n.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Ar.range;const El=O(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCMonth(e.getUTCMonth()+n)},(e,n)=>n.getUTCMonth()-e.getUTCMonth()+(n.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());El.range;const it=O(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n)},(e,n)=>n.getFullYear()-e.getFullYear(),e=>e.getFullYear());it.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:O(n=>{n.setFullYear(Math.floor(n.getFullYear()/e)*e),n.setMonth(0,1),n.setHours(0,0,0,0)},(n,t)=>{n.setFullYear(n.getFullYear()+t*e)});it.range;const yt=O(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n)},(e,n)=>n.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());yt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:O(n=>{n.setUTCFullYear(Math.floor(n.getUTCFullYear()/e)*e),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},(n,t)=>{n.setUTCFullYear(n.getUTCFullYear()+t*e)});yt.range;function Ml(e,n,t,r,s,a){const i=[[Mt,1,nt],[Mt,5,5*nt],[Mt,15,15*nt],[Mt,30,30*nt],[a,1,q],[a,5,5*q],[a,15,15*q],[a,30,30*q],[s,1,rt],[s,3,3*rt],[s,6,6*rt],[s,12,12*rt],[r,1,at],[r,2,2*at],[t,1,zr],[n,1,os],[n,3,3*os],[e,1,Gn]];function o(u,d,p){const g=d<u;g&&([u,d]=[d,u]);const b=p&&typeof p.range=="function"?p:c(u,d,p),v=b?b.range(u,+d+1):[];return g?v.reverse():v}function c(u,d,p){const g=Math.abs(d-u)/p,b=Mr(([,,C])=>C).right(i,g);if(b===i.length)return e.every(Kn(u/Gn,d/Gn,p));if(b===0)return fn.every(Math.max(Kn(u,d,p),1));const[v,S]=i[g/i[b-1][2]<i[b][2]/g?b-1:b];return v.every(S)}return[o,c]}const[Pl,kl]=Ml(it,Ar,On,Ne,Dr,Lr);function _n(e){if(0<=e.y&&e.y<100){var n=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return n.setFullYear(e.y),n}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Fn(e){if(0<=e.y&&e.y<100){var n=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return n.setUTCFullYear(e.y),n}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Kt(e,n,t){return{y:e,m:n,d:t,H:0,M:0,S:0,L:0}}function Rl(e){var n=e.dateTime,t=e.date,r=e.time,s=e.periods,a=e.days,i=e.shortDays,o=e.months,c=e.shortMonths,u=Jt(s),d=Qt(s),p=Jt(a),g=Qt(a),b=Jt(i),v=Qt(i),S=Jt(o),C=Qt(o),Y=Jt(c),D=Qt(c),P={a:Tt,A:St,b:W,B:mi,c:null,d:fs,e:fs,f:Jl,g:lc,G:uc,H:Vl,I:Xl,j:Kl,L:La,m:Ql,M:tc,p:yi,q:wi,Q:ms,s:ys,S:ec,u:nc,U:rc,V:sc,w:ac,W:ic,x:null,X:null,y:oc,Y:cc,Z:hc,"%":gs},L={a:bi,A:xi,b:vi,B:Ti,c:null,d:ps,e:ps,f:gc,g:Ec,G:Pc,H:dc,I:fc,j:pc,L:Oa,m:mc,M:yc,p:Si,q:Ci,Q:ms,s:ys,S:wc,u:bc,U:xc,V:vc,w:Tc,W:Sc,x:null,X:null,y:Cc,Y:Mc,Z:kc,"%":gs},$={a:Be,A:M,b:et,B:N,c:ot,d:hs,e:hs,f:Hl,g:us,G:cs,H:ds,I:ds,j:Bl,L:Fl,m:Ul,M:Gl,p:An,q:Nl,Q:jl,s:Wl,S:_l,u:Ol,U:Al,V:$l,w:Dl,W:Zl,x:Ge,X:vt,y:us,Y:cs,Z:Il,"%":ql};P.x=T(t,P),P.X=T(r,P),P.c=T(n,P),L.x=T(t,L),L.X=T(r,L),L.c=T(n,L);function T(x,E){return function(k){var m=[],U=-1,z=0,_=x.length,F,dt,Fr;for(k instanceof Date||(k=new Date(+k));++U<_;)x.charCodeAt(U)===37&&(m.push(x.slice(z,U)),(dt=ls[F=x.charAt(++U)])!=null?F=x.charAt(++U):dt=F==="e"?" ":"0",(Fr=E[F])&&(F=Fr(k,dt)),m.push(F),z=U+1);return m.push(x.slice(z,U)),m.join("")}}function Z(x,E){return function(k){var m=Kt(1900,void 0,1),U=ht(m,x,k+="",0),z,_;if(U!=k.length)return null;if("Q"in m)return new Date(m.Q);if("s"in m)return new Date(m.s*1e3+("L"in m?m.L:0));if(E&&!("Z"in m)&&(m.Z=0),"p"in m&&(m.H=m.H%12+m.p*12),m.m===void 0&&(m.m="q"in m?m.q:0),"V"in m){if(m.V<1||m.V>53)return null;"w"in m||(m.w=1),"Z"in m?(z=Fn(Kt(m.y,0,1)),_=z.getUTCDay(),z=_>4||_===0?gn.ceil(z):gn(z),z=Or.offset(z,(m.V-1)*7),m.y=z.getUTCFullYear(),m.m=z.getUTCMonth(),m.d=z.getUTCDate()+(m.w+6)%7):(z=_n(Kt(m.y,0,1)),_=z.getDay(),z=_>4||_===0?pn.ceil(z):pn(z),z=Ne.offset(z,(m.V-1)*7),m.y=z.getFullYear(),m.m=z.getMonth(),m.d=z.getDate()+(m.w+6)%7)}else("W"in m||"U"in m)&&("w"in m||(m.w="u"in m?m.u%7:"W"in m?1:0),_="Z"in m?Fn(Kt(m.y,0,1)).getUTCDay():_n(Kt(m.y,0,1)).getDay(),m.m=0,m.d="W"in m?(m.w+6)%7+m.W*7-(_+5)%7:m.w+m.U*7-(_+6)%7);return"Z"in m?(m.H+=m.Z/100|0,m.M+=m.Z%100,Fn(m)):_n(m)}}function ht(x,E,k,m){for(var U=0,z=E.length,_=k.length,F,dt;U<z;){if(m>=_)return-1;if(F=E.charCodeAt(U++),F===37){if(F=E.charAt(U++),dt=$[F in ls?E.charAt(U++):F],!dt||(m=dt(x,k,m))<0)return-1}else if(F!=k.charCodeAt(m++))return-1}return m}function An(x,E,k){var m=u.exec(E.slice(k));return m?(x.p=d.get(m[0].toLowerCase()),k+m[0].length):-1}function Be(x,E,k){var m=b.exec(E.slice(k));return m?(x.w=v.get(m[0].toLowerCase()),k+m[0].length):-1}function M(x,E,k){var m=p.exec(E.slice(k));return m?(x.w=g.get(m[0].toLowerCase()),k+m[0].length):-1}function et(x,E,k){var m=Y.exec(E.slice(k));return m?(x.m=D.get(m[0].toLowerCase()),k+m[0].length):-1}function N(x,E,k){var m=S.exec(E.slice(k));return m?(x.m=C.get(m[0].toLowerCase()),k+m[0].length):-1}function ot(x,E,k){return ht(x,n,E,k)}function Ge(x,E,k){return ht(x,t,E,k)}function vt(x,E,k){return ht(x,r,E,k)}function Tt(x){return i[x.getDay()]}function St(x){return a[x.getDay()]}function W(x){return c[x.getMonth()]}function mi(x){return o[x.getMonth()]}function yi(x){return s[+(x.getHours()>=12)]}function wi(x){return 1+~~(x.getMonth()/3)}function bi(x){return i[x.getUTCDay()]}function xi(x){return a[x.getUTCDay()]}function vi(x){return c[x.getUTCMonth()]}function Ti(x){return o[x.getUTCMonth()]}function Si(x){return s[+(x.getUTCHours()>=12)]}function Ci(x){return 1+~~(x.getUTCMonth()/3)}return{format:function(x){var E=T(x+="",P);return E.toString=function(){return x},E},parse:function(x){var E=Z(x+="",!1);return E.toString=function(){return x},E},utcFormat:function(x){var E=T(x+="",L);return E.toString=function(){return x},E},utcParse:function(x){var E=Z(x+="",!0);return E.toString=function(){return x},E}}}var ls={"-":"",_:" ",0:"0"},A=/^\s*\d+/,Yl=/^%/,zl=/[\\^$*+?|[\]().{}]/g;function R(e,n,t){var r=e<0?"-":"",s=(r?-e:e)+"",a=s.length;return r+(a<t?new Array(t-a+1).join(n)+s:s)}function Ll(e){return e.replace(zl,"\\$&")}function Jt(e){return new RegExp("^(?:"+e.map(Ll).join("|")+")","i")}function Qt(e){return new Map(e.map((n,t)=>[n.toLowerCase(),t]))}function Dl(e,n,t){var r=A.exec(n.slice(t,t+1));return r?(e.w=+r[0],t+r[0].length):-1}function Ol(e,n,t){var r=A.exec(n.slice(t,t+1));return r?(e.u=+r[0],t+r[0].length):-1}function Al(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.U=+r[0],t+r[0].length):-1}function $l(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.V=+r[0],t+r[0].length):-1}function Zl(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.W=+r[0],t+r[0].length):-1}function cs(e,n,t){var r=A.exec(n.slice(t,t+4));return r?(e.y=+r[0],t+r[0].length):-1}function us(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),t+r[0].length):-1}function Il(e,n,t){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(t,t+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),t+r[0].length):-1}function Nl(e,n,t){var r=A.exec(n.slice(t,t+1));return r?(e.q=r[0]*3-3,t+r[0].length):-1}function Ul(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.m=r[0]-1,t+r[0].length):-1}function hs(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.d=+r[0],t+r[0].length):-1}function Bl(e,n,t){var r=A.exec(n.slice(t,t+3));return r?(e.m=0,e.d=+r[0],t+r[0].length):-1}function ds(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.H=+r[0],t+r[0].length):-1}function Gl(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.M=+r[0],t+r[0].length):-1}function _l(e,n,t){var r=A.exec(n.slice(t,t+2));return r?(e.S=+r[0],t+r[0].length):-1}function Fl(e,n,t){var r=A.exec(n.slice(t,t+3));return r?(e.L=+r[0],t+r[0].length):-1}function Hl(e,n,t){var r=A.exec(n.slice(t,t+6));return r?(e.L=Math.floor(r[0]/1e3),t+r[0].length):-1}function ql(e,n,t){var r=Yl.exec(n.slice(t,t+1));return r?t+r[0].length:-1}function jl(e,n,t){var r=A.exec(n.slice(t));return r?(e.Q=+r[0],t+r[0].length):-1}function Wl(e,n,t){var r=A.exec(n.slice(t));return r?(e.s=+r[0],t+r[0].length):-1}function fs(e,n){return R(e.getDate(),n,2)}function Vl(e,n){return R(e.getHours(),n,2)}function Xl(e,n){return R(e.getHours()%12||12,n,2)}function Kl(e,n){return R(1+Ne.count(it(e),e),n,3)}function La(e,n){return R(e.getMilliseconds(),n,3)}function Jl(e,n){return La(e,n)+"000"}function Ql(e,n){return R(e.getMonth()+1,n,2)}function tc(e,n){return R(e.getMinutes(),n,2)}function ec(e,n){return R(e.getSeconds(),n,2)}function nc(e){var n=e.getDay();return n===0?7:n}function rc(e,n){return R(On.count(it(e)-1,e),n,2)}function Da(e){var n=e.getDay();return n>=4||n===0?Gt(e):Gt.ceil(e)}function sc(e,n){return e=Da(e),R(Gt.count(it(e),e)+(it(e).getDay()===4),n,2)}function ac(e){return e.getDay()}function ic(e,n){return R(pn.count(it(e)-1,e),n,2)}function oc(e,n){return R(e.getFullYear()%100,n,2)}function lc(e,n){return e=Da(e),R(e.getFullYear()%100,n,2)}function cc(e,n){return R(e.getFullYear()%1e4,n,4)}function uc(e,n){var t=e.getDay();return e=t>=4||t===0?Gt(e):Gt.ceil(e),R(e.getFullYear()%1e4,n,4)}function hc(e){var n=e.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+R(n/60|0,"0",2)+R(n%60,"0",2)}function ps(e,n){return R(e.getUTCDate(),n,2)}function dc(e,n){return R(e.getUTCHours(),n,2)}function fc(e,n){return R(e.getUTCHours()%12||12,n,2)}function pc(e,n){return R(1+Or.count(yt(e),e),n,3)}function Oa(e,n){return R(e.getUTCMilliseconds(),n,3)}function gc(e,n){return Oa(e,n)+"000"}function mc(e,n){return R(e.getUTCMonth()+1,n,2)}function yc(e,n){return R(e.getUTCMinutes(),n,2)}function wc(e,n){return R(e.getUTCSeconds(),n,2)}function bc(e){var n=e.getUTCDay();return n===0?7:n}function xc(e,n){return R(za.count(yt(e)-1,e),n,2)}function Aa(e){var n=e.getUTCDay();return n>=4||n===0?_t(e):_t.ceil(e)}function vc(e,n){return e=Aa(e),R(_t.count(yt(e),e)+(yt(e).getUTCDay()===4),n,2)}function Tc(e){return e.getUTCDay()}function Sc(e,n){return R(gn.count(yt(e)-1,e),n,2)}function Cc(e,n){return R(e.getUTCFullYear()%100,n,2)}function Ec(e,n){return e=Aa(e),R(e.getUTCFullYear()%100,n,2)}function Mc(e,n){return R(e.getUTCFullYear()%1e4,n,4)}function Pc(e,n){var t=e.getUTCDay();return e=t>=4||t===0?_t(e):_t.ceil(e),R(e.getUTCFullYear()%1e4,n,4)}function kc(){return"+0000"}function gs(){return"%"}function ms(e){return+e}function ys(e){return Math.floor(+e/1e3)}var Ct,$a;Rc({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Rc(e){return Ct=Rl(e),$a=Ct.format,Ct.parse,Ct.utcFormat,Ct.utcParse,Ct}function Yc(e){return new Date(e)}function zc(e){return e instanceof Date?+e:+new Date(+e)}function Za(e,n,t,r,s,a,i,o,c,u){var d=Ma(),p=d.invert,g=d.domain,b=u(".%L"),v=u(":%S"),S=u("%I:%M"),C=u("%I %p"),Y=u("%a %d"),D=u("%b %d"),P=u("%B"),L=u("%Y");function $(T){return(c(T)<T?b:o(T)<T?v:i(T)<T?S:a(T)<T?C:r(T)<T?s(T)<T?Y:D:t(T)<T?P:L)(T)}return d.invert=function(T){return new Date(p(T))},d.domain=function(T){return arguments.length?g(Array.from(T,zc)):g().map(Yc)},d.ticks=function(T){var Z=g();return e(Z[0],Z[Z.length-1],T??10)},d.tickFormat=function(T,Z){return Z==null?$:u(Z)},d.nice=function(T){var Z=g();return(!T||typeof T.range!="function")&&(T=n(Z[0],Z[Z.length-1],T??10)),T?g(fl(Z,T)):d},d.copy=function(){return Ea(d,Za(e,n,t,r,s,a,i,o,c,u))},d}function Lc(){return xa.apply(Za(Pl,kl,it,Ar,On,Ne,Dr,Lr,Mt,$a).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}const $r=f.z.enum(["linear","time"]),Zr=f.z.object({tickSpacing:f.z.number().default(75),type:$r.optional().default("linear")}),nr=e=>{const n=Zr.parse(e);return Ac[n.type](n)};class Dc{constructor(n){h(this,"props");this.props=n}create({decimalToDataScale:n,size:t}){const r=[0,t],s=[new w.m(n.pos(0)).date(),new w.m(n.pos(1)).date()],a=Lc().domain(s).range(r);return a.ticks(Ia(t,this.props.tickSpacing)).map(o=>({label:this.tickLabel(o),position:a(o)}))}tickLabel(n){const t=new w.m(n).date();let r=`:${t.getSeconds()}`;if(t.getMilliseconds()!==0){const a=Math.round(t.getMilliseconds()).toString().padStart(3,"0").replace(/0+$/,"");r+=`.${a}`}return t.getSeconds()===0&&t.getMilliseconds()===0&&(r=`${t.getHours()}:${t.getMinutes().toString().padStart(2,"0")}`),r}}class Oc{constructor(n){h(this,"props");this.props=n}create({decimalToDataScale:n,size:t}){const r=[0,t],s=[n.pos(0),n.pos(1)],a=Ya().domain(s).range(r),i=Ia(t,this.props.tickSpacing);return a.ticks(i).map(c=>({label:this.tickLabel(c),position:a(c)}))}tickLabel(n){return n.toString()}}const Ia=(e,n)=>{const t=Math.floor(e/n);return t>0?t:1},Ac={linear:e=>new Oc(e),time:e=>new Dc(e)},Ir=Zr.extend({color:l.Color.z,type:$r.optional().default("linear"),font:f.z.string(),showGrid:f.z.boolean().optional().default(!0),location:l.K.outer,gridColor:l.Color.z}),K=4;class ws{constructor(n,t){h(this,"numberDims");h(this,"negativeWidth");h(this,"periodWidth");h(this,"colonWidth");this.numberDims=ft.dimensions("0",t,n),this.negativeWidth=ft.dimensions("-",t,n).width,this.periodWidth=ft.dimensions(".",t,n).width,this.colonWidth=ft.dimensions(":",t,n).width}get(n){const t={width:0,height:this.numberDims.height};let r=n.length;return n.includes(".")&&(t.width+=this.periodWidth,r-=1),n.startsWith("-")&&(t.width+=this.negativeWidth,r-=1),n.includes(":")&&(t.width+=this.colonWidth,r-=1),t.width+=r*this.numberDims.width,t}}let Na=class{constructor(n,t){h(this,"renderCtx");h(this,"state");h(this,"tickFactory");h(this,"dimensions");this.renderCtx=n,this.state=t,this.tickFactory=nr(this.state),this.dimensions=new ws(n.lower2d,t.font)}setState(n){this.state=y.prettyParse(Ir,n),this.tickFactory=nr(n),this.dimensions=new ws(this.renderCtx.lower2d,this.state.font)}render(n){const{lower2d:t}=this.renderCtx;switch(t.font=this.state.font,t.fillStyle=this.state.color.hex,t.lineWidth=1,this.state.location){case"left":return this.drawLeft(n);case"right":return this.drawRight(n);case"top":return this.drawTop(n);default:return this.drawBottom(n)}}drawBottom(n){const{lower2d:t}=this.renderCtx,{plot:r}=n,s=l.Mo.width(r),a=l.Mo.height(r),i=n.position,o=this.tickFactory.create({...n,size:s});return this.maybeDrawGrid(s,o,u=>[l.G.translate(i,"x",u.position),l.G.translate(i,{x:u.position,y:-a})]),t.strokeStyle=this.state.color.hex,this.drawLine(i,l.G.translate(i,"x",s)),{size:this.drawTicks(o,(u,d)=>{t.moveTo(i.x+d.position,i.y),t.lineTo(i.x+d.position,i.y+K),t.stroke(),t.fillText(d.label,i.x+d.position-u.width/2,i.y+5+u.height)}).height+K+6}}drawTop(n){const{lower2d:t}=this.renderCtx,{plot:r}=n,s=l.Mo.width(r),a=l.Mo.height(r),i=l.G.translate(n.position,"y",n.size),o=this.tickFactory.create({...n,size:s});return this.maybeDrawGrid(s,o,u=>[l.G.translate(i,"x",u.position),l.G.translate(i,{x:u.position,y:a})]),t.strokeStyle=this.state.color.hex,this.drawLine(i,l.G.translate(i,"x",s)),{size:this.drawTicks(o,(u,d)=>{t.moveTo(i.x+d.position,i.y),t.lineTo(i.x+d.position,i.y-K),t.stroke(),t.fillText(d.label,i.x+d.position-u.width/2,i.y-5-u.height)}).height+K}}drawLeft(n){const{lower2d:t}=this.renderCtx,{plot:r}=n,s=l.Mo.height(r),a=l.Mo.width(r),i=l.G.translate(n.position,"x",n.size),o=this.tickFactory.create({...n,size:s});return this.maybeDrawGrid(s,o,u=>[l.G.translate(i,"y",u.position),l.G.translate(i,{x:a,y:u.position})]),t.strokeStyle=this.state.color.hex,this.drawLine(i,l.G.translate(i,"y",s)),{size:this.drawTicks(o,(u,d)=>{t.moveTo(i.x,i.y+d.position),t.lineTo(i.x-K,i.y+d.position),t.stroke(),t.fillText(d.label,i.x-u.width-K*2,i.y+d.position+u.height/3)}).width+K*2}}drawRight(n){const{lower2d:t}=this.renderCtx,{plot:r}=n,s=l.Mo.height(r),a=l.Mo.width(r),i=n.position,o=this.tickFactory.create({...n,size:s});return this.maybeDrawGrid(s,o,u=>[l.G.translate(i,"y",u.position),l.G.translate(i,{x:-a,y:u.position})]),t.strokeStyle=this.state.color.hex,this.drawLine(i,l.G.translate(i,"y",s)),{size:this.drawTicks(o,(u,d)=>{t.moveTo(i.x,i.y+d.position),t.lineTo(i.x+K,i.y+d.position),t.stroke(),t.fillText(d.label,i.x+K+2,i.y+d.position+u.height/3)}).width+K*2}}drawLine(n,t){const{lower2d:r}=this.renderCtx;r.beginPath(),r.moveTo(...l.G.couple(n)),r.lineTo(...l.G.couple(t)),r.stroke()}drawTicks(n,t){let r=l._.ZERO;return n.forEach(s=>{const a=this.dimensions.get(s.label);r=l._.max([r,a]),t(a,s)}),r}maybeDrawGrid(n,t,r){const{showGrid:s,gridColor:a}=this.state;if(s){const i=l.H.construct(-1,1),o=l.H.construct(n-1,n+1);this.renderCtx.lower2d.strokeStyle=a.hex,t.filter(({position:c})=>!l.H.contains(i,c)&&!l.H.contains(o,c)).forEach(c=>this.drawLine(...r(c)))}}};const Ue=Ir.extend({bounds:l.H.bounds.optional(),autoBounds:f.z.object({lower:f.z.boolean().optional().default(!0),upper:f.z.boolean().optional().default(!0)}).or(f.z.boolean().optional().default(!0)),autoBoundPadding:f.z.number().optional(),autoBoundUpdateInterval:w.y$1.z.optional().default(w.y$1.seconds(10)),size:f.z.number().optional().default(0),label:f.z.string().optional().default(""),labelSize:f.z.number().optional().default(0)}).partial({color:!0,font:!0,gridColor:!0}),$c=2,Zc=7,Ua=(e,n)=>l.H.contains({lower:e-Zc,upper:e+$c},n),Ic=l.H.DECIMAL,bs=w.m.now(),Nc={lower:Number(bs.valueOf()),upper:Number(bs.add(w.y$1.HOUR).valueOf())},Ba=e=>e==="linear"?Ic:Nc,Uc=(e,n=.1,t)=>{const r=l.H.max(e.filter(l.H.isFinite));if(!l.H.isFinite(r))return Ba(t);const{lower:s,upper:a}=r;if(a===s)return{lower:s-1,upper:a+1};const i=(a-s)*n;return{lower:s-i,upper:a+i}},Bc=.01,Gc=.1;class Ga extends y.Composite{async afterUpdate(n){var r,s;this.internal.render=G.Context.use(n);const t=y.use(n);(r=this.state).autoBoundPadding??(r.autoBoundPadding=l.g.construct(this.state.location)==="x"?Gc:Bc),this.internal.core=new Na(this.internal.render,{color:t.colors.gray.l8,font:ee.fontString(t,{level:"small"}),gridColor:t.colors.gray.l1,...this.state}),I.requestRender(n,tt),(s=this.internal).updateBounds??(s.updateBounds=Es.r(a=>this.setState(i=>({...i,bounds:a})),this.state.autoBoundUpdateInterval.milliseconds))}async afterDelete(n){I.requestRender(n,tt)}renderAxis(n,t){if(!n.canvases.includes("lower2d"))return;const{core:r}=this.internal,{grid:s,container:a}=n,i=po(`${this.type}-${this.key}`,s,a),o={...n,position:i,decimalToDataScale:t,size:this.state.size+this.state.labelSize},{size:c}=r.render(o);Ua(this.state.size,c)||this.setState(u=>({...u,size:c}))}async bounds(n,t){var u,d;if(n&&this.internal.boundSnapshot!=null)return[this.internal.boundSnapshot,null];const{lower:r,upper:s}=_a(this.state.autoBounds);if(!r&&!s&&this.state.bounds!=null)return this.internal.boundSnapshot=this.state.bounds,[this.state.bounds,null];const a=p=>({upper:s||this.state.bounds==null?p.upper:this.state.bounds.upper,lower:r||this.state.bounds==null?p.lower:this.state.bounds.lower});let i,o=null;try{const p=await t();i=Uc(p,this.state.autoBoundPadding,this.state.type)}catch(p){i=Ba(this.state.type),o=p}const c=a(i);return this.internal.boundSnapshot=c,(this.state.bounds==null||r&&this.state.bounds.lower!==c.lower||s&&this.state.bounds.upper!==c.upper)&&((d=(u=this.internal).updateBounds)==null||d.call(u,c)),[c,o]}async dataToDecimalScale(n,t,r){const[s,a]=await this.bounds(n,t),i=l.g.swap(l.g.construct(this.state.location));return[l.b.Scale.scale(s).scale(1).translate(-l.Mo.root(r)[i]).magnify(1/l.Mo.dim(r,i)),a]}}const _a=e=>typeof e=="boolean"?{lower:e,upper:e}:{lower:(e==null?void 0:e.lower)??!0,upper:(e==null?void 0:e.upper)??!0},xs=`#version 300 es
|
|
7
|
+
precision lowp float;
|
|
8
|
+
|
|
9
|
+
uniform lowp vec4 u_color;
|
|
10
|
+
out vec4 fragColor;
|
|
11
|
+
|
|
12
|
+
void main(void) {
|
|
13
|
+
fragColor = u_color;
|
|
14
|
+
}
|
|
15
|
+
`,_c=`#version 300 es
|
|
16
|
+
|
|
17
|
+
// Copyright 2025 Synnax Labs, Inc.
|
|
18
|
+
//
|
|
19
|
+
// Use of this software is governed by the Business Source License included in the file
|
|
20
|
+
// licenses/BSL.txt.
|
|
21
|
+
//
|
|
22
|
+
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
23
|
+
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
24
|
+
// included in the file licenses/APL.txt.
|
|
25
|
+
|
|
26
|
+
in mediump float a_x;
|
|
27
|
+
in mediump float a_y;
|
|
28
|
+
in mediump vec2 a_translate;
|
|
29
|
+
|
|
30
|
+
uniform mediump vec2 u_scale_aggregate;
|
|
31
|
+
uniform mediump vec2 u_offset_aggregate;
|
|
32
|
+
|
|
33
|
+
void main(void) {
|
|
34
|
+
gl_Position = vec4((u_scale_aggregate * vec2(a_x, a_y) + u_offset_aggregate) + a_translate, 0.0, 1.0);
|
|
35
|
+
}
|
|
36
|
+
`,Fc=`#version 300 es
|
|
37
|
+
|
|
38
|
+
// Copyright 2025 Synnax Labs, Inc.
|
|
39
|
+
//
|
|
40
|
+
// Use of this software is governed by the Business Source License included in the file
|
|
41
|
+
// licenses/BSL.txt.
|
|
42
|
+
//
|
|
43
|
+
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
44
|
+
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
45
|
+
// included in the file licenses/APL.txt.
|
|
46
|
+
|
|
47
|
+
in mediump float a_x;
|
|
48
|
+
in mediump uint a_y;
|
|
49
|
+
in mediump vec2 a_translate;
|
|
50
|
+
|
|
51
|
+
uniform mediump vec2 u_scale_aggregate;
|
|
52
|
+
uniform mediump vec2 u_offset_aggregate;
|
|
53
|
+
|
|
54
|
+
void main(void) {
|
|
55
|
+
gl_Position = vec4((u_scale_aggregate * vec2(a_x, float(a_y)) + u_offset_aggregate) + a_translate, 0.0, 1.0);
|
|
56
|
+
}
|
|
57
|
+
`,Fa=f.z.object({x:sn,y:sn,label:f.z.string().optional(),color:l.Color.z,strokeWidth:f.z.number().default(1),downsample:f.z.number().min(1).max(50).optional().default(1)}),Hc=(e,n,t)=>e===-1||n===-1||e>=t.length?NaN:Number(t[e].at(n)),qc=w.y$1.milliseconds(2);l.G.NAN,l.G.NAN;const jc=(e,n)=>n.equals(w.g$1.UINT8)?e.UNSIGNED_BYTE:e.FLOAT;class vs extends G.GLProgram{constructor(t,r,s){super(t,r,s);h(this,"translationBufferCache",new Map);h(this,"attrLocations",{});this.translationBufferCache=new Map,this.attrLocations={x:this.renderCtx.gl.getAttribLocation(this.prog,"a_x"),y:this.renderCtx.gl.getAttribLocation(this.prog,"a_y"),translate:this.renderCtx.gl.getAttribLocation(this.prog,"a_translate")}}bindState({strokeWidth:t,color:r}){return this.uniformColor("u_color",r),this.attrStrokeWidth(t)}bindScale(t,r){const s=l.G.scale(t.scale,r.scale),a=l.G.translate(l.G.scale(r.scale,t.offset),r.offset);this.uniformXY("u_scale_aggregate",s),this.uniformXY("u_offset_aggregate",a)}draw({x:t,y:r,count:s,downsample:a,xOffset:i,yOffset:o},c,u,d){const{gl:p}=this.renderCtx;this.bindAttrBuffer("x",t.glBuffer,a,i,u),this.bindAttrBuffer("y",r.glBuffer,a,o,d),p.drawArraysInstanced(p.LINE_STRIP,0,s/a,c)}bindAttrBuffer(t,r,s,a=0,i){const{gl:o}=this.renderCtx;o.bindBuffer(o.ARRAY_BUFFER,r);const c=o.getAttribLocation(this.prog,`a_${t}`),u=jc(o,i),d=i.density.valueOf();i.equals(w.g$1.UINT8)?o.vertexAttribIPointer(c,1,u,d*s,d*a):o.vertexAttribPointer(c,1,u,!1,d*s,d*a),o.enableVertexAttribArray(c)}getAndBindTranslationBuffer(t){const{gl:r}=this.renderCtx,s=`${this.renderCtx.aspect}:${t}`,a=this.translationBufferCache.get(s);if(a!=null)return r.bindBuffer(r.ARRAY_BUFFER,a.glBuffer),a;const i=r.createBuffer();if(i==null)throw new y.Me("Failed to create buffer from WebGL context");const o=Vc(this.renderCtx.aspect,t);r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,o,r.DYNAMIC_DRAW);const c={glBuffer:i,jsBuffer:o};return this.translationBufferCache.set(s,c),c}attrStrokeWidth(t){const{gl:r}=this.renderCtx,{jsBuffer:s}=this.getAndBindTranslationBuffer(t),a=r.getAttribLocation(this.prog,"a_translate");return r.vertexAttribPointer(a,2,r.FLOAT,!1,0,0),r.enableVertexAttribArray(a),r.vertexAttribDivisor(a,1),s.length/2}}const Pt=class Pt{constructor(n){h(this,"uint8HybridProgram");h(this,"float32Program");this.uint8HybridProgram=new vs(n,Fc,xs),this.float32Program=new vs(n,_c,xs)}get gl(){return this.uint8HybridProgram.renderCtx.gl}getProgram(n){return n.equals(w.g$1.UINT8)?this.uint8HybridProgram:this.float32Program}static create(n,t){const r=new Pt(t);return n.set(Pt.CONTEXT_KEY,r),r}static use(n){const t=n.get(Pt.CONTEXT_KEY);if(t==null)throw new y.Me("GLProgram not found");return t}};h(Pt,"CONTEXT_KEY","pluto-line-gl-program");let mn=Pt;class Ce extends y.Leaf{constructor(){super(...arguments);h(this,"schema",Fa)}async afterUpdate(t){var s,a;if(this.deleted)return;const{internal:r}=this;r.xTelem=await j(t,this.state.x,r.xTelem),r.yTelem=await j(t,this.state.y,r.yTelem),r.instrumentation=Ze(t,"line"),r.ctx=mn.use(t),r.requestRender=I.useRequest(t),(s=r.stopListeningXTelem)==null||s.call(r),(a=r.stopListeningYTelem)==null||a.call(r),r.stopListeningXTelem=r.xTelem.onChange(()=>r.requestRender(jn)),r.stopListeningYTelem=r.yTelem.onChange(()=>r.requestRender(jn)),r.requestRender(tt)}async afterDelete(){var r,s,a,i;const{internal:t}=this;await((s=(r=t.xTelem).cleanup)==null?void 0:s.call(r)),await((i=(a=t.yTelem).cleanup)==null?void 0:i.call(a)),t.requestRender(tt)}async xBounds(){return(await this.internal.xTelem.value())[0]}async yBounds(){return(await this.internal.yTelem.value())[0]}async findByXValue(t,r){const{xTelem:s,yTelem:a}=this.internal,[,i]=await s.value();let[o,c]=[-1,-1];i.find((Y,D)=>{const P=Y.binarySearch(r),L=P>=0&&P<Y.length;return L&&([o,c]=[P,D]),L});const{key:u}=this,{color:d,label:p}=this.state,g={key:u,color:d,label:p,position:{x:0,y:0},value:{x:NaN,y:NaN}};if(o===-1||c===-1)return g;const b=i[c];g.value.x=Hc(c,o,i);const[,v]=await a.value(),S=v.find(Y=>l.H.contains(Y.alignmentBounds,b.alignment+BigInt(o)));if(S==null)return g;const C=Number(S.alignment-b.alignment);return g.value.y=Number(S.at(o-C)),g.position={x:t.dataToDecimalScale.x.pos(g.value.x),y:t.dataToDecimalScale.y.pos(g.value.y)},g}async render(t){if(this.deleted)return;const{downsample:r}=this.state,{xTelem:s,yTelem:a,ctx:i}=this.internal,{dataToDecimalScale:o,exposure:c}=t,[[,u],[,d]]=await Promise.all([s.value(),a.value()]);if(u.forEach(C=>C.updateGLBuffer(i.gl)),d.forEach(C=>C.updateGLBuffer(i.gl)),u.length===0||d.length===0)return;const p=i.getProgram(d[0].dataType),g=eu(u,d,c,r,qc);this.internal.instrumentation.L.debug("render",()=>({key:this.key,downsample:r,scale:o.transform,props:t.region,ops:nu(g)}));const b=p.setAsActive(),v=p.bindState(this.state),S=p.renderCtx.scaleRegion(t.region).transform;g.forEach(C=>{const Y=Qc(o,C).transform;p.bindScale(Y,S),p.draw(C,v,u[0].dataType,d[0].dataType)}),b()}}h(Ce,"TYPE","line");const Wc=5e3,Vc=(e,n)=>Jc(Kc(e),n).map((t,r)=>Math.floor(r/Xc)*(1/(Wc*e))*t),Xc=5,Kc=e=>new Float32Array([0,0,0,e,0,-e,1,0,-1,0]),Jc=(e,n)=>{const t=new Float32Array(e.length*n);for(let r=0;r<n;r++)t.set(e,r*e.length);return t},Qc=(e,n)=>e.translate(e.x.dim(Number(n.x.sampleOffset)),e.y.dim(Number(n.y.sampleOffset))),tu={[Ce.TYPE]:Ce},eu=(e,n,t,r,s)=>{if(e.length===0||n.length===0)return[];const a=[];return e.forEach(i=>n.forEach(o=>{if(!ru(i,o,s))return;let c=0,u=0;i.alignment<o.alignment?c=Number(o.alignment-i.alignment):o.alignment<i.alignment&&(u=Number(i.alignment-o.alignment));const d=Math.min(i.length-c,o.length-u);if(d===0)return;const p=l.Y(Math.round(t*4*d),r,51);a.push({x:i,y:o,xOffset:c,yOffset:u,count:d,downsample:p})})),a},nu=e=>e.map(n=>({...n,x:n.x.digest,y:n.y.digest})),ru=(e,n,t)=>{if(!(e._timeRange!=null&&n._timeRange!=null))throw new y.Me(`Encountered series without time range in buildDrawOperations. X series present: ${e._timeRange!=null}, Y series present: ${n._timeRange!=null}`);const s=e.timeRange.overlapsWith(n.timeRange,t),a=l.H.overlapsWith(e.alignmentBounds,n.alignmentBounds);return s&&a};class Xt{constructor(n,t){h(this,"canvas");h(this,"theme");this.canvas=n,this.theme=t}rule({direction:n,region:t,position:r,...s}){return n==="x"?this.line({start:l.G.construct(l.Mo.left(t),r),end:l.G.construct(l.Mo.right(t),r),...s}):this.line({start:l.G.construct(r,l.Mo.top(t)),end:l.G.construct(r,l.Mo.bottom(t)),...s})}line({stroke:n,lineWidth:t,lineDash:r,start:s,end:a}){const i=this.canvas;i.strokeStyle=n.hex,i.lineWidth=t,i.setLineDash([r]),i.beginPath(),i.moveTo(...l.G.couple(s)),i.lineTo(...l.G.couple(a)),i.stroke()}circle({fill:n,radius:t,position:r}){const s=this.canvas;s.fillStyle=n.hex,s.beginPath(),s.arc(...l.G.couple(r),t,0,2*Math.PI),s.fill()}resolveColor(n,t){return n==null?this.resolveColor(t):typeof n=="function"?n(this.theme):new l.Color(n)}border({region:n,color:t,width:r,radius:s,location:a}){const i=this.canvas;i.strokeStyle=this.resolveColor(t,this.theme.colors.border).hex,i.lineWidth=r??this.theme.sizes.border.width,s??(s=this.theme.sizes.border.radius),a==null||a===!0?s>0?(i.roundRect(...l.G.couple(l.Mo.topLeft(n)),...l.G.couple(l.Mo.dims(n)),s),i.stroke()):(i.rect(...l.G.couple(l.Mo.topLeft(n)),...l.G.couple(l.Mo.dims(n))),i.stroke()):Ms.A(a).forEach(o=>{const[c,u]=l.Mo.edgePoints(n,o);i.beginPath(),i.moveTo(...l.G.couple(c)),i.lineTo(...l.G.couple(u)),i.stroke()})}container({region:n,bordered:t=!0,rounded:r=!0,borderColor:s,borderRadius:a,borderWidth:i,backgroundColor:o}){a??(a=this.theme.sizes.border.radius),i??(i=1);const c=this.canvas;c.fillStyle=this.resolveColor(o,this.theme.colors.gray.l1).hex,c.strokeStyle=this.resolveColor(s,this.theme.colors.border).hex,c.setLineDash([]),c.lineWidth=1,c.beginPath(),r?c.roundRect(...l.G.couple(l.Mo.topLeft(n)),...l.G.couple(l.Mo.dims(n)),a):c.rect(...l.G.couple(l.Mo.topLeft(n)),...l.G.couple(l.Mo.dims(n))),c.fill(),t&&this.border({region:n,color:s,radius:a,width:i,location:t})}textContainer(n){const[t,r]=this.spacedTextDrawF(n);t.width+=12,t.height+=12;const{root:s=l.K.TOP_LEFT,offset:a=l.G.ZERO}=n,i={...n.position};s.x==="right"?i.x-=t.width+a.x:i.x+=a.x,s.y==="bottom"?i.y-=t.height+a.y:i.y+=a.y,this.container({region:l.Mo.construct(i,t.width,t.height),...n}),this.canvas.filter="none",r(l.G.translate(i,[6,6]))}spacedTextDrawF({text:n,direction:t,spacing:r=1,level:s="p"}){const a=ee.fontString(this.theme,{level:s}),i=n.map(u=>ft.dimensions(u,a,this.canvas)),o=this.theme.sizes.base*r,c=Math.max(...i.map(u=>u[l.g.dimension(t)]))+o;return[{[l.g.dimension(l.g.swap(t))]:Math.max(...i.map(u=>u[l.g.dimension(l.g.swap(t))])),[l.g.dimension(t)]:c*n.length-o},u=>{const d=ee.fontString(this.theme,{level:s});this.canvas.font=d,this.canvas.fillStyle=this.theme.colors.text.hex,this.canvas.textBaseline="top",n.forEach((p,g)=>{this.canvas.fillText(p,u.x,u.y+c*g)})}]}drawTextInCenter({box:n,text:t,level:r}){const s=ft.dimensions(t,this.canvas.font,this.canvas),a=l.Mo.positionInCenter(l.Mo.construct(l.G.ZERO,s),n);return this.text({text:t,position:l.Mo.topLeft(a),level:r})}text({text:n,position:t,level:r="p",weight:s,shade:a,maxWidth:i,code:o}){this.canvas.font=ee.fontString(this.theme,{level:r,weight:s,code:o}),a==null?this.canvas.fillStyle=this.theme.colors.text.hex:this.canvas.fillStyle=this.theme.colors.gray[`l${a}`].hex,this.canvas.textBaseline="top";let c;i!=null&&(c=this.canvas.scissor(l.Mo.construct(t,i,1e3))),this.canvas.fillText(n,t.x,t.y),c==null||c()}}const Nr=f.z.object({position:f.z.number().optional(),pixelPosition:f.z.number().optional(),dragging:f.z.boolean(),lineWidth:f.z.number().optional().default(1),lineDash:f.z.number().optional().default(20),color:l.Color.z}),su=3;class Ft extends y.Leaf{constructor(){super(...arguments);h(this,"schema",Nr);h(this,"lastUpdateRef",null)}async afterUpdate(t){this.internal.renderCtx=G.Context.use(t);const r=y.use(t);this.internal.draw=new Xt(this.internal.renderCtx.upper2d,r),I.requestRender(t,st)}async afterDelete(t){I.requestRender(t,st)}updatePositions({decimalToDataScale:t,plot:r}){const s=this.state.dragging,a=this.prevState.dragging&&!s;if((s||a)&&this.state.pixelPosition!=null){if(this.lastUpdateRef??(this.lastUpdateRef=this.state.pixelPosition),Math.abs(this.state.pixelPosition-this.lastUpdateRef)<su&&!a)return this.state.pixelPosition;this.lastUpdateRef=this.state.pixelPosition;const c=t.pos(this.state.pixelPosition/l.Mo.height(r));return this.setState(u=>({...u,position:c})),this.state.pixelPosition}if(this.state.position==null){const o=t.pos(.5);this.setState(c=>({...c,position:o}))}const i=t.reverse().pos(this.state.position)*l.Mo.height(r);if(!isNaN(i)){if(this.state.pixelPosition!=null&&Math.abs(i-this.state.pixelPosition)<1)return this.state.pixelPosition;this.setState(o=>({...o,pixelPosition:i}))}return i}async render(t){if(this.deleted)return;const{renderCtx:r}=this.internal,{location:s,plot:a}=t,i=l.K.direction(s),{upper2d:o}=r,c=this.internal.draw,u=this.updatePositions(t)+l.Mo.top(t.plot);c.rule({stroke:this.state.color,lineWidth:this.state.lineWidth,lineDash:this.state.lineDash,direction:i,region:a,position:u}),o.fillStyle=this.state.color.hex,o.lineJoin="round",o.lineWidth=3.5,o.lineCap="round",o.beginPath();const d=4;if(s==="left"){const p=l.Mo.left(a)-1;o.moveTo(p,u),o.lineTo(p-d,u-d),o.lineTo(p-d,u+d)}else s==="right"&&(o.moveTo(l.Mo.right(a),u),o.lineTo(l.Mo.right(a)+d,u-d),o.lineTo(l.Mo.right(a)+d,u+d));o.closePath(),o.stroke()}}h(Ft,"TYPE","Rule");const Ha={[Ft.TYPE]:Ft},au=Object.freeze(Object.defineProperty({__proto__:null,REGISTRY:Ha,Rule:Ft,ruleStateZ:Nr},Symbol.toStringTag,{value:"Module"})),iu=Ue.extend({location:l.K.x.optional().default("left")}),Ts=2,ou=e=>l.Mo.signedWidth(e)<Ts||l.Mo.signedHeight(e)<Ts;class Ee extends Ga{constructor(){super(...arguments);h(this,"schema",Ue)}async xBounds(){return l.H.max((await Promise.all(this.lines.map(async t=>await t.xBounds()))).filter(t=>l.H.isFinite(t)))}async render(t){if(this.deleted)return;const[r,s]=await this.dataToDecimalScale(t.hold,this.dataBounds.bind(this),t.viewport),a=r.invert().reverse();if(this.renderAxis(t,a),await this.renderLines(t,r),await this.renderRules(t,a),s!=null)throw s}async renderLines({xDataToDecimalScale:t,plot:r,canvases:s,exposure:a},i){if(!s.includes("gl")||ou(r))return;const o={region:r,dataToDecimalScale:new l.b.XY(t,i),exposure:a};await Promise.all(this.lines.map(async c=>await c.render(o)))}async renderRules({container:t,plot:r,canvases:s},a){if(!s.includes("upper2d"))return;const{location:i}=this.state,{render:o}=this.internal,c=l.Mo.construct(l.Mo.left(t),l.Mo.top(r),l.Mo.width(t),l.Mo.height(r)),u=o.scissor(c,l.G.ZERO,["upper2d"]),d={container:t,plot:r,decimalToDataScale:a,location:i};await Promise.all(this.rules.map(async p=>await p.render(d))),u()}async findByXValue({xDataToDecimalScale:t,plot:r,viewport:s,hold:a,exposure:i},o){const[c,u]=await this.dataToDecimalScale(a,this.dataBounds.bind(this),s);if(u!=null)throw u;const d=new l.b.XY(t,c),p={region:r,dataToDecimalScale:d,exposure:i};return(await Promise.all(this.lines.map(async g=>await g.findByXValue(p,o)))).map(g=>({...g,units:this.state.label}))}async dataBounds(){return await Promise.all(this.lines.map(async t=>await t.yBounds()))}get lines(){return this.childrenOfType(Ce.TYPE)}get rules(){return this.childrenOfType(Ft.TYPE)}}h(Ee,"TYPE","YAxis");const qa=f.z.object({start:w.m.z,end:w.m.z});class yn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",qa)}async afterUpdate(t){this.internal.render=G.Context.use(t),this.internal.draw=new Xt(this.internal.render.upper2d,y.use(t))}async render(){}}h(yn,"TYPE","range-annotation");const lu=y.bm.payloadZ.extend({viewport:l.H.bounds}),Ss=e=>l.Color.z.safeParse(e).success,ja=f.z.object({cursor:l.G.xy.or(f.z.null()),hovered:lu.or(f.z.null()),count:f.z.number()});class Me extends y.Leaf{constructor(){super(...arguments);h(this,"schema",ja);h(this,"fetchedInitial",w.U.ZERO)}async afterUpdate(t){const{internal:r}=this;r.render=G.Context.use(t),r.draw=new Xt(r.render.upper2d,y.use(t)),r.ranges??(r.ranges=new Map);const s=Oe(t);s!=null&&(r.client=s,r.tracker==null&&(r.tracker=await r.client.ranges.openTracker(),r.tracker.onChange(a=>{a.forEach(i=>{i.variant==="delete"?r.ranges.delete(i.key):Ss(i.value.color)&&r.ranges.set(i.key,i.value)}),I.requestRender(t,st),this.setState(i=>({...i,count:r.ranges.size}))}),I.requestRender(t,st)))}async fetchInitial(t){const{internal:r}=this;if(r.client==null||this.fetchedInitial.roughlyEquals(t,w.y$1.minutes(1)))return;this.fetchedInitial=t,(await r.client.ranges.retrieve(t)).forEach(a=>{Ss(a.color)&&r.ranges.set(a.key,a)}),this.setState(a=>({...a,count:r.ranges.size}))}async render(t){const{dataToDecimalScale:r,region:s,viewport:a,timeRange:i}=t;await this.fetchInitial(i);const{draw:o,ranges:c}=this.internal,u=r.scale(l.Mo.xBounds(s)),d=this.state.cursor==null?null:this.state.cursor.x;let p=null;const g=o.canvas.scissor(l.Mo.construct({x:l.Mo.left(s),y:l.Mo.top(s)-35},{x:l.Mo.right(s),y:l.Mo.bottom(s)}));c.forEach(b=>{const v=l.Color.z.safeParse(b.color);if(!v.success)return;const S=v.data;let C=u.pos(Number(b.timeRange.start.valueOf()));const Y=u.pos(Number(b.timeRange.end.valueOf()));if(Y<l.Mo.left(s)||C>l.Mo.right(s))return;C=l.Y(C,l.Mo.left(s)-2,l.Mo.right(s)-1);let D=!1;d!=null&&(D=l.H.contains({lower:C,upper:Y},d)),D&&(p={key:b.key,name:b.name,color:b.color,timeRange:b.timeRange,viewport:{lower:r.scale(l.Mo.xBounds(a)).pos(Number(b.timeRange.start.valueOf())),upper:r.scale(l.Mo.xBounds(a)).pos(Number(b.timeRange.end.valueOf()))}}),o.container({region:l.Mo.construct({x:C,y:l.Mo.top(s)-1},{x:Y,y:l.Mo.bottom(s)-1}),backgroundColor:S.setAlpha(.2),bordered:!1});const P=l.Mo.construct({x:C+1,y:l.Mo.top(s)-34},{x:Y-1,y:l.Mo.top(s)-12});o.container({region:P,backgroundColor:l.Mo.width(P)<20?S.setAlpha(.4):L=>D?L.colors.gray.l2:L.colors.gray.l0,bordered:!0,borderWidth:1,borderRadius:2,borderColor:S.setAlpha(.8)}),o.text({text:b.name,position:{x:C+8,y:l.Mo.top(s)-30},level:"small",shade:8,weight:500,maxWidth:Y-C-16})}),g(),p!=null?this.setState(b=>({...b,hovered:p})):this.state.hovered&&this.setState(b=>({...b,hovered:null}))}}h(Me,"TYPE","range-provider");const cu={[yn.TYPE]:yn,[Me.TYPE]:Me},uu=Ue;class Pe extends Ga{constructor(){super(...arguments);h(this,"schema",Ue)}async render(t){if(this.deleted)return;const[r,s]=await this.dataToDecimalScale(t.hold,this.dataBounds.bind(this),t.viewport);if(this.renderAxis(t,r.reverse()),await this.renderYAxes(t,r),await this.renderRangeAnnotations(t,r),s!=null)throw s}async findByXDecimal(t,r){const[s,a]=await this.dataToDecimalScale(t.hold,this.dataBounds.bind(this),t.viewport);if(a!=null)throw a;return await this.findByXValue(t,s.reverse().pos(r))}async findByXValue(t,r){const[s,a]=await this.dataToDecimalScale(t.hold,this.dataBounds.bind(this),t.viewport);if(a!=null)throw a;const i={...t,xDataToDecimalScale:s},o=this.yAxes.map(async c=>await c.findByXValue(i,r));return(await Promise.all(o)).flat()}async renderYAxes(t,r){const s={...t,xDataToDecimalScale:r};await Promise.all(this.yAxes.map(async a=>await a.render(s)))}get yAxes(){return this.childrenOfType(Ee.TYPE)}get rangeAnnotations(){return this.childrenOfType(Me.TYPE)}async renderRangeAnnotations(t,r){const[s,a]=await this.bounds(t.hold,this.dataBounds.bind(this));if(a!=null)throw a;await Promise.all(this.rangeAnnotations.map(async i=>await i.render({dataToDecimalScale:r,region:t.plot,viewport:t.viewport,timeRange:new w.U(s.lower,s.upper)})))}async dataBounds(){return await Promise.all(this.yAxes.map(async t=>await t.xBounds()))}}h(Pe,"TYPE","XAxis");const Ur=f.z.object({position:l.G.xy.or(f.z.null()),textColor:l.Color.z.optional().default(l.ZERO),backgroundColor:l.Color.z.optional().default(l.ZERO),borderColor:l.Color.z.optional().default(l.ZERO),ruleColor:l.Color.z.optional().default(l.ZERO),ruleStrokeWidth:f.z.number().optional().default(1),ruleStrokeDash:f.z.number().default(0)});class Ht extends y.Leaf{constructor(){super(...arguments);h(this,"schema",Ur)}async afterUpdate(t){const r=y.use(t);this.state.textColor.isZero&&(this.state.textColor=r.colors.text),this.state.backgroundColor.isZero&&(this.state.backgroundColor=r.colors.gray.l1),this.state.borderColor.isZero&&(this.state.borderColor=r.colors.border),this.state.ruleColor.isZero&&(this.state.ruleColor=r.colors.gray.l5),this.internal.dotColor=r.colors.text,this.internal.dotColorContrast=r.colors.textInverted,this.internal.render=G.Context.use(t),this.internal.draw=new Xt(this.internal.render.upper2d,r),I.requestRender(t,st)}async afterDelete(t){I.requestRender(t,st)}async render(t){if(this.deleted||this.state.position==null)return;const{region:r}=t,s=l.b.XY.scale(l.Mo.DECIMAL).scale(r),a=l.b.XY.scale(r).scale(l.Mo.DECIMAL),i=await t.findByXDecimal(a.x.pos(this.state.position.x)),o=i.filter(v=>l.G.isFinite(v.value)),{draw:c}=this.internal,u=o.reduce((v,S)=>v+S.position.x,0)/o.length,d=new w.m(o.reduce((v,S)=>v+S.value.x,0)/o.length),p=s.x.pos(u);if(!l.H.contains(l.Mo.xBounds(r),p))return;c.rule({stroke:this.state.ruleColor,lineWidth:this.state.ruleStrokeWidth,lineDash:this.state.ruleStrokeDash,direction:"y",region:r,position:p}),o.forEach(v=>{const S=s.pos(v.position);c.circle({fill:v.color.setAlpha(.5),radius:8,position:S}),c.circle({fill:v.color.setAlpha(.8),radius:5,position:S}),c.circle({fill:v.color.pickByContrast(this.internal.dotColor,this.internal.dotColorContrast),radius:2,position:S})});const g=i.map(v=>`${v.label??""}: ${v.value.y.toFixed(2)}`);g.unshift(`Time: ${d.fString("preciseDate","local")}`);const b=a.pos(this.state.position);c.textContainer({text:g,backgroundColor:this.state.backgroundColor,borderColor:this.state.borderColor,position:this.state.position,direction:"y",level:"small",spacing:.5,offset:{x:12,y:12},root:{x:b.x>.8?"right":"left",y:b.y>.8?"top":"bottom"}})}}h(Ht,"TYPE","tooltip");const Wa={[Ht.TYPE]:Ht},hu=Object.freeze(Object.defineProperty({__proto__:null,REGISTRY:Wa,Tooltip:Ht,tooltipStateZ:Ur},Symbol.toStringTag,{value:"Module"})),Br=f.z.object({one:l.G.xy.nullable(),two:l.G.xy.nullable(),hover:l.G.xy.nullable(),color:f.z.union([l.Color.z,f.z.object({verticalLine:l.Color.z.optional().default(l.ZERO),horizontalLine:l.Color.z.optional().default(l.ZERO),obliqueLine:l.Color.z.optional().default(l.ZERO)})]).optional().default(l.ZERO),strokeWidth:f.z.number().optional().default(1),strokeDash:f.z.number().optional().default(2)});class qt extends y.Leaf{constructor(){super(...arguments);h(this,"schema",Br)}async afterUpdate(t){const r=G.Context.use(t);this.internal.theme=y.use(t),this.internal.renderCtx=r,this.internal.draw=new Xt(r.upper2d,this.internal.theme),I.requestRender(t,st)}async afterDelete(t){I.requestRender(t,tt)}get verticalLineColor(){return this.state.color instanceof l.Color?this.state.color.isZero?this.internal.theme.colors.gray.l6:this.state.color:this.state.color.verticalLine.isZero?this.internal.theme.colors.gray.l6:this.state.color.verticalLine}get horizontalLineColor(){return this.state.color instanceof l.Color?this.state.color.isZero?this.internal.theme.colors.gray.l6:this.state.color:this.state.color.horizontalLine.isZero?this.internal.theme.colors.gray.l6:this.state.color.horizontalLine}get obliqueLineColor(){return this.state.color instanceof l.Color?this.state.color.isZero?this.internal.theme.colors.gray.l6:this.state.color:this.state.color.obliqueLine.isZero?this.internal.theme.colors.gray.l6:this.state.color.obliqueLine}async find(t){const{one:r,two:s}=this.state;if(r==null||s==null)return null;const{one:a,two:i}=this.prevState,{dataOne:o,dataTwo:c}=this.internal;if(a!=null&&l.G.equals(r,a)&&i!=null&&l.G.equals(s,i)&&o!=null&&c!=null){const[C,Y]=[await t.findByXValue(o.x),await t.findByXValue(c.x)];return C.length===0||Y.length===0?null:[C.sort((D,P)=>l.G.distance(o,D.value)-l.G.distance(o,P.value))[0],Y.sort((D,P)=>l.G.distance(c,D.value)-l.G.distance(c,P.value))[0]]}const u=l.b.XY.scale(t.region).scale(l.Mo.DECIMAL),[d,p]=[u.pos(r),u.pos(s)],[g,b]=[await t.findByXDecimal(d.x),await t.findByXDecimal(p.x)];if(g.length===0||b.length===0)return null;const[v,S]=[g.sort((C,Y)=>l.G.distance(d,C.position)-l.G.distance(d,Y.position))[0],b.sort((C,Y)=>l.G.distance(p,C.position)-l.G.distance(p,Y.position))[0]];return this.internal.dataOne=v.value,this.internal.dataTwo=S.value,[v,S]}async renderHover(t){if(this.state.hover==null)return;const r=this.state.hover,s=l.b.XY.scale(t.region).scale(l.Mo.DECIMAL),a=s.pos(r),i=await t.findByXDecimal(s.pos(r).x);if(i.length===0)return;const o=i.sort((u,d)=>l.G.distance(a,u.position)-l.G.distance(a,d.position))[0],{draw:c}=this.internal;c.circle({fill:o.color.setAlpha(.5),radius:9,position:s.reverse().pos(o.position)})}async render(t){if(this.deleted)return;await this.renderHover(t);const r=await this.find(t);if(r==null)return;const[s,a]=r,{draw:i}=this.internal,{strokeDash:o,strokeWidth:c}=this.state,u=l.b.XY.scale(l.Mo.DECIMAL).scale(t.region),d=u.pos(s.position),p=u.pos(a.position),g=new w.y$1(Math.abs(s.value.x-a.value.x)),b=Math.abs(s.value.y-a.value.y),v=b/g.seconds;i.line({start:l.G.construct(d.x,d.y),end:l.G.construct(d.x,p.y),stroke:this.verticalLineColor,lineDash:o,lineWidth:c}),i.textContainer({text:[`${b.toFixed(2)} ${s.units??""}`],direction:"x",position:l.G.construct(d.x,(d.y+p.y)/2),level:"small"}),i.line({start:l.G.construct(d.x,p.y),end:l.G.construct(p.x,p.y),stroke:this.horizontalLineColor,lineDash:o,lineWidth:c}),i.textContainer({text:[g.truncate(w.y$1.MILLISECOND).toString()],direction:"x",position:l.G.construct((d.x+p.x)/2,p.y),level:"small"}),i.line({start:l.G.construct(d.x,d.y),end:l.G.construct(p.x,p.y),stroke:this.obliqueLineColor,lineDash:o,lineWidth:c}),i.textContainer({text:[`${v.toFixed(2)} ${s.units??""} / S`],direction:"x",position:l.G.construct((d.x+p.x)/2,(d.y+p.y)/2),level:"small"}),i.circle({fill:s.color.setAlpha(.5),radius:8,position:d}),i.circle({fill:s.color.setAlpha(.8),radius:5,position:d}),i.circle({fill:new l.Color("#ffffff"),radius:2,position:d}),i.circle({fill:a.color.setAlpha(.5),radius:8,position:p}),i.circle({fill:a.color.setAlpha(.8),radius:5,position:p}),i.circle({fill:new l.Color("#ffffff"),radius:2,position:p})}}h(qt,"TYPE","measure");const Va={[qt.TYPE]:qt},du=Object.freeze(Object.defineProperty({__proto__:null,Measure:qt,REGISTRY:Va,measureStateZ:Br},Symbol.toStringTag,{value:"Module"})),Xa=f.z.object({container:l.Mo.box,viewport:l.Mo.box,hold:f.z.boolean().optional().default(!1),grid:f.z.record(ba),visible:f.z.boolean().optional().default(!0),clearOverScan:l.G.crudeZ.optional().default(l.G.ZERO)}),fu=(e,n)=>{const t=l.Mo.width(e)*Math.sqrt(l.Mo.height(e)),r=l.Mo.width(n)*Math.sqrt(l.Mo.height(n));return t/r};class wn extends y.Composite{constructor(){super(...arguments);h(this,"schema",Xa)}async afterUpdate(t){this.internal.instrumentation=Ze(t,"lineplot"),this.internal.aggregate=X.useAdder(t),this.internal.renderCtx=G.Context.use(t),I.control(t,r=>this.requestRender("low",r)),this.requestRender("high",tt)}async afterDelete(t){this.internal.renderCtx=G.Context.use(t),this.requestRender("high",tt)}async findByXDecimal(t){const r={...this.state,plot:this.calculatePlot(),exposure:this.exposure},s=this.axes.flatMap(async a=>await a.findByXDecimal(r,t));return(await Promise.all(s)).flat()}async findByXValue(t){const r={...this.state,plot:this.calculatePlot(),exposure:this.exposure},s=this.axes.flatMap(async a=>await a.findByXValue(r,t));return(await Promise.all(s)).flat()}get axes(){return this.childrenOfType(Pe.TYPE)}get tooltips(){return this.childrenOfType(Ht.TYPE)}get measures(){return this.childrenOfType(qt.TYPE)}get exposure(){return fu(this.state.viewport,this.state.container)}async renderAxes(t,r){const s={...this.state,plot:t,canvases:r,exposure:this.exposure};await Promise.all(this.axes.map(async a=>await a.render(s)))}async renderTooltips(t,r){const s={findByXDecimal:this.findByXDecimal.bind(this),region:t,canvases:r};await Promise.all(this.tooltips.map(async a=>await a.render(s)))}async renderMeasures(t){const r={findByXDecimal:this.findByXDecimal.bind(this),findByXValue:this.findByXValue.bind(this),region:t};await Promise.all(this.measures.map(async s=>await s.render(r)))}calculatePlot(){return go(this.state.grid,this.state.container)}async render(t){const{renderCtx:r}=this.internal,{instrumentation:s}=this.internal;if(this.deleted){s.L.debug("deleted, skipping render",{key:this.key});return}if(!this.state.visible)return s.L.debug("not visible, skipping render",{key:this.key}),async({canvases:d})=>r.erase(this.state.container,this.state.clearOverScan,...d);const a=this.calculatePlot();s.L.debug("rendering",{key:this.key,viewport:this.state.viewport,container:this.state.container,grid:this.state.grid,plot:a,canvases:t});const i=l.G.construct(this.state.clearOverScan),o=r.scissor(this.state.container,i,t.filter(d=>d!=="gl")),c=r.scissor(a,l.G.ZERO,t.filter(d=>d==="gl"));try{await this.renderAxes(a,t),await this.renderTooltips(a,t),await this.renderMeasures(a),r.gl.finish(),r.gl.flush(),r.gl.finish()}catch(d){if(d.message.toLowerCase().includes("bigint"))return;this.internal.aggregate({key:`${this.type}-${this.key}`,variant:"error",message:d.message})}finally{o(),c()}s.L.debug("rendered",{key:this.key});const u=l.Mo.copy(this.state.container);return async({canvases:d})=>r.erase(u,this.state.clearOverScan,...d)}requestRender(t,r){const{renderCtx:s}=this.internal;let a=["upper2d","lower2d","gl"];r===st&&(a=["upper2d"]),s.loop.set({key:`${this.type}-${this.key}`,render:async()=>await this.render(a),priority:t,canvases:a})}}h(wn,"TYPE","LinePlot");const pu={[wn.TYPE]:wn,[Pe.TYPE]:Pe,[Ee.TYPE]:Ee},Gr=f.z.object({dpr:f.z.number(),region:l.Mo.box,bootstrap:f.z.boolean().optional().default(!1),bootstrapped:f.z.boolean().optional().default(!1),glCanvas:f.z.any().optional(),upper2dCanvas:f.z.any().optional(),lower2dCanvas:f.z.any().optional(),os:w.S.osZ});class ke extends y.Composite{constructor(){super(...arguments);h(this,"schema",Gr);h(this,"renderCtx",null)}async afterUpdate(t){if(this.renderCtx==null){if(!this.state.bootstrap)return;const{glCanvas:r,lower2dCanvas:s,upper2dCanvas:a,os:i}=this.state;if(r==null||s==null||a==null)throw new y.Me("[vis.worker.Canvas] - expected render context bootstrap to include all canvases");this.renderCtx=G.Context.create(t,r,s,a,i),mn.create(t,this.renderCtx),this.setState(o=>({...o,bootstrap:!1,bootstrapped:!0,glCanvas:void 0,lower2dCanvas:void 0,upper2dCanvas:void 0}))}else this.renderCtx.update(t);this.renderCtx.resize(this.state.region,this.state.dpr)}}h(ke,"TYPE","Canvas");const Ka={[ke.TYPE]:ke},gu=Object.freeze(Object.defineProperty({__proto__:null,Canvas:ke,REGISTRY:Ka,canvasStateZ:Gr},Symbol.toStringTag,{value:"Module"})),Ja=f.z.object({triggered:f.z.boolean(),status:X.specZ,sink:Yn.optional().default(Pn),source:hr.optional().default(lr)});class bn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",Ja)}async afterUpdate(t){var a,i,o;const{sink:r,source:s}=this.state;this.internal.source=await j(t,s,this.internal.source),this.internal.sink=await $e(t,r,this.internal.sink),this.state.triggered&&!this.prevState.triggered&&await this.internal.sink.set(((a=this.state.status.data)==null?void 0:a.authority)!==y.Am.ABSOLUTE),await this.updateEnabledState(),(o=(i=this.internal).stopListening)==null||o.call(i),this.internal.stopListening=this.internal.source.onChange(()=>{this.updateEnabledState()})}async updateEnabledState(){const t=await this.internal.source.value();rr.I.equal(t,this.state.status)||this.setState(r=>({...r,status:t,triggered:!1}))}async afterDelete(){var t,r,s,a;this.internal.stopListening(),await((r=(t=this.internal.source).cleanup)==null?void 0:r.call(t)),await((a=(s=this.internal.sink).cleanup)==null?void 0:a.call(s))}render(){}}h(bn,"TYPE","Chip");const Qa=f.z.object({}),Cs="control-state-provider",ti=y.im.stateZ.extend({subjectColor:l.Color.z});class jt extends y.Composite{constructor(){super(...arguments);h(this,"schema",Qa);h(this,"colors",new Map);h(this,"tracker");h(this,"disconnectTrackerChange");h(this,"obs",new sr.Observer)}static use(t){return t.get(Cs)}async afterUpdate(t){const{internal:r}=this;r.instrumentation=Ze(t,"control-state");const s=y.use(t);r.palette=s.colors.visualization.palettes.default,r.defaultColor=s.colors.gray.l6;const a=Oe(t);r.client!=null&&a===r.client||(r.client=a,t.set(Cs,this),await this.maybeCloseTracker(),r.client!=null&&(this.internal.instrumentation.L.debug("starting state tracker"),await this.openTracker(r.client)))}async maybeCloseTracker(){var t;this.tracker!=null&&(this.internal.instrumentation.L.debug("stopping state tracker"),(t=this.disconnectTrackerChange)==null||t.call(this),await this.tracker.close(),this.tracker=void 0)}async afterDelete(){await this.maybeCloseTracker()}onChange(t){return this.obs.onChange(t)}get(t){return Array.isArray(t)?w.c$1.unique(t).map(r=>this.getOne(r)).filter(r=>r!=null):this.getOne(t)}getOne(t){if(this.tracker==null)return;const r=this.tracker.states.get(t);if(r!=null)return{...r,subjectColor:this.colors.get(r.subject.key)??this.internal.defaultColor}}async openTracker(t){var a;const{internal:r}=this,{instrumentation:s}=r;try{this.tracker=await t.control.openStateTracker()}catch{s.L.error("failed to open state tracker");return}(a=this.disconnectTrackerChange)==null||a.call(this),this.disconnectTrackerChange=this.tracker.onChange(i=>{if(s.L.debug("transfer",{transfers:i.map(o=>y.im.transferString(o))}),this.tracker==null)throw new y.Me("tracker is null inside it's own onChange callback!");this.updateColors(this.tracker),this.obs.notify(i)})}updateColors(t){const r=t.subjects(),s=r.map(o=>o.key),a=Array.from(this.colors.values());this.colors.forEach((o,c)=>!s.includes(c)&&this.colors.delete(c));const{palette:i}=this.internal;r.forEach(o=>{if(this.colors.has(o.key))return;const c=i.find(u=>!a.includes(u))??i[0];this.colors.set(o.key,c),a.push(c)})}}h(jt,"TYPE","StateProvider");const ei=["acquired","released","overridden","failed"],ni=f.z.enum(ei),ri=f.z.object({name:f.z.string(),authority:f.z.number().default(0),acquireTrigger:f.z.number(),status:ni.optional(),needsControlOf:y.Jg.keyZ.array().optional().default([])});class xn extends y.Composite{constructor(){super(...arguments);h(this,"schema",ri);h(this,"registry",new Map);h(this,"writer")}async afterUpdate(t){const{internal:r}=this;r.instrumentation=Ze(t),(r.prevTrigger==null||Math.abs(this.state.acquireTrigger-r.prevTrigger)>1)&&(r.prevTrigger=this.state.acquireTrigger);const s=Oe(t),a=jt.use(t);r.client=s,r.client==null&&await this.release(),r.stateProv=a,r.telemCtx=da(t,this,r.telemCtx),r.addStatus=X.useAdder(t),this.state.acquireTrigger>r.prevTrigger?await this.acquire():this.state.acquireTrigger<r.prevTrigger&&await this.release()}async afterDelete(){await this.release()}async updateNeedsControlOf(){const{client:t}=this.internal;if(t==null)return;const r=new Set([]);for(const a of this.registry.keys())(await a.needsControlOf(t)).forEach(o=>o!==0&&r.add(o));const s=Array.from(r);w.F.unorderedPrimitiveArrays(this.state.needsControlOf,s)!==w.F.EQUAL&&this.setState(a=>({...a,needsControlOf:s}))}async acquire(){this.internal.prevTrigger=this.state.acquireTrigger;const{client:t,addStatus:r}=this.internal;if(t==null)return r({message:`Cannot acquire control on ${this.state.name} because no cluster has been connected.`,variant:"warning"});try{await this.updateNeedsControlOf();const s=this.state.needsControlOf;if(s.length===0)return r({message:`Cannot acquire control on ${this.state.name} because there are no channels to control.`,variant:"warning"});const a=y.k.now().sub(w.y$1.milliseconds(1));this.writer=await t.openWriter({start:a,channels:s,controlSubject:{key:this.key,name:this.state.name},authorities:this.state.authority,enableAutoCommit:!0}),this.setState(i=>({...i,status:"acquired"}))}catch(s){if(this.setState(a=>({...a,status:"failed"})),!(s instanceof Error))throw s;r({variant:"error",message:`${this.state.name} failed to acquire control`,description:s.message})}}async release(){var t;this.internal.prevTrigger=this.state.acquireTrigger;try{await((t=this.writer)==null?void 0:t.close())}catch(r){this.internal.addStatus({message:`${this.state.name} failed to release control: ${r.message}`,variant:"error"})}finally{this.setState(r=>({...r,status:"released"})),this.writer=void 0}}async set(t){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.write(t))}async setAuthority(t,r){var s;this.writer==null&&await this.acquire(),await((s=this.writer)==null?void 0:s.setAuthority(Object.fromEntries(t.map(a=>[a,r]))))}async releaseAuthority(t){var r;this.writer==null&&await this.acquire(),await((r=this.writer)==null?void 0:r.setAuthority(Object.fromEntries(t.map(s=>[s,this.state.authority]))))}deleteTelem(t){this.registry.delete(t),this.updateNeedsControlOf()}create(t){const s=(()=>{switch(t.type){case Re.TYPE:{const a=new Re(this,t.props);return this.registry.set(a,null),a}case ze.TYPE:{const a=new ze(this,this.internal.stateProv,t.props);return this.registry.set(a,null),a}case Ye.TYPE:return new Ye(this,t.props);default:return null}})();return s!=null&&this.updateNeedsControlOf(),s}}h(xn,"TYPE","Controller");const si=f.z.object({channel:f.z.number()});class Re extends Ln{constructor(t,r){super(r);h(this,"controller");h(this,"schema",si);this.controller=t}invalidate(){}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(t){if(this.props.channel===0)return[];const r=await t.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(t){const{client:r}=this.controller.internal;if(r==null)return;const s=await r.channels.retrieve(this.props.channel),a={[s.key]:t};if(s.index!==0){const i=await r.channels.retrieve(s.index);a[i.key]=y.k.now()}await this.controller.set(a)}}h(Re,"TYPE","controlled-numeric-telem-sink");const mu=e=>({type:Re.TYPE,props:e,variant:"sink",valueType:"number"}),ai=f.z.object({authority:f.z.number().default(y.im.Authority.ABSOLUTE),channel:f.z.number()});class Ye extends Ln{constructor(t,r){super(r);h(this,"controller");h(this,"schema",ai);this.controller=t}async cleanup(){this.controller.deleteTelem(this)}async needsControlOf(t){const r=await t.channels.retrieve(this.props.channel),s=[r.key];return r.index!==0&&s.push(r.index),s}async set(t){const{controller:r}=this,{client:s}=r.internal;if(s==null)return;const a=await s.channels.retrieve(this.props.channel),i=[a.key];a.index!==0&&i.push(a.index),t?await this.controller.setAuthority(i,this.props.authority):await this.controller.releaseAuthority(i)}}h(Ye,"TYPE","acquire-channel-control");const yu=e=>({type:Ye.TYPE,props:e,variant:"sink",valueType:"boolean"}),ii=f.z.object({channel:f.z.number()});class ze extends H{constructor(t,r,s){super(s);h(this,"prov");h(this,"valid",!1);h(this,"stopListening");h(this,"controller");h(this,"schema",ii);this.prov=r,this.controller=t}async needsControlOf(){return[]}maybeRevalidate(){var s;if(this.valid)return;const{channel:t}=this.props;(s=this.stopListening)==null||s.call(this);const r=w.Y.filterTransfersByChannelKey(t);this.stopListening=this.prov.onChange(a=>{var i;r(a).length!==0&&((i=this.notify)==null||i.call(this))}),this.valid=!0}async value(){this.maybeRevalidate();const t=y.k.now();if(this.props.channel===0)return{key:this.controller.key,variant:"disabled",message:"No Channel",time:t,data:{valid:!1,authority:0}};const r=this.prov.get(this.props.channel);return r==null?{key:this.controller.key,variant:"disabled",message:"Uncontrolled",time:t,data:{valid:!0,color:void 0,authority:0}}:{key:r.subject.key,variant:r.subject.key===this.controller.key?"success":"error",message:`Controlled by ${r.subject.name}`,time:t,data:{valid:!0,color:r.subjectColor,authority:r.authority}}}async cleanup(){var t;this.controller.deleteTelem(this),(t=this.stopListening)==null||t.call(this)}}h(ze,"TYPE","controlled-status-source");const wu=e=>({type:ze.TYPE,props:e,variant:"source",valueType:"status"}),oi=f.z.object({statusSource:hr.optional().default(lr),colorSource:ur.optional().default(kn),status:X.specZ,color:l.Color.z.optional()});class vn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",oi);h(this,"stopListeningStatus");h(this,"stopListeningColor")}async afterUpdate(t){var i,o;const{internal:r}=this,{statusSource:s,colorSource:a}=this.state;r.statusSource=await j(t,s,r.statusSource),r.colorSource=await j(t,a,r.colorSource),await this.updateState(),(i=this.stopListeningStatus)==null||i.call(this),this.stopListeningStatus=r.statusSource.onChange(()=>{this.updateState()}),(o=this.stopListeningColor)==null||o.call(this),this.stopListeningColor=r.colorSource.onChange(()=>{this.updateState()})}async afterDelete(){var t,r,s,a;await((r=(t=this.internal.statusSource).cleanup)==null?void 0:r.call(t)),await((a=(s=this.internal.colorSource).cleanup)==null?void 0:a.call(s))}async render(){}async updateState(){const t=await this.internal.colorSource.value(),r=await this.internal.statusSource.value();t.equals(this.state.color)&&r.message===this.state.status.message||this.setState(s=>({...s,color:t,status:r}))}}h(vn,"TYPE","Indicator");const li=f.z.object({needsControlOf:y.Jg.keyZ.array(),states:ti.array()});class Tn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",li)}async afterUpdate(t){var o;const{internal:r}=this;r.stateProv=jt.use(t);const s=this.state.needsControlOf;(o=r.disconnectStateProv)==null||o.call(r);const a=w.Y.filterTransfersByChannelKey(...s),i=r.stateProv.get(s);this.setState(c=>({...c,states:i})),r.disconnectStateProv=r.stateProv.onChange(c=>{if(a(c).length===0)return;const u=r.stateProv.get(s);this.setState(d=>({...d,states:u}))})}async afterDelete(){var r;const{internal:t}=this;(r=t.disconnectStateProv)==null||r.call(t)}async render(){}}h(Tn,"TYPE","Legend");const bu={[xn.TYPE]:xn,[jt.TYPE]:jt,[vn.TYPE]:vn,[bn.TYPE]:bn,[Tn.TYPE]:Tn},xu=f.z.object({region:l.Mo.box,clearOverScan:l.G.crudeZ.optional().default(0),visible:f.z.boolean().optional().default(!0)}),Hn=["upper2d","lower2d"],kt=class kt extends y.Composite{constructor(){super(...arguments);h(this,"schema",kt.stateZ)}async afterUpdate(t){const{internal:r}=this;r.renderCtx=G.Context.use(t),r.handleError=X.useErrorHandler(t),I.control(t,()=>this.requestRender("low")),this.requestRender("high")}async afterDelete(){this.requestRender("high")}async render(){if(this.deleted)return;const t=l.Mo.copy(this.state.region);if(!this.state.visible)return async()=>this.internal.renderCtx.erase(this.state.region,this.state.clearOverScan,...Hn);const{renderCtx:r,handleError:s}=this.internal,a=l.b.XY.translate(l.Mo.topLeft(this.state.region)),i=r.scissor(this.state.region,l.G.construct(this.state.clearOverScan),Hn);try{for(const o of this.children)await o.render({viewportScale:a})}catch(o){s(o,"Failed to render table")}finally{i()}return async()=>{this.internal.renderCtx.erase(t,this.state.clearOverScan)}}requestRender(t){const{renderCtx:r}=this.internal;r.loop.set({key:`${kt.TYPE}-${this.key}`,render:this.render.bind(this),priority:t,canvases:Hn})}};h(kt,"TYPE","Table"),h(kt,"stateZ",xu);let Le=kt;const vu={[Le.TYPE]:Le},ci=f.z.object({trigger:f.z.number(),sink:Yn.optional().default(Pn)});class Sn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",ci)}async afterUpdate(t){var a;const{sink:r}=this.state;(a=this.internal).prevTrigger??(a.prevTrigger=this.state.trigger),this.internal.sink=await $e(t,r,this.internal.sink);const s=this.internal.prevTrigger;this.internal.prevTrigger=this.state.trigger,!(this.state.trigger<=s)&&await this.internal.sink.set(!0)}render(){}async afterDelete(){await this.internalAfterDelete()}async internalAfterDelete(){var r,s;const{internal:t}=this;await((s=(r=t.sink).cleanup)==null?void 0:s.call(r))}}h(Sn,"TYPE","Button");const Tu={[Sn.TYPE]:Sn},_r=f.z.object({position:l.G.xy,zoom:f.z.number(),region:l.Mo.box,clearOverScan:l.G.crudeZ.optional().default(10),visible:f.z.boolean().optional().default(!0)}),qe=["upper2d","lower2d"],Rt=class Rt extends y.Composite{constructor(){super(...arguments);h(this,"schema",Rt.stateZ)}async afterUpdate(t){this.internal.renderCtx=G.Context.use(t),this.internal.addStatus=X.useAdder(t),I.control(t,()=>this.requestRender("low")),this.requestRender("high")}async afterDelete(){this.requestRender("high")}async render(){if(this.deleted)return;const{renderCtx:t,addStatus:r}=this.internal,{zoom:s,position:a}=this.state,i=l.Mo.construct(this.state.region);if(!this.state.visible)return async()=>t.erase(i,this.state.clearOverScan,...qe);const o=t.scissor(i,l.G.ZERO,qe),c=l.b.XY.magnify(l.G.construct(s)).translate(l.Mo.topLeft(i)).translate(a);try{await Promise.all(this.children.map(async d=>await d.render({viewportScale:c})))}catch(d){if(!(d instanceof Error))throw d;r({variant:"error",message:"Failed to render diagram",description:d.message})}finally{o()}const u=l.Mo.copy(this.state.region);return async()=>{this.internal.renderCtx.erase(u,this.state.clearOverScan,...qe)}}requestRender(t){const{renderCtx:r}=this.internal;r.loop.set({key:`${Rt.TYPE}-${this.key}`,render:this.render.bind(this),priority:t,canvases:qe})}};h(Rt,"TYPE","Diagram"),h(Rt,"stateZ",_r);let Wt=Rt;const ui={[Wt.TYPE]:Wt},Su=Object.freeze(Object.defineProperty({__proto__:null,Diagram:Wt,REGISTRY:ui,diagramStateZ:_r},Symbol.toStringTag,{value:"Module"})),hi=f.z.object({enabled:f.z.boolean(),source:cr.optional().default(or)});class Cn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",hi)}async afterUpdate(t){var a;this.internal.addStatus=X.useOptionalAdder(t);const{source:r}=this.state,{internal:s}=this;this.internal.source=await j(t,r,this.internal.source),await this.updateEnabledState(),(a=s.stopListening)==null||a.call(s),s.stopListening=s.source.onChange(()=>{this.updateEnabledState().catch(this.reportError.bind(this))})}reportError(t){this.internal.addStatus({key:this.key,variant:"error",message:`Failed to update Light: ${t.message}`})}async updateEnabledState(){const t=await this.internal.source.value();t!==this.state.enabled&&this.setState(r=>({...r,enabled:t}))}async afterDelete(){await this.internalAfterDelete()}async internalAfterDelete(){var t,r;this.internal.stopListening(),await((r=(t=this.internal.source).cleanup)==null?void 0:r.call(t))}async render(){}}h(Cn,"TYPE","Light");const Cu={[Cn.TYPE]:Cn},di=f.z.object({region:l.Mo.box,wheelPos:f.z.number(),scrolling:f.z.boolean(),empty:f.z.boolean(),visible:f.z.boolean(),telem:sn.optional().default(zs),font:w.levelZ.optional().default("p"),color:l.Color.z.optional().default(l.ZERO),overshoot:l.G.xy.optional().default({x:0,y:0})}),Eu=.98,te="lower2d",Mu={offset:0n,offsetRef:0n,scrollRef:0},ue=class ue extends y.Leaf{constructor(){super(...arguments);h(this,"schema",ue.z);h(this,"values",new w.Lt([]));h(this,"scrollState",Mu)}async afterUpdate(t){var d;const{internal:r}=this;r.render=G.Context.use(t),r.theme=y.use(t),this.state.color.isZero?this.internal.textColor=r.theme.colors.gray.l8:r.textColor=this.state.color,r.telem=await j(t,this.state.telem,r.telem);const s=X.useErrorHandler(t),{scrolling:a,wheelPos:i}=this.state;if(this.state.scrolling&&!this.prevState.scrolling){const p=this.values.alignmentBounds.upper-1n;this.scrollState={offset:p,offsetRef:p,scrollRef:this.state.wheelPos}}else if(a){const{scrollState:p,values:g}=this,b=Math.ceil((i-this.scrollState.scrollRef)/this.lineHeight);p.offset=this.values.traverseAlignment(p.offsetRef,-BigInt(b)),p.offset<g.alignmentBounds.lower+BigInt(this.visibleLineCount)&&(p.offset=g.alignmentBounds.lower,this.setState(v=>({...v,wheelPos:this.prevState.wheelPos}))),p.offset>=g.alignmentBounds.upper&&this.setState(v=>({...v,scrolling:!1}))}const[c,u]=await this.internal.telem.value();this.values=new w.Lt(u),this.checkEmpty(),(d=r.stopListeningTelem)==null||d.call(r),r.stopListeningTelem=r.telem.onChange(()=>{this.internal.telem.value().then(([p,g])=>{this.checkEmpty(),this.values=new w.Lt(g),this.requestRender()}).catch(p=>s(p,"Failed to update log"))}),this.requestRender()}checkEmpty(){const t=this.values.length===0;t!==this.state.empty&&this.setState(r=>({...r,empty:t}))}async afterDelete(){var s;const{telem:t,render:r}=this.internal;await((s=t.cleanup)==null?void 0:s.call(t)),r.erase(l.Mo.construct(this.state.region),l.G.ZERO,te)}async requestRender(){const{render:t}=this.internal;await t.loop.set({key:`${this.type}-${this.key}`,render:async()=>await this.render(),priority:"high",canvases:[te]})}get lineHeight(){return this.internal.theme.typography[this.state.font].size*this.internal.theme.sizes.base}get totalHeight(){return Math.ceil(this.values.length*this.lineHeight)}get visibleLineCount(){return Math.min(Math.floor((l.Mo.height(this.state.region)-12)/this.lineHeight),this.values.length)}async render(){const{render:t}=this.internal,r=this.state.region;if(l.Mo.areaIsZero(r))return;if(!this.state.visible)return async()=>t.erase(r,l.G.ZERO,te);let s;if(!this.state.scrolling)s=this.values.subIterator(this.values.length-this.visibleLineCount,this.values.length);else{const d=this.values.traverseAlignment(this.scrollState.offset,-BigInt(this.visibleLineCount));s=this.values.subAlignmentSpanIterator(d,this.visibleLineCount)}const a=this.state.region,i=t[te],o=new Xt(i,this.internal.theme),c=t.scissor(a,l.G.ZERO,[te]);this.renderElements(o,s),this.renderScrollbar(o),c();const u=l.Mo.copy(this.state.region);return async({canvases:d})=>t.erase(u,this.state.overshoot,...d)}renderScrollbar(t){const r=this.state.region,s=l.Mo.height(r)/this.totalHeight*l.Mo.height(r);if(s>=l.Mo.height(r)*Eu)return;let a=l.Mo.bottom(r)-s;this.state.scrolling&&(a-=Number(this.values.distance(this.values.alignmentBounds.upper,this.scrollState.offset))/this.values.length*l.Mo.height(r)),a<0&&(a=l.Mo.top(r)),t.container({region:l.Mo.construct({x:l.Mo.right(r)-6,y:a},{width:6,height:s}),bordered:!1,backgroundColor:i=>i.colors.gray.l4})}renderElements(t,r){const s=this.state.region;let a=0;for(const i of r){const o=this.values.dataType.equals(w.g$1.JSON)?JSON.stringify(i):i.toString();t.text({text:o,level:this.state.font,shade:9,position:l.G.translate(l.Mo.topLeft(s),{x:6,y:a*this.lineHeight+6}),code:!0}),a++}}};h(ue,"TYPE","log"),h(ue,"z",di);let De=ue;const Pu={[De.TYPE]:De},fi=f.z.object({trigger:f.z.number(),command:f.z.number().optional(),value:f.z.number(),sink:$s.optional().default(ks),source:As.optional().default(Rs)});class En extends y.Leaf{constructor(){super(...arguments);h(this,"schema",fi)}async afterUpdate(t){this.internal.handleError=X.useAsyncErrorHandler(t);const{sink:r,source:s,trigger:a,command:i}=this.state,{internal:o}=this;o.prevTrigger??(o.prevTrigger=a),await o.handleError(async()=>{var u;this.internal.source=await j(t,s,this.internal.source),o.sink=await $e(t,r,o.sink);const c=o.prevTrigger;o.prevTrigger=a,a>c&&i!=null&&await this.internal.sink.set(i),await this.updateValue(),(u=o.stopListening)==null||u.call(o),o.stopListening=o.source.onChange(()=>void o.handleError(async()=>await this.updateValue()))},"Failed to update Setpoint")}async updateValue(){const t=await this.internal.source.value();t!==this.state.value&&this.setState(r=>({...r,value:t,triggered:!1}))}async afterDelete(){var r,s,a,i;const{internal:t}=this;t.stopListening(),await((s=(r=t.source).cleanup)==null?void 0:s.call(r)),await((i=(a=t.sink).cleanup)==null?void 0:i.call(a))}async render(){}}h(En,"TYPE","Setpoint");const ku={[En.TYPE]:En},pi=f.z.object({triggered:f.z.boolean(),enabled:f.z.boolean(),sink:Yn.optional().default(Pn),source:cr.optional().default(or)});class Mn extends y.Leaf{constructor(){super(...arguments);h(this,"schema",pi)}async afterUpdate(t){var u;this.internal.addStatus=X.useOptionalAdder(t);const{sink:r,source:s,triggered:a,enabled:i}=this.state,{triggered:o}=this.prevState,{internal:c}=this;c.source=await j(t,s,c.source),c.sink=await $e(t,r,c.sink),a&&!o&&await c.sink.set(!i),await this.updateEnabledState(),(u=c.stopListening)==null||u.call(c),c.stopListening=c.source.onChange(()=>{this.updateEnabledState().catch(this.reportError.bind(this))})}reportError(t){this.internal.addStatus({key:this.key,variant:"error",message:`Failed to update Toggle: ${t.message}`})}async updateEnabledState(){const t=await this.internal.source.value();t!==this.state.enabled&&this.setState(r=>({...r,enabled:t,triggered:!1}))}async afterDelete(){await this.internalAfterDelete()}async internalAfterDelete(){var t,r,s,a;this.internal.stopListening(),await((r=(t=this.internal.source).cleanup)==null?void 0:r.call(t)),await((a=(s=this.internal.sink).cleanup)==null?void 0:a.call(s))}async render(){}}h(Mn,"TYPE","Toggle");const Ru={[Mn.TYPE]:Mn},Yu=f.z.object({box:l.Mo.box,telem:dr.optional().default(Ys),backgroundTelem:ur.optional().default(kn),level:w.levelZ.optional().default("p"),color:l.Color.z.optional().default(l.ZERO),precision:f.z.number().optional().default(2),minWidth:f.z.number().optional().default(60),width:f.z.number().optional(),notation:Xs.optional().default("standard"),location:l.K.xy.optional().default({x:"left",y:"center"})}),zu=["upper2d","lower2d"],he=class he extends y.Leaf{constructor(){super(...arguments);h(this,"schema",he.z)}async afterUpdate(t){var s,a;const{internal:r}=this;r.renderCtx=G.Context.use(t),r.theme=y.use(t),this.state.color.isZero?this.internal.textColor=r.theme.colors.gray.l8:r.textColor=this.state.color,r.telem=await j(t,this.state.telem,r.telem),(s=r.stopListening)==null||s.call(r),r.stopListening=this.internal.telem.onChange(()=>this.requestRender()),r.backgroundTelem=await j(t,this.state.backgroundTelem,r.backgroundTelem),(a=r.stopListeningBackground)==null||a.call(r),r.stopListeningBackground=this.internal.backgroundTelem.onChange(()=>this.requestRender()),this.internal.requestRender=I.useOptionalRequest(t),this.requestRender()}async afterDelete(){var r,s,a,i,o,c;const{internal:t}=this;(r=t.stopListening)==null||r.call(t),(s=t.stopListeningBackground)==null||s.call(t),await((i=(a=t.telem).cleanup)==null?void 0:i.call(a)),await((c=(o=t.backgroundTelem).cleanup)==null?void 0:c.call(o)),t.requestRender==null?t.renderCtx.erase(l.Mo.construct(this.state.box),l.G.ZERO,...zu):t.requestRender(tt)}requestRender(){const{requestRender:t}=this.internal;t!=null?t(tt):this.render({})}get fontHeight(){const{theme:t}=this.internal;return t.typography[this.state.level].size*t.sizes.base}maybeUpdateWidth(t){const{theme:r}=this.internal,s=t+r.sizes.base+this.fontHeight;this.state.width==null||this.state.width+this.fontHeight*.5<s||this.state.minWidth>s&&this.state.width!==this.state.minWidth?this.setState(a=>({...a,width:Math.max(s,a.minWidth)})):this.state.width-this.fontHeight>s&&this.setState(a=>({...a,width:Math.max(s,a.minWidth)}))}async render({viewportScale:t=l.b.XY.IDENTITY}){const{renderCtx:r,telem:s,backgroundTelem:a}=this.internal,i=l.Mo.construct(this.state.box);if(l.Mo.areaIsZero(i))return;const{location:o}=this.state,c=r.lower2d.applyScale(t);let u=await s.value();const d=ee.fontString(this.internal.theme,{level:this.state.level,code:!0});c.font=d;const p=this.fontHeight,g=u[0]=="-";g&&(u=u.slice(1));const{theme:b}=this.internal,v=ft.dimensions(u,d,c).width+b.sizes.base;this.internal.requestRender==null&&r.erase(l.Mo.construct(this.prevState.box)),this.maybeUpdateWidth(v);const S={...l.G.ZERO};o.x==="left"&&(S.x=6+p*.75),o.x==="center"&&(S.x=l.Mo.width(i)/2-v/2),o.y==="center"&&(S.y=l.Mo.height(i)/2);const C=l.G.translate(l.Mo.topLeft(i),S),Y=c.scissor(i,void 0);let D=!0;if(this.state.backgroundTelem.type!=kn.type){const P=r.lower2d.applyScale(t),L=await a.value();D=L.isZero,L.isZero||(P.fillStyle=L.hex,P.rect(...l.G.couple(l.Mo.topLeft(i)),l.Mo.width(i),l.Mo.height(i)),P.fill(),c.fillStyle=L.pickByContrast(b.colors.gray.l0,b.colors.gray.l9).hex)}D&&(c.fillStyle=this.internal.textColor.hex),c.textBaseline="middle",g&&c.fillText("-",...l.G.couple(l.G.translateX(C,-p*.6))),c.fillText(u,...l.G.couple(C)),Y()}};h(he,"TYPE","value"),h(he,"z",Yu);let Vt=he;const gi={[Vt.TYPE]:Vt},Lu=Object.freeze(Object.defineProperty({__proto__:null,REGISTRY:gi,Value:Vt},Symbol.toStringTag,{value:"Module"}));exports.AcquireChannelControl=Ye;exports.Annotation=yn;exports.AuthoritySource=ze;exports.BaseProvider=Nt;exports.Button=Sn;exports.Canvas=Na;exports.Canvas$1=ke;exports.Chip=bn;exports.Controller=I;exports.Controller$1=xn;exports.Diagram=Su;exports.Diagram$1=Wt;exports.Indicator=vn;exports.Legend=Tn;exports.Light=Cn;exports.Line=Ce;exports.LinePlot=wn;exports.Log=De;exports.Measure=qt;exports.Provider=Ve;exports.Provider$1=Me;exports.Provider$2=Vn;exports.REASON_DATA=jn;exports.REASON_LAYOUT=tt;exports.REASON_TOOL=st;exports.REGISTRY=pu;exports.REGISTRY$1=vu;exports.REGISTRY$10=cu;exports.REGISTRY$11=Va;exports.REGISTRY$12=tu;exports.REGISTRY$13=Cu;exports.REGISTRY$14=ui;exports.REGISTRY$15=bu;exports.REGISTRY$16=Ka;exports.REGISTRY$17=Tu;exports.REGISTRY$18=Xi;exports.REGISTRY$2=Pu;exports.REGISTRY$3=gi;exports.REGISTRY$4=Wa;exports.REGISTRY$5=Ru;exports.REGISTRY$6=wa;exports.REGISTRY$7=Ps;exports.REGISTRY$8=ku;exports.REGISTRY$9=Ha;exports.Rule=Ft;exports.STATUSES=ei;exports.SetChannelValue=Re;exports.Setpoint=En;exports.StateProvider=jt;exports.Table=Le;exports.Toggle=Mn;exports.Tooltip=Ht;exports.Value=Vt;exports.XAxis=Pe;exports.YAxis=Ee;exports.ZERO_CONTEXT_VALUE=ar;exports.acquireChannelControl=yu;exports.acquireChannelControlPropsZ=ai;exports.aether=au;exports.annotationStateZ=qa;exports.authoritySource=wu;exports.authoritySourceProps=ii;exports.axisStateZ=Ir;exports.buttonStateZ=ci;exports.canvas=gu;exports.canvasStateZ=Gr;exports.channelData=Gs;exports.chipStateZ=Ja;exports.color=Ut;exports.colorGradient=aa;exports.controllerStateZ=ri;exports.coreAxisStateZ=Ue;exports.diagramStateZ=_r;exports.external=fo;exports.indicatorStateZ=oi;exports.interpolateNumber=Se;exports.interpolateRgb=Qn;exports.interpolateString=Ca;exports.legendStateZ=li;exports.lightStateZ=hi;exports.linePlotStateZ=Xa;exports.logState=di;exports.measure=du;exports.measureStateZ=Br;exports.newTickFactory=nr;exports.parseAutoBounds=_a;exports.provider=Li;exports.providerStateZ=ja;exports.providerStateZ$1=pa;exports.providerStateZ$2=Er;exports.regions=pt;exports.rollingAverage=ra;exports.rollingAverageProps=Tr;exports.ruleStateZ=Nr;exports.scaleNumber=oa;exports.setChannelValue=mu;exports.setChannelValuePropsZ=si;exports.setpoint=Js;exports.setpointStateZ=fi;exports.sinkPipeline=Us;exports.sinkPipelinePropsZ=mr;exports.sourcePipeline=Ns;exports.sourcePipelinePropsZ=pr;exports.stateProviderStateZ=Qa;exports.stateZ=Fa;exports.statusZ=ni;exports.streamChannelData=_s;exports.streamChannelValue=Fs;exports.streamChannelValuePropsZ=yr;exports.stringSourceSpecZ=dr;exports.stringifyNumber=na;exports.stringifyNumberProps=vr;exports.sugaredStateZ=ti;exports.tickFactoryProps=Zr;exports.tickType=$r;exports.toggleStateZ=pi;exports.tooltip=hu;exports.tooltipStateZ=Ur;exports.value=Lu;exports.withinBounds=Qs;exports.withinBoundsProps=xr;exports.withinSizeThreshold=Ua;exports.xAxisStateZ=uu;exports.yAxisStateZ=iu;
|