├── .gitignore ├── LICENSE ├── Makefile ├── bar-demo.py ├── demo.py ├── docs ├── .nojekyll ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── assets │ ├── ConnectedDataExplorerComponent-FS-m-lCY.js │ ├── FiraMono-Bold-CLVRCuM9.ttf │ ├── FiraMono-Medium-DU3aDxX5.ttf │ ├── FiraMono-Regular-BTCkDNvf.ttf │ ├── KaTeX_AMS-Regular-BQhdFMY1.woff2 │ ├── KaTeX_AMS-Regular-DMm9YOAa.woff │ ├── KaTeX_AMS-Regular-DRggAlZN.ttf │ ├── KaTeX_Caligraphic-Bold-ATXxdsX0.ttf │ ├── KaTeX_Caligraphic-Bold-BEiXGLvX.woff │ ├── KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 │ ├── KaTeX_Caligraphic-Regular-CTRA-rTL.woff │ ├── KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 │ ├── KaTeX_Caligraphic-Regular-wX97UBjC.ttf │ ├── KaTeX_Fraktur-Bold-BdnERNNW.ttf │ ├── KaTeX_Fraktur-Bold-BsDP51OF.woff │ ├── KaTeX_Fraktur-Bold-CL6g_b3V.woff2 │ ├── KaTeX_Fraktur-Regular-CB_wures.ttf │ ├── KaTeX_Fraktur-Regular-CTYiF6lA.woff2 │ ├── KaTeX_Fraktur-Regular-Dxdc4cR9.woff │ ├── KaTeX_Main-Bold-Cx986IdX.woff2 │ ├── KaTeX_Main-Bold-Jm3AIy58.woff │ ├── KaTeX_Main-Bold-waoOVXN0.ttf │ ├── KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 │ ├── KaTeX_Main-BoldItalic-DzxPMmG6.ttf │ ├── KaTeX_Main-BoldItalic-SpSLRI95.woff │ ├── KaTeX_Main-Italic-3WenGoN9.ttf │ ├── KaTeX_Main-Italic-BMLOBm91.woff │ ├── KaTeX_Main-Italic-NWA7e6Wa.woff2 │ ├── KaTeX_Main-Regular-B22Nviop.woff2 │ ├── KaTeX_Main-Regular-Dr94JaBh.woff │ ├── KaTeX_Main-Regular-ypZvNtVU.ttf │ ├── KaTeX_Math-BoldItalic-B3XSjfu4.ttf │ ├── KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 │ ├── KaTeX_Math-BoldItalic-iY-2wyZ7.woff │ ├── KaTeX_Math-Italic-DA0__PXp.woff │ ├── KaTeX_Math-Italic-flOr_0UB.ttf │ ├── KaTeX_Math-Italic-t53AETM-.woff2 │ ├── KaTeX_SansSerif-Bold-CFMepnvq.ttf │ ├── KaTeX_SansSerif-Bold-D1sUS0GD.woff2 │ ├── KaTeX_SansSerif-Bold-DbIhKOiC.woff │ ├── KaTeX_SansSerif-Italic-C3H0VqGB.woff2 │ ├── KaTeX_SansSerif-Italic-DN2j7dab.woff │ ├── KaTeX_SansSerif-Italic-YYjJ1zSn.ttf │ ├── KaTeX_SansSerif-Regular-BNo7hRIc.ttf │ ├── KaTeX_SansSerif-Regular-CS6fqUqJ.woff │ ├── KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 │ ├── KaTeX_Script-Regular-C5JkGWo-.ttf │ ├── KaTeX_Script-Regular-D3wIWfF6.woff2 │ ├── KaTeX_Script-Regular-D5yQViql.woff │ ├── KaTeX_Size1-Regular-C195tn64.woff │ ├── KaTeX_Size1-Regular-Dbsnue_I.ttf │ ├── KaTeX_Size1-Regular-mCD8mA8B.woff2 │ ├── KaTeX_Size2-Regular-B7gKUWhC.ttf │ ├── KaTeX_Size2-Regular-Dy4dx90m.woff2 │ ├── KaTeX_Size2-Regular-oD1tc_U0.woff │ ├── KaTeX_Size3-Regular-CTq5MqoE.woff │ ├── KaTeX_Size3-Regular-DgpXs0kz.ttf │ ├── KaTeX_Size4-Regular-BF-4gkZK.woff │ ├── KaTeX_Size4-Regular-DWFBv043.ttf │ ├── KaTeX_Size4-Regular-Dl5lxZxV.woff2 │ ├── KaTeX_Typewriter-Regular-C0xS9mPB.woff │ ├── KaTeX_Typewriter-Regular-CO6r4hn1.woff2 │ ├── KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf │ ├── Lora-VariableFont_wght-B2ootaw-.ttf │ ├── PTSans-Bold-D9fedIX3.ttf │ ├── PTSans-Regular-CxL0S8W7.ttf │ ├── VegaLite-D07JSyC_.js │ ├── __vite-browser-external-CIEyP2s7.js │ ├── _baseEach-DHNYGtOc.js │ ├── _baseMap-BXW0_SVK.js │ ├── _baseUniq-BlNMZyiw.js │ ├── _createAggregator-ReXtltZy.js │ ├── any-language-editor-v6ntzTrV.js │ ├── apl-CXdQSnD-.js │ ├── arc-Cuwikxov.js │ ├── architectureDiagram-IEHRJDOE-DJyOE9c0.js │ ├── asciiarmor-D5V0T9Cu.js │ ├── asn1-DWPaVWf6.js │ ├── asterisk-B46aRdXb.js │ ├── blockDiagram-JOT3LUYC-3t7hQYZc.js │ ├── brainfuck-CtZaYBKt.js │ ├── c4Diagram-VJAJSXHY-BmgDitDm.js │ ├── channel-DT3LjMlT.js │ ├── chunk-4BMEZGHF-juS1ELLA.js │ ├── chunk-A2AXSNBT-Co8Zfrpr.js │ ├── chunk-AEK57VVT-Y72Hn9sV.js │ ├── chunk-D6G4REZN-dBJjcl8S.js │ ├── chunk-RZ5BOZE2-gqSVpaRG.js │ ├── chunk-XZIHB7SX-C45uxqC9.js │ ├── circle-play-BsTGrgLY.js │ ├── classDiagram-GIVACNV2-qhF77njY.js │ ├── classDiagram-v2-COTLJTTW-qhF77njY.js │ ├── clike-BgBwzOhw.js │ ├── clojure-DR_hEDJv.js │ ├── clone-DZLovMrS.js │ ├── cmake-DXn5xaP-.js │ ├── cobol-stawOqaz.js │ ├── coffeescript-BTDxI-eT.js │ ├── colors-bszWmPJw.js │ ├── commonlisp-vq6DHwts.js │ ├── compile-CsTNKzEk.js │ ├── crystal-CRzZ78HM.js │ ├── css-ZjFoif2m.js │ ├── cypher-gJDei3ni.js │ ├── cytoscape.esm-bH-fs5wT.js │ ├── d-BShv7fp-.js │ ├── dagre-OKDRZEBW-Cab55Kbx.js │ ├── data-editor-CPnDIq8c.js │ ├── diagram-SSKATNLV-C6TmKvGY.js │ ├── diagram-VNBRO52H-2GblzuVy.js │ ├── diff-UJJ5BM9S.js │ ├── dockerfile-knGOOxt4.js │ ├── dtd-DI9Herc-.js │ ├── dylan-CHJ5qNM_.js │ ├── ebnf-B-Df8AvO.js │ ├── ecl-DPFc0Uaf.js │ ├── edit-page-B4HrwYMr.js │ ├── edit-page-jDQVLtmt.css │ ├── eiffel-DR5c0IrL.js │ ├── elm-D7xaZ7Da.js │ ├── erDiagram-Q7BY3M3F-J-Wig2Sl.js │ ├── erlang-BuqgqA5h.js │ ├── factor-CFXhaUWb.js │ ├── fcl-CVaBTCzQ.js │ ├── flowDiagram-4HSFHLVR-B_Allk5J.js │ ├── forth-Dri_5nFc.js │ ├── fortran-DL7KluxX.js │ ├── ganttDiagram-APWFNJXF-DDAg7rKl.js │ ├── gas-5kEe4nk0.js │ ├── gherkin-B6X1vGSW.js │ ├── gitGraphDiagram-7IBYFJ6S-Bh9Z2Pj3.js │ ├── gradient-yHQUC_QB.png │ ├── graph-D2OIoTg6.js │ ├── groovy-DnIzCrpZ.js │ ├── haskell-CmdsSjFB.js │ ├── haxe-D25e-2l-.js │ ├── home-page-DOmvIdxL.js │ ├── http-BKJkqRj4.js │ ├── iceberg-COKYXo-A.png │ ├── idl-pcmmZuaN.js │ ├── index-33Q7xM_A.css │ ├── index-BbzuPatt.js │ ├── index-BelAJDbG.js │ ├── index-C5qq019G.js │ ├── index-CHikDVPK.js │ ├── index-CNDjQ5fe.js │ ├── index-CVDTCVTM.js │ ├── index-CcWoIc_r.js │ ├── index-D3MhxVn3.js │ ├── index-D3XtisvU.js │ ├── index-D4PFrLQX.js │ ├── index-DKKMD7rv.js │ ├── index-DNj9MLhG.js │ ├── index-DhYqkk4c.js │ ├── index-Dp1UlEue.js │ ├── index-DvyY1C0d.js │ ├── index-G0VFubTN.js │ ├── index-LBDztilZ.js │ ├── index-fvjDxpfz.js │ ├── index-nokCEEHM.js │ ├── infoDiagram-PH2N3AL5-Cm4Xpy5n.js │ ├── init-DLRA0X12.js │ ├── javascript-D48wDJXV.js │ ├── jinja2-DhgKlfW7.js │ ├── journeyDiagram-U35MCT3I-COthohpD.js │ ├── julia-DjdwvFuI.js │ ├── kanban-definition-NDS4AKOZ-v7xaw16w.js │ ├── katex-Blph-pX_.js │ ├── layout-D5y2-fEf.js │ ├── linear-BuATvq_r.js │ ├── livescript-HO6ttBFx.js │ ├── lua-8DXOpKDz.js │ ├── mathematica-IIbmv7SK.js │ ├── mbox-DoeuZPxA.js │ ├── mermaid-BGnxfgCD.js │ ├── mhchem-9pkdwevO.js │ ├── min-DUpp_rh3.js │ ├── mindmap-definition-ALO5MXBD-CJUypedL.js │ ├── mirc-DkvFAiy5.js │ ├── mllike-3c2dg9RT.js │ ├── modelica-DSrSSXCg.js │ ├── mscgen-B2igx18G.js │ ├── mumps-zvxmGV4l.js │ ├── nginx-B4hAVlXN.js │ ├── noise-60BoTA8O.png │ ├── nsis-BvKfQ9lQ.js │ ├── ntriples-FFvkTduk.js │ ├── octave-C4hdQ5Hf.js │ ├── ordinal-DDUp3AbE.js │ ├── oz-qQq7irPq.js │ ├── pascal-CafrKXZF.js │ ├── perl-tdMlh9QA.js │ ├── pieDiagram-IB7DONF6-WpsFJ7NM.js │ ├── pig-CwGJVRC4.js │ ├── postgresql-q8VEBKGg.svg │ ├── powershell-D1ly3AHC.js │ ├── properties-_nPj978X.js │ ├── protobuf-B4y9do6W.js │ ├── pug-_kJOm_E2.js │ ├── puppet-Bc-yJKzi.js │ ├── python-DD-Q2bae.js │ ├── q-B0kTJ4cI.js │ ├── quadrantDiagram-7GDLP6J5-DU1QBVtr.js │ ├── r-BA4EbLKE.js │ ├── radar-MK3ICKWK-BhxDMxL5.js │ ├── range-CtcPcB_L.js │ ├── react-plotly-C44nJYOB.js │ ├── requirementDiagram-KVF5MWMF-D7ak903_.js │ ├── rpm-DI_rRufH.js │ ├── ruby-CR-u2WLS.js │ ├── run-page-BaqszgXL.js │ ├── sankeyDiagram-QLVOVGJD-DdaSyLEE.js │ ├── sas-Bqaci40L.js │ ├── save-worker-CQvBUha3.js │ ├── scheme-qjP0V5Ag.js │ ├── sequenceDiagram-X6HHIX6F-DpiRY3dm.js │ ├── shell-BLav31RL.js │ ├── sieve-r025o_jW.js │ ├── simple-mode-C3vEBAcb.js │ ├── slides-component-Butt8x-k.js │ ├── slides-component-CD4qq_xs.css │ ├── smalltalk-C7J3IyEP.js │ ├── solr-78MBEUkU.js │ ├── sortBy-CK8BMETd.js │ ├── sparql-BRLJFz69.js │ ├── spreadsheet-CGlWr0eM.js │ ├── sql-B3SPsWL6.js │ ├── stateDiagram-DGXRK772-DOMSEHZ0.js │ ├── stateDiagram-v2-YXO3MK2T-DCuj9KxS.js │ ├── step-BwsUM5iJ.js │ ├── stylus-OdhglgkO.js │ ├── swift-B_XXVlXX.js │ ├── tcl-B2fODqDH.js │ ├── terminal-Cqd798FB.js │ ├── terminal-DVzybcfs.css │ ├── textile-BuVhTOzU.js │ ├── tiddlywiki-BgR6AEZu.js │ ├── tiki-CI-ztowC.js │ ├── time-CJGz9Moa.js │ ├── timeline-definition-BDJGKUSR-DX4KceJl.js │ ├── timer-DFzT7np-.js │ ├── toml-BQXy8elZ.js │ ├── tracing-V2_Y9uy4.js │ ├── transform-DjHZbYKP.js │ ├── tree-C1rhMrxo.css │ ├── tree-Drwx15ob.js │ ├── trino-DFsJbQoT.svg │ ├── troff-Ce85hlLp.js │ ├── ttcn-BxnYHtq8.js │ ├── ttcn-cfg-CKJxb-l2.js │ ├── turtle-BkSuIpt-.js │ ├── useMarimoWebSocket-CD_ahDOI.js │ ├── useMarimoWebSocket-DcAzAz16.css │ ├── vb-BHgjm0DN.js │ ├── vbscript-Dawdd5GZ.js │ ├── vega-component-DaX9Wht9.js │ ├── velocity-BdD_26Jv.js │ ├── verilog-B4LBqg_1.js │ ├── vhdl-CWWH2SUo.js │ ├── web-vitals-rCWRSGQR.js │ ├── webidl-CGwyPRYs.js │ ├── worker-DMKWnagd.js │ ├── worker-DXe6aoib.js │ ├── xquery-CVDBqZPY.js │ ├── xychartDiagram-VJFVF3MP-CLP6tmDB.js │ ├── yacas-I8QjZlxf.js │ ├── z80-D8p3gKXp.js │ └── zoom-COrs4lFh.js ├── circle-check.ico ├── circle-play.ico ├── circle-x.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── index.html ├── logo.png ├── manifest.json └── site.webmanifest ├── drawdata ├── __init__.py └── static │ ├── bar_widget.css │ ├── bar_widget.js │ ├── scatter_widget.css │ └── scatter_widget.js ├── imgs ├── calmcode-logo.webp ├── gif.gif ├── logo.png ├── probabl.png ├── update.gif └── widget.gif ├── js ├── bar_widget.js ├── d3.v7.js └── scatter_widget.js ├── readme.md ├── scatter-demo.py └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # pdm 105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 106 | #pdm.lock 107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 108 | # in version control. 109 | # https://pdm.fming.dev/#use-with-ide 110 | .pdm.toml 111 | 112 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 113 | __pypackages__/ 114 | 115 | # Celery stuff 116 | celerybeat-schedule 117 | celerybeat.pid 118 | 119 | # SageMath parsed files 120 | *.sage.py 121 | 122 | # Environments 123 | .env 124 | .venv 125 | env/ 126 | venv/ 127 | ENV/ 128 | env.bak/ 129 | venv.bak/ 130 | 131 | # Spyder project settings 132 | .spyderproject 133 | .spyproject 134 | 135 | # Rope project settings 136 | .ropeproject 137 | 138 | # mkdocs documentation 139 | /site 140 | 141 | # mypy 142 | .mypy_cache/ 143 | .dmypy.json 144 | dmypy.json 145 | 146 | # Pyre type checker 147 | .pyre/ 148 | 149 | # pytype static type analyzer 150 | .pytype/ 151 | 152 | # Cython debug symbols 153 | cython_debug/ 154 | 155 | # PyCharm 156 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 157 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 158 | # and can be added to the global gitignore or merged into this file. For a more nuclear 159 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 160 | esbuild 161 | .DS_Stores -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Vincent D. Warmerdam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: js docs 2 | 3 | install: 4 | # install the build tool for JS written in Golang 5 | curl -fsSL https://esbuild.github.io/dl/v0.19.11 | sh 6 | uv pip install -e . 7 | uv pip install twine wheel jupyterlab marimo 8 | 9 | pypi: 10 | python setup.py sdist 11 | python setup.py bdist_wheel --universal 12 | twine upload dist/* 13 | 14 | js: 15 | ./esbuild --watch=forever --bundle --format=esm --outfile=drawdata/static/scatter_widget.js js/scatter_widget.js 16 | 17 | clean: 18 | rm -rf .ipynb_checkpoints build dist drawdata.egg-info 19 | 20 | 21 | docs: 22 | marimo export html-wasm --output docs --mode edit demo.py 23 | -------------------------------------------------------------------------------- /bar-demo.py: -------------------------------------------------------------------------------- 1 | import marimo 2 | 3 | __generated_with = "0.9.17" 4 | app = marimo.App(width="medium") 5 | 6 | 7 | @app.cell 8 | def __(): 9 | import marimo as mo 10 | from drawdata import BarWidget 11 | return BarWidget, mo 12 | 13 | 14 | @app.cell 15 | def __(BarWidget, mo): 16 | widget = mo.ui.anywidget(BarWidget(height=400, width=700, n_bins=24)) 17 | widget 18 | return (widget,) 19 | 20 | 21 | @app.cell(hide_code=True) 22 | def __(widget): 23 | import numpy as np 24 | 25 | df = widget.data_as_pandas 26 | subset = df.loc[lambda d: d["collection"].isin(["collection3", "collection1"])] 27 | return df, np, subset 28 | 29 | 30 | @app.cell(hide_code=True) 31 | def __(np, subset): 32 | import pandas as pd 33 | 34 | def concat_days(dfin, days=4): 35 | out = dfin.copy() 36 | for day in range(1, days + 1): 37 | adapted = dfin.assign(bin=lambda d: d['bin'] + 24 * day + 1) 38 | out = pd.concat([out, adapted]) 39 | return out 40 | 41 | def add_stats(dfin): 42 | return ( 43 | dfin 44 | .pivot(columns="collection", index="bin", values="value") 45 | .assign(balance=lambda d: d["collection3"] - d["collection1"]) 46 | .assign(cs=lambda d: d["balance"].cumsum()) 47 | .assign(battery=lambda d: np.where(d["cs"] > 0, d["cs"], 0)) 48 | .reset_index() 49 | ) 50 | 51 | 52 | pltr = subset.pipe(concat_days).sort_values(["collection", "bin"]).pipe(add_stats) 53 | return add_stats, concat_days, pd, pltr 54 | 55 | 56 | @app.cell(hide_code=True) 57 | def __(pltr): 58 | import altair as alt 59 | 60 | p1 = alt.Chart(pltr).mark_line(color="red", interpolate="step-after").encode(x="bin", y="cs") 61 | p2 = alt.Chart(pltr).mark_area(interpolate="step-after").encode(x="bin", y="battery") 62 | 63 | total = pltr["battery"].sum() 64 | 65 | (p2 + p1).properties(width=700, title=f"Max battery cap: {pltr['battery'].max(): .2f} kWh, total: {total :.2f} kWh") 66 | return alt, p1, p2, total 67 | 68 | 69 | @app.cell 70 | def __(): 71 | 72 | 73 | 74 | return 75 | 76 | 77 | if __name__ == "__main__": 78 | app.run() 79 | -------------------------------------------------------------------------------- /demo.py: -------------------------------------------------------------------------------- 1 | # /// script 2 | # requires-python = ">=3.12" 3 | # dependencies = [ 4 | # "altair==5.5.0", 5 | # "anywidget==0.9.18", 6 | # "marimo", 7 | # "pandas==2.2.3", 8 | # ] 9 | # /// 10 | 11 | import marimo 12 | 13 | __generated_with = "0.13.6" 14 | app = marimo.App(width="medium") 15 | 16 | 17 | @app.cell 18 | def _(): 19 | import marimo as mo 20 | import pandas as pd 21 | from drawdata import ScatterWidget 22 | return ScatterWidget, mo 23 | 24 | 25 | @app.cell(hide_code=True) 26 | def _(mo): 27 | mo.md( 28 | r""" 29 | # Drawing a `ScatterChart` 30 | 31 | This notebook contains a demo of the `ScatterWidget` inside of the [drawdata](https://github.com/koaning/drawdata) library. You should see that as you draw data, that the chart below updates. 32 | """ 33 | ) 34 | return 35 | 36 | 37 | @app.cell(hide_code=True) 38 | def _(ScatterWidget, mo): 39 | widget = mo.ui.anywidget(ScatterWidget(height=350)) 40 | widget 41 | return (widget,) 42 | 43 | 44 | @app.cell(hide_code=True) 45 | def _(mo, widget): 46 | import altair as alt 47 | 48 | out = mo.md("Draw some data to see the effect here.") 49 | 50 | if widget.value["data"]: 51 | base = alt.Chart(widget.data_as_pandas) 52 | base_bar = base.mark_bar(opacity=0.3, binSpacing=0) 53 | color_domain = widget.data_as_pandas["color"].unique() 54 | 55 | xscale = alt.Scale(domain=(0, widget.value["width"])) 56 | yscale = alt.Scale(domain=(0, widget.value["height"])) 57 | colscale = alt.Scale(domain=color_domain, range=color_domain) 58 | 59 | points = base.mark_circle().encode( 60 | alt.X("x").scale(xscale), 61 | alt.Y("y").scale(yscale), 62 | color="color", 63 | ) 64 | 65 | top_hist = ( 66 | base_bar 67 | .encode( 68 | alt.X("x:Q") 69 | # when using bins, the axis scale is set through 70 | # the bin extent, so we do not specify the scale here 71 | # (which would be ignored anyway) 72 | .bin(maxbins=30, extent=xscale.domain).stack(None).title(""), 73 | alt.Y("count()").stack(None).title(""), 74 | alt.Color("color:N", scale=colscale), 75 | ) 76 | .properties(height=60) 77 | ) 78 | 79 | right_hist = ( 80 | base_bar 81 | .encode( 82 | alt.Y("y:Q") 83 | .bin(maxbins=30, extent=yscale.domain) 84 | .stack(None) 85 | .title(""), 86 | alt.X("count()").stack(None).title(""), 87 | alt.Color("color:N"), 88 | ) 89 | .properties(width=60) 90 | ) 91 | 92 | out = top_hist & (points | right_hist) 93 | 94 | out 95 | return 96 | 97 | 98 | if __name__ == "__main__": 99 | app.run() 100 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/.nojekyll -------------------------------------------------------------------------------- /docs/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/assets/FiraMono-Bold-CLVRCuM9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/FiraMono-Bold-CLVRCuM9.ttf -------------------------------------------------------------------------------- /docs/assets/FiraMono-Medium-DU3aDxX5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/FiraMono-Medium-DU3aDxX5.ttf -------------------------------------------------------------------------------- /docs/assets/FiraMono-Regular-BTCkDNvf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/FiraMono-Regular-BTCkDNvf.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_AMS-Regular-DMm9YOAa.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_AMS-Regular-DMm9YOAa.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_AMS-Regular-DRggAlZN.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_AMS-Regular-DRggAlZN.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Regular-CB_wures.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Regular-CB_wures.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Bold-Cx986IdX.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Bold-Cx986IdX.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Bold-Jm3AIy58.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Bold-Jm3AIy58.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Bold-waoOVXN0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Bold-waoOVXN0.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Italic-3WenGoN9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Italic-3WenGoN9.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Italic-BMLOBm91.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Italic-BMLOBm91.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Regular-B22Nviop.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Regular-B22Nviop.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Regular-Dr94JaBh.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Regular-Dr94JaBh.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Main-Regular-ypZvNtVU.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Main-Regular-ypZvNtVU.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-Italic-DA0__PXp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-Italic-DA0__PXp.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-Italic-flOr_0UB.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-Italic-flOr_0UB.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Math-Italic-t53AETM-.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Math-Italic-t53AETM-.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Script-Regular-C5JkGWo-.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Script-Regular-C5JkGWo-.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Script-Regular-D3wIWfF6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Script-Regular-D5yQViql.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Script-Regular-D5yQViql.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size1-Regular-C195tn64.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size1-Regular-C195tn64.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size2-Regular-oD1tc_U0.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size2-Regular-oD1tc_U0.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size3-Regular-CTq5MqoE.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size3-Regular-CTq5MqoE.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size4-Regular-BF-4gkZK.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size4-Regular-BF-4gkZK.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size4-Regular-DWFBv043.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size4-Regular-DWFBv043.ttf -------------------------------------------------------------------------------- /docs/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff -------------------------------------------------------------------------------- /docs/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 -------------------------------------------------------------------------------- /docs/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf -------------------------------------------------------------------------------- /docs/assets/Lora-VariableFont_wght-B2ootaw-.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/Lora-VariableFont_wght-B2ootaw-.ttf -------------------------------------------------------------------------------- /docs/assets/PTSans-Bold-D9fedIX3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/PTSans-Bold-D9fedIX3.ttf -------------------------------------------------------------------------------- /docs/assets/PTSans-Regular-CxL0S8W7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/PTSans-Regular-CxL0S8W7.ttf -------------------------------------------------------------------------------- /docs/assets/__vite-browser-external-CIEyP2s7.js: -------------------------------------------------------------------------------- 1 | var a={};export{a as default}; 2 | -------------------------------------------------------------------------------- /docs/assets/_baseEach-DHNYGtOc.js: -------------------------------------------------------------------------------- 1 | import{c8 as n,c9 as r,ca as t,P as u,cb as e,cc as a,cd as i,ce as c,av as f,cf as o,aw as s,ai as v,cg as l,x as b}from"./index-D3XtisvU.js";function d(n){return n==n&&!t(n)}function g(n,r){return function(t){return null!=t&&(t[n]===r&&(void 0!==r||n in Object(t)))}}function j(t){var e=function(n){for(var r=u(n),t=r.length;t--;){var e=r[t],a=n[e];r[t]=[e,a,d(a)]}return r}(t);return 1==e.length&&e[0][2]?g(e[0][0],e[0][1]):function(u){return u===t||function(t,u,e,a){var i=e.length,c=i;if(null==t)return!c;for(t=Object(t);i--;){var f=e[i];if(f[2]?f[1]!==t[f[0]]:!(f[0]in t))return!1}for(;++i":[null,"greaterThan"],"≥":[null,"greaterThanOrEqual"],"≠":[null,"notEqual"],"≡":["depth","match"],"≢":[null,"notMatch"],"∈":["enlist","membership"],"⍷":[null,"find"],"∪":["unique","union"],"∩":[null,"intersection"],"∼":["not","without"],"∨":[null,"or"],"∧":[null,"and"],"⍱":[null,"nor"],"⍲":[null,"nand"],"⍴":["shapeOf","reshape"],",":["ravel","catenate"],"⍪":[null,"firstAxisCatenate"],"⌽":["reverse","rotate"],"⊖":["axis1Reverse","axis1Rotate"],"⍉":["transpose",null],"↑":["first","take"],"↓":[null,"drop"],"⊂":["enclose","partitionWithAxis"],"⊃":["diclose","pick"],"⌷":[null,"index"],"⍋":["gradeUp",null],"⍒":["gradeDown",null],"⊤":["encode",null],"⊥":["decode",null],"⍕":["format","formatByExample"],"⍎":["execute",null],"⊣":["stop","left"],"⊢":["pass","right"]},n=/[\.\/⌿⍀¨⍣]/,t=/⍬/,l=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,a=/←/,r=/[⍝#].*$/;const i={name:"apl",startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(i,u){var o,s,c;return i.eatSpace()?null:'"'===(o=i.next())||"'"===o?(i.eatWhile((s=o,c=!1,function(e){return c=e,e!==s||"\\"===c})),i.next(),u.prev=!0,"string"):/[\[{\(]/.test(o)?(u.prev=!1,null):/[\]}\)]/.test(o)?(u.prev=!0,null):t.test(o)?(u.prev=!1,"atom"):/[¯\d]/.test(o)?(u.func?(u.func=!1,u.prev=!1):u.prev=!0,i.eatWhile(/[\w\.]/),"number"):n.test(o)||a.test(o)?"operator":l.test(o)?(u.func=!0,u.prev=!1,e[o]?"variableName.function.standard":"variableName.function"):r.test(o)?(i.skipToEnd(),"comment"):"∘"===o&&"."===i.peek()?(i.next(),"variableName.function"):(i.eatWhile(/[\w\$_]/),u.prev=!0,"keyword")}};export{i as apl}; 2 | -------------------------------------------------------------------------------- /docs/assets/arc-Cuwikxov.js: -------------------------------------------------------------------------------- 1 | import{w as n,p as t,c as r,s as c,a as e,h as a,e as u,t as i,b as o,m as y,d as l,f,g as s,i as p,j as x}from"./step-BwsUM5iJ.js";function h(n){return n.innerRadius}function v(n){return n.outerRadius}function g(n){return n.startAngle}function d(n){return n.endAngle}function m(n){return n&&n.padAngle}function T(n,t,r,c,e,a,u){var i=n-r,y=t-c,l=(u?a:-a)/o(i*i+y*y),f=l*y,s=-l*i,x=n+f,h=t+s,v=r+f,g=c+s,d=(x+v)/2,m=(h+g)/2,T=v-x,A=g-h,R=T*T+A*A,j=e-a,b=x*g-v*h,w=(A<0?-1:1)*o(p(0,j*j*R-b*b)),P=(b*A-T*w)/R,k=(-b*T-A*w)/R,q=(b*A+T*w)/R,z=(-b*T+A*w)/R,B=P-d,C=k-m,D=q-d,E=z-m;return B*B+C*C>D*D+E*E&&(P=q,k=z),{cx:P,cy:k,x01:-f,y01:-s,x11:P*(e/j-1),y11:k*(e/j-1)}}function A(){var p=h,A=v,R=e(0),j=null,b=g,w=d,P=m,k=null,q=n(z);function z(){var n,e,h=+p.apply(this,arguments),v=+A.apply(this,arguments),g=b.apply(this,arguments)-a,d=w.apply(this,arguments)-a,m=l(d-g),z=d>g;if(k||(k=n=q()),vu)if(m>i-u)k.moveTo(v*r(g),v*c(g)),k.arc(0,0,v,g,d,!z),h>u&&(k.moveTo(h*r(d),h*c(d)),k.arc(0,0,h,d,g,z));else{var B,C,D=g,E=d,F=g,G=d,H=m,I=m,J=P.apply(this,arguments)/2,K=J>u&&(j?+j.apply(this,arguments):o(h*h+v*v)),L=y(l(v-h)/2,+R.apply(this,arguments)),M=L,N=L;if(K>u){var O=s(K/h*c(J)),Q=s(K/v*c(J));(H-=2*O)>u?(F+=O*=z?1:-1,G-=O):(H=0,F=G=(g+d)/2),(I-=2*Q)>u?(D+=Q*=z?1:-1,E-=Q):(I=0,D=E=(g+d)/2)}var S=v*r(D),U=v*c(D),V=h*r(G),W=h*c(G);if(L>u){var X,Y=v*r(E),Z=v*c(E),$=h*r(F),_=h*c(F);if(mu?N>u?(B=T($,_,S,U,v,N,z),C=T(Y,Z,V,W,v,N,z),k.moveTo(B.cx+B.x01,B.cy+B.y01),Nu&&H>u?M>u?(B=T(V,W,Y,Z,h,-M,z),C=T(S,U,$,_,h,-M,z),k.lineTo(B.cx+B.x01,B.cy+B.y01),M"===o?"atom":"."===o||","===o?"def":void(t.eol()&&(n.commentLine=!1))}};export{t as brainfuck}; 2 | -------------------------------------------------------------------------------- /docs/assets/channel-DT3LjMlT.js: -------------------------------------------------------------------------------- 1 | import{U as a,C as r}from"./mermaid-BGnxfgCD.js";const s=(s,o)=>a.lang.round(r.parse(s)[o]);export{s as c}; 2 | -------------------------------------------------------------------------------- /docs/assets/chunk-4BMEZGHF-juS1ELLA.js: -------------------------------------------------------------------------------- 1 | import{_ as c}from"./mermaid-BGnxfgCD.js";function l(c,l){var t,e,a;c.accDescr&&(null==(t=l.setAccDescription)||t.call(l,c.accDescr)),c.accTitle&&(null==(e=l.setAccTitle)||e.call(l,c.accTitle)),c.title&&(null==(a=l.setDiagramTitle)||a.call(l,c.title))}c(l,"populateCommonDb");export{l as p}; 2 | -------------------------------------------------------------------------------- /docs/assets/chunk-D6G4REZN-dBJjcl8S.js: -------------------------------------------------------------------------------- 1 | import{_ as t,m as a,i as r}from"./mermaid-BGnxfgCD.js";var s=t(((t,a)=>{const r=t.append("rect");if(r.attr("x",a.x),r.attr("y",a.y),r.attr("fill",a.fill),r.attr("stroke",a.stroke),r.attr("width",a.width),r.attr("height",a.height),a.name&&r.attr("name",a.name),a.rx&&r.attr("rx",a.rx),a.ry&&r.attr("ry",a.ry),void 0!==a.attrs)for(const s in a.attrs)r.attr(s,a.attrs[s]);return a.class&&r.attr("class",a.class),r}),"drawRect"),e=t(((t,a)=>{const r={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};s(t,r).lower()}),"drawBackgroundRect"),n=t(((t,r)=>{const s=r.text.replace(a," "),e=t.append("text");e.attr("x",r.x),e.attr("y",r.y),e.attr("class","legend"),e.style("text-anchor",r.anchor),r.class&&e.attr("class",r.class);const n=e.append("tspan");return n.attr("x",r.x+2*r.textMargin),n.text(s),e}),"drawText"),x=t(((t,a,s,e)=>{const n=t.append("image");n.attr("x",a),n.attr("y",s);const x=r.sanitizeUrl(e);n.attr("xlink:href",x)}),"drawImage"),i=t(((t,a,s,e)=>{const n=t.append("use");n.attr("x",a),n.attr("y",s);const x=r.sanitizeUrl(e);n.attr("xlink:href",`#${x}`)}),"drawEmbeddedImage"),c=t((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),o=t((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj");export{e as a,o as b,i as c,s as d,x as e,n as f,c as g}; 2 | -------------------------------------------------------------------------------- /docs/assets/chunk-RZ5BOZE2-gqSVpaRG.js: -------------------------------------------------------------------------------- 1 | import{_ as t,d as e,l as i}from"./mermaid-BGnxfgCD.js";import{s as o}from"./transform-DjHZbYKP.js";var s=t(((t,e)=>{let i;"sandbox"===e&&(i=o("#i"+t));return o("sandbox"===e?i.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)}),"getDiagramElement"),a=t(((t,o,s,a)=>{t.attr("class",s);const{width:n,height:h,x:g,y:c}=r(t,o);e(t,h,n,a);const m=d(g,c,n,h,o);t.attr("viewBox",m),i.debug(`viewBox configured: ${m} with padding: ${o}`)}),"setupViewPortForSVG"),r=t(((t,e)=>{var i;const o=(null==(i=t.node())?void 0:i.getBBox())||{width:0,height:0,x:0,y:0};return{width:o.width+2*e,height:o.height+2*e,x:o.x,y:o.y}}),"calculateDimensionsWithPadding"),d=t(((t,e,i,o,s)=>`${t-s} ${e-s} ${i} ${o}`),"createViewBox");export{s as g,a as s}; 2 | -------------------------------------------------------------------------------- /docs/assets/chunk-XZIHB7SX-C45uxqC9.js: -------------------------------------------------------------------------------- 1 | var t;import{_ as i}from"./mermaid-BGnxfgCD.js";var r=(i(t=class{constructor(t){this.init=t,this.records=this.init()}reset(){this.records=this.init()}},"ImperativeState"),t);export{r as I}; 2 | -------------------------------------------------------------------------------- /docs/assets/circle-play-BsTGrgLY.js: -------------------------------------------------------------------------------- 1 | import{u as c}from"./index-D3XtisvU.js"; 2 | /** 3 | * @license lucide-react v0.503.0 - ISC 4 | * 5 | * This source code is licensed under the ISC license. 6 | * See the LICENSE file in the root directory of this source tree. 7 | */const o=c("circle-play",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]]);export{o as C}; 8 | -------------------------------------------------------------------------------- /docs/assets/classDiagram-GIVACNV2-qhF77njY.js: -------------------------------------------------------------------------------- 1 | import{s as r,c as s,a as t,C as a}from"./chunk-A2AXSNBT-Co8Zfrpr.js";import{_ as e}from"./mermaid-BGnxfgCD.js";import"./transform-DjHZbYKP.js";import"./chunk-RZ5BOZE2-gqSVpaRG.js";import"./index-D3XtisvU.js";import"./step-BwsUM5iJ.js";import"./timer-DFzT7np-.js";var o={parser:t,get db(){return new a},renderer:s,styles:r,init:e((r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute}),"init")};export{o as diagram}; 2 | -------------------------------------------------------------------------------- /docs/assets/classDiagram-v2-COTLJTTW-qhF77njY.js: -------------------------------------------------------------------------------- 1 | import{s as r,c as s,a as t,C as a}from"./chunk-A2AXSNBT-Co8Zfrpr.js";import{_ as e}from"./mermaid-BGnxfgCD.js";import"./transform-DjHZbYKP.js";import"./chunk-RZ5BOZE2-gqSVpaRG.js";import"./index-D3XtisvU.js";import"./step-BwsUM5iJ.js";import"./timer-DFzT7np-.js";var o={parser:t,get db(){return new a},renderer:s,styles:r,init:e((r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute}),"init")};export{o as diagram}; 2 | -------------------------------------------------------------------------------- /docs/assets/clone-DZLovMrS.js: -------------------------------------------------------------------------------- 1 | import{b as r}from"./_baseUniq-BlNMZyiw.js";function n(n){return r(n,4)}export{n as c}; 2 | -------------------------------------------------------------------------------- /docs/assets/cmake-DXn5xaP-.js: -------------------------------------------------------------------------------- 1 | var n=/({)?[a-zA-Z0-9_]+(})?/;function e(n,e){for(var t,i,a=!1;!n.eol()&&(t=n.next())!=e.pending;){if("$"===t&&"\\"!=i&&'"'==e.pending){a=!0;break}i=t}return a&&n.backUp(1),t==e.pending?e.continueString=!1:e.continueString=!0,"string"}const t={name:"cmake",startState:function(){var n={inDefinition:!1,inInclude:!1,continueString:!1,pending:!1};return n},token:function(t,i){return t.eatSpace()?null:function(t,i){var a=t.next();return"$"===a?t.match(n)?"variableName.special":"variable":i.continueString?(t.backUp(1),e(t,i)):t.match(/(\s+)?\w+\(/)||t.match(/(\s+)?\w+\ \(/)?(t.backUp(1),"def"):"#"==a?(t.skipToEnd(),"comment"):"'"==a||'"'==a?(i.pending=a,e(t,i)):"("==a||")"==a?"bracket":a.match(/[0-9]/)?"number":(t.eatWhile(/[\w-]/),null)}(t,i)}};export{t as cmake}; 2 | -------------------------------------------------------------------------------- /docs/assets/coffeescript-BTDxI-eT.js: -------------------------------------------------------------------------------- 1 | var e="error";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,r=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,o=/^[_A-Za-z$][_A-Za-z$0-9]*/,c=/^@[_A-Za-z$][_A-Za-z$0-9]*/,i=t(["and","or","not","is","isnt","in","instanceof","typeof"]),a=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],f=t(a.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));a=t(a);var p=/^('{3}|\"{3}|['\"])/,s=/^(\/{3}|\/)/,u=t(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function l(t,a){if(t.sol()){null===a.scope.align&&(a.scope.align=!1);var l=a.scope.offset;if(t.eatSpace()){var h=t.indentation();return h>l&&"coffee"==a.scope.type?"indent":h0&&v(t,a)}if(t.eatSpace())return null;var k=t.peek();if(t.match("####"))return t.skipToEnd(),"comment";if(t.match("###"))return a.tokenize=m,a.tokenize(t,a);if("#"===k)return t.skipToEnd(),"comment";if(t.match(/^-?[0-9\.]/,!1)){var g=!1;if(t.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(g=!0),t.match(/^-?\d+\.\d*/)&&(g=!0),t.match(/^-?\.\d+/)&&(g=!0),g)return"."==t.peek()&&t.backUp(1),"number";var y=!1;if(t.match(/^-?0x[0-9a-f]+/i)&&(y=!0),t.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(y=!0),t.match(/^-?0(?![\dx])/i)&&(y=!0),y)return"number"}if(t.match(p))return a.tokenize=d(t.current(),!1,"string"),a.tokenize(t,a);if(t.match(s)){if("/"!=t.current()||t.match(/^.*\//,!1))return a.tokenize=d(t.current(),!0,"string.special"),a.tokenize(t,a);t.backUp(1)}return t.match(n)||t.match(i)?"operator":t.match(r)?"punctuation":t.match(u)?"atom":t.match(c)||a.prop&&t.match(o)?"property":t.match(f)?"keyword":t.match(o)?"variable":(t.next(),e)}function d(e,t,n){return function(r,o){for(;!r.eol();)if(r.eatWhile(/[^'"\/\\]/),r.eat("\\")){if(r.next(),t&&r.eol())return n}else{if(r.match(e))return o.tokenize=l,n;r.eat(/['"\/]/)}return t&&(o.tokenize=l),n}}function m(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=l;break}e.eatWhile("#")}return"comment"}function h(e,t,n="coffee"){for(var r=0,o=!1,c=null,i=t.scope;i;i=i.prev)if("coffee"===i.type||"}"==i.type){r=i.offset+e.indentUnit;break}"coffee"!==n?(o=null,c=e.column()+e.current().length):t.scope.align&&(t.scope.align=!1),t.scope={offset:r,type:n,prev:t.scope,align:o,alignOffset:c}}function v(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var n=e.indentation(),r=!1,o=t.scope;o;o=o.prev)if(n===o.offset){r=!0;break}if(!r)return!0;for(;t.scope.prev&&t.scope.offset!==n;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}const k={name:"coffeescript",startState:function(){return{tokenize:l,scope:{offset:0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(t,n){var r=null===n.scope.align&&n.scope;r&&t.sol()&&(r.align=!1);var o=function(t,n){var r=n.tokenize(t,n),o=t.current();"return"===o&&(n.dedent=!0),(("->"===o||"=>"===o)&&t.eol()||"indent"===r)&&h(t,n);var c="[({".indexOf(o);if(-1!==c&&h(t,n,"])}".slice(c,c+1)),a.exec(o)&&h(t,n),"then"==o&&v(t,n),"dedent"===r&&v(t,n))return e;if(-1!==(c="])}".indexOf(o))){for(;"coffee"==n.scope.type&&n.scope.prev;)n.scope=n.scope.prev;n.scope.type==o&&(n.scope=n.scope.prev)}return n.dedent&&t.eol()&&("coffee"==n.scope.type&&n.scope.prev&&(n.scope=n.scope.prev),n.dedent=!1),"indent"==r||"dedent"==r?null:r}(t,n);return o&&"comment"!=o&&(r&&(r.align=!0),n.prop="punctuation"==o&&"."==t.current()),o},indent:function(e,t){if(e.tokenize!=l)return 0;var n=e.scope,r=t&&"])}".indexOf(t.charAt(0))>-1;if(r)for(;"coffee"==n.type&&n.prev;)n=n.prev;var o=r&&n.type===t.charAt(0);return n.align?n.alignOffset-(o?1:0):(o?n.prev:n).offset},languageData:{commentTokens:{line:"#"}}};export{k as coffeeScript}; 2 | -------------------------------------------------------------------------------- /docs/assets/colors-bszWmPJw.js: -------------------------------------------------------------------------------- 1 | function r(r){for(var e=r.length/6|0,n=new Array(e),t=0;t=&|~%^]/;const d={name:"cypher",startState:function(){return{tokenize:n,context:null,indent:0,col:0}},token:function(t,n){if(t.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=t.indentation()),t.eatSpace())return null;var o=n.tokenize(t,n);if("comment"!==o&&n.context&&null==n.context.align&&"pattern"!==n.context.type&&(n.context.align=!0),"("===e)r(n,")",t.column());else if("["===e)r(n,"]",t.column());else if("{"===e)r(n,"}",t.column());else if(/[\]\}\)]/.test(e)){for(;n.context&&"pattern"===n.context.type;)a(n);n.context&&e===n.context.type&&a(n)}else"."===e&&n.context&&"pattern"===n.context.type?a(n):/atom|string|variable/.test(o)&&n.context&&(/[\}\]]/.test(n.context.type)?r(n,"pattern",t.column()):"pattern"!==n.context.type||n.context.align||(n.context.align=!0,n.context.col=t.column()));return o},indent:function(e,t,n){var r=t&&t.charAt(0),a=e.context;if(/[\]\}]/.test(r))for(;a&&"pattern"===a.type;)a=a.prev;var o=a&&r===a.type;return a?"keywords"===a.type?null:a.align?a.col+(o?0:1):a.indent+(o?0:n.unit):0}};export{d as cypher}; 2 | -------------------------------------------------------------------------------- /docs/assets/d-BShv7fp-.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function d(e,t){var n,i=e.next();if(s[i]){var d=s[i](e,t);if(!1!==d)return d}if('"'==i||"'"==i||"`"==i)return t.tokenize=(n=i,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!c)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(i))return r=i,null;if(/\d/.test(i))return e.eatWhile(/[\w\.]/),"number";if("/"==i){if(e.eat("+"))return t.tokenize=p,p(e,t);if(e.eat("*"))return t.tokenize=m,m(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(f.test(i))return e.eatWhile(f),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var y=e.current();return o.propertyIsEnumerable(y)?(l.propertyIsEnumerable(y)&&(r="newstatement"),"keyword"):a.propertyIsEnumerable(y)?(l.propertyIsEnumerable(y)&&(r="newstatement"),"builtin"):u.propertyIsEnumerable(y)?"atom":"variable"}function m(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function p(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="+"==n}return"comment"}function y(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function h(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new y(r,t,n,null,e.context)}function b(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const k={name:"d",startState:function(e){return{tokenize:null,context:new y(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;r=null;var i=(t.tokenize||d)(e,t);if("comment"==i||"meta"==i)return i;if(null==n.align&&(n.align=!0),";"!=r&&":"!=r&&","!=r||"statement"!=n.type)if("{"==r)h(t,e.column(),"}");else if("["==r)h(t,e.column(),"]");else if("("==r)h(t,e.column(),")");else if("}"==r){for(;"statement"==n.type;)n=b(t);for("}"==n.type&&(n=b(t));"statement"==n.type;)n=b(t)}else r==n.type?b(t):(("}"==n.type||"top"==n.type)&&";"!=r||"statement"==n.type&&"newstatement"==r)&&h(t,e.column(),"statement");else b(t);return t.startOfLine=!1,i},indent:function(e,t,n){if(e.tokenize!=d&&null!=e.tokenize)return null;var r=e.context,o=t&&t.charAt(0);"statement"==r.type&&"}"==o&&(r=r.prev);var a=o==r.type;return"statement"==r.type?r.indented+("{"==o?0:i||n.unit):r.align?r.column+(a?0:1):r.indented+(a?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};export{k as d}; 2 | -------------------------------------------------------------------------------- /docs/assets/diagram-VNBRO52H-2GblzuVy.js: -------------------------------------------------------------------------------- 1 | import{p as t}from"./chunk-4BMEZGHF-juS1ELLA.js";import{_ as e,s as a,g as r,q as o,p as n,a as s,b as l,E as i,I as c,d,y as p,F as b,G as k,l as g}from"./mermaid-BGnxfgCD.js";import{p as h}from"./radar-MK3ICKWK-BhxDMxL5.js";import"./index-D3XtisvU.js";import"./transform-DjHZbYKP.js";import"./timer-DFzT7np-.js";import"./step-BwsUM5iJ.js";import"./_baseEach-DHNYGtOc.js";import"./_baseUniq-BlNMZyiw.js";import"./min-DUpp_rh3.js";import"./_baseMap-BXW0_SVK.js";import"./clone-DZLovMrS.js";import"./_createAggregator-ReXtltZy.js";var m={packet:[]},f=structuredClone(m),u=k.packet,x=e((()=>{const t=i({...u,...b().packet});return t.showBits&&(t.paddingY+=10),t}),"getConfig"),$=e((()=>f.packet),"getPacket"),w={pushWord:e((t=>{t.length>0&&f.packet.push(t)}),"pushWord"),getPacket:$,getConfig:x,clear:e((()=>{p(),f=structuredClone(m)}),"clear"),setAccTitle:l,getAccTitle:s,setDiagramTitle:n,getDiagramTitle:o,getAccDescription:r,setAccDescription:a},y=e((e=>{t(e,w);let a=-1,r=[],o=1;const{bitsPerRow:n}=w.getConfig();for(let{start:t,end:s,label:l}of e.blocks){if(s&&s{if(void 0===t.end&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:e*a-1,label:t.label},{start:e*a,end:t.end,label:t.label}]}),"getNextFittingBlock"),B={parse:e((async t=>{const e=await h("packet",t);g.debug(e),y(e)}),"parse")},j=e(((t,e,a,r)=>{const o=r.db,n=o.getConfig(),{rowHeight:s,paddingY:l,bitWidth:i,bitsPerRow:p}=n,b=o.getPacket(),k=o.getDiagramTitle(),g=s+l,h=g*(b.length+1)-(k?0:s),m=i*p+2,f=c(e);f.attr("viewbox",`0 0 ${m} ${h}`),d(f,h,m,n.useMaxWidth);for(const[c,d]of b.entries())F(f,d,c,n);f.append("text").text(k).attr("x",m/2).attr("y",h-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")}),"draw"),F=e(((t,e,a,{rowHeight:r,paddingX:o,paddingY:n,bitWidth:s,bitsPerRow:l,showBits:i})=>{const c=t.append("g"),d=a*(r+n)+n;for(const p of e){const t=p.start%l*s+1,e=(p.end-p.start+1)*s-o;if(c.append("rect").attr("x",t).attr("y",d).attr("width",e).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",t+e/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(p.label),!i)continue;const a=p.end===p.start,n=d-2;c.append("text").attr("x",t+(a?e/2:0)).attr("y",n).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(p.start),a||c.append("text").attr("x",t+e).attr("y",n).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(p.end)}}),"drawWord"),W={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},P={parser:B,db:w,renderer:{draw:j},styles:e((({packet:t}={})=>{const e=i(W,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`}),"styles")};export{P as diagram}; 2 | -------------------------------------------------------------------------------- /docs/assets/diff-UJJ5BM9S.js: -------------------------------------------------------------------------------- 1 | var e={"+":"inserted","-":"deleted","@":"meta"};const r={name:"diff",token:function(r){var n=r.string.search(/[\t ]+?$/);if(!r.sol()||0===n)return r.skipToEnd(),("error "+(e[r.string.charAt(0)]||"")).replace(/ $/,"");var t=e[r.peek()]||r.skipToEnd();return-1===n?r.skipToEnd():r.pos=n,t}};export{r as diff}; 2 | -------------------------------------------------------------------------------- /docs/assets/dockerfile-knGOOxt4.js: -------------------------------------------------------------------------------- 1 | import{s as e}from"./simple-mode-C3vEBAcb.js";var n="from",t=new RegExp("^(\\s*)\\b("+n+")\\b","i"),r=["run","cmd","entrypoint","shell"],o=new RegExp("^(\\s*)("+r.join("|")+")(\\s+\\[)","i"),l="expose",s=new RegExp("^(\\s*)("+l+")(\\s+)","i"),x="("+[n,l].concat(r).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")";const g=e({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:t,token:[null,"keyword"],sol:!0,next:"from"},{regex:new RegExp("^(\\s*)"+x+"(\\s*)(#.*)?$","i"),token:[null,"keyword",null,"error"],sol:!0},{regex:o,token:[null,"keyword",null],sol:!0,next:"array"},{regex:s,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:new RegExp("^(\\s*)"+x+"(\\s+)","i"),token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}});export{g as dockerFile}; 2 | -------------------------------------------------------------------------------- /docs/assets/dtd-DI9Herc-.js: -------------------------------------------------------------------------------- 1 | var t;function e(e,n){return t=n,e}function n(t,a){var u,i,l,c=t.next();if("<"!=c||!t.eat("!")){if("<"==c&&t.eat("?"))return a.tokenize=(i="meta",l="?>",function(t,e){for(;!t.eol();){if(t.match(l)){e.tokenize=n;break}t.next()}return i}),e("meta",c);if("#"==c&&t.eatWhile(/[\w]/))return e("atom","tag");if("|"==c)return e("keyword","separator");if(c.match(/[\(\)\[\]\-\.,\+\?>]/))return e(null,c);if(c.match(/[\[\]]/))return e("rule",c);if('"'==c||"'"==c)return a.tokenize=(u=c,function(t,r){for(var a,i=!1;null!=(a=t.next());){if(a==u&&!i){r.tokenize=n;break}i=!i&&"\\"==a}return e("string","tag")}),a.tokenize(t,a);if(t.eatWhile(/[a-zA-Z\?\+\d]/)){var o=t.current();return null!==o.substr(o.length-1,o.length).match(/\?|\+/)&&t.backUp(1),e("tag","tag")}return"%"==c||"*"==c?e("number","number"):(t.eatWhile(/[\w\\\-_%.{,]/),e(null,null))}return t.eatWhile(/[\-]/)?(a.tokenize=r,r(t,a)):t.eatWhile(/[\w]/)?e("keyword","doindent"):void 0}function r(t,r){for(var a,u=0;null!=(a=t.next());){if(u>=2&&">"==a){r.tokenize=n;break}u="-"==a?u+1:0}return e("comment","comment")}const a={name:"dtd",startState:function(){return{tokenize:n,baseIndent:0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;var r=n.tokenize(e,n),a=n.stack[n.stack.length-1];return"["==e.current()||"doindent"===t||"["==t?n.stack.push("rule"):"endtag"===t?n.stack[n.stack.length-1]="endtag":"]"==e.current()||"]"==t||">"==t&&"rule"==a?n.stack.pop():"["==t&&n.stack.push("["),r},indent:function(e,n,r){var a=e.stack.length;return"]"===n.charAt(0)?a--:">"===n.substr(n.length-1,n.length)&&("<"===n.substr(0,1)||"doindent"==t&&n.length>1||("doindent"==t?a--:">"==t&&n.length>1||"tag"==t&&">"!==n||("tag"==t&&"rule"==e.stack[e.stack.length-1]?a--:"tag"==t?a++:">"===n&&"rule"==e.stack[e.stack.length-1]&&">"===t?a--:">"===n&&"rule"==e.stack[e.stack.length-1]||("<"!==n.substr(0,1)&&">"===n.substr(0,1)?a-=1:">"===n||(a-=1)))),null!=t&&"]"!=t||a--),e.baseIndent+a*r.unit},languageData:{indentOnInput:/^\s*[\]>]$/}};export{a as dtd}; 2 | -------------------------------------------------------------------------------- /docs/assets/dylan-CHJ5qNM_.js: -------------------------------------------------------------------------------- 1 | function e(e,n){for(var t=0;t",symbolGlobal:"\\*"+i+"\\*",symbolConstant:"\\$"+i},o={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variableName.standard",symbolConstant:"variableName.constant"};for(var l in a)a.hasOwnProperty(l)&&(a[l]=new RegExp("^"+a[l]));a.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var f={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},c={},s={};function u(e,n,t){return n.tokenize=t,t(e,n)}function m(e,t){var i=e.peek();if("'"==i||'"'==i)return e.next(),u(e,t,p(i,"string"));if("/"==i){if(e.next(),e.eat("*"))return u(e,t,d);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(i)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if("#"==i)return e.next(),'"'==(i=e.peek())?(e.next(),u(e,t,p('"',"string"))):"b"==i?(e.next(),e.eatWhile(/[01]/),"number"):"x"==i?(e.next(),e.eatWhile(/[\da-f]/i),"number"):"o"==i?(e.next(),e.eatWhile(/[0-7]/),"number"):"#"==i?(e.next(),"punctuation"):"["==i||"("==i?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if("~"==i)return e.next(),"="==(i=e.peek())?(e.next(),"="==(i=e.peek())?(e.next(),"operator"):"operator"):"operator";if(":"==i){if(e.next(),"="==(i=e.peek()))return e.next(),"operator";if(":"==i)return e.next(),"punctuation"}else{if(-1!="[](){}".indexOf(i))return e.next(),"bracket";if(-1!=".,".indexOf(i))return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var l in a)if(a.hasOwnProperty(l)){var f=a[l];if(f instanceof Array&&n(f,(function(n){return e.match(n)}))||e.match(f))return o[l]}return/[+\-*\/^=<>&|]/.test(i)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),c.hasOwnProperty(e.current())?s[e.current()]:e.current().match(r)?"variable":(e.next(),"variableName.standard"))}function d(e,n){for(var t,i=!1,r=!1,a=0;t=e.next();){if("/"==t&&i){if(!(a>0)){n.tokenize=m;break}a--}else"*"==t&&r&&a++;i="*"==t,r="/"==t}return"comment"}function p(e,n){return function(t,i){for(var r,a=!1,o=!1;null!=(r=t.next());){if(r==e&&!a){o=!0;break}a=!a&&"\\"==r}return!o&&a||(i.tokenize=m),n}}e(["keyword","definition","simpleDefinition","signalingCalls"],(function(n){e(t[n],(function(e){c[e]=n,s[e]=f[n]}))}));const b={name:"dylan",startState:function(){return{tokenize:m,currentIndent:0}},token:function(e,n){return e.eatSpace()?null:n.tokenize(e,n)},languageData:{commentTokens:{block:{open:"/*",close:"*/"}}}};export{b as dylan}; 2 | -------------------------------------------------------------------------------- /docs/assets/ebnf-B-Df8AvO.js: -------------------------------------------------------------------------------- 1 | var e=0,t=1,a=0,c=1,r=2;const n={name:"ebnf",startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(n,s){if(n){switch(0===s.stack.length&&('"'==n.peek()||"'"==n.peek()?(s.stringType=n.peek(),n.next(),s.stack.unshift(c)):n.match("/*")?(s.stack.unshift(a),s.commentType=e):n.match("(*")&&(s.stack.unshift(a),s.commentType=t)),s.stack[0]){case c:for(;s.stack[0]===c&&!n.eol();)n.peek()===s.stringType?(n.next(),s.stack.shift()):"\\"===n.peek()?(n.next(),n.next()):n.match(/^.[^\\\"\']*/);return s.lhs?"property":"string";case a:for(;s.stack[0]===a&&!n.eol();)s.commentType===e&&n.match("*/")||s.commentType===t&&n.match("*)")?(s.stack.shift(),s.commentType=null):n.match(/^.[^\*]*/);return"comment";case r:for(;s.stack[0]===r&&!n.eol();)n.match(/^[^\]\\]+/)||n.match(".")||s.stack.shift();return"operator"}var m=n.peek();switch(m){case"[":return n.next(),s.stack.unshift(r),"bracket";case":":case"|":case";":return n.next(),"operator";case"%":if(n.match("%%"))return"header";if(n.match(/[%][A-Za-z]+/))return"keyword";if(n.match(/[%][}]/))return"bracket";break;case"/":if(n.match(/[\/][A-Za-z]+/))return"keyword";case"\\":if(n.match(/[\][a-z]+/))return"string.special";case".":if(n.match("."))return"atom";case"*":case"-":case"+":case"^":if(n.match(m))return"atom";case"$":if(n.match("$$"))return"builtin";if(n.match(/[$][0-9]+/))return"variableName.special";case"<":if(n.match(/<<[a-zA-Z_]+>>/))return"builtin"}return n.match("//")?(n.skipToEnd(),"comment"):n.match("return")?"operator":n.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?n.match(/(?=[\(.])/)?"variable":n.match(/(?=[\s\n]*[:=])/)?"def":"variableName.special":-1!=["[","]","(",")"].indexOf(n.peek())?(n.next(),"bracket"):(n.eatSpace()||n.next(),null)}}};export{n as ebnf}; 2 | -------------------------------------------------------------------------------- /docs/assets/eiffel-DR5c0IrL.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},r=0,n=e.length;r>"]);function n(e,t){if(e.eatSpace())return null;var r,n,a=e.next();return'"'==a||"'"==a?function(e,t,r){return r.tokenize.push(e),e(t,r)}((r=a,n="string",function(e,t){for(var a,i=!1;null!=(a=e.next());){if(a==r&&!i){t.tokenize.pop();break}i=!i&&"%"==a}return n}),e,t):"-"==a&&e.eat("-")?(e.skipToEnd(),"comment"):":"==a&&e.eat("=")?"operator":/[0-9]/.test(a)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"variable"):/[a-zA-Z_0-9]/.test(a)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"variable"):/[=+\-\/*^%<>~]/.test(a)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}const a={name:"eiffel",startState:function(){return{tokenize:[n]}},token:function(e,n){var a=n.tokenize[n.tokenize.length-1](e,n);if("variable"==a){var i=e.current();a=t.propertyIsEnumerable(e.current())?"keyword":r.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(i)?"tag":/^0[bB][0-1]+$/g.test(i)||/^0[cC][0-7]+$/g.test(i)||/^0[xX][a-fA-F0-9]+$/g.test(i)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(i)||/^[0-9]+$/g.test(i)?"number":"variable"}return a},languageData:{commentTokens:{line:"--"}}};export{a as eiffel}; 2 | -------------------------------------------------------------------------------- /docs/assets/elm-D7xaZ7Da.js: -------------------------------------------------------------------------------- 1 | function e(e,t,n){return t(n),n(e,t)}var t=/[a-z]/,n=/[A-Z]/,r=/[a-zA-Z0-9_]/,i=/[0-9]/,o=/[0-9A-Fa-f]/,a=/[-&*+.\\/<>=?^|:]/,u=/[(),[\]{}]/,f=/[ \v\f]/;function s(){return function(s,h){if(s.eatWhile(f))return null;var k=s.next();if(u.test(k))return"{"===k&&s.eat("-")?e(s,h,l(1)):"["===k&&s.match("glsl|")?e(s,h,x):"builtin";if("'"===k)return e(s,h,m);if('"'===k)return s.eat('"')?s.eat('"')?e(s,h,c):"string":e(s,h,p);if(n.test(k))return s.eatWhile(r),"type";if(t.test(k)){var g=1===s.pos;return s.eatWhile(r),g?"def":"variable"}if(i.test(k)){if("0"===k){if(s.eat(/[xX]/))return s.eatWhile(o),"number"}else s.eatWhile(i);return s.eat(".")&&s.eatWhile(i),s.eat(/[eE]/)&&(s.eat(/[-+]/),s.eatWhile(i)),"number"}return a.test(k)?"-"===k&&s.eat("-")?(s.skipToEnd(),"comment"):(s.eatWhile(a),"keyword"):"_"===k?"keyword":"error"}}function l(e){return 0==e?s():function(t,n){for(;!t.eol();){var r=t.next();if("{"==r&&t.eat("-"))++e;else if("-"==r&&t.eat("}")&&0===--e)return n(s()),"comment"}return n(l(e)),"comment"}}function c(e,t){for(;!e.eol();){if('"'===e.next()&&e.eat('"')&&e.eat('"'))return t(s()),"string"}return"string"}function p(e,t){for(;e.skipTo('\\"');)e.next(),e.next();return e.skipTo('"')?(e.next(),t(s()),"string"):(e.skipToEnd(),t(s()),"error")}function m(e,t){for(;e.skipTo("\\'");)e.next(),e.next();return e.skipTo("'")?(e.next(),t(s()),"string"):(e.skipToEnd(),t(s()),"error")}function x(e,t){for(;!e.eol();){if("|"===e.next()&&e.eat("]"))return t(s()),"string"}return"string"}var h={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};const k={name:"elm",startState:function(){return{f:s()}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,(function(e){t.f=e})),r=e.current();return h.hasOwnProperty(r)?"keyword":n},languageData:{commentTokens:{line:"--"}}};export{k as elm}; 2 | -------------------------------------------------------------------------------- /docs/assets/factor-CFXhaUWb.js: -------------------------------------------------------------------------------- 1 | import{s as e}from"./simple-mode-C3vEBAcb.js";const t=e({start:[{regex:/#?!.*/,token:"comment"},{regex:/"""/,token:"string",next:"string3"},{regex:/(STRING:)(\s)/,token:["keyword",null],next:"string2"},{regex:/\S*?"/,token:"string",next:"string"},{regex:/(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/,token:"number"},{regex:/((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/,token:["keyword",null,"def",null,"bracket"],next:"stack"},{regex:/(M\:)(\s+)(\S+)(\s+)(\S+)/,token:["keyword",null,"def",null,"tag"]},{regex:/USING\:/,token:"keyword",next:"vocabulary"},{regex:/(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"tag"]},{regex:/(\S+\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"def"]},{regex:/(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],languageData:{name:"factor",dontIndentStates:["start","vocabulary","string","string3","stack"],commentTokens:{line:"!"}}});export{t as factor}; 2 | -------------------------------------------------------------------------------- /docs/assets/fcl-CVaBTCzQ.js: -------------------------------------------------------------------------------- 1 | var e={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},n={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},t={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},r={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},o=/[+\-*&^%:=<>!|\/]/;function i(i,u){var l=i.next();if(/[\d\.]/.test(l))return"."==l?i.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==l?i.match(/^[xX][0-9a-fA-F]+/)||i.match(/^0[0-7]+/):i.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==l||"("==l){if(i.eat("*"))return u.tokenize=a,a(i,u);if(i.eat("/"))return i.skipToEnd(),"comment"}if(o.test(l))return i.eatWhile(o),"operator";i.eatWhile(/[\w\$_\xa1-\uffff]/);var c=i.current().toLowerCase();return e.propertyIsEnumerable(c)||n.propertyIsEnumerable(c)||t.propertyIsEnumerable(c)?"keyword":r.propertyIsEnumerable(c)?"atom":"variable"}function a(e,n){for(var t,r=!1;t=e.next();){if(("/"==t||")"==t)&&r){n.tokenize=i;break}r="*"==t}return"comment"}function u(e,n,t,r,o){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=o}const l={name:"fcl",startState:function(e){return{tokenize:null,context:new u(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,r){var o=r.context;if(e.sol()&&(null==o.align&&(o.align=!1),r.indented=e.indentation(),r.startOfLine=!0),e.eatSpace())return null;var a=(r.tokenize||i)(e,r);if("comment"==a)return a;null==o.align&&(o.align=!0);var l=e.current().toLowerCase();return n.propertyIsEnumerable(l)?function(e,n,t){e.context=new u(e.indented,n,t,null,e.context)}(r,e.column(),"end_block"):t.propertyIsEnumerable(l)&&function(e){if(e.context.prev)"end_block"==e.context.type&&(e.indented=e.context.indented),e.context=e.context.prev}(r),r.startOfLine=!1,a},indent:function(e,n,r){if(e.tokenize!=i&&null!=e.tokenize)return 0;var o=e.context,a=t.propertyIsEnumerable(n);return o.align?o.column+(a?0:1):o.indented+(a?0:r.unit)},languageData:{commentTokens:{line:"//",block:{open:"(*",close:"*)"}}}};export{l as fcl}; 2 | -------------------------------------------------------------------------------- /docs/assets/forth-Dri_5nFc.js: -------------------------------------------------------------------------------- 1 | function E(E){var t=[];return E.split(" ").forEach((function(E){t.push({name:E})})),t}var t=E("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),R=E("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");function e(E,t){var R;for(R=E.length-1;R>=0;R--)if(E[R].name===t.toUpperCase())return E[R]}const O={name:"forth",startState:function(){return{state:"",base:10,coreWordList:t,immediateWordList:R,wordList:[]}},token:function(E,t){var R;if(E.eatSpace())return null;if(""===t.state){if(E.match(/^(\]|:NONAME)(\s|$)/i))return t.state=" compilation","builtin";if(R=E.match(/^(\:)\s+(\S+)(\s|$)+/))return t.wordList.push({name:R[2].toUpperCase()}),t.state=" compilation","def";if(R=E.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return t.wordList.push({name:R[2].toUpperCase()}),"def";if(R=E.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"}else{if(E.match(/^(\;|\[)(\s)/))return t.state="",E.backUp(1),"builtin";if(E.match(/^(\;|\[)($)/))return t.state="","builtin";if(E.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(R=E.match(/^(\S+)(\s+|$)/))?void 0!==e(t.wordList,R[1])?"variable":"\\"===R[1]?(E.skipToEnd(),"comment"):void 0!==e(t.coreWordList,R[1])?"builtin":void 0!==e(t.immediateWordList,R[1])?"keyword":"("===R[1]?(E.eatWhile((function(E){return")"!==E})),E.eat(")"),"comment"):".("===R[1]?(E.eatWhile((function(E){return")"!==E})),E.eat(")"),"string"):'S"'===R[1]||'."'===R[1]||'C"'===R[1]?(E.eatWhile((function(E){return'"'!==E})),E.eat('"'),"string"):R[1]-68719476735?"number":"atom":void 0}};export{O as forth}; 2 | -------------------------------------------------------------------------------- /docs/assets/gradient-yHQUC_QB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/gradient-yHQUC_QB.png -------------------------------------------------------------------------------- /docs/assets/http-BKJkqRj4.js: -------------------------------------------------------------------------------- 1 | function r(r,n){return r.skipToEnd(),n.cur=o,"error"}function n(n,u){return n.match(/^HTTP\/\d\.\d/)?(u.cur=t,"keyword"):n.match(/^[A-Z]+/)&&/[ \t]/.test(n.peek())?(u.cur=e,"keyword"):r(n,u)}function t(n,t){var e=n.match(/^\d+/);if(!e)return r(n,t);t.cur=u;var c=Number(e[0]);return c>=100&&c<400?"atom":"error"}function u(r,n){return r.skipToEnd(),n.cur=o,null}function e(r,n){return r.eatWhile(/\S/),n.cur=c,"string.special"}function c(n,t){return n.match(/^HTTP\/\d\.\d$/)?(t.cur=o,"keyword"):r(n,t)}function o(r){return r.sol()&&!r.eat(/[ \t]/)?r.match(/^.*?:/)?"atom":(r.skipToEnd(),"error"):(r.skipToEnd(),"string")}function i(r){return r.skipToEnd(),null}const a={name:"http",token:function(r,n){var t=n.cur;return t!=o&&t!=i&&r.eatSpace()?null:t(r,n)},blankLine:function(r){r.cur=i},startState:function(){return{cur:n}}};export{a as http}; 2 | -------------------------------------------------------------------------------- /docs/assets/iceberg-COKYXo-A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/iceberg-COKYXo-A.png -------------------------------------------------------------------------------- /docs/assets/index-BbzuPatt.js: -------------------------------------------------------------------------------- 1 | import{c as O,b as t,m as e,p as r,f as n,v as a,s as o,t as i,w as s}from"./index-D3XtisvU.js";const l=n.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"⚠ Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new s("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new s("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new s("[~RPwxU~ZOp~~",11,15),new s("[~RPrsU~ZOn~~",11,14),new s("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new s("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),p=a.parser.configure({top:"SingleExpression"}),u=l.configure({props:[o({Text:i.content,Is:i.definitionOperator,AttributeName:i.attributeName,VueAttributeName:i.keyword,Identifier:i.variableName,"AttributeValue ScriptAttributeValue":i.attributeValue,Entity:i.character,"{{ }}":i.brace,"@ :":i.punctuation})]}),m={parser:p},S={parser:u.configure({wrap:r(((O,t)=>"InterpolationContent"==O.name?m:null))})},b={parser:u.configure({wrap:r(((O,t)=>"AttributeScript"==O.name?m:null)),top:"Attribute"})},c=e();function Q(O){return O.configure({dialect:"selfClosing",wrap:r(y)},"vue")}const P=Q(c.language);function y(O,t){switch(O.name){case"Attribute":return/^(@|:|v-)/.test(t.read(O.from,O.from+2))?b:null;case"Text":return S}return null}function g(e={}){let r=c;if(e.base){if("html"!=e.base.language.name||!(e.base.language instanceof O))throw new RangeError("The base option must be the result of calling html(...)");r=e.base}return new t(r.language==c.language?P:Q(r.language),[r.support,r.language.data.of({closeBrackets:{brackets:["{",'"']}})])}export{g as vue,P as vueLanguage}; 2 | -------------------------------------------------------------------------------- /docs/assets/index-BelAJDbG.js: -------------------------------------------------------------------------------- 1 | import{y as r}from"./index-D3XtisvU.js";var t,e;const o=r(e?t:(e=1,t=function r(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var o,n,f;if(Array.isArray(t)){if((o=t.length)!=e.length)return!1;for(n=o;0!=n--;)if(!r(t[n],e[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((o=(f=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=o;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,f[n]))return!1;for(n=o;0!=n--;){var u=f[n];if(!r(t[u],e[u]))return!1}return!0}return t!=t&&e!=e}));export{o as e}; 2 | -------------------------------------------------------------------------------- /docs/assets/index-CHikDVPK.js: -------------------------------------------------------------------------------- 1 | import{f as O,s as e,t as r,b as t,c as a,i as s,g as P,h as Q,k as o}from"./index-D3XtisvU.js";const n=e({String:r.string,Number:r.number,"True False":r.bool,PropertyName:r.propertyName,Null:r.null,",":r.separator,"[ ]":r.squareBracket,"{ }":r.brace}),c=O.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[n],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),i=()=>O=>{try{JSON.parse(O.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const r=function(O,e){let r;return(r=O.message.match(/at position (\d+)/))?Math.min(+r[1],e.length):(r=O.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+r[1]).from+ +r[2]-1,e.length):0}(e,O.state.doc);return[{from:r,message:e.message,severity:"error",to:r}]}return[]};const p=a.define({name:"json",parser:c.configure({props:[s.add({Object:Q({except:/^\s*\}/}),Array:Q({except:/^\s*\]/})}),P.add({"Object Array":o})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function g(){return new t(p)}export{g as json,p as jsonLanguage,i as jsonParseLinter}; 2 | -------------------------------------------------------------------------------- /docs/assets/index-D4PFrLQX.js: -------------------------------------------------------------------------------- 1 | import{b as e,c,f as O,i as o,g as r,s as n,q as t,k as Q,t as s}from"./index-D3XtisvU.js";const $={__proto__:null,anyref:34,dataref:34,eqref:34,externref:34,i31ref:34,funcref:34,i8:34,i16:34,i32:34,i64:34,f32:34,f64:34},a=O.deserialize({version:14,states:"!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h",stateData:"!P~O_OSPOSQOS~OTPOVROXROYROZROaQO~OSUO~P]OSXO~P]O",goto:"xaPPPPPPbPbPPPhPPPrXROPTVQTOQVPTWTVXSOPTV",nodeNames:"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"/Q~R^XY}YZ}]^}pq}rs!Stu!qxy&Vyz'S{|'X}!O'X!Q!R'b!R![)_!]!^,{#T#o-^~!SO_~~!VTOr!Srs!fs#O!S#O#P!k#P~!S~!kOZ~~!nPO~!S~!tiqr$cst$ctu$cuv$cvw$cwx$cz{$c{|$c}!O$c!O!P$c!P!Q$c!Q![$c![!]$c!^!_$c!_!`$c!`!a$c!a!b$c!b!c$c!c!}$c#Q#R$c#R#S$c#S#T$c#T#o$c#p#q$c#r#s$c~$hiV~qr$cst$ctu$cuv$cvw$cwx$cz{$c{|$c}!O$c!O!P$c!P!Q$c!Q![$c![!]$c!^!_$c!_!`$c!`!a$c!a!b$c!b!c$c!c!}$c#Q#R$c#R#S$c#S#T$c#T#o$c#p#q$c#r#s$c~&[PT~!]!^&_~&bRO!]&_!]!^&k!^~&_~&nTOy&_yz&}z!]&_!]!^&k!^~&_~'SOQ~~'XOS~~'[Q!Q!R'b!R![)_~'gUY~!O!P'y!Q![)_!g!h(j#R#S)s#X#Y(j#l#m)y~(ORY~!Q![(X!g!h(j#X#Y(j~(^SY~!Q![(X!g!h(j#R#S)X#X#Y(j~(mR{|(v}!O(v!Q![(|~(yP!Q![(|~)RQY~!Q![(|#R#S(v~)[P!Q![(X~)dTY~!O!P'y!Q![)_!g!h(j#R#S)s#X#Y(j~)vP!Q![)_~)|R!Q![*V!c!i*V#T#Z*V~*[VY~!O!P*q!Q![*V!c!i*V!r!s+n#R#S)y#T#Z*V#d#e+n~*vTY~!Q![+V!c!i+V!r!s+n#T#Z+V#d#e+n~+[UY~!Q![+V!c!i+V!r!s+n#R#S,o#T#Z+V#d#e+n~+qT{|,Q}!O,Q!Q![,^!c!i,^#T#Z,^~,TR!Q![,^!c!i,^#T#Z,^~,cSY~!Q![,^!c!i,^#R#S,Q#T#Z,^~,rR!Q![+V!c!i+V#T#Z+V~-OP!]!^-R~-WQP~OY-RZ~-R~-ciX~qr-^st-^tu-^uv-^vw-^wx-^z{-^{|-^}!O-^!O!P-^!P!Q-^!Q![-^![!]-^!^!_-^!_!`-^!`!a-^!a!b-^!b!c-^!c!}-^#Q#R-^#R#S-^#S#T-^#T#o-^#p#q-^#r#s-^",tokenizers:[0],topRules:{Module:[0,3]},specialized:[{term:9,get:e=>$[e]||-1}],tokenPrec:0}),P=c.define({name:"wast",parser:a.configure({props:[o.add({App:t({closing:")",align:!1})}),r.add({App:Q,BlockComment:e=>({from:e.from+2,to:e.to-2})}),n({Keyword:s.keyword,Type:s.typeName,Number:s.number,String:s.string,Identifier:s.variableName,LineComment:s.lineComment,BlockComment:s.blockComment,"( )":s.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function i(){return new e(P)}export{i as wast,P as wastLanguage}; 2 | -------------------------------------------------------------------------------- /docs/assets/index-LBDztilZ.js: -------------------------------------------------------------------------------- 1 | import{V as r}from"./VegaLite-D07JSyC_.js";import{a as e}from"./VegaLite-D07JSyC_.js";import{R as t}from"./index-D3XtisvU.js";import"./compile-CsTNKzEk.js";import"./time-CJGz9Moa.js";import"./timer-DFzT7np-.js";import"./linear-BuATvq_r.js";import"./init-DLRA0X12.js";import"./range-CtcPcB_L.js";import"./zoom-COrs4lFh.js";import"./ordinal-DDUp3AbE.js";import"./colors-bszWmPJw.js";import"./arc-Cuwikxov.js";import"./step-BwsUM5iJ.js";import"./index-BelAJDbG.js";function o(){return o=Object.assign||function(r){for(var e=1;e{const s=await i("info",r);e.debug(s)}),"parse")},n={version:a.version},p={parser:o,db:{getVersion:r((()=>n.version),"getVersion")},renderer:{draw:r(((r,a,i)=>{e.debug("rendering info diagram\n"+r);const o=s(a);t(o,100,400,!0);o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)}),"draw")}};export{p as diagram}; 2 | -------------------------------------------------------------------------------- /docs/assets/init-DLRA0X12.js: -------------------------------------------------------------------------------- 1 | function t(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function e(t,e){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof e?this.interpolator(e):this.range(e)}return this}export{e as a,t as i}; 2 | -------------------------------------------------------------------------------- /docs/assets/jinja2-DhgKlfW7.js: -------------------------------------------------------------------------------- 1 | var e=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],n=/^[+\-*&%=<>!?|~^]/,t=/^[:\[\(\{]/,a=["true","false"],i=/^(\d[+\-\*\/])?\d+(\.\d+)?/;function r(r,o){var c=r.peek();if(o.incomment)return r.skipTo("#}")?(r.eatWhile(/\#|}/),o.incomment=!1):r.skipToEnd(),"comment";if(o.intag){if(o.operator){if(o.operator=!1,r.match(a))return"atom";if(r.match(i))return"number"}if(o.sign){if(o.sign=!1,r.match(a))return"atom";if(r.match(i))return"number"}if(o.instring)return c==o.instring&&(o.instring=!1),r.next(),"string";if("'"==c||'"'==c)return o.instring=c,r.next(),"string";if(o.inbraces>0&&")"==c)r.next(),o.inbraces--;else if("("==c)r.next(),o.inbraces++;else if(o.inbrackets>0&&"]"==c)r.next(),o.inbrackets--;else if("["==c)r.next(),o.inbrackets++;else{if(!o.lineTag&&(r.match(o.intag+"}")||r.eat("-")&&r.match(o.intag+"}")))return o.intag=!1,"tag";if(r.match(n))return o.operator=!0,"operator";if(r.match(t))o.sign=!0;else{if(1==r.column()&&o.lineTag&&r.match(e))return"keyword";if(r.eat(" ")||r.sol()){if(r.match(e))return"keyword";if(r.match(a))return"atom";if(r.match(i))return"number";r.sol()&&r.next()}else r.next()}}return"variable"}if(r.eat("{")){if(r.eat("#"))return o.incomment=!0,r.skipTo("#}")?(r.eatWhile(/\#|}/),o.incomment=!1):r.skipToEnd(),"comment";if(c=r.eat(/\{|%/))return o.intag=c,o.inbraces=0,o.inbrackets=0,"{"==c&&(o.intag="}"),r.eat("-"),"tag"}else if(r.eat("#")){if("#"==r.peek())return r.skipToEnd(),"comment";if(!r.eol())return o.intag=!0,o.lineTag=!0,o.inbraces=0,o.inbrackets=0,"tag"}r.next()}e=new RegExp("(("+e.join(")|(")+"))\\b"),a=new RegExp("(("+a.join(")|(")+"))\\b");const o={name:"jinja2",startState:function(){return{tokenize:r,inbrackets:0,inbraces:0}},token:function(e,n){var t=n.tokenize(e,n);return e.eol()&&n.lineTag&&!n.instring&&0==n.inbraces&&0==n.inbrackets&&(n.intag=!1,n.lineTag=!1),t},languageData:{commentTokens:{block:{open:"{#",close:"#}",line:"##"}}}};export{o as jinja2}; 2 | -------------------------------------------------------------------------------- /docs/assets/lua-8DXOpKDz.js: -------------------------------------------------------------------------------- 1 | function e(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var t=e(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),n=e(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),a=e(["function","if","repeat","do","\\(","{"]),r=e(["end","until","\\)","}"]),o=new RegExp("^(?:"+["end","until","\\)","}","else","elseif"].join("|")+")","i");function i(e){for(var t=0;e.eat("=");)++t;return e.eat("["),t}function s(e,t){var n,a=e.next();return"-"==a&&e.eat("-")?e.eat("[")&&e.eat("[")?(t.cur=l(i(e),"comment"))(e,t):(e.skipToEnd(),"comment"):'"'==a||"'"==a?(t.cur=(n=a,function(e,t){for(var a,r=!1;null!=(a=e.next())&&(a!=n||r);)r=!r&&"\\"==a;return r||(t.cur=s),"string"}))(e,t):"["==a&&/[\[=]/.test(e.peek())?(t.cur=l(i(e),"string"))(e,t):/\d/.test(a)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(a)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function l(e,t){return function(n,a){for(var r,o=null;null!=(r=n.next());)if(null==o)"]"==r&&(o=0);else if("="==r)++o;else{if("]"==r&&o==e){a.cur=s;break}o=null}return t}}const u={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:s}},token:function(e,o){if(e.eatSpace())return null;var i=o.cur(e,o),s=e.current();return"variable"==i&&(n.test(s)?i="keyword":t.test(s)&&(i="builtin")),"comment"!=i&&"string"!=i&&(a.test(s)?++o.indentDepth:r.test(s)&&--o.indentDepth),i},indent:function(e,t,n){var a=o.test(t);return e.basecol+n.unit*(e.indentDepth-(a?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};export{u as lua}; 2 | -------------------------------------------------------------------------------- /docs/assets/mathematica-IIbmv7SK.js: -------------------------------------------------------------------------------- 1 | var e="[a-zA-Z\\$][a-zA-Z0-9\\$]*",a="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",t="(?:`(?:`?"+a+")?)",n=new RegExp("(?:(?:\\d+)(?:\\^\\^(?:\\.\\w+|\\w+\\.\\w*|\\w+)"+t+"?(?:\\*\\^[+-]?\\d+)?))"),c=new RegExp("(?:"+a+t+"?(?:\\*\\^[+-]?\\d+)?)"),m=new RegExp("(?:`?)(?:"+e+")(?:`(?:"+e+"))*(?:`?)");function o(e,a){var t;return'"'===(t=e.next())?(a.tokenize=z,a.tokenize(e,a)):"("===t&&e.eat("*")?(a.commentLevel++,a.tokenize=r,a.tokenize(e,a)):(e.backUp(1),e.match(n,!0,!1)||e.match(c,!0,!1)?"number":e.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string.special":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"character":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variableName.constant":e.match(m,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function z(e,a){for(var t,n=!1,c=!1;null!=(t=e.next());){if('"'===t&&!c){n=!0;break}c=!c&&"\\"===t}return n&&!c&&(a.tokenize=o),"string"}function r(e,a){for(var t,n;a.commentLevel>0&&null!=(n=e.next());)"("===t&&"*"===n&&a.commentLevel++,"*"===t&&")"===n&&a.commentLevel--,t=n;return a.commentLevel<=0&&(a.tokenize=o),"comment"}const A={name:"mathematica",startState:function(){return{tokenize:o,commentLevel:0}},token:function(e,a){return e.eatSpace()?null:a.tokenize(e,a)},languageData:{commentTokens:{block:{open:"(*",close:"*)"}}}};export{A as mathematica}; 2 | -------------------------------------------------------------------------------- /docs/assets/mbox-DoeuZPxA.js: -------------------------------------------------------------------------------- 1 | var e=["From","Sender","Reply-To","To","Cc","Bcc","Message-ID","In-Reply-To","References","Resent-From","Resent-Sender","Resent-To","Resent-Cc","Resent-Bcc","Resent-Message-ID","Return-Path","Received"],n=["Date","Subject","Comments","Keywords","Resent-Date"],r=/^[ \t]/,t=/^From /,a=new RegExp("^("+e.join("|")+"): "),i=new RegExp("^("+n.join("|")+"): "),o=/^[^:]+:/,d=/^[^ ]+@[^ ]+/,m=/^.*?(?=[^ ]+?@[^ ]+)/,s=/^<.*?>/,c=/^.*?(?=<.*>)/;const l={name:"mbox",startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:function(e,n){if(e.sol()){if(n.inSeparator=!1,n.inHeader&&e.match(r))return null;if(n.inHeader=!1,n.header=null,e.match(t))return n.inHeaders=!0,n.inSeparator=!0,"atom";var l,u=!1;return(l=e.match(i))||(u=!0)&&(l=e.match(a))?(n.inHeaders=!0,n.inHeader=!0,n.emailPermitted=u,n.header=l[1],"atom"):n.inHeaders&&(l=e.match(o))?(n.inHeader=!0,n.emailPermitted=!0,n.header=l[1],"atom"):(n.inHeaders=!1,e.skipToEnd(),null)}if(n.inSeparator)return e.match(d)?"link":(e.match(m)||e.skipToEnd(),"atom");if(n.inHeader){var h="Subject"===n.header?"header":"string";if(n.emailPermitted){if(e.match(s))return h+" link";if(e.match(c))return h}return e.skipToEnd(),h}return e.skipToEnd(),null},blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1},languageData:{autocomplete:e.concat(n)}};export{l as mbox}; 2 | -------------------------------------------------------------------------------- /docs/assets/min-DUpp_rh3.js: -------------------------------------------------------------------------------- 1 | import{H as r,ay as a,bO as n,bP as t,x as o,P as s,bQ as e,au as u,ai as i,bR as f,at as l,aw as v}from"./index-D3XtisvU.js";import{a as c}from"./_baseEach-DHNYGtOc.js";import{d as b}from"./_baseUniq-BlNMZyiw.js";import{b as p}from"./_baseMap-BXW0_SVK.js";var h=Object.prototype,m=h.hasOwnProperty,d=r((function(r,o){r=Object(r);var s=-1,e=o.length,u=e>2?o[2]:void 0;for(u&&a(o[0],o[1],u)&&(e=1);++s-1?t[e?r[u]:u]:void 0});function x(r,a){return(i(r)?u:p)(r,c(a))}var P=Object.prototype.hasOwnProperty;function w(r,a){return null!=r&&P.call(r,a)}function _(r,a){return null!=r&&f(r,a,w)}function M(r,a){return r+\-\/^\[\]]/,l=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,a=/[0-9]/,u=/[_a-zA-Z]/;function s(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function c(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function k(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function p(e,o){for(e.eatWhile(a);e.eat(a)||e.eat(u););var i=e.current();return!o.sol||"package"!=i&&"model"!=i&&"when"!=i&&"connector"!=i?o.sol&&"end"==i&&o.level>0&&o.level--:o.level++,o.tokenize=null,o.sol=!1,t.propertyIsEnumerable(i)?"keyword":n.propertyIsEnumerable(i)?"builtin":r.propertyIsEnumerable(i)?"atom":"variable"}function f(e,t){for(;e.eat(/[^']/););return t.tokenize=null,t.sol=!1,e.eat("'")?"variable":"error"}function m(e,t){return e.eatWhile(a),e.eat(".")&&e.eatWhile(a),(e.eat("e")||e.eat("E"))&&(e.eat("-")||e.eat("+"),e.eatWhile(a)),t.tokenize=null,t.sol=!1,"number"}const d={name:"modelica",startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(e,t){if(null!=t.tokenize)return t.tokenize(e,t);if(e.sol()&&(t.sol=!0),e.eatSpace())return t.tokenize=null,null;var n=e.next();if("/"==n&&e.eat("/"))t.tokenize=s;else if("/"==n&&e.eat("*"))t.tokenize=c;else{if(l.test(n+e.peek()))return e.next(),t.tokenize=null,"operator";if(i.test(n))return t.tokenize=null,"operator";if(u.test(n))t.tokenize=p;else if("'"==n&&e.peek()&&"'"!=e.peek())t.tokenize=f;else if('"'==n)t.tokenize=k;else{if(!a.test(n))return t.tokenize=null,"error";t.tokenize=m}}return t.tokenize(e,t)},indent:function(e,t,n){if(null!=e.tokenize)return null;var r=e.level;return/(algorithm)/.test(t)&&r--,/(equation)/.test(t)&&r--,/(initial algorithm)/.test(t)&&r--,/(initial equation)/.test(t)&&r--,/(end)/.test(t)&&r--,r>0?n.unit*r:0},languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:o}};export{d as modelica}; 2 | -------------------------------------------------------------------------------- /docs/assets/mscgen-B2igx18G.js: -------------------------------------------------------------------------------- 1 | function t(t){return{name:"mscgen",startState:a,copyState:c,token:(r=t,function(t,e){if(t.match(i(r.brackets),!0,!0))return"bracket";if(!e.inComment){if(t.match(/\/\*[^\*\/]*/,!0,!0))return e.inComment=!0,"comment";if(t.match(i(r.singlecomment),!0,!0))return t.skipToEnd(),"comment"}if(e.inComment)return t.match(/[^\*\/]*\*\//,!0,!0)?e.inComment=!1:t.skipToEnd(),"comment";if(!e.inString&&t.match(/\"(\\\"|[^\"])*/,!0,!0))return e.inString=!0,"string";if(e.inString)return t.match(/[^\"]*\"/,!0,!0)?e.inString=!1:t.skipToEnd(),"string";if(r.keywords&&t.match(n(r.keywords),!0,!0))return"keyword";if(t.match(n(r.options),!0,!0))return"keyword";if(t.match(n(r.arcsWords),!0,!0))return"keyword";if(t.match(i(r.arcsOthers),!0,!0))return"keyword";if(r.operators&&t.match(i(r.operators),!0,!0))return"operator";if(r.constants&&t.match(i(r.constants),!0,!0))return"variable";if(!r.inAttributeList&&r.attributes&&t.match("[",!0,!0))return r.inAttributeList=!0,"bracket";if(r.inAttributeList){if(null!==r.attributes&&t.match(n(r.attributes),!0,!0))return"attribute";if(t.match("]",!0,!0))return r.inAttributeList=!1,"bracket"}return t.next(),null}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}};var r}const r=t({keywords:["msc"],options:["hscale","width","arcgradient","wordwraparcs"],constants:["true","false","on","off"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}),e=t({keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}),o=t({keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]});function n(t){return new RegExp("^\\b("+t.join("|")+")\\b","i")}function i(t){return new RegExp("^(?:"+t.join("|")+")","i")}function a(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function c(t){return{inComment:t.inComment,inString:t.inString,inAttributeList:t.inAttributeList,inScript:t.inScript}}export{r as mscgen,e as msgenny,o as xu}; 2 | -------------------------------------------------------------------------------- /docs/assets/mumps-zvxmGV4l.js: -------------------------------------------------------------------------------- 1 | function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var t=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),$=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),n=new RegExp("^[\\.,:]"),o=new RegExp("[()]"),a=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),r=e(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),c=e(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);const m={name:"mumps",startState:function(){return{label:!1,commandMode:0}},token:function(e,m){var i=function(e,m){e.sol()&&(m.label=!0,m.commandMode=0);var i=e.peek();return" "==i||"\t"==i?(m.label=!1,0==m.commandMode?m.commandMode=1:(m.commandMode<0||2==m.commandMode)&&(m.commandMode=0)):"."!=i&&m.commandMode>0&&(m.commandMode=":"==i?-1:2),"("!==i&&"\t"!==i||(m.label=!1),";"===i?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":'"'==i?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match($)||e.match(t)?"operator":e.match(n)?null:o.test(i)?(e.next(),"bracket"):m.commandMode>0&&e.match(c)?"controlKeyword":e.match(r)?"builtin":e.match(a)?"variable":"$"===i||"^"===i?(e.next(),"builtin"):"@"===i?(e.next(),"string.special"):/[\w%]/.test(i)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}(e,m);return m.label?"tag":i}};export{m as mumps}; 2 | -------------------------------------------------------------------------------- /docs/assets/noise-60BoTA8O.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/assets/noise-60BoTA8O.png -------------------------------------------------------------------------------- /docs/assets/ntriples-FFvkTduk.js: -------------------------------------------------------------------------------- 1 | var n=0,t=1,e=2,r=3,i=4,a=5,u=6,o=7,s=8,l=9,c=10,f=11,h=12;function p(p,v){var x,b=p.location;x=b==n&&"<"==v?t:b==n&&"_"==v?e:b==r&&"<"==v?i:b==a&&"<"==v?u:b==a&&"_"==v?o:b==a&&'"'==v?s:b==t&&">"==v||b==e&&" "==v?r:b==i&&">"==v?a:b==u&&">"==v||b==o&&" "==v||b==s&&'"'==v||b==l&&" "==v||b==c&&">"==v?f:b==s&&"@"==v?l:b==s&&"^"==v?c:" "!=v||b!=n&&b!=r&&b!=a&&b!=f?b==f&&"."==v?n:h:b,p.location=x}const v={name:"ntriples",startState:function(){return{location:n,uris:[],anchors:[],bnodes:[],langs:[],types:[]}},token:function(n,t){var e=n.next();if("<"==e){p(t,e);var r="";return n.eatWhile((function(n){return"#"!=n&&">"!=n&&(r+=n,!0)})),t.uris.push(r),n.match("#",!1)?"variable":(n.next(),p(t,">"),"variable")}if("#"==e){var i="";return n.eatWhile((function(n){return">"!=n&&" "!=n&&(i+=n,!0)})),t.anchors.push(i),"url"}if(">"==e)return p(t,">"),"variable";if("_"==e){p(t,e);var a="";return n.eatWhile((function(n){return" "!=n&&(a+=n,!0)})),t.bnodes.push(a),n.next(),p(t," "),"builtin"}if('"'==e)return p(t,e),n.eatWhile((function(n){return'"'!=n})),n.next(),"@"!=n.peek()&&"^"!=n.peek()&&p(t,'"'),"string";if("@"==e){p(t,"@");var u="";return n.eatWhile((function(n){return" "!=n&&(u+=n,!0)})),t.langs.push(u),n.next(),p(t," "),"string.special"}if("^"==e){n.next(),p(t,"^");var o="";return n.eatWhile((function(n){return">"!=n&&(o+=n,!0)})),t.types.push(o),n.next(),p(t,">"),"variable"}" "==e&&p(t,e),"."==e&&p(t,e)}};export{v as ntriples}; 2 | -------------------------------------------------------------------------------- /docs/assets/octave-C4hdQ5Hf.js: -------------------------------------------------------------------------------- 1 | function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),t=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),r=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),i=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),a=new RegExp("^((>>=)|(<<=))"),o=new RegExp("^[\\]\\)]"),c=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*"),m=e(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),s=e(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function u(e,n){return e.sol()||"'"!==e.peek()?(n.tokenize=f,f(e,n)):(e.next(),n.tokenize=f,"operator")}function l(e,n){return e.match(/^.*%}/)?(n.tokenize=f,"comment"):(e.skipToEnd(),"comment")}function f(p,d){if(p.eatSpace())return null;if(p.match("%{"))return d.tokenize=l,p.skipToEnd(),"comment";if(p.match(/^[%#]/))return p.skipToEnd(),"comment";if(p.match(/^[0-9\.+-]/,!1)){if(p.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return p.tokenize=f,"number";if(p.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/))return"number";if(p.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(p.match(e(["nan","NaN","inf","Inf"])))return"number";var h=p.match(/^"(?:[^"]|"")*("|$)/)||p.match(/^'(?:[^']|'')*('|$)/);return h?h[1]?"string":"error":p.match(s)?"keyword":p.match(m)?"builtin":p.match(c)?"variable":p.match(n)||p.match(r)?"operator":p.match(t)||p.match(i)||p.match(a)?null:p.match(o)?(d.tokenize=u,null):(p.next(),"error")}const p={name:"octave",startState:function(){return{tokenize:f}},token:function(e,n){var t=n.tokenize(e,n);return"number"!==t&&"variable"!==t||(n.tokenize=u),t},languageData:{commentTokens:{line:"%"}}};export{p as octave}; 2 | -------------------------------------------------------------------------------- /docs/assets/ordinal-DDUp3AbE.js: -------------------------------------------------------------------------------- 1 | import{i as e}from"./init-DLRA0X12.js";class t extends Map{constructor(e,t=i){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[n,r]of e)this.set(n,r)}get(e){return super.get(r(this,e))}has(e){return super.has(r(this,e))}set(e,t){return super.set(s(this,e),t)}delete(e){return super.delete(u(this,e))}}class n extends Set{constructor(e,t=i){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const n of e)this.add(n)}has(e){return super.has(r(this,e))}add(e){return super.add(s(this,e))}delete(e){return super.delete(u(this,e))}}function r({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function s({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function u({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function i(e){return null!==e&&"object"==typeof e?e.valueOf():e}const o=Symbol("implicit");function a(){var n=new t,r=[],s=[],u=o;function i(e){let t=n.get(e);if(void 0===t){if(u!==o)return u;n.set(e,t=r.push(e)-1)}return s[t%s.length]}return i.domain=function(e){if(!arguments.length)return r.slice();r=[],n=new t;for(const t of e)n.has(t)||n.set(t,r.push(t)-1);return i},i.range=function(e){return arguments.length?(s=Array.from(e),i):s.slice()},i.unknown=function(e){return arguments.length?(u=e,i):u},i.copy=function(){return a(r,s).unknown(u)},e.apply(i,arguments),i}export{n as I,o as i,a as o}; 2 | -------------------------------------------------------------------------------- /docs/assets/oz-qQq7irPq.js: -------------------------------------------------------------------------------- 1 | function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var t=/[\^@!\|<>#~\.\*\-\+\\/,=]/,n=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,r=/(:::)|(\.\.\.)|(=<:)|(>=:)/,a=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],o=["end"],i=e(["true","false","nil","unit"]),c=e(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),u=e(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),s=e(a),f=e(o);function l(e,a){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match("[]"))return"keyword";if(e.match(r)||e.match(n))return"operator";if(e.match(i))return"atom";var o=e.match(u);if(o)return a.doInCurrentLine?a.doInCurrentLine=!1:a.currentIndent++,"proc"==o[0]||"fun"==o[0]?a.tokenize=m:"class"==o[0]?a.tokenize=d:"meth"==o[0]&&(a.tokenize=h),"keyword";if(e.match(s)||e.match(c))return"keyword";if(e.match(f))return a.currentIndent--,"keyword";var p,z=e.next();if('"'==z||"'"==z)return a.tokenize=(p=z,function(e,t){for(var n,r=!1,a=!1;null!=(n=e.next());){if(n==p&&!r){a=!0;break}r=!r&&"\\"==n}return!a&&r||(t.tokenize=l),"string"}),a.tokenize(e,a);if(/[~\d]/.test(z)){if("~"==z){if(!/^[0-9]/.test(e.peek()))return null;if("0"==e.next()&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==z&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return"%"==z?(e.skipToEnd(),"comment"):"/"==z&&e.eat("*")?(a.tokenize=k,k(e,a)):t.test(z)?"operator":(e.eatWhile(/\w/),"variable")}function d(e,t){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=l,"type")}function h(e,t){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=l,"def")}function m(e,t){return e.eatSpace()?null:!t.hasPassedFirstStage&&e.eat("{")?(t.hasPassedFirstStage=!0,"bracket"):t.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),t.hasPassedFirstStage=!1,t.tokenize=l,"def"):(t.tokenize=l,null)}function k(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=l;break}r="*"==n}return"comment"}const p={name:"oz",startState:function(){return{tokenize:l,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,t){return e.sol()&&(t.doInCurrentLine=0),t.tokenize(e,t)},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,"");return r.match(f)||r.match(s)||r.match(/(\[])/)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit},languageData:{indentOnInut:(z=a.concat(o),new RegExp("[\\[\\]]|("+z.join("|")+")$")),commentTokens:{line:"%",block:{open:"/*",close:"*/"}}}};var z;export{p as oz}; 2 | -------------------------------------------------------------------------------- /docs/assets/pascal-CafrKXZF.js: -------------------------------------------------------------------------------- 1 | var e=function(e){for(var t={},r=e.split(" "),n=0;n!?|\/]/;function n(n,o){var l,s=n.next();if("#"==s&&o.startOfLine)return n.skipToEnd(),"meta";if('"'==s||"'"==s)return o.tokenize=(l=s,function(e,t){for(var r,n=!1,a=!1;null!=(r=e.next());){if(r==l&&!n){a=!0;break}n=!n&&"\\"==r}return!a&&n||(t.tokenize=null),"string"}),o.tokenize(n,o);if("("==s&&n.eat("*"))return o.tokenize=a,a(n,o);if("{"==s)return o.tokenize=i,i(n,o);if(/[\[\]\(\),;\:\.]/.test(s))return null;if(/\d/.test(s))return n.eatWhile(/[\w\.]/),"number";if("/"==s&&n.eat("/"))return n.skipToEnd(),"comment";if(r.test(s))return n.eatWhile(r),"operator";n.eatWhile(/[\w\$_]/);var u=n.current().toLowerCase();return e.propertyIsEnumerable(u)?"keyword":t.propertyIsEnumerable(u)?"atom":"variable"}function a(e,t){for(var r,n=!1;r=e.next();){if(")"==r&&n){t.tokenize=null;break}n="*"==r}return"comment"}function i(e,t){for(var r;r=e.next();)if("}"==r){t.tokenize=null;break}return"comment"}const o={name:"pascal",startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;var r=(t.tokenize||n)(e,t);return r},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};export{o as pascal}; 2 | -------------------------------------------------------------------------------- /docs/assets/pig-CwGJVRC4.js: -------------------------------------------------------------------------------- 1 | function O(O){for(var T={},E=O.split(" "),I=0;I=&?:\/!|]/;function S(O,T,E){return T.tokenize=E,E(O,T)}function t(O,T){for(var E,I=!1;E=O.next();){if("/"==E&&I){T.tokenize=L;break}I="*"==E}return"comment"}function L(O,T){var E,I=O.next();return'"'==I||"'"==I?S(O,T,(E=I,function(O,T){for(var I,N=!1,A=!1;null!=(I=O.next());){if(I==E&&!N){A=!0;break}N=!N&&"\\"==I}return!A&&N||(T.tokenize=L),"error"})):/[\[\]{}\(\),;\.]/.test(I)?null:/\d/.test(I)?(O.eatWhile(/[\w\.]/),"number"):"/"==I?O.eat("*")?S(O,T,t):(O.eatWhile(R),"operator"):"-"==I?O.eat("-")?(O.skipToEnd(),"comment"):(O.eatWhile(R),"operator"):R.test(I)?(O.eatWhile(R),"operator"):(O.eatWhile(/[\w\$_]/),A&&A.propertyIsEnumerable(O.current().toUpperCase())&&!O.eat(")")&&!O.eat(".")?"keyword":N&&N.propertyIsEnumerable(O.current().toUpperCase())?"builtin":e&&e.propertyIsEnumerable(O.current().toUpperCase())?"type":"variable")}const r={name:"pig",startState:function(){return{tokenize:L,startOfLine:!0}},token:function(O,T){return O.eatSpace()?null:T.tokenize(O,T)},languageData:{autocomplete:(T+I+E).split(" ")}};export{r as pig}; 2 | -------------------------------------------------------------------------------- /docs/assets/properties-_nPj978X.js: -------------------------------------------------------------------------------- 1 | const t={name:"properties",token:function(t,e){var i=t.sol()||e.afterSection,n=t.eol();if(e.afterSection=!1,i&&(e.nextMultiline?(e.inMultiline=!0,e.nextMultiline=!1):e.position="def"),n&&!e.nextMultiline&&(e.inMultiline=!1,e.position="def"),i)for(;t.eatSpace(););var o=t.next();return!i||"#"!==o&&"!"!==o&&";"!==o?i&&"["===o?(e.afterSection=!0,t.skipTo("]"),t.eat("]"),"header"):"="===o||":"===o?(e.position="quote",null):("\\"===o&&"quote"===e.position&&t.eol()&&(e.nextMultiline=!0),e.position):(e.position="comment",t.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};export{t as properties}; 2 | -------------------------------------------------------------------------------- /docs/assets/protobuf-B4y9do6W.js: -------------------------------------------------------------------------------- 1 | var e=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],t=new RegExp("^(("+e.join(")|(")+"))\\b","i"),n=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");const a={name:"protobuf",token:function(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(t)?"keyword":e.match(n)?"variable":(e.next(),null)},languageData:{autocomplete:e}};export{a as protobuf}; 2 | -------------------------------------------------------------------------------- /docs/assets/puppet-Bc-yJKzi.js: -------------------------------------------------------------------------------- 1 | var e={},n=/({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/;function t(n,t){for(var i=t.split(" "),a=0;a.*/,!1),r=t.match(/(\s+)?[\w:_]+(\s+)?{/,!1),c=t.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/,!1),u=t.next();if("$"===u)return t.match(n)?a.continueString?"variableName.special":"variable":"error";if(a.continueString)return t.backUp(1),i(t,a);if(a.inDefinition){if(t.match(/(\s+)?[\w:_]+(\s+)?/))return"def";t.match(/\s+{/),a.inDefinition=!1}return a.inInclude?(t.match(/(\s+)?\S+(\s+)?/),a.inInclude=!1,"def"):t.match(/(\s+)?\w+\(/)?(t.backUp(1),"def"):s?(t.match(/(\s+)?\w+/),"tag"):o&&e.hasOwnProperty(o)?(t.backUp(1),t.match(/[\w]+/),t.match(/\s+\S+\s+{/,!1)&&(a.inDefinition=!0),"include"==o&&(a.inInclude=!0),e[o]):/(^|\s+)[A-Z][\w:_]+/.test(o)?(t.backUp(1),t.match(/(^|\s+)[A-Z][\w:_]+/),"def"):r?(t.match(/(\s+)?[\w:_]+/),"def"):c?(t.match(/(\s+)?[@]{1,2}/),"atom"):"#"==u?(t.skipToEnd(),"comment"):"'"==u||'"'==u?(a.pending=u,i(t,a)):"{"==u||"}"==u?"bracket":"/"==u?(t.match(/^[^\/]*\//),"string.special"):u.match(/[0-9]/)?(t.eatWhile(/[0-9]+/),"number"):"="==u?(">"==t.peek()&&t.next(),"operator"):(t.eatWhile(/[\w-]/),null)}(t,a)}};export{a as puppet}; 2 | -------------------------------------------------------------------------------- /docs/assets/q-B0kTJ4cI.js: -------------------------------------------------------------------------------- 1 | var t,e=new RegExp("^("+["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"].join("|")+")$"),n=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/;function r(i,c){var l=i.sol(),u=i.next();if(t=null,l){if("/"==u)return(c.tokenize=o)(i,c);if("\\"==u)return i.eol()||/\s/.test(i.peek())?(i.skipToEnd(),/^\\\s*$/.test(i.current())?(c.tokenize=s)(i):c.tokenize=r,"comment"):(c.tokenize=r,"builtin")}if(/\s/.test(u))return"/"==i.peek()?(i.skipToEnd(),"comment"):"null";if('"'==u)return(c.tokenize=a)(i,c);if("`"==u)return i.eatWhile(/[A-Za-z\d_:\/.]/),"macroName";if("."==u&&/\d/.test(i.peek())||/\d/.test(u)){var d=null;return i.backUp(1),i.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||i.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||i.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||i.match(/^\d+[ptuv]{1}/)?d="temporal":(i.match(/^0[NwW]{1}/)||i.match(/^0x[\da-fA-F]*/)||i.match(/^[01]+[b]{1}/)||i.match(/^\d+[chijn]{1}/)||i.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(d="number"),!d||(u=i.peek())&&!n.test(u)?(i.next(),"error"):d}return/[A-Za-z]|\./.test(u)?(i.eatWhile(/[A-Za-z._\d]/),e.test(i.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(u)||/[{}\(\[\]\)]/.test(u)?null:"error"}function o(t,e){return t.skipToEnd(),/\/\s*$/.test(t.current())?(e.tokenize=i)(t,e):e.tokenize=r,"comment"}function i(t,e){var n=t.sol()&&"\\"==t.peek();return t.skipToEnd(),n&&/^\\\s*$/.test(t.current())&&(e.tokenize=r),"comment"}function s(t){return t.skipToEnd(),"comment"}function a(t,e){for(var n,o=!1,i=!1;n=t.next();){if('"'==n&&!o){i=!0;break}o=!o&&"\\"==n}return i&&(e.tokenize=r),"string"}function c(t,e,n){t.context={prev:t.context,indent:t.indent,col:n,type:e}}function l(t){t.indent=t.context.indent,t.context=t.context.prev}const u={name:"q",startState:function(){return{tokenize:r,context:null,indent:0,col:0}},token:function(e,n){e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation());var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)c(n,")",e.column());else if("["==t)c(n,"]",e.column());else if("{"==t)c(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)l(n);n.context&&t==n.context.type&&l(n)}else"."==t&&n.context&&"pattern"==n.context.type?l(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?c(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(t,e,n){var r=e&&e.charAt(0),o=t.context;if(/[\]\}]/.test(r))for(;o&&"pattern"==o.type;)o=o.prev;var i=o&&r==o.type;return o?"pattern"==o.type?o.col:o.align?o.col+(i?0:1):o.indent+(i?0:n.unit):0}};export{u as q}; 2 | -------------------------------------------------------------------------------- /docs/assets/r-BA4EbLKE.js: -------------------------------------------------------------------------------- 1 | function t(t){for(var e={},n=0;n=!&|~$:]/;function f(t,n){e=null;var r,a=t.next();if("#"==a)return t.skipToEnd(),"comment";if("0"==a&&t.eat("x"))return t.eatWhile(/[\da-f]/i),"number";if("."==a&&t.eat(/\d/))return t.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(a))return t.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==a||'"'==a)return n.tokenize=(r=a,function(t,e){if(t.eat("\\")){var n=t.next();return"x"==n?t.match(/^[a-f0-9]{2}/i):("u"==n||"U"==n)&&t.eat("{")&&t.skipTo("}")?t.next():"u"==n?t.match(/^[a-f0-9]{4}/i):"U"==n?t.match(/^[a-f0-9]{8}/i):/[0-7]/.test(n)&&t.match(/^[0-7]{1,2}/),"string.special"}for(var a;null!=(a=t.next());){if(a==r){e.tokenize=f;break}if("\\"==a){t.backUp(1);break}}return"string"}),"string";if("`"==a)return t.match(/[^`]+`/),"string.special";if("."==a&&t.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(a)){t.eatWhile(/[\w\.]/);var s=t.current();return i.propertyIsEnumerable(s)?"atom":o.propertyIsEnumerable(s)?(l.propertyIsEnumerable(s)&&!t.match(/\s*if(\s+|$)/,!1)&&(e="block"),"keyword"):c.propertyIsEnumerable(s)?"builtin":"variable"}return"%"==a?(t.skipTo("%")&&t.next(),"variableName.special"):"<"==a&&t.eat("-")||"<"==a&&t.match("<-")||"-"==a&&t.match(/>>?/)||"="==a&&n.ctx.argList?"operator":u.test(a)?("$"==a||t.eatWhile(u),"operator"):/[\(\){}\[\];]/.test(a)?(e=a,";"==a?"punctuation":null):null}function s(t,e,n){t.ctx={type:e,indent:t.indent,flags:0,column:n.column(),prev:t.ctx}}function p(t,e){var n=t.ctx;t.ctx={type:n.type,indent:n.indent,flags:n.flags|e,column:n.column,prev:n.prev}}function m(t){t.indent=t.ctx.indent,t.ctx=t.ctx.prev}const d={name:"r",startState:function(t){return{tokenize:f,ctx:{type:"top",indent:-t,flags:2},indent:0,afterIdent:!1}},token:function(t,n){if(t.sol()&&(3&n.ctx.flags||(n.ctx.flags|=2),4&n.ctx.flags&&m(n),n.indent=t.indentation()),t.eatSpace())return null;var r=n.tokenize(t,n);return"comment"==r||2&n.ctx.flags||p(n,1),";"!=e&&"{"!=e&&"}"!=e||"block"!=n.ctx.type||m(n),"{"==e?s(n,"}",t):"("==e?(s(n,")",t),n.afterIdent&&(n.ctx.argList=!0)):"["==e?s(n,"]",t):"block"==e?s(n,"block",t):e==n.ctx.type?m(n):"block"==n.ctx.type&&"comment"!=r&&p(n,4),n.afterIdent="variable"==r||"keyword"==r,r},indent:function(t,e,n){if(t.tokenize!=f)return 0;var r=e&&e.charAt(0),a=t.ctx,i=r==a.type;return 4&a.flags&&(a=a.prev),"block"==a.type?a.indent+("{"==r?0:n.unit):1&a.flags?a.column+(i?0:1):a.indent+(i?0:n.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:n.concat(r,a)}};export{d as r}; 2 | -------------------------------------------------------------------------------- /docs/assets/range-CtcPcB_L.js: -------------------------------------------------------------------------------- 1 | function r(r,a,t){r=+r,a=+a,t=(n=arguments.length)<2?(a=r,r=0,1):n<3?1:+t;for(var e=-1,n=0|Math.max(0,Math.ceil((a-r)/t)),h=new Array(n);++e\=|\>|\=\=|\&\&|\|\|)/;const l={name:"rpmspec",startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,e){if("#"==r.peek())return r.skipToEnd(),"comment";if(r.sol()){if(r.match(c))return"header";if(r.match(o))return"atom"}if(r.match(/^\$\w+/))return"def";if(r.match(/^\$\{\w+\}/))return"def";if(r.match(p))return"keyword";if(r.match(i))return e.controlFlow=!0,"keyword";if(e.controlFlow){if(r.match(u))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(e.controlFlow=!1)}if(r.match(n))return r.eol()&&(e.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(e.macroParameters=!0),"keyword";if(e.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return e.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(e.controlFlow=!1),"def"):(r.next(),null)}};export{a as rpmChanges,l as rpmSpec}; 2 | -------------------------------------------------------------------------------- /docs/assets/shell-BLav31RL.js: -------------------------------------------------------------------------------- 1 | var t={};function e(e,n){for(var r=0;r1&&t.eat("$");var n=t.next();return/['"({]/.test(n)?(e.tokens[0]=o(n,"("==n?"quote":"{"==n?"def":"string"),f(t,e)):(/\d/.test(n)||t.eatWhile(/\w/),e.tokens.shift(),"def")};function f(t,e){return(e.tokens[0]||i)(t,e)}const c={name:"shell",startState:function(){return{tokens:[]}},token:function(t,e){return f(t,e)},languageData:{autocomplete:n.concat(r,s),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};export{c as shell}; 2 | -------------------------------------------------------------------------------- /docs/assets/sieve-r025o_jW.js: -------------------------------------------------------------------------------- 1 | function n(n){for(var e={},t=n.split(" "),r=0;r2&&s.token&&"string"!=typeof s.token){e.pending=[];for(var u=2;u-1)return null;var r=e.indent.length-1,i=t[e.state];t:for(;;){for(var s=0;s=@%|&?!.,:;^]/,t=/true|false|nil|self|super|thisContext/,n=function(e,t){this.next=e,this.parent=t},a=function(e,t,n){this.name=e,this.context=t,this.eos=n},i=function(){this.context=new n(r,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};i.prototype.userIndent=function(e,t){this.userIndentationDelta=e>0?e/t-this.indentation:0};var r=function(i,r,c){var x=new a(null,r,!1),h=i.next();return'"'===h?x=o(i,new n(o,r)):"'"===h?x=s(i,new n(s,r)):"#"===h?"'"===i.peek()?(i.next(),x=l(i,new n(l,r))):i.eatWhile(/[^\s.{}\[\]()]/)?x.name="string.special":x.name="meta":"$"===h?("<"===i.next()&&(i.eatWhile(/[^\s>]/),i.next()),x.name="string.special"):"|"===h&&c.expectVariable?x.context=new n(u,r):/[\[\]{}()]/.test(h)?(x.name="bracket",x.eos=/[\[{(]/.test(h),"["===h?c.indentation++:"]"===h&&(c.indentation=Math.max(0,c.indentation-1))):e.test(h)?(i.eatWhile(e),x.name="operator",x.eos=";"!==h):/\d/.test(h)?(i.eatWhile(/[\w\d]/),x.name="number"):/[\w_]/.test(h)?(i.eatWhile(/[\w\d_]/),x.name=c.expectVariable?t.test(i.current())?"keyword":"variable":null):x.eos=c.expectVariable,x},o=function(e,t){return e.eatWhile(/[^"]/),new a("comment",e.eat('"')?t.parent:t,!0)},s=function(e,t){return e.eatWhile(/[^']/),new a("string",e.eat("'")?t.parent:t,!1)},l=function(e,t){return e.eatWhile(/[^']/),new a("string.special",e.eat("'")?t.parent:t,!1)},u=function(e,t){var n=new a(null,t,!1);return"|"===e.next()?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};const c={name:"smalltalk",startState:function(){return new i},token:function(e,t){if(t.userIndent(e.indentation(),e.indentUnit),e.eatSpace())return null;var n=t.context.next(e,t.context,t);return t.context=n.context,t.expectVariable=n.eos,n.name},blankLine:function(e,t){e.userIndent(0,t)},indent:function(e,t,n){var a=e.context.next===r&&t&&"]"===t.charAt(0)?-1:e.userIndentationDelta;return(e.indentation+a)*n.unit},languageData:{indentOnInput:/^\s*\]$/}};export{c as smalltalk}; 2 | -------------------------------------------------------------------------------- /docs/assets/solr-78MBEUkU.js: -------------------------------------------------------------------------------- 1 | var t=/[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\"\\]/,e=/[\|\!\+\-\*\?\~\^\&]/,n=/^(OR|AND|NOT|TO)$/;function r(e){return function(r,i){for(var u=e;(e=r.peek())&&null!=e.match(t);)u+=r.next();return i.tokenize=o,n.test(u)?"operator":function(t){return parseFloat(t).toString()===t}(u)?"number":":"==r.peek()?"propertyName":"string"}}function o(n,i){var u,a,k=n.next();return'"'==k?i.tokenize=(a=k,function(t,e){for(var n,r=!1;null!=(n=t.next())&&(n!=a||r);)r=!r&&"\\"==n;return r||(e.tokenize=o),"string"}):e.test(k)?i.tokenize=(u=k,function(t,e){return"|"==u?t.eat(/\|/):"&"==u&&t.eat(/\&/),e.tokenize=o,"operator"}):t.test(k)&&(i.tokenize=r(k)),i.tokenize!=o?i.tokenize(n,i):null}const i={name:"solr",startState:function(){return{tokenize:o}},token:function(t,e){return t.eatSpace()?null:e.tokenize(t,e)}};export{i as solr}; 2 | -------------------------------------------------------------------------------- /docs/assets/sortBy-CK8BMETd.js: -------------------------------------------------------------------------------- 1 | import{at as r,au as n,ai as t,av as a,aw as e,ax as i,H as u,ay as o,J as f}from"./index-D3XtisvU.js";import{a as s}from"./_baseEach-DHNYGtOc.js";import{b as c}from"./_baseMap-BXW0_SVK.js";function l(n,t){if(n!==t){var a=void 0!==n,e=null===n,i=n==n,u=r(n),o=void 0!==t,f=null===t,s=t==t,c=r(t);if(!f&&!c&&!u&&n>t||u&&o&&s&&!f&&!c||e&&o&&s||!a&&s||!i)return 1;if(!e&&!u&&!c&&n=o?f:f*("desc"==t[a]?-1:1)}return r.index-n.index}(r,n,o)}))}var d=u((function(r,n){if(null==r)return[];var t=n.length;return t>1&&o(r,n[0],n[1])?n=[]:t>2&&o(n[0],n[1],n[2])&&(n=[n[0]]),v(r,f(n),[])}));export{d as s}; 2 | -------------------------------------------------------------------------------- /docs/assets/sparql-BRLJFz69.js: -------------------------------------------------------------------------------- 1 | var t;function e(t){return new RegExp("^(?:"+t.join("|")+")$","i")}var n=e(["str","lang","langmatches","datatype","bound","sameterm","isiri","isuri","iri","uri","bnode","count","sum","min","max","avg","sample","group_concat","rand","abs","ceil","floor","round","concat","substr","strlen","replace","ucase","lcase","encode_for_uri","contains","strstarts","strends","strbefore","strafter","year","month","day","hours","minutes","seconds","timezone","tz","now","uuid","struuid","md5","sha1","sha256","sha384","sha512","coalesce","if","strlang","strdt","isnumeric","regex","exists","isblank","isliteral","a","bind"]),r=e(["base","prefix","select","distinct","reduced","construct","describe","ask","from","named","where","order","limit","offset","filter","optional","graph","by","asc","desc","as","having","undef","values","group","minus","in","not","service","silent","using","insert","delete","union","true","false","with","data","copy","to","move","add","create","drop","clear","load","into"]),a=/[*+\-<>=&|\^\/!\?]/,u="[A-Za-z_\\-0-9]",o=new RegExp("[A-Za-z]"),i=new RegExp("(("+u+"|\\.)*("+u+"))?:");function c(e,u){var l,d=e.next();if(t=null,"$"==d||"?"==d)return"?"==d&&e.match(/\s/,!1)?"operator":(e.match(/^[A-Za-z0-9_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][A-Za-z0-9_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*/),"variableName.local");if("<"==d&&!e.match(/^[\s\u00a0=]/,!1))return e.match(/^[^\s\u00a0>]*>?/),"atom";if('"'==d||"'"==d)return u.tokenize=(l=d,function(t,e){for(var n,r=!1;null!=(n=t.next());){if(n==l&&!r){e.tokenize=c;break}r=!r&&"\\"==n}return"string"}),u.tokenize(e,u);if(/[{}\(\),\.;\[\]]/.test(d))return t=d,"bracket";if("#"==d)return e.skipToEnd(),"comment";if(a.test(d))return"operator";if(":"==d)return s(e),"atom";if("@"==d)return e.eatWhile(/[a-z\d\-]/i),"meta";if(o.test(d)&&e.match(i))return s(e),"atom";e.eatWhile(/[_\w\d]/);var f=e.current();return n.test(f)?"builtin":r.test(f)?"keyword":"variable"}function s(t){t.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i)}function l(t,e,n){t.context={prev:t.context,indent:t.indent,col:n,type:e}}function d(t){t.indent=t.context.indent,t.context=t.context.prev}const f={name:"sparql",startState:function(){return{tokenize:c,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)l(n,")",e.column());else if("["==t)l(n,"]",e.column());else if("{"==t)l(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)d(n);n.context&&t==n.context.type&&(d(n),"}"==t&&n.context&&"pattern"==n.context.type&&d(n))}else"."==t&&n.context&&"pattern"==n.context.type?d(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?l(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(t,e,n){var r=e&&e.charAt(0),a=t.context;if(/[\]\}]/.test(r))for(;a&&"pattern"==a.type;)a=a.prev;var u=a&&r==a.type;return a?"pattern"==a.type?a.col:a.align?a.col+(u?0:1):a.indent+(u?0:n.unit):0},languageData:{commentTokens:{line:"#"}}};export{f as sparql}; 2 | -------------------------------------------------------------------------------- /docs/assets/spreadsheet-CGlWr0eM.js: -------------------------------------------------------------------------------- 1 | const e={name:"spreadsheet",startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var a=e.peek();switch(a){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string.special":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable":-1!=["[","]","(",")","{","}"].indexOf(a)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}};export{e as spreadsheet}; 2 | -------------------------------------------------------------------------------- /docs/assets/stateDiagram-v2-YXO3MK2T-DCuj9KxS.js: -------------------------------------------------------------------------------- 1 | import{s as r,b as t,a as s,S as e}from"./chunk-AEK57VVT-Y72Hn9sV.js";import{_ as a}from"./mermaid-BGnxfgCD.js";import"./transform-DjHZbYKP.js";import"./chunk-RZ5BOZE2-gqSVpaRG.js";import"./index-D3XtisvU.js";import"./step-BwsUM5iJ.js";import"./timer-DFzT7np-.js";var o={parser:s,get db(){return new e(2)},renderer:t,styles:r,init:a((r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute}),"init")};export{o as diagram}; 2 | -------------------------------------------------------------------------------- /docs/assets/swift-B_XXVlXX.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},n=0;n~^?!".indexOf(k)>-1)return e.next(),"operator";if(":;,.(){}[]".indexOf(k)>-1)return e.next(),e.match(".."),"punctuation";if(_=e.match(/("""|"|')/)){var x=m.bind(null,_[0]);return d.tokenize.push(x),x(e,d)}if(e.match(f)){var y=e.current();return i.hasOwnProperty(y)?"type":r.hasOwnProperty(y)?"atom":t.hasOwnProperty(y)?(n.hasOwnProperty(y)&&(d.prev="define"),"keyword"):"define"==h?"def":"variable"}return e.next(),null}function h(){var e=0;return function(t,n,r){var i=d(t,n,r);if("punctuation"==i)if("("==t.current())++e;else if(")"==t.current()){if(0==e)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}return i}}function m(e,t,n){for(var r,i=1==e.length,a=!1;r=t.peek();)if(a){if(t.next(),"("==r)return n.tokenize.push(h()),"string";a=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),a="\\"==r}return i&&n.tokenize.pop(),"string"}function v(e,t){for(var n;n=e.next();)if("/"===n&&e.eat("*"))t.tokenize.push(v);else if("*"===n&&e.eat("/")){t.tokenize.pop();break}return"comment"}function _(e,t,n){this.prev=e,this.align=t,this.indented=n}function k(e,t){var n=t.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:t.column()+1;e.context=new _(e.context,n,e.indented)}function x(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}const y={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=(t.tokenize[t.tokenize.length-1]||d)(e,t,n);if(r&&"comment"!=r?t.prev||(t.prev=r):t.prev=n,"punctuation"==r){var i=/[\(\[\{]|([\]\)\}])/.exec(e.current());i&&(i[1]?x:k)(t,e)}return r},indent:function(e,t,n){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(t);return null!=r.align?r.align-(i?1:0):r.indented+(i?0:n.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};export{y as swift}; 2 | -------------------------------------------------------------------------------- /docs/assets/tcl-B2fODqDH.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var r={},t=e.split(" "),n=0;n!?^\/\|]/;function a(e,r,t){return r.tokenize=t,t(e,r)}function o(e,f){var s=f.beforeParams;f.beforeParams=!1;var c,u=e.next();if('"'!=u&&"'"!=u||!f.inParams){if(/[\[\]{}\(\),;\.]/.test(u))return"("==u&&s?f.inParams=!0:")"==u&&(f.inParams=!1),null;if(/\d/.test(u))return e.eatWhile(/[\w\.]/),"number";if("#"==u)return e.eat("*")?a(e,f,i):"#"==u&&e.match(/ *\[ *\[/)?a(e,f,l):(e.skipToEnd(),"comment");if('"'==u)return e.skipTo(/"/),"comment";if("$"==u)return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),f.beforeParams=!0,"builtin";if(n.test(u))return e.eatWhile(n),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);var m=e.current().toLowerCase();return r&&r.propertyIsEnumerable(m)?"keyword":t&&t.propertyIsEnumerable(m)?(f.beforeParams=!0,"keyword"):null}return a(e,f,(c=u,function(e,r){for(var t,n=!1,a=!1;null!=(t=e.next());){if(t==c&&!n){a=!0;break}n=!n&&"\\"==t}return a&&(r.tokenize=o),"string"}))}function i(e,r){for(var t,n=!1;t=e.next();){if("#"==t&&n){r.tokenize=o;break}n="*"==t}return"comment"}function l(e,r){for(var t,n=0;t=e.next();){if("#"==t&&2==n){r.tokenize=o;break}"]"==t?n++:" "!=t&&(n=0)}return"meta"}const f={name:"tcl",startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},languageData:{commentTokens:{line:"#"}}};export{f as tcl}; 2 | -------------------------------------------------------------------------------- /docs/assets/terminal-DVzybcfs.css: -------------------------------------------------------------------------------- 1 | .xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:transparent;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.xterm{padding:.5rem} 2 | -------------------------------------------------------------------------------- /docs/assets/tiddlywiki-BgR6AEZu.js: -------------------------------------------------------------------------------- 1 | var e={},t={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},r=/[\w_\-]/i,n=/^\-\-\-\-+$/,i=/^\/\*\*\*$/,a=/^\*\*\*\/$/,o=/^<<<$/,u=/^\/\/\{\{\{$/,f=/^\/\/\}\}\}$/,c=/^$/,m=/^$/,l=/^\{\{\{$/,k=/^\}\}\}$/,h=/.*?\}\}\}/;function s(e,t,r){return t.tokenize=r,r(e,t)}function p(t,k){var h=t.sol(),p=t.peek();if(k.block=!1,h&&/[<\/\*{}\-]/.test(p)){if(t.match(l))return k.block=!0,s(t,k,$);if(t.match(o))return"quote";if(t.match(i)||t.match(a))return"comment";if(t.match(u)||t.match(f)||t.match(c)||t.match(m))return"comment";if(t.match(n))return"contentSeparator"}if(t.next(),h&&/[\/\*!#;:>|]/.test(p)){if("!"==p)return t.skipToEnd(),"header";if("*"==p)return t.eatWhile("*"),"comment";if("#"==p)return t.eatWhile("#"),"comment";if(";"==p)return t.eatWhile(";"),"comment";if(":"==p)return t.eatWhile(":"),"comment";if(">"==p)return t.eatWhile(">"),"quote";if("|"==p)return"header"}if("{"==p&&t.match("{{"))return s(t,k,$);if(/[hf]/i.test(p)&&/[ti]/i.test(t.peek())&&t.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==p)return"string";if("~"==p)return"brace";if(/[\[\]]/.test(p)&&t.match(p))return"brace";if("@"==p)return t.eatWhile(r),"link";if(/\d/.test(p))return t.eatWhile(/\d/),"number";if("/"==p){if(t.eat("%"))return s(t,k,d);if(t.eat("/"))return s(t,k,v)}if("_"==p&&t.eat("_"))return s(t,k,z);if("-"==p&&t.eat("-")){if(" "!=t.peek())return s(t,k,w);if(" "==t.peek())return"brace"}return"'"==p&&t.eat("'")?s(t,k,b):"<"==p&&t.eat("<")?s(t,k,x):(t.eatWhile(/[\w\$_]/),e.propertyIsEnumerable(t.current())?"keyword":null)}function d(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=p;break}n="%"==r}return"comment"}function b(e,t){for(var r,n=!1;r=e.next();){if("'"==r&&n){t.tokenize=p;break}n="'"==r}return"strong"}function $(e,t){var r=t.block;return r&&e.current()?"comment":!r&&e.match(h)||r&&e.sol()&&e.match(k)?(t.tokenize=p,"comment"):(e.next(),"comment")}function v(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=p;break}n="/"==r}return"emphasis"}function z(e,t){for(var r,n=!1;r=e.next();){if("_"==r&&n){t.tokenize=p;break}n="_"==r}return"link"}function w(e,t){for(var r,n=!1;r=e.next();){if("-"==r&&n){t.tokenize=p;break}n="-"==r}return"deleted"}function x(e,r){if("<<"==e.current())return"meta";var n=e.next();return n?">"==n&&">"==e.peek()?(e.next(),r.tokenize=p,"meta"):(e.eatWhile(/[\w\$_]/),t.propertyIsEnumerable(e.current())?"keyword":null):(r.tokenize=p,null)}const g={name:"tiddlywiki",startState:function(){return{tokenize:p}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}};export{g as tiddlyWiki}; 2 | -------------------------------------------------------------------------------- /docs/assets/tiki-CI-ztowC.js: -------------------------------------------------------------------------------- 1 | function e(e,t,r){return function(i,a){for(;!i.eol();){if(i.match(t)){a.tokenize=n;break}i.next()}return r&&(a.tokenize=r),e}}function t(e){return function(t,r){for(;!t.eol();)t.next();return r.tokenize=n,e}}function n(r,i){function a(e){return i.tokenize=e,e(r,i)}var o=r.sol(),c=r.next();switch(c){case"{":return r.eat("/"),r.eatSpace(),r.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),i.tokenize=u,"tag";case"_":if(r.eat("_"))return a(e("strong","__",n));break;case"'":if(r.eat("'"))return a(e("em","''",n));break;case"(":if(r.eat("("))return a(e("link","))",n));break;case"[":return a(e("url","]",n));case"|":if(r.eat("|"))return a(e("comment","||"));break;case"-":if(r.eat("="))return a(e("header string","=-",n));if(r.eat("-"))return a(e("error tw-deleted","--",n));break;case"=":if(r.match("=="))return a(e("tw-underline","===",n));break;case":":if(r.eat(":"))return a(e("comment","::"));break;case"^":return a(e("tw-box","^"));case"~":if(r.match("np~"))return a(e("meta","~/np~"))}if(o)switch(c){case"!":return r.match("!!!!!")||r.match("!!!!")||r.match("!!!")||r.match("!!"),a(t("header string"));case"*":case"#":case"+":return a(t("tw-listitem bracket"))}return null}var r,i,a,o;function u(e,t){var r,a=e.next(),o=e.peek();return"}"==a?(t.tokenize=n,"tag"):"("==a||")"==a?"bracket":"="==a?(i="equals",">"==o&&(e.next(),o=e.peek()),/[\'\"]/.test(o)||(t.tokenize=function(e,t){for(;!e.eol();){var n=e.next(),r=e.peek();if(" "==n||","==n||/[ )}]/.test(r)){t.tokenize=u;break}}return"string"}),"operator"):/[\'\"]/.test(a)?(t.tokenize=(r=a,function(e,t){for(;!e.eol();)if(e.next()==r){t.tokenize=u;break}return"string"}),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function c(){for(var e=arguments.length-1;e>=0;e--)a.cc.push(arguments[e])}function f(){return c.apply(null,arguments),!0}function s(e,t){var n=a.context&&a.context.noIndent;a.context={prev:a.context,pluginName:e,indent:a.indented,startOfLine:t,noIndent:n}}function l(){a.context&&(a.context=a.context.prev)}function k(e){if("openPlugin"==e)return a.pluginName=r,f(d,(i=a.startOfLine,function(e){return"selfclosePlugin"==e||"endPlugin"==e?f():"endPlugin"==e?(s(a.pluginName,i),f()):f()}));if("closePlugin"==e){var t=!1;return a.context?(t=a.context.pluginName!=r,l()):t=!0,t&&(o="error"),f(function(e){return function(t){return e&&(o="error"),"endPlugin"==t?f():c()}}(t))}return"string"==e?(a.context&&"!cdata"==a.context.name||s("!cdata"),a.tokenize==n&&l(),f()):f();var i}function d(e){return"keyword"==e?(o="attribute",f(d)):"equals"==e?f(p,d):c()}function p(e){return"keyword"==e?(o="string",f()):"string"==e?f(g):c()}function g(e){return"string"==e?f(g):c()}const m={name:"tiki",startState:function(){return{tokenize:n,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;o=i=r=null;var n=t.tokenize(e,t);if((n||i)&&"comment"!=n)for(a=t;;){if((t.cc.pop()||k)(i||n))break}return t.startOfLine=!1,o||n},indent:function(e,t,n){var r=e.context;if(r&&r.noIndent)return 0;for(r&&/^{\//.test(t)&&(r=r.prev);r&&!r.startOfLine;)r=r.prev;return r?r.indent+n.unit:0}};export{m as tiki}; 2 | -------------------------------------------------------------------------------- /docs/assets/toml-BQXy8elZ.js: -------------------------------------------------------------------------------- 1 | const e={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,n){if(n.inString||'"'!=e.peek()&&"'"!=e.peek()||(n.stringType=e.peek(),e.next(),n.inString=!0),e.sol()&&0===n.inArray&&(n.lhs=!0),n.inString){for(;n.inString&&!e.eol();)e.peek()===n.stringType?(e.next(),n.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property":"string"}return n.inArray&&"]"===e.peek()?(e.next(),n.inArray--,"bracket"):n.lhs&&"["===e.peek()&&e.skipTo("]")?(e.next(),"]"===e.peek()&&e.next(),"atom"):"#"===e.peek()?(e.skipToEnd(),"comment"):e.eatSpace()?null:n.lhs&&e.eatWhile((function(e){return"="!=e&&" "!=e}))?"property":n.lhs&&"="===e.peek()?(e.next(),n.lhs=!1,null):!n.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/)?"atom":n.lhs||!e.match("true")&&!e.match("false")?n.lhs||"["!==e.peek()?!n.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?"number":(e.eatSpace()||e.next(),null):(n.inArray++,e.next(),"bracket"):"atom"},languageData:{commentTokens:{line:"#"}}};export{e as toml}; 2 | -------------------------------------------------------------------------------- /docs/assets/tree-C1rhMrxo.css: -------------------------------------------------------------------------------- 1 | .mo-button.gray{background-color:var(--slate-1);border-color:var(--slate-6);color:var(--slate-11)}.mo-button.gray:hover{background-color:var(--slate-3);border-color:var(--slate-8)}.mo-button.gray.selected .mo-button.gray:active{background-color:var(--slate-4);border-color:var(--slate-7)}.mo-button.white{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--background),transparent calc((1 - var(--tw-bg-opacity, 1))*100%));border-color:var(--slate-7);color:var(--slate-11)}.mo-button.white:hover{background-color:var(--slate-1);border-color:var(--slate-8)}.mo-button.white.selected .mo-button.white:active{background-color:var(--slate-2);border-color:var(--slate-7)}.mo-button.disabled{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--background),transparent calc((1 - var(--tw-bg-opacity, 1))*100%));border-color:var(--slate-6);color:var(--slate-7)}.mo-button.green{background-color:var(--grass-3);border-color:var(--grass-6);color:var(--grass-11)}.mo-button.green:hover{background-color:var(--grass-2);border-color:var(--grass-7)}.mo-button.green.selected .mo-button.green:active{background-color:var(--grass-4);border-color:var(--grass-7)}.mo-button.hint-green{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--background),transparent calc((1 - var(--tw-bg-opacity, 1))*100%));border-color:var(--slate-7);color:var(--slate-11)}.mo-button.hint-green:hover{background-color:var(--grass-2);border-color:var(--grass-7);color:var(--grass-11)}.mo-button.hint-green.selected .mo-button.hint-green:active{background-color:var(--grass-4);border-color:var(--grass-7);color:var(--slate-11)}.mo-button.red{background-color:var(--red-3);border-color:var(--red-6);color:var(--red-11)}.mo-button.red:hover{background-color:var(--red-4);border-color:var(--red-8)}.mo-button.red.selected .mo-button.red:active{background-color:var(--red-5);border-color:var(--red-7)}.mo-button.yellow{background-color:var(--yellow-3);border-color:var(--yellow-6);color:var(--yellow-11)}.mo-button.yellow:hover{background-color:var(--yellow-4);border-color:var(--yellow-8)}.mo-button.yellow.selected .mo-button.yellow:active{background-color:var(--yellow-5);border-color:var(--yellow-7)} 2 | -------------------------------------------------------------------------------- /docs/assets/troff-Ce85hlLp.js: -------------------------------------------------------------------------------- 1 | var t={};function a(a){if(a.eatSpace())return null;var n=a.sol(),r=a.next();if("\\"===r)return a.match("fB")||a.match("fR")||a.match("fI")||a.match("u")||a.match("d")||a.match("%")||a.match("&")?"string":a.match("m[")?(a.skipTo("]"),a.next(),"string"):a.match("s+")||a.match("s-")?(a.eatWhile(/[\d-]/),"string"):a.match("(")||a.match("*(")?(a.eatWhile(/[\w-]/),"string"):"string";if(n&&("."===r||"'"===r)&&a.eat("\\")&&a.eat('"'))return a.skipToEnd(),"comment";if(n&&"."===r){if(a.match("B ")||a.match("I ")||a.match("R "))return"attribute";if(a.match("TH ")||a.match("SH ")||a.match("SS ")||a.match("HP "))return a.skipToEnd(),"quote";if(a.match(/[A-Z]/)&&a.match(/[A-Z]/)||a.match(/[a-z]/)&&a.match(/[a-z]/))return"attribute"}a.eatWhile(/[\w-]/);var e=a.current();return t.hasOwnProperty(e)?t[e]:null}function n(t,n){return(n.tokens[0]||a)(t,n)}const r={name:"troff",startState:function(){return{tokens:[]}},token:function(t,a){return n(t,a)}};export{r as troff}; 2 | -------------------------------------------------------------------------------- /docs/assets/ttcn-cfg-CKJxb-l2.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},T=e.split(" "),E=0;E=&|]/;function r(e,i){var c,a=e.next();if(t=null,"<"!=a||e.match(/^[\s\u00a0=]/,!1)){if('"'==a||"'"==a)return i.tokenize=(c=a,function(t,e){for(var n,o=!1;null!=(n=t.next());){if(n==c&&!o){e.tokenize=r;break}o=!o&&"\\"==n}return"string"}),i.tokenize(e,i);if(/[{}\(\),\.;\[\]]/.test(a))return t=a,null;if("#"==a)return e.skipToEnd(),"comment";if(o.test(a))return e.eatWhile(o),null;if(":"==a)return"operator";if(e.eatWhile(/[_\w\d]/),":"==e.peek())return"variableName.special";var l=e.current();return n.test(l)?"meta":a>="A"&&a<="Z"?"comment":"keyword"}return e.match(/^[^\s\u00a0>]*>?/),"atom"}function i(t,e,n){t.context={prev:t.context,indent:t.indent,col:n,type:e}}function c(t){t.indent=t.context.indent,t.context=t.context.prev}const a={name:"turtle",startState:function(){return{tokenize:r,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var o=n.tokenize(e,n);if("comment"!=o&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)i(n,")",e.column());else if("["==t)i(n,"]",e.column());else if("{"==t)i(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)c(n);n.context&&t==n.context.type&&c(n)}else"."==t&&n.context&&"pattern"==n.context.type?c(n):/atom|string|variable/.test(o)&&n.context&&(/[\}\]]/.test(n.context.type)?i(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return o},indent:function(t,e,n){var o=e&&e.charAt(0),r=t.context;if(/[\]\}]/.test(o))for(;r&&"pattern"==r.type;)r=r.prev;var i=r&&o==r.type;return r?"pattern"==r.type?r.col:r.align?r.col+(i?0:1):r.indent+(i?0:n.unit):0},languageData:{commentTokens:{line:"#"}}};export{a as turtle}; 2 | -------------------------------------------------------------------------------- /docs/assets/useMarimoWebSocket-DcAzAz16.css: -------------------------------------------------------------------------------- 1 | .react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-grid-item.react-grid-placeholder{background-color:var(--grass-9)}.react-resizable-handle{visibility:hidden}.react-grid-item:hover .react-resizable-handle{visibility:visible}.dark .react-grid-item>.react-resizable-handle:after{border-bottom:2px solid hsla(0,0%,100%,.5);border-right:2px solid hsla(0,0%,100%,.5)}.disable-animation .react-grid-item{transition:none!important;transition-property:none!important}.react-grid-item .output img{height:100%;-o-object-fit:contain;object-fit:contain}#App.grid-bordered{background-color:var(--slate-1)}.tiny-code .cm-editor{font-size:8px;margin:0;padding:0}.tiny-code .cm-editor .cm-scroller{line-height:11px;overflow-x:hidden}.debugger-input .cm-gutterElement.cm-activeLineGutter{background-color:#bdc8d2}.app-sidebar .markdown{display:block;padding-left:1.25rem;padding-right:1.25rem}.app-sidebar{container-name:app-sidebar;container-type:inline-size}@container app-sidebar (max-width: 230px){.app-sidebar[data-expanded=false] .markdown{display:none}} 2 | -------------------------------------------------------------------------------- /docs/assets/vb-BHgjm0DN.js: -------------------------------------------------------------------------------- 1 | var e="error";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var n=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),r=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),a=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),i=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),o=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),c=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),u=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],s=["else","elseif","case","catch","finally"],l=["next","loop"],d=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],m=t(d),h=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],f=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],p=t(h),g=t(f),b=t(u),y=t(s),v=t(l),k=t(["end"]),w=t(["do"]);function x(e,t){t.currentIndent++}function I(e,t){t.currentIndent--}function z(t,u){if(t.eatSpace())return null;var s,l,d;if("'"===t.peek())return t.skipToEnd(),"comment";if(t.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var h=!1;if((t.match(/^\d*\.\d+F?/i)||t.match(/^\d+\.\d*F?/)||t.match(/^\.\d+F?/))&&(h=!0),h)return t.eat(/J/i),"number";var f=!1;if(t.match(/^&H[0-9a-f]+/i)||t.match(/^&O[0-7]+/i)?f=!0:t.match(/^[1-9]\d*F?/)?(t.eat(/J/i),f=!0):t.match(/^0(?![\dx])/i)&&(f=!0),f)return t.eat(/L/i),"number"}return t.match('"')?(u.tokenize=(s=t.current(),l=1==s.length,d="string",function(e,t){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(s))return t.tokenize=z,d;e.eat(/['"]/)}return l&&(t.tokenize=z),d}),u.tokenize(t,u)):t.match(o)||t.match(i)?null:t.match(a)||t.match(n)||t.match(m)?"operator":t.match(r)?null:t.match(w)?(x(0,u),u.doInCurrentLine=!0,"keyword"):t.match(b)?(u.doInCurrentLine?u.doInCurrentLine=!1:x(0,u),"keyword"):t.match(y)?"keyword":t.match(k)?(I(0,u),I(0,u),"keyword"):t.match(v)?(I(0,u),"keyword"):t.match(g)||t.match(p)?"keyword":t.match(c)?"variable":(t.next(),e)}const L={name:"vb",startState:function(){return{tokenize:z,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(t,n){t.sol()&&(n.currentIndent+=n.nextLineIndent,n.nextLineIndent=0,n.doInCurrentLine=0);var r=function(t,n){var r=n.tokenize(t,n),a=t.current();if("."===a)return"variable"===(r=n.tokenize(t,n))?"variable":e;var i="[({".indexOf(a);return-1!==i&&x(0,n),-1!==(i="])}".indexOf(a))&&I(0,n)?e:r}(t,n);return n.lastToken={style:r,content:t.current()},r},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,"");return r.match(v)||r.match(k)||r.match(y)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:u.concat(s).concat(l).concat(d).concat(h).concat(f)}};export{L as vb}; 2 | -------------------------------------------------------------------------------- /docs/assets/velocity-BdD_26Jv.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},n=e.split(" "),r=0;r!?:\/|]/;function i(e,t,n){return t.tokenize=n,n(e,t)}function o(e,o){var f=o.beforeParams;o.beforeParams=!1;var c=e.next();if("'"==c&&!o.inString&&o.inParams)return o.lastTokenWasBuiltin=!1,i(e,o,s(c));if('"'!=c){if(/[\[\]{}\(\),;\.]/.test(c))return"("==c&&f?o.inParams=!0:")"==c&&(o.inParams=!1,o.lastTokenWasBuiltin=!0),null;if(/\d/.test(c))return o.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),"number";if("#"==c&&e.eat("*"))return o.lastTokenWasBuiltin=!1,i(e,o,l);if("#"==c&&e.match(/ *\[ *\[/))return o.lastTokenWasBuiltin=!1,i(e,o,u);if("#"==c&&e.eat("#"))return o.lastTokenWasBuiltin=!1,e.skipToEnd(),"comment";if("$"==c)return e.eat("!"),e.eatWhile(/[\w\d\$_\.{}-]/),r&&r.propertyIsEnumerable(e.current())?"keyword":(o.lastTokenWasBuiltin=!0,o.beforeParams=!0,"builtin");if(a.test(c))return o.lastTokenWasBuiltin=!1,e.eatWhile(a),"operator";e.eatWhile(/[\w\$_{}@]/);var k=e.current();return t&&t.propertyIsEnumerable(k)?"keyword":n&&n.propertyIsEnumerable(k)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==e.peek()&&(!n||!n.propertyIsEnumerable(k.toLowerCase()))?(o.beforeParams=!0,o.lastTokenWasBuiltin=!1,"keyword"):o.inString?(o.lastTokenWasBuiltin=!1,"string"):e.pos>k.length&&"."==e.string.charAt(e.pos-k.length-1)&&o.lastTokenWasBuiltin?"builtin":(o.lastTokenWasBuiltin=!1,null)}return o.lastTokenWasBuiltin=!1,o.inString?(o.inString=!1,"string"):o.inParams?i(e,o,s(c)):void 0}function s(e){return function(t,n){for(var r,a=!1,i=!1;null!=(r=t.next());){if(r==e&&!a){i=!0;break}if('"'==e&&"$"==t.peek()&&!a){n.inString=!0,i=!0;break}a=!a&&"\\"==r}return i&&(n.tokenize=o),"string"}}function l(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=o;break}r="*"==n}return"comment"}function u(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=o;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}const f={name:"velocity",startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{line:"##",block:{open:"#*",close:"*#"}}}};export{f as velocity}; 2 | -------------------------------------------------------------------------------- /docs/assets/vhdl-CWWH2SUo.js: -------------------------------------------------------------------------------- 1 | function e(e){for(var t={},n=e.split(","),r=0;r?]/,f=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,d=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,y=/^_?[A-Za-z][0-9A-Z_a-z-]*/,p=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,b=/^"[^"]*"/,h=/^\/\*.*?\*\//,A=/^\/\*.*/,g=/^.*?\*\//;const D={name:"webidl",startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,t){var n=function(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(g)?(t.inComment=!1,"comment"):(e.skipToEnd(),"comment");if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(h))return"comment";if(e.match(A))return t.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(f)||e.match(d)))return"number";if(e.match(b))return"string";if(t.startDef&&e.match(y))return"def";if(t.endDef&&e.match(p))return t.endDef=!1,"def";if(e.match(o))return"keyword";if(e.match(a)){var n=t.lastToken,i=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===n||"implements"===n||"implements"===i||"="===i?"builtin":"type"}return e.match(r)?"builtin":e.match(l)?"atom":e.match(y)?"variable":e.match(s)?"operator":(e.next(),null)}(e,t);if(n){var i=e.current();t.lastToken=i,"keyword"===n?(t.startDef=m.test(i),t.endDef=t.endDef||u.test(i)):t.startDef=!1}return n},languageData:{autocomplete:t.concat(n).concat(i).concat(c)}};export{D as webIDL}; 2 | -------------------------------------------------------------------------------- /docs/assets/yacas-I8QjZlxf.js: -------------------------------------------------------------------------------- 1 | var e=function(e){for(var t={},n=e.split(" "),r=0;r|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function c(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if('"'===n&&!o){r=!0;break}o=!o&&"\\"===n}return r&&!o&&(t.tokenize=i),"string"}function u(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=i;break}n=r}return"comment"}function l(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}const s={name:"yacas",startState:function(){return{tokenize:i,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(e,t,n){if(e.tokenize!==i&&null!==e.tokenize)return null;var r=0;return"]"!==t&&"];"!==t&&"}"!==t&&"};"!==t&&");"!==t||(r=-1),(e.scopes.length+r)*n.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};export{s as yacas}; 2 | -------------------------------------------------------------------------------- /docs/assets/z80-D8p3gKXp.js: -------------------------------------------------------------------------------- 1 | function e(e){var t,r;e?(t=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,r=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(t=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,r=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var i=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,n=/^(n?[zc]|p[oe]?|m)\b/i,l=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,a=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:"z80",startState:function(){return{context:0}},token:function(c,s){if(c.column()||(s.context=0),c.eatSpace())return null;var o;if(c.eatWhile(/\w/)){if(e&&c.eat(".")&&c.eatWhile(/\w/),o=c.current(),!c.indentation())return c.match(a)?"number":null;if((1==s.context||4==s.context)&&i.test(o))return s.context=4,"variable";if(2==s.context&&n.test(o))return s.context=4,"variableName.special";if(t.test(o))return s.context=1,"keyword";if(r.test(o))return s.context=2,"keyword";if(4==s.context&&a.test(o))return"number";if(l.test(o))return"error"}else{if(c.eat(";"))return c.skipToEnd(),"comment";if(c.eat('"')){for(;(o=c.next())&&'"'!=o;)"\\"==o&&c.next();return"string"}if(c.eat("'")){if(c.match(/\\?.'/))return"number"}else if(c.eat(".")||c.sol()&&c.eat("#")){if(s.context=5,c.eatWhile(/\w/))return"def"}else if(c.eat("$")){if(c.eatWhile(/[\da-f]/i))return"number"}else if(c.eat("%")){if(c.eatWhile(/[01]/))return"number"}else c.next()}return null}}}const t=e(!1),r=e(!0);export{r as ez80,t as z80}; 2 | -------------------------------------------------------------------------------- /docs/assets/zoom-COrs4lFh.js: -------------------------------------------------------------------------------- 1 | function t(t){return((t=Math.exp(t))+1/t)/2}const r=function r(n,a,e){function u(r,u){var h,o,M=r[0],i=r[1],c=r[2],f=u[0],s=u[1],x=u[2],p=f-M,l=s-i,v=p*p+l*l;if(v<1e-12)o=Math.log(x/c)/n,h=function(t){return[M+t*p,i+t*l,c*Math.exp(n*t*o)]};else{var g=Math.sqrt(v),q=(x*x-c*c+e*v)/(2*c*a*g),Q=(x*x-c*c-e*v)/(2*x*a*g),R=Math.log(Math.sqrt(q*q+1)-q),S=Math.log(Math.sqrt(Q*Q+1)-Q);o=(S-R)/n,h=function(r){var e,u=r*o,h=t(R),f=c/(a*g)*(h*(e=n*u+R,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(R));return[M+f*p,i+f*l,c*h/t(n*u+R)]}}return h.duration=1e3*o*n/Math.SQRT2,h}return u.rho=function(t){var n=Math.max(.001,+t),a=n*n;return r(n,a,a*a)},u}(Math.SQRT2,2,4);export{r as i}; 2 | -------------------------------------------------------------------------------- /docs/circle-check.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/circle-check.ico -------------------------------------------------------------------------------- /docs/circle-play.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/circle-play.ico -------------------------------------------------------------------------------- /docs/circle-x.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/circle-x.ico -------------------------------------------------------------------------------- /docs/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/favicon-16x16.png -------------------------------------------------------------------------------- /docs/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/favicon-32x32.png -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/favicon.ico -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/docs/logo.png -------------------------------------------------------------------------------- /docs/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Marimo", 3 | "name": "A Marimo App", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "48x48", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "android-chrome-192x192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "android-chrome-512x512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /docs/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "background_color": "#ffffff", 3 | "display": "standalone", 4 | "icons": [ 5 | { 6 | "sizes": "192x192", 7 | "src": "/android-chrome-192x192.png", 8 | "type": "image/png" 9 | }, 10 | { 11 | "sizes": "512x512", 12 | "src": "/android-chrome-512x512.png", 13 | "type": "image/png" 14 | } 15 | ], 16 | "name": "marimo", 17 | "short_name": "marimo", 18 | "theme_color": "#ffffff" 19 | } 20 | -------------------------------------------------------------------------------- /drawdata/__init__.py: -------------------------------------------------------------------------------- 1 | from pathlib import Path 2 | import anywidget 3 | import traitlets 4 | from IPython.display import IFrame 5 | 6 | 7 | def draw_line(): 8 | """Deprecated line chart drawing utility that loads from an iframe""" 9 | print("Deprecated. Use drawdata.ScatterWidget() instead.") 10 | return IFrame("https://drawdata.xyz/line.html", width=800, height=550) 11 | 12 | 13 | def draw_scatter(): 14 | """Deprecated scatter chart drawing utility that loads from an iframe""" 15 | print("Deprecated. Use drawdata.ScatterWidget() instead.") 16 | return IFrame("https://drawdata.xyz/scatter.html", width=800, height=550) 17 | 18 | 19 | def draw_histogram(): 20 | """Deprecated histogram drawing utility that loads from an iframe""" 21 | print("Deprecated. Use drawdata.BarWidget() instead.") 22 | return IFrame("https://drawdata.xyz/histogram.html", width=800, height=550) 23 | 24 | 25 | 26 | class ScatterWidget(anywidget.AnyWidget): 27 | """ 28 | A scatter drawing widget that automatically can update a pandas/polars dataframe 29 | as your draw data. 30 | """ 31 | _esm = Path(__file__).parent / 'static' / 'scatter_widget.js' 32 | _css = Path(__file__).parent / 'static' / 'scatter_widget.css' 33 | data = traitlets.List([]).tag(sync=True) 34 | brushsize = traitlets.Int(40).tag(sync=True) 35 | width = traitlets.Int(800).tag(sync=True) 36 | height = traitlets.Int(500).tag(sync=True) 37 | 38 | @property 39 | def data_as_pandas(self): 40 | import pandas as pd 41 | return pd.DataFrame(self.data) 42 | 43 | @property 44 | def data_as_polars(self): 45 | import polars as pl 46 | return pl.DataFrame(self.data) 47 | 48 | @property 49 | def data_as_X_y(self): 50 | import numpy as np 51 | 52 | colors = [_['color'] for _ in self.data] 53 | 54 | # Assume that we're dealing with regression in this case 55 | if np.unique(colors).shape[0] == 1: 56 | X = np.array([[_['x']] for _ in self.data]) 57 | y = np.array([_['y'] for _ in self.data]) 58 | return X, y 59 | 60 | X = np.array([[_['x'], _['y']] for _ in self.data]) 61 | return X, colors 62 | 63 | 64 | class BarWidget(anywidget.AnyWidget): 65 | """ 66 | A bar drawing widget that automatically can update a pandas/polars dataframe 67 | as your draw data. 68 | """ 69 | _esm = Path(__file__).parent / 'static' / 'bar_widget.js' 70 | _css = Path(__file__).parent / 'static' / 'bar_widget.css' 71 | data = traitlets.List([]).tag(sync=True) 72 | y_min = traitlets.Float(0.0).tag(sync=True) 73 | y_max = traitlets.Float(1.0).tag(sync=True) 74 | n_bins = traitlets.Int(24).tag(sync=True) 75 | width = traitlets.Int(800).tag(sync=True) 76 | height = traitlets.Int(550).tag(sync=True) 77 | collection_names = traitlets.List(["collection1", "collection2"]).tag(sync=True) 78 | @property 79 | def data_as_pandas(self): 80 | import pandas as pd 81 | return pd.DataFrame(self.data) 82 | 83 | @property 84 | def data_as_polars(self): 85 | import polars as pl 86 | return pl.DataFrame(self.data) 87 | -------------------------------------------------------------------------------- /drawdata/static/bar_widget.css: -------------------------------------------------------------------------------- 1 | .container { 2 | max-width: 800px; 3 | margin: 20px auto; 4 | font-family: Arial, sans-serif; 5 | } 6 | .controls { 7 | margin-bottom: 20px; 8 | } 9 | .chart-container { 10 | border: 1px solid #ccc; 11 | margin-bottom: 20px; 12 | } 13 | button.control { 14 | padding: 8px 16px; 15 | margin: 0 5px; 16 | cursor: pointer; 17 | background-color: #eee; 18 | border: 1px solid #ccc; 19 | } 20 | button.reset { 21 | padding: 8px 16px; 22 | margin: 0 5px; 23 | cursor: pointer; 24 | background-color: #eee; 25 | border: 1px solid #ccc; 26 | } 27 | .active { 28 | border: 4px solid #333; 29 | background-color: #ddd; 30 | font-weight: bold; 31 | } 32 | input[type="number"] { 33 | width: 80px; 34 | padding: 5px; 35 | margin: 0 5px; 36 | } 37 | label { 38 | margin-right: 10px; 39 | } 40 | .bar { 41 | opacity: 0.6; 42 | transition: opacity 0.2s; 43 | } 44 | .bar:hover { 45 | opacity: 0.8; 46 | } 47 | .grid line { 48 | stroke: #ddd; 49 | stroke-opacity: 0.7; 50 | } 51 | .domain { 52 | stroke: #000; 53 | stroke-width: 1px; 54 | } 55 | -------------------------------------------------------------------------------- /imgs/calmcode-logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/calmcode-logo.webp -------------------------------------------------------------------------------- /imgs/gif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/gif.gif -------------------------------------------------------------------------------- /imgs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/logo.png -------------------------------------------------------------------------------- /imgs/probabl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/probabl.png -------------------------------------------------------------------------------- /imgs/update.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/update.gif -------------------------------------------------------------------------------- /imgs/widget.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koaning/drawdata/b92bf0fffc2d0b4fd61cbe230d63a4163ed201d0/imgs/widget.gif -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### drawdata 4 | 5 | > "Just draw some data and get on with your day." 6 | 7 | This small Python library contains Jupyter widgets that allow you to draw a dataset in a Jupyter 8 | notebook. This should be very useful when teaching machine learning algorithms. 9 | 10 | ![CleanShot 2025-05-08 at 17 27 36](https://github.com/user-attachments/assets/ae87e26e-a720-494f-9fd2-ec0374a9f8f3) 11 | 12 | The project uses [anywidget](https://anywidget.dev/) under the hood so our tools should work in Jupyter, VSCode and Colab. That also means that you get a proper widget that can interact with [ipywidgets](https://ipywidgets.readthedocs.io/en/stable/) natively. [Here](https://www.youtube.com/watch?v=STPv0jSAQEk) is an example where updating a drawing triggers a new scikit-learn model to train ([code](https://github.com/probabl-ai/youtube-appendix/blob/main/04-drawing-data/notebook.ipynb)). 13 | 14 | You can really get creative with this in a notebook, so feel free to give it a spin! 15 | 16 | #### Installation 17 | 18 | Installation occurs via pip. 19 | 20 | ``` 21 | python -m pip install drawdata 22 | ``` 23 | 24 | To read the data, `polars` is useful, but this library also suppots `pandas`: 25 | 26 | ``` 27 | python -m pip install pandas polars 28 | ``` 29 | 30 | #### Usage: `ScatterWidget` 31 | 32 | You can load the scatter widget to start drawing immediately. 33 | 34 | ```python 35 | from drawdata import ScatterWidget 36 | 37 | widget = ScatterWidget() 38 | widget 39 | ``` 40 | 41 | If you want to use the dataset that you've just drawn you can do so via: 42 | 43 | ```python 44 | # Get the drawn data as a list of dictionaries 45 | widget.data 46 | 47 | # Get the drawn data as a dataframe 48 | widget.data_as_pandas 49 | widget.data_as_polars 50 | ``` 51 | 52 | If you're eager to do scikit-learn stuff with your drawn data you may appreciate this property instead: 53 | 54 | ``` 55 | X, y = widget.data_as_X_y 56 | ``` 57 | 58 | The assumption for this property is that if you've used multiple colors that you're interested in doing classification and if you've only drawn one color you're interested in regression. In the case of regression `y` will refer to the y-axis. 59 | 60 | #### Usage: `BarWidget` 61 | 62 | ```python 63 | from drawdata import BarWidget 64 | 65 | widget = BarWidget(collection_names=["usage", "sunshine"], n_bins=24) 66 | widget 67 | ``` 68 | 69 | ![CleanShot_2024-12-01_at_21 19 19](https://github.com/user-attachments/assets/16c936c8-d310-4fa1-9057-6fb870d43db8) 70 | -------------------------------------------------------------------------------- /scatter-demo.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | import marimo 4 | 5 | __generated_with = "0.13.3" 6 | app = marimo.App(width="medium") 7 | 8 | 9 | @app.cell 10 | def _(): 11 | import marimo as mo 12 | from drawdata import ScatterWidget 13 | return ScatterWidget, mo 14 | 15 | 16 | @app.cell(hide_code=True) 17 | def _(mo): 18 | mo.md( 19 | r""" 20 | # Drawing a `ScatterChart` 21 | 22 | This notebook contains a demo of the `ScatterWidget` inside of the [drawdata](https://github.com/koaning/drawdata) library. 23 | """ 24 | ) 25 | return 26 | 27 | 28 | @app.cell(hide_code=True) 29 | def _(ScatterWidget, mo): 30 | widget = mo.ui.anywidget(ScatterWidget(height=400)) 31 | widget 32 | return (widget,) 33 | 34 | 35 | @app.cell(hide_code=True) 36 | def _(widget): 37 | import altair as alt 38 | 39 | 40 | base = alt.Chart(widget.data_as_pandas) 41 | base_bar = base.mark_bar(opacity=0.3, binSpacing=0) 42 | color_domain = widget.data_as_pandas["color"].unique() 43 | 44 | xscale = alt.Scale(domain=(0, 800)) 45 | yscale = alt.Scale(domain=(0, 500)) 46 | colscale = alt.Scale(domain=color_domain, range=color_domain) 47 | 48 | points = base.mark_circle().encode( 49 | alt.X("x").scale(xscale), 50 | alt.Y("y").scale(yscale), 51 | color="color", 52 | ) 53 | 54 | top_hist = ( 55 | base_bar 56 | .encode( 57 | alt.X("x:Q") 58 | # when using bins, the axis scale is set through 59 | # the bin extent, so we do not specify the scale here 60 | # (which would be ignored anyway) 61 | .bin(maxbins=30, extent=xscale.domain).stack(None).title(""), 62 | alt.Y("count()").stack(None).title(""), 63 | alt.Color("color:N", scale=colscale), 64 | ) 65 | .properties(height=60) 66 | ) 67 | 68 | right_hist = ( 69 | base_bar 70 | .encode( 71 | alt.Y("y:Q") 72 | .bin(maxbins=30, extent=yscale.domain) 73 | .stack(None) 74 | .title(""), 75 | alt.X("count()").stack(None).title(""), 76 | alt.Color("color:N"), 77 | ) 78 | .properties(width=60) 79 | ) 80 | 81 | top_hist & (points | right_hist) 82 | return 83 | 84 | 85 | @app.cell 86 | def _(): 87 | return 88 | 89 | 90 | if __name__ == "__main__": 91 | app.run() 92 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | from setuptools import setup, find_packages 3 | 4 | 5 | base_packages = [ 6 | "anywidget>=0.9.2" 7 | ] 8 | 9 | def read(fname): 10 | return open(os.path.join(os.path.dirname(__file__), fname)).read() 11 | 12 | 13 | setup( 14 | name="drawdata", 15 | version="0.3.4", 16 | description="draw a dataset from inside Jupyter", 17 | author="Vincent D. Warmerdam", 18 | packages=find_packages(exclude=["notebooks"]), 19 | package_data={"drawdata": ["static/*.js", "static/*.css"]}, 20 | long_description=read("readme.md"), 21 | long_description_content_type="text/markdown", 22 | install_requires=base_packages, 23 | classifiers=[ 24 | "Intended Audience :: Developers", 25 | "Intended Audience :: Science/Research", 26 | "Programming Language :: Python :: 3", 27 | "Programming Language :: Python :: 3.8", 28 | "Programming Language :: Python :: 3.9", 29 | "Programming Language :: Python :: 3.10", 30 | "Programming Language :: Python :: 3.11", 31 | "Programming Language :: Python :: 3.12", 32 | "License :: OSI Approved :: MIT License", 33 | "Topic :: Scientific/Engineering", 34 | ], 35 | license_files=["LICENSE"], 36 | ) 37 | --------------------------------------------------------------------------------