From c6450b21c7d37d97c27beaf39faf2758da03bf8e Mon Sep 17 00:00:00 2001 From: Holly and Prosper <45610532+rongpenl@users.noreply.github.com> Date: Sat, 23 Sep 2023 14:49:27 -0700 Subject: [PATCH 01/29] fix a typo in deep_dive.rst (#3377) --- docs/source/guides/deep_dive.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/guides/deep_dive.rst b/docs/source/guides/deep_dive.rst index feef87d2e3..3ff34f6720 100644 --- a/docs/source/guides/deep_dive.rst +++ b/docs/source/guides/deep_dive.rst @@ -211,7 +211,7 @@ is imported and Python has read and defined the ``ToyExample`` class (but, read carefully: *no instance of this class has been created yet*). At this point, the interpreter is about to enter the ``tempconfig`` context -manager. Even if you have not seen Manim's ``tempconfig`` before, it's name +manager. Even if you have not seen Manim's ``tempconfig`` before, its name already suggests what it does: it creates a copy of the current state of the configuration, applies the changes to the key-value pairs in the passed dictionary, and upon leaving the context the original version of the From 73e30cea8907576492c19dd3155e2714354538e9 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Mon, 9 Oct 2023 20:38:20 +0200 Subject: [PATCH 02/29] Several GitHub actions updates (#3397) * Bump docker/login-action from 2 to 3 Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Bump docker/setup-buildx-action from 2 to 3 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Bump docker/build-push-action from 4 to 5 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v4...v5) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Bump docker/setup-qemu-action from 2 to 3 Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cffconvert.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/publish-docker.yml | 16 ++++++++-------- .github/workflows/python-publish.yml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/cffconvert.yml b/.github/workflows/cffconvert.yml index 6851c52d38..7144363717 100644 --- a/.github/workflows/cffconvert.yml +++ b/.github/workflows/cffconvert.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out a copy of the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check whether the citation metadata from CITATION.cff is valid uses: citation-file-format/cffconvert-github-action@2.0.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c234a6e885..1a3ec07c37 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Poetry run: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 85d892800d..057d471a24 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index fdd67c2a77..c9c7c2cbb2 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -13,19 +13,19 @@ jobs: if: github.event_name != 'release' steps: - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: platforms: linux/arm64,linux/amd64 push: true @@ -38,13 +38,13 @@ jobs: if: github.event_name == 'release' steps: - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -61,7 +61,7 @@ jobs: print(f"tag_name={ref_tag}", file=f) - name: Build and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: platforms: linux/arm64,linux/amd64 push: true diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 42763dae49..e1e3d79c05 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -8,7 +8,7 @@ jobs: release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python 3.8 uses: actions/setup-python@v4 From 571f79be2cf0eff8819aa5d0492d3542b76e5ab3 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Tue, 10 Oct 2023 00:11:37 +0530 Subject: [PATCH 03/29] rtd: enable htmlzip build (#3355) also, bump python to 3.11 fixes https://github.com/ManimCommunity/manim/issues/3342 --- .readthedocs.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 836b4eb423..3c93ef3d97 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,9 +1,13 @@ version: 2 + +formats: + - htmlzip + build: os: ubuntu-22.04 tools: - python: "3.10" + python: "3.11" apt_packages: - libpango1.0-dev From 684014a861e8ccf00b565eb9e25f4960870eeb73 Mon Sep 17 00:00:00 2001 From: Anousheh Moonen <141789878+u7481690@users.noreply.github.com> Date: Tue, 10 Oct 2023 21:29:03 +1100 Subject: [PATCH 04/29] fix(docs): Remove extra curly bracket in LaTeX math expression to fix issue #3330 (#3389) --- docs/source/guides/using_text.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/guides/using_text.rst b/docs/source/guides/using_text.rst index 80393aa608..8e4471d08e 100644 --- a/docs/source/guides/using_text.rst +++ b/docs/source/guides/using_text.rst @@ -378,7 +378,7 @@ we have to add it manually. myTemplate = TexTemplate() myTemplate.add_to_preamble(r"\usepackage{mathrsfs}") tex = Tex( - r"$\mathscr{H} \rightarrow \mathbb{H}$}", + r"$\mathscr{H} \rightarrow \mathbb{H}$", tex_template=myTemplate, font_size=144, ) From 7fab9cdbf9a28f4445a3c92fad9bcdf063f6b47c Mon Sep 17 00:00:00 2001 From: Narahari Rao Date: Thu, 12 Oct 2023 01:28:43 -0500 Subject: [PATCH 05/29] Bug fix: Use np.isclose for float equality in number line elongated ticks (#3392) * use np.isclose for float equality in number line elongated ticks * use offsets relative to x_min to tell if we need to elongate a tick * forgot to subtract to create list of offsets * add test for elongated ticks float equality * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove unused import --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/mobject/graphing/number_line.py | 3 ++- tests/module/mobject/graphing/test_ticks.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/manim/mobject/graphing/number_line.py b/manim/mobject/graphing/number_line.py index 08f6ef48fa..aec3bfb533 100644 --- a/manim/mobject/graphing/number_line.py +++ b/manim/mobject/graphing/number_line.py @@ -277,9 +277,10 @@ def add_ticks(self): via ``self.ticks``.""" ticks = VGroup() elongated_tick_size = self.tick_size * self.longer_tick_multiple + elongated_tick_offsets = self.numbers_with_elongated_ticks - self.x_min for x in self.get_tick_range(): size = self.tick_size - if x in self.numbers_with_elongated_ticks: + if np.any(np.isclose(x - self.x_min, elongated_tick_offsets)): size = elongated_tick_size ticks.add(self.get_tick(x, size)) self.add(ticks) diff --git a/tests/module/mobject/graphing/test_ticks.py b/tests/module/mobject/graphing/test_ticks.py index eeac2ac0a1..5bc5eb1604 100644 --- a/tests/module/mobject/graphing/test_ticks.py +++ b/tests/module/mobject/graphing/test_ticks.py @@ -13,6 +13,27 @@ def test_duplicate_ticks_removed_for_axes(): assert np.unique(ticks).size == ticks.size +def test_elongated_ticks_float_equality(): + nline = NumberLine( + x_range=[1 + 1e-5, 1 + 2e-5, 1e-6], + numbers_with_elongated_ticks=[ + 1 + 12e-6, + 1 + 17e-6, + ], # Elongate the 3rd and 8th tick + include_ticks=True, + ) + + tick_heights = {tick.height for tick in nline.ticks} + default_tick_height, elongated_tick_height = min(tick_heights), max(tick_heights) + + assert all( + tick.height == elongated_tick_height + if ind in [2, 7] + else tick.height == default_tick_height + for ind, tick in enumerate(nline.ticks) + ) + + def test_ticks_not_generated_on_origin_for_axes(): axes = Axes( x_range=[-10, 10], From 94df2c44d87ff66e0fe16f8d64a383d7859776cf Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Sun, 22 Oct 2023 20:05:38 +0200 Subject: [PATCH 06/29] Updated several dependencies (#3399) * updated lockfile * ran poetry update again --- poetry.lock | 2315 +++++++++++++++++++++++++++------------------------ 1 file changed, 1218 insertions(+), 1097 deletions(-) diff --git a/poetry.lock b/poetry.lock index 31d8058480..9bde1773e7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -42,25 +42,25 @@ files = [ [[package]] name = "anyio" -version = "3.7.1" +version = "4.0.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "anyio-3.7.1-py3-none-any.whl", hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5"}, - {file = "anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780"}, + {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, + {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, ] [package.dependencies] -exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" [package.extras] -doc = ["Sphinx", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-jquery"] -test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (<0.22)"] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.22)"] [[package]] name = "appnope" @@ -76,23 +76,24 @@ files = [ [[package]] name = "argon2-cffi" -version = "21.3.0" -description = "The secure Argon2 password hashing algorithm." +version = "23.1.0" +description = "Argon2 for Python" category = "main" optional = true -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "argon2-cffi-21.3.0.tar.gz", hash = "sha256:d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b"}, - {file = "argon2_cffi-21.3.0-py3-none-any.whl", hash = "sha256:8c976986f2c5c0e5000919e6de187906cfd81fb1c72bf9d88c01177e77da7f80"}, + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, ] [package.dependencies] argon2-cffi-bindings = "*" [package.extras] -dev = ["cogapp", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "pre-commit", "pytest", "sphinx", "sphinx-notfound-page", "tomli"] -docs = ["furo", "sphinx", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] +dev = ["argon2-cffi[tests,typing]", "tox (>4)"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] +tests = ["hypothesis", "pytest"] +typing = ["mypy"] [[package]] name = "argon2-cffi-bindings" @@ -134,18 +135,23 @@ tests = ["pytest"] [[package]] name = "arrow" -version = "1.2.3" +version = "1.3.0" description = "Better dates & times for Python" category = "main" optional = true -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "arrow-1.2.3-py3-none-any.whl", hash = "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2"}, - {file = "arrow-1.2.3.tar.gz", hash = "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1"}, + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, ] [package.dependencies] python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] [[package]] name = "astor" @@ -161,14 +167,14 @@ files = [ [[package]] name = "astroid" -version = "2.15.6" +version = "2.15.8" description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false python-versions = ">=3.7.2" files = [ - {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"}, - {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"}, + {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"}, + {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"}, ] [package.dependencies] @@ -181,18 +187,18 @@ wrapt = [ [[package]] name = "asttokens" -version = "2.2.1" +version = "2.4.0" description = "Annotate AST trees with source code positions" category = "main" optional = true python-versions = "*" files = [ - {file = "asttokens-2.2.1-py2.py3-none-any.whl", hash = "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c"}, - {file = "asttokens-2.2.1.tar.gz", hash = "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"}, + {file = "asttokens-2.4.0-py2.py3-none-any.whl", hash = "sha256:cf8fc9e61a86461aa9fb161a14a0841a03c405fa829ac6b202670b3495d2ce69"}, + {file = "asttokens-2.4.0.tar.gz", hash = "sha256:2e0171b991b2c959acc6c49318049236844a5da1d65ba2672c4880c1c894834e"}, ] [package.dependencies] -six = "*" +six = ">=1.12.0" [package.extras] test = ["astroid", "pytest"] @@ -218,19 +224,22 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.12.1" +version = "2.13.0" description = "Internationalization utilities" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, + {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, + {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, ] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "backcall" version = "0.2.0" @@ -264,34 +273,30 @@ lxml = ["lxml"] [[package]] name = "black" -version = "23.7.0" +version = "23.10.0" description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"}, - {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"}, - {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"}, - {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"}, - {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"}, - {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"}, - {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"}, - {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"}, - {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"}, - {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"}, - {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"}, + {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"}, + {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"}, + {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"}, + {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"}, + {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"}, + {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"}, + {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"}, + {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"}, + {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"}, + {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"}, + {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"}, + {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"}, + {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"}, + {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"}, + {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"}, + {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"}, + {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"}, + {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"}, ] [package.dependencies] @@ -301,7 +306,7 @@ packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -311,14 +316,14 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "bleach" -version = "6.0.0" +version = "6.1.0" description = "An easy safelist-based HTML-sanitizing tool." category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "bleach-6.0.0-py3-none-any.whl", hash = "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4"}, - {file = "bleach-6.0.0.tar.gz", hash = "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414"}, + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, ] [package.dependencies] @@ -326,7 +331,7 @@ six = ">=1.9.0" webencodings = "*" [package.extras] -css = ["tinycss2 (>=1.1.0,<1.2)"] +css = ["tinycss2 (>=1.1.0,<1.3)"] [[package]] name = "certifi" @@ -342,76 +347,64 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -419,111 +412,126 @@ pycparser = "*" [[package]] name = "cfgv" -version = "3.3.1" +version = "3.4.0" description = "Validate configuration and produce human readable error messages." category = "dev" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.8" files = [ - {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"}, - {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, + {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, ] [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -531,18 +539,22 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "click-default-group" -version = "1.2.2" -description = "Extends click.Group to invoke a command without explicit subcommand name" +version = "1.2.4" +description = "click_default_group" category = "main" optional = false -python-versions = "*" +python-versions = ">=2.7" files = [ - {file = "click-default-group-1.2.2.tar.gz", hash = "sha256:d9560e8e8dfa44b3562fbc9425042a0fd6d21956fcc2db0077f63f34253ab904"}, + {file = "click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f"}, + {file = "click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e"}, ] [package.dependencies] click = "*" +[package.extras] +test = ["pytest"] + [[package]] name = "cloup" version = "0.13.1" @@ -573,18 +585,18 @@ files = [ [[package]] name = "comm" -version = "0.1.3" +version = "0.1.4" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." category = "main" optional = true python-versions = ">=3.6" files = [ - {file = "comm-0.1.3-py3-none-any.whl", hash = "sha256:16613c6211e20223f215fc6d3b266a247b6e2641bf4e0a3ad34cb1aff2aa3f37"}, - {file = "comm-0.1.3.tar.gz", hash = "sha256:a61efa9daffcfbe66fd643ba966f846a624e4e6d6767eda9cf6e993aadaab93e"}, + {file = "comm-0.1.4-py3-none-any.whl", hash = "sha256:6d52794cba11b36ed9860999cd10fd02d6b2eac177068fdd585e1e2f8a96e67a"}, + {file = "comm-0.1.4.tar.gz", hash = "sha256:354e40a59c9dd6db50c5cc6b4acc887d82e9603787f83b68c01a80a923984d15"}, ] [package.dependencies] -traitlets = ">=5.3" +traitlets = ">=4" [package.extras] lint = ["black (>=22.6.0)", "mdformat (>0.7)", "mdformat-gfm (>=0.3.5)", "ruff (>=0.0.156)"] @@ -608,131 +620,136 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "contourpy" -version = "1.1.0" +version = "1.1.1" description = "Python library for calculating contours of 2D quadrilateral grids" category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"}, - {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ae46595e22f93592d39a7eac3d638cda552c3e1160255258b695f7b58e5655"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17cfaf5ec9862bc93af1ec1f302457371c34e688fbd381f4035a06cd47324f48"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"}, - {file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"}, - {file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052cc634bf903c604ef1a00a5aa093c54f81a2612faedaa43295809ffdde885e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9382a1c0bc46230fb881c36229bfa23d8c303b889b788b939365578d762b5c18"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"}, - {file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"}, - {file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62013a2cf68abc80dadfd2307299bfa8f5aa0dcaec5b2954caeb5fa094171103"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b6616375d7de55797d7a66ee7d087efe27f03d336c27cf1f32c02b8c1a5ac70"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"}, - {file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"}, - {file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f2931ed4741f98f74b410b16e5213f71dcccee67518970c42f64153ea9313b9"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30f511c05fab7f12e0b1b7730ebdc2ec8deedcfb505bc27eb570ff47c51a8f15"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"}, - {file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"}, - {file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a67259c2b493b00e5a4d0f7bfae51fb4b3371395e47d079a4446e9b0f4d70e76"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b836d22bd2c7bb2700348e4521b25e077255ebb6ab68e351ab5aa91ca27e027"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084eaa568400cfaf7179b847ac871582199b1b44d5699198e9602ecbbb5f6104"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:911ff4fd53e26b019f898f32db0d4956c9d227d51338fb3b03ec72ff0084ee5f"}, - {file = "contourpy-1.1.0.tar.gz", hash = "sha256:e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21"}, + {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, + {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1"}, + {file = "contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d"}, + {file = "contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431"}, + {file = "contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5"}, + {file = "contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62"}, + {file = "contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33"}, + {file = "contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf"}, + {file = "contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d"}, + {file = "contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6"}, + {file = "contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8"}, + {file = "contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251"}, + {file = "contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7"}, + {file = "contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85"}, + {file = "contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e"}, + {file = "contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0"}, + {file = "contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c"}, + {file = "contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"}, ] [package.dependencies] -numpy = ">=1.16" +numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} [package.extras] bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pillow"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.4.1)", "types-Pillow"] test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] test-no-images = ["pytest", "pytest-cov", "wurlitzer"] [[package]] name = "coverage" -version = "7.2.7" +version = "7.3.2" description = "Code coverage measurement for Python" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "coverage-7.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d39b5b4f2a66ccae8b7263ac3c8170994b65266797fb96cbbfd3fb5b23921db8"}, - {file = "coverage-7.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d040ef7c9859bb11dfeb056ff5b3872436e3b5e401817d87a31e1750b9ae2fb"}, - {file = "coverage-7.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba90a9563ba44a72fda2e85302c3abc71c5589cea608ca16c22b9804262aaeb6"}, - {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d9405291c6928619403db1d10bd07888888ec1abcbd9748fdaa971d7d661b2"}, - {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31563e97dae5598556600466ad9beea39fb04e0229e61c12eaa206e0aa202063"}, - {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ebba1cd308ef115925421d3e6a586e655ca5a77b5bf41e02eb0e4562a111f2d1"}, - {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cb017fd1b2603ef59e374ba2063f593abe0fc45f2ad9abdde5b4d83bd922a353"}, - {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62a5c7dad11015c66fbb9d881bc4caa5b12f16292f857842d9d1871595f4495"}, - {file = "coverage-7.2.7-cp310-cp310-win32.whl", hash = "sha256:ee57190f24fba796e36bb6d3aa8a8783c643d8fa9760c89f7a98ab5455fbf818"}, - {file = "coverage-7.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:f75f7168ab25dd93110c8a8117a22450c19976afbc44234cbf71481094c1b850"}, - {file = "coverage-7.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06a9a2be0b5b576c3f18f1a241f0473575c4a26021b52b2a85263a00f034d51f"}, - {file = "coverage-7.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5baa06420f837184130752b7c5ea0808762083bf3487b5038d68b012e5937dbe"}, - {file = "coverage-7.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdec9e8cbf13a5bf63290fc6013d216a4c7232efb51548594ca3631a7f13c3a3"}, - {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52edc1a60c0d34afa421c9c37078817b2e67a392cab17d97283b64c5833f427f"}, - {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63426706118b7f5cf6bb6c895dc215d8a418d5952544042c8a2d9fe87fcf09cb"}, - {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:afb17f84d56068a7c29f5fa37bfd38d5aba69e3304af08ee94da8ed5b0865833"}, - {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:48c19d2159d433ccc99e729ceae7d5293fbffa0bdb94952d3579983d1c8c9d97"}, - {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e1f928eaf5469c11e886fe0885ad2bf1ec606434e79842a879277895a50942a"}, - {file = "coverage-7.2.7-cp311-cp311-win32.whl", hash = "sha256:33d6d3ea29d5b3a1a632b3c4e4f4ecae24ef170b0b9ee493883f2df10039959a"}, - {file = "coverage-7.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:5b7540161790b2f28143191f5f8ec02fb132660ff175b7747b95dcb77ac26562"}, - {file = "coverage-7.2.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f2f67fe12b22cd130d34d0ef79206061bfb5eda52feb6ce0dba0644e20a03cf4"}, - {file = "coverage-7.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a342242fe22407f3c17f4b499276a02b01e80f861f1682ad1d95b04018e0c0d4"}, - {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:171717c7cb6b453aebac9a2ef603699da237f341b38eebfee9be75d27dc38e01"}, - {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49969a9f7ffa086d973d91cec8d2e31080436ef0fb4a359cae927e742abfaaa6"}, - {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b46517c02ccd08092f4fa99f24c3b83d8f92f739b4657b0f146246a0ca6a831d"}, - {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a3d33a6b3eae87ceaefa91ffdc130b5e8536182cd6dfdbfc1aa56b46ff8c86de"}, - {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:976b9c42fb2a43ebf304fa7d4a310e5f16cc99992f33eced91ef6f908bd8f33d"}, - {file = "coverage-7.2.7-cp312-cp312-win32.whl", hash = "sha256:8de8bb0e5ad103888d65abef8bca41ab93721647590a3f740100cd65c3b00511"}, - {file = "coverage-7.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:9e31cb64d7de6b6f09702bb27c02d1904b3aebfca610c12772452c4e6c21a0d3"}, - {file = "coverage-7.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58c2ccc2f00ecb51253cbe5d8d7122a34590fac9646a960d1430d5b15321d95f"}, - {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d22656368f0e6189e24722214ed8d66b8022db19d182927b9a248a2a8a2f67eb"}, - {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a895fcc7b15c3fc72beb43cdcbdf0ddb7d2ebc959edac9cef390b0d14f39f8a9"}, - {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84606b74eb7de6ff581a7915e2dab7a28a0517fbe1c9239eb227e1354064dcd"}, - {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0a5f9e1dbd7fbe30196578ca36f3fba75376fb99888c395c5880b355e2875f8a"}, - {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:419bfd2caae268623dd469eff96d510a920c90928b60f2073d79f8fe2bbc5959"}, - {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2aee274c46590717f38ae5e4650988d1af340fe06167546cc32fe2f58ed05b02"}, - {file = "coverage-7.2.7-cp37-cp37m-win32.whl", hash = "sha256:61b9a528fb348373c433e8966535074b802c7a5d7f23c4f421e6c6e2f1697a6f"}, - {file = "coverage-7.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:b1c546aca0ca4d028901d825015dc8e4d56aac4b541877690eb76490f1dc8ed0"}, - {file = "coverage-7.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54b896376ab563bd38453cecb813c295cf347cf5906e8b41d340b0321a5433e5"}, - {file = "coverage-7.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d376df58cc111dc8e21e3b6e24606b5bb5dee6024f46a5abca99124b2229ef5"}, - {file = "coverage-7.2.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e330fc79bd7207e46c7d7fd2bb4af2963f5f635703925543a70b99574b0fea9"}, - {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e9d683426464e4a252bf70c3498756055016f99ddaec3774bf368e76bbe02b6"}, - {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d13c64ee2d33eccf7437961b6ea7ad8673e2be040b4f7fd4fd4d4d28d9ccb1e"}, - {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b7aa5f8a41217360e600da646004f878250a0d6738bcdc11a0a39928d7dc2050"}, - {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fa03bce9bfbeeef9f3b160a8bed39a221d82308b4152b27d82d8daa7041fee5"}, - {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:245167dd26180ab4c91d5e1496a30be4cd721a5cf2abf52974f965f10f11419f"}, - {file = "coverage-7.2.7-cp38-cp38-win32.whl", hash = "sha256:d2c2db7fd82e9b72937969bceac4d6ca89660db0a0967614ce2481e81a0b771e"}, - {file = "coverage-7.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:2e07b54284e381531c87f785f613b833569c14ecacdcb85d56b25c4622c16c3c"}, - {file = "coverage-7.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:537891ae8ce59ef63d0123f7ac9e2ae0fc8b72c7ccbe5296fec45fd68967b6c9"}, - {file = "coverage-7.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06fb182e69f33f6cd1d39a6c597294cff3143554b64b9825d1dc69d18cc2fff2"}, - {file = "coverage-7.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:201e7389591af40950a6480bd9edfa8ed04346ff80002cec1a66cac4549c1ad7"}, - {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6951407391b639504e3b3be51b7ba5f3528adbf1a8ac3302b687ecababf929e"}, - {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f48351d66575f535669306aa7d6d6f71bc43372473b54a832222803eb956fd1"}, - {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b29019c76039dc3c0fd815c41392a044ce555d9bcdd38b0fb60fb4cd8e475ba9"}, - {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81c13a1fc7468c40f13420732805a4c38a105d89848b7c10af65a90beff25250"}, - {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:975d70ab7e3c80a3fe86001d8751f6778905ec723f5b110aed1e450da9d4b7f2"}, - {file = "coverage-7.2.7-cp39-cp39-win32.whl", hash = "sha256:7ee7d9d4822c8acc74a5e26c50604dff824710bc8de424904c0982e25c39c6cb"}, - {file = "coverage-7.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb393e5ebc85245347950143969b241d08b52b88a3dc39479822e073a1a8eb27"}, - {file = "coverage-7.2.7-pp37.pp38.pp39-none-any.whl", hash = "sha256:b7b4c971f05e6ae490fef852c218b0e79d4e52f79ef0c8475566584a8fb3e01d"}, - {file = "coverage-7.2.7.tar.gz", hash = "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, + {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, + {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, + {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, + {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, + {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, + {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, + {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, + {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, + {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, + {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, + {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, + {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, ] [package.dependencies] @@ -743,35 +760,35 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "41.0.2" +version = "41.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, - {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, - {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, - {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, + {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, + {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, + {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, ] [package.dependencies] @@ -789,82 +806,86 @@ test-randomorder = ["pytest-randomly"] [[package]] name = "cycler" -version = "0.11.0" +version = "0.12.1" description = "Composable style cycles" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, - {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, ] +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + [[package]] name = "cython" -version = "3.0.0" +version = "3.0.4" description = "The Cython compiler for writing C extensions in the Python language." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "Cython-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c7d728e1a49ad01d41181e3a9ea80b8d14e825f4679e4dd837cbf7bca7998a5"}, - {file = "Cython-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:626a4a6ef4b7ced87c348ea805488e4bd39dad9d0b39659aa9e1040b62bbfedf"}, - {file = "Cython-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33c900d1ca9f622b969ac7d8fc44bdae140a4a6c7d8819413b51f3ccd0586a09"}, - {file = "Cython-3.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a65bc50dc1bc2faeafd9425defbdef6a468974f5c4192497ff7f14adccfdcd32"}, - {file = "Cython-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b71b399b10b038b056ad12dce1e317a8aa7a96e99de7e4fa2fa5d1c9415cfb9"}, - {file = "Cython-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f42f304c097cc53e9eb5f1a1d150380353d5018a3191f1b77f0de353c762181e"}, - {file = "Cython-3.0.0-cp310-cp310-win32.whl", hash = "sha256:3e234e2549e808d9259fdb23ebcfd145be30c638c65118326ec33a8d29248dc2"}, - {file = "Cython-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:829c8333195100448a23863cf64a07e1334fae6a275aefe871458937911531b6"}, - {file = "Cython-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06db81b1a01858fcc406616f8528e686ffb6cf7c3d78fb83767832bfecea8ad8"}, - {file = "Cython-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c93634845238645ce7abf63a56b1c5b6248189005c7caff898fd4a0dac1c5e1e"}, - {file = "Cython-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa606675c6bd23478b1d174e2a84e3c5a2c660968f97dc455afe0fae198f9d3d"}, - {file = "Cython-3.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3355e6f690184f984eeb108b0f5bbc4bcf8b9444f8168933acf79603abf7baf"}, - {file = "Cython-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:93a34e1ca8afa4b7075b02ed14a7e4969256297029fb1bfd4cbe48f7290dbcff"}, - {file = "Cython-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb1165ca9e78823f9ad1efa5b3d83156f868eabd679a615d140a3021bb92cd65"}, - {file = "Cython-3.0.0-cp311-cp311-win32.whl", hash = "sha256:2fadde1da055944f5e1e17625055f54ddd11f451889110278ef30e07bd5e1695"}, - {file = "Cython-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:254ed1f03a6c237fa64f0c6e44862058de65bfa2e6a3b48ca3c205492e0653aa"}, - {file = "Cython-3.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4e212237b7531759befb92699c452cd65074a78051ae4ee36ff8b237395ecf3d"}, - {file = "Cython-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f29307463eba53747b31f71394ed087e3e3e264dcc433e62de1d51f5c0c966c"}, - {file = "Cython-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53328a8af0806bebbdb48a4191883b11ee9d9dfb084d84f58fa5a8ab58baefc9"}, - {file = "Cython-3.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5962e70b15e863e72bed6910e8c6ffef77d36cc98e2b31c474378f3b9e49b0e3"}, - {file = "Cython-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9e69139f4e60ab14c50767a568612ea64d6907e9c8e0289590a170eb495e005f"}, - {file = "Cython-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c40bdbcb2286f0aeeb5df9ce53d45da2d2a9b36a16b331cd0809d212d22a8fc7"}, - {file = "Cython-3.0.0-cp312-cp312-win32.whl", hash = "sha256:8abb8915eb2e57fa53d918afe641c05d1bcc6ed1913682ec1f28de71f4e3f398"}, - {file = "Cython-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:30a4bd2481e59bd7ab2539f835b78edc19fc455811e476916f56026b93afd28b"}, - {file = "Cython-3.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0e1e4b7e4bfbf22fecfa5b852f0e499c442d4853b7ebd33ae37cdec9826ed5d8"}, - {file = "Cython-3.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b00df42cdd1a285a64491ba23de08ab14169d3257c840428d40eb7e8e9979af"}, - {file = "Cython-3.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:650d03ddddc08b051b4659778733f0f173ca7d327415755c05d265a6c1ba02fb"}, - {file = "Cython-3.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4965f2ebade17166f21a508d66dd60d2a0b3a3b90abe3f72003baa17ae020dd6"}, - {file = "Cython-3.0.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4123c8d03167803df31da6b39de167cb9c04ac0aa4e35d4e5aa9d08ad511b84d"}, - {file = "Cython-3.0.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:296c53b6c0030cf82987eef163444e8d7631cc139d995f9d58679d9fd1ddbf31"}, - {file = "Cython-3.0.0-cp36-cp36m-win32.whl", hash = "sha256:0d2c1e172f1c81bafcca703093608e10dc16e3e2d24c5644c17606c7fdb1792c"}, - {file = "Cython-3.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:bc816d8eb3686d6f8d165f4156bac18c1147e1035dc28a76742d0b7fb5b7c032"}, - {file = "Cython-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8d86651347bbdbac1aca1824696c5e4c0a3b162946c422edcca2be12a03744d1"}, - {file = "Cython-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84176bd04ce9f3cc8799b47ec6d1959fa1ea5e71424507df7bbf0b0915bbedef"}, - {file = "Cython-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35abcf07b8277ec95bbe49a07b5c8760a2d941942ccfe759a94c8d2fe5602e9f"}, - {file = "Cython-3.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a44d6b9a29b2bff38bb648577b2fcf6a68cf8b1783eee89c2eb749f69494b98d"}, - {file = "Cython-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4dc6bbe7cf079db37f1ebb9b0f10d0d7f29e293bb8688e92d50b5ea7a91d82f3"}, - {file = "Cython-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e28763e75e380b8be62b02266a7995a781997c97c119efbdccb8fb954bcd7574"}, - {file = "Cython-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:edae615cb4af51d5173e76ba9aea212424d025c57012e9cdf2f131f774c5ba71"}, - {file = "Cython-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:20c604e974832aaf8b7a1f5455ee7274b34df62a35ee095cd7d2ed7e818e6c53"}, - {file = "Cython-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c85fd2b1cbd9400d60ebe074795bb9a9188752f1612be3b35b0831a24879b91f"}, - {file = "Cython-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:090256c687106932339f87f888b95f0d69c617bc9b18801555545b695d29d8ab"}, - {file = "Cython-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cec2a67a0a7d9d4399758c0657ca03e5912e37218859cfbf046242cc532bfb3b"}, - {file = "Cython-3.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1cdd01ce45333bc264a218c6e183700d6b998f029233f586a53c9b13455c2d2"}, - {file = "Cython-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ecee663d2d50ca939fc5db81f2f8a219c2417b4651ad84254c50a03a9cb1aadd"}, - {file = "Cython-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:30f10e79393b411af7677c270ea69807acb9fc30205c8ff25561f4deef780ec1"}, - {file = "Cython-3.0.0-cp38-cp38-win32.whl", hash = "sha256:609777d3a7a0a23b225e84d967af4ad2485c8bdfcacef8037cf197e87d431ca0"}, - {file = "Cython-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:7f4a6dfd42ae0a45797f50fc4f6add702abf46ab3e7cd61811a6c6a97a40e1a2"}, - {file = "Cython-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2d8158277c8942c0b20ff4c074fe6a51c5b89e6ac60cef606818de8c92773596"}, - {file = "Cython-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54e34f99b2a8c1e11478541b2822e6408c132b98b6b8f5ed89411e5e906631ea"}, - {file = "Cython-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877d1c8745df59dd2061a0636c602729e9533ba13f13aa73a498f68662e1cbde"}, - {file = "Cython-3.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:204690be60f0ff32eb70b04f28ef0d1e50ffd7b3f77ba06a7dc2389ee3b848e0"}, - {file = "Cython-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06fcb4628ccce2ba5abc8630adbeaf4016f63a359b4c6c3827b2d80e0673981c"}, - {file = "Cython-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:090e24cfa31c926d0b13d8bb2ef48175acdd061ae1413343c94a2b12a4a4fa6f"}, - {file = "Cython-3.0.0-cp39-cp39-win32.whl", hash = "sha256:4cd00f2158dc00f7f93a92444d0f663eda124c9c29bbbd658964f4e89c357fe8"}, - {file = "Cython-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:5b4cc896d49ce2bae8d6a030f9a4c64965b59c38acfbf4617685e17f7fcf1731"}, - {file = "Cython-3.0.0-py2.py3-none-any.whl", hash = "sha256:ff1aef1a03cfe293237c7a86ae9625b0411b2df30c53d1a7f29a8d381f38a1df"}, - {file = "Cython-3.0.0.tar.gz", hash = "sha256:350b18f9673e63101dbbfcf774ee2f57c20ac4636d255741d76ca79016b1bd82"}, + {file = "Cython-3.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:096cb461bf8d913a4327d93ea38d18bc3dbc577a71d805be04754e4b2cc2c45d"}, + {file = "Cython-3.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf671d712816b48fa2731799017ed68e5e440922d0c7e13dc825c226639ff766"}, + {file = "Cython-3.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beb367fd88fc6ba8c204786f680229106d99da72a60f5906c85fc8d73640b01a"}, + {file = "Cython-3.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6619264ed43d8d8819d4f1cdb8a62ab66f87e92f06f3ff3e2533fd95a9945e59"}, + {file = "Cython-3.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c0fb9e7cf9db38918f19a803fab9bc7b2ed3f33a9e8319c616c464a0a8501b8d"}, + {file = "Cython-3.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c214f6e88ecdc8ff5d13f0914890445fdaad21bddc34a90cd14aeb3ad5e55e2e"}, + {file = "Cython-3.0.4-cp310-cp310-win32.whl", hash = "sha256:c9b1322f0d8ce5445fcc3a625b966f10c4182190026713e217d6f38d29930cb1"}, + {file = "Cython-3.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:146bfaab567157f4aa34114a37e3f98a3d9c4527ee99d4fd730cab56482bd3cf"}, + {file = "Cython-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8e0f98d950987b0f9d5e10c41236bef5cb4fba701c6e680af0b9734faa3a85e"}, + {file = "Cython-3.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fe227d6d8e2ea030e82abc8a3e361e31447b66849f8c069caa783999e54a8f2"}, + {file = "Cython-3.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6da74000a672eac0d7cf02adc140b2f9c7d54eae6c196e615a1b5deb694d9203"}, + {file = "Cython-3.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48cda82eb82ad2014d2ad194442ed3c46156366be98e4e02f3e29742cdbf94a0"}, + {file = "Cython-3.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4355a2cb03b257773c0d2bb6af9818c72e836a9b09986e28f52e323d87b1fc67"}, + {file = "Cython-3.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:10b426adc3027d66303f5c7aa8b254d10ed80827ff5cce9e892d550b708dc044"}, + {file = "Cython-3.0.4-cp311-cp311-win32.whl", hash = "sha256:28de18f0d07eb34e2dd7b022ac30beab0fdd277846d07b7a08e69e6294f0762b"}, + {file = "Cython-3.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:9d31d76ed777a8a85be3f8f7f1cfef09b3bc33f6ec4abee1067dcef107f49778"}, + {file = "Cython-3.0.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d5a55749509c7f9f8a33bf9cc02cf76fd6564fcb38f486e43d2858145d735953"}, + {file = "Cython-3.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58cdfdd942cf5ffcee974aabfe9b9e26c0c1538fd31c1b03596d40405f7f4d40"}, + {file = "Cython-3.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b906997e7b98d7d29b84d10a5318993eba1aaff82ff7e1a0ac00254307913d7"}, + {file = "Cython-3.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f24114e1777604a28ae1c7a56a2c9964655f1031edecc448ad51e5abb19a279b"}, + {file = "Cython-3.0.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:07d0e69959f267b79ffd18ece8599711ad2f3d3ed1eddd0d4812d2a97de2b912"}, + {file = "Cython-3.0.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f7fcd93d15deceb2747b10266a39deccd94f257d610f3bbd52a7e16bc5908eda"}, + {file = "Cython-3.0.4-cp312-cp312-win32.whl", hash = "sha256:0aa2a6bb3ff67794d8d1dafaed22913adcbb327e96eca3ac44e2f3ba4a0ae446"}, + {file = "Cython-3.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:0021350f6d7022a37f598320460b84b2c0daccf6bb65641bbdbc8b990bdf4ad2"}, + {file = "Cython-3.0.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b72c426df1586f967b1c61d2f8236702d75c6bbf34abdc258a59e09155a16414"}, + {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a9262408f05eef039981479b38b38252d5b853992e5bc54a2d2dd05a2a0178e"}, + {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28af4e7dff1742cb0f0a4823102c89c62a2d94115b68f718145fcfe0763c6e21"}, + {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e8c144e2c5814e46868d1f81e2f4265ca1f314a8187d0420cd76e9563294cf8"}, + {file = "Cython-3.0.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:19a64bf2591272348ab08bcd4a5f884259cc3186f008c9038b8ec7d01f847fd5"}, + {file = "Cython-3.0.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fc96efa617184b8581a02663e261b41c13a605da8ef4ba1ed735bf46184f815e"}, + {file = "Cython-3.0.4-cp36-cp36m-win32.whl", hash = "sha256:15d52f7f9d08b264c042aa508bf457f53654b55f533e0262e146002b1c15d1cd"}, + {file = "Cython-3.0.4-cp36-cp36m-win_amd64.whl", hash = "sha256:0650460b5fd6f16da4186e0a769b47db5532601e306f3b5d17941283d5e36d24"}, + {file = "Cython-3.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b3ddfc6f05410095ec11491dde05f50973e501567d21cbfcf5832d95f141878a"}, + {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a0b92adfcac68dcf549daddec83c87a86995caa6f87bfb6f72de4797e1a6ad6"}, + {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ada3659608795bb36930d9a206b8dd6b865d85e2999a02ce8b34f3195d88301"}, + {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:061dec1be8d8b601b160582609a78eb08324a4ccf21bee0d04853a3e9dfcbefd"}, + {file = "Cython-3.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bc42004f181373cd3b39bbacfb71a5b0606ed6e4c199c940cca2212ba0f79525"}, + {file = "Cython-3.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f124ac9ee41e1bfdfb16f53f1db85de296cd2144a4e8fdee8c3560a8fe9b6d5d"}, + {file = "Cython-3.0.4-cp37-cp37m-win32.whl", hash = "sha256:48b35ab009227ee6188991b5666aae1936b82a944f707c042cef267709de12b5"}, + {file = "Cython-3.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:861979428f749faa9883dc4e11e8c3fc2c29bd0031cf49661604459b53ea7c66"}, + {file = "Cython-3.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c7a7dd7c50d07718a5ac2bdea166085565f7217cf1e030cc07c22a8b80a406a7"}, + {file = "Cython-3.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d40d4135f76fb0ed4caa2d422fdb4231616615698709d3c421ecc733f1ac7ca0"}, + {file = "Cython-3.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:207f53893ca22d8c8f5db533f38382eb7ddc2d0b4ab51699bf052423a6febdad"}, + {file = "Cython-3.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0422a40a58dcfbb54c8b4e125461d741031ff046bc678475cc7a6c801d2a7721"}, + {file = "Cython-3.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ef4b144c5b29b4ea0b40c401458b86df8d75382b2e5d03e9f67f607c05b516a9"}, + {file = "Cython-3.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0612439f810cc281e51fead69de0545c4d9772a1e82149c119d1aafc1f6210ba"}, + {file = "Cython-3.0.4-cp38-cp38-win32.whl", hash = "sha256:b86871862bd65806ba0d0aa2b9c77fcdcc6cbd8d36196688f4896a34bb626334"}, + {file = "Cython-3.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:6603a287188dcbc36358a73a7be43e8a2ecf0c6a06835bdfdd1b113943afdd6f"}, + {file = "Cython-3.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0fc9e974419cc0393072b1e9a669f71c3b34209636d2005ff8620687daa82b8c"}, + {file = "Cython-3.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e84988d384dfba678387ea7e4f68786c3703543018d473605d9299c69a07f197"}, + {file = "Cython-3.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36299ffd5663203c25d3a76980f077e23b6d4f574d142f0f43943f57be445639"}, + {file = "Cython-3.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8529cf09919263a6826adc04c5dde9f1406dd7920929b16be19ee9848110e353"}, + {file = "Cython-3.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8692249732d62e049df3884fa601b70fad3358703e137aceeb581e5860e7d9b7"}, + {file = "Cython-3.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f234bc46043856d118ebd94b13ea29df674503bc94ced3d81ca46a1ad5b5b9ae"}, + {file = "Cython-3.0.4-cp39-cp39-win32.whl", hash = "sha256:c2215f436ce3cce49e6e318cb8f7253cfc4d3bea690777c2a5dd52ae93342504"}, + {file = "Cython-3.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:003ccc40e0867770db0018274977d1874e4df64983d5e3e36937f107e0b2fdf6"}, + {file = "Cython-3.0.4-py2.py3-none-any.whl", hash = "sha256:e5e2859f97e9cceb8e70b0934c56157038b8b083245898593008162a70536d7e"}, + {file = "Cython-3.0.4.tar.gz", hash = "sha256:2e379b491ee985d31e5faaf050f79f4a8f59f482835906efe4477b33b4fbe9ff"}, ] [[package]] @@ -884,58 +905,58 @@ dev = ["black", "flake8", "flake8-pyi", "matplotlib", "mypy (==0.770)", "numpy", [[package]] name = "dearpygui" -version = "1.9.1" +version = "1.10.1" description = "DearPyGui: A simple Python GUI Toolkit" category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "dearpygui-1.9.1-cp310-cp310-macosx_10_6_x86_64.whl", hash = "sha256:055d3399bdf0cfa03a06ceed2a213c304f7eea314bc57032d9a06b1e8f6ec400"}, - {file = "dearpygui-1.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c7ce1000004078f4d6ceb26b99df17118ae6d412aba60d0b4b217588d3cbfc7"}, - {file = "dearpygui-1.9.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:5a006fe44590c362a03fe451237074ed99563d0334f1bc6ec6c7d498eca41e46"}, - {file = "dearpygui-1.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:2982e456dbe2be5bf7e398af6e1f9ea16d8bfdc90e00d83b9c17c834d210cb7a"}, - {file = "dearpygui-1.9.1-cp311-cp311-macosx_10_6_x86_64.whl", hash = "sha256:8a031bcd0e58083dd0f48ada33ec86a2379f47fc56d8e199aef481237ceda774"}, - {file = "dearpygui-1.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c16181743f79b2d2809d24e696a5e5144135ad61ee10072ce1430bc5724ee5c1"}, - {file = "dearpygui-1.9.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:64cba064a5b6dac96abd8fb88fdb61842ca75668bdca364fbd52b9151adc6eb9"}, - {file = "dearpygui-1.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:b687bfa9e5dd34cb84e144ad307ec4d0fa8ad7c43f37a0cbd68d018a93f0d240"}, - {file = "dearpygui-1.9.1-cp37-cp37m-macosx_10_6_x86_64.whl", hash = "sha256:fa37c0f95a202fefba86e0f9e422357e24297f65554c06d8cf68b71b3671f278"}, - {file = "dearpygui-1.9.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:10310d34ef998cc201b13915a8742d6a69bf32a17c999bea2abfdf12a14bce31"}, - {file = "dearpygui-1.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:1a05cc0adeb9cba19181eafe2418c1b6e2004624b350a619c0e7b3c92ff0966c"}, - {file = "dearpygui-1.9.1-cp38-cp38-macosx_10_6_x86_64.whl", hash = "sha256:d6d8fc7c6b8d97e972d4343b871ea789da39d89c9f7a5bb7bb106b4053fb1c69"}, - {file = "dearpygui-1.9.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1a308bc9bc21830a5c4d3f205559741a29bc191283dfa4ed5d24ae23a1e93dc2"}, - {file = "dearpygui-1.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:23b954f304bcf63e0c9aa5c16344f1d44e034ca5c6e0764e05bd1c0b0bd10173"}, - {file = "dearpygui-1.9.1-cp39-cp39-macosx_10_6_x86_64.whl", hash = "sha256:069b557fd20cbbf0b13a0c41d16366eb7adb1c895fff1cd6653e472acee5ef5c"}, - {file = "dearpygui-1.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7646f0b80e0b94acd1e0232f32d5fe67b31d0e7b1921fb4947ee551d8b90ba86"}, - {file = "dearpygui-1.9.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7394cba85ef6495091e7806c9a9b7ae03463d77a84b507329dc2d5a42e6581c7"}, - {file = "dearpygui-1.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:caebf2e331a8d9f945806aaa2cd8a308cb2712c11b1484aee967ad031d79e0d1"}, + {file = "dearpygui-1.10.1-cp310-cp310-macosx_10_6_x86_64.whl", hash = "sha256:ef1f1a8dbbd2dac9ea4fbf9d37e7812741e9a33de03ce385e398258750966a85"}, + {file = "dearpygui-1.10.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:7dc32b229d89b10ec4f647414738783afc2d6aa09c28c9f7384b07023b6ee261"}, + {file = "dearpygui-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:8047f4ac06fb774c1335a98d3dbb47337b07e17629a85789740298a61e6ae999"}, + {file = "dearpygui-1.10.1-cp311-cp311-macosx_10_6_x86_64.whl", hash = "sha256:e87016bdd388d0e33080cd2033047f6c58df7808e1c3e14a1b0d736b2184e1ce"}, + {file = "dearpygui-1.10.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:ac4e1cb01cd53490df20365645fbd0296bac093b8a415c805c18cad0aa85cac6"}, + {file = "dearpygui-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:1711a5cc991eaa6bc8a7a3cadb3845236c16b6753dc46b2fd1f4285db57d998e"}, + {file = "dearpygui-1.10.1-cp312-cp312-macosx_10_6_x86_64.whl", hash = "sha256:e506507ee5344bb8d059d333c4dd77cd61bb4850f66fc4b5508ffa4f456f5a98"}, + {file = "dearpygui-1.10.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:ed0d58e057636c4b79aee14d09b78042b122f42a6bef08d9901239de3361449d"}, + {file = "dearpygui-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:5350d2a03da789684fcd384d7ee9e0ea029ecf134bef30d134c439d35c9d60b4"}, + {file = "dearpygui-1.10.1-cp37-cp37m-macosx_10_6_x86_64.whl", hash = "sha256:d36b16afd0dd22674a59195e2ba37b787ea18bfb4ca96c460d6b7795f2c56980"}, + {file = "dearpygui-1.10.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2d94b23bed91e121ad4556b811fe164598c5b4dc94a19e3195bb70a4ff632759"}, + {file = "dearpygui-1.10.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d1b877a147971e062d3c006027e880fd2b88dad9d198620f12b8407dddb1f795"}, + {file = "dearpygui-1.10.1-cp38-cp38-macosx_10_6_x86_64.whl", hash = "sha256:0e30634f1f8c13994ec59c58048e97103e672f792145a57aab4a7c39c6445e5e"}, + {file = "dearpygui-1.10.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d2cb73d22ec6c186c039c60c22efa5fc94f0562793bf20996d9eeae5ee601d55"}, + {file = "dearpygui-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:2a8a1305ad6bfbc6f46968067b7f02d8404f2df21a13627e8c93cdabbb30f37b"}, + {file = "dearpygui-1.10.1-cp39-cp39-macosx_10_6_x86_64.whl", hash = "sha256:a2e722e5b1fb8ab8d25e3ed82a790778849c1c66a522a327a73e25e218f98873"}, + {file = "dearpygui-1.10.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:358a221d5f53b584e7bbc76e2ad7ca012991debdd74ea3a6cfc8e2ed0ea51c92"}, + {file = "dearpygui-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:5ccb75b5377e5d4fcd6358ac2164418301b2747a78fee55422e3995d167d364a"}, ] [[package]] name = "debugpy" -version = "1.6.7" +version = "1.8.0" description = "An implementation of the Debug Adapter Protocol for Python" category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "debugpy-1.6.7-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b3e7ac809b991006ad7f857f016fa92014445085711ef111fdc3f74f66144096"}, - {file = "debugpy-1.6.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3876611d114a18aafef6383695dfc3f1217c98a9168c1aaf1a02b01ec7d8d1e"}, - {file = "debugpy-1.6.7-cp310-cp310-win32.whl", hash = "sha256:33edb4afa85c098c24cc361d72ba7c21bb92f501104514d4ffec1fb36e09c01a"}, - {file = "debugpy-1.6.7-cp310-cp310-win_amd64.whl", hash = "sha256:ed6d5413474e209ba50b1a75b2d9eecf64d41e6e4501977991cdc755dc83ab0f"}, - {file = "debugpy-1.6.7-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:38ed626353e7c63f4b11efad659be04c23de2b0d15efff77b60e4740ea685d07"}, - {file = "debugpy-1.6.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279d64c408c60431c8ee832dfd9ace7c396984fd7341fa3116aee414e7dcd88d"}, - {file = "debugpy-1.6.7-cp37-cp37m-win32.whl", hash = "sha256:dbe04e7568aa69361a5b4c47b4493d5680bfa3a911d1e105fbea1b1f23f3eb45"}, - {file = "debugpy-1.6.7-cp37-cp37m-win_amd64.whl", hash = "sha256:f90a2d4ad9a035cee7331c06a4cf2245e38bd7c89554fe3b616d90ab8aab89cc"}, - {file = "debugpy-1.6.7-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:5224eabbbeddcf1943d4e2821876f3e5d7d383f27390b82da5d9558fd4eb30a9"}, - {file = "debugpy-1.6.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae1123dff5bfe548ba1683eb972329ba6d646c3a80e6b4c06cd1b1dd0205e9b"}, - {file = "debugpy-1.6.7-cp38-cp38-win32.whl", hash = "sha256:9cd10cf338e0907fdcf9eac9087faa30f150ef5445af5a545d307055141dd7a4"}, - {file = "debugpy-1.6.7-cp38-cp38-win_amd64.whl", hash = "sha256:aaf6da50377ff4056c8ed470da24632b42e4087bc826845daad7af211e00faad"}, - {file = "debugpy-1.6.7-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0679b7e1e3523bd7d7869447ec67b59728675aadfc038550a63a362b63029d2c"}, - {file = "debugpy-1.6.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de86029696e1b3b4d0d49076b9eba606c226e33ae312a57a46dca14ff370894d"}, - {file = "debugpy-1.6.7-cp39-cp39-win32.whl", hash = "sha256:d71b31117779d9a90b745720c0eab54ae1da76d5b38c8026c654f4a066b0130a"}, - {file = "debugpy-1.6.7-cp39-cp39-win_amd64.whl", hash = "sha256:c0ff93ae90a03b06d85b2c529eca51ab15457868a377c4cc40a23ab0e4e552a3"}, - {file = "debugpy-1.6.7-py2.py3-none-any.whl", hash = "sha256:53f7a456bc50706a0eaabecf2d3ce44c4d5010e46dfc65b6b81a518b42866267"}, - {file = "debugpy-1.6.7.zip", hash = "sha256:c4c2f0810fa25323abfdfa36cbbbb24e5c3b1a42cb762782de64439c575d67f2"}, + {file = "debugpy-1.8.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7fb95ca78f7ac43393cd0e0f2b6deda438ec7c5e47fa5d38553340897d2fbdfb"}, + {file = "debugpy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9ab7df0b9a42ed9c878afd3eaaff471fce3fa73df96022e1f5c9f8f8c87ada"}, + {file = "debugpy-1.8.0-cp310-cp310-win32.whl", hash = "sha256:a8b7a2fd27cd9f3553ac112f356ad4ca93338feadd8910277aff71ab24d8775f"}, + {file = "debugpy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:5d9de202f5d42e62f932507ee8b21e30d49aae7e46d5b1dd5c908db1d7068637"}, + {file = "debugpy-1.8.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:ef54404365fae8d45cf450d0544ee40cefbcb9cb85ea7afe89a963c27028261e"}, + {file = "debugpy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60009b132c91951354f54363f8ebdf7457aeb150e84abba5ae251b8e9f29a8a6"}, + {file = "debugpy-1.8.0-cp311-cp311-win32.whl", hash = "sha256:8cd0197141eb9e8a4566794550cfdcdb8b3db0818bdf8c49a8e8f8053e56e38b"}, + {file = "debugpy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:a64093656c4c64dc6a438e11d59369875d200bd5abb8f9b26c1f5f723622e153"}, + {file = "debugpy-1.8.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b05a6b503ed520ad58c8dc682749113d2fd9f41ffd45daec16e558ca884008cd"}, + {file = "debugpy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c6fb41c98ec51dd010d7ed650accfd07a87fe5e93eca9d5f584d0578f28f35f"}, + {file = "debugpy-1.8.0-cp38-cp38-win32.whl", hash = "sha256:46ab6780159eeabb43c1495d9c84cf85d62975e48b6ec21ee10c95767c0590aa"}, + {file = "debugpy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:bdc5ef99d14b9c0fcb35351b4fbfc06ac0ee576aeab6b2511702e5a648a2e595"}, + {file = "debugpy-1.8.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:61eab4a4c8b6125d41a34bad4e5fe3d2cc145caecd63c3fe953be4cc53e65bf8"}, + {file = "debugpy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:125b9a637e013f9faac0a3d6a82bd17c8b5d2c875fb6b7e2772c5aba6d082332"}, + {file = "debugpy-1.8.0-cp39-cp39-win32.whl", hash = "sha256:57161629133113c97b387382045649a2b985a348f0c9366e22217c87b68b73c6"}, + {file = "debugpy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:e3412f9faa9ade82aa64a50b602544efcba848c91384e9f93497a458767e6926"}, + {file = "debugpy-1.8.0-py2.py3-none-any.whl", hash = "sha256:9c9b0ac1ce2a42888199df1a1906e45e6f3c9555497643a85e0bf2406e3ffbc4"}, + {file = "debugpy-1.8.0.zip", hash = "sha256:12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0"}, ] [[package]] @@ -1033,14 +1054,14 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.1.2" +version = "1.1.3" description = "Backport of PEP 654 (exception groups)" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.2-py3-none-any.whl", hash = "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"}, - {file = "exceptiongroup-1.1.2.tar.gz", hash = "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5"}, + {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, + {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, ] [package.extras] @@ -1063,29 +1084,29 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] [[package]] name = "executing" -version = "1.2.0" +version = "2.0.0" description = "Get the currently executing AST node of a frame, and other information" category = "main" optional = true python-versions = "*" files = [ - {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"}, - {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"}, + {file = "executing-2.0.0-py2.py3-none-any.whl", hash = "sha256:06df6183df67389625f4e763921c6cf978944721abf3e714000200aab95b0657"}, + {file = "executing-2.0.0.tar.gz", hash = "sha256:0ff053696fdeef426cda5bd18eacd94f82c91f49823a2e9090124212ceea9b08"}, ] [package.extras] -tests = ["asttokens", "littleutils", "pytest", "rich"] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] [[package]] name = "fastjsonschema" -version = "2.18.0" +version = "2.18.1" description = "Fastest Python implementation of JSON schema" category = "main" optional = true python-versions = "*" files = [ - {file = "fastjsonschema-2.18.0-py3-none-any.whl", hash = "sha256:128039912a11a807068a7c87d0da36660afbfd7202780db26c4aa7153cfdc799"}, - {file = "fastjsonschema-2.18.0.tar.gz", hash = "sha256:e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd"}, + {file = "fastjsonschema-2.18.1-py3-none-any.whl", hash = "sha256:aec6a19e9f66e9810ab371cc913ad5f4e9e479b63a7072a2cd060a9369e329a8"}, + {file = "fastjsonschema-2.18.1.tar.gz", hash = "sha256:06dc8680d937628e993fa0cd278f196d20449a1adc087640710846b324d422ea"}, ] [package.extras] @@ -1093,19 +1114,20 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.12.2" +version = "3.12.4" description = "A platform independent file lock." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "filelock-3.12.2-py3-none-any.whl", hash = "sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"}, - {file = "filelock-3.12.2.tar.gz", hash = "sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81"}, + {file = "filelock-3.12.4-py3-none-any.whl", hash = "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4"}, + {file = "filelock-3.12.4.tar.gz", hash = "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"}, ] [package.extras] -docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] +typing = ["typing-extensions (>=4.7.1)"] [[package]] name = "flake8" @@ -1254,46 +1276,54 @@ flake8 = ">=3.7" [[package]] name = "fonttools" -version = "4.41.1" +version = "4.43.1" description = "Tools to manipulate font files" category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.41.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a7bbb290d13c6dd718ec2c3db46fe6c5f6811e7ea1e07f145fd8468176398224"}, - {file = "fonttools-4.41.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ec453a45778524f925a8f20fd26a3326f398bfc55d534e37bab470c5e415caa1"}, - {file = "fonttools-4.41.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2071267deaa6d93cb16288613419679c77220543551cbe61da02c93d92df72f"}, - {file = "fonttools-4.41.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e3334d51f0e37e2c6056e67141b2adabc92613a968797e2571ca8a03bd64773"}, - {file = "fonttools-4.41.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cac73bbef7734e78c60949da11c4903ee5837168e58772371bd42a75872f4f82"}, - {file = "fonttools-4.41.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:edee0900cf0eedb29d17c7876102d6e5a91ee333882b1f5abc83e85b934cadb5"}, - {file = "fonttools-4.41.1-cp310-cp310-win32.whl", hash = "sha256:2a22b2c425c698dcd5d6b0ff0b566e8e9663172118db6fd5f1941f9b8063da9b"}, - {file = "fonttools-4.41.1-cp310-cp310-win_amd64.whl", hash = "sha256:547ab36a799dded58a46fa647266c24d0ed43a66028cd1cd4370b246ad426cac"}, - {file = "fonttools-4.41.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:849ec722bbf7d3501a0e879e57dec1fc54919d31bff3f690af30bb87970f9784"}, - {file = "fonttools-4.41.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:38cdecd8f1fd4bf4daae7fed1b3170dfc1b523388d6664b2204b351820aa78a7"}, - {file = "fonttools-4.41.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ae64303ba670f8959fdaaa30ba0c2dabe75364fdec1caeee596c45d51ca3425"}, - {file = "fonttools-4.41.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14f3ccea4cc7dd1b277385adf3c3bf18f9860f87eab9c2fb650b0af16800f55"}, - {file = "fonttools-4.41.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:33191f062549e6bb1a4782c22a04ebd37009c09360e2d6686ac5083774d06d95"}, - {file = "fonttools-4.41.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:704bccd69b0abb6fab9f5e4d2b75896afa48b427caa2c7988792a2ffce35b441"}, - {file = "fonttools-4.41.1-cp311-cp311-win32.whl", hash = "sha256:4edc795533421e98f60acee7d28fc8d941ff5ac10f44668c9c3635ad72ae9045"}, - {file = "fonttools-4.41.1-cp311-cp311-win_amd64.whl", hash = "sha256:aaaef294d8e411f0ecb778a0aefd11bb5884c9b8333cc1011bdaf3b58ca4bd75"}, - {file = "fonttools-4.41.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3d1f9471134affc1e3b1b806db6e3e2ad3fa99439e332f1881a474c825101096"}, - {file = "fonttools-4.41.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59eba8b2e749a1de85760da22333f3d17c42b66e03758855a12a2a542723c6e7"}, - {file = "fonttools-4.41.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9b3cc10dc9e0834b6665fd63ae0c6964c6bc3d7166e9bc84772e0edd09f9fa2"}, - {file = "fonttools-4.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2c2964bdc827ba6b8a91dc6de792620be4da3922c4cf0599f36a488c07e2b2"}, - {file = "fonttools-4.41.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7763316111df7b5165529f4183a334aa24c13cdb5375ffa1dc8ce309c8bf4e5c"}, - {file = "fonttools-4.41.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b2d1ee95be42b80d1f002d1ee0a51d7a435ea90d36f1a5ae331be9962ee5a3f1"}, - {file = "fonttools-4.41.1-cp38-cp38-win32.whl", hash = "sha256:f48602c0b3fd79cd83a34c40af565fe6db7ac9085c8823b552e6e751e3a5b8be"}, - {file = "fonttools-4.41.1-cp38-cp38-win_amd64.whl", hash = "sha256:b0938ebbeccf7c80bb9a15e31645cf831572c3a33d5cc69abe436e7000c61b14"}, - {file = "fonttools-4.41.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e5c2b0a95a221838991e2f0e455dec1ca3a8cc9cd54febd68cc64d40fdb83669"}, - {file = "fonttools-4.41.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:891cfc5a83b0307688f78b9bb446f03a7a1ad981690ac8362f50518bc6153975"}, - {file = "fonttools-4.41.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73ef0bb5d60eb02ba4d3a7d23ada32184bd86007cb2de3657cfcb1175325fc83"}, - {file = "fonttools-4.41.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f240d9adf0583ac8fc1646afe7f4ac039022b6f8fa4f1575a2cfa53675360b69"}, - {file = "fonttools-4.41.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bdd729744ae7ecd7f7311ad25d99da4999003dcfe43b436cf3c333d4e68de73d"}, - {file = "fonttools-4.41.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b927e5f466d99c03e6e20961946314b81d6e3490d95865ef88061144d9f62e38"}, - {file = "fonttools-4.41.1-cp39-cp39-win32.whl", hash = "sha256:afce2aeb80be72b4da7dd114f10f04873ff512793d13ce0b19d12b2a4c44c0f0"}, - {file = "fonttools-4.41.1-cp39-cp39-win_amd64.whl", hash = "sha256:1df1b6f4c7c4bc8201eb47f3b268adbf2539943aa43c400f84556557e3e109c0"}, - {file = "fonttools-4.41.1-py3-none-any.whl", hash = "sha256:952cb405f78734cf6466252fec42e206450d1a6715746013f64df9cbd4f896fa"}, - {file = "fonttools-4.41.1.tar.gz", hash = "sha256:e16a9449f21a93909c5be2f5ed5246420f2316e94195dbfccb5238aaa38f9751"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf11e2cca121df35e295bd34b309046c29476ee739753bc6bc9d5050de319273"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10b3922875ffcba636674f406f9ab9a559564fdbaa253d66222019d569db869c"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f727c3e3d08fd25352ed76cc3cb61486f8ed3f46109edf39e5a60fc9fecf6ca"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b3f6342cfa14be996971ea2b28b125ad681c6277c4cd0fbdb50340220dfb6"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b7ad05b2beeebafb86aa01982e9768d61c2232f16470f9d0d8e385798e37184"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c54466f642d2116686268c3e5f35ebb10e49b0d48d41a847f0e171c785f7ac7"}, + {file = "fonttools-4.43.1-cp310-cp310-win32.whl", hash = "sha256:1e09da7e8519e336239fbd375156488a4c4945f11c4c5792ee086dd84f784d02"}, + {file = "fonttools-4.43.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cf9e974f63b1080b1d2686180fc1fbfd3bfcfa3e1128695b5de337eb9075cef"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5db46659cfe4e321158de74c6f71617e65dc92e54980086823a207f1c1c0e24b"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1952c89a45caceedf2ab2506d9a95756e12b235c7182a7a0fff4f5e52227204f"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c36da88422e0270fbc7fd959dc9749d31a958506c1d000e16703c2fce43e3d0"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bbbf8174501285049e64d174e29f9578495e1b3b16c07c31910d55ad57683d8"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d4071bd1c183b8d0b368cc9ed3c07a0f6eb1bdfc4941c4c024c49a35429ac7cd"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21099b411e2006d3c3e1f9aaf339e12037dbf7bf9337faf0e93ec915991f43b"}, + {file = "fonttools-4.43.1-cp311-cp311-win32.whl", hash = "sha256:b84a1c00f832feb9d0585ca8432fba104c819e42ff685fcce83537e2e7e91204"}, + {file = "fonttools-4.43.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a2f0aa6ca7c9bc1058a9d0b35483d4216e0c1bbe3962bc62ce112749954c7b8"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4d9740e3783c748521e77d3c397dc0662062c88fd93600a3c2087d3d627cd5e5"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884ef38a5a2fd47b0c1291647b15f4e88b9de5338ffa24ee52c77d52b4dfd09c"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9648518ef687ba818db3fcc5d9aae27a369253ac09a81ed25c3867e8657a0680"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e974d70238fc2be5f444fa91f6347191d0e914d5d8ae002c9aa189572cc215"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:34f713dad41aa21c637b4e04fe507c36b986a40f7179dcc86402237e2d39dcd3"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:360201d46165fc0753229afe785900bc9596ee6974833124f4e5e9f98d0f592b"}, + {file = "fonttools-4.43.1-cp312-cp312-win32.whl", hash = "sha256:bb6d2f8ef81ea076877d76acfb6f9534a9c5f31dc94ba70ad001267ac3a8e56f"}, + {file = "fonttools-4.43.1-cp312-cp312-win_amd64.whl", hash = "sha256:25d3da8a01442cbc1106490eddb6d31d7dffb38c1edbfabbcc8db371b3386d72"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8da417431bfc9885a505e86ba706f03f598c85f5a9c54f67d63e84b9948ce590"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:51669b60ee2a4ad6c7fc17539a43ffffc8ef69fd5dbed186a38a79c0ac1f5db7"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748015d6f28f704e7d95cd3c808b483c5fb87fd3eefe172a9da54746ad56bfb6"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a58eb5e736d7cf198eee94844b81c9573102ae5989ebcaa1d1a37acd04b33d"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bb5ea9076e0e39defa2c325fc086593ae582088e91c0746bee7a5a197be3da0"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f37e31291bf99a63328668bb83b0669f2688f329c4c0d80643acee6e63cd933"}, + {file = "fonttools-4.43.1-cp38-cp38-win32.whl", hash = "sha256:9c60ecfa62839f7184f741d0509b5c039d391c3aff71dc5bc57b87cc305cff3b"}, + {file = "fonttools-4.43.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe9b1ec799b6086460a7480e0f55c447b1aca0a4eecc53e444f639e967348896"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13a9a185259ed144def3682f74fdcf6596f2294e56fe62dfd2be736674500dba"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2adca1b46d69dce4a37eecc096fe01a65d81a2f5c13b25ad54d5430ae430b13"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18eefac1b247049a3a44bcd6e8c8fd8b97f3cad6f728173b5d81dced12d6c477"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2062542a7565091cea4cc14dd99feff473268b5b8afdee564f7067dd9fff5860"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18a2477c62a728f4d6e88c45ee9ee0229405e7267d7d79ce1f5ce0f3e9f8ab86"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7a06f8d95b7496e53af80d974d63516ffb263a468e614978f3899a6df52d4b3"}, + {file = "fonttools-4.43.1-cp39-cp39-win32.whl", hash = "sha256:10003ebd81fec0192c889e63a9c8c63f88c7d72ae0460b7ba0cd2a1db246e5ad"}, + {file = "fonttools-4.43.1-cp39-cp39-win_amd64.whl", hash = "sha256:e117a92b07407a061cde48158c03587ab97e74e7d73cb65e6aadb17af191162a"}, + {file = "fonttools-4.43.1-py3-none-any.whl", hash = "sha256:4f88cae635bfe4bbbdc29d479a297bb525a94889184bb69fa9560c2d4834ddb9"}, + {file = "fonttools-4.43.1.tar.gz", hash = "sha256:17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"}, ] [package.extras] @@ -1342,14 +1372,14 @@ sphinx-basic-ng = "*" [[package]] name = "gitdb" -version = "4.0.10" +version = "4.0.11" description = "Git Object Database" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, ] [package.dependencies] @@ -1357,98 +1387,108 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.32" +version = "3.1.40" description = "GitPython is a Python library used to interact with Git repositories" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.32-py3-none-any.whl", hash = "sha256:e3d59b1c2c6ebb9dfa7a184daf3b6dd4914237e7488a1730a6d8f6f5d0b4187f"}, - {file = "GitPython-3.1.32.tar.gz", hash = "sha256:8d9b8cb1e80b9735e8717c9362079d3ce4c6e5ddeebedd0361b228c3a67a62f6"}, + {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, + {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] + [[package]] name = "glcontext" -version = "2.4.0" +version = "2.5.0" description = "Portable OpenGL Context" category = "main" optional = false python-versions = "*" files = [ - {file = "glcontext-2.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d8a5901447e5a99b085b3e8c54dcf9012c88d9d75c7ea657ec4294b8b4e4fb"}, - {file = "glcontext-2.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c90c53fb56ecebeecae2d113f95d4a699fcde7924132e0195569118f80349c5a"}, - {file = "glcontext-2.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95d065ad2fbfb395966559aceb4359250243e6fb07a3ca5becdddeba8e8f428d"}, - {file = "glcontext-2.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:33edb364c96a4081d93e428c55d337995f42cd58e7d2b44ea593b662bdb8b50e"}, - {file = "glcontext-2.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5b52eff82377469514818c90c4a16a04a39d01d3adfcd7dcadd558ed02dc7cef"}, - {file = "glcontext-2.4.0-cp310-cp310-win32.whl", hash = "sha256:5f3c6744c77ade16e715b5a8636384cf11ac3ee365493bdb38091d9c1f87eda8"}, - {file = "glcontext-2.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:21b5ac40463a711bdb6ba59751693b4f5f765cc807adeface62ce292813460ac"}, - {file = "glcontext-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4313d59451db04ebbb26232beefb5a850fbb79bb9e72b3c4e7783da3c146517b"}, - {file = "glcontext-2.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2088f15d4c5d42f1eef77b45d9ff985d8e14d3989d5d9298e2433075f5f1f15a"}, - {file = "glcontext-2.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9450f7c7b5923c17a627e1d4e965f208e28ce7b547f5fd1f756f7701c23e3c88"}, - {file = "glcontext-2.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d52ea6dc8e064f7f4cc7423943885ddecec321a5dfcce66d71a0892834334430"}, - {file = "glcontext-2.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5060eea43ec7bc2d3cf03582d56abf10938a188947f86aa5b558d197baec2753"}, - {file = "glcontext-2.4.0-cp311-cp311-win32.whl", hash = "sha256:c8b9de7f50650443a5192d42c170fa561c0b241bb1b49664ae67a22fdcf6baa4"}, - {file = "glcontext-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d60c684983a091408e06ee5826813926cd7e84069f1bd7760397edfe0e33aad5"}, - {file = "glcontext-2.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6bf0fa5f40769e79c74f50f71f6c82acf118081f153e3f84533e1969febaae04"}, - {file = "glcontext-2.4.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:642a004a0c940dd109e8d6942a4d795c1f3b3673edd2e6556320a542ea44fc5d"}, - {file = "glcontext-2.4.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1674950eb6118f32c6418f6319f4e06a997ce170b04f9dc465ffb99a7b6d93c3"}, - {file = "glcontext-2.4.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:b66bc3a66658c3b92b2282c2197dfce639a693df525aa10e3d6402731a1e985a"}, - {file = "glcontext-2.4.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5c2710dddac0844b88cd3c61c67aa70fcf35f738a6bd8f0e557474313ef2324f"}, - {file = "glcontext-2.4.0-cp36-cp36m-win32.whl", hash = "sha256:3e51fd5ea6241774cf0636039e641b70321e9ad9bc8c082d24a9be058817a310"}, - {file = "glcontext-2.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0fc19a523736f4178c720060c3589db8c8072744985007e20859e086a6c981f6"}, - {file = "glcontext-2.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7c05a675644e3552f7aa8bc0d6a3bf189645c06610f5b13a1850f4bbdd82cd54"}, - {file = "glcontext-2.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:987c7db3350f3ecb06c328d2b4ca06008b0d950ca248ef9a76859442293177b3"}, - {file = "glcontext-2.4.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d1359528fd707e6ef051240940a6d5d4944d277306a41a05183ee90fd1f36fc"}, - {file = "glcontext-2.4.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:27a3e1284b8209ecd7daef59767c0ecfa13dbf902c61998290aab63a8ca5213e"}, - {file = "glcontext-2.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:28d5622bb14e09e754af1155f97256a892b7d2f52902375d48c47864e0e70a5d"}, - {file = "glcontext-2.4.0-cp37-cp37m-win32.whl", hash = "sha256:5498f06564e14557a8bf3192455ad0622a47fa344cd556a0bb57b215df4ad847"}, - {file = "glcontext-2.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:935a6b161b2854f89f1800cea1d44862d59f6e965f396d67c0daf8fd9378e42d"}, - {file = "glcontext-2.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9519706f150a074b318dd6ed97c438d846f81f306e957002e261262ba81a77a"}, - {file = "glcontext-2.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b957b13b11c77bfd792575eb12d6c40549f78c502bff742c8c9a93344af77d80"}, - {file = "glcontext-2.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b1be984bc6a1d443b504cdff155743be94f545663e7229a9e972c7a38211542"}, - {file = "glcontext-2.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2786764c8482e2c79bf6b88249be84aacbd97950718987463b95bc9563e37356"}, - {file = "glcontext-2.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e1e51269b4d77f3591fc7b19c68dc4215f2cf1b922fb2c1960b8b4c71e6de5f6"}, - {file = "glcontext-2.4.0-cp38-cp38-win32.whl", hash = "sha256:580d40a3226daf70d3debef01f1ea068070bea8bbfa17e2fd2df017caec7fcb9"}, - {file = "glcontext-2.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2c25ccdd7272ca3b20033cfc38c0b7172279ff8f14801bb2797a367f0515b6c"}, - {file = "glcontext-2.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:634adf8cc697532af2335bf58f565a59b059db64de337f9012c8352be8c2b7cd"}, - {file = "glcontext-2.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d70c436ccfe603fb82913e21eedc4fcbd2792af386cc2698cc62b732e64fc624"}, - {file = "glcontext-2.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b26961c0a8de4e4fbca0becc85b163a0eee2716e2450db3fb6fce95252a508b"}, - {file = "glcontext-2.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0538bfaeb3865bb7dd8282571838cf9b5c5fb07b08fac80c0f5f612436d46f04"}, - {file = "glcontext-2.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:027bf468fa86118c58a70ca0e008a9e74372eee0e10456a96f7e7dc5224ebca5"}, - {file = "glcontext-2.4.0-cp39-cp39-win32.whl", hash = "sha256:1fb59784c2ba33a9a1e5d829bd5f7cd524451b4d89d9c18565d5a72951ba5259"}, - {file = "glcontext-2.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:b21e2ec7b5f470ac576f8284371547e1f73711b106c2c3292732aace88813135"}, - {file = "glcontext-2.4.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4f1de7a32278333f8edaed8f51180b929aaf975a453a8bcde4d553f9d2d5db81"}, - {file = "glcontext-2.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a98f62495d5a89d79ce182f9698ef84154f257917007d2ef35807c4dfb24834e"}, - {file = "glcontext-2.4.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d36b623331b4e9c09f78bd57ac372b77ce8078e751c31825ce5f687f19514e2"}, - {file = "glcontext-2.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:74ec128d03f6e715fc1554047958c4581b78653eeaf08aeac4f110fba1b00c64"}, - {file = "glcontext-2.4.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6dde4e7afbfa336d323f1b5a3d9164e0484a08ec969c2b69048de840c45a5051"}, - {file = "glcontext-2.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18bec7f9f0a9ad90bd3e25ab0e6b9db909dfaa10a0f3b5e5ef588d3c7f565fea"}, - {file = "glcontext-2.4.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71c54b085869b3d22f15138bd5cf4dfbbf4e7c431bb7e778788e6481bb6cc452"}, - {file = "glcontext-2.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:faa80ddadb513b6475a68dad288ec690b0a7dd7e37582ac49b724e234695d12e"}, - {file = "glcontext-2.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a76833aea7e50682d7266ca24886e9eb1dc76744ec64ec6187f5dfd200397d3e"}, - {file = "glcontext-2.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d91a3f80d013f9b4073881e8578e49a1de6dda881d093f7d07aed81374cd340b"}, - {file = "glcontext-2.4.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0916c3cc03228c2512be6e283032026c2730a78c5a90ce49a427e5ca18d9b961"}, - {file = "glcontext-2.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:193c5798da864db316195b80c26da194b69e1c746a72d2d5923036e746c1a470"}, - {file = "glcontext-2.4.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9c4ac06ebdb57ef1376af4f5a788cfddf828867c4c925a4a7ac26a011ce691be"}, - {file = "glcontext-2.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35842c53aa4975f51c1f1fa8e619867d4734dbf0f79c5cbeb78e42633a2ef09e"}, - {file = "glcontext-2.4.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec85163231e1aa410a1e05d7f5a8e0e7dcf9e3c0ad8e679888bfdb8384dbcca3"}, - {file = "glcontext-2.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1bb56f2d8ffacb5693c2762c59bb288896b179f2ab5dc905637f6d6f5aeb7b47"}, - {file = "glcontext-2.4.0.tar.gz", hash = "sha256:50d7aad961d4f0374a38592194c59f740192e4d00549df48ac81a40942a6beb9"}, + {file = "glcontext-2.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3e0f3fbbe483f3e671ae04698a2d38234cb9a5682d2edd49d5bce08a32d48ff1"}, + {file = "glcontext-2.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:837ae9ed985dc8185b7f7ac62bc2727d58806f1eb125b3766f576a3957aa078b"}, + {file = "glcontext-2.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c056bfbc4af86337837fbea0899b1c439673b9e2bf9aaaf78862cb68ccaeb41"}, + {file = "glcontext-2.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:198d6f80a271668995f595492b7cde0e7f354e927398d85c20976a7eaf18742b"}, + {file = "glcontext-2.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f435118eabef929e5281bf609eeaae343a0d3f7e34c2a4b0f026451f63a8baab"}, + {file = "glcontext-2.5.0-cp310-cp310-win32.whl", hash = "sha256:9ac01ea37deb27cc53a15eb9a8ec30389cd5421c668842e0197360a502448e11"}, + {file = "glcontext-2.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:194b2657f46310cd86662d946d85162710b43e4abbef800c83a61f44b09352ad"}, + {file = "glcontext-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:798bc74604e306386f858be11aa1fe47c88296ac6fb9b5718a1c5a4cfb24416c"}, + {file = "glcontext-2.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36383ef0f21a179cfd7d6907eb04d7736b724a231a7199edec194528c986b0c"}, + {file = "glcontext-2.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25da4a8a8707f88e66d1597c5f03be31b354b6d6186907ad06b4735f981aa25e"}, + {file = "glcontext-2.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6abae09cadd947c9b3e39c424517eb76e4d6caeca9415c44b290f3425ffb51da"}, + {file = "glcontext-2.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:be62e4ce64c7f72730fccbb09efb37b3aad4e54b6f547b18161233c2a9bf9fc2"}, + {file = "glcontext-2.5.0-cp311-cp311-win32.whl", hash = "sha256:a4441744dadf811f923ab2aff52ba2dc175b6f99bcc208e362399461c96c085f"}, + {file = "glcontext-2.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:7d50c62fae0af1b19daa95571d52a5c56f3f1537483f105b4d092be5eb160c9d"}, + {file = "glcontext-2.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc2a13791007d18b71fc9eccd3423be0a3d5c16b8d1ac4410767665a9824cc21"}, + {file = "glcontext-2.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cbe2684a689cc77e659e90254dcd897af773ddda43308196c7db889d8558f9d1"}, + {file = "glcontext-2.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd0f159c01dfaab990fedb9672f4be040ae7fe066afb2ce7413c63afa9475f38"}, + {file = "glcontext-2.5.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7669583276cc2b4e38b1f62f5d10afdde518ffd5ff6ccfabf22157e081a0abe6"}, + {file = "glcontext-2.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:74530549706fabbaecab437102c9d490adba8e27e4ca01bb9ce0050b0d558ff9"}, + {file = "glcontext-2.5.0-cp312-cp312-win32.whl", hash = "sha256:762ee1231f1c5896c527ce29c76921e4868a9f21b0f305b048516a479fe500bf"}, + {file = "glcontext-2.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:942486de098c035dad9165e4cb6ad6342edb8c98b11ee5cdfe97088c7c6840aa"}, + {file = "glcontext-2.5.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9519f31c464cf1ab1232411e8700829d5bad1fb79470fde99d0aa25296cd4ec7"}, + {file = "glcontext-2.5.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb33a0e3d2d7a1c3f51652489ed4d1ad16fa71ca1452bf4f983f14446d062592"}, + {file = "glcontext-2.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab8dd3d2ea53ce6735dd9915d69572b7dd001f7fe2d35d362182e69b923193e4"}, + {file = "glcontext-2.5.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:ec64bc8a6cdfb51c91c601b0d82744bfa85637fe6259f3587f73d67b5d124937"}, + {file = "glcontext-2.5.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:0e9c890c0fee8ff5c5ec356b0382093e8519a8bdf99ba5ced9f2ac641a37d4ec"}, + {file = "glcontext-2.5.0-cp36-cp36m-win32.whl", hash = "sha256:41a3fa100962ac8733835dd15163e102d165bf65d9247b98e5bcbaa90e94666d"}, + {file = "glcontext-2.5.0-cp36-cp36m-win_amd64.whl", hash = "sha256:73828d76e764f9d22704dd0304f27ec6af18cb075de0df201a23f1456d2b502e"}, + {file = "glcontext-2.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f10a15975c1798bbe4f2d783e1b9c0e32f0dbdc7829a73dce21efb3ee1e24867"}, + {file = "glcontext-2.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23700a43c3ced889d8ac18cb7902a76096634761f87d8139ca956bcadc3feabd"}, + {file = "glcontext-2.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95675cd7c16249fde2ea9690c8b2bd39a551b67e9929eeecfdbcbc82d9c6fc4"}, + {file = "glcontext-2.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:efc8a1ec7f6cdc205515e2e4e6ba0a02c2f7207a1340cce80960d63002785405"}, + {file = "glcontext-2.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:464f2296474ec07318466f2381748c8259c8a587c5fcd6485ad53bbe1702363b"}, + {file = "glcontext-2.5.0-cp37-cp37m-win32.whl", hash = "sha256:352cf17ade6ea429bd548384ea715024124bb83fdbf3ea06f69f53b6a9e3111f"}, + {file = "glcontext-2.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9cacc6b068f74f789729dc0512611b6889a95cf6f2ff4c90aea1f741010e0d7a"}, + {file = "glcontext-2.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1204fe22c96d9b36299fac20de7d9319e018e80770964e3d71375853d1b5373d"}, + {file = "glcontext-2.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54e9f848ad21a471e970a0e1eedd3b85025821a0d3c4d63d09d2b97f1a7280b8"}, + {file = "glcontext-2.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a8e3022da94316a4bb44e064d85e4b05c13f9eef6e68f6395644122a362ec0"}, + {file = "glcontext-2.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:73c289fdfce7e8b736034f75e206be8bcc6144d132e910c816e33d2419b984b7"}, + {file = "glcontext-2.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:47dc72cb63f35523f0fa6a27fcb819c3aa19e96c01a2ee8594132ffa834fab18"}, + {file = "glcontext-2.5.0-cp38-cp38-win32.whl", hash = "sha256:2f71d800e8d720fa52aeeebf22d066c17528d756234e586d48b8c82b2fd65372"}, + {file = "glcontext-2.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:3ba303e28a54491cd49caa6f0626b3f1992160ca1d82c2347ce30c50a16ee9b6"}, + {file = "glcontext-2.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bf968a827c04d5210afc2a84d825719fa3025fd9def4aea4820e75a607d09ccf"}, + {file = "glcontext-2.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:586778f6d476f34b8ddbb99d77b65cb7126cd3f501a2cb1e6e12f0bc997ca9b8"}, + {file = "glcontext-2.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675091975c2bf8b59e9c41d1daa6684006162c3cf3d9e2a1acda31b35181d9d2"}, + {file = "glcontext-2.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:cf928dfbed4fceb3a816452828e8745e46b8348869c0fdda312f6c73f0796906"}, + {file = "glcontext-2.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1aee2105c66d1a5470d2c2de7d80977c67ee2b2cf4db6fa2b3dcbd586b888b51"}, + {file = "glcontext-2.5.0-cp39-cp39-win32.whl", hash = "sha256:b1200d841b7a1ef1051fafe6aad6a472c784bc4fb906375160b0efa7d7acae71"}, + {file = "glcontext-2.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:7a7962f89350966966a4a5628fd4861a81dc4f76014571567a54db4c1573e04d"}, + {file = "glcontext-2.5.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9eee5426fad207fb1c572ee7e4b8341ee8f6529189f06cbd32b132ee4de31a8e"}, + {file = "glcontext-2.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:433e14a9c3d368c51940a480d4f548b671ad339d5efa0604bd0d5236fae4e564"}, + {file = "glcontext-2.5.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2342642732609c7cb3d681771e096fe769df58e49bdb3348bfc9f5732103c444"}, + {file = "glcontext-2.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:16057bf3736f38005a7f700188a50de597cd86650d6718a115bd835d69ba554b"}, + {file = "glcontext-2.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8ba64f9c14009132625b7b1f1b8545298c6ddd1d3abc78618b0f9553c219d053"}, + {file = "glcontext-2.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811276496f46f3f9b204e43a9d35c6213f1f0a8e58d8da203d477e21e8367fc0"}, + {file = "glcontext-2.5.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe0be5cf5a9598379e994d7d96d84ce506e6a7680a098c1f1112de7aaa036ebd"}, + {file = "glcontext-2.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1914d44374d7ee94df779681218639324ab79b3b8e27e8fb6154a8db55e3928e"}, + {file = "glcontext-2.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:916fa56a544f57ff3d53cc60d3d1f0da66c67e6cf5092e3d7ef8bbaedd47a266"}, + {file = "glcontext-2.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1abdc499c59e4a1dd59e321151171ecb583f3fac07af428c47a8b8e3ce5ff5bf"}, + {file = "glcontext-2.5.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c73882865f3daf8a02fae1486c933146dc2f1bb8de3be26907b145523df4afc1"}, + {file = "glcontext-2.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:136ab0d4f966adc7a2f397e8f17debf3da18afb4b5b8684db59ea9c9452fe2f6"}, + {file = "glcontext-2.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:95e6805475552254d9e1a65c2433c150e364da0081dcc6fa79d90bf74665384b"}, + {file = "glcontext-2.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:60343a07fd30c024c6889687d10524c4b9f321c3991666e6c23eb0e695f60ae1"}, + {file = "glcontext-2.5.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e7db3961200f3cf607ac68eb0df0640e5d538f1c029c6d9433722ee04f37960"}, + {file = "glcontext-2.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7017ac46784adce071cdcda5e3ce07523bbc10186c0c9cc3120aba91f0633817"}, + {file = "glcontext-2.5.0.tar.gz", hash = "sha256:0f70d4be0cdd2b532a16da76c8f786b6367754a4086aaadffdbf3e37badbad02"}, ] [[package]] name = "identify" -version = "2.5.26" +version = "2.5.30" description = "File identification library for Python" category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.26-py2.py3-none-any.whl", hash = "sha256:c22a8ead0d4ca11f1edd6c9418c3220669b3b7533ada0a0ffa6cc0ef85cf9b54"}, - {file = "identify-2.5.26.tar.gz", hash = "sha256:7243800bce2f58404ed41b7c002e53d4d22bcf3ae1b7900c2d7aefd95394bf7f"}, + {file = "identify-2.5.30-py2.py3-none-any.whl", hash = "sha256:afe67f26ae29bab007ec21b03d4114f41316ab9dd15aa8736a167481e108da54"}, + {file = "identify-2.5.30.tar.gz", hash = "sha256:f302a4256a15c849b91cfcdcec052a8ce914634b2f77ae87dad29cd749f2d88d"}, ] [package.extras] @@ -1500,22 +1540,22 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs [[package]] name = "importlib-resources" -version = "6.0.0" +version = "6.1.0" description = "Read resources from Python packages" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.0.0-py3-none-any.whl", hash = "sha256:d952faee11004c045f785bb5636e8f885bed30dc3c940d5d42798a2a4541c185"}, - {file = "importlib_resources-6.0.0.tar.gz", hash = "sha256:4cf94875a8368bd89531a756df9a9ebe1f150e0f885030b461237bc7f2d905f2"}, + {file = "importlib_resources-6.1.0-py3-none-any.whl", hash = "sha256:aa50258bbfa56d4e33fbd8aa3ef48ded10d1735f11532b8df95388cc6bdb7e83"}, + {file = "importlib_resources-6.1.0.tar.gz", hash = "sha256:9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] [[package]] name = "iniconfig" @@ -1531,14 +1571,14 @@ files = [ [[package]] name = "ipykernel" -version = "6.25.0" +version = "6.25.2" description = "IPython Kernel for Jupyter" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "ipykernel-6.25.0-py3-none-any.whl", hash = "sha256:f0042e867ac3f6bca1679e6a88cbd6a58ed93a44f9d0866aecde6efe8de76659"}, - {file = "ipykernel-6.25.0.tar.gz", hash = "sha256:e342ce84712861be4b248c4a73472be4702c1b0dd77448bfd6bcfb3af9d5ddf9"}, + {file = "ipykernel-6.25.2-py3-none-any.whl", hash = "sha256:2e2ee359baba19f10251b99415bb39de1e97d04e1fab385646f24f0596510b77"}, + {file = "ipykernel-6.25.2.tar.gz", hash = "sha256:f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b"}, ] [package.dependencies] @@ -1565,14 +1605,14 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" [[package]] name = "ipython" -version = "8.12.2" +version = "8.12.3" description = "IPython: Productive Interactive Computing" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "ipython-8.12.2-py3-none-any.whl", hash = "sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc"}, - {file = "ipython-8.12.2.tar.gz", hash = "sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea"}, + {file = "ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c"}, + {file = "ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363"}, ] [package.dependencies] @@ -1665,14 +1705,14 @@ numpy = "*" [[package]] name = "jedi" -version = "0.19.0" +version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." category = "main" optional = true python-versions = ">=3.6" files = [ - {file = "jedi-0.19.0-py2.py3-none-any.whl", hash = "sha256:cb8ce23fbccff0025e9386b5cf85e892f94c9b822378f8da49970471335ac64e"}, - {file = "jedi-0.19.0.tar.gz", hash = "sha256:bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"}, + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, ] [package.dependencies] @@ -1681,7 +1721,7 @@ parso = ">=0.8.3,<0.9.0" [package.extras] docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jinja2" @@ -1730,14 +1770,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.18.4" +version = "4.19.1" description = "An implementation of JSON Schema validation for Python" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.4-py3-none-any.whl", hash = "sha256:971be834317c22daaa9132340a51c01b50910724082c2c1a2ac87eeec153a3fe"}, - {file = "jsonschema-4.18.4.tar.gz", hash = "sha256:fb3642735399fa958c0d2aad7057901554596c63349f4f6b283c493cf692a25d"}, + {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, + {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, ] [package.dependencies] @@ -1803,14 +1843,14 @@ test = ["codecov", "coverage", "ipykernel (>=6.12)", "ipython", "mypy", "pre-com [[package]] name = "jupyter-core" -version = "5.3.1" +version = "5.4.0" description = "Jupyter core package. A base package on which Jupyter projects rely." category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.3.1-py3-none-any.whl", hash = "sha256:ae9036db959a71ec1cac33081eeb040a79e681f08ab68b0883e9a676c7a90dce"}, - {file = "jupyter_core-5.3.1.tar.gz", hash = "sha256:5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba"}, + {file = "jupyter_core-5.4.0-py3-none-any.whl", hash = "sha256:66e252f675ac04dcf2feb6ed4afb3cd7f68cf92f483607522dc251f32d471571"}, + {file = "jupyter_core-5.4.0.tar.gz", hash = "sha256:e4b98344bb94ee2e3e6c4519a97d001656009f9cb2b7f2baf15b3c205770011d"}, ] [package.dependencies] @@ -1824,14 +1864,14 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyter-events" -version = "0.7.0" +version = "0.8.0" description = "Jupyter Event System library" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_events-0.7.0-py3-none-any.whl", hash = "sha256:4753da434c13a37c3f3c89b500afa0c0a6241633441421f6adafe2fb2e2b924e"}, - {file = "jupyter_events-0.7.0.tar.gz", hash = "sha256:7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615"}, + {file = "jupyter_events-0.8.0-py3-none-any.whl", hash = "sha256:81f07375c7673ff298bfb9302b4a981864ec64edaed75ca0fe6f850b9b045525"}, + {file = "jupyter_events-0.8.0.tar.gz", hash = "sha256:fda08f0defce5e16930542ce60634ba48e010830d50073c3dfd235759cee77bf"}, ] [package.dependencies] @@ -1850,14 +1890,14 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p [[package]] name = "jupyter-server" -version = "2.7.0" +version = "2.8.0" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_server-2.7.0-py3-none-any.whl", hash = "sha256:6a77912aff643e53fa14bdb2634884b52b784a4be77ce8e93f7283faed0f0849"}, - {file = "jupyter_server-2.7.0.tar.gz", hash = "sha256:36da0a266d31a41ac335a366c88933c17dfa5bb817a48f5c02c16d303bc9477f"}, + {file = "jupyter_server-2.8.0-py3-none-any.whl", hash = "sha256:c57270faa6530393ae69783a2d2f1874c718b9f109080581ea076b05713249fa"}, + {file = "jupyter_server-2.8.0.tar.gz", hash = "sha256:b11e2ba80667c75f55630faf8ac3d5809f8734f9006d65cce117c46a0a516ab8"}, ] [package.dependencies] @@ -1875,7 +1915,7 @@ packaging = "*" prometheus-client = "*" pywinpty = {version = "*", markers = "os_name == \"nt\""} pyzmq = ">=24" -send2trash = "*" +send2trash = ">=1.8.2" terminado = ">=0.8.3" tornado = ">=6.2.0" traitlets = ">=5.6.0" @@ -1967,14 +2007,14 @@ test = ["pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)", "ypy-we [[package]] name = "jupyterlab" -version = "3.6.5" +version = "3.6.6" description = "JupyterLab computational environment" category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "jupyterlab-3.6.5-py3-none-any.whl", hash = "sha256:4d13665c2c2f42c753140d88b52ff8722cd5b38629b934f5612bfa5490bcdc65"}, - {file = "jupyterlab-3.6.5.tar.gz", hash = "sha256:ac0cb19756be1d1e14b2be1f23c603de46e0f0113960fce9888889ca55ae8923"}, + {file = "jupyterlab-3.6.6-py3-none-any.whl", hash = "sha256:2c1309e77135670233f1146aef88e2101002ff0dc5b9147c2b987807efbbca07"}, + {file = "jupyterlab-3.6.6.tar.gz", hash = "sha256:0a47d7adb28bd5659d727783f4113537e54f8c66e0d6322d1d8f9edb081dc926"}, ] [package.dependencies] @@ -2008,14 +2048,14 @@ files = [ [[package]] name = "jupyterlab-server" -version = "2.24.0" +version = "2.25.0" description = "A set of server components for JupyterLab and JupyterLab like applications." category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jupyterlab_server-2.24.0-py3-none-any.whl", hash = "sha256:5f077e142bb8dc9b843d960f940c513581bceca3793a0d80f9c67d9522c4e876"}, - {file = "jupyterlab_server-2.24.0.tar.gz", hash = "sha256:4e6f99e0a5579bbbc32e449c4dbb039561d4f1a7827d5733273ed56738f21f07"}, + {file = "jupyterlab_server-2.25.0-py3-none-any.whl", hash = "sha256:c9f67a98b295c5dee87f41551b0558374e45d449f3edca153dd722140630dcb2"}, + {file = "jupyterlab_server-2.25.0.tar.gz", hash = "sha256:77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7"}, ] [package.dependencies] @@ -2023,92 +2063,128 @@ babel = ">=2.10" importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} jinja2 = ">=3.0.3" json5 = ">=0.9.0" -jsonschema = ">=4.17.3" +jsonschema = ">=4.18.0" jupyter-server = ">=1.21,<3" packaging = ">=21.3" -requests = ">=2.28" +requests = ">=2.31" [package.extras] docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] -openapi = ["openapi-core (>=0.16.1,<0.17.0)", "ruamel-yaml"] -test = ["hatch", "ipykernel", "jupyterlab-server[openapi]", "openapi-spec-validator (>=0.5.1,<0.7.0)", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.7.0)", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] [[package]] name = "kiwisolver" -version = "1.4.4" +version = "1.4.5" description = "A fast implementation of the Cassowary constraint solver" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"}, - {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"}, - {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"}, - {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"}, - {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"}, - {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"}, - {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"}, - {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"}, - {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, - {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, + {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, + {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, + {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, + {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, + {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, + {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, + {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, + {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, ] [[package]] @@ -2159,28 +2235,28 @@ files = [ [[package]] name = "manimpango" -version = "0.4.3" +version = "0.4.4" description = "Bindings for Pango for using with Manim." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "ManimPango-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ad4f43f3c009a9c2f37607f1a4c51bcb3cde0911f2cf262cb7797b44556d005e"}, - {file = "ManimPango-0.4.3-cp310-cp310-win32.whl", hash = "sha256:49ebf511467e5feb32427a9d4a61a381b52c41b02facdfbdeee9d8ff49cbdf14"}, - {file = "ManimPango-0.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:6ce45a782d844fbc6d6476334b1bf9855697466f6eb299491108dfb45bf45211"}, - {file = "ManimPango-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:138e4fc9805132b39c490e49327687b1518d9e4ccc7d3c34c8b40367605ec0d9"}, - {file = "ManimPango-0.4.3-cp311-cp311-win32.whl", hash = "sha256:4039228b466fd56fbcd38d451ebbbc77124af09b9a047f07964334b1debe9881"}, - {file = "ManimPango-0.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:302c5e157d1b188759e84b44da85e396180cbcaf71bad3adf7792fc2cbad29fd"}, - {file = "ManimPango-0.4.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d03a13712376d25ef4679a17a8584533a1405d315d66d317934d6d576786eea6"}, - {file = "ManimPango-0.4.3-cp37-cp37m-win32.whl", hash = "sha256:bf1712059111378558b36d3b73f2ed47b0431e2f7b9706887735c81e64b7d004"}, - {file = "ManimPango-0.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:58d6119f64f4ba1e0ae11c3edd115616780e113701359593cb3a4d11b7ff7d64"}, - {file = "ManimPango-0.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6ff3d7c02195bc7b38146c1de7acb69e7588670976f260a93dd83436ccd85ab8"}, - {file = "ManimPango-0.4.3-cp38-cp38-win32.whl", hash = "sha256:c31d5581a14b9644ad6fa2645fa5a171048d204f7c47be62e9dc31af2e48bd8a"}, - {file = "ManimPango-0.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:edfdbf355be331dc489fcaf67521e26f3c00ed1f084308d96b5e5ab244c3fba0"}, - {file = "ManimPango-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b9dc620362e5ff1e984a9801d2886a70a48561c13976e83c1e9f3bd0a18618a1"}, - {file = "ManimPango-0.4.3-cp39-cp39-win32.whl", hash = "sha256:cb2bc381a301fca5b27ff73169db2be7d3f42eddd6812216fb0e2e6be07c7e79"}, - {file = "ManimPango-0.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:5f3430fccc6270812b2f0ebaa01d653cfaea517821b04260a8e706e19ce18a76"}, - {file = "ManimPango-0.4.3.tar.gz", hash = "sha256:732f1cb98bcc122c0dee93bb54966aa595f90730e5096ad6d86602cf4ba1a103"}, + {file = "ManimPango-0.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4eadd960fb01ca9a18b00e54e4a9f5f8631c939a607cdf0765502e0f3cb43de7"}, + {file = "ManimPango-0.4.4-cp310-cp310-win32.whl", hash = "sha256:a31aa72a1451b1ef762e02845fa08cef10bba89708c449648db1f83e9f1b5715"}, + {file = "ManimPango-0.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:7192ec39ff8d59546b9e0dc21a00042ab507944291a662c5526a4bf1b3639705"}, + {file = "ManimPango-0.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:19ab9c2be4b44f99fc3bb87ce7e8685940a9c8812f2250e0f84acccee13cd1f8"}, + {file = "ManimPango-0.4.4-cp311-cp311-win32.whl", hash = "sha256:077c22deccc8b07cf490e66dbe5511a8748156d002f9135df9e4a2ebae38140d"}, + {file = "ManimPango-0.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:0ac7e5da4b21267d7e07273ca79bb15260e9494e80d0b50414dfbe78b3e274b7"}, + {file = "ManimPango-0.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b76a337b1d7226a1b0b418c556e4cfcdb8ba38e0ddc13e8f4c5b8c7d27422b3a"}, + {file = "ManimPango-0.4.4-cp312-cp312-win32.whl", hash = "sha256:f17e566e97b3eba8158caaefcc8fb3188376acd8a8e1bc7b7201f26019e0860b"}, + {file = "ManimPango-0.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:9e8c907876f3a5bb99d28d49aeb93b29a80e72f66300f7f0f0cf82ccba53473b"}, + {file = "ManimPango-0.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e0a9b13631acf01c0c61e6f5c7042ec9c43f5fbdae28791bf34755e6bba4659"}, + {file = "ManimPango-0.4.4-cp38-cp38-win32.whl", hash = "sha256:443edb608b8ce0171763044e4ee50ca44b2aebed8f32d5c1c3f90c7d2f809481"}, + {file = "ManimPango-0.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:4a7787c5135381dd1ad8a0a5c671e8c0c88bcd3f93967b775e3389de75e70198"}, + {file = "ManimPango-0.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2b130d577d1aa4865730568d84fcb64100b704e296b68deccbc2963dd421bfa1"}, + {file = "ManimPango-0.4.4-cp39-cp39-win32.whl", hash = "sha256:ca6dda74fa306a2f96dac943ca23aee4be0ba2c15d99a4789c088913eb61d78e"}, + {file = "ManimPango-0.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:d3efaeb07cf212fba0d39ccd8314ea3f5e7e8384d7c54b11bc0f683dabb64959"}, + {file = "ManimPango-0.4.4.tar.gz", hash = "sha256:d4dfb55e8c8a62d6b56b6bacea314369f25dda59e2ed4f4c0e6867512d93828c"}, ] [[package]] @@ -2345,53 +2421,59 @@ files = [ [[package]] name = "matplotlib" -version = "3.7.2" +version = "3.7.3" description = "Python plotting package" category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"}, - {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"}, - {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"}, - {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"}, - {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"}, - {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"}, - {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"}, - {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"}, - {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"}, - {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"}, + {file = "matplotlib-3.7.3-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:085c33b27561d9c04386789d5aa5eb4a932ddef43cfcdd0e01735f9a6e85ce0c"}, + {file = "matplotlib-3.7.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c568e80e1c17f68a727f30f591926751b97b98314d8e59804f54f86ae6fa6a22"}, + {file = "matplotlib-3.7.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7baf98c5ad59c5c4743ea884bb025cbffa52dacdfdac0da3e6021a285a90377e"}, + {file = "matplotlib-3.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:236024f582e40dac39bca592258888b38ae47a9fed7b8de652d68d3d02d47d2b"}, + {file = "matplotlib-3.7.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12b4f6795efea037ce2d41e7c417ad8bd02d5719c6ad4a8450a0708f4a1cfb89"}, + {file = "matplotlib-3.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b2136cc6c5415b78977e0e8c608647d597204b05b1d9089ccf513c7d913733"}, + {file = "matplotlib-3.7.3-cp310-cp310-win32.whl", hash = "sha256:122dcbf9be0086e2a95d9e5e0632dbf3bd5b65eaa68c369363310a6c87753059"}, + {file = "matplotlib-3.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:4aab27d9e33293389e3c1d7c881d414a72bdfda0fedc3a6bf46c6fa88d9b8015"}, + {file = "matplotlib-3.7.3-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:d5adc743de91e8e0b13df60deb1b1c285b8effea3d66223afceb14b63c9b05de"}, + {file = "matplotlib-3.7.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:55de4cf7cd0071b8ebf203981b53ab64f988a0a1f897a2dff300a1124e8bcd8b"}, + {file = "matplotlib-3.7.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac03377fd908aaee2312d0b11735753e907adb6f4d1d102de5e2425249693f6c"}, + {file = "matplotlib-3.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:755bafc10a46918ce9a39980009b54b02dd249594e5adf52f9c56acfddb5d0b7"}, + {file = "matplotlib-3.7.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a6094c6f8e8d18db631754df4fe9a34dec3caf074f6869a7db09f18f9b1d6b2"}, + {file = "matplotlib-3.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:272dba2f1b107790ed78ebf5385b8d14b27ad9e90419de340364b49fe549a993"}, + {file = "matplotlib-3.7.3-cp311-cp311-win32.whl", hash = "sha256:591c123bed1cb4b9996fb60b41a6d89c2ec4943244540776c5f1283fb6960a53"}, + {file = "matplotlib-3.7.3-cp311-cp311-win_amd64.whl", hash = "sha256:3bf3a178c6504694cee8b88b353df0051583f2f6f8faa146f67115c27c856881"}, + {file = "matplotlib-3.7.3-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:edf54cac8ee3603f3093616b40a931e8c063969756a4d78a86e82c2fea9659f7"}, + {file = "matplotlib-3.7.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:91e36a85ea639a1ba9f91427041eac064b04829945fe331a92617b6cb21d27e5"}, + {file = "matplotlib-3.7.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:caf5eaaf7c68f8d7df269dfbcaf46f48a70ff482bfcebdcc97519671023f2a7d"}, + {file = "matplotlib-3.7.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74bf57f505efea376097e948b7cdd87191a7ce8180616390aef496639edf601f"}, + {file = "matplotlib-3.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee152a88a0da527840a426535514b6ed8ac4240eb856b1da92cf48124320e346"}, + {file = "matplotlib-3.7.3-cp312-cp312-win_amd64.whl", hash = "sha256:67a410a9c9e07cbc83581eeea144bbe298870bf0ac0ee2f2e10a015ab7efee19"}, + {file = "matplotlib-3.7.3-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:259999c05285cb993d7f2a419cea547863fa215379eda81f7254c9e932963729"}, + {file = "matplotlib-3.7.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3f4e7fd5a6157e1d018ce2166ec8e531a481dd4a36f035b5c23edfe05a25419a"}, + {file = "matplotlib-3.7.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:faa3d12d8811d08d14080a8b7b9caea9a457dc495350166b56df0db4b9909ef5"}, + {file = "matplotlib-3.7.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:336e88900c11441e458da01c8414fc57e04e17f9d3bb94958a76faa2652bcf6b"}, + {file = "matplotlib-3.7.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:12f4c0dd8aa280d796c8772ea8265a14f11a04319baa3a16daa5556065e8baea"}, + {file = "matplotlib-3.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1990955b11e7918d256cf3b956b10997f405b7917a3f1c7d8e69c1d15c7b1930"}, + {file = "matplotlib-3.7.3-cp38-cp38-win32.whl", hash = "sha256:e78707b751260b42b721507ad7aa60fe4026d7f51c74cca6b9cd8b123ebb633a"}, + {file = "matplotlib-3.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:e594ee43c59ea39ca5c6244667cac9d017a3527febc31f5532ad9135cf7469ec"}, + {file = "matplotlib-3.7.3-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6eaa1cf0e94c936a26b78f6d756c5fbc12e0a58c8a68b7248a2a31456ce4e234"}, + {file = "matplotlib-3.7.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0a97af9d22e8ebedc9f00b043d9bbd29a375e9e10b656982012dded44c10fd77"}, + {file = "matplotlib-3.7.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f9c6c16597af660433ab330b59ee2934b832ee1fabcaf5cbde7b2add840f31e"}, + {file = "matplotlib-3.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7240259b4b9cbc62381f6378cff4d57af539162a18e832c1e48042fabc40b6b"}, + {file = "matplotlib-3.7.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:747c6191d2e88ae854809e69aa358dbf852ff1a5738401b85c1cc9012309897a"}, + {file = "matplotlib-3.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec726b08a5275d827aa91bb951e68234a4423adb91cf65bc0fcdc0f2777663f7"}, + {file = "matplotlib-3.7.3-cp39-cp39-win32.whl", hash = "sha256:40e3b9b450c6534f07278310c4e34caff41c2a42377e4b9d47b0f8d3ac1083a2"}, + {file = "matplotlib-3.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfc118642903a23e309b1da32886bb39a4314147d013e820c86b5fb4cb2e36d0"}, + {file = "matplotlib-3.7.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:165c8082bf8fc0360c24aa4724a22eaadbfd8c28bf1ccf7e94d685cad48261e4"}, + {file = "matplotlib-3.7.3-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebd8470cc2a3594746ff0513aecbfa2c55ff6f58e6cef2efb1a54eb87c88ffa2"}, + {file = "matplotlib-3.7.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7153453669c9672b52095119fd21dd032d19225d48413a2871519b17db4b0fde"}, + {file = "matplotlib-3.7.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:498a08267dc69dd8f24c4b5d7423fa584d7ce0027ba71f7881df05fc09b89bb7"}, + {file = "matplotlib-3.7.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48999c4b19b5a0c058c9cd828ff6fc7748390679f6cf9a2ad653a3e802c87d3"}, + {file = "matplotlib-3.7.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22d65d18b4ee8070a5fea5761d59293f1f9e2fac37ec9ce090463b0e629432fd"}, + {file = "matplotlib-3.7.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c40cde976c36693cc0767e27cf5f443f91c23520060bd9496678364adfafe9c"}, + {file = "matplotlib-3.7.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:39018a2b17592448fbfdf4b8352955e6c3905359939791d4ff429296494d1a0c"}, + {file = "matplotlib-3.7.3.tar.gz", hash = "sha256:f09b3dd6bdeb588de91f853bbb2d6f0ff8ab693485b0c49035eaa510cb4f142e"}, ] [package.dependencies] @@ -2400,11 +2482,12 @@ cycler = ">=0.10" fonttools = ">=4.22.0" importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} kiwisolver = ">=1.0.1" -numpy = ">=1.20" +numpy = ">=1.20,<2" packaging = ">=20.0" pillow = ">=6.2.0" -pyparsing = ">=2.3.1,<3.1" +pyparsing = ">=2.3.1" python-dateutil = ">=2.7" +setuptools_scm = ">=7" [[package]] name = "matplotlib-inline" @@ -2467,14 +2550,14 @@ files = [ [[package]] name = "mistune" -version = "3.0.1" +version = "3.0.2" description = "A sane and fast Markdown parser with useful plugins and renderers" category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "mistune-3.0.1-py3-none-any.whl", hash = "sha256:b9b3e438efbb57c62b5beb5e134dab664800bdf1284a7ee09e8b12b13eb1aac6"}, - {file = "mistune-3.0.1.tar.gz", hash = "sha256:e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c"}, + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] [[package]] @@ -2720,14 +2803,14 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= [[package]] name = "nbconvert" -version = "7.7.3" +version = "7.9.2" description = "Converting Jupyter Notebooks" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "nbconvert-7.7.3-py3-none-any.whl", hash = "sha256:3022adadff3f86578a47fab7c2228bb3ca9c56a24345642a22f917f6168b48fc"}, - {file = "nbconvert-7.7.3.tar.gz", hash = "sha256:4a5996bf5f3cd16aa0431897ba1aa4c64842c2079f434b3dc6b8c4b252ef3355"}, + {file = "nbconvert-7.9.2-py3-none-any.whl", hash = "sha256:39fe4b8bdd1b0104fdd86fc8a43a9077ba64c720bda4c6132690d917a0a154ee"}, + {file = "nbconvert-7.9.2.tar.gz", hash = "sha256:e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9"}, ] [package.dependencies] @@ -2754,7 +2837,7 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp qtpdf = ["nbconvert[qtpng]"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"] +test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pytest", "pytest-dependency"] webpdf = ["playwright"] [[package]] @@ -2781,14 +2864,14 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] [[package]] name = "nest-asyncio" -version = "1.5.7" +version = "1.5.8" description = "Patch asyncio to allow nested event loops" category = "main" optional = true python-versions = ">=3.5" files = [ - {file = "nest_asyncio-1.5.7-py3-none-any.whl", hash = "sha256:5301c82941b550b3123a1ea772ba9a1c80bad3a182be8c1a5ae6ad3be57a9657"}, - {file = "nest_asyncio-1.5.7.tar.gz", hash = "sha256:6a80f7b98f24d9083ed24608977c09dd608d83f91cccc24c9d2cba6d10e01c10"}, + {file = "nest_asyncio-1.5.8-py3-none-any.whl", hash = "sha256:accda7a339a70599cb08f9dd09a67e0c2ef8d8d6f4c07f96ab203f2ae254e48d"}, + {file = "nest_asyncio-1.5.8.tar.gz", hash = "sha256:25aa2ca0d2a5b5531956b9e273b45cf664cae2b145101d73b86b199978d48fdb"}, ] [[package]] @@ -2827,14 +2910,14 @@ setuptools = "*" [[package]] name = "notebook" -version = "6.5.5" +version = "6.5.6" description = "A web-based notebook environment for interactive computing" category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "notebook-6.5.5-py3-none-any.whl", hash = "sha256:171039245a5b1a8f8233165091210632c21250ce2a652daed38fe8f94389984f"}, - {file = "notebook-6.5.5.tar.gz", hash = "sha256:457caa1fa1c647395420945b2b7559f603eedbc9aeb2a59a0c286c8029e31efa"}, + {file = "notebook-6.5.6-py3-none-any.whl", hash = "sha256:c1e2eb2e3b6079a0552a04974883a48d04c3c05792170d64a4b23d707d453181"}, + {file = "notebook-6.5.6.tar.gz", hash = "sha256:b4625a4b7a597839dd3156b140d5ba2c7123761f98245a3290f67a8b8ee048d9"}, ] [package.dependencies] @@ -2918,26 +3001,26 @@ files = [ [[package]] name = "overrides" -version = "7.3.1" +version = "7.4.0" description = "A decorator to automatically detect mismatch when overriding a method." category = "main" optional = true python-versions = ">=3.6" files = [ - {file = "overrides-7.3.1-py3-none-any.whl", hash = "sha256:6187d8710a935d09b0bcef8238301d6ee2569d2ac1ae0ec39a8c7924e27f58ca"}, - {file = "overrides-7.3.1.tar.gz", hash = "sha256:8b97c6c1e1681b78cbc9424b138d880f0803c2254c5ebaabdde57bb6c62093f2"}, + {file = "overrides-7.4.0-py3-none-any.whl", hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d"}, + {file = "overrides-7.4.0.tar.gz", hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757"}, ] [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -3101,14 +3184,14 @@ files = [ [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -3117,14 +3200,14 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co [[package]] name = "pluggy" -version = "1.2.0" +version = "1.3.0" description = "plugin and hook calling mechanisms for python" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, - {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, ] [package.extras] @@ -3182,26 +3265,28 @@ wcwidth = "*" [[package]] name = "psutil" -version = "5.9.5" +version = "5.9.6" description = "Cross-platform lib for process and system monitoring in Python." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, - {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, - {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, - {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, - {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, - {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, - {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, - {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, + {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, + {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, + {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, + {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, + {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, + {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, + {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, + {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, + {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, + {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, + {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, + {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, + {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, + {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, + {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, + {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, ] [package.extras] @@ -3274,23 +3359,27 @@ files = [ [[package]] name = "pycairo" -version = "1.24.0" +version = "1.25.1" description = "Python interface for cairo" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "pycairo-1.24.0-cp310-cp310-win32.whl", hash = "sha256:031f5ef2c80792673f2c54ee285f2a31779a44d7521a27a7f82e4a5ecfafc26e"}, - {file = "pycairo-1.24.0-cp310-cp310-win_amd64.whl", hash = "sha256:afccac552386ab628e8ae658185fa363e8d15a5afe96d1de43f97027dd78bdd6"}, - {file = "pycairo-1.24.0-cp311-cp311-win32.whl", hash = "sha256:4631ed794a3376ec314ce47826c3e51940b54695f4ef7d5b3245b203037ae760"}, - {file = "pycairo-1.24.0-cp311-cp311-win_amd64.whl", hash = "sha256:ed0622a0ccffb873ffe7fee1699d60779f1260fba143390e5366d55f1d1739f5"}, - {file = "pycairo-1.24.0-cp312-cp312-win32.whl", hash = "sha256:220742f187d3940d695c1af1a0c1646e26dc2199d65b7bafaa527e15c3520fd3"}, - {file = "pycairo-1.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:3199d6a0538d6482c71efb816bd330515e98bb06f182e23572c77d92be98f536"}, - {file = "pycairo-1.24.0-cp38-cp38-win32.whl", hash = "sha256:c7c79e748ec849811241d29553184c3ad93c857558dbe9954a49327680b8d356"}, - {file = "pycairo-1.24.0-cp38-cp38-win_amd64.whl", hash = "sha256:6ad5c3425408ebb0dfaad2cca4a80e7524d7a309305acdb2569638b5cc988fe7"}, - {file = "pycairo-1.24.0-cp39-cp39-win32.whl", hash = "sha256:c5f6efdd86fe13d36a6b004c64d8e97cde9854d599cf6cca962afb1966fe533d"}, - {file = "pycairo-1.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:26fe2c32ba24caae524d855f26f3ee1a0c1ea3291da2a19604264ed29f64d834"}, - {file = "pycairo-1.24.0.tar.gz", hash = "sha256:1444d52f1bb4cc79a4a0c0fe2ccec4bd78ff885ab01ebe1c0f637d8392bcafb6"}, + {file = "pycairo-1.25.1-cp310-cp310-win32.whl", hash = "sha256:cacb5c2abbfdfc79c728ab261ff791511e4957b606c660f9b380975b678b728f"}, + {file = "pycairo-1.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:109ebbeb5bbc510b726fc31251071264dec241e5084d0668f846d7e17e5af8e0"}, + {file = "pycairo-1.25.1-cp310-cp310-win_arm64.whl", hash = "sha256:b19269a8bf9ab5e3c617f2699bed00977fd02ff304339a233654456c0236f7c6"}, + {file = "pycairo-1.25.1-cp311-cp311-win32.whl", hash = "sha256:b10e58a3ce41e487aae15050b630742e880d4135cee7a69cee2c0ea2a0b4bd0a"}, + {file = "pycairo-1.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:fcf5511b05a652a0ef87f626bf26bfc1b796a67f0d1bd40781c62986fb41c356"}, + {file = "pycairo-1.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:4133ba3ef6d875aa1b16643dc0801846f463b8e78750f5308c41902dfeac5b9a"}, + {file = "pycairo-1.25.1-cp312-cp312-win32.whl", hash = "sha256:56fee2837a07ecd914f4fbf78ff59445f78becd658fe36125101925dd489eb94"}, + {file = "pycairo-1.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:fb31eec2c41ec74e23dc0fc9feb4007b4c37f78ec76220ed92530b342e09821a"}, + {file = "pycairo-1.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:27011d822952d7817130fc17f490de94328590bc8d45bdbca9ec4a47039fca22"}, + {file = "pycairo-1.25.1-cp38-cp38-win32.whl", hash = "sha256:9a7c5ed92fe87f60e9796777d5255f2df2deeb8ab1e3c296e67a1d8c9790808c"}, + {file = "pycairo-1.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:48603ad31616140ad6fa097f13086d0ce8f29ead35ad6a215962f3b0496a5a70"}, + {file = "pycairo-1.25.1-cp39-cp39-win32.whl", hash = "sha256:97666c084e9eb1c08c7fd6d306d153767acdf03c0d80349ec55863cecd4138e0"}, + {file = "pycairo-1.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:ac5437d140eccd97af12a618cc1ace0d9a85f1269f29e963751949f132828b21"}, + {file = "pycairo-1.25.1-cp39-cp39-win_arm64.whl", hash = "sha256:bda5d10adbf1f5eba6b524b5a70ccf7f659680b77e691ff94b312f25a6fcc91f"}, + {file = "pycairo-1.25.1.tar.gz", hash = "sha256:7e2be4fbc3b4536f16db7a11982cbf713e75069a4d73d44fe5a49b68423f5c0c"}, ] [[package]] @@ -3361,14 +3450,14 @@ files = [ [[package]] name = "pygithub" -version = "1.59.0" +version = "1.59.1" description = "Use the full Github API v3" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "PyGithub-1.59.0-py3-none-any.whl", hash = "sha256:126bdbae72087d8d038b113aab6b059b4553cb59348e3024bb1a1cae406ace9e"}, - {file = "PyGithub-1.59.0.tar.gz", hash = "sha256:6e05ff49bac3caa7d1d6177a10c6e55a3e20c85b92424cc198571fd0cf786690"}, + {file = "PyGithub-1.59.1-py3-none-any.whl", hash = "sha256:3d87a822e6c868142f0c2c4bf16cce4696b5a7a4d142a7bd160e1bdf75bc54a9"}, + {file = "PyGithub-1.59.1.tar.gz", hash = "sha256:c44e3a121c15bf9d3a5cc98d94c9a047a5132a9b01d22264627f58ade9ddc217"}, ] [package.dependencies] @@ -3391,14 +3480,14 @@ files = [ [[package]] name = "pygments" -version = "2.15.1" +version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"}, - {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"}, + {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, + {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, ] [package.extras] @@ -3427,18 +3516,18 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pylint" -version = "2.17.5" +version = "2.17.7" description = "python code static checker" category = "dev" optional = false python-versions = ">=3.7.2" files = [ - {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"}, - {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"}, + {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"}, + {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"}, ] [package.dependencies] -astroid = ">=2.15.6,<=2.17.0-dev0" +astroid = ">=2.15.8,<=2.17.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, @@ -3484,53 +3573,51 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] [[package]] name = "pyobjc-core" -version = "9.2" +version = "10.0" description = "Python<->ObjC Interoperability Module" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pyobjc-core-9.2.tar.gz", hash = "sha256:d734b9291fec91ff4e3ae38b9c6839debf02b79c07314476e87da8e90b2c68c3"}, - {file = "pyobjc_core-9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fa674a39949f5cde8e5c7bbcd24496446bfc67592b028aedbec7f81dc5fc4daa"}, - {file = "pyobjc_core-9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bbc8de304ee322a1ee530b4d2daca135a49b4a49aa3cedc6b2c26c43885f4842"}, - {file = "pyobjc_core-9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0fa950f092673883b8bd28bc18397415cabb457bf410920762109b411789ade9"}, - {file = "pyobjc_core-9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:586e4cae966282eaa61b21cae66ccdcee9d69c036979def26eebdc08ddebe20f"}, - {file = "pyobjc_core-9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:41189c2c680931c0395a55691763c481fc681f454f21bb4f1644f98c24a45954"}, - {file = "pyobjc_core-9.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:2d23ee539f2ba5e9f5653d75a13f575c7e36586fc0086792739e69e4c2617eda"}, - {file = "pyobjc_core-9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b9809cf96678797acb72a758f34932fe8e2602d5ab7abec15c5ac68ddb481720"}, + {file = "pyobjc-core-10.0.tar.gz", hash = "sha256:3dd0a7b3acd7e0b8ffd3f5331b29a3aaebe79a03323e61efeece38627a6020b3"}, + {file = "pyobjc_core-10.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61ea5112a672d21b5b0ed945778707c655b17c400672aef144705674c4b95499"}, + {file = "pyobjc_core-10.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:99b72cda4593e0c66037b25a178f2bcc6efffb6d5d9dcd477ecca859a1f9ae8e"}, + {file = "pyobjc_core-10.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:2843ca32e86a01ccee67d7ad82a325ddd72d754929d1f2c0d96bc8741dc9af09"}, + {file = "pyobjc_core-10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a886b9d2a93210cab4ae72601ab005ca6f627fa2f0cc62c43c03ef1405067a11"}, + {file = "pyobjc_core-10.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:166666b5c380a49e8aa1ad1dda978c581e29a00703d82203216f3c65a3f397a4"}, + {file = "pyobjc_core-10.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:198a0360f64e4c0148eed07b42d1de0545f56c498c356d1d5524422bb3352907"}, ] [[package]] name = "pyobjc-framework-cocoa" -version = "9.2" +version = "10.0" description = "Wrappers for the Cocoa frameworks on macOS" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pyobjc-framework-Cocoa-9.2.tar.gz", hash = "sha256:efd78080872d8c8de6c2b97e0e4eac99d6203a5d1637aa135d071d464eb2db53"}, - {file = "pyobjc_framework_Cocoa-9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9e02d8a7cc4eb7685377c50ba4f17345701acf4c05b1e7480d421bff9e2f62a4"}, - {file = "pyobjc_framework_Cocoa-9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3b1e6287b3149e4c6679cdbccd8e9ef6557a4e492a892e80a77df143f40026d2"}, - {file = "pyobjc_framework_Cocoa-9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:312977ce2e3989073c6b324c69ba24283de206fe7acd6dbbbaf3e29238a22537"}, - {file = "pyobjc_framework_Cocoa-9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:aae7841cf40c26dd915f4dd828f91c6616e6b7998630b72e704750c09e00f334"}, - {file = "pyobjc_framework_Cocoa-9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:739a421e14382a46cbeb9a883f192dceff368ad28ec34d895c48c0ad34cf2c1d"}, - {file = "pyobjc_framework_Cocoa-9.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:32d9ac1033fac1b821ddee8c68f972a7074ad8c50bec0bea9a719034c1c2fb94"}, - {file = "pyobjc_framework_Cocoa-9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b236bb965e41aeb2e215d4e98a5a230d4b63252c6d26e00924ea2e69540a59d6"}, + {file = "pyobjc-framework-Cocoa-10.0.tar.gz", hash = "sha256:723421eff4f59e4ca9a9bb8ec6dafbc0f778141236fa85a49fdd86732d58a74c"}, + {file = "pyobjc_framework_Cocoa-10.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:80c22a8fc7f085746d9cd222adeca8fe6790e3e6ad7eed5fc70b32aa87c10adb"}, + {file = "pyobjc_framework_Cocoa-10.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0187cba228976a45f41116c74aab079b64bacb3ffc3c886a4bd8e472bf9be581"}, + {file = "pyobjc_framework_Cocoa-10.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a81dabdc40268591e3196087388e680c6570fed1b521df9b04733cb3ece0414e"}, + {file = "pyobjc_framework_Cocoa-10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0a23db9ab99e338e1d8a268d873cc15408f78cec9946308393ca2241820c18b8"}, + {file = "pyobjc_framework_Cocoa-10.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a3c66fe56a5156a818fbf056c589f8140a5fdb1dcb1f1075cb34d3755474d900"}, + {file = "pyobjc_framework_Cocoa-10.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bf9020e85ead569021b15272dcd90207aab6c754093f520b11d4210a2efbdd06"}, ] [package.dependencies] -pyobjc-core = ">=9.2" +pyobjc-core = ">=10.0" [[package]] name = "pyparsing" -version = "3.0.9" +version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "dev" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, ] [package.extras] @@ -3554,14 +3641,14 @@ numpy = "*" [[package]] name = "pytest" -version = "7.4.0" +version = "7.4.2" description = "pytest: simple powerful testing with Python" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"}, - {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"}, + {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, + {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, ] [package.dependencies] @@ -3661,14 +3748,14 @@ files = [ [[package]] name = "pytz" -version = "2023.3" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" category = "main" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] [[package]] @@ -3697,17 +3784,18 @@ files = [ [[package]] name = "pywinpty" -version = "2.0.11" +version = "2.0.12" description = "Pseudo terminal support for Windows from Python." category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "pywinpty-2.0.11-cp310-none-win_amd64.whl", hash = "sha256:452f10ac9ff8ab9151aa8cea9e491a9612a12250b1899278c6a56bc184afb47f"}, - {file = "pywinpty-2.0.11-cp311-none-win_amd64.whl", hash = "sha256:6701867d42aec1239bc0fedf49a336570eb60eb886e81763db77ea2b6c533cc3"}, - {file = "pywinpty-2.0.11-cp38-none-win_amd64.whl", hash = "sha256:0ffd287751ad871141dc9724de70ea21f7fc2ff1af50861e0d232cf70739d8c4"}, - {file = "pywinpty-2.0.11-cp39-none-win_amd64.whl", hash = "sha256:e4e7f023c28ca7aa8e1313e53ba80a4d10171fe27857b7e02f99882dfe3e8638"}, - {file = "pywinpty-2.0.11.tar.gz", hash = "sha256:e244cffe29a894876e2cd251306efd0d8d64abd5ada0a46150a4a71c0b9ad5c5"}, + {file = "pywinpty-2.0.12-cp310-none-win_amd64.whl", hash = "sha256:21319cd1d7c8844fb2c970fb3a55a3db5543f112ff9cfcd623746b9c47501575"}, + {file = "pywinpty-2.0.12-cp311-none-win_amd64.whl", hash = "sha256:853985a8f48f4731a716653170cd735da36ffbdc79dcb4c7b7140bce11d8c722"}, + {file = "pywinpty-2.0.12-cp312-none-win_amd64.whl", hash = "sha256:1617b729999eb6713590e17665052b1a6ae0ad76ee31e60b444147c5b6a35dca"}, + {file = "pywinpty-2.0.12-cp38-none-win_amd64.whl", hash = "sha256:189380469ca143d06e19e19ff3fba0fcefe8b4a8cc942140a6b863aed7eebb2d"}, + {file = "pywinpty-2.0.12-cp39-none-win_amd64.whl", hash = "sha256:7520575b6546db23e693cbd865db2764097bd6d4ef5dc18c92555904cd62c3d4"}, + {file = "pywinpty-2.0.12.tar.gz", hash = "sha256:8197de460ae8ebb7f5d1701dfa1b5df45b157bb832e92acba316305e18ca00dd"}, ] [[package]] @@ -3877,14 +3965,14 @@ sphinx = ">=1.3.1" [[package]] name = "referencing" -version = "0.30.0" +version = "0.30.2" description = "JSON Referencing + Python" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, - {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, + {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, + {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, ] [package.dependencies] @@ -3956,14 +4044,14 @@ files = [ [[package]] name = "rich" -version = "13.5.1" +version = "13.6.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.5.1-py3-none-any.whl", hash = "sha256:b97381b204a206e1be618f5e1215a57174a1a7732490b3bf6668cf41d30bc72d"}, - {file = "rich-13.5.1.tar.gz", hash = "sha256:881653ee7037803559d8eae98f145e0a4c4b0ec3ff0300d2cc8d479c71fc6819"}, + {file = "rich-13.6.0-py3-none-any.whl", hash = "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245"}, + {file = "rich-13.6.0.tar.gz", hash = "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"}, ] [package.dependencies] @@ -3976,109 +4064,111 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.9.2" +version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, - {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, - {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, - {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, - {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, - {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, - {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, - {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, - {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, - {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, - {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6bdc11f9623870d75692cc33c59804b5a18d7b8a4b79ef0b00b773a27397d1f6"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26857f0f44f0e791f4a266595a7a09d21f6b589580ee0585f330aaccccb836e3"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7f5e15c953ace2e8dde9824bdab4bec50adb91a5663df08d7d994240ae6fa31"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61fa268da6e2e1cd350739bb61011121fa550aa2545762e3dc02ea177ee4de35"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c48f3fbc3e92c7dd6681a258d22f23adc2eb183c8cb1557d2fcc5a024e80b094"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0503c5b681566e8b722fe8c4c47cce5c7a51f6935d5c7012c4aefe952a35eed"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:734c41f9f57cc28658d98270d3436dba65bed0cfc730d115b290e970150c540d"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a5d7ed104d158c0042a6a73799cf0eb576dfd5fc1ace9c47996e52320c37cb7c"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3df0bc35e746cce42579826b89579d13fd27c3d5319a6afca9893a9b784ff1b"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e0a78a9b843b8c2128028864901f55190401ba38aae685350cf69b98d9f7c9"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ed505ec6305abd2c2c9586a7b04fbd4baf42d4d684a9c12ec6110deefe2a063"}, + {file = "rpds_py-0.10.6-cp310-none-win32.whl", hash = "sha256:d97dd44683802000277bbf142fd9f6b271746b4846d0acaf0cefa6b2eaf2a7ad"}, + {file = "rpds_py-0.10.6-cp310-none-win_amd64.whl", hash = "sha256:b455492cab07107bfe8711e20cd920cc96003e0da3c1f91297235b1603d2aca7"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e8cdd52744f680346ff8c1ecdad5f4d11117e1724d4f4e1874f3a67598821069"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66414dafe4326bca200e165c2e789976cab2587ec71beb80f59f4796b786a238"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc435d059f926fdc5b05822b1be4ff2a3a040f3ae0a7bbbe672babb468944722"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e7f2219cb72474571974d29a191714d822e58be1eb171f229732bc6fdedf0ac"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3953c6926a63f8ea5514644b7afb42659b505ece4183fdaaa8f61d978754349e"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bb2e4826be25e72013916eecd3d30f66fd076110de09f0e750163b416500721"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf347b495b197992efc81a7408e9a83b931b2f056728529956a4d0858608b80"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:102eac53bb0bf0f9a275b438e6cf6904904908562a1463a6fc3323cf47d7a532"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40f93086eef235623aa14dbddef1b9fb4b22b99454cb39a8d2e04c994fb9868c"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e22260a4741a0e7a206e175232867b48a16e0401ef5bce3c67ca5b9705879066"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4e56860a5af16a0fcfa070a0a20c42fbb2012eed1eb5ceeddcc7f8079214281"}, + {file = "rpds_py-0.10.6-cp311-none-win32.whl", hash = "sha256:0774a46b38e70fdde0c6ded8d6d73115a7c39d7839a164cc833f170bbf539116"}, + {file = "rpds_py-0.10.6-cp311-none-win_amd64.whl", hash = "sha256:4a5ee600477b918ab345209eddafde9f91c0acd931f3776369585a1c55b04c57"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:5ee97c683eaface61d38ec9a489e353d36444cdebb128a27fe486a291647aff6"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0713631d6e2d6c316c2f7b9320a34f44abb644fc487b77161d1724d883662e31"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a53f5998b4bbff1cb2e967e66ab2addc67326a274567697379dd1e326bded7"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a555ae3d2e61118a9d3e549737bb4a56ff0cec88a22bd1dfcad5b4e04759175"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:945eb4b6bb8144909b203a88a35e0a03d22b57aefb06c9b26c6e16d72e5eb0f0"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52c215eb46307c25f9fd2771cac8135d14b11a92ae48d17968eda5aa9aaf5071"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b3cd23d905589cb205710b3988fc8f46d4a198cf12862887b09d7aaa6bf9b9"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64ccc28683666672d7c166ed465c09cee36e306c156e787acef3c0c62f90da5a"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:516a611a2de12fbea70c78271e558f725c660ce38e0006f75139ba337d56b1f6"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9ff93d3aedef11f9c4540cf347f8bb135dd9323a2fc705633d83210d464c579d"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d858532212f0650be12b6042ff4378dc2efbb7792a286bee4489eaa7ba010586"}, + {file = "rpds_py-0.10.6-cp312-none-win32.whl", hash = "sha256:3c4eff26eddac49d52697a98ea01b0246e44ca82ab09354e94aae8823e8bda02"}, + {file = "rpds_py-0.10.6-cp312-none-win_amd64.whl", hash = "sha256:150eec465dbc9cbca943c8e557a21afdcf9bab8aaabf386c44b794c2f94143d2"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:cf693eb4a08eccc1a1b636e4392322582db2a47470d52e824b25eca7a3977b53"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4134aa2342f9b2ab6c33d5c172e40f9ef802c61bb9ca30d21782f6e035ed0043"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e782379c2028a3611285a795b89b99a52722946d19fc06f002f8b53e3ea26ea9"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f6da6d842195fddc1cd34c3da8a40f6e99e4a113918faa5e60bf132f917c247"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a9fe992887ac68256c930a2011255bae0bf5ec837475bc6f7edd7c8dfa254e"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b788276a3c114e9f51e257f2a6f544c32c02dab4aa7a5816b96444e3f9ffc336"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa1afc70a02645809c744eefb7d6ee8fef7e2fad170ffdeacca267fd2674f13"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bddd4f91eede9ca5275e70479ed3656e76c8cdaaa1b354e544cbcf94c6fc8ac4"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:775049dfa63fb58293990fc59473e659fcafd953bba1d00fc5f0631a8fd61977"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c6c45a2d2b68c51fe3d9352733fe048291e483376c94f7723458cfd7b473136b"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0699ab6b8c98df998c3eacf51a3b25864ca93dab157abe358af46dc95ecd9801"}, + {file = "rpds_py-0.10.6-cp38-none-win32.whl", hash = "sha256:ebdab79f42c5961682654b851f3f0fc68e6cc7cd8727c2ac4ffff955154123c1"}, + {file = "rpds_py-0.10.6-cp38-none-win_amd64.whl", hash = "sha256:24656dc36f866c33856baa3ab309da0b6a60f37d25d14be916bd3e79d9f3afcf"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:0898173249141ee99ffcd45e3829abe7bcee47d941af7434ccbf97717df020e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5752b761902cd15073a527b51de76bbae63d938dc7c5c4ad1e7d8df10e765138"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99a57006b4ec39dbfb3ed67e5b27192792ffb0553206a107e4aadb39c5004cd5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09586f51a215d17efdb3a5f090d7cbf1633b7f3708f60a044757a5d48a83b393"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e225a6a14ecf44499aadea165299092ab0cba918bb9ccd9304eab1138844490b"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2039f8d545f20c4e52713eea51a275e62153ee96c8035a32b2abb772b6fc9e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:34ad87a831940521d462ac11f1774edf867c34172010f5390b2f06b85dcc6014"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dcdc88b6b01015da066da3fb76545e8bb9a6880a5ebf89e0f0b2e3ca557b3ab7"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25860ed5c4e7f5e10c496ea78af46ae8d8468e0be745bd233bab9ca99bfd2647"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7854a207ef77319ec457c1eb79c361b48807d252d94348305db4f4b62f40f7f3"}, + {file = "rpds_py-0.10.6-cp39-none-win32.whl", hash = "sha256:e6fcc026a3f27c1282c7ed24b7fcac82cdd70a0e84cc848c0841a3ab1e3dea2d"}, + {file = "rpds_py-0.10.6-cp39-none-win_amd64.whl", hash = "sha256:e98c4c07ee4c4b3acf787e91b27688409d918212dfd34c872201273fdd5a0e18"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:68fe9199184c18d997d2e4293b34327c0009a78599ce703e15cd9a0f47349bba"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3339eca941568ed52d9ad0f1b8eb9fe0958fa245381747cecf2e9a78a5539c42"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a360cfd0881d36c6dc271992ce1eda65dba5e9368575663de993eeb4523d895f"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:031f76fc87644a234883b51145e43985aa2d0c19b063e91d44379cd2786144f8"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f36a9d751f86455dc5278517e8b65580eeee37d61606183897f122c9e51cef3"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:052a832078943d2b2627aea0d19381f607fe331cc0eb5df01991268253af8417"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023574366002bf1bd751ebaf3e580aef4a468b3d3c216d2f3f7e16fdabd885ed"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:defa2c0c68734f4a82028c26bcc85e6b92cced99866af118cd6a89b734ad8e0d"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879fb24304ead6b62dbe5034e7b644b71def53c70e19363f3c3be2705c17a3b4"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:53c43e10d398e365da2d4cc0bcaf0854b79b4c50ee9689652cdc72948e86f487"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:40578a6469e5d1df71b006936ce95804edb5df47b520c69cf5af264d462f2cbb"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:cf71343646756a072b85f228d35b1d7407da1669a3de3cf47f8bbafe0c8183a4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f32b53f424fc75ff7b713b2edb286fdbfc94bf16317890260a81c2c00385dc"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81de24a1c51cfb32e1fbf018ab0bdbc79c04c035986526f76c33e3f9e0f3356c"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac17044876e64a8ea20ab132080ddc73b895b4abe9976e263b0e30ee5be7b9c2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e8a78bd4879bff82daef48c14d5d4057f6856149094848c3ed0ecaf49f5aec2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78ca33811e1d95cac8c2e49cb86c0fb71f4d8409d8cbea0cb495b6dbddb30a55"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c63c3ef43f0b3fb00571cff6c3967cc261c0ebd14a0a134a12e83bdb8f49f21f"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:7fde6d0e00b2fd0dbbb40c0eeec463ef147819f23725eda58105ba9ca48744f4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:79edd779cfc46b2e15b0830eecd8b4b93f1a96649bcb502453df471a54ce7977"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9164ec8010327ab9af931d7ccd12ab8d8b5dc2f4c6a16cbdd9d087861eaaefa1"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d29ddefeab1791e3c751e0189d5f4b3dbc0bbe033b06e9c333dca1f99e1d523e"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:30adb75ecd7c2a52f5e76af50644b3e0b5ba036321c390b8e7ec1bb2a16dd43c"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd609fafdcdde6e67a139898196698af37438b035b25ad63704fd9097d9a3482"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eef672de005736a6efd565577101277db6057f65640a813de6c2707dc69f396"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cf4393c7b41abbf07c88eb83e8af5013606b1cdb7f6bc96b1b3536b53a574b8"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad857f42831e5b8d41a32437f88d86ead6c191455a3499c4b6d15e007936d4cf"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d7360573f1e046cb3b0dceeb8864025aa78d98be4bb69f067ec1c40a9e2d9df"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d08f63561c8a695afec4975fae445245386d645e3e446e6f260e81663bfd2e38"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f0f17f2ce0f3529177a5fff5525204fad7b43dd437d017dd0317f2746773443d"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:442626328600bde1d09dc3bb00434f5374948838ce75c41a52152615689f9403"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e9616f5bd2595f7f4a04b67039d890348ab826e943a9bfdbe4938d0eba606971"}, + {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, ] [[package]] @@ -4155,20 +4245,43 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "68.0.0" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, - {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "setuptools-scm" +version = "8.0.4" +description = "the blessed package to manage your versions by scm tags" +category = "dev" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-scm-8.0.4.tar.gz", hash = "sha256:b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7"}, + {file = "setuptools_scm-8.0.4-py3-none-any.whl", hash = "sha256:b47844cd2a84b83b3187a5782c71128c28b4c94cad8bfb871da2784a5cb54c4f"}, +] + +[package.dependencies] +packaging = ">=20" +setuptools = "*" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} +typing-extensions = "*" + +[package.extras] +docs = ["entangled-cli[rich]", "mkdocs", "mkdocs-entangled-plugin", "mkdocs-material", "mkdocstrings[python]", "pygments"] +rich = ["rich"] +test = ["build", "pytest", "rich", "wheel"] [[package]] name = "six" @@ -4240,14 +4353,14 @@ testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] [[package]] name = "smmap" -version = "5.0.0" +version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, ] [[package]] @@ -4276,14 +4389,14 @@ files = [ [[package]] name = "soupsieve" -version = "2.4.1" +version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"}, - {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"}, + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] [[package]] @@ -4498,14 +4611,14 @@ files = [ [[package]] name = "stack-data" -version = "0.6.2" +version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" category = "main" optional = true python-versions = "*" files = [ - {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"}, - {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"}, + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] [package.dependencies] @@ -4518,14 +4631,14 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] [[package]] name = "svgelements" -version = "1.9.5" +version = "1.9.6" description = "Svg Elements Parsing" category = "main" optional = false python-versions = "*" files = [ - {file = "svgelements-1.9.5-py2.py3-none-any.whl", hash = "sha256:32b583484a627eb19d66a4da923856336fa512698eac75540915446fd1ab28ff"}, - {file = "svgelements-1.9.5.tar.gz", hash = "sha256:e192648ab7e07a67a355ce19b7f1d8a1497d62feca6debe3ddbd92d8617ef3be"}, + {file = "svgelements-1.9.6-py2.py3-none-any.whl", hash = "sha256:8a5cf2cc066d98e713d5b875b1d6e5eeb9b92e855e835ebd7caab2713ae1dcad"}, + {file = "svgelements-1.9.6.tar.gz", hash = "sha256:7c02ad6404cd3d1771fd50e40fbfc0550b0893933466f86a6eb815f3ba3f37f7"}, ] [[package]] @@ -4594,61 +4707,61 @@ files = [ [[package]] name = "tornado" -version = "6.3.2" +version = "6.3.3" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." category = "main" optional = true python-versions = ">= 3.8" files = [ - {file = "tornado-6.3.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:c367ab6c0393d71171123ca5515c61ff62fe09024fa6bf299cd1339dc9456829"}, - {file = "tornado-6.3.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b46a6ab20f5c7c1cb949c72c1994a4585d2eaa0be4853f50a03b5031e964fc7c"}, - {file = "tornado-6.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2de14066c4a38b4ecbbcd55c5cc4b5340eb04f1c5e81da7451ef555859c833f"}, - {file = "tornado-6.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05615096845cf50a895026f749195bf0b10b8909f9be672f50b0fe69cba368e4"}, - {file = "tornado-6.3.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b17b1cf5f8354efa3d37c6e28fdfd9c1c1e5122f2cb56dac121ac61baa47cbe"}, - {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:29e71c847a35f6e10ca3b5c2990a52ce38b233019d8e858b755ea6ce4dcdd19d"}, - {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:834ae7540ad3a83199a8da8f9f2d383e3c3d5130a328889e4cc991acc81e87a0"}, - {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6a0848f1aea0d196a7c4f6772197cbe2abc4266f836b0aac76947872cd29b411"}, - {file = "tornado-6.3.2-cp38-abi3-win32.whl", hash = "sha256:7efcbcc30b7c654eb6a8c9c9da787a851c18f8ccd4a5a3a95b05c7accfa068d2"}, - {file = "tornado-6.3.2-cp38-abi3-win_amd64.whl", hash = "sha256:0c325e66c8123c606eea33084976c832aa4e766b7dff8aedd7587ea44a604cdf"}, - {file = "tornado-6.3.2.tar.gz", hash = "sha256:4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba"}, + {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:502fba735c84450974fec147340016ad928d29f1e91f49be168c0a4c18181e1d"}, + {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:805d507b1f588320c26f7f097108eb4023bbaa984d63176d1652e184ba24270a"}, + {file = "tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd19ca6c16882e4d37368e0152f99c099bad93e0950ce55e71daed74045908f"}, + {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ac51f42808cca9b3613f51ffe2a965c8525cb1b00b7b2d56828b8045354f76a"}, + {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71a8db65160a3c55d61839b7302a9a400074c9c753040455494e2af74e2501f2"}, + {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ceb917a50cd35882b57600709dd5421a418c29ddc852da8bcdab1f0db33406b0"}, + {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:7d01abc57ea0dbb51ddfed477dfe22719d376119844e33c661d873bf9c0e4a16"}, + {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9dc4444c0defcd3929d5c1eb5706cbe1b116e762ff3e0deca8b715d14bf6ec17"}, + {file = "tornado-6.3.3-cp38-abi3-win32.whl", hash = "sha256:65ceca9500383fbdf33a98c0087cb975b2ef3bfb874cb35b8de8740cf7f41bd3"}, + {file = "tornado-6.3.3-cp38-abi3-win_amd64.whl", hash = "sha256:22d3c2fa10b5793da13c807e6fc38ff49a4f6e1e3868b0a6f4164768bb8e20f5"}, + {file = "tornado-6.3.3.tar.gz", hash = "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe"}, ] [[package]] name = "tqdm" -version = "4.65.0" +version = "4.66.1" description = "Fast, Extensible Progress Meter" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"}, - {file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"}, + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["py-make (>=0.1.0)", "twine", "wheel"] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] [[package]] name = "traitlets" -version = "5.9.0" +version = "5.11.2" description = "Traitlets Python configuration system" category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "traitlets-5.9.0-py3-none-any.whl", hash = "sha256:9e6ec080259b9a5940c797d58b613b5e31441c2257b87c2e795c5228ae80d2d8"}, - {file = "traitlets-5.9.0.tar.gz", hash = "sha256:f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9"}, + {file = "traitlets-5.11.2-py3-none-any.whl", hash = "sha256:98277f247f18b2c5cabaf4af369187754f4fb0e85911d473f72329db8a7f4fae"}, + {file = "traitlets-5.11.2.tar.gz", hash = "sha256:7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.5.1)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "types-decorator" @@ -4664,14 +4777,14 @@ files = [ [[package]] name = "types-docutils" -version = "0.20.0.1" +version = "0.20.0.3" description = "Typing stubs for docutils" category = "dev" optional = false python-versions = "*" files = [ - {file = "types-docutils-0.20.0.1.tar.gz", hash = "sha256:f682b5459a1e6e28208742adb0be8573d1ecbddd442f00d202b0278c1c4418a2"}, - {file = "types_docutils-0.20.0.1-py3-none-any.whl", hash = "sha256:6b17cbe57cb282158feb41d154cddaeabc16f1d6cff3c7308bd3056f42aa7cd2"}, + {file = "types-docutils-0.20.0.3.tar.gz", hash = "sha256:4928e790f42b99d5833990f99c8dd9fa9f16825f6ed30380ca981846d36870cd"}, + {file = "types_docutils-0.20.0.3-py3-none-any.whl", hash = "sha256:a930150d8e01a9170f9bca489f46808ddebccdd8bc1e47c07968a77e49fb9321"}, ] [[package]] @@ -4700,34 +4813,46 @@ files = [ [[package]] name = "types-pygments" -version = "2.15.0.2" +version = "2.16.0.0" description = "Typing stubs for Pygments" category = "dev" optional = false python-versions = "*" files = [ - {file = "types-Pygments-2.15.0.2.tar.gz", hash = "sha256:a1b56b792aa1015f6cecd092af00c71ecb12d9d5dd0a30313f9cb3839044389a"}, - {file = "types_Pygments-2.15.0.2-py3-none-any.whl", hash = "sha256:60fc96777722942eafd4e7cd248568861aa8696246e3b1effcddabd51001a977"}, + {file = "types-Pygments-2.16.0.0.tar.gz", hash = "sha256:aa93e4664e2d6cfea7570cde156e3966bf939f9c7d736cd179c4c8e94f7600b2"}, + {file = "types_Pygments-2.16.0.0-py3-none-any.whl", hash = "sha256:4624a547d5ba73c971fac5d6fd327141e85e65f6123448bee76f0c8557652a71"}, ] [package.dependencies] types-docutils = "*" types-setuptools = "*" +[[package]] +name = "types-python-dateutil" +version = "2.8.19.14" +description = "Typing stubs for python-dateutil" +category = "main" +optional = true +python-versions = "*" +files = [ + {file = "types-python-dateutil-2.8.19.14.tar.gz", hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b"}, + {file = "types_python_dateutil-2.8.19.14-py3-none-any.whl", hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9"}, +] + [[package]] name = "types-requests" -version = "2.31.0.2" +version = "2.31.0.10" description = "Typing stubs for requests" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "types-requests-2.31.0.2.tar.gz", hash = "sha256:6aa3f7faf0ea52d728bb18c0a0d1522d9bfd8c72d26ff6f61bfc3d06a411cf40"}, - {file = "types_requests-2.31.0.2-py3-none-any.whl", hash = "sha256:56d181c85b5925cbc59f4489a57e72a8b2166f18273fd8ba7b6fe0c0b986f12a"}, + {file = "types-requests-2.31.0.10.tar.gz", hash = "sha256:dc5852a76f1eaf60eafa81a2e50aefa3d1f015c34cf0cba130930866b1b22a92"}, + {file = "types_requests-2.31.0.10-py3-none-any.whl", hash = "sha256:b32b9a86beffa876c0c3ac99a4cd3b8b51e973fb8e3bd4e0a6bb32c7efad80fc"}, ] [package.dependencies] -types-urllib3 = "*" +urllib3 = ">=2" [[package]] name = "types-setuptools" @@ -4741,28 +4866,16 @@ files = [ {file = "types_setuptools-57.4.18-py3-none-any.whl", hash = "sha256:9660b8774b12cd61b448e2fd87a667c02e7ec13ce9f15171f1d49a4654c4df6a"}, ] -[[package]] -name = "types-urllib3" -version = "1.26.25.14" -description = "Typing stubs for urllib3" -category = "dev" -optional = false -python-versions = "*" -files = [ - {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, - {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, -] - [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [[package]] @@ -4782,14 +4895,14 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake [[package]] name = "urllib3" -version = "2.0.4" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] @@ -4800,14 +4913,14 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.24.2" +version = "20.24.5" description = "Virtual Python Environment builder" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.2-py3-none-any.whl", hash = "sha256:43a3052be36080548bdee0b42919c88072037d50d56c28bd3f853cbe92b953ff"}, - {file = "virtualenv-20.24.2.tar.gz", hash = "sha256:fd8a78f46f6b99a67b7ec5cf73f92357891a7b3a40fd97637c27f854aae3b9e0"}, + {file = "virtualenv-20.24.5-py3-none-any.whl", hash = "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b"}, + {file = "virtualenv-20.24.5.tar.gz", hash = "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"}, ] [package.dependencies] @@ -4816,7 +4929,7 @@ filelock = ">=3.12.2,<4" platformdirs = ">=3.9.1,<4" [package.extras] -docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] [[package]] @@ -4862,14 +4975,14 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" category = "main" optional = true python-versions = "*" files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, + {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, ] [[package]] @@ -4902,18 +5015,18 @@ files = [ [[package]] name = "websocket-client" -version = "1.6.1" +version = "1.6.4" description = "WebSocket client for Python with low level API options" category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "websocket-client-1.6.1.tar.gz", hash = "sha256:c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd"}, - {file = "websocket_client-1.6.1-py3-none-any.whl", hash = "sha256:f1f9f2ad5291f0225a49efad77abf9e700b6fef553900623060dad6e26503b9d"}, + {file = "websocket-client-1.6.4.tar.gz", hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"}, + {file = "websocket_client-1.6.4-py3-none-any.whl", hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24"}, ] [package.extras] -docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"] +docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] optional = ["python-socks", "wsaccel"] test = ["websockets"] @@ -5004,78 +5117,86 @@ files = [ [[package]] name = "y-py" -version = "0.6.0" +version = "0.6.2" description = "Python bindings for the Y-CRDT built from yrs (Rust)" category = "main" optional = true python-versions = "*" files = [ - {file = "y_py-0.6.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ebbebc4f6a9e0c89c7b57035f91043b038e804dd1953845d8a66066f4526c853"}, - {file = "y_py-0.6.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:2c230bc01b96081550b7583b77d00404fd39825657f4064b919a10515f660cdf"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5f5975c1a8c2ca99980571b8811d151db8590de9cc96346572a81e0f6f1e30e"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e5f89cf9ef1daf12f438a075415a02f227594e4b0494c78d3b83cb83651631f5"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:efb3225b58dc67152c004da3c26ae5bad0afebbb3c7509d853bdd87eaa655137"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaaec9718f8a23924c95294d41d87829b113bc9a606a3667dfb995afc45c9920"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fb03947937b0fcb09eb2b94eb08d8e8030ef0ed70af777684ab670bd369bc3c"}, - {file = "y_py-0.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f79ef7303e332e91d738e66e9bb7fce0243d0407a02631a58ebc0bf2fb8743d0"}, - {file = "y_py-0.6.0-cp310-none-win32.whl", hash = "sha256:1667b8a67ace756c04f03778e86fc359028c98905212f8686afb48c26c252bda"}, - {file = "y_py-0.6.0-cp310-none-win_amd64.whl", hash = "sha256:cca539c3804a580992304b18a33f1980282d9097a723f0bd01971477cb365b28"}, - {file = "y_py-0.6.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:5743e94c982585f05e02d9a3345dd9b1f28d90fa128df9f60b0eb357a76d2c32"}, - {file = "y_py-0.6.0-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:281535bb4f18fe09e5517a63b8206dd6f26ad6fb7e7c25c62bf785e594adab4d"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69e05e01594e99c934562124b159720533b7ad887dde7762d460916aac47a8e4"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a752ba8875ed2038dfc7d62738536cb22b4e308951cb925a7fe8fef782c6db08"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea7d796bb55d08dd1a60736beb724004f2cbdc207592b5f301a5ff314b17137"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5126786f914ff53ea2f04f9da790db168db172521cc4f114d5501badd2f6b96"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b71cd495d322da25a53a6a830b591a2c0c46db22bb0b3556fca0bbdb1d45a18e"}, - {file = "y_py-0.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0624a5adf29d29330a336eecdf15874871f559d50944d542012665e1c3a18265"}, - {file = "y_py-0.6.0-cp311-none-win32.whl", hash = "sha256:374ffef1939c42286ea18e2a413c9974430226227f8f1480bbee469933aa675b"}, - {file = "y_py-0.6.0-cp311-none-win_amd64.whl", hash = "sha256:9242f3a5c6293e634817d9984c60523ffb34cf5b41501c5958681a75745946e6"}, - {file = "y_py-0.6.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:9dad6af2d83a2b0618ba3c1a2fc6657c5303cf4e9f1a65cc3fea40ffbcc552e2"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74d5ebb5f9ef0c4c1f7bdd9ab5e53b9d8be4c7464905f39761b22b6ce0d327d3"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a027c39296c925f0b81e28a0fefab8c5964a0ea2b50fa05cbddf5e5ab167a380"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49adf7e25c3b3bac9f19bee181ef5253659ebe5747a7141860692015222b2007"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:47b3604c874d25616a097adaaabcad6e77729e23c5d029092b8149af1a08b2a5"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a5a882591c8e1b1d6fbdb7ab43884907cef2b6a18e36c7ae85589e5f55371e5"}, - {file = "y_py-0.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:30b9337e4f3d541879a8187af121be1bd42ea110372a21895a1a3f800a6bd1c3"}, - {file = "y_py-0.6.0-cp37-none-win32.whl", hash = "sha256:ef0f08edb2094869e4d12346ee68d5154cb3d23bc3b1e7679222fae12228261c"}, - {file = "y_py-0.6.0-cp37-none-win_amd64.whl", hash = "sha256:391a232c328c2be1de4cb152ed3e9427826e4cbd9d645feacb3dbb344b122e10"}, - {file = "y_py-0.6.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:eb60fe68774117378efdbd368ef83cf1417e61d4bc39c6be8e7f4ee91fb7428a"}, - {file = "y_py-0.6.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:4f025c50301d9ddbbc2384f98d3ff1dbfe43606146b747e23a17774a02faffe9"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4181b28f736cae3bb4517090ae5eeca318c075c0106466f13a4ed6682265fc8a"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6273d84605ee55b3ac52742018f94602dab9b0457f29e6f787021c473b02fed"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1eefb6371cd6e072cf467b897f85bd0d7575f3a3e944fb8675f84fb59aedd071"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b75c2199a125ef8926f3216fb324c3bcd8b1b4b6c0b428888cc753ee4c85f81f"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035ba7ce31bb87bd7b5977eee71ee2ff71e54d347a35e2079362b1c23731dccd"}, - {file = "y_py-0.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:418aaa796a22b0102de09b36b6c6294d0a485f04bc8866c3b28f17e7022c44ba"}, - {file = "y_py-0.6.0-cp38-none-win32.whl", hash = "sha256:fc48db294d327a5cc10ee49f73f1fa1478240cc827c9029e0871106e327353ac"}, - {file = "y_py-0.6.0-cp38-none-win_amd64.whl", hash = "sha256:d1301bfeaa26f78f4b0e5f96e0f22761b38cc407713f70550a1be490945fd6d7"}, - {file = "y_py-0.6.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:e48b5b30242c7d517be85b48246b21e4e26540505a1ffe4fe473e239a8ec56d3"}, - {file = "y_py-0.6.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:479da40ef1205de52d87209534bf8e713a782e01eeed3df8dff44d21085e3f63"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19b7c3eaf65b162e59486a48bea5dd2035937952f15e008a14813e8cb7c24d7b"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a20a4d10c8f0ee2b6df265d182d0be0ecd2ba7348c0a20b9df7d4d39df895801"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:304e88a3deaff9906faa7ba514cf82f4ca4bad1ea88728206ff906e66179abd3"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6377e3cbab8f5b8b918130e9f924358f98ca1bea12a8096d3fadea191f7137f1"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44fdd64598e9ed4008158e5e60be5e1e2daeed6fae0ab2bf0002461e960709d"}, - {file = "y_py-0.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:51f1997dae6d77b12b50502871c7a9aae22e84048e83b64fe6d4f18dec2e4700"}, - {file = "y_py-0.6.0-cp39-none-win32.whl", hash = "sha256:9f56888aeb07ca76a5cd552581bb3735fcd2d8c18165b946fdb6e4507b10e76c"}, - {file = "y_py-0.6.0-cp39-none-win_amd64.whl", hash = "sha256:11345294820908d5b8af9c6616ea908dda8b3e554ee6f6d50be6a2e15940f63e"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4c16d50d0728abd915bd9e2e0c3ce982005ba78b60e4b6666aadc592d9982c79"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:eccf67d09a4df42a7be2a5427c1b2e0b89bec862f519ded754bd452df516b380"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:513a2fe1318c247fc3b3c3ad208488e870a216784f2a3e6dbe2688c92f671c86"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:76e2b14004cadb237499a8a068fd7a8b805b5c1fd0508530473e087c7dd25163"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c276a7eb3ae3360f5a2fc503f1e4535d4a2f1c8cfc22af4595ad752e9a94fd77"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71f7689c25bd7608e1e7a76a13138cb202455fac165018693a3e8e5675f54b82"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0505e2ca36408b754774a2bb20d93b5c7def3873406c13e1855de6f007f8a94"}, - {file = "y_py-0.6.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8f143fdcda7a6a89bf96d9b359142a7ca3315e8a9018aa46b0abbdeb47d7192e"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:9a920bf096d1eecb0f30afc38ee56bfcb9e2c863c33db96fc9d30d4ac0dbee58"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:97812f9443fd846012d60ecacffa2a11992d02ad9f8618d4faae8e596736c646"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83115cbbd4f6d3b38ebe06d80b1d0dbf1b10e53947f71df16f6145a4f0d14716"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cac9259839b32706336b3f521cacfd16fc7cefee609bd9c2b5123099328d696"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e76be7258010ce8cbb93a841f78f52901bba1253a51213d3535972d13aa4e89e"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b488be17d83173acb7f07c7e3430d2c66d0bd55b821683089311699562b58b"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b9f24b00972e5685d0b9bbd01413d9c33d124145343fb92667f0e076f040ad"}, - {file = "y_py-0.6.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:95083c4cdbd593497a695e841b2ad050c0b9a8a9e374f8496aa478cebfcf9cc9"}, - {file = "y_py-0.6.0.tar.gz", hash = "sha256:46836169f7dc2957df8513cfe4bc2009175b3a473e630af421a8e75ee1c48f98"}, + {file = "y_py-0.6.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c26bada6cd109095139237a46f50fc4308f861f0d304bc9e70acbc6c4503d158"}, + {file = "y_py-0.6.2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bae1b1ad8d2b8cf938a60313f8f7461de609621c5dcae491b6e54975f76f83c5"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e794e44fa260300b8850246c6371d94014753c73528f97f6ccb42f5e7ce698ae"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b2686d7d8ca31531458a48e08b0344a8eec6c402405446ce7d838e2a7e43355a"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d917f5bc27b85611ceee4eb85f0e4088b0a03b4eed22c472409933a94ee953cf"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f6071328aad06fdcc0a4acc2dc4839396d645f5916de07584af807eb7c08407"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:266ec46ab9f9cb40fbb5e649f55c329fc4620fa0b1a8117bdeefe91595e182dc"}, + {file = "y_py-0.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce15a842c2a0bf46180ae136743b561fa276300dd7fa61fe76daf00ec7dc0c2d"}, + {file = "y_py-0.6.2-cp310-none-win32.whl", hash = "sha256:1d5b544e79ace93fdbd0b36ed329c86e346898153ac7ba2ec62bc9b4c6b745c9"}, + {file = "y_py-0.6.2-cp310-none-win_amd64.whl", hash = "sha256:80a827e173372682959a57e6b8cc4f6468b1a4495b4bc7a775ef6ca05ae3e8e8"}, + {file = "y_py-0.6.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:a21148b8ea09a631b752d975f9410ee2a31c0e16796fdc113422a6d244be10e5"}, + {file = "y_py-0.6.2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:898fede446ca1926b8406bdd711617c2aebba8227ee8ec1f0c2f8568047116f7"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce7c20b9395696d3b5425dccf2706d374e61ccf8f3656bff9423093a6df488f5"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a3932f53418b408fa03bd002e6dc573a74075c2c092926dde80657c39aa2e054"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:df35ea436592eb7e30e59c5403ec08ec3a5e7759e270cf226df73c47b3e739f5"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26cb1307c3ca9e21a3e307ab2c2099677e071ae9c26ec10ddffb3faceddd76b3"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:863e175ce5585f9ff3eba2aa16626928387e2a576157f02c8eb247a218ecdeae"}, + {file = "y_py-0.6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:35fcb9def6ce137540fdc0e91b08729677548b9c393c0151a6359fd199da3bd7"}, + {file = "y_py-0.6.2-cp311-none-win32.whl", hash = "sha256:86422c6090f34906c062fd3e4fdfdccf3934f2922021e979573ae315050b4288"}, + {file = "y_py-0.6.2-cp311-none-win_amd64.whl", hash = "sha256:6c2f2831c5733b404d2f2da4bfd02bb4612ae18d0822e14ae79b0b92436b816d"}, + {file = "y_py-0.6.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:7cbefd4f1060f05768227ddf83be126397b1d430b026c64e0eb25d3cf50c5734"}, + {file = "y_py-0.6.2-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:032365dfe932bfab8e80937ad6093b4c22e67d63ad880096b5fa8768f8d829ba"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a70aee572da3994238c974694767365f237fc5949a550bee78a650fe16f83184"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae80d505aee7b3172cdcc2620ca6e2f85586337371138bb2b71aa377d2c31e9a"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a497ebe617bec6a420fc47378856caae40ab0652e756f3ed40c5f1fe2a12220"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8638355ae2f996356f7f281e03a3e3ce31f1259510f9d551465356532e0302c"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8448da4092265142662bbd3fc46cb8b0796b1e259189c020bc8f738899abd0b5"}, + {file = "y_py-0.6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:69cfbcbe0a05f43e780e6a198080ba28034bf2bb4804d7d28f71a0379bfd1b19"}, + {file = "y_py-0.6.2-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:1f798165158b76365a463a4f8aa2e3c2a12eb89b1fc092e7020e93713f2ad4dc"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92878cc05e844c8da937204bc34c2e6caf66709ce5936802fbfb35f04132892"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b8822a5c0fd9a8cffcabfcc0cd7326bad537ee614fc3654e413a03137b6da1a"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e13cba03c7af8c8a846c4495875a09d64362cc4caeed495ada5390644411bbe7"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82f2e5b31678065e7a7fa089ed974af5a4f076673cf4f414219bdadfc3246a21"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1935d12e503780b859d343161a80df65205d23cad7b4f6c3df6e50321e188a3"}, + {file = "y_py-0.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd302c6d46a3be57664571a5f0d4224646804be9890a01d73a0b294f2d3bbff1"}, + {file = "y_py-0.6.2-cp37-none-win32.whl", hash = "sha256:5415083f7f10eac25e1c434c87f07cb9bfa58909a6cad6649166fdad21119fc5"}, + {file = "y_py-0.6.2-cp37-none-win_amd64.whl", hash = "sha256:376c5cc0c177f03267340f36aec23e5eaf19520d41428d87605ca2ca3235d845"}, + {file = "y_py-0.6.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:3c011303eb2b360695d2bd4bd7ca85f42373ae89fcea48e7fa5b8dc6fc254a98"}, + {file = "y_py-0.6.2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:c08311db17647a47d4898fc6f8d9c1f0e58b927752c894877ff0c38b3db0d6e1"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b7cafbe946b4cafc1e5709957e6dd5c6259d241d48ed75713ded42a5e8a4663"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ba99d0bdbd9cabd65f914cd07b4fb2e939ce199b54ae5ace1639ce1edf8e0a2"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dab84c52f64e10adc79011a08673eb80286c159b14e8fb455524bf2994f0cb38"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72875641a907523d37f4619eb4b303611d17e0a76f2ffc423b62dd1ca67eef41"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c31240e30d5636ded02a54b7280aa129344fe8e964fd63885e85d9a8a83db206"}, + {file = "y_py-0.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c28d977f516d4928f6bc0cd44561f6d0fdd661d76bac7cdc4b73e3c209441d9"}, + {file = "y_py-0.6.2-cp38-none-win32.whl", hash = "sha256:c011997f62d0c3b40a617e61b7faaaf6078e4eeff2e95ce4c45838db537816eb"}, + {file = "y_py-0.6.2-cp38-none-win_amd64.whl", hash = "sha256:ce0ae49879d10610cf3c40f4f376bb3cc425b18d939966ac63a2a9c73eb6f32a"}, + {file = "y_py-0.6.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:47fcc19158150dc4a6ae9a970c5bc12f40b0298a2b7d0c573a510a7b6bead3f3"}, + {file = "y_py-0.6.2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:2d2b054a1a5f4004967532a4b82c6d1a45421ef2a5b41d35b6a8d41c7142aabe"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0787e85645bb4986c27e271715bc5ce21bba428a17964e5ec527368ed64669bc"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:17bce637a89f6e75f0013be68becac3e38dc082e7aefaf38935e89215f0aa64a"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:beea5ad9bd9e56aa77a6583b6f4e347d66f1fe7b1a2cb196fff53b7634f9dc84"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1dca48687f41efd862355e58b0aa31150586219324901dbea2989a506e291d4"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17edd21eef863d230ea00004ebc6d582cc91d325e7132deb93f0a90eb368c855"}, + {file = "y_py-0.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:de9cfafe97c75cd3ea052a24cd4aabf9fb0cfc3c0f9f810f00121cdf123db9e4"}, + {file = "y_py-0.6.2-cp39-none-win32.whl", hash = "sha256:82f5ca62bedbf35aaf5a75d1f53b4457a1d9b6ff033497ca346e2a0cedf13d14"}, + {file = "y_py-0.6.2-cp39-none-win_amd64.whl", hash = "sha256:7227f232f2daf130ba786f6834548f2cfcfa45b7ec4f0d449e72560ac298186c"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0649a41cd3c98e290c16592c082dbe42c7ffec747b596172eebcafb7fd8767b0"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bf6020560584671e76375b7a0539e0d5388fc70fa183c99dc769895f7ef90233"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cf817a72ffec4295def5c5be615dd8f1e954cdf449d72ebac579ff427951328"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7302619fc962e53093ba4a94559281491c045c925e5c4defec5dac358e0568"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cd6213c3cf2b9eee6f2c9867f198c39124c557f4b3b77d04a73f30fd1277a59"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b4fac4ea2ce27b86d173ae45765ced7f159120687d4410bb6d0846cbdb170a3"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:932abb560fe739416b50716a72ba6c6c20b219edded4389d1fc93266f3505d4b"}, + {file = "y_py-0.6.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e42258f66ad9f16d9b62e9c9642742982acb1f30b90f5061522048c1cb99814f"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:cfc8381df1f0f873da8969729974f90111cfb61a725ef0a2e0e6215408fe1217"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:613f83713714972886e81d71685403098a83ffdacf616f12344b52bc73705107"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:316e5e1c40259d482883d1926fd33fa558dc87b2bd2ca53ce237a6fe8a34e473"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:015f7f6c1ce8a83d57955d1dc7ddd57cb633ae00576741a4fc9a0f72ed70007d"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff32548e45e45bf3280ac1d28b3148337a5c6714c28db23aeb0693e33eba257e"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0f2d881f0f8bf5674f8fe4774a438c545501e40fa27320c73be4f22463af4b05"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3bbe2f925cc587545c8d01587b4523177408edd252a32ce6d61b97113fe234d"}, + {file = "y_py-0.6.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8f5c14d25611b263b876e9ada1701415a13c3e9f02ea397224fbe4ca9703992b"}, + {file = "y_py-0.6.2.tar.gz", hash = "sha256:4757a82a50406a0b3a333aa0122019a331bd6f16e49fed67dca423f928b3fd4d"}, ] [[package]] @@ -5100,18 +5221,18 @@ test = ["mypy", "pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)"] [[package]] name = "zipp" -version = "3.16.2" +version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, - {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [extras] From 7ad7e99c9605719c75312d2bb8367475c358d9cd Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Sun, 22 Oct 2023 23:59:20 +0530 Subject: [PATCH 07/29] pyproject.toml: update manimpango version (#3405) Co-authored-by: Benjamin Hackl --- poetry.lock | 36 ++++++++++++++++++------------------ pyproject.toml | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9bde1773e7..e725139f51 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2235,28 +2235,28 @@ files = [ [[package]] name = "manimpango" -version = "0.4.4" +version = "0.5.0" description = "Bindings for Pango for using with Manim." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "ManimPango-0.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4eadd960fb01ca9a18b00e54e4a9f5f8631c939a607cdf0765502e0f3cb43de7"}, - {file = "ManimPango-0.4.4-cp310-cp310-win32.whl", hash = "sha256:a31aa72a1451b1ef762e02845fa08cef10bba89708c449648db1f83e9f1b5715"}, - {file = "ManimPango-0.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:7192ec39ff8d59546b9e0dc21a00042ab507944291a662c5526a4bf1b3639705"}, - {file = "ManimPango-0.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:19ab9c2be4b44f99fc3bb87ce7e8685940a9c8812f2250e0f84acccee13cd1f8"}, - {file = "ManimPango-0.4.4-cp311-cp311-win32.whl", hash = "sha256:077c22deccc8b07cf490e66dbe5511a8748156d002f9135df9e4a2ebae38140d"}, - {file = "ManimPango-0.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:0ac7e5da4b21267d7e07273ca79bb15260e9494e80d0b50414dfbe78b3e274b7"}, - {file = "ManimPango-0.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b76a337b1d7226a1b0b418c556e4cfcdb8ba38e0ddc13e8f4c5b8c7d27422b3a"}, - {file = "ManimPango-0.4.4-cp312-cp312-win32.whl", hash = "sha256:f17e566e97b3eba8158caaefcc8fb3188376acd8a8e1bc7b7201f26019e0860b"}, - {file = "ManimPango-0.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:9e8c907876f3a5bb99d28d49aeb93b29a80e72f66300f7f0f0cf82ccba53473b"}, - {file = "ManimPango-0.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e0a9b13631acf01c0c61e6f5c7042ec9c43f5fbdae28791bf34755e6bba4659"}, - {file = "ManimPango-0.4.4-cp38-cp38-win32.whl", hash = "sha256:443edb608b8ce0171763044e4ee50ca44b2aebed8f32d5c1c3f90c7d2f809481"}, - {file = "ManimPango-0.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:4a7787c5135381dd1ad8a0a5c671e8c0c88bcd3f93967b775e3389de75e70198"}, - {file = "ManimPango-0.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2b130d577d1aa4865730568d84fcb64100b704e296b68deccbc2963dd421bfa1"}, - {file = "ManimPango-0.4.4-cp39-cp39-win32.whl", hash = "sha256:ca6dda74fa306a2f96dac943ca23aee4be0ba2c15d99a4789c088913eb61d78e"}, - {file = "ManimPango-0.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:d3efaeb07cf212fba0d39ccd8314ea3f5e7e8384d7c54b11bc0f683dabb64959"}, - {file = "ManimPango-0.4.4.tar.gz", hash = "sha256:d4dfb55e8c8a62d6b56b6bacea314369f25dda59e2ed4f4c0e6867512d93828c"}, + {file = "ManimPango-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b3309536038e11a4020bf5422d36b691e5583d38f616311c75527faa853fa948"}, + {file = "ManimPango-0.5.0-cp310-cp310-win32.whl", hash = "sha256:7e301f0d2ceeb05b82dbb5ddd1e2397b6de7ef4ab556d04c0765eb29f18be981"}, + {file = "ManimPango-0.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:26053a59e352c11e33fa224be6fde095a08c9db2665895ada7689fdeb225064c"}, + {file = "ManimPango-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8a866a03c8a569dfaf08035748aea5c56f5e729d12682aae5d25fbe837a6270"}, + {file = "ManimPango-0.5.0-cp311-cp311-win32.whl", hash = "sha256:5de05ac673b1ac597cc3e4e0e05756195b387f8f96b81cd03767a9f12f8af3f4"}, + {file = "ManimPango-0.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:86e68c085e455d4bd607c2f63fcce41d1496a873dde29c413a3fbd98ff99c258"}, + {file = "ManimPango-0.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bf4a09fe1989763ea041fcce044ce501d89678bcc14084949f6792fc3b204517"}, + {file = "ManimPango-0.5.0-cp312-cp312-win32.whl", hash = "sha256:0b5e47755cce7848fa268b5f77f17fc4fe363d30f5412fef845560df26dece82"}, + {file = "ManimPango-0.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:aef7151c210fce42518eff7a00e4b07d497a2516e13945d56b9b4a6427fae3f6"}, + {file = "ManimPango-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f1b614dc33b1cc012ef38a49b04def005e80a14592bdd389be91a9073a71be30"}, + {file = "ManimPango-0.5.0-cp38-cp38-win32.whl", hash = "sha256:d135fbc2049b3cb22fa941e7333c10a42b29aa080871dd4e80d169da2337b797"}, + {file = "ManimPango-0.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:9bb032625d5c663c4727bae61870e3c16696278c569c98a094b14953f22a70c8"}, + {file = "ManimPango-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5d58e736ccf2afb3398c42ad1d478b84176785ad19cb994dfc9575030bfd040f"}, + {file = "ManimPango-0.5.0-cp39-cp39-win32.whl", hash = "sha256:8c453e9511d5888c92aa1f7b120b7f3318fc21fd7a4862156c9b094986f2e17d"}, + {file = "ManimPango-0.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:b81d815b1a5e78376ae9b6aa2d7606d38cc19e31eb89480471462bbdf0fcd3c7"}, + {file = "ManimPango-0.5.0.tar.gz", hash = "sha256:299913bbccb0f15954b64401cf9df24607e1a01edda589ea77de1ed4cc2bc284"}, ] [[package]] @@ -5242,4 +5242,4 @@ jupyterlab = ["jupyterlab", "notebook"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "4599b550efe5d668ee87521ebfb4d39f8329153c119c40cf1dad302498d25e55" +content-hash = "3499f5d56322e6bb4c2d55e9e0a69be42e574d519edb7387feacbb3dd88da652" diff --git a/pyproject.toml b/pyproject.toml index a7bf1b3081..b7cbc99e4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ tqdm = "^4.62.3" pydub = "^0.25.1" rich = ">=6.0,!=12.0.0" pycairo = "^1.21" -manimpango = "^0.4.0.post0" +manimpango = ">=0.5.0,<1.0.0" networkx = "^2.5" decorator = "^5.0.7" importlib-metadata = { version = "^4.10.0", python = "<3.8" } From 8320cdde8059dd9da28a8e78672b5ec85a48e492 Mon Sep 17 00:00:00 2001 From: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com> Date: Mon, 23 Oct 2023 04:49:30 -0400 Subject: [PATCH 08/29] Added docs for functions in `mobject_update_utils` (#3325) * Added docs for functions in mobject_update_utils * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated docstring of always_shift Co-authored-by: Benjamin Hackl * Added period to sentence. Co-authored-by: Benjamin Hackl * Updated parameter description in always_redraw Co-authored-by: Benjamin Hackl * Update always_rotate description Co-authored-by: Benjamin Hackl * Finished parameters in always_redraw Co-authored-by: Benjamin Hackl * Changed comment in always_shift Co-authored-by: Benjamin Hackl * update always_shift description Co-authored-by: Benjamin Hackl * used normalize from manim.utils.space_ops * fixed indentation in always_redraw * added type-hints * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Benjamin Hackl --- .../updaters/mobject_update_utils.py | 116 +++++++++++++++--- 1 file changed, 98 insertions(+), 18 deletions(-) diff --git a/manim/animation/updaters/mobject_update_utils.py b/manim/animation/updaters/mobject_update_utils.py index 698dc03d56..dee27ff398 100644 --- a/manim/animation/updaters/mobject_update_utils.py +++ b/manim/animation/updaters/mobject_update_utils.py @@ -15,22 +15,26 @@ import inspect -from collections.abc import Callable +from typing import TYPE_CHECKING, Callable import numpy as np from manim.constants import DEGREES, RIGHT from manim.mobject.mobject import Mobject from manim.opengl import OpenGLMobject +from manim.utils.space_ops import normalize +if TYPE_CHECKING: + from manim.animation.animation import Animation -def assert_is_mobject_method(method): + +def assert_is_mobject_method(method: Callable) -> None: assert inspect.ismethod(method) mobject = method.__self__ assert isinstance(mobject, (Mobject, OpenGLMobject)) -def always(method, *args, **kwargs): +def always(method: Callable, *args, **kwargs) -> Mobject: assert_is_mobject_method(method) mobject = method.__self__ func = method.__func__ @@ -38,7 +42,7 @@ def always(method, *args, **kwargs): return mobject -def f_always(method, *arg_generators, **kwargs): +def f_always(method: Callable[[Mobject], None], *arg_generators, **kwargs) -> Mobject: """ More functional version of always, where instead of taking in args, it takes in functions which output @@ -80,16 +84,18 @@ def construct(self): sine = ax.plot(np.sin, color=RED) alpha = ValueTracker(0) point = always_redraw( - lambda: Dot( - sine.point_from_proportion(alpha.get_value()), - color=BLUE) + lambda: Dot( + sine.point_from_proportion(alpha.get_value()), + color=BLUE ) + ) tangent = always_redraw( lambda: TangentLine( sine, alpha=alpha.get_value(), color=YELLOW, - length=4) + length=4 + ) ) self.add(ax, sine, point, tangent) self.play(alpha.animate.set_value(1), rate_func=linear, run_time=2) @@ -99,36 +105,110 @@ def construct(self): return mob -def always_shift(mobject, direction=RIGHT, rate=0.1): - def normalize(v): - norm = np.linalg.norm(v) - if norm == 0: - return v - return v / norm +def always_shift( + mobject: Mobject, direction: np.ndarray[np.float64] = RIGHT, rate: float = 0.1 +) -> Mobject: + """A mobject which is continuously shifted along some direction + at a certain rate. + + Parameters + ---------- + mobject + The mobject to shift. + direction + The direction to shift. The vector is normalized, the specified magnitude + is not relevant. + rate + Length in Manim units which the mobject travels in one + second along the specified direction. + + Examples + -------- + + .. manim:: ShiftingSquare + + class ShiftingSquare(Scene): + def construct(self): + sq = Square().set_fill(opacity=1) + tri = Triangle() + VGroup(sq, tri).arrange(LEFT) + + # construct a square which is continuously + # shifted to the right + always_shift(sq, RIGHT, rate=5) + self.add(sq) + self.play(tri.animate.set_fill(opacity=1)) + """ mobject.add_updater(lambda m, dt: m.shift(dt * rate * normalize(direction))) return mobject -def always_rotate(mobject, rate=20 * DEGREES, **kwargs): +def always_rotate(mobject: Mobject, rate: float = 20 * DEGREES, **kwargs) -> Mobject: + """A mobject which is continuously rotated at a certain rate. + + Parameters + ---------- + mobject + The mobject to be rotated. + rate + The angle which the mobject is rotated by + over one second. + kwags + Further arguments to be passed to :meth:`.Mobject.rotate`. + + Examples + -------- + + .. manim:: SpinningTriangle + + class SpinningTriangle(Scene): + def construct(self): + tri = Triangle().set_fill(opacity=1).set_z_index(2) + sq = Square().to_edge(LEFT) + + # will keep spinning while there is an animation going on + always_rotate(tri, rate=2*PI, about_point=ORIGIN) + + self.add(tri, sq) + self.play(sq.animate.to_edge(RIGHT), rate_func=linear, run_time=1) + """ mobject.add_updater(lambda m, dt: m.rotate(dt * rate, **kwargs)) return mobject -def turn_animation_into_updater(animation, cycle=False, **kwargs): +def turn_animation_into_updater( + animation: Animation, cycle: bool = False, **kwargs +) -> Mobject: """ Add an updater to the animation's mobject which applies the interpolation and update functions of the animation If cycle is True, this repeats over and over. Otherwise, the updater will be popped upon completion + + Examples + -------- + + .. manim:: WelcomeToManim + + class WelcomeToManim(Scene): + def construct(self): + words = Text("Welcome to") + banner = ManimBanner().scale(0.5) + VGroup(words, banner).arrange(DOWN) + + turn_animation_into_updater(Write(words, run_time=0.9)) + self.add(words) + self.wait(0.5) + self.play(banner.expand(), run_time=0.5) """ mobject = animation.mobject animation.suspend_mobject_updating = False animation.begin() animation.total_time = 0 - def update(m, dt): + def update(m: Mobject, dt: float): run_time = animation.get_run_time() time_ratio = animation.total_time / run_time if cycle: @@ -147,5 +227,5 @@ def update(m, dt): return mobject -def cycle_animation(animation, **kwargs): +def cycle_animation(animation: Animation, **kwargs) -> Mobject: return turn_animation_into_updater(animation, cycle=True, **kwargs) From b04869579b63d23a072845d86585f254dec78e69 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Thu, 26 Oct 2023 01:24:45 +0530 Subject: [PATCH 09/29] Fix tests to run on Cairo 1.18.0 (#3416) * Add a script to build and install cairo * Update gui tests for cairo 1.18.0 * update script to set env vars * Make the script run with plain python * Prefer the recently built one in pkg-config * Skip the built if it's windows * CI: build and install latest cairo * CI: only run when cache is missed * Disable compiling tests while building cairo * update poetry lock file * Display the cairo version when running pytest * fixup * tests: skip graphical test when cairo is old * fix the path to find the pkgconfig files on linux * set the LD_LIBRARY_PATH too only then it'll work on linux * fixup * small fixup * Move the script inside `.github/scripts` folder * Make the minimum cairo version a constant * Seperate setting env vars to a sperate step this seem to have broken when cache is hit --- .github/scripts/ci_build_cairo.py | 209 ++++++++++++++++++ .github/workflows/ci.yml | 20 +- .gitignore | 3 + conftest.py | 2 + manim/utils/testing/frames_comparison.py | 9 + poetry.lock | 56 +++-- .../control_data/boolean_ops/difference.npz | Bin 9511 -> 9419 bytes .../control_data/boolean_ops/exclusion.npz | Bin 11305 -> 11214 bytes .../control_data/boolean_ops/intersection.npz | Bin 9204 -> 9122 bytes .../boolean_ops/intersection_3_mobjects.npz | Bin 9288 -> 9254 bytes .../control_data/boolean_ops/union.npz | Bin 8653 -> 8617 bytes .../control_data/brace/arcBrace.npz | Bin 4371 -> 4371 bytes .../control_data/brace/braceTip.npz | Bin 8708 -> 8708 bytes .../control_data/brace/brace_sharpness.npz | Bin 9270 -> 9270 bytes ...group_is_passing_remover_to_animations.npz | Bin 1845 -> 1845 bytes ...sing_remover_to_nested_animationgroups.npz | Bin 1845 -> 1845 bytes .../coordinate_system/implicit_graph.npz | Bin 9938 -> 9753 bytes .../coordinate_system/line_graph.npz | Bin 11642 -> 11642 bytes .../coordinate_system/number_plane.npz | Bin 10291 -> 10291 bytes .../coordinate_system/number_plane_log.npz | Bin 11956 -> 11956 bytes .../coordinate_system/plot_log_x_axis.npz | Bin 6666 -> 6668 bytes .../plot_log_x_axis_vectorized.npz | Bin 6666 -> 6668 bytes .../coordinate_system/plot_surface.npz | Bin 205738 -> 205863 bytes .../plot_surface_colorscale.npz | Bin 164268 -> 164343 bytes .../creation/DrawBorderThenFill.npz | Bin 7784 -> 7784 bytes .../control_data/creation/FadeIn.npz | Bin 5151 -> 5151 bytes .../control_data/creation/FadeOut.npz | Bin 5151 -> 5151 bytes .../control_data/creation/GrowFromCenter.npz | Bin 4070 -> 4070 bytes .../control_data/creation/GrowFromEdge.npz | Bin 4132 -> 4132 bytes .../control_data/creation/GrowFromPoint.npz | Bin 4162 -> 4162 bytes .../control_data/creation/ShrinkToCenter.npz | Bin 4068 -> 4068 bytes .../creation/SpinInFromNothing.npz | Bin 8139 -> 8170 bytes .../creation/bring_to_back_introducer.npz | Bin 9305 -> 9305 bytes .../control_data/creation/create.npz | Bin 4257 -> 4257 bytes .../control_data/creation/uncreate.npz | Bin 4256 -> 4256 bytes .../creation/uncreate_rate_func.npz | Bin 4129 -> 4129 bytes .../creation/z_index_introducer.npz | Bin 31972 -> 32041 bytes .../control_data/functions/FunctionGraph.npz | Bin 6410 -> 6386 bytes .../functions/ImplicitFunction.npz | Bin 14084 -> 13709 bytes .../control_data/geometry/Angle.npz | Bin 2311 -> 2290 bytes .../control_data/geometry/AngledArrowTip.npz | Bin 2300 -> 2300 bytes .../control_data/geometry/AnnotationDot.npz | Bin 2250 -> 2210 bytes .../control_data/geometry/AnnularSector.npz | Bin 3895 -> 3895 bytes .../control_data/geometry/Annulus.npz | Bin 9026 -> 9026 bytes .../control_data/geometry/Arc.npz | Bin 3028 -> 3022 bytes .../geometry/ArcBetweenPoints.npz | Bin 3041 -> 3035 bytes .../control_data/geometry/Arrange.npz | Bin 2767 -> 2767 bytes .../control_data/geometry/Circle.npz | Bin 6017 -> 5962 bytes .../control_data/geometry/CirclePoints.npz | Bin 8368 -> 8314 bytes .../control_data/geometry/Coordinates.npz | Bin 3948 -> 3948 bytes .../control_data/geometry/CurvedArrow.npz | Bin 2943 -> 2946 bytes .../geometry/CurvedArrowCustomTip.npz | Bin 5028 -> 5033 bytes .../geometry/CustomDoubleArrow.npz | Bin 2929 -> 2907 bytes .../control_data/geometry/DashedVMobject.npz | Bin 5933 -> 5958 bytes .../control_data/geometry/Dot.npz | Bin 1997 -> 1997 bytes .../control_data/geometry/DoubleArrow.npz | Bin 2057 -> 2057 bytes .../control_data/geometry/Elbow.npz | Bin 1915 -> 1915 bytes .../control_data/geometry/Ellipse.npz | Bin 4579 -> 4538 bytes .../control_data/geometry/LabeledArrow.npz | Bin 2884 -> 2884 bytes .../control_data/geometry/LabeledLine.npz | Bin 2669 -> 2669 bytes .../control_data/geometry/Line.npz | Bin 2049 -> 2049 bytes .../control_data/geometry/Polygon.npz | Bin 2794 -> 2794 bytes .../control_data/geometry/Polygram.npz | Bin 11918 -> 11927 bytes .../control_data/geometry/Rectangle.npz | Bin 2496 -> 2496 bytes .../control_data/geometry/RegularPolygram.npz | Bin 13693 -> 13655 bytes .../control_data/geometry/RightAngle.npz | Bin 1942 -> 1942 bytes .../geometry/RoundedRectangle.npz | Bin 4422 -> 4410 bytes .../control_data/geometry/Sector.npz | Bin 2577 -> 2577 bytes .../control_data/geometry/Star.npz | Bin 9023 -> 9012 bytes .../control_data/geometry/Vector.npz | Bin 2070 -> 2070 bytes .../control_data/geometry/ZIndex.npz | Bin 45161 -> 45174 bytes .../geometry/three_points_Angle.npz | Bin 7060 -> 7072 bytes .../control_data/img_and_svg/Arcs01.npz | Bin 7845 -> 7897 bytes .../control_data/img_and_svg/Arcs02.npz | Bin 26869 -> 26856 bytes .../img_and_svg/BrachistochroneCurve.npz | Bin 4174 -> 4179 bytes .../img_and_svg/ContiguousUSMap.npz | Bin 50524 -> 50458 bytes .../img_and_svg/CubicAndLineto.npz | Bin 2962 -> 2962 bytes .../control_data/img_and_svg/CubicPath.npz | Bin 3229 -> 3229 bytes .../control_data/img_and_svg/DesmosGraph1.npz | Bin 8570 -> 8592 bytes .../control_data/img_and_svg/HalfEllipse.npz | Bin 6412 -> 6395 bytes .../control_data/img_and_svg/Heart.npz | Bin 4327 -> 4327 bytes .../img_and_svg/ImageInterpolation.npz | Bin 28166 -> 28166 bytes .../control_data/img_and_svg/ImageMobject.npz | Bin 706260 -> 706260 bytes .../control_data/img_and_svg/Inheritance.npz | Bin 2718 -> 2718 bytes .../control_data/img_and_svg/Line.npz | Bin 2199 -> 2199 bytes .../control_data/img_and_svg/ManimLogo.npz | Bin 9433 -> 9437 bytes .../img_and_svg/MatrixTransform.npz | Bin 2452 -> 2452 bytes .../img_and_svg/MultiPartPath.npz | Bin 2385 -> 2385 bytes .../img_and_svg/MultipleTransform.npz | Bin 3131 -> 3132 bytes .../control_data/img_and_svg/Penrose.npz | Bin 6903 -> 6903 bytes .../img_and_svg/PixelizedText.npz | Bin 4378 -> 4378 bytes .../img_and_svg/QuadraticPath.npz | Bin 4679 -> 4679 bytes .../control_data/img_and_svg/Rhomboid.npz | Bin 5762 -> 5650 bytes .../img_and_svg/RotateTransform.npz | Bin 4289 -> 4289 bytes .../img_and_svg/ScaleTransform.npz | Bin 5899 -> 5899 bytes .../img_and_svg/SingleUSState.npz | Bin 4047 -> 4047 bytes .../img_and_svg/SkewXTransform.npz | Bin 3365 -> 3365 bytes .../img_and_svg/SkewYTransform.npz | Bin 2958 -> 2958 bytes .../control_data/img_and_svg/SmoothCurves.npz | Bin 5650 -> 5658 bytes .../img_and_svg/TranslateTransform.npz | Bin 2579 -> 2579 bytes .../control_data/img_and_svg/UKFlag.npz | Bin 8355 -> 8355 bytes .../img_and_svg/UseTagInheritance.npz | Bin 15729 -> 15758 bytes .../control_data/img_and_svg/VideoIcon.npz | Bin 3973 -> 3973 bytes .../img_and_svg/WatchTheDecimals.npz | Bin 1845 -> 1845 bytes .../control_data/img_and_svg/WeightSVG.npz | Bin 8054 -> 8035 bytes .../img_and_svg/path_multiple_moves.npz | Bin 12363 -> 12356 bytes .../control_data/indication/ApplyWave.npz | Bin 16196 -> 16111 bytes .../control_data/indication/Circumscribe.npz | Bin 10033 -> 10033 bytes .../control_data/indication/Flash.npz | Bin 5836 -> 5836 bytes .../control_data/indication/FocusOn.npz | Bin 16343 -> 16343 bytes .../control_data/indication/Indicate.npz | Bin 5522 -> 5522 bytes .../indication/ShowCreationThenFadeOut.npz | Bin 9879 -> 9879 bytes .../indication/ShowPassingFlash.npz | Bin 5184 -> 5184 bytes .../control_data/indication/Wiggle.npz | Bin 14527 -> 14587 bytes .../control_data/logo/banner.npz | Bin 41218 -> 41212 bytes .../control_data/mobjects/PointCloudDot.npz | Bin 5364 -> 5364 bytes .../control_data/mobjects/become.npz | Bin 6411 -> 6411 bytes .../control_data/mobjects/match_style.npz | Bin 9115 -> 9089 bytes .../mobjects/vmobject_joint_types.npz | Bin 2915 -> 2915 bytes .../modifier_methods/Gradient.npz | Bin 4959 -> 4955 bytes .../modifier_methods/GradientRotation.npz | Bin 4989 -> 4971 bytes .../control_data/movements/Homotopy.npz | Bin 16337 -> 16160 bytes .../control_data/movements/MoveAlongPath.npz | Bin 3520 -> 3520 bytes .../control_data/movements/MoveTo.npz | Bin 5484 -> 5484 bytes .../control_data/movements/PhaseFlow.npz | Bin 6092 -> 6092 bytes .../control_data/movements/Rotate.npz | Bin 12703 -> 12752 bytes .../control_data/movements/Shift.npz | Bin 5452 -> 5452 bytes .../numbers/set_value_with_updaters.npz | Bin 11759 -> 11759 bytes .../control_data/opengl/Circle.npz | Bin 6611 -> 6546 bytes .../control_data/opengl/FixedMobjects3D.npz | Bin 1845 -> 1845 bytes .../control_data/plot/axes.npz | Bin 4665 -> 4664 bytes .../plot/axis_tip_custom_width_height.npz | Bin 5795 -> 5795 bytes .../plot/axis_tip_default_width_height.npz | Bin 4925 -> 4923 bytes .../control_data/plot/custom_coordinates.npz | Bin 4128 -> 4128 bytes .../control_data/plot/get_area.npz | Bin 28752 -> 28750 bytes ...area_with_boundary_and_few_plot_points.npz | Bin 5393 -> 5395 bytes .../control_data/plot/get_axis_labels.npz | Bin 5385 -> 5381 bytes .../control_data/plot/get_graph_label.npz | Bin 12720 -> 12724 bytes .../control_data/plot/get_lines_to_point.npz | Bin 7092 -> 6993 bytes ...emann_rectangles_use_vectorized[False].npz | Bin 18863 -> 18817 bytes ...iemann_rectangles_use_vectorized[True].npz | Bin 18863 -> 18817 bytes .../control_data/plot/get_x_axis_label.npz | Bin 4465 -> 4461 bytes .../control_data/plot/get_y_axis_label.npz | Bin 4612 -> 4610 bytes .../control_data/plot/get_z_axis_label.npz | Bin 15244 -> 15240 bytes .../control_data/plot/log_scaling_graph.npz | Bin 14905 -> 14916 bytes ...derivative_graph_use_vectorized[False].npz | Bin 31734 -> 31795 bytes ..._derivative_graph_use_vectorized[True].npz | Bin 31734 -> 31795 bytes .../plot_functions_use_vectorized[False].npz | Bin 10390 -> 10414 bytes .../plot_functions_use_vectorized[True].npz | Bin 10390 -> 10414 bytes .../control_data/plot/plot_line_graph.npz | Bin 12889 -> 12768 bytes .../plot/plot_use_vectorized[False].npz | Bin 13525 -> 13544 bytes .../plot/plot_use_vectorized[True].npz | Bin 13525 -> 13544 bytes .../control_data/plot/polar_graph.npz | Bin 86651 -> 86593 bytes .../control_data/plot/t_label.npz | Bin 10115 -> 10347 bytes .../control_data/polyhedra/Dodecahedron.npz | Bin 8321 -> 8312 bytes .../control_data/polyhedra/Icosahedron.npz | Bin 7085 -> 7066 bytes .../control_data/polyhedra/Octahedron.npz | Bin 3434 -> 3438 bytes .../control_data/polyhedra/Tetrahedron.npz | Bin 3123 -> 3101 bytes .../probability/advanced_customization.npz | Bin 11762 -> 11762 bytes .../change_bar_values_negative.npz | Bin 9693 -> 9693 bytes .../change_bar_values_some_vals.npz | Bin 9336 -> 9336 bytes .../probability/default_chart.npz | Bin 12093 -> 12093 bytes .../probability/get_bar_labels.npz | Bin 12062 -> 12062 bytes .../probability/label_constructor.npz | Bin 13801 -> 13801 bytes .../probability/negative_values.npz | Bin 12419 -> 12419 bytes .../control_data/specialized/Broadcast.npz | Bin 28868 -> 28784 bytes .../control_data/speed/SpeedModifier.npz | Bin 19400 -> 19400 bytes .../control_data/tables/DecimalTable.npz | Bin 22313 -> 22313 bytes .../control_data/tables/IntegerTable.npz | Bin 15493 -> 15493 bytes .../control_data/tables/MathTable.npz | Bin 3927 -> 3927 bytes .../control_data/tables/MobjectTable.npz | Bin 7067 -> 6905 bytes .../control_data/tables/Table.npz | Bin 10467 -> 10467 bytes .../tex_mobject/color_inheritance.npz | Bin 10504 -> 10504 bytes .../tex_mobject/set_opacity_by_tex.npz | Bin 3526 -> 3526 bytes .../threed/AddFixedInFrameMobjects.npz | Bin 5396 -> 5396 bytes .../control_data/threed/AmbientCameraMove.npz | Bin 7582 -> 7582 bytes .../control_data/threed/Arrow3D.npz | Bin 2519 -> 2495 bytes .../control_data/threed/Axes.npz | Bin 3880 -> 3873 bytes .../control_data/threed/CameraMove.npz | Bin 5580 -> 5580 bytes .../control_data/threed/CameraMoveAxes.npz | Bin 17623 -> 17629 bytes .../control_data/threed/Cone.npz | Bin 25859 -> 25831 bytes .../control_data/threed/Cube.npz | Bin 3057 -> 3057 bytes .../control_data/threed/Cylinder.npz | Bin 5044 -> 5046 bytes .../control_data/threed/Dot3D.npz | Bin 2074 -> 2071 bytes .../control_data/threed/Line3D.npz | Bin 7371 -> 7359 bytes .../control_data/threed/MovingVertices.npz | Bin 8701 -> 8701 bytes .../control_data/threed/Sphere.npz | Bin 24809 -> 24819 bytes .../control_data/threed/SurfaceColorscale.npz | Bin 122822 -> 122747 bytes .../control_data/threed/Torus.npz | Bin 117615 -> 117528 bytes .../control_data/threed/Y_Direction.npz | Bin 88891 -> 88858 bytes .../transform/AnimationBuilder.npz | Bin 15077 -> 15014 bytes .../transform/ApplyComplexFunction.npz | Bin 5495 -> 5495 bytes .../control_data/transform/ApplyFunction.npz | Bin 3575 -> 3577 bytes .../control_data/transform/ApplyMatrix.npz | Bin 19542 -> 19578 bytes .../transform/ApplyPointwiseFunction.npz | Bin 10617 -> 10617 bytes .../transform/ClockwiseTransform.npz | Bin 16705 -> 16701 bytes .../transform/CounterclockwiseTransform.npz | Bin 13399 -> 13436 bytes .../control_data/transform/CyclicReplace.npz | Bin 18791 -> 18747 bytes .../control_data/transform/FadeInAndOut.npz | Bin 15750 -> 15750 bytes .../control_data/transform/FadeToColort.npz | Bin 5543 -> 5543 bytes .../control_data/transform/FadeTransform.npz | Bin 12969 -> 12961 bytes .../transform/FadeTransformPieces.npz | Bin 26755 -> 26702 bytes ...ransform_TargetIsEmpty_FadesOutInPlace.npz | Bin 4233 -> 4233 bytes .../control_data/transform/FullRotation.npz | Bin 30995 -> 30960 bytes .../transform/MatchPointsScene.npz | Bin 2504 -> 2504 bytes .../control_data/transform/MoveToTarget.npz | Bin 5494 -> 5494 bytes .../transform/ReplacementTransform.npz | Bin 23941 -> 24023 bytes .../control_data/transform/Restore.npz | Bin 40860 -> 40804 bytes .../control_data/transform/ScaleInPlace.npz | Bin 4315 -> 4315 bytes .../control_data/transform/ShrinkToCenter.npz | Bin 4068 -> 4068 bytes .../control_data/transform/Transform.npz | Bin 14882 -> 14896 bytes .../transform/TransformFromCopy.npz | Bin 14882 -> 14896 bytes .../TransformWithConflictingPaths.npz | Bin 4213 -> 4213 bytes .../transform/TransformWithPathArcCenters.npz | Bin 4253 -> 4253 bytes .../transform/TransformWithPathFunc.npz | Bin 4213 -> 4213 bytes .../TransformMatchingDisplaysCorrect.npz | Bin 32994 -> 32842 bytes .../TransformMatchingLeavesOneObject.npz | Bin 5687 -> 5610 bytes .../TransformMatchingTex.npz | Bin 8568 -> 8565 bytes ...ormMatchingTex_FadeTransformMismatches.npz | Bin 8570 -> 8572 bytes ..._FadeTransformMismatches_NothingToFade.npz | Bin 7046 -> 7046 bytes ...ansformMatchingTex_TransformMismatches.npz | Bin 8528 -> 8530 bytes .../updaters/LastFrameWhenCleared.npz | Bin 10533 -> 10533 bytes .../updaters/UpdateSceneDuringAnimation.npz | Bin 10857 -> 10839 bytes .../control_data/updaters/Updater.npz | Bin 6112 -> 6112 bytes .../control_data/updaters/ValueTracker.npz | Bin 2002 -> 2002 bytes .../utils/pixel_error_threshold.npz | Bin 32115 -> 1845 bytes .../vector_scene/vector_to_coords.npz | Bin 235257 -> 235273 bytes 227 files changed, 272 insertions(+), 27 deletions(-) create mode 100644 .github/scripts/ci_build_cairo.py diff --git a/.github/scripts/ci_build_cairo.py b/.github/scripts/ci_build_cairo.py new file mode 100644 index 0000000000..4a92b4e91f --- /dev/null +++ b/.github/scripts/ci_build_cairo.py @@ -0,0 +1,209 @@ +# Logic is as follows: +# 1. Download cairo source code: https://cairographics.org/releases/cairo-.tar.xz +# 2. Verify the downloaded file using the sha256sums file: https://cairographics.org/releases/cairo-.tar.xz.sha256sum +# 3. Extract the downloaded file. +# 4. Create a virtual environment and install meson and ninja. +# 5. Run meson build in the extracted directory. Also, set required prefix. +# 6. Run meson compile -C build. +# 7. Run meson install -C build. + +import hashlib +import logging +import os +import subprocess +import sys +import tarfile +import tempfile +import typing +import urllib.request +from contextlib import contextmanager +from pathlib import Path +from sys import stdout + +CAIRO_VERSION = "1.18.0" +CAIRO_URL = f"https://cairographics.org/releases/cairo-{CAIRO_VERSION}.tar.xz" +CAIRO_SHA256_URL = f"{CAIRO_URL}.sha256sum" + +VENV_NAME = "meson-venv" +BUILD_DIR = "build" +INSTALL_PREFIX = Path(__file__).parent.parent / "third_party" / "cairo" + +logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") +logger = logging.getLogger(__name__) + + +def is_ci(): + return os.getenv("CI", None) is not None + + +def download_file(url, path): + logger.info(f"Downloading {url} to {path}") + block_size = 1024 * 1024 + with urllib.request.urlopen(url) as response, open(path, "wb") as file: + while True: + data = response.read(block_size) + if not data: + break + file.write(data) + + +def verify_sha256sum(path, sha256sum): + with open(path, "rb") as file: + file_hash = hashlib.sha256(file.read()).hexdigest() + if file_hash != sha256sum: + raise Exception("SHA256SUM does not match") + + +def extract_tar_xz(path, directory): + with tarfile.open(path) as file: + file.extractall(directory) + + +def run_command(command, cwd=None, env=None): + process = subprocess.Popen(command, cwd=cwd, env=env) + process.communicate() + if process.returncode != 0: + raise Exception("Command failed") + + +@contextmanager +def gha_group(title: str) -> typing.Generator: + if not is_ci(): + yield + return + print(f"\n::group::{title}") + stdout.flush() + try: + yield + finally: + print("::endgroup::") + stdout.flush() + + +def set_env_var_gha(name: str, value: str) -> None: + if not is_ci(): + return + env_file = os.getenv("GITHUB_ENV", None) + if env_file is None: + return + with open(env_file, "a") as file: + file.write(f"{name}={value}\n") + stdout.flush() + + +def get_ld_library_path(prefix: Path) -> str: + # given a prefix, the ld library path can be found at + # /lib/* or sometimes just /lib + # this function returns the path to the ld library path + + # first, check if the ld library path exists at /lib/* + ld_library_paths = list(prefix.glob("lib/*")) + if len(ld_library_paths) == 1: + return ld_library_paths[0].absolute().as_posix() + + # if the ld library path does not exist at /lib/*, + # return /lib + ld_library_path = prefix / "lib" + if ld_library_path.exists(): + return ld_library_path.absolute().as_posix() + return "" + + +def main(): + if sys.platform == "win32": + logger.info("Skipping build on windows") + return + + with tempfile.TemporaryDirectory() as tmpdir: + with gha_group("Downloading and Extracting Cairo"): + logger.info(f"Downloading cairo version {CAIRO_VERSION}") + download_file(CAIRO_URL, os.path.join(tmpdir, "cairo.tar.xz")) + + logger.info("Downloading cairo sha256sum") + download_file(CAIRO_SHA256_URL, os.path.join(tmpdir, "cairo.sha256sum")) + + logger.info("Verifying cairo sha256sum") + with open(os.path.join(tmpdir, "cairo.sha256sum")) as file: + sha256sum = file.read().split()[0] + verify_sha256sum(os.path.join(tmpdir, "cairo.tar.xz"), sha256sum) + + logger.info("Extracting cairo") + extract_tar_xz(os.path.join(tmpdir, "cairo.tar.xz"), tmpdir) + + with gha_group("Installing meson and ninja"): + logger.info("Creating virtual environment") + run_command([sys.executable, "-m", "venv", os.path.join(tmpdir, VENV_NAME)]) + + logger.info("Installing meson and ninja") + run_command( + [ + os.path.join(tmpdir, VENV_NAME, "bin", "pip"), + "install", + "meson", + "ninja", + ] + ) + + env_vars = { + # add the venv bin directory to PATH so that meson can find ninja + "PATH": f"{os.path.join(tmpdir, VENV_NAME, 'bin')}{os.pathsep}{os.environ['PATH']}", + } + + with gha_group("Building and Installing Cairo"): + logger.info("Running meson setup") + run_command( + [ + os.path.join(tmpdir, VENV_NAME, "bin", "meson"), + "setup", + BUILD_DIR, + f"--prefix={INSTALL_PREFIX.absolute().as_posix()}", + "--buildtype=release", + "-Dtests=disabled", + ], + cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"), + env=env_vars, + ) + + logger.info("Running meson compile") + run_command( + [ + os.path.join(tmpdir, VENV_NAME, "bin", "meson"), + "compile", + "-C", + BUILD_DIR, + ], + cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"), + env=env_vars, + ) + + logger.info("Running meson install") + run_command( + [ + os.path.join(tmpdir, VENV_NAME, "bin", "meson"), + "install", + "-C", + BUILD_DIR, + ], + cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"), + env=env_vars, + ) + + logger.info(f"Successfully built cairo and installed it to {INSTALL_PREFIX}") + + +if __name__ == "__main__": + if "--set-env-vars" in sys.argv: + with gha_group("Setting environment variables"): + # append the pkgconfig directory to PKG_CONFIG_PATH + set_env_var_gha( + "PKG_CONFIG_PATH", + f"{Path(get_ld_library_path(INSTALL_PREFIX), 'pkgconfig').as_posix()}{os.pathsep}" + f'{os.getenv("PKG_CONFIG_PATH", "")}', + ) + set_env_var_gha( + "LD_LIBRARY_PATH", + f"{get_ld_library_path(INSTALL_PREFIX)}{os.pathsep}" + f'{os.getenv("LD_LIBRARY_PATH", "")}', + ) + sys.exit(0) + main() diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a3ec07c37..61913fcea7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,6 +76,22 @@ jobs: # start xvfb in background sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 & + - name: Setup Cairo Cache + uses: actions/cache@v3 + id: cache-cairo + if: runner.os == 'Linux' || runner.os == 'macOS' + with: + path: ${{ github.workspace }}/third_party + key: ${{ runner.os }}-dependencies-cairo-${{ hashFiles('.github/scripts/ci_build_cairo.py') }} + + - name: Build and install Cairo (Linux and macOS) + if: (runner.os == 'Linux' || runner.os == 'macOS') && steps.cache-cairo.outputs.cache-hit != 'true' + run: python .github/scripts/ci_build_cairo.py + + - name: Set env vars for Cairo (Linux and macOS) + if: runner.os == 'Linux' || runner.os == 'macOS' + run: python .github/scripts/ci_build_cairo.py --set-env-vars + - name: Setup macOS cache uses: actions/cache@v3 id: cache-macos @@ -103,10 +119,6 @@ jobs: export PATH="$oriPath" echo "Completed TinyTeX" - - name: Install cairo (MacOS) - if: runner.os == 'macOS' - run: brew install cairo - - name: Add macOS dependencies to PATH if: runner.os == 'macOS' shell: bash diff --git a/.gitignore b/.gitignore index 153717f347..abec5da495 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,6 @@ dist/ /media_dir.txt # ^TODO: Remove the need for this with a proper config file + +# Ignore the built dependencies +third_party/* diff --git a/conftest.py b/conftest.py index da37e19ba5..dacb730a29 100644 --- a/conftest.py +++ b/conftest.py @@ -11,6 +11,7 @@ except ModuleNotFoundError: # windows pass +import cairo import moderngl # If it is running Doctest the current directory @@ -39,6 +40,7 @@ def pytest_report_header(config): info = ctx.info ctx.release() return ( + f"\nCairo Version: {cairo.cairo_version()}", "\nOpenGL information", "------------------", f"vendor: {info['GL_VENDOR'].strip()}", diff --git a/manim/utils/testing/frames_comparison.py b/manim/utils/testing/frames_comparison.py index e20e1a2a56..ea067b64fe 100644 --- a/manim/utils/testing/frames_comparison.py +++ b/manim/utils/testing/frames_comparison.py @@ -5,6 +5,8 @@ from pathlib import Path from typing import Callable +import cairo +import pytest from _pytest.fixtures import FixtureRequest from manim import Scene @@ -25,6 +27,7 @@ SCENE_PARAMETER_NAME = "scene" _tests_root_dir_path = Path(__file__).absolute().parents[2] PATH_CONTROL_DATA = _tests_root_dir_path / Path("control_data", "graphical_units_data") +MIN_CAIRO_VERSION = 11800 def frames_comparison( @@ -81,6 +84,12 @@ def decorator_maker(tested_scene_construct): @functools.wraps(tested_scene_construct) # The "request" parameter is meant to be used as a fixture by pytest. See below. def wrapper(*args, request: FixtureRequest, tmp_path, **kwargs): + # check for cairo version + if ( + renderer_class is CairoRenderer + and cairo.cairo_version() < MIN_CAIRO_VERSION + ): + pytest.skip("Cairo version is too old. Skipping cairo graphical tests.") # Wraps the test_function to a construct method, to "freeze" the eventual additional arguments (parametrizations fixtures). construct = functools.partial(tested_scene_construct, *args, **kwargs) diff --git a/poetry.lock b/poetry.lock index e725139f51..c930875781 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. [[package]] name = "aiofiles" @@ -273,30 +273,30 @@ lxml = ["lxml"] [[package]] name = "black" -version = "23.10.0" +version = "23.10.1" description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"}, - {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"}, - {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"}, - {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"}, - {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"}, - {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"}, - {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"}, - {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"}, - {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"}, - {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"}, - {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"}, - {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:ec3f8e6234c4e46ff9e16d9ae96f4ef69fa328bb4ad08198c8cee45bb1f08c69"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:1b917a2aa020ca600483a7b340c165970b26e9029067f019e3755b56e8dd5916"}, + {file = "black-23.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c74de4c77b849e6359c6f01987e94873c707098322b91490d24296f66d067dc"}, + {file = "black-23.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4d10b0f016616a0d93d24a448100adf1699712fb7a4efd0e2c32bbb219b173"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b15b75fc53a2fbcac8a87d3e20f69874d161beef13954747e053bca7a1ce53a0"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:e293e4c2f4a992b980032bbd62df07c1bcff82d6964d6c9496f2cd726e246ace"}, + {file = "black-23.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d56124b7a61d092cb52cce34182a5280e160e6aff3137172a68c2c2c4b76bcb"}, + {file = "black-23.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f157a8945a7b2d424da3335f7ace89c14a3b0625e6593d21139c2d8214d55ce"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:cfcce6f0a384d0da692119f2d72d79ed07c7159879d0bb1bb32d2e443382bf3a"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:33d40f5b06be80c1bbce17b173cda17994fbad096ce60eb22054da021bf933d1"}, + {file = "black-23.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:840015166dbdfbc47992871325799fd2dc0dcf9395e401ada6d88fe11498abad"}, + {file = "black-23.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:037e9b4664cafda5f025a1728c50a9e9aedb99a759c89f760bd83730e76ba884"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:7cb5936e686e782fddb1c73f8aa6f459e1ad38a6a7b0e54b403f1f05a1507ee9"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:7670242e90dc129c539e9ca17665e39a146a761e681805c54fbd86015c7c84f7"}, + {file = "black-23.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed45ac9a613fb52dad3b61c8dea2ec9510bf3108d4db88422bacc7d1ba1243d"}, + {file = "black-23.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6d23d7822140e3fef190734216cefb262521789367fbdc0b3f22af6744058982"}, + {file = "black-23.10.1-py3-none-any.whl", hash = "sha256:d431e6739f727bb2e0495df64a6c7a5310758e87505f5f8cde9ff6c0f2d7e4fe"}, + {file = "black-23.10.1.tar.gz", hash = "sha256:1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258"}, ] [package.dependencies] @@ -2387,6 +2387,16 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -4913,14 +4923,14 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.24.5" +version = "20.24.6" description = "Virtual Python Environment builder" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.5-py3-none-any.whl", hash = "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b"}, - {file = "virtualenv-20.24.5.tar.gz", hash = "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"}, + {file = "virtualenv-20.24.6-py3-none-any.whl", hash = "sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381"}, + {file = "virtualenv-20.24.6.tar.gz", hash = "sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"}, ] [package.dependencies] diff --git a/tests/test_graphical_units/control_data/boolean_ops/difference.npz b/tests/test_graphical_units/control_data/boolean_ops/difference.npz index 982144359ebb52d7413537465bb16fd46813400f..dcc11e639c4eb5751c6b024352347b1d76f9a156 100644 GIT binary patch literal 9419 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 Z|NB8C8;fnz2q?&) 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 literal 9204 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 literal 9288 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 diff --git a/tests/test_graphical_units/control_data/boolean_ops/union.npz b/tests/test_graphical_units/control_data/boolean_ops/union.npz index 89679e6604c41ad18d3b3b2ea2c8e85535be594f..c55850d44113d4afae1378109a90d5d7dbb5d6fb 100644 GIT binary patch literal 8617 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 YK8oRFzhUF@tLuPoYv3<><>MIt2kJfD4*&oF diff --git a/tests/test_graphical_units/control_data/brace/arcBrace.npz b/tests/test_graphical_units/control_data/brace/arcBrace.npz index 8fd91fd1bca34888a17ae07b3e7b03ff7205d543..da144cd4a57fe15e39eb360f1b0bd7a0ca5fe6a6 100644 GIT binary patch delta 43 scmbQNG+9Y1z?+#xmw|zS1BewFqWX6@|A&H&QmX}+bs2OgpAhf{04G8Z@&Et; delta 43 xcmbQNG+9Y1z?+#xgn@y91BewFqWX6@HwrK?G_XoCY?N9pz%0TnGWmpnHvqIa2;l$# diff --git a/tests/test_graphical_units/control_data/brace/braceTip.npz b/tests/test_graphical_units/control_data/brace/braceTip.npz index d9018a2e0359313577c83621ddd0369b550eba64..009fa28b7f07baaf2e7ecef3162d103ce9be70b0 100644 GIT binary patch delta 43 scmZp1X>pMX@MdPwWnf_70AfXkts9l*{fB~$QgalUbs2Og?^N^#05e+pMX@MdNaVPIh30AfXkts9l*6)7?>G_XoCY?PX#$SlGvGI^(>HvqtB2~Pk3 diff --git a/tests/test_graphical_units/control_data/brace/brace_sharpness.npz b/tests/test_graphical_units/control_data/brace/brace_sharpness.npz index 59231e0ddda1c74c1faa558523a24fe7e325bf18..c32a1354ece722b919433392439afa92f2c0c9cf 100644 GIT binary patch delta 43 scmdnyvCTs&z?+#xmw|zS1BewFdcE^)|3kq>sdLKAx(vFLUn_e906A(9kN^Mx delta 43 xcmdnyvCTs&z?+#xgn@y91BewFdcE^)mnbtZG_XoCY?L~u%q+qzGWoT#Hvr0o3AF$K diff --git a/tests/test_graphical_units/control_data/composition/animationgroup_is_passing_remover_to_animations.npz b/tests/test_graphical_units/control_data/composition/animationgroup_is_passing_remover_to_animations.npz index f98436b2cc10565c8b4d06b9b3ce2ea5fe023147..204e542a8d79941394c85633be586d3d35554820 100644 GIT binary patch delta 43 scmdnWx0O#Sz?+#xmw|zS1BewF-W@*7`5y{4N}Xk6)@9J0{EE#R06Yp1*8l(j delta 43 xcmdnWx0O#Sz?+#xgn@y91BewF-W@*7xtNWCp@CJBVWZSpHf9lKk;$*vyaCGU3Eltz diff --git a/tests/test_graphical_units/control_data/composition/animationgroup_is_passing_remover_to_nested_animationgroups.npz b/tests/test_graphical_units/control_data/composition/animationgroup_is_passing_remover_to_nested_animationgroups.npz index f98436b2cc10565c8b4d06b9b3ce2ea5fe023147..204e542a8d79941394c85633be586d3d35554820 100644 GIT binary patch delta 43 scmdnWx0O#Sz?+#xmw|zS1BewF-W@*7`5y{4N}Xk6)@9J0{EE#R06Yp1*8l(j delta 43 xcmdnWx0O#Sz?+#xgn@y91BewF-W@*7xtNWCp@CJBVWZSpHf9lKk;$*vyaCGU3Eltz diff --git a/tests/test_graphical_units/control_data/coordinate_system/implicit_graph.npz b/tests/test_graphical_units/control_data/coordinate_system/implicit_graph.npz index ae64c0d05d5eed3a605f518554f18ab84342e7cb..45c14a54081ea8d2d6c12b8d6b78721e8a86ac9c 100644 GIT binary patch literal 9753 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 A8~^|S literal 9938 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%0A({9l~0xF=5Zgxskr#nj`~~C8JTOr^&xx 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 V<4$YVBA>2;e}~}z%j)l>{RbL)8J_?E diff --git a/tests/test_graphical_units/control_data/coordinate_system/line_graph.npz b/tests/test_graphical_units/control_data/coordinate_system/line_graph.npz index 077dbbd22a166de9098a1d3985111f4f0b7dab75..394ae680cd1996441fe2e3bfd7af94e063a7eaa3 100644 GIT binary patch delta 43 scmewr^(#s$z?+#xmw|zS1BewFE+y4}`ws;hrG#{ubs2Og>+5<00A+R%{Qv*} delta 26 fcmewr^(%@sz?+#xWU{`l_(mB4U1kwx5ZfC7a9jr5 diff --git a/tests/test_graphical_units/control_data/coordinate_system/number_plane.npz b/tests/test_graphical_units/control_data/coordinate_system/number_plane.npz index afb647aba4a1fcf0e1a4a2e522ef31126f939b64..e327fa76bf93a72a811ca17b542a48753db77715 100644 GIT binary patch delta 43 scmdlSusJ{~z?+#xmw|zS1BewFmMX=V{)d8%Qm56Kbs2OgzfkuE05?hyZ~y=R delta 43 xcmdlSusJ{~z?+#xgn@y91BewFmMX=VE>ve=Xke9O*eG>comqrgWbzAjZve=336=l= diff --git a/tests/test_graphical_units/control_data/coordinate_system/number_plane_log.npz b/tests/test_graphical_units/control_data/coordinate_system/number_plane_log.npz index b86dd3568eac177ce37bbd9e3c7d9cee74035ef6..facc8682820ad5c288cef1a0a690bf745dcd3489 100644 GIT binary patch delta 43 rcmdlIyCqgCz?+#xmw|zS1BewFbe*ym{fB~$Qa*ajx(vFLGxfXyH)jvO delta 43 xcmdlIyCqgCz?+#xgn@y91BewFbe*ymDd{mVG_XoCY?SiRV-{f+nVhNT4FJC@2yFlW diff --git a/tests/test_graphical_units/control_data/coordinate_system/plot_log_x_axis.npz b/tests/test_graphical_units/control_data/coordinate_system/plot_log_x_axis.npz index f215752d0d7be046e06f312d91990e2ca37c6399..a89bf909538ae94924abd06764894520f9765ab1 100644 GIT binary patch literal 6668 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 literal 6666 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 G|NaSz8DcE} diff --git a/tests/test_graphical_units/control_data/coordinate_system/plot_log_x_axis_vectorized.npz b/tests/test_graphical_units/control_data/coordinate_system/plot_log_x_axis_vectorized.npz index f215752d0d7be046e06f312d91990e2ca37c6399..a89bf909538ae94924abd06764894520f9765ab1 100644 GIT binary patch literal 6668 zcmeHMi$By`*Z*;joa&%XbRntJ^$;p_A(!q&A{rAKb5t(5CbyUw8&`GVceJy( zcL*V@Vqw`15o^~O)4;Hdit>x^vi2;)?e?#UyL7DIw69gSNkO%dT;KFMr<7Y$ttaO5 zv~(FeCDR)>;J1%|ln{wM>tjvHV`MRr*nUI2QBh<21Ieh;y=e-Wz`7yE597N+KRHLK z$ID0!{LlRru)n<|SjmP3c35ZYlnmy2%}n%H_kux>4hnWPUspGhb+d#2;$E{dgGM^k zcjn2$qoWn}n2ONh;@;fE#Kh13F!{vQSw59JFkpe}ezO2UQi$>t%r2?yo9Awrx-3vp z!)~&V)6+tbaGrjk-4`(z?W8Ya?oJk8#S-m?zlyzzBYYA2FsW%wyWlE^Afpa($zLW+ zOB}vEm7E*;I%7Id6GdxwXxZ0ieO0a8EUL2Iz%-HdcHHWeg^3zs=GX{x&T}&}Tyx52Jlr#{sqJuGvhmoPWYQF8v^Q{|#RbO* zIAXFEBpWbhj zq$ATdV{oieLrDW);DO=ol0jOp&}Ca~I?G9UxRRiVpqXx6vVg&2-QK#E=pzw}IN>ti z-DE99>X!zn)WE@8h&b{N0JCT zeR)9wPh`B{^vf%s^}a*$<#2NOaYiGhdJ~OIiD+bS$d^orEh?F6^|WB0V&(Y7g!&-i zCm9Re7mg4*g}Ef*RD@IF4qvCdBIEuCvF7Z8o#SuxVp)pFA`7gHcUK2tL?LP7<5gYP zL#sm0<`va;mT5a zIMbJw*V@|ZYP3m01d8&UD){{&x@RhnBHHYj=W1C9-pYDX;N4a@xPvLM zoO-DnwpC5v-TGzp8spH3s$?RsdbEH??jh^+hT(;+Z1Yaj$xo{hv-PTV4;Ax4=|KtI z#on&+6jMBzlNYo0P`v2rHnMoOk#s0}6>dsYx2yMFqv*Qv)Vt5o(FoGrh>36Zvm=p6 zg?^u2d3D#sak7g#5^Ixi- z2mf-P+UmmlT-_xijmJ^0Vt5zz&wqH<$frK2M35_014tLst*<_{E0A<;mw5UUK3HgL zWo)2t-JvcJ)X6P7b;B~ru;6%aGQp=WrK=(;YMe6Lx+re<(v^NM7IRdvr((Q0x!ne& z$#-X>T_8L!)_N`?OmgFDlZ=W2L`=)O+Y2scU%Avh-p#gWvESU$i#1&;i@Z4BzTksd zJ0tKlx>bxPn{0FXX;5X{2G}_)yBsGRBOYJQYwLEi$`&|zvgr!=GY$6-RFffymO~J| zQR^6u9K3&3r=}&_k^R|IVLWfRoFpuqA#BDm^odDPt3o#kAh;Lp!^&t^caHPNDH7sT zwl7J`G573|r}3fUC+~8M-0JStV^}6aFCJwvvO1D3Yg0|eXE}F|(BeW@A>l2J7&Fbl zz`%5RO-@71+=wsnlbQuv`3*TiYjQV&WT(@@Z>iD;z?EcU!RD_6@w)g`3@${mr3r+d zXTRp^bh(8~|DcERsyD{6WRZFY#)8BBH!XDL;|hXDI!2T2GkawacLki>1O3x4{%kam zkyl)Kn~0*Q$C#O4nx~){*u28+Ud-GO8fjA_of-^}np?kAf18YkW<7?D3&!#65ySz^ z&ot&$txctcO;>1apvWO91_3HJTBFIcpXxD8Vf)BU6pSi>@g9C(oJva$o9X|YhamYV z8%CqXS&YDecyvv3FrfeqReFKRug}6ik3%^(2kq+Q*|Bu`%)3gHzr~>5Hxf?bE_Owr zxE|f2%U=1ltCwshgi?Y$tgeo zCF7nAmzugSY6C?cN%@JfVAJnmqM0~`N7JL@Qfz+!wiL%A9}Yy%UM!9{_Hu6cv~X%D zmFCJyPLi$+OKcKPWSBfnCCIG0N_Vy;zw8eq9mEBI&J6GPxz~P&7*DEl7O_wxaGQoK#r8Wwijp z3pT&m@gG-gd(ec*ND6Y`g+Px4RNa4+ovj_%9MYSVfD&+_Uo+*fQ<$K;9;4@0cN9fZ z3`o|g?eO^#7x?Mg4k?mTfaIpU260P3b7Q&%8iv+7z*2QmaK{P;m(P@tP_t0=Ki@GW zhxJiw@9x-$#*B30YhC8<01RZI7AQ4RxDZ_jwuQ}3Hx{%2S9hgAfTqJH)6bRS86NK* zJELT7iUN*5Lv{eXeGO@`sB;uy*&{_h?b13xPc#hlkQ#;($|>}A?4$1T?^%bgyb>TM znu^DwQ)x?eo$jHYxByGILsnnP;6k#)NFk#W1;fEiH3pYO7W>bQ6+`{mhc%YWj-vr3 zMdAvnFx@ko-PE)WjfwT>0#?M2OVa78JJ0`$!f?0`+CrdAIdZ8=?;(8c8=tNw)yf_mhQfoqMs`Cm*jy(}6Zr^Tnd6BBlZ^5ccJI z)GBn*`x>IYL#eb?VbfjG4Ywc2)c5Tut;aYPdL5Zlrsw+R2V8+0D>=)*w@!-WIw0vA z%wy@`JVmv>Vg4wV#5C}kstNI8CJkCtH2&+M`BZM$TDj7eOWk_rmDJW<=(2QNi7SCW ztbjA{Zp}yCs1FV5fr5X@8>qVbGZh-*MGS6>qpviF`GaXEOeF%=KCCvrd^c)ZEtqz^ zoj6{bN`o|1W4BaW2H7gYjTDANkam7(Uw9A z;{d=gxH$U32Ac#)Xikg@=`o$o`0)EesaeWk7RN%jOqs!5h@akzdO8vO^|NpQFHvQ1 z?{?0*&W#a1{3gE_D}qfcwZIlEI2-)l?@%ALnTC}H_AkIluA0x&H37{~^x{wp9)bl` zCj4Sn1idxS&8nr?zgG(HAi&!WEguAXCojH8O6XQ}daRX6aT8{QED@riUB4U!Xw)%w z-3EJ2-Do?yhpz!oF@gP!>)T3#efy{uI>qb04L2A=+mlM8GsQD#6zHR?6ajzr7*p6p z(&UUPY&Yh=U&8Qsc|}D^>0dyfPuD*pfcG3c1x5V|Q1{V`dtjn&>8O+zRn&=hw>ahZLL>tVls zFk>uuG!GiuS|`$Eb3G=(DfHaj>?ba-@Sz5G-A?hv#R3DF@?QzoW zp5MVasepkN?KTLMKI&_olFi=)EycV9<{$K#y5MqY#hVAPH$V#yV!{!ols#0RWlvoa z<^3mWszpsB+X}`&rA2j zP7Jq~VDM|12Zd-8RyNUSVSi@e@ma4Cew`+;)R#| z5lH?0qKNSVvPA3!HgonV8Q=2mEEgG&;_z$HE^B51;vNIERNw8Gcxb~vny8=oQAqxz z*14%&(iNpq*D;>VFYOr*p>;=JhAOPnPA@MvDH$qk%Z1h!Gb_5jn^)z9c9e`!Hwr0e zyGzZj(bkH2sH>)X4=lsoO7gGU#hD)al&8nqt+%u5k0nlS&%$M{sct)aIIT$jL;Yb9 z@vwt}LSTx5+V=0Sk#r_Yk!ylVQ}Nfm3CjK-d#jZyp~;-`xO5XkFPF<{3=Q; zuVKHsrk3aEQ@sA})-wnDQWmd0c$PBLl#$B{o66%fWARDt0dFlixh}7BD>cZw+X_6f zX*qiNn_uTr$?0J_>$KqzBmX)Hvd`t7&p8}-~i z^N$tmRQCt7{HOT|(8veUn^+Ob(UG#$+DSHEBl&I6@cR|?J;&=v(D2xX>Z~*l4S3m^ zhs|-~WSENj2O;HEp=ZWM;S!Cfyn_zRFj7z_i62qftV`;*;0Sstl%xwazi>)ACh1vL z6cc+k9j7LmNiqtq^YHYn7??NCo>W-5^Kk<^i8zs_p6JNfW^zL-Nm1F@ zE45gb0+Me9QGW31GF`>&Tlh=&i`&{s{PwOO$!xD_#lWP^oJ4O@uv33QxWHhIYDw*A zSA_)|!^&}t33WwMM9}US7;+z_Njn2q2Cqg7&lk)Z{zk**C{o}sOSov-)dUC5p#%Wi zEaF20d=8EgIl@z6mJ^ZEng%yYLwC`qFD@^!7@GJ^iI_4m)=@@qvoaM0OkWf`*;ZNws4k{)Ip(aSm8ED)KXxZ5cBeobko`R;AlKzKx zzuktZLtE5()u}A>%eh}3sRysYty(=OW_HcJSI>xxSd`fBSpvLKUrs{_* zaOpYjT8t~plN0`QmMp3euZa}B^}E%EnYnWE-$zfh!YG`ZUyPRS|4|qv)k3+RRsbsC z82EE!?|M-A;xQQ%1+07mqnofDC(wqae@srZp}sq_H^q=MCm@jY7M|+B-+rh+Sky#F z=6(*j{5P&B`bTEEGb=s$68G#^RQrAuW_+rWm=J`4Z{~pys-Vh)O7nr z%qamRhSyty;*#&%tisM2Csp$(pEjYK{lA1Sl$cw=b*?@=o!)2*o3qvvm{W$k-VnuM zO=Gz3wZ0Qc=Y^HSqwLt=xMbMH?qv*yA^Pb5@>jreiM+LijI1{DukUWqw=(D(8pZzs cJ{$-@{_RbUwT0X~bW{eup;tl}Fb_fg3900AhX4Qo literal 6666 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 G|NaSz8DcE} diff --git a/tests/test_graphical_units/control_data/coordinate_system/plot_surface.npz b/tests/test_graphical_units/control_data/coordinate_system/plot_surface.npz index 9369d49d724567fb43275d40bd8dc6db6466f590..83697c1d58682382dcdf8491f4a2f43a97ff5b62 100644 GIT binary patch literal 205863 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 z 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

clZI%rh*0KM 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 P;Eyo)dj$O6ojd;zH1#b7 literal 205738 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

9oA4{&E-YS$ZrPSmo3#J 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 RyGMD!6As=}!S{H0{s&ast&{)& literal 164268 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උ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 diff --git a/tests/test_graphical_units/control_data/creation/DrawBorderThenFill.npz b/tests/test_graphical_units/control_data/creation/DrawBorderThenFill.npz index 3d74bcadf91b01e6111e7b4c832c08f098d2d944..60ddebc2b1a1e76fa04272203c7176029832ccfb 100644 GIT binary patch delta 42 rcmaE1^TI|dz?+#xmw|zS1BewFBsbsm`ws;RrR11(8FVMh%6S6-HH8nA delta 26 fcmaE1^TLKTz?+#xWU{QB_(qw3vdkjPAhtIEZNLW@ diff --git a/tests/test_graphical_units/control_data/creation/FadeIn.npz b/tests/test_graphical_units/control_data/creation/FadeIn.npz index fb6bf6a2b9663580d0fb28d03edf4a07193cb839..b04904520d0add9e9ec48f2cc8b09ce225b399b5 100644 GIT binary patch delta 43 scmbQQF<(O}z?+#xmw|zS1BewFawd4J{tpEkrM3$*>oVw0z9Q@m04|CUKL7v# delta 43 xcmbQQF<(O}z?+#xgn@y91BewFawd4J?iFTWa5$;Wuu*EeFtZ4=$mA=+-T=iR3DW=o diff --git a/tests/test_graphical_units/control_data/creation/FadeOut.npz b/tests/test_graphical_units/control_data/creation/FadeOut.npz index 299e80d1b0d7b3172f6a9c2183c991a4e774d847..6a2f3fe973fae09728853cdbbf54ab7bf71a5f6a 100644 GIT binary patch delta 43 scmbQQF<(O}z?+#xmw|zS1BewFOc>`|{)d8%Qrm@@bs2OgUlH~O02+}GT>t<8 delta 43 xcmbQQF<(O}z?+#xgn@y91BewFOc>`|_6jpFIGogG*eJDKm|28bWbzeZZve3<2=M>_ diff --git a/tests/test_graphical_units/control_data/creation/GrowFromCenter.npz b/tests/test_graphical_units/control_data/creation/GrowFromCenter.npz index b6fc1bbc44ee09d7cf6acbcc1c4fcfcb0ceb98a2..80ba71a0ebfd9addbc4f6fe2ddf469d3e5553b43 100644 GIT binary patch delta 43 scmaDR|4d#gz?+#xmw|zS1BewFIBP^+{fB~$Qg!^yx(vFLXY+dl05yUS)c^nh delta 43 xcmaDR|4d#gz?+#xgn@y91BewFIBP^+h43>lIGogG*eF%U&n&_$GI=(?Hvq?32`m5r diff --git a/tests/test_graphical_units/control_data/creation/GrowFromEdge.npz b/tests/test_graphical_units/control_data/creation/GrowFromEdge.npz index 601dd9cc4453bc1b3d3144e62333e39382e76211..0b198b22fd19d65500b49f4e99f7037518e1d373 100644 GIT binary patch delta 43 scmZ3YutY&Bz?+#xmw|zS1BewFcCK;s{SO5jrS|YM>oVw0zRB+m052a9KL7v# delta 43 xcmZ3YutY&Bz?+#xgn@y91BewFcCK;soy5<;;BZo#VWZR@er6G7k;ymty#d9}3Df`p diff --git a/tests/test_graphical_units/control_data/creation/GrowFromPoint.npz b/tests/test_graphical_units/control_data/creation/GrowFromPoint.npz index 5e8f653e6e102090835c03c2564188fae000da65..8912686f1a0dba4e378ea3dff543d39f361a6213 100644 GIT binary patch delta 43 scmX@4a7aNaz?+#xmw|zS1BewFm|q{A@*fH|O5NgT)@9J0{GHz$06;+z3jhEB delta 43 ycmX@4a7aNaz?+#xgn@y91BewFm|q{AvVot0!QrGf!$zrF{LCWEB9p)KdjkO3ND96H diff --git a/tests/test_graphical_units/control_data/creation/ShrinkToCenter.npz b/tests/test_graphical_units/control_data/creation/ShrinkToCenter.npz index 1deac9bfaa0c18a4cf09c2a3a87a01560bfee1b8..af49b48cfad5d21eee79dffe688dd778ebe93543 100644 GIT binary patch delta 43 scmaDN|3qFYz?+#xmw|zS1BewFN}}id{tpEkrE2(@bs2Og&*b+807&K#umAu6 delta 43 xcmaDN|3qFYz?+#xgn@y91BewFN}}id4&rBEa5$;Wuu-appIL-iWb#aYZvfhr3IzZF diff --git a/tests/test_graphical_units/control_data/creation/SpinInFromNothing.npz b/tests/test_graphical_units/control_data/creation/SpinInFromNothing.npz index 1c051cf5220475c17fdacb4f8c3c0d4b0d49d7fd..0023fb275765100551a18da7573de5aae210428e 100644 GIT binary patch literal 8170 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 diff --git a/tests/test_graphical_units/control_data/creation/bring_to_back_introducer.npz b/tests/test_graphical_units/control_data/creation/bring_to_back_introducer.npz index 989a820e49ea17983b82250e6869dc8ce0311f28..596a4cdbb6f684545d634ffb9f3d1df77171cde2 100644 GIT binary patch delta 43 scmccVannO8z?+#xmw|zS1BewFS|{2)`40sfr9LV%>oVw0=2P(o08+LP(EtDd delta 26 fcmccVanpk}z?+#xWHO(M_(qxc%FH6nAhtIEYy<}P diff --git a/tests/test_graphical_units/control_data/creation/create.npz b/tests/test_graphical_units/control_data/creation/create.npz index 39e988076a77ddf5c424d743d166322f00283234..4154386aec57e5116bab9c2ceaa3fbbe1a8aa111 100644 GIT binary patch delta 43 scmZ3exKL3lz?+#xmw|zS1BewFzBWy%{tpEkr7Q)Qbs2OghY5HC05qEq$^ZZW delta 43 xcmZ3exKL3lz?+#xgn@y91BewFzBWy%<`-aKa5$;Wuu;lVfLVlDWOA5*HvqvQ2;Bex diff --git a/tests/test_graphical_units/control_data/creation/uncreate.npz b/tests/test_graphical_units/control_data/creation/uncreate.npz index 2b211311836d1cbc592d4f2c58acbfd156c0d575..da655fdfabc9e9346b852673d85423ec8314a5dc 100644 GIT binary patch delta 43 scmZ3WxIj@Vz?+#xmw|zS1BewFWDTbt`VR#gr7Q%Pbs2OghYEND03MtU+2loH~ diff --git a/tests/test_graphical_units/control_data/creation/uncreate_rate_func.npz b/tests/test_graphical_units/control_data/creation/uncreate_rate_func.npz index 3826c14faf4fae28782735ecf759566930eeabf7..95a5a85a8fc2ab42aa5ebbbb99a2cb4f9120945e 100644 GIT binary patch delta 43 scmZ3euuwrNz?+#xmw|zS1BewFtnTWY{D*>#QakyXbs2OgU*q=%03zZKx&QzG delta 43 xcmZ3euuwrNz?+#xgn@y91BewFtnTWY^z$UW1>JyLzZP*#J2*5(3it_lcj+>CBmiW^ zeg6f_jKqZIQ)7%!hjgkRXn9mmYzl1t)T-n?=bdZ*zDdgFTx;uNb(`wb9gi!v+myB)BAtA zb6NE~d^o+p z%Y^f|6c@>yFHDbnJXLYhEO8{p%9{|Mj=@wa^=9vfa&31~z{EeeQOQLJ~fUytTlKaKfxP z_I!Q(!0$7NHRSlj{eiIg<-VXFp08wHJL=Z{^sSWCE#Ag*>wi9#y6>4;BCy+z`n+S#XFMm+P76LeopP`tQq0P%xpwo$ zjRm(2mlO*;Vs06^9pdx|j}Z*lz9gS%_uXP8s!)YwQAcg^0~UU!)w>x72QFl9cxZX& z*s&HH+W?!{z0_wPQERT_gXNG?->p`t=8(wK)s5%x?&9deyK~THwZJ##!;X$}(P{Ru z!)9XFQoud<9zZ>W)m2);KXcr$O1m#@ujAu3#RSocdvD`}anVCm4hOQtQCT{V; z7WP5fVA`dZnR}i)jSvHW8K@{V@|t0mWRmSw1Ax`3jEdaHtjD+K!aG|hs(yGbI9y

cVHwy;n^I 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

)BN? zRYJYwWDKZ3eOgq;XgaOB>8@Mvp06~D%VW4>1LRzxX`so~mHg8KVDemx7TtQJ%xe%- zypZgHh$MaiY>^_9G5X`yg&CK7?G4r^NFrtQ+-nPqrVb7*4G~?_>}=Po$*T27&q1A? zYFu94GW4D27*rNVXoGU4#(h$cQ<~IOL3YG69%?2ErjvP;&?G^qH@G5YJSW|5+&q0l z*bp*nZyXQ!2!?>DK;1nY`QvsCdXAb+UA2M!LECc zGr!V$N3`dBK^%w$;faG)T`}b0R}4!rR_EO#6!@bXmzzfGf@MZ9;5Hu!R%d^DY>Fmw z@<+!#xetb8M^0KaGgY^TT%qFkETlJB6YN0hAGIg%ks2|6*nxl5^rt~UPbXlg63?H{ z#B)28WawaVOaH0_kkMKRyOGGb)B&>*pyBSXX^c5>RCqAc!=!mlC@!>CPr6Wwf5lO=W?sHY z3`EE|wgZDS@7}8V9MD``_wcoaFq6v=bUnVAwaQyl%)SR#g?;CBmNsG8^X4~^|UDR>8kq6u9k-ORNAIg(8p!#_LaUR8~1+cX{Ro~ z)rm}i-Q>wKCz`8nUgHVw4Wnk4-@g-}yirQ`xipAK)bD*9Ut>K`%IM9)Cxnb2JKht& zo%-l;(AM}*e?A&2=&X7TTY;oUC&L_@J6&g~VCg|RQC5v82j0p~EHp86$!PD_ARHMS zZ;zgGbZM0Fi5=Y?8o3bWRY2;ITHgStjNax+ev4ElBB;CZ&wLZLF``K~C#G}=_%6Ra z*t=HJi}+5C8Wad8D85|z3JU~9xb&|X|1F1oXX|9e5Lq3+APy$vdJIX!l0lZMguq3~ z9dm8~2V7|CX=nOkT;3J6OEW6dcE7$F^~+s5B>vUOT&iEk`jc6->V20%w5YMXnR))(*DCch z|N8ON&dx1oPHp*(^1!{(ebsCD^aFI%fNIwMtf%g0cYpIVKgd7xX;#+MubQD|PT8l9 z6^K&FJsR$-P-7-x{BZg@kKfxtAP^^yIKb{!JTc3`p7Bm9>H(3(DD9?^+s95~+iVQ(}pG;P44ARrA6V~=xN z_h31C)WsHcoI%i!nthzKPkFZkfGZfgJV5xOpJ#oTt0cuAYq=S1bdOy?JrK1` zz32j{ZE&hZTz5SrbVhf7T@VT7-v-B@UwXRfgZwxryH`x9IX6oBMHDjtydwj1+`ad* z7#A9Pw!1->zWN)nNYRI3|ih}bZT34394e6)Z z%Nu4>o}vUdQ>F9U zl+6?%rRi^G9(?_}GxIpZK!+6<<|6nKb}ttFVl;oWVBy6Agj&i9oYORPz>zE+nmHQ1 zxI0d2$%UFy>qWseT~lof?G3ftRbMZZHU@$7X}Bg?eeNV?#xkQB3(oI<5=%B@k8tDd zVyW(V!BBXwT1EU7qVI)Z+$q>O)7kLrp1pT#gGQEXi7h?-SJxJ6NgZw1mmjJ?q&Bhf z@?Xm%g#W4@|Dz|JTsOGm-tzRDyyt5pW+Nl{nR9j30~O0E>dkmeoy{I%yx*KHG2Tha zDiBk}6FO$F&4S+p3tH5S)lW@G%ac+}qna!*KD!0i|1djl!{sXmcV(}A@dn+9YCPXN zuDU`_oH)sC#%7z|h4KbQ1-6+zS#iKWe)`s&o?YERDBIv{q7UmzdTvj^6G!95*frm= z9oZ0Sx#;Y#$34}3+i;Zpm_o+cm9Jj2oT}BwnTIXsS>hw`OToZgSHsWTC_R3vvKDKP z3|W06Ll;pce-RRMBy}1t#E2yg*afnIfvs93jj{_$K`j$$xLjI+YuNb-N+fUbl1&{r zzPJK-ZDUf!562t(Eu=1#%WhK3EHUa^J>>Rw9k3arMe2L%wZ2#^otC^m?W5ih?BI}` zee@6^8SvWkrQIWHx{f`cmUyr$=(6 zaQNPU|JD8(iA;2v!po#K>P+MvoXnge@BdLo0Z2~{K zrEXNlV+cOIh)n|ac~`*QAtvM=8Aga(v5)AjVXSl3`5gGjJ>9a@G7{6E+OGfG_0^2_ zIh?f22#ghrE4xVo&p1<}T{PJs!b6H5Ub^n~Pttoz;4MlCt~T@COZ`iLu%%4nQi-`K zbF31rBrX%}SW%OAWGVWX8UB3DK@9g>H@o}+?)g?=x}7SxzuRE6 zQ7_A%9gP|(LuCN@pJ=r^1_}tiDCbG)LLXzSIh-XAAvfT;>EmEK2AD^Zvt1AdWJr1a zVzsMtVfb28LvQ$D9CN-MHS(!IejH1+PV!dabm(AVsl2Cu=rx~I$Ly33Y5HUCMfCi! zgg>Tcb!4ox9VG|kws!DHH48;X@L~IyiD4AV@qhY&c5V~bhBBo zC_8PUAKEB1h{Yu%styr=cjRTjZfD-gXeI+h|rK3k&euSG#;ZYGD}qYo+Q0)Ha%CI*|<9T4h&Gd02*XErQ_7wVz9T zw;YD$c!BB()#+i^f8l7MiMY_3tzUl-lx11#M@hRGtULf;&eyO>I4T5Rk}%bl1Sfqe z5J1k27uWYd0!SvKc$M&@c0rHX7rC>x;2#0xnw6QduVeEcu3~D2g>*Hh#L-k(@zwoq zaXRJ^B4hDZO&FR#>g%ysj(!#my3^gxd&y8!BVK(zLHrxOT=2#&%Hz-32jj4AAuB(j z(&l?I);l*=sQIKZutJT4R;Z_IkUDaiKt;RaS#a1=-6oCFYK*xZVaJpMO)-_|-{B#h z@!AdY-DQel!k)*e<^X6cJ)9-*rTP_$q>T&v>W;@pR<{b%zwcBqrV4)x}2 z@Bv(MV3Kg|Kov&?ru$>85q*1Vd_tf?{4*lGYfvyH!4FJ)m7t39UM$z{Cm@-6l5*m_ zKfo^$5Ps=4;nZfU3ybRseB<0fJ}K+^0}$MJ)^^m8e;3#tnb?%@Mn1cLAb74F->T}p zFnt$Zb8Ol{<%8-lTt3`y{#yESklXp4DK2c~0#opwpw51G;La6rLWmL~n=H0G{F+i_ z{eiEcYRB89g_%sQuc>CwP`fMH+6n#((*a3U6OUYDN0Thn%)i?{J;DCs@}`olmEg}k zig%p}(|$UgAh*^W{S%&kinq6SV07CFPA-T&nxNqr!B77d7wM~|H~Evw;r*pWl%pR- zWl=PrJ+oNn4v@@Z+4mC@uj2=v_gkD00(Kkx`xF9p8~DXbeQm0bFR9-5rL)S8jOSV( zBAi#6BxX;v3#A+sb=u-F)skWqzXA0l$mLy`M6=Sh z@kgT@#JV{>v+>zuf>wL>Yvxh*8nd)coABjo;1T0Pb=jhj_&BKxM1kTZRAO6;aB!!gn_QnOPx1aFomrDdr! zvW2l9BR1ZpKNE>NGn+O2{2_!%u0Yb=`v1+Ze&)xf+U+2fV_io0J;g~aI!kpjxzEAh% zriJL${@$MV?mWDs9uOEN0{ZdW8Q`TL z;j4sSOH*Ni*~5{#5x;1xopoJ1o+%Hl{3w3uJB{E`%bD!nmnXfvEGlIU-u*aG_B=}S z-7m+)on2AOzo@l<))s&N)hM+S~~wo{VcNbZ|eU z)aVx$dV6l*J!__YjJC>JMXvISCnPR!x$5O#ikN--WO}g|()yydU?nDD{>vcwkW}5J z=$zV)!0Jc{$2lUNC0!TLxvOMi@Dj-<^^)%4JvAFHg?WNbD_3>IceG!7>w_~H`==R@Bf()OQ$1b8QggR^TpOrL#JO^G zedDonCB;@`FzCAJ)WWT4h~r$a9bv?e9B?{#XmKWNW=pBX*FH_Z6qP6R`HK|^!VTriv~8!{bp{B3j7A>v{F*Zm1yO%rsE3!sy*-_*QXGzmO9Sb%}j_R zeH8SZJTU%rTE_r`_QrWs=)P>KMc(1Toq0Bd@1q`KGK^1V!VEZsn)&wmP$X=mWwdXo zV$bW9OFe0_3GT8nmF!3o_ET(ZDH4I1G9+cph%E;A35dy8HSrl3Mk-*h}og zm$;1tkI9;oNX!}d?jkATHU_7`Y}On~R8BRF21#U>+)18J?|_eGxzH!Iek24h?=Gfn z+_~rNz2>y%{6%B@_RLD~i!ux4q8vA#NnN-zaQHbob=b0xzLMXkz4ar*7#B%@H>|}l9o@X9Rzi|%(K`_{4%N;@@r&e<2BQh%xeSikCU?%`);pXv2(b; zp=?7-d9zaLhF_Zg{^s`hJW<^VxBgok{7pz-X0l-iNTQFJdFdD88PmnF4#`e0i4Pyz z`Qpg#dq!rS;V|{G^yh{nAc-DP)zp-!jM%~U-N=acm$Mb$-M*be3GrWZv-zG_<7cG= z0c}G&M*BNqSC8TRdlqIj#a^Rlw(Hx<=Zpl1>t#o4@=*8J(nPSGg{a-IJG_lfw)rtWy@2sjctFo#o@k$~-iIhi&;x{?Yku+D5`sP|8hHOyV#)O!o!PS>@-w~5pzDunWI%_Sf~Pzy zG)BrqU*(AA?ECKZ=g5GK%BrG{fsrzNv6s|k!6z3?MFE6vX!E@W;{KR3*k$Oj+Q z`6W>k^mtGo9iltnk;9HMYCui7nW%<66Oqq4keobC@^)!EK2jp@;rv2)-^t{C8{Pw6{0!L&T*VZyk}pq}Lo2!Pa z5yd=-%RU);0XOQAV{cd7y64MszIH#(QhtU{WPCxtFz_%8FhtRf_uMp2vBvC2cvPP^ z#D!VbTCs-0acvDd2Vq}|$1PX2TTCX$<- z1?+;D2|1!PPu=5?l2gM)!-r#QOWG}oxzH?4BVLZt0g->J;qY(!%R~iVY_2@sgH@8l zWQPTWvS!$AMycnda$VrJLKiCMrXM9+w6(;^fpZCX0;`=>7@!53gU-DgUwIKH8(pY_ z-ETgg(WquOW3XCp;kNAw)g zIfaO?K5d9!9uK_B9a#xh7i*u?y1B|-)y4NHYAER_nZT7rPFu!7PW^$!`h1>Cc0>6n zx}oS=(76PpVQSs(G(Gx#QGtF~uE=Rgc%Jzatb20zEk)O=u%@b;Oj%yH(EWs>)@h2ja&K!fl0E5E+wQDstw zTqbq7*O_5Hk+H_5i&y zK1<#6;hKHh**2|sMx|cOPy_hqgt>A4pc$f@ux;>Xs-SljiBO8*Q3Uq zb@KU$Pw!{F_6A-$>Tv5oj=zg%Ft=#?C*CS0o>7I8ymaYcVLUN-IE{X*ld%7*9|yB< zqmzD0GPz#m8fhOai69&G@#rn*^kMYXY}e>kY%sqv=EUViNTx~C?TrC(wUH;|dQgWo zdC~K_CQzVt7yheti^_2|mei6q4n;2ZHoX6V=hwEZ`4&nX3pVSgmH>w+Z%?L6xdY;qFk*R0IqqY^QgAn=|9+_QsgI zE$tb#(wAnjSAGUP2?`v{nALmtJZCZ#{%tsF_~DJic2B?aoODa2;@^K96OC!?&P3gFxgCHrJU=x2LS^I=#N=+z#GD(G~` zTqFLjXPL9uX(KU1af!<>c$0K*@U8g#a%Z%yaI!wFar3ey4TZh?aR{^Tv?XV+$m>Hp z10HdpLk-qtPCtcrMJS!;uy*G-@5N5r$DMMBAzwiEmFR$jdjAkYfUl^L>SJNXhp!Va z1zc6~0)1Bq-(3oPhcl#!AcOgh4XD3v^NF*nZP@PWXtOeVO`!CJ^RO8wPVZ)p)33VP zE*PS%)<*X{S8h9dwzbNV(YAWQ8GL}ZdgGtaX4lO{M=$Gik{kRk0`?$H|4i5ok$);=bBlGdy&u;)zzt$;7IneV1m(6l)pyi_2^@v` zakEyvk_bOWy{QYn?tdxO;kvfkU8Gl&EkP=()!D?$DF;WpNE&K`1f}Aq5FCpv7~=+0Tb-bO%P#40Ui05hFUa7Va*fx8o%* zrjZa0Y4f<*?X!Jbk+kg8m<+cj8(`hfRDwTFuJGJlf3toIDRUB|-(>Dg$@N$&iGyNE zuWs2-mpYb7sOZC;D)u_(|QCFz|PPXA5 zjvBZKn@kJjR+>#Wr1Ux)eM}Y8Gm%Ftlimo9Bbq}eLwANE_r8uem+N+r+5F&6XgE8= zFPmJv5gr5EQkj2kTa!5hi9pxaXs$QUBgHPcD>9uLe|CFmU`1~M-Q1l~ieZ-!o> zrRy|ulsWFrrw!i+`v@EL7$id3gre&e&M`tB|97NE{{|EA!-r=I+J<&^@1SC!b#ESF z)BP$pSsdIS%V;wnxaWkyyS^mxKO)-H*BSd?|UWDv2mh;wdfq&;Px_nID>_1_aU zxV%+*v?>D5dSo<>A%w(?!%CCt_JceiBLj=hn69;9+o|c1n9R2K2a-D{_JOd&ob+Do zY^knX{c5enw^uSI#S89n%dF-~c~Z>%S{h{*WOYz9d8I4%JU-m5K4iXO8W%^D=DJnt zM)(e!O~2_*i4k*9mjvKZR-}?Z2``7wEh*QTYT^vL!EalK5>KeTxo`&wlGj%)9EwhK z`wNBvwR33qOTR++cxLPLNXM7K5&48#Xs>Y`c9lOpqBcgMg3W`mg2t_kC9dizl5F)< z646qQ+$je=lQpLEZ8Rmdy31vZE!KABkt?UVmq)G@>QiB$Jv&TqO2CbaP?w(u~ z){A(5qMC9GJ=skrai1q7L@M?bh4EVZOMk_m)#oWkGriS=gTL95@~BACT>$d z$_`5`hp*8)y{hzOvF_jszp1TGs>Ef%aJ-UCONhO?Ioz*zemVNMdA2$LR9Vxd4o`~n zqA~MJ9j+RY8{_n^ zr_$Kkh?DH3N`J_7burM~xlh=@mXTCt&4WoHz${URcpCFuwL|XJvw8l&=c(xwG}Y?pJ04(j;>XuT|9hBWp>Q`opS#1aJ?9CJm~Q+( zVvU`lOsBPkFlWs6mpa5r<)a|0?HzhtTen%IdgSZy;AH_YI_sdY5No|b7?3y`=!ySmDDP3e;t4xy46j$K9y z0E?^LsuFk5z370f)WKr4Gz`~pA=`7~Ocd!}LPp;nk$W)grsb~80Y93P>OAKqWb-Ij{Ge*8Z=NMvV|@K>r(Q{5R70Z=~^WfG7U*ukfm+>rV2W zfoJ>ge9W(E%~!K%(^gb%jYi;&CRZM*wr#sQ#6Uu@pN$jIiIg~s_0)Y(7vXZlU1xyvYu34qzSzT(17D8tUkW_?ykRh!7nUv z(45!Zsm=EVkzt!(O{Nr>M(-12d_DEC}7$?f|9co|H-D|FkjQ|7DP0!a%V`d zXlE!jbTX|jgNr+HBilBqnFx9n9i*MtHj?OZkZB-KTW*Z`#T=&&HtJ8##-2ftD;n5^ z2_m5O;y{~6x9Vo zF^Wyb4Vup|nCnVMK?9kWpf>f?CjW1fG00=3EwT3gUsO81YH2c%OU)kJemc~!D2c^N zWw}W!Po(QRfDVy&qS=)VwLB?VaE|`TT8&!RZVCG(K_aSE4|>b}5>1Xo&hIk=r(ms& zVG6lsR*D9oXpb_)Ly|N?Zn@c$!hVEobx&NDs-ZckBpw5qf;a!XGhG|w`WJV;yhSf& z1~S@u?~Hz5vrnXJcz!~|g0p1T@~Pp2Wu1G5VG1Dcm7N@{467b$IHf!j9+xgRax(D@ zXv@~w`2d;yxt26n!h;Fs1#{e{R-G2|0o1yq|MXWmmo_{)#Bq~o&Ft}zo+T5AR0@^L z)Oe}=c-3P9spQkSovdFA0H%_ovN)Th8C42h!aA~8+Yn9T1U8qR+Z~&!QWM-TsKIS=T*&&Kk4)m|L|4vsK;UBt$26f>aJ~Z zbphhIY!$ZkKhf8W|3oDfwOVm8jM0|J6jJf0u5Mb#3~Rmo7vi__A%R=P#O7i61*j3b zBD2kuqUP5Z%Q%-(ZeS9Y1yJk8{=8Na#`k-G6Gc2{>9gNtGm~>JRl>hzJZZSPDAP65kOOM2 zxn_T&O?t%rKtiqd$MH3!?EA#Tdy z<8ddfaT(Z*wl@fNEzXPo=mn?pxiPKKJk=cgD`1O$LKk}y3rXhk+ z&39WR;cKI_ULqeD{%M+O3cc3YP`PeE|g)C{)6{WpTjpX#;IZ(d$EPRBC(ilRKB|@P7hJalR#h>|R#5VBvN!^v+-6 z!)-u>tzH_j%TnjCsH!P{A*h{NND}SkZ=o1(7$DAnL2Gp+SP4;&zt@#-sOKPwpctUW z+QQr3ohnk?(E3ZRsS(7&rQ0J6M#zVh{G3vR5Q_NG67rJv{I~F6>hL%DrujX8dv+`D zISQU+R0O)-TX6x6p+5|2(SrAg=)!`m+lLxXJb97K*#MoE0W7Ig#G_|Ep$Zd>K;Zjp zfFu}ZirMqEH%)Z!>qAbiB9|*vNqiaJ-Cq66i+W$3Zv$Qf%|XK;&i9;u?{=pCHwZU( z1kza0cjC$G5Vgxbl`7wZ^1r5XT=oJ6#@+UpUu@^uQ59&eMqP~2sC!N5^KgP}cB&J@~ZxMW-3s)lNt5}yMTM<=rNLqLc6whs>ijgy=()8`nZ zXyym@gVNJPZiYHqW&Y&h>wj+C=rFaJ^2Uva`COv~F9Tf#Ut9j84AcIiwgV`|nwhGW z3U~Uzo*#!D;w31q$S_@(Ur3HYeJlf3v*FO}c(VQ_(4kZ#@%d;9Yy7A1pWMCL^>4-m z(^xIH1J;~CH=7HdmHgm|yX&pnUr}>gd#_M>nF*tA*%Cle1MdUx!b4}f?8mmF-;}@) zBpyvvCLScFHUiVFAf4LrM^h?bme%<7(f79)e%|`H$*Y&*%QaBjsU6fp<_Tb&Zp~%{ z(#*u$1~Wmyfp0HfFJn{;lPsz&sn@;0|R4i8qb#tt6%&zRx=&qrRb+e?*7B;CL9 zy|{X|jJm(`5zL~~flJN2<>_c?x5FcpN`1E~q!}k{2f5?1gQ8y&y}5h;T-Fhx48E|v zCV5A2(0$s=nkC6K>{sL%k<*dOKX8r1)~Ys-P*}WMU=DZFc?X4HB38Lj*YhX8S>{5e zU3%tdQ7xV+FT=?M1x5@2N&^S;0AQ<7#Gy^pE6tUPN-x!gV}PsFc9n>izG2z#SuGz-G*9`J`c-U~XvDGNy0^5{lq z{GEqz`!%6uULBUysz~ui3N7RRck{$>GC4a`?9=g(M`&%o)PPJeU{MBNch*; z@XfzX^Ld@D)ZUsY#Cu)#(3y(Jifp!HcB&!ZJ@kde(JS@v^&EA$x;~&ut)){p&jr&* zMb59^#pN}j>YEW)*nJRN}so+8t-x{1%76{;nQfY3`zZlk}K#t=;%t%y{OI{Gg2 zaM32P9^{}CDT>^<#QaWIWz@q|Ku@?nDU4E7C_+r3JsR$RX;he`Fh+Xfl!DTBz#W)_ z+kcX#Oo2|Nt-w;qP=Gg5r_`MLwy``!w3s0OGGs=Y*~@gzPtXB@F~?~sPd27+LcA7y zAm^?ogy&_!A6i>%exy``8}2<|59gE>m`zQN&jJQRx#ji3V+E5SogzG-%iEUj~;5aes&oSZHxM0#*y4eH=>N0_@wkrrJNK zO>rVdsweMFPCm5Jb6&PRA|zVHhX%`M0};7 zwD4Ta(#P+gkGzkKUGW>-e%WL`oT@9gIbni7vty-lpK)->buW!xtUuQFmUrJ z@dva(bvdll7M7Bo8SxA_B{WaOC$JVdfS1J*lzD$a>N3M`d#!2i(VeL2%~eczwa|#y zYN!ogXMKnAm*IY&V+^(Vc9!4lW4e}g;nhrJ>7)6Qlt|W9V`C7w$xM6rP2G(V+x3%7 z8c3b)7gf1KMEHuer?Fe zg!#k4f&`0iZ~IRVY)d&OEc?SoU6~bdIO`w~GLiY)3nMhTw$>2?jlKf3h%>2i`Nf}q zDBx6G+ z^^(RlV|7q7-6`F~5#D$(TMe2~XuMgTedqV#m2V>A-?&U?;_>QBOYxV9;vj5>o%V$= z^3`drMEq*w#)JUnTBL9veKzXug)lq&wdPwl8hlrWVM&SmLFg`pucZN7nH@K8y+GXn zg&ILrtupF@udD&$XnZnbH#RaXPn+TH*=W3_3;I$A#7m@vI=QhFKn7r?so6%_Df+Ih z0{(iRNvEw2IwBHS_FsDek?ycZfGQEkuttP0kJsx&3M3pyC3qBpd6*e z?ykCrZKq6e=#8;_>yVfXK*1*{0mq-pSo~(4P83yQ0rkhZ%}{Od<$2ay@4IK0K-I>4i>vl@Ohn=;EZ8ghNp~$iR)tm)NGE zL9)E@#QSq$=S1X>oKRJ5`(GWr%#9Op;EetTmGFeJ+*~osbZ_T$gb)v#ToTTRaKK8q z5A(^l8$1rgS`6Szpwn3!S_R%PUz}olHg-locC>GlJftc5dIghp>16ZJxKlOqLPr?h zw1MOP0s^Kx0WixD)>Iov=YjJ2=v-NtSfusuJL|mzEznEX^b}KDmO@RTO;^ivAQn8TBr7O-(N|H&XL7z7c4?I6@6Dq-@fTgO9wZ`^{6Qk(t@}> zI6R$@FW!1GX*nJU`otj>`bw4LE@kT&O}2!hMiHxTR{*hDXxf0WtC2eq)Mtxh+@+_& z?B{=f{p$|g+&&v)AAL>h)F1m&`+i8RJts+eSoZx5!^o}Z_kyRGm5M@cG%{yFil@Zt!G%0Q<{EAZAp)0QqyLSCeqdde-f%I)>6q zg^k9njo%$ZS_&q^2=jfp`rm;L6~@NGT1$?~fw^fM>EImb>$?HZXr5thZ_A8|z4lyQ zmA5rITaEJd8Wr5TgUKUz;Tl4gwr4xeH#VLP^8;OljyGSMPGHsIDm}1HpTa&$n~Z1F zXuzKV6s)fj);5)hxX)0rp%v&fx9A538%6jDi|%G9`)FVH{5aFVDJzWrY81#_Zk6^~ zC;?_Wt=SC7NqV{=Q}yMtom=#`dV&BW38-xO@CtIjyUC<`H5(O46l3m37}XjK<+x^l zOIS{yh<-Am6wo<8WJAjlnJX=9Y%7=6iMexPNOtdO$4n^x+*p)(@1;aP!T6&zdKXJs(I4 zcE{YOO-vfJkVemu$|gcpwF!T9M4|)f&kB2Yk^y8+fh0p|fYbVQ%UEngsg~hJ{>aKs z_C(t%CPkRF4Qy`GQa}d3A4yai|qxCL-h?|4=GUxEH5vt2>cbAB<5V=!8 zSADGG7wWw^s}llT-A_`3+^Du5lG9`I&%kY5oqu-%ubnV3TP|(V*sYWRIvF5zG)EI^ z-ssGyVm{6l8nYcpoy{9Pga9e&$h!A>s+cOLTISAd(08u|^ec%!cs7+B%UT#cl7Nu1 zOwgZNWu}}1^GSSzw#NdS*V?OM-22>e8^X~jEyowI?$+(VA|NSHtt|@(wYU288w*eF ze1(ozxm~E<^0jstd>atpzcwnmGIGj3Uc$r)VWvAi^6HzW3$OV@FjjXWVt)0FyFoor z7w-e0rfZv`EAuHMRucHJpvVOujReCD-xgn~7&1<6XCu!Psm$P0n)SBif#F(OV7*_X z=2EoRvTG8sng%BNe@Y0c`vc4OB0Qfj1uWVmAU=q#yVFq}coCsC+++}G6>gio8dg5P zvH_K_1k7 zch}a{sdhaUi5qbnwlFsFQ_Bu<%X5&t`h+0_5i0hQr4qn|>z>~Q*4rc9{xOAJZsbH8 zA-4ij(xs*e@#}jMR{<8}Seu5VybDC$1yKB`fjjsR(rEpdQ5a}dQ&2*ZJ z9(f7S2Mrh6*4e06K<-z{{QAQwO1hh?(Kg~SzP7|u^Td{}NLDY341{>B4qsnw8NLlm zc3}XymXcxsNL1#$)d-@L3fS2nhwBtwwe+`~M6$~NrMiuHY}bj2?Kay_%FWJ5%Kf6O z8dWt6`0tiE7C%h4yVgnSI!>`eQ^#vSPkZDI^uwgiydw$%zry#ZSRKucXa@CNF`)JS z5aZg7+-1G;0))~DQ8($$76HP1tzwU^Yx_UrQvCAoY)-5Q?Fknkg8K{XKcGVttpo@s zNDk60uNymnz@>7vp1FqTLjwR#&Sj_uhtX?eGLyaulK%pTe9zLBeiwL@-AqnwG0gl2 z{@CNy1XgwQowjAsJk8eAOWcrjh%B zypn^b$esnTknqiW6uxH8l^ERt;%%LT??Dh%@@7~G=DjdTA&kQP1r$rQ8NA#DDS*)a zbj426`Ww#uQ1t<8%tqdZ)-z(7hWVnWFXX!7mX?YuhQ@x{WfdYg&Y8zOY#Yq?-HZqs zB1&k~CDX_og^bb={~lYe@tC5JaYq<}LUC1**3aw7P)eeH+frPC3P78-Ie){)+GRL{ zZ@j*Mxv5il387J*S}Mezb+r%f!WY!o zw6bsmp(MZDHDW!<&+B_X)A*#53Ph%N$^d2&ap4t;N6xI&J`|5A+wY~4aQ(jklFd-B zvLrw44aK_sRMaYKg zfMDHQryA&=nDbwN5dK;k5R#Y1csQ)VQ^UuPwt3kGW7y-^_z<+@aYFn$xX4# zyPffnD%86K;7lQEr+%d=TPI}_S2{`_W$IB0r-aswFkR}WUjEA0)sn>VEbClKgJ3==qvuprcTYKWc?pzw|_;>882sDU%WAq zu4Q{5mZ7Nes`k&Bc$wdCJ(jyF@$_`E+0FM~j(AOex<~zq^vPsoPP%_HX73*ZnVnT^ zl-Dhn?-m~RHG}(hb~oo{v-D_9hR_SvEi_~cci+Dt=l{+BM191foFbp)hTHVGL|i|o z-Wwk`P9v;wTa45NU$!ciGGH@rln;4eS;a96DZw#j}DTT`s3%jLp%LU6cV{;%VTChlcTRrDqf%|N&NO+YSo>ZH; z=Fpvj=ySrhZ)401lrd=JQ>}rDkaq#jvIiBkAI^xC zA3JY|^aFi{t}Rlj(PAY05Y|!6#(gEvU_6%E4P>m>(v4a1K~yhAGr{l7$@N&0V^jF{ z^kC3D5c(8_&cF3BEBEIy={>eF@2D08J=k>hlBVeGuQxIW?S^)2Snf=>_3br#q84G% zd3Lfw^!3_6gn91HYDY;qZ^J`+Dc0J!QnLeBaSSOTQj|qaP?pWa+n)9HZGc(lt_>f| z4w^!^+#Ow=m)%=rFNbGM`Vp-*Qtiau8p47&PJ6xxtn^^Px6He~~CKJ`cU?sC1SPN%2oK$2S^>P{^|Q&AX5t`Ut$8fnjnN+3VbOoNLKD z@cAi7(=OR2$fE(+L?mzu-O5Uxe^<{FQ(XO&Ix$n6=q|(S&fj!JS}d{ro<_Rok2(fC z6-5h#i-4z(+(j)Qt*74CZt|y0KD%1nplJzSj*S7PaK+IOx5&wGPsmbBo?1>rfThCH zLZ`_Y?z;VUmGqS6mNGHXwtVQSd2Dy3vUo2qeLXktqg1QJcQ;3H#U>e8rp3CzE>}-P^NdEeqqj zm5?BhiOp%1Pi+>&I2^;#yYrU$Y+3LbRGqhf#B@a$M=D^-IUzq&);rMzgbiTUSF93h zQrmMRhhG%#zQDT7G;lFbv8S&fZ3z;e@2j zGO#pplp9V+7Ht zRM(3>5ldsw3(;?h+8_H;W}Iht`|N$JTw#0n*rldR=26o}RJ{Zp^fKWJ^LuKPc|C}h zxQ#Ew@i`V%0Ae+YmM%?H$xM~4!A~|6YDhh-{*-GRXdkitbhp=DIqbDIZxr-}YC&t( z_9%MUvfgr?zl7h3fZ*p#%B>&X2LLPiN7^OJKSdvxF-e(r(mNx3K9bdStyQFyZGTB~?aNUSBSb@O4~2J;Xe@2qmr$3;AHNRWci98)USo)~Dt`Bn za-FFE;j4CG#WAUot0rd9fksD9-gHGTl;M0kD#Ezwc0lijoq~EVZk;``z1uuoOEB=7 z+o0VCu<09mv3BY`;z`lzbjHZKo@08G?9aKyc~|ZekBKf?m@s*Uk4E;2eD<1JEd0dw zuW=U`-17vVQCjda`6`A7mzzbo4NRhk8>8={Ef}sF-U%NvLsGo1ky@9$_MNv|_6WPf zQMm9NC0MO7&n~THkq=o861=}%cCl2wJICa^fhv-cH`)x5(+HFsCuom+7iV}AW*=kl z<(7WewkJ5N#!jGoS>4C7eX`+1OrG;&&0hOkCOryKpoVA4sNXovFWTgkkdcuLS7p|- zDvk8y$ShEF<^B`VVB*o?4B(RV*k10dw=FH|JY5k9Z{H~F2#+K)IDgSw`2=X)q51AI z6s+gqR;Md`(0L9d$E9A#Mp>bD35GxK3pu;T?uC2KK2&F|yZh?X7@aHBSDIsleNpI5 zE^J;hTQ5cb`f6^jC%1%XW0`GqhL;9f35I~P6g0}Py)_JJ(!^wqk5qoO@o>+R!AgK) znIEA;{_(Dnl45Q!GgMV@4}hfMT(s%E@^-wR2h6D#tDrpA@9W_b_3KwHHu0H}wujiH zr+PaP3PC#KDUHN)i7&jO!NOAW?;DNQb)piT6_*}7ZBjZ%7|G5KqUI@T3I@i;s8S#L zw{q>ft7u8rx7m1H)54nvEz_;?+9AJlfY|N&`2CzC8UaPU`d@d0Ehcv#$!M;=>R1A( zFDn6yO*9!=P>@ACA)OV#QZ7*$?|nv|Wi-`>2k}c5LfPv}75iSJCH`96vOLH;;_+-k zQg3%Gy9;o>w}~?a`-5Iz2_AkFuU7G3U~@@x-)q5CNMG}>Cai%R$==m=Gj=86r>HL7 zH!a4yysrET#B*}fbpqeh@!Xld6Nqy_=RfRqh2S~juDQT;&!<`vj3RrAmNfUiUX#6{ z;5an!-C&mNV(4HH4Zx$K;IW}jGt1@MNI0!@$oxfumLimyCUSnIFV|3WcYMUH26CaG zkpi0{AUwF=#?)4p9`oH@k2pCJ;DuNU&H>#of$^*(sS?=uy3-+Pa%|VD)8H;N+08RQ zgCb4YNO-VhjG3$udENN1S6?m1A9sOsud(Ag`?3)UC+I`#sUgpSiaZXQOC&;b>VB50 z#wxwn+dGIF*d0I(?!o{c{No+YXmmYy=ZP8GG=IMF>V)NlHSZd)JF*WXVWpC2tQnA{ zqk{5mtWUFEdE!+jT|g-`UKcErJ;npZQB2t0*CAO(Z#0cVMwT|m+T~;;!(+BLa#(#P zXT%gUn$7^@hFGUf$U$$DG0B1>Iz8Dk(9GNZzk|+dlm~@|w=Fp7`Co5lJxi~cD~HWg ziO+Yq({kLK3xG){V_SHLQg!P1|4n4||Ni&-@YT_z%(%na=*)dJCM2g2CPc1Rz5ZXF7pM?k!sPlI%t4`fFkpuY>Mhi59rlYH{7o!!PEFFRDUP;`rrsGOLKmrvahC;bII^vSKAxD;9af zHL;?PfUi*>VHIT90O*<R zTkESqZI2nAbW*8ovHE7eqJR79T*3j+){R_lNBwF=!dvulL_l~uqtxAqzp|(c12)4x z(t-6?za6QKM8M~ZO$S!_$teupCZ;fe)L~7sQV)TwX zP7Ux)1gg@>)D~7PA9MNY1vzg>SP6(ap_Fo+$U}E`mHaq3GlN?0trxuLOl4{+jM|iYw5kzJip-t9t zg#k{kJG)Hf+47SG>~wVJ63|q?j!GI}j0133?GQ@8EYYp*lvK$2Z0;-M_F2BMKP|l% z61z-Zy_(a!(XUuO61Z1>w(o)A871eYU!)3lY>aDnh9Km#+}Uy!Xp25GJn%NmfnJqX zx86HOmH5yPIih!**>L-o!UIo5p269qJgGW-mECNaC#6z7fY%Ay_{1XHP1bcOLO~w* z#sE@J&H-W#&{sBkMPKH5oB=N{pKWiWjNY7m*)?B^xoZ_yFxcUpXatO*ot1+#)A_V^ z@u{!2C!hmI5B_N(S>L4aZH>u;@cZt#T&$fckj%uru zNYW<~!VWOM#aMWK9-wD7i5J{>hOgBov`Cg#(Fz=c-{TG;4J?9)+;Pp``e1@Cq_bxU$O?9=Wn47o_8EAf z23xG23r5pQE*6&S?GY*I?uqVSy}?MXKzqTzt+3ipIhOhLY;!(kkc{Hx3x~W?Tg)&p z+AQM6J(-h(a$@=}GuF!WXN~#43+77_4ZmbW`hgZ!^I_y88g|z_!#(p+98XkBjVEk) zL`A;}(72#~!ZJ^Ndi1LUmtk2VhGOjQ;t<}FSE8Duhlkst4r)gqa*M)~d>^4vf+ngh zU$?IPspN@DKs&q1$#K@I?9H@0v*!zBOgC^8g9WiY4!XzI;zJv%)HvEbK6=NcU|e#H3hitfq4{9N+bbD^qd$s4-sQg4@tG>c z@>fRZ>o(4vzigcAe!gx#{H#>!yvO#IePzm?xE zyKbNAO;i?L9D^iQ;@=ur1Lbz+8+_yW0{cGO6c7P@p3+^%}U$pg? zeN3A#DN?>KbveqdL)zpRlKgpEJQ3H@vQeIh=om}w=>m4En2!B%psk7)@7oJp65c+K zynf5mGgSy0FKB;oWbhfWKCq0+!~>vkRgVfzU6q0=#x+a$pl_8jR5|lC;Uj}b>`5qC zjkb(P$!B%q9{jxt3}*9F+tIwBuCyg!H?YYLPmdklr(mI&zeyxwk;CBPg1($rk$_X) zP@`p)AU8sqAK!>!_%p{Z#@M*z`p&od2)WD&$qnsaZKj~zd5S@FXWL3ZxX1DE$0|o= zJTGDO%H|yt5|vtxE6UVJouSp$;L0e_DR2tmvu0ZrP->)0U_VoZ zvQ=7{R7mwFcj*)_Mqgk3YJWl+dU0tfNbKvv4zXlzjD77Se~UtPU%z>g5_sp?5rgB% zW)aVih<~clL3Mcv1y^#y*Rp}Ul2laqU`%nD$b+~cP>FoOzpDe=tant zUUyeqJ<9%Jb67ZMbk7%)zZZ8LUwZ)jqL11+@7*3Ym!JmXgM$YD(7k!0f&QT*#R=eT zoHT&62N;0KuX7PT#OV3WnYUqMUi&Y5XWjHv7DUbsj2c{J0T6H(tD16%_QD_q=={$# z^QamOjQm3`W?;2|nqz$5jw8S4W|;V?1XW+3$39kZ51SY3VZgT4M^%3G*|!BD?{ST6 zdwSkgLVAJ@q6Z`&O0&)p(of8|_F>y8Rs)l2faQG~QxSa%2pdgodmJMZ=soC^oDE9? z{0jBj7@$_7sL{DU3Myt5E9$Oeur|G{7*@FX#Smpj<|ycJyXK6+}&KPIP4<{mMxvw5e^-jG4#tm&E!;5GV2_o7owGqA5v3)Qq21Zl|erkOyw%9h7<^10n$^RA4-d-tHc2K4k z<{YY$&HX9P0!Dqy*{ayVK@+=89-_`Q&1cm=pzh3k(~#ErlLU#&%bEH}8@DgpwWldz zVSa#6l8LT86EHq@*j0(KfKnsW5|G9g*hM}-2V?Pt!~w2B6FLSM9bcKvDpFh@U)HCuw_ zTp<})OU=WTbJ?0c;a(irceexOr*tnkpl9BWwipaA>#M%ZOZe<;(A~c40B0fWxZkJ> z-OiC4?G)O6xZS9roZv)bl)gGTxGU#oT&SBf34Az1c-H9o*b3 zRg)W!U%4bf1U8hcWkzgo)=z)j(AZ$u$Jxp4EF{#s4%q3ox_` zBQ|~qyK%EqSyH zm2!6R@D1)b2482F1@r}=70P-T)AIGsFn517H(Z^o4W)ZIw(ka?*&QMO#4~Wc>*;ug zlk7V4fnp+D1TB3zc;#)ftxlO53eA;X8~JH)s|SBC1Zb*(OVNss%5`MYktWuII55Wb zpqN4Unst{^WHKtZmfbV2-5$aU{l%KRy^!Dl(cL2v48E9iD6!1_Cox;p8D&=#T^pK= zTpLN!@l-?@=>l%|hI5bW_B=rOzb35xUC;1Mj;S+0(M zFDiTn0X@rfodc4QSWovl$bI6Uv~i%XY|o1T`$Jw;aYB-3rlEePgRgnB?Hx4>%?5p_ zl|UqmbP2V&e|2SmeV4Uu?;JdIK(Ev-mg4Vx)HAfK68G2@k>a&jU^WJ9(k;z22=Lnp zTK290o5E*{(X*u~p-dcPhGB3P@VXy!J+mVvKnqj*Y)^G~0v(MKJv;^*RMi{xh{a{+ z*VB;8GQEzH2d{VoYDz+N1budNB2o<==(U@*UZOw1c2QfM;+;*x25kG7XVu)h&shb1 zos+dZqKv#WyO_HGvwUBbA1d2`huLQgjwn0=4SU~jTL>-K=o-aW=zm*bu6KzAHj`U< zyDT3lo<9H#`OAsZZFFF?<(n;QAef7BqKay(h0<;^xu~~j*s!_MgI>VNT;CkfgT~91 zywkv8ZA^F?CX{ht7YXBF_873mMCVh3<-wT`KbP_Vbx;%!M+?YJmEWDX?9oQ2&*+q< zNH!wvaMx-+nBWCdtHr3SiJ4E)2gV5dZ=XgI%MOptTb8_9FIzE1K%bX_d_SyiY^(yH z={`{{d1a|4ALZJ1OY+B`b2o&uT+D|;VKmf^uP%GxYX@9Ko|B-CYQ!AdvuCF22CAga zhxYpT{rOmXz`8%PnmJ5Dh5E54!e!-u&Lyg+xx$QOVk}@9{GHks6KKuyYM)aWzhR8< z!|kGQ-`bVL?rB+96i#EVkF*C z&=JeGXeG-{I%WX*{p+&ZCEb;@#7FB(HRfZU{n>>;xxM zRvQ+GJ-2YN)kH8qPd^yBeFJ7cB&{X(^JR5vOzv|d=U9!0EEtF*a zTK}9LV_&J62QJxomu-|^gvE9XL1X%nucaHi@b+pw%Q3*q#>rrvcoWVEG9pI&zoTQs%yfLeuJ;X2kjPi%U4B-WDL5fN!Dfd> zBjM;(cD7*aF5^?6=E?EHDg4hC}M}4cL>hY65)uC^j-7w78L<0NKnuO#;T3bJ+U3tVq zmXQ8f_Vp>h4DGymOu2^}{;WRP&h{^q5My{|7=6=4$vEx|rZithjj7$hLc zSj4hFD_Vfgf;-asS5x7R5{*blp+IP@taVoCBsK3lNRX+i{&=y_OrQL4vH|#Dx)08m z;K8?S4Mshtw$5(cdPluM$TYYQl4xeDSPSW=<8sEcVkXy(yP8dk6ppFO#^3~l;xy7s z`$jL&drT~d+XYnpyw!J0|D(M#4{G{c-+mCQ?a!*mx}dVP^(YDgT9mLQ&|{TK3Q-Y| zHEPtz8p9$>NTT&9%BmuuEQuRCAtDg=q*fM1NR%aEO_TtEBqYX=1QM3t6WW<~&L8jp z@63Cqe>k0S=IczJ<-V`$bKTFuRo^pluaUQxLHK^ae>c~sbW;5~wq@7OrVNYNFi442 zV6{gI#-El7dsJD~<8*=@BV#I19`C?plQM4Wrq_Zzq2+D;new$^8(!5=YM3?rn&pv$ zkh51F!stIpVWe{(_$Nvmta^Y7q>~jRDK=n~+S_NyR6}9+9e$3L)#T>HPus;erq!hz z7fDTZIrKa_MQfy2VvIpvPR%Gd>`1&Szj>6xdqQjxHYt#uKPOE_xPj|N5#C)Tq%i72 zCz$Q)qcCm5d(Iecy4HyZH6rs4ICz5uk<1Z&DJ))`KPUOU0mp5?7|^B(n#8ugeQoNB z|00q9SsNah>jy@X+!LAXn}WR4R@i_$sa-g;#H;I=Fm-Uw4vg{$sKF8CIt?jELzJS| zJXYxp1FOpf{|6v!MF&DjxAX88=!_)QG9xCMnT;M6z$k^>St4i$+xWehX>GwM6Tu|) zR@@n6e|2r>AU*iEfcj68xzB1^dU#XgSP?}v{){oyv#6~p*f>gxsT!?W91(u~$H%@y zgn$S1W(&H(e5v5!7f)=@RZm{X;1|}zLoElj_F&#qYJ|~_a%bGhFn)pPYQfeOi?3kf zJgK}t1~Tld7Tx-(+DXAVPlv_*!E4~6#q^B zrlufl%za7K+WBDvH|;V6cEx(gygQtbIP&?UCP$+zJ6g7m813qhOKbp*6}(s2axfyX z;@K4CO+j9eTodAhbWU_&ja02V`>{LV5VfQ>oF7;aFS;9@IBkcq0$ml@sQI8tPtHY& zTHY0;1fdwB_(?lhO1|S&$myV5*;J-8?@VnBlPA6&D1Yl}+g=Z~y#Rogtf&$B>+_0O zx1;Ws;L`SFBs{gL)OsMkb>xlw4yhH5sSEOE21}Rjhg`RSTC+?L5DkAH#=}Z>o+z#pR@R$KAEDbfZBLFYPmbVFwY&N{y*$HT7MeC1 zThnI4rQW$=44XHbAT!*U$l>@)irn)}u}=5Ru!LyW^20`YYZ`2JB9mP?R(EdfV?M~R zbXMlpb;9DsZ}VvBO(sSI`B|F%la_=i(DGlI%{`WW8*g=H3us17`ST7CGCnXJGJ@Q_2Xx!Mr;-G~MNz=%?y)(N4Vy7bW~N1uHAevI^t5 zPr7h&SzS}dCkBH{{&C0Wb4qZv^*mMOII3scuBT_u^{%ZGG@@x!yU)BSu|FrMg z?ah;iY+GOLoGzYn_fv~Pot^0O;jnez-eqG9x~L80T|};y=EprD!3Gn`8C{#=dRdYCr~MuhDj>JYMlGzn$Vb-n$ebCf zlBj;wXx>xM{QmV>LjT1ZC>5=|FzR!`rM!q3KBj^4^(`Z$X~L_l{v85--@7-!Qhsac@ijH_Ij>v1ZpK%E1voqG#u@TpbdxN<4L(v{V;s0Nc_H z4cPvyJ^c*;9Mgk_yF3ML>uY_1VI6U2*!jhed&oTxVJyh(sIECl+F9^=Y-6Z(ilFP~ zbtg94cITdq;(A+GqP7}i$z&KEGMn-D;yzDGoArIJhI=rab z4f-|;tOzvi!>mWpDPiDH^%HwW{pBD40G-%j*2nE2p&AaUHuQiJuzp#byt^%a93YNa zHt4RYxp$2gYerkjbpl~=#*QqVlf?V|jv(1@=xlE9kH%OBDS(pBe%znu&`?rp97dBS zW@+~J;EDv@VBFmr-h8H+uKg^(>fU}@jjz~jJbbQ$K_y@E0G{t1A3}IlP_=a&MRrzXG+n2P&934gg^O;RZ2S8f2*`f9h zR<5yg)7+m=k+Ks^o?;Z-8IO-dK|#&2G*6!#P$2okwO>$zTMgA?;hQVczIK@?JiGyk z-EM4A?0!dGaL|U{9OIFA_0>qdc%(XoI}0Z;&Wj$5;W@vo{?FRz|M&mfz90fd(p;%o zTSZ%O>sZf7eF=fMpClU=eA!rF`mWO6%xcJvIj7T*tO?HQgZd}5z%bZiP{Xk7j14jY zLWy9K5}urQ^=f-|heIRkUDb@7%t@ZI-Ii5hx={56dK&L z4_g}+kNGW^_iz!!+>DMv(^LB?^?T_ukC-M_vd-e;up+CNUZYy${uW)U^4OujzvYK* zLAYbMj9~FW&b-EaqP=GMs~q;ebhFssASEVdwyC%2Z0c=l#zruTJamvlFrwB~-oCdU z*cEH8E$pGd;Sq6H77>dH{Xh19<=ps;YR4D>jTL2D!P^dnb5718$64;QI6`fCu_@db zBRvBUk4sj$-hD%KStZLU=2r(sbiR!N=&Ha*Wq~IBXt%YJH^DkevqmYMqVmZ{Szr#0 zxpjB!>|0Z8#ZV(kru?IFZhV&^dc@H1C765JX)m2SS2gcg__Qb+T-y6kun#-9gyP+| zjIj|vU-OHRYgyf34h;z?GFf>B7ywi+${yI58N}3#G!!{MC#GcbdmiWxCW=PWSii(O z>^ffN-?%I!O+1MlQID$PX3NEB^-Q=t#hTtuiwN{-mWqfJIFf|qHx;@itm$o`i)EHu zg;|ceqwr=9J3iPWxry|C6Ed;ElB^le_ax> zyH|}mn!L@dgEv0w-N0 zvKjWE<+n?4-{sm0GuWRDnpZT*^lSMZ1Ep?XObxQ5aI*X7ha+dR-j z^vX7h`GsYkGZyR5X*Vz_50ic50G+5Y_@ru1|FdW^-O!K}fcKRQo-mFVna-E(CgWwf zbDH!{UWex6q7TMYACeIJ>cJg37ks(yT#RaD)@=hl=R6j(PdXojKdSJ0{qK`HHD#A2 z#lc>66@@S!dFX7`QkFj3?2SlNGdjo10g$l?WBKS20YnNKj%K!Zkk`j+%rpU;C1Lx> zN2RiWtjU_guHU=FJQ_UUKn@0k5VnG~vcj?ls!O-TE|o0fhla7tL*SBskDhy>0ash_ zN$tA=yk^YB6|pd_@6%RHnF49*du#o4wlRzm&GHxAG@nMu%KO+$@7Q%J;8tmV!KlE% zzV)~W;G!LPBOO;PwhkpGpse*n$zU!P@&UP|WC-^1`TCsjVt!cwr^{?hzV zX&@wBuWwxVtYSH)-4~%;)*HXiIo(y@7-^S#czbWaR^{t1y|3@S0~qWDwxK=1Ub);l zhEmS5)86-8k!14@oR3pApQM6MR#pxqBKHCFV5Mj*S~C~YLJB+>?%}CAxXK0FX2Dqk zd}Lcp%E}KN5<_U?HG8uY{GN%1u$AQ%PWXPz(Lv&rxH$A7j~$tW0LWYt$r;0Y z{|H_BY|HZed<;#qzrSxV^CbvlTi0D}e=Gk}GZfIYbfu*`FmLjNo7l4(cqpKkx$^u8 zW6!T;+VJ?AT^_JdHx-EC#x6sD;rK1Qn>?J&34k!$t>pK;c816xIa=Fe${SVA&VI zsPNL~&dbA1DJIF2hE}O3(XJOVpb%GD_++Vk?AA~PFs$oZXH3s*+KdeDGQmJJQqY{t z9Z6%IlP3Xc7&rO&tCDZ>E_IhQgq9m{Y02qOBpZx|&~*I0xT~1QH2Ztvod%mL{-SS| z_ebRZV{OPkeT)YNz5{(5+r$$z?cu^M!&!yZ%;0+?RKOu?005PwZWf6JOj^KB{Muq{Y<}@`pzL+`LnO#&oAs0u#@DD2^>b$>yct&UpW%ArI6X%ZdI`lKEoUjNd#B_j<%vPXC5; z48WN^JCll`sp%jH)T(7Y+~Lo2Fw=3zBQes!w$KC$9Ca|pO%4nF??mMPtcJfODqoAx z3w@dAIb)vZalsJ*eQ@V&rg{c9pTx?z$j#qu5T1`p)M-dL42t%lUI_sh2FdIE_}eBN ztuug7f>W?<+uR);(eKd4qqKlKssAWAe{-MzGswln3S5w1x zZZ?RpbA&G}mZJf=Qa@b`n=hf!qn80>c0`Q|4Eu{MIAC|!-PEAaQkFb(lqj+*0^?TF^dGCSTkd&zjq@g z-6pmIARaab?iL~8!?8YKM&Un=Q4Xv}>p)ipHYx@*=}#wf5@eCWr`#M`0@>aJOhf@B zaaPWxqh>q<>K#5xQzxADN&Ipz?VvPm{U93jJw~w$F9sG0PM!4BUD^+5Cn3GU8s$71mPw8)iNefWIDT3s==AE6x;bIGsVGA8qjNcirMxS8{DZon2-cQU;s&$ zyDPHaa&%e2{Bpuxs*S)qY5J8_S`~e+&A?yaQ&(vb6dS`tQi_?yve8q!VK=6OhL!5< zzX9uxKi>(P51F-%I#1m;V~lJ=5+r2<01@X8`JX3Y5E8L@8zT~7G^brz1l&P|`UoE{ zx>egIlP&$s^E>ZAna}BBfkQQY^o2kq;As8OYU6M@0KCS|x+0g3Hx$!)0C`FtY%Us* z8fT1yaXX_QLe{%p`&kMw>9KpYh_SPs))VM=$d*ZJB$Ai#WwKmQxpu8BrVySIkKpHn zmfxtQ=-#d|^15wppn0ugKKsdDbVcikILgu}EyZJW%C{$w3sUzsLivb%%|~Uq_-eOg zhdcnBE53ZE@9jldksMy-DW`?B^+&Br!x$p-$(qX!;Q^`va1H6WE|Z{yAW0z89HGlT zWg+BEmZ5@m8D8|*D`KD%jn?eNFX+X^M0KR4IajvqSA~^;{B%ZQ|99+`SocJN>qQxw z@Oi1cIztcA(sZ`7buJWqdH96`J|bcF+F?XhUG)}qBCX}=eA&4_OMsg4$GvQ1ff2rm zR=6Rei;@}S<(d#wzMFwZUHsAyfQ;MK*3fpeXt_j+qg?eLFRv1DucskjU)VB=RCSY6Id6pKsaK z0T*ri1t3g5Pxx3Tm4WOu=j`e?p=SaE7cTX`{25GfhL&!d6RMex@cxV_e;v@V!qv$h z9o{wEd_3zuc`I>Bx;}EN%X&Ko15Rd$dL#{n-;rDBeb`XDGQCyf)kNK0{{4&=594|} zG6)i`cY+1vi)IE8Wl?Us3$@+}9KAI(`?U4A7soXF5;8e0nxTyu;Y5G-D*bTGpG zi^r}6OA9G{j#@~i!+1L^XwJ|T-xo=3_$S_K$Jc;E0V1H_JdA%UJ1w|5PW>X7{yzFd9YG6dg>?E@|cwmZHxD5x9dHw8`~O60=oBD zW82CPUE9bwj}0ovz^Er7to5FdGOWsn-d=YWB%hU#8(eO z<=ZL(TC62M-wU+DKe_X?^!R$t?X&0mcOL((cj#(O8tX#-9ryRobI+f+lJ8*y-jWkM zWX)!5Up_E1my}-euGR+0#_tXK!^>ACX~L`29avU=wJ?#dg~__$QDg;?Ee`sq4j&%f z8S7LH59!#zf?GopKRPNfDzXW}{pQ?+ekfcXREG0Bc9F6f0uNEP_6k~Rvl?O-tA@mZ zc?o+97fbha8&e2yh+Pntzxkj2i*!j?vJED+8*Tupk;S%vsXkCB)uCvTYg9LL`F+l| z$7}0jRSh4!KgIlUqx)uDFkaxw(NY^?gTLJ#PykzkBsP{F2_3s~laGn1FNK>B8|~@R zkUNgCwrvuN;tLs$5VJ|BMfN4O*~DzSPo)L*Ny%{Yfi)XuD8S0juWvt&X=lV_`L1;u z2r%6^+PME1`D7kAyP`)*y}aZJH&rj<2ud$pvPlhO>p8*rovrH85dP5C57DfD>k=?g zvopPBLB3W0+~EDjAtl<_nrpc)a0U8_-$gvs((?ntt0j%?k^)-xWVw0D6|S29taB3bJIcmLzTg`M^^GLx4hIT6syJqs@P1K z&d2V%XmBhX7tjDMVs($hd_`Q-r=iR5W{oYB*N6O_Nbd|-oxsL!q}^LA7ko&WY<;rc zqNyV3tOL>k<$!h2-T&`xe%s-n>%P^eSdGFL7vutlI3q;g|oYMqSuG{dMNIG7P`VG|1ny?tgj(J?pE{(>cp~E0>1a zs>TrtL65Q;K?9YEx=<|yVp|q=u>k_riJrH@i^TLN zddc1gX_=;zDyQHc<4GgW5fL!4v}nJqk)cb+{^5fO&L0)_~ByW3|HS@V92h_I7gwq z1)XW9@PVhcy~uP6*!Up-a%5g~GrN9zt@4BVbjw$I=KT|O0e5G3r7YlMzk^!70Y0_^ ze}^!AU%!rVWZmWX=PxBas|M4?Se{<}W)Z~1eq4iyJhr^RT=I=_lD}SGrNDC9$w@l} zDATapBqr8<8W$^%Pk=4LT4dyimzNGKa;_=_H+y1qSa$(h+V9Di9hbk!$Q!%K3`yli zFyR|)4aP{&zK&Pf8oT#?xAnV~xT$3nB4c{~diE}ovxdR7rCAY{?wJZf0!I9Z(Dp!= zfEic93eBbXr$49?X$N_Y!CpoY4);l?q|+s{^U?Wrwp4RtHJ&~B)*r?HaCW2XHIoRx znY(dUl~3*RzaSKECyK8sycPGFm0zIP+esAZP<|H2w<{pgLuX}=9osl%ni2Su^@i{> zJJ#lPW~s(@v^@^celMr5Xo8M z{L4w97P~b(Z=Nr!?dv^1>-$>AIU=FWjVPz;xu*lnt4D!e8Ndp$Y9)pH8uN*j&7mLz z6O!I$DAeVnDPfuyPvrb^S~5LmbQh9vmnK5Xa(vqOGkaySGbqBBTaqY$IivTT^xbC(bSu^Veruv65HZyRUR-Nb{-GuLl+@jJ4kd70dRcSXphW{cRYcpA?1Q?j(gPD)06__HInzFzv zm+_0jWFT(3*%$Ju;JL4Cf&0tso63*rZ2&nx9M)Z)FCZF-T%Tb3KeCdmbsGuZxnCf8$ULeh^?qpI0k zU9h#7`9CH0&n;Rs!g3^-4Ag=_r;-os*9Pd#dNY|zWs>=47A*w9HSed$nbR9(-Cg#+^ z`QKGnKFlYOAqmx+7Rx~jMw(kL<&EylGqL!^%ZnmWtbU(Ysz>Y@Vsf@S$3&~_SN$=R zoIza#|KN+@Bmuvs(aBP+1zp(7sVIh(MI=TS!nW!)-W!#EMda&_?+zRBv#XMi62+=N z)-r5Jmt@mbeW!1u;4daO%L;cwFP>J}>wSFYjdX(X{QV!{xu)eUyxP*FQ$v)Ho)P(= zQ2&}hse-MfU|2xZ(6QgkZgdYj_OBFnnu}u7JCp zLx&PCwD5EBIqlb8_3J>#;yj0%JsW)H2;NC~BEhHPJa9W@*GFMIyBLvfI?(YvvHE;4 zFta_di4%=IJChr`*P%bYUm65<#huXn=t~lRpGUgNQz?H>eRqC*M=c1_xpWlxd2OZn zT;7<%^+9bdo&sL>CR-2k862Ogq6Thq7ykAJwAK!;e=qH^vo|ZMf8~PxbN}zd67ySBnBaEfzvhdMCC-^XAhEAJ72(jT}o!8%vgrl3h17iY}Vv_9PZ z=7Fx#GvK+-&1*L%L%9LH0%DUJC6pgbTy-HzJ_@J4rtM7 zPsipbcwu=>`j2TgX}So^RDwaqjvcZ?oS0!4h`?a6xI}}k9giG=#2+Pn@k1eFo0h}5 z2u_}CsnT7L>+Sf@6}9qA40CS!={htCI#0|BAtD2>p6lDTVq`~KQ#0Agb%vE`^xybZ zr%X#)+7xw(pDH9kZr1J`WIC9%T=p;;dhzmI!q-KL=ZZo_kwOp>?hMW6#~2vdZn9MVBsB*jRW@dElI zWFkjp=hSrR#C}s}+lWWD`{?=5!%~V3%!F~)81D_Xgx;zx n`v12#$^TD9cWve6)&G2<`~>2wHM+l{2mW&cf8JktrTl*ZWuAId diff --git a/tests/test_graphical_units/control_data/functions/FunctionGraph.npz b/tests/test_graphical_units/control_data/functions/FunctionGraph.npz index d33b2a3cef41e3a891ae48da1f81dc9403f11006..84310cedb8b1e3304182805e24ee792c7fb08595 100644 GIT binary patch literal 6386 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 literal 6410 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 a|M?!{vaKBW;ueBrz|TqWw|3)Q#(x1NU!oEK diff --git a/tests/test_graphical_units/control_data/functions/ImplicitFunction.npz b/tests/test_graphical_units/control_data/functions/ImplicitFunction.npz index b9dbe9ec962579caaa4bcae40ecc1dbaeb033af6..fc7de179f1211eb97c59714e375d2ffc16a1624a 100644 GIT binary patch literal 13709 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 diff --git a/tests/test_graphical_units/control_data/geometry/Angle.npz b/tests/test_graphical_units/control_data/geometry/Angle.npz index 96cab22432d2f3c2a2d263383e54934cbab014e8..59354475b573dfe629e362d18ea9e8d4462e3ee5 100644 GIT binary patch delta 733 zcmZn{`Xne7;LXgU%fP_E0mO<7e{2d~{D*>xQgZbPAYmYQd-tGMa=6Tahb;mZ^sd-A zHqGuSnkYHL>5ZR2`Ky+QB{zADk}tcKc5S=6B~;!~vW9*7FQG!sj&+lk?mB(1p}>uq zldrXD_B_iEvOg4duD<{6{Lbfh&THH2?f`}KQPrcHfy zetucq{hNk2>i%awfBfw7=cT>z<>vD9-~Ze6@%FRF|HJb)ow|MN^_rmH|K2`cKXc6| z|EI05cgN_7Z(hiHjH$lu*|TSdzI-W}F=tNCJthW*35%YuzW%zkY`1J*U!T+7IR2$U znpN@)3W)sCGzCC`S5i;FLe(Q|(fbe_k_BS(%r;JH>{ zdp0t1nk!i7?6+@a6%`c{chBc-11hQ5xpnK-g8F*FXc< z@uT948UsVam7Lt%+EV|7H}!Hro`~)K(}%vV1x8-nyO;A0Jd}NN{rdHV5jt-9AREtK z{=T+t_0=rb_l!W^#h*WaCail^wtHcKh6`Ba?5R_yGS08Mm;vGX+Rf*m>z8g2K6lLLqU}KTk`*^|`p!l8`uakRxpe7L#yYL(r!Q86R2tjc+s|6P oNvHcBGcaxim?trEOa8In#}MGn$fV1FnsO5+pW-lQTL4b8050ESJpcdz delta 752 zcmew)*e)a$;LXe;!oa}50mO<7l{>RflmeLztda~9rR3^CY!G;R*U)=)xD5M)7J(^z zf%c9~-clTwxVINv_7yO9?R1^J)MLGG`zzgBWtrK3II{i*L$@v){A-zTdpsK5wmU{rz8wUzcxv{{8&@5byl^wSl^Oe}8)W zIe2N*uf<rtlq2JztF;KZULqn_Sg*Yiva3=Hu4iOm zSfVuhY}?MAI}g@}%b)-EuTDZzvU46k1A~I<>C>klzIv5)W9_-~=bbl3^vvT1iMBc^ zZn^z7ar>+9YqGXV*@`nTIAocbnH_rk`0;}1yZ7(E4g8cy6`WmlGso>bFf=AC+PrzQ?B4YBTvpMlz!EDKxBTOGPJs&^hcFuJ9gC4bcaVGZzRWD;RUOU#qEa+tGi H1t((wZdX^D diff --git a/tests/test_graphical_units/control_data/geometry/AngledArrowTip.npz b/tests/test_graphical_units/control_data/geometry/AngledArrowTip.npz index 77a28aa9d06d16c16abea4b76896ea131dd2256e..998f45c417045133e78cbbdade601ac05d52387b 100644 GIT binary patch delta 43 scmew(_(xDGz?+#xmw|zS1BewFJm)UR`40sfrKWH&>oVw0-pJt%07JMCasU7T delta 26 fcmew(_(za6z?+#xWb#H1@r^Q*IG9D4L2PdTZL0@m diff --git a/tests/test_graphical_units/control_data/geometry/AnnotationDot.npz b/tests/test_graphical_units/control_data/geometry/AnnotationDot.npz index c73dd16948b9af0cd7e0354523e4a78e5ae3d697..ec1a588228af968dd66d03c5b7fa0fd1199c0502 100644 GIT binary patch delta 621 zcmX>lxJXbcz?+#xmw|zS1BewF_}DhY{D*>xQgZbIAYmYQd-rTsu%igW1CQOGG&glS ziHT{6Y|qTEcPLbT;nn49s1O!Zy4bF9sr?TH-x@aaeGYk|ERF}?afKCJoMIU4;o;?^ zsZ}g~zmfmhxigP)_>GI-?Y91&cfYn^>6cAkR&5HqUvp*69j)-V{WDgEoSyo%_u1!X zuP(PsYoFa(HRpWT{G4mmpJ(@n&%auI|9aZ0r#E*>U;T9F?9F>Gs6nT3HtW0Bip!CiOX9htRCzR>^9Y^!(%h6bh1^nk;rS3i21Z`mi?x_z#E;_70F zTYEo#Jo(ZiH+1#YNzZwK#<6@nd*#F3{r>j#?Z1w%fB3ImU%CEKOw4Qd<(D~wgM&|g z2HNSN`)#p=-Eyh$;IC`HUu!$RcG|RQlb-W4Fig00@7}!yeqH7N)vkurzTYp;`|bUk zH!A1l85k6{hOIVTG5JySs_s{-*8VBjP+wnfU-=Ih5i3`&29p2${yfjOzx9rhiGd;J zR>u9V%iO=i{#@D)*1OMzb5xJk$Qd;EjTn}64R+#6csFM9m> ze{LIl`}sEcAdhC6NGWfA}(Y-4_fd+^K+BBc~T$AK0`u^Y5tgTNfL1K|L`J%rA vkHpn)WUt<`cdx9NxcJ`X&>-iQe6arqbAUG^lP&{lN)njd%VEwI08T>y2n8c< delta 663 zcmZ1^cuG(zz?+#xgn@y91BewFOlD4xvH&t0SS1-IO3BrO*dXxsu3`3MM+x>19>za4 zH@PY{w{krSo7GYl5W_Ne$&D#&N4!?+y;3*WB4Y2ld&~Oy2aoPlUD>3dabxWTF4;*% z&$>7{&8Bn}N!GF3R}{Zzo%i*8_4hlwcYl9>r@BJ*yV3VmI|8C>_XO>U)!0{O7^x%L z)qPs~eE75ZdUjE9kt>e=eD!DY)u{5i(#(I6Yk&W~m9o;H^tIc{g4fSNzQ3$m`C(bX z$wJfVr&%`#vi@e8#K>0vWBR9`H7mkaC+6nrrbLRFnVTQ}^{Z;e?Ag}U(|6ecy;m5v zGUU*|e{~Y3QES6Ark_6fnuUQu!u@NNZHd*~i8EK3Kbp0}taLBX=Z{t1{gyrxa{R5| zjh|%__sr^B+&(L$+d#6`^MuFYtO*okY#Oc{dbPY`JmV-tEJX9|NC{L*|zjA&|xccb94We zuDf;bo?jeT;m33L@14-w$#3wl-W;NW_xoCly&Lk6`qyd$HMAXxds$sw{ddimpD&*1 z*w3B5lI`~z^Vz<&*MKglTOFe1{GI7|eo*25c$<9D^T9`-AN=>~9V;6H!;j#-aq_3a z7Q5}f%jfOweeyLcD6F0qS#F71J8`DgyT7yN&GU;>XJ9yBar*h^^uHPcN$dAlY!985 my6|GgoK(H%D`62M`9r>rF~FOVNrV|K%}q|_FlVa(r#1i;u{6*C diff --git a/tests/test_graphical_units/control_data/geometry/AnnularSector.npz b/tests/test_graphical_units/control_data/geometry/AnnularSector.npz index f229cc8528f81b6c8733dc1558dcd9486fcdaec7..480c0eb4aef02ab2d9eebb17ec3606d3dd52afda 100644 GIT binary patch delta 43 scmdlkw_Q#uz?+#xmw|zS1BewFK5$BM|A&H&Qs?=Ybs2Ogzv1%+03%EfuK)l5 delta 43 xcmdlkw_Q#uz?+#xgn@y91BewFK5$BMFXdxkXke9O*eG?Lk6DCSWbzw6Zve9F2*3aU diff --git a/tests/test_graphical_units/control_data/geometry/Annulus.npz b/tests/test_graphical_units/control_data/geometry/Annulus.npz index f7029ef064ca9e90d51b97d180f363c90d05ede5..5fca3054c010324b081e8710c18d44a38586c099 100644 GIT binary patch delta 43 scmX@)cF0XCz?+#xmw|zS1BewF4sMr7{SO5jrEV!P>oVw0{;uQ=07t12D*ylh delta 43 xcmX@)cF0XCz?+#xgn@y91BewF4sMr7-Jrz4(7-CmuuL53R?gG diff --git a/tests/test_graphical_units/control_data/geometry/Arc.npz b/tests/test_graphical_units/control_data/geometry/Arc.npz index 5bb130ad2fc747d5ca60dfbe323b6de2af16c5e8..b7bb32bbc965d7c33ad4942c99842484489c25da 100644 GIT binary patch literal 3022 zcmeHJX;c$e6dpv1f`AGN1jN0S6IoOc3`99cDJlg~B#|AgfQ5=EDnc+&YZ7ZLin0ij zcnk=d#b_`=^r=FH4_@7??Ez2E)r%=Pou zU2F$I&=PR3hj3ZDvS#OpF=PfspN%{f6@DV}T%>(`Lb49D97@--1d>8Fo+wQt4Yl9oG}^(SbT4_s$ZjpAd2-@OYyX0NtWeJHr}J#WX!UHBO6|D3XL_bmj~rvC>TQ_jb@BRKy72FLaY?_? zx&k+RrKW9y&|^ncUK-}qmByxxPnR4buNJBmOm@ia`aiAAwUI157Z6xL;2Q+eXR9`Q z=UfrSeR`eUq5zvk(c_=rCbNTh_)BB%VE*V4li7q5<=6$&WI7PEUr_spsUl3&*=d0` zfgq1-KYDqUhH+zr)c!yqeZ7M(WZZnkQb=iE-d;I4}dr(>8DRM!kk=HI$? z%hA#Crjo9Z3AM_!va&KJ*2u_+z~OM_olQ{=raDA~hK6dvvu$GZ4-X4c0Rz3Mb6j)%7G1r0Ydm?nqKD}#1Al*O-g+gFhL95WFASPGacl8}Ad&d1LEee8uaAO;i;QAKybgJ!Zl?l&^Y?j9mn<7yUuP(RgJD6!A^|y zm>@CCt5hRct1;KX1dT=mEh{U-T>DUt%W??%fHaH7I_=y^%ykHtP7h9NCVBz0BI~bP zwkTlaXbECb-j0~+PAk{#+gF0}sG)h1X)+Mt{<^72#aOxF z!Gj0+#XfiW*+?uW2{Rk3oR}cFCCRUVVk7M(8562-6U5=Ja*|rDegcy22e>>v3(`@G z2@Rzvi}=5erKL| UKX1M7;8h)P!T;e@pa((!0ILA%{Qv*} literal 3028 zcmeHJX;4#F6n>Oak;o!pDJTRxqli|ZY-LA9Tn1SR4Two#B3lH*z7ud^lT`-91qBLN zYX~G*N&I-S@roednBeue-DC z=V}lH$%FdL zSvnP|ln+5ZTpHbOn>~FDmR^s1_=uRbv|@Bz}XLnVGIQ?)rMd6C&{w z^wQGO!iI463JTMj@QpOE7CIe3TUcmle0@Ph3SClCf{lqW<9T%!=;TUbs)A`60=5Dk z?ZDj^PLh~hVq;_17sec^b?gcUgjAvm794H4FG4uOl~ObH|2@yx(()djl)N^Vajy7~ zQ}}0qjtdHfS|>EpXi|3Fzh%SQ%WUF*#+cjMzTYF>F}6?Q@%Y6(xgwG1N@z!z_@i#o z*2ml)*|@m4)6)Ns>2kXtd<&8YUby@DAsD+smduwYyJ3!wjziS0spZPnR@)@FxXvuX zM!vL9-2{PvTFU|gPrHaSZk4oxTf~rF+%?K7Dk_rr3=9Z}CK`>_R9CRyN>z#(7#KLV zD&TeCxg5@3sSBh=Ss7vfM;vmjjD+V=rNp{Nnxos7r+RXEA!~D^oClKh20SksryfCP zDI?W+H`e0H4+7C$TCd_g5JQ?`LvBiAB{mW24)(}&f|lLg+&IQkJFEO zlhtTQ`wC@6MMVx>4Ct}WVk08z6Xt7J zEQfbd&C?k0k%7U(_SD&dx^b$uuC9_mAeh5|$%N}|(bqq&3SbC(!r?g*J$^nDN%C?E z2d#Ma97sS@^ptBPN}bQLj-Nx{vrCR!u>iUGUX7_a(%Y-*%Ov=Wc+c}0uweGX-GKEi zKIoIe94*tJbhy6j=DVS1PoF-GSRC(g_ws$JKr@_)HFoPS65d%B-+~y~Q~@G6xcmC*wzRag0dJdw zALz%iexfH9(5e)--BF$kY&n7%qx0)_^ZZHZyX-4=;Gpn9c_uN z1dGUe;D7(=8mLI< WA188mXSpxLUKw!Ng69p%sr)atuG|~| diff --git a/tests/test_graphical_units/control_data/geometry/ArcBetweenPoints.npz b/tests/test_graphical_units/control_data/geometry/ArcBetweenPoints.npz index 0257f6bb93991aa9b7c07a20634c65bf4477a25a..b29d3c9ae31b680cba9b7c8f90fcffa234164237 100644 GIT binary patch literal 3035 zcmeHJ`#02S7=L96rOPRid&i>Y5L;VQ#$`)NP0XknLu=UCby+OQoeXVfnGq22Enp|`52u9q`S?;IDf>gi;*`KPa7AS|lmy`PCdCg-4!SsJ z2J3DVmX~v!l9}867%bfb!saoo2D*cpOF=RH@7S<(*!h3>r-b`^bu;(w4MJgeKJqi} zMWLN4)UF<;RJ1;3y714ayVSA-KYH7=JsW-&7HYIa7AjK*rR0^kX-V~}tcF}KlNrsL z$*7$U?$WC1W+Ock!ScdPdp)(Dnb46cqv@^kJr)JEG`*yOtc1F}sdu-i3IvtMN0;XWft>2-$qR_Z^XJZ`_j|gLNZNK=0r=`o0<|(|=6xe_*aeHl^4Vgs zn5l3+TPl^7<4n6cI<_Oi1QJQW1#h~$PawV&7Z(Szbaiypl9Q7W4W~OFq}$(lm50q@ z3gq~+4KUFkxWJuAbV81h$>cy*{LFi&=GN9U1p=&liP!F?rlwAB-oSu9V(4=WFJrg9 z{^rKUHP2eEs%&~L6o&C1ap`t?h>%xR*q%v(iHXVmq9O|g`xg85?NfJjbPVLcs36*d z`ThM}u7_-FbTh4d3>616i#*HBDwT!r8`IXDPE1UUoga0B&?OQ_H#fKWv-03{zJ3i8 z0XmEXK7FE4M@PpQ!)u^zb@cZ3MucwVu8vPlaVHB4ii)n&)nP_pZx~=QF{?4srJ2z< zc?f(5tE0yH>sxGNg~n&^9x#nJlPAir2LoJVmuLO>?DQI;hbY<8Z*zJIk%gj9*Vb;SA9jw+e!_oB>Ywr3- z!i;;^Q-d|y`7SxTkhO`y8gwo8&Z`V_+;fPWi714Gd$G<$18xr5O5u=&b2K4=%0P_~ zS~D%v=}x0zioYL18r;VaX^;f678YVR^MZB_^~ zG-XcEPW#2k;iH%^OXmHohdzGk(xv$XxV@vJn|;1vVY0ugl2vCvjkdMb=kxi`V}_{O zb|!L68Mz~mN=mlC{2zwdFgz~LRRQ;2nE=+*J3Uy86j<2z^YTpRMWW=3tjbFCmuNJN z$z+atLI%Ih`Qp2i1qB6amlr0~v-XoU+Ua%@j-hD8W$42+kx1NQWn~o~3W57L&SrLh zY|CjVA=exa2?;q8EBxmBpdbxWiI;lJ)PVZMw@;TD2A^7=#*0vqk&!=TXJ_N__-(RP zXk@8E))}`rMXrjQ^Y5)sO7f@(BF;-8xZkK4STkc&*XVTm>%P9bbr_kxDx^)0I7w_SrBQKlvvChCc1OGz?dv$68y6jmp9q+hI`B3 cFkgWe3;0)Kj>oFN`xXEt_{ck^Yl`OlFDf(fVE_OC literal 3041 zcmeHJYfuwc6kd#!3Ievgp$hWUD#npVgc5X$Qfs7vLJZ(wU=UlS!3co}X^8a!N==Y01& zcW*cfw%Qtkp!dPE5t@~$7SU!9blTVfvVg3iqp1n_B;1h%V#2l*LZ%V4PVWIwNQcs0 zDk*v&HhEQttg+G2E-5ecTJ*`<%GEqy8`}X_(>4d@CeGmCgss~b{g-{t?)2HV5E2m{ zRs3bnV4X`nCM9p!+S{~hm+*kqaB;0^!vHDJWT8*wLtB%h$$FY8`>vsj_1vx}vqw3G zUs9<_<6#S$o7AlfC$Uq`ue~|E*x8^GSu~$9AObwN+y#FH%EK&!=;#@e3 z$@I*!grMC|z8R|D$meo6oT_<{;*l=8_n}lF=jKg!gWK2New{< z1?$T9YH3O1>Dh=Oe>Kw1i8=z0>R_Bxi>F=S9k+=3~^?ni-?UAW_V`-MenvX zH#e^qPQH-c?>hwC4a{4&Hsu!FAYH)UO5_TnkSTmk8mQ37^w_M-jATecVo`5aVu zO1n%Ea0No4!4%d|UE~uO=*Z!|Bkf^BQfDd&stBe8>RF?Y%jLP6c{QtSva1YHsasns zupD$>1Oh05&E9N4xsxz!EiD0PS}NQKhr{)tgYG@rxw*OL)0|seE^Tx*;L!t*$2ZHh zuhnDD21*XrL|@6)AOiR&#w@OSp)cuCHtp^0vUZxClDU7hmQz!cZ?GC08_Rwva01p= zY*Y5qf+9?}PFEyzB<163$tRdxi}iViC>@v9cj7ryVjh_VHj$@Jjg5`t{+LvBd*iYG zDufYG-(Enfy|XhKF?i#%!nS+|pLgcuf5DYOar@BGc8oa z=|XN#dQ{vim6nf0p(}#c*x1YKK>}g4})zR+j4k9337c)8>w_!n} zNh{;<`G^CIU}TmZ1pTeB_AgeeLvbsa1oho&v4R3 zpa;#6WNqgqr0lC{>QPZR7HcOmhoE@ZG9)=;XX^Mqof=Zm9z9x>REQAWam{en4QnFE z+6b@4AA)Afl~g!7IhmEhaTe9p)qNTe(6fpi$;t^U^RFJO*zZ43>a%0Vhd@su>FMdS zp`gz%dS=p3bp7BblQgHvR3m)Z)C>>>;n~j@!y_U-5CQeXyKaWVEl2L+%|KV_+Guex zh`Jm^BofaR6%{FJL6F;k)boIx`oxY)go$6Ty_i+@Ylk9mt;(`RGUyk5gMdb~ups%C*A43IqQ)1|A5guyB;oDr?xk9mxN#_%!&rK>s+N Thog+&(^-wc9R$9G`XlvdR|m2z?+#xmw|zS1BewF{)@JA{)d8%Qt4dGx(vFLTe!RdE}Rd1 delta 43 xcmX>vdR|m2z?+#xgn@y91BewF{)@JA+Hx^4G_XoCY?MmpVisW*ncTwV4FI*!2q6Ff diff --git a/tests/test_graphical_units/control_data/geometry/Circle.npz b/tests/test_graphical_units/control_data/geometry/Circle.npz index 63b2b2f6779aaf09f8b0104e78beb6e21a4dc4ea..de67b2e4b2a4528e2ccb02a939f3dc398c234b36 100644 GIT binary patch literal 5962 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

!edXcOVEGHyxo*#Uxm8 z+v}K;Hsy4Ao!1#>YESTgHXPsR$(u#nt<*wHQ?HDMSa#hXuB2$pg%1B((|B4zYP{hL z+YXWkCF~SeSzN~dIe_9s?R8LkP#85Z3;WtN?YHekxn1Mp)07_W=>C~o*PJ^gCL>kh zsUgOYTd`&;?1#NHjC|orXY6&0qK+|}n(>k4Pf@BS`dW|gP6J)yTb`bg0;t)sg<`jW==HZ^sL0j14NZ%fs#TV)FPA>qPs2duC?QHf1N-b|RpdwzUkt$B+tM;xZb&Ja1JYN^k8*yWAMG50ID>(Ht0+c!mtiMwTf zB1;Q0Gf`<07sW}!PZp1U)@(1RU%?-2(_2{aZKsJ}+#GnBV_+D#9#N*vVtEQqhv^tM zOmm142ZSxC9bFjF@jKL3nUnQ?ZnR0WyP&UDX5SP~o8)Sh0kC?dQ7oEIrWI8w>e}xn*wIHW<3$aP|WX{ZQ|{kIXMCEK}j(ogU1m>FM~B z3ZpV(5}a8InPrNR12%xpID~_sg!u!Y81;! z%4!*_JrVj`hOT+xN@rc_ay{AjDa>!3YLWztPy!WEx-%M=nW?zLrlX7G`ID0e(1kD5g!}5m}S7L2njTXM#w|sdV&WksSYk4o_ z5M>MtI?31%aTOyjSEr1x&hg>Nm<0poWDL3c)V&YI79DvKBO3T(?Qt1a_it6Iq^;&7 z>pRr85)~xr24GKw&$G*)%(C@a3}0IwuLkde@d)&=@W`?pxF=mz(lvbJFrVFaPl|4h z-3&2o_k4=ozVjqQ65<-oOE0;6sV6+pXKHk#C9@~qrB}hl!r9&fw3aX(Xt;kLb5!3t zPf*l*KUgtlBPx&V{Zv)I;=(w=_xiHB(Ofj=wu6yM|Joabw@Uv|Xs?R^$&ch0EPg)_ z!hB=3Srie)8uce%%QD(5&wZ)lfAIY3%iMt$qzO^BPfqV7Lk{9O)pbqXxf@;_H?}a1 zrHFK=+Tr}V6X?!AFRZl(@485*k5&ZWHmJ<9ip(+QrdfGVGQTHW`1H$f`&f7Kto43I zcb0?QF|2N=_yXq3^qsLOZ=2MH2uLLs^Emu{iMO?tJd3w}bko6;{`s=+K2!Fw*! zt%x4h^C`AjP`}vsq}J1An3k1k!gpW3%7o4gHqqi&II(V_SqdY6z5@^@lJE$!7KC+Q;xc~IPadLe1QemAh zD581$QsyJUeMQvOAon3X4V1OWrg@-8gVmKbd5-N2gi*9BA|pvSOeB2$bx^0ie8Bwq zd&=6 z6;$DG2Lw<_+bnKwzD#{zc*imfSMh;bR=Zv>*&y&ar|h+nQgaf)PvT4 zy;nCu%JqQm}I`4BgM#HaJ^4KB^G6W znCqG|8dHZ1kGpJbw(z@fo_O-zuEkA)Z64!5n64RX@1uvLg^~K2l9qLAFd1jJ$|;%Roy z&+$g#GS3A|y5m+|?|TaR&fR&hl-_&6yYEfiopPDFH7SGrW%bWu%(aSZvc53lmUy?<`9r#^j)#hq1@D~G0i|bG zGCnF=WQ1Bwx1tMbj7usV7=)jAccpI)*PqtAS3*g*mKhljaA5XjJF`)jrl!K^ud(|e ziK@Y^6JH!)lXGS!vFRlF9|~0tACicMsy04o|4jhI2yp+m?JZ2`f&Kp!0Q}$WL+c#4 zsR8H!xBVda&31#oM diff --git a/tests/test_graphical_units/control_data/geometry/three_points_Angle.npz b/tests/test_graphical_units/control_data/geometry/three_points_Angle.npz index a084129e8f6d2e5edb7eb3ae8437e1ab81015071..7727e656781fd25361c07cf2e2e66cbc51dfb342 100644 GIT binary patch literal 7072 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 Lhrso(Cv5)E%~GMC&}NKC0*NX!KhZKfF`*W7Z4 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 diff --git a/tests/test_graphical_units/control_data/img_and_svg/Arcs01.npz b/tests/test_graphical_units/control_data/img_and_svg/Arcs01.npz index 8a92131b477a9afe22e7a3728e483a4901f16f2e..98187219a194b837ad77b562e00e1669f5d1e941 100644 GIT binary patch literal 7897 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 R=l@p__%Q&Uaet1c{|AC4<0Jq8 literal 7845 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 XVm3GV?ig3%2=J{9{I>e*nfbo}(!qZ$ diff --git a/tests/test_graphical_units/control_data/img_and_svg/Arcs02.npz b/tests/test_graphical_units/control_data/img_and_svg/Arcs02.npz index f102bb6a60c5434e6c0144e3cee26cab04fffee4..e087d3e48314f63fda7f5de4561a572ed1eb54b5 100644 GIT binary patch literal 26856 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 T1rBfsvH)-R-o^sVH3<3-@9Vi< literal 4174 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 diff --git a/tests/test_graphical_units/control_data/img_and_svg/ContiguousUSMap.npz b/tests/test_graphical_units/control_data/img_and_svg/ContiguousUSMap.npz index 72281ffd096ea19c131f516ff6bc7408c6bdb452..7faa661c8fbe2215199b582b21202693bcb87983 100644 GIT binary patch literal 50458 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ÐlmAM|$v1O(e^T^3sS4aK~l>k~REGYlO^?W3IX> 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 Q>3R4|9R5kzjQrRC070n8wg3PC diff --git a/tests/test_graphical_units/control_data/img_and_svg/CubicAndLineto.npz b/tests/test_graphical_units/control_data/img_and_svg/CubicAndLineto.npz index 036827910dbb2e1c9e8be17199d87609623b6f9c..4cb4453b7fdcaa6b2aa53a19a109e93a3ebf1021 100644 GIT binary patch delta 43 scmbOvK1p0Ez?+#xmw|zS1BewFUOD_P`VR#grL?%2bs2OgyK{R304)Fyg#Z8m delta 43 xcmbOvK1p0Ez?+#xgn@y91BewFUOD_PV&G diff --git a/tests/test_graphical_units/control_data/img_and_svg/CubicPath.npz b/tests/test_graphical_units/control_data/img_and_svg/CubicPath.npz index c008af37352e30657ff7e25a74ce242c7cad101c..5a08adda7d7410afe29837a06d666173d3df3d64 100644 GIT binary patch delta 43 scmbO$Iag9Dz?+#xmw|zS1BewFc5c!+^B)Q}N}2L7>oVw04&w0!04%@{e*gdg delta 43 xcmbO$Iag9Dz?+#xgn@y91BewFc5c!+!_C9M(7-Cmuu;mChgpPKWO5LXHvq6Q2lM~{ diff --git a/tests/test_graphical_units/control_data/img_and_svg/DesmosGraph1.npz b/tests/test_graphical_units/control_data/img_and_svg/DesmosGraph1.npz index 847a68b41b16df74a2901f8f15bc285523002e58..98629e37cd8d169a604baf2dd1a14b4d97ed472d 100644 GIT binary patch literal 8592 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 YZ{oAKSC;)=y2Q7}_>TX0=l84s22mcJumAu6 diff --git a/tests/test_graphical_units/control_data/img_and_svg/HalfEllipse.npz b/tests/test_graphical_units/control_data/img_and_svg/HalfEllipse.npz index f7cd4bd2d3f01a6b4a6402b06bb555f68a36fe46..c1b83e0942f6ed99237a946e5ccd89658b20911b 100644 GIT binary patch literal 6395 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 literal 6412 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 Qg|{&1afkk!e%xmKH%B0mp8x;= diff --git a/tests/test_graphical_units/control_data/img_and_svg/Heart.npz b/tests/test_graphical_units/control_data/img_and_svg/Heart.npz index 9d8d3f86807ff30199629a173386e9e933e9f19c..5b1656744908a8902e4a8225b18d00b430b4095e 100644 GIT binary patch delta 43 scmaE^_*_vcz?+#xmw|zS1BewFI;IH6|A&H&QuPANx(vFL=LmQM068TO>Hq)$ delta 43 xcmaE^_*_vcz?+#xgn@y91BewFI;IH6hYBz-G_XoCY?P`OU>0E(nLJ0p8vw$q2(17B diff --git a/tests/test_graphical_units/control_data/img_and_svg/ImageInterpolation.npz b/tests/test_graphical_units/control_data/img_and_svg/ImageInterpolation.npz index fad18d7528d479293681cff641c871e040c9d124..0f835549606d68c23d4ab4f973bb49f389b5a20f 100644 GIT binary patch delta 45 ucmZp>!`OC*Q7XWjnMId@fq?^v6&b>2onP`F3N}j3%VpMO(4D+H*BbzE?-FeQ delta 45 zcmZp>!`OC*Q7XWjnMH(wfq?^v6&b>2onKOt%fQgUD#@@>YF;k02(!rK-MQWX1J?_z diff --git a/tests/test_graphical_units/control_data/img_and_svg/ImageMobject.npz b/tests/test_graphical_units/control_data/img_and_svg/ImageMobject.npz index 92adbfa2e5c8976a8b62ce02e8e478417eaa5d48..4dcaa0453975b1cde0b7bec42bf7542f1654a5a2 100644 GIT binary patch delta 76 zcmcc8t9_+cTPnbtnMId@fq?^v6&apfx101I3L2$ar5IbKm|CTnTcuc9rC3{~*jlC7 ZTctQ!r8u`rapfFi)@9J0-g%768vqeO8L$8V delta 76 zcmcc8t9_+cTPnbtnMH(wfq?^v6&apfx0~d2jEkXxRg$4ms#S`yRf?%qin&#arB#Zx eRf?@uioI2eqg9G?s}xtxF=i2Fk?EbsxV!=3gcBeD diff --git a/tests/test_graphical_units/control_data/img_and_svg/Inheritance.npz b/tests/test_graphical_units/control_data/img_and_svg/Inheritance.npz index f2395bdec226e46a1eac13338d60e7752f281ce9..4daba42cb559de2d955999996eb7aee9d54a1654 100644 GIT binary patch delta 43 scmbOyI!{z8z?+#xmw|zS1BewFmJ3Nw_zwjerOddPbs2Og2XlD?02NUVcmMzZ delta 43 xcmbOyI!{z8z?+#xgn@y91BewFmJ3Nw;NfCmXke9O*eGSj#Vo=sGC7#b8vvNG2J8R; diff --git a/tests/test_graphical_units/control_data/img_and_svg/Line.npz b/tests/test_graphical_units/control_data/img_and_svg/Line.npz index a5a03f0b626b881911adc01b2c06123b9464ad80..39f4607ba95d852a8bcabbbfa1e80645d4b9aa44 100644 GIT binary patch delta 43 rcmbO(I9*UGz?+#xmw|zS1BewF%&vy?{fB~$Qu-Xsx(vFLeK@=U9Q6*_ delta 43 wcmbO(I9*UGz?+#xgn@y91BewF%&vy?u>zS5tda~HrSv(NMVLh<`*3&z0H31=L;wH) diff --git a/tests/test_graphical_units/control_data/img_and_svg/ManimLogo.npz b/tests/test_graphical_units/control_data/img_and_svg/ManimLogo.npz index 977be514617570b7483a727d85686e9c798b29fc..527d7a1eb0aba77e71ca7ab8d578e7879ded4030 100644 GIT binary patch literal 9437 zcmeHtdpwls|9)*-?N<2iR#d`PtF|ema*p|Itre0Srjap(P)P6&!#E6sF*C-TzK=z_KL7k)zrVi!?0A{snS1W%eP8!=z2Db; z&wa&u%ja5~Hf{O>_&v1gl=zUdeC?sQY0oC_+wK8gZa3UR-L(UQA~$dPpG`k)-4C?f zw8{G0zg{-Y42d!x^MB^f54uTDEWl<>kAVk`jvUPo@%U)?=0S13XP%vB=I0OWjs&Y! z{csp$we!2XcORPn3Q^wbEP&hy-n@6S#aE22jH+!1mQmZp%F3U z{D3XQZs^#uk!`Polu%3P?lq7QH3sE(5@Q#|+Cs_ftVWK!LBsSm6D*l%221SdYG%f9G%VSlVW!%l1 z`kM%8-yRP{?)}d)2V|M{(Hpw?1?}HU|041K#|cP{O}2hK)D5k-I87%W-lljklPP<6 z#KJ=kv7TC*A93#~wqrG_xRt&S>7mBTPem`y&GG4O&9Z4LW1Cg-L270OsuJmLv8KBY zoc(T*!#FdD;?}WhrU^UQIpMB`!od(&F&@8j_t8t=^#@c9DGx_Ym%WeeP0KO~4@_cT zU!3UDG~Iq|5$Hu!DHCDkMiN04RlziB@rxrCDZ5Yt&OIp|6Pm>V{j|t{-0yvUA+de{ zLCujH#5Sj>@zjDQ3o;TERQ30uVHz<@?h}L6AzRhG#>5R8vQ7`E+PR3AqXVrS7VyY1 z3=1q90oT6?9;yF%%l6i#i<%G+dB-3N8e!tB5u zcqozZTRz^!k4{ifGYrQ=ij<$n4%=-Vzm=Pd7GFbxKN$TmQ9xXGPb z3BLaRZ<*N2(8+f@OzkZ(9fZ#=V&Mh8#|I$PrAD3lzA_jO>@xr&2VU1@UoZEo@gW{6 z74YVMg~vsKjDI-I6yy%6G{WV(1Ii6|eSN?~1Okk|!B=2FN{m2B-z zeAdTR17Ma4L)4Lq2d=%oY4?WLVbZqJfvIrt5f?YsmQl47b)1X~=MIZVQil=`w#T=C0RqazeD=$)60pF59xlaQNB?tBeUiCYZ8w?6JmrpTv&gX2_3vf@=* z`E%cz|G9=?2?>rt4+kLY$WpOTB^t)iW$@dqr4NRzFz60PL3j&+7Ch1UoGS?-TjAPQ zX^l&F9)Mh9h!dM0?04vy@oIjc0j3;OD)YC=J!b@l@;Mc>Tmg0fVjr*$ZfGH#qN~+iuPwJDVs;ycPIOM8s2os<{wIoc6I!PLbvRY}U$d(ck(pBM zT7Yc<=$l@XBdOpH8e}L&JX02v3fJuQUemU<&j5ta=d)yDuFjNxkxjO;Y?>;=mnoH< zG+my^7ZI|+u`zh2C)ASkWF0vMvbQVWg6C)FKTuirVZh(te^-ui7-%Zf>NTLEAeo4r z2&n8ZRWaI+@y`KO!ZE!oIVR}CZ+U?RVwp$k@o-}8f)xPwpT8dRkpQ#$H(Way5Li{9 z0-&Q?F?9>)2PkM%OfEjtv-KJ>24v!soQ|RTz zyg>2K+tvSM`t8j(3K<_|<75jN)TeyZ%s&tVg+l89y0L^*IohsDI*j6u(YHP50+Lud z7srYE$){~Y@8J-^{;PDC5F4kus4%-KEIPdx2fn!L9;$4 z=_sOvvsz1nin`k^ni+AXD8b|9|49OosXKLQPq~D4nLh^}&piLh0gyM;D~vmA`rv>b zu2>ADXmgXDjzvI_*!Zg{a6R9_w4ipr)VFC+)L2KmjB8q_`TZft zwW`6})=uR&EbW>H0m8Yn>f_DT9Q>^_wA*Qru<5?C;t>vrZ1ssy_Q%P-3!^QpT-5CG zsmw^;csy7-X}j_f;V=q8!7FPyJN5)4G4O)^x9bvo3=bRq^P$9f53JJv_);cE?1Wzr;LZ-95tZLwzNOz0u6R812o zq?NC`F}4!2Z+D^1bI;}!Q8oVjKpiSPCU?5?`2}+(^GU1v1%Z?Hn-9OF5!iuH2IOz{ zS^+484~0RCiA0^LOsb4ebpQCrJQKe-sMm9zUL-qp6^E|sF2Z(H} z6~ls3mm!uyx-*0SWd)q%+lxy}slszWe~UMO0b%eDmD379NSb8afcm9I^xXHB!bo4B zs&yDZUWsQ%H;x7d2m}Z|DMkuM<_NZHM86yrpR4AC#WM&X0srnXpADnv2e|8Jw?Z^? zxXxj6#~)r9aOFw_({(|b`-aP-fx#}(^Nr?k@JP>p-6kAz71>ezemYw?P1gZzL$Qr8 z8(w7!0L;|WDCc3GImsv`tO6rlD+8b&SNv=lxWf)-uQS)hHUJ(-QBYR(1 zJ~|H+sr$y>^B)_Z1B}!hVrs~jnxmmw*UDeK7_sfx7@8kc%`DoG8uLe?P4*76!jh8X zE~puji1aS$RzrdU;8YYvBiiGn#4@i9z_pU_}HGt98c`5t#d>to%jA_?=j`#MA zs2az4fBVM9_SJa(z`=d8F*lj!*|TT&L|>}(F-CIs31)|2b3!1YfoU4y&zqlWky{CW zR|v-rI3}!FEqoL!hF!8XF*=Z&qGqz-N6;`1EpDV&@EjPx z6NC|ozr9feAYd*7YbFa{UjO}8#N?H01TE*o*D{gYOx#qHu4N|8>)BqY+RCd&3C14R7&wkInRYL z{Y6DNt)x}IH;fKf$;!$C&7WGy7kXK1b=Y1LP#NG_Cc2Ak?V4{8#i%7#B2PY4hZ06Z zlhsTrzgE)uFUX>xWw0u3un#7O40_FRRslTtpR^Eo(C=GWK49^+E^<-kWimc1>wH7M zZNqXwNc}=2B4KN{MLfxmDlHvx2=5hZ)b8FU;Hu@umP04_S7>u|f^EEN;Djn#?%4XY zS_8^qA0k25%>`x{C!^%{c1$q@kiSeDHRFvMas2( z{*#3WTG!JWymGY2J&B97RiZ>40xhp*LHabVyknI;c*00j(5%kAKn!;6W__5FKQT)i!LqN zI4bh*{Frzon_4$1?;8#Y+()mC3tHSGM{f*-J#2{{%? zkzwXMXg>95cy0%XXnu0&&~KKRj~=itm=|jr7apLP-tC=_VSOQFeqBosm1D?+B+r}U7UIRska%N znhA20j(uMp;`2R|3aC(W5bEjac}=7FcRn`J$iYp4tT^K*bAA91t4}(z9Iqa3wikU2 zQ-iNmT!IQFvU_kVz}ABCY?E{}2oUE}1U{ z(m1M#yWcb_Gy)J@Ye-_EQsUn3rnp=lEHKk|5F(oXOg?N7DyF%1g*)hyK^3T`=`m5H z|`V>%pzz`IN9;W>B|ET;xfiGC4cSj*z+%iq2btQ(Q<$VdOE zX6LHP_-=C2(CnE39TnFI_oaol?pQ$=P@L)&3|;$tZcDpCW^{XZ$Y+9)&NenA@0lF{m~kDpA;oicB<{(Q_kZ6RC?q3i`sb3|BzcW~+;U(ssiIvokry;^Wq>ds?G+;u%_`gi z!iW!+g1mXc7=T=?em`P>j7Q%td>u77s>eMW%N%Wa)If}tPLG4RM$z9a`j7GN1kAtl zwEdBJrICZvqM05{Q8Vr=#A16~*QBmcxAZZoo$L$jSmgr6!_L0%oC>~R7J(OuD+7lPtkjj)Z@gJ=Nn8vX zYHEUVipYb}CQNXhaEx2HG-rRn@_wuJVZUk{w(WW4**p#pYupQc9g%8RkZly=og}ma zNUjr$b@1boLB)lIFN-Psey)dTcP45Uwd*6P+ z*=UsZxL^RGL<7u#WjJ%scp2;=wc}+emvq4Nn?YwUx*NEg&_A~nz?z`DVPqkX`;V`h za}PS;>c(xt>RagU#i0znGum~F?<94OfQwN8a(+j+6|7${`%9-^VB563x6bq^nD!XH z9nEE>6HPcwYHX6&|6I(;Mc1=}2deBDzJ@`pe8uW(y@{Crs9Z%B&i(xI#t81zLjEw>Iw%9UpAs?*#^YX z0b@!mBJ*t6MauWCPR7Txjp zuzA1&vZE-xvbRO=tooN&?%+XJxNhAjyjNHTt#7EhN}JwHs{|CdRP~&dq^BuAS0Gqh zjqeL!lxq%#Gtp&%xZUM+wihwkFW}K*Jg3f*fqHzoR#6uPcP%M{FJ0vowh|6?IRiT+ zic06^{zHkU0BlO*a!1Q)qf>w>o*1q}$td_fV_7@TD7x`MT2=3}nkmsGe8nsd;je11 zl64?8eat8w^l&xD%-9KHN_z27Hk|;hX<#cWjt&5mK41?=Lb@Ho?r10WLhtdMl)#dp z7&pKwYDs@o)Ce?#@@L1>*%uESI8c8K8~yds%TF`i8cb1&JKV1u^4A`N*kK(?WVdn+HlxfJ#h+@C6rxlu7N(r^6)%PSX@9&f;nx<&<8R>=wIYWS?^_NO}T%8)!Hs}D}AtvGNh(~Cg}?r zj67jNu75Wn%Kf7?Bsk!=^WhM0+AqsawpF2Pt3vxoUnk+U2=}HcEL3ml&T`OVgxDoK z|MAhX7;-y(8z;<7;pj+W7g-OOhlaqn0_p@qtF>Ws$KJ_B1HOS*;JITz7!_&wh>g+P-o^A~M1$R|qY5l{J$^4ZD z+frh62XCWm1A5cpBv}_T{)j5|?)-@(q*Va`flu-q@_~lA*}8^o+*7r=LCt`v#M{s%~GDp9<|hFo%(-@yuUx^F2|>xMWlAeMshB)qouaAhwan#%NFu8%dViN;i{sH<$-VZ=B$PSvgH+}KA?v5GdcmQXd@Qn zitZW3ob=ZaonOpxEaeX&6fCL`+ESJCpu?-B!ZFtjg^F6t=^j?TY$6V8QHqfSE+#wT zauB=PzzFMgw_9>fjq%!S*Hc#*R;f0)<>?u-W6i3H@mf;#WJ;=)U=Gp1BH^uNIlt~` zUnMq%xV8HuB1dq#RE7!iZ>IZ1n+fVnwPgCf`2oapYFR1jTJr|yK_}Oupy=!5s6=(7 zQX~5t#1&20`Rbd4Bvb#1VALYqQE_{^4rm65`P5qLrWAFBN7ISs%ySrl~z55e(arw>Aq2}&HcK> z)?2jNmI8_K#jWcp0M`Bc9rxBAF4qXZ`AlL08e3*O60$-L)&~n~irZC+YSw`|niXa( z8DOY08Yg#zg}5eDeg?5d7`r{db?=1QYk~d@P&e&Xejei4ZB-cf+q1L%Ux^tQO8DCR zwuauAPCtd560&)v%N^>zWcJf_HQojeQ=d0(FK^Hhh_RGU-Tm!i{I5>&=GH-x&BBo#s4P8US4w{hDtC966 z>ZvPmdsBDWw%bnE_Nww5>RDyko?z5Fq1jrC%jk--s~!8WZ~Z>==}}U$pp=)qSSzKP zB+us5M4C7Cp&Lv`5a??oh-wTkO!=Z&z)6w%Tk1Vp6Na23yB@snOu)@Wg)p3~A|Zjs zJfK?t@W?Cd;gZ6&sR=f&4fAwzlsiWN%eV;?i03WseCatReuY&oIl4C1ul#&>z^cSAb*g0YH`&~n$(j1MCBy`?y>BWTyLpL;_a3=@iG7=WFvXv-M@&318M_uA z#L2BM$KupZq`x^D?-;*+1Md62cK0^a z&iZ3JixL_un&N@9+o1YrTl~XEZi>W9Xro$3`R#r48~&E z{zc;d&53Z}Ou?u;R&moG52a*7L9EjM@gawQZ@-Gb3yysA73Hng7-{90(aMn{ h#eV?x)8>_bHXcp7V!d_S%GJ%l&pF^V>96BS{|jGwCM^H} literal 9433 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 delta 43 xcmbOtJVjV4z?+#xgn@y91BewF!nx|5G_XoCY?RXBWENo-ne55w4FH}A2P^;p diff --git a/tests/test_graphical_units/control_data/img_and_svg/MultiPartPath.npz b/tests/test_graphical_units/control_data/img_and_svg/MultiPartPath.npz index 13779d26a26890a0686a7d147f0f429f81ace22e..cd306004e3fa7c6528a16e994a4f2d8c7b56c8ec 100644 GIT binary patch delta 43 scmca8bWunuz?+#xmw|zS1BewF7-vg<`40sfrCxF{>oVw0X5;h*059PWfB*mh delta 43 wcmca8bWunuz?+#xgn@y91BewF7-vg<*$-qkuu3v)lzPd*EW#`@nT^vM0Kpdsr2qf` diff --git a/tests/test_graphical_units/control_data/img_and_svg/MultipleTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/MultipleTransform.npz index 60b0e0ee98dbff2f7e2e320f84c67089f281d0de..4a382c9adbab541b849e5ed2ffc4c3df8aff7fec 100644 GIT binary patch literal 3132 zcmeHJ`BPI@6n=;b%4XdV5WzJp5>yJPY*t#V2$}*h$flr(Btn7^L5N_Xz*r3~2-HX- zqYz{_;zO26v7{A+geW2GkwzrYh!Tn>%98Ykm+4IV541mcGkNdMxo7*nbMLzcb3l8c z9RxwT;J+T~;8^ylG{X>D37tF>9us-=M0i3tI+k=!3t9$USY!e;A*ft${sp}i&0GnH zGI=~1S`?Bm8rfjr1mAaROOM^S5VMDBO`~}a1TI^ieh+i%-s)4UGmC%g!kjMlH6!jX z@s7Ue5guXV6jSx&*DoV%@e!<5#p!$7V~k&=$)*drv3qq7quUt@A%Dy5aqctj&50CA zDJn|BRlEzN%tRG9Imet%E{YdQ4HC(T9dE`4XJHe1s5w2cWONN|Xm zSLAao2*Q+?h$Z^FL0aA)SfsSY=3rJrTbr8yl@0{$Da*=yv||j2tokN6RFecSyCEGA zPibcH;){r>Jd-QBY1#oxuHQoy^lr~c?SF_ z1m1eFMR>wu^=GIgdCTB6B$4trRYWA=fa89{wHG{hoB~`}3GG`75l`ep9}go5CMWK^ zI&btW)vQsI;Q8U^^wMAvbCpTMA z7hBdwibm1b$1{5!RkZ>kOECM%o|&ItN|*rdtc3Y?Mx|!4W7L6o0#VK7i|(pmK`md- zl*^l2=fto=4U|c%$g%KX+BIfuF{)ogGf6s;WXz~;e(l+Lji9%UK{AKRK^en?QNV1{$LyIw8^`#F7Tw7g9@ zhZ6j-M3`75>3RwF@zo|h9yYHaOuGN=+tT6fxp?A22zuI=Mys%KIs2a3-OZV-kAo9I zol95HzBDd|qY||^mGPW@USvng#;IQ2_H76_1PZrko z-vWTooMFXdBLz%GSGU~Db)vt&NiB@Cj>nF$T9c30?Ox5N2c@`xLuH62SC@~!6y17~ zl!%&5Q#ac&O6@-6RVZWXJ~#i z>MbB8ZH~t_hc7Yk-7VnSp3m&K$CQG`1J_rg_F@gu| zJsOJT;^=g@Xzouv{_#@}l6YUhHQ>HJW*N$Bkk0aT(19cyxQ^j#XXkObM@f210K~7+ z&2Yqha7mJVo&5eqZCS;e06f9vrWbWOHG$%)Uo{s9k`2lEg;CM*p`U;f)Wt*z#`{oy zgg4Edy{u+$ SPzzliY+(lSxb)p<2)TOWzJtZ0rW66qksaN3!~cc+a1z>eO{`u| zPiiIbhTc@rAf@>Faya|;l9kdjSt}++<=eZik(0j7?sDbaPEb-+^PltzbeGH4ge(^h zQ+5{<+RC1`dv#ZwClkm-q_mHIcy3rN=k@cTnMtsvl!_aUICieI(RgBsg~26Gqm0+J zvj;|v8|e5C7ve^!vL;zXuQ@~iio&gw*4LfY#JPTd8^vaD?MeB$wEFEnONXZ)_9#<9 zU~nRgwWWs}I)a@tJ}DjDdz}XUqYu1$NLs ndwq2mukPr<<^K1$0KSRPzdC=+fkohuL68>sxq`QJzWe_R+WI4@ literal 3131 zcmeHJc~BEq99~2OIT|ep0|;qFMp5Jxlqg_Jt5afVB*bVSM&yVj5VU}x5u%ksX^RL5 zwH$&~)Fc`ZNVq`>P(esgIphjL1vC%{qTwceu$k#hXZm;h2fMS$&ij7H_kHi}?!%&0 z*XltKqyetap%Co$PgzASO2_XCXhWlF4&zx6*Hmo2Z6k3j2KBRr~ zNnRAg$CIR7pY*<=Ejo_;0>`HB>1J!O2NErUs5?UZ)PgmB|MJ!?V(xLh6n&fum zvTpk(^9{_}I;j%TAMWYiX7B<-N3-@Y%gwG%ujl<#Az=BqPR~`6& zIKWM(32tbk02z0lWpCCO>JW5*<)UxeoT~~!xn4Md$o?$=x3~W&JG#yU+?mh2mD*nU z1U$Z;(K|0%!FRjX_lw|!RKaDqnta+u879>%p|q+%5SGoT^)n0yHLgpd2ZrFVb6bm* zU`}k09o$M%;0%|==rCa({_%o4N|I)ljc_Nl0HKVJl^uksF)R*0gF!N4RLOfm7Q6!H z8R=h*dt_L=+@2a)Y7ck7cY60H!=fAV8Yn990j=N>#j?q9=ao#WWi4>$kK<=-R+3T{ zt-=FfLF%;~Fc?9a@m6xMZB}|m)=W}{B@DFK?7yPF?AhWLOC^jJjKjGOcAK^Sv_B0T z+TLCw$WRulE@oU6v58JXWC({tS}P$7U=Dw}P4QCJ~gSrs9DbBW;sovO2p80j)>-pvp3zA*Pr z+$LU1dSe7!fPUp>a6Gd1CXZLoA2xE3Jnv?JL3eu_f{DvTJIu{qgP!3w@meqsDVNLG zg`wn7Ds7$;jPzz0fYoUs%;xME?f7`-ksp(&9LeEaMY<*j3db;J2Om7F(g9-Ej)?GS zs_Gtj-=wl9h%KBd1O$B+X^_F$VO`mp+TA0n^Sj$724AFWMT*@7{JHTl%)^I=2G8nJ zCqUTebDG=;b+6L4`hK3rs zE(KHR)wks_V1<;Egg*GL8bx>pif5f@y68Vf`ARwp!tXyD0)@>EdE7NevnPBO9pnxV zs;T8{AY4I${H4XLF}vLI5oB8H=Qe0g4aImPH^HLO9B0*($cYEa7`c)g4AQ1wZ>&l|=yFbDXtD2LrilZ6ijD6Go)R092 z@TN29Rl)r2QPo>zaz9Y(jIAV#BaHa)wy_v^N37uQ!DOC8b&EAcvGD@wfHM!d6Oh$v z4B(>3xR+05$=K|gxwA94`+SAtm`0!PksBKicE)U0fi5Y?vqHRq#AG8%K=KWHWyl^a zCDeR<(Xvu6M!#CuRGWM_v5Q8(VML_4ih*Z}n}x&dNKexA;GFDv!R`l$q`M7e+-P6s z-s?sql{@m|`{PFhVwqP|p~9)XnQzr=>|*SqOJBbyzH3p8q-*19V`HSenjBE7HPe}K zj>x07=N{t+cjb;z>VMkgRv@=!*=mst#F<7TPw4K6qczqVIT|_IC3y`#yuFqaCFT9m zEL$etF%GlH4huj`EAq!(+nCH}PD!&Tr4!Cz!dH(~2mUJu4se%ruxOPvdaD1n)&HB> cCGb6g{;~1LqSe5g5`t8~xgY$$TiN{o1(**JOaK4? diff --git a/tests/test_graphical_units/control_data/img_and_svg/Penrose.npz b/tests/test_graphical_units/control_data/img_and_svg/Penrose.npz index 0b30f2a70e4c7004c762119922f0e34567f8f216..ec951dddd3bff67e2cd77dda01ec319967310ecb 100644 GIT binary patch literal 6903 zcmeI1eK?e9`^WFL-8{P`yIZtaY+FeRkAx8F*<`(k#(1|SCd3rR#290@CzV1m6k>Kq z$c!O0-p0&qY4UD}@y?XIgkg-qm|oO5p%BHPfZFO5=#0UTyqL7e4cb4tnC|jXtat$J0}nwG(}%;bkU7^3RaE((Jzc9 zw`a^Ib{~2EOk^XX;i*A~A?S3?R98$h zylC~|&kGFZJzt7xD4U_DA5T-IyFyTM=riisumPXBe0|T{Yu9)*{;$1#H5R)qruxgP zd{cvrzyjf%a+H@;4+}StUi~n^)Qs8)PdvCOl#1j57szXqgF7MUfd}2xv9$6^dmt=w zXz1kRof=IS>iCh;V;KpuJiAIw2>K!Wk6_~J(7id@e7}kvb>LgFm-J&@V|a7QzDunS zdRd>YxwTc;#3KC6z2IZT@l|S3M~q4Qz&gc`qGD}-fS?}vbd6Y7ORc!jpp8b_s?ECe z@p<|UUe&&!I`WFT+8*8SFWD$AV@}6#kWw!RokSyC<=F+qPwUX5JR{M@uxB}))S2EOP-bRxbn z(1i<&QA1$+wN-4lvI6Ew-QACZU*EwJ{S8IG3b#Yh@(vPJ5BtvTtvRQ0mN@WMTR6*Q zI)SBNaO`oCxJnh91j30s$j>QjF#|D&$v<40dM4=Qtj$NEU{US(BC0C5U){7x7he)6 zDe)Dgol`LgkZ|K@Wzpy{fmY1mHYk~Kl(17!LC&j&!?dJ1kIfc00!=w_En4Wi;$(2j z+&^lDVvjW1Qo?ZuIK@Y3)H`BXzajhr#F@V$CF~q5L6Xw)i4!)bX1W71 zpO)2HiN=(8KHDG&YcGp0PCw#4KY?eE(;I#m8NJPFMA^EHzybm)Ss#1%bOk6ukR-*? z)UiW$3hPOcxCgt<5$|ccj9eHEi0PUodKhbd4MBR|RPExMZei`^sVh&LiNQR-A{xfi zvr!-Y?pJzhxH>IlqDCs`U8vPuD&42af>5Ja0$Wb3qU)g3r(4YC9 zHlp|Vg?zAQO&hb&?o;$Kkk+vVc>YBY@7~~^Ry_*N1`98^9`RwKX_GJCw0;ZAu#w!m zg47Az5`PXs6aL`_?v1g*l9KtvBjJ>rA71oDjT``r{Px8Hwi}eeP>g=IUYeDjqji2C zn)62~tLG04D@ECe*IO}CFBq(1+w@@v6xW%o%)-VusH-k0k*7O_`kH8`GhPH1TA2o*`U|{`FvU=*Ah>ZbdsL&Vop0hIcbuRP`mdntRdHA*3KX(xOWyPoBf6bwIcy=lK?!yButPdGXj~h7>Dh<%|6315&jSVO_g!SSK$mjN-;o@&n=sil4|oc;?)D{vMD$bB-_Z#V=S% zNy1k4GlW6(N?S)J+SQGnGlXOo5q%2^Df?wE4T%@-tJeg@qUHMHh(h$lPwpLTSTBE{ z0zgxn)>_Ck4^hc#fa!v@@s;IPZ>B6L%e;G%rNcFInzYK@P-b6V?0eF1Q{0(W6klXkuu+cc48ym;?zWFx4V6E%Ou*M|n*!_Wl{esp5wobB< zjvQ(H1$_mBhjh7oi`5s3cDax9yRV5pzq)$Wb;7Ka!1!@~?aZ)7A-gFM9@(B3b+$=Z z0N2GWj@?&3+@J#>Go+83Sftzj%!N7Gj@HAM-e@v&n!>abmkAo1zZAdi${ma#Em~@} zTpJAFIwkEAjfI#i4%0+t@ zDvWA*q{P*__DIY1w+@4kX}ci^8F$nET$oe{1P~vRhMDrBBv{6Gj3o-?V`e6keYxgK zB#$}2G{hG{*fm6^PDhF|^Zv`5_NsClP%*4lTg_N8zZ6MQHabf|U3(Hgv)E>(D}OSu zAwb@9obI`*Y}I#RwBYLl_UZR3D&ScA4C+=tM!M;7q?0kA@2 z^AzQUJ3xi9<(@7Lvr#~?hXqXYnxlYUna>7CgV*Lk%%d*m(p$4Y3I5D?NRo5iXBFLC9PH>^ zc*i;jledZE8MO>ylC=qu%UC()rMvj9J^Ni7WSR>4hYIS$|u3x zO8F!^ok-sBSlsBIw)|->BCoQO7w8$ecK3~Og}0zo zq#)9_2-*YUs`f8j^p*0d!}~}JRkyzG)>v9wI{=R{nAP> zV=^_vwD1vZV^bM|o@UDnncRo&^TU}8a!GeOeLe3xAeM)acp)2iGMrj_6*P=T9B1b+ zTWhayW;}E2v2b(eVV6AWqVN~&J37$Qx2=d|?)q6tNuwYl4YOK7Ul+D*UIthzqM8!q zgN0%{-4OV6RMePCeK;p0Q)iP>m(($a0y6URip5v_dLYChq$1tdXOyI+QvsP)@Be+Y zwkx^SpzY}rDRD_MbaHFiBtLqq1`%{w0i<1fDL0E&Tjfq%7$5Vz3XWo13~?BfW+l7{&(eE~!Zz5It^lpO?WT z6_)d3K&7=6YCUC8eYvev-W@LmG;%9Gf)rfq|Gt9Qv3^7o8$V3+I;k^Pc5 ze>H&m!l*O8l{tGjw?C44c=j3qG}hN9f9rLz%P^Uw95La)Qpc2T6+96 z%{g-4Kpu`?-kIY(Qmg+c{6amZh#XhR2$sR9)${FY+DFE*UW-Y!{R{&s&oTp^JTLvjugQVqc+;4u(&c8!mML zoy0iHXp-BEOn~|%(sel(=z`mXdO?8^>-oiCT#Nsjd8Rx+z0(O~3+3~ocK2O-ZL!aa zsZo&ZkjXKSSEF{mffeumCwpXKt?Oc0ew`UO|K{Z4i~IzOj{WkwI)n$BGxLmd?)8_4 zk2x}C#(-e*l1>Br5V3+dV7;s|M++Am))19b6aa}70DwGxX0SpK#Ok8_tS7uT3(zvc zR0NaH&{>+H0}FZD6Np;rI1pXZ$b(*E%(|V+aE%4;dEcHm4#uR6rca>R94c`w7{{*> z5?87Vo*V^k=frpq{jXsseCa=UG-m-k+D#5Ci`kL{#oc;`;J(#UeQoTQ3fAxUsZ&dm zDm-fdV5h2%6ZgVG;XPj`%#)aI>oyFr6cKY@)BJ#dm(oPuow^m{Ui>-|X2>)-cYnxS z8@H7`H9MK<)L0!w-iOmt5Ev$FD!pq`1iTp*?t-zu|GlYABN#;{zTK&I^@@knlxX|< zWe>iO^v7`Ond<{SXwzcj!_Fs%5<#x?90B!Hk-+Dxa_=}&2X1&FZB&e?>+A1bP8k&) zXLde~B1aGdkqX~9rm}Pw*yK1z8~(e+S#tpVIeds8!D#H*2d-K%+F!f4yec!HCB&Vy ztG%1O_Nl_jY3W57Hb(LA>Ci6A(OqDE9O|2oboZ5hn2Ckq%;YlO)|9Y=NpKkVB82mf zjz@QxXQDYbRb*KepFzpiM+oGk_4Y~4l1hzgx41&rE&!@Kj?;fWK6yRVv+!Y}WbSB! z`2J-G`lS@#;jUp}=m;!nB6AhEttSQK#NDq63P1$eQ%Al9PWH@7#XK+3B1MI3)h@>P zuc83exBCG9cL?X7NLxi^rMGqu;yX(K)AIJ+RLV$QTOhbic)WpuX9FF(PcNm8m*-^|+PDqzD^Nu%P0u!1B`$xmAgzZrBuX+R)b{2gPnIpTj zZZ{mSnHg^edN(TK1)DCC{SXfyPudL1Q#gjM2kg}Rn)(f|IXAPYR1a&M*8ohBKOcBn z8W;ymL)h~}!A52ZGvg7V^=+|zl2;;m)qEeawL6F*64DhEzH~vK<6XVcm0_*5)Rb0Sl&}rO5HjMd{ zys<<5ndLgWTX-?o0K{TybuKOMYoOt}Nb*i2|9#Z05j~0Ib1;7!%D?YoD4i=q#0aFu z=f|a&<0^zUZK4W5EOzyJSVjyR3ywc>Y-3>v!w*wDzhSy=1I+8dAsFw;th$!dqS~w) z;rPRNV^A;^cXD#pZ*06L97K|*JD8VKz<|#C*jVzr|8v`8T~1P3X`2IE_N{E)6&p{ljDU#2N%Z4lRsRVcokh$#(U(ZT z@eE0UM|keE!``Nb)~_^@JaJ?H{MyUwGr4slQrQ3nV+d4jX@&}bgY*&?!ffDwd^G%B zlw-P{3+!}49WA{33Co8-U3!C3ToNaqy~4;p(zx>@#g}p*{ZzCp%9PWd?UoAzQbaQ# zD4(?QOx)MwC#M=CCxQQGbOe}UC10kA_pyQi`g?+=BiC}Bdjn1*VfrSQ#_DeZ2n$`! zIhluWS1UnhBp3kr8w$fqHq3rEPx_AP8{r@4!*(@=!3QIZ6IT7e10Mbx6qrl5Y7+xr zTIUjJ$rDy4JCrrl7Y1$RDFLYU;iH;bUR!Ix#cj94%zU~RzbTXYw&&zDe%k6P$uuHK z1GrLJJOzTFN+WKa_XEXt=$ImpG8SEwBuB?_z=VHA5l!BY1e$E|uW-qmulL`6B58C% zZ7#}b##YZa7J%8@K}<9pdk?B~ax{5jBRaU7t7N-@U~(>iL%g&ybwFd&hZTfW&|#Ww zEV*0)a$DCv?bF+9dtq0&k|p;TEj zq5?QY-Z$b?H?5A_p|{b|7hh17)2I=Iw0L1udct@)h<7N)_qZEEQ3eRl{_y5YV15D* z2KX~nuvK1R6FD?Qt(UJgcEc@#niJ3jsQmZm?+pBxGq59Fu5#XK+h+#Q|9wrRcmbt& k83k1MKc8d(4e0;9v^wwf#izpD25o~*fxi}m|AV0a0k!+pNB{r; literal 6903 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 a delta 43 xcmX@Ea$H3!z?+#xgn@y91BewF{!iOjwpEaUp@CJBVWZT2L1qzVk;#7qy#e5C3d8^a diff --git a/tests/test_graphical_units/control_data/img_and_svg/Rhomboid.npz b/tests/test_graphical_units/control_data/img_and_svg/Rhomboid.npz index 14fd2fa5c529327efb441803e87bb060cf9a365d..8a08a403657f43143094f4bafcb3b8dc2b182fa7 100644 GIT binary patch literal 5650 zcmeHLc~Dd57Qfa~d}^VsMdT?mRv{EBs30^Ia0OZ;BC;yQP>qCELaJ;=60j~%WK*zZ z6$(@=3R&%<}`DQxPJL53O{m$|`zw

  • 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 L4&J?kf7AUBg1RQd literal 5762 zcmeHLdpOj2+yB{K^weSxB2Dr)Pvj=ejz~{O<2P_u+GY zKKFN=99I07I)-5@;me((ph0c@Zx-@(Lzq8#<7Ji$!eZe zSbvp{pSUgBgVHe9G}1?Josh}KI&==v_s_{jWUpSQ`7osOxgws`h>?RPE2i^tHAio; zC+DG6Si6^z%<{tzl!)a1|L;Goz~{`%T7#iBG8;UJ zM`i=R@+Z_xrD9&NTG_nV{yTBd+Kysn=2|lS*+?Zd;X|sgqLnhXQx={)9O5RM9zaL+_&{S4`C(bna^$LFc7heQ*?&~HC9fDoUPok1^ zh9B@3mcReXeOgpw1Fv)zoU|oWD1V2YJM6_^s@cF7!s!&uf?N+hul+Ppwufpvl zp82q3Mjqtl_21Bxt)r%L8|P!BA;`gL-eSYrh4CGt3TnbO%c?VYmu%i`=Wh+?fy*Zo15C#(EztCCPU>4GOZ7g48dAHv?8Be=^rvSxHWLV|TR%dI!+ zsRi!hhx5iqT0}kaM7*}k3Qxy&U%g{xdh>)xFdoq&x+M=Vo2(&G{g`dPgYD>6tKW33 zY>w-aNMS7&hBIZ~=lV82M6C?Vmw0u=xYNsH9h1yC71F|HGXEeE-N|BR$%xmLmp zV%N-Zu1T?2I?>iBq{M$_&g1Fndk|gFZd)jQEy_7&)W^7za#>hgyNy>u1SiNH3>~z3 z=^|j-{v63`N9i5ytrx4L?$5c{D&nPoC{NF9s-dX)ZnF|e*yo2@nPyyXz!D7JCi18; z%ofTPXN7%U2yHBBOD0J~b5xvH0uX)fIAh02+;A!Sv45+0gJB;dz*X3{Skm~F89%F4 z)IXRkZ=(+C0d;H+wXtjN3W+3QUpW(xhG=+`vMzrYJ?@!SqMI7onT_hyJK5gY->nZo z$Qk@6;i3CI@NleQNCZjToGgg(Y0DCOm*SCN6jjfdFgMn8ASlp zea)M@@Ij0jq`Ropy;7m@;R|+?91Z=_c_$-x5jm7556{!ZlmxfQ)VCv^Q$@Zh)IJ~i zFfkSZA59Gs9qAbT6@nJ358x=S>_JF)|@H zHFiIbA}KtI&d>c4qeC0&>8SbNrzq3C9Os9z*W&wrdE9arM{M2~ga9;rpg zjU(+!Bb*a-Gz7KK>BRWsez~opwx9rF)=N_%MXRz{3LaxXQwVg>o5;T9fa)GjB4@kc zNn;#+HuT@e$mWs@fm0Tu3(8!V5#E4$x3G00nlItP@Y7UqA)OnwP(cv?_bEy*`tvEe zBX6N$Hr>UVJ^J{Cw$`(sB`3w^!&G^EZwq%XLJ^{3(~icnilZEpoK=J+s>18TQ)ITF zHjkL`&OM^aVqvM&AJ6ab;{FsWr-s1Sfqi~J6Y(d;*&cl^zGw`S_zJU&C63%-N%u#S z+Fw1!+3>j*bkU~aRVR*6Nm&UXw3zVla9=85+$MTllDI`o_C*No?2Y69)^+npH`z8L z*^L;(hxcTK>vTw@aCTfA3WHobolj#j^oR^aGoc)rc%UIJ1fh&JXGS^JBC;l)nOS#} zB&w%@ToZTj;}8)z*T;!}Qc`|M3pD4QOK;yopg4ZJZOPnl)yR1u?7)$8HhozF5<$0u zDsCfa3!iza*}r3jqq-2dA}nSh>WkPJF2u-aDJ6uZt^mkpteVC_WRozRx@Db+olj(` zp???1Mn_gcFj>=6j_pS_hmV@`)CjD#kE8rfwUaoU0(6?`$=;YF=B9#?U|5A}>)b zULsOHQKFNKL}!lhc2Ezi<+~|Dw7-P|wdEhkHxvWJe6?tAuv>e9yaIE&T?Q~1;3}?Z zQH~g0MODJ`yzyOOc-3&C`KJ3K%`I7KXjjqFmnPA_pFC*#(;2M*SNdk&Pv8RScHnl_ z*iYB}Z9;c56|k4j76zR_KsZ5mie|U34QgRuzIV$`)GfV={C}Py7=nL61q}B$1J4Od zmW}~0so4W1Y_qIJ{-@r?cK)pd?JN=KAg~dc@7G8}E5zvFPWXcJ+@dutD+|&?FzmD0 zJrDv2H0@CmWb~*?k^2MWgtYjLMc0Pbka0;q+OiS~Fq%wL)^@yzoI*%jOZ{!2mV$~<&emv0MbR!2 zD!|i1{WzosdOv!Y=q4Y{C+i$|c#SA}JY>xGgp8YOLm!HgRt+x;BWqup^c} zY(dkYyG>-Z24CxYU70QNbiz;r4=pwDDmNAithU^ng;PAVcG)w|qL!{3mh|I2tNJ)w z=+F!8eAN6J|6qreek;a-vbLz)2bzlo&rg@>;-~5f@_)4 z`C--C>r1t2ns>5IgI@I&9CB(*HYpBZo)a%9X+eK}3BrM4fnbFLV=QCvEYu}r;Mcff z2Oh-9vGB!b;xa0KF}O^z`UHK@X~}H^!*l63Rt10U%r(O>y??<2;cKjoMtRLdQ5mns zr?Q<<4<$g{p7pMs9sn_;+y=mQ9H1i~y)Z^1SnxKQA&VUrD4X$KZNTmplz!KH2vgN^ z*1je`We^Ypr7q7gE`|>RW9~sLy@!C9ul^@uK6hurSL137TC=;?4$T`!1w`OHI~S5L z6^UPUn91++R~pw7yFSiL59H+Sz?g*h0TpB4Ou-)b7kursIJIfT%bLl-+w$w(6rP{A zJU?g;&b(H+xmrVbiM%xN6780k=vbr)+zzwC=NVqk3HYVW2o8Lr>Ar_xdJR1!r{ax) z%dE8qG@e|Ohk)aYqay6^c7EnF9|ZV4ROx>!iqL&Pet+}(Y}gIv{iP@wB-tVJ5dnzWGnn7i)Tb$zpl>fN~KXBf`~a)sFIBrol~V zdpU`!LT4kO3q&{4-I1ph&E6vJLgBKDOS9WbtZwE9*gw`z!?1okwcryONtnj$0U0V@ zGQG@Lp8{K+0j`9|rpMj-FhqRFW{iO9yU{3puhH1fy&N-c~))W?aR()qx3g zPzHg4+Xd7J0zAZpg9T&jYGe%}lO^b{E>YH+PnV|?o&xDOEOGy>?OH&Fi@TP;kv~q| z2se((^Y)XxA~r28(p(%5K^_DP4r zWthbwT|jUrg#B>a^Ig?T;u;aF^I8DCYKn7R4Jq2~Xc0{?`F}@iNR}a7lEY>A4ug~W z<#aX@hVa~2$7o!E#Dx#gOw^gZ(d!fTIQM<5Z@CT(olM<<>^CFg{rX?km8UB#paf2lr5Zm>?wo4hi#`}tU0Ti5r@6y&3MvhvXkg4Fzf8S>n?40Cc&cuRf7pZ#LI d9L<*s=>LEG{n*Jt5tly&OaUXqQxgqj^FJ{|O(p;U diff --git a/tests/test_graphical_units/control_data/img_and_svg/RotateTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/RotateTransform.npz index 00a74c7abbfdbcba1b96076f46d0755fe6f8181a..385d6fad1ce6fd0cbce42c594e4fe2a12545ee81 100644 GIT binary patch delta 43 rcmX@8cu-L)z?+#xmw|zS1BewFoR1o~|A&H&Qjr48x(vFL%LKduDKrm5 delta 43 xcmX@8cu-L)z?+#xgn@y91BewFoR1o~>kBY2G_XoCY?O)=U>0E(nOr8|4FIpg2jBnz diff --git a/tests/test_graphical_units/control_data/img_and_svg/ScaleTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/ScaleTransform.npz index b464e1cb62404b4b1c740b48b9a2714b0a93e5f5..ebaef3a45bf0091e38cce6f2377c9d930d806b78 100644 GIT binary patch delta 43 scmeCy>(-MB@MdPwWnf_70AfXkj++mE|A&H&Qj5iybs2Og9}x2f07d8#PXGV_ delta 26 fcmeCy>(*lp@MdNanS4M@e51@lF=i2F5ZfC7U<(Hn diff --git a/tests/test_graphical_units/control_data/img_and_svg/SingleUSState.npz b/tests/test_graphical_units/control_data/img_and_svg/SingleUSState.npz index 2840601fec69f5afd4c483e0c66ddf18aa9b03df..596e35a6c9cdb961b87b1b1c0fe7610535b92840 100644 GIT binary patch delta 43 scmX>ve_mcHz?+#xmw|zS1BewFQr6tp_zwjerPBGCbs2OgxA1!d06QxX4FCWD delta 43 xcmX>ve_mcHz?+#xgn@y91BewFQr6tpu;pi9Xke9O*eI3G&n&_$GP#A{8vw$-2)6(L diff --git a/tests/test_graphical_units/control_data/img_and_svg/SkewXTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/SkewXTransform.npz index b4661f6e70193bba5774bae7b0614bf72be489cf..05ccceee6cdda9692e059c19906c4d979e1e4ba4 100644 GIT binary patch delta 43 scmZ1~wNy$fz?+#xmw|zS1BewFR{a)!^dAZ~O6}!g)@9J0e2d2$06S?A*Z=?k delta 43 xcmZ1~wNy$fz?+#xgn@y91BewFR{a)!G?|Bip@CJBVWZSu9%d0{k;%7syaCC33Dp1q diff --git a/tests/test_graphical_units/control_data/img_and_svg/SkewYTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/SkewYTransform.npz index cd7d9d69fd361a67e6bba755d31b094f7eb96378..681bf59025ee90389bf5342331782c7d4a6985fa 100644 GIT binary patch delta 43 rcmeAZ?-Q2_@MdPwWnf_70AfW3*^hq~{fB~$Qfl1Hx(vFLow>aME7=c* delta 43 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 jc3-RaKW0P$7z6#UdtE^X7!5y%}5zx00W zj)iZDZ&b~v?S*@*pZeGRcKdeC6iAPF2dSrW#th8$U<`7&Z~ElWw#SWaqm#V(MSKbK z@MxbrjUZm`k@eg2P)dn)ds>*e?w9k|e8VKlTHCO`7D$ETN7YnU`8d<>?Feq>rZ!)Jq2-+;mHC z*MA%Jw`u>p|3TpY6M?Q3YSPG&dHvb!Ym6rD?YN&uoDg0v9zgDS)%&p|gTILeMafUI zxdS3rTx9Z3Dohm+$fCeklcJ%Yb&e6oe_9(KZ|4MkiQ}n)KnCWtij>nW&h<~70|Hpq zA7;3>;yipP*ReLKG!pyyBDRzRGe`JziNPRHPPG$*+1=$Z_eK9Cwmy3nI&paM-Zrs&sVh(o`!t6}JRnZ14*Y|M*mM#~X$GMe(mv7zsj$ ziQa)@^f0{t4^*LZk^|0vzeWYC2M<1Xap+|}s)3IuxpK*(EQnaY$Lsz$HX!_$WLMOo!r zBaK&B9a5>eX7BTp`qs~a{auUzW8+UzJY)p$GPIn2mWn`6rRpHsz$XF8gKR>U{4|9; zR*AdVz4XV~SzW#Sa8~`U;cra7L{&m8YRI6`~$dU);^LJkeBK@`!W2Z&y69zk5IC$yBgQ1@|o~K=GsiTLeB? z9XS{mW_R?974(rh+r2LGg8#k&9m)=Yo@fG)i0$8w%A9(L#e+}gzC!2DPYz{TGK{$0 zL~>=t`O3ONqaAs9%c%H;By_Up$O|zOz@p}H&^bvB54{k6R;A?Zr@6CA%EdX1(7@Rs z=DaBdjVzZu7SZBTlD$XF5&AY70^OxC!|dE{5ALs`7osO34j1JqP8-z={b5Z!05b-G zigjkQrxL#OsZH-CE*Q#U4W!aQ(|tSB9{L6iLQDB#Z=nvR`iY>%hkC)zq--bI)in4} z;3Iwjf&-`2C2jyUsSBRqI_KWa{N99lex~g%MjA5%V;dDo-z2_^;7TLr*1wUK^tOMq zJodrT!2n+-lyL8Ixq4w=&e)l~oBv{|3c?X<(6OvQjb2NLtyM+n_zCO+U0+x)x(W%Z zonHS&xZr5V68KN%osQ0kOK3UF68Nab^TtH4;L=2)gDD7fQCmNI>Y=<5yqxno55jDe z7t?2(y|5J#7a&1J(_(iT?A7aXm~?Rb2+K)TX!yxKMzg23RX3GwuL8P?Y_nUb8KWFC zVg4L6mYj|C{foNXP8WN(Qz(#+Z$-AD{R0Hl^l+dusB`}(8j_Qnq1g-6>IZCj-MW&5 zkZ%e-^ThASJ}93(>KIh6&fd??q(#u>&hr5*ryrj+yj}oeDj5N3t^HUX>cJy?1H^MK zGdma^_v&^!jPqG8vuYV=vDx?N2q|xhmiscTyQMS4IWX~5OH`L757RiHB}h`10IaYp z>ZiFv^`3ikD6zv(Iq^y$G@p;DIkGzOr@rA%o$^L$zcg${?58R`G=Nc+E`EszlJ|(m zqAtgD$CQ0N2kp`FEj8+w)NMoPzE0aE=6mR&7sAZW^p5nkXDXiyFgwz${_4{KlB9e5 z6lI_P%5xY2V>MAeX8kIct5@#a-JfeWo^bzw5CuIl;dm91wm)g{i={dU^qQUa#7{jH zlLafnD9Q`?iNq=M=}vRk#7_F+GR5%G@w^p(|K`D^iDTNqeVD^6RB+UKM2wvpbl!MA(pStSnEYA-ftea}n0Zk}q2{kF+zYZX;2bf_(`52Y8 zk;U7yWpKHIq2T7PRIj0&SR4y%CxpaH*=wUKbuP57MyrKEXtL1D8wW_^3{A~mATDy= z6>yh^0xd_I0!*C(s%vZ3#g0tdksJ~0?CTKt6^A$Ozn^;dU{ggNQ<~>pJ!mUp%-Q{lClXvSAz6qXat|hGS_7q3=0?c#1Ose zUdXN|v+QR36UQ(3v=ybS=8EbEdXNVZdt)M@sf$rfQ7SY5iq@3t$yO5H9L(KxO#brV z<4m`@p{Y{_d+==EYp8*U3=+9kefTC?_aiKe&6+QT)oiAogFb#gVJ>oP4w|=ilUC>EMO`8lMb+dLRqUH zW?v4}+pMiMckQ{JMA*?zGiZ2W2x^c-equ!Y@GImgipMJCP5=eN&FQnjTLD|%;)yMnfMoao$anIvpN`$+$4qq>^b z=bk;p4vQt9?O3#?wjX0DOjA@PipH2N6i9EKlw=Qu{Th~=^?5Z-hG02!ulYPBcyJ}@yoBBw zu-HbdK%vU-E)@z7v~?`eIJ<5BUTLGs8@A03*U!KEOB1%mmPiCDi%;3ZG0g8t-TvSnnsg%rlbXcYkz(_!v4Nbawn%f0__CEK4cU$J!6VPfYeJeq||A-)Br)F0Ggp!7J{cN2%^cz&~ zzx^vqj%54B0;<)S2?bwne2&K+oA+}8xS;sX@b(b51*Kry?)cPPF}&^ z4o2LFl!l~R(CcwQIRlr8?dme}mX8whlw7u_00*;t&<~q`9 zzazAD+!C6<9xn;>YWHju1U>I}TPWq@L)*9bkE-ZCO@xJa zTE7EaPL&bcrNTRnp_`WDUbHjr4-win4$Q+{$bZHB5Xpx7W#?*a5-mVz(UKlG;dj0R zJ0US3QmP2tH*CHcZH-77-KV+ej58+jstT><0m~a}?86dGPD6nv_~Mba+I5e*NLml$ zC$;HP9b|f^c{O09#G)C801o}V(;a%Y)yfHH!V=mKSp5tL9h7>G7 zSDUJ>y+sAhU>Zo-=2fj8a}MKSO@XASr?UpZ_a~$P5e>c>=JJQgnqF0Zm2MtG7-nu#z#!?}xZf7ji8g^0H#J3@8}JlP%p_3kA1=jN#faO-KFw zhTZXagGy6|@7B;;(JfJiRq_J=p;f!^`Q%CM;K~5VK=JHnpjK-|Q{xcHCRD*~PNu46 zuWiAy(VGX|_f@VHV0`9%T%3WxK%f`+%R}U&&nAR1z@aYpr61mK8x+$)i2SMe^5%@I zNPnj?1LZ??p*GYJT8qoM7ENfh(9=(=Pk$I$c-bcvFP8Bgz9&f5S*|Ci6?Zla z?`cHoTf_iepz2Js4=n^e&mSG{(FHz_4s4UN_ zln{<}#9TX8b%ucPOioj|1{h%xB&bT+2$|YeEGUfxJMA{p(d@pbmILHYmwzv>7`bt~ znNb~)EV$fVAYHwpZ?^qtZAv?$99#k9(A9&}mcHiN=dw}wbWI+9L!&6OuV_QYg0tNT z9+GwT4(`WBHzafOe(j&<9|Zod5$FnA-MHkY0^Y6qzun;ew?rJ!Wq|(2eeNYUHGr!@ PAQj*P1%A7>u0Q_^8)uHr diff --git a/tests/test_graphical_units/control_data/img_and_svg/TranslateTransform.npz b/tests/test_graphical_units/control_data/img_and_svg/TranslateTransform.npz index 7b318538a68820ad009dfccc0f1454c3b49bda84..b7fa0d0683acbe194998d9126285ac2a874b62ce 100644 GIT binary patch delta 43 scmbO%GFe0_z?+#xmw|zS1BewFxSgC={D*>#QmZ+cbs2OgpWyTc01{yj8~^|S delta 43 xcmbO%GFe0_z?+#xgn@y91BewFxSgC=G;%U9G_XoCY?NBf$t=PwGWi6jHvpc}2m}BC diff --git a/tests/test_graphical_units/control_data/img_and_svg/UKFlag.npz b/tests/test_graphical_units/control_data/img_and_svg/UKFlag.npz index fb29b5c5d88a9307aeebbf25c7fc18470796b64d..fa2ad5f874e88ec99be9ea4012ef7a49ac19e0d5 100644 GIT binary patch delta 43 rcmZ4NxY$uDz?+#xmw|zS1BewF~>x$~8Ai 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 diff --git a/tests/test_graphical_units/control_data/img_and_svg/VideoIcon.npz b/tests/test_graphical_units/control_data/img_and_svg/VideoIcon.npz index cd8a9b125d0cabbad41e4b10ec0e6be2992e38fd..f192bb76813a93351c21ea15f012e5c266cf9996 100644 GIT binary patch delta 43 rcmZpbZJ5nL%{L zMJ*cH4q=i5fk?{Q$fekT)5W?MiK|9;o{n45B2fLG#$(%Xw zdGGtaxw+4Co_kJkz=n66006&&zaIfp-8Kv8O?wYmfUnL)$A3wTjXocZPB?P`1-1Y$ zu_NpW!1o`nc3|dZM?jHeU~s5pu*`a^aqOqxZs{~7OE+KH|6O)l#bAYv`R{Lto{4t1 z)RTN~e3<+0m5;ZUlnk4kaA~1E7!S(|$nO0D-=}EyVXd^5u?2-@+4UMd^mr$vYdPP6 z3y1!=G;vIcgPuIar58e48gy8Odr<&san=zlnx{gmudE}+bCg1;p4I`8lyXRqgJidq>QL410Y{+qW#12A!?7D0AE-o$?A3uKlU4Q?v%-p%q z8e@8Wr9glUJai~quh*YBd)7Qtzhs$^m?+ZgGZyta%A!_9((V-q`FuwxeVHc`iS{@< zht3|E_5{IA4Sc>xsXWW`lO(64SYc@^Mbytg7^|$TY+gILqd4tMMuu%dMW4CLWpaSjf?MZb2Ll zCz?Xh9L-%?n2DNv^(s)X8B`H5F_u?bbKD<(^UW4AnVeT+ORq11+ud+pkS$%dpd5LU z6WP<#!=QG6MyL4r_{fc3y~BI0;I6ap#S2GrPx)b1Ud?al^*adZ1b=o~diqUdR8m*x zx*LrSmsT+tjQNQWIPSEyB($)wP_h&?SVI(EVltVd>ELfmjp-V6U|`^_xd?L>UfrMW z=%ZB0g*3D7?(QMcWizp6Q?uL&TjMa0I6OT)?URufNOf)N>dI4~LB#=#_o1Mm+bo@~ z%Qd@p8e-=+8eHwXT)NK4t*X=_1$7lHcc`^Xhs^Gc6WJiz$82?KjQCS;T+{B-xQG_z;<_s7^a0p*xV^o7&0N~l^yd@bYKJMVe|PO zAK2ODr@uZ%B9Vqv6B4n;$V+{SOm<*hCv;VAmdRvyN=tXFk_QYK+PzRSUtixfZgFvW z?H9EdgDIjO24VRP4Gnwt?XyluNFelAYPH(nT^6fu(!Rc}DHIB;ry@}<$nNayT!nJ0 zb2#@%bw#L&iOHR^vYpyKRH}!&ySoFKp^&0dZ*LhM#5xgT z?!XUtbyHK*-SCX1*Y?^1RBF`l!wE)hRek+FWaL4PixUkGpYY*C9zAMLL#z8x6`4v5 zj2LaTaO297I&N}m${%4f37<0esHJ7UHq%mh6fbG253#^OdYxvEr>8BJx_E<{2$o+C ztEz_eJMZ7WPmq>BX(46pc5>p)8qsrFoTa0qv09$+Gf!{)xn6fSw_UV3oo4Q)1kkCu z*RNkzsZUpItCZfp*HOF^&~ z4CB?@h^f{0-fY)d-Es`IURurCDt}J7Ok1#1wbSg`*#HuGntnJ0s)eN2roB(zIN?)jd3H7cY%Rz zox7r;!2DsNR;$G%&@3O3G8Ajic4oJ3=9mwO*mS?&=z37=(#Im>7hKL74mk)MOAQ24V73-g*qe7hKVaMcWk;t2i4Z_4AObo*0fA1)VzHb8B t5FCIqasod-5=RcZk%RB|{*4{zC}i;C1M=X2jhhfF3jSc=-rNou{R_$?*dqV{ literal 8054 zcmeI1dr(tX9>-6hpdtviAPOQZC!LiBH;h1pB_?q~Aw?cBJc2B56^P*xECD3XJ(t?qZrh#dAN_-!Niw;a-@U(c z&M*0$-{*esIarMDd!_(@jqvju@VA(goL9R5@NVA=wg6Lb?z3o8Y*b8iQZzd8!X*?i zS-S#V0pf+c=0>_O!yUWECyK|9nip-H&#pJ=&iqPR;QuV$q}{eS@jbnd&}WV77xqOG zusfq{w`Ywj%65PC_O_TCdXZs-HVYFR4{FZeY#bTzX|sg2iX9;hXe@VVq-V2Y8OnSw zk@`-%O2KeeEsd#_Ga9wDn;WK4&M?r<`&?8+dP;PheXeR{g3+ZuvXT!kYnEzThZ%H@ z3%i;@UP@|E5B4tQYX%mh@S1Q<{S!@)>J8r-^S%LSB9UP6cuNaQ%SA6@e0)*u zrnH`Hx41KBY-i`@(xqeEYt~-$D?>v=3kwS-bhUCvVqzjsrJ|`~QXr109?k8^xolIiqaa)qK;s+abn_t~>sUcT%Hfj4VvYK{g52Fg58 z*zi#fP0^Sn5wa-KBI%~I7YE$ktAfDp>Y^gs&d$y&Gcz;6lz1}vcYnm;e8xTit>yRc z@0p#S=aikw_oNwESy>5JfcKk@?vQ_m*A)172?W>b>gvSA4FyRJjg97g6&wynOw=!E zXkaqU`YO7+yVtB3DL&2&I1&>R(Pcpq5fQ=xL+`ja5@}yq5Sz_jvm9mhX6HvA|Cw_R z`1xMCbSWex#Gxz*gTbuwTO*HvRu@I)*CLT9L%r>D0)bEb0x0e3s2}j#+IZ7~{6$I- zTgJ*cF!<7V%NE|NS21O^wKq8j0sZ{Q$VfCCl@a`cD3@i=Cf;go{e-X&7~H;F*v98C zuBbW7hC$zi5*Z9H&Ew?cWFY}~H~aYdwltm}qaV+|cY9=7%rOD?>ey^6X5h`b0ll*V zoix|`Jr$Falj3?{bF#c4J~nob+!-7TbgKT>^XFfBZU#NsewChd<#yUOP;$Hy9J`A{ z-8x*YW0M@F=PhY4Nb7_DMtQFjI9(b9O8kG$0S=I0^^kz_zH>S*=b{-15JK-+$_o5@S6A0sV8~c?K3~sg<4_AbzaRW`Tz^}ek1Q12 zvPVvZ+MS{JRf5mEP|9+((?4F-#3$=MPImp&0kj~yPks?H!rWL z*}`Np3m-oGt)~9L1AF-$;BYcD%ii9eH#!>mR;{AGee=?{iOn`LHa4Ds#WFE9Wj{PN zHqGF&SRES06_KTrYVfaPTxTGFrXZ zM?AbFmPnjj-P}Gw@GvQkB7?^TrGjlp74J3U^Wvav8y%`)bWB`>){is?p zGn0W30fWcmp*1_3xn?bMa$rT(O-)T*4(splH=}id?7u=fKx=5oa?LvGg?}^E^$!F; zN!hu%*V5C|FNZN38nPMTvrJvAvQBU;fka}9&woK7lOJ!}_{7VWb?{FK3C^i%n669@*oSPQ<(l{|^t{(A5^eJj2q-4QoH`pC8X{f1hBz^R z_dfxbkVK=YF!F4VfMu1xot<4_bMs-jA$Uvc6N#=C78dUJ@UVjE=H z$H+K^e2IumWj>!DO`#mDs;asYjyBiduwiM_dM@F06&w98T6vWOysM7w(OD^W=+PqgwxD^IkmC%+O-fL5Mp y<%w3F{9nowheH}`EC!`xs{6lo$^Qe1w6%@p|K2mlV)XP84-|a6!|&bJi1lwNLdD4d diff --git a/tests/test_graphical_units/control_data/img_and_svg/path_multiple_moves.npz b/tests/test_graphical_units/control_data/img_and_svg/path_multiple_moves.npz index 9f8839930d957741f256c7921f235848a79448ff..2afec6a40ba3668b48da8f9252521d081e9085b9 100644 GIT binary patch literal 12356 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 literal 12363 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 h{_!hWO9$aHvsPa3Zwu4 diff --git a/tests/test_graphical_units/control_data/indication/Indicate.npz b/tests/test_graphical_units/control_data/indication/Indicate.npz index 44d6e7d1fb47b140ed323455232f599248acb61d..4c5e75e629b5a42d22f35ff6cd077627167b7061 100644 GIT binary patch delta 43 rcmbQFJxN1&X05%&B&j0`b delta 43 xcmbR4JKa|*z?+#xgn@y91BewFJh@(fWL0BeI1muXuu)21jah_QWU`N%Hvq>Vz?+#xmw|zS1BewFE`@#G{~roAO5G4<)@9J0{8iW+08hISt^fc4 delta 43 ycmX@0aX>>Vz?+#xgn@y91BewFE`@#GzfPEe!QrGf!$zqa!ptJfB9p%gdjkOI<_lv0 diff --git a/tests/test_graphical_units/control_data/indication/Wiggle.npz b/tests/test_graphical_units/control_data/indication/Wiggle.npz index 79898a858028080cc7946c55ec4b7b32863b52aa..a024c2673b6f37d42bf3fcfab66a923e06f90380 100644 GIT binary patch literal 14587 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 literal 14527 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

    @(i3qS^AB{ev*RRC~{Mie80K|thbKq_~ynE(N)g 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

    @(i3qS^AB{ev*RRC~{Mie80K|thbKq_~ynE(N)g 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 literal 10390 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 diff --git a/tests/test_graphical_units/control_data/plot/plot_functions_use_vectorized[True].npz b/tests/test_graphical_units/control_data/plot/plot_functions_use_vectorized[True].npz index 1411fbf70d6f7bc8fe41e8b133f5ff1d8172691c..ed9a9e11f0faeff07586e1765b05bdd686beb56d 100644 GIT binary patch literal 10414 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 literal 10390 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 diff --git a/tests/test_graphical_units/control_data/plot/plot_line_graph.npz b/tests/test_graphical_units/control_data/plot/plot_line_graph.npz index a184d41bd123a5f38a1bcf6d61c1ccbc70b91ecb..347f0bea6b026a8376126cac95185e1ff5a9c892 100644 GIT binary patch literal 12768 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 literal 12889 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 JHovL#e*gF0%aFMfK~-%)gmBk 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 JHovL#e*gF0%aFMfK~-%)gmBk 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%0Ab$&hx+v)co=cx_e;LGl7M>;q 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 G>Hh%J<`@J3 diff --git a/tests/test_graphical_units/control_data/plot/t_label.npz b/tests/test_graphical_units/control_data/plot/t_label.npz index 4788950de5777502b9f941e9a9f5864de022f056..41b9a86973e171a8f95b2d15b2b1cb7a647447f0 100644 GIT binary patch literal 10347 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 XJ`_A^yzm?JtrYyH3;(X#j6VGj^{ZC9 literal 10115 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 Lg8%o)p;!M0HnsiQ diff --git a/tests/test_graphical_units/control_data/polyhedra/Dodecahedron.npz b/tests/test_graphical_units/control_data/polyhedra/Dodecahedron.npz index efcffa9be963a4959478271365711221888305f9..2fa5201715a6a9151da8a1202dc9f5b3a290e3bc 100644 GIT binary patch literal 8312 zcmeHNiC>aix298Rv-MSa962XT%dtc=2e7X)k7a2okvUc7kcyNuB2t;vvDA|d=EzCQ z0TWVEQ&FRnnnRE|;0%r^sHljjh}>P^8#eHDl*gtwYpT84y*_cbzoNbQD z+49qem>LMp#mg=@ib&YJ#JGejBv8o2!%|(@WV#?zD65Mes!Nk`%j%i+3sP5Mg{i6SKnhkd4OYdw3k0BArG^Vy$SrB*UmF zYQA8l9+})5*`Vw$lconVe*ZDq|Ns0yy#lvBhD?=nPnPwCxwLh3D5@i(j#P*`Tv~~- z)rQQ?5Xi2W)YR0mwtUBPHa0d-%LfHROj1EX44cSZ4}omz8cFuh2n`F%3AV=Ja7&Vl zqml(-lR>540zT3m0{PRSYQEdww)6qadQ{TuQ8U}9OBb{Xe}X__bzt^8J#6b9uxdx5 zIx>xh2CDYG%$6uqnW~|1j5zf}b1!l%dJO~;XOpgNBv2e-^o5M%?{D}O7OrlvaU7dJ z>2%{(6SMVUv z^&KKYQ6+#-zA!L$4QKPT5@Wq=5*Q4!-7#R;>ZuBzMt~W(IpB1wlTbl%uGKsJPE;V3mT=fUMz^|o)gMEF` z?$Z16dWr8#$qry}s7V$Tp0t%0W~pRZuq$oJDb1@}PyuD{rhysX8ZhC78zy*{dNWC+ zbgE^<*#n1n2S0z+eUPg0R)1;ib+Wtw1%X^%Xd@FW8=Tq;2#S{3y9#*7#J!V8@O@Jp z=_UwdOQNny&Espg>z>EZskTM_UC zcUxpD^TXts8n4M=(y0&^ZslP0MmMl)M`eRIaXvm_c7!FdjeYutOp8-}MLV@6lQB=U z?d2#tA&_5cA|~16o{PPQ@S{sY`3^Z?glDMX$}Xr9iegP}gBX7?7#=Yj&$X{{kCJ3? z7PFnILWVPF=;%m~Px##x0B&ye4@!3!c`meae={Q14u<-@6x!sQhs|C~EM>6dXLgH` zW0AnaBOi)0RX@8nJgmVRf>8M-wK%|LTJ5~fVCkctIVBtWExwFt5z9lt9qimu%us!z z0OmN7AdvB9l9S*p)gf3wnU&I+_c*WVfb#)5T=Ij!&RM%}&x_upCH|6Tq`SKYZFMlq z2^#QjfqRHe0?{sBrXc$KlQX(yZYwT^`|Ox0Uc^j-k!DK<9*esarpJmr>3k5GV?D$2 zWhd%;EM^nN*-Mi}dsUtKgbq$M(sD#GeIW1U;$>qjaBt-t2dBQ810+o3OToNfH*pEB zn#3jym(>gB=|zs}EyMDM<$tWHeRRCA>j;c-8z4dsCFs<~e zPg`fuTW0fiN~kWe(m0}2IgI-JM62n9E%TouzvPa;&UyN~I8{y+A!Jd#qiBp26*BQD ze@qEevl9<%*G{pr%85EZ{e4ZFGVD`m*Lsw>58^D6UmLZxE(V`4KmE?yq#!(&X>mM& z*Z4d-*xQncnpx9tlSaF7dS1{u6ZPZXrH_TOB)2EeRj7o{fO91`93#;#1b)93+ryl@ z+5Y0RgHzdL7lLTYaCTJ0$i7PX5fCBlW?IpXFXbv^qtE?pig{-*`4 zhgKK^9)BH~=@*Tc7d2P9cxj%zOVNfvj%-FUTvDh?ORe|`_}^-`(kf^eJD@z&eJ{Z`@(!UlJci5+++)5G1x*wcN2k!Hi*@)y-k&F*ULWSpKL z<>LKlyk!Q_TzIXZ*+-rY&y=YZo{?nDcCCNMz}(UiTxuCIJDD!Fp!2stAg7#ZQ~EGD zN<3Rh=a%dA6+73rhe_Cc*iL#dS>NDYW33N3ECIlH)3v+ z$xMHHmt|k%e&lA&7?vimn@y6iv_1LCGbv^35B4V)+_Uc+%`Hw@st%>|L9&kf5<5hW zS9!7+SDF{qk;NH`D)(C$$-FN5-Ji1AJsC{cj#p-t_9!>k0KExOom}woMe#NNZ*rme zsTP} zB+iid*e|G&L%4Ir6kAUoe?2N1z!q5iU*BI5R`0cPqVy_9Pq_awOj^z<>`Zyr^ymyo zs~{XUpnK1-nGB=}bOXZMaBmQjtrF(VuB{w(DO*qR1nsW_hClmyGc+(eM=2W-?%%uU za4Ec-IqeV5W#3`JAdtHUy;?dZoRO-;4TuYd#z9D#cR-ZUb>e}CrRyj@fOiBEmxH{* zq-^rvJ2rPr6IE4{Qi!%yjXywCp^?`>E+1((g%dOUFVgfE7HHcWkOEBOM}1pW6Jvpb zI}1<<*Xp_K@`j7=qa{Lm{b=kdvdWA1_lzdzUPJqpY1P0$Uc4IqTw;mKvv7mW2m?c> zp!N?=&CaP4S9Yj|w!GkkZi7IM=Z8&t0@Bj4Y%_fb`|FbeIkI_KVFz4=#sCK1K7v{y z{4kir!2&83CM|)BM3p#?I2D&|a?poL=HL>^EJvmRY6rW% zXvyTcsb|VV-ejnWU@KyqVMtJW%A#%SkhH_q^~p<_8=!AT@xz+X-{pd0HST{mwq-cZ zA2wH`0M_S0PEL-yP)@m=^{s0Dr-?*YlN(K$QCE(dl%ab{IWh!bXTO|HKhol#$(fr$ zM@dH)W;jDL$Fxvedoc+$rhlg51XbcYG6^6Rw}18}FNON)sYP14e;y{?R`n(S`!VVk zVRI_%QI{trzRX~H{ZOnOS>^p}`-}1$AV;qkVQM*l6fl~P8b~gz22p=FQIrFx*AK*= zC7Z*ndan>e0qEIBDf(9j->xaCFaNOiS5!vI3S)isR0aQz3bbuxVpyi2Ie95(;$lSOAbQmgej`T`92Em?yYpUR z3DXsFfUVCp7^1X>2I}0<=N8{s)9c4#Pl8V6{-^4n+Hd{tOT9UI-Kmd$_culCh@TZUBwVOS5M!j+WZJ1PzWOzKAK(=&tE5`q9 zq7wmM3pu)fwVDZoUl!ix42h2IL5T{laBsgtlNUSCbpFo}$gxTgeG@4cbi?JKRHaSj zIyKjI!?Y%iJX@d8`APsq=!>2d2E)0e)Ov`kw-FJx8t58SC2N=qtR(121*eg@ZZ%5x z@7hgO(pJs_gkzvyu>L5SR~X2r+NL@E3l08!`pkOkm#%PctyMhv`CoW)jcXFFVaKwY zu2>Jb^^-9FfT-a;*1PE?XK3N;Fey_dcs^k{WD*s_(gnCnN<~%{`&=sQQIFCyMD4zp zT9T-RK1U5gO`C(ej~xaD>=XRPtIvcN)~#aR6=btZ|Ii!Kx$OFN6h|<|5Ms?p!d`n& zWo?gg{a=9fVjG4zB{>{=-Eq38%5`_$(|xOemgBc4#0>z|q4FEOCFeXDDHlelitC|6 zO~}76z*WA<5#P^Oa6&giAhkKX6;Z>B$hsUny?!C6eVWv>>@>TK6c=uGPXr$O2-Hvy zK(u<-cWmyEgYtm|&%vq!st>Y6<5c^{&m0lZ`)YY4iu6n(_44sV@%<(trAj#?8lJqQ zH;3Pvd@rNRQYvrSuSVMj0Jif>=UZ)DSWD_RV%hlE#Kg0FBh<3&7@O@-z%ctOU}*_X z=Y!xqMYl1mHdgkj*BRB@ikOG$Fl+iv?AuecUAz#u`F7JgARXtwpuV#4AQHwqIU;!o zm>u3V)+a+r89@$7Tcf@&}^mHopAKI~0rdMCOjl3=yT)PJ$-ww6lcU8JL~+vF}NG0c|A*ZMvBBz+P;XxV@-Fh_pO((?$5GMkd~q#*k7}yIu&mONcitKOu}?Rq?6^mczW>=NQ%2km za;c@{iVaO%c0l;sPCxp?e~CwYZREJJ_$ngv0Au@*K#dmsUdP)o!LOC8EtbM^mAWOq z`8Y;D#wBFH2cb$MgCr2(Xom4hEKm4qc4ZK+8kt_xcHG}3aw}(80@YZO{3eKfT#?wZ z9DEHB=qdItS{0zi8F>4^sW^@Z6m~wZi;MG$MlKs2rc_vcsE(jM&*9#lW$Y}e6PT9( znxV1zxf@8_UD@$xl_=-lsC~jx*Z9=nSh-x~Rv_w1bOFVRg0F#maOTY}QM_1dOVw0L zT@Qw0W!Qb0hN%ZJp>HiiD?sHXs$^MP5)Y^QT&=}FTkJwbjnr{MR|ilzt^iMc)RL<( z(EIf+uH!^#&r)YhR*8SV7cU7-hqX!aFTKyld3;>PxwV;AZ9jAI?Um2b(Pz#Q+TUP} z|E`cUZ9LjMHN2O5M`BXf4#M}(W|%xnS1q~jL7z-Jv>nX+yxF@$(tyQG%rs!_FR1V8 znLn@Q=GE#bWO22~>r1{;FN8)eTU{ThLvTa9!h<*a?{YMq6U)hVyU`&WHviXZfqeNo@n(cF@)_-G~!igtJ=&eNbrW5Vcp zn!)_+sW>+^vq(z}R1G6|00_TXL(ZzzQx>kwt#P5wh`kOL6 zH+9XmCx!?@AJ=SUo82U_5l2#a*@{q9bMVvHoGvVfsoo=NA2Jm6qAU^qyeTAI zc&aEry)uiHa?x}Wo6jy~x{i#D(D^{I8JqlK%APQZW}1=-Gi3tncngISj?eK6(#f%Z zlzH{$7^=ftFg-qG4=E4zQskHeDdBeCS>kaip~| zd`YuYIsTAm-6M`@bw=T{!woCqEQ_0aBIfsp+St#r@Or_`|m?z$<-7D$gYAh&)oT*rjICL!8OQ^Km}En0Ibe+*6%{-rXRxJ0TA7O0cM@g)?8As0r^fL(>Bhn{Z7CI zbb#4YzoExJB*053<7iE7d9^K>r{mm)7%{du_eCFqI*qU@VVWamYCX0OOXZk4wO7A={9?w{gKp>tdHLuO z&y`m?Rrd<{b_K^*UCuY4Arl!ovye~!uD$xNin%BAR>fTJ{~_kOcYS^gG^Vf>uR*th z7@y>0NUWHYzF75dF?j!$RSw3G9FxRwlaIB(4JLd$%j#Vg()o?L zI?V26N-53kI#KnoU~@kpRYwQR2ovqLfe%;}&zSDJESq*ca(?)v^!k4hv+ag_48LSv zFAL{a_w&ztQD0b+a6h{HFH8V{L>BL$eX>prhNaj)~Bb|N$`Gh$IR_Pa;5 zV&D9Yae>bcE6-6Zq1eJA9QB{Ne*Ndf#Dr?`a8pY|LP8!D7I$72YAYQCCkG)zS@&bO zMEZPB8zc$?G0YC61sRuL9SKr~#o@>p3^p;c5)!i6OoH@Jqml-BK$V<($WOIgg+Ard~ZsFi{+$#8~tYS<@h z;-!TQiw?$=3P)Tklh(4N(ixs)c$QV~oW?KZq3~8Svn=8)hQrWU;aW#kkFPU{BUCK| z*{(FP=S+#Uv%hqOn>M<_MJM~+*!nHr|9|~IJpUL_UH z8ZneaHOATyh|NF9`T3b+O(fI#`FUGWB%H*sLm&>UOE(&SXTsK+t#7ERs-{$C6c!dP zE!`C@txh7<#2N~wVN$ zt)hDlEwANMPwt!_VkQK$b7zCASzEKYlq5;)767}DWpWg0Ulkg${E1Lzs|e2B`in|XIRFY z`y<}YR9ZxE(`#>G2Z|Rg<5pfzSLS;|MV-&XzYXz5D9$oq=(e_L;ZUC@o;`Wj0lyse z6cd3?uNAaERk&8@HJ?~XUI?zL*h5^dr)GX~Y240JhCu%Gy;DfI)YmmRfnVB z5o}{UUIkRY=|JtLrGcQ=0|X6k1(!~j2iUC|$LhOlwG~8p!Vac{HoMh|!CHKT>#C&Q zEUx=7(ZGN=}Tv+KFs zGEYyq7`e5zwW|XF_?{ms7%=?EjQf& zYlm2y6Nhu(T)C}>we8 zyVz6+z zc7Ii*(So%2b7 zQkB^_9h~%}owh1b2c4AmMR`$dmp%(HW$G*&`lHD+xL@=!i7sZ#^WHyt$4vSSk$Dk681rtyqaOnmhhFe9_OL(MvQs(6s#`dUb#!)x*)jW}-(y;WbRl zIFlNgU`+csp2BKEfAMCkS|wDU0qcBmqWnx0CBzrm6<@@g!{u?xtevy6vT8TR@o|2> zoU;(5T~%l5aC=N9XHtCmhQ%Ga;N@`eaSnotyJV25iByqF@5;nm)C~NO;Znf;Li1_D z+Np;Q_>S`ul`z8?*NB(p9B7X>d&pGp(!n0x1(K$+=kC-8UmNPHdreCngn}WILz+b> zvwvKyAe(;J0lVZ+Ga=K^SNVouANh-?lv`u`q;O;DFUzAN`k9%9O_>rZGj!>OOK1(72xG{iLFfQm;z? z>!E0^FDeK&!kD|uIw2_RPRS!=n!RR+eXO!Kktw_BWham%g{2&#d4u%Q%4|$dN_6q? ze%UfPsGpmto|;MKq0^qd3pBdTK|Yz?iq?+IrVdlwvRcXRd_EK`k{OKxgfGC7Bb@}3iQvv*lckCq9Xxh=SAqDen zjzevkp_1cBTd7d65r#rD1TzJt9`eu5CRtWei#S2Q8#3$Pm0Z9*GoK9!Dj-=_&@l>; zd9BdHW#VS;sSbS+Kzaqn1XXYRvh#% zSzi$}0p;t0{Ie05UC@vzmV>skszN*Q1?0X}OMh!W=Vz1?8{gAOO^%ka9Vd_nxVgI{xVBI54ktqk`AZs>vwrMbQ)kY7$=2eeVxu)#gFU{fy1I_VTwX`oT~!(zu>Qe7deUdz1qw}n z9X4_`omv`p0+r6gp1i{@p){fR>9YW~BirK`RVIh9EYChwW4Ya?lo=n@`%~g0ntq&Y z@mh;BTaC5=E_IhCqwNZr`(&es|DGAzqEj7)&1D9YmsyV`lcmE#gF7wm+B2V6(2C)V z;T6E44fk(wgUg-9=E!jh@=&otY3zK7nn?Pr|HH&UtdxQ(QO8NPKrW|OkI(R2Q_`#9 zs|jHh#^NLv-i?e#oni-*6&pfR7K9AiWdCp=$l#|QfZ@1@%BL3tX(xiG7Nx!$o8F!6 zetnVI?UrBRa=n*LlD}1YP7`PH9pv(lUPO=}C}&)+|L6ZH;RTiergS65M# zoi1N9q7o%5w{`bbZ8X~uq$e0{hS0}8{35#J0Xr}9_O5x~wLP+ZG}so%QBIVIpWrHS zE+BMt4UdIXY8Dh52($YCJZ`UO7}EA-I1nWFT7jl`E~AGe5AAM6tfhPOsGB)hI+U5< zQa}JTqA%n9u5*Kb0sU1(c<7I?UL?*=3szT`savT?0RBemrZ)nk#4&zL@9`{oXw!2I zgS=MN zMID7tgFi&2(NC_fnt(nAZTEf;r1aHJ&Aoyv(ug1!sADM+-J81AYNTl)_zI=P3&8q& zC-;IdO&rk0mmiKv7pmGE5o0yOE&{?&$dy9MsUbqEQuUihZ-VV*@s#KE0bZ+U!dZ#t-QrnFJ^5ong zOf>PeO~jZ#YdgKMVAE?iD2A2Kyv~}bM4e6ffkxQ^xqqq0dnh&$bGPEu>Z&oc8F4~C zSQ=rb(xVGg-fXWROgARQ7WvLkn$$K;u9;H~CsaJ^nqSUJW9~(9z)e2ih%(Ukc-T=e zqzOQq?-yJXlfOONQ!whP@aoGHwrM*R3)Gx>H`3&tLB7XC*fwY^SEtfrINPnfXT~&~ zWdLMQ{Nh-Xsh5|REg>)o(>VKBlir(vahoJJOuRHH~RPGydhe|?2{bW~TF$R@3zr-;PL_T|$eloLf!KJK zdG>W-2uT>L-u0#+c_?W!Y9;t1RiKy}jOtgQ`-&PK(J$Cuf9Vjli{+n;hvlLx7c6>t^DaFNm(l6jxoYB18_C;il9;&U$iL4I*$#Q~{f+3u2Xrq&e{O74 z^maHzC`h#)C)dPr%8dK+Gird`-l$48cEQQ8l^~W|ubke(E*Oe=!XLqzc_%pTrLzEb zIMoGsOYddKH~VBMS&ZG$`^@PB=!)!t^WTYhZ}t-TZW zm?`g%*sG&_1Jq{s3_yLghz@6I1C9Ht*nU^+Zd;&rRu}PVzvqYK_bq#NX}IZdRY<;4b-~nAAbvDC?N9Hn&-S?$bWQhqMzsI=S|1NKh(GQ*eek%wUJK| zdfXZ{G$Kk(NADX1ir1})iQ_LpogG1%ogn`;didw^x(WStQ@&^`fd6wpFW8ZP!rW@c-7n2P%UPG8=Q{i@9et3BKnnFAk!0+w6u zOrMrkcMA1CXS=05u%o+!pf)4{U%I6Ab7Nmoao?*5lH_>{n^iTL_f1WtN~{(;9OBwh zpEId&-`eZ7vtX}AHUR!sKZId{nt`wmzvDlV>u7L#IdpGag-^GHFhTWJKm`H5^PDMz zy?tGIn&+epXg-i)&dqbgBLA%hv}TQ`xZx}nAT2V1v}i5Z_lo(UCF0Dvglw&$UT!}_ zk@~0=x|7I=I4dq7FP*THr|N?#vb(M1W7Wv+X2JFu@1h|OEZJQzbr2k5UhE8fk{Fyq z&yzLI3^Nx|?LV)$i4wEV^c|*k045^OgrAr!OIbFkidFX6A*IP7SQXlpLZ*c89L@sH zNV1lP-hz4K=px=Mz2u+H8iU0b<9>ZS(FS)yt3qFpW%8+p_CU1{l2L$ z<5Hf(C2>C6slW@lG=$*Dex9_<|1nwRov*kh*ZnpWZ&Q!GotLcZ_9=V#(2T1_hckz+ z{a}Hv_4qUOGyEZ(jwUyrvLH^gWHa+Y+^ z2J~Hy8Vaj^p6C>Hpj%f65e(LKW1o15&nDuF0C7|iMnukT0=F;4ToaP)M7wiPmqE(Q zpzXLc%nQp3AXh3YYMAw8$5l3X9V*se^O3eQI(DN#QeU?A>op_wo#r%z&?rH_i&~Y= z+V-5QiP&#WP`ew(i*7*w5?Av|r%00vPY9NsiKAZGtW5_@8F%Af4^W2|Z!OFAG7hLd z@_M!Rh~W{*JWVV-0&gymAHh%@y0J%|bsvH}}O&T9=Dx zu1Hc24a?)I?O(LNjeRT6JpD9#JwA)xQ7>AEehUzD8FBC4VHye)%}-uq+oiI!tW3aA9xCbu7SI<}gWfRc5jfHKn?+)@ z)TU$9G+#+sbKu=f(zAgx@CQrWQ)^Afrx^N8*cSsitteXu?&S z|JA@E0!{j5gUWK##h&?TCK7Y>K$G}oedvREpo#XEZMbB|kicl!lM0VSc#*xj=Lu`p zG7}tQ!(q#J?=AsL+Y(b)tMhZwhQroXRx!q}|k=F*}rymzq%u9zQyMa(i`Q!L;TS=Lm+4ck+ zcV;;8eJ7%=)wQR>%QXJ=&Tl@T2>6U8{(nn{E8lna=+9gCFOA9;=Z7UgeC{Rzhtj(E za!dW=IMDu#YT@9r@gCmabe&Z4?cUhC%YIus%;#$&$6+6 z$M|tJc_Oq{ybp*U^jzG56wH^Zjt_?48&mg3ih%g182YTg8J2(o@i%}ilgHF8oy*m6 z?#)5nP~1jcrexgPm9MNN8t&d%hF|_O*M}{#C3eqQnmgJns{u zWj~i&OwV1f74HCLnhVfdz$OG@X^5_e%iiHNnu582MGOdn%53?>jc@li<;aA`kPQYu z1yFVr5(j>LZvwLymkvw7$oD@3MfM5%QO@HdFCN#d-&-E1I!8$#c`fqLesyx~%}ea% zFEwo_wbN=l*+BhW9yz!&a{g1GHT_6wS-GjIs_h$*Gpp&dthB7ulyi6WGJjp?OHHY- z6St&c^PHq)kCYk9h`vEOq(XBByL$7?f$?erSz%j0mZO3kJ~NebC%N?SPlczt!T zZP2Q`tf16C5&PRN2fR?HG=*PKRI#UjpqgF1b7(W%kEzs|w*B^EJ69&M9XI?kqcc_4 zIZgtzf4-&(IL;{q92Zpya~|@}2gORbtN1JbK04}os*Fl-ja(i?h?bUFa6u7i8^f9j zw!wG_nM@uZ%2n8-#tGNWMQ%E;c?qoD|3CiE&p@9P sZey|KyZv(i+Ybi*YlfbH6d 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 literal 7085 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 literal 3434 zcmeHKYgAI{8ve{myJ(GF%uCs2D#caV#dOka&SXtSIu;izG)gBmP>D=Yk?gEl)>2D5 zb3_eqO`0Ay5-Cb~DJ#c3V@ab8qL5OVN8=(XDk7n0vv+IFIzP_u`P1GD*gQPnyPx;r zeZP0@V65fb`*X%+|Q`$rfNK@(WA_ zW|sNT^u44xhgdwOM-2YzR{hCp>is-7E6fV+yLYbM|G-@Om;KzLV1K)L3y$Uj`!@nt zVj=Y_C>k@EzhMGc`Ag2vUzj0vE=~#SD&%kK?`spMMAht8B}si6wVLUjU7L576t}!m zZzMnT64F?DrXqRZDw$)Dyb!qO3tmr+PPBWi#55ZQ-PyuLY#!~@Z0iJepRu!0x{dss znA|k}$|>aJ5G}NET<6YjZXRpzO%EX(WxeUrM>7=FFfYpfQlrP4$-$d9Z=%V3dH>?T zU*LcTH!nZGMX97bVCv(%86%i_)8F53o0XN-*=7a6 zjT(c&aJy1Dk>b3=NL}XTe zy!2iTanXd>m++`gI$KxeE2EHg8vRTaAI|SWSRmUlLtb+=%WI!C19E!%LD(mfQ=Q&E zm8Zp|<&i7Rq{x)rk}tXO6TNuTMYfq8RAj+{6nDFb06fmvei~=fMUX87pdh6!8v0w~ zVG`^TPE`AYyMj;BeQ=kQ_V` zBVr(W0s=pad=cm=Mg{)+Kr}>0*#|cr!?g}0@p89@<668<5ml*edQZbe*%?lZwN9KI`|$6CouO(yZHB$?Hb`W-6h)1$~Xb7eO(0J!Dr}{gjwL+%cw=MIESgemxdHn`)QVuYB4;(ilaI*{3s1**Ts@qZwBC01%u#I5-%7 zT{hdntJTy!E><2iep6A9l7JV8Gxv&_DyL%OeJ_R7+ha+AU{UDFlbJInO8{C(VPSm= zoS~tv$#M^WOtG!R{-sT87d0D_z9y*Yex`S=sbu}$EhDi*rxcBhZPWTC04(07h4wxq zt(BMf$*=djU*(&ye4bz0rCU7Cwr3m{6$UP^HA62;758oLF>OxIqy|swV^zTFxYbno zajTw(^F2x{YiySSQ1Qd0ZTg63g288{W3hpU?>lQ5 z-AB$<@|*6%)m(v{6l;IdTF_SN2pu0A+dQ==w7AidiSJ44T$E4r(kLCFUuX-!tIbBf zOzlN&OlwJukKY;kNGE+){|jD*VdhUi(P*7Uhq$&gTR+xWE!oc}%Jrn@IWGHbqr^oS zGc4GZh+RHTr_%H-?_qwnn+q<{ndxg)s3d7kZZAsqte7>zoUR+ENq7DraNu4V#)ikT z4~LwC^FF>(_jF z&A(ja$UsAsudkJOHy*~pof)zHKO)Bv6s~&KLmWWa{@W`=jtL077TR7baYfkytLUWb z5N{W}1Kh~{N+fY@K!OA~9wo8+5T%D?)-veD-7Y-58Th-_^V?A&M{@1t(6!GnhReUA zK|~#?wUbc_P#C|eh7a!x=5z}%`)eh1G&b%-L9AyqDiB&-#-INISy^OlDIzqZHY_`P zS){B)RGnWx(M$Y30kI^g)=y^Mx?rb3WOfX%1r2yHIe;{Qs``C@j;J9?_tSZXDPZc8 zAuefJovcdQ5c(h)Yxc&ug2yMWiA_%tI&iia@>WL;5xXg7eQ%bY*c`_E=<(w>l4#Sb zXpOL@{e4@nLG5TZ`gaoie;1Z2cj1Niq{LoPeZ2##2$sNwq^j2G=BCQAXP9nF(cO%_ z$W$5B;gZP-DnENBLQ<9pD7ze6b%a120ba!75_y_LiWfmDB=qTsR4TO-ohbG7_2FWS ze2B#^eLmyIn!Y$rhpV7GhECreL!)Wo5tS{B?~ST9Pc#p=yu7@pCZk?nGte^tC-&v| w;=o_yz^Z4nAQ)>gXSwD7doub{*JY$q|Mxj57&{LheE?X%r!V}u%EtWdzhI2z^8f$< diff --git a/tests/test_graphical_units/control_data/polyhedra/Tetrahedron.npz b/tests/test_graphical_units/control_data/polyhedra/Tetrahedron.npz index ac08a2e95d4132a9b399528749360d334238b017..6c1353997183e2525c2018cb928a3face8f19637 100644 GIT binary patch literal 3101 zcmeH}i&Iir9LJBjuBBEsX(hGUV_I7_&GNNYXzgt7rsHE1WEF+fMOHwqL@a#Zu9Z_s zJ7&J{Rhk(fm=U;QNMoyJlB_8hD4J$d>X4Qp;Uo4+?9A@|2hDWu+ zy}ytE^Us_C0L!6!D=`0Qc-mlUtAHJdI~kpT$Nd~liFQdme%cJ!f-DOMXe0m^t&JVf zsAWVXdegnvl#Ll?D}JrJY!`{VWvhx>56de|gdJUO$0~I3cUDn*tuoBKwDx!0nRCmy z$ZPdm66-p7zXjc~wl9+oc9*=C4xT?>;_KzzI4HZW zI(_W-giE{cCR5@@)X%u7Nsi@B?rvkGlQA*d%s&|T^!!BNBPEcP?dk1Z;_TuQH#0NS zNl*q9?~%gdf)LQry!ZAkMcC9-;sImSDapcm3 z*$6;L;5AlE^%?Anewuh_k(`l%(C7BFxBI2>wsdbGteU!?dIYf@8it52hf|K&V)Z0) zaX~@BSn@fCm`RO0$yUKVDq8^nvTNjiPBY0z?GumVC*D8P-%F73&ju9b)8-Zq*Xyt; z$d-oDp@TAv832~!eXLNm2TL<~P)}77-TBWY?}Ok{+ZW^Ag&59-;q7Jkyt$TT0La&L z_g$31wX?li5xfOkc$G8Jbb79tJrkZjM5IzZ^%)ibuxqBs;xcS3Ua6*U#ydtf750f0 zHYX|;nDSXSo6zB40It$n!zc6^StoWMt5y!gHd1DS-tZ#kG*sLaKAhKpeIyZym z_1!tkWqZ$x=>a7AEaKUfDsD{Z;b_e+X;{*fh4i))x1^}3D1X=&fUKvBm6@+*1L{ec z!HTefQn-QMA#0Vgrl6%bcqbHHL*#gQ6!4&#JR~;q_PrFUI4p`i#6K))f}Ks|9Af&T zA%b`T8m&pitW+UIRsihe91;;FDq``C$0#UG_(~P(aHITIU=0TnybZg-xj^LnXbSWo zqZtEX)t)AeD?FHh+a3>(fXB@(TTBAuJMO)XHr)L_JlPvR?{~?i?7ssBCvsUV_oxUYLM$ zE}mUw%IEHnW;{k7zVpG|FHd-|T2_0)*G6|eu2HD(LK(ebMr758nxW}K=8bgyvMKUR zcll0JQWb|Y%V(YYC$LmBv4u%2HtA~=C`%Ioeo&I87kMuT; zU!qQXw-Xc5Twce5c+`}pM(`1dvOnZ7PwA$(;0y!AiipACWH5%`IxIJG99zou<#Bz3 z6v%;ri3vZhJmb+|Zn;BK&?FE89(b0P>cDtW0(3al)UN|RZ&te z;Z(UAw3Ge$A9lP@C=>C)G1VcSR>)7bgNqn_Zmm6xO9Xz0}c&M?k8Qz*+q*N-$bkGXkywuj#)*_}fL^9O~ zYPrIS5Ptm?+b@;NZZy=>6_@gzg1?m1Lz^&V(>}`0X8J3^i-MDyH)BdZdF1i)>lHp} zL*)&8+@48H{e^i4Cnu-;VKlU#B0Rmk=KJX<`=7XWb#-;VupzK=!bjbX?SB-(kzY1` zUu1oK$VSvCGdMl$t5efY54~}yKE64fEOw18^UkD>J;)n#TROk)2!t9t*;#45frd{> z@z9e8&hq;jE2B5W^&_EaIh-Nnw}!7X8%-b9f0~SC=P(X0X6O^=Kufz literal 3123 zcmeHJ3sVzU6u$UEsfw+DA_{dx+W{37gAX3*XssxsC@cZP!&D_a45&b2P=pq%Q$($% zh$0vjgR)6LjRquyC<=%gQlJSWF;V1Y!XrwWL_!{2LOPx4On-ng?#|wwoqO*6&iVFy z=bn(DiIW@v08^1?A*gR3^t=8A0NInB!A#%);tt~o`(yXv(s0X@50Y)bEXxdH3dXF) zu0h$3r1^ad9v#xecVhP7N+^{R+`bBYsL6|SY?7cC`OofUy>AKZ%E|Js^b&Zp z+{{|$Yr{}+>`NnINOeY+EH@dM4KAn8*qilNo!^lV3lP6Is#jGM_{uv25*K-Km4u z!s)0>%(Y1zS+kRq(*?m40R9Y(hdaK#j;Xubrs(eTS+j;BnCnj--nRlX3!mqG>h+Tc zH?MvPz-{WC?T*#%Q>kxP`n;4#b`P&>Z*NzNd=H4eW?*SoXCoE`EWDsMDS%9!el}9R zqLXEOyNNi`ym<>jH87x)$82_V@f@1*SB)b82MY`NakWd*4=%Xfv794|Ve2(KiktN-FHvALguiO^R{T$VbZJB7qOg~Mv%WG(2-cg&qyh)z+ zysdJ`lNvBj!99?|gge4rTwIz|-vAJ@1B=Dx_&8@a$`A5nGNyKqTa23GbpZvbW2yFW zRh8mqok!d+{@FOK2iM*eiTl=jSM}f=-yGe>6Zp$@a$dfuV3A-gEuP*Hwll(al#RyX zQ)C`5YpSaY4JI1^CZ(9VsAS#%iH~oRDEEXqnpH=Zzbw+%B6HuLN{3)}Mr5eM1AuGr zStZ<-Oz$e(ib3We&AsyVO!mB6WoZb9Ay8wwa7(4IDwsw`DmXmv7JWO+T$11sJsE&7 zVO2Cl#0E>ks_hUD;VsoLgI!o^T}UAc83Yu;iczY76Qqe3OIsm?aVS^{QP@I;b<;u` zy@5bqWyMD&VHUK9??>gAPXGXh^UBx5%;yKj0inp~^ayOe(Z9}ucw-eud7JG~VnysB zK^>#I;<0s!C9g8G@0Qj2o@ZMS9rJba+?LYB^FU-MLLH0ewo(Htg#yL zP25MD*Fa)|C0LI!zY^e8(s5o^6EMN8Vf!D9`xReUjzs!A-qS)v%gtz1P$*v#KJFGm zL|$njjcH+UQx_4s9E>7hEoA35C}2uFoFEzBG%X5Kye~BPpM?eK!i3dAcPsvSn7*A= z)toI7dJwr#o8A-J5qA**ja!8~;uG83g&&-;}I+YZd z={A<~i4S(?1WY5edae#4RnRvyGW?GH&M3Q4i9M(7?Vk~MIy#@)FUT^RjNQ61X;Nh} zSxwpSUb)wkW__=M)g7&=LT|i8>o_WV%P@)&jn`6?Beo~r}+Gz`Fwu2_Yb&>9T~WW zwW)rjp;r&Py^##lq?rsOk9Y6*z|Fpn@$vDwARvYuDbPPA%{?hbjVWhxr}(BPrrfYp zUN$E#Dki46xo92bnA4|v8hrNqGXvucC>7?AAe#ve6aTNp|Cgw2X diff --git a/tests/test_graphical_units/control_data/probability/advanced_customization.npz b/tests/test_graphical_units/control_data/probability/advanced_customization.npz index a099ebb5ce98e69626fe7b66e9b71aff0c5e49da..c86f02f3e512cdf65bbbc92bf7c31bcdb031db13 100644 GIT binary patch delta 43 scmewq{V7^1z?+#xmw|zS1BewF&L$mk{tpEkrMh&Pbs2OgFW2=30AL3ZYybcN delta 43 xcmewq{V7^1z?+#xgn@y91BewF&L$mkPS9mwXke9O*eKPd%PhhyGI_bKHvsIA3ReIC diff --git a/tests/test_graphical_units/control_data/probability/change_bar_values_negative.npz b/tests/test_graphical_units/control_data/probability/change_bar_values_negative.npz index 03945aae155b88521f03a04396f3f0a5eb9e1409..ac715e9dea9c66b356835da9363aad86f8ece958 100644 GIT binary patch delta 43 scmccXeb-wmz?+#xmw|zS1BewF6yBd(^&bj0N|mZI>oVw0o}}sx09afRIRF3v delta 43 xcmccXeb-wmz?+#xgn@y91BewF6yBd(<*mxV(7-Cmuu-a1m05&YWb!0cZvf({3I_lH diff --git a/tests/test_graphical_units/control_data/probability/change_bar_values_some_vals.npz b/tests/test_graphical_units/control_data/probability/change_bar_values_some_vals.npz index bbd5b03264326df847ab934f505917ed3bda5f0b..e7cfb056b542161176df014d9eb72227f4f83790 100644 GIT binary patch delta 43 scmez2@xwzZz?+#xmw|zS1BewFPR(`6`40sfr36%%bs2Og>#BGI08+LPEdT%j delta 26 fcmez2@xy~Pz?+#xWU{V`_(mB%6=o4;5ZfC7Ykvll diff --git a/tests/test_graphical_units/control_data/probability/default_chart.npz b/tests/test_graphical_units/control_data/probability/default_chart.npz index 69ae700c838a41e309b36aec86b44c5cd321655a..972d32c79ed5a25ff1c63f8eb753f1e1a957f2e0 100644 GIT binary patch delta 43 scmdlRw>M5Iz?+#xmw|zS1BewFT02*X|A&H&Qdjkubs2Ogf70^?07_gDIRF3v delta 43 xcmdlRw>M5Iz?+#xgn@y91BewFT02*XuhwH=Xke9O*eG>Xk6DCSWb!9HZvfoX3UB}b diff --git a/tests/test_graphical_units/control_data/probability/get_bar_labels.npz b/tests/test_graphical_units/control_data/probability/get_bar_labels.npz index 222c26f805286072b6b68a767decc71548b1b1d2..117c77ba5fd69ba5adf7b5210fa08d10f042f893 100644 GIT binary patch delta 43 scmbOiH!n^qz?+#xmw|zS1BewFO2kV-|3kq>scm}9x(vFLFY9>&05drdLI3~& delta 43 xcmbOiH!n^qz?+#xgn@y91BewFO2kV-d-NC>8dxP6HcD;NV-{f+nS5E#8vw&a30eRE diff --git a/tests/test_graphical_units/control_data/probability/label_constructor.npz b/tests/test_graphical_units/control_data/probability/label_constructor.npz index 103876029f94a48a7e8cbd2983cf0a0966866ffa..4dbbe48d0f7b254318f0a92e968ccf075e5fbf25 100644 GIT binary patch delta 43 scmaEv{W4oBz?+#xmw|zS1BewF(qc}s|A&H&QjMm}x(vFL=b3r~08?fV)Bpeg delta 26 fcmaEv{W6<1z?+#xWb!;y@r^R|rpzMDAhtIEeI^J& diff --git a/tests/test_graphical_units/control_data/probability/negative_values.npz b/tests/test_graphical_units/control_data/probability/negative_values.npz index f50b1dfcf7a8cb0b0c99a081ee041e124d7f7bdd..aeeb908a52b7b110a81396da3deadb039534a550 100644 GIT binary patch delta 43 rcmZopY)+I4@MdPwWnf_70AfXk^6M98{D*>#Qql&@x(vFLEeyN?LXQwb delta 43 xcmZopY)+I4@MdNaVPIh30AfXk^6M98eAH)PXke9O*eE4!z%0TnGTFkw8vxpp3BdpW diff --git a/tests/test_graphical_units/control_data/specialized/Broadcast.npz b/tests/test_graphical_units/control_data/specialized/Broadcast.npz index ae511cfcbe4b929dd2ff27de108e1240241006e6..9dfe118dfe1b4cf80a5f8b12aae5d3981f49525a 100644 GIT binary patch literal 28784 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 GJ^D|!)n!%y literal 28868 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 delta 43 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 E0~US=!vFvP literal 7067 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 delta 43 xcmaDH_&881z?+#xgn@y91BewFu4len6{x|$(7-Cmuu-a7gIR=GWbzCRZvgKd3Wfjx diff --git a/tests/test_graphical_units/control_data/tex_mobject/color_inheritance.npz b/tests/test_graphical_units/control_data/tex_mobject/color_inheritance.npz index 041b83077212ff2459a188c8b655329db780cda1..9c2a1f5b11562ec16eb903ebb67db75f3759e952 100644 GIT binary patch delta 43 rcmeAO>Ijkw@MdPwWnf_70AfW3C%4A1|4^_|YJmo`E`#pmy&B#CCxs8u delta 26 fcmeAO>Ih;D@MdNanY>p+e51@f4Q3H$5ZfC7XQKy$ diff --git a/tests/test_graphical_units/control_data/tex_mobject/set_opacity_by_tex.npz b/tests/test_graphical_units/control_data/tex_mobject/set_opacity_by_tex.npz index 0d1164611aca0ba4f22877db59dcbda5497ffbe4..4e3b5f3889125f73538bc8959fd458e2704acbed 100644 GIT binary patch delta 43 scmX>meN0*^z?+#xmw|zS1BewF7L@(}@gE8{O2zRq>oVw0uIBXy08080(*OVf delta 43 xcmX>meN0*^z?+#xgn@y91BewF7L@(}VZzJ6(7-Cmuu&?Gmsx~CWO6mHHvrM032y)Z diff --git a/tests/test_graphical_units/control_data/threed/AddFixedInFrameMobjects.npz b/tests/test_graphical_units/control_data/threed/AddFixedInFrameMobjects.npz index 54d0d67bb1206ae8f4ad7eff3076239da964762c..08ca1e595a4b01c339d0497fdd864197312ac373 100644 GIT binary patch delta 43 scmbQDHAPD*z?+#xmw|zS1BewFY*v-<|A&H&Qfow*bs2OgpA_*103YBFlK=n! delta 43 ucmbQDHAPD*z?+#xgn@y91BewFY*v-^~H2lrocL)@9J094zY%06{|#O#lD@ delta 43 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 IFLj;nU%;m)-T(jq diff --git a/tests/test_graphical_units/control_data/threed/CameraMove.npz b/tests/test_graphical_units/control_data/threed/CameraMove.npz index a884913567d4111d6214c99e50f4ea7568648b4c..23ccfb73b6be4a2b16dbdd1655fe36b91e412dd5 100644 GIT binary patch delta 43 rcmX@3eMVa%>rJ+46%JhW!Hn{f-^Y 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 X5<{I80=a4lwgdyOFm?~l!?6DY{i2LY literal 17623 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

      ybd|0Y5p}{~Z79SXu99^W%dpStNMwEGjA! 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 Ux4UG%XD{$^2fj;y`}XYlPp59T-v9sr literal 25859 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 E1-BllcK`qY diff --git a/tests/test_graphical_units/control_data/threed/Dot3D.npz b/tests/test_graphical_units/control_data/threed/Dot3D.npz index e946ae235b0fa3f422707dcd0c72f8a042e9137a..4593a97c0bc453528bc36f83b1ca22a667e06630 100644 GIT binary patch delta 463 zcmbOwFkL_@z?+#xmw|zS1BewFR`Shf{|^NdrR3^c*@419@b=FBF5y5C_6HlkYA%y* z713L>;Ri$6DKoJ!p*tO|J0`s_>kRd9%8J+PpP=;8>7RP?xdR8*%)NT%Q2B$$_wJZ1 z|69oS`T5`W^6m2TRrx*bcfbB(SH9Ui)9gp-)UB7^oUZ+zzWwjt%eCLv3BS+3eZOk% z>FW2{zulipefoVgRD18f%Bx=aaq;na`q3}nf3bgEIZ4HG^FbCC=7}HJ>!+wq_S|u-3h}~e-p73&}(=$Ww)-nOj4=v^2 zFemnJb^m*oYj@Qd7#xCok3V)VUbSgeWVVIOwR<3;$w$ktt-iTx*2+iwcl~B&V5s17 tTO7DiIO5&^qqg^6z2k;@l1;K9?I(ADHzSiS18Q8gPQJ@-&UO?WO90oD+cW?G delta 458 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 literal 7371 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 diff --git a/tests/test_graphical_units/control_data/threed/MovingVertices.npz b/tests/test_graphical_units/control_data/threed/MovingVertices.npz index 2da8e3a251fee7d2d29fa0a7f332d7f46ba994b8..04006a76ed944599612f9b7312bc06c6bec70193 100644 GIT binary patch delta 43 scmezC{MT73z?+#xmw|zS1BewF3ipdH{SO5jrKTz}>oVw0-lXUa093gV1ONa4 delta 43 xcmezC{MT73z?+#xgn@y91BewF3ipdH%~oV!Xke9O*eEqsky(U6Wb!6OZvf#a3F`m= diff --git a/tests/test_graphical_units/control_data/threed/Sphere.npz b/tests/test_graphical_units/control_data/threed/Sphere.npz index d45b68e896195931a29e089aaff4bee59762e22d..4909da623b66e19cb30816172447927d6bbd85d1 100644 GIT binary patch literal 24819 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Öot6{zno#Vqs++ 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 b)5HIBVZkL=4RuQYy7j>KB=9V_s($+~N_vJ9 literal 24809 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⩔Z9Mo^Wg2CJJ3)qFQJs7RV3Rq-HH%|Aro#v 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 Nz-bHah8+1r{{qm4d8hyY literal 122822 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 O06YKy0Ce900002#(D6(F diff --git a/tests/test_graphical_units/control_data/threed/Torus.npz b/tests/test_graphical_units/control_data/threed/Torus.npz index f2a8fcaef92e851777b6a789e859e33da69cd042..e50dd86de48592b95902c9255385eb6b3a125eb6 100644 GIT binary patch literal 117528 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

      2&G=Qr^?R5g=lc>B)k)xQs!UB86JSH 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 PpHG4BJ;2{xyY~M8)#C43 literal 117615 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

      q%GBIQ15HAJcM!k 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 diff --git a/tests/test_graphical_units/control_data/transform/AnimationBuilder.npz b/tests/test_graphical_units/control_data/transform/AnimationBuilder.npz index ac3eef3c15a7903fa3fa563f73a37c9c6770ddff..f0245be46636247b6277aed5042ffed68e8e18fb 100644 GIT binary patch literal 15014 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 literal 15077 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 delta 43 wcmeya^<7IUz?+#xgn@y91BewFM40NP>9G?5! z=Xvja-}jPHC;w(Z3?XC?{Ju`^U0w51|BKIHGK{RrS#DmPwQBjM)0U%an=V925|?znLo10!>!IUl#~+`V&E@BVJh zz53{XcMh1=G4a@~(GAx&r>AXcN$(!@w0_gK5nnZh6gc~`3jF?(tmnPw_LRT%Jh!`R zPkKRqZuhRMHJ#s;FO5C-rT@l|Nd?<`pFJw*{m1>fNlagPeE;*7J#|mA@}E45oOJuW zf~S9Px|$l__w>R2wdebP?5evHckWql&i%IUh7TY92SPmi@676LX((G;e&<8X@knb2JSu8RXClQl>WP2vI4br?o872N6;` zf4%bvFCoPApn_c^ND1-jQv)RTdwJ^uG5-3-fWWDPLunJk5n}Nsm;$k+5vK!rSEl9! zNc)mBw;I93ok@2rL&c0F%`q|Qve9{&QV`NQET#4+nhvI%-MFyHP1*gb~#L~`44D?j9el#=0)6Oge zcmS#q_#lCT4el}BcVQs!C+W*6+N-3%snGc8?#CT6cTY!65nLEF%JQ>Cm3O+Kn%4eP)ps)UiefzQ2+O&x}nzh6NU{41C*Ov#3kx+>zG$pvXk|UOOrOYD%lX;+73e2dHDZwt> znwoUuXaTDkP#00f zK`~?>9wu@R+e&(WAvmnDv*e`nTLNd2mqZ_-O+s328zIvxIm@7bGTtRY8M2~RB;wK1ElqJ zbMVI%EFr~BI`^vx%rXZbJq|!=qs~1A0K;f=@Xcxfyheq=0nf)qMR*xVjGwEoKMdNc zcLnJs4Dc14;bqLw3sOG=Ku-l{PelL*q8}L@9-Suyc3ORixB4)3luLG@5(0vQi~21D zJa3qT;hqu;PbrLOQaD>by9}8V1*w1%E4(_-KwyTI@z%2#h;+%Cu>ik=Gh~68JynqQ zhycSG^yvPwAmtIb5V zN;P+>3RY{6Fi#x=iz4@_nhhB674seCDA`5T>_97D3Eu%jj#z#I02wC|^%t>Fdz@Kz z2m_mqHCs{I1p(Yb`!c}^V+9UOH7B4+)L?UqX!3)xW;03@ChJ>JA}Y?DCTj06*8GHK z?IpYr0H~TS5h&+{Vl>%cta*$kMTz=@xa)?cf*jXLTxsH1y5?%hLr=KKr8u(O6NHWp z2y89lXJQXYGF7t$B@Hp=_Y)CdUAWcc@!p#{B#vKwfyW-IsNdC!0sieddNJWov2`NQ z<6Rj5{u~=%z*j8}7p2zU3#2Ndd6Aj<8Y>1o&Ov7EfaQ8^z@*S|F~C&D1SA}$fJE4` zhCpDFDX^@(&(?}&_VjHpfV$NI_hI?~kf8ZgG@0ytHDJS$=4PLmX*l;caW$l~;gLSK9J&*At6BFA zRPyWR*A9ps82{kBIyp!ZLt^01|GlW;D;U0x4gOi1EO4^O|Gl=UlY<8$8U#P^orF|F H9wGk)9eaOp literal 3575 zcmeHKdr(tn7XOH%?)6ceAzju7P-b*!B2~LM;8rE9N(BsJ69P+oM5^w+XsR$;sTI77 zQ;GPbxS-cZ!Xq~%c*oktTcyRtT_4nLmjpz!cU`5f)_{YpQliBL_M97Mc6O(K_Rof4 z?&SA7=l46``Ofzx$xI(HGMo@H2L4|mNl*2=*NrEH4gD3FK*GuT!Zqe~tJkjCvgWmS zHoq4_!ej+W5Q`R?J!={@6496jIkG-F%V*6b6m(_im;bYWY8VRVUWxZiPl_}P8yozI?i z-?e7nxlq)9vpRd{xzC$Q2EXX+__Fa&gWo;5THQ80R2{XdUys0}Y z6H_?XO7xT*P6>B!jO_L5A7dn4#+Rp~L@}q5CHiSs2@*al-y@q10)S?|lYEaA z-Fsrz3nm^giARYl zT2Y)pnHdRr0mj7&#vR?56KSJ}(@BI9ip05wWSd*|Nzm zxN3^-j}j1ZHwnj|Vi1J^IXQScyfe zOP&lX(JbXC3EP(E)qAFcS=cVVRD?QNkx^Na!Nd(FGf*Oqqw=sBW{*A$``M7LOO8T` zsT?(c5&^r@whYUO0)PiVv^!1X5SYwSS1{sQyM7j$WbWom&!EXXjyi%Xisz_v%fReZ zos)eVG+SQhs6?Ek;|?b~4S@oV%E2|yt9P>4;I1lOQ3$D~EgTh#b=I}(HK{;E?B^At zO(5)YT4hQHz<+{Q1Q1xos7zR&A0qOh8Jd~#%FIewNo|K-GZsw3{>UqGp-z^LS9)Tg z&P4@2{Y{RdTiuo44954mq(0b{!i>;Gn}=_?0y7AC%BZ40JTK(8!DROJMukVq9W$Vv9#q$$4TbWtPD@ck%V5b1lRV6CkqE&<~ zb1OgE4MbvwF(e&;=NNTP&T88D>W9KZZb=Sh|1#pcnv*Xjo`Wj)I-mz$Kf9`)>9a!YYBF_ll)CNE~x3 zFWH=M0rP^*3?|W|%%Ns9IYX;yl(3{4lP6>3Mv3Y{qS#}|ECa$162)k?fKmHo;Fwry zMqoCr_TdsEAmU?4Z8_pr9M82*3x-1CSt9 z9>eD27&+b?`VssG=!#j97K(Ii@7UfhV06|_1R zB`iyfUJ4`EO63v~^F4;^wLtjyh z)d+XJAngGH_mq8?X$+tzZ58unlSFsc`)G2hPLO2x*UVY6#4~r+e3Tfd5dzqMTauJ7 zn+@0nQ3iHO`EOvvl^Wq1);}xKoQ0Fm7BG!FknkAfYiU-8;URj$LC%%0EC=0qRR(5D zJ=jAs!!F#$1+iz{ol_C0Z#SSoYeJzB18s*V{sVhR?EA0FgzwrIvz#FG-wFch2ZKO! ze=q{RYKb`B8goT36~2whk+ilxNHoT{;Yx<-xEVBwE`K=~>2(JsEUpiNkz3{jiRK2c zEaCs^WYBC??+f6cRY73+#vl-({X$M{X-Es2q*Qmvsa=LNc|~m5jUbWuPHGV7``cN$ zoSgOfjR|d!q@Dq@QTxqz=d@3g_N$5X}>-hQga|f^k tw)$a3W_pMsd_*|B`>~&C|LqeCXNvsakG9P8&{2qnz~4N0+Q;L&{{WQcbg2LU diff --git a/tests/test_graphical_units/control_data/transform/ApplyMatrix.npz b/tests/test_graphical_units/control_data/transform/ApplyMatrix.npz index 1350affd30c917c6d57fd64736aa06a276a50a4d..5fdca272a81a8ade83fede3a6babab87176d2bd3 100644 GIT binary patch literal 19578 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 diff --git a/tests/test_graphical_units/control_data/transform/ApplyPointwiseFunction.npz b/tests/test_graphical_units/control_data/transform/ApplyPointwiseFunction.npz index 54192f9bd1a014c23bd2ecb0a6ce927673fe0dd8..d342842250af14ad173d67aba15a3b1ec5bb7fc8 100644 GIT binary patch delta 43 rcmewv^fO2*z?+#xmw|zS1BewF#D6y${)d8%Qi7Vyx(vFL^)$T!PLmJ( delta 26 fcmewv^fQPxz?+#xWU`*7_(mCiO=b~h5ZfC7ZYl=5 diff --git a/tests/test_graphical_units/control_data/transform/ClockwiseTransform.npz b/tests/test_graphical_units/control_data/transform/ClockwiseTransform.npz index 61485d691c84569fe754781c7557d10038891961..825ac14684c38a2614786c4dc08927e4d7aa46dc 100644 GIT binary patch literal 16701 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 h{^wP0Z-l7-`@;Y?P9-Wfox;nQU$A4FJ?{39A4A diff --git a/tests/test_graphical_units/control_data/transform/FadeToColort.npz b/tests/test_graphical_units/control_data/transform/FadeToColort.npz index 2c595b651c553b481dfcf1c589714fabd5e4d6fe..a210f99e895ceb1d8e50dd26500fc9913a1d0c6f 100644 GIT binary patch delta 43 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ûWfG28C)yxQmr&`b2 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 Y=j$bxY`1(PYa$PR%)xKRjaN+m3(?60_y7O^ literal 12969 zcmd^mc~q0v*KVv;R214Oq9V}#6saI0A|SKYD$1;oFoZ!sjZ6k)N`Qb>0R;gIGDA=i zkc2P@VJ0XM5E-I`5XPi{5+Oi<5JCtE-wEya-F4Txf84+B>RK0+PC+`HHw?KZ_>;Xd| zl2MYM*|CURSjZo%i!+Ev^7}MZvJbf(yuSTuwX=?cy88Ja)REqE4c^xp524@f`=kC{ zsJlZ|dZ@d9BYeI_D7-mD>sI*BU)z2^_xsg%aQyx4=q*19#l8I9vNDsqjkLMlxj|So zH@w+BXgmwis~_FX;)$>veb(?|abixu0GxSRpkWuA8zxrCZ$^Fi{2ak|9_WD(mw(C-qGQVwJs=yx^#%kRG9rRIQ{#@ z^uNnnujRrSOX+`a?ceo@)(!aU?J3`ZQWMqruz?PxdrPym%%~Td;sjwHuTtu{k@L25 z3~xCIx)=)ik_X%JH0=MIhOxJQY$caERjuXLF`bkn{$20wUn|Ye%rzcczN~S+0n495 z#&KLSR#%AQjh!7e6a2}I4mz)WW%r>ozjD1~&!IyZXx758Z+Q&eJ=)lBxVq%Nn{5;{w0b zU0Jtj&3y3bGJ>qUu@IXvaBLuEkLE_D(ISr!E&dv!!BJqgG>&9`QoH9_av5))81L%D zpO`WUd1*C5ZGe|I<*xV6>sa6+@r5Gx0oUpgnf;mOEGJR|RDUnQ&?eZf&H{0L66JmVI5ia5*|%j$lWKkfZ-`TkhO=$RMsy zhlF%eTue+g0 zX;L*F#-;l{&{GlOfiQp8%-AUC)v8GuPkZ~i@6JgP(bVouT!s?^FEG8KhaJF5FJ2Lb zD@aJ9&ty2z+tX?&+kM)QV7?MWUCRK^KIiPryF2JO$5yLxl-F%uO97g?JdAS?4~9AO zu36w?!4e*RKp6dRmo-0w-F#MqEcG7#8G=UmZv!7a1`ssM`8sGbPKSJG)Zmv9R#<;L zs|(XOH;y{C19Uni04zidZhaaCcP4s}rvjmJl&$R|i|kUcfj5Ov1-)a@6g*0)qJR8V zr$payqFV3PcJ!MJT!5b(oHwHm8qaMu-Z}W-%X3ZRQ$;|n6KFd;F3^wWV<|BFwf;ngBYJA9R=`D*fEu6jv4d0FGUC--=k+j%!{i7Afdujew{_)#0FxAG1pq5xZ5&2g`E`wRqZ4H#S_>76`VUj$I!BT@T3{w zPDH)-nZ;ZFcf7*q`n&QDS%B38LmHulT*ty&Y0lR=xlV=q(+@$X(8meiy_S*lhK}4K z&RHBrh7`FLa&6(gj|skL=E(nixv@%T1{} zEr>Km(es4Ij)i? zWgil|=6A8v89xr3Y&IsI3^8-8JsOpp7u6hkWuLpYVX13W7%K4Vn}t@YIysw_Pxw|t zaBb8b#qh_nl*1q&<>9<;ZOX&1T^V5`WZ9E4$tSawVGN8N%Cnbp4L>FRk7#W%0(oV$ z!Bw3jaCOw-&^sxN!6l`jXeA|hfEnt>;{A&C7dOWk?Zwz|bKp5eKM}&eypwA6lIB=8 zEOQs$yI#qk+Q7}~`q#RKF>{+(6mn`%)FD{!hLz*u+vYJJ30&I%{8@OT(wT`^NnfOV zjJQ*FIp5$Xh1K8v2AWm40%chT_%;;^91~`ko>numtdS7Yp5|@F=sL@i*Oyb|M4yP@y0)@mQA_(zx9YS`H zmjOK;o&0f{mYZLgujxJ@{<|Aa2){A?vWFYh(o4FKmnHjzRlc9`c|JQ-vT~BM9P9H$ zh-D>oh+ix{i8qWsq=dOn0)g_6P&n_?h0eMgpsNgwoE?7f|_a#y5TLfsA90qz3YpMQsTwAR6rxoxiR`g>x#xl*X zu)a%Ogf@k}0Pn_*4Kr@?^X@Xf%@O-gC6>$%&LGA=$AkeuI#0YqD@d3s47%l1Te#$f zXCB)lzBueD5nO{1e%r}Who8|_H&v_dg>Q_?W+=D;brkpGP|@+Lk;$bweRdPhe-4fp zV(MTQ{H%N_-TxFWTac{qk8a-(9b=Iio#UaW9M+ZQ! zE;Dx~2CN`Yo6bX?AzM4I;P=D$Yb^w4;zF3m=ed>-n~rK{V{-hU120hvI*bz{_axjA zI!$#b-dnx&g%7Mhd}Q3 z65oPY8gT*~EaqLM&oK%q-#ZcigK3W#(3tkdPl?ow8gG;#?nCxhEbji$^p6R{q$w&x0A#&1yPQFpC*y<5w&H}E$`QFf@APE{bmb#sEV z_|uzUjqAiR*J#h)Jsxc$F4@k;7=+4gRfW*5j5ss-9t&}i19Q;l>sX5wr308l2`~&> zHmt4Xt4+5Ey;f_?CfNsDhR`Xk1=1XI{#D6~4#D?T(nLX2!JAUywR$a@l?ScKJvL6+ z0r` zmgBB^U}_u94WDkhY>V<6pZ$#)c05m*6Xb;gE<{+dl00?{R>(e~WJz~?UwLI?ALu)n zL0#$St^w9-NdT>(o$A9zGR5f+*Q z-ae{>2nPNpxQ5LzLC zcduOH*=C2|8yLSN5j|@sj0F>D!fCqad%^oUUGZamy&}4K8{*k}cKBq7+nD#}p8ROp zI=*VYyqSg8Dw{a@{HPP_{{t58$#h1ot{qLi13JGR@u)4fl~jfyx`v}%!dbJkuWZBvYq#Oanf2Q z-yp;?6E)n?dNY6Ra^2GGUUIcf{()>0?)dU#8Y}XsC~AFUwPAG)%P9Jr7x<`s{q4Pl z2g>U|udjBP%7C*hrfqbAQ`O2LZO{TJrCqILx;Vs9kc^0dK2C$@W<_FdtyL~J_kq)J zM}C5-GP5{kM2@dLj~wNcCL2S(9w+)tb!WXGkw|dTHB*)K=i^ASzZK%4RJM&wLQcoS zi#?OA>r=^bLy5(4BdHuDWwwY)1xvw4jdU^j@SI*trXDFetX6Bj7}$@6iZhQFtKPbC z1}ne+Oroqs3hBgc6BU1JeSfuLSLtl)p(WDB7%FNtTm&M~r?}u^s5ZOYd^pgpuI2c_ ztvZQ2xhadbDr^0JqOFu|I-I3bnf%FDPTDC!(VCdlwMx;9kWp-kh{C(`O}`Pm5j%>2c=$0+{xFm+EJ^w;#N?Tvd&l)W}Hdf zW9q${^C{Oa14RAe-s%|zp1VxgnY{EQ@2R88+TQjGLAprFTw-zY2w>yAd(zyv95_!n8GY1#!Nt0491pem@v9 zHk(_@XP4HES)}%gE5^BCcEB8QM)}aOV)n07I+*`(r-IFzk}tU+7YS>U!{T*+IIRLb z&-tUsGp}IgvWr)=9lrkD-@#(djeK#s9{aLaM3m!jlsJ`I>WqXd;Bh4(_(MfD7UlRv zz7C~9E3LZ1JMs}-v!gN%Sbz;1CbA=E^l5!i)Njv^gt;1fIXm_T->s`M@3kY!@zvdqtS4(1gLLTKGiP4Dwx%U(o_oAA3QGVnaPP*gjc-DxbOHjKl7qO$d!}!d zzgzaGP*A|3fZX)E$I(^Dbyj(t6avP|j;~2SCKOcNhz6*Ac7i#Z(_*M$bhZFlt)?rO ziq0+r>;1HGiz4b(nLd1dKyi9c0^*5mm}}T$u#?N{Iij~ZthjC337GuhyBe8-#fop) z6d>{+?^}kt%EiHTh+84$_+RT0Q>x?(8>`+xsZWhVnHolSdBv^kS+o%M!ld`2$S*Th zjzgl#ciT~z)&0~&dg*{$uEmi$$3x%Srme*nkrJrm}Q*- zTgbeIztx+2Flq!9TGvu<08#=`!||b(x_t0bP7vTcn?3HkEV4Tu8fN3zQ5J#G`}Gp{ zFs)W3$pXk;BxWP7$yeI1n@nlaOtT-(k6oJvGtUv=Pha}8wAiK5x?-bTi1e)%%m?b zcEhQPfkF=QkUWVNAV|kh!KuW%9Qs*S;aF^8XXdNdL4O1`X6WYciyB-N5LP5KTyX)c zO}~nHCQmW_O!A&uy<1FdZ~Tae-5ylaEdtLE4C%*x!}A=9_@ChYXLPwM!R;@nQmJ!d z^EV=YKJbco1e_30a*9T0GJ|~_2OXdIK9tu@lnzrJQK)Tf76IyKV#p2u5+K4JzHVMh zncatmiz7eLAH1J?GBWa+1o*VYXH?v`nb=MVwzY2UQH?V^#0_yzs54$9?F$@Zn)cf; zrlK~-jo`kq0b(tZ_FLq1e3^1`SZuN%#jXnI3T1=yCXyk+MbN83qW*={*p@3C|3G)@ zLreM&20hZefuVWFhPzyH)4xUHtOz*tCr(?i1GR&S_^qw}9mB7`=?h;YFYsC>GtwtB z&Cd)`1DB`=Pl&(O?=C0CkFQq%cMqpDV@Z^YksGTK6P$z=J+Zj=PL*WAFlXoz5nx%g z9tZ$_*i`tZVDmQY&;h0@$$gE~DePeGjdpjag-X`^iJ&GBt{oqDR}kxt4x?^0xCI3E zWo!nV8%AduyAhsk^fpP<@)b@P2P3@=v@y(8@z~fU2|iuJN3BmP$Fa*>NS=3AlQ}Ut zE&me$*Fzl9J;klKXd~@X%e*va+6*_1o=aPb?qn;GRz|a zB63~eWO)B-plX~=o`J5Vk?2*xw3G5q2Q0=jb7gw(1uDWMH|mLd2gf~N_{ubUf*lc_ zGqLHM|K4olUnSYnbxt#1MmSq#lYA&}f#fm!T0~|gM}*a_lOJ3VU6G1IV($iIYOVZr zidP^NqlpO!ILmI9dg$e|A}uvfuNwJ@$6=aoo*`ppm6eiA#j63!pUoV)AIg$U`}0>A z0px9*o$BQWtH?V#rc z-N-zmZ(qnwBm6fcc+^uSBwG5^* zy}*Ixdcz2gpZI#GyK#u)aMoZ3je6;!YWabyu$-EavR8qXA-+X5t26=p}S)isJtLBhvKSNM@wkCo5G+$_oW>x-uJfl?> z#6E1)#94J{;Xk@i={eY(zP{2oCx_jsAUd~Eui{BT?G@E_Xd_diabVuWWGcH=DhU--E)j3omxi!8klkBo zoR-Rqa{bXz*!Y+@Z4d#_qo#&n@TTloY35;0XT})OF71bo2bB(X?J__^_kBlj!SkBE zFI?Sn(8vb%(D5UELYKqFfKZ7q4Z*iJ)gCjZbA$h2iHGC8@X^MIIv}YdNNm1olc{V> z)x3pDTZFSw#w>NQz!%8z+?-$#wfr>Ll4l=-W&Nod=%>Rj^#J>~1&L2Y`@%9Ze86>j z=i;GprcH?j$6Hb)*$WTpkGND!Va`n>Y;PVU%Icdk}XsBWVW(wg}oIO}?n?Wq@>c8~0s7 zY@B=%(M3Ba#3FoHdeIplBzfugvrwM?272isX5klH+ygmnW+0NhJ7e|D5D;AS{H)Vz zvqgaGUqa@WNo!iO6+j^-SJPVgpv=KDr#5}&PQ&w)rCGYCxk=0Erv1sgq60s;Z8D;I ztk#B#23ew765izO4bCP%1Ya$jFva7v2P~E4+Ud>On=44D8*Ql_=NMyWDmerKYUAAi z46^TvyGvEnYaKQurjK8?O=;Ts`n~)0Zzc7T`n^fB7x-m)F!`vz7(__S-u#_Qe-$1f zS2^5dreLSCeulI?Gx1$4zf?%+>1j|gJ`VmsQ=Gs5_0=Gbf~l4@B1a8BS}>$kNJ&}> z7}^F#2K6V`k#eRAtAdh{@rmR;z#_hjCmb>k53XBT_UIf`6BaE$tb>X8SK^X!co5dV zQzOo-e!kGBGiKv@6~iKUK0xH@oY;Nv^zR^5e%+5-4O=(MKj;=hcQ(dcbVZ%?Uiil@ zoNH%Z@dsXc;fu>lv2JZzG(JTMJ1?oA0DkZyJx?o=i^dOk8&X{Gm9fOngV;a9Pxn$kN&9R(W#>0 z+v4DcWpW)_@=yO~ti9dNU|zymP*L z$6G^)Jo(y+H8|k{AHc*nC%Gmj5v`x*<{wB@Q%{JWSmR_B%UE=r!c!5CZs@75 zcBg3sMTNOKDp(u65rymnvM3r*aVgZKgNODgwEgC2h_&-2z%5>=pI8(Q_v=Dp5{yhxlZWF zr}K@m2RqMBmvqI&BwAg0kh0R09=UGkdBMxoNmsX>-f>Gslg7dgJUb#hk{NAbC*I6C^oyb^=!ggnfzCK^* zTOJNREZ1RTJoI`co9D9>*aIb#-4z8gfaSTH=MObP1hdg`vAmp|&pC-cY+}!39h-9a z@Cw6U6^yu+=S{1W;wZsv4q`)bwH?xu#ejnK&NbK4raOZ{X?XOq6G z96h>QJnAvMCb?HoljO`(Ml>~kC1LcxSv&ZRMvg5k@8xf%BjwP^SWXt>fv1;DHdV2Z z-I6pItq0~*)DR9;1Z^yQE4-lH(p#G{Wo>j~lNyGOz}kda^62?;0*bk^=W*S zo0Y>Ab|{aTg@xj&Sp~Z*i*A-(B>U7P0svnWh(;F52kfC6fL$-??dPw6NastYz3=;%11n9#5Mmx(ekTR zzj1ZzK?e|Zj@9_kUBj;A!yVs891pp4*g>OdAwYslAmnc6e7=huRx@^hz6q>4A2FK^ zsO0C7mC)3r5xpiCB737|KTBV=e=hHzc6xqD!0ED&q$AD0lyxFkKZyS+xe~v<%r>Fo ztU9B_{2{5EQGYv6gEtWxveDxI*vieI)Kn2_tt&t_oFW7*Y97|p?|k^pS2$?x!35mPk!a#fI5%(VzFSp z@_XB(l~8x1J1q-$F)M&t0(_0FQ6-dv<}2mU9qjqTJQOnNcK#oYHzZqO4p5xCNvg)j zR|c#0Z;3Bn-Ys-0UWq{r(qp=k`MV?Ty#%Dq>IEqnPkVN9)IBm*G%nmNDd-(1;-WVc z$$L}dU~|K~vn~3<`{WeSEFe?2+4;~wd^m6nbKQ1rbhNaw&(6AJOmb1iR{L{Rc&h60+WSS*p|9mq#+FK=m#38Augh0Uw2 z@Uk>zrKM);xj8HUO~+Uteq+{f@>H3yx8eNPN3J4r|1hEVswA5G12#zF-=lv-^3}?0 zqDx38*T25lYB(yt2@1|~iOM7d3Sesst31V;fIV&06umG%GAg^-4VP1l`0#eYrSAc6 zj{rRYJ#5jY|4}ZZ|6%s|#yerko1#;3w>ON#WLku?FQ&s6O6e}|g|qE2(ZZ9kxaRG% z_5&-v5}Kw4deucLsx$CGD=^h*?HAz@fK=8?@G7A>?2*k!Qw$CMDLr{ZI~)1KD(ft# z2UJi-#+DT4Kz-~FTeupE-&RoOk#4ErKtwAxB&g}nyd7)Z$i>(Wm!irO%*&9;tTs1a zA9N8iH!PR8xRv}AQxok5%IG*V6=&$_;7?^QrVBW`Y+Oyw_;;)C(O^9@s2VU9yZAAR zUWIAelv|lbf1Ai&7IUQLX@WpW8s}aDO{->?H9nk_WvZWvys;4g-ZvH9IEY=JYvLh`V8M{Qho z*!*GZgCw)e;8{a*wd|Y%DYUP#HB9yJ52U3^QER`f%r1E)QBuIQp0@$t7=|%XNY2pQ z<2NSr|K3dC-zC}A4MoO&Yoi~*Y9hjMNt*Q3=;3%S}`U8Afk8oqxfJP0h+N#y7*{|CL6Q; z`2ipPw6ao*-|gfxC0-hPB4_(vcsMQzt4y{-zEDRPE9ndFh&?jV^R!Du&YHHYWvwdP z>$`JNhie>KD#Fdd)d`=u`r~BsFA>XK>w}P|&D5Fgv2?`pX#MMX6sG-Au<(t^CCCj# zpBCpsliAltBU!x4@1FCmjK}k`^j>S1nb+vCy|$m@=yN_8Ya?wOa@mJG@0t9<;C!R# z8|gulOeqHrTAv*xk|8v|S}{^uAv=DkB!!n4;z5s^*Vti8*zbDgD0jfV^`*2dW!>>R zTeLfB!!1j%DCOi?pYrbH1N5ZcMlOSz;&0?h=mQWk7%mu|eg@~vpTfSivtwOT+uT(+Z z#7Wr;(s0tGW%J%eGCkb-$hoUy+?WgME8PO49KL{j+H?RC+*73HYWI1d=oa@LA=dzA zb|>pY^6UtF+_w*G?Mt_!B;BPWf5w!8_OA&P`|bt>r-j{@?oFKaE04+wJ0czUPdQ^D zY?;!e;Joc^P3G3`pYM1xe`)_4lPO4WFB|h0mPl}_lCd@NEw0~x;9ev=*n`>7acz_- zSu}4i=WBL|X?SV`{kwh1;6jG&_n5Cv3FS@>TWlSH!e{$R5;p(DvuW%)=B+* zPNz=Xz4gNDnuwDsLN2mc@u{G4+w;?FDqhKZprH)4c^gwNaO?K;A|~P{Bg5Q4VkxFY z5POD5UJ;A-Qu7#RDq;nd-#!I@Im8P2bu_9?Tvif9wh`c3R}WXJ+tBw%S^9 zOo0=#fvcB8QKB|q?Mp@A4znp6^ZoPi$nbvbcr8n5-+&d~ziPjyf}$_)L<+H!GPbNI z6&I9rAX5NfKs2E(V;cP7p6$kq^W(7qUuyHBFW0f8M=n$LqSz^E$82 zyRZ3&m5z?iKY`!7btY>%aV!7*wMA#UPGr)hxGT`hmr^cS$6wD_rSr4SvGf+&3r++cn_4mQy z38Q;Ibq<)^BwboA?R>;FCfRKi$Mu9aLsc%Vd{b(&%=)r&*R0S>T0E6WhpIz zNM2Fk|o#ixhnkI%U*rjca1)ulEQ4SNI;LOD(Zw*w55I}ZGr9#Oz(1kw7u@)K! zImbphEM=C8yk5vVGRBw5QZpSz^yJ%F@iru-9Md|Eoe!znQeI>QeX>t~XURIwC>I+} z&-6y~?}V5N8ut>O9BmMy*8Syr!UZ8{PR+Qd8v7C!J^c9naRg2A$XrOWXwZjLHBv+1V1t<-ynOV6w(j$G~wxsRuVN1Lw9eYmKBtPNx7ehX%@_A+F z>dbSA8AzS#vg)3tl7qK1GMBQpI;_;Rl5D{w*l|9++Oa+rsbhdIVG&}TQF)2e}_(%r{qcJJT*$U0?KC)q%p6b)9_AzgVmqApZ4_* z1j-k54jtiBQ^Qn^v0mk~Rz08ucgJU=E7q|q)aH6ZMu<)|z08LySKOOY7qhts9?3!0 zSqSiEoh;sytgLyYXp1P;yuZz=|Jxrk5>7tLgtg=+Y1TP!Y!lXeNKM)0RrOOULPjJ8 zQosv_8J~LBf)Y0B6y!LPNt!oc%N_mgR{ir+1vwlBLwbVG&`zl9tqS4&oIlv-D{uDo zapOF3p|oB3G=kMWTGq6_Sq!I>mgLkYvHjx9#4yk1EafujARkUhhPw@0Ql zRjm{&68cX_hFAC1;RoCIsi#O_Py+M3iVGZJl1E)Ee~V6+yozV!WfOXsA)GNdYZKn~ zi+Z-783Q~y>p*QZQ_H9gJ<308Q$w3{!f7$DL4YsNi-P@lc(vN$F|s{ z^(+Sg1G?UVel?w`Rs>Vl+~{5A7zgBI$?xFjW;|EYm-;~o>vcMEzW$&cHxs->#2MQh$XLR@keiJO~l}_jcM{ zSVpSERc-nSPw)KH^n$@8PV!T7V>qu08vR;JVu`ACa)kBMo zw-s2jAvGcJkhwZ&a}2k`;zn0rg!Oeor!=@{?T$Jfi*2z7JBE(G$><5r9R)0a|07W0 zTcFX%g`4EqSWp^M%_`Z!+PNSLtY2MyZo1fcBvnE-pz7z%)DGf)0lqV-nZS;VPrB=G z8dk*ErU_`*ep5X+oFVV`U*#)}EAg*NFd25f#;fZXP|u7n^@ccbBXyCa4SywB?z`u{ zB4Ne$*0a8}LhMIi@Db$_K4>L|EPWcd_Pj9zF8%g*e}k@aKz)%*G%W*%Hp={gLF5hZ zV7p^7KeMcsEhAfh^N-jun^5M`V!1SiB#$W4>ZG(~`KHZ1L9%V|A0oL!80oP)# zRS&`~fkCm|3$4y!aFf4m3&!4_cX|U#^NNW(gL$A3-EtT5=8<}JI<-;fjvv>ISa4q$ zbV)Yx2GrjdHjCkGlddJd4>CVs3=M%f%XnFfQ=GW?$Yq{E9?6-Tw^HQXuyX-45!(;F z@kuxu!V^lYJHSm(kFK20A5GM?!+FzSax4~8^yU-LVE@9Nb;1GTnZ<9c+>E7XWn@i5RvSZS(=|o;Y)0JYgfge| zv*7{#hSc$5-@fy25xdC2MQKNuHopA)EKA+E9zNmNZJZ-22r~;54;b@k$?uov9fF)) zQ5W5?M^BIy{d@dZZ6e;;MoRbs9nG|7lkC&H4lWuM+#B_Fm>mwX*5hGj4@q@{egaO1 zJz^-BHERN#LP@7a!>>VGay|oeNnEQ*Oou|uR5Jmxb!SVC*Ti>Cc}?3 z(q_3BBS?*-uj^EL8J~tawOgVzZ#DBPsIi*msAXd!b15;@XeIYKvUeBvp!=?_^d0v9 zy6dN77BZdK0$6(|TOE>=w@-n^>cfAsPs?ux zuJ%u-h6lhys*Tt88pOerS0y$t3obV0jy@+abOQeT|97L;1L}E>S5*}bF_o>a-d?9O z_2J(?ZHqC1#OzjuNn|Gf8^f&slV4qJw|O%;VU5mnem!d;rKdee>=9d3l|M6BN=HUO zRbK$pqDyov)J$h_#JVigGmMO>W2)XSW#Z8gZY8zI`m}T9IZvzHTu_3uPC#Yn!GIwL z)LGSMz|O54#T-$O&xknq$VBnR+i5?-$?&#om$VK%1^s0tB|=l0GV|I|+^|>9k?;<> zLm0?pRW5Lq1S3iI>i(W6PC(xDS>-|K5?7&S9-;s={8IruQ7OTL{p&KoW5 zcfB;>-ICzX8zear32;m&(!s8x#c^*q9921a^aMICPFf{l`bI2Ydh z^Q)zf;!0YSo9g9)BEx#SqxajY24Up~^u95l<2&-_1ZI(&lNbr36F)7gU#%<&?H1K< zBtrI%MjZp+3D-n{by79ac(822Q+8k~`Bv%Fm|!qN^?{(Wt0C{jNEIRnoTtE*?m#Fz z@>D2TqhrR&dcTdsXq`H(8n4T*uuG17JU_^H?C;=Zzats_o?t^vXfJg1jG_RC-Fi_i#AwZ=ufD*>j?x7w$+$Q=*G?ZF87T&>&~*&L2{1$X&|T9~$0wC!N&yPz zQWev_41SXYy!r`MvBF1K8y7p0g@Ro=Z_I=WR~kIlwTkj^vE?T4%KW-tC>D28ZJyaD zQkVYFdH&ifA+$jACe^&Ry`gJrNA~*~Ym<;m@qSm87`o;%cJNcUT=w&gr^)HUzGZZ9 z#o`%~V}CL;02k6Buk$h;z|k|Vc^Se`p*JiqjL34@C&+b0{+SIIl4^7CHNVIA12{mV zCY#T-z9DN|S5?#Vr9+R=GvE2k8Gd_32S8N_X>x(ce|OTGCmWjq``N?r(Wy0;E~@iG z*cG5hodKB*N!nKtevj8fXRI{OPrjkXXlSd?gGr1&WOD=IyUV1|myM!3wffb|H2`Mt zSRZ+=W)Z&e*yO@F$$MF`hipH_#P7Ggz(yte9-wH^hgjkU=PfU-{VNIT(rza(BlXIC zu|8lpZfe3mxe*8uT1Q8~H9~={&SZ|GuQv8?D(?n8M%0}GHZat$i-5i)E6j{r2*$8= z9?Lez7EMYD0uZ>ENndsu(W$k6Hi**;9Z6}MAb(k9;E2wYUPlbh-O|HXVYP$s-%ZI* z9fPq37BjfbYpdNForXCOKH8O7TsPs;&#J*WC!{9TJ#kogo7aVBt~#_FAAZyUif`_f zZ#oHlf5h({AwI~r488i$vg_kXLofd)37h;p6(ft5Y(gYFZDMhJQ|!>{zA`AJ)kd&X z^DueS6`-3T&`mR(Tg7>`bAhtD+5v;h6%^D<4)p=M$*XapWVeLo8vaWsi#@?DT&4%^ zMfz@b1G)w43H>1yqz{5u*u}fQ`r`M4M#BZn+C;0#Ny`eMua%XR_^vr_|L}Tz`e86` z=lp;!`VhESop~4?>6-E?U+@h(??yy*G!mgl8y+rfj~!}?2CXpGRR_eHdjQ_ir+5kT z80(Xol2VRYEW(^&yU5QCj%&ufT#GyE(GfmxpEFIpOzFR%S3ch2ZD6c?^H5e{;DQg< zboA`NMm*+47fDi6h3i_PX11c5bh^lKT@#rrf+W`vR&wp{^|hC$t%0ejF))Fku-=$Z z{6x0P)?r~Z#^7@!F@$ymCH}^8507oXjuW0Mt(ttDvCfHkU8#SuDF;>C)l=7%;ptZp zsQ5EVwznAsnoPWM?x)1bFAB>!Fu@vr&V;gImiYP!5PtZ^zZzh<_~+WpX85&|F$H;} z9=Ar!a~^qI30(mUvrrPSy`LG*vvi0AB87sI^ru@6Mfe}UTT&K?BP8l|qRo*VLmx*% zlRQ4NW&Bcp>lKeP_`3#vEs&#?ZyhRsx_;&9Qu< zT>di(7A0G52v)DXc#)+4&F7@_c%ax&uOn~t)=^MkkK2LP{^gBqAz)wpmdo^TFwmA> zS0I9Oiq~QefGNm!YVHMDWbdS!L8Gnqc!s&q-;GQybjW+XSjG)QO8d$?>DrZXt9Le8 z>|FkB%CeRu6X{DE>9vB19zxg0L7?(28I-ytSq00#Dj~3DXF1z2#~UBDq%X_TE5c{1NbA{2x&L! z%STpiDdrGLwl>>Or(c=-oXXiYI1v7wigon+>YU~fUTOW*2$fv-t|r2G5rFr%XPmEz z$(>mMctR!OrxOyW7Hra(EJn6C44;;Q8v@*ABU8!i;pNaF_+n~*UEDe12(X+6hPLa) z4uCi6fpz+Vsy5J=(ioBN+FK(QQ=Ao5VPkYW9*KSP^yixZxO!>}_(}B=Kr*a%Ak@To z>LKz+`!hZJdG``w98B96-!^#vLu}^lTR&dxM6L8XgF!L-#V_y8@iJz-E=`9&$Q?cY zz~|OG9z7|=OEopC*5mE)-=pFIM_^NN%k72E)Vki4g2{dEo%w{JjE$t2{%k!ptBjDP zj0-6e-SVNfo#hK^u@T|&7M3Sz!^MAYk6GCxTKt%|S|^qZ*z++4w+=vz0hd4{ekG0o847yu-W$c00(>zZ?h5a0)qaK zS&R98yQy{qO!=kQ2UvOOWtHmFXf%TP5~=1MrWk60t{*AZ_h88(Yc)%Ja}oTiM4x3P zZsl|Y`n>|b3?zO7!U{S0Q8*(q$Qxux?jp49@mH$_Iet2R=g)cehjf2I0j@~QPH-tB zCT@*AvE8ny=I1*9!mV|YX-!pHK87u!r>92+hyHGbA|%zZz7m0hr#IQK#N%+WCc`Zj z#BD3I#@oH_MONoV2V>V53lf3-51JS-p0$}$jp1Mu-r7*hxC|5*xD<_Clz0GY!pO`)m3s^b=lS4vUBV)Zb`%3WBMNFeyd zhQN|P{4Mm?@*i`v&N+U^uOvl9IXS`o5tCDs;wX5WC)6qN7c~c_TZtdJzE6GhLoppL zyiSi7*cc5Io3O?Pa@}{7_k%}k4&)p-KG^U@g&tk=k7`IkpMRejSx-k%WeAcePV_h( zQ`ZPXKO-($9|HciVCZgE1}fB8G za^1`{Sunc=o?bQOv)jL8WPls!9`TQ+=;{+IZPxPv!09(Nrgci+Ib$0>F5O7P*v)lr z0Zg`Z-h?`y!79LpoGi`O8s$Db9R|O2j+jcVt-0@`;6Zgx(djT{!IKb09s`)WTAVOV ze~1eKDY|ObP1yk07BGAhz7Ik`+>G`qqN%pY&Z~fD9j_4~|M;Y#FKU?`jI~1=llD^R z)I(75mn=?1-oic&xLS%Tz@;8qu{g3NxnyIjuj3D^00CU`EhEba=6PcBC+AZI z58eG50S1H-b8mF3-3Hsbzdf&k@KGI$*habkzn<3)LUpnNKuqbK-M5f8GeTR>i}-;N znbF!XA$*otb9UBCJCj?arQ#^u884UF6N=1lH^uL}Z<}CTP%TBeVd*o+*DRxFTe=_V zv%GuKz=}Q}V4`Kw(a|;W_u4|IyU;tv*tb>bbFY`Yd>!pKU;YsmNmu=!3{C&1#&)W1 zq0%<`{dZEdJG;CIj_`77PRh{OY4Ui^FO;#Pr*ux`S9WGKq37PFC||4s${2kbh)8vbsAD z(p`Wgi;BQm&&ek`J#;0(-4T=79paDOHPN#z4Sh+w7gElZ6t_jPJjysxlRy?F=Y>+Y z=LuFzNue^?h4V|IymCxgndlP$goOu{F$Swp|M<)G?>E0 z2#*=#n%ITqzJZa_w#XiL592bm3D2q0*0?)@hom&P1N`W90MUnu0kD^3rE@kZh1)bA z%T!j%@J{!`+cGa89UCM13Gb)RcCv!KC^eT#4 zbv+0GqC%w@t(^Wc|GHx1y6&f{Y@^!Ph4#MdU%qD@bju#8ZEdWpX1g_{@*XZO+BHB2 zs31l{phUL%#sd*{v9UM*g@Hm!h~+$P=00>Cc8ue8l-B;WH>qxCW20bKwyPIBZB(0; z66|Wf^r{q#G1s}b$$RA+%PLmxL~l%vDqLQ4sp?9q&T?g!7#i-OU`rx8d$!LX%+g^-Ve8@MXYBft2Ifre`Xy#b#gN@IY8X%XMiW$ zM)>t@@I2U+s*LfIbqN6a2 z`Gk@8{c(gqBP`1=&+ds?UiYD9LvUvvTeh~aB;*#ZnfoIn_o2|Hb`k#1mmh;1GJaRR z_jBu&MuYXr%yAIC0w2B5cZ5BWeo3QoKKrUL$^D-)<0^wOMLNFF`r_@N4Mb>T{fp#D zM?Z0*xpdX3`2O=>!0o*H;DEWSk z74Qwm6eno#`jV8(!lo{k-xpf@Lz(fGi!1X77Ke6>?rk8hdihRKTaY7f^(|=F7?Nvv z_d?8JYf&+3xK~|Q#9gKWXgRFMLkwpbb@M!lUqk(>!MZ1TZMqTA!jO{) z;DxVd;wY1hqclsov>R!H-mjE)QxD6!!;#3e?vO^9ph&IOw`tvr`ux-(fDlF-MapQP z705qYdc!Ce(_E`+A0}^KSU8%|-!FE9sJ#2fUcSkvS%JT?l$8|l+-Z~BX!{%oFPHDf zq_fjXC1n000xG2G-o8E8GOw9d9+lqI&s(~^|p z7!jY`m%BWlZ0U*Tx+A$({65uBlneh%x_&)6;QB%*susp@J(yOMw zZkcTDfBXIl1tbhA!`VF-DEAbejMtle@z}^6fHsH#c1Z!T&X*On%aG|(;zNeOSN;Z& z?p*QS@lGM~vYwCVW1s&!0=6qgMw}Ml;zN&$UNBFDldoS3z;Xt?`;rf82Qb=pH6DSG zabLLZa`c;UqCqXwrt?In9=v(nw&2a|+Zhz!ALft5!~;19A!{FG;s8nU*YxukTHu7l1EhmDI)JV(O9dupwwcMeHyd9@?Dk1plKbfYrfCE zW`1M}uv+d8o0D|^rld!L%yI%AKsTpA0ElXU0F1pC6w+2z&OYI(*XrR@IPN0LEZRwZ ze#&Lcce%d22NpbRJ>g$53RwnH?&9eY5tH{}0kkc3-g}r2rQHf#duZN1)vGJE)jjCV z)3^w@W~7>-TnD6sT!TlHB?G+|{GFE&_LQjuVmrvu25oX0Np?e~3A=#3ewI_DnuC?{6g zd=RhtGI(5XCc}uFlhYYCqzmj~x=U*^4AE1&_oj(H8J^+U?{q!B7e1Ybm9;1xnqNox zs&{gFgHz)5kjbbNr7)YglTC=o&HY2Q@#V)B0DooTrY|y2ZsE9IQC-OwJEt+*(B377 zeB%;i@004J2X2}ubC#Mb_4RBiF&`zlJ0J0GzXiY2XnWs59oBqa{*=k*9Alp737a@n z^r7Z=8IUu?g$>1qnr_JLu>wN*3CMbH<`YdIJg`S;8(-x@N* zza5iNJa7+1hi;ZtDF=*W&3kGiz#Yeis8zys2ng3t)ky;Df$OHMA`;$yzS99*zi)S! zV0hz;p5Fj(T#@=wzP(dg4XI9HC6KIz{%iW)FpWMJ*+6~!V^3|$69Hfb=zx{tLsNf^ zlV)g4yk|x`fE7NJ#zaxhF1)qqZ;Z=C$CD#_|GlhbFidtH7^~nj&{>nZ-3HKgPmuqc63;6H&lUfbOqP#L9W?GdU zs3;?%LHH%-kvL3)KM4fY7Z)iL+;xdi$IHAN^*O1N6)-MJ`W87LZ;_)2d)%UJBBU1* zw$`E5InZ~>dBIJLL+htiYa2NUIH&V-n!t)X87w&7u|V{Itih}?h|6PRap-i#-6q6j z?K9r6<()uUMekY&!)0bXN`K`uY@qL-?> zKk6)>VHVM!fL`FdxlqT)KUtc07kQR5^Gu8iC8M~GS{ZuL9kjBt+92*(VFOb0Y`*w8 zQchmIewaz4aLm2R1ziz-J_WoQtJ={)5GHL&HQxb4`moziu4z~c^>8S2DyAztZ2Fd0 zHeGCrX8i5o+uf=X0@{eO5bh2dqrdf$xx785W!MNb;hnrvwry#y)%PZ0J=BU9MVfM; ze_O<^;8)$-hf_)E*?Ndf2GQ^x@KuPj`G6DAh$*h(kDa zgx}Gh62}z?zAs0`YF5@A!n#le@yfl#j^%PFxYvR z`I&?GU>9kx(<1loBOhkdQv$JNp9h<2^>9ng==Zb z3M5~9-7;TbM&*dM%uK@>f_DH%L5VSK1D^p1l`nd1_|U#I-S6nWfsW8Gfezm~-1X;? zUWXX#kG^HsJ>!nEfb>*;W7^wLL9^`|o>8->!O%z-_}GmvoRr;FF$Q+&xhlHYXU;I| zU38iU?MUBOk>qb=yrE&^NDR0AAjJ@yTG;2Wvk9M9V<#6m zcbJ&Ab_3#<3IPQEE5pG+9{;@aQgsa1A;qhk_cRy0P0*5-aYjxLHa~Y3zyq7#D|dh- zjD|?#i|;z*rBTVXy&_p>@-uvJ<3aVe>8CDi)n`x?M;9}@&98W)5%R<+Af&*#slNgt zIS{87G^TMnMrxm{S_@iV0=XKT=!De!y<;c&NL9#=9uEOcTsyBMA};Nqq)jfepYHUL zKe3Cv?_w!T=xDFLIXJuZ(X;R|U7~BDHV94`ewLv}9PD#KkKLc}=LQ14Vb;i;dm%qq z@mgbAa5Q5yR~&-ZTtmFivl1KM)-6vMx$dfF%{Y|H1c)$IUw;+H&CAr?^l0L*7}*-8 zZdLwe3}$XwysSQIore)UxGAp8-PQZrQC{0y8OmjRjY@V?a54Eq|BB_U-b53!NB~=I zWln6hMk!(ir`@A^=--E$4sd!a7dQ3}`dM-a5?&?MA>p(#ez;W1f3bVC?NXdZC0x64 zZoGD|P;&&HOBjMjdHsAt<@v-4tF3lInj@D2Hy$p`r3DKEfScg`7bVAr%%Nc1VUr4GmUKll&84LmVXeux=uh>13}+sB{; z-T4nO0zANe^|o6D%!SVeysX!wm6WGH@S>b=ApsQW>c z0BlNL>uFm-ElzT9$a-W+LZwr+d`)wbI~w8BSLNmj`q*f%B}2B`rFq52 zy^mevJ~#|-(OckTWA6(;)V~6*V;??(DZOiDm4OD)UxT;b{(a(nBHLz)^IS+b)P8IK z6(H>Ke*o*hz)u(pr=|Y-3}P!&hPr zYj;QZPNXE79_E&RCGJD*U)p#q&KEYFH&Xd?#SrlJ6liNxGN2J@N#W zK}%<}j7z@}6&Ch9&~gvZ#?{VwSe|M#rih5O9YaU-buu&d+|CA{jfhX^me-yF|M+&q zwB}Pj`Z0g5kmAdJo?l6U%$-Ik-{@B0QD1w+ch{S~1LM>h&25u&vJdUbFW=4sA-;N0 zmN>HB#z^^UTA8jc%XcZ|W6SEWaZ3YC*L}cZ7W>ut`#E@S{+VimoPRKH7c`v_ARH}L zUMB57;ezDdYMEb{enO#Fw2^8cNkfLqbBFP^$U+ zP9+($gBnUuncMx(w0# zAL5>s&#w~`mw5?JcwCz_6w&V&RX5b|HEQ1BhbHC5*!BoNP^VOEJR>f!+)?FaGEhiQ zz2>EQ*N`jrv(&E&^PzIS7YcKjxzW*QJ|xhcdz=yWD?2gz{G9PLubKA{rSHPxQMS46 zH8y*f$P^HBT}%f~e)!=AOB#wZHQ#fvA@dr$Fh%mrv4%=WeK}qgKZ4rMf6DN+C{;*(E6NZJTfRIMrJVISc2SFsk|0e0+l^bSaK$~e~f=Q5Adx+ z`{C2Bkc7w|+LCdkLsie{O=k68)!-<1rma9Jf1vWyBf ztIs=El4NCo0I^SFm4m-(Z0O<-v)ngJeJRk}YDd5fnA^2lO_tgbDEL!@&PEB`Ez8gFe zEBo}2y_4Pb%)=`x4qHMdVzu1y{` zLm_7{s|6oM^Y86eLG9V9Mf@=BfXB7C4E~bVrUK-; z3FqT|_9aB5jC*AAupF`8r)#<9dZNZ}p*4x;mqgFDSPgaHHG2usHt!=y`Bvx4&5*0Uk`{e^3j+C*f|Z!(e07_ z4|9?W0idAbz^D0rU|W>SE_vpaK z`{EJRz(^ z%2JtYo#yKSFaw!{xW<{vw0ZLrZQ+}hUqy1pl22FYnC1k=WVp$K29gZ_iPMG*We48Y za&m+f4#bcL05M!Wo$S|ks`psepj|mJ;IbMaS50O>wDZ1j$4^Ow7KhW45}m+Nrv^o} zmuCiFZEswdnJj&;(o<7yBvrsDp%LBa;p4iMl=!fsN#Bi}<^zvDICDN*X| zQd`wdH6Ur7a=SO^MHef?Rrd8~wTcES3z%-ld1?6Fik6Y^+?#i4yP+it8`a{(ngoDs zm^uwKXJ|Aj^0|}ZR|?Cn;JUFfd3oZttR_N%i*8Pa|0f`>`%fy#HWDLDC9-0-M1;+q zQBOa&eNxTIQ8B(;O=wNcden$Mx#DS4TBJ~h1BW5+?Gv?P30j=igL{xaS;4IffN6XV zShED!#=pwhCmGK$RAKjN=m#x0=*u@~WGJvjReC&-fK#UYUsn5E@gY}JYLo}|3A-o^T+_1H%qHBVKixMY4G$Y~ zl9ITW>Ngsw?`am!?Z<@M>b$9g*S7)M@05$3kDs{)n}Zk;#12AZWI2(q+@M|j?ZVZjA>XEP3SM_f0gGjvt{!?i zAb)=0=FHBdcxiVEn%}*w91nu@tX)@aL*oTzGhpDC?*LJS%Zi47erD0Th81nMe#Guq z)mC-T_1yvOR~92;4+4=6KbF@i*u2^1G%>ifMWEoq;)XJgH;LRTgvK+NnUO#!SjD;i z1whC{4%(z8Zl1rb{BL@1mh`R|kY-#+CJxoD%lDQjU80m;oZW^>BnA4Ivp0z_}m7NFI z4Fg$F%{>2&hI=yEhHkP1?!dZ}ToMeV|U7)+Z@|e-uB~W=cJG`}fFj zr83!(hQ-!YF0AbKus+*;qnEA#XIg+I!7#xoLRI@HuN%{_?((%{AH?<1>`Ydp_6`DI z1I-8U8d^~QEj+-U&Y1i7Dn+G7G;RhqP*2WajmU@QyKb((5XDKBK(wcvwiF_1UVXll z4}{Dz!=(ZJ7>kIoJ61eFv6QM&H6=x$>d!RAjD1fLr1GkI9Qdh;VYy$urlF>ixgV)Z zfd2vglNjE56i}c)X6Pg1-{MRqRbKD$VF0pu!Bk#_HYKb3a2t_X2iZ_T+S7ROe@qpS zz3tqnn3}P&Dw^hjTInv&4yIT|3WvRpVJ$Xr(Ql4 z%`B1*9K5*kt6W^(9sl0H%A0Guk5E$ag z_%Z@{GgupN%~rqMN@9ts>MYz6176Ih(vc!Uu7p(y_!0( z$NI#*J5g@lZs`#V^O@|n{#G`Rk!MCezAS5KuS<}T6;VmbfL{NEUJL(f_Req1^KXPvO-Tod=M!;A3 zha02LBKn1!gZPd66x$P*C-0RVvdt|4l9xg6GoBg43D8HB*huB$-}3X(+DlN;hm7!k zgC6~JP+Y}5=pot1OUu9Cf_7nMJNn0|`?vwm89II8t-uZI*gk6^3{o_}47McF^do`O zlkk=7-*Fy@8-{8wPv@nYZBR@(TyEt~v!0GR{K_)r-Ia8tI(G#+9RGnP4XD)NV9sEx zU2h4`iY+e-gfy2P?Zpq=wD?gUz)T%Okf&_`e}IK4fv`T)>kZQXVAuHBdK*##!VAmm zACv`qsPBT-jeq|hn(4~gCd!fLnO=_X2PA|yzIYo@*?0)v6Ym-ZqTs=g!Z85#!X}G) z%^M&^Xj^$QugqP>Sh$7=SQr{6Iu`Mh6oda?g@GwPhb>5JM#OFScI)UU$$u6?Ogp-C*#4Z1e^{wNa^@ zz8as~eN&E&ocC99IPMPho)GdC6e4}8bDk9z(i;Mg_td>Md|x`+WIy_MOwbVNVmQ_g zrMge4A`l2dfwN9W$ln)#!-A1%ey~?1l|?hewiCO|{K& zvtu36(*q>X3V+r9@VB*qY()#PI&UTS+ATF#Xp^O?5ugxK5nEKD=2Vr}%ydlJ#=$zv z3$`&Uv~^Wp(*yU>*M;X*JwEG!!%lb?ZVGt@07E+?9dmhl;J>igX9ejkLmGh!v%_zchLNti!?5Q_m~&+N9U?~j?q(#pcl zPAsJ{(7VV$xyFobQ31RpbWQH4E&*E18|*-AC&$BTB1UsCS|;ASZa_Oug+rPtE9p^7 zQFG?&7A%Emw7Hl`NjS}TfkC=PW&8~^d7&_-GATzyvETH3d>kI0q>aJ7q+W3AV$2}$ zbPjlG8qPS3ntGYnR$XDxeRq(<(Pf*oU7iX3;YUrVMIHu4#H~~y=Yyrx1-sIt-0Ay# zFhJFnE1(q<02QYQC6^3J@Bww0m~F*~LIan=v=;Lg2?^9_xKD;_g2qd*rff_cS9O2|rNB)FDvmrw2i{!H2J*aFVR|47b#m4HBjiT~LUZ{Om zrLN!}@$@@rzH+?fs0JWmDxf12ZRy@|+cZWjQ0pA9Bd? zB59ED9r^p3o64<->BpTE9|UJh!k4kj1L z&t#=e_dVIg-ty-89gCa+VP(4z7QG`@n3`JoK4??6QO#2}X zGm3C^yFYYbJIiHJ>detR0LtErUR2F0TF~2HUTuOczL+-;qJKituMu)%<2^Tard6IC zZ<||6zey;g&OB9Cg5U!D3SCp6Tiydv1TvV~^1^w|8fx#v>^KL=uQwfaURj=Yf^{6c zv2`ZTL(&WPGOo{X{@ukUXZb*c@3dQQ;M<{{9DCVWH^@RkpM9(O3Y8WWScwC% ziP7zeUrOi6cDHR@iP>_uh8?z+QoZK98oXj+)u~4gGCtOojzM}1|E!!xyjVVfvpk6o zm{xfL++4H_3Bm2aGbSJMium83HHpF?MTV-r>}xZ{rJBz}kD^2IL)k6-rs=js^&Oz7 z1+wb%1yk2{b8uT~SWkm#;vU?Y4lpCHvUlod5x!-g@%PU*Rknm8KI2-92goU7l69z@us$(JlwIvC+s9cO~p6$!?$+))h5(tSzc%4jbw`wY2BdNffk( z^t83n(pdE_iqk!MdkKYMJ>`f$-iDN6ot$jwI~IrWk)#+&{U4Ik5xNhm|Hu~wqLkZK z{bf&2Qk`#ubv(Spi0^aPRyFVnlmv-oXZCP7E{!&Gyynsk1K#~IjMCW^TNsYv?Io^E z0CQX!`9s;lhLqf04BF~eBDv~y`G#dbMSJ~i!j9JS?ipE(9cxXjg-zW{nbxP{_7Q_I zgX0Kp+y?#RowAJ{&artIQ}Csap(m3U)Ps3L{t->OH)r zB7G<-WJpQ(nuzs#EMM#t7N)#$gFHen^yC-P%ujdk&1<_Ktj%}YI~UsY@EUT}psXoF z5-YsEAY2++(R^l9{FO;Bt&AV>_I5UDk>3(GcwwA9aG62b#U@)GbP_;}4r^WM%PTElemiSYig-_ZX&Cf?&uO9n!N=G`N) zwn9!`LbSD{5ujDOmF0#IOybG7J8g2UPaZ;lyXv&q?SQ8+{YVj}%)pJn1|;Y_Kl8SB z+s51Rx=X^1%APJl&48*BUJ0_vi0hb1*Gdn?G`92-LqSg1c|E`G)pqF``=Af2FAlsN zFh;hm2y51ezt%_lK`_%WgJjHy#p$LVXU?a52*tr~uU12+r7qeTK0+Hqpm)SuP4FaZ z>zcn(Y}4GrMgS#JdA`&FkoT5K599qn_kbjsKu&7rQx7f-` z#M15cBPF$gq`W1j@>*+oCkc*OKQtb5Xe-ie9Z$8gQ(WJ?h? zKyRTEpeUb?#o~egN<*8a%|!E#sc9`tKV{!D_AccS%OKv*H+r=Mr-^UhKlsg8!~Iy$ zsTTUI#*NdtWK#3J%~p4cYObtu-T@uTr>i$Fngl4@Nnevi?7Hst>kRAxsC+xpvqvJV z^^V%ANa|>K>JYt%jZ#)(UF)93cG4I>9C|xuST0Oe@B|IT$u@()ph+uZ|2{0TUvs_< zpk}`bQ!VEl&)7n0AIh07C(((#QnY;E?pdN4X~BaPW3SD zvPuELr2nN6B16?9`keVVqzzK@8vP)51%rf}TnX^ox53Dwp!{Elbqns^Cmnv2ffG5_ zbe;Qs-_Jjv{P~Y&W1Ym9^?f@Gx4WHxd8&B($p^pr8ht!xKfI@!F7s`FUzKFROl)OV9W@*!!c6XlFZ>?^q6u!dVCsYNKkO%DCtYduWf zupS(5l%PdbxsUAwG|~Ih7ZkGI9V~Np4ySu)gyk z_v?6gS2~h+?%kLZ0vxRWW z9KV)Jjz*7KjK&s7pLfgwA<^G8pET0xJNR9t6wc?pF zoib`Q`O^316T}qy>ZkfAA)}Q3PUm>`Ez-QPX*TIrdI{3&h>izuB-F2uaNXK#Ny;as zcxGaThprim{d_u^bFccDGf+@PT0lKxQu@_bu^c{mz@Y-{vZZfRzOoztKv9N@7@xal z`tC06LnF~2))@lmst3Mlkg#6t(8vm2C;VM+EAs2dr?wYg-gr^$bnR-Wi+VbJWp3?k zu2t;VVA!s4=V5Ng8c9(HVOIe2794Dp&^9rdINWt>_KV)e@rM4K@eky>aoI-M(ihg| z*_zi&;SQL{YetZL>vW9*xdSmVF=xB{#0V(X)N{Crb_N-`>b$F3rLc^(u4b1vW_7la zK#8B4&Ln=S6ByVa1k7<&NAh@9Me_Jej_|EsV`XQQbJEC zArT^knn+0@p}fPa_11dtpWlD)x7J(vBWvZH-A?w|pR&Ju?-`u?YlLsEd%;h#6$#P9 zf|!yd!8<0VW;A$T-Wk+pGvyuW*#ViE7^_O)wMheO!s={LxJ*0QI%$WD3Ow#cAYr3X zi}T8PW)C=B`8<5*Xa;8om`V~^mpJUc@;QX z6*OP4Omn!xCG7v3ZOOT~p0uFT`G9xnZlLBXyULQnCQcRGvOPn2fyvks_xg6vEBW5( zvl++h#6mIC#9J$vX*Rb(yT=TTk{j;ub}+Oy^xC+W6XmeMb`GIeDk3~aT}y<}3#JE^ zxH{l%56p5QG)|OT;j|{_ZF}?zcP%#L7JBV#!b}`OyleLH`^VD?c>Qz>ia;QVLTnv# ztFC!=GQY|@bKi^UJ5Gl!%51U{^#|EF{XrJ~?I)#Dgzd;|T;vFt|H>tvcJmEf%=Q>DD^_{{ER8lXdo4>?zd^vy0io%GueWH8xqDqi?>ut6BIh^o_1TQ<RHjqZU(mN2GfxcP>n7o0 zNMpPBL|(>0{jGc^OfP^foaruRJe?6|U_LQ?-A+tavKwED zO~vmWFN)mq)N;;axK#ASWo}+LST|oF4<>IlW{Zg*tZIrM1SG}K*Cy)x9uU_Sy6x3e zzjRZqioZci?#{D$&=)l!&V!DD=R4Z*uT@9W{+k(bzpyb@ zr;IPJ7VDPS2l`Uq!eohfVpfy&Io+zQe=*}@+z>ETfULbF2RW9%o z<8~MPc%Q$6is3ZXeR2eC+uUQaBJ%Qfq8Bk+w1qyuu!f;O3r%n#K8X>dzcI+mxZFPcxo-xFXVh(&A`1-snfKN zcBr@~ri2D=vj^gb4&7k-D~SB;_5R-S)1tKpJn~ovIKTB0DkJzoFm$P23H`brH2)^I z9&>@oYJ)E2`y6bW&s^6i*HOZ^`MmKsJ5H+f&C6i$9f~WMVUoOzH@)p2JQp{&jZ1|I@1gQqIy@K9EzcpxPK`HLlEHBytd_R4Q`)l` zP*#eN{p+<=z5v4%WI=R8XV9Du*VhcL|6UXt*vG5NgG1njp;n&N!_ZZ_9{LfFja_^1 z@bp2q7QdHMWe_fhjj|v^M)~+?5x zE=8&<<(E_8zVo3i_V@2cn^>TaMSVA)*$k`_x-^cF(8V0)l+aL$R&Elvh0g-DU8+Dt zk3~5mww-N9Y)Vl>;5_q{vgN~IviGrL!^v!a3u7X1nOWdjh*K_x%8|lvdrR&)SM{A8 zuWqAwiQU+8usl~hzz-M0`Tx5|A-1sQ*cMxm?zxMpLd zQ(&=IJlLQZv*sZw!%9#aEZh4{am-UE!XYtOI5-YLFw**zTiSd2ckH+E`?){a!R9^Mc|plXBd5_cs{H-GL93E{j0|0w9l0smN3 zEGDonNw_7JExXsptl?}+p158MBt)EGl|ND`IMw{VJ+cyU&Nch*rkSd&c0RgS?*n-$ z+^=~6mChawpJa-cyYJA@#QouBFsofvDf@+Hgo~gLC)MjDk<}=HR6aNAIa$fBzeRR$ zdrH6b*};+8e>@1ES|;hePe-=IzN>3r>ZeTm>s~2Ea7|e4(WQGCSfYHV=GV$S&CHm% z#ACSbwQSq1^;{lQ>Z6Za2Bbv`B8zL&BHAJ5RSgJQKKtw zPKr``j^vt14GnJM55w*fd$h&$3hP_F9wx&AA0`iM78$3ZR-HiV%WE*+_o)XTA*EQY zShQjN3}bD4#9-!B_GHp`mJ+;s6E^t#)z!RoZfnRbXUYB2f37?^`aG*N@TkOnoVV*t=;Mj5)?c-e?%}d0nh2C4Xrzn@;v!QI8`|7vOqm6sV`Ms=QY( z|6_|yetpJ~Mw(jKJZ>T{op<$<@I>;ngB`sa!FegNqkstYOKg^J{O%sC=_GshJvc-m zzLkbgQWcYUPT#Ia(DbeI>tCH0dM9`&{9)%<>n(PxH;uH|saE(c9pgEtLOD}xC|$Re zU`EzNI&8B53F$p!aLO_UjpP6+Yovk32zY z+9A8H@n_xSV)ltev~dN3tIw&l0^crca+g%>Ew?4_NM$d;e8TvAhAZ-y+iYidkw;$H z;5g^FbyYHCdhe9nWh`I~=STYjyQUFO?V%Zt3SAJX zi`Tyah*6H`-hysaP$v5B_pL#WWSP!T&fC|=daSeOZUN4I@9Su}ujKpKWuCC}gPbMv z!!(}AL*2TaHf3!hy`Dt=ID4?hW01wYa<}g#A8p;9z}gd?==mc>k2vhSpd;SBP*gUVNR`B!LeZ>IxfMdOi9ygCZhy zj6t0;A0W0Ri%8KN-KFCSJiqHzKq{GKVLl=Iw3`xErjwW>ZxE>C( ztmcH1hO^4f>RGBv=*-)q0^m(h?{j6#fhWrEZJ z;t{o4Cx~93zCFlceP5hj{=FtZTbgc9r{7U6lFmieNv3 zl$vOFxHT&$<~N1(exU(Q$kVM}Jq+-REt8gEANx8u#Te|C03k_U*HDW@ygjeXR#?|e z{Hhz%O^j`G=*M%pV*?-dG>mpVlwm3<(pk$rjzjKKngl&3{0S`#GSJ5`B!4~_ZoSUc zK6m+3RIXu6igZ3I6_yMj^5UF!6uRa{ChhoXVcd4_<X5zNy)p>kSkZUP|lif3xs7-QfS%Qz%$mX%Iqu6BIjCZ?F$_zWCr`G{Gzaatn zCeS;`9G=MaA#QWRZK9WbPQb!`!eWD5)Qvq@J zFt>nL6?#uHd|8IJ#}>_wvPn=awq&!GUW{khkfpa|Xv9%;M_L|_eZdqSy*6z?PTpGD zO2X`S%IfLZ8sHHOuy=+W`s9{b#C)C*DsBpQ;H*mrYIrXArb(&0^Agqhr4KOeABCM~ z|IbP7|J@3wNdJZz0zx6X480(JcGOPaAB{UAf{nZ3{>IpFt3>2f##Us)aSz}$@~U`D zIc-o4Ueqs**uN=7Z03;%PmGeyS8bT#X!=%tX7U{FHUO&k^6Mx6%aY+ynB)N_MGb|l zNN1Wzfvn~B#P+j^WX%`M%Mru7qktqIUVT_#UHjr&a8F)z);@k%Y36Y`fK)^{>oa$& zYn=~Af1ARsi=BPR|3r#$^*ZqMN!oAmhy7NK2<~2gJh;ClAE#biAa_^pglI%2R{K1I zDQJVX?+uyLG46RQFOwIs23|U`k290#28!wa-IzikPKxzL2nCrgIM}{iwNBRfl0|1V zW_l{7cWm%#*urhR`W%nm5*;CBLnE9Ag_{>yR=GWgly`z7T>q)qX`F-S9f=199Bh=2 z&0VXo@Q@JwJl)~@4etOei~~jzJjGhBd`8>2C-woWrQ~N!s7)lk`Wq;%1vH*;>NP;h z31E}}62>g0rSOZ*zWk(R*(Qh`1mF zu%Y9i0vGxsdA9xC;>^Em;*(oK{SK2($ZJlnZxBGaS%B3saAME}PK(_vLa15gEL-m+ z`|S-;{Y2g#YRE%W>TQGAp(aeU+?(u*Dq%2ayvNYd;e&!i*l2?CikziEV&L!wzyG*# zu4@-{Hf6U9woYx(@NqH1apM}MJHgq^j+?M3^x2eEOWt(#v4n!Ri6+lwXq_gx#~_R? zNfzrOvC0<<43NE=jW-sv{G;9MNAoeFB5VI{3j9zeL%gUgKY+)Sxv~NRK?zy z4=?#_@v#;$MN^|Y)qy@)ztj@SZXw)WG}CLpjrkx z1|W^a-cLQ}W)alN*`p6OjMW7eY1c8KB<|tq-FEIRJ6F83_DqCvbMc+PfZMXeBErz; zQzk2mIB}#mMF?5-;4jsla~>PbB*Ne8T@_lN_;b4ghG|qk(a&G34-ijPReXht^voCq za&Y8?JIy)%NO_|DB!%jC z_N~tV7-loj!^!KU${8t~*g7~l4zxZ6CK%4!P1M-uE_W|L$gVgD zKQ-T9tRX~x*&#>|@;;;qc<-A5uHv_MimzQ&N!Sa53?Mn|mpJ#U%nC-&AS+4wytx7M?{_F?EFNY;#k;7bluUOj75LfBdM z6&7m3uM68&Y4lkEp95|1@TuAio78Ue7)M7|iw^PE&4`f@Vb3LfopcMv!4zDX-fJ>* zrusS;-b}c`(*ivrH09;FTJemw0-9T>=Nb=wi7j0vn%XPouQ;$YiroXGtK|w<#4(5e~@7y86Mk?`dru}%p4s!3c zpp5ULs;<7)?D|KsIPj-wBTAZls&z5VP`8On21gEZlLQBvwtl~WX`%<(pftALNg^bN z9xj(;+fJNYHpm%j^7La$pO`pN_dDkpSJ@Eh<>N7=duyZ)r%N>gU;l&}C{Bbb99;jL zdW$n=8FSvMw74yQ0DAI^Q-#+|y*HOHQ|ufNsVP6(cbrz5u%F@SEr?W0+63CK2)bnS z&w%*DgTw8e-#1dbiFV~>ie`b7jR22GPp^0$pH5Er=z>_LH%0ttEAajUL`T-eK# z+ZoAkp9A;9iLWoZw`5@k?q}4$!?&%x-)Yjky6T+13WcL(Qm$C)Zq*HHjQW_oe-aR(`>VEB zQq0!TE}G$7;PK5#Tc~|j(9*o1Op*9_(|1a*-18u(K}mCLfTDspKh$=u3wE8GU@~ZdaJ`oh((_Yks0m7&9c!*pDTiU zI%bARf-)QGKECT~4twz5e>`)K=^GGsolXX`2w+e))@SW=e5|lXE%1nWtiH3eve#rBypeO(`Z&W#Z!o0mq zxjXI_SGHYBFJZ4K%vw8oy~u;;w8iwohI_LJ+MtyjuD%BV$xWqtTBkF(y*2uraEor0 zBP;aO9_3+aA+8w@{uYa@l7}millHOQXk}M~km+mQVdJ#WMY))AI11-1v>qk(O339P z)E;!+==Y@*BwxpR9gzV{{(G_`QW%H}md3AFQ~eC)|GY~t8JLOr{q5;B?|NFY_txQ` z=-*l~Dm)jI)9Fwdzm=ZKXN>|dv1<8Zy8#+uvSGq` zJPrQ(m=#&_bNCJXyiNP|H9!C`VhL;GCH~ysfWmS%)?o|#REd;)TU%ET@g4xjEm{Pk zJR*s>Kr6ZqQV%?qfrdEi#tyg*96lctGGFMdC)fv~p} ztC_8st(>jO2Ic~Hui*i4bx?J)GIHf;;mrRoxBh?RZW<~$d1NVaMjiA&PyabR*XQ(% jpUeL(ZOUK!*8R`3fF4<%J$HJG2=Flmz7K(PAkcpT4v-1v literal 26755 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 delta 26 fcmeBF>{Mh8@MdNanQSK@zEMVAfLVkA#P$XNPFDq6 diff --git a/tests/test_graphical_units/control_data/transform/FullRotation.npz b/tests/test_graphical_units/control_data/transform/FullRotation.npz index f273625af4f2b38e9e12edbf018bbcf41d2325ec..97189784986d31e91ecf2011e7136b31a4f8ac1b 100644 GIT binary patch literal 30960 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 BQX&8V diff --git a/tests/test_graphical_units/control_data/transform/MatchPointsScene.npz b/tests/test_graphical_units/control_data/transform/MatchPointsScene.npz index 7e640bda057dabd7e387749f2cf3276362a90ba5..e52ae754504ba1b29114a43bd0a6a15d7d641b3a 100644 GIT binary patch delta 43 scmX>hd_q_%z?+#xmw|zS1BewFY-jB){tpEkr4l%qbs2Og*K&FT05V?>y#N3J delta 26 fcmX>hd_tHtz?+#xWO6O1_(qvHPG%8i5ZfC7UQ7mP diff --git a/tests/test_graphical_units/control_data/transform/MoveToTarget.npz b/tests/test_graphical_units/control_data/transform/MoveToTarget.npz index 936f7b402e82d056ef3615c7a0444d679943d282..d79b0155353874d7db4ad0a459323ec0d456b3b0 100644 GIT binary patch delta 43 scmeyS^-W7Ez?+#xmw|zS1BewF+;{Hm{|^NlrT9ddbs2OgYm0gV07~2s`~Uy| delta 43 wcmeyS^-W7Ez?+#xgn@y91BewF+;{Hme*)w>oYZF6D8(nrEW#`@SzFW_0O(Q)=l}o! diff --git a/tests/test_graphical_units/control_data/transform/ReplacementTransform.npz b/tests/test_graphical_units/control_data/transform/ReplacementTransform.npz index 7d5ffe8e56395c944b0fcb4372cfb9f5a3984078..5b42aadb61bd09f85956193e16a791d9aa638fb2 100644 GIT binary patch literal 24023 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 EFUwR+qW}N^ literal 23941 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 C%KS|L diff --git a/tests/test_graphical_units/control_data/transform/Restore.npz b/tests/test_graphical_units/control_data/transform/Restore.npz index 263fbba5754d0b3d15aa546c74ee316acd6adfea..838bec5e2edd33ac91b950e5446f04ebfbb17ad2 100644 GIT binary patch literal 40804 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 literal 40860 zcmeFZc~nzZ+czAwmAkddZLOj*)!K?Oip)cZtwmG>WS)tF5CH+h6d;gjZKX1*$P9_f zJj*Kn7!39=@cRUet+kx}EfEGgKNb!<0Q&*v6MQ4U8+r3a=neJ2JCVC!|K2$RJ_>_A z1^rrJVCr)1n>DTv8qMGPYT%m_KmVM6{?dtfs==uY?}tW=RG= zV@i*0q>){FOE~#UqDkRmR9Q@90;=Lj{z37jRO!i0{FU@%+d!RdTW(p*~ zu#M#sl@Ynxs4b#m$d|Z0hpKH+Ky31{0aQn^{DYNaI-V;VWGAtDPs#t+<) zin0jb9KXZo-wrWBE?GFF>6IR*b`MfE>+G%tORHTCLN^SV^FDMjkdKldR-lhR?c z^F`EesPdxcNhX|P{X4^@()GdHTVDNd{*vt>>S>&^%Bp*vly{Nx?%>I9?>8`XH&z#2 z=f-PMp$lWxVE@K0Ov%G$9{asTO4g|O68lCRF9a>FXv7s`dF@6#vWO|YI`>wZ%1VX{ zpA%wcGb85L*?Mafm8uS-Ad-EANRRw*ZDPuAk%VE6e=%Z4FV^oTi`P-at#lghW4ri8 z2)l2bjDh(D&L$iaaP^q)2&}ht{-c3!T}sW86=X-8CcZoR^2TE7)hvDV+m_ojgAm>F z@iYzBh8ytok?4}jFg_D5Zh{pzYgdsaoU-wdrx&U`NO3O16|Rj7&fxf8`;K&|XtX_o zn;ERkGg^!7-CIK66TZHi<=S%dvcOUalN5Z3cEGlRGgM+LRD}&q;>0{zn(?ZgP;TaB z*tW#9q9*p=&u%!^2YYXR5m0N{r(^3BPY##XAx~nC!2EcR?jMNbBQ|b~ds5VoSpNjf;Z^5AJhWNwZ=ypZ`cSTbX>Byz4cmZJOp;lNRd4EqG_fu8@f}!(c%yI z?QUcZ8}=+*y>(@v=@Z=_dPPkmzMSIbI&J3)M|ZTTTWz2_G$UN~)($a#?SfDaHq=)? z>UPL6dSejG`rANOCxwXH7B3jUigRfm_!zg1_f|eM>jSOHii-FM5o6~>C~}J;Mtaqb3eT%%oeQb-aKAe(l zjP9HeO~znyYQh7+kj}=?>(+WT@R@KaSp9Nh6&`M>&ufBa@c$2~J$LEr!u!&l{bus1 z;L$w<9Tg}NcSdBUh|?dDi-OkgB|FDJuu)dEGbCflm>2p3XBc|7w&oC4eLAv_0B#h? zd9UO(BN3y(koL{ek{yxJn%Dy{KXws9f?lYNj)ZP>>(iTv^}l3xrj>vfjyu&vprPZV zFH8l~AvAC3o%5TGdOtOTcrATjqRZ|BN7|O&?5n=>`VVOAQ!&DaMB}Z{oq47qqt49I zveUuXzlK;aBKQB^(rOe{M$Dye~5_z%v^Prbr+0=kb_2fbePepDY zH(G4+0`q@|%QlgbK}OtwX4P_YF-X(z^E>cjCl(#8#3LbK6U-jh3v?SQJ@_^jMYB0D zFL%dKI>$%~rZZaSJNUw3@$79Uq3X<|4V3~D^JXv!A-&mp8h*nc78_}V0y�`Vd(c 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 yBZC9uJrGA*xv!4z`#=3e=l_D~- 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 literal 8568 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 bUv~O`-!*a3WZSpMGeqE14}KonkNou?j@-mE diff --git a/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_FadeTransformMismatches.npz b/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_FadeTransformMismatches.npz index dd6aa6ad5ab1d20a133a7b677a8b4a88d0a0a6d4..46f7812c67775b2409196991bbcd6dd4532ee35e 100644 GIT binary patch delta 2706 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 IT|a^U0gn>q%K!iX diff --git a/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_FadeTransformMismatches_NothingToFade.npz b/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_FadeTransformMismatches_NothingToFade.npz index df36fde0196d67f39b53db317e24188b414b8d6c..8cd3384b90b361a341a5f65c01e37d2acff3e5a6 100644 GIT binary patch delta 43 rcmZoOZ!?z)@MdPwWnf_70AfXk%d_H7{D*>#QgYJFx(vFLt);yIGN2Ex delta 43 xcmZoOZ!?z)@MdNaVPIh30AfXk%d_H7e34>ca5$;Wuu)1*npuQFWU{riHvrML39SGC diff --git a/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_TransformMismatches.npz b/tests/test_graphical_units/control_data/transform_matching_parts/TransformMatchingTex_TransformMismatches.npz index 1c2092478fadc0b45815bd5a1c38a3ab8d902299..646f6693ce2be2cf9ed8747c4a7bf2f86893fe2f 100644 GIT binary patch literal 8530 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 diff --git a/tests/test_graphical_units/control_data/updaters/LastFrameWhenCleared.npz b/tests/test_graphical_units/control_data/updaters/LastFrameWhenCleared.npz index 00a07ff8d86a0009c20a0c94a544fc517f7a41a2..3fd477dfe01cd3e23b18af7fd1b1c138faeee4ef 100644 GIT binary patch delta 43 scmZ1)v@}R6z?+#xmw|zS1BewF3LJl5`40sfrS@tt>oVw0zNO&}0823uW&i*H delta 43 xcmZ1)v@}R6z?+#xgn@y91BewF3LJl5nXJLUa3CO%VWZSu4Q3H$k;%6-yaDFS3qk+@ diff --git a/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz b/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz index 1613809ec2787f932393ff009450b2fbb09b124a..3ebf5abb19e780bd180a43795f8440c9340b691b 100644 GIT binary patch literal 10839 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 PR%P&O4n9@%&~N_%gK21O literal 10857 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 delta 43 xcmaE$|3F_Vz?+#xgn@y91BewFG`IbH=_k&>;BZo#VWU)qII{?|$mFTw-T>x$3WNXv diff --git a/tests/test_graphical_units/control_data/updaters/ValueTracker.npz b/tests/test_graphical_units/control_data/updaters/ValueTracker.npz index 6fe743b5a5b8d9d0be402417dc7c227bd6408989..9ddafba54e6b613e099d5628399999ad19f1d31e 100644 GIT binary patch delta 43 rcmcb_e~Dizz?+#xmw|zS1BewFEOL{!|A&H&Qd#WGx(vFL+u6MVE(#Bj delta 43 xcmcb_e~Dizz?+#xgn@y91BewFEOL{!JFqh_G_XoCY?R7kXBJ@=ncU9q4FI)42sHoz diff --git a/tests/test_graphical_units/control_data/utils/pixel_error_threshold.npz b/tests/test_graphical_units/control_data/utils/pixel_error_threshold.npz index 3221041c4b9ba5a4d44bc141899a41444abfd916..204e542a8d79941394c85633be586d3d35554820 100644 GIT binary patch literal 1845 zcmWIWW@gc4U|`??Vnv2`hYxf9hXOtZ5r(v)#N5>Ql*E!my}W`-Mg{?f23AR+N(P3- zY+#Dv?FmCZ#y|#^3+qd}?$=Jz^$6Qk$RK-BBV^M?Z7#>Miw{Kj&R8`$eOIeId1jB; z>Yqh-xwjYihu+PbZPNR)P} zM6UX_i$UM=;_-|SbJcsoDr{oF>mKg!?Q@U2>qbVWOrlW#Mm4-%Y$YxuwW}T}c)Ol^_Fih+IU8H9 zOf*|o#$x^|=VUN??Ta-f)jfl+l#{9QU2ho@Mjr?UzYh5MhEE|wfFZzrko#a}{3(<_ zw3hw;o;qFmzb0SAOB4PyW1F#^8DpC}HFs)iM$M=hC8UIukP=ctN=OMQAtj`Ql#miq zLP|&pDIq1Kgp`mH8mNTwQfpI%KFRQ(vhlJ@VL<=^1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~f#)W$`?<78pA0A~KcwJuJA2L-0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009J)A*VG@n+%wJ=Rbc@ z(zShaIGz5=3IoOgm%&q}z(4D9n6hl<#~zWc&q&r+b0%%`@PX+rhb2e*)TF*z)UAD1 G+q(xbt8Rz@ diff --git a/tests/test_graphical_units/control_data/vector_scene/vector_to_coords.npz b/tests/test_graphical_units/control_data/vector_scene/vector_to_coords.npz index b85482146528b4f72053a4c423ac7defb374a647..324812f36d99aecbeaea6c7be88f74eb1e0597a7 100644 GIT binary patch literal 235273 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

      yO^&>$D4zVgp>JwQs+r2;^397)tkdkLlKNXE|K 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 literal 235257 zcmeFad0bOx+CJVHr*-N^=e0@|h1yoAD4?K5WNT}cDk$Ru5g|}yQ;@I|_Dsj3qbMi{ z5!pr&C|ghvLI@!hiWtHoAVeS}BAaXpTZkbf`Q0Z7B-Z}E)4rW|W;*iu@JEt!l9N2= zd7k^e?(4elKbtN3!~1W&_0}KZf5ThF!z`R@{Gzu$n_Bj}6>q)&mWz*rhqJwtgP(&o z)+^|DZ@njb1rB`+ISTn3?zB16(to2rD8%9Wr`@^^D^GU!zU5-^k;e7k8yLUc?#z07 z^`+{&w%9KU{!W|# z(~~eTaJqDfGHT=e^Zx$+`%O*Hv&g=tyA2HV$ac1@C&ViAk`gwnN$>l?LARjMr{7FY zPCEHeOG@s(yp(i|<>A8{grRnBZf?4Ar`U!UMn&cf{r_G&fml)1;;-dWQN{0TvMebn zo&7XhxGXfY==!_L%tSME*R#RW+3z%hJ@v}O5q zK03Nu5L{A{f~kMY`*l;3RFV@g(!NnF7W?oAE!)VxuIkLlNR^J+JKKh3`SHge7dTe0 zShH^3wXCcxbE2{`s(5ZzyZ%K_Pp|3m<7@Im79U`V!;$XYyZ4oGYJ>cAkECS72(Mnf zx`#~-(cQjX;jD3k&wksZHn$cc6Y8HZD_PVKbZfqSs{Bld=jIUYY1(mdaS51(#r3C_ zr7Dc&r|O2C%_lOR>*4MTQvJ+BRsr{^ga;0i%8N;K9qG6LqNZHrG^oW@`9a z{@q=nFYfsH`8}k^YNVCghwuf5@0}cI)-^Oty0PZL7w8=*6r+=Za~4nY4|ifH0sCROw50}H z25?zx{Ha|WPN?%^A0DeZdYBVDtlqj~^ptW}3ok-uvLPN+WBueCd#Fq08khTef_O@eHJ0zI5sK z^vsFp*;|?U_Gsz4&Hj~+T``h#`&yM1QF0QWW<>kgV zR7!<>rac;E*16~WijB;M{POASGpv$rgTbi*_Rk~k-o2Y1)Sry|guvJ+h;aWp&phIb z4Fki^+NdF<(6K6I`h<^gy!RCLxF`ILtG;-8R_Ru$CzWqifXyQY-%zo`yVfUNt*<|{ z3S}5ym7g#z?OI&T-G6YLJucSWh0Xsh98?&e}BJ1?r(NpB`r8cVw>&o{QJ zsN166Hb`wS^&iNd?BsH>r%#{W&nMf~FK7C98GdM(+OrRCQ`ygQ+qpU=Xmc_w3*#8keR8&aeD z&hh#yRL4h1oTzD|nrGjN5AG5u^?$RCb?)4`p50D7Hq~dOz39}?a%NiBuqPI)O;(NW zJy+N}YOEB(-)@4|^0Rz`;?VH+;&#&G<(NOEFhT^}jZB-nEU#oW#~dp99d2;ab^6a0widcJsQ3R*SG#UscUhBYwT5kGgdi~2JaXk! zdzbgc5xBmla%0=m=!k~Vug`}a+JfsW^{2Cidvj4EUAVvGFqZfKzH3^yScSN;Qgp0C z+rP4Z&oHO{+qOFnd&ViZpKuTGLJq$gr^*LA|9P?APppNgFj6+v%#E@*W|J+M>SxgR z^qC7i89y2L^H#IjfPi9)ZfR|;8EDRQ4h-D2QZD|((94nSec!%)x_9M*@@GUh505xx zX0BPkKF(I#6qZio^Rod2A#5Q$gB+1W8!S)0hA!h)WOAc5R__u^h%TmS6?@1Gcq ze;{Q@EVpT4Z!GFuM1P;ivMXKh>*Zb8Q*RPnmfac|nKN=O0G|Is0! zZ*8?&qoQJSqp|TYz1N2xc7DbBm^9PqQu~Eyf_tDm-wlh6XS40-{S#cd*b%u^m`n{< zysxjXu3oI&gO;gX-9)>Wxe;yA5C6ew)z2GU)?{b)ly=sL>Q@7xxj8ik05X+`{F1c^grZULSRF50tw3_#A+&(6t-g@N3p zqeD2aq^2;;KA4tAk3NJAC6*c@s3~%1vho))0o+CoI?sl5sQ64<%mul({LQCg@JW3vspDf zk46)aa1sKG+l7UC3JJN|ezB73R~8l)3Rzvd<*HSyVjB9>GcwfWPw7Psy%NLz z#@5+ibtVEzg+$*kUX<9D1s-m1ZNqj%N0J|IH!=&|_fD)7Cs2 z=iuNIJ3ZPJ65-Xj7H%gc{qEhv)6>&E5DqJx=Z)qI1dQ*$|BLydLp4vIeyuR9!S5VL zqcwKy*rAZ_(X6X~+beAb&#DNw-$U@3Zp3C10b9M!mbHaE5v`h^4NH+5#w22zI2;{xzFizlD+R=<3bR93_alRV;Vbv=f1YsT zMvXkak?Qx(E|0o;~sdt^H3X9eju-OI9X5;Pn-Z*qm5!3Ey7&kIA zJNp0vUzbfahZ^Pf6oyD8VtQ~<%Gu0=d-q0^iMSM>;U{;$!&+EGZ{NAI=CTUv7P%`- zxs~ivx7Paj@xPU_N5fUttl7^O7Co|b0N{=&(YG2rSM5_BwO)7Eu1}91J=(}pgxKHX zd$Wr@5^L-04}^tf3(!m(a~(8-hlU& zHo=U$l==OMge4JQG__R~h6u32XOTKF{k`M8j7HWSHvIJ%jox3Z_N716fbyI=Phj`} zbV%xx^gm8cPS(T*Zi%!MUA_6I)_wo|jYxw+tUbH*ub z;PN68NdsF;T*4f_AI75!dM=~bf9ngMY&4}yb_^$1TBC=VEeE(ZNq0!Qaa`Mb<_;C^ zl2{Al{aC!1&unB7?8EiR#>+^wnQ_J`u9*(?T2keDlW<#O$qPqoN`S}vaAA8;=ffnG z=atg(Q067rB>~2%(SuEv1C-9r&ZefOm_c81k_vICBIvU~(bd&400N31{;UHTQNYYujEyaYB#Q zr<$nME$1{u81-~`($@1su2sD&O7!BY)h}`^S-yNZ-Txur+r8~Y?f}*hO)J|tES9a0 zkt$=kE2Aq+b!zZ*I1vD_JD%luY58=KXO>FoM}`Cex6_PBI!W%@Z4$aOf@hnc3Gbcg=HcNI6))v7*SiwmK*su%(hiOL=3*6IN>s z7gct@-vQT`9u`*8L|l^Eb$^8@={UF4e<+4J5qaFRy^{A9nxInub_L)049eE*oFJzq1-EpOBHh1PLF*q_vVLAE?pLj*ASgy&UR-mg1!Hv7 zOC1vSxk?HpCd?9|`b(ECIh~ZNOjco9+S@genW?vXww~cb z_!ZUwfH0k3$+Q`~*VlI5z*#>H&dF(TFyge-~Er!t>BU-V3_a~;&s{Zn+cU-7_3yZadN~J=+ z)hVAd!>s~%S-qsMug}Rvoq8!}#QOn;`m(wlzW8td^4jsQKGl9ITOOcTj$n>-7+o>% zsu@Y|*tS?1WyYOJtIlzQ!DxpH3xaiZ-b7$8|2-DgtRYyJ0`y-GAhF{7T98sPtiwP2 z@U1+)LA;$492|Tb5-TjLq)UFBXDeT@zteV-Z4d3lvOaxT2at!uFj#v?wl!cNkJ#C1 zE2$a#$qzFiX*X|v4jYOF;M{TUOd|OejO+vnn|uaJD)Nx&Z$91rg-i(JtQ>7j=_gRz zmrseXr_mk@wIF%e0+338wMIrpbd8J-BBi;WSw;su5A`l2oHW330q#;PZ9}$IpM#*G__Lromya^vIUS3^*vFx>&_ zf)TE$_$!NovjDhT{w&)!`{OU&A7^Lf%bZwGZYHpr!dm!4%=Cf+-9owA+fPvXfH$-x z;;$^I@UBoZPLjt{{>zv=>m{R^(XgIyve_cdcr^f2@ljDL^n=EojtO$|%VU6_K%W}vNHY_Pa-%62ou5aCq9R+vpyaz-V@lIXcadSLJV|?U6Hd)7Zk-IZg)%Lq8HvoRy8>v(NRSJPY&@uI`3=Rni zi4}amSS|Fumaw5bQjEX5e@ioKblSkT?~-3YKz2#j-7Vpm2&VYikY<@ul&aC%matZ0 zaJyZ0pp`Egl6kfg^TTbOa$6vfQ}#fBb3vsrr(#El7bk>A1%tx(>Q-=9A7>qi8T*Da(t%YK#_4DkO z=jVLC@d{hhv78yx6_)KmDD9fqFy-l5apuXL4MNP3Gq`jC^*i7$>(qFh`Xk3TVkpj4 zBu#rghx$#B`MN3=3lgv5Vyi=`##)t?l?lh?i3wAd0E+7B>ME3^p=1gaW!Y4I{`|Wh zAAQIz1^TwLl=We`pB|EbSe0PWp!YHe8&ex7atYm=>dY@@F942ZZN14fYTeb98iyW2 z?NmNR*JfHm$^|g_HtSi=V2Rw14uzc}sHQ%7@}vn^k_QkF+raPnm32nJj}=%D<6#I( zeR68*fN|=pY!@IA>WdN+6Jrw+CUuF$)oXD4m%RP|vZBtfSTP0KNo;H^@VP%(xpJjE zLPm)p4h{@leehr(*}MCk{5ZoTy!q!VXBR6;+F=Gli6SjY-*+GAITQi1FiQ+385u}m zs2Ya8cqBi}grV$n=ibrBag&BSDQL(^`s5Lv&BAgw-~$#oGvdv27kDZJPHy*q4U_q& z(6-kISVXsprG5i3k6T(4a`bdekw?eQgyiHnC{!z?(j_@QtlxBIo~qTfvU{8uI1LYd)}vh^!y*ww3l zYP;)r9<)(4j~^eChbu+5^}bI?SaaIVO@XFjM#-j7Y)+gw0SKq7A|!|KHKEMm!($t* zS-V!@tT+4PFJ}}Xvy#iEZXROhH^|QfGl3o|L;$6~IJA+6Lg!h&-H}dJ-h%7VT!Mq9ce)e8toL{D!+nKu5Dcmb=&o^cd?C zHa5MFvyS>a{r;Qpq9=gx>J$)QH8?bsM!uP7j~Dy<7d|%fd;Vu1@yuXOez>5W^MOCr zf}%57fdu|#z+aJ-S}S(kvC8=3<`utyv0+e;mcMuw*%JiH0iW%tToQ?d3Q`IM{>tG_ z5<7UaHOUHXRJS~z_LB5`5ip@=Ov}JdopNG@=;`yuw8NdQ1KFH=1kIEdmL+8Ug329V znd639^Pr%lmAKR6V&6IDp8?c)_Fy>Mt4@^#A|DHOVE5%yTvN5MYs2=HZ2ctvs&GtR zPdPvZIWR`K{ZC4JOgkr6&f$s-h3S zu-gED2HC6YuVui!@{!C4Phnq#YY%S#N!ZADoU|>6o^ZbPm3pauQ0W08G~%8qZs%s8 zL`D{~y^Pk%%GEJLW5=<(Y*z3l?x6AQ{euStN2(le=2Vmm0k<1umZxK%UmUe%Q*b(D z_Ql?FLo=go@0WXG%E~Wwoy(e~B!80Hb(eJ~bID3$rREv!Fnv@~QHoK>PJO~3nep4y z`s3K7U0u7i%Bmefmvo1@BKqhVRHzAIir;mBq8WN_vB9wKNivL&*;KvGN$Tl_iPDAw zf~M+HOwrm-FYWh;I*ydC6S`#{jGLc+JK z@&JfyUR2L5tbb-Vs3h?Zxu@{)o0FS(>2{BU=V?2vxZ2oq0-_ly96-vVqQpLw_(3#$ zt-1^(YUe(?MvzY1>j+d#kTQFsjDX;<^USBQ5fQq;uj-YS$>a$K5mE|kt8_9o{=!!Y zGZT0_^=LH$-9+Td!Nphc7oxYzmz~E+cu^Qy+{uZfn@pP)GZ!e3^$mE=(a4Ev{EXQ8 z?=7;keq3`Doc4X{bbcmPDtJejW>U|Xk(OCv*&&w3C6dzj!(C}@e2~KobG;u_6%GGv zIgHzafKpznKyS%DrIyTiTpAyf+GfAm*@K5|bvh(_t4IP2^dx6flIy$uZl#dv^~Ir<&T@6r4Z6F~kau zWXY1rX;Cd5GgTFE{&DxvBux-AGJy4h^-{wk!M8!^1-!d4rA5 zLorxaz=S53c`Zc83OE5!K!D1Oh!COp;xo}#r*IxfUPL12ufP6G9V`yKytXO~E9lig ze+c{#g>3jY57{>3a@r}ki$gw4sEF$@BRQ_n#>TURrqO75bww!>sAde!Wv;_M@4TKL z3bZPBruG1kpmNapH88Cd0J&$xwQJT~U8sjEpuHBm7bPVmT+PVHP#Cg%Ii(azdV2ca zabc*!bY~&uHK@LS2;&`l^X5(Yv;NC0Lw?2maduYr0;QlJTs$p56G(pc{*YE@<>uDP zgGlp%zOARcvkPz^zqt9KfX5-gR_Gca$7-Hg@p|RkPrT7j@PGb8%F)fZ^CmM{Gd=yZ zulg$OC2q5BNf$%9+53gvv}t>*I%K~unbipPgO^%>wPci2zERpsyT;(mjF{BUAP3B= zvdLj#&f{v5J#9E6OLbpg=W!EpB0g>a*gWN@WUT!h?gPkwL^OMKsnCQ#x1ZUYFf-+e zm-dI+BW_^YgshB=edWSF72$AULr=4X$>r(e>x@H>BfDS^J@#-Xc$yplR>8&&l4rDp z#cL}x-De8+BMT+AMpjMD0ezpIza{PR{sO@MG;&c=#K z$g-}k&PTw-SkuD8j^Pwljr+iiW#px7^%gnOch;RPvTx^(9dr^Wd^7ku(M1~ZHb8ae z(WK?;plU-AeD+VrkesUU4Vk|(gNGKPbLLVhJF`{p)3J23>29Z$5hS z&tL7P1R@m<`_Qqy<7JS(>EBRk?da%8EL&_07BSy(Z9J)Qxi&dDDS!fTW+Ts|Rm-ED z$AG-URR$eYnAhZUpjZ|9wRi&l)!@d>u6ma#>RS6r2E~8K3N+jC2NQSh^{sUOj!HH1 zb_}pAaZ%y|gGU31UHi5R(xQzIOyxW9*43Auq!F!rIM2SNwvc`MZ#genX*ZD?I=ToqB%f4Qd5{LXOb`Uv*aFDpR(e_i+iCG>X31kp ziN!g0;TmLEGXgT84x-%^-f%5(N)asbcN|s#i*6Q*)$A`7%fE@>y!jI|vCtm%CD6DQ z@GH@lqchaU_L75`*C0p%hs47XxeJRt2AeXaLQ^iXo4+&xs?KxzvKmtTorQ)p>JCVP zWKxY;3@N>^32%p3(aqsZhC{TFzs^6#URN9ErTl#km!gz*_6r3s5Ie#)?^gpNZfqZ} zo*QQ(W?ZJ*4NAU9J0l*!KRro>k_;s{$=f?`R^;u@jhEm*l#12fFYhpmW8i1-n!OK& z93RB)h%+gnrocy=6*D z`4{_vL*N1HJ8QVKU7BZ?gISgFs@F}MpW_TE7<`X@f?ibE>&8ppk~{BtgAHJP5VC3M z5a0}8eB6F!zbX6DtqWScX=Z&5i)v$E9W0 z`uUP8^Qfl>S-_J4eLB)!K}c2yDOI9k(l8|6Fh3RAy#>RE zPpM>7i6$N4G*4NvTSaB_pIaU%z=da;OR8uuB&5OWXaXPx3EOwZ@7E^O@r`*4I4=92 zr3(m@cg9~ zs~}QCQsY_oKShfjOiOd~$3VmI>3*B-j2lCv2)gVb&7S{H1F*1g^XBz+ z4aj7Sz&l6kQo!u$lYh}Md68lGOvx6zvRw*e-DwE|kpjPgBMAI1KVZ!mD2!|bdOYIr z3=Xdh`4@#hae)i<+<#Ia^couKLYerVWIN#kPEq&v9}Kb3J(#H-WsA6>2l?c4$}Eq- zq?vO=Z%ZPw@gU9;RH(LOpS>=1H{v=FLDx&O^C&ht*(k&cj2C_7^mRWK zPr~p(6%!F2A^LEV-1P1B{cp0pq*BD>XhyX$KZI^5$h21_uLI}HiD!1=2~HeMRNZ6^ z+Ky$jUWp-s37R-FZ5%H)sr%@Nx=CohmMkI~n8U|=xb2qe(r)~ zu>57V%WC)8lv9TjW|-1oN?Q1fO5LEo1l@$4mj#eC6?I0^Dzk$I$^?FLjb;6s%L^M9(JzN{57Wy)~;6cDP#|!znHbh-LCH2po=C z<=d^V)2am;*6rfroi`|fV9{xzwFQ-z_1?@zRgpQlBu54DskJxE-m=kgG^NZOzn zyf7Hx=l9i~J!g}^uK0#Z3eF)J98Cxy4+Q2}14$y0Jd@UWPaPScA*`PyxYfn}XYQ$B z84D}cK40Z6$3FxBvcQvLEb}1h2%^Vq^y#X28@fP5_MOAp6}iQg>bG~61^N2Sl$~kQ z1!V2eV}2A4^E?84tS{GsE$QvDGDEWVI#AkyYWu)$10%$y6j*CoWcx!YhHL7U4~+~D zo2M*lFczIThO0ccoL*W~>Sl;CltBN14?*Xri7nA;j?Nh^(J>@eOneRX$-|v=fayBS z(lf77K>8JEvJMQ3l(kNLf>fmOk{K{8T2^%L-Y1A*Q8gGAjng%H!3YT`TcZ_AXAO(U z#3#`?CyATQpV+K74&8(tIMX3@Qr5bpl^N~5tKRw53p z3HrV+@5A-U42uv8C@?JA1%^eCOC2L!Cu+Lr#HAeJWrNkDb*bO!3_b>{fjEZ zYwGX+;M39G9wSf(!r!%lvCc2SO3K2g+!cflhXwgv)Nj1F8=vHtjURYiZF!fO?wK}P z{za~N1OgQsPCnW*J~Pn(;zW_JgOc#!$I)Mgsikjqz^|+qou2?-=b(wcjnx~#xFQZ% za$nkb?owUeF9Ad%X+d88u4!adFyh5@l}=jB1B-Ruk)uUEk|~Jl^y!J zSJLW~?z_6H)WN=J1ni4=4bEYq$IqZ6n6vKAq+7Q>YBR8?3NB2ccxzAy2Y_X$xfhkB z{Ksm--A=D9Yf>`Xr%s{Dfa^7EejQ|d8mYkbS{>4P%(()(ld$P_nnrWzhcoQfkaeVOK0^1z{v(()QjPf`2_V&Ujb1@~z zsf-r3ne}mR2vCFO`6Wa=sW(CjfSj`fHFU1H#w4js z9g$9G6sC=&X9QCn=Epu2J3Tj^o0gLF=IDe&4eQ0_kK1onlI?iU=kH8$Nq5)-o&2Ho zp7ZCcaXm$s>{Xefj(O~_Xk_)o#F3yAp4;YOu6F-OaZpxSF6qhqdySA|#oTv!L&?MQ zcTq9RK*)W!VTc+#e^fU)FRz;y&Fu@B$t9xQ=RTITi#y!rJbqT~8ojHM7S!1p9-Ugn zcSAxY8AC*++Q_#rK$$ASCgdI;lS;*x%2#$i3*IqLV{E}G>uATO&h!LmLbuTZe;!n_?-=S3EIf=I&C^<7~Z8lxM<;B{5#rfdI+?cI^vT4-&0D* zN$d~izw;p3fi{`Un{ly7Z+P2ftn;~5tIGTrur(57Wj^3#Rb1keKg%Dwykl-PAV%3( zLagv2dL_;>up#^AeQB`c{MX9qUTvJF+Gj6GHt1QAx_Gj zYQXe5P`52yp*ISslg^A9r@q>z+6kNe??Pr=fh4OZ>uILMtN&G*q{trm#ZQ@VWeuRry&$ zyQ}Tnw?BlhC<@FiR>*p6H=)8ry6=vz-kq4#&HTO<8 z_drh$dEy(aY2ct^0S+EpUhez~yt{2YwB@m54=W;;`pQ}Q+ZzAYn`XU6ee+Yvn;dC^ zdmQ5r%H^!QJVm$!*AlbQtOtI?Bd`}SiyPzy@xxq z<9BAA=IzfIcwBXrfmp~{aQTU(1M(Jf9kRt(&O+`dO!i=z1eX!8nPLE2*qJ}rLYC8{ zVoP&YE2cK`$eF?Px~I4HM#6}G)z^@ksyN(kU{}%vF8UzYKy(-KV+XSt@hSy`f6<~v zO+Y@7KQqdB@o}(d0ThQU-^VHSw{GnHE5kJ{HF2BMLHdZ8MQpapeJBru0SE(@-(cTD zfc^*2>#SD(#p>OQ17}`%TbBiTD~xq%4s`x;9%xEO{QBhw3}!YEThE<8k0`c4Hmfl0 z$A1D(`jt@gIsJ+v9qeEA=5_2mx6`pVrc#`49Kx)dg>-uCXhAu*<(iokCi5is(_>zC zubXW`m_zYy{JoGAMu{;oa{%_*(Jq;%A6?uYue1@fO0p#aR?#c_K~9X5owyh`nW9N0$;2_UrOT&L z?4#)dD_I^QOO9GQg9c zTF^F^%idcvCXCRrm5VYZMKa?JY3CgSnga>!yFkFGb~%QTMhYl+J_-}Ayg)No=y z&eEYibi`VJyxO!^Xd*hfpH*Ly-ajkx;e{KIiKK@mJSi^WZ`bH}X*E8-37p5VS#u>6 zYDsfO99^&B8a+DvSp4K;6wO+_5=HxapEo3BOc!V@n!{~McOGxaXLG;9akOGB!VAo6 z7>phZ$+Ur+dTQSHRmr=Kf<-}@c&cN3oT0-2v+4Kw#ZL;HBXjL(b}8Z01K)9x4p~Uw zF&17bZsdv1tA!s&dabpr|KNiwh`mVQ=-1nUU2&usOt29zP}oMGYnz*!6WD*LS{$evzf)7AHiBDjIX=F7vG+s#QfTmvNsv>aEN;Mq)eo?j{EEw1(Ju|`y zx}yoBde64}&S>N5Qw4T;qOZ#mwmF_Nl)UIJ0CVZ@unS=)_>>1Jw*nc)4=9FF;8Pwt z#N+8qbJlt4#7PWpV0I+%A>sH55O7p7_C?`v2gw3_RX^Yd*cCWkur2ZW9MXtep!h`R zok+(<1%RzU(mE3zn_~06+Ju$<)NTxr^&rIgxX`gWN{|}cOZV^k0N8r)*VHzEn8TD! zwY$^BKI1)fq@NpjdycOQoN9ATD^=Nf=Bw7c7RzpO*BI{U_rC*+NlWiakA!gBi0ZH| z?^P*_0R@a4T-{;0awNU!Xbr~lx>uQ66m)fqT&)#z^X7&G6MXn~l;JrD%>D=I>gG80 z)EIP}Ty!QrOnZpsA~*q8Q%Hb8~`7T3Nq zWKkE(?2dgi<(sl-EoQ-a!Z)s)OI zZTc?n6v}UJiB7&9^~O5SDxXU4@Ia3xJkshY#KgRBHe5BcgI0eI7OT|DR9%F2(*SHT zgP%XT*;DrAuHs8U2Ff8AhYIf#fl<{p$F76qlLU0VG7|!S%;7F(m0ji8^;7zHSr;!} zbmAGV8mbHCK1d!0Ob>+8?{|9HeYnp4K|tkQr@$1qjGwp1dJZlPDaoPQn~H6Q z{f{Dw&y0{v1qkgfi_&J6KA*Wm0jTha!ehU}c7?}Yg>3o9b?q$*$Jf=guoPae03=E7 z{i!ObR(Tkbn|x^KLjNte3+Ew>XNLlogk-7F(0@_{0d-@;?FTbWQr9RvO}f5jC@d?= zLdl#ihxc7@DSHJ09CNwVAY;}E{gCZwz57L>JpMP3P}^XJ5btJR)~a=S$6%g+MgzcmH$02xBC!I=_EEsrD3>{#>WtjLcEAY0%*&l-7t^?pP6XW=v4$=jKd zK8pYNsA&f#7pZ+?v97kZN-|wO^9Ci@G;^km#>Nb2h$kptiB!^-|o-_57SUuGz0l$iWdS95&*j`xMMd3KZvYG zDfEK%dP^?umaIV?^nC%J#oLdW%mpc;6gxYP!0v09YuYvKzjSUOox1|&>3CtK1A_GM z>4^k{)`xYSqpvXu2Cbqa>r+)9js#b)oqsmkfbBXnUdkR@fckicCfCr)@^H82@iGre z)lAv3lvbPCd0cO2Cmo(rZ8b=kKk7B;UjWMh0KxnrYV-V29woR5qi|Jb2x|V890V82 zZYjRtg{q1BP|G|pjb?hBDxuonFczbv;Z~dr*wfT)^HOb*+mI^b5?atvz$+ufm^o2RGeH!s3oNVA)$@)g+@+ zz4>^mdAt^*K>?hDbva*f%%OZdP8Uou0tmfu5%cr8j-6~oF%KU-dzX^!rM=Z+=<<98 z06WEXHP#ETSk>3TQ5E@qW5-kpnMXR$bdIj!15ioASzb>wow&=+@|w%?;od}X*3nYK z$0Buw5&@$}h4X1_Lm1KArFN7ydmQUWnJB9MjHpt%M@@3NICO$H*gH*FO(*9F7&n#C z`#HX9*IEpAJKHfG$tQTneleZk4Jb%NEs&M}b&cA8)r|EGDEJHgH>aMQIu*5$<;64KpQlTYX%u{Q!J+5~eiB{Vzp&vPyMD$nnHnAC0{VxuA7K+RG? zekF7gP03LW2~Iv%pSKlpW6MJFD)_>HB}Ss&>FF^L^;9lWaSGt)ZUTQ_?lFXR@hsTK z(a+LhAI@r1Cj$Cm@!an5yB1p3kK? zkJByU_Xh=mb(}rkw63RcRY}Q8S7lq^lx=?kFu6abp*&27bmbw?K^glT7f&LBp=Xz)$;%M2)6u2U~Oe)h?m*TxzdW ztKn^@hTB%Qj6lzwS$kevfYNvsyMg7b4GiSNOqCQ*$jA3e6T1QTz?&B4s28#eT^q7# zQI`WMJrD;sM56+&TTXHR`u0+`iQTDq08QxtlBKch&EmIQ1wivFq)j61LT|~E29LJ+rTVt zfo2crTJ@iy->b|lu2z+$ks5kL72N1fahK|pU70nD8@ebi(d;X&0HJSJ<@q!a`l?Ro zl)pIXBg`YQFZKa;NTrWCl*~L(@%+-4NA6GQF=VZ@Fx-I1yr9w#W^vszvp7zP_s57? zTzAITOeWLRKXM@ZBrw}H@riDpAUfY^b7LS(|EfyVP=)X>UifpqTko=pi;H`x7r?*8 zIXDz`wWGN?Hi>6V!eYQJF3|JCq>y)~Hs_c958vBz*ngno)3W^cHXn6B6lO|BlUEF- zGZT%hQHkx7J;vh?KR(Pc-DD1KaTAiR(65)_*kwU=L(Dj5#ku z)w0OGNGnCU`^yf9%*rhsv($&n`%fsX-+e8K@W<--ZJzxn^EaFCI<&L_Iv_4tIn~}3 zaB&16&H`iOEyXz%?z3L~Hir*i9Zt?XNwse1EQy_^F~;3esbBhSH{%I*SNyVuqaGpm zRP5AF;sexcp;#2#u(2v2l8ViSK8O$ecz*JT^vZm2Ym;xPbVmtytN?6BfIm|C) zZNI^Ce4h(2F?a%RefZ=MWf|`1QzSs-x^vEOC^c*@^;!fU@EQ0+y0~gsq$rT8hBzLw zafE{w3d1z){6KDD)z5`yL<K6(i07~b)D+-};t z8hCR|CS!4>#2mA=HSSAB`q_N!>eGvS*yE718=rVeqYTSpFQ*48CDk5{U(%V+rc1bTt9(0Z1RC(}jy!@4}fPtmMJ zmmg6-uf*XN80Mk+<}ad+Qs_#cD}`?jK(DHQyYDpht{ko?u62FD&8i3$bvWX+9}NXN z&NGMM{xeRK0L^gPzevH0y*PR_B1}Y-qQN^EkO7j(%y4 zggJX$BGsm)NqxtN5q*1d=`J7rzNZfoJn%36I#X#<7w-v-R$FP)NBTH^xc=lb&4Cc^ z*#f}PYlnijpofw*f3d*qf=op$SFc<^wrxGRUt)?tZ2*kwX!BHK3~(Cc>19A$K{)8wIwm3V!@mW%ex)s(>RrP$d*}#4G*5gzRe{{S0n{%4OIs{2=wAATN>?AL`Ws{C5M|NbvXk38rfEI(wRG8mkX z&XVL+z`$C8*4I!!o^(G7zAwIgwO1D{Uhx(98OR@X=w3e3;|xV%2)WO zpdS_?zxBR~vO?0&M#9$T zkcA@8Tnu1~oD(eA+BRtSzrGPOER&$}f@}^umyF4?GXaExROdFB#6!Foi?1nZVx(=DVzx;Qn(8c znkeZFP4t)3L{BK@+w!v%XrhSKp>Vtx*qoc89j5$?+~fUkMXQ-;1Ba(xo@i)_a6Two zFr~+U#H%o1erV{1OCKG*V@nOTgl;VI)85wjCwQ!L@!S6eruXyqy8lICr;YL|?*N;^ z0)0{3V~}?i%>q8y;)za^l4EnK-r0`P{wVDeA4-co(c`Y0peGPc6QKim8*E zhGb8&WxRz}8SAgqz|$%s$wu(CuCjsgr_#`8UyZwtbE5rg`lZh=A`)N}!lZM1Nd=UV zeE*j$LKPR6-etn)S*k%@4XH5}EAZy3L1k4vGR}yMa>&}6Oi_zDO9)2~uC_9(HdTv> zUKjM`TD3AJOa34;o7MEFn@aTILF@f!{_=nWD=~7kKUQPmP_xnaRSUzDK8TP@#)HI4 zI!i-xoQ3V@wz&@6*h?D|xUW7&zju1)tS7iktHr@k_=^gr_Xwi()r{|b-uIZ@CMZX0 zc(Xa=uLYF0WB5;+hi>~|BN7&?F=*00e{*ar&EA@3 zkaG>|%4+f@nFzdvPcp-G68a^R3>oKzxL1(CG1*j2RNEA8jQ>&_KekE8&Z_RMY1!j5 zqhp*RybUT-*Yc^{b;9nn@tM@H#$HHe4X&yLBX`955cOuuR7r&cSwfpQJ>yKMoK{l*ow}n?W5w*@F+%QP;gHPtcM0E=z{x#?Wy&v-NTjaFVw3S9A zWo_H*hEqHW&p7DmH;a$)M3cwBeqA`xA6p$BAASC$9Yrl{veAipLU2D&&+);spqa61 z=Y|xc!=2D56>+^ldNlY}PCyUQS)J56=pia><#6mLY5HtCO)+je#Z7m}C}b*kdg#e1 z6f1s#8-A%z`}m!w;_irf&yB&6GAH`~AUzeJh1Oo*J*fN>MF%?9jX=K(ef@B|;xh?= zh-nN4S5venD`da{n3nTQG#If%72BYZ1^nGEY%T;tj-ZhuW{jv8oFEbKw!Xf;M}HKI zBKP^D&OEt-m=Hejt?cG~|IMPN_V(;&=Q?!7B}<}372TSKN|1A{ZqX{vQ3ssp-(1{0 zCGadvPhb;PlDkT@la&4_aNV_dCBwtr-He@B0uB}#)wq>pXg5L^ruYxF?(L+V6TDMF zCVWjBui1Q94P9kND8F1GS^|3EzK2&o9)Gk)i4H9;)apPs9AVV+akSz8@WZZEd@DY< zi>Fq<_<>h{T_R!K`CJUesy<17r3bYuaC?%70$8(;A+!MPkFT6C9B!!&#w6FuD232P z6zN35cjPoeCkrooJ8JL_eWa5`_snSf`)p4wU>kZ>)+QUEVJzdz&VfKWMbkXcsCJw> z2~15Q|Iy7o^q>n~XVy#vXiovk+kJ0zU36U5R)_rc*vu!`K)m))cjZZnX4%V57SLve z&JNOSP2{sK8?*tkyv5IQQ)yS(XS>QTjhu6&j~ccVn^L;?8>U=cD{51W41~5v&XArA zWoWL{#+nNb2^7T4WE}8E=OKy6oDmlVvGR|^&0Q`EV&xx+o8xj6#m}#bn^AyqDF~U9 zTUR#h1&RGUWKxwp{QlGtlkohH+7$?pPU`c3mb^TBo8BxL?s|+|TZxr*fvIDO*>cZx z*L|5fhBRb&satM+A5^eNKt8K;Zq@@F3!(PUzHD=yE=Odvm2uzZ3t#CY?7CU=L814L zTwWTFb~Ju`HdXwWnHQY{`z^$ExS^h|=wixo9z>2Tps1IqvK|2wowx(Xk2)mGNu0pq z1wVu|_dZTvb%ZIro+!KKIj0}9=DKNvMtum`UNS1Zc7)Sp9X4bH%TUS z(uqVJbO<6)o^NqF(FK6A^>N;p7(gaBLVyZf>iu9Hv(PeA(m6YhAcmgDVfaI<=LS*% zg7j;i$C%|2OC4OUAbq#7(UlH<)Pmwx4F?R>USN4IpW_6&bCRFyg$LR2zMRJh+XEtn zL0N`*r0etGpGPTx%~^)IINgP#d^JR!E7?qgw)vw*N^sMiEA5yenF~jGA*@wHq5!)< zQN(T5d?1xNjTwcvw&u(;1Bt|rM_wVc?P1fN5^*l5j}@4ULw2-qN~H1F1$(ilHD04M zo&Vs2IkG0Y!NYxXti5DBKutXC>RjL!R}cF10`>wTJ6Phto6Pg<xY|& zpD8n8>_Ielo<#9g>yRk`aQ|EOan#?qx5%zIf7rE6I}^E;a&s+hvmzbeFc&^aFtf*=?c}$h3Jed z-}<){v9d(mZD>2et3lVbejRjg|I5ANVg--GFGYxHDVNb^Sg5-?#zmZs{NxiypDDQ533j zvp1T>KZGCgHn_?uVqBKc#P{C4dk-HydJieoU6qOCP=Jg9ApxxJgUQf<76w$o>MX6{ zcR-IoqAd0G>(?tFD9?#EK&=Ecd@}$> z55m>=sZBL8Q5^0TXbyP$ z=FQI`XG7Fx@?!_k7}8QAGt(6DJb-3>@@Il&;T>q`4*FRI@3h~%=fFS4iTekaSa1+f z%(oR#eL#kxXK%cYy*8Cfg_`trdDuA0f5j-ciWLNoJyRHKKXehadu~cMO9zpf{D6TC z9{3u7OEv=t9O?P_I`S|6mpRzITD^U3$$%q1Yc^*DI=fY(aoxAx9`_UlY{bV`ASQJc zv+`h3k(SzlQq39bB@5cxSvB)0X8~TZ;v&LaOW8hV$Erxl-Wow|fqHFvL4hs~IdN77 zt;Bt9WEt#<7$~{Om>om+*HbeO@bVBb*BP0@IFB;nV)>BlucYpKxBKjPgGSURcy+1x zcxI?1n)onY%f?5>=9_gn>={q+|KBT?9bByHuSBN|UR9RNY!dd2R`*=3wlOCzXs4Gq zlSLc!0|#*FScf9N(8&$LhgVH+kKGTc%ac2(@SgM4;SZ*-fDk#(&yw?X=JrO*qvi8> zu2yZXzFxY&NK=2jwfn~iWp?QSG7pd0+P9?)&wj|sp^#4OTz@7mQ!2wKt)V4t3kO1@L|-?}bb;8Y<=*&dA5Kk(li1WM z!B)n!ktw@XGP)Kmb$Y5Kikulz{{(5|n|DoejN{~<|A$oI zpw1p1@b8wKv6hi3XKj7xE!=En&t(tkxGDPi#XCRYpmww@+*cO=PtCRgS1OS1+5k`| zIZa>E+rS=^3ZnWZOnb(aQ)76^!L~$Oqfe@(&$<&VN^_R@_PICITs1M)Y>>7ocXom> zuWGi-3IhgrdQy1>gHIE$7dCNBH1R@ecw7o(>Sir-zNuBoJM+v_-e8_@Fwg&3%v1aW zZRle&1y9E}u;&}t6H!$EXThG|ORL$PRaRkkK^#=^ws*SG74MyN-1Ggtu5X_H!D}Y| z&s!(oQC4-bRoe4K&9{UbPyc4D^v&Zx|33Y_=j%6JeYB{#!b@Y%JLokBJuiC}9n8+w zsl0u|t*7z3#p{mwHVxdb^={dIFej>1m3XPbyLU|JZx;xF*kh{r{Zy z+d9=MGqsf}3auLzQCbiq1W1qCQbnMG$PQID0S!A50?Bl&GHL}C0RbUL5s)p&PFRvE zRdy(A1OgG+WJ{1OgplO>xdVj6cINckGr!mCH=XH!O(cOld7kIKug`V8FZJG5cLPR2 z`8b;{BIfPklE1z+oJJP8N9oNDW$m5avY9?U82A+Ctr9p$7Hv17uokzD$qMCOR=CbN!=d7`F~MN(ebAk`5;v(mb=JD(G5roa zATb`c^gh)!vVI0~1V~$v+YH02(#%uumy~o0;mvZ;I!stvuc}~(g?|*oT#1wCxux-N z>X!qfbG@-h)sR9h=BagiE3iJTK`;$s2bT-Fhq%>_p&o4E4OB_fX7 zH{`<>NZqBD>^-|Sip7yX3g)c4ETy4qJNu%-Sx!*egO{da;r$+vUFouE@>Q$2flXI6 zM6bw3^ZHGD#+96;zleTOa`NY*iLlbp=`Qw$sw*Gpf_z>>U-_%sd@4GID{=I$BOM!+ z_g)8qmQ#saIQ6Z%_07akS<)k?W2z~!rh!Md{75Jyl&TvGRy0{m5Mg%g4gM32r=0Y$ zf*G;gP$}dY0i$mQO=Qh&bfPH(~P5dzOPgb;LXF&2)a`1BF36GSpP~e z%wuR=r-;iwhw1Jc{7&ZT`^C@1^cIOWTV3j6yvMAmGdA{8ON^lb;L3em1x&}A;ux=f@AtQ9f5s{1ZfSpJWINx6J zWM<5F?Ju_g0zk64*{q}RT>MyfsU;8+21t%8Dj8TssZ1*jxh4&>YY|ATV%4>!NyC-K(iS5M>zx~B9_58Q}ArJ!-FN4;G^ z1>i+5Tyzf@2coT;Gm0=Z1{W76+M{dRFWA{Q&L!}Hn<6FV`J)RQ-V*>KOMEQ#3CAqK zTnLe%EI{%+l3sv(%4szFHUQPd?>{$R_5OwpH4v=nM?+^8YfSctUv5Aw(&nC?y(s-- zTZE^vp(v|xQQCtm9Qa9Zh(shvCtU+dc)RQyL zB2f1=+p<$Y8)UW6mOe@#Q#8OyM*>{3QOy1HbT!#$1_Lclow~aZ+8lrQ;XjbxdVNW6 zEy_T^NkE1p=Da%|Z!)la+kvB=lr7O)@vP#HL6uEo$sA07%MTP4L2E4lXGyB>$|b?h z;rC7hHSXEt>2c#qdqds6J9NECAHZB2M`90zV6$geN+YTfGB`dHl}1=AC^GYEwST!Z zqJBIbkh&cOo-qjIb&_fqTO;%B_bc@PE+i^XMvfYY4a$DftS07vfbHcI$O>wD^^~39 zT)nE)B@v3^l299GbN^m}me$%-jffD`HPO=lTW^|h+`#CWd#d7XRK2BcTc|Gk z5yQC%&L`yR-0#(+ZWzA#i0nD%WdEifAi=;mlq`GDn(W&;JJry96G&;V9c!3{ph_QR zwqp#HN|k-GcJ!AG$p4>5y8q#Kz~wfrzw?`8f{HTJzEHElYPERJPgYeT=&Ld3`NVix z=ZZypCl)8n*u8w)Ts%87N=dyTd~RrYENE)E?HD|D>^y_k6vxr32I!7--?Tw@81lIAHS3U}GK5>uikI!i;uDNr0yZTwxOMOHR;i zgnRwpIzdw&6n`DKnS6Ae{b;lZ6YMfxXn2gXf}y-*%_C=DcM}h7h&8uX^E8+`(lLK9 zW1-`who1ns1?D9x^C=IUj$`3wd{k`S6)m@P@vD%l>Q-h>ct>Pmkf1Fw*e5%_Xr3Pa zQYWO`P?wjbO_M60@uZ^jt~XBLPJA|4mldlu$*s>y+%rlEJ+>~i+_uEgMq@|vlfhZ3 z5Zc1sYj3+deqE*#!L{y_>ytr#&JOki-C~EnH*|8K@49nD z4ChA6BIgE6g*}wwHE5-^_!_~!Xz}?!kUBd7S!ZdcTl8Zc++ACi(50Zi`W4Ohx0VX} zTS85%#wM*>=n#MRUx~j5Lj2tT;_v(+&Vhxu_^cTE&DaVuuNy4@sppEsHGkf$q8Hrg z_oCFXJX_3A;wc#pj1(nCQ4&ZtRD0ZZRZ;Jn%cgism!UC*#F!+q-!X?d0W>c-_P#KI zPAbs;A^O+$MORD2Ti4viRMQqAp~zI?!?VLa{~M^M8}~(2UU_u zIGXwSC&1RY6LBUX=6muLeLDwDXH7r7HVFW?--W{A>JWw=)3qOs(Aw#sR39{&opgC zLvt{`N-U>VIR}yD6b$53bEsY~HT@$oIl2Ghe&RIdx!tM_($O)HFT zhsRjf<-rAIubwK!X4irafj*_#+1WbY56Dm17W(3{swUAhpzS=qSiA-3@-PXuV0qgP z_GCX68W0()*{e`Z`G^U)PIZk2ObiGXfsgxy6CXnJwRi8qjetajG#L17Lm#B2?dp3v zmOgP?zZe>ZZdhcT{6f-TUB}nHlTcAWea6eE4%v(CJqsLW6@Y1aQ*Z>1-C!T!6tHmu zU~jrAt6Yj$EZBiEqwBPFygIGMs_IBp7eIy{XL*Yix;HoQi}2l73cYSm6z_Tl<{e4d zk8^_=6qumfY4Ff~+dD6rzFRSR)HTdEA2YS=5KS{b-#Ib9*mvOQy$J43Un~}@#Uz47 zL}_MWQ=-xzm=1ptc6w%iQSN9w>qjd(e%|5ZlPQu?CgsrS<3YU_6#2v!it$6J_K@u@t{u?Ov3viPTn-THo~x?fB`EtS7lVHQ!p?Qs@yQ*B(zJY zu~s91=koxD0o76?5ut{qcXvN#PD0~UENa!6IDlI?ySlN+Rb|-lTG_Cd1i&J+fri}^M?pjs}m`-gM*Pjp|8B#Jn*qKmSvLDJ+WZd9HF4vWzp*f zp?DoAcsDb!6#o#R;Z)k2<2+{|v7Qbc8e=wm7pqSU z91J*;(_Kx%mn^2@XVjxm2x{?m4aGVn__U?IyB8j%NA4v1uJ}OP{3GFeg4W85zLSjJ zouSb+Qo%?O<8Ij}_kw2BLHKB-Y7c9>-FV&!j?~mv%#ynxn zdPJyTbT2{nS4pVpH_(`gXV-rpDEk`_G_~3#(wT8BQV$pZF3w@C9?yjoPsvS!iSGP_ zve=i}l2RRA$<4hou6iL|x9!dK0Z3LsEU_IUb z%7D~9D@)YO$|@&1sHx4jka20e!$tWrx%YtXM~_PFr(awpFR*WdjBO;4bDp~Ix(;?y zyozwP=&jt-7bVV9IiRL@;QXryZlGDJVgRjWq?!87W^c9|_G2&@{4(Q9AQZ?e9PeC4)!ay-Wyjn-)QuxV8%J;&O&$DHp zv&NKtDP%H4a}bFiv(lYSSSMZ68@HDS`7My!aZT*5`)-uVjOm#o#px(mgbtd70fTa?TTxc;;Y6-84X zj&^qE7Fz@3CB;Y82p66>1Ie#ayI)S1vq0sPUwFJOYh`3a0@mAT@jfp5B&H~1laf+$ zQ4zrzl9%@%KKyiwhN=T0*xAip*{@?`hcZx2M|rtD7@g#vk+e*?P=)r8^E0{g)m|q$ zS`RK7HtJW-h5zR)@jpifUN#pPUuN6hy7hysgjn|jp+Wt9s6}@t!Fw*yVf-qD8WySW z5+Vi08ktV>B&JhzZTp3^H8z$CANbP3^1lT#nu}@+av&}((7a{jXguCh8)|m|iDaO8 z@#4j0)9F48rc_Sl^s|6iR6dxazTc?T58x&_f%O6669YuV5mu$!0IMD#^9D!>SKGDg z##?JP+&}%Vq^SKiu>heop@kzYGxM0Nev(w`0qiB;;pQD_P;M#v49(uc%IXtXgK2*H z>E~$r(Z8sAg9aBJy#bg<38=gkmbB(HneoI+&p$&pEDB=SU)kE)s>!J3Te>Y^U2kS@ zzXz#hGUDjJ)iOxGz@YV4j+p#P)9G{v7%lC96kH@26<<>;<8Wm9KB&B=hYFm9^E0xa zG+|o%2XGhH0NSE19-|?zvb8~!Fd4j~y1KgkFP>bL{W-WU??3zOBjAr9%vwCg>vh>1 zplc{1;30Fk2eg0hrAhtWxhWgc&WzU`s~E1`rh*!+_xa0eN=4ixrkbFf?gb7YpPMHYe0z{Y79)GxHzP? zF3ve3YdrxJ^S^DwaZT+T-U%|He^sGIer;|+z)qf2ZS<*7x3yH&SH&C!4bZwL_bUT| zZ|W_JhW$lS{qm|(%KRf=cm9}K>}N@zZ;I#ox20XvOr7jwD@3C|OH!JE4?Jk9zi>Wl zOz+h$_s+?8B4yOmj#%wdE9I^dyAnpRLt;qE5!d${K3#eJcoM@(PrpGB{#$GlW8S>NDGy!kgQKB^Q^wyWX7H;pQgHl!#V}WmAUhCqkooe zFnub%n`)a)GOekzev<1^(Ol+EqqT2jVBqHq>{dJ9KiGuIe1fH)K1hQ6NUOuw){B`Z9g&droEul*3LncKgh& znWSli?$8Pob4t+#i8aT$igCQvcfl~J?lPC89jBee!GzbedFk)QVTJj2rKGP+7Ah3q zqp+wo4IL_a8iwM*+hr3xcHFE0Ht(0vpuEO3hI%y6LFCGKS2XI@j}?n*>znr()`OI9rhcXi;D(3+0P%yIB!R{lrSkxUp|NO!m z{1=LAV156aHBS|BV$UW=L8UVB80-}8l|aTGn!9&M2%yo?(KR4@IwJxopta86SN7wd zC5t&$ZfQ@S;z$m_&J@JWz&Mc>I38CQH}i@Sp*h?Y^x7mUPHA>6F98J8YG@WpqIKwy z7K%@tJo%;H=*UQaH-R0sUe&~z4h2GJgzrWPJ&6j0V8R3iLhPjVpD_6+Y-)N8v94rB!qw| z=(|cmFXDj09}COPkKosbl5@e=P+0WzT8BmNXGCw_SjV=ElUY{==};*jJLP!*8|G=B z!?ld$gHG20kqjJa5;q`oShTuIFNQF19}kMh>+}rXRbkAu+cvR)!TOQk7EY{N;*CgE zIGJO$l8SppDkVC1ro6gKJ~+qzwAaV{VMazqQc2`+dNl}ds_fGAf`XZbbA<<*vY|@+ zyqzL-)pyx$#cxB}-rc=g590%c^M_T~#{GeTfv!{@MCA96@U`_Yf25ZGA3*`r;c74= zZfwXGy2Q(%OS}W&i}dDSCQUwGqj4DU34XorLN$`Sek&o&;drHWfj5;33QJ zvIpR%t`$*qn%3(>n(KH!(W~Bo{(bMISS*1GxUp?hT6)n+4JS@LZmif&K`2nB1O-al z`zK}Fr)3GM0va3)_glo3MDYc+XF>VFo8Vd2`5e1Rl$zbJ$Hxq(wqa(7?44W`Hnoj%-|a!Iea z3{_opC2v6$=kY4kr(6jd zVDW$PmQ&C`Gmg-79SkyK>{-sX8As5K*23hKHC@sP%uf%?i^y8R;c!lnVL>9P5^7nl z63WRr4uCDgl+@HA6BR`?C*?^Z_j@e`>Mo}o82cKss zJ54I%dsdb+K?yD4majZifi&%@Vy;jsp=NNSZ+$NoA9)eFkU1`!xVN<>^2$z}m`)Xw z%(ze_#FnY_F1c`lQ2O$TqIiz6Lzwt7diL69(qAO8tJ&-$@?1r?!Th+_8s{gg6QB^v zg)JMn?;V@&Q(=$aAA46pu?lROygn7t!_TADk2J~%n{7V4G5#4-mmwm1_jQq|)IK^z z#uyr326_8$7hWhr-hS5Ro48q-8lg!}3_~vveo_^;Q4sL015f6;T>SZK^VwwKEBg-y zpXKN338zZxaQQHvfXInGYfjr@; zMm2e1=xh*|o$fM$T{G}_CT!p*+6T=6&`nCqv-i;5pW?wD_JzT~P#b9ToszOGMT`WE z5Q%DU^+tiS9!P^J?k{aE0LAIyouD*$CjHKV z8+K1aN?}DP8MQFuSI!0Ss4XA<-xbtMMzQ>rt`@YoUvjo1@F2RjN$lnFpAbRQ9zJkY zL|C18{$D&9>!3+WMrUW|eUMA`+7&;SUVw^wz%J$id?e%e{h`jQ*Q{}Y-MlZVQN-ir zy}Co`H8n@wy}V+85LuOFTf~ypw*j5d+WHll%*X^lVMC(+sO%e5>p5DOnQdLOLH(;I zGUmgw-#b$Bm(IEW`P+=5_7KQL&9$;tK|?|t^i21|QrQfc{Ibu0y!PaSWby9SHHVo-%An#+9o`g0X?FR9UHXuf&nG z#KVxXM1D_`iJjb^&0|xlA$yWw31^Z=>D^R`0UOQwjKN;x@+vdz>S)KnCcv^$7wxvv zN!OE^L9hXWi45R8MhNP<+mb3LW7F)l$)XT<=pA3$=*WK391x|U_u$sI-~MMT#>+ug zlm;;ya@R&+;fAqn71&W^e-5t8=RlCt#bP0tZ3^zgJF;ICL&rBWGc#{ZPENMUcu6H1 z%P(9?WdD?Z?t}gFSVgh>Z@y{L>44!go=u4`{xpPr)C=uG?wPOu@6u9@^1eC9lrKP3plmDI#{%kgw zKoPY?Et^3X&(1b`hBtkINAIbl@E^*U@5m2l%wwsm$%7RuhP@~CiD|j(MKl;zAOZ>C z`Hps@XO|$L=-Ehp+XNih;i!?3c@cWGMc%TvAtlYXQBoqFD{+GW1k^2^mG^d`)LrUE1tn?;f#l}3xR1QOmdLDfW90kv zQyk~n#Qq!MvK~=TZSgjrWa!4Y7?55z1f`3~p(kCVH^g^I-|9(y!@|5;(6otTR%h`E z*M|AI#5n58-*5M8D%XJ&y5FGaOTwWQY()LPyD z|E6wM2u3zku|+M62eD;^ZzvL89D}K+q%-1=Q7FtjQacD#LN}$C1 z7SoYzuS}ZjefbZSHnk@HY>RqOx9lhj%G<2tyFCs|7A;^S6gNrW zIwaxzgQBUGHQfjGYrD%%KUp2%mtP9qMsCN9(ov-c-`g$ zA3=YE8oqdsAJ?*%L;-=5djWQBh5_IaTo2-`Dy38n+xv=i{@wRl?2EnczWeUGRb@d_ zV0koXZEd~f;}mFd9y*Q?gALl4?$I>Lr_BZzHZ?T#+E|VW+MEqy61)pXxZH^7UB`+W zDOkeZsaIWIj4kz{6OUGDMJQBMF1DqAyGpsrE{r%B>(&qKQ%#U?KLN{W7=GQ*0=S01 z=)xR3&w76h?vxK8&E}yAA8j=c-6qTZ;`f+LdqT&NGV|i-fA)@Uq(1u5*Ve{Hv(Xr) z`#YKtNfgGuv7`E+q+bgrt!-TUou|el5^z@U^D-T)@Bq>qXd{-F*4p1x2 z5Q?NEed^;`&qbQ(RLT8k9A_NH9(dSJB|IdDA}7CO_YFlyI5}CdpnJQ##k1syoUgLY zJJLW_aE#B-@R57LU6xa_$|L?g2uRCXJOw_WlF4{R%bD&5K?geJ{!N<6ton>7YzH_5 zW!$DFF20nQ`FgJFm-3Ql?8Ze&EX4(>f{T9_;oe5BHmRjRGS`#XtFX{?vq%*1F|*q5}`YP_JV)r*AD>V)XLe9@6Z`uG67 zm4j`UdVoo+SCCJ%@zIiKq+wP6+vn+$-<^AtNxDp7hi zCX9f8lTApMdLla|qIDUEn7#6lH+Lv>L61YkNgo<1-LV5o(r=zu!FdWi6qbd)jM4V? z9(|1uJ`fHwD6PbMww-c4N6(*k?+t$S1Sj$WdAcMyRIVdE|NSZzk#|u9NznC%b`KxvD2e87qN&>YaQRN$MgX}5&)#J+q0~!(C@RQZ1Pf7Ow&6IsEQ^_GoH0nqW zu>^3p`WAsnn6y)N=O_dW0VOKpy)`*SQLKs}o%qO6VDs(!iURgx`u*nu7c``c=Zz*+ z#5%S;f+CNN3k?Tp-ojHl{`iajTS#^%IcHYpaH^M)HFPUtPL%N%l#|Rw6zqnj`{|+RV!8HlGFCJZDH~$~pb&rYry;in7oU zJdk_lK}LFdx+YUZbtqR;HQ65X85<42mpP*UcB}lxC@qB7;R8Pc@Hq)bR7OdJ>1Sc# z{xoPQ0@0*c#;l3#xtlg2j;KoPXgWE()&&@UK?CNrP`u#@V(e^!Z z!fC68wzhUNo2}v5o_PbRD@$bFfB*`2)U8`p5Ee4aSuqv<{*|&{zz#^q9j`^%Wh75R zCRKOQjv!|NY_cy{$u`NQVp&u*b@f}Y27_qPf5WYK{bJS*_-zu0S%<^kTM_{!Da~QyuZ!Q^4 zUQ;3KDL6+k#xHMlWIt)_{HEuRFRpQcmLkA2$H=Q^9y23t$eIm)6kq79mHj!mE~9uK z^pFjMu^U{4uglrHckfOvE7L2G8G1~{0kTjsJ^eQ~gk#2{Kvk)b`0h`d* z&czW9CmPrjHE`SpAjBhg&SiT38I{!nbVT-`!7RbX*470MC5*ijn_D4p zfwlh|O6DrUbgUZhEaHmplPj1@%`yY3|H3+n{IXM4qHI)@N{B-^hzkM?AT#<|V>p%@WQIq1Gqj-0#mYW#+p^ahvM z2$d4Q#1XM0B`Q`fA@7r?#h@QmE^o2S*uNJd`3CgVrKIAo|0p4veyuSps+qRK6(I+f z#7k7SEkGT!*puIs#>-PiB-dZh=U*jGU;upQD% z&-;8EA{G#^BNr4__g{58g z-8Cfvqy5mzeRTvnugx8xD<){JH!O)fu0kC94B%InM`oof(@*0-jgsAY+@q}^<|=QA zNSB7>fDj*g2cRH?jkzo&K&Q_ z_E5&s0_xv>&VTzk|Ly1ex1V!4vHnl$=QLocVnhl-=PC>9${rT%ZWB-;&nrG)=f^8o zHBi6VVi|qJLhvO<5~o;B@{0YBu3nQIeDa8^LEf2DYCL0LL?Vw{JQ8ME3(|fi$^ZH< z^($GNI3ej*g85OJ7{NRxswT4yO14jysvU!Pkw1ZuIzI|gQ#9|5H^8(*Df~~eS`cBr z_&O-DY$-{V5@yW_a@^#Zy(J4=U>@7==*d6B`d#n_o! zHkWmMp+TRk6z>^+E&o2lijIDRU!lU8ZSo@9ezg1KOVs-=cq;v?Ei2c$rK*VM@Tx9u z=Zill@oP&}#1mm}bH=vJx>Pj*@~aY}ZY zz-NrdRB}_A1LD!iWuiyYVS?IGPAqy~ z64|&e`y_Z;Rt(REU=h@!bmh8SJ#e5+k!t4e5UZ=9ShwX}eIEZBDIZhv+N-(B)L6E-E~OK78WS)7Vm%f5lh zAV2-)&G)Pye)C^yu(MbOkN)nnwZBni3U9Nhj8KUID#~lB$%Z{P+hg|H--Jnm>@y&O z0h*w>wRJmCA>kT_Ke%`nArr5=`wax!f_ybpi@(l%JOFSdnor-Q{DJ~GQK!k?0wP>6 z!7y`hNR-uQe)nM3pO2*^G(mA=Pj}_XphP|$v;WzjUnza}-ouL4`w!Yr zH+ui~=KsER^Sb7@U#or`zxnuAYm>iT{jHkWy$XY$He5P#>DbHaGrF62`G7w6I+mX1 zYJM$vyXe7}f(I?z>c_|#Deg7_t)t$!v4PCJy!~DgB7Ud>eq<57>y6cii6M;aGt-nc}nZI_= zMuz5$C|4|h#NgxoJ(@Edw>@^nUn80`xSMjndGr_Aj~K(qK+Nr_p~jfRL}e(+`+TQN z*&&vt{R5a#zdCg2kle%hC=1{WPJc6)rd2~b_S409?%*K7!p$uenSKUpV*qP|k^Lh4 zYdKEowjIrCZRfhH_ie%9&SL@1BAGN7a7?m3iP72} zz0;2_B=LDkt0E(+Da^nsrufB8pf-H0h2AOuA89x>?rSb}X&TXKE=CkAd-`6c{{^bqi~cCN z#qrGpn9kM=hB3$8b05tCSw9x#Ud$<#wudjbHS^P4no9yMS4+xwB?5B?AyvDzYQ)gy zQo?`|PIoSVHkA6fGKnqnOJfXOkl0P@Q_u&1zfJ9~9av9s#Lf*3iSRM%BX^we(n@=H zT4#@zi#zWx{j-_zf;1tS|4!_uK4r9(cPggE_E_!a^^9dCdk)opcSV7dc2K6S>Q^<| z7nFL8_w9Cmam!b7WWHNGGGIbAu^)|e^5WbGn^(Sm#Nvau9O0V&@e;k^vl2DTA#BF& za4q~RT0Dhx(m=@9*fBND4k4h+&NZ!7s~m1rSSox;*~S+7`V>3jK2c=M++KJwx6OBW zGSau7OEC_eELFp(k|%C$UdT8!S;r=2JWy^de$t14OIIrNe8MN6Zu0X&kHH9#J z^c9_U2?DC8#{n3cj`=etcMcrik7r4`58)np*bkD^E+}#j$jYvHVptcn*)w<`%WfL= zY*$iJLa}tSi!j&*4%AgV>{1Dtfzw`?uMTF0m>pMODzCQ;Cs;_nanHwXa6dd?i zk;Sk-hceiANbcPd0m^Vm>3d8-q1;XJ>E)&)&)n zvO;jpKCIu+D>w%v7AFzbu+wOOe9hIeyCK+=Vvr^BJNrN>d;qfbsD=@2pnt4SFbJKm zpMp;NJhuoK2kjj3Nz^A6-oX+~JUl&oG7>24*WaCA@Z?cX7cj<`RP$QsM`v+niO*kS7;f& z>l=6#IuNu6>L)T`fR_V;_LW~785z9*zNmMDG7Ctt)o`qmXpQVRTHmCzH&6S{uq zv0^7bbwT>X93Vz#`G7#VTG;bxZ`rPAkk2^Yo#WqTHEYH(>qi z^ag)kjH}STZH4#r^qge<2;d?!eTGu~IEP~bQG2VLts|o4sQnW~$M5HhH;oQWMl2FW zSzv1Unp4hm2m(*6gfRLr%&t5*pmpfD@A_FxZwa|r`F!f2Rfz}u8P!2mV2&OD=WJ8E zQUijF0yuo!3Lx5v-2E)z?MX$v_&Sv+}pY4nZW z1{1tI%)!+zf|mkV3zw>@}!i&_@vFh1-|`KXWP|`-jwo~8kJ?Ypd#j+rIXwX z+E54K%eE{E0Tjt@y!?bns*@EHUO;ua%nJ%mxwSQ=CXLI!X?b_`cybS^NDqB)S6-?s zb^!`|cwz4}$^FXVE|-W7>B2RkZ&}M2Qait&-o#kCaY%0BTim}SUQ7i7{sL({_za zo1LZ_HrIz|dN@Q=^v87|B)9yQDR_mVl_>ooOuGkNZa1(@9qCGck$=@1}Zod_c zbIm@J^@%3@qk_pt;@PyIYt1@+)MHsZlb*^5^b3W*zFZ;|$9CtKjEI=yowIma?s%UW zd5Qsr^x7Dv-}73Ps3P_*qu>!0vcqm(Xm0%zA*_$rVk$Q(GA|&AOYX1%Z=z!I#o)Dy z1}&vvHm~4r_TF>+;$VsZq@DU_^)Qtih77Ix;1r3r@n0s%na}oBZI*5M#-q( zNeg$g?5S6A(D~WAN7-wbZ)gNkueT9Q3FSSXx-S6&@(>^ZJNX^casl!`tFx_nbcbu~ zl@F13!L74CG zlsq-ylS&Feq(Nj@Ljgj#_DI{xnT*nrmo4y>+R(m|l@^xJ%3Hg*(S}_{)(0AvPZz2w zMhv)A;i-f9@Fso7;9Vu&t$E+D#cyD&J=a@$F3tNGf^dA2iEWmC`)9kGz;0VG6TV;i zlIIBUHB>Vi-BK(4SNprW_&hUfEAF_AxwgC;@lt!br0#NNxZo7jNR0;LBxp{FA!0uZ z8>E7Z7%h*KO0P5Blan{Zlzlywjh(>-(i6KaV06@L9K;gQ6f<=O-~jD1y-@bNkv3cV z>5fJ^kKK%bsiSh_fKHpOC_(4|FS6hfpaXuodp5J^k5VsPJXO%?xsBJNBDUJfSa7+# z@X~O{WLtK0)!Zu))AkP%XE;0Stb5c*A;&o`oT5^;1r6d;vh`KP^InntS!8Nt20M0_ z+ulZC$n1&kN#(}uu*Eui40RsMD*Bq!Hj2680sZI8?0{}`5LysBfc1CT0Z9REup4#h zdwMOG$isK!IE4vhwvplO7Hik8&Gj2H*#(_vkYeS@>j{H{t{p)8dyd!xAWKI!W;rq( zfJ4+zlBr^Mg2o^ao{?3ZN^KCz2ndFw(EHxm-^qr|Bp8vVH8*tmJl*3U*&2E6&HiP| ztF(ygwL)wuVB??BBF38Tu8BUGh95Oa8J^=m>Oz$mM!)%>IxPyy%{Xf-mxz5h?4t46lSAtD3oT! z;O{`OM*VBY6Ik>$BB8(qU{=19{YPZKFI#G-EFg-e2`lDfnJbFb?;pbX+d|n`JIgHw zAy$B))s)rg?%Hb;XV2;oIComx+g*KS&NIHmDi5dtSYDgL?IC3uo61dZZ$D{G^G$}b zu>U%lWfLW<6s;?N`+!T$`v@%nEL=C)7d%wzu`u@vq$O3@y2(nAzkgeF3io7T{?Pzi zf~Ik0qe2ff_!V3GW;-yBpMVQsTcCtsR6LBRIq_6PqC_++CY;4Elcgi(tEme`s9-UgmBI9SzYWfs0#M=6G_7Q6D%(zaR3+1v@)A#1 zlNj-{Jbk{^yGSx!66ScTlnkQ%E#_n&TvTl5{Gb}vuEhU{nwpws5mJB`DFG6(w}19z zswpM<@_JQQJY0h>E_Fw(>oyf1tXT3(!juelxAQ(r_2)gAUw^KYM)bRfDYw6q}t{wlTNuB>Q77 zvgCvkYz|$^B;9v;W=(&Ubipx(NKy;Yn;*x;%o7cY70@{4>|*WHaA&!l!7F~j1u}`l z4XnP`pd%+W$F^viM+a(rg>NjOQ98vjlzTA4cO-UgA*n_#} ziE6FE(og2s(gWHJ=m&S2?7~Qn%+eH~pme0Qz(8kqP&w!U_djD#SR9{#YsiMjl6EoV zu=Ul-&$}{wpl<`Elt1h?&_WTLX_|`b3FxxJI^gI1`~#hknQx|bCc8BhVaLEB-`T^FP!pg`gp}7Vw zUfA%-p9L4a#$qyXL@WA~hC)pdIp>RHVBD}yFKqx)aCtjTkCv!~s9&0S>RWkj_l?Go zl*6Q{`1k&_>qb$J+Kq2V*iG83WyL=vI?~h%~&CbG*lz*iol7^pWp$7GBU;?_z0v76oqsKmo9Jy z+e+GPr*VnhVR3c(g)LWp|6#bV2#7@pWCr9FdKQCFTz0eas} zL>4Ia>Fdv_RE~sE`w=%cw|#_{yq9O#T>w-4N?8ENkegpz-H_J9l?Cnw z%1@g&Dj3Xtlk1Qr_~!mb9H~rivT7S_j~Y(Y^p+Qb@eNoDIfo{2`$ zd}tuLr#uA8ZY|`XfcdpQPN^gaLKq{1UlSmZUd^9k(fnK{`>T(`P9N9;;N=PR2KaLD z6ft)n-|oOFsEdNMzki?zx($yxkoW`rB&gD|f)A=FDQO#D`TR&)>b(*Ly@}6r@mbVO z)oUXds)^?h!Xhy_x5rz3O2x9*heEUixBw6sz6hx7v_NWE>TQ@b^oHQ>T=>x+5+=KZ zLZRll&ipg@^Y0eq=WoZ?QCAO*J?aK?5|k(IixaT?8g~eo4+-m-C8u%Jr;{|+cjaxc zOGt8Ayl@<#VsB}w*tW&U@|p|Cflqo+F9ar{23!sqw!Hs~Sy~lB^@O!hj)99gN$g3w0A~JGFd&M7K9Qxq2 zOHKWw3#$fth}yJbBer3P9=DRCugLXB*fhbQ-|P{~%o2vZ~e|wjCN)VdYoz#omS5~p0GI#bKcoGPZS9gj^IQ0G?c4}xtLYz}5JspBo9azQFowy->x8gv$KRu%I*_jmAu5vj5ud7CL@f( zW7JKd9A_CB7F|BB>B%X%#%?dudsVY!wbXFZsU;`vttg%~eyM+_z zXlO06A1wrM=SS3P2EL6r7P&FfV2%*wmYjhfVjCgQz@mB^WYBZKNW?ZZP{)yqjYJI7 zbGK3z_k8%uGw&yhBEe$ml;oAdC_Wg~=~mH`qWNL*nQ~KldrruYdnZ{IDzl4>R>`e% z9j?!)vKm9w9oRiy8;KJ$pVa$$@ZTH0gz-R0H8scKr@Dh7V0yJdiEF!`$A$(a9tVr?yk zealZFp%9g5FU#c`0os!|gO2zzSN(+`w*Hj!6MJ)e>T+k+(kCtwR5Gi-6*sF>Zg*X; zV+Rz~-g>9cK5L073y$B8QbIPW-R<<*+bRS{)OacUqhRTpJi{_8brQyUSVTF^nzq81VRL;Ik++z(^B6>$3}Xj>J_+k?-&=;34^! zz67|yDB&}aiVV^lnj`|j5p^Fz%j}AdBj%(hnId)AN<*rV&5RDtnt3s7mCtFo^d4w| z@0H}MY0$kgw%8D^1@9_>8IIO&;RL14YD~KXmRCqQvZIw-hP6r7_S~X(q9I8E+o5l*^5_ja1#aVl6n}eN@1|a!NDwsldj6OSlJuSggtDxuLZ{GUCcN5_Aa3Wx8fW6=XR(x405o;sqUjoEY zGC1hpe*0|}xIdQ5<-zA9Ge6nCYtJ5IgCdeJxFg>^Qch?b;3Lrlv75osEGHvoWx!xN z(vu8x?OWRnn`^DkR&FdhFWGLD)5_NUaS0T&7|Q%@`SyPjqw+sg&wwS&{QUg=q9RK$ z1q{gv_`~V5vw>+4IfYKvVi`FZWC=hjR70q)2LlZvnn9D!K}&7`xi3T~Jsq6JFaU4{ z4!rMpr}k^d6P8YD0vCMWvM;!9JRN*4MvxMRep?q=(d&2536B4DRzrzE1-tmGME$=* zfQAErzzc9~^?mu%$JP*skv#w~u4zd%jY0FbCEJgz_`4-|t@nz}ruH>m65^<40DShH2*(ZafKgAj&x`NWp`u0hBL>kPl}@g>yROTfS%kF{Kx=4*{%5&| z#}PCKA#q@lD0jl~?b|v!c0s_vmp|z;JU(78`$hPdLNoljaZW=c!}sp;QOzx8Ry>&* zp~mXii<}x~k%LL&; zJYw_l_NRTN=3V@3xBFV{-1!^Pr`-5YBi51ZIl!EK^|DB8H^SvVmv9**79gnk^5psQ ze;i`26Y*(`t{qo(hi=PA!b+|twa2VG%Ri#&j}DSN#EztcJCAMll9jyiDVX+}a*V)Z zxRbAW_r(Qb`qwhT_OEQ!vJuR!jy;gfk{lU{R6be_v<7qLeE+j}V*g$GDrYl`FCKx( z-}Vm@!-FY8&es3bpqA42y=@3*FqINzN){Pa>j^RJEsJiDN8eiZPqbZV8mb~N>^5_l z3N=r>^mj52i2iCor`mR<>-VpKJq{=!>fTE(=1 zXIj2+b{3oT9~?z`jw4kxc8cG?(EEffda@x3tis+`+ZJbE@uIpoyr}ad0eaE|*4n$*z;Ncwz zmp&~J(FL4HuvsOa1|4fps~g{Z6k<#-4A9DnS$R7O=N?{ zQu*gUG;-6Mdw!uhxPWuvhAT|eK{Jl1g6)y{XP~D-eHFSJgN%B)uxBDvvE3R-ws6fp z9^p4ff_!G}ZE?d5Pz)WDIxLFvdf={~A>OPsa>+?&Wwvn&an~eBF-O$jaI@E}IQemBK2s?c!+jd1B%D?>Rx(6$9up!eIhcv@a7jH#iV=0HYbO6a}ry_STPkv3RlKWlAnzFGWPsoI^q zRRnP9=K2pepW*m5>c@;ZR`lrDjb0HJZ>k*vVe=&H5)hI0d>utMK#eAxAI&!OgTVr) zf8kRWX{OCGiALxSu=L%+X);uaN-~V7`R<+doM)SB>1ukSLzu8oQGq8D#Q9?fyjBOo z;NS#7-CjEybjkOLmXNaS)^qhUE7vges|d0$R{kTW(R=OA=&sJrIOy8~=lF?6?w5Y0 zrKORh`nykN{%%pwwL@~*L`gESQ;Pif?cP-2e|?%itIf9BFullM3mnlr2U=hZQGw(HnK zr?L%Ljcr{WMgtKSsjCHpmJUH*2w8*&N+nxaF)#?c z-;ZDNlay{L1T2?sxi{bM4>*$34KUrWW4&88I^-D?@*m2nu^US~rfHF{>A~8Q_jBZg z+`AcTL>Do2~_1gy+}vyIU{Qu2C-SKTkfTg^%|i1(q6*L1K=k){q@W2;|#;JSV45N6t_;Eh=jt^oyj$r7f}Qgto7; zU+r!cN_m?pTGnIf;K)QhS`yh3lTdAAd2K*O6c#>@wK}=;s%J*B$KzFE&ht$Fw($j` zgzqLX^KNVGv{tzxcB?%!`Sei60K>~cHKNXI)6X?y!$itC&W$ZouBt_h^Wyh{hQHmA zwu|!V7&DlYt{^Ke8z$~nF!;!^q~mz+Y~Pxp?V$z!9`z3$NB_QHT-wPl6_W9y;*fya zov}Rz3(TIp5>>cyG*tw9;;DT<#NgDt80OK?1|}*y$q_imUls61W|ZFYDaR%H_!#;k zJI(&?FlJUv>i+3W<$jUR;KQjOrrj?%64?2=d=<)=u|W^E;7bF|oYT)3 zjTPEIcFU1--b&dMf0O8u-rreapF1&F*-LK^wsZ$z0b1NIedI;K zx&yvLSDg3ecWbaoX9~X8*n$~j+Kj8!Ly1*EM!GbM;u;yT+s0MaV^9?4}-I@jp0?b)Awk@_A+#4H`~8TQ&lxXkFx_ zTM^R^stkSlw;jju-F3Fi(w+CuFF$cN!tX=t z{MfPwACqvo&7wkIqfK;?eov?2lvMHb-}$BG|7GvZO5ETNWvWRGqHL@ksX~nvttg>bl0U;6uLv3w_#u0l}iUBywj#t z{Lf}J&TYv}%38@I--OaRQPc|X{3Z&=jO$l?KA8Kk-MMrU07am#er~Qv6uY^wzqCZW zL-nXWX+%FAK^MWQ%y`zx9A6v!HK<8pGDXUWIYspYtM6U#mW*`R=xB))K_Qcwllu>~ zP(g+cv>C*POc<G+yB)mdyPuuzqFnQzVbKzWPk!NjQ&@vxo`Z*kKXu``<4Ff&^P|%H~!=|{^U3Q zp_a1PEkWd3+^?Y(Z1FAhcIZ#jdq@skP{FO=x^g%0YRX;=cP2b-X!YxwWY0 z6=B)_0aP`5mC|zVDEN?T$Wzj?6gPeqh!d1&hsJ;04nE{s1}=hgpW-mQO2`wH*%CIi zw0?vuF&}FVvMILLF4J3owe?CKX&8kO%$Pbz=Qmr&t{3z0MuVFVl#o|>`u8|9g+FG* zD^BH9Cv4tVX=!XZ|<4ae+uaVe!_ zjxicuPGWy*MYBIGc;Lof3EQ)lmo;#8orfkEz%%`$dId2#t$2VtDw(gv0Y3M-9Bv~n z1p@k$yWJD?5B1{l3v1_%U46u8m?j}ZQ|QT-oHdox=4B-ex%Oax#z8in^CiL1$f!yQ z|ACeqBWXb-bcC_qLTA$V@g9P^AZ30?Lh0QZkcG9|{C0fyxKeN4HGuNt0Z{i>M6(BG z;HRMRRG3SZ?1cIPa(`TEEA^XJ)Purs3NAlL1G(V~Jj~WOBdizhC`? zG5;4#%ns~<4Yx3LCur;DFvQ{mq!Kaf&n;|)T}*(Z=SRf38&riLV|T=!ZUTFG3Ei9X zpRBC>t8*NS+HP{wQufwho1We@+$y=>H%ZO*U(K$ttlhkcev0DV!Zse|G=$9gmWu=5 z?VDY4_f_A@(QgsQDs&Z`sGL7Z`@*Q}uQ|zcc2Gu>|19YzSUStj%zWEdB@QpwMov-$ zbuxdquo=gxXcAOM8pQA`BGQ&v3L3>#;hC%S^L$RFHrs!Ss!P9$yjfp(;-??Z=XiDP zLJ;M_XW6A{e1p)?cUqV}X_3m#uD@a(%Ya-2{O(i-)~Pma@WWQ{o3ots;b-jhfS9)4#&qPnJBRZsRR%;Gq3P+< zuK+rK3Gi@`PS}g}O#@p6a(rDB^2zA}|1IozxdIM%q0l>a)3IIJ;3QnprZj`a|N94+ zDH~G?I{rzH%PIzap_ci2@S9^BLsWG1l0JbT4W=NrGm&#- zyoU$2{fwSX(6GEleTQb^-xi<$yrmpvcao)9Df5fyLTp-+&XK*BB7E zuMJMXLt{PMTenYj>aJI@sslJ-VzjS;%UvHdK6uU0qgj=Zko7yD-P$5(dFwrQ>_|X( zUFdNIv`q?-yK0ln)NSrS$c1DGOLQj~9aTSQGhD@BO>@OCcmMq_#MhH5kquzRUh!yb z(0jqpH`u^=Q-y1){KOJso=eq|SRAzke*E%p-kPUEGU;UePSetYpkuq6pG0p`dB z(r*`NSx$ihW?#G*-)7sREo090-pASlQ|gA2UCSz9n&C;_L3D5?R{fx$v5GEdPM8aD z!z=DCcufA|o_}1aN!%FrIFxRtplzT>uS7LKR2t@gaa zeB_3VAz(6mIy5#){%BHc&ZE_h@WqpfrC!$7^#FFx|5^zf*5qafWelZ+~WAihi?_9AO_cfQ;zPB1wYd3OaT`_Ql`SkBBf2#BbTL%)w~GEhKdY4y?dlgE3Cf+p*n zIc+8n9`n6fHV!=FaH$*sSk3^w$lyr_r?a6y5l?OwXh?h?10W-O>_mu$cMYItoe=~Y ze9s4}gNrf%j|`2bh?ERyT}|?lMChj0*Vq5^*w%ApZJ>OJYGTiV+5hOZ$DE;MH$xN^+;LpMoR z{ESH4>i}1dH?o0V#^ru2ruovqBVc7t&INjMd|1VWXDLw(7Bg&R@OW2%nf#_ITX|BKR_CHUm4B?$tNoWgoLLd5MAk|PC^O<5GfxF8OZyoS@M88W&LoXWR=4=A}(6FiRZlxr0l z4~nv!*qWzUM;->)-i?ooyICml#hVAE53U_!K-O$YKy`2G1S_F@imm*T66*0;HkZL* zbTiLe#%xRpq!?Xml5D+3ru*c6PTWeUatxEfo4aSQ;A zgI7f-WNGv50mGc6McHzeZ*Rbl*~I+}nAH&+C#sn$T-l~u4X!MqY&7UJ-C+6{eAQN1 zU-flQ!dY79gN4!r6GIWeI5IMHRbU*N0OPoTfpM7b%^S)ly_Eb>nrDDa-QmR>*WQm8 z@aISU!6>oQa6nR{RTxvLIj7v*plc_Yv{<@m%&gnvYoFkmI+s}oF#YE55e?gzt>~tsVF7eyvpG3#JE3n_Ws^NDWI}Dh_(W4$kxZ!a$}@bT4($rqr!gP5 zHic0+m_ivD$NSAYhiq+A4sFi#-fLUAn+!Dw6%>ixT$SSF)`pMhzHJ z&Q8eZBqpm({!KfwMv~#_tbA&L`gosFISt!*gebvab+rVbIy(lXEKF@94!)UsSkr^H zZr;+G2u`zaWyk_1RnL9XtjuknfMx(pzG$8ND_5J$-6YTBNo#N&tu&E`8M#SoVv5k= zg|Jn9{Um$xYNuiw%E%WkfY}g6>{)kv#F+b7VdTP8L2Yid}<651H0^1wUo zM5yeud^aVV%!(JFhwlu*FyE>*)jDc1+3>Q-hCD6DviSXn*4B~N?>67dxLqz02Nb+> zeLU!<56u7bx1wo}kBv(JbLHX9HW}+Y{hlVhooURTvrA8JQg;?Fu2Kvt7D)sa`4!Tz zp{rExy)FDXzcfOTBK|%!`5Z4}e$4}J#)2ssdd?)Bm1T3^vu?7`+Gd768$Tyx14O?H zgqK}zaO(mg`){u;WNY^WeD*Nh=D$za=C>y-o8D* zuv(-dHe2}t3goEC4!>@jIH{+D(|`2U!bi*+vz4o^{b80>3JPA6?#?Mkt4?RG;M;Qhz7^ z>Tuo)LG)8->zrj8zUD$)r#}O-nxM)1A|j6a3p$3dnj~cSSz2BM7=VTDx^*tj&Ocz~ z%-kYG2Zni$;Wo&qh`ewCrY$RsNRg17T!_U!nAZ{V?%&_z>6x|J&~T1RLnFOL7vnUUPiB-=wx6MY+%#sQIns4z<;<8Ec=cxR+S6H4x|RkYXl7B>afb9y-zeDA zJpNxUpsdQGPcMIVVu8-tL_f$oDPNaW{4unStGqSH$hdv`DuQimYNlc&Y*#WK)J!Nw z>_IF9VYYNPHpgi$)U83A&E!GDe?V;#suSy4LC%}W zffL60IsD2<%h?(AKV7Ps?R$jG*qI0F|C9|EDursZ>5KMOzxvskTXaHI!?^n?rXm1$ z)V6%j7zmCk2NE*`L*2r@Ytmu(59mt&3IdH(PRvPyADLVQ=$#ax@?dv>!-a%|fF|)V zv<9OflBL*7^*6@nX!iHr9YUt+pGwoaqQtE~>UJy|A?;QT>62WvoOygkK4NKZWDv+h zgRw&DJn|YX%Oi-xd>T3^!GKJmHtIw$=BvE;lk50_*gsH7aN({aFunrBHbyCSPmAtrw zP%<7va0c06=f9llTzzk2k^Pdaq;>5kF_m{DjaZDv0s|KF3-htF-*o$TwfpIt3a=kH z5Q*g?uShMtzen?#ucvpB`(D<2iqhY$O{34BQ%qfL+KIL&O+uBdeK{z&&TpyZe zxQyuB64+Lyc$DqODAyNxiS-R1(#8IlOxERdjVAnJQAl3|Z^FR6MBJqe>Dz#U+#R@| z4J^D9X#v!?(YiVo(`Jdd#xNg~16a+y(vowBdc-@Zwr29_6N2Wo3d4wMjLck9UEREk zsc?1LV9)+sn?Mb=S$txa6SDEOK-u(m{D2nq>l3N?*h82UKIl0ep7?u0p!DyirZ2Br zrPDXgfvyKCF4yB@m$e;&g_W0OUHkZGuJ9SZ ze=((#GIZNP-b)D(j5;#C$95Z!i0e|#TZmDyxjgEgEApmI0lk8fL;J;`NqZriT1uzp zGV{a)0WD~(~in`Ye*NMnw`-ZQ-K3Uld%SVdk}QM6()knit@{zw*wp?L?tg4W|;dbB1+y`gMta(~m#?9blP|q{A_THCbBc;g2uLI^;QfLFOHf9^nFa84=~WA)qAZbmzn4q=TLX0^~J|-kA7O z{ODE)dmBYo0OKcJcjGe1T-e=AA2TaAjL^0YX9bBXAwh5dCecs^ zM6tR9xD)Ldr z58nM8$cNp)YpUl0o2dhc&M}bgUD=xFk*vuN8fIEJLYSNT$&;6QLrIP~&gTn_o7)S# zj(N*XJv&Te0SobTtarlU`B@0XyIc#oQ6zKib>UM9eK4&DWOW@%j)UAg>k>U6C|~Fe z9UC7X*AAOb=zFqVV+~5^b08Hc%tn4#1gdj7B0A>^2%Quf)9Gy41Av$$7s83#frQ!~ zMy1tOo(BKJP3;Ib{o=)4hzwsHw_BU}iG1sR;ZaA1& zn#Xu1rU#qH#NN$^^6dp+a}?CkOvoFVlVe#_v$!B}J6VT+u5+9KX-XSGA1Oh-J2Rq)v`?y8+>2F#X|o zv~%v}G3M7+F!IbL-4PXj=TDQCiMH~k%!lfY4CcZ{qnafHPx+-WzoDmFnVi3Q(spn?Q-6p+iNnjyyql z)T;W*QG#Dm@HR-~!+cz7WT9?u%*3NC`c0_gV3g}UDfAp5IyZUh03#PGg#+YeT84XD zq9PcR@eIz(#r@J*7hI~rqi6U@@-0b2X>Z$X*DDbPD8_GU z8?NYl+=+lYA&iv{n{6EJ8`p{ryXCA~kLC!@)B12-*2~qgW_j97){TH@*%=RNZPpkU zPklZW=QpKM2g!?lm?uvqMsSmy2>OX+*M3zb5Ix0Pl1D3X z?bj&-EFB7QZJOSO$j2RHB&8rvDx4x3a`oNgx8Uu#O`C`BJ*Avk<+;Zt#gv!*iDWDD z=Er;5sn-F*q$HX5xV@W-z5x(r8KBj-}I&PBI+dRk{F+{D+n&CYq2t2D|1%MMb<2 z*&7;{twX?Zgu^JEB{V0l^+h9e@x<11v9}S77P8A$d-p$G>we>Z76zQ8!BW zLu&AuRlvzY9t0RT-($)jYL@3B%-BUAfWcfGBpP;z_M6pdL|3bLlp#Bq<00FlBDF57 zVZ=Q*q^OF(m+S~VB0-Akma)@rXjNr++6^7qpz=xJhDMbR)uUD?DoYz`g0;wt2-1*L z>4sMOKnG$IH`s%H;E+Ty<%U-KXgVGA{HC2WN%c9!h9U6|y%ZJ0_~QXcHqw_&3OvW^ zJt?-@meJ2;6g6cWq~Wuy#xRO6Jwo57YgepH#?L1yew^o`@0r9KThcJQLT!xACgyqa zEI!cwj1iWs(oc7(QsIOWL( z!1MiN%l;y1gu6+I7ji2!(SisXpAg4r0>cUuMaL(c5;OZ+r$jxQB>Ru!X^tPEt8}zv zY-cX$*&I@_{eI98{@KVX5dI)|%o!f`h(M0K&{*Mb?^8U)j6tbgGyTq;$ZOaBgw+f| zrT|)S3xKws4|18d5S|lWcM6nzh^6SqD$x?~LASQ*Lgl;R=~I=!K+vd<9Xkd-Xqe%6 z|Fk1;nI-t3qi0&Ve`7xAf1$b|>dScW;ER^xfZUbl!OyV5KfE(H)h)tG{r-rHhH{C_ z^&xXb->?4wB0S&9&27Z)uhWW<-(NvNAQD*30GU%kINxN%nTHg~_cwzIFElaRM5)^fA-ux25 zx6hop4s#XjiYcQx$WK7P%Q?}ci`a-@GEv#941CaAPQ?{NEK5UUqb*j4T-An0>m=~U zBek*ejoSEYD|K*Y^78Odq1!O!k&00{1E57BhBNdhAebQBPF3DT=Ld}M?`dctG`fnE z-$Kj-e-T=@!kmYBy7Nn{9BEWUNAOCN*aNOF;7qDZ(<_!QhnQBzag6TyTW~_F&89b! zHZgzgvlAYGY8r-`#(#=eLR_-`;D?CJ3(<*CHB(rh_Cn|7x>YJxaifCQpT&Bi zC#`8#$P0~m@nU?7tqXXe;lgD&Fh7Q#OsrDuWe}86?L2OW?1T`!^?p0TGEV`ZAFL`$ ztL(5xi9dbHaJ#@)WaZ}ez9zi4{DDh_!{DKh6n?_v!c7vnfec@PgKloGjgboFd9?Q($e@N@tD3$W8SRo@9E(7^){tC~efSe~{jeenh)kVzVKJvC0yo zTyLO|cUgXWr=xAt@ExuWaMi8f!$hB8ohOVSZ0cnj8LQ^q2%(mN)1_iIYH6ZJTp zxYzs;*NDTNOZMY_=40Yol_Nh}F=T8cw%zU&utS?;1tE^eD#ue=nGFo=SMk*tUH!1b=?iCc*`=BxfB%| z3g`FOv!px9P>wNc59UN7)`aa>UV7-J8$w{}B>AVgqi5%S`T*x>Qp z&Je$8Qk*jg=%hUJ9ped(3dV@WR#e;D2;p3!` z5Ee?%g=N0KJymcfD1Cff1DDl;mq0M!+y!~!&|{ya8xDUm(3}|ofhFZYK}rUTZD)zk z;ImDK3Vna#EsYqT?0-4Z1t|SL)|_&8zn0IV*h7lzHB-t_CfFb#+=tR~_sF-SV`Dpg z%FK7^1fB%A^E#%WF4n+eiJs$~307San8(n=)thG{l3%rP1FN$3p{!={ha5;v+l}%I zp?_)jqw0J*B>UZhbYBSh(}GkuFCaWaq~Pk+tAX%*rWl?DW&*YW$5B`6u^IZ3o23w^ zcpC`M1EI&5e|hkq%Rczv>S~KCJA42T9RP%9;zCW+Pdzw{%Yg|3CSNn4CyH<@J9`t# z1q3@)fA2vuFsdOJusA^E-2XIvA18jm=f=`0OOO9xf#mv~ugsU$ev_vU)A}`uiDp$X zdNBm25JO1`xZrfbvEA0z7H|4aQec1j?cwbjW|4R7>2z;qr(FEQBAc(Er(8*RE^#_5 z4e6yU)|_XbPrBR>CvFjFaA}c6x&||`fO8dY2&>cZ^YxvL19c8_z|^0DK??POkJf>vmo(`3IY;WNr^UmH z8}X&)iixoSaC~bg7`u=gev#79o#`|tS-Wm8~Vw}Vmg*!)xu0qMN5`^{S zOrwObP!Fn-+gx^x+1cuSCgB`w;tY=9=?0SPl0x0Vc&DHt!!aLTHtG3=7p&sIu@l}U zi>ns!C7o`zXG#oxD9cJ07@TU|956Y?iBQc2+@Y2Wm>}STH@xxTF;lzL>hD-cWrjhMrvdFbEa&5&x_|YQCEa5qcC%d6y zsvY~6vKbfDEXq-gN{VAYft|P#2+!C956;MNOS)AAV=kWQ*hRRlwA4-og4Mo%j9@*w z95?&aYK%QPkP$3r!43H0l%crKDti{{JY$*FIg!zmJFNgh{66E^|Z=|8L=Bit#S`QrZA~Y5>?w5A@ z6|aqo5(bxrcXxGPxR5}lo%8ssJ6mTPYLJ<>Zy$(`sk*UKbgNKkXEAi>Nu0g2d<3W{%hvEtc6Ntv~W4<)mS(IA`LZ&w7Nw2r7D75ZE*`X{_QHVLX3 zauWcL**|JJ;SVARoTcO3thUj6&|UNl&1U*8r7$jx6$NhaMftCTP~Y?QALa(+hOI*a zw#n2H?)UQ4D_prG&sjZj3xaJ|WZ-0vv3&6h(v2)MH&3bQ~p4-4h%ba5HohwaT|V3XX-4+OmPSGRb0bAJkM|dK)I^ay1D4Y zP0mZ0t6*8shlx>j>=<3uEgOcF+!$45*eZ_bS0pgor)mHDEypISV%`QC(h2qv&(sR{4tr(0#{~^1jA-x7#@_e9uv(#M1S@gof z%5E{6-DJU*0NCZwO_5Yx8P6sz9^Z?bsL$M6S$%nhi%>-46;6H&{a3{SGZtTEN|&|U zWB;a-5Uru~>R@q^i~eR`dX=e~(o1fNToAGxwh#8NjZ8?p7*xZx&;$u7c1T6Bd5^`N$s+&k7P zu6x=s4FQC$S2m^#hHX-ZMjs)!0)aYAG`s5CL@nWbB9H||I7r7&8dLpBOan;gPf`NU zu7|6%QQEw;2K4M#jW|jx%zqnUMTT*mo_-BQ8bQaevv{~2EBu-4BS2ViIh5LO<>c(& zwQJX`{~o+zAX7m5y^FGg%7?!<{r2sz%<~bIqtK6zRicpv6}tI>?XbtzRwY0XG-|L@ zR^+i^hEsKZQJ>5DJjhj@Cr>_vg1~<02IOQp zkyU)kg@_BFzj^Z~VBU(%b*oc%q{E$}0w&=Xj>1|jdnOIib=7Yt4f6HLFWiyB>E(}# z!4!mD@O6Y03oF+(JbQK!DYH%l*ZZFc?9M&Mr)9j%fS=mC-BiJyG$EWEWu=Q z2)oy+parJ^(;$SH7E2o&8>|jVK1r~KbrQ7QAhi)|i+rOtqE_L8zSo5}4`(zt+o1~G zlt+qq7<&fbyn*{@56nzfnx6T(nL)J2zKhP!T+8UESSjC?+yvFP6j-;yoTnR>&?<7| zAmea8DRERRt^(KBd+)ucT8nUe>*Vp{5ZhXKllWUI=%fnNXVV2gXJUQ5XD2)WAxjFY zVO+%8^+Dqgk@_FH`aBE zp;rvNA}b#zrx6Ghl6f&}e6ron$~YCt6=mIZ13^6=)PS8}<~*<&9qyj;a5_`uqF1F& zCHL!fF&8yf135)5BmK+MKbCj>Xfby+r4uqQza@e z!-L-ajkQ=iKfd>A)eGFptKKS6f#Xlx4e?tR`c<*oGqpK$Qmm`?VDjN5)GsH@^BfBO z*JJVt^Ix_v+pr)f(6g){*Sjht*(oM~q8n@~$;3tU2H{FHW{pLU7UT~9V^2W0&wzzO z#*LRcd+{8ww2IQ|q3au}CYEaF^SNA`1tC3uighrkz{m|u_8uz} zAGpyx_Z0)ZF>3KI{iLnLJo(7H6xYL1v6#{W7?k-8jmq?Vjmpw*H7X(t`~L=^$oYSq z!jN!302gs~A~b$3%OB;Qvcatj3mJYFk^=L2%TSwPS9Se0PWQ{aE;f&T7R2N~N zO-zMU5Oe;k*kaM%*h}1(p>bv4`ErOyma0PC$yk$oE5HxhuNr$W&qdf$7b>$ zbDngb=9$l7-5q-&)|0RR+GBca;(K0nmex1h+uE+Szkl-DTk{r{Ls)q-6VcuvQMUzD z3mCz%N8=Jcz=`PFai1&_PyJMff7l>1ki?|^N8tDC7+bKl!h*7;Bc1Ktdf3^_&nPTOb*>8 zIJerBhl$?VNzbNz%EV5<9gKiKpcWil#zLZ!S#Hl`mzznbpAf--$6W$~~$R*FBf z@??9VVMe?s!TKH&YKJqx_&OC6I9K6@m_YNV_4U_gVgh+3Avu64QH==d0H{}Bob&T$GxwpfQL#*&Cu+R!Qus6wcEeOda z#|&s8_yWZ_(n6_hfRhD|@9U>K-XDa5>ur)bh#sIg0`Z`*sK`?@mzhq{(*a{IiU};C zbuPDBpATM$0Mbt|3rcU! z55>a%CVGX$ZoN?g{~XP_Q_@^5ae2?E`ks4Z_ZY{?Ml~mJky=im52)T&TW#JA8v)sS z(Rgd;)<^!OA|H2}7U=$+ZfEY6n)CP81kL*#27lwMJ%r9L)Wjj+7ND-Y=B}_ceIM3g! z<~zm@?^fqhT*kSpT7aKtgzarr5qg(FMp(VN_*|&6N$h@sE@TU06l<$=fBYTQSJwLD z`4wr&svox}ojywiP?4n%6zWO?(w!##y&-N5d*E#Hj0|^GMKJau^g!?b4Hd@4CE&bx z$Y!5fkV=?I7fwT(m4;$)D>vZt!Pz;xO^q4tc6xMKE5Gu=PEmKBVWPLw_Fx)Kd#760Q*(XnYwLJLfgesK0j>y~=qX<+h;R!2I(GCaTXt)o=F7(6 zziIJH)h- z(JIUEu!wcK-trJl#_v)mlb)jnnQ8mB?IFjF=a$q&^jF%i%5(d|qc$tA1HYW@gmHNL z9BG;q;-rcla%uf3q5POhx0X?6jU>;mXpcy2d1xqOVj>Vl$)0Sxzo8Y#%i?KBvr%I9 zGkhzMmroGR_6-a~47K^NNsWy&t+}ZN(S^Frg8sZGC=WIV>U;G7XX4kGGY~vm@DHe1 z!x0+rFs6}Tco1GxuJ#*aza*m(3Q2y~&lf@txEy`y^7wF=t6{suYkNxq_OeUXOFy0PyQl&NzXTY&#fWru*n#u?M(=1a3+w5F; z;*o5vu*!)N3|waaYE>??RVuwhRvDQvIa#0E>MT=d<;XB^XwWDk?V zTO~!f*!zu3Ex@hdFv%p3ecpgqNE{=IMFMN@p|;!}S(8NA&0Lcs>06uwSE-f2-f1)F z*{>RLP{CrR;NxXhgf2v-9<$_^@sTTZ!o^J5A3F(~=q48SVU@nAvC%*;d#1Z!(+>^q=Q8*bU6 z&5Idk7 zy?y-2XLmbS+wR-yak*mtjx7rX#EXG257ewCU*8@|20U7tMc0GFLEb_cjY16&(43ABVo1w!nl>hPxG z`ih^t)<*u*{u#oBi&xgUivvwWlb}=??*Xx*Y(MIT`AB((G-L93qZNP!#J=c&SltTBVh%=NQ-tzk*o}26gc&z2X&F*`xgp6!{Gl`3)5L-vo-R2xA2; zUHN^=s^7!^dN<&$v$(gv{QZ_KhUdz+biBm<*U1k* zIQQ3&+Ez(%)t?)DeRL`3*6`-ojEEm^&4-0&R1^>5zUM z6cjYWWnN|CKV?v_GZk6oP!|O8PiL+hpW!mY<9X=@+v}%kxB#KExAd}6$M?M*0sKTI zm$}s=Yp0K(pzBKaHg2f~Zarcndv!f-zaLvyqRUlmH#!$0hbJ-o%2r!F=ljEC`~a-3 zDv`}Nr33Z;8C_|qKERGiW_A{DbkO)cukQ2$?dZ0amRM6GFS$%|piZ#MM>;VPK46BR zAG1Ua3cz7*c4P@B9mY4!uUq#+Wn?TWuH4*tu{%923I0K)7y8kK#VTItA@D-up_=Kf znFB^^R40KthN%AZkO0*`B*4OOuwNJ^x=YaN{y(Kf}`~f0d{4<10Lk4y}I?Ph(|>{?G9=0{N^;b&K>Alvz~d^(vHkH9(msxu3rl zl==8;K$$C5q0Dzq6q~kgvGuQsUz63r`-sfpPxCZXdCPTrk^-y5ucNq*?WQ{^g*Wv0 zoWS9XFx8E4f`jW<98O)6@5X5^r{Z$f!bU?GZ2?+JfA$$}-1y$~fqu)>v6svnV2~7# zyYX86ghuvTdSx==x(P%R1D-}nk1P)KtdJAoVhP`>`pE4l>0N@jt}ZS$BBa=wjY8Pd&^`F?#~1M zQ6olaYSx?uW@t)iubsI_r##$bxkW;sp}?t(&bWP*-^$m~DvOHY1KD{lZ*ZDWop!YP zgBCN-=u24zE&JN|_qu+OK=m^My5&iQ}=Bcs!DwKJ&_<-2wt=EGx?+SWtD09@$LYZG7XIKH0c^@z6rm85- zYzLOqD}HD5J9OQ3J_@RPahMuuBZ5wki-+RAuCDy0V)uYqy&81cf#}y$S+j9s(2b|? z1lxR|DsBV92mSn`E41XNbHgaoHvL$f6JM;Z!Iu{44kl7$UGa&Lu^ybt?ihA)fKe%HBdR6yQ_6Lw#@JhI#Gr5V6!+G1d zpm0ISE8&9r#5`yJJlOLlG>uO`eE9G!$i0AQ3KdE89s|0nfFwsOIQ_+ymAmzhrK21aKP4%#SGWyq z8N?|!=l@mQ->(!PXHekaLw(I}4n%HuL1ZDL#QAU-ZABqiWxOs{{MwU>L~Q8J114)l z2P+8siz5+xcsLsQH9{utsfpMqe9naWMpgb1w@&$SwD%$`1v4Iu%e@W60mi3qqLsCJop>7AOP=L zCz&2tGataNhzV*v69@87@wTf=D>4khmAG{smAjQDH^I32=i5Ew+gbSSHxD7x`a z#YKV>9W^sIW#EM}Q5^y)t6U`Dgm!P#29x_0WJd?joyxnb!3hlsA67JT7Pc^9QVi{1 zh0cht@@k_4oaSXvoP<&o;*hG0h1p1JwNltW|0MdEO7}k*h&szK`=6q0L%F}zB!xlO zi*4@WhmxS&&pqm$XqwP`UMta=^9f0l$L&kGN$ zplLn7mL==iiKC8_&|i9rPKBCo@VE9K`B^+Q#88hK=^tA^6TZU$os_Q(c{#`iS}B-ckN zf!V$!$G^-0n@J-@5viQ23+Gxb5>f^PniCL_V%ynO?3I7fGW{59jrk z7mR3i{Hkofx573=WSoyu&-N?c_F-8^>l%%PT%D%8u2-`CLdnzFen#e!d!`d8+pn8P z@p!Jx_M7*PQ`C0C!X32Lya|-;XZ+#P68ZPVA+nE{XZpO1g<_jDC6;*+FX+pKvZgNr z`UNG9SS<4}F4)wVhm%w`KH@EV`!r43Z_X6zQ9tI%@})g1JU#dKtu36Ne_;9v)mL}# z4^1;fjp6H?T!gW8kri1KJPP+q){3h5F)u4amCGD!P}N<;W3}uPl-O(6nNNrNX(@J3 zh5IGDq4r=SUa&0~p?3y!o?UuV^CFmWD-i)WyG-+9e+gi^l;M707lv>@0ZZ%%0Wg-z za6fo1Arb~)jd$650+aEM6WbA-(rZzlb8mA~Qw6x9T>u)9KPtX*FXn_tkYXm>Z}yrz zlec~~6PbbWbh`>s9ZnBGM3<-B&?w;G!Qbkq+|biAsm)~Q)Dt$_dsaYWN_d&gdNQzt zh2^Wm%E5-3lAmuBXCm9Qt@T(C;s}ILp+n3Y5-@HfGBY@Rz-=8dLuMB9sMH+COu-k7 zWhVZ2Od%OB2dvJ@e7~Y1dz9}7bcN}Bzp16u2g-cERO@&lCg0D61(vw|3ga!@1!dlF zd{lFWw85}mu>MLOOTLVUwrxu=*Df2|S~oZCtLHwc0rE4!=v)yZMAy>XYU0+wjQ#t< z4hP!1EEK|b1A1jdm&=@CNp^bSov8G@JVVG=LFR7ML{}m1ftg)B_ijg0Qd0M(7eLV1 z;U_2(lsLCT6Lr-BF?)LMug27XM#=9HQvm;2AI9xKdcQbDW;PAbXHEjddxwvpSXA3B z`;3cx!Z(>@u9t=Ps^QLaTG7cCVU-15U8FV)Qv=T13{wMOBUq*eH1Dk_JLw8cje1q4 z#^9h;Qv6o1s{>ObnF$jlU~0HjMel59hw|Tfm>2UG_Gp8;8ya;9L;iyBsjUtCgCd_J z8qA}QF5Iq5cGe#BeCVe*ZT12r+Cpe5UJK!Vg}&(tTfIJ>3HO74UnSgc)Mv~Ntiw~` ze!$7bL%83tGTaZI>}y^P_XCJ{B)AoHaHYqXM{E{r%S^3A%u)ESGRGi5(}rRBoln*E zGGiVDCMKkvEjx3^3Y_LcrxT7AbxN4`>NEfs{=&fY*%6vgk!wjE0dHrg9mN0gj?oZv zmDmnq^5Bc?sb9c(`=P|;q)~!pXj%GwGwuSM)={>A1{FPrBB$pphr zzCri4S+3$?2JA-nZdLBZc0$N$HNx@}yddncnnvBwu0rOB3?!%p0`AG9A62tGXVbS` zF<+*}$Jj%RYO!RA99`5b&*{GSanXLZq`g2*Up^|xxRw;tPa*yNL!Q%&*9cPkdKoAj z4QReIvnyaGd{A`a9_J;Rc+4dE*(;g0v(9I5N2kz9Jv_^~ZGz103>`I3#jh>utqCUx z1Xqg&d=!oiN1tcdhY0=vA2Au{Du`i6ggw@BziDtHrw;s zb)@Vw`NbmA&IVhYz44n)k^W^oupSBXttqZKd+k(GLOMh^pS z2f<~0zo3`^BU+uBLB@<-wA)-MXAzygE6_1R%KRqWSS9msm(t3wDz+xK;FDi9NcSTq z%mLLcBmANI`6^~(5RKXMsy1Zp%Z!QJuV6N~B#5|_s>3_9n(eKdQPls0A$+?8#HH)wHZvff}7kpoV;;27nrQ9xh-;?kJv| z6vRN^z8X*?l-zV>mDV5tHKc7WIi9?lpYcLBHMs~cI$h%aB2a?~R_aFD71_@LHS~)P zQzi#A1R0;r)0l8nHB$RFaY`H#b7>G%s4tP!Rdvt9eHx(`l5X|*%2?5qBO79e)Gl;7 zj-2`2rm&yKBSmUWdL%nYdJh@;<-*8F#fcOXGbdP=o2ux&`B%uDrre zdo`|tyO0slXml#n#x2HU2J@nty<~D2k{R(8K)7;&)D6hY+%oI&2ad(6Ol4RbiYS6! zeOSWI)lLdJK)1qPO}C1RO(k4NPj-e5HLMnmywCuj1m^2%z-M6Jfe#19?PkqzgB=* z?bieu>9?EClD1 zB}{q1%9M&7C}5OE?swodBi^H2F2{})Bu+!q@_sOS-owNJ_81QQx7CgR>&s$hn)Ivg z767eME7dN|zs_C9VZ_YPdzHo4*Nnvlw|Pf#fUpGfgcDmCwEN6p3S~EmEPA`2QwG%k)L)h!%>1U zTJdbQAEN6)9sW7Ob9|~Sd20;6FvE{`DCU?gy#Se@v+fo z$(3g7T=#II-`02WkHEr{kHp0d^fWp>w;>sE53M^lPb*3&+|-MqPJ}LVvRx}?u+}l# zw`T5Ls3_gLY&&6b@GPOYCaKj#yF4z0=uIG8#2y)8nft`SR)ILy!EHu*pUttLfvB;& zalqx#_Mz3a4P#`D5Mr++{l&<0Be_+aVB&>2YEo5#7?&DVXCzwoM9_l%^1QAt_|!RW zqe&wcnDLoGTUzDA5@yAayV1C>)+R zpwxsOiTeAPD`>%oH7B`C!vln#Y(rF-d>s4Mw^@}p*3G+Fcg-^-dowp{<<)ncs5?5$ zUb++xR{#aCjE2)YGCHp@A{{zC7wt?)t6MeRdy5Dx{I#qOX|ZaonN#PnoLnG zw6*%X_}VAw6Tjx7)>kXQkn=9izOV;X@ zyu4WqbeVl&kAPQ+YSzMM$HI2{IZ-G50wg^#E&zq9XN$!hL0Q09ScCWz7^g#WW{9xGVUEHDH$40G$qYcAJ~_A*zN%#HYuXwu5cw6Mh}^ z7ly-(eaAFa11A1YAUIL-_*jnVG*zRuH4afV9E%S+f*l#C8Zfg%R1ILL0aXL?S8f(U zuAb8@RU-))iqKW(!sjWItyh&74&xQGQ zcVHbPOWquID)o7*v(@shQ(#}pZHOSm#e`gXD4L(G@6wBS;m7Mg4nX)3CWy0l&pBit z-T9QiZ!X@i2;%*ko<5CCI5+K~`4gbIgEvEPJwke$YgR4bM3;7%4mMd#Fay_t#0os* zBRp9@Ju8DIT}a+e_)gFRPxf$8=0VcdIt^U>Ls4d|sOkgK_4A8#Dp5qBDwr7<*v%6! zyTWuhYaTLPs=HnX%uGaJX5Dq`BBsI2SAytMU*r`q^YAp7SxH_e?mub7t6QuKL1U#J z&7%0QLN(2J7p)C`bqx^HrggI?c&3iJtJqL@3xX|Gv}W_IYKrjl46%heila{z-~qst zd!T)zIhr!>CeP(hYg+{wq47KDL3VC5CD)3vzfcSZEAn3Wg&lor>){0`foZOQ*^1d@($Efbby9 z$J_@@G-_PtHMBEdZ@J@W@YDJd#RHAtp@fbmVV(^s(%p;>3UE^4i3h!!lFq!;c!Al7 zGTf_cKO%EujyJx@_#yRyaDjjP*{*rpkO*HyT|ri>}G39Y$bK) zj4HD<+t>3B73uRihlg})czP~*bg6wQ zCu})YIaz3JGqXa9uRYkGaS(_bUn&!h0}6@I@qJTKclxdUYc^@0!~hC2vkRAXcGuTrg!c|b7_lMVGl`=j;dUcOHc8M zi7vu(IPPFFPk!I3w~iy3+^@=Zu71IoAC#u`|JZx;fF`f>{d@ZBJ9SzW+FGTGLah}l zYsCeTC2g%s0i`Z6B3qSBMZ->HOQvI$x}qW=pfE~N37Aw6A%r9<6$FIHE)asq64??6 zh7dxM_dbDOg6({remnDf-t^*XcR!`Ekx+(MCJ|y&(g7% z;eOLD^!haV&KHJmB7whUd8|BdDk9pu5Ot|kEWrbgi_lUL>JDSk^`i>~BJ$O#GadVpG1QnEq)5%_Ru(K_!((lK*| zWQ&@LT?c?-7or08YQ6j41MGc0gVk#eDlDcTa2iPsIRt^b`VogmKrBQk*DYyw1L|I3 zu$DstV-}7ozl(DFzJGg;7dzFqrn*|gQJg-I)eA00FqW5`n!f}`bq`e+imOpM{%dGd zGla5wJQUFj)Z+u~l!b8cd2IiK%lto!VVrY?y^pV~+vefnF->M#;q&M$Ft6=_HK;B) zg8j6-q9TLAaD()ie5d(e4-`wMh!XJ!-)*3Rw_{-e3Xa-ECD^|1OZTE`U{5U4{IwAZq-MRh?F4L@Jc%5Npw7*H3?+ruPDIFyYP}RRe2| z`lHt43!WlII`Atk_SgKVJ_<1Zn!>gaoKN7R!hw}ZBbgCK9dzWcfx-Y(;7ueFN&Q?w z;xy37GH>2AZT@ef+q_z;J?Y}ehi*NG1E7gDLy7?^zP6&EWz{nGSwtA^tsj1|XaZ@# z{#+a9yaVwzit%B1Ydlo`0_8`TJZ$6`4JZor`xwd9bS#LF@rG8dkkD= zre@sVZbC{4uDr*4W}HdXndGU65lvAf4f1~+%DmL?X7$3=kzH zEh#%t>x?OO!cl@BTXE>i(20_XWr8l(MZ6+yS)7NA?D$oA=SGZC+&w=J>~I0hcz!ED zHCl(uz^w31C?l{UbJMxe`Hrd4tH)h_vXJzV#tm1+HST=+>`ZDVuqL@t!<)m09_Vx( z)p7qJ!URrYV}yGu)r&MCOCj^2qQabIlIzP8Gwt>he{WNA6p__ue6z!5+H8zu(gFbr zJAj1McPlF&O_b&T5R?B9lm8Ht{}7X>AulHQ%>RBd8C=R&vhX5?;goN=()N%jPuN4d zDSUCC-t}|NdJ9UC%`agr%sJ1m3zvJIZ}FukmYs{lr2Y^7+BF6UmmTozJw4Q~?u@Qs8qJsgjng4UwI_|)Z~(VoPF$Ad1{EbkIzf;CAo~s0RY%9<(0Eud zZ$*1|s(-fRd)Jnt4RT3I5#!L2g)TWCf!N${G|*P>mzQ-P$f4!XK5}&-51i+Lfq95p z5$x14TCV+Q^c{T#a}v{x96-tj5GY2Swllj9y9fW`*TFP{UII-n05LL0q3`PA*aW6o zX{cA)k6*zwUltodOUN%~{aLbfbzXHXhpH+fub1@)&iZLWF|?`tV%DDv;KwyZS(Npc z^@<4@vi|hpEVu7j6NC0wlg#QCC3c0S>0<6KE+pqzh!u$?ub7r;g=Ctfo0xg^S*#-M zHg|fKA5ffe6i)wDHgQCzNEmsA;=Cjj>+72|-mYyaeV)%Ujgt(A5?Ryi)+>s#?sI!e zG0di~lW1W#9f^{Plzf&#W|6e2LI4qX$aSE!AohUz+h&KeJs^@xnmeET0Xo)yu*h$R(sAv=lOn3Iz}zl!3S4CCCR`m-Tm~7 zHcde~i89ulm=!!yD%L^d`%PR3VyN&R|sdvYR^M*cjOO zAg`#f8_t1A2`|nP5Iw5?+aenLce0q;SqcADneGsjLdDAs52iv|Jljrs(BkAgQ=>8U z&r0R=_8ySLkVa=nstC*_igC8W1g0*tUeU8NHvh9|_zyPCza;*vzIMQ?ZNsmgIe*YG zCMT^|57zJNAO3d^^FQ&;|Da?1Uu^XMgN}h_)_)rt=%2VOR5Sc<>o(}2zm6dm-FH+F zxRZTNT?;__QD=-ohlwkdK7L z9@w))^%X)p^9cxsnPS>!PY<+pkF z;gB>^TWkF-b_WON@Gy+Rk=3+K9E0knU7GbK(qyG4|{Y!TJE+B9lW6aHwq^ z?W`3(=P}PdiX%yHB21-a)xr;>uv%_b?;c8(q_E3#{TH5PM@t=r%Oka-yGnTekIMY* zQle&gka{b9yShl@t_S2`U|!xEQJicRC3`PiI=U`ssHP*RQ;@bLI)`qw!jLKce&J}= z5n)|hG~-7;yC9O2GJJ_fgbvj@`y?OV+BHQhU4&5x0bf*ZPois0pK)iQFyTGo$Gr`=$EY@~p*A6j6 zpCu-G5S@M4sf%QhB%o%LL!p>am2TM_0d5&Jvy98id~Lw3rZx7HqdaoCkVd0p?tWpYqZA?p%Pw2`r)KZYvri?-!;`ED_?4E~ zmK=hXp3SE-=b8M_?bAI`?gyZ;U36iQsKF%&_Ai}7b1D`A_{|2G895Q613d!+r@OUC zr_PK#Nwx5{4{A$WeJGg&Asgg2X@4dptgrB``a~>SDbSXLl*q(wY1z2G$g_SWXBHVl z_} zzv9xHe%=QT9ooFsI&z-5y9u>OXfKS0p6y+5pz^O@Hw>R;GxYPEt*uf%-P}2UC$1}~ zSmr@aD_kf3ZwNMgPkLUu+x+vw2YudDVA1!ZHYsdnagFYkz zIdLw!&8=!WLia4yaxMtivr?SooBH(#b&p^nCG-K)qidM<=zB&zGg^Ap`<*%bVX${Q z;#or_x?pe?6s@qr%*ywO9LU?pUqs-XbB&1{ZI9`CUY%}%=M=Q89&W-Nm6D!!|HNj& z(7}Ozo45HM{@}q=y%6Ik0j}}&IyyNktFL5vN>Z;lXr<+)#-n|2v`gnx?)@BOZEYRL zGpI_#r1eT#_u;_@62$NYlFL>xwVn1|z`)Wc=8PBH>ZDkRxOezdXy`}@XvMf{7rCuSqZ~MJz`knTWUuEBstCb?fW_(& zf=eJmFn%gRP*jhrXGh1-l@Wqaf&PUEK}d+`0t`(VdvF*2$@ZgfW3+3d%%WFXy81;! zOlMr*`|TWy?!YQB#4_^sw=dT--tKeX-Fo5mC-}oevw`8_D7w-3EbXu-JPsvEFbvJ< z@nu}vyM3D@@uiIVi7&D(q&W1u0OI_X*}U`Zf#gHlgkpBg6YAx+x4XGrE;3toCq=+} zCmsc)$&*8k`5RlOnVZwu18~??`*=tid`{-XO~+p>2(JO?xP~cO|I#$;a!9>2{nj*7 zbjUP!GZ$sF^{a_p+Xl$Hrv0a%d?wuqF~Ze8?!va0@BwvF^mZe+cv(@MKhe@`ns)t! ze&9!5Mq!%nrw^6HVCDK1gk@S5%3uSVEZ7<*lf{;mP!>Ej!%{S9jK3VnPk^_>IXH;kjW7Rx?6pYQ$lp{F!{v>RJ44>Vo9X;9M2&dq3J zrZJid`PyEx@o?c#!-nvE)u!u+OvKKRC=c#xw76-*cy2hgX)ReSR{V5jyIqLvQiXg` zmRp8oI3qg@3)3KP@s!zct&4c8@3Rq(ho=Zkb@`U$jxn@!;lrqRhDTB~YitHpzz@QC0 zuroueF6zC!iJf8v?0pV>g>V&eQoRYk?TE@Q}H8`}h=)mLqmLyyz*$cF<6mZmN4;k{GkPB8?Lw z^HywGTu3IEi$<)yp|@pTmC|C+xBF3NC4*nscb@k#tQ+)~QXLusDvoKB+J<*sVVQ{u zdkI)R@Mq)$5BEhbn<+M)ygbTMT54;9honN!GEPv%UG`FMNwo1>K=kMuqCC3P7Ikb& z|4W4?{LTo^kos?_LlrfWN?$16C>1t;{PM8+Z(jN5EtGNSVdTKGOjFGVMKnn2#0eD{ zIU&U1`BUG(1#&qv1h(fghEv!t6-X08eLc9e6RP~}RQ(g-!MV-YMxh9nEXP z?uh4Pr>MP8Q+qE1srqT-pLegVN^qMxfPRcDe2VP`Q0*(girq>-q_6(Tkm5;=3VZZ- zWw_x(2siw=O@==Xc?-u+eYi)w#w85)BH%9)9y5UKVyA2Tr)A8R<%SOYV4j@Y89`;` zF6kkYBC~dLM+5U-L`9PqT3fs5*;sh&w2MkHDY%X`xZOI?4Q~@^R^+?`Ts-w*>zt~w zJ@S;D^mi<|YLk`?eJAyeXC=BSf@yd#eDc(f0IgW79t-%b1cX_G0Bdh>Xsd+sG8DZA z4 zByMeRjoWDN&*b~`i2-y>rF$$>Q;^QeByl@E4>PGU*Wo4gzvbzMCFtQ*jW zlN^^XR389SFWk{aj0b%b=tex+bYCdExl;jhOSm6C%^m;#D7NC&wkgLVNu31vHma8YDANcu)_qMsYnL?x^yHjl_ z|Ko`-meKh|SH3n%Zi&mZKAa85gMb-g4m7}Z?KBPRd-o^#Naj#LARHz30n|<9{R~2slVNS zS?KWV+$teQacsxdo3P=5^mrA5+5!;Nr3s;B)CWJo6!<0b{yd8aVlke*2?$1ylY3Nh z?E}%X5q@Tb;W!fRj?~67maLMWr0fSuDf>k6 z05|fp@FG%Y)5aV`bk2Ao6Nv;w*W4^&bY%oc;=rETu;KKA zj0EqG2#AP;(%3?tpM7-M+A>+UL6>ihY;%8}Iq$3BNC21FZgX~?KcP;K^=1Kyk=fY? zB#whmKBEbkQZLXZ;f^$~azL?aZC&FC^!c5a%5U$l?Sysp4qGt|g`B|c%1K4ypz{lj zfy80;;lT~3K3uE>j6C^iF;b@w?B9P5nyr!c3!*6%NE|@Xs(_jHsvd7p)Bve;VwTkt zcO!A|N_ww-L*$F+TSWp-S!;j^54vp@Em~C5+PX-Y3;3XP=G6VQuEWN&WEP~&eZK>X zT_3#8lAVU}Xzdq3>zhsZxQ$MB6No(P*e_>$6G((U>S4t1Tm$P;xvTEct893xKf;koE{`j>*dZM0DL59 zxYBZCuzvK5YA?ltk*fCHxPB?tPQUN+Px;NaJU8BU+;cx#j^HQ*P{y!Ij%*EWTpFug zJfP!#cyY2dw2nbCAj-Q3oRtL>7W~x2X$+8=kvJWj@;CU2izZndU0ZGuu))E@4-ktZ z*y@6=o>H8SI_CG;EzY%T*E(s(fgX}EHj4i=AL!FGZm@J9f8!L=83PjZRsl{zG!cJz zls9*;ckg94dRUohKIdaV#hjW*1{79V3r>yM*bBawZ7$&JQ)aklB{|_XU;J!w_(Fv3 zfLxUTRG&z1Z*GH-$hgvuTbzJHR#BH@7-OHe;iz742~OL8+F+EQpaao307!#?qrbi0AZeS-XKu+GkmEz)vi6}Yi1GGBWtmIV~7`ufo zRd^uSSmiZXFW}e49iriuNPyVb1x_t*vN!M-yyEar) zvcuxL*@-#LSOD;YC3+{6{5Ie2aJ?}Md|T9H1t1PESEnh>)wlEVzV`L?y)gMOT47Ca zIzYbu62VFuENFV>0({b!qm1dxMG+`%BJ;dTD?)y`q%7y%8 z2v*?UJ3uJEs_Cgt!lzVu~4pGKhPNOR|l;Q%HvpAw-=DvVO7S3jM&} zc^SL)1m!G~)ioMtn7@mD;KnQe{E%*xrZA6> zA5Iadl;c#+hisKDwSI( ziPnz=A2rl_oUK?A)jZQ#R^Ly)*4NkdbWB?;lW%ldl;}OvpUCFzo6x3rR{1kk6IXc9 zDtd28&njVO8n;m_rRsAM`*VXZ8*{TLUD4w?8lSJ*mp6A#X>6i`I7U715v&+LKqqG( z3@|<|9;zr;KP3G6Fs!H`Nb+3YR5##`iA%&S^J5I&u!8KD#c{<+nI!Rn=?b?o&$3OW zx7*NgE!Yel`lm1IKi`gZm#4B@8>-D38yy|+PL%A!>{80LtcVD+(CSjV5q?^REcN-c zU(bB2p!>{&oPAaOKNioctK8&1=c07T7^y7pOJo9bQMEsD`^Uq)zVWEcY$z6}=5=A` zfiUb72U*1m!}Gk%2w#3(A9vUaSA*Rncp(#b^!~`D1zh=xC?9snXANI|A57-mfp_>S zEi~2DN#Js8e{EzWnZT4(zTb4KV_TxLZB@gR;EmE>N=_|1mnJ*-l+w$Xw@&D4M2`4inEUcFkW{q#k_InU%}sc#BJ zmc(y<5>Z&sW9C2iY;0>f2dRn-tf~Ka!R`pA9rn!S%ck0TN#@4-%+2#SwMKKA`C);V zZqjXaxF%$fER@Mmhb2I8u+F`vnL24Wyno*?Bzg*%*9^> zQS!y}YQ*@2T#j4_I^n8B$#B^Ha6Vf%VM7PxwFN9PtO)!|s*;otaRv7T(aB7vJHSmE zE&UoP@ijFyou1Iq$m*8}b0&4PRHUCf0@ea#9(#!L+kwN;Rlo};D0b-j+(1!}_7oX7 zI(Cl?IGB6hLfaTr#87_5;YAZhzBofTlCxi4Jm~vP-iZF?4?!e^AhIp)vNgeAMdZlA zP{Po&2Z#W;ba=XcuFJKQW+b}Xb9n>9X^JA)Q*3B$h0JZx&M{{jJxFfc!yU5=%l|rc zZv^pIbsqk!9C@#lYG&wII^fwyEl>WIhJHw;ez~3Et2ZscBMuHH>+0$rLKwJ4)Mmbt zNdBu;tEXbv_gTZwWV|p(>Yg`_7&6pY{}Yf-Oc>tU*-<>m6vx`$bs) zlf}>wa2|r^rcNU`Zg@DskQD;;gD!BjoDCgHGpD34Lnx`56bGJNSwq9m-wuV$D zCDa4>yb~-c(5@dpO=8=>KXc{El@DR_1?Ma00&4RDlRqeVb#=$47^f)JWg|4cwIJ%hH1XMLlbP+}yld*+;}> zxIhp0SUEFbpu}PL8WKa|BqpX68Aq*rW_z6@GE%8 zy1?;>uqoUnZ>D{Cr&0M?g*STmF*B?atxaVg=u~HA3MFayY%} zZfs3b&v0Z!lDR#tE{kj+>Y1`h#zlqwSCy;PA z>2o&3m)&ad-_q?>aY!hT5|*+ISS&i$eJo`~4y1!ULSN+Z1bAcO{)k{BzmJpr*LCgR z!KVItZ{F+{Dtn#9d>9<(!WJ8U5h*oF5!WdwEiAIT9I z$Np#sw?gX}mh5c*7zf`Z$)L`y2b11mrAaTapfyt4AXXe}Bi%G&o&G0&hX;4Dtz!HO z$ry{fl%&{s-5$*j4|VKo{-5`td97;qp$tw3Nrs$@_B2kt{{6o*!_)YuwA0HnO%O@id*ZD5M5R0NZ zblc7vrbTVDlax7au$^bTGyCj=lR6b|YTLY9AC1T)J=fC`U=rAf5$AIwvcUemTIq!D z?M2?@a-i0w-y~>m8SIi>phXqp*5iTJ>{`vTe(X+W%3EXo!mv!LGZlgu!EOEU#@6(@ zoLQY!nnl40n6>X@<#!)m0C9{P!9G~bF)>Q^b5IOeDgfb}X5wEuQV;=v8{ z<6cM$1kUz0;9f&l`N=!n!BCwBB&5O~$F;6wA(IQ))WdSi8KA5Y&-mcn$|7R*Y{~NI zY?khsE~p3~d^A7;C+yv$hp(vaug51)){`EDDU`LW6*LmVSY;xjXX%;Kh1`2~^CI>D zd@vep>0;OMWRuNy^Yp;n4Rf=@T5AHTUZd{UAa|{WYu>G#-3J}No0)F`iu=k9rHwk< zB`fQ#U@&)2I8kmOb9XQ@cejCx?lA)_OlMFe;<|y1pz9auWKe5mgCBl!%{sJqM-!bu zb-c7@d9p5l9i(+1*Uink?>X`m4>@Kc%SI>%@Ob9oM?Tjg%s^-EC=9Uu=n^|%wn0J*@TP4n z0|6hkL%(fy*PZ-)!^TKFOEz*t+BnGhykO-0{_Cj`M!hnlw%9Jc^ueMpvmF_^5HmvS zN^tRlz^6%fH#eMjd28Cnp36V6-fol?i|+cZ8tx$jQT&tGb@NPje*zJaXW$Gt3^Z#* zP!}GyNzkR3#!!cU!s$Pk_Qv;T1eJb?I~qLyLB%h^Q`0=F*pbHwr=I^Do2NFlQ zAEf#ZL`Tgpp1lIkSrZO<8F7O4Tb!S+zcYuae@)^#_6@>WKRu#t061$;Wh!ELM2HRbJm0wVLD;Zt*A)xUREvCUS+r)x4!%n3 zD(IQzw(5mzg@y(VYI#)66AcadG4@TT-7q{Vy#UQJy^Oe#X|IbQtkhJHL*n@wPr3Gl zZXcI)R@(1)P*aY=i7$-k&>f8c=YvNIR;wVgo(Y?VX@ zZuYVW-0WYFsN=dQ3;I_PkFHgdt>Ye07W7W|yOs9h+N5ly_f%bJj;9o!SC}J-(x(<~ zzVQBE;@o;7ozRh-RB~;Uq8>t7PYTv0emJ)ZsWNV{DX>B}`Nyj?+oZxHhEfy;Eu+b+ z&Y-FGf#n6)}_KJr%_I1F)yqhH5!#?JYGz1tCX3CAk#Z4b^Mi|{(7R>;t*vb&0SGG`Ebz0!=c!0kfyI7 z!l^f!zH))#e=^$D9*&dy5zy%Qk5}yd`7h45M_1GK-y8n|Q>s*=O)hzisE81WX*pZH zg}hk1kK+uS&SU-TJ~fYOr@eupK1L@77@EPg+11qrEh2K{b;yDU$ILr^7Sw4 z#9SO_l8kq%&f26k>N@glunF&2-fEq!>n$sZ{Uo0yZ55Q0q=^b6QclkjfwTxT>nDEG zWMY>eD9yrZOgyHg_AH6%<@Fb!B+L0;?deoY-Dh@nT7v zyp)s}t3N*a*R<>P(CRC4F3>Kc4#rCQMlyleM_i>tLw=lmN}RO(zq(cK0+BzPT3l z?NOVc=QpB6#yqnYTw)*DWRY(l+N@2^RP3yjkyUp$-tmts1#-t2QQ?n~`#J{{&ptww zcTwK(=>cV41rzNo+f2{uu1a3!kem|N0{(0vNtUlLYGfy^c+RWEu72rT&XP2rh#em~ zAmJQW1U0d*WF0I3@fs{h-t}Z`PWZ47Qb=Bk*Y00KqgLutr>H2!Ux%N{#84vfbxbjE z(wBcfOW$rhM`7mXT@2oC2(U7Pbm>i1JTO+MB+WQOoTmrY&3PH=4wR>62e^jQ>Rbt} ze@}D3H3bA~NaCBTyhoovyO%fAzf@{wSzJmOoFBHk?S?z&l!;iMk;0#Lgv7u3D=u?G z%K=JZR_51R6xUh(Dceh9-A0CcjCA?mxB*f#Ub$qs-QSYvUb5G^s^9_Y>L|+_XU+xV zc!QgYvfqi?gq7VusDE22$xk&y{EHvrJjPC&8@Cbs3)aN=@&2J4$DU4Le#1+twdbTK^lgNCrbiZ6dTJ4!ISzGyS3aIKM z5&KzH>G=i1i~5`Q(7R@D-d4>?b!@#C7oG2^Wrk1SpjvS~nBVds%pR_Pd?6}OTT#Z@G_v=v{hAgQCh)!5C|T1slrBqrYe;njT@}85D*MbSndkA z6fD5_gHZJ9VZHDy{x?#H8nEAg=urHg;$vkHq@(Irn4{F#DaoJh`5VOJs8+sHjSk49 z4k4BZc?ThuUVGKd&P6_p{(B(vuTS6Qd{=m2!tj-(E}f1D$n#hDJcL{u$WAkgQ{`(Q z$oK#m${+jp?K{he6rh^#+fQc|KW_T?*9-JP`Mn8Th`U7N!z zC<~VF{T^y+6|m=3*Yy7LD<7}aRKf4jIpTUa_r`As3QlRkLQF#rQ5Mm}h|CB2_(#*m ztt`&a0eXcX-D`bKi+E?kq>cO8;*vX#L*9I^10u2fox2agL43oC!A=4g!0 zca%5yko5~IfK-jq7C>H$4`PqQRp&d+)DFD{AUni?G*Dh1Z>;`y|7{VLuXC#$j$_$j zRsDaH?D0fLV2|JOb`z=#=BXTi>gead-fY~vYbt?|QGj&vw^?cmqeVWlOi#?Ifsx`J zj9PmB+K3l7PU+dM4MuYBg%ob+NzU*^u1s=Ql=sJfE3)PFv~aW``3*c6cysWZ^Jm}_t2@e- z<$`x7%LN0JwLwe=t)jy9@}K&&=C2^`xCi}Ls#*vB6s7mF{4&-N@@YmntF$p6i%H|= z=fg*5Qbnk1FVLrv#`AJwQ=aDv@(fQDNAFL(ByWxuHr$Ksdek(-yA7xJbu?H?2wEiR z;wBNTHD}nt!d83zQ$RIMbAAC{C@G8a49Nq&qH#-*K#Fxi>CYcZ;T&(J&k z5m}1hDYZ@*QRwKWL zY}!>4;qQzc(K5RJ1SG}X#l;x%8P9D^-;n7&{~>~;pcp=_MQcBSs@>`CW1?fyDt;^7 z``+LFT+QKvfFHYK=gtkmV8}D0GRMdeT5c{GJKm+GyV{XY7uY%9IhX`@r1im4(rGPG zo?0LzKs&JPXg*4}f!kG_l$b1ziCWu1q4Vt*BI@J9z4oN+0Tl^@u#0p+Nj zT4*Iqu8bPNw#)Skt@?+-j<0`+vFCorwQq4a+{RGYM?`@FyS?A7p2LY6x>)Hba@FcO zRvOwK@%fsx_63e6`I(u^!tu`_gCWz7sat*sa4r-vhbSF*$w+as741Nb6#WX@2}VkU zFEVddnC3qOJ7)SsBqUOO((PhvtoM-SP^2+^-!&cpK+7Bh$4z=MCcAHMfxa0U$R zD;Oa_I%wz6VG~PN7cCFo9;)4AalLVqL)V$3ly{`vkU6?VcFUh+8M1y&B6Lh_*7JV= zy8rkfW0_4`vvkzrn63{5VG75G*@kV!p0qtqa}A;}j>EJUS2zJTMfYatJ5n6JFHKk; z8_Wc2|KJ+asMDq8b=G^Ri_UC6Xla8<9O*!qlqhY4Npa0Wm=x#~oy4S29x!S^58w5i zycc0o21hOK=;}Efqi#P$XX!FAKNANWK}0Y4gz9i&pj&$DOK))O9FBkIns+; zG*&^xFD`u5*X??mvUXf2#v9s7zV?+-6))D&qK5{K5b=+cwH-|pI6Qfb?IiPce)7|2 zG+DV~+`FmpP{rTVbhEN3FBpcJT5*;n3VYaeOd&iXFf92tExi?slfL2v?6Xw4dc zBH+E;YePUW(Xg6tj`UcyzvdH3bDQGwDP2o5iA)|Vh$D@5`+<~NAA;RnnIWqgY!@i3 z_cIJ5G!JYopZs{M2eHec%%{Av*coPHPfEG6+}mw)Y&G@$1#Dbv zR7GWwpd`|JIE`!Gf+;kWSVbR+=EsL&w{Jf_E*B?`J-1{nJBO&@%pIDaYRm9n|HL|4 zAx&JHNq`FXxirOi&43{4`d2=cIpG=-`gYu*<`-PRm-rKNzY6OwsPo>bCin?EBYMco zJ?%SvF}ej=5!65Lwwvbmwi`PB9oWH%qs8BO=A80?cqC?qiH>|M4g>eW~!#ilr8NzgN`(Y6+Uvy-V2zwbt@osj~9MckXa? zm?LCPUAW+{`gCQ(`MeNO(S)Mtvf=qFq)wb6%%N5)wa~ zaD(y=M&Jz|@3P4E)2s^EVM&a(wgg%*bdemX z)_)Q$z!XJEf}9xnIIqHt-W9MTz0r6U=M zx1K--{gAScB+uPtXy{}c+b*?Kyb_*Uq3U0;p#kY`Mr_*o(vkl80Xw4yj|e2379G>_ ztn2q5s}~YdMwkaivYmx@yDQ5E2FKrG<0MmnawmMUn`j1Ua7NHrlCM{54927nBYe*a z>M#}HST>WQ!=e(Fp>&a(WtW3@tHCmY2k(BjSfK?a1(nonLo4$CGamI0p~kacu;#zk zL%L86!nvPYe{$YZRCEm`G~eEjBIUi9qYunAur4mpRtiLyh_>&=(Y0Zi!SA#mZg;Yc ze}rPo#}}T<)}JWRC|l)TUlIS`z+g46pM|a*6PiX_12VLs713)TePJ02Etxq%UG~r~ zL{}Ag?mrN9!y_+UKEdiZ77m>B(xBIHq>oCfZ{ECV0sXsHP)}8Vb0|~8>i6s->o9cl z>jc1%s=|ZB{uH)y)oI~fe!&qOcPbJ|VqPZDyLTIbeF^QuP!HbH37;`cOF;c7d-mXD z7i@We(W7B&2DrzXNrw)UP?oA|wF7O~B^yp5yTN=6F-qOWUg6g;*#!5WO11x8OIuLP z05U`a)x&(UFM-3q4iyliNHISi=KX2RkUVHAM|Cks z0kr}dMtz7tzej1hBO_rwU{ySG=FId03Y5gqu==Rsg8mrRf2v{$(41-X1NEy1N?VYh z3vT8!P{`OsAQ03?$NKTAyV25-GKe&pc6EbjVFLEh3lLeaK4Rc+M{NhdYYQ6bcZMpd z2Ipz&rv5(^Z2u!B$XEOvzf4;q3LCGVP_=WNjI?!irSi{b#&u!tWIGT|k0A>=0%${6 zqjX@d{-#2s@!hjt8lZLZ2~PFa?P92b1$94~KY!JM9o@*p{;6_KHOC85$%F{;&W*8p z@zv=Yees9|gZy9*UiF{b7RbaqXpx8(X*m%n)5rgQt9MZUNJ^YlQ&7sdRPI(rEfWav z@rm;8Q`tb?U4g#HZKX7CIB|cRprZX>0kHh;Ms-RUu2pt-z#_smDM@V@prd$W6`|}q zT>eA-u-3(%C9y`M2%@8m+3YJjU5#bbvT{%K08TKC-rc^jQy!~WZ=p?U&jZ#XP|W++ ziZAu|G|i13VT^ngSYSSIzSe{8#9e!sddW)q_kL;ll1wK&PE^(IkNJddm+ulr?D1P4 zN-8ncvwZP^8+IXH%so=pAzQ+>J1?vH^smyDJvFbBxV0OUYD!g(X z^*7X}?e{GG#BDA*l}f;jZG0}4c>61eY z#$Kqo^6s13Uxj)^4XqC!gZ;xue^WJEb~B%A1Z}39k?j1E;Wx6c4>~1oBWU<)f38Vi zBQ>^rC+t?BE7iL)c@^%3KgZ6!$h{!19OXm+!fK{Rztu7#@)GdXCGcct-iv% za~%+V9P#zdDF&9{)bFLSF9XvR-L8V#oQCCRoqRc=jo>EFtGf3sTC>vt>4NrNN=(hm z?#Zh+Eu&hGhJvQ*3JR=_XiW??A2_u|ipqN+C#I!Ck9rOlKsIEOexKl&r( z8zQCaunZjHVvm;I-JJw;^ZBZ(%TUNJ&t==CTuKBw?N`CY5iTw+an$c(^ddebN0u%k zeA3s@OTNbmP=FyFnNrBvpz(90*n&1O2t;WK=ZB(IT7eGhq z0n<3a8{c?l;n#T9xUiy{(?_A3g-3meXMuyWn)7v>!P3U|)p*XQQn4WM+>(v%xk+rM z5l6AkGA3FM-k9{8mX3!xAN0d-yn(la@HQ|npI{)+n7LkVQf6w!70zIRnXC3+cq?3w z9Pe7aYSmKqX6TtSsxKw1qYVrUl!;PX{8_fW@>MpL?@}25j}*+LCn8woVozG>r#94g z0guw(oacb2bx`TwaKnA;cw3<$;D0|<5nwyGyE012hb-$j3%j{8Ao;*I zv(cNa+~i)i(E}KZUqySLO@IB2F=oV4IE1$zWB0U;!%$^nMg|1OD1YGzp?RXL z;Y<2V%cDG(NPUlzfMQUFwg63E(isVYe1GQs?*%dY?Go)S=u-0RMxP!j3q1~j42U=m zE`Po2N2x=*lHhyg6$hReIL71E5Th>o_OtT}aD`yO zp6P}?g)cCBSI?s)tk|<`FqC{qOehvBk>kL+zt|c2^{v(@%+4E*;6A51v;8Sy8vgHf zxY@RiIT~JW5YE%4JIm|u#%ZEcj!_~6KWgGuu4Hi+oz{@fXSrq2HQpK;4r;g>UiT0D za1S(DF&}tN+KJVfGS@B^zJw^NQ&Yh6N@F|7#`2dy+Mv3OpTkw@o?lEcmx15mMN=xB zS2X^23kjY2FRkPTesDG_5|Pk4NjmY$$f9&A)JY;akCkRyh8DABpcT^9l?r=+?*8{4=a-uPz0!F;Ri}@s{=!}#rgKc zJ5NbDx|D$;`B-1{b}Tl7-%wXqRJyQ#Sc9cqslgtBok@6CJkG27>iV)%&=TFc2v%Qd zVr|8s_7S3cwyGLq5va~10p({!n#A#5gH*yM5g*4scuof9j;5EIvv+`e<<);e>V}*( zO_x2HsXVnbRcXsgO7hD6=cAsl)3@ig{5>nHZ?EMnU7_ITUb1nt;J7Bf1C+k@w*3bW zI^tur-Vs#T*0ohD!92h4G~Rl+{TeDeh$^7HD`wmpqA*`^f^%-CQ5V2{odfq+A&nhv zCL!%u7cB?8iF4Cah0lWN&T-Cd`T@}SkqQ*v4eA_JXxIIZDmVm}M4LxrQx88o{)R6s zGRk=0rv=tYCFpKp4y&7WayqUSYipZW_}o)JQp~O)I=z_oyYr|EV2*o`I(oDY%KNM~ zTJZJp!5GX!VH=|cA|#B?0qT33zO37FsRfBy#ZD~Oz_s9$8~=n6WjZarJa+^~5)(*< zP*?v@C~yTv5u;YjB4x%!@a`XdUm{_fx5}#s_FfGpDH?up&}at>PiT`yi@)C38qs$% zT!MR*8(yz6k+&*h8PeI59J^tR-be3$`4Q=x4a?7d^e+9gPw#Ddi0RV#a_7VQHGh4$ zFLeHU3+5g>^T7wZe$M%H?d8lfTG?MZD{kIsiC>o0vfJJ-F)uy0xN3|3;N2#}%T-nV z9a~)dtXq3T!;vctZN1`bXV9nu8bw;9?^;|v9v;mUTb1#m1i?XPko(x2>ax|%Z82-~ z!E?8GYn@kFEG3p31eu(u@uBDJnYV+ciSw-%*LM?#Qxx>9`~A({KqFVjv` zfuNiam0CFgP`N@$whHzUMtp)KM<@|Z!7rTf&2DqKrOcZ*H$z~_iLoe9y;Itd?3n{A z)ON7F%Le_PLzw0^h)3v9;W}(+`@^vQ{!~t2>7pF3viGebN3y|Da{Fl`h~b>QdQ^C? z^L#!Yys80HUj$@%qf5Hwj703=*)5N8N14YcIqma$Vd5R@9J3AUzu4cJ;$9L2HuNr~ z4IKpV`;j}3ivO&YSR8&e)^6;E^6gzyXZ)b-+y+=u1b+Qtr>Bq$Ja^m%zWB>Fh?6jP z`LmWn?$DDPx%;ZGI@pQ9gK{3AvN~NF#(&W3jcn5P1_XRYvw^kx-_o4Ggs+k(kzl_H zzTb2)iU;8j=1A4)>zK^2aI?Odu%NqAuqy3fBrit0{m4(Ewwsq1uj9c0+;z z?C|ZKoMLTcFKRVB)kK_VWW?UXBW>2~*YEG; z{|~+Xe&1PE;uhL*+R`5G-YDwL!k=5DA)T|b-kLGP8w{8=ZEfbzwEs|@__NV^Mgj6I z!dgOOU~-f^8CU_=zyz*tckd=(VU#ZcnhlvT-+c2;^}#k{|Kp_ae|gpL-#LlC<{(O% z+Vo7bCgFUOXqXBg$3#U_(PBydLZqs{Gl_&CRvF10(p6Z|t~+n;jz{`*Li0qKpduKGp8v~W(SNl|9j%UDAJC4Y zXC<_evK*5wsvm*U?l7se195#F@0gcDn$pFNNw62yk8ek{`IDLHB@Q9Hu%=!sgx)J5i+_f!bG-6OFv_iB6?eaGva0=dmv>xM59E<$! zxpyRk#qU@}%NMPR4OYc}B2#;0*ilIG(XsBWbu#X}RcholKKhPCN|ITwisS8k`fOg+ zN@!n_$i*!4w()LD)DC|FOzk&!F9lxMIjMk!AxnWy{t(1pV~A`xPHZ&?<~r1O(@r=a z#6bnV?C#ya9&9aK)f@o?kWYX-lCU{tbs2E9(`ispLQ?+2<~%?1J}K~w5A2uJmad|c zpYXCRp-c}R^9+DLnpW)NpN295gTWB~Jjdx_QTXsx+8##x9Ypg`CQe#fqGB?r{`>f# z9&|xyXCm~_8DKz&N4;@Kh(|D+)YQ~{{D*1PUt(Gs-6IbLwXi^n@dm-0+!!rKWI}M} zU*?R|7TJDKJ3qgT7@6aKv+vt%0O4H#|M*5eQ_A1*XfMi}bO1UbTCG+$=o0z&*BUxr z{0Q9iXCf{Yvs<1%{kFO-IGeFU&f6DO-<2(f>v4y|c6H6{QsjJ}oOr>?on|K+md-R) z_8;Fl=nQam0H`B82oTxqkQ5Jo{od|P1VC<;$#}Z>f-fNMWML@76WQ7!Md+9>AQsXT zj%S?g=J8STCmz3Ltu+ZjOUzm0K|u@vtzeL?y|wl7_^b(AJ2X2PASoUo;L?_fwR9Ge z;>TOC1+6?huATQSlts3-!moVnZbT}F_`^ATL5vjO>ZnctT=34`Eb5u=V=do6sRT*! z0co}ch&;~;sokt*YhTkiR~m+WR2l?u7+8FtL~xi&{k0*V(#A(x{3qcs@;wFPV|`Tk zi`JdoX~V%Wg>#$o{nK1S0iJtsUM}^We8uC+J!vF3Zu|OX&*5ACnSSNUVzP@PZfdIB@*rxs+)QT_h1s*z8GrsRzaS6ouu#k{XVmB|ejaXSPB^>22nas{8Hq?j~ zgen&3>HdZ1{x{i8|7hdh0rHdBF8%bu0>H!2K!m@J?D-J>G_ntWILfSlu|Iv_&W+gg zP6H6*!xaH`gZ7ns3lD&ms!VnkSq%;kehYYYX?i=S4Y-!)r3kN%w;I0$c=dfOoVl-g zJVuFE_XzKrE0QvoAiR2^P2jVyf=I>*x_n+t+vfJ6296Bj)uFTYp&ylzFs?O;SC@WP zSz0rb*6!MOMBDD-rNqC8O+EE^doc+q0T|QqQ>En>QYPszdO(Mf@3{pvxCuH;oyo`$ z8B7uek-Tl$mIJi+#X;h262PmMSI_4C`MwPB>ILTWiGWu>haZ)_E2XX21E+Ny59lx_ zWxFyF9md9&Q6RY*nK`abc_9zFmce-euI`sC^+-gAQ48OEj7>*$7>(EU)_e`17Yyn- zqQDLSzjhr?wjVTni3-_@K<$VQqxROwzk@u6oWKR&pCm`cqH?vMiliL-^;w+2$&ySF-lP`OJmE0V1A5zR1vRu3YpJw~%7jH1sH~jEcE@ z_C?)BOjhCpLTECkYR{Hb);I6xU&6Bsy1G!tba}C;4m-0kw1RahEo>;y&@Sbp8E2~E z#`s;oKqg=KZ8Pvo$mIkN}C-(B*yDaaDkB+ ze}Ymz06hDqpW!Uorq6rH1-87@0@7ChU|nNl7X9?;(}@>7qY;IC>J+gb9y1M7o$F3` z*quOi&mPPt=i#2Pg8<=v#~5HxIVB0dRe0cbX-1)*e)-QLmwpvbDHVhs6fq3aVS|hR zX~`|XvNQw(Wkog*ZPU=D03>o(m}_78=R!L9A`A3jjdz3dx5G{_p(WE_i( zqM#z8ATVxFL4$}0VM~=Nn}Dc@N=QV)z69Aq2uYsv2?P>!e!rP{dgr;f&+UH&2_fI@ z^EvNxUT3PfGm>*D``-O0Po6YXf6IDP2_?Qbu&vOwuh=<@iOvl{Gif!C;aZ`78bq=N@LvR4GjwpeVE zxI9k2D(k@8pHn!_Qkhdu$5j?i0tZ(ilX;vi`$Xt=PBMVIbRj*rE9TF9QHWE*T zC7*VXb-u0BF#qxNG}>)7zdD8`W6P2n&_B#pgnu3bEVU zqb62IR^IxN#X9XUu)CX86f^E_fSS;~!8)*Z+Evk3nz_uUyW!)V#%lid%Sp70Tl6{N z5_vTo>}_{OJJ@6Tvzq5inlzX{o(6?_IlL8PecwGCd*kNap?6K|r&+iJKlkpP{Vd>3 zK}X$%a83GNxkFJgKQMVuOJGCm7)M5{;*Qkg5VxoxSYH06F2`uagt!Y|X=v^I@*@rY zEOOtu8;d(ls+UM09_N&1Z)Eac>Eu&OD-8N^ffyRdRqa?PLv{JIH9DB6*}^v z0K)#cD$pDXZ;6nQG+x1)-2t>Yqi=DyHOqDm@|A9?l6GQxx^;U-?F6*T9lvDezYT@o zJE54v;66W$SV`B>>FEF;XAHj)Xv&(U4)AG zPty5k(b{?NIeH_@XUF*iXh^zFLplM0QM!h4i|}{QjJ2A-bm;}s?BadDECB?Z;TsSc zv!+jJIu^)ZL&_e$+kVY){Eac!(5GP=VyWbn^Y>d#gN$u>u(4Ojar z!0f|!O}vZ0^({0sfD1jlta{v*9XoEcZ=+Jj`yL)dXO$9`+X~+@fW|np7!|DeYt4Gul{qA?a+k=~` zswW(aS}!lJ*}?|*zK&hPP%{DsQ9uQDr0jk;dm*es7fpTd5Yhwy%gPg+z+2LvT~&a!jZF(XSeG$+bqusitSR&I&HoeHg=iihu>9fxSXfvf7PI;ldKi!h|8~@I!((IvoOcI# z**nhb+niTbKSNE&EJgl+xod1L=o9pYd1E<3==1gzjX zp5Cx;d~(sq)m~N6#!)|d^eDLLwoO7|Br-Z`A%v?jA8`S}1q*$l+JSjRjfsg_fQAoj zJk)gauB=2HWfC|eWZxr4j;J2&$cCZ0{=Z^k`~USB@^>D@fmYYB^GYzWcD{WDbLZCdRXK274tk*k)AP1LlZCsOLd`Btr2cla107 ziY#cZJ%VtnqHF8I71)=}gV>kDYuayginifaNE^HtXmQW@Cl07~j(X8|R;)A*Xt5}q z-UN_|KfhGK7jPo!#nF6ogQRV@iWKT_+aMHOF`Mci!k-YC;eR~l1;+DYA&07Cad981 zQoT;FuMc|!2j~@-JyzV2OG`Q%R&2QLcYs<*&@Mx>3ZPwzN(xH#5&%eNw7(AK=rDUK zncBQ|XCTbN0giR_XnPbv3!{EulH|xB&MzTE>jG-@TGlCto)gLrXtO zVXXDe&D?NLUhD7V<^M=uTj46yY7aFVb5COJOeq+r`!RCfF`C+n|7+B+bqw2kKwe1_ku(3c6%24~@!)*fBy#H_KYi z=)M{2$R+$pSNMxMpKq~RWi|=t12RhI z3m`aaR|I12CV1r>7Xft1N=`fBzQS&9^>E(3B;4l7ju!xzsfTg^fIVB0WL+F@5lzOg zDNHx3K~WiiJ-KfbmXqJva(u47nJS0 z9M=Z5aS6N4fhp}-03%FAi#ZeeiU62*OPXXqPwPa}N#b8d#i-Y}FTji`G81vXqVogk zdV5n8z#51qSgqDTo2Afq#SFQR)|i#nG#om7_;#bv7@k}?sTg&CA;I;SDA$_S1Vj4B zjdvxX(8$Enpy5Gtvs>(9m-D9bfv(LC4%#K-tFynq|64DQYgz7fMFLsZcq8tY;ks6# znYbYs^@7PNAz@Wn;f)=Pv)&mLct_#Q)iPSh#Do&vg)=0F=jyl?gNDl8{%{ zK~>Dg`rBm`d~T#=R22Q^>L*YBvqC>U=>)(jR%|-e*}0)1|DbnbrPE9!Zt}Q>j~?_) zDZT%*yUDU;XY+MJwalWLrCG~q4h|0PxeY{%%4CiY8~=lc;eFYQ^jyszZ)$6PXV@km z+nL+qxvgCG7O>v;l7c;W(#_#X2Wr#idHyD-`9?L_%%$2s*Z0o1TYTvCT>)b)>b0kv z`h5G^FHc&2xLt_6K%w;AcG}YP>5S4m`#?y7kr3;($AMW~lAPUnqCb#-hSqrEuwCp@ zw^?isT1G`(dBXS(AD4ES)2Bv{QPU(ytF+(12+nuUi`CoM7kHuGu_=gqn5DqGly3Mz zLhvpr+Qk+bag!K;q!(GdbP2Bg9K`do>w)syFIi(bc}HjT8e1QjB=M<0V^MgH$D9|@ zy|%~w*-(n%j<0Jx*7e&OnbScdZsezwgx9@mjRqKhk#aA7ODLLMXLn~kWZc|J492mk z_S}GSOmmc?9)YA&eOM??RnehWSf4W6-+H}MDWMTeOJce1tx-Sc)kG}mDvI>wB-x^= zYU1^j%=L7&m)_EDcU}F5=2Q|vRP|-%puMW8cfGYQ3ajG%+Zkac9&6*^vQv3pAaQzq@eR`>z5C>ay_sRI~c{ax3q z`omdc<$l{;?X2Tked@~um2sA9{hF`FRTRI?T2=yiSGUaJo8vZ?=}=hQSD-kfuEwu9 zF{mZ8&Y{#QtMB#1IE&LCt!Y>nD02S*Bz?lSZIvqT98*ptHNXy8z=r6m%-ST|D^h=hPG)DddNDv{Se`zpuFi1~8OHUvWC{_81>luGe zIS?UIx2eWpy&suNv32Hfssy`sPiOe<}JwB_vsXnRF9@S+v8v7FiHoG8RIAu$U!gghR?osR~xw=2gePH)we^TxzTd%qiy4qI-e zKN{G6k~Ou(n6ZP+2vHLH3&U+#cGSlAz8GppeazqBRHyc8#$FY5136pYldN(3JQW}= zcCfUs`hMTO#xB|y)*UXp@sB^KZ%eS<){R^-CaAK`pnLIayPj1J{hlWDOt`FO0lbPlO840O{CoklTGFr0mMe=~fl7p{0ss8bI|v(k%Owt?1$cKG>z)^(-tgIsdoohtX&Gty?7_ILgE z7ChI=y|JLM=Lt3a@s0CvEy&vwzs>S~rC#}YImuFL*KMNfECL%I@18 zv~}C-5n6hD+KK}vlC%5G5AW%7e_VLNBvo!$S0~K1zSEQI(R*}0rB`uB>QA4OXx zrC#v?9QWtVi5+yFijzVq0}eJ_Vo0{P^wPy_t->EZnJ7RoQ7JMi(BeU&6tt~}!~1u| zJPrykEL=q1czJu54@?`BfvNojLI@#CP13HYs+vpZx&_bMac5;|tl3<|>Gk^-gAbE_ zA)ojNuVrP~0CP9OKqnKAhGXtRCr$gjCEe7^$%MHcl!-!6b2cMvhKY{9C_XZU3p9&Z zfo36BS}e6D@JL?W;aKGP%=Hv6KfHPNbx(`6`8{u<4=fKKQ^M4w>D^fe8mn9j9mC9) zG=nwQc(yDDLBBo7ZmuE-8=@HzQa7erImu(o626!|eWL+Za9MBEA@MjnOHgO;E#$>u z^oWYwS#$N18bB7(zs&Un z?_9C1kF`^#8b+xfG^`#ME&3XkK~i$9s&->h3nR~2kp~KwZmSYiaHgW64w3M;X8~)- z-WY2NQ01#xh*>I6aN;Pm+2^3iqh#WIgvCe~yj?Z0%W|@2T|~g>09+Q{KRQNv=_nL* zoXcoB{Dydgbf6_ps~Qw(6=t{phE$aQlA}!S)PJWlbH=SCTrBz+TBu5&?FFo;kqum& zs$g1AufSgRdRiJ4UQ$IEP@vFJ$b=&_R54?NVTUwFsw&#tGY$WS-1MyEoZcu;FRxL~ zbI{K=L%c#|@7WAaPca3_T+4#cHDnnDys79wX&!tlWNeQU@oAxY3{zJbm`;D=UiB zbCe1TOW)JVN?oM7VT)5cS0Ju$x3<>Be6XYyeoV(f=!1uE>9Row(f{}{hH80)%3$J` zy~{GJtI>S-6i;s}(|12Sjy5t>RkU%`@8AFKq6wYVEfN(YFt0YwDlh#FpuyH;Eunf5 zBY;6zE@uAsu<=mS&Bb;VILgp-&Lgc~@Y7F!P(9eiT_4UND4)*1s-(@|c@P=B>1&FW z`M@D8%bh9D>X=Jh*UI#RiQig@WvQjg4F?6yVfV2;mm8~RRKppO2qW0!M+VD4L!zs; z)aj(B`*jxTIz7F%PSGKHL!qC)@BP+jFEFFZc*L+~F?j#aG`V%)%Jkfx_&uSX)wAR| zuFjpVo&4ggx)N9INNUnHCxtpZIGYkEW>bH^)mm}L>4U;D5gGm)3h1zX*NOOg;qe<6 zrH-O$(j(FzwNS{J)%X0|l^tW)<)z>il z?!!ZKbegkwEMt{-9Cu1!uk6jm&cl4}oP1uEmAUcZu<4X{e{GevS8k3QfR=t=oAR}Z zL-p(``MaDunP#=;!^oCFPlKKx`%$4(y26mDFNxXoThTlEy~0AKe4LoaG*_v8LniH-#hzR<;r=>Ds_axL!u2?~Kyl4YGb&rRHLLsOhPS4`W z`1R2~nu@KkxIY)Lgq=HO-EJi;ynT#psZuv4CSDTpd6Z@gDX zrKx;Cwp=-Ao&?4@IOafe_=1KOR)36UfBX9*nZ{4;fV*;+i%DS|T1VE{3AbyH%Ylgr zVcv9Fbps{57GM?$z$};sgqN1a5nxEMA?K2D?uE>vp71B$66)FwRx-UqFB_ zc@A`X#{4WjuCqov0l*todu~}If}hEvH+h$Eda2h#G*@<|Z~O)Ac3EZs2)YPsn$0a5eEq6{&Yp)FI`b|y$rw!llX2WDr=r|FCDvKVO z-OTjlWJ6=V2ehcw)tqDbzk9%r{GQoj!$0AdrPu2y2AYKhGz-nUojb>fACQU;CbOt% zT5;q23#w>Y`pvc9us@MRALdamX=HCsy}*iEa%iVJflm7A1iU zP?bwI6DWjo4oR>WVttr`a&B$!yGoiXTnoy1hJn?krDwSO6LrTV;u`uEpX|kSIiZ{v zotxA7+9i25XNYn>V7{>{rF%JTX{Dkov|;vxKy-z&VPDtbT8*RBrYxw_86vafH$2T{ zZa-)p#8;46<}MBi%!VQJI4I|zw^;bIe$L@SDF)@--80Yk$YD7s=j|Jg#ces{e{C8A zl=JqD7jRk&d_iW}P1%-6ZVqKT3~9NIYNqL9EIm_ekXh8^>_@SqUELLpgv_F1wm!zn z^dyiK6-D|9l{pn;78UV&kj$d;(sM)#GKJFFmrq z$9W>|DXIc}(ee~cPxWSOt*l)!o2^PT2jv{@-Su9o()c8Wd6#T@ zhe|X-Ip3}B{YF>lC5{@a<#LjNC{0)8hhh~b+)-Vjg)Ku}p)Na3uH8#DyjcIynq!8f zD^&dSkQ59ErrFJOR+5#sX_s?ni* zF|qTonODUFuj)?2h6KBSw&P_w1xK!SUCZ@nhrn&E!cvWv`79lCq1WY#$AteJR^@wG zPkor9$SeWOIZ1X@luu}wcKnHyL8B|Qq9-IIiDajuOSiY`wTTp6p?-dTdl11#SE%CK zb%Wn-PTUTa{4(i?*rOQZF{J%v5+73-oBcl~GxesE5#*2)#e0{-P@Q{p>AB3L-EG&` z2VTm94i*(P^;L>vFliK4k)Md^yGS_@AyT)JDS&r%4lR}bHyoHt=D)U2d_LHcI_RSw z-{1{t%fz&&r>B|b=vX_uetX>HER|E_X||ePjok_9;{x4l51t7X)rpCTyM%}zIV!j; zgJYBhZmP;Tgq{tCIa?te_PnrhWXxM_eX3_VN8M_yU&+$ze(#IfC`kL*3*<-!59z?Q3*$Zr|b*{NoSm+kx0_hZkQy`k=*qa{tseR{xb` zvoq?#GiVS#oWG#sP$!blkQ{oI>E&`ixx6)TuJ4Rd@7_Z4E|EOgQEEtVXcn^2#3v2R zau!1Nt-_0sT7WiJQ}SOcEOS%7_~P_rhk#9>L2c^j;;gk^yu_YsXmO!~!_m1_xw1@M zI)~gRjFx|020QqVFyCJics%f*UT4na=LUAhfENBnB%NjF)hT#r(BEGv@0LGhSahp@ z#uhFpXtb01S`DlxPf0lsVBmm(cljT4gmvE3HEV(f-i1w;G}1Xqr#~L&$wP~&njQU_ z>6kvCwG>nqVXlNlAT%Fy>fJN-T4Naf&q89(MRzsK6-08feZ)sK^aRJI9n?}4rV06? zORpW38P~3&)y?)C)7Z{Sm=oE%l?EXB*jM-3c1P||7pv>M<|Zc16-?%Qk(1=!@LPQq zA~S^Ur&NIQ8qFf2!zfx(-y_=y1AJKY^lMDCsoz=**8-DHy&-nh^e^Abo$q-V^GY7s*-7WmedWhDmfXLfEm7Q&q?Nkk zJ8PJW3JQfKr}K2{3yua)D)=ccy#V)}1-G1Wr#V=y9$3FFlFp-371Z*PTTnwqTEK*F zH$XElR_YZBgSWcFc&rz-&qS!=q)^I$gTQPI$#8aTv=7_!;D=A#`@8omMMgz!=mW{i z^t7~fSXXXRFhOA9BJu`6&ZaPJXfwu3Nuxc4EHz2Hxveb%#V{*S@-_?IBoRo{O&XXA zG>OgQTH+%lt;C2tj=T{v@$gu|7Tp<}ylYy2;*&}OP+4wAMFQTIgBVMAj{mdb?KH$k z0~CD;4(C>$ZZm9cyH9?clHpuF9Oe?P_{wyUMqc9vZn>WWs5+Co``2WVYK&^t8 zwa`QKKy9j6^j0+&LGv-|9)MC_2~hd8Y10hn7uTqK`@af=qAHoacQyRKp)de_g6G!R zBS(INn`)A(+Kojmj68)B_H^@rmrCe95z%p`ve`S(D&roZsAc-F7=>eksn!(=UeJ<5Q3tE;SrCx!oBKzVXRJa&$GHpv=N$0{O~m&0 z)S%g|Fd{e2%nLQVas4h zzaA3~R9=x88w@*o7;LC2+U*4%f7%ki@eHOD78sDINp)xJs5^Gd!JUWnv8cX_$X~sK z{~3Ms>KI)C!~&wEEGXttqq_o#=0S3(qf}%ZfGu0XNmDzrjkCv1Hh8QmbmO?8y6WlE zr?aAsT+cfdpI0A6l>Md@tz?*Ne1#mGm#X#&yD@R2K_wu$$b>k?vQa85EPYKaE#ZhZ z!;h?Xu7HGd6S-W%y75-&-2GqH%|FPxp`p^R2~Tg`SfAy{M@6bC+8A%VdGpuDF(%gi z5{VO@%4(P0zJ`Aj0YHnjgxbll#v7iygvYUFWbUnYF%Gbrag?Fw6eE8P+oxJtY@P3i za|p_(^QbYY^0E9s)9L?rJ}N1as;kO;;JJr6S_Uj@`m2*oos?*!ujS|SRA?O1cZu@I zK|yoaeQZc0*pm+ah(uV#B|k!TnISC?OWJO@hgaE{i3Q;c_CLM$7^tN5tqRBX``+&{ zbU~~h(^YY5AzJ%Gh)Z?Mw#Az!@cp(dSd&RRBj=?r6dQ?!b=95q>0!l*)T9Lpb$AF! zu9!{zbB&t+7^~!8CZNOi-6?U6ShqzdiZq%I+V9QSukE}Vxu;v1%+vw#lg&3`cTzi5 zW);(}Cb=)XlUf8g`T4l4-kRh>2Wb!g>#h#U!1wUb+&{I@#ELU3%c}jPxj(aGqi=?5 z`#DEpwQk(>j5VQgK7Z_Gh+J-1F|6zA--KzOjRC2?P2Oj}qdL~DIDb57ClSF}j%7y# zGTG%w&Uw(uk4XAVsssX#JSad&agAik_WbdBLZcqn-D`yv>5Yx2R9dkt!L&!P;8b1c zH0zlT(gQ&Q&DNT;HqX>%Y@eA>#<^PW2C-v=PF}`3tu1Zby(X}Ke~@YK_Mns64l|kZ zWO@AFPVQJ+?t_bn=jegmDXNR+55$u?G|JX!KE zWO6am?px*)bm8ThWXF5UCVjPy5DA4nJ=q!QSXhD-yIxuq{!wA!pSr!Lk3QdN)2Gkt z_YZ|>RZf~dFZBR{6W+|pU!7UA9Z^N)jklbOxD}JZysR8FhxlD`E{U35Mv-SDq`$^v zg^}U*+kdE@-o&zHFJQ|9^2Qq#fM^ar`AzW2VPZm<*CxHaE3WWeVg7@_?{96yG+>=` zLmBDdL7k>0D^e;E!ME*~m6a79H^?W?@@#s#r+TN|;`7sJ%%Qb(M9(qDi_EOC=@M?6 z-oSK3)^!qX4q9u11Z`zZNBTr6J*@q8yopNwtDJjy+JQrdEVvi!G}}|hfQcfEh^A%E zQQ?y}fKSdkA>K}Vz&ijaO8J7IPtwIJf+x%-x=P!=cI?+8xs*>Mi6MVq`{GL5@Jqpx zBJ12)h^vPu!47_+WH-t_dk4!tfqo}tpVIj6jTS9h=@rtHxEnwX*o7-zy%LM(N5?dK z?I;*8YIz|3)8W8l9^b-l6&fl?ISw*>yq}zPx~j4=@{*7ZE$V8!L!RSDHQWuiIX$;r zSLN7gN>T!Z)s9-=IsyvIAtTy#kS#MpLsrs?@Y=$k44FUg5!#;Ui8r%;Yfpe9^E|1>nKjve$Y4&X8ZVliS9ar`+0*eH?cEf*&PJTp zo!Qr3(o(eNQb~0|!_CP?4xVbJ=@r(Rv82CLMTdSub+j7o>ORoD4pSgC%edXL{X#WG zx-pS*>XDjweT?lE(Y>zS(3c!Ntk#xw!hK2=T0BXvJ3cbAb8imJ^!q2N_sZ;$rewl zZ$@n9ftpO3II`=RL2mEQ&JzVcmHTey=WyQ#lwSg%d~rG9nW_NFvpFgj_eTe;_vdoX zRj^1=9U7kh@PcJGt!-&!b3Z&dBs*o{JkL9#*S}|HTjIB7W@ZbPF8!iz=-Xt|hi`jP zZ$c%1qQ>NH2sDkwhmiAIfZe#BkJghzP89Fk$%9r#{M`C#YRVw$1Ui_7#VL%NRv_qN zs3JcR)3?*mKtv&R4+Ht|2TRn8&wT#vNZgLDWY z^?b^tt4WXiLLJnt#^+tEHQ)cDqqSz2XtTPf*~SuMRi;Oz zn~O{7xm!9Uj5DldzMZ=#2TEI*{mlIw9Y6KYI6f^ok;Rf_>oR8JDOt#L<>%U&%lc}8 zQ$f%A)vL>8efc4Q-C2BU!Jj`~CVcNBj{PX0o!xM@bgU!^nJ{aDNBgsbhcRM4mK15z zL(8HPahGOiv4ef~!2L0r?s?;vsC9G_@`bM^DZ6;O2`&MHBF-gNriixzc5ceRuAqZe z-YLa5)y3-0OwEc4O_a2swtoFP;v;NoZ$E$R*zZQ( z2$^`WFLV8O1XbQ1A4qLf08}os5|Mys@g4I+3wb$BPV>?cAI-(qjKD_pvYn|u4sQ+{ zU()S|9efbVJ-m62wY}A_?FZ4n+oRFpe%V!3m=$ATGY2@-@M8QC27RNv;;*P(4P}uCRO*)P5Mo0QJNUIhLiuoT1|LNZ znq&$+7k$;XGw%>;pFbzwxc{cF^!{2-yC+)TW9~ZmIwvqiiid z8I#s=C7?-yW@M4F|b?Nr3KqR|A?z{%HyW&?k6q4Ur-%RMl=QYFR9nKx&J! zqgGX*3C>is!-49Uv4=E8ArcBa!@afs{=*fY{qojo|HISl+ z?Tsl1SN_`$-RPp_;~RrEfA`5z4X4L5@7({&>f4up`RqSFUh!y4)`~IBfADF26ZQO1 z_;FtSjTn#hF~_UQ7sd?S_gp62s9WOsnzPV*x^B27t5UT4-kn<~4iw*PdEs?SDy^M* zPybC@w_qhwilnu(qZV-R^E6&)U#R%|3K4eYbOLBXqhENi7@n4MJW4yUSedaQja<3~nl+%EQ=9Q$0NRK@!-s!W#uJ*xkp3V+_vLD8htDOiW>&W=$BM=F)x@od^mWO}e8 zRmWKLY>z*YjKC=TcxYQ9#-1Rbof+LofP;y?oxHp}Km#-}T2Tuuup#yRleZYduS&xUy7DyVHJvW=QBh6T8}yE|`PJQ3@SZt@?7}>1%OECOp|VeuWu>HSGH}S9 zS65d@?B?xT2dOIxYPq0y8@xJaPMkPFBzSt_kQ3c;6op)){pEX3^n~nSv1UYx9RPTya)-t zed{0yo;cCFdwydqd!Z$cIU;e|OBJ63mwfmj&Ck>`ax_W0(C*BA>yfVIvs3m)L;lUh zkC@_9<%)vP=~EfhP+ODF1CQmt6Tdyo30P|oD4j2koTyP;H`l7*NoB01f=ix|E4enk z|LHE@=46ij)-t@D8%Y*DteK!?c4oRTj#1atN`LfuMx3*oXqohwuE;4FXsxXTq6rQ3ap=-lCa=w;vIZKZGvPw8-6Zs z>yIM7;hBcmxo4g}{Y>1&k*`@C?gAo7vVYvGm`;_Cdm!v)k8fNT?9s8`ufBNZKcyI_H`?cR(Jv|Z@z2h&U0RZj1C_OWC zC+VDoPd(;2--KtM$QBzpR08{(yuJZt(SG?>zsGi@5g&5ce*b`fkSZa}p>c z48@mhs00UC=4ip8E6{wVV8 z5jr|nA9gUX%iIbanG+nEQ6{duY>lwVQBKIm-hm(UM^V>(1_cW;f$okilEOMmyG2!H%JPjA^x)UVp3 z$4=lzx=t~tNKZ{&=sVsNLx4@ygdx8peVcW4(fBeBkgn^1$t&{93%n@L9$O~icIjnL zfH(cK3jMoDIz)b-PvrM^jHPG?HNY@{SS9c*KUIIM;g2A-DUjrkwYY?&Nu22W+DR>G zt3w{o7%UcPww}O+uvkDqTn!eBX@gaqc?_3y>I5J`?=XS_!U#>6*dwCOoO`*k0{tsQUnt(TLQ9+&+NL!q( zJ&oLU0lWfNZW&DvJLbWRG_YGAn(xT2;kx_8fJpAcx7Hm&vE=qA_NNH9!-MWK4;5f% zrxWqrjnT*Zoab6HgS3N^@ixmoCn`W=2uLpdwnX$)*FBH@0)zBf#)iKS)pz8T1u^uE zYL@C}D@iPpIrpaV03`3b{e(4^uOP9cyG-h5z@)O{4n3A=@9DLcsQCmMJ@Jd`!}ecJ zC*`0idwgOJR5@06NN4t@E!;(dXSR`_SLt`VY>9xDSrgUspuV->=tl7!n-t85Fu(S2s`P-0%xfM$);SIw5w8 z%NH}$wfC8FHT-x4E9&uR3%ZWvl`4K5+PfRYUtN2rHFyjRYVQ&Hhc;L9!Z$uUKJIEd z(cTA=$M}K7!U2iJVolhm3|YD$N0gvz)|01QQPgae7R`yvvz^ACKbtn+EY2;Ym`rXp zgIjJSZKJiE<4n8g(Uq!ee!)Q3z##l}X|OG~Y?s2QGZY+e3Jdo5(|)GTGC~6$YB=34 z)H@ZYN|Q->O^u>B6dkapT3Zv)6`@p@w>RL!`9M1;;z01$gt=3!Dr#X-AMv152#N*F zD3X6%?TkU2cCXtU;z6IL;z76Qk*X5O7gi7s{o)Fd$A#mWB!LVSsg7W}tgT0=tIsap zXia?KIOa;*_4t0qggh^$^P}nUR!;)v;f-;^C}v9_C3wUUS;H+&=SbViZ``^?rMI-S zP!^si83Ek;XnvhW*b3-&N(B{q7hZ z;LHaU5Lwc@fR0gnQ_;N=s-~u9=aUs0g^{`4*9H7d7TppG%{n5Yx?i}l7R2?=zDdi5 zR`d!)^v;aKm%DpQl{vhQ1J*_Tb7~{J4)HFl?78r; z6f!Be)pwSf2sieLEbk?~e!X5$$;o}ShSRs|_|5H?ySlEAdfz1;e`0p(GS3n?xwM2o za0)>g~xM6Qm8Kaj1Lwa6t8?Wqz-LR(Gf^)N<j)P}+nRZk>Yokf+o=1wirqI3?uI9aN=L-mW$ zlA12RVabxV{npsu>A0zzUr_gqz8`LKU(E5y)N*&D*wB+talc7~!ge5wBxSl~=EZgq z*N6Tjbuk`a{6Bfpb%16OW*Z?TPb{G^CiG#-^pUuPez(}~j)O1+UBwT!? z?Rv48B7O3IW>5wRZ1`6w7~9#-A3pthe1J|P!80Exwz1(2!L=w6<>Cb%alte z%BB!kdVz#WviGlE&4DJRCgBrTdYqG{Ip8c6E13lKZTXyvKAyr_|E8z2r%YXM=$KMn zmhn*8Fz}%4=2*()rQ8V($B|Lcw(N5T1KprbDQH5IbtXa zG8J(>YD-~}G4J#zowkJlk&k_!QqD?f6bh|qhA5GHz#m=K=|v1DkoeBJyvWMT6rkhy z@ehjkK73+ga?org@3snefh5mLyU*#NEmoxq}2iluz@o@!;RBM(b(Vg@=c6ZYdws{~~YttEV~@ZDxgwVluwC#QWb%Y8U*uaLpQ2hqH={IhyLyDr~%p86F2t1Su0jIi_ zmZqlZ>%O)Qiqo#fS&8g#I2O{XZJzBb?G`(iPDiiKUtzjg4bWJfs_Y+>?LghOO$Taj z+0QCi2=?AzdH3T#;73ZgpuhM3Pf;E@Q0g_N(U9d5HR z8DOXygD?-1v(cy@geJZ&Ffa#XokAr1Mmw1?$weRrxIcdsMGL z>U&1k#zuCEY7^L*og${MwsHK3j6x_o7HLWyD_2d`RO9%naCxhNc}>TH?(I9&cZ^(%4O7kHqWXexZ< zv0NdozYRXLX$FSi8ORL-`UxzqI>5k2q%9O^Lz?ro8Yc(_i2HOx&HYK~PQK za5mOY()QUDE%AwA^tjut%#cYD1@v5x)T=xuXJxEEYvuY48w6!?nRdlS)~%l&#w^`} zp<}kVKDra!!Gf+bigr)#%e(u-$#hzaIq>es_LgLh0ZPWsA~*JRzaz)5=K$e0Z>0k` zj#cO$xlCHlJ#k_zDRM@|j}536Q%Y{JSm)7@SwtS_J)+R`$OAN4NhO*$pSZk0tg;UI z?alV~tn*H$ba>cEtX0=4_8cNlt6-hZ^JqZz)vb@_)G^5aQEuK?YaxRIQW)IppDX6Zgsrj*Gd~&)> zCi}Cz)CM+KX4qb9i@iCRHEoicFL^OuR0pwu^guwOxypvjFX`~Pyo02)u<#7?qZry| z{IN8SVu-y@Irm8k3?+Xw%Fmo;MB5k|M-c9*drMAa@@xY2yB{b7BJ6Oqb9FX^CkHvg zU5*VqahGFTBZ#oJU#As`T3+HVH!(2@uly<8%6v*i4vhB-*7z-M$3PXzE$`mDmzYtL z`;`}gUg<-GRnMN2ZARAr`W1d#3B^Jmaky5)5#_$p|_G9!GI+W7A)D=JobjcZC=PK@QP zb`?CHtS0c@Hx>Ervy7%I_$u!dd=!7|BoTg;RCe(GuvGL} zEAsvGo4XR9B-ioR)C2~>rR~x9WF|==2uP)D{V`F)1Fg;@W3>L#Z@!-PK&Ep^q|xw^ zV+J~9*M+VCEB7nF7EZubZaTG8YM1Fb$5;!Rv`2A`msW3cZJO1695diQJ~#`DEB{#$%Fi|GNxRE`o4HZGJ-GdRxn+G_KbXXyoKXn4PD_}RURwZY)oM7Ew+Ax!t9rd*GJd8?QVEH^mz1LRg8J4TDz0+_+EiAriox8L zTjl1c_JY!kXMU}JPy>l)gvX#wGe@Hc>f?yb{9(*v0mrbX%YpZMRin89ZRSFrWb=%; z85hn1OrR{?nTT7?yXZufucSvEXN|OIhM4d^?-Y*IO}?!!+anu+iQ96y8+%hnh$(Lw z+_I52O&e}|TR^BbMBC^Y@7Yjhm@J-QwxCbUKP%$J#dbf}U~Zk8M5$=sor5WO20PBp z%`5||kDjedd(okoPWo3KG)C{wW1iLh{LpE0mH2eD;yo*iy+WQ@NEWJC!rvZV%*Y)v zgdfa$Pm#XJRLaq*EeGT`?UU>@<53`tsNq6sA0#KT!P;APswdS?-;)4N2d8MReAzDT zNb>omD`+bE*8YZ0yK-8wxKylgQfnT)-mqi4aHS&oi!vJp9xEwngmx;c9@L)a-HdEe zqW7ekFn#-LpM%kVM@HPRG7(3UNj6jDbu%DGPil7_(&9d;j5HZMk_D}P`O}8K8s?wm zGH?g?#PLHFls~xeV;ZM&Zr-9_QA*5*4`l@n_}`d!EB*AymomeNa=cx*N6B$`kk(*{ zqne#ezoV3$YhJrip!)jQ3GDY?6DG zR?3V_TA;K<`n0MKb6c-*Po6wiV8!(7>J{Z$&kC9B z?3^=SsmMR5aMKR#z6utHYhcpK30m2&oObMVeLVajJfl08&N~w~um_m8m~oGv`ZmJah$OPK?I4L*cr&e%>S>@gaF)q8D}5svuIFMJTaI5qYXR zACZImj)c_)pW`2Byi+Qlc32XHCm%v88*|{dqtu`ZEU;0_q&9hh7ZAT3&m{MDA)fvV z7M-(yv^xt^s3Ep(@$e|-mvqGb%l0oSw9vo94D^f25dRlVZ~|C$kuXONtKOtskU@Gf z3sH1nz5sSh_yy*Xif^ofRR2}`N(q5EHMO>$+y5-S5ax4LGBf=OD{7&0C|XATIJ6RQ zS3Q@O^OE6}4u_uQyjvwCZ~JR+!u#jWxON{qFG0cYZ``<1s7g1;_pTVRdPJ-0N1!6? z-+$vS+A7MguE9ftdro2A%3;H0helQ6w?TemJ^J9)1d872Z=goiA(`;By!?#n3qpUy z(tfR-T?{Nd>N>=){gA;ne{g?zb8qaPC`;Qfa%OlC+r0fW_9mtI?jNK!gDC;eQUYSP z+qbc7)j++#8f5!+T>~s;Xt$#VmHQ^16pDcS6b`p>N@I}e~&C0IjX9(ieLSO_)8yEbz7NQ=_D>jCX+L7#IvO;=gtsL ze*=%~XfU&5R$@+$9U*aJ3^@8=Lig?HxNXaJUj?;5RsOYQeYn9^IZpdKDe+|e@pp)F z|JXzAL+cIY+VG$9=5o8Mi_R~(K@+ZvZ~8ficqAtqZD>zBGi}vyaW(1q9cU~wn51;h z4iy*njH@qXw!Jztu=7(GXk&&t@!IJ|Qg0L&R_@+DV%t+64VU^otD82+3k>6;^dG?x?YS@E}x zv7akMMa3?XTNURl>s#1aCePfya=k!XCJonv^{Hl3(lo!KxAq#7D?>~U?K~dP|7><= zd)DlARyk7d3fG!JPP}l_GhPW_4hl8*0t|M|@7)9o@Rn$}I5Q)mAbs*J!CQWh3@k=8V+e8y& z8_-04hbfosqp7dXPu6c6u~CKh`{!3}SZpM(Z$S@XQ^WQc%4(olXiez!GiZg`M_aMtXg2r)3l=Rpm(AGCCi7mjm2bp^ z_)E~u%DE}Y<;U%-FwM1!l^{c!4y>YCVpyPzbPYoFI@`dADhpnoOQ-a`Ia=tKrghY& z1pRx0nqckoc3Ix5yijjPo>SmYp#T^}opZ6TAv|%!t_n8g1AYF0Rq$cU4 z@}Rc=$kd+Ja!le5@-d;}W8+-T#po>1C;Q1f(74WE;khO!ZnA;xH&7}gK}Xw1Yph3U z;*Zge)hL|T$uA>7YYetm*$HpuqJR*%psT59_S0|(zg}4RVE*lG2vf#iOYL&TL$tGK zZt~Y*#pr&%ijN4}ltPy`g}QMkn|bhP5b|>KHkyyD4OM?TZEUFA!w&V7_w|aU#7vhIoBATRZf--I*{ZoyKss2+w7JmyMr4eR`IFm#2d`0bXDPItY!T zB;arBNGfmBCxAFXNggZS3F1UEIB$eFQ6|QYOE(>Wl2iNI?da7J)3uLPplk?g?HBD4v&Ew@{mo3CUBc~WOWshZQvI^gOm?=ZJH z*X(F~W?CqrO?3DuXcHi#3UZF)^NRNiFgjE9>{<9FA!$o{E_Ly7{qmCkC%s5Jf6?Ph zZLI7RUhT+Tesd$+*t7987iWT^VACT{;;~CZ{L@DoD+9G>8|`9FER_Uz9huKX!{*od zGl^LS(eqU{u1mGXH^|^)J~urKm4WQKj%6DDJ@0apE%z!srh2W>4uL(?9!Gu(dIvkU z+q2zg8}k5Mt{v#enUl?rGRZwzbBt6P*yi{x7Her0kM~dfwnnlmN_gE$aLnTt$`e+) z+s~SA^C&xRoD?6X+fJWT`9O^O^NJ%x9hT=rQROd^p3Em<{n@A1vQ<>vCS8;%haa(bPPw3gw7M zL9fUU>(fNu=J{cSB@z1GAU-rEDpYIAz<_I^ztGCcuQ`~K7*P>-fS$s`9FWT`%gE3o zv(w}zq7&YvFBm?3 zUwi1n9?GjUc{Qw>wPk3FpcAr0wG))@!zC{#rtDo;2Cr(0Qkk^o>(9;ViCYJ2=gnKz z{v*0ydakUVvA@3?lbC1y8$CC)oSHxUXR`d;UY8j7)nDWfaPCqjRzs2dRQWrS8t$b< z6eKePQ^OeVLO$D(vb>>T!;T%UH;3Pt7xy;3|GoyzdoykI>h*#IN{+9@pFj7^!;sWe z-i6^msW~IeyuTb|g7jSKtT7tA);sfV8PyMe2u)cFozH_fumI4j(vSD<&q*1U6D{~s zZo?zt4K8TGeU%^k*|{o+k%|TNGq1eG%@oNiIhVR?f_CYnA+c}hdteB?kaj0IL==QE zZD;Z2jN{n@?#CZrsA1-8sUgDhdt-3grB|In&UJj5V|=#M%FDgYb#lS0xf=w>pUu4{ z{7H8Yu7r!vdj1&y!i4(%%9#8yN|D^nEQ?$WACM;ycuu@>WjU!48f}n-R0Qu=#givr zV%&Fj@Hzg0{x79GZU8N*uyV;LLnQG$K@B>91vW}*Zm8!ieB%X1FVBVqYZLyj_fpj+1DEFRbYExrl zf$9rFf5g)M8p>q>(pT3Ze(i@WUbyYv-F066Rtqe24NmeWM zGa47KqcfA-2-4HlJccv;C)|#YUrml`*8iU_#9#QRR=|^U9bSLSSkpP9EBJ6RaySm> z4eay)E&yXpt-UXlKH)Gz2ct2yDa6fTK)A$Ec}E}2%*;JLKHC9VoCUQ&RWTg4{Qs&z zwSPlSr1jIBHbiet7k&NA^X-E{m)LC4>w;5PhHHFD<0+%td2)!-J2+J1*8g#rfYaN$ zmZ5(Pxf07D1#4PYloib|L5-VgqJGc|_<(7&WJwWp-|N}grYg$cAl;VBYeuoi=1rT< zkcKzQ2*sAPKO-xlh;O49As~oT^L8h_;ap_lt2B|0$K~3IopJdSW^;7p(my5y zh(jVt^VVRde28DG@b2;z^`GI2>GIIm$%gHJrhyPC`OEp0>mRl*Sg4}70T7l{pZ*+S;P6mbL7Zr-ff zof>l4x`hd&79nlgTX0|S#oQoxwPpsUs3hhYY99?*2-gRa<3?{w6?ZM?N|P5 z^6**}GvMw!dlgZP%lsnO$CJW$TXW!SIP4Aii@hGBU|& zN|{}50NayJFGeky)2lm9<=or64zALzj-HjT)`YHwUv5!4=Kegt7X2wxr>?iBq;Sc+ z7v0S|ppKme>uF#6%gV-;$!(bC>Xu2-vStIwoK{7?Ig>Q6LG>#1pp-PMn90x54(PbQ zCue8a{abs{M%LMpr%}wZ%es<@vM=(S0>u!a@Jf(qQC{lgDmVA zijUY}_zoe|_UD|iQ(k$2>=F3LzIKex%uVh0oj3FEEx^L_Dz8k1BDBcJvkMh+&r4F; z(J~xf+d%NXh^t&-iMBbQjt%L*a+C~L1t%9i6}Z%Vv3>3q{P*;gIQ2k<9&+&3XY)y1 zlzc>`rKN(!9fEMH)m}o5Tt+ywUUQ91<)ruwaH-2n zlVA_KlsN040DYrfu3jB)?(e(!;D?3*?6?$}%GHZRtgQC+p&EH@s2b3Z@^6Tt>onA$ z4Ey)S-mMq7Zuv7d!O5smJ-t^9oK@I8-nTUwb6#Syw5fV|X5wimRme%FrKdA};`G<| zq+BW(pYK%@@CP5$JmU-7Y2ZY5@_xqWwZ$wqx}dG8X2{ke^5$+=dqGP3T`iOURP+9|@6k<<^b;Pvqn2iO(_JVQZjcT{ z(pRbiWhjbJSssUph| zFGTj3fQa@!BhM})qi|{KC&a=Zt=N$eICfn#q zh$f2nmA=$gExlgFs)xbsH5Hs9V7cu{r&hhTgRSj&f_!bwe2rN80qYN-v(ZVOINvR5Oo5kSWsEa@(GkqH4zQV!h_y^jMl=65aV15D@nD@_NdY0jU%7TN6 z`ME+3TD)Y*dQ^6(>EQ~^5fz5fmn5LTpZ#?F^~jW$B;lc$srS^o&-idr%!sj>_v=xP ze$frc286&jn+4^)eF^r`LD)yG#4Ml$=?j;>P@#1ore-V>GnR4Y6>B?{n~lq@NZgAzr^n zHXyzTTZZ!NF!+DkI~TYp%SGMS?zmkmQ`X6hU8vYHWr+eN8WOivR;DNv3WzXJsh}dm zo#8&Ei75&y0U@`Yh6pGm$o(=aNx2Claud0X2m^APk;^c`0CS%A8)o>1^87lT_HUon zI`!*Ub9I_`zVCbA=Y5|4({#1-mwuRXmg_%f`^qyGwZGJR^o*agfxY!IeUJAKA3jXi z<61$UcI$XgpFLev-`MC#*N?^-mV5VVYH4W^{35voubMghf~^T#fDj6RKSJ}>1tmM6 z(frM_Kt`&Um)BhV5mS4Zdo?UAEtPeMKl+gU%(MNA;68F?ogq||-VzOXJOgbAfe36q zQfPcaMLi1DhI58(lWV)-AtqD4+R@FQ73x~A_dG`nBF%YWHWoC*^b5R>K1*OnHv{5u zM*kf8MOKm%K}(C0$1u!j{+?aCR+3R={3{)Zzw@XbR!-+Bd1>L!N5SP65J z)^D=m{U7XD$Qw=xWceBAFGWNGwTVQ;V#v-$|97YLpRs3tnRIJ1krgWU4$4cdrjGgz zI|TT=$$6EOS|#6ULdcQReQ0r5+@a;2Q~ zT_smi@Aflapy**(+b+KF8Z{L|$Ech8wL;Izs;+?t0TKCkhyFay-FM==LxeQ=%C3^h zTUF>Gx=f{NQ>o_~Tq4Am%C0=_HfTL8sMMOnv6{#v7>xnU$K0P_Y(SG&Z%i|~5 z((ktet(kYLkD~wMbpD9O$=r5tmn(KAQp?phL?ZubT_Q3S1mk6WF zJ-Lw|9XfP!a-1idr+z>P+ zYT~1gH7jF9oms`Y*>8K7VQ6xreW~O-8N%{Qf_VzH!X( z{r5s{n(kcTvFYE|tbg&qU%tJ#>gAWO9{Xnx{U804f} zyDSi<9=c!^@2@337AC3B?%C&?-qIwB6RJmVu6Sd7QZOC6pmIBw7#J4l z6s^EE+sQs3AD`{ydqHgVf?5Ky%lOprM84u(+%ewR)MPy@^(-phJt35#Ifov7AZof^ z%goaPIY65%i-1EuC^$NAfw6)8!E-3EszRFPVtWngU%&<*f)os*NW!#VUtKGJMtHun z2U+b3C}J1WSw;Qt>5PiS;dijGG6^uVdb5d&E>p!=$!OQwL||iYimM=m5+f(xtitml z(#$9Oj7RS15|`p(Lp{T3vd@l46$DAGy706oc{;}FH%C4NFYl8!i^9Vfi+B51=BJ%n z940P(>!Tg`U4GyJ%5w~erW^GPL$I;GSPzJ|ePa&=ZH3kefx{ICNpL+u0p`rp$0u&OTM{;@SmMR|$!VUXwpZ*)ucanl~ z!c+3$43raQ_AAUa49iM;O(TB0B{bp0Hb+z4Vja*c-5HzJ|03YJEm|Gb(%zm>q~|{P zAbUr+aJ5H(zyJ9WBP3cv3)l;V3%~Nz`7s!w_KU{p+l#e>)Q*dne11T)hVVcUT0W1S z&rKIVx?B)Y?vxnxcAw;LxBe`Nb!#_?Q#sx7HZHI5C^n@>!rls0DCJR1ci<$*J&K0# zC|s~y@Hh?2_8rhPyYGCWh2n8mO+5XfKK;dv zjvp6E;`X4Y$C6@kIvS~T5*Fw31q{nD=4PG0gz4-n?AWux&^&vvmgyVx^;C1rdStrH zj0uZVRFG2nRj68B&|M6;T&u8a-6JR+NV=zxc>q$gQNCSZGpO`iu?rGmK`kDz@*(6fp;=Y}0OepQKTc$l4 zMU4AV(xmL+TQLJHbMlGCDLZ4(T_F`(9_hvP)V5tv8W>K6meq3$vKfcp@jrjaIKaCL z6^XZ&8D+;KwCu!Lsm`{D8Lj68Wtb&Qmo8H6FV+p@Ru7&I?f;PwH9PitS_=oxvtMK8 zN!u1DT2(eXul+u~-%qcfT&uHYLYh&@u_D$*Ppl1OADiECcrtkQV~+c5VpAPfDJkb( zn7^nToC6QG6wzd&Cw4bAOf!nD3N?3ta|~<@e_|TdR;0VCI#I2kCEEKqH7e>=pf%NF zAkhRhmMtMtxI9M`qh$fuX^ zCr&|%41R0n1N+LGgFCPeqNJq>k1~IU)DhDc@)^R}@a}|rndG#CeUm}E;`cGucG9>r zI#*=2QSp{8x!)v4SJwHPDlCOfmknZYSE;|oZ1mWOmB};e2r7=44Je06{u6h37pur| zl8e(9ia#qU<97P1J1UNnpxo5MlhW0p!lA4j`$2`Y>D_kwwnUOtS;?E0*aT@P$C8_h zJ$r&xi^m>hNEwa1lXI2GmIcFU4sF6qiPEAKX;!@$)wTU+HYxsx!qmphc++E3W|}om z+};hI?36@m}TI-E?AJ*eDPu|Z)1kntfRoGrL_J&a z*x-<)H=47qT+DGei>&kthw<(2UN#rYg~)-nzDA#v-pAW6j}J7Qt9olbgh**s6Mw$R z1ugZUTzkRf$Y1llM%?uSKZ_h)J|1_qy?NEbHg3=1;$8gq*GjCdu;JU_BjdC*6W3_$ zHF*FdOF?j)!{mc_Zs-< z7 z^&t^xl<_k{*7BkLL#?)&3mdKtTGZ7>>=Zn7XJ;1+TK$M#&hN1dJi*_1IFrbBl&C9KZAb zn|*#sw%q64fG+LtVcw0#VSPqMwyIv%W=Wd?YXkPA)1t~SB3|3a7-1BZ3!Hweg))E=po&bOOYb(sZeSdEb~%uK%# zN1{aXY2S3&JM(?}>etv5`MT4G)Sw{kop;{ZkDMO7Jc;xX!`T@&$dHhbuI}nsqASxM z9M=CAa`9KUUt_vNUkC$CfNQ@je<@%BBV9k6{M3l2AMKTos?2TH(DuW@FDHf5(_LH- zT0Gf>1-J~vgUZGqK1mF;II9zU zeZ`U`^TuP@Q!1MxxKwKS5Ul6JKh9S#N1gZ@;QK$UZ}}Wr3yNm^0W6BXRFLb+i^}B% z+Y+$hWARj-xrr9V{v%?ft7`^)V1K({Kmam1F0mvp0T9#h*3}~EGH0EJd&B+x zU>VkPuj+w3gR|0p>Msk;rZ_ZxFJqk{Y_$@~hi zOUVa$@EgQSS8-?LNFtH~uDOlHVr^uNdU{>#83QmSqHLO&7m*PCsxK%pp|9^SERi0= z_qoGEA6Ghyk!Oy+YTa-AAFh{C$D>p9DeMd-r4H zmV0a+92_d7T&SwO9GOKCZn*}BvJVS8a-gi{6QU9YGsLy>>45KdACTH-m?yvXH_)-k ze4m)MVa6jcL$uvl=xr?oUT|AjVzid+YRqI$7PJqgFDSmtarrC@`5qnA%#2JdMcQ_RPwPT&B-}IkaJZ1#|;+d#5JACgrMS!fts*c-%Ty ziSLRndKH?6`@Vb?=$Z<)S!mjz<8`Imy^h&Rw>un*>9=FE!7-%0J~k4OW%}*oa3|7k zOV%^5Dk+ll<8$h^Dr5@9QOWL}=zmu> zC+fC4DVr00b!(j{b7CNMMGM=MG+9K=h|S4nW9#US?jDM2D0}!-Cum3SLaUPLh3JWu zHSQ#nwtK%ql@TMV$0xXTj`*R<8m;#kD}R_c6&5(T?ZCZV(y`)q{3cWk?5>Jyo*3!n z>T0LY*CS_a=W0fAmg)3?ypCy>dEnkPP8rwE7NqyIT_yXa)r~U0xorXyVp0v}O0CrA ziaL=tB$@q~-7O81Qx;Z*#AmZ;>E;zM8kSE@p*4p>5jt2)Ap4=up6u>7HAVMJFk!61 z1zwNMyvl2E{w@uvu_I}XaL^kTyWNDy6y;Nro#c*VnV#r`<5sD$%(agx0^$Sh6 z$%YXWL$2ICHsKvAAID5LgF3uBwf-`08wJHsa_cm)GUn0)%l$zqH98Bse2Vwc0?W&U zy1{-7p|3);hBtBIv_rdcVA&$rUeml^>wrSUgEtX(sr1L+nN<>7D}u#eiA82Uif0)J zj^VB*k?~{2v)*n!F}~a+yg%q$#Ze+^OHCb;#;$`<_`p9~;bLs?R#OuSqczvEB|;}r z{9K4(O}vCL`oNhp&9Y(7Q46^)t~%uz!QPzk;OUX0SNA53NRobLO$?H>hz(LUmzK^$ zyNb|Zx?68S<`J7Rs?X{h>b zvgo!#h}R1cS2-*%Og=RdFFZY!|M!gkGYZQkGl%)~^n^KkLW z){*gT!E_|Y;&qMeUZ*3Y@B2;M)F?f?7sQe5U+TYB7#y1otb0&iRa$?akC61s)K`MH>Q9VqU z(E?>Xi8S$GQ`&V0s5!`DQL$rehti)#oQXL(R#0*G6KA4Wz?d_fh~Sa5Y^KlPUgDmk zi-}Rg!MOfLuCvQquS%1+{_yJ3ZU8~xoBqAvj@()Kt=S7SiwuM#}={95Gzo=PJ- zvGh|Hmup1l&HYz85`S-<_nKY41;KNm#XSN5tuDGxxHlcUz7f!At03W#;@N20H@&QX z=|gmw?#HE-KBR)j>3xqMpG`82-i}N%eZ-*tqCo|5!t?OTYzLB({$SNJB+LIU``|NF z_TP9OoMU|am7*?B66!2h@8#aa(u?zkITA^PNfoWvyJG5gBSNm4lQxSmKr?7V9j3dv zW!w`ky!sxUw-*w66;1WCZ+(=Iy7^Xd14N4hI0o}+Mc{5*g(>#}){@;jTgr;5B6w_M z>F-K~x6m~ARj6~D%eOYGq8p83?ljbJE2MG8QIj!~BO{FAT(HlG#bBj};2<_>K1&u+MrmoQXZbuQv&PV`Ll4(!GY=xkP`g zsf^#iktS#6#k*H=WzxU#WYJg;d!2OLq3ZqbS4gLM99f}vzI>0TIIr&VlCF_N9e|50 zKJxFo6#n9djgu;emy-j|g%BzGv>AKPX0WG%w+0Pwd$;82t)shlztZJ8Ei$R!VQl+l zsDb-sp!X`~s|T*2YP``>@ri3FRNqPjZu$IZhp@i(k|5jmV2O+0IT{^ z*HRoqpbk79-~H~O0Kwb+*t5@c!X&F57aO!F zo`u;h^}uUYjC_xzBiI~*HBJN7A74Z63Ms1rukV1Uuc5Z}QQT(t_kc6GluxLCDkhU3 zqmM4qkS!w_622lS9LGAiwzZa9dorN~8@fA|OGxjD;m}WuQ^i64fPRrSm5O~PRb^Y& zWVE5e&<+jWl240bjDreDbvf1#30Ig%CT#=(0H?Q$`5k_$ji^dqvt`ScPny&cTyefz zB{cz%F-aOmwVR-5V>f%5+F(cvpp5cemDAl|cRbAMJg(S1>l-ZEU-2^OdqU{x1J5mb z8R+3|TRO;W&RnG*Y@c%^1~XZWKL4^p?a}wxY-u^DAtPBm`#3C_D%Y1cXrW8?foW25Tw&^FdASL2w4_u9Id3$k?7IR|jJ(_gUA}yRN$dvLzQ1C6 z(?EP_e)|3JG>i1LX7_EE8ToJAdwG4wTWp|dx`t67u3im2aBDWZ63d`tZt++;vld?c%~W=ymtLc1)y?Y%?zH6BLt722yXk3Ybs4TppS<|b3-KwhhO0ojee(M9fgiXh z`Brc!1oWiracvw~FW3)x@A_R!KE2sw1kEOcAx$UlC!*N|M%OOSZP(i@GG>}h=C_$9 zDKrD*m5qt6IqO%+iM^$C`*JMW>1mIL#ER&*nT_da=bn9>X_elsbo*6OY%=?}pp=-+ zXo{q|*8?;4lS&$&LGv0xlJWEnO^^*~uiU>{;Vh%w&0M3~D6xolczsTr$N{-E(4 zF@-}Mcb_AE*tOQ~YH411j6G&BJfso1&3vjw+}G7>GT?T-9Zs3n)*2eZP*kHm9^DZl z;Ta7bN{TDad9SY^ft6)XU58~=RZPDEh)Go2w#=NkJpHzC_G8AnT91fLZ3YRVU*GNF z7l5#>6pMAV(?f`E8O#`j?3bN(6Pxd**t|#=BFC(S3w-Nj{`Fw%jN|Fx5u8Je`CKz( zb*CUZB7hoyMP6EBH;5pyC^O@x49Zn~0=`c4oS?qJ+dKQEMT;tNqE>QBO|V+1VFdS3 z;fd;R(vpv(k`>UaPGR+=I|p@GS5b=1*?6`^6gKOXQ)d-%pYpwFP(xB{0*%mC`2MU$ z=wmwWmtuG=_Zx+X=Ym=j+%=bA*fy77s4~$;!pi?S`(AG9-2sz^>Eh33v&F2m)Z0?m z%%{suockLTs+x6^%aJ0EL+aJZK~7==>!R&m*VBqW-@6UlIILRdjHwCUfvGuap;2ye z@e0mF!<6yFICnwj;m8`{FSMEry7GkIKYB?;6{+A7_INCBU3un#apkOXaR56DvR-z^ z5=a;lMif*(g@I5nfHgL7bn?lGeJsl%yH67u)fDhWtSWTaekic3VU_5P^(beRn+rO0 z`%I>Kr98{e!qmBCbbw)&H?A9;#NhF&qk&S%JQPvCI2@Vr%Kiy2X@C5Sl$iaq-S5sj zW1K)n@RLi;!?mn_evOIFc~d?0=u%ayZNhWhioSTpy}MI^>4abSTm37L{BS+YbZL2; zlvtoot!0ks3)9{zR2zSfQg~Pt=zcSpB#?}}M>gIF;qcU{Q(Xm!DVIZ8q}vR0zY!BQ z-uLJTqFZBS21LvzOi_Qu31*nZS8DIeZ>!1UQxj+K3l)ahe}z($V%xR{+9-Ca*qB)S zj)y*qj=L*hjn23V|3TVd2!ZRkXHhMjw(>H*XSQ(KZl{WlWgE;&rcTq|RA3|zfhLI< zof2KJAPqztLQvwog_8LVGmXXA4y8Yfl$tzvu$Mp_2;>IgcKSd=TqePG!g5AoJ0H;& z0ZnqWt&~6zw9IttxM_!$L%BujkFPHMg1zWhtkn&ytm9>KbtV0%mXSR>1LiAB5UE$L zoNa8hLi6gI3BzNx7S z=pYZ8|IE(#k6vo>>wHMR(u55~7FHwDR2imjqMc@)F;}`nl`$!(o{2%xzvd#+^2mCAf%H1jd0S~_#XtU$_&e*o z*{EV{&U3#MXTUPEy1M5a-L?l$AMmkJvvD^io%gEe7bt%`k4vl4kX|YzAPGV}gbYs~ zF{r=D9Kxah5wpE$4RiwfgW8F|j3!ou6M&ZeF9{C+mnwhHc=KN=>IMpR(iQ6cOs&bn z&{xZ)0-^czx)VfllM@WpY}x3?ed44)TfJMHcgx7q{iX@cY(-c7+(QFWAH5>Bf@tv# ziWB%uVrAn~+b=&ZD^A`n%O)R@<&E<$iFfxFFQM`p)Ct);_cO;xyS?K58>|gXG^Cyr zdxo8cxm;ESZ@OV2p(ZhjXKQ^D<7_*Wsrm{4udMbhv-5!3LaPr-ImU_(PQM;s1 zkKfT~v%IA*J!9Q<-$6avS~{Ir`N-$CmI>u636(qCZqRpXt`NFWO@~ z`DBZ}ci-;e$&-Au*td7u`}eNGCUFGT!CO7InrzkZXQEzsz2AVz*!_LOKP@)D(k|{z zLG?09-!;Og)~Tx`75SJT$&6|f!LcF7iP2uFv$rwuMJHpPhSi+n$s@;-7yjY-_^@?Dh+g`fU-lpCh1*gdb!urrch7xsGw;;JG+MKZ|Z|qI&hh@b4NM8-F^} zY}xUxQC@&p5UG(ExZ#2X8F~#xu}S*&{PfLW7>+)!B@Dx|$>R%D&sPDX7`%~mq3i_1 zkdKmNoePrkmEmvpbl3+DeV`vSapTUnZ>>C~wp{vMY^kvnS%lg~wbe`Y<`n{hnTo|g zWM=es^L!T2~f*l|(o0*hzj)Zmx!Kr(L0sR$XV|$<~B~gswm? z*ftjh4y6GvbhMiO!1M3Fb_IH6hAHnus_gibCkh-0zObvo+5uEbs_Yoe&1X<{>^@s| z3>-&=d-=?20G}#sYiT|QzkQ9e&g-piOnpOcseRDZriKbgmixX-yIC@hD7>Y~*s{Tp z^goID)v8O#H@|8sT{qKptfFol7Z?4f zvZ%LQdn_{6nr${)z#ZBX1J~t)4xdwl_>`H(#_J&LIQ#xkYOE1u3x~o$eDdeTHr&#@ z2*`V7?^#D)Qma|;RcFS3n)YDwE-vV$(u3)M#pDSV;Kr;CWmbiPhk;s*o7LhFdq4btNoHCxC2Az-m-6*qnV{3y! zVV6UQnt(0-DLK+(?7@pE{r>H;PLm@uxHf*TBg7=C(?n)Y%zK?9>olQmmN2S$q|*d! zsIGr}`9da$r>#8BOsB~>I!&ypP7`dtWAh@vggw(~GJ;MM2I(|OO8Ni|$XgvDt0#)w z=iz!U`3t#*k9%Z`Njpi&i>lO=Mo%5SPAG(C^@NlNwDsR`f;vZcO7-(xs9~(U>96oa zr90%x$5F`&ShrJQ^`tuoOIokDNB2$M`#ZDAU>4&S+&YASaFZxZPcB-g2eB?fBXlWV ztnd*!w`lQul7?@zTPQ@l>|Qf?K8Js3uTVe;ow@M{g8MoM_bUYP>`vpyxQih?M%G1C z=*_t_=vyJFG&!NjA6xUTrM@oZR6GipTWNBAXgWA0b2wKTY&AC)>@94~=Y4=ir+#)c za^Fg7p{R9i?C4~lwOI1F$3&+*)$$#VLuIA^tT8gJGo-jKmlMQ^IHhZ7cUE2cbeiuP zoVB7VimzOAEEY^vL)L35v4VslWZ6LVn}rt+v^8ff7%o*0!;Hf7OT>w1TT8N7oJsz5 zq>XvwHTM&hYmVU;;a-uBCQI4Y$Mu5^)n}AGsz{`|u{bDTGI)ZovtW2isM-Z;V!3sR z#o6AvsSH`P_~*OdXLMVn!`|aRhC5bm@Tf`&z zdxg7yvwsD#U0e?<0Q=p~D+$WP_L7+9Wq^n8RULbZwO?7e9To*8znPbH_Kh1KQ5$a$ zvQ1%7I^U0mmWXP0^ zS;Oq_i9dSALgV-GFZ}j5XO1zwoeS%|M&GOp9P2CRe|s!6Rs+`P;!GNoaYpo8QN#^ZuRO`#k Date: Thu, 26 Oct 2023 21:38:57 +1100 Subject: [PATCH 10/29] Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. (#3404) * Misc: Just a class to test out some functions * Fix: Fixed a bug in AddTextLetterByLetter class * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix: Adjusted changes according to Ben's comments * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix: Removed imports * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Feat: Adjusted changes to AddTextLetterByLetter * Feat: Added test_creation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Benjamin Hackl --- manim/animation/creation.py | 5 ++++ tests/module/animation/test_creation.py | 34 +++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/module/animation/test_creation.py diff --git a/manim/animation/creation.py b/manim/animation/creation.py index a2e7f8a362..f28c123025 100644 --- a/manim/animation/creation.py +++ b/manim/animation/creation.py @@ -563,6 +563,11 @@ def __init__( **kwargs, ) -> None: self.time_per_char = time_per_char + # Check for empty text using family_members_with_points() + if not text.family_members_with_points(): + raise ValueError( + f"The text mobject {text} does not seem to contain any characters." + ) if run_time is None: # minimum time per character is 1/frame_rate, otherwise # the animation does not finish. diff --git a/tests/module/animation/test_creation.py b/tests/module/animation/test_creation.py new file mode 100644 index 0000000000..3208ad1b41 --- /dev/null +++ b/tests/module/animation/test_creation.py @@ -0,0 +1,34 @@ +from __future__ import annotations + +import numpy as np +import pytest + +from manim import AddTextLetterByLetter, Text, config + + +def test_non_empty_text_creation(): + """Check if AddTextLetterByLetter works for non-empty text.""" + s = Text("Hello") + anim = AddTextLetterByLetter(s) + assert anim.mobject.text == "Hello" + + +def test_empty_text_creation(): + """Ensure ValueError is raised for empty text.""" + with pytest.raises(ValueError, match="does not seem to contain any characters"): + AddTextLetterByLetter(Text("")) + + +def test_whitespace_text_creation(): + """Ensure ValueError is raised for whitespace-only text, assuming the whitespace characters have no points.""" + with pytest.raises(ValueError, match="does not seem to contain any characters"): + AddTextLetterByLetter(Text(" ")) + + +def test_run_time_for_non_empty_text(): + """Ensure the run_time is calculated correctly for non-empty text.""" + s = Text("Hello") + run_time_per_char = 0.1 + expected_run_time = np.max((1 / config.frame_rate, run_time_per_char)) * len(s.text) + anim = AddTextLetterByLetter(s, time_per_char=run_time_per_char) + assert anim.run_time == expected_run_time From 5193e1cfd1e8ce663daab70b59376de2ea2ca2c1 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Thu, 26 Oct 2023 14:29:21 +0200 Subject: [PATCH 11/29] Introduce new workflow creating a downloadable version of the documentation (#3417) * Revert "rtd: enable htmlzip build (#3355)" This reverts commit 571f79be2cf0eff8819aa5d0492d3542b76e5ab3. * use python3.11 to build docs * upgrade python version used in release publish workflow * new workflow for building downloadable docs * change event trigger for testing * sudo apt * rename release job; build html in poetry env * set GITHUB_PATH instead of PATH * introduce additional step * use correct binary path * forgot microtype * fonts-roboto + actually compress files correctly * fix asset path * Update .github/workflows/release-publish-documentation.yml Co-authored-by: Naveen M K * pull_request -> workflow_dispatch * Update .github/workflows/release-publish-documentation.yml --------- Co-authored-by: Naveen M K --- .github/workflows/python-publish.yml | 4 +- .../release-publish-documentation.yml | 84 +++++++++++++++++++ .readthedocs.yml | 4 - 3 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/release-publish-documentation.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index e1e3d79c05..99ae512bbb 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -10,10 +10,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Set up Python 3.11 uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.11 - name: Install dependencies run: python -m pip install --upgrade poetry diff --git a/.github/workflows/release-publish-documentation.yml b/.github/workflows/release-publish-documentation.yml new file mode 100644 index 0000000000..56b68eef52 --- /dev/null +++ b/.github/workflows/release-publish-documentation.yml @@ -0,0 +1,84 @@ +name: Publish downloadable documentation + +on: + release: + types: [released] + workflow_dispatch: + +jobs: + build-and-publish-htmldocs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: 3.11 + + - name: Install system dependencies + run: | + sudo apt update && sudo apt install -y \ + pkg-config libcairo-dev libpango1.0-dev ffmpeg wget fonts-roboto + wget -qO- "https://yihui.org/tinytex/install-bin-unix.sh" | sh + echo ${HOME}/.TinyTeX/bin/x86_64-linux >> $GITHUB_PATH + + - name: Install LaTeX and Python dependencies + run: | + tlmgr install \ + babel-english ctex doublestroke dvisvgm frcursive fundus-calligra jknapltx \ + mathastext microtype physics preview ragged2e relsize rsfs setspace standalone \ + wasy wasysym + python -m pip install --upgrade poetry + poetry install + + - name: Build and package documentation + run: | + cd docs/ + poetry run make html + cd build/html/ + tar -czvf ../html-docs.tar.gz * + + - name: Store artifacts + uses: actions/upload-artifact@v3 + with: + path: ${{ github.workspace }}/manim/docs/build/html-docs.tar.gz + name: html-docs.tar.gz + + - name: Install Dependency + run: pip install requests + + - name: Get Upload URL + if: github.event == 'release' + id: create_release + shell: python + env: + access_token: ${{ secrets.GITHUB_TOKEN }} + tag_act: ${{ github.ref }} + run: | + import requests + import os + ref_tag = os.getenv('tag_act').split('/')[-1] + access_token = os.getenv('access_token') + headers = { + "Accept":"application/vnd.github.v3+json", + "Authorization": f"token {access_token}" + } + url = f"https://api.github.com/repos/ManimCommunity/manim/releases/tags/{ref_tag}" + c = requests.get(url,headers=headers) + upload_url=c.json()['upload_url'] + with open(os.getenv('GITHUB_OUTPUT'), 'w') as f: + print(f"upload_url={upload_url}", file=f) + print(f"tag_name={ref_tag[1:]}", file=f) + + - name: Upload Release Asset + if: github.event == 'release' + id: upload-release + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ github.workspace }}/manim/docs/build/html-docs.tar.gz + asset_name: manim-htmldocs-${{ steps.create_release.outputs.tag_name }}.tar.gz + asset_content_type: application/gzip diff --git a/.readthedocs.yml b/.readthedocs.yml index 3c93ef3d97..44b7408cbf 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,8 +1,4 @@ version: 2 - -formats: - - htmlzip - build: os: ubuntu-22.04 From b7eefca98f40b9fc658a5a52295161f7e620baa0 Mon Sep 17 00:00:00 2001 From: Benjamin Hackl Date: Fri, 27 Oct 2023 09:28:23 +0200 Subject: [PATCH 12/29] Fix incorrect submobject count of multi-part Tex/MathTex mobjects by stopping them from adding empty submobjects (#3423) * do not add a VectorizedPoint as a submobject if SingleStringMathTex renders to empty SVG * test new behavior * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update tests/module/mobject/text/test_texmobject.py * Update tests/module/mobject/text/test_texmobject.py --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/mobject/text/tex_mobject.py | 4 ---- tests/module/mobject/text/test_texmobject.py | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/manim/mobject/text/tex_mobject.py b/manim/mobject/text/tex_mobject.py index 71a31a72c4..dbdf6e3a50 100644 --- a/manim/mobject/text/tex_mobject.py +++ b/manim/mobject/text/tex_mobject.py @@ -344,10 +344,6 @@ def _break_up_by_substrings(self): curr_index + num_submobs + len("".join(self.arg_separator.split())) ) if num_submobs == 0: - # For cases like empty tex_strings, we want the corresponding - # part of the whole MathTex to be a VectorizedPoint - # positioned in the right part of the MathTex - sub_tex_mob.submobjects = [VectorizedPoint()] last_submob_index = min(curr_index, len(self.submobjects) - 1) sub_tex_mob.move_to(self.submobjects[last_submob_index], RIGHT) else: diff --git a/tests/module/mobject/text/test_texmobject.py b/tests/module/mobject/text/test_texmobject.py index c45681fad2..9103345d18 100644 --- a/tests/module/mobject/text/test_texmobject.py +++ b/tests/module/mobject/text/test_texmobject.py @@ -2,6 +2,7 @@ from pathlib import Path +import numpy as np import pytest from manim import MathTex, SingleStringMathTex, Tex, TexTemplate, config, tempconfig @@ -96,6 +97,23 @@ def test_tex_white_space_and_non_whitespace_args(): assert len(tex[3]) == len("".join(str_part_4.split())) +def test_multi_part_tex_with_empty_parts(): + """Check that if a Tex or MathTex Mobject with multiple + string arguments is created where some of the parts render + as empty SVGs, then the number of family members with points + should still be the same as the snipped in one singular part. + """ + tex_parts = ["(-1)", "^{", "0}"] + one_part_fomula = MathTex("".join(tex_parts)) + multi_part_formula = MathTex(*tex_parts) + + for one_part_glyph, multi_part_glyph in zip( + one_part_fomula.family_members_with_points(), + multi_part_formula.family_members_with_points(), + ): + np.testing.assert_allclose(one_part_glyph.points, multi_part_glyph.points) + + def test_tex_size(): """Check that the size of a :class:`Tex` string is not changed.""" text = Tex("what").center() From b7a8a2d4d84039c7b9d49669879f90e0e0c3561b Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Fri, 27 Oct 2023 12:59:12 +0530 Subject: [PATCH 13/29] CI: fix caching of cairo (#3419) I forgot to change the path after moving around the file. --- .github/scripts/ci_build_cairo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/ci_build_cairo.py b/.github/scripts/ci_build_cairo.py index 4a92b4e91f..469db7b452 100644 --- a/.github/scripts/ci_build_cairo.py +++ b/.github/scripts/ci_build_cairo.py @@ -26,7 +26,7 @@ VENV_NAME = "meson-venv" BUILD_DIR = "build" -INSTALL_PREFIX = Path(__file__).parent.parent / "third_party" / "cairo" +INSTALL_PREFIX = Path(__file__).parent.parent.parent / "third_party" / "cairo" logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") logger = logging.getLogger(__name__) From 5d73525836e4e483bcefb69cb4e1fcfae5747a2f Mon Sep 17 00:00:00 2001 From: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:23:30 -0400 Subject: [PATCH 14/29] Fix CSV reader adding empty lists in rendering summary (#3430) * Fix CSV reader adding empty files Fixes issue #3311 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/utils/docbuild/manim_directive.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manim/utils/docbuild/manim_directive.py b/manim/utils/docbuild/manim_directive.py index 5b744985ca..c369464679 100644 --- a/manim/utils/docbuild/manim_directive.py +++ b/manim/utils/docbuild/manim_directive.py @@ -343,6 +343,9 @@ def _log_rendering_times(*args): print("\nRendering Summary\n-----------------\n") + # filter out empty lists caused by csv reader + data = [row for row in data if row] + max_file_length = max(len(row[0]) for row in data) for key, group in it.groupby(data, key=lambda row: row[0]): key = key.ljust(max_file_length + 1, ".") From 190ae5db53a76ac610d583394bc1e1fd0d236796 Mon Sep 17 00:00:00 2001 From: Nikhil Iyer Date: Thu, 2 Nov 2023 14:00:10 -0400 Subject: [PATCH 15/29] Fix None check order in _tree_layout (#3421) * Fix None check order in _tree_layout * add tests to test_graph.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/mobject/graph.py | 7 +++---- tests/module/mobject/test_graph.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/manim/mobject/graph.py b/manim/mobject/graph.py index 45ada61936..12082d5ad4 100644 --- a/manim/mobject/graph.py +++ b/manim/mobject/graph.py @@ -112,13 +112,12 @@ def _tree_layout( vertex_spacing: tuple | None = None, orientation: str = "down", ): - children = {root_vertex: list(T.neighbors(root_vertex))} - - if not nx.is_tree(T): - raise ValueError("The tree layout must be used with trees") if root_vertex is None: raise ValueError("The tree layout requires the root_vertex parameter") + if not nx.is_tree(T): + raise ValueError("The tree layout must be used with trees") + children = {root_vertex: list(T.neighbors(root_vertex))} # The following code is SageMath's tree layout implementation, taken from # https://github.com/sagemath/sage/blob/cc60cfebc4576fed8b01f0fc487271bdee3cefed/src/sage/graphs/graph_plot.py#L1447 diff --git a/tests/module/mobject/test_graph.py b/tests/module/mobject/test_graph.py index 5ae3eda4fb..b05d6b21d9 100644 --- a/tests/module/mobject/test_graph.py +++ b/tests/module/mobject/test_graph.py @@ -1,5 +1,7 @@ from __future__ import annotations +import pytest + from manim import DiGraph, Graph, Scene, Text, tempconfig @@ -100,3 +102,15 @@ def test_custom_animation_mobject_list(): scene.play(G.animate.remove_vertices(2)) assert str(G) == "Undirected graph on 3 vertices and 0 edges" assert scene.mobjects == [G] + + +def test_tree_layout_no_root_error(): + with pytest.raises(ValueError) as excinfo: + G = Graph([1, 2, 3], [(1, 2), (2, 3)], layout="tree") + assert str(excinfo.value) == "The tree layout requires the root_vertex parameter" + + +def test_tree_layout_not_tree_error(): + with pytest.raises(ValueError) as excinfo: + G = Graph([1, 2, 3], [(1, 2), (2, 3), (3, 1)], layout="tree", root_vertex=1) + assert str(excinfo.value) == "The tree layout must be used with trees" From 1b880996a9fe591065ade995609c67c0255c418d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 19:10:26 +0100 Subject: [PATCH 16/29] Bump teatimeguest/setup-texlive-action from 2 to 3 (#3431) Bumps [teatimeguest/setup-texlive-action](https://github.com/teatimeguest/setup-texlive-action) from 2 to 3. - [Release notes](https://github.com/teatimeguest/setup-texlive-action/releases) - [Commits](https://github.com/teatimeguest/setup-texlive-action/compare/v2...v3) --- updated-dependencies: - dependency-name: teatimeguest/setup-texlive-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61913fcea7..9f385d50c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: - name: Install Texlive (Linux) if: runner.os == 'Linux' - uses: teatimeguest/setup-texlive-action@v2 + uses: teatimeguest/setup-texlive-action@v3 with: cache: true packages: scheme-basic fontspec inputenc fontenc tipa mathrsfs calligra xcolor standalone preview doublestroke ms everysel setspace rsfs relsize ragged2e fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super babel-english gnu-freefont mathastext cbfonts-fd xetex From 25bb3815288b8ef9df46295a2b23bcda0e47b84b Mon Sep 17 00:00:00 2001 From: Harald Schilly Date: Fri, 3 Nov 2023 19:39:18 +0100 Subject: [PATCH 17/29] bump dependencies -- see #3241 (#3433) --- poetry.lock | 1076 ++++++++++++------------------ pyproject.toml | 6 +- tests/interface/test_commands.py | 2 +- 3 files changed, 432 insertions(+), 652 deletions(-) diff --git a/poetry.lock b/poetry.lock index c930875781..611d37fa59 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "aiofiles" version = "22.1.0" description = "File support for asyncio." -category = "main" optional = true python-versions = ">=3.7,<4.0" files = [ @@ -16,7 +15,6 @@ files = [ name = "aiosqlite" version = "0.19.0" description = "asyncio bridge to the standard sqlite3 module" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -32,7 +30,6 @@ docs = ["sphinx (==6.1.3)", "sphinx-mdinclude (==0.5.3)"] name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -44,7 +41,6 @@ files = [ name = "anyio" version = "4.0.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -66,7 +62,6 @@ trio = ["trio (>=0.22)"] name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" -category = "main" optional = true python-versions = "*" files = [ @@ -78,7 +73,6 @@ files = [ name = "argon2-cffi" version = "23.1.0" description = "Argon2 for Python" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -99,7 +93,6 @@ typing = ["mypy"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -137,7 +130,6 @@ tests = ["pytest"] name = "arrow" version = "1.3.0" description = "Better dates & times for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -151,13 +143,12 @@ types-python-dateutil = ">=2.8.10" [package.extras] doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] [[package]] name = "astor" version = "0.8.1" description = "Read/rewrite/write Python ASTs" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -169,7 +160,6 @@ files = [ name = "astroid" version = "2.15.8" description = "An abstract syntax tree for Python with inference support." -category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -187,27 +177,26 @@ wrapt = [ [[package]] name = "asttokens" -version = "2.4.0" +version = "2.4.1" description = "Annotate AST trees with source code positions" -category = "main" optional = true python-versions = "*" files = [ - {file = "asttokens-2.4.0-py2.py3-none-any.whl", hash = "sha256:cf8fc9e61a86461aa9fb161a14a0841a03c405fa829ac6b202670b3495d2ce69"}, - {file = "asttokens-2.4.0.tar.gz", hash = "sha256:2e0171b991b2c959acc6c49318049236844a5da1d65ba2672c4880c1c894834e"}, + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, ] [package.dependencies] six = ">=1.12.0" [package.extras] -test = ["astroid", "pytest"] +astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] +test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] [[package]] name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -224,14 +213,13 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.13.0" +version = "2.13.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, - {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, ] [package.dependencies] @@ -244,7 +232,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" -category = "main" optional = true python-versions = "*" files = [ @@ -256,7 +243,6 @@ files = [ name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -275,7 +261,6 @@ lxml = ["lxml"] name = "black" version = "23.10.1" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -318,7 +303,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "bleach" version = "6.1.0" description = "An easy safelist-based HTML-sanitizing tool." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -337,7 +321,6 @@ css = ["tinycss2 (>=1.1.0,<1.3)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -349,7 +332,6 @@ files = [ name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -414,7 +396,6 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -424,109 +405,107 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.1" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, - {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -541,7 +520,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "click-default-group" version = "1.2.4" description = "click_default_group" -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -557,25 +535,23 @@ test = ["pytest"] [[package]] name = "cloup" -version = "0.13.1" +version = "2.1.2" description = "Adds features to Click: option groups, constraints, subcommand sections and help themes." -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "cloup-0.13.1-py2.py3-none-any.whl", hash = "sha256:04a29a483e122c04f401547dcbce451ce002ff3e392308122619d5b9009f321f"}, - {file = "cloup-0.13.1.tar.gz", hash = "sha256:ea0acc67eed994b86e79b70d76bc2ea525b7f98f3cd8e63696896d549597ef4d"}, + {file = "cloup-2.1.2-py2.py3-none-any.whl", hash = "sha256:2e2e5040f1e85f7f391487c1aeeb0cce3e7cfed3493e67fc2aabc683551ba7b7"}, + {file = "cloup-2.1.2.tar.gz", hash = "sha256:43f10e944056f3a1eea714cb67373beebebbefc3f4551428750392f3e04ac964"}, ] [package.dependencies] -click = ">=7.1,<9.0" +click = ">=8.0,<9.0" typing-extensions = {version = "*", markers = "python_version <= \"3.8\""} [[package]] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -587,7 +563,6 @@ files = [ name = "comm" version = "0.1.4" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -607,7 +582,6 @@ typing = ["mypy (>=0.990)"] name = "commonmark" version = "0.9.1" description = "Python parser for the CommonMark Markdown spec" -category = "dev" optional = false python-versions = "*" files = [ @@ -622,7 +596,6 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] name = "contourpy" version = "1.1.1" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -694,7 +667,6 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] name = "coverage" version = "7.3.2" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -760,35 +732,34 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "41.0.4" +version = "41.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, - {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, - {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, - {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d"}, + {file = "cryptography-41.0.5-cp37-abi3-win32.whl", hash = "sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936"}, + {file = "cryptography-41.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84"}, + {file = "cryptography-41.0.5.tar.gz", hash = "sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"}, ] [package.dependencies] @@ -808,7 +779,6 @@ test-randomorder = ["pytest-randomly"] name = "cycler" version = "0.12.1" description = "Composable style cycles" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -822,77 +792,75 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "cython" -version = "3.0.4" +version = "3.0.5" description = "The Cython compiler for writing C extensions in the Python language." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "Cython-3.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:096cb461bf8d913a4327d93ea38d18bc3dbc577a71d805be04754e4b2cc2c45d"}, - {file = "Cython-3.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf671d712816b48fa2731799017ed68e5e440922d0c7e13dc825c226639ff766"}, - {file = "Cython-3.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beb367fd88fc6ba8c204786f680229106d99da72a60f5906c85fc8d73640b01a"}, - {file = "Cython-3.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6619264ed43d8d8819d4f1cdb8a62ab66f87e92f06f3ff3e2533fd95a9945e59"}, - {file = "Cython-3.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c0fb9e7cf9db38918f19a803fab9bc7b2ed3f33a9e8319c616c464a0a8501b8d"}, - {file = "Cython-3.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c214f6e88ecdc8ff5d13f0914890445fdaad21bddc34a90cd14aeb3ad5e55e2e"}, - {file = "Cython-3.0.4-cp310-cp310-win32.whl", hash = "sha256:c9b1322f0d8ce5445fcc3a625b966f10c4182190026713e217d6f38d29930cb1"}, - {file = "Cython-3.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:146bfaab567157f4aa34114a37e3f98a3d9c4527ee99d4fd730cab56482bd3cf"}, - {file = "Cython-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8e0f98d950987b0f9d5e10c41236bef5cb4fba701c6e680af0b9734faa3a85e"}, - {file = "Cython-3.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fe227d6d8e2ea030e82abc8a3e361e31447b66849f8c069caa783999e54a8f2"}, - {file = "Cython-3.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6da74000a672eac0d7cf02adc140b2f9c7d54eae6c196e615a1b5deb694d9203"}, - {file = "Cython-3.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48cda82eb82ad2014d2ad194442ed3c46156366be98e4e02f3e29742cdbf94a0"}, - {file = "Cython-3.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4355a2cb03b257773c0d2bb6af9818c72e836a9b09986e28f52e323d87b1fc67"}, - {file = "Cython-3.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:10b426adc3027d66303f5c7aa8b254d10ed80827ff5cce9e892d550b708dc044"}, - {file = "Cython-3.0.4-cp311-cp311-win32.whl", hash = "sha256:28de18f0d07eb34e2dd7b022ac30beab0fdd277846d07b7a08e69e6294f0762b"}, - {file = "Cython-3.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:9d31d76ed777a8a85be3f8f7f1cfef09b3bc33f6ec4abee1067dcef107f49778"}, - {file = "Cython-3.0.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d5a55749509c7f9f8a33bf9cc02cf76fd6564fcb38f486e43d2858145d735953"}, - {file = "Cython-3.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58cdfdd942cf5ffcee974aabfe9b9e26c0c1538fd31c1b03596d40405f7f4d40"}, - {file = "Cython-3.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b906997e7b98d7d29b84d10a5318993eba1aaff82ff7e1a0ac00254307913d7"}, - {file = "Cython-3.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f24114e1777604a28ae1c7a56a2c9964655f1031edecc448ad51e5abb19a279b"}, - {file = "Cython-3.0.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:07d0e69959f267b79ffd18ece8599711ad2f3d3ed1eddd0d4812d2a97de2b912"}, - {file = "Cython-3.0.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f7fcd93d15deceb2747b10266a39deccd94f257d610f3bbd52a7e16bc5908eda"}, - {file = "Cython-3.0.4-cp312-cp312-win32.whl", hash = "sha256:0aa2a6bb3ff67794d8d1dafaed22913adcbb327e96eca3ac44e2f3ba4a0ae446"}, - {file = "Cython-3.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:0021350f6d7022a37f598320460b84b2c0daccf6bb65641bbdbc8b990bdf4ad2"}, - {file = "Cython-3.0.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b72c426df1586f967b1c61d2f8236702d75c6bbf34abdc258a59e09155a16414"}, - {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a9262408f05eef039981479b38b38252d5b853992e5bc54a2d2dd05a2a0178e"}, - {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28af4e7dff1742cb0f0a4823102c89c62a2d94115b68f718145fcfe0763c6e21"}, - {file = "Cython-3.0.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e8c144e2c5814e46868d1f81e2f4265ca1f314a8187d0420cd76e9563294cf8"}, - {file = "Cython-3.0.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:19a64bf2591272348ab08bcd4a5f884259cc3186f008c9038b8ec7d01f847fd5"}, - {file = "Cython-3.0.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fc96efa617184b8581a02663e261b41c13a605da8ef4ba1ed735bf46184f815e"}, - {file = "Cython-3.0.4-cp36-cp36m-win32.whl", hash = "sha256:15d52f7f9d08b264c042aa508bf457f53654b55f533e0262e146002b1c15d1cd"}, - {file = "Cython-3.0.4-cp36-cp36m-win_amd64.whl", hash = "sha256:0650460b5fd6f16da4186e0a769b47db5532601e306f3b5d17941283d5e36d24"}, - {file = "Cython-3.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b3ddfc6f05410095ec11491dde05f50973e501567d21cbfcf5832d95f141878a"}, - {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a0b92adfcac68dcf549daddec83c87a86995caa6f87bfb6f72de4797e1a6ad6"}, - {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ada3659608795bb36930d9a206b8dd6b865d85e2999a02ce8b34f3195d88301"}, - {file = "Cython-3.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:061dec1be8d8b601b160582609a78eb08324a4ccf21bee0d04853a3e9dfcbefd"}, - {file = "Cython-3.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bc42004f181373cd3b39bbacfb71a5b0606ed6e4c199c940cca2212ba0f79525"}, - {file = "Cython-3.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f124ac9ee41e1bfdfb16f53f1db85de296cd2144a4e8fdee8c3560a8fe9b6d5d"}, - {file = "Cython-3.0.4-cp37-cp37m-win32.whl", hash = "sha256:48b35ab009227ee6188991b5666aae1936b82a944f707c042cef267709de12b5"}, - {file = "Cython-3.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:861979428f749faa9883dc4e11e8c3fc2c29bd0031cf49661604459b53ea7c66"}, - {file = "Cython-3.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c7a7dd7c50d07718a5ac2bdea166085565f7217cf1e030cc07c22a8b80a406a7"}, - {file = "Cython-3.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d40d4135f76fb0ed4caa2d422fdb4231616615698709d3c421ecc733f1ac7ca0"}, - {file = "Cython-3.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:207f53893ca22d8c8f5db533f38382eb7ddc2d0b4ab51699bf052423a6febdad"}, - {file = "Cython-3.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0422a40a58dcfbb54c8b4e125461d741031ff046bc678475cc7a6c801d2a7721"}, - {file = "Cython-3.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ef4b144c5b29b4ea0b40c401458b86df8d75382b2e5d03e9f67f607c05b516a9"}, - {file = "Cython-3.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0612439f810cc281e51fead69de0545c4d9772a1e82149c119d1aafc1f6210ba"}, - {file = "Cython-3.0.4-cp38-cp38-win32.whl", hash = "sha256:b86871862bd65806ba0d0aa2b9c77fcdcc6cbd8d36196688f4896a34bb626334"}, - {file = "Cython-3.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:6603a287188dcbc36358a73a7be43e8a2ecf0c6a06835bdfdd1b113943afdd6f"}, - {file = "Cython-3.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0fc9e974419cc0393072b1e9a669f71c3b34209636d2005ff8620687daa82b8c"}, - {file = "Cython-3.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e84988d384dfba678387ea7e4f68786c3703543018d473605d9299c69a07f197"}, - {file = "Cython-3.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36299ffd5663203c25d3a76980f077e23b6d4f574d142f0f43943f57be445639"}, - {file = "Cython-3.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8529cf09919263a6826adc04c5dde9f1406dd7920929b16be19ee9848110e353"}, - {file = "Cython-3.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8692249732d62e049df3884fa601b70fad3358703e137aceeb581e5860e7d9b7"}, - {file = "Cython-3.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f234bc46043856d118ebd94b13ea29df674503bc94ced3d81ca46a1ad5b5b9ae"}, - {file = "Cython-3.0.4-cp39-cp39-win32.whl", hash = "sha256:c2215f436ce3cce49e6e318cb8f7253cfc4d3bea690777c2a5dd52ae93342504"}, - {file = "Cython-3.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:003ccc40e0867770db0018274977d1874e4df64983d5e3e36937f107e0b2fdf6"}, - {file = "Cython-3.0.4-py2.py3-none-any.whl", hash = "sha256:e5e2859f97e9cceb8e70b0934c56157038b8b083245898593008162a70536d7e"}, - {file = "Cython-3.0.4.tar.gz", hash = "sha256:2e379b491ee985d31e5faaf050f79f4a8f59f482835906efe4477b33b4fbe9ff"}, + {file = "Cython-3.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4faf17ea6e8fc3065a862d4b24be84048fd58ed7abe59aa2f9141446a7a72335"}, + {file = "Cython-3.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1cab30c11880f38a27911b569ea38b0bd67fcf32f8a8a8519b613c70562dae2"}, + {file = "Cython-3.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4d4d92182002b2878adb3329de1ccb7f3f7571d3586f92602e790bfeab45d0"}, + {file = "Cython-3.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b94f58e05e69e1a43da551c8f532e9fad057df1641f0f8ae8f103d4ede5a80fe"}, + {file = "Cython-3.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a90f9c7b6635967eacafebe439d518b7dc720aaaf19cb9553f5aad03c13296f4"}, + {file = "Cython-3.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c95bd21d87b08c88fe5296381a5f39cd979a775bf1a1d7379a6ff87c703e510b"}, + {file = "Cython-3.0.5-cp310-cp310-win32.whl", hash = "sha256:ebc901131057c115a8868e14c1df6e56b9190df774b72664c03ebd858296bb81"}, + {file = "Cython-3.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:0759868b4a4d103578375e031e89abd578c26774d957ee4f591764ef8003b363"}, + {file = "Cython-3.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3679a6693456f5f7ccca9ab2a91408e99ee257e145024fe380da7c78a07e98b6"}, + {file = "Cython-3.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ad4eb2608661d63fb57c674dafb9955f5141d748d4579c7722c1a3c6b86a0c2"}, + {file = "Cython-3.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37f4b0d983316242b4b9241ecbbe55220aa92af93ff04626441fe0ea90a54f9"}, + {file = "Cython-3.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34059c3ea6e342ba388cd9774a61761bb4200ca18bd475de65c9cc70ef4e0204"}, + {file = "Cython-3.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4db9eea298e982aee7ba12b3432c66eb2e91bb2f5d026bbd57c35698ea0f557f"}, + {file = "Cython-3.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:452679284c15a7d5a88bff675e1dd660349360f0665aea50be2d98b7650925f8"}, + {file = "Cython-3.0.5-cp311-cp311-win32.whl", hash = "sha256:2d6bb318ddce8b978c81cf78caf8b3836db84f6235d721952685e87871f506e4"}, + {file = "Cython-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:fcfd2255458a5779dbab813550695331d541b24f0ef831ace83f04f9516ddf26"}, + {file = "Cython-3.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0d9fcfc09d67218fce114fe9fd97bba4f9d56add0f775c588d8c626ed47f1aef"}, + {file = "Cython-3.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac1cf1f2ed01656b33618352f7e42bf75d027425b83cc96cfe13ce4b6cba5de"}, + {file = "Cython-3.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9d17a6ceb301c5dbd3820e62c1b10a4ad3a6eea3e07e7afaf736b5f490c2e32"}, + {file = "Cython-3.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd9cab3b862bec2b110886aedb11765e9deda363c4c7ab5ea205f3d8f143c411"}, + {file = "Cython-3.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:45277bb54c35b11bcdd6cf0f56eb950eb280b67146db0cb57853fb6334c6d11d"}, + {file = "Cython-3.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77f4d001fb7a03a68b53be20571acd17452d1dda7907d9c325dff0cc704b1ef9"}, + {file = "Cython-3.0.5-cp312-cp312-win32.whl", hash = "sha256:57b44f789794d74c1feddae054dd045b9f601bdffd7288e069b4ca7ed607ec61"}, + {file = "Cython-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:05c4efd36879ff8020af00407e4c14246b894558ea41dc6486f60dd71601fc67"}, + {file = "Cython-3.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:048fe89c2c753c24e1a7a05496907173dab17e238c8dc3c7cad90b3679b0d846"}, + {file = "Cython-3.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c016b3e859b41cf4ce1b8107f364ad5a83c086f75ea4d8d3990b24691f626a1"}, + {file = "Cython-3.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f31d02b831d0fa9bf099b1b714b5a8252eabd8db34b7d33c48e7e808a2dabf9"}, + {file = "Cython-3.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:485f8a3087392e2287e2869adc0385b439f69b9cfbd262fdf39b00417690c988"}, + {file = "Cython-3.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:063220a6dc0909b576ef068c7e2acf5c608d64423a6d231aacb72d06352cd95b"}, + {file = "Cython-3.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:abb2362783521bd9a22fe69b2141abab4db97237665a36a034b161ddee5b3e72"}, + {file = "Cython-3.0.5-cp36-cp36m-win32.whl", hash = "sha256:a993002fe28c840dc29805fde7341c775b7878b311b85f21560fdebf220c247b"}, + {file = "Cython-3.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:13491f1bfcf020fd02751c4a55294aa8957e21b7ecd2542b0521a7aa50c58bb2"}, + {file = "Cython-3.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:45aaceb082ad89365f2f783a40db42359591ad55914fb298841196edf88afdc5"}, + {file = "Cython-3.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3e011fa2ae9e953fe1ab8394329a21bdb54357c7fe509bcfb02b88bc15bffbb"}, + {file = "Cython-3.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f18c13d5ed6fde5efd3b1c039f6a34296d1a0409bb00fbf45bec6f9bcf63ddf5"}, + {file = "Cython-3.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:039877e57dc10abf0d30d2de2c7476f0881d8ecef1f29bdeed1a6a06a8d89141"}, + {file = "Cython-3.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4fbc8f62b8d50f9a2eef99927a9dcb8d0a42e5a801ab14c2e4aeab622c88f54b"}, + {file = "Cython-3.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3cffbba1888f795de2103e6fb1482c8ea8d457e638fa813e090fe747f9e549bb"}, + {file = "Cython-3.0.5-cp37-cp37m-win32.whl", hash = "sha256:c18e125537a96e76c8c34201e5a9aad8625e3d872dd26a63155573462e54e185"}, + {file = "Cython-3.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:93502f45948ae8d7f874ba4c113b50cb6fb4ee664caa82e1ddc398500ee0ffb3"}, + {file = "Cython-3.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0a9206b0720f0cad3e70c018722f6d10e81b32e65477e14ffedd3fbfadfaddca"}, + {file = "Cython-3.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:530a474a79fa6c2127bb7e3ba00857b1f26a563615863f17b7434331aa3fe404"}, + {file = "Cython-3.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:115e76fbe9288119526b66963f614042222d1587f1ba5ddb90088215a3d2a25a"}, + {file = "Cython-3.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:035cb6930a8534f865a3f4616543f78bd27e4de9c3e117b2826e395085ffc4c0"}, + {file = "Cython-3.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:077d9a61e6042174dabf68b8e92c0a80f5aff529439ed314aa6e6a233af80b95"}, + {file = "Cython-3.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ba3f7b433c1721a43674c0889d5fad746bf608416c8f849343859e6d4d3a7113"}, + {file = "Cython-3.0.5-cp38-cp38-win32.whl", hash = "sha256:a95ed0e6f481462a3ff2be4c2e4ffffc5d00fc3884d4ccd1fe5b702d4938ec09"}, + {file = "Cython-3.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:f687539ead9fbc17f499e33ee20c1dc41598f70ad95edb4990c576447cec9d23"}, + {file = "Cython-3.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f6fcfef825edb44cf3c6ba2c091ad76a83da62ac9c79553e80e0c2a1f75eda2e"}, + {file = "Cython-3.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0d9431101f600d5a557d55989658cbfd02b7c0dcd1e4675dac8ad7e0da8ea5b"}, + {file = "Cython-3.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db21997270e943aee9cb7694112d24a4702fbe1977fbe53b3cb4db3d02be73d9"}, + {file = "Cython-3.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:808f56d4cd0511723b787c341f3cc995fd72893e608102268298c188f4a4f2e7"}, + {file = "Cython-3.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:dee39967168d6326ea2df56ad215a4d5049aa52f44cd5aad45bfb63d5b4fb9e5"}, + {file = "Cython-3.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b77f2b45535bcf3741592fa03183558bd42198b872c1584b896fa0ba5f2ac68d"}, + {file = "Cython-3.0.5-cp39-cp39-win32.whl", hash = "sha256:5742ef31e1e2c9a4824ef6b05af0f4949047a6f73af1d4b238ce12935174aede"}, + {file = "Cython-3.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:ada4852db0e33dbdd1425322db081d22b9725cb9f5eba42885467b4e2c4f2ac0"}, + {file = "Cython-3.0.5-py2.py3-none-any.whl", hash = "sha256:75206369504fc442c10a86ecf57b91592dca744e4592af22a47e9a774d53dd10"}, + {file = "Cython-3.0.5.tar.gz", hash = "sha256:39318348db488a2f24e7c84e08bdc82f2624853c0fea8b475ea0b70b27176492"}, ] [[package]] name = "data-science-types" version = "0.2.23" description = "Type stubs for Python machine learning libraries" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -907,7 +875,6 @@ dev = ["black", "flake8", "flake8-pyi", "matplotlib", "mypy (==0.770)", "numpy", name = "dearpygui" version = "1.10.1" description = "DearPyGui: A simple Python GUI Toolkit" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -935,7 +902,6 @@ files = [ name = "debugpy" version = "1.8.0" description = "An implementation of the Debug Adapter Protocol for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -963,7 +929,6 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -975,7 +940,6 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -987,7 +951,6 @@ files = [ name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1005,7 +968,6 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "dill" version = "0.3.7" description = "serialize all of Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1020,7 +982,6 @@ graph = ["objgraph (>=1.7.2)"] name = "distlib" version = "0.3.7" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -1032,7 +993,6 @@ files = [ name = "docutils" version = "0.17.1" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1040,23 +1000,10 @@ files = [ {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] -[[package]] -name = "entrypoints" -version = "0.4" -description = "Discover and load entry points from installed packages." -category = "main" -optional = true -python-versions = ">=3.6" -files = [ - {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"}, - {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"}, -] - [[package]] name = "exceptiongroup" version = "1.1.3" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1071,7 +1018,6 @@ test = ["pytest (>=6)"] name = "execnet" version = "2.0.2" description = "execnet: rapid multi-Python deployment" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1084,14 +1030,13 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] [[package]] name = "executing" -version = "2.0.0" +version = "2.0.1" description = "Get the currently executing AST node of a frame, and other information" -category = "main" optional = true -python-versions = "*" +python-versions = ">=3.5" files = [ - {file = "executing-2.0.0-py2.py3-none-any.whl", hash = "sha256:06df6183df67389625f4e763921c6cf978944721abf3e714000200aab95b0657"}, - {file = "executing-2.0.0.tar.gz", hash = "sha256:0ff053696fdeef426cda5bd18eacd94f82c91f49823a2e9090124212ceea9b08"}, + {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, + {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, ] [package.extras] @@ -1101,7 +1046,6 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "fastjsonschema" version = "2.18.1" description = "Fastest Python implementation of JSON schema" -category = "main" optional = true python-versions = "*" files = [ @@ -1114,26 +1058,24 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.12.4" +version = "3.13.1" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.12.4-py3-none-any.whl", hash = "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4"}, - {file = "filelock-3.12.4.tar.gz", hash = "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"}, + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] -typing = ["typing-extensions (>=4.7.1)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] [[package]] name = "flake8" version = "3.9.2" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -1150,7 +1092,6 @@ pyflakes = ">=2.3.0,<2.4.0" name = "flake8-bugbear" version = "21.11.29" description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1169,7 +1110,6 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit"] name = "flake8-builtins" version = "1.5.3" description = "Check for python builtins being used as variables or parameters." -category = "dev" optional = false python-versions = "*" files = [ @@ -1187,7 +1127,6 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] name = "flake8-comprehensions" version = "3.14.0" description = "A flake8 plugin to help you write better list/set/dict comprehensions." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1202,7 +1141,6 @@ flake8 = ">=3.0,<3.2.0 || >3.2.0" name = "flake8-docstrings" version = "1.7.0" description = "Extension for flake8 which uses pydocstyle to check docstrings" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1218,7 +1156,6 @@ pydocstyle = ">=2.1" name = "flake8-plugin-utils" version = "1.3.3" description = "The package provides base classes and utils for flake8 plugin writing" -category = "dev" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -1230,7 +1167,6 @@ files = [ name = "flake8-pytest-style" version = "1.7.2" description = "A flake8 plugin checking common style issues or inconsistencies with pytest-based tests." -category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -1245,7 +1181,6 @@ flake8-plugin-utils = ">=1.3.2,<2.0.0" name = "flake8-rst-docstrings" version = "0.2.7" description = "Python docstring reStructuredText (RST) validator" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1262,7 +1197,6 @@ restructuredtext-lint = "*" name = "flake8-simplify" version = "0.14.6" description = "flake8 plugin which checks for code that can be simplified" -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1276,58 +1210,57 @@ flake8 = ">=3.7" [[package]] name = "fonttools" -version = "4.43.1" +version = "4.44.0" description = "Tools to manipulate font files" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf11e2cca121df35e295bd34b309046c29476ee739753bc6bc9d5050de319273"}, - {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10b3922875ffcba636674f406f9ab9a559564fdbaa253d66222019d569db869c"}, - {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f727c3e3d08fd25352ed76cc3cb61486f8ed3f46109edf39e5a60fc9fecf6ca"}, - {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b3f6342cfa14be996971ea2b28b125ad681c6277c4cd0fbdb50340220dfb6"}, - {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b7ad05b2beeebafb86aa01982e9768d61c2232f16470f9d0d8e385798e37184"}, - {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c54466f642d2116686268c3e5f35ebb10e49b0d48d41a847f0e171c785f7ac7"}, - {file = "fonttools-4.43.1-cp310-cp310-win32.whl", hash = "sha256:1e09da7e8519e336239fbd375156488a4c4945f11c4c5792ee086dd84f784d02"}, - {file = "fonttools-4.43.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cf9e974f63b1080b1d2686180fc1fbfd3bfcfa3e1128695b5de337eb9075cef"}, - {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5db46659cfe4e321158de74c6f71617e65dc92e54980086823a207f1c1c0e24b"}, - {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1952c89a45caceedf2ab2506d9a95756e12b235c7182a7a0fff4f5e52227204f"}, - {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c36da88422e0270fbc7fd959dc9749d31a958506c1d000e16703c2fce43e3d0"}, - {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bbbf8174501285049e64d174e29f9578495e1b3b16c07c31910d55ad57683d8"}, - {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d4071bd1c183b8d0b368cc9ed3c07a0f6eb1bdfc4941c4c024c49a35429ac7cd"}, - {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21099b411e2006d3c3e1f9aaf339e12037dbf7bf9337faf0e93ec915991f43b"}, - {file = "fonttools-4.43.1-cp311-cp311-win32.whl", hash = "sha256:b84a1c00f832feb9d0585ca8432fba104c819e42ff685fcce83537e2e7e91204"}, - {file = "fonttools-4.43.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a2f0aa6ca7c9bc1058a9d0b35483d4216e0c1bbe3962bc62ce112749954c7b8"}, - {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4d9740e3783c748521e77d3c397dc0662062c88fd93600a3c2087d3d627cd5e5"}, - {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884ef38a5a2fd47b0c1291647b15f4e88b9de5338ffa24ee52c77d52b4dfd09c"}, - {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9648518ef687ba818db3fcc5d9aae27a369253ac09a81ed25c3867e8657a0680"}, - {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e974d70238fc2be5f444fa91f6347191d0e914d5d8ae002c9aa189572cc215"}, - {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:34f713dad41aa21c637b4e04fe507c36b986a40f7179dcc86402237e2d39dcd3"}, - {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:360201d46165fc0753229afe785900bc9596ee6974833124f4e5e9f98d0f592b"}, - {file = "fonttools-4.43.1-cp312-cp312-win32.whl", hash = "sha256:bb6d2f8ef81ea076877d76acfb6f9534a9c5f31dc94ba70ad001267ac3a8e56f"}, - {file = "fonttools-4.43.1-cp312-cp312-win_amd64.whl", hash = "sha256:25d3da8a01442cbc1106490eddb6d31d7dffb38c1edbfabbcc8db371b3386d72"}, - {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8da417431bfc9885a505e86ba706f03f598c85f5a9c54f67d63e84b9948ce590"}, - {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:51669b60ee2a4ad6c7fc17539a43ffffc8ef69fd5dbed186a38a79c0ac1f5db7"}, - {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748015d6f28f704e7d95cd3c808b483c5fb87fd3eefe172a9da54746ad56bfb6"}, - {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a58eb5e736d7cf198eee94844b81c9573102ae5989ebcaa1d1a37acd04b33d"}, - {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bb5ea9076e0e39defa2c325fc086593ae582088e91c0746bee7a5a197be3da0"}, - {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f37e31291bf99a63328668bb83b0669f2688f329c4c0d80643acee6e63cd933"}, - {file = "fonttools-4.43.1-cp38-cp38-win32.whl", hash = "sha256:9c60ecfa62839f7184f741d0509b5c039d391c3aff71dc5bc57b87cc305cff3b"}, - {file = "fonttools-4.43.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe9b1ec799b6086460a7480e0f55c447b1aca0a4eecc53e444f639e967348896"}, - {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13a9a185259ed144def3682f74fdcf6596f2294e56fe62dfd2be736674500dba"}, - {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2adca1b46d69dce4a37eecc096fe01a65d81a2f5c13b25ad54d5430ae430b13"}, - {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18eefac1b247049a3a44bcd6e8c8fd8b97f3cad6f728173b5d81dced12d6c477"}, - {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2062542a7565091cea4cc14dd99feff473268b5b8afdee564f7067dd9fff5860"}, - {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18a2477c62a728f4d6e88c45ee9ee0229405e7267d7d79ce1f5ce0f3e9f8ab86"}, - {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7a06f8d95b7496e53af80d974d63516ffb263a468e614978f3899a6df52d4b3"}, - {file = "fonttools-4.43.1-cp39-cp39-win32.whl", hash = "sha256:10003ebd81fec0192c889e63a9c8c63f88c7d72ae0460b7ba0cd2a1db246e5ad"}, - {file = "fonttools-4.43.1-cp39-cp39-win_amd64.whl", hash = "sha256:e117a92b07407a061cde48158c03587ab97e74e7d73cb65e6aadb17af191162a"}, - {file = "fonttools-4.43.1-py3-none-any.whl", hash = "sha256:4f88cae635bfe4bbbdc29d479a297bb525a94889184bb69fa9560c2d4834ddb9"}, - {file = "fonttools-4.43.1.tar.gz", hash = "sha256:17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"}, + {file = "fonttools-4.44.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1cd1c6bb097e774d68402499ff66185190baaa2629ae2f18515a2c50b93db0c"}, + {file = "fonttools-4.44.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b9eab7f9837fdaa2a10a524fbcc2ec24bf60637c044b6e4a59c3f835b90f0fae"}, + {file = "fonttools-4.44.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f412954275e594f7a51c16f3b3edd850acb0d842fefc33856b63a17e18499a5"}, + {file = "fonttools-4.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50d25893885e80a5955186791eed5579f1e75921751539cc1dc3ffd1160b48cf"}, + {file = "fonttools-4.44.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:22ea8aa7b3712450b42b044702bd3a64fd118006bad09a6f94bd1b227088492e"}, + {file = "fonttools-4.44.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df40daa6c03b98652ffe8110ae014fe695437f6e1cb5a07e16ea37f40e73ac86"}, + {file = "fonttools-4.44.0-cp310-cp310-win32.whl", hash = "sha256:bca49da868e8bde569ef36f0cc1b6de21d56bf9c3be185c503b629c19a185287"}, + {file = "fonttools-4.44.0-cp310-cp310-win_amd64.whl", hash = "sha256:dbac86d83d96099890e731cc2af97976ff2c98f4ba432fccde657c5653a32f1c"}, + {file = "fonttools-4.44.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e8ff7d19a6804bfd561cfcec9b4200dd1788e28f7de4be70189801530c47c1b3"}, + {file = "fonttools-4.44.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8a1fa9a718de0bc026979c93e1e9b55c5efde60d76f91561fd713387573817d"}, + {file = "fonttools-4.44.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05064f95aacdfc06f21e55096c964b2228d942b8675fa26995a2551f6329d2d"}, + {file = "fonttools-4.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31b38528f25bc662401e6ffae14b3eb7f1e820892fd80369a37155e3b636a2f4"}, + {file = "fonttools-4.44.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:05d7c4d2c95b9490e669f3cb83918799bf1c838619ac6d3bad9ea017cfc63f2e"}, + {file = "fonttools-4.44.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6999e80a125b0cd8e068d0210b63323f17338038c2ecd2e11b9209ec430fe7f2"}, + {file = "fonttools-4.44.0-cp311-cp311-win32.whl", hash = "sha256:a7aec7f5d14dfcd71fb3ebc299b3f000c21fdc4043079101777ed2042ba5b7c5"}, + {file = "fonttools-4.44.0-cp311-cp311-win_amd64.whl", hash = "sha256:518a945dbfe337744bfff31423c1430303b8813c5275dffb0f2577f0734a1189"}, + {file = "fonttools-4.44.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:59b6ad83cce067d10f4790c037a5904424f45bebb5e7be2eb2db90402f288267"}, + {file = "fonttools-4.44.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c2de1fb18198acd400c45ffe2aef5420c8d55fde903e91cba705596099550f3b"}, + {file = "fonttools-4.44.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84f308b7a8d28208d54315d11d35f9888d6d607673dd4d42d60b463682ee0400"}, + {file = "fonttools-4.44.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66bc6efd829382f7a7e6cf33c2fb32b13edc8a239eb15f32acbf197dce7a0165"}, + {file = "fonttools-4.44.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a8b99713d3a0d0e876b6aecfaada5e7dc9fe979fcd90ef9fa0ba1d9b9aed03f2"}, + {file = "fonttools-4.44.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b63da598d9cbc52e2381f922da0e94d60c0429f92207bd3fb04d112fc82ea7cb"}, + {file = "fonttools-4.44.0-cp312-cp312-win32.whl", hash = "sha256:f611c97678604e302b725f71626edea113a5745a7fb557c958b39edb6add87d5"}, + {file = "fonttools-4.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:58af428746fa73a2edcbf26aff33ac4ef3c11c8d75bb200eaea2f7e888d2de4e"}, + {file = "fonttools-4.44.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9ee8692e23028564c13d924004495f284df8ac016a19f17a87251210e1f1f928"}, + {file = "fonttools-4.44.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dab3d00d27b1a79ae4d4a240e8ceea8af0ff049fd45f05adb4f860d93744110d"}, + {file = "fonttools-4.44.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f53526668beccdb3409c6055a4ffe50987a7f05af6436fa55d61f5e7bd450219"}, + {file = "fonttools-4.44.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3da036b016c975c2d8c69005bdc4d5d16266f948a7fab950244e0f58301996a"}, + {file = "fonttools-4.44.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b99fe8ef4093f672d00841569d2d05691e50334d79f4d9c15c1265d76d5580d2"}, + {file = "fonttools-4.44.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d16d9634ff1e5cea2cf4a8cbda9026f766e4b5f30b48f8180f0e99133d3abfc"}, + {file = "fonttools-4.44.0-cp38-cp38-win32.whl", hash = "sha256:3d29509f6e05e8d725db59c2d8c076223d793e4e35773040be6632a0349f2f97"}, + {file = "fonttools-4.44.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4fa4f4bc8fd86579b8cdbe5e948f35d82c0eda0091c399d009b2a5a6b61c040"}, + {file = "fonttools-4.44.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c794de4086f06ae609b71ac944ec7deb09f34ecf73316fddc041087dd24bba39"}, + {file = "fonttools-4.44.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2db63941fee3122e31a21dd0f5b2138ce9906b661a85b63622421d3654a74ae2"}, + {file = "fonttools-4.44.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb01c49c8aa035d5346f46630209923d4927ed15c2493db38d31da9f811eb70d"}, + {file = "fonttools-4.44.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c79af80a835410874683b5779b6c1ec1d5a285e11c45b5193e79dd691eb111"}, + {file = "fonttools-4.44.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b6e6aa2d066f8dafd06d8d0799b4944b5d5a1f015dd52ac01bdf2895ebe169a0"}, + {file = "fonttools-4.44.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:63a3112f753baef8c6ac2f5f574bb9ac8001b86c8c0c0380039db47a7f512d20"}, + {file = "fonttools-4.44.0-cp39-cp39-win32.whl", hash = "sha256:54efed22b2799a85475e6840e907c402ba49892c614565dc770aa97a53621b2b"}, + {file = "fonttools-4.44.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e91e19b583961979e2e5a701269d3cfc07418963bee717f8160b0a24332826b"}, + {file = "fonttools-4.44.0-py3-none-any.whl", hash = "sha256:b9beb0fa6ff3ea808ad4a6962d68ac0f140ddab080957b20d9e268e4d67fb335"}, + {file = "fonttools-4.44.0.tar.gz", hash = "sha256:4e90dd81b6e0d97ebfe52c0d12a17a9ef7f305d6bfbb93081265057d6092f252"}, ] [package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.0.0)", "xattr", "zopfli (>=0.1.4)"] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] graphite = ["lz4 (>=1.7.4.2)"] interpolatable = ["munkres", "scipy"] lxml = ["lxml (>=4.0,<5)"] @@ -1337,14 +1270,13 @@ repacker = ["uharfbuzz (>=0.23.0)"] symfont = ["sympy"] type1 = ["xattr"] ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.0.0)"] +unicode = ["unicodedata2 (>=15.1.0)"] woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "fqdn" version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" -category = "main" optional = true python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" files = [ @@ -1356,7 +1288,6 @@ files = [ name = "furo" version = "2022.9.29" description = "A clean customisable Sphinx documentation theme." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1374,7 +1305,6 @@ sphinx-basic-ng = "*" name = "gitdb" version = "4.0.11" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1389,7 +1319,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.40" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1407,7 +1336,6 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre name = "glcontext" version = "2.5.0" description = "Portable OpenGL Context" -category = "main" optional = false python-versions = "*" files = [ @@ -1481,14 +1409,13 @@ files = [ [[package]] name = "identify" -version = "2.5.30" +version = "2.5.31" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.30-py2.py3-none-any.whl", hash = "sha256:afe67f26ae29bab007ec21b03d4114f41316ab9dd15aa8736a167481e108da54"}, - {file = "identify-2.5.30.tar.gz", hash = "sha256:f302a4256a15c849b91cfcdcec052a8ce914634b2f77ae87dad29cd749f2d88d"}, + {file = "identify-2.5.31-py2.py3-none-any.whl", hash = "sha256:90199cb9e7bd3c5407a9b7e81b4abec4bb9d249991c79439ec8af740afc6293d"}, + {file = "identify-2.5.31.tar.gz", hash = "sha256:7736b3c7a28233637e3c36550646fc6389bedd74ae84cb788200cc8e2dd60b75"}, ] [package.extras] @@ -1498,7 +1425,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1510,7 +1436,6 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1522,7 +1447,6 @@ files = [ name = "importlib-metadata" version = "6.8.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1542,7 +1466,6 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs name = "importlib-resources" version = "6.1.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1561,7 +1484,6 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1571,14 +1493,13 @@ files = [ [[package]] name = "ipykernel" -version = "6.25.2" +version = "6.26.0" description = "IPython Kernel for Jupyter" -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "ipykernel-6.25.2-py3-none-any.whl", hash = "sha256:2e2ee359baba19f10251b99415bb39de1e97d04e1fab385646f24f0596510b77"}, - {file = "ipykernel-6.25.2.tar.gz", hash = "sha256:f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b"}, + {file = "ipykernel-6.26.0-py3-none-any.whl", hash = "sha256:3ba3dc97424b87b31bb46586b5167b3161b32d7820b9201a9e698c71e271602c"}, + {file = "ipykernel-6.26.0.tar.gz", hash = "sha256:553856658eb8430bbe9653ea041a41bff63e9606fc4628873fc92a6cf3abd404"}, ] [package.dependencies] @@ -1587,7 +1508,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1607,7 +1528,6 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" name = "ipython" version = "8.12.3" description = "IPython: Productive Interactive Computing" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1647,7 +1567,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "ipython-genutils" version = "0.2.0" description = "Vestigial utilities from IPython" -category = "main" optional = true python-versions = "*" files = [ @@ -1659,7 +1578,6 @@ files = [ name = "isoduration" version = "20.11.0" description = "Operations with ISO 8601 durations" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1674,7 +1592,6 @@ arrow = ">=0.15.0" name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1692,7 +1609,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "isosurfaces" version = "0.1.0" description = "Construct isolines/isosurfaces over a 2D/3D scalar field defined by a function (not a uniform grid)" -category = "main" optional = false python-versions = "*" files = [ @@ -1707,7 +1623,6 @@ numpy = "*" name = "jedi" version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1727,7 +1642,6 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1745,7 +1659,6 @@ i18n = ["Babel (>=2.7)"] name = "json5" version = "0.9.14" description = "A Python implementation of the JSON5 data format." -category = "main" optional = true python-versions = "*" files = [ @@ -1760,7 +1673,6 @@ dev = ["hypothesis"] name = "jsonpointer" version = "2.4" description = "Identify specific nodes in a JSON document (RFC 6901)" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" files = [ @@ -1770,14 +1682,13 @@ files = [ [[package]] name = "jsonschema" -version = "4.19.1" +version = "4.19.2" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, - {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, + {file = "jsonschema-4.19.2-py3-none-any.whl", hash = "sha256:eee9e502c788e89cb166d4d37f43084e3b64ab405c795c03d343a4dbc2c810fc"}, + {file = "jsonschema-4.19.2.tar.gz", hash = "sha256:c9ff4d7447eed9592c23a12ccee508baf0dd0d59650615e847feb6cdca74f392"}, ] [package.dependencies] @@ -1804,7 +1715,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1818,39 +1728,36 @@ referencing = ">=0.28.0" [[package]] name = "jupyter-client" -version = "7.4.9" +version = "8.5.0" description = "Jupyter protocol implementation and client libraries" -category = "main" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jupyter_client-7.4.9-py3-none-any.whl", hash = "sha256:214668aaea208195f4c13d28eb272ba79f945fc0cf3f11c7092c20b2ca1980e7"}, - {file = "jupyter_client-7.4.9.tar.gz", hash = "sha256:52be28e04171f07aed8f20e1616a5a552ab9fee9cbbe6c1896ae170c3880d392"}, + {file = "jupyter_client-8.5.0-py3-none-any.whl", hash = "sha256:c3877aac7257ec68d79b5c622ce986bd2a992ca42f6ddc9b4dd1da50e89f7028"}, + {file = "jupyter_client-8.5.0.tar.gz", hash = "sha256:e8754066510ce456358df363f97eae64b50860f30dc1fe8c6771440db3be9a63"}, ] [package.dependencies] -entrypoints = "*" -jupyter-core = ">=4.9.2" -nest-asyncio = ">=1.5.4" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" -traitlets = "*" +traitlets = ">=5.3" [package.extras] -doc = ["ipykernel", "myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] -test = ["codecov", "coverage", "ipykernel (>=6.12)", "ipython", "mypy", "pre-commit", "pytest", "pytest-asyncio (>=0.18)", "pytest-cov", "pytest-timeout"] +docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-core" -version = "5.4.0" +version = "5.5.0" description = "Jupyter core package. A base package on which Jupyter projects rely." -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.4.0-py3-none-any.whl", hash = "sha256:66e252f675ac04dcf2feb6ed4afb3cd7f68cf92f483607522dc251f32d471571"}, - {file = "jupyter_core-5.4.0.tar.gz", hash = "sha256:e4b98344bb94ee2e3e6c4519a97d001656009f9cb2b7f2baf15b3c205770011d"}, + {file = "jupyter_core-5.5.0-py3-none-any.whl", hash = "sha256:e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805"}, + {file = "jupyter_core-5.5.0.tar.gz", hash = "sha256:880b86053bf298a8724994f95e99b99130659022a4f7f45f563084b6223861d3"}, ] [package.dependencies] @@ -1859,14 +1766,13 @@ pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_ traitlets = ">=5.3" [package.extras] -docs = ["myst-parser", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyter-events" version = "0.8.0" description = "Jupyter Event System library" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1890,14 +1796,13 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p [[package]] name = "jupyter-server" -version = "2.8.0" +version = "2.9.1" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_server-2.8.0-py3-none-any.whl", hash = "sha256:c57270faa6530393ae69783a2d2f1874c718b9f109080581ea076b05713249fa"}, - {file = "jupyter_server-2.8.0.tar.gz", hash = "sha256:b11e2ba80667c75f55630faf8ac3d5809f8734f9006d65cce117c46a0a516ab8"}, + {file = "jupyter_server-2.9.1-py3-none-any.whl", hash = "sha256:21ad1a3d455d5a79ce4bef5201925cd17510c17898cf9d54e3ccfb6b12734948"}, + {file = "jupyter_server-2.9.1.tar.gz", hash = "sha256:9ba71be4b9c16e479e4c50c929f8ac4b1015baf90237a08681397a98c76c7e5e"}, ] [package.dependencies] @@ -1905,7 +1810,7 @@ anyio = ">=3.1.0" argon2-cffi = "*" jinja2 = "*" jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" jupyter-events = ">=0.6.0" jupyter-server-terminals = "*" nbconvert = ">=6.4.4" @@ -1929,7 +1834,6 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-sc name = "jupyter-server-fileid" version = "0.9.0" description = "" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1949,7 +1853,6 @@ test = ["jupyter-server[test] (>=1.15,<3)", "pytest", "pytest-cov"] name = "jupyter-server-terminals" version = "0.4.4" description = "A Jupyter Server Extension Providing Terminals." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1969,7 +1872,6 @@ test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", name = "jupyter-server-ydoc" version = "0.8.0" description = "A Jupyter Server Extension Providing Y Documents." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1989,7 +1891,6 @@ test = ["coverage", "jupyter-server[test] (>=2.0.0a0)", "pytest (>=7.0)", "pytes name = "jupyter-ydoc" version = "0.2.5" description = "Document structures for collaborative editing using Ypy" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2009,7 +1910,6 @@ test = ["pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)", "ypy-we name = "jupyterlab" version = "3.6.6" description = "JupyterLab computational environment" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2038,7 +1938,6 @@ test = ["check-manifest", "coverage", "jupyterlab-server[test]", "pre-commit", " name = "jupyterlab-pygments" version = "0.2.2" description = "Pygments theme using JupyterLab CSS variables" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2050,7 +1949,6 @@ files = [ name = "jupyterlab-server" version = "2.25.0" description = "A set of server components for JupyterLab and JupyterLab like applications." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2077,7 +1975,6 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v name = "kiwisolver" version = "1.4.5" description = "A fast implementation of the Cassowary constraint solver" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2191,7 +2088,6 @@ files = [ name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2237,7 +2133,6 @@ files = [ name = "manimpango" version = "0.5.0" description = "Bindings for Pango for using with Manim." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2263,7 +2158,6 @@ files = [ name = "mapbox-earcut" version = "1.0.1" description = "Python bindings for the mapbox earcut C++ polygon triangulation library." -category = "main" optional = false python-versions = "*" files = [ @@ -2338,7 +2232,6 @@ test = ["pytest"] name = "markdown-it-py" version = "2.2.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2363,7 +2256,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2433,7 +2325,6 @@ files = [ name = "matplotlib" version = "3.7.3" description = "Python plotting package" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2503,7 +2394,6 @@ setuptools_scm = ">=7" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" -category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2518,7 +2408,6 @@ traitlets = "*" name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = "*" files = [ @@ -2530,7 +2419,6 @@ files = [ name = "mdit-py-plugins" version = "0.3.5" description = "Collection of plugins for markdown-it-py" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2550,7 +2438,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2562,7 +2449,6 @@ files = [ name = "mistune" version = "3.0.2" description = "A sane and fast Markdown parser with useful plugins and renderers" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2574,7 +2460,6 @@ files = [ name = "moderngl" version = "5.8.2" description = "ModernGL: High performance rendering for Python 3" -category = "main" optional = false python-versions = "*" files = [ @@ -2637,7 +2522,6 @@ glcontext = ">=2.3.6,<3" name = "moderngl-window" version = "2.4.4" description = "A cross platform helper library for ModernGL making window creation and resource loading simple" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2666,7 +2550,6 @@ trimesh = ["scipy (>=1.3.2)", "trimesh (>=3.2.6,<4)"] name = "multipledispatch" version = "1.0.0" description = "Multiple dispatch" -category = "main" optional = false python-versions = "*" files = [ @@ -2678,7 +2561,6 @@ files = [ name = "mypy" version = "0.931" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2717,7 +2599,6 @@ python2 = ["typed-ast (>=1.4.0,<2)"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2729,7 +2610,6 @@ files = [ name = "myst-parser" version = "0.17.2" description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2756,7 +2636,6 @@ testing = ["beautifulsoup4", "coverage", "docutils (>=0.17.0,<0.18.0)", "pytest name = "nbclassic" version = "1.0.0" description = "Jupyter Notebook as a Jupyter Server extension." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2792,7 +2671,6 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-p name = "nbclient" version = "0.8.0" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -category = "main" optional = true python-versions = ">=3.8.0" files = [ @@ -2802,7 +2680,7 @@ files = [ [package.dependencies] jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" nbformat = ">=5.1" traitlets = ">=5.4" @@ -2813,14 +2691,13 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= [[package]] name = "nbconvert" -version = "7.9.2" +version = "7.10.0" description = "Converting Jupyter Notebooks" -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "nbconvert-7.9.2-py3-none-any.whl", hash = "sha256:39fe4b8bdd1b0104fdd86fc8a43a9077ba64c720bda4c6132690d917a0a154ee"}, - {file = "nbconvert-7.9.2.tar.gz", hash = "sha256:e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9"}, + {file = "nbconvert-7.10.0-py3-none-any.whl", hash = "sha256:8cf1d95e569730f136feb85e4bba25bdcf3a63fefb122d854ddff6771c0ac933"}, + {file = "nbconvert-7.10.0.tar.gz", hash = "sha256:4bedff08848626be544de193b7594d98a048073f392178008ff4f171f5e21d26"}, ] [package.dependencies] @@ -2854,7 +2731,6 @@ webpdf = ["playwright"] name = "nbformat" version = "5.9.2" description = "The Jupyter Notebook format" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2876,7 +2752,6 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] name = "nest-asyncio" version = "1.5.8" description = "Patch asyncio to allow nested event loops" -category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2886,28 +2761,26 @@ files = [ [[package]] name = "networkx" -version = "2.8.8" +version = "3.1" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "networkx-2.8.8-py3-none-any.whl", hash = "sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"}, - {file = "networkx-2.8.8.tar.gz", hash = "sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e"}, + {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, + {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, ] [package.extras] -default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"] -developer = ["mypy (>=0.982)", "pre-commit (>=2.20)"] -doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.2)", "pydata-sphinx-theme (>=0.11)", "sphinx (>=5.2)", "sphinx-gallery (>=0.11)", "texext (>=0.6.6)"] -extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"] +default = ["matplotlib (>=3.4)", "numpy (>=1.20)", "pandas (>=1.3)", "scipy (>=1.8)"] +developer = ["mypy (>=1.1)", "pre-commit (>=3.2)"] +doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.13)", "sphinx (>=6.1)", "sphinx-gallery (>=0.12)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.10)", "sympy (>=1.10)"] test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -2920,14 +2793,13 @@ setuptools = "*" [[package]] name = "notebook" -version = "6.5.6" +version = "6.5.4" description = "A web-based notebook environment for interactive computing" -category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "notebook-6.5.6-py3-none-any.whl", hash = "sha256:c1e2eb2e3b6079a0552a04974883a48d04c3c05792170d64a4b23d707d453181"}, - {file = "notebook-6.5.6.tar.gz", hash = "sha256:b4625a4b7a597839dd3156b140d5ba2c7123761f98245a3290f67a8b8ee048d9"}, + {file = "notebook-6.5.4-py3-none-any.whl", hash = "sha256:dd17e78aefe64c768737b32bf171c1c766666a21cc79a44d37a1700771cab56f"}, + {file = "notebook-6.5.4.tar.gz", hash = "sha256:517209568bd47261e2def27a140e97d49070602eea0d226a696f42a7f16c9a4e"}, ] [package.dependencies] @@ -2935,14 +2807,14 @@ argon2-cffi = "*" ipykernel = "*" ipython-genutils = "*" jinja2 = "*" -jupyter-client = ">=5.3.4,<8" +jupyter-client = ">=5.3.4" jupyter-core = ">=4.6.1" nbclassic = ">=0.4.7" nbconvert = ">=5" nbformat = "*" nest-asyncio = ">=1.5" prometheus-client = "*" -pyzmq = ">=17,<25" +pyzmq = ">=17" Send2Trash = ">=1.8.0" terminado = ">=0.8.3" tornado = ">=6.1" @@ -2957,7 +2829,6 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixs name = "notebook-shim" version = "0.2.3" description = "A shim layer for notebook traits and config" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2975,7 +2846,6 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" name = "numpy" version = "1.24.4" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3013,7 +2883,6 @@ files = [ name = "overrides" version = "7.4.0" description = "A decorator to automatically detect mismatch when overriding a method." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3025,7 +2894,6 @@ files = [ name = "packaging" version = "23.2" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3037,7 +2905,6 @@ files = [ name = "pandocfilters" version = "1.5.0" description = "Utilities for writing pandoc filters in python" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3049,7 +2916,6 @@ files = [ name = "parso" version = "0.8.3" description = "A Python Parser" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3065,7 +2931,6 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3077,7 +2942,6 @@ files = [ name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." -category = "main" optional = true python-versions = "*" files = [ @@ -3092,7 +2956,6 @@ ptyprocess = ">=0.5" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" -category = "main" optional = true python-versions = "*" files = [ @@ -3104,7 +2967,6 @@ files = [ name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3184,7 +3046,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3196,7 +3057,6 @@ files = [ name = "platformdirs" version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3212,7 +3072,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pluggy" version = "1.3.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3228,7 +3087,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "2.21.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3245,14 +3103,13 @@ virtualenv = ">=20.10.0" [[package]] name = "prometheus-client" -version = "0.17.1" +version = "0.18.0" description = "Python client for the Prometheus monitoring system." -category = "main" optional = true -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.17.1-py3-none-any.whl", hash = "sha256:e537f37160f6807b8202a6fc4764cdd19bac5480ddd3e0d463c3002b34462101"}, - {file = "prometheus_client-0.17.1.tar.gz", hash = "sha256:21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091"}, + {file = "prometheus_client-0.18.0-py3-none-any.whl", hash = "sha256:8de3ae2755f890826f4b6479e5571d4f74ac17a81345fe69a6778fdb92579184"}, + {file = "prometheus_client-0.18.0.tar.gz", hash = "sha256:35f7a8c22139e2bb7ca5a698e92d38145bc8dc74c1c0bf56f25cca886a764e17"}, ] [package.extras] @@ -3262,7 +3119,6 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.39" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -3277,7 +3133,6 @@ wcwidth = "*" name = "psutil" version = "5.9.6" description = "Cross-platform lib for process and system monitoring in Python." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3306,7 +3161,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psutil-wheels" version = "5.8.0" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3332,7 +3186,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "unittest2", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "main" optional = true python-versions = "*" files = [ @@ -3344,7 +3197,6 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" -category = "main" optional = true python-versions = "*" files = [ @@ -3359,7 +3211,6 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3371,7 +3222,6 @@ files = [ name = "pycairo" version = "1.25.1" description = "Python interface for cairo" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3396,7 +3246,6 @@ files = [ name = "pycodestyle" version = "2.7.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3408,7 +3257,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3420,7 +3268,6 @@ files = [ name = "pydocstyle" version = "6.3.0" description = "Python docstring style checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3438,7 +3285,6 @@ toml = ["tomli (>=1.2.3)"] name = "pydub" version = "0.25.1" description = "Manipulate audio with an simple and easy high level interface" -category = "main" optional = false python-versions = "*" files = [ @@ -3450,7 +3296,6 @@ files = [ name = "pyflakes" version = "2.3.1" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3462,7 +3307,6 @@ files = [ name = "pygithub" version = "1.59.1" description = "Use the full Github API v3" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3480,7 +3324,6 @@ requests = ">=2.14.0" name = "pyglet" version = "2.0.9" description = "Cross-platform windowing and multimedia library" -category = "main" optional = false python-versions = "*" files = [ @@ -3492,7 +3335,6 @@ files = [ name = "pygments" version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3507,7 +3349,6 @@ plugins = ["importlib-metadata"] name = "pyjwt" version = "2.8.0" description = "JSON Web Token implementation in Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3528,7 +3369,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pylint" version = "2.17.7" description = "python code static checker" -category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -3558,7 +3398,6 @@ testutils = ["gitpython (>3)"] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3585,7 +3424,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyobjc-core" version = "10.0" description = "Python<->ObjC Interoperability Module" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3602,7 +3440,6 @@ files = [ name = "pyobjc-framework-cocoa" version = "10.0" description = "Wrappers for the Cocoa frameworks on macOS" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3622,7 +3459,6 @@ pyobjc-core = ">=10.0" name = "pyparsing" version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "dev" optional = false python-versions = ">=3.6.8" files = [ @@ -3637,7 +3473,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyrr" version = "0.10.3" description = "3D mathematical functions using NumPy" -category = "main" optional = false python-versions = "*" files = [ @@ -3651,14 +3486,13 @@ numpy = "*" [[package]] name = "pytest" -version = "7.4.2" +version = "7.4.3" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, - {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, + {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, + {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, ] [package.dependencies] @@ -3676,7 +3510,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-cov" version = "3.0.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3695,7 +3528,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "pytest-forked" version = "1.6.0" description = "run tests in isolated forked subprocesses" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3711,7 +3543,6 @@ pytest = ">=3.10" name = "pytest-xdist" version = "2.5.0" description = "pytest xdist plugin for distributed testing and loop-on-failing modes" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3733,7 +3564,6 @@ testing = ["filelock"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3748,7 +3578,6 @@ six = ">=1.5" name = "python-json-logger" version = "2.0.7" description = "A python library adding a json log formatter" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3760,7 +3589,6 @@ files = [ name = "pytz" version = "2023.3.post1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -3772,7 +3600,6 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" -category = "main" optional = true python-versions = "*" files = [ @@ -3796,7 +3623,6 @@ files = [ name = "pywinpty" version = "2.0.12" description = "Pseudo terminal support for Windows from Python." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3812,7 +3638,6 @@ files = [ name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3870,97 +3695,113 @@ files = [ [[package]] name = "pyzmq" -version = "24.0.1" +version = "25.1.1" description = "Python bindings for 0MQ" -category = "main" optional = true python-versions = ">=3.6" files = [ - {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:28b119ba97129d3001673a697b7cce47fe6de1f7255d104c2f01108a5179a066"}, - {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bcbebd369493d68162cddb74a9c1fcebd139dfbb7ddb23d8f8e43e6c87bac3a6"}, - {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae61446166983c663cee42c852ed63899e43e484abf080089f771df4b9d272ef"}, - {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87f7ac99b15270db8d53f28c3c7b968612993a90a5cf359da354efe96f5372b4"}, - {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca7c3956b03b7663fac4d150f5e6d4f6f38b2462c1e9afd83bcf7019f17913"}, - {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8c78bfe20d4c890cb5580a3b9290f700c570e167d4cdcc55feec07030297a5e3"}, - {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48f721f070726cd2a6e44f3c33f8ee4b24188e4b816e6dd8ba542c8c3bb5b246"}, - {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afe1f3bc486d0ce40abb0a0c9adb39aed3bbac36ebdc596487b0cceba55c21c1"}, - {file = "pyzmq-24.0.1-cp310-cp310-win32.whl", hash = "sha256:3e6192dbcefaaa52ed81be88525a54a445f4b4fe2fffcae7fe40ebb58bd06bfd"}, - {file = "pyzmq-24.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:86de64468cad9c6d269f32a6390e210ca5ada568c7a55de8e681ca3b897bb340"}, - {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:838812c65ed5f7c2bd11f7b098d2e5d01685a3f6d1f82849423b570bae698c00"}, - {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dfb992dbcd88d8254471760879d48fb20836d91baa90f181c957122f9592b3dc"}, - {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7abddb2bd5489d30ffeb4b93a428130886c171b4d355ccd226e83254fcb6b9ef"}, - {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94010bd61bc168c103a5b3b0f56ed3b616688192db7cd5b1d626e49f28ff51b3"}, - {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8242543c522d84d033fe79be04cb559b80d7eb98ad81b137ff7e0a9020f00ace"}, - {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ccb94342d13e3bf3ffa6e62f95b5e3f0bc6bfa94558cb37f4b3d09d6feb536ff"}, - {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6640f83df0ae4ae1104d4c62b77e9ef39be85ebe53f636388707d532bee2b7b8"}, - {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a180dbd5ea5d47c2d3b716d5c19cc3fb162d1c8db93b21a1295d69585bfddac1"}, - {file = "pyzmq-24.0.1-cp311-cp311-win32.whl", hash = "sha256:624321120f7e60336be8ec74a172ae7fba5c3ed5bf787cc85f7e9986c9e0ebc2"}, - {file = "pyzmq-24.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1724117bae69e091309ffb8255412c4651d3f6355560d9af312d547f6c5bc8b8"}, - {file = "pyzmq-24.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:15975747462ec49fdc863af906bab87c43b2491403ab37a6d88410635786b0f4"}, - {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b947e264f0e77d30dcbccbb00f49f900b204b922eb0c3a9f0afd61aaa1cedc3d"}, - {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ec91f1bad66f3ee8c6deb65fa1fe418e8ad803efedd69c35f3b5502f43bd1dc"}, - {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:db03704b3506455d86ec72c3358a779e9b1d07b61220dfb43702b7b668edcd0d"}, - {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:e7e66b4e403c2836ac74f26c4b65d8ac0ca1eef41dfcac2d013b7482befaad83"}, - {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7a23ccc1083c260fa9685c93e3b170baba45aeed4b524deb3f426b0c40c11639"}, - {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fa0ae3275ef706c0309556061185dd0e4c4cd3b7d6f67ae617e4e677c7a41e2e"}, - {file = "pyzmq-24.0.1-cp36-cp36m-win32.whl", hash = "sha256:f01de4ec083daebf210531e2cca3bdb1608dbbbe00a9723e261d92087a1f6ebc"}, - {file = "pyzmq-24.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:de4217b9eb8b541cf2b7fde4401ce9d9a411cc0af85d410f9d6f4333f43640be"}, - {file = "pyzmq-24.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:78068e8678ca023594e4a0ab558905c1033b2d3e806a0ad9e3094e231e115a33"}, - {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77c2713faf25a953c69cf0f723d1b7dd83827b0834e6c41e3fb3bbc6765914a1"}, - {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bb4af15f305056e95ca1bd086239b9ebc6ad55e9f49076d27d80027f72752f6"}, - {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0f14cffd32e9c4c73da66db97853a6aeceaac34acdc0fae9e5bbc9370281864c"}, - {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0108358dab8c6b27ff6b985c2af4b12665c1bc659648284153ee501000f5c107"}, - {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d66689e840e75221b0b290b0befa86f059fb35e1ee6443bce51516d4d61b6b99"}, - {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ae08ac90aa8fa14caafc7a6251bd218bf6dac518b7bff09caaa5e781119ba3f2"}, - {file = "pyzmq-24.0.1-cp37-cp37m-win32.whl", hash = "sha256:8421aa8c9b45ea608c205db9e1c0c855c7e54d0e9c2c2f337ce024f6843cab3b"}, - {file = "pyzmq-24.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54d8b9c5e288362ec8595c1d98666d36f2070fd0c2f76e2b3c60fbad9bd76227"}, - {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:acbd0a6d61cc954b9f535daaa9ec26b0a60a0d4353c5f7c1438ebc88a359a47e"}, - {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47b11a729d61a47df56346283a4a800fa379ae6a85870d5a2e1e4956c828eedc"}, - {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abe6eb10122f0d746a0d510c2039ae8edb27bc9af29f6d1b05a66cc2401353ff"}, - {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:07bec1a1b22dacf718f2c0e71b49600bb6a31a88f06527dfd0b5aababe3fa3f7"}, - {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d945a85b70da97ae86113faf9f1b9294efe66bd4a5d6f82f2676d567338b66"}, - {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1b7928bb7580736ffac5baf814097be342ba08d3cfdfb48e52773ec959572287"}, - {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b946da90dc2799bcafa682692c1d2139b2a96ec3c24fa9fc6f5b0da782675330"}, - {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c8840f064b1fb377cffd3efeaad2b190c14d4c8da02316dae07571252d20b31f"}, - {file = "pyzmq-24.0.1-cp38-cp38-win32.whl", hash = "sha256:4854f9edc5208f63f0841c0c667260ae8d6846cfa233c479e29fdc85d42ebd58"}, - {file = "pyzmq-24.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:42d4f97b9795a7aafa152a36fe2ad44549b83a743fd3e77011136def512e6c2a"}, - {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:52afb0ac962963fff30cf1be775bc51ae083ef4c1e354266ab20e5382057dd62"}, - {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bad8210ad4df68c44ff3685cca3cda448ee46e20d13edcff8909eba6ec01ca4"}, - {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dabf1a05318d95b1537fd61d9330ef4313ea1216eea128a17615038859da3b3b"}, - {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5bd3d7dfd9cd058eb68d9a905dec854f86649f64d4ddf21f3ec289341386c44b"}, - {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8012bce6836d3f20a6c9599f81dfa945f433dab4dbd0c4917a6fb1f998ab33d"}, - {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c31805d2c8ade9b11feca4674eee2b9cce1fec3e8ddb7bbdd961a09dc76a80ea"}, - {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3104f4b084ad5d9c0cb87445cc8cfd96bba710bef4a66c2674910127044df209"}, - {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:df0841f94928f8af9c7a1f0aaaffba1fb74607af023a152f59379c01c53aee58"}, - {file = "pyzmq-24.0.1-cp39-cp39-win32.whl", hash = "sha256:a435ef8a3bd95c8a2d316d6e0ff70d0db524f6037411652803e118871d703333"}, - {file = "pyzmq-24.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:2032d9cb994ce3b4cba2b8dfae08c7e25bc14ba484c770d4d3be33c27de8c45b"}, - {file = "pyzmq-24.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bb5635c851eef3a7a54becde6da99485eecf7d068bd885ac8e6d173c4ecd68b0"}, - {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:83ea1a398f192957cb986d9206ce229efe0ee75e3c6635baff53ddf39bd718d5"}, - {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:941fab0073f0a54dc33d1a0460cb04e0d85893cb0c5e1476c785000f8b359409"}, - {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e8f482c44ccb5884bf3f638f29bea0f8dc68c97e38b2061769c4cb697f6140d"}, - {file = "pyzmq-24.0.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:613010b5d17906c4367609e6f52e9a2595e35d5cc27d36ff3f1b6fa6e954d944"}, - {file = "pyzmq-24.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:65c94410b5a8355cfcf12fd600a313efee46ce96a09e911ea92cf2acf6708804"}, - {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:20e7eeb1166087db636c06cae04a1ef59298627f56fb17da10528ab52a14c87f"}, - {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2712aee7b3834ace51738c15d9ee152cc5a98dc7d57dd93300461b792ab7b43"}, - {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a7c280185c4da99e0cc06c63bdf91f5b0b71deb70d8717f0ab870a43e376db8"}, - {file = "pyzmq-24.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:858375573c9225cc8e5b49bfac846a77b696b8d5e815711b8d4ba3141e6e8879"}, - {file = "pyzmq-24.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:80093b595921eed1a2cead546a683b9e2ae7f4a4592bb2ab22f70d30174f003a"}, - {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f3f3154fde2b1ff3aa7b4f9326347ebc89c8ef425ca1db8f665175e6d3bd42f"}, - {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb756147314430bee5d10919b8493c0ccb109ddb7f5dfd2fcd7441266a25b75"}, - {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44e706bac34e9f50779cb8c39f10b53a4d15aebb97235643d3112ac20bd577b4"}, - {file = "pyzmq-24.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:687700f8371643916a1d2c61f3fdaa630407dd205c38afff936545d7b7466066"}, - {file = "pyzmq-24.0.1.tar.gz", hash = "sha256:216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77"}, + {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"}, + {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"}, + {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"}, + {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"}, + {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"}, + {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"}, + {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"}, + {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"}, + {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"}, + {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"}, + {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"}, + {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"}, + {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"}, + {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"}, + {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"}, + {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"}, + {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"}, + {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"}, + {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"}, + {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"}, + {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"}, + {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"}, + {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"}, + {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"}, + {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"}, + {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"}, + {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"}, + {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"}, + {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"}, + {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"}, + {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"}, + {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"}, + {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"}, + {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"}, + {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"}, + {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"}, + {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"}, + {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"}, + {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"}, + {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"}, + {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"}, + {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"}, + {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"}, + {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"}, + {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"}, + {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"}, + {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"}, + {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"}, + {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"}, + {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"}, + {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"}, + {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"}, + {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"}, + {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"}, + {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"}, + {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"}, + {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"}, + {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"}, + {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"}, + {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"}, + {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"}, + {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"}, + {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"}, + {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"}, + {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"}, + {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"}, + {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"}, + {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"}, + {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"}, + {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"}, + {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"}, + {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"}, + {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"}, + {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"}, + {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"}, + {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"}, + {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"}, + {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"}, + {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"}, + {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"}, + {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"}, + {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"}, + {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"}, + {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"}, + {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"}, + {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"}, + {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"}, + {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"}, ] [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} -py = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] name = "recommonmark" version = "0.7.1" description = "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects." -category = "dev" optional = false python-versions = "*" files = [ @@ -3977,7 +3818,6 @@ sphinx = ">=1.3.1" name = "referencing" version = "0.30.2" description = "JSON Referencing + Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3993,7 +3833,6 @@ rpds-py = ">=0.7.0" name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4015,7 +3854,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "restructuredtext-lint" version = "1.4.0" description = "reStructuredText linter" -category = "dev" optional = false python-versions = "*" files = [ @@ -4029,7 +3867,6 @@ docutils = ">=0.11,<1.0" name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4044,7 +3881,6 @@ six = "*" name = "rfc3986-validator" version = "0.1.1" description = "Pure python rfc3986 validator" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4056,7 +3892,6 @@ files = [ name = "rich" version = "13.6.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4076,7 +3911,6 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rpds-py" version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4185,7 +4019,6 @@ files = [ name = "scipy" version = "1.10.1" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = "<3.12,>=3.8" files = [ @@ -4224,7 +4057,6 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo name = "screeninfo" version = "0.8.1" description = "Fetch location and size of physical screens." -category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" files = [ @@ -4240,7 +4072,6 @@ pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} name = "send2trash" version = "1.8.2" description = "Send file to trash natively under Mac OS X, Windows and Linux" -category = "main" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -4257,7 +4088,6 @@ win32 = ["pywin32"] name = "setuptools" version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4274,7 +4104,6 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar name = "setuptools-scm" version = "8.0.4" description = "the blessed package to manage your versions by scm tags" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4297,7 +4126,6 @@ test = ["build", "pytest", "rich", "wheel"] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -4309,7 +4137,6 @@ files = [ name = "skia-pathops" version = "0.7.4" description = "Python access to operations on paths using the Skia library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4365,7 +4192,6 @@ testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] name = "smmap" version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4377,7 +4203,6 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4389,7 +4214,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" files = [ @@ -4401,7 +4225,6 @@ files = [ name = "soupsieve" version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4413,7 +4236,6 @@ files = [ name = "sphinx" version = "4.5.0" description = "Python documentation generator" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4449,7 +4271,6 @@ test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"] name = "sphinx-basic-ng" version = "1.0.0b2" description = "A modern skeleton for Sphinx themes." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4467,7 +4288,6 @@ docs = ["furo", "ipython", "myst-parser", "sphinx-copybutton", "sphinx-inline-ta name = "sphinx-copybutton" version = "0.4.0" description = "Add a copy button to each of your code cells." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4486,7 +4306,6 @@ rtd = ["ipython", "sphinx", "sphinx-book-theme"] name = "sphinxcontrib-applehelp" version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4502,7 +4321,6 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4518,7 +4336,6 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4534,7 +4351,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4549,7 +4365,6 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-programoutput" version = "0.17" description = "Sphinx extension to include program output" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -4564,7 +4379,6 @@ Sphinx = ">=1.7.0" name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4580,7 +4394,6 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4596,7 +4409,6 @@ test = ["pytest"] name = "sphinxext-opengraph" version = "0.8.2" description = "Sphinx Extension to enable OGP support" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4612,7 +4424,6 @@ sphinx = ">=4.0" name = "srt" version = "3.5.3" description = "A tiny library for parsing, modifying, and composing SRT files." -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -4623,7 +4434,6 @@ files = [ name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "main" optional = true python-versions = "*" files = [ @@ -4643,7 +4453,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "svgelements" version = "1.9.6" description = "Svg Elements Parsing" -category = "main" optional = false python-versions = "*" files = [ @@ -4655,7 +4464,6 @@ files = [ name = "terminado" version = "0.17.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4676,7 +4484,6 @@ test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] name = "tinycss2" version = "1.2.1" description = "A tiny CSS parser" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4695,7 +4502,6 @@ test = ["flake8", "isort", "pytest"] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4705,21 +4511,19 @@ files = [ [[package]] name = "tomlkit" -version = "0.12.1" +version = "0.12.2" description = "Style preserving TOML library" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, - {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, + {file = "tomlkit-0.12.2-py3-none-any.whl", hash = "sha256:eeea7ac7563faeab0a1ed8fe12c2e5a51c61f933f2502f7e9db0241a65163ad0"}, + {file = "tomlkit-0.12.2.tar.gz", hash = "sha256:df32fab589a81f0d7dc525a4267b6d7a64ee99619cbd1eeb0fae32c1dd426977"}, ] [[package]] name = "tornado" version = "6.3.3" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "main" optional = true python-versions = ">= 3.8" files = [ @@ -4740,7 +4544,6 @@ files = [ name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4759,25 +4562,23 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.11.2" +version = "5.13.0" description = "Traitlets Python configuration system" -category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "traitlets-5.11.2-py3-none-any.whl", hash = "sha256:98277f247f18b2c5cabaf4af369187754f4fb0e85911d473f72329db8a7f4fae"}, - {file = "traitlets-5.11.2.tar.gz", hash = "sha256:7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e"}, + {file = "traitlets-5.13.0-py3-none-any.whl", hash = "sha256:baf991e61542da48fe8aef8b779a9ea0aa38d8a54166ee250d5af5ecf4486619"}, + {file = "traitlets-5.13.0.tar.gz", hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.5.1)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.6.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "types-decorator" version = "0.1.7" description = "Typing stubs for decorator" -category = "dev" optional = false python-versions = "*" files = [ @@ -4789,7 +4590,6 @@ files = [ name = "types-docutils" version = "0.20.0.3" description = "Typing stubs for docutils" -category = "dev" optional = false python-versions = "*" files = [ @@ -4801,7 +4601,6 @@ files = [ name = "types-pillow" version = "8.3.11" description = "Typing stubs for Pillow" -category = "dev" optional = false python-versions = "*" files = [ @@ -4813,7 +4612,6 @@ files = [ name = "types-protobuf" version = "3.20.4.6" description = "Typing stubs for protobuf" -category = "dev" optional = false python-versions = "*" files = [ @@ -4825,7 +4623,6 @@ files = [ name = "types-pygments" version = "2.16.0.0" description = "Typing stubs for Pygments" -category = "dev" optional = false python-versions = "*" files = [ @@ -4841,7 +4638,6 @@ types-setuptools = "*" name = "types-python-dateutil" version = "2.8.19.14" description = "Typing stubs for python-dateutil" -category = "main" optional = true python-versions = "*" files = [ @@ -4853,7 +4649,6 @@ files = [ name = "types-requests" version = "2.31.0.10" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4868,7 +4663,6 @@ urllib3 = ">=2" name = "types-setuptools" version = "57.4.18" description = "Typing stubs for setuptools" -category = "dev" optional = false python-versions = "*" files = [ @@ -4880,7 +4674,6 @@ files = [ name = "typing-extensions" version = "4.8.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4892,7 +4685,6 @@ files = [ name = "uri-template" version = "1.3.0" description = "RFC 6570 URI Template Processor" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4907,7 +4699,6 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake name = "urllib3" version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4925,7 +4716,6 @@ zstd = ["zstandard (>=0.18.0)"] name = "virtualenv" version = "20.24.6" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4944,40 +4734,38 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "watchdog" -version = "2.3.1" +version = "3.0.0" description = "Filesystem events monitoring" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "watchdog-2.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1f1200d4ec53b88bf04ab636f9133cb703eb19768a39351cee649de21a33697"}, - {file = "watchdog-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:564e7739abd4bd348aeafbf71cc006b6c0ccda3160c7053c4a53b67d14091d42"}, - {file = "watchdog-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:95ad708a9454050a46f741ba5e2f3468655ea22da1114e4c40b8cbdaca572565"}, - {file = "watchdog-2.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a073c91a6ef0dda488087669586768195c3080c66866144880f03445ca23ef16"}, - {file = "watchdog-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa8b028750b43e80eea9946d01925168eeadb488dfdef1d82be4b1e28067f375"}, - {file = "watchdog-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:964fd236cd443933268ae49b59706569c8b741073dbfd7ca705492bae9d39aab"}, - {file = "watchdog-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:91fd146d723392b3e6eb1ac21f122fcce149a194a2ba0a82c5e4d0ee29cd954c"}, - {file = "watchdog-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:efe3252137392a471a2174d721e1037a0e6a5da7beb72a021e662b7000a9903f"}, - {file = "watchdog-2.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:85bf2263290591b7c5fa01140601b64c831be88084de41efbcba6ea289874f44"}, - {file = "watchdog-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8f2df370cd8e4e18499dd0bfdef476431bcc396108b97195d9448d90924e3131"}, - {file = "watchdog-2.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ea5d86d1bcf4a9d24610aa2f6f25492f441960cf04aed2bd9a97db439b643a7b"}, - {file = "watchdog-2.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6f5d0f7eac86807275eba40b577c671b306f6f335ba63a5c5a348da151aba0fc"}, - {file = "watchdog-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b848c71ef2b15d0ef02f69da8cc120d335cec0ed82a3fa7779e27a5a8527225"}, - {file = "watchdog-2.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0d9878be36d2b9271e3abaa6f4f051b363ff54dbbe7e7df1af3c920e4311ee43"}, - {file = "watchdog-2.3.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4cd61f98cb37143206818cb1786d2438626aa78d682a8f2ecee239055a9771d5"}, - {file = "watchdog-2.3.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3d2dbcf1acd96e7a9c9aefed201c47c8e311075105d94ce5e899f118155709fd"}, - {file = "watchdog-2.3.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:03f342a9432fe08107defbe8e405a2cb922c5d00c4c6c168c68b633c64ce6190"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7a596f9415a378d0339681efc08d2249e48975daae391d58f2e22a3673b977cf"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_armv7l.whl", hash = "sha256:0e1dd6d449267cc7d6935d7fe27ee0426af6ee16578eed93bacb1be9ff824d2d"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_i686.whl", hash = "sha256:7a1876f660e32027a1a46f8a0fa5747ad4fcf86cb451860eae61a26e102c8c79"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_ppc64.whl", hash = "sha256:2caf77ae137935c1466f8cefd4a3aec7017b6969f425d086e6a528241cba7256"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:53f3e95081280898d9e4fc51c5c69017715929e4eea1ab45801d5e903dd518ad"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_s390x.whl", hash = "sha256:9da7acb9af7e4a272089bd2af0171d23e0d6271385c51d4d9bde91fe918c53ed"}, - {file = "watchdog-2.3.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:8a4d484e846dcd75e96b96d80d80445302621be40e293bfdf34a631cab3b33dc"}, - {file = "watchdog-2.3.1-py3-none-win32.whl", hash = "sha256:a74155398434937ac2780fd257c045954de5b11b5c52fc844e2199ce3eecf4cf"}, - {file = "watchdog-2.3.1-py3-none-win_amd64.whl", hash = "sha256:5defe4f0918a2a1a4afbe4dbb967f743ac3a93d546ea4674567806375b024adb"}, - {file = "watchdog-2.3.1-py3-none-win_ia64.whl", hash = "sha256:4109cccf214b7e3462e8403ab1e5b17b302ecce6c103eb2fc3afa534a7f27b96"}, - {file = "watchdog-2.3.1.tar.gz", hash = "sha256:d9f9ed26ed22a9d331820a8432c3680707ea8b54121ddcc9dc7d9f2ceeb36906"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, + {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, + {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, + {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, + {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, + {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, + {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, + {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, + {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, ] [package.extras] @@ -4985,21 +4773,19 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcwidth" -version = "0.2.8" +version = "0.2.9" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = true python-versions = "*" files = [ - {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, - {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, + {file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, + {file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, ] [[package]] name = "webcolors" version = "1.13" description = "A library for working with the color formats defined by HTML and CSS." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5015,7 +4801,6 @@ tests = ["pytest", "pytest-cov"] name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = true python-versions = "*" files = [ @@ -5027,7 +4812,6 @@ files = [ name = "websocket-client" version = "1.6.4" description = "WebSocket client for Python with low level API options" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -5044,7 +4828,6 @@ test = ["websockets"] name = "wrapt" version = "1.15.0" description = "Module for decorators, wrappers and monkey patching." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -5129,7 +4912,6 @@ files = [ name = "y-py" version = "0.6.2" description = "Python bindings for the Y-CRDT built from yrs (Rust)" -category = "main" optional = true python-versions = "*" files = [ @@ -5213,7 +4995,6 @@ files = [ name = "ypy-websocket" version = "0.8.4" description = "WebSocket connector for Ypy" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5233,7 +5014,6 @@ test = ["mypy", "pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)"] name = "zipp" version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5252,4 +5032,4 @@ jupyterlab = ["jupyterlab", "notebook"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "3499f5d56322e6bb4c2d55e9e0a69be42e574d519edb7387feacbb3dd88da652" +content-hash = "fcf22a432b1736dc21eeefb88afc680020c64357eb7f8b1ba4b4fa7d030debaa" diff --git a/pyproject.toml b/pyproject.toml index b7cbc99e4b..7b9f1a824f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,16 +37,16 @@ pydub = "^0.25.1" rich = ">=6.0,!=12.0.0" pycairo = "^1.21" manimpango = ">=0.5.0,<1.0.0" -networkx = "^2.5" +networkx = ">=2.5,<3.3" decorator = "^5.0.7" importlib-metadata = { version = "^4.10.0", python = "<3.8" } -watchdog = "^2.1.6" +watchdog = ">=2.1,<=3.0.0" jupyterlab = { version = "^3.0", optional = true } notebook = { version = "^6.4", optional = true } moderngl = "^5.6.3" moderngl-window = "^2.3.0" mapbox-earcut = "^1.0.0" -cloup = "^0.13.0" +cloup = ">=0.13,<2.2" requests = "^2.26.0" dearpygui = { version = "^1.3.1", optional = true } skia-pathops = "^0.7.0" diff --git a/tests/interface/test_commands.py b/tests/interface/test_commands.py index 995daf2c37..f2f68857e8 100644 --- a/tests/interface/test_commands.py +++ b/tests/interface/test_commands.py @@ -144,7 +144,7 @@ def test_manim_new_command(): expected_output = """\ Usage: manim new [OPTIONS] COMMAND [ARGS]... - (DEPRECATED) Create a new project or insert a new scene. + (Deprecated) Create a new project or insert a new scene. Options: --help Show this message and exit. From d77a47a233fd06f186a8367ab2626d1ea7c686fa Mon Sep 17 00:00:00 2001 From: Tristan Schulz Date: Sat, 4 Nov 2023 00:49:11 +0100 Subject: [PATCH 18/29] Fix Typing (#3086) * first draft of color class + starting library conversion * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * changed everything to Manim color todo: figure out circular dependency in utils * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * first working draft of new color version * resolving conflicts * resolving conflicts * resolving conflicts * resolving conflicts * resolving conflicts * changed default internal value of ManimColor to np.ndarray[float] * starting to fix tests * fixed more tests and changed precision of manim color * removed premature color conversion * fixed some more tests * final test changes * fix doctests * fix for 3.8 * fixing ManimColor string representation * removing some unneccesary conversions * moved community constants to manim_colors.py and added more color standards * Added typing.py and typed bezier.py, core.py, constants.py fully * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fixed codeql complaints * add type ignore for np.allclose * fixed import in three_dimensions * added ignore for F401 back again in flake * added typings to coordinate_systems.py * Few improvements to `graphing/coordinate_systems.py` * added some typings to mobject/geometry/line.py * updated typings for mobject/geometry/line.py * Add missing imports to `line.py` * added typings to three_dimensions.py * Use `FunctionOverride` for animation overrides Fix type signature of `set_color_by_gradient` * Remove `TYPE_CHECKING` check Doc is failing * Revert "Remove `TYPE_CHECKING` check" Fails due to circular import * Use `Self` in `coordinate_systems.py` * Typehinted mobject.py and updated manim.typing.py * Typed VMobject * Type-hinted manim.mobject.geometry * math.cos->np.cos, etc & fixed incorrect typehints * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix missing annotations import * TypeAlias fix in typing.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add ignore errors again to mypy because commits are not possible like this * Fix last typing issues * Update docs * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Only type check manim * Try fixing pre-commit * fix merge * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix compat * Fix compat again * Fix imports compat * Use union syntax * Use union syntax * Fix reduce_across_dimension * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Various test and merge fixes * Doc fixes * Last doc fix * Revert usage of np over math * Bump numpy version * Remove obsolete duplicate example * Fixed Incorrect Typehint in manim.constants * Fix docstring typo * More fixes Use mypy.ini instead of .mypy.ini Fix more docstrings Improve types in utils and constants * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * docs fixes * Add internal aliases * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix compat * line lengths in .rst file, formatting, typos * add docstring for space_ops:cross2d * add some more arrow tip typings (in a non-circular import causing way) * yes, this can be deleted * fix formatting of example * added docstring to bezier::inverse_interpolation * added docstring + test for bezier::match_interpolate * some improvements in coordinate_systems * Vector -> Vector3 * replaced np.ndarray with more appropriate type hints * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Apply feedback * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * revert to previous (new) version * fix doctest * fix ReST errors --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alex Lembcke Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com> Co-authored-by: JasonGrace2282 Co-authored-by: Benjamin Hackl --- .flake8 | 7 +- .pre-commit-config.yaml | 3 +- docs/source/contributing/typings.rst | 110 ++-- manim/_config/__init__.py | 1 - manim/_config/logger_utils.py | 1 + manim/_config/utils.py | 4 +- manim/animation/changing.py | 1 - manim/animation/creation.py | 2 +- manim/animation/indication.py | 3 +- manim/camera/camera.py | 1 - manim/constants.py | 112 ++-- manim/mobject/geometry/arc.py | 198 ++++--- manim/mobject/geometry/boolean_ops.py | 16 +- manim/mobject/geometry/line.py | 110 ++-- manim/mobject/geometry/polygram.py | 35 +- manim/mobject/geometry/shape_matchers.py | 33 +- manim/mobject/geometry/tips.py | 61 +- manim/mobject/graphing/coordinate_systems.py | 215 ++++--- manim/mobject/mobject.py | 526 ++++++++++-------- manim/mobject/opengl/opengl_mobject.py | 10 +- .../opengl/opengl_vectorized_mobject.py | 12 +- manim/mobject/text/tex_mobject.py | 2 +- manim/mobject/text/text_mobject.py | 11 +- manim/mobject/three_d/three_d_utils.py | 21 +- manim/mobject/three_d/three_dimensions.py | 63 ++- manim/mobject/types/vectorized_mobject.py | 523 +++++++++-------- manim/typing.py | 133 +++++ manim/utils/bezier.py | 350 +++++++++--- manim/utils/color/core.py | 142 +++-- manim/utils/color/manim_colors.py | 162 +++--- manim/utils/space_ops.py | 48 +- .mypy.ini => mypy.ini | 81 ++- poetry.lock | 501 +++++++++++------ pyproject.toml | 5 +- 34 files changed, 2156 insertions(+), 1347 deletions(-) create mode 100644 manim/typing.py rename .mypy.ini => mypy.ini (51%) diff --git a/.flake8 b/.flake8 index 8d4f3309b0..15e385901c 100644 --- a/.flake8 +++ b/.flake8 @@ -1,6 +1,7 @@ [flake8] # Exclude the grpc generated code -exclude = ./manim/grpc/gen/* +exclude = ./manim/grpc/gen/*, __pycache__,.git, +per-file-ignores = __init__.py:F401 max-complexity = 15 max-line-length = 88 statistics = True @@ -9,7 +10,7 @@ rst-roles = attr,class,func,meth,mod,obj,ref,doc,exc rst-directives = manim, SEEALSO, seealso docstring-convention=numpy -select = A,A00,B,B9,C4,C90,D,E,F,F,PT,RST,SIM,W +select = A,A00,B,B9,C4,C90,D,E,F,F,PT,RST,SIM,W,F401 # General Compatibility extend-ignore = E203, W503, D202, D212, D213, D404 @@ -40,4 +41,4 @@ extend-ignore = E203, W503, D202, D212, D213, D404 # Plug-in: flake8-rst-docstrings RST201, RST203, RST210, RST212, RST213, RST215, - RST301, RST303, + RST301, RST303, RST499 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 225996766b..aa134edea8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -58,7 +58,7 @@ repos: flake8-simplify==0.14.1, ] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.4.1 + rev: v1.5.1 hooks: - id: mypy additional_dependencies: @@ -69,6 +69,7 @@ repos: types-requests, types-setuptools, ] + files: ^manim/ - repo: https://github.com/codespell-project/codespell rev: v2.2.5 diff --git a/docs/source/contributing/typings.rst b/docs/source/contributing/typings.rst index 034f4b6faf..9880bfb3b7 100644 --- a/docs/source/contributing/typings.rst +++ b/docs/source/contributing/typings.rst @@ -2,102 +2,80 @@ Adding Typings ============== +.. warning:: + This section is still a work in progress. + Adding type hints to functions and parameters --------------------------------------------- -.. warning:: - This section is still a work in progress. +Manim is currently in the process of adding type hints into the library. In this +section, you will find information about the standards used and some general +guidelines. If you've never used type hints before, this is a good place to get started: https://realpython.com/python-type-checking/#hello-types. -When adding type hints to manim, there are some guidelines that should be followed: +Typing standards +~~~~~~~~~~~~~~~~ -* Coordinates have the typehint ``Sequence[float]``, e.g. +Manim uses `mypy`_ to type check its codebase. You will find a list of +configuration values in the ``mypy.ini`` configuration file. -.. code:: py +To be able to use the newest typing features not available in the lowest +supported Python version, make use of `typing_extensions`_. - def set_points_as_corners(self, points: Sequence[float]) -> "VMobject": - """Given an array of points, set them as corner of the Vmobject.""" +To be able to use the new Union syntax (``|``) and builtins subscripting, use +the ``from __future__ import annotations`` import. -* ``**kwargs`` has no typehint +.. _mypy: https://mypy-lang.org/ +.. _typing_extensions: https://pypi.org/project/typing-extensions/ -* Mobjects have the typehint "Mobject", e.g. +Typing guidelines +~~~~~~~~~~~~~~~~~ -.. code:: py +* Manim has a dedicated :mod:`~.typing` module where type aliases are provided. + Most of them may seem redundant, in particular the ones related to ``numpy``. + This is in anticipation of the support for shape type hinting + (`related issue `_). Besides the + pending shape support, using the correct type aliases will help users understand + which shape should be used. - def match_color(self, mobject: "Mobject"): - """Match the color with the color of another :class:`~.Mobject`.""" - return self.set_color(mobject.get_color()) - -* Colors have the typehint ``Color``, e.g. - -.. code:: py - - def set_color(self, color: Color = YELLOW_C, family: bool = True): - """Condition is function which takes in one arguments, (x, y, z).""" - -* As ``float`` and ``Union[int, float]`` are the same, use only ``float`` - -* For numpy arrays use the typehint ``np.ndarray`` - -* Functions that does not return a value should get the type hint ``None``. (This annotations help catch the kinds of subtle bugs where you are trying to use a meaningless return value. ) +* Always use a type hint of ``None`` for functions that does not return + a value (this also applies to ``__init__``), e.g.: .. code:: py def height(self, value) -> None: self.scale_to_fit_height(value) -* Parameters that are None by default should get the type hint ``Optional`` - -.. code:: py +* For variables representing paths, use the ``StrPath`` or ``StrOrBytesPath`` + type alias defined in the :mod:`~.typing` module. - def rotate( - self, - angle, - axis=OUT, - about_point: Optional[Sequence[float]] = None, - **kwargs, - ): - pass +* ``*args`` and ``**kwargs`` shouldn't be left untyped (in most cases you can + use ``Any``). +* Following `PEP 484 `_, + use ``float`` instead of ``int | float``. -* The ``__init__()`` method always should have None as its return type. - -* Functions and lambda functions should get the typehint ``Callable`` +* Mobjects have the typehint ``Mobject``, e.g.: .. code:: py - rate_func: Callable[[float], float] = lambda t: smooth(1 - t) - - -* Assuming that typical path objects are either Paths or strs, one can use the typehint ``typing.Union[str, pathlib.Path]`` + def match_color(self, mobject: "Mobject"): + """Match the color with the color of another :class:`~.Mobject`.""" + return self.set_color(mobject.get_color()) -.. note:: - As a helper for tool for typesets, you can use `typestring-parser - `_ - which can be accessed by first installing it via ``pip`` - ``pip install typestring-parser`` and - then using ``from typestring_parser import parse``. +* Always parametrize generics (``list[int]`` instead of ``list``, + ``type[Any]`` instead of ``type``, etc.). This also applies to callables: -.. doctest:: - :options: +SKIP +.. code:: py - >>> from typestring_parser import parse - >>> parse("int") - - >>> parse("int or str") - typing.Union[int, str] - >>> parse("list of str or str") - typing.Union[typing.List[str], str] - >>> parse("list of (int, str)") - typing.List[typing.Tuple[int, str]] + rate_func: Callable[[float], float] = lambda t: smooth(1 - t) Missing Sections for typehints are: ----------------------------------- -* Tools for typehinting -* Link to MyPy + * Mypy and numpy import errors: https://realpython.com/python-type-checking/#running-mypy -* Where to find the alias -* When to use Object and when to use "Object". -* The use of a TypeVar on the type hints for copy(). -* The definition and use of Protocols (like Sized, or Sequence, or Iterable...) +* When to use ``object`` vs ``Any`` +* The use of a TypeVar on the type hints for ``copy()``. +* The definition and use of Protocols (like ``Sized``, ``Sequence``, ``Iterable``...) diff --git a/manim/_config/__init__.py b/manim/_config/__init__.py index 94bea642aa..5c8d257293 100644 --- a/manim/_config/__init__.py +++ b/manim/_config/__init__.py @@ -20,7 +20,6 @@ ] parser = make_config_parser() -logger: logging.Logger # The logger can be accessed from anywhere as manim.logger, or as # logging.getLogger("manim"). The console must be accessed as manim.console. diff --git a/manim/_config/logger_utils.py b/manim/_config/logger_utils.py index ca31b4fa54..6ed8751ef2 100644 --- a/manim/_config/logger_utils.py +++ b/manim/_config/logger_utils.py @@ -26,6 +26,7 @@ if TYPE_CHECKING: from pathlib import Path + HIGHLIGHTED_KEYWORDS = [ # these keywords are highlighted specially "Played", "animations", diff --git a/manim/_config/utils.py b/manim/_config/utils.py index a96440ba3b..e7b1d0cdc8 100644 --- a/manim/_config/utils.py +++ b/manim/_config/utils.py @@ -27,9 +27,9 @@ from .. import constants from ..constants import RendererType +from ..typing import StrPath from ..utils.color import ManimColor from ..utils.tex import TexTemplate, TexTemplateFromFile -from ..utils.tex_templates import TexTemplateLibrary def config_file_paths() -> list[Path]: @@ -76,7 +76,7 @@ def config_file_paths() -> list[Path]: def make_config_parser( - custom_file: str | os.PathLike | None = None, + custom_file: StrPath | None = None, ) -> configparser.ConfigParser: """Make a :class:`ConfigParser` object and load any ``.cfg`` files. diff --git a/manim/animation/changing.py b/manim/animation/changing.py index 0354a1c002..bb11cfc0a4 100644 --- a/manim/animation/changing.py +++ b/manim/animation/changing.py @@ -6,7 +6,6 @@ from typing import Callable -from manim._config import config from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL from manim.mobject.types.vectorized_mobject import VGroup, VMobject from manim.utils.color import ( diff --git a/manim/animation/creation.py b/manim/animation/creation.py index f28c123025..6f8173e35a 100644 --- a/manim/animation/creation.py +++ b/manim/animation/creation.py @@ -92,7 +92,7 @@ def construct(self): from ..mobject.mobject import Group, Mobject from ..mobject.types.vectorized_mobject import VMobject from ..utils.bezier import integer_interpolate -from ..utils.rate_functions import double_smooth, linear, smooth +from ..utils.rate_functions import double_smooth, linear class ShowPartial(Animation): diff --git a/manim/animation/indication.py b/manim/animation/indication.py index fa3d801b24..e0ba47430e 100644 --- a/manim/animation/indication.py +++ b/manim/animation/indication.py @@ -45,6 +45,7 @@ def construct(self): from manim.mobject.geometry.line import Line from manim.mobject.geometry.polygram import Rectangle from manim.mobject.geometry.shape_matchers import SurroundingRectangle +from manim.scene.scene import Scene from .. import config from ..animation.animation import Animation @@ -313,7 +314,7 @@ def _get_bounds(self, alpha: float) -> Tuple[float]: lower = max(lower, 0) return (lower, upper) - def clean_up_from_scene(self, scene: "Scene") -> None: + def clean_up_from_scene(self, scene: Scene) -> None: super().clean_up_from_scene(scene) for submob, start in self.get_all_families_zipped(): submob.pointwise_become_partial(start, 0, 1) diff --git a/manim/camera/camera.py b/manim/camera/camera.py index b26e4aec0e..fe7f58ef23 100644 --- a/manim/camera/camera.py +++ b/manim/camera/camera.py @@ -9,7 +9,6 @@ import itertools as it import operator as op import pathlib -import time from functools import reduce from typing import Any, Callable, Iterable diff --git a/manim/constants.py b/manim/constants.py index 1f6a8684e6..065a10fcfc 100644 --- a/manim/constants.py +++ b/manim/constants.py @@ -10,6 +10,8 @@ from cloup import Context from PIL.Image import Resampling +from manim.typing import Vector3 + __all__ = [ "SCENE_NOT_FOUND_MESSAGE", "CHOOSE_NUMBER_MESSAGE", @@ -77,34 +79,34 @@ ] # Messages -SCENE_NOT_FOUND_MESSAGE: str = """ +SCENE_NOT_FOUND_MESSAGE = """ {} is not in the script """ -CHOOSE_NUMBER_MESSAGE: str = """ +CHOOSE_NUMBER_MESSAGE = """ Choose number corresponding to desired scene/arguments. (Use comma separated list for multiple entries) Choice(s): """ -INVALID_NUMBER_MESSAGE: str = "Invalid scene numbers have been specified. Aborting." -NO_SCENE_MESSAGE: str = """ +INVALID_NUMBER_MESSAGE = "Invalid scene numbers have been specified. Aborting." +NO_SCENE_MESSAGE = """ There are no scenes inside that module """ # Pango stuff -NORMAL: str = "NORMAL" -ITALIC: str = "ITALIC" -OBLIQUE: str = "OBLIQUE" -BOLD: str = "BOLD" +NORMAL = "NORMAL" +ITALIC = "ITALIC" +OBLIQUE = "OBLIQUE" +BOLD = "BOLD" # Only for Pango from below -THIN: str = "THIN" -ULTRALIGHT: str = "ULTRALIGHT" -LIGHT: str = "LIGHT" -SEMILIGHT: str = "SEMILIGHT" -BOOK: str = "BOOK" -MEDIUM: str = "MEDIUM" -SEMIBOLD: str = "SEMIBOLD" -ULTRABOLD: str = "ULTRABOLD" -HEAVY: str = "HEAVY" -ULTRAHEAVY: str = "ULTRAHEAVY" +THIN = "THIN" +ULTRALIGHT = "ULTRALIGHT" +LIGHT = "LIGHT" +SEMILIGHT = "SEMILIGHT" +BOOK = "BOOK" +MEDIUM = "MEDIUM" +SEMIBOLD = "SEMIBOLD" +ULTRABOLD = "ULTRABOLD" +HEAVY = "HEAVY" +ULTRAHEAVY = "ULTRAHEAVY" RESAMPLING_ALGORITHMS = { "nearest": Resampling.NEAREST, @@ -120,80 +122,80 @@ } # Geometry: directions -ORIGIN: np.ndarray = np.array((0.0, 0.0, 0.0)) +ORIGIN: Vector3 = np.array((0.0, 0.0, 0.0)) """The center of the coordinate system.""" -UP: np.ndarray = np.array((0.0, 1.0, 0.0)) +UP: Vector3 = np.array((0.0, 1.0, 0.0)) """One unit step in the positive Y direction.""" -DOWN: np.ndarray = np.array((0.0, -1.0, 0.0)) +DOWN: Vector3 = np.array((0.0, -1.0, 0.0)) """One unit step in the negative Y direction.""" -RIGHT: np.ndarray = np.array((1.0, 0.0, 0.0)) +RIGHT: Vector3 = np.array((1.0, 0.0, 0.0)) """One unit step in the positive X direction.""" -LEFT: np.ndarray = np.array((-1.0, 0.0, 0.0)) +LEFT: Vector3 = np.array((-1.0, 0.0, 0.0)) """One unit step in the negative X direction.""" -IN: np.ndarray = np.array((0.0, 0.0, -1.0)) +IN: Vector3 = np.array((0.0, 0.0, -1.0)) """One unit step in the negative Z direction.""" -OUT: np.ndarray = np.array((0.0, 0.0, 1.0)) +OUT: Vector3 = np.array((0.0, 0.0, 1.0)) """One unit step in the positive Z direction.""" # Geometry: axes -X_AXIS: np.ndarray = np.array((1.0, 0.0, 0.0)) -Y_AXIS: np.ndarray = np.array((0.0, 1.0, 0.0)) -Z_AXIS: np.ndarray = np.array((0.0, 0.0, 1.0)) +X_AXIS: Vector3 = np.array((1.0, 0.0, 0.0)) +Y_AXIS: Vector3 = np.array((0.0, 1.0, 0.0)) +Z_AXIS: Vector3 = np.array((0.0, 0.0, 1.0)) # Geometry: useful abbreviations for diagonals -UL: np.ndarray = UP + LEFT +UL: Vector3 = UP + LEFT """One step up plus one step left.""" -UR: np.ndarray = UP + RIGHT +UR: Vector3 = UP + RIGHT """One step up plus one step right.""" -DL: np.ndarray = DOWN + LEFT +DL: Vector3 = DOWN + LEFT """One step down plus one step left.""" -DR: np.ndarray = DOWN + RIGHT +DR: Vector3 = DOWN + RIGHT """One step down plus one step right.""" # Geometry -START_X: int = 30 -START_Y: int = 20 -DEFAULT_DOT_RADIUS: float = 0.08 -DEFAULT_SMALL_DOT_RADIUS: float = 0.04 -DEFAULT_DASH_LENGTH: float = 0.05 -DEFAULT_ARROW_TIP_LENGTH: float = 0.35 +START_X = 30 +START_Y = 20 +DEFAULT_DOT_RADIUS = 0.08 +DEFAULT_SMALL_DOT_RADIUS = 0.04 +DEFAULT_DASH_LENGTH = 0.05 +DEFAULT_ARROW_TIP_LENGTH = 0.35 # Default buffers (padding) -SMALL_BUFF: float = 0.1 -MED_SMALL_BUFF: float = 0.25 -MED_LARGE_BUFF: float = 0.5 -LARGE_BUFF: float = 1 -DEFAULT_MOBJECT_TO_EDGE_BUFFER: float = MED_LARGE_BUFF -DEFAULT_MOBJECT_TO_MOBJECT_BUFFER: float = MED_SMALL_BUFF +SMALL_BUFF = 0.1 +MED_SMALL_BUFF = 0.25 +MED_LARGE_BUFF = 0.5 +LARGE_BUFF = 1 +DEFAULT_MOBJECT_TO_EDGE_BUFFER = MED_LARGE_BUFF +DEFAULT_MOBJECT_TO_MOBJECT_BUFFER = MED_SMALL_BUFF # Times in seconds -DEFAULT_POINTWISE_FUNCTION_RUN_TIME: float = 3.0 -DEFAULT_WAIT_TIME: float = 1.0 +DEFAULT_POINTWISE_FUNCTION_RUN_TIME = 3.0 +DEFAULT_WAIT_TIME = 1.0 # Misc -DEFAULT_POINT_DENSITY_2D: int = 25 -DEFAULT_POINT_DENSITY_1D: int = 10 -DEFAULT_STROKE_WIDTH: int = 4 -DEFAULT_FONT_SIZE: float = 48 -SCALE_FACTOR_PER_FONT_POINT: float = 1 / 960 +DEFAULT_POINT_DENSITY_2D = 25 +DEFAULT_POINT_DENSITY_1D = 10 +DEFAULT_STROKE_WIDTH = 4 +DEFAULT_FONT_SIZE = 48 +SCALE_FACTOR_PER_FONT_POINT = 1 / 960 # Mathematical constants -PI: float = np.pi +PI = np.pi """The ratio of the circumference of a circle to its diameter.""" -TAU: float = 2 * PI +TAU = 2 * PI """The ratio of the circumference of a circle to its radius.""" -DEGREES: float = TAU / 360 +DEGREES = TAU / 360 """The exchange rate between radians and degrees.""" # Video qualities @@ -236,7 +238,7 @@ }, } -DEFAULT_QUALITY: str = "high_quality" +DEFAULT_QUALITY = "high_quality" EPILOG = "Made with <3 by Manim Community developers." SHIFT_VALUE = 65505 diff --git a/manim/mobject/geometry/arc.py b/manim/mobject/geometry/arc.py index 5672907187..9b724482c5 100644 --- a/manim/mobject/geometry/arc.py +++ b/manim/mobject/geometry/arc.py @@ -43,16 +43,16 @@ def construct(self): ] import itertools -import math import warnings -from typing import TYPE_CHECKING, Sequence +from typing import TYPE_CHECKING import numpy as np +from typing_extensions import Self from manim.constants import * from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL -from manim.mobject.types.vectorized_mobject import VMobject -from manim.utils.color import * +from manim.mobject.types.vectorized_mobject import VGroup, VMobject +from manim.utils.color import BLACK, BLUE, RED, WHITE, ParsableManimColor from manim.utils.iterables import adjacent_pairs from manim.utils.space_ops import ( angle_of_vector, @@ -63,9 +63,11 @@ def construct(self): ) if TYPE_CHECKING: + import manim.mobject.geometry.tips as tips from manim.mobject.mobject import Mobject from manim.mobject.text.tex_mobject import SingleStringMathTex, Tex from manim.mobject.text.text_mobject import Text + from manim.typing import CubicBezierPoints, Point3D, QuadraticBezierPoints, Vector class TipableVMobject(VMobject, metaclass=ConvertToOpenGL): @@ -88,21 +90,26 @@ class TipableVMobject(VMobject, metaclass=ConvertToOpenGL): def __init__( self, - tip_length=DEFAULT_ARROW_TIP_LENGTH, - normal_vector=OUT, - tip_style={}, + tip_length: float = DEFAULT_ARROW_TIP_LENGTH, + normal_vector: Vector = OUT, + tip_style: dict = {}, **kwargs, - ): - self.tip_length = tip_length - self.normal_vector = normal_vector - self.tip_style = tip_style + ) -> None: + self.tip_length: float = tip_length + self.normal_vector: Vector = normal_vector + self.tip_style: dict = tip_style super().__init__(**kwargs) # Adding, Creating, Modifying tips def add_tip( - self, tip=None, tip_shape=None, tip_length=None, tip_width=None, at_start=False - ): + self, + tip: tips.ArrowTip | None = None, + tip_shape: type[tips.ArrowTip] | None = None, + tip_length: float | None = None, + tip_width: float | None = None, + at_start: bool = False, + ) -> Self: """Adds a tip to the TipableVMobject instance, recognising that the endpoints might need to be switched if it's a 'starting tip' or not. @@ -117,7 +124,11 @@ def add_tip( return self def create_tip( - self, tip_shape=None, tip_length=None, tip_width=None, at_start=False + self, + tip_shape: type[tips.ArrowTip] | None = None, + tip_length: float = None, + tip_width: float = None, + at_start: bool = False, ): """Stylises the tip, positions it spatially, and returns the newly instantiated tip to the caller. @@ -126,7 +137,12 @@ def create_tip( self.position_tip(tip, at_start) return tip - def get_unpositioned_tip(self, tip_shape=None, tip_length=None, tip_width=None): + def get_unpositioned_tip( + self, + tip_shape: type[tips.ArrowTip] | None = None, + tip_length: float | None = None, + tip_width: float | None = None, + ): """Returns a tip that has been stylistically configured, but has not yet been given a position in space. """ @@ -150,7 +166,7 @@ def get_unpositioned_tip(self, tip_shape=None, tip_length=None, tip_width=None): tip = tip_shape(length=tip_length, **style) return tip - def position_tip(self, tip, at_start=False): + def position_tip(self, tip: tips.ArrowTip, at_start: bool = False): # Last two control points, defining both # the end, and the tangency direction if at_start: @@ -177,7 +193,7 @@ def position_tip(self, tip, at_start=False): tip.shift(anchor - tip.tip_point) return tip - def reset_endpoints_based_on_tip(self, tip, at_start): + def reset_endpoints_based_on_tip(self, tip: tips.ArrowTip, at_start: bool) -> Self: if self.get_length() == 0: # Zero length, put_start_and_end_on wouldn't work return self @@ -188,7 +204,7 @@ def reset_endpoints_based_on_tip(self, tip, at_start): self.put_start_and_end_on(self.get_start(), tip.base) return self - def asign_tip_attr(self, tip, at_start): + def asign_tip_attr(self, tip: tips.ArrowTip, at_start: bool) -> Self: if at_start: self.start_tip = tip else: @@ -197,15 +213,15 @@ def asign_tip_attr(self, tip, at_start): # Checking for tips - def has_tip(self): + def has_tip(self) -> bool: return hasattr(self, "tip") and self.tip in self - def has_start_tip(self): + def has_start_tip(self) -> bool: return hasattr(self, "start_tip") and self.start_tip in self # Getters - def pop_tips(self): + def pop_tips(self) -> VGroup: start, end = self.get_start_and_end() result = self.get_group_class()() if self.has_tip(): @@ -217,7 +233,7 @@ def pop_tips(self): self.put_start_and_end_on(start, end) return result - def get_tips(self): + def get_tips(self) -> VGroup: """Returns a VGroup (collection of VMobjects) containing the TipableVMObject instance's tips. """ @@ -237,28 +253,28 @@ def get_tip(self): else: return tips[0] - def get_default_tip_length(self): + def get_default_tip_length(self) -> float: return self.tip_length - def get_first_handle(self): + def get_first_handle(self) -> Point3D: return self.points[1] - def get_last_handle(self): + def get_last_handle(self) -> Point3D: return self.points[-2] - def get_end(self): + def get_end(self) -> Point3D: if self.has_tip(): return self.tip.get_start() else: return super().get_end() - def get_start(self): + def get_start(self) -> Point3D: if self.has_start_tip(): return self.start_tip.get_start() else: return super().get_start() - def get_length(self): + def get_length(self) -> np.floating: start, end = self.get_start_and_end() return np.linalg.norm(start - end) @@ -283,21 +299,21 @@ def __init__( radius: float = 1.0, start_angle: float = 0, angle: float = TAU / 4, - num_components=9, - arc_center=ORIGIN, + num_components: int = 9, + arc_center: Point3D = ORIGIN, **kwargs, ): if radius is None: # apparently None is passed by ArcBetweenPoints radius = 1.0 self.radius = radius - self.num_components = num_components - self.arc_center = arc_center - self.start_angle = start_angle - self.angle = angle - self._failed_to_get_center = False + self.num_components: int = num_components + self.arc_center: Point3D = arc_center + self.start_angle: float = start_angle + self.angle: float = angle + self._failed_to_get_center: bool = False super().__init__(**kwargs) - def generate_points(self): + def generate_points(self) -> None: self._set_pre_positioned_points() self.scale(self.radius, about_point=ORIGIN) self.shift(self.arc_center) @@ -305,7 +321,7 @@ def generate_points(self): # Points are set a bit differently when rendering via OpenGL. # TODO: refactor Arc so that only one strategy for setting points # has to be used. - def init_points(self): + def init_points(self) -> None: self.set_points( Arc._create_quadratic_bezier_points( angle=self.angle, @@ -317,7 +333,9 @@ def init_points(self): self.shift(self.arc_center) @staticmethod - def _create_quadratic_bezier_points(angle, start_angle=0, n_components=8): + def _create_quadratic_bezier_points( + angle: float, start_angle: float = 0, n_components: int = 8 + ) -> QuadraticBezierPoints: samples = np.array( [ [np.cos(a), np.sin(a), 0] @@ -337,7 +355,7 @@ def _create_quadratic_bezier_points(angle, start_angle=0, n_components=8): points[2::3] = samples[2::2] return points - def _set_pre_positioned_points(self): + def _set_pre_positioned_points(self) -> None: anchors = np.array( [ np.cos(a) * RIGHT + np.sin(a) * UP @@ -360,7 +378,7 @@ def _set_pre_positioned_points(self): handles2 = anchors[1:] - (d_theta / 3) * tangent_vectors[1:] self.set_anchors_and_handles(anchors[:-1], handles1, handles2, anchors[1:]) - def get_arc_center(self, warning=True): + def get_arc_center(self, warning: bool = True) -> Point3D: """Looks at the normals to the first two anchors, and finds their intersection points """ @@ -386,11 +404,11 @@ def get_arc_center(self, warning=True): self._failed_to_get_center = True return np.array(ORIGIN) - def move_arc_center_to(self, point): + def move_arc_center_to(self, point: Point3D) -> Self: self.shift(point - self.get_arc_center()) return self - def stop_angle(self): + def stop_angle(self) -> float: return angle_of_vector(self.points[-1] - self.get_arc_center()) % TAU @@ -413,7 +431,14 @@ def construct(self): self.play(Create(arc)) """ - def __init__(self, start, end, angle=TAU / 4, radius=None, **kwargs): + def __init__( + self, + start: Point3D, + end: Point3D, + angle: float = TAU / 4, + radius: float = None, + **kwargs, + ) -> None: if radius is not None: self.radius = radius if radius < 0: @@ -427,8 +452,8 @@ def __init__(self, start, end, angle=TAU / 4, radius=None, **kwargs): """ArcBetweenPoints called with a radius that is smaller than half the distance between the points.""", ) - arc_height = radius - math.sqrt(radius**2 - halfdist**2) - angle = math.acos((radius - arc_height) / radius) * sign + arc_height = radius - np.sqrt(radius**2 - halfdist**2) + angle = np.arccos((radius - arc_height) / radius) * sign super().__init__(radius=radius, angle=angle, **kwargs) if angle == 0: @@ -440,11 +465,11 @@ def __init__(self, start, end, angle=TAU / 4, radius=None, **kwargs): if not self._failed_to_get_center: self.radius = np.linalg.norm(np.array(start) - np.array(center)) else: - self.radius = math.inf + self.radius = np.inf class CurvedArrow(ArcBetweenPoints): - def __init__(self, start_point, end_point, **kwargs): + def __init__(self, start_point: Point3D, end_point: Point3D, **kwargs) -> None: from manim.mobject.geometry.tips import ArrowTriangleFilledTip tip_shape = kwargs.pop("tip_shape", ArrowTriangleFilledTip) @@ -453,7 +478,7 @@ def __init__(self, start_point, end_point, **kwargs): class CurvedDoubleArrow(CurvedArrow): - def __init__(self, start_point, end_point, **kwargs): + def __init__(self, start_point: Point3D, end_point: Point3D, **kwargs) -> None: if "tip_shape_end" in kwargs: kwargs["tip_shape"] = kwargs.pop("tip_shape_end") from manim.mobject.geometry.tips import ArrowTriangleFilledTip @@ -493,7 +518,7 @@ def __init__( radius: float | None = None, color: ParsableManimColor = RED, **kwargs, - ): + ) -> None: super().__init__( radius=radius, start_angle=0, @@ -508,7 +533,7 @@ def surround( dim_to_match: int = 0, stretch: bool = False, buffer_factor: float = 1.2, - ): + ) -> Self: """Modifies a circle so that it surrounds a given mobject. Parameters @@ -555,7 +580,7 @@ def construct(self): self.width = np.sqrt(mobject.width**2 + mobject.height**2) return self.scale(buffer_factor) - def point_at_angle(self, angle: float): + def point_at_angle(self, angle: float) -> Point3D: """Returns the position of a point on the circle. Parameters @@ -587,13 +612,11 @@ def construct(self): start_angle = angle_of_vector(self.points[0] - self.get_center()) proportion = (angle - start_angle) / TAU - proportion -= math.floor(proportion) + proportion -= np.floor(proportion) return self.point_from_proportion(proportion) @staticmethod - def from_three_points( - p1: Sequence[float], p2: Sequence[float], p3: Sequence[float], **kwargs - ): + def from_three_points(p1: Point3D, p2: Point3D, p3: Point3D, **kwargs) -> Self: """Returns a circle passing through the specified three points. @@ -653,13 +676,13 @@ def construct(self): def __init__( self, - point: list | np.ndarray = ORIGIN, + point: Point3D = ORIGIN, radius: float = DEFAULT_DOT_RADIUS, stroke_width: float = 0, fill_opacity: float = 1.0, color: ParsableManimColor = WHITE, **kwargs, - ): + ) -> None: super().__init__( arc_center=point, radius=radius, @@ -676,11 +699,11 @@ class AnnotationDot(Dot): def __init__( self, radius: float = DEFAULT_DOT_RADIUS * 1.3, - stroke_width=5, - stroke_color=WHITE, - fill_color=BLUE, + stroke_width: float = 5, + stroke_color: ParsableManimColor = WHITE, + fill_color: ParsableManimColor = BLUE, **kwargs, - ): + ) -> None: super().__init__( radius=radius, stroke_width=stroke_width, @@ -769,7 +792,7 @@ def construct(self): self.add(ellipse_group) """ - def __init__(self, width: float = 2, height: float = 1, **kwargs): + def __init__(self, width: float = 2, height: float = 1, **kwargs) -> None: super().__init__(**kwargs) self.stretch_to_fit_width(width) self.stretch_to_fit_height(height) @@ -823,15 +846,15 @@ def construct(self): def __init__( self, - inner_radius=1, - outer_radius=2, - angle=TAU / 4, - start_angle=0, - fill_opacity=1, - stroke_width=0, - color=WHITE, + inner_radius: float = 1, + outer_radius: float = 2, + angle: float = TAU / 4, + start_angle: float = 0, + fill_opacity: float = 1, + stroke_width: float = 0, + color: ParsableManimColor = WHITE, **kwargs, - ): + ) -> None: self.inner_radius = inner_radius self.outer_radius = outer_radius super().__init__( @@ -843,7 +866,7 @@ def __init__( **kwargs, ) - def generate_points(self): + def generate_points(self) -> None: inner_arc, outer_arc = ( Arc( start_angle=self.start_angle, @@ -879,7 +902,9 @@ def construct(self): self.add(sector, sector2) """ - def __init__(self, outer_radius=1, inner_radius=0, **kwargs): + def __init__( + self, outer_radius: float = 1, inner_radius: float = 0, **kwargs + ) -> None: super().__init__(inner_radius=inner_radius, outer_radius=outer_radius, **kwargs) @@ -911,12 +936,12 @@ def __init__( self, inner_radius: float | None = 1, outer_radius: float | None = 2, - fill_opacity=1, - stroke_width=0, - color=WHITE, - mark_paths_closed=False, + fill_opacity: float = 1, + stroke_width: float = 0, + color: ParsableManimColor = WHITE, + mark_paths_closed: bool = False, **kwargs, - ): + ) -> None: self.mark_paths_closed = mark_paths_closed # is this even used? self.inner_radius = inner_radius self.outer_radius = outer_radius @@ -924,7 +949,7 @@ def __init__( fill_opacity=fill_opacity, stroke_width=stroke_width, color=color, **kwargs ) - def generate_points(self): + def generate_points(self) -> None: self.radius = self.outer_radius outer_circle = Circle(radius=self.outer_radius) inner_circle = Circle(radius=self.inner_radius) @@ -959,7 +984,14 @@ def construct(self): """ - def __init__(self, start_anchor, start_handle, end_handle, end_anchor, **kwargs): + def __init__( + self, + start_anchor: CubicBezierPoints, + start_handle: CubicBezierPoints, + end_handle: CubicBezierPoints, + end_anchor: CubicBezierPoints, + **kwargs, + ) -> None: super().__init__(**kwargs) self.add_cubic_bezier_curve(start_anchor, start_handle, end_handle, end_anchor) @@ -1045,12 +1077,12 @@ def construct(self): def __init__( self, - *vertices: list | np.ndarray, + *vertices: Point3D, angle: float = PI / 4, radius: float | None = None, arc_config: list[dict] | None = None, **kwargs, - ): + ) -> None: n = len(vertices) point_pairs = [(vertices[k], vertices[(k + 1) % n]) for k in range(n)] @@ -1188,7 +1220,7 @@ def construct(self): self.wait(2) """ - def __init__(self, *arcs: Arc | ArcBetweenPoints, **kwargs): + def __init__(self, *arcs: Arc | ArcBetweenPoints, **kwargs) -> None: if not all(isinstance(m, (Arc, ArcBetweenPoints)) for m in arcs): raise ValueError( "All ArcPolygon submobjects must be of type Arc/ArcBetweenPoints", @@ -1207,7 +1239,7 @@ def __init__(self, *arcs: Arc | ArcBetweenPoints, **kwargs): self.append_points(arc1.points) line = Line(arc1.get_end(), arc2.get_start()) len_ratio = line.get_length() / arc1.get_arc_length() - if math.isnan(len_ratio) or math.isinf(len_ratio): + if np.isnan(len_ratio) or np.isinf(len_ratio): continue line.insert_n_curves(int(arc1.get_num_curves() * len_ratio)) self.append_points(line.points) diff --git a/manim/mobject/geometry/boolean_ops.py b/manim/mobject/geometry/boolean_ops.py index 9d3ccf034c..0bc33d70b0 100644 --- a/manim/mobject/geometry/boolean_ops.py +++ b/manim/mobject/geometry/boolean_ops.py @@ -2,8 +2,6 @@ from __future__ import annotations -import typing - import numpy as np from pathops import Path as SkiaPath from pathops import PathVerb, difference, intersection, union, xor @@ -11,6 +9,7 @@ from manim import config from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL from manim.mobject.types.vectorized_mobject import VMobject +from manim.typing import Point2D_Array from ...constants import RendererType @@ -23,12 +22,9 @@ class _BooleanOps(VMobject, metaclass=ConvertToOpenGL): objects (:class:`~.VMobject`). """ - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - def _convert_2d_to_3d_array( self, - points: typing.Iterable, + points: Point2D_Array, z_dim: float = 0.0, ) -> list[np.ndarray]: """Converts an iterable with coordinates in 2d to 3d by adding @@ -43,7 +39,7 @@ def _convert_2d_to_3d_array( Returns ------- - typing.List[np.ndarray] + Point2D_Array A list of array converted to 3d. Example @@ -216,7 +212,7 @@ def construct(self): """ - def __init__(self, subject, clip, **kwargs) -> None: + def __init__(self, subject: VMobject, clip: VMobject, **kwargs) -> None: super().__init__(**kwargs) outpen = SkiaPath() difference( @@ -258,7 +254,7 @@ def construct(self): """ - def __init__(self, *vmobjects, **kwargs) -> None: + def __init__(self, *vmobjects: VMobject, **kwargs) -> None: if len(vmobjects) < 2: raise ValueError("At least 2 mobjects needed for Intersection.") @@ -311,7 +307,7 @@ def construct(self): """ - def __init__(self, subject, clip, **kwargs) -> None: + def __init__(self, subject: VMobject, clip: VMobject, **kwargs) -> None: super().__init__(**kwargs) outpen = SkiaPath() xor( diff --git a/manim/mobject/geometry/line.py b/manim/mobject/geometry/line.py index ce556081f4..b958e55e19 100644 --- a/manim/mobject/geometry/line.py +++ b/manim/mobject/geometry/line.py @@ -14,9 +14,10 @@ "RightAngle", ] -from typing import Any, Sequence +from typing import TYPE_CHECKING import numpy as np +from typing_extensions import Self from manim import config from manim.constants import * @@ -26,19 +27,32 @@ from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL from manim.mobject.opengl.opengl_mobject import OpenGLMobject from manim.mobject.types.vectorized_mobject import DashedVMobject, VGroup, VMobject -from manim.utils.color import * +from manim.utils.color import WHITE from manim.utils.space_ops import angle_of_vector, line_intersection, normalize +if TYPE_CHECKING: + from manim.typing import Point2D, Point3D, Vector + from manim.utils.color import ParsableManimColor + + from ..matrix import Matrix # Avoid circular import + class Line(TipableVMobject): - def __init__(self, start=LEFT, end=RIGHT, buff=0, path_arc=None, **kwargs): + def __init__( + self, + start: Point3D = LEFT, + end: Point3D = RIGHT, + buff: float = 0, + path_arc: float | None = None, + **kwargs, + ) -> None: self.dim = 3 self.buff = buff self.path_arc = path_arc self._set_start_and_end_attrs(start, end) super().__init__(**kwargs) - def generate_points(self): + def generate_points(self) -> None: self.set_points_by_ends( start=self.start, end=self.end, @@ -46,7 +60,13 @@ def generate_points(self): path_arc=self.path_arc, ) - def set_points_by_ends(self, start, end, buff=0, path_arc=0): + def set_points_by_ends( + self, + start: Point3D, + end: Point3D, + buff: float = 0, + path_arc: float = 0, + ) -> None: if path_arc: arc = ArcBetweenPoints(self.start, self.end, angle=self.path_arc) self.set_points(arc.points) @@ -57,7 +77,7 @@ def set_points_by_ends(self, start, end, buff=0, path_arc=0): init_points = generate_points - def _account_for_buff(self, buff): + def _account_for_buff(self, buff: float) -> Self: if buff == 0: return # @@ -72,7 +92,7 @@ def _account_for_buff(self, buff): self.pointwise_become_partial(self, buff_proportion, 1 - buff_proportion) return self - def _set_start_and_end_attrs(self, start, end): + def _set_start_and_end_attrs(self, start: Point3D, end: Point3D) -> None: # If either start or end are Mobjects, this # gives their centers rough_start = self._pointify(start) @@ -86,9 +106,9 @@ def _set_start_and_end_attrs(self, start, end): def _pointify( self, - mob_or_point: Mobject | Sequence[float], - direction: Sequence[float] | None = None, - ) -> np.ndarray: + mob_or_point: Mobject | Point3D, + direction: Vector | None = None, + ) -> Point3D: """Transforms a mobject into its corresponding point. Does nothing if a point is passed. ``direction`` determines the location of the point along its bounding box in that direction. @@ -108,11 +128,11 @@ def _pointify( return mob.get_boundary_point(direction) return np.array(mob_or_point) - def set_path_arc(self, new_value): + def set_path_arc(self, new_value: float) -> None: self.path_arc = new_value self.init_points() - def put_start_and_end_on(self, start: Sequence[float], end: Sequence[float]): + def put_start_and_end_on(self, start: Point3D, end: Point3D) -> Self: """Sets starts and end coordinates of a line. Examples @@ -143,16 +163,16 @@ def construct(self): self.generate_points() return super().put_start_and_end_on(start, end) - def get_vector(self): + def get_vector(self) -> Vector: return self.get_end() - self.get_start() - def get_unit_vector(self): + def get_unit_vector(self) -> Vector: return normalize(self.get_vector()) - def get_angle(self): + def get_angle(self) -> float: return angle_of_vector(self.get_vector()) - def get_projection(self, point: Sequence[float]) -> Sequence[float]: + def get_projection(self, point: Point3D) -> Vector: """Returns the projection of a point onto a line. Parameters @@ -166,10 +186,10 @@ def get_projection(self, point: Sequence[float]) -> Sequence[float]: unit_vect = normalize(end - start) return start + np.dot(point - start, unit_vect) * unit_vect - def get_slope(self): + def get_slope(self) -> float: return np.tan(self.get_angle()) - def set_angle(self, angle, about_point=None): + def set_angle(self, angle: float, about_point: Point3D | None = None) -> Self: if about_point is None: about_point = self.get_start() @@ -180,7 +200,7 @@ def set_angle(self, angle, about_point=None): return self - def set_length(self, length): + def set_length(self, length: float) -> Self: return self.scale(length / self.get_length()) @@ -220,11 +240,11 @@ def construct(self): def __init__( self, - *args: Any, + *args, dash_length: float = DEFAULT_DASH_LENGTH, dashed_ratio: float = 0.5, **kwargs, - ): + ) -> None: self.dash_length = dash_length self.dashed_ratio = dashed_ratio super().__init__(*args, **kwargs) @@ -253,7 +273,7 @@ def _calculate_num_dashes(self) -> int: int(np.ceil((self.get_length() / self.dash_length) * self.dashed_ratio)), ) - def get_start(self) -> np.ndarray: + def get_start(self) -> Point3D: """Returns the start point of the line. Examples @@ -269,7 +289,7 @@ def get_start(self) -> np.ndarray: else: return super().get_start() - def get_end(self) -> np.ndarray: + def get_end(self) -> Point3D: """Returns the end point of the line. Examples @@ -285,7 +305,7 @@ def get_end(self) -> np.ndarray: else: return super().get_end() - def get_first_handle(self) -> np.ndarray: + def get_first_handle(self) -> Point3D: """Returns the point of the first handle. Examples @@ -298,7 +318,7 @@ def get_first_handle(self) -> np.ndarray: return self.submobjects[0].points[1] - def get_last_handle(self) -> np.ndarray: + def get_last_handle(self) -> Point3D: """Returns the point of the last handle. Examples @@ -352,7 +372,7 @@ def __init__( length: float = 1, d_alpha: float = 1e-6, **kwargs, - ): + ) -> None: self.length = length self.d_alpha = d_alpha da = self.d_alpha @@ -394,7 +414,7 @@ def construct(self): self.add(elbow_group) """ - def __init__(self, width: float = 0.2, angle: float = 0, **kwargs): + def __init__(self, width: float = 0.2, angle: float = 0, **kwargs) -> None: self.angle = angle super().__init__(**kwargs) self.set_points_as_corners([UP, UP + RIGHT, RIGHT]) @@ -492,13 +512,13 @@ def construct(self): def __init__( self, - *args: Any, + *args, stroke_width: float = 6, buff: float = MED_SMALL_BUFF, max_tip_length_to_length_ratio: float = 0.25, max_stroke_width_to_length_ratio: float = 5, **kwargs, - ): + ) -> None: self.max_tip_length_to_length_ratio = max_tip_length_to_length_ratio self.max_stroke_width_to_length_ratio = max_stroke_width_to_length_ratio tip_shape = kwargs.pop("tip_shape", ArrowTriangleFilledTip) @@ -509,7 +529,7 @@ def __init__( self.add_tip(tip_shape=tip_shape) self._set_stroke_width_from_length() - def scale(self, factor, scale_tips=False, **kwargs): + def scale(self, factor: float, scale_tips: bool = False, **kwargs) -> Self: r"""Scale an arrow, but keep stroke width and arrow tip size fixed. @@ -559,7 +579,7 @@ def scale(self, factor, scale_tips=False, **kwargs): self.add_tip(tip=old_tips[1], at_start=True) return self - def get_normal_vector(self) -> np.ndarray: + def get_normal_vector(self) -> Vector: """Returns the normal of a vector. Examples @@ -573,7 +593,7 @@ def get_normal_vector(self) -> np.ndarray: p0, p1, p2 = self.tip.get_start_anchors()[:3] return normalize(np.cross(p2 - p1, p1 - p0)) - def reset_normal_vector(self): + def reset_normal_vector(self) -> Self: """Resets the normal of a vector""" self.normal_vector = self.get_normal_vector() return self @@ -593,7 +613,7 @@ def get_default_tip_length(self) -> float: max_ratio = self.max_tip_length_to_length_ratio return min(self.tip_length, max_ratio * self.get_length()) - def _set_stroke_width_from_length(self): + def _set_stroke_width_from_length(self) -> Self: """Sets stroke width based on length.""" max_ratio = self.max_stroke_width_to_length_ratio if config.renderer == RendererType.OPENGL: @@ -634,7 +654,7 @@ def construct(self): self.add(plane, vector_1, vector_2) """ - def __init__(self, direction: list | np.ndarray = RIGHT, buff: float = 0, **kwargs): + def __init__(self, direction: Vector = RIGHT, buff: float = 0, **kwargs) -> None: self.buff = buff if len(direction) == 2: direction = np.hstack([direction, 0]) @@ -647,7 +667,7 @@ def coordinate_label( n_dim: int = 2, color: ParsableManimColor | None = None, **kwargs, - ): + ) -> Matrix: """Creates a label based on the coordinates of the vector. Parameters @@ -750,7 +770,7 @@ def construct(self): self.add(box, d1, d2, d3) """ - def __init__(self, *args: Any, **kwargs): + def __init__(self, *args, **kwargs) -> None: if "tip_shape_end" in kwargs: kwargs["tip_shape"] = kwargs.pop("tip_shape_end") tip_shape_start = kwargs.pop("tip_shape_start", ArrowTriangleFilledTip) @@ -871,8 +891,8 @@ def __init__( self, line1: Line, line2: Line, - radius: float = None, - quadrant: Sequence[int] = (1, 1), + radius: float | None = None, + quadrant: Point2D = (1, 1), other_angle: bool = False, dot: bool = False, dot_radius: float | None = None, @@ -880,7 +900,7 @@ def __init__( dot_color: ParsableManimColor = WHITE, elbow: bool = False, **kwargs, - ): + ) -> None: super().__init__(**kwargs) self.lines = (line1, line2) self.quadrant = quadrant @@ -1017,14 +1037,10 @@ def construct(self): self.add(line1, line2, angle, value) """ - if degrees: - return self.angle_value / DEGREES - return self.angle_value + return self.angle_value / DEGREES if degrees else self.angle_value @staticmethod - def from_three_points( - A: np.ndarray, B: np.ndarray, C: np.ndarray, **kwargs - ) -> Angle: + def from_three_points(A: Point3D, B: Point3D, C: Point3D, **kwargs) -> Angle: """The angle between the lines AB and BC. This constructs the angle :math:`\\angle ABC`. @@ -1099,5 +1115,7 @@ def construct(self): self.add(plots) """ - def __init__(self, line1: Line, line2: Line, length: float | None = None, **kwargs): + def __init__( + self, line1: Line, line2: Line, length: float | None = None, **kwargs + ) -> None: super().__init__(line1, line2, radius=length, elbow=True, **kwargs) diff --git a/manim/mobject/geometry/polygram.py b/manim/mobject/geometry/polygram.py index 5064ff737e..bf2a92bdb5 100644 --- a/manim/mobject/geometry/polygram.py +++ b/manim/mobject/geometry/polygram.py @@ -15,8 +15,9 @@ "Cutout", ] + from math import ceil -from typing import Iterable, Sequence +from typing import TYPE_CHECKING import numpy as np @@ -24,10 +25,16 @@ from manim.mobject.geometry.arc import ArcBetweenPoints from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL from manim.mobject.types.vectorized_mobject import VGroup, VMobject -from manim.utils.color import * +from manim.utils.color import BLUE, WHITE, ParsableManimColor from manim.utils.iterables import adjacent_n_tuples, adjacent_pairs from manim.utils.space_ops import angle_between_vectors, normalize, regular_vertices +if TYPE_CHECKING: + from typing_extensions import Self + + from manim.typing import Point3D, Point3D_Array + from manim.utils.color import ParsableManimColor + class Polygram(VMobject, metaclass=ConvertToOpenGL): """A generalized :class:`Polygon`, allowing for disconnected sets of edges. @@ -64,7 +71,9 @@ def construct(self): self.wait() """ - def __init__(self, *vertex_groups: Iterable[Sequence[float]], color=BLUE, **kwargs): + def __init__( + self, *vertex_groups: Point3D, color: ParsableManimColor = BLUE, **kwargs + ): super().__init__(color=color, **kwargs) for vertices in vertex_groups: @@ -76,7 +85,7 @@ def __init__(self, *vertex_groups: Iterable[Sequence[float]], color=BLUE, **kwar [*(np.array(vertex) for vertex in vertices), first_vertex], ) - def get_vertices(self) -> np.ndarray: + def get_vertices(self) -> Point3D_Array: """Gets the vertices of the :class:`Polygram`. Returns @@ -98,7 +107,7 @@ def get_vertices(self) -> np.ndarray: return self.get_start_anchors() - def get_vertex_groups(self) -> np.ndarray: + def get_vertex_groups(self) -> np.ndarray[Point3D_Array]: """Gets the vertex groups of the :class:`Polygram`. Returns @@ -138,7 +147,7 @@ def round_corners( radius: float | list[float] = 0.5, evenly_distribute_anchors: bool = False, components_per_rounded_corner: int = 2, - ): + ) -> Self: """Rounds off the corners of the :class:`Polygram`. Parameters @@ -303,7 +312,7 @@ def construct(self): self.add(isosceles, square_and_triangles) """ - def __init__(self, *vertices: Sequence[float], **kwargs): + def __init__(self, *vertices: Point3D, **kwargs) -> None: super().__init__(vertices, **kwargs) @@ -347,7 +356,7 @@ def __init__( radius: float = 1, start_angle: float | None = None, **kwargs, - ): + ) -> None: # Regular polygrams can be expressed by the number of their vertices # and their density. This relation can be expressed as its Schläfli # symbol: {num_vertices/density}. @@ -423,7 +432,7 @@ def construct(self): self.add(poly_group) """ - def __init__(self, n: int = 6, **kwargs): + def __init__(self, n: int = 6, **kwargs) -> None: super().__init__(n, density=1, **kwargs) @@ -495,7 +504,7 @@ def __init__( density: int = 2, start_angle: float | None = TAU / 4, **kwargs, - ): + ) -> None: inner_angle = TAU / (2 * n) if inner_radius is None: @@ -554,7 +563,7 @@ def construct(self): self.add(tri_group) """ - def __init__(self, **kwargs): + def __init__(self, **kwargs) -> None: super().__init__(n=3, **kwargs) @@ -664,7 +673,7 @@ def construct(self): self.add(square_1, square_2, square_3) """ - def __init__(self, side_length: float = 2.0, **kwargs): + def __init__(self, side_length: float = 2.0, **kwargs) -> None: self.side_length = side_length super().__init__(height=side_length, width=side_length, **kwargs) @@ -734,7 +743,7 @@ def construct(self): self.wait() """ - def __init__(self, main_shape: VMobject, *mobjects: VMobject, **kwargs): + def __init__(self, main_shape: VMobject, *mobjects: VMobject, **kwargs) -> None: super().__init__(**kwargs) self.append_points(main_shape.points) if main_shape.get_direction() == "CW": diff --git a/manim/mobject/geometry/shape_matchers.py b/manim/mobject/geometry/shape_matchers.py index 9462b3c113..296d9b9d9f 100644 --- a/manim/mobject/geometry/shape_matchers.py +++ b/manim/mobject/geometry/shape_matchers.py @@ -4,13 +4,17 @@ __all__ = ["SurroundingRectangle", "BackgroundRectangle", "Cross", "Underline"] +from typing import Any + +from typing_extensions import Self + from manim import config, logger from manim.constants import * from manim.mobject.geometry.line import Line from manim.mobject.geometry.polygram import RoundedRectangle from manim.mobject.mobject import Mobject from manim.mobject.types.vectorized_mobject import VGroup -from manim.utils.color import BLACK, RED, YELLOW, ParsableManimColor +from manim.utils.color import BLACK, RED, YELLOW, ManimColor, ParsableManimColor class SurroundingRectangle(RoundedRectangle): @@ -38,8 +42,13 @@ def construct(self): """ def __init__( - self, mobject, color=YELLOW, buff=SMALL_BUFF, corner_radius=0.0, **kwargs - ): + self, + mobject: Mobject, + color: ParsableManimColor = YELLOW, + buff: float = SMALL_BUFF, + corner_radius: float = 0.0, + **kwargs, + ) -> None: super().__init__( color=color, width=mobject.width + 2 * buff, @@ -78,7 +87,7 @@ def construct(self): def __init__( self, - mobject, + mobject: Mobject, color: ParsableManimColor | None = None, stroke_width: float = 0, stroke_opacity: float = 0, @@ -98,13 +107,13 @@ def __init__( buff=buff, **kwargs, ) - self.original_fill_opacity = self.fill_opacity + self.original_fill_opacity: float = self.fill_opacity - def pointwise_become_partial(self, mobject, a, b): + def pointwise_become_partial(self, mobject: Mobject, a: Any, b: float) -> Self: self.set_fill(opacity=b * self.original_fill_opacity) return self - def set_style(self, fill_opacity, **kwargs): + def set_style(self, fill_opacity: float, **kwargs) -> Self: # Unchangeable style, except for fill_opacity # All other style arguments are ignored super().set_style( @@ -120,7 +129,7 @@ def set_style(self, fill_opacity, **kwargs): ) return self - def get_fill_color(self): + def get_fill_color(self) -> ManimColor: return self.color @@ -153,10 +162,10 @@ def __init__( self, mobject: Mobject | None = None, stroke_color: ParsableManimColor = RED, - stroke_width: float = 6, - scale_factor: float = 1, + stroke_width: float = 6.0, + scale_factor: float = 1.0, **kwargs, - ): + ) -> None: super().__init__( Line(UP + LEFT, DOWN + RIGHT), Line(UP + RIGHT, DOWN + LEFT), **kwargs ) @@ -181,7 +190,7 @@ def construct(self): self.add(man, ul) """ - def __init__(self, mobject, buff=SMALL_BUFF, **kwargs): + def __init__(self, mobject: Mobject, buff: float = SMALL_BUFF, **kwargs) -> None: super().__init__(LEFT, RIGHT, buff=buff, **kwargs) self.match_width(mobject) self.next_to(mobject, DOWN, buff=self.buff) diff --git a/manim/mobject/geometry/tips.py b/manim/mobject/geometry/tips.py index e002c89b49..385093b765 100644 --- a/manim/mobject/geometry/tips.py +++ b/manim/mobject/geometry/tips.py @@ -13,6 +13,8 @@ "StealthTip", ] +from typing import TYPE_CHECKING + import numpy as np from manim.constants import * @@ -22,6 +24,9 @@ from manim.mobject.types.vectorized_mobject import VMobject from manim.utils.space_ops import angle_of_vector +if TYPE_CHECKING: + from manim.typing import Point3D, Vector + class ArrowTip(VMobject, metaclass=ConvertToOpenGL): r"""Base class for arrow tips. @@ -106,11 +111,11 @@ def construct(self): self.add(*big_arrows, *small_arrows, *labels) """ - def __init__(self, *args, **kwargs): + def __init__(self, *args, **kwargs) -> None: raise NotImplementedError("Has to be implemented in inheriting subclasses.") @property - def base(self): + def base(self) -> Point3D: r"""The base point of the arrow tip. This is the point connecting to the arrow line. @@ -128,7 +133,7 @@ def base(self): return self.point_from_proportion(0.5) @property - def tip_point(self): + def tip_point(self) -> Point3D: r"""The tip point of the arrow tip. Examples @@ -144,7 +149,7 @@ def tip_point(self): return self.points[0] @property - def vector(self): + def vector(self) -> Vector: r"""The vector pointing from the base point to the tip point. Examples @@ -160,7 +165,7 @@ def vector(self): return self.tip_point - self.base @property - def tip_angle(self): + def tip_angle(self) -> float: r"""The angle of the arrow tip. Examples @@ -176,7 +181,7 @@ def tip_angle(self): return angle_of_vector(self.vector) @property - def length(self): + def length(self) -> np.floating: r"""The length of the arrow tip. Examples @@ -238,13 +243,13 @@ class ArrowTriangleTip(ArrowTip, Triangle): def __init__( self, - fill_opacity=0, - stroke_width=3, - length=DEFAULT_ARROW_TIP_LENGTH, - width=DEFAULT_ARROW_TIP_LENGTH, - start_angle=PI, + fill_opacity: float = 0, + stroke_width: float = 3, + length: float = DEFAULT_ARROW_TIP_LENGTH, + width: float = DEFAULT_ARROW_TIP_LENGTH, + start_angle: float = PI, **kwargs, - ): + ) -> None: Triangle.__init__( self, fill_opacity=fill_opacity, @@ -264,7 +269,9 @@ class ArrowTriangleFilledTip(ArrowTriangleTip): This is the default arrow tip shape. """ - def __init__(self, fill_opacity=1, stroke_width=0, **kwargs): + def __init__( + self, fill_opacity: float = 1, stroke_width: float = 0, **kwargs + ) -> None: super().__init__(fill_opacity=fill_opacity, stroke_width=stroke_width, **kwargs) @@ -273,12 +280,12 @@ class ArrowCircleTip(ArrowTip, Circle): def __init__( self, - fill_opacity=0, - stroke_width=3, - length=DEFAULT_ARROW_TIP_LENGTH, - start_angle=PI, + fill_opacity: float = 0, + stroke_width: float = 3, + length: float = DEFAULT_ARROW_TIP_LENGTH, + start_angle: float = PI, **kwargs, - ): + ) -> None: self.start_angle = start_angle Circle.__init__( self, fill_opacity=fill_opacity, stroke_width=stroke_width, **kwargs @@ -290,7 +297,9 @@ def __init__( class ArrowCircleFilledTip(ArrowCircleTip): r"""Circular arrow tip with filled tip.""" - def __init__(self, fill_opacity=1, stroke_width=0, **kwargs): + def __init__( + self, fill_opacity: float = 1, stroke_width: float = 0, **kwargs + ) -> None: super().__init__(fill_opacity=fill_opacity, stroke_width=stroke_width, **kwargs) @@ -299,12 +308,12 @@ class ArrowSquareTip(ArrowTip, Square): def __init__( self, - fill_opacity=0, - stroke_width=3, - length=DEFAULT_ARROW_TIP_LENGTH, - start_angle=PI, + fill_opacity: float = 0, + stroke_width: float = 3, + length: float = DEFAULT_ARROW_TIP_LENGTH, + start_angle: float = PI, **kwargs, - ): + ) -> None: self.start_angle = start_angle Square.__init__( self, @@ -320,5 +329,7 @@ def __init__( class ArrowSquareFilledTip(ArrowSquareTip): r"""Square arrow tip with filled tip.""" - def __init__(self, fill_opacity=1, stroke_width=0, **kwargs): + def __init__( + self, fill_opacity: float = 1, stroke_width: float = 0, **kwargs + ) -> None: super().__init__(fill_opacity=fill_opacity, stroke_width=stroke_width, **kwargs) diff --git a/manim/mobject/graphing/coordinate_systems.py b/manim/mobject/graphing/coordinate_systems.py index a4da38dcac..c2f5744ca8 100644 --- a/manim/mobject/graphing/coordinate_systems.py +++ b/manim/mobject/graphing/coordinate_systems.py @@ -14,9 +14,10 @@ import fractions as fr import numbers -from typing import TYPE_CHECKING, Any, Callable, Iterable, Sequence +from typing import TYPE_CHECKING, Any, Callable, Iterable, Sequence, TypeVar, overload import numpy as np +from typing_extensions import Self from manim import config from manim.constants import * @@ -54,6 +55,9 @@ if TYPE_CHECKING: from manim.mobject.mobject import Mobject + from manim.typing import ManimFloat, Point2D, Point3D, Vector3 + + LineType = TypeVar("LineType", bound=Line) class CoordinateSystem: @@ -108,12 +112,12 @@ def construct(self): def __init__( self, - x_range=None, - y_range=None, - x_length=None, - y_length=None, - dimension=2, - ): + x_range: Sequence[float] | None = None, + y_range: Sequence[float] | None = None, + x_length: float | None = None, + y_length: float | None = None, + dimension: int = 2, + ) -> None: self.dimension = dimension default_step = 1 @@ -141,13 +145,13 @@ def __init__( self.y_length = y_length self.num_sampled_graph_points_per_tick = 10 - def coords_to_point(self, *coords): + def coords_to_point(self, *coords: Sequence[ManimFloat]): raise NotImplementedError() - def point_to_coords(self, point): + def point_to_coords(self, point: Point3D): raise NotImplementedError() - def polar_to_point(self, radius: float, azimuth: float) -> np.ndarray: + def polar_to_point(self, radius: float, azimuth: float) -> Point2D: r"""Gets a point from polar coordinates. Parameters @@ -178,7 +182,7 @@ def construct(self): """ return self.coords_to_point(radius * np.cos(azimuth), radius * np.sin(azimuth)) - def point_to_polar(self, point: np.ndarray) -> tuple[float, float]: + def point_to_polar(self, point: np.ndarray) -> Point2D: r"""Gets polar coordinates from a point. Parameters @@ -194,11 +198,13 @@ def point_to_polar(self, point: np.ndarray) -> tuple[float, float]: x, y = self.point_to_coords(point) return np.sqrt(x**2 + y**2), np.arctan2(y, x) - def c2p(self, *coords): + def c2p( + self, *coords: float | Sequence[float] | Sequence[Sequence[float]] | np.ndarray + ) -> np.ndarray: """Abbreviation for :meth:`coords_to_point`""" return self.coords_to_point(*coords) - def p2c(self, point): + def p2c(self, point: Point3D): """Abbreviation for :meth:`point_to_coords`""" return self.point_to_coords(point) @@ -213,7 +219,7 @@ def pt2pr(self, point: np.ndarray) -> tuple[float, float]: def get_axes(self): raise NotImplementedError() - def get_axis(self, index): + def get_axis(self, index: int) -> Mobject: return self.get_axes()[index] def get_origin(self) -> np.ndarray: @@ -226,19 +232,19 @@ def get_origin(self) -> np.ndarray: """ return self.coords_to_point(0, 0) - def get_x_axis(self): + def get_x_axis(self) -> Mobject: return self.get_axis(0) - def get_y_axis(self): + def get_y_axis(self) -> Mobject: return self.get_axis(1) - def get_z_axis(self): + def get_z_axis(self) -> Mobject: return self.get_axis(2) - def get_x_unit_size(self): + def get_x_unit_size(self) -> float: return self.get_x_axis().get_unit_size() - def get_y_unit_size(self): + def get_y_unit_size(self) -> float: return self.get_y_axis().get_unit_size() def get_x_axis_label( @@ -291,7 +297,7 @@ def get_y_axis_label( direction: Sequence[float] = UP * 0.5 + RIGHT, buff: float = SMALL_BUFF, **kwargs, - ): + ) -> Mobject: """Generate a y-axis label. Parameters @@ -370,9 +376,9 @@ def get_axis_labels(self): def add_coordinates( self, - *axes_numbers: (Iterable[float] | None | dict[float, str | float | Mobject]), - **kwargs, - ): + *axes_numbers: Iterable[float] | None | dict[float, str | float | Mobject], + **kwargs: Any, + ) -> Self: """Adds labels to the axes. Use ``Axes.coordinate_labels`` to access the coordinates after creation. @@ -426,15 +432,39 @@ def add_coordinates( return self + # overload necessary until https://github.com/python/mypy/issues/3737 is supported + @overload def get_line_from_axis_to_point( self, index: int, point: Sequence[float], - line_func: Line = DashedLine, - line_config: dict | None = None, - color: ParsableManimColor | None = None, - stroke_width: float = 2, - ) -> Line: + line_config: dict | None = ..., + color: ParsableManimColor | None = ..., + stroke_width: float = ..., + ) -> DashedLine: + ... + + @overload + def get_line_from_axis_to_point( + self, + index: int, + point: Sequence[float], + line_func: type[LineType], + line_config: dict | None = ..., + color: ParsableManimColor | None = ..., + stroke_width: float = ..., + ) -> LineType: + ... + + def get_line_from_axis_to_point( # type: ignore[no-untyped-def] + self, + index, + point, + line_func=DashedLine, + line_config=None, + color=None, + stroke_width=2, + ): """Returns a straight line from a given axis to a point in the scene. Parameters @@ -475,7 +505,7 @@ def get_line_from_axis_to_point( line = line_func(axis.get_projection(point), point, **line_config) return line - def get_vertical_line(self, point: Sequence[float], **kwargs) -> Line: + def get_vertical_line(self, point: Sequence[float], **kwargs: Any) -> Line: """A vertical line from the x-axis to a given point in the scene. Parameters @@ -589,8 +619,8 @@ def plot( function: Callable[[float], float], x_range: Sequence[float] | None = None, use_vectorized: bool = False, - **kwargs, - ): + **kwargs: Any, + ) -> ParametricFunction: """Generates a curve based on a function. Parameters @@ -685,10 +715,10 @@ def log_func(x): def plot_implicit_curve( self, - func: Callable, + func: Callable[[float, float], float], min_depth: int = 5, max_quads: int = 1500, - **kwargs, + **kwargs: Any, ) -> ImplicitFunction: """Creates the curves of an implicit function. @@ -737,7 +767,7 @@ def plot_parametric_curve( self, function: Callable[[float], np.ndarray], use_vectorized: bool = False, - **kwargs, + **kwargs: Any, ) -> ParametricFunction: """A parametric curve. @@ -784,8 +814,8 @@ def construct(self): def plot_polar_graph( self, r_func: Callable[[float], float], - theta_range: Sequence[float] = [0, 2 * PI], - **kwargs, + theta_range: Sequence[float] | None = None, + **kwargs: Any, ) -> ParametricFunction: """A polar graph. @@ -811,6 +841,7 @@ def construct(self): graph = plane.plot_polar_graph(r, [0, 2 * PI], color=ORANGE) self.add(plane, graph) """ + theta_range = theta_range if theta_range is not None else [0, 2 * PI] graph = ParametricFunction( function=lambda th: self.pr2pt(r_func(th), th), t_range=theta_range, @@ -828,8 +859,8 @@ def plot_surface( | Sequence[tuple[ParsableManimColor, float]] | None = None, colorscale_axis: int = 2, - **kwargs, - ): + **kwargs: Any, + ) -> Surface | OpenGLSurface: """Generates a surface based on a function. Parameters @@ -964,7 +995,9 @@ def construct(self): f"x={x} not located in the range of the graph ([{self.p2c(graph.get_start())[0]}, {self.p2c(graph.get_end())[0]}])", ) - def input_to_graph_coords(self, x: float, graph: ParametricFunction) -> tuple: + def input_to_graph_coords( + self, x: float, graph: ParametricFunction + ) -> tuple[float, float]: """Returns a tuple of the axis relative coordinates of the point on the graph based on the x-value given. @@ -980,7 +1013,7 @@ def input_to_graph_coords(self, x: float, graph: ParametricFunction) -> tuple: """ return x, graph.underlying_function(x) - def i2gc(self, x: float, graph: ParametricFunction) -> tuple: + def i2gc(self, x: float, graph: ParametricFunction) -> tuple[float, float]: """Alias for :meth:`input_to_graph_coords`.""" return self.input_to_graph_coords(x, graph) @@ -997,7 +1030,7 @@ def get_graph_label( buff: float = MED_SMALL_BUFF, color: ParsableManimColor | None = None, dot: bool = False, - dot_config: dict | None = None, + dot_config: dict[str, Any] | None = None, ) -> Mobject: """Creates a properly positioned label for the passed graph, with an optional dot. @@ -1242,8 +1275,8 @@ def get_area( color: ParsableManimColor | Iterable[ParsableManimColor] = (BLUE, GREEN), opacity: float = 0.3, bounded_graph: ParametricFunction = None, - **kwargs, - ): + **kwargs: Any, + ) -> Polygon: """Returns a :class:`~.Polygon` representing the area under the graph passed. Parameters @@ -1359,7 +1392,9 @@ def angle_of_tangent( p1 = np.array([*self.input_to_graph_coords(x + dx, graph)]) return angle_of_vector(p1 - p0) - def slope_of_tangent(self, x: float, graph: ParametricFunction, **kwargs) -> float: + def slope_of_tangent( + self, x: float, graph: ParametricFunction, **kwargs: Any + ) -> float: """Returns the slope of the tangent to the plotted curve at a particular x-value. @@ -1437,8 +1472,8 @@ def plot_antiderivative_graph( y_intercept: float = 0, samples: int = 50, use_vectorized: bool = False, - **kwargs, - ): + **kwargs: Any, + ) -> ParametricFunction: """Plots an antiderivative graph. Parameters @@ -1619,7 +1654,7 @@ def get_vertical_lines_to_graph( graph: ParametricFunction, x_range: Sequence[float] | None = None, num_lines: int = 20, - **kwargs, + **kwargs: Any, ) -> VGroup: """Obtains multiple lines from the x-axis to the curve. @@ -1678,7 +1713,7 @@ def get_T_label( label_color: ParsableManimColor | None = None, triangle_size: float = MED_SMALL_BUFF, triangle_color: ParsableManimColor | None = WHITE, - line_func: Line = Line, + line_func: type[Line] = Line, line_color: ParsableManimColor = YELLOW, ) -> VGroup: """Creates a labelled triangle marker with a vertical line from the x-axis @@ -1811,8 +1846,8 @@ def __init__( x_axis_config: dict | None = None, y_axis_config: dict | None = None, tips: bool = True, - **kwargs, - ): + **kwargs: Any, + ) -> None: VGroup.__init__(self, **kwargs) CoordinateSystem.__init__(self, x_range, y_range, x_length, y_length) @@ -1879,7 +1914,7 @@ def __init__( @staticmethod def _update_default_configs( default_configs: tuple[dict[Any, Any]], passed_configs: tuple[dict[Any, Any]] - ): + ) -> None: """Takes in two tuples of dicts and return modifies the first such that values from ``passed_configs`` overwrite values in ``default_configs``. If a key does not exist in default_configs, it is added to the dict. @@ -1912,7 +1947,7 @@ def _update_default_configs( def _create_axis( self, range_terms: Sequence[float], - axis_config: dict, + axis_config: dict[str, Any], length: float, ) -> NumberLine: """Creates an axis and dynamically adjusts its position depending on where 0 is located on the line. @@ -2161,8 +2196,8 @@ def plot_line_graph( line_color: ParsableManimColor = YELLOW, add_vertex_dots: bool = True, vertex_dot_radius: float = DEFAULT_DOT_RADIUS, - vertex_dot_style: dict | None = None, - **kwargs, + vertex_dot_style: dict[str, Any] | None = None, + **kwargs: Any, ) -> VDict: """Draws a line graph. @@ -2304,15 +2339,15 @@ def __init__( x_length: float | None = config.frame_height + 2.5, y_length: float | None = config.frame_height + 2.5, z_length: float | None = config.frame_height - 1.5, - z_axis_config: dict | None = None, - z_normal: Sequence[float] = DOWN, + z_axis_config: dict[str, Any] | None = None, + z_normal: Vector3 = DOWN, num_axis_pieces: int = 20, light_source: Sequence[float] = 9 * DOWN + 7 * LEFT + 10 * OUT, # opengl stuff (?) depth=None, gloss=0.5, - **kwargs, - ): + **kwargs: dict[str, Any], + ) -> None: super().__init__( x_range=x_range, x_length=x_length, @@ -2368,14 +2403,14 @@ def __init__( self._add_3d_pieces() self._set_axis_shading() - def _add_3d_pieces(self): + def _add_3d_pieces(self) -> None: for axis in self.axes: axis.pieces = VGroup(*axis.get_pieces(self.num_axis_pieces)) axis.add(axis.pieces) axis.set_stroke(width=0, family=False) axis.set_shade_in_3d(True) - def _set_axis_shading(self): + def _set_axis_shading(self) -> None: def make_func(axis): vect = self.light_source return lambda: ( @@ -2395,8 +2430,8 @@ def get_y_axis_label( edge: Sequence[float] = UR, direction: Sequence[float] = UR, buff: float = SMALL_BUFF, - rotation=PI / 2, - rotation_axis=OUT, + rotation: float = PI / 2, + rotation_axis: Vector3 = OUT, **kwargs, ) -> Mobject: """Generate a y-axis label. @@ -2443,12 +2478,12 @@ def construct(self): def get_z_axis_label( self, label: float | str | Mobject, - edge: Sequence[float] = OUT, - direction: Sequence[float] = RIGHT, + edge: Vector3 = OUT, + direction: Vector3 = RIGHT, buff: float = SMALL_BUFF, - rotation=PI / 2, - rotation_axis=RIGHT, - **kwargs, + rotation: float = PI / 2, + rotation_axis: Vector3 = RIGHT, + **kwargs: Any, ) -> Mobject: """Generate a z-axis label. @@ -2630,11 +2665,11 @@ def __init__( ), x_length: float | None = None, y_length: float | None = None, - background_line_style: dict | None = None, - faded_line_style: dict | None = None, + background_line_style: dict[str, Any] | None = None, + faded_line_style: dict[str, Any] | None = None, faded_line_ratio: int = 1, make_smooth_after_applying_functions: bool = True, - **kwargs, + **kwargs: dict[str, Any], ): # configs self.axis_config = { @@ -2679,7 +2714,7 @@ def __init__( self._init_background_lines() - def _init_background_lines(self): + def _init_background_lines(self) -> None: """Will init all the lines of NumberPlanes (faded or not)""" if self.faded_line_style is None: style = dict(self.background_line_style) @@ -2800,13 +2835,13 @@ def _get_lines_parallel_to_axis( lines2.add(new_line) return lines1, lines2 - def get_vector(self, coords: Sequence[float], **kwargs): + def get_vector(self, coords: Sequence[ManimFloat], **kwargs: Any) -> Arrow: kwargs["buff"] = 0 return Arrow( self.coords_to_point(0, 0), self.coords_to_point(*coords), **kwargs ) - def prepare_for_nonlinear_transform(self, num_inserted_curves: int = 50): + def prepare_for_nonlinear_transform(self, num_inserted_curves: int = 50) -> Self: for mob in self.family_members_with_points(): num_curves = mob.get_num_curves() if num_inserted_curves > num_curves: @@ -2900,13 +2935,13 @@ def __init__( azimuth_direction: str = "CCW", azimuth_label_buff: float = SMALL_BUFF, azimuth_label_font_size: float = 24, - radius_config: dict | None = None, - background_line_style: dict | None = None, - faded_line_style: dict | None = None, + radius_config: dict[str, Any] | None = None, + background_line_style: dict[str, Any] | None = None, + faded_line_style: dict[str, Any] | None = None, faded_line_ratio: int = 1, make_smooth_after_applying_functions: bool = True, - **kwargs, - ): + **kwargs: Any, + ) -> None: # error catching if azimuth_units in ["PI radians", "TAU radians", "degrees", "gradians", None]: self.azimuth_units = azimuth_units @@ -2977,7 +3012,7 @@ def __init__( self._init_background_lines() - def _init_background_lines(self): + def _init_background_lines(self) -> None: """Will init all the lines of NumberPlanes (faded or not)""" if self.faded_line_style is None: style = dict(self.background_line_style) @@ -3057,13 +3092,13 @@ def get_axes(self) -> VGroup: """ return self.axes - def get_vector(self, coords, **kwargs): + def get_vector(self, coords: Sequence[ManimFloat], **kwargs: Any) -> Arrow: kwargs["buff"] = 0 return Arrow( self.coords_to_point(0, 0), self.coords_to_point(*coords), **kwargs ) - def prepare_for_nonlinear_transform(self, num_inserted_curves=50): + def prepare_for_nonlinear_transform(self, num_inserted_curves: int = 50) -> Self: for mob in self.family_members_with_points(): num_curves = mob.get_num_curves() if num_inserted_curves > num_curves: @@ -3074,7 +3109,7 @@ def get_coordinate_labels( self, r_values: Iterable[float] | None = None, a_values: Iterable[float] | None = None, - **kwargs, + **kwargs: Any, ) -> VDict: """Gets labels for the coordinates @@ -3176,7 +3211,7 @@ def add_coordinates( self, r_values: Iterable[float] | None = None, a_values: Iterable[float] | None = None, - ): + ) -> Self: """Adds the coordinates. Parameters @@ -3189,7 +3224,7 @@ def add_coordinates( self.add(self.get_coordinate_labels(r_values, a_values)) return self - def get_radian_label(self, number, font_size=24, **kwargs): + def get_radian_label(self, number, font_size: float = 24, **kwargs: Any) -> MathTex: constant_label = {"PI radians": r"\pi", "TAU radians": r"\tau"}[ self.azimuth_units ] @@ -3258,7 +3293,7 @@ def construct(self): """ - def __init__(self, **kwargs): + def __init__(self, **kwargs: Any) -> None: super().__init__( **kwargs, ) @@ -3284,7 +3319,7 @@ def n2p(self, number: float | complex) -> np.ndarray: """Abbreviation for :meth:`number_to_point`.""" return self.number_to_point(number) - def point_to_number(self, point: Sequence[float]) -> complex: + def point_to_number(self, point: Point3D) -> complex: """Accepts a point and returns a complex number equivalent to that point on the plane. Parameters @@ -3301,7 +3336,7 @@ def point_to_number(self, point: Sequence[float]) -> complex: x, y = self.point_to_coords(point) return complex(x, y) - def p2n(self, point: Sequence[float]) -> complex: + def p2n(self, point: Point3D) -> complex: """Abbreviation for :meth:`point_to_number`.""" return self.point_to_number(point) @@ -3319,7 +3354,7 @@ def _get_default_coordinate_values(self) -> list[float | complex]: return [*x_numbers, *y_numbers] def get_coordinate_labels( - self, *numbers: Iterable[float | complex], **kwargs + self, *numbers: Iterable[float | complex], **kwargs: Any ) -> VGroup: """Generates the :class:`~.DecimalNumber` mobjects for the coordinates of the plane. @@ -3354,7 +3389,9 @@ def get_coordinate_labels( self.coordinate_labels.add(number_mob) return self.coordinate_labels - def add_coordinates(self, *numbers: Iterable[float | complex], **kwargs): + def add_coordinates( + self, *numbers: Iterable[float | complex], **kwargs: Any + ) -> Self: """Adds the labels produced from :meth:`~.NumberPlane.get_coordinate_labels` to the plane. Parameters diff --git a/manim/mobject/mobject.py b/manim/mobject/mobject.py index 72faf99ea1..1afa091cca 100644 --- a/manim/mobject/mobject.py +++ b/manim/mobject/mobject.py @@ -7,29 +7,18 @@ import copy import itertools as it +import math import operator as op import random import sys import types import warnings from functools import partialmethod, reduce -from math import ceil from pathlib import Path -from typing import ( - TYPE_CHECKING, - Callable, - Dict, - Iterable, - List, - Optional, - Sequence, - Tuple, - Type, - TypeVar, - Union, -) +from typing import TYPE_CHECKING, Callable, Iterable, Literal, TypeVar, Union import numpy as np +from typing_extensions import Self, TypeAlias from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL @@ -52,10 +41,25 @@ # TODO: Explain array_attrs -Updater = Union[Callable[["Mobject"], None], Callable[["Mobject", float], None]] +TimeBasedUpdater: TypeAlias = Callable[["Mobject", float], None] +NonTimeBasedUpdater: TypeAlias = Callable[["Mobject"], None] +Updater: TypeAlias = Union[NonTimeBasedUpdater, TimeBasedUpdater] T = TypeVar("T", bound="Mobject") if TYPE_CHECKING: + from manim.typing import ( + FunctionOverride, + Image, + ManimFloat, + ManimInt, + MappingFunction, + PathFuncType, + Point3D, + Point3D_Array, + Vector, + Vector3, + ) + from ..animation.animation import Animation @@ -82,12 +86,12 @@ class Mobject: animation_overrides = {} @classmethod - def __init_subclass__(cls, **kwargs): + def __init_subclass__(cls, **kwargs) -> None: super().__init_subclass__(**kwargs) cls.animation_overrides: dict[ type[Animation], - Callable[[Mobject], Animation], + FunctionOverride, ] = {} cls._add_intrinsic_animation_overrides() cls._original__init__ = cls.__init__ @@ -95,20 +99,20 @@ def __init_subclass__(cls, **kwargs): def __init__( self, color: ParsableManimColor | list[ParsableManimColor] = WHITE, - name=None, - dim=3, + name: str | None = None, + dim: int = 3, target=None, - z_index=0, - ): + z_index: float = 0, + ) -> None: self.name = self.__class__.__name__ if name is None else name self.dim = dim self.target = target self.z_index = z_index self.point_hash = None self.submobjects = [] - self.updaters = [] + self.updaters: list[Updater] = [] self.updating_suspended = False - self.color: ManimColor = ManimColor.parse(color) + self.color = ManimColor.parse(color) self.reset_points() self.generate_points() @@ -118,7 +122,7 @@ def __init__( def animation_override_for( cls, animation_class: type[Animation], - ) -> Callable[[Mobject, ...], Animation] | None: + ) -> FunctionOverride | None: """Returns the function defining a specific animation override for this class. Parameters @@ -138,7 +142,7 @@ def animation_override_for( return None @classmethod - def _add_intrinsic_animation_overrides(cls): + def _add_intrinsic_animation_overrides(cls) -> None: """Initializes animation overrides marked with the :func:`~.override_animation` decorator. """ @@ -156,8 +160,8 @@ def _add_intrinsic_animation_overrides(cls): def add_animation_override( cls, animation_class: type[Animation], - override_func: Callable[[Mobject, ...], Animation], - ): + override_func: FunctionOverride, + ) -> None: """Add an animation override. This does not apply to subclasses. @@ -186,7 +190,7 @@ def add_animation_override( ) @classmethod - def set_default(cls, **kwargs): + def set_default(cls, **kwargs) -> None: """Sets the default values of keyword arguments. If this method is called without any additional keyword @@ -331,7 +335,7 @@ def construct(self): """ return _AnimationBuilder(self) - def __deepcopy__(self, clone_from_id): + def __deepcopy__(self, clone_from_id) -> Self: cls = self.__class__ result = cls.__new__(cls) clone_from_id[id(self)] = result @@ -340,30 +344,28 @@ def __deepcopy__(self, clone_from_id): result.original_id = str(id(self)) return result - def __repr__(self): + def __repr__(self) -> str: return str(self.name) - def reset_points(self): + def reset_points(self) -> None: """Sets :attr:`points` to be an empty array.""" self.points = np.zeros((0, self.dim)) - def init_colors(self): + def init_colors(self) -> None: """Initializes the colors. Gets called upon creation. This is an empty method that can be implemented by subclasses. """ - pass - def generate_points(self): + def generate_points(self) -> None: """Initializes :attr:`points` and therefore the shape. Gets called upon creation. This is an empty method that can be implemented by subclasses. """ - pass - def add(self, *mobjects: Mobject): + def add(self, *mobjects: Mobject) -> Self: """Add mobjects as submobjects. The mobjects are added to :attr:`submobjects`. @@ -449,7 +451,7 @@ def add(self, *mobjects: Mobject): self.submobjects = list_update(self.submobjects, unique_mobjects) return self - def insert(self, index: int, mobject: Mobject): + def insert(self, index: int, mobject: Mobject) -> None: """Inserts a mobject at a specific position into self.submobjects Effectively just calls ``self.submobjects.insert(index, mobject)``, @@ -470,13 +472,13 @@ def insert(self, index: int, mobject: Mobject): raise ValueError("Mobject cannot contain self") self.submobjects.insert(index, mobject) - def __add__(self, mobject): + def __add__(self, mobject: Mobject): raise NotImplementedError - def __iadd__(self, mobject): + def __iadd__(self, mobject: Mobject): raise NotImplementedError - def add_to_back(self, *mobjects: Mobject): + def add_to_back(self, *mobjects: Mobject) -> Self: """Add all passed mobjects to the back of the submobjects. If :attr:`submobjects` already contains the given mobjects, they just get moved @@ -532,7 +534,7 @@ def add_to_back(self, *mobjects: Mobject): self.submobjects = list(dict.fromkeys(mobjects)) + self.submobjects return self - def remove(self, *mobjects: Mobject): + def remove(self, *mobjects: Mobject) -> Self: """Remove :attr:`submobjects`. The mobjects are removed from :attr:`submobjects`, if they exist. @@ -565,7 +567,7 @@ def __sub__(self, other): def __isub__(self, other): raise NotImplementedError - def set(self, **kwargs): + def set(self, **kwargs) -> Self: """Sets attributes. I.e. ``my_mobject.set(foo=1)`` applies ``my_mobject.foo = 1``. @@ -622,7 +624,7 @@ def set(self, **kwargs): return self - def __getattr__(self, attr): + def __getattr__(self, attr: str) -> types.MethodType: # Add automatic compatibility layer # between properties and get_* and set_* # methods. @@ -670,7 +672,7 @@ def setter(self, value): raise AttributeError(f"{type(self).__name__} object has no attribute '{attr}'") @property - def width(self): + def width(self) -> float: """The width of the mobject. Returns @@ -703,11 +705,11 @@ def construct(self): return self.length_over_dim(0) @width.setter - def width(self, value): + def width(self, value: float): self.scale_to_fit_width(value) @property - def height(self): + def height(self) -> float: """The height of the mobject. Returns @@ -740,11 +742,11 @@ def construct(self): return self.length_over_dim(1) @height.setter - def height(self, value): + def height(self, value: float): self.scale_to_fit_height(value) @property - def depth(self): + def depth(self) -> float: """The depth of the mobject. Returns @@ -761,20 +763,21 @@ def depth(self): return self.length_over_dim(2) @depth.setter - def depth(self, value): + def depth(self, value: float): self.scale_to_fit_depth(value) - def get_array_attrs(self): + # Can't be staticmethod because of point_cloud_mobject.py + def get_array_attrs(self) -> list[Literal["points"]]: return ["points"] - def apply_over_attr_arrays(self, func): + def apply_over_attr_arrays(self, func: MappingFunction) -> Self: for attr in self.get_array_attrs(): setattr(self, attr, func(getattr(self, attr))) return self # Displaying - def get_image(self, camera=None): + def get_image(self, camera=None) -> Image: if camera is None: from ..camera.camera import Camera @@ -782,17 +785,17 @@ def get_image(self, camera=None): camera.capture_mobject(self) return camera.get_image() - def show(self, camera=None): + def show(self, camera=None) -> None: self.get_image(camera=camera).show() - def save_image(self, name=None): + def save_image(self, name: str | None = None) -> None: """Saves an image of only this :class:`Mobject` at its position to a png file.""" self.get_image().save( Path(config.get_dir("video_dir")).joinpath((name or str(self)) + ".png"), ) - def copy(self: T) -> T: + def copy(self) -> Self: """Create and return an identical copy of the :class:`Mobject` including all :attr:`submobjects`. @@ -807,7 +810,7 @@ def copy(self: T) -> T: """ return copy.deepcopy(self) - def generate_target(self, use_deepcopy=False): + def generate_target(self, use_deepcopy: bool = False) -> Self: self.target = None # Prevent unbounded linear recursion if use_deepcopy: self.target = copy.deepcopy(self) @@ -817,7 +820,7 @@ def generate_target(self, use_deepcopy=False): # Updating - def update(self, dt: float = 0, recursive: bool = True): + def update(self, dt: float = 0, recursive: bool = True) -> Self: """Apply all updaters. Does nothing if updating is suspended. @@ -854,7 +857,7 @@ def update(self, dt: float = 0, recursive: bool = True): submob.update(dt, recursive) return self - def get_time_based_updaters(self) -> list[Updater]: + def get_time_based_updaters(self) -> list[TimeBasedUpdater]: """Return all updaters using the ``dt`` parameter. The updaters use this parameter as the input for difference in time. @@ -904,7 +907,7 @@ def get_updaters(self) -> list[Updater]: """ return self.updaters - def get_family_updaters(self): + def get_family_updaters(self) -> list[Updater]: return list(it.chain(*(sm.get_updaters() for sm in self.get_family()))) def add_updater( @@ -912,7 +915,7 @@ def add_updater( update_function: Updater, index: int | None = None, call_updater: bool = False, - ): + ) -> Self: """Add an update function to this mobject. Update functions, or updaters in short, are functions that are applied to the @@ -986,7 +989,7 @@ def construct(self): update_function(self) return self - def remove_updater(self, update_function: Updater): + def remove_updater(self, update_function: Updater) -> Self: """Remove an updater. If the same updater is applied multiple times, every instance gets removed. @@ -1013,7 +1016,7 @@ def remove_updater(self, update_function: Updater): self.updaters.remove(update_function) return self - def clear_updaters(self, recursive: bool = True): + def clear_updaters(self, recursive: bool = True) -> Self: """Remove every updater. Parameters @@ -1039,7 +1042,7 @@ def clear_updaters(self, recursive: bool = True): submob.clear_updaters() return self - def match_updaters(self, mobject: Mobject): + def match_updaters(self, mobject: Mobject) -> Self: """Match the updaters of the given mobject. Parameters @@ -1069,7 +1072,7 @@ def match_updaters(self, mobject: Mobject): self.add_updater(updater) return self - def suspend_updating(self, recursive: bool = True): + def suspend_updating(self, recursive: bool = True) -> Self: """Disable updating from updaters and animations. @@ -1096,7 +1099,7 @@ def suspend_updating(self, recursive: bool = True): submob.suspend_updating(recursive) return self - def resume_updating(self, recursive: bool = True): + def resume_updating(self, recursive: bool = True) -> Self: """Enable updating from updaters and animations. Parameters @@ -1124,7 +1127,7 @@ def resume_updating(self, recursive: bool = True): # Transforming operations - def apply_to_family(self, func: Callable[[Mobject], None]): + def apply_to_family(self, func: Callable[[Mobject], None]) -> None: """Apply a function to ``self`` and every submobject with points recursively. Parameters @@ -1146,7 +1149,7 @@ def apply_to_family(self, func: Callable[[Mobject], None]): for mob in self.family_members_with_points(): func(mob) - def shift(self, *vectors: np.ndarray): + def shift(self, *vectors: Vector3) -> Self: """Shift by the given vectors. Parameters @@ -1172,7 +1175,7 @@ def shift(self, *vectors: np.ndarray): return self - def scale(self, scale_factor: float, **kwargs): + def scale(self, scale_factor: float, **kwargs) -> Self: r"""Scale the size by a factor. Default behavior is to scale about the center of the mobject. @@ -1218,17 +1221,17 @@ def construct(self): ) return self - def rotate_about_origin(self, angle, axis=OUT, axes=[]): + def rotate_about_origin(self, angle: float, axis: Vector3 = OUT, axes=[]) -> Self: """Rotates the :class:`~.Mobject` about the ORIGIN, which is at [0,0,0].""" return self.rotate(angle, axis, about_point=ORIGIN) def rotate( self, - angle, - axis=OUT, - about_point: Sequence[float] | None = None, + angle: float, + axis: Vector3 = OUT, + about_point: Point3D | None = None, **kwargs, - ): + ) -> Self: """Rotates the :class:`~.Mobject` about a certain point.""" rot_matrix = rotation_matrix(angle, axis) self.apply_points_function_about_point( @@ -1236,7 +1239,7 @@ def rotate( ) return self - def flip(self, axis=UP, **kwargs): + def flip(self, axis: Vector3 = UP, **kwargs) -> Self: """Flips/Mirrors an mobject about its center. Examples @@ -1255,7 +1258,7 @@ def construct(self): """ return self.rotate(TAU / 2, axis, **kwargs) - def stretch(self, factor, dim, **kwargs): + def stretch(self, factor: float, dim: int, **kwargs) -> Self: def func(points): points[:, dim] *= factor return points @@ -1263,7 +1266,7 @@ def func(points): self.apply_points_function_about_point(func, **kwargs) return self - def apply_function(self, function, **kwargs): + def apply_function(self, function: MappingFunction, **kwargs) -> Self: # Default to applying matrix about the origin, not mobjects center if len(kwargs) == 0: kwargs["about_point"] = ORIGIN @@ -1272,16 +1275,16 @@ def apply_function(self, function, **kwargs): ) return self - def apply_function_to_position(self, function): + def apply_function_to_position(self, function: MappingFunction) -> Self: self.move_to(function(self.get_center())) return self - def apply_function_to_submobject_positions(self, function): + def apply_function_to_submobject_positions(self, function: MappingFunction) -> Self: for submob in self.submobjects: submob.apply_function_to_position(function) return self - def apply_matrix(self, matrix, **kwargs): + def apply_matrix(self, matrix, **kwargs) -> Self: # Default to applying matrix about the origin, not mobjects center if ("about_point" not in kwargs) and ("about_edge" not in kwargs): kwargs["about_point"] = ORIGIN @@ -1293,9 +1296,11 @@ def apply_matrix(self, matrix, **kwargs): ) return self - def apply_complex_function(self, function, **kwargs): + def apply_complex_function( + self, function: Callable[[complex], complex], **kwargs + ) -> Self: """Applies a complex function to a :class:`Mobject`. - The x and y coordinates correspond to the real and imaginary parts respectively. + The x and y Point3Ds correspond to the real and imaginary parts respectively. Example ------- @@ -1327,7 +1332,9 @@ def R3_func(point): return self.apply_function(R3_func) - def wag(self, direction=RIGHT, axis=DOWN, wag_factor=1.0): + def wag( + self, direction: Vector3 = RIGHT, axis: Vector3 = DOWN, wag_factor: float = 1.0 + ) -> Self: for mob in self.family_members_with_points(): alphas = np.dot(mob.points, np.transpose(axis)) alphas -= min(alphas) @@ -1339,12 +1346,12 @@ def wag(self, direction=RIGHT, axis=DOWN, wag_factor=1.0): ) return self - def reverse_points(self): + def reverse_points(self) -> Self: for mob in self.family_members_with_points(): mob.apply_over_attr_arrays(lambda arr: np.array(list(reversed(arr)))) return self - def repeat(self, count: int): + def repeat(self, count: int) -> Self: """This can make transition animations nicer""" def repeat_array(array): @@ -1360,10 +1367,10 @@ def repeat_array(array): def apply_points_function_about_point( self, - func, - about_point=None, + func: MappingFunction, + about_point: Point3D = None, about_edge=None, - ): + ) -> Self: if about_point is None: if about_edge is None: about_edge = ORIGIN @@ -1380,7 +1387,7 @@ def pose_at_angle(self, **kwargs): # Positioning methods - def center(self): + def center(self) -> Self: """Moves the center of the mobject to the center of the scene. Returns @@ -1391,7 +1398,9 @@ def center(self): self.shift(-self.get_center()) return self - def align_on_border(self, direction, buff=DEFAULT_MOBJECT_TO_EDGE_BUFFER): + def align_on_border( + self, direction: Vector3, buff: float = DEFAULT_MOBJECT_TO_EDGE_BUFFER + ) -> Self: """Direction just needs to be a vector pointing towards side or corner in the 2d plane. """ @@ -1406,23 +1415,27 @@ def align_on_border(self, direction, buff=DEFAULT_MOBJECT_TO_EDGE_BUFFER): self.shift(shift_val) return self - def to_corner(self, corner=LEFT + DOWN, buff=DEFAULT_MOBJECT_TO_EDGE_BUFFER): + def to_corner( + self, corner: Vector3 = DL, buff: float = DEFAULT_MOBJECT_TO_EDGE_BUFFER + ) -> Self: return self.align_on_border(corner, buff) - def to_edge(self, edge=LEFT, buff=DEFAULT_MOBJECT_TO_EDGE_BUFFER): + def to_edge( + self, edge: Vector3 = LEFT, buff: float = DEFAULT_MOBJECT_TO_EDGE_BUFFER + ) -> Self: return self.align_on_border(edge, buff) def next_to( self, - mobject_or_point, - direction=RIGHT, - buff=DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, - aligned_edge=ORIGIN, - submobject_to_align=None, - index_of_submobject_to_align=None, - coor_mask=np.array([1, 1, 1]), - ): - """Move this :class:`~.Mobject` next to another's :class:`~.Mobject` or coordinate. + mobject_or_point: Mobject | Point3D, + direction: Vector3 = RIGHT, + buff: float = DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, + aligned_edge: Vector3 = ORIGIN, + submobject_to_align: Mobject | None = None, + index_of_submobject_to_align: int | None = None, + coor_mask: Vector3 = np.array([1, 1, 1]), + ) -> Self: + """Move this :class:`~.Mobject` next to another's :class:`~.Mobject` or Point3D. Examples -------- @@ -1461,7 +1474,7 @@ def construct(self): self.shift((target_point - point_to_align + buff * direction) * coor_mask) return self - def shift_onto_screen(self, **kwargs): + def shift_onto_screen(self, **kwargs) -> Self: space_lengths = [config["frame_x_radius"], config["frame_y_radius"]] for vect in UP, DOWN, LEFT, RIGHT: dim = np.argmax(np.abs(vect)) @@ -1483,10 +1496,12 @@ def is_off_screen(self): return True return False - def stretch_about_point(self, factor, dim, point): + def stretch_about_point(self, factor: float, dim: int, point: Point3D) -> Self: return self.stretch(factor, dim, about_point=point) - def rescale_to_fit(self, length, dim, stretch=False, **kwargs): + def rescale_to_fit( + self, length: float, dim: int, stretch: bool = False, **kwargs + ) -> Self: old_length = self.length_over_dim(dim) if old_length == 0: return self @@ -1496,7 +1511,7 @@ def rescale_to_fit(self, length, dim, stretch=False, **kwargs): self.scale(length / old_length, **kwargs) return self - def scale_to_fit_width(self, width, **kwargs): + def scale_to_fit_width(self, width: float, **kwargs) -> Self: """Scales the :class:`~.Mobject` to fit a width while keeping height/depth proportional. Returns @@ -1522,7 +1537,7 @@ def scale_to_fit_width(self, width, **kwargs): return self.rescale_to_fit(width, 0, stretch=False, **kwargs) - def stretch_to_fit_width(self, width, **kwargs): + def stretch_to_fit_width(self, width: float, **kwargs) -> Self: """Stretches the :class:`~.Mobject` to fit a width, not keeping height/depth proportional. Returns @@ -1548,7 +1563,7 @@ def stretch_to_fit_width(self, width, **kwargs): return self.rescale_to_fit(width, 0, stretch=True, **kwargs) - def scale_to_fit_height(self, height, **kwargs): + def scale_to_fit_height(self, height: float, **kwargs) -> Self: """Scales the :class:`~.Mobject` to fit a height while keeping width/depth proportional. Returns @@ -1574,7 +1589,7 @@ def scale_to_fit_height(self, height, **kwargs): return self.rescale_to_fit(height, 1, stretch=False, **kwargs) - def stretch_to_fit_height(self, height, **kwargs): + def stretch_to_fit_height(self, height: float, **kwargs) -> Self: """Stretches the :class:`~.Mobject` to fit a height, not keeping width/depth proportional. Returns @@ -1600,36 +1615,36 @@ def stretch_to_fit_height(self, height, **kwargs): return self.rescale_to_fit(height, 1, stretch=True, **kwargs) - def scale_to_fit_depth(self, depth, **kwargs): + def scale_to_fit_depth(self, depth: float, **kwargs) -> Self: """Scales the :class:`~.Mobject` to fit a depth while keeping width/height proportional.""" return self.rescale_to_fit(depth, 2, stretch=False, **kwargs) - def stretch_to_fit_depth(self, depth, **kwargs): + def stretch_to_fit_depth(self, depth: float, **kwargs) -> Self: """Stretches the :class:`~.Mobject` to fit a depth, not keeping width/height proportional.""" return self.rescale_to_fit(depth, 2, stretch=True, **kwargs) - def set_coord(self, value, dim, direction=ORIGIN): + def set_coord(self, value, dim: int, direction: Vector3 = ORIGIN) -> Self: curr = self.get_coord(dim, direction) shift_vect = np.zeros(self.dim) shift_vect[dim] = value - curr self.shift(shift_vect) return self - def set_x(self, x, direction=ORIGIN): + def set_x(self, x: float, direction: Vector3 = ORIGIN) -> Self: """Set x value of the center of the :class:`~.Mobject` (``int`` or ``float``)""" return self.set_coord(x, 0, direction) - def set_y(self, y, direction=ORIGIN): + def set_y(self, y: float, direction: Vector3 = ORIGIN) -> Self: """Set y value of the center of the :class:`~.Mobject` (``int`` or ``float``)""" return self.set_coord(y, 1, direction) - def set_z(self, z, direction=ORIGIN): + def set_z(self, z: float, direction: Vector3 = ORIGIN) -> Self: """Set z value of the center of the :class:`~.Mobject` (``int`` or ``float``)""" return self.set_coord(z, 2, direction) - def space_out_submobjects(self, factor=1.5, **kwargs): + def space_out_submobjects(self, factor: float = 1.5, **kwargs) -> Self: self.scale(factor, **kwargs) for submob in self.submobjects: submob.scale(1.0 / factor) @@ -1637,11 +1652,11 @@ def space_out_submobjects(self, factor=1.5, **kwargs): def move_to( self, - point_or_mobject, - aligned_edge=ORIGIN, - coor_mask=np.array([1, 1, 1]), - ): - """Move center of the :class:`~.Mobject` to certain coordinate.""" + point_or_mobject: Point3D | Mobject, + aligned_edge: Vector3 = ORIGIN, + coor_mask: Vector3 = np.array([1, 1, 1]), + ) -> Self: + """Move center of the :class:`~.Mobject` to certain Point3D.""" if isinstance(point_or_mobject, Mobject): target = point_or_mobject.get_critical_point(aligned_edge) else: @@ -1650,7 +1665,9 @@ def move_to( self.shift((target - point_to_align) * coor_mask) return self - def replace(self, mobject, dim_to_match=0, stretch=False): + def replace( + self, mobject: Mobject, dim_to_match: int = 0, stretch: bool = False + ) -> Self: if not mobject.get_num_points() and not mobject.submobjects: raise Warning("Attempting to replace mobject with no points") if stretch: @@ -1668,16 +1685,16 @@ def replace(self, mobject, dim_to_match=0, stretch=False): def surround( self, mobject: Mobject, - dim_to_match=0, - stretch=False, - buff=MED_SMALL_BUFF, - ): + dim_to_match: int = 0, + stretch: bool = False, + buff: float = MED_SMALL_BUFF, + ) -> Self: self.replace(mobject, dim_to_match, stretch) length = mobject.length_over_dim(dim_to_match) self.scale((length + buff) / length) return self - def put_start_and_end_on(self, start, end): + def put_start_and_end_on(self, start: Point3D, end: Point3D) -> Self: curr_start, curr_end = self.get_start_and_end() curr_vect = curr_end - curr_start if np.all(curr_vect == 0): @@ -1703,7 +1720,7 @@ def put_start_and_end_on(self, start, end): # Background rectangle def add_background_rectangle( self, color: ParsableManimColor | None = None, opacity: float = 0.75, **kwargs - ): + ) -> Self: """Add a BackgroundRectangle as submobject. The BackgroundRectangle is added behind other submobjects. @@ -1742,12 +1759,12 @@ def add_background_rectangle( self.add_to_back(self.background_rectangle) return self - def add_background_rectangle_to_submobjects(self, **kwargs): + def add_background_rectangle_to_submobjects(self, **kwargs) -> Self: for submobject in self.submobjects: submobject.add_background_rectangle(**kwargs) return self - def add_background_rectangle_to_family_members_with_points(self, **kwargs): + def add_background_rectangle_to_family_members_with_points(self, **kwargs) -> Self: for mob in self.family_members_with_points(): mob.add_background_rectangle(**kwargs) return self @@ -1756,7 +1773,7 @@ def add_background_rectangle_to_family_members_with_points(self, **kwargs): def set_color( self, color: ParsableManimColor = YELLOW_C, family: bool = True - ) -> Mobject: + ) -> Self: """Condition is function which takes in one arguments, (x, y, z). Here it just recurses to submobjects, but in subclasses this should be further implemented based on the the inner workings @@ -1769,27 +1786,26 @@ def set_color( self.color = ManimColor.parse(color) return self - def set_color_by_gradient(self, *colors: Iterable[ParsableManimColor]): - """Set the color of this mobject's submobjects along the specified - gradient. - + def set_color_by_gradient(self, *colors: ParsableManimColor) -> Self: + """ Parameters ---------- colors - The colors to use for the gradient. Use like - ``set_color_by_gradient(RED, BLUE, GREEN)``. + The colors to use for the gradient. Use like `set_color_by_gradient(RED, BLUE, GREEN)`. + self.color = ManimColor.parse(color) + return self """ self.set_submobject_colors_by_gradient(*colors) return self def set_colors_by_radial_gradient( self, - center=None, + center: Point3D | None = None, radius: float = 1, inner_color: ParsableManimColor = WHITE, outer_color: ParsableManimColor = BLACK, - ): + ) -> Self: self.set_submobject_colors_by_radial_gradient( center, radius, @@ -1813,11 +1829,11 @@ def set_submobject_colors_by_gradient(self, *colors: Iterable[ParsableManimColor def set_submobject_colors_by_radial_gradient( self, - center=None, + center: Point3D | None = None, radius: float = 1, inner_color: ParsableManimColor = WHITE, outer_color: ParsableManimColor = BLACK, - ): + ) -> Self: if center is None: center = self.get_center() @@ -1829,11 +1845,13 @@ def set_submobject_colors_by_radial_gradient( return self - def to_original_color(self): + def to_original_color(self) -> Self: self.set_color(self.color) return self - def fade_to(self, color: ParsableManimColor, alpha: float, family: bool = True): + def fade_to( + self, color: ParsableManimColor, alpha: float, family: bool = True + ) -> Self: if self.get_num_points() > 0: new_color = interpolate_color(self.get_color(), color, alpha) self.set_color(new_color, family=False) @@ -1842,7 +1860,7 @@ def fade_to(self, color: ParsableManimColor, alpha: float, family: bool = True): submob.fade_to(color, alpha) return self - def fade(self, darkness: float = 0.5, family: bool = True): + def fade(self, darkness: float = 0.5, family: bool = True) -> Self: if family: for submob in self.submobjects: submob.fade(darkness, family) @@ -1854,7 +1872,7 @@ def get_color(self) -> ManimColor: ## - def save_state(self): + def save_state(self) -> Self: """Save the current state (position, color & size). Can be restored with :meth:`~.Mobject.restore`.""" if hasattr(self, "saved_state"): # Prevent exponential growth of data @@ -1863,14 +1881,14 @@ def save_state(self): return self - def restore(self): + def restore(self) -> Self: """Restores the state that was previously saved with :meth:`~.Mobject.save_state`.""" if not hasattr(self, "saved_state") or self.save_state is None: raise Exception("Trying to restore without having saved") self.become(self.saved_state) return self - def reduce_across_dimension(self, reduce_func, dim: int) -> float: + def reduce_across_dimension(self, reduce_func: Callable, dim: int): """Find the min or max value from a dimension across all points in this and submobjects.""" assert dim >= 0 and dim <= 2 if len(self.submobjects) == 0 and len(self.points) == 0: @@ -1894,14 +1912,14 @@ def reduce_across_dimension(self, reduce_func, dim: int) -> float: rv = reduce_func([value, rv]) return rv - def nonempty_submobjects(self): + def nonempty_submobjects(self) -> list[Self]: return [ submob for submob in self.submobjects if len(submob.submobjects) != 0 or len(submob.points) != 0 ] - def get_merged_array(self, array_attr) -> np.ndarray: + def get_merged_array(self, array_attr: str) -> np.ndarray: """Return all of a given attribute from this mobject and all submobjects. May contain duplicates; the order is in a depth-first (pre-order) @@ -1912,7 +1930,7 @@ def get_merged_array(self, array_attr) -> np.ndarray: result = np.append(result, submob.get_merged_array(array_attr), axis=0) return result - def get_all_points(self) -> np.ndarray: + def get_all_points(self) -> Point3D_Array: """Return all points from this mobject and all submobjects. May contain duplicates; the order is in a depth-first (pre-order) @@ -1922,13 +1940,15 @@ def get_all_points(self) -> np.ndarray: # Getters - def get_points_defining_boundary(self): + def get_points_defining_boundary(self) -> Point3D_Array: return self.get_all_points() - def get_num_points(self): + def get_num_points(self) -> int: return len(self.points) - def get_extremum_along_dim(self, points=None, dim=0, key=0): + def get_extremum_along_dim( + self, points: Point3D_Array | None = None, dim: int = 0, key: int = 0 + ) -> np.ndarray | float: if points is None: points = self.get_points_defining_boundary() values = points[:, dim] @@ -1939,7 +1959,7 @@ def get_extremum_along_dim(self, points=None, dim=0, key=0): else: return np.max(values) - def get_critical_point(self, direction): + def get_critical_point(self, direction: Vector3) -> Point3D: """Picture a box bounding the :class:`~.Mobject`. Such a box has 9 'critical points': 4 corners, 4 edge center, the center. This returns one of them, along the given direction. @@ -1968,28 +1988,28 @@ def get_critical_point(self, direction): # Pseudonyms for more general get_critical_point method - def get_edge_center(self, direction) -> np.ndarray: - """Get edge coordinates for certain direction.""" + def get_edge_center(self, direction: Vector3) -> Point3D: + """Get edge Point3Ds for certain direction.""" return self.get_critical_point(direction) - def get_corner(self, direction) -> np.ndarray: - """Get corner coordinates for certain direction.""" + def get_corner(self, direction: Vector3) -> Point3D: + """Get corner Point3Ds for certain direction.""" return self.get_critical_point(direction) - def get_center(self) -> np.ndarray: - """Get center coordinates""" + def get_center(self) -> Point3D: + """Get center Point3Ds""" return self.get_critical_point(np.zeros(self.dim)) - def get_center_of_mass(self): + def get_center_of_mass(self) -> Point3D: return np.apply_along_axis(np.mean, 0, self.get_all_points()) - def get_boundary_point(self, direction): + def get_boundary_point(self, direction: Vector3) -> Point3D: all_points = self.get_points_defining_boundary() index = np.argmax(np.dot(all_points, np.array(direction).T)) return all_points[index] - def get_midpoint(self) -> np.ndarray: - """Get coordinates of the middle of the path that forms the :class:`~.Mobject`. + def get_midpoint(self) -> Point3D: + """Get Point3Ds of the middle of the path that forms the :class:`~.Mobject`. Examples -------- @@ -2011,74 +2031,74 @@ def construct(self): """ return self.point_from_proportion(0.5) - def get_top(self) -> np.ndarray: - """Get top coordinates of a box bounding the :class:`~.Mobject`""" + def get_top(self) -> Point3D: + """Get top Point3Ds of a box bounding the :class:`~.Mobject`""" return self.get_edge_center(UP) - def get_bottom(self) -> np.ndarray: - """Get bottom coordinates of a box bounding the :class:`~.Mobject`""" + def get_bottom(self) -> Point3D: + """Get bottom Point3Ds of a box bounding the :class:`~.Mobject`""" return self.get_edge_center(DOWN) - def get_right(self) -> np.ndarray: - """Get right coordinates of a box bounding the :class:`~.Mobject`""" + def get_right(self) -> Point3D: + """Get right Point3Ds of a box bounding the :class:`~.Mobject`""" return self.get_edge_center(RIGHT) - def get_left(self) -> np.ndarray: - """Get left coordinates of a box bounding the :class:`~.Mobject`""" + def get_left(self) -> Point3D: + """Get left Point3Ds of a box bounding the :class:`~.Mobject`""" return self.get_edge_center(LEFT) - def get_zenith(self) -> np.ndarray: - """Get zenith coordinates of a box bounding a 3D :class:`~.Mobject`.""" + def get_zenith(self) -> Point3D: + """Get zenith Point3Ds of a box bounding a 3D :class:`~.Mobject`.""" return self.get_edge_center(OUT) - def get_nadir(self) -> np.ndarray: - """Get nadir (opposite the zenith) coordinates of a box bounding a 3D :class:`~.Mobject`.""" + def get_nadir(self) -> Point3D: + """Get nadir (opposite the zenith) Point3Ds of a box bounding a 3D :class:`~.Mobject`.""" return self.get_edge_center(IN) - def length_over_dim(self, dim): + def length_over_dim(self, dim: int) -> float: """Measure the length of an :class:`~.Mobject` in a certain direction.""" return self.reduce_across_dimension( max, dim, ) - self.reduce_across_dimension(min, dim) - def get_coord(self, dim, direction=ORIGIN): + def get_coord(self, dim: int, direction: Vector3 = ORIGIN): """Meant to generalize ``get_x``, ``get_y`` and ``get_z``""" return self.get_extremum_along_dim(dim=dim, key=direction[dim]) - def get_x(self, direction=ORIGIN) -> np.float64: - """Returns x coordinate of the center of the :class:`~.Mobject` as ``float``""" + def get_x(self, direction: Vector3 = ORIGIN) -> ManimFloat: + """Returns x Point3D of the center of the :class:`~.Mobject` as ``float``""" return self.get_coord(0, direction) - def get_y(self, direction=ORIGIN) -> np.float64: - """Returns y coordinate of the center of the :class:`~.Mobject` as ``float``""" + def get_y(self, direction: Vector3 = ORIGIN) -> ManimFloat: + """Returns y Point3D of the center of the :class:`~.Mobject` as ``float``""" return self.get_coord(1, direction) - def get_z(self, direction=ORIGIN) -> np.float64: - """Returns z coordinate of the center of the :class:`~.Mobject` as ``float``""" + def get_z(self, direction: Vector3 = ORIGIN) -> ManimFloat: + """Returns z Point3D of the center of the :class:`~.Mobject` as ``float``""" return self.get_coord(2, direction) - def get_start(self): + def get_start(self) -> Point3D: """Returns the point, where the stroke that surrounds the :class:`~.Mobject` starts.""" self.throw_error_if_no_points() return np.array(self.points[0]) - def get_end(self): + def get_end(self) -> Point3D: """Returns the point, where the stroke that surrounds the :class:`~.Mobject` ends.""" self.throw_error_if_no_points() return np.array(self.points[-1]) - def get_start_and_end(self): + def get_start_and_end(self) -> tuple[Point3D, Point3D]: """Returns starting and ending point of a stroke as a ``tuple``.""" return self.get_start(), self.get_end() - def point_from_proportion(self, alpha): + def point_from_proportion(self, alpha: float) -> Point3D: raise NotImplementedError("Please override in a child class.") - def proportion_from_point(self, point): + def proportion_from_point(self, point: Point3D) -> float: raise NotImplementedError("Please override in a child class.") - def get_pieces(self, n_pieces): + def get_pieces(self, n_pieces: float) -> Group: template = self.copy() template.submobjects = [] alphas = np.linspace(0, 1, n_pieces + 1) @@ -2089,7 +2109,7 @@ def get_pieces(self, n_pieces): ) ) - def get_z_index_reference_point(self): + def get_z_index_reference_point(self) -> Point3D: # TODO, better place to define default z_index_group? z_index_group = getattr(self, "z_index_group", self) return z_index_group.get_center() @@ -2104,51 +2124,53 @@ def has_no_points(self) -> bool: # Match other mobject properties - def match_color(self, mobject: Mobject): + def match_color(self, mobject: Mobject) -> Self: """Match the color with the color of another :class:`~.Mobject`.""" return self.set_color(mobject.get_color()) - def match_dim_size(self, mobject: Mobject, dim, **kwargs): + def match_dim_size(self, mobject: Mobject, dim: int, **kwargs) -> Self: """Match the specified dimension with the dimension of another :class:`~.Mobject`.""" return self.rescale_to_fit(mobject.length_over_dim(dim), dim, **kwargs) - def match_width(self, mobject: Mobject, **kwargs): + def match_width(self, mobject: Mobject, **kwargs) -> Self: """Match the width with the width of another :class:`~.Mobject`.""" return self.match_dim_size(mobject, 0, **kwargs) - def match_height(self, mobject: Mobject, **kwargs): + def match_height(self, mobject: Mobject, **kwargs) -> Self: """Match the height with the height of another :class:`~.Mobject`.""" return self.match_dim_size(mobject, 1, **kwargs) - def match_depth(self, mobject: Mobject, **kwargs): + def match_depth(self, mobject: Mobject, **kwargs) -> Self: """Match the depth with the depth of another :class:`~.Mobject`.""" return self.match_dim_size(mobject, 2, **kwargs) - def match_coord(self, mobject: Mobject, dim, direction=ORIGIN): - """Match the coordinates with the coordinates of another :class:`~.Mobject`.""" + def match_coord( + self, mobject: Mobject, dim: int, direction: Vector3 = ORIGIN + ) -> Self: + """Match the Point3Ds with the Point3Ds of another :class:`~.Mobject`.""" return self.set_coord( mobject.get_coord(dim, direction), dim=dim, direction=direction, ) - def match_x(self, mobject: Mobject, direction=ORIGIN): + def match_x(self, mobject: Mobject, direction=ORIGIN) -> Self: """Match x coord. to the x coord. of another :class:`~.Mobject`.""" return self.match_coord(mobject, 0, direction) - def match_y(self, mobject: Mobject, direction=ORIGIN): + def match_y(self, mobject: Mobject, direction=ORIGIN) -> Self: """Match y coord. to the x coord. of another :class:`~.Mobject`.""" return self.match_coord(mobject, 1, direction) - def match_z(self, mobject: Mobject, direction=ORIGIN): + def match_z(self, mobject: Mobject, direction=ORIGIN) -> Self: """Match z coord. to the x coord. of another :class:`~.Mobject`.""" return self.match_coord(mobject, 2, direction) def align_to( self, - mobject_or_point: Mobject | np.ndarray | list, - direction=ORIGIN, - ): + mobject_or_point: Mobject | Point3D, + direction: Vector3 = ORIGIN, + ) -> Self: """Aligns mobject to another :class:`~.Mobject` in a certain direction. Examples: @@ -2180,33 +2202,33 @@ def __iter__(self): def __len__(self): return len(self.split()) - def get_group_class(self): + def get_group_class(self) -> type[Group]: return Group @staticmethod - def get_mobject_type_class(): + def get_mobject_type_class() -> type[Mobject]: """Return the base class of this mobject type.""" return Mobject - def split(self): + def split(self) -> list[Self]: result = [self] if len(self.points) > 0 else [] return result + self.submobjects - def get_family(self, recurse=True): - sub_families = list(map(Mobject.get_family, self.submobjects)) + def get_family(self, recurse: bool = True) -> list[Self]: + sub_families = [x.get_family() for x in self.submobjects] all_mobjects = [self] + list(it.chain(*sub_families)) return remove_list_redundancies(all_mobjects) - def family_members_with_points(self) -> list[Mobject]: + def family_members_with_points(self) -> list[Self]: return [m for m in self.get_family() if m.get_num_points() > 0] def arrange( self, - direction: Sequence[float] = RIGHT, - buff=DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, - center=True, + direction: Vector3 = RIGHT, + buff: float = DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, + center: bool = True, **kwargs, - ): + ) -> Self: """Sorts :class:`~.Mobject` next to each other on screen. Examples @@ -2235,14 +2257,14 @@ def arrange_in_grid( rows: int | None = None, cols: int | None = None, buff: float | tuple[float, float] = MED_SMALL_BUFF, - cell_alignment: np.ndarray = ORIGIN, + cell_alignment: Vector3 = ORIGIN, row_alignments: str | None = None, # "ucd" col_alignments: str | None = None, # "lcr" row_heights: Iterable[float | None] | None = None, col_widths: Iterable[float | None] | None = None, flow_order: str = "rd", **kwargs, - ): + ) -> Self: """Arrange submobjects in a grid. Parameters @@ -2348,15 +2370,15 @@ def init_size(num, alignments, sizes): # calculate rows cols if rows is None and cols is None: - cols = ceil(np.sqrt(len(mobs))) + cols = math.ceil(math.sqrt(len(mobs))) # make the grid as close to quadratic as possible. # choosing cols first can results in cols>rows. # This is favored over rows>cols since in general # the sceene is wider than high. if rows is None: - rows = ceil(len(mobs) / cols) + rows = math.ceil(len(mobs) / cols) if cols is None: - cols = ceil(len(mobs) / rows) + cols = math.ceil(len(mobs) / rows) if rows * cols < len(mobs): raise ValueError("Too few rows and columns to fit all submobjetcs.") # rows and cols are now finally valid. @@ -2471,24 +2493,28 @@ def init_sizes(sizes, num, measures, name): self.move_to(start_pos) return self - def sort(self, point_to_num_func=lambda p: p[0], submob_func=None): + def sort( + self, + point_to_num_func: Callable[[Point3D], ManimInt] = lambda p: p[0], + submob_func: Callable[[Mobject], ManimInt] | None = None, + ) -> Self: """Sorts the list of :attr:`submobjects` by a function defined by ``submob_func``.""" if submob_func is None: - def submob_func(m): + def submob_func(m: Mobject): return point_to_num_func(m.get_center()) self.submobjects.sort(key=submob_func) return self - def shuffle(self, recursive=False): + def shuffle(self, recursive: bool = False) -> None: """Shuffles the list of :attr:`submobjects`.""" if recursive: for submob in self.submobjects: submob.shuffle(recursive=True) random.shuffle(self.submobjects) - def invert(self, recursive=False): + def invert(self, recursive: bool = False) -> None: """Inverts the list of :attr:`submobjects`. Parameters @@ -2512,10 +2538,10 @@ def construct(self): if recursive: for submob in self.submobjects: submob.invert(recursive=True) - list.reverse(self.submobjects) + self.submobjects.reverse() # Just here to keep from breaking old scenes. - def arrange_submobjects(self, *args, **kwargs): + def arrange_submobjects(self, *args, **kwargs) -> Self: """Arrange the position of :attr:`submobjects` with a small buffer. Examples @@ -2536,11 +2562,11 @@ def construct(self): """ return self.arrange(*args, **kwargs) - def sort_submobjects(self, *args, **kwargs): + def sort_submobjects(self, *args, **kwargs) -> Self: """Sort the :attr:`submobjects`""" return self.sort(*args, **kwargs) - def shuffle_submobjects(self, *args, **kwargs): + def shuffle_submobjects(self, *args, **kwargs) -> None: """Shuffles the order of :attr:`submobjects` Examples @@ -2559,7 +2585,7 @@ def construct(self): return self.shuffle(*args, **kwargs) # Alignment - def align_data(self, mobject: Mobject, skip_point_alignment: bool = False): + def align_data(self, mobject: Mobject, skip_point_alignment: bool = False) -> None: """Aligns the data of this mobject with another mobject. Afterwards, the two mobjects will have the same number of submobjects @@ -2590,7 +2616,7 @@ def get_point_mobject(self, center=None): msg = f"get_point_mobject not implemented for {self.__class__.__name__}" raise NotImplementedError(msg) - def align_points(self, mobject): + def align_points(self, mobject: Mobject) -> Self: count1 = self.get_num_points() count2 = mobject.get_num_points() if count1 < count2: @@ -2599,10 +2625,10 @@ def align_points(self, mobject): mobject.align_points_with_larger(self) return self - def align_points_with_larger(self, larger_mobject): + def align_points_with_larger(self, larger_mobject: Mobject): raise NotImplementedError("Please override in a child class.") - def align_submobjects(self, mobject): + def align_submobjects(self, mobject: Mobject) -> Self: mob1 = self mob2 = mobject n1 = len(mob1.submobjects) @@ -2627,14 +2653,14 @@ def null_point_align(self, mobject: Mobject): m2.push_self_into_submobjects() return self - def push_self_into_submobjects(self): + def push_self_into_submobjects(self) -> Self: copy = self.copy() copy.submobjects = [] self.reset_points() self.add(copy) return self - def add_n_more_submobjects(self, n): + def add_n_more_submobjects(self, n: int) -> Self | None: if n == 0: return @@ -2657,10 +2683,16 @@ def add_n_more_submobjects(self, n): self.submobjects = new_submobs return self - def repeat_submobject(self, submob): + def repeat_submobject(self, submob: Mobject) -> Self: return submob.copy() - def interpolate(self, mobject1, mobject2, alpha, path_func=straight_path()): + def interpolate( + self, + mobject1: Mobject, + mobject2: Mobject, + alpha: float, + path_func: PathFuncType = straight_path(), + ) -> Self: """Turns this :class:`~.Mobject` into an interpolation between ``mobject1`` and ``mobject2``. @@ -2685,7 +2717,7 @@ def construct(self): self.interpolate_color(mobject1, mobject2, alpha) return self - def interpolate_color(self, mobject1, mobject2, alpha): + def interpolate_color(self, mobject1: Mobject, mobject2: Mobject, alpha: float): raise NotImplementedError("Please override in a child class.") def become( @@ -2697,7 +2729,7 @@ def become( match_depth: bool = False, match_center: bool = False, stretch: bool = False, - ): + ) -> Self: """Edit points, colors and submobjects to be identical to another :class:`~.Mobject` @@ -2754,7 +2786,7 @@ def construct(self): sm1.interpolate_color(sm1, sm2, 1) return self - def match_points(self, mobject: Mobject, copy_submobjects: bool = True): + def match_points(self, mobject: Mobject, copy_submobjects: bool = True) -> Self: """Edit points, positions, and submobjects to be identical to another :class:`~.Mobject`, while keeping the style unchanged. @@ -2776,7 +2808,7 @@ def construct(self): return self # Errors - def throw_error_if_no_points(self): + def throw_error_if_no_points(self) -> None: if self.has_no_points(): caller_name = sys._getframe(1).f_code.co_name raise Exception( @@ -2827,8 +2859,8 @@ def construct(self): self.z_index = z_index_value return self - def set_z_index_by_z_coordinate(self): - """Sets the :class:`~.Mobject`'s z coordinate to the value of :attr:`z_index`. + def set_z_index_by_z_Point3D(self) -> Self: + """Sets the :class:`~.Mobject`'s z Point3D to the value of :attr:`z_index`. Returns ------- @@ -2850,13 +2882,13 @@ class Group(Mobject, metaclass=ConvertToOpenGL): be added to the group. """ - def __init__(self, *mobjects, **kwargs): + def __init__(self, *mobjects, **kwargs) -> None: super().__init__(**kwargs) self.add(*mobjects) class _AnimationBuilder: - def __init__(self, mobject): + def __init__(self, mobject) -> None: self.mobject = mobject self.mobject.generate_target() @@ -2868,7 +2900,7 @@ def __init__(self, mobject): self.cannot_pass_args = False self.anim_args = {} - def __call__(self, **kwargs): + def __call__(self, **kwargs) -> Self: if self.cannot_pass_args: raise ValueError( "Animation arguments must be passed before accessing methods and can only be passed once", @@ -2879,7 +2911,7 @@ def __call__(self, **kwargs): return self - def __getattr__(self, method_name): + def __getattr__(self, method_name) -> types.MethodType: method = getattr(self.mobject.target, method_name) has_overridden_animation = hasattr(method, "_override_animate") @@ -2907,8 +2939,10 @@ def update_target(*method_args, **method_kwargs): return update_target - def build(self): - from ..animation.transform import _MethodAnimation + def build(self) -> Animation: + from ..animation.transform import ( # is this to prevent circular import? + _MethodAnimation, + ) if self.overridden_animation: anim = self.overridden_animation @@ -2921,7 +2955,7 @@ def build(self): return anim -def override_animate(method): +def override_animate(method) -> types.FunctionType: r"""Decorator for overriding method animations. This allows to specify a method (returning an :class:`~.Animation`) diff --git a/manim/mobject/opengl/opengl_mobject.py b/manim/mobject/opengl/opengl_mobject.py index c02ddd5c72..3425fdd9e8 100644 --- a/manim/mobject/opengl/opengl_mobject.py +++ b/manim/mobject/opengl/opengl_mobject.py @@ -13,8 +13,16 @@ from manim import config, logger from manim.constants import * +from manim.renderer.shader_wrapper import get_colormap_code from manim.utils.bezier import integer_interpolate, interpolate -from manim.utils.color import * +from manim.utils.color import ( + WHITE, + ManimColor, + ParsableManimColor, + color_gradient, + color_to_rgb, + rgb_to_hex, +) from manim.utils.config_ops import _Data, _Uniforms # from ..utils.iterables import batch_by_property diff --git a/manim/mobject/opengl/opengl_vectorized_mobject.py b/manim/mobject/opengl/opengl_vectorized_mobject.py index d486dc5c76..d0c62d893b 100644 --- a/manim/mobject/opengl/opengl_vectorized_mobject.py +++ b/manim/mobject/opengl/opengl_vectorized_mobject.py @@ -3,7 +3,7 @@ import itertools as it import operator as op from functools import reduce, wraps -from typing import Callable, Iterable, Optional, Sequence +from typing import Callable, Iterable, Sequence import moderngl import numpy as np @@ -22,7 +22,7 @@ proportions_along_bezier_curve_for_point, quadratic_bezier_remap, ) -from manim.utils.color import * +from manim.utils.color import BLACK, WHITE, ManimColor, ParsableManimColor from manim.utils.config_ops import _Data from manim.utils.iterables import listify, make_even, resize_with_interpolation from manim.utils.space_ops import ( @@ -136,6 +136,7 @@ def __init__( self.needs_new_triangulation = True self.triangulation = np.zeros(0, dtype="i4") self.orientation = 1 + self.fill_data = None self.stroke_data = None self.fill_shader_wrapper = None @@ -1283,14 +1284,17 @@ def insert_n_curves_to_point_list(self, n: int, points: np.ndarray) -> np.ndarra for _ in range(-diff): ipc[np.argmax(ipc)] -= 1 - new_points = [] + new_length = sum(x + 1 for x in ipc) + new_points = np.empty((new_length, nppc, 3)) + i = 0 for group, n_inserts in zip(bezier_groups, ipc): # What was once a single quadratic curve defined # by "group" will now be broken into n_inserts + 1 # smaller quadratic curves alphas = np.linspace(0, 1, n_inserts + 2) for a1, a2 in zip(alphas, alphas[1:]): - new_points += partial_quadratic_bezier_points(group, a1, a2) + new_points[i] = partial_quadratic_bezier_points(group, a1, a2) + i = i + 1 return np.vstack(new_points) def interpolate(self, mobject1, mobject2, alpha, *args, **kwargs): diff --git a/manim/mobject/text/tex_mobject.py b/manim/mobject/text/tex_mobject.py index dbdf6e3a50..47cbe6cd96 100644 --- a/manim/mobject/text/tex_mobject.py +++ b/manim/mobject/text/tex_mobject.py @@ -28,7 +28,7 @@ import re from functools import reduce from textwrap import dedent -from typing import Dict, Iterable, Optional +from typing import Iterable from manim import config, logger from manim.constants import * diff --git a/manim/mobject/text/text_mobject.py b/manim/mobject/text/text_mobject.py index 497f03e560..3a2b0bd3df 100644 --- a/manim/mobject/text/text_mobject.py +++ b/manim/mobject/text/text_mobject.py @@ -462,7 +462,7 @@ def __init__( t2g = kwargs.pop("text2gradient", t2g) t2s = kwargs.pop("text2slant", t2s) t2w = kwargs.pop("text2weight", t2w) - self.t2c = t2c + self.t2c = {k: ManimColor(v).to_hex() for k, v in t2c.items()} self.t2f = t2f self.t2g = t2g self.t2s = t2s @@ -482,7 +482,7 @@ def __init__( self.line_spacing = self._font_size + self._font_size * self.line_spacing color: ManimColor = ManimColor(color) if color else VMobject().color - file_name = self._text2svg(color) + file_name = self._text2svg(color.to_hex()) PangoUtils.remove_last_M(file_name) super().__init__( file_name, @@ -737,7 +737,7 @@ def _text2settings(self, color: str): # setting_args requires values to be strings default_args = { - arg: getattr(self, arg) if arg != "color" else str(color) for _, arg in t2xs + arg: getattr(self, arg) if arg != "color" else color for _, arg in t2xs } settings = self._get_settings_from_t2xs(t2xs, default_args) @@ -1307,7 +1307,7 @@ def font_size(self, font_val): else: self.scale(font_val / self.font_size) - def _text2hash(self, color: ManimColor): + def _text2hash(self, color: ParsableManimColor): """Generates ``sha256`` hash for file name.""" settings = ( "MARKUPPANGO" @@ -1324,8 +1324,9 @@ def _text2hash(self, color: ManimColor): hasher.update(id_str.encode()) return hasher.hexdigest()[:16] - def _text2svg(self, color: ManimColor): + def _text2svg(self, color: ParsableManimColor | None): """Convert the text to SVG using Pango.""" + color = ManimColor(color) size = self._font_size line_spacing = self.line_spacing size /= TEXT2SVG_ADJUSTMENT_FACTOR diff --git a/manim/mobject/three_d/three_d_utils.py b/manim/mobject/three_d/three_d_utils.py index 397e304af1..ec3af9ac05 100644 --- a/manim/mobject/three_d/three_d_utils.py +++ b/manim/mobject/three_d/three_d_utils.py @@ -14,40 +14,45 @@ ] +from typing import TYPE_CHECKING, Literal + import numpy as np from manim.constants import ORIGIN, UP from manim.utils.space_ops import get_unit_normal +if TYPE_CHECKING: + from manim.typing import Point3D, Vector + -def get_3d_vmob_gradient_start_and_end_points(vmob): +def get_3d_vmob_gradient_start_and_end_points(vmob) -> tuple[Point3D, Point3D]: return ( get_3d_vmob_start_corner(vmob), get_3d_vmob_end_corner(vmob), ) -def get_3d_vmob_start_corner_index(vmob): +def get_3d_vmob_start_corner_index(vmob) -> Literal[0]: return 0 -def get_3d_vmob_end_corner_index(vmob): +def get_3d_vmob_end_corner_index(vmob) -> int: return ((len(vmob.points) - 1) // 6) * 3 -def get_3d_vmob_start_corner(vmob): +def get_3d_vmob_start_corner(vmob) -> Point3D: if vmob.get_num_points() == 0: return np.array(ORIGIN) return vmob.points[get_3d_vmob_start_corner_index(vmob)] -def get_3d_vmob_end_corner(vmob): +def get_3d_vmob_end_corner(vmob) -> Point3D: if vmob.get_num_points() == 0: return np.array(ORIGIN) return vmob.points[get_3d_vmob_end_corner_index(vmob)] -def get_3d_vmob_unit_normal(vmob, point_index): +def get_3d_vmob_unit_normal(vmob, point_index: int) -> Vector: n_points = vmob.get_num_points() if len(vmob.get_anchors()) <= 2: return np.array(UP) @@ -63,9 +68,9 @@ def get_3d_vmob_unit_normal(vmob, point_index): return unit_normal -def get_3d_vmob_start_corner_unit_normal(vmob): +def get_3d_vmob_start_corner_unit_normal(vmob) -> Vector: return get_3d_vmob_unit_normal(vmob, get_3d_vmob_start_corner_index(vmob)) -def get_3d_vmob_end_corner_unit_normal(vmob): +def get_3d_vmob_end_corner_unit_normal(vmob) -> Vector: return get_3d_vmob_unit_normal(vmob, get_3d_vmob_end_corner_index(vmob)) diff --git a/manim/mobject/three_d/three_dimensions.py b/manim/mobject/three_d/three_dimensions.py index 1ff7df118d..1be9edf7dd 100644 --- a/manim/mobject/three_d/three_dimensions.py +++ b/manim/mobject/three_d/three_dimensions.py @@ -2,6 +2,9 @@ from __future__ import annotations +from manim.typing import Point3D, Vector3 +from manim.utils.color import BLUE, BLUE_D, BLUE_E, LIGHT_GREY, WHITE, interpolate_color + __all__ = [ "ThreeDVMobject", "Surface", @@ -16,9 +19,10 @@ "Torus", ] -from typing import Callable, Sequence +from typing import Any, Callable, Iterable, Sequence import numpy as np +from typing_extensions import Self from manim import config, logger from manim.constants import * @@ -113,7 +117,7 @@ def __init__( stroke_width: float = 0.5, should_make_jagged: bool = False, pre_function_handle_to_anchor_scale_factor: float = 0.00001, - **kwargs, + **kwargs: Any, ) -> None: self.u_range = u_range self.v_range = v_range @@ -141,16 +145,9 @@ def __init__( self.make_jagged() def func(self, u: float, v: float) -> np.ndarray: - """The z values defining the :class:`Surface` being plotted. - - Returns - ------- - :class:`numpy.array` - The z values defining the :class:`Surface`. - """ return self._func(u, v) - def _get_u_values_and_v_values(self): + def _get_u_values_and_v_values(self) -> tuple[np.ndarray, np.ndarray]: res = tuplify(self.resolution) if len(res) == 1: u_res = v_res = res[0] @@ -162,7 +159,7 @@ def _get_u_values_and_v_values(self): return u_values, v_values - def _setup_in_uv_space(self): + def _setup_in_uv_space(self) -> None: u_values, v_values = self._get_u_values_and_v_values() faces = VGroup() for i in range(len(u_values) - 1): @@ -197,8 +194,8 @@ def _setup_in_uv_space(self): self.set_fill_by_checkerboard(*self.checkerboard_colors) def set_fill_by_checkerboard( - self, *colors: Sequence[ParsableManimColor], opacity: float = None - ) -> Mobject: + self, *colors: Iterable[ParsableManimColor], opacity: float | None = None + ) -> Self: """Sets the fill_color of each face of :class:`Surface` in an alternating pattern. @@ -227,7 +224,7 @@ def set_fill_by_value( colorscale: list[ParsableManimColor] | ParsableManimColor | None = None, axis: int = 2, **kwargs, - ) -> Mobject: + ) -> Self: """Sets the color of each mobject of a parametric surface to a color relative to its axis-value. @@ -381,9 +378,9 @@ def construct(self): def __init__( self, - center: Sequence[float] = ORIGIN, + center: Point3D = ORIGIN, radius: float = 1, - resolution: Sequence[int] = None, + resolution: Sequence[int] | None = None, u_range: Sequence[float] = (0, TAU), v_range: Sequence[float] = (0, PI), **kwargs, @@ -459,7 +456,7 @@ def __init__( point: list | np.ndarray = ORIGIN, radius: float = DEFAULT_DOT_RADIUS, color: ParsableManimColor = WHITE, - resolution=(8, 8), + resolution: tuple[int, int] = (8, 8), **kwargs, ) -> None: super().__init__(center=point, radius=radius, resolution=resolution, **kwargs) @@ -551,7 +548,9 @@ def construct(self): self.add(prismSmall, prismLarge) """ - def __init__(self, dimensions: Sequence[int] = [3, 2, 1], **kwargs) -> None: + def __init__( + self, dimensions: tuple[float, float, float] | np.ndarray = [3, 2, 1], **kwargs + ) -> None: self.dimensions = dimensions super().__init__(**kwargs) @@ -609,8 +608,8 @@ def __init__( v_range: Sequence[float] = [0, TAU], u_min: float = 0, checkerboard_colors: bool = False, - **kwargs, - ): + **kwargs: Any, + ) -> None: self.direction = direction self.theta = PI - np.arctan(base_radius / height) @@ -662,7 +661,7 @@ def func(self, u: float, v: float) -> np.ndarray: ], ) - def _rotate_to_direction(self): + def _rotate_to_direction(self) -> None: x, y, z = self.direction r = np.sqrt(x**2 + y**2 + z**2) @@ -821,7 +820,7 @@ def add_bases(self) -> None: self.base_bottom.shift(self.u_range[0] * IN) self.add(self.base_top, self.base_bottom) - def _rotate_to_direction(self): + def _rotate_to_direction(self) -> None: x, y, z = self.direction r = np.sqrt(x**2 + y**2 + z**2) @@ -910,7 +909,7 @@ def __init__( start: np.ndarray = LEFT, end: np.ndarray = RIGHT, thickness: float = 0.02, - color: ParsableManimColor = None, + color: ParsableManimColor | None = None, **kwargs, ): self.thickness = thickness @@ -952,7 +951,9 @@ def set_start_and_end_attrs( self.shift((self.start + self.end) / 2) def pointify( - self, mob_or_point: Mobject | float, direction: np.ndarray = None + self, + mob_or_point: Mobject | Point3D, + direction: Vector3 = None, ) -> np.ndarray: """Gets a point representing the center of the :class:`Mobjects <.Mobject>`. @@ -998,7 +999,11 @@ def get_end(self) -> np.ndarray: @classmethod def parallel_to( - cls, line: Line3D, point: Sequence[float] = ORIGIN, length: float = 5, **kwargs + cls, + line: Line3D, + point: Vector3 = ORIGIN, + length: float = 5, + **kwargs, ) -> Line3D: """Returns a line parallel to another line going through a given point. @@ -1042,7 +1047,11 @@ def construct(self): @classmethod def perpendicular_to( - cls, line: Line3D, point: Sequence[float] = ORIGIN, length: float = 5, **kwargs + cls, + line: Line3D, + point: Vector3 = ORIGIN, + length: float = 5, + **kwargs, ) -> Line3D: """Returns a line perpendicular to another line going through a given point. @@ -1191,7 +1200,7 @@ def __init__( minor_radius: float = 1, u_range: Sequence[float] = (0, TAU), v_range: Sequence[float] = (0, TAU), - resolution: Sequence[int] = None, + resolution: tuple[int, int] | None = None, **kwargs, ) -> None: if config.renderer == RendererType.OPENGL: diff --git a/manim/mobject/types/vectorized_mobject.py b/manim/mobject/types/vectorized_mobject.py index da8e560b59..6048fe4c67 100644 --- a/manim/mobject/types/vectorized_mobject.py +++ b/manim/mobject/types/vectorized_mobject.py @@ -14,11 +14,21 @@ import itertools as it import sys -import typing -from typing import Callable, Sequence +from typing import ( + TYPE_CHECKING, + Callable, + Generator, + Hashable, + Iterable, + Literal, + Mapping, + Sequence, +) import numpy as np +import numpy.typing as npt from PIL.Image import Image +from typing_extensions import Self from manim.mobject.opengl.opengl_compatibility import ConvertToOpenGL from manim.mobject.opengl.opengl_vectorized_mobject import OpenGLVMobject @@ -41,6 +51,21 @@ from ...utils.iterables import make_even, resize_array, stretch_array_to_length, tuplify from ...utils.space_ops import rotate_vector, shoelace_direction +if TYPE_CHECKING: + from manim.typing import ( + BezierPoints, + CubicBezierPoints, + ManimFloat, + MappingFunction, + Point2D, + Point3D, + Point3D_Array, + QuadraticBezierPoints, + RGBA_Array_Float, + Vector3, + Zeros, + ) + # TODO # - Change cubic curve groups to have 4 points instead of 3 # - Change sub_path idea accordingly @@ -80,24 +105,24 @@ class VMobject(Mobject): def __init__( self, fill_color: ParsableManimColor | None = None, - fill_opacity=0.0, + fill_opacity: float = 0.0, stroke_color: ParsableManimColor | None = None, - stroke_opacity=1.0, - stroke_width=DEFAULT_STROKE_WIDTH, + stroke_opacity: float = 1.0, + stroke_width: float = DEFAULT_STROKE_WIDTH, background_stroke_color: ParsableManimColor | None = BLACK, - background_stroke_opacity=1.0, - background_stroke_width=0, - sheen_factor=0.0, + background_stroke_opacity: float = 1.0, + background_stroke_width: float = 0, + sheen_factor: float = 0.0, joint_type: LineJointType | None = None, - sheen_direction=UL, - close_new_points=False, - pre_function_handle_to_anchor_scale_factor=0.01, - make_smooth_after_applying_functions=False, - background_image=None, - shade_in_3d=False, + sheen_direction: Vector3 = UL, + close_new_points: bool = False, + pre_function_handle_to_anchor_scale_factor: float = 0.01, + make_smooth_after_applying_functions: bool = False, + background_image: Image | str | None = None, + shade_in_3d: bool = False, # TODO, do we care about accounting for varying zoom levels? - tolerance_for_point_equality=1e-6, - n_points_per_cubic_curve=4, + tolerance_for_point_equality: float = 1e-6, + n_points_per_cubic_curve: int = 4, **kwargs, ): self.fill_opacity = fill_opacity @@ -107,22 +132,24 @@ def __init__( self.background_stroke_color: ManimColor = ManimColor( background_stroke_color ) - self.background_stroke_opacity = background_stroke_opacity - self.background_stroke_width = background_stroke_width - self.sheen_factor = sheen_factor - if joint_type is None: - joint_type = LineJointType.AUTO - self.joint_type = joint_type - self.sheen_direction = sheen_direction - self.close_new_points = close_new_points - self.pre_function_handle_to_anchor_scale_factor = ( + self.background_stroke_opacity: float = background_stroke_opacity + self.background_stroke_width: float = background_stroke_width + self.sheen_factor: float = sheen_factor + self.joint_type: LineJointType = ( + LineJointType.AUTO if joint_type is None else joint_type + ) + self.sheen_direction: Vector3 = sheen_direction + self.close_new_points: bool = close_new_points + self.pre_function_handle_to_anchor_scale_factor: float = ( pre_function_handle_to_anchor_scale_factor ) - self.make_smooth_after_applying_functions = make_smooth_after_applying_functions - self.background_image = background_image - self.shade_in_3d = shade_in_3d - self.tolerance_for_point_equality = tolerance_for_point_equality - self.n_points_per_cubic_curve = n_points_per_cubic_curve + self.make_smooth_after_applying_functions: bool = ( + make_smooth_after_applying_functions + ) + self.background_image: Image | str | None = background_image + self.shade_in_3d: bool = shade_in_3d + self.tolerance_for_point_equality: float = tolerance_for_point_equality + self.n_points_per_cubic_curve: int = n_points_per_cubic_curve super().__init__(**kwargs) self.submobjects: list[VMobject] @@ -137,18 +164,18 @@ def __init__( # OpenGL compatibility @property - def n_points_per_curve(self): + def n_points_per_curve(self) -> int: return self.n_points_per_cubic_curve - def get_group_class(self): + def get_group_class(self) -> type[VGroup]: return VGroup @staticmethod - def get_mobject_type_class(): + def get_mobject_type_class() -> type[VMobject]: return VMobject # Colors - def init_colors(self, propagate_colors=True): + def init_colors(self, propagate_colors: bool = True) -> Self: self.set_fill( color=self.fill_color, opacity=self.fill_opacity, @@ -178,7 +205,9 @@ def init_colors(self, propagate_colors=True): return self - def generate_rgbas_array(self, color: ManimColor | list[ManimColor], opacity): + def generate_rgbas_array( + self, color: ManimColor | list[ManimColor], opacity: float | Iterable[float] + ) -> RGBA_Array_Float: """ First arg can be either a color, or a tuple/list of colors. Likewise, opacity can either be a float, or a tuple of floats. @@ -189,8 +218,10 @@ def generate_rgbas_array(self, color: ManimColor | list[ManimColor], opacity): colors: list[ManimColor] = [ ManimColor(c) if (c is not None) else BLACK for c in tuplify(color) ] - opacities: list[float] = [o if (o is not None) else 0 for o in tuplify(opacity)] - rgbas = np.array( + opacities: list[float] = [ + o if (o is not None) else 0.0 for o in tuplify(opacity) + ] + rgbas: npt.NDArray[RGBA_Array_Float] = np.array( [c.to_rgba_with_alpha(o) for c, o in zip(*make_even(colors, opacities))], ) @@ -203,8 +234,11 @@ def generate_rgbas_array(self, color: ManimColor | list[ManimColor], opacity): return rgbas def update_rgbas_array( - self, array_name, color: ManimColor | None = None, opacity=None - ): + self, + array_name: str, + color: ManimColor | None = None, + opacity: float | None = None, + ) -> Self: rgbas = self.generate_rgbas_array(color, opacity) if not hasattr(self, array_name): setattr(self, array_name, rgbas) @@ -230,7 +264,7 @@ def set_fill( color: ParsableManimColor | None = None, opacity: float | None = None, family: bool = True, - ): + ) -> Self: """Set the fill color and fill opacity of a :class:`VMobject`. Parameters @@ -270,6 +304,7 @@ def construct(self): for submobject in self.submobjects: submobject.set_fill(color, opacity, family) self.update_rgbas_array("fill_rgbas", color, opacity) + self.fill_rgbas: RGBA_Array_Float if opacity is not None: self.fill_opacity = opacity return self @@ -277,11 +312,11 @@ def construct(self): def set_stroke( self, color: ParsableManimColor = None, - width=None, - opacity=None, + width: float | None = None, + opacity: float | None = None, background=False, - family=True, - ): + family: bool = True, + ) -> Self: if family: for submobject in self.submobjects: submobject.set_stroke(color, width, opacity, background, family) @@ -305,7 +340,7 @@ def set_stroke( self.background_stroke_color = ManimColor(color) return self - def set_background_stroke(self, **kwargs): + def set_background_stroke(self, **kwargs) -> Self: kwargs["background"] = True self.set_stroke(**kwargs) return self @@ -315,16 +350,16 @@ def set_style( fill_color: ParsableManimColor | None = None, fill_opacity: float | None = None, stroke_color: ParsableManimColor | None = None, - stroke_width=None, - stroke_opacity=None, - background_stroke_color: ParsableManimColor = None, - background_stroke_width=None, - background_stroke_opacity=None, - sheen_factor=None, - sheen_direction=None, - background_image=None, - family=True, - ): + stroke_width: float | None = None, + stroke_opacity: float | None = None, + background_stroke_color: ParsableManimColor | None = None, + background_stroke_width: float | None = None, + background_stroke_opacity: float | None = None, + sheen_factor: float | None = None, + sheen_direction: Vector3 | None = None, + background_image: Image | str | None = None, + family: bool = True, + ) -> Self: self.set_fill(color=fill_color, opacity=fill_opacity, family=family) self.set_stroke( color=stroke_color, @@ -348,7 +383,7 @@ def set_style( self.color_using_background_image(background_image) return self - def get_style(self, simple=False): + def get_style(self, simple: bool = False) -> dict: ret = { "stroke_opacity": self.get_stroke_opacity(), "stroke_width": self.get_stroke_width(), @@ -372,7 +407,7 @@ def get_style(self, simple=False): return ret - def match_style(self, vmobject, family=True): + def match_style(self, vmobject: VMobject, family: bool = True) -> Self: self.set_style(**vmobject.get_style(), family=False) if family: @@ -387,18 +422,18 @@ def match_style(self, vmobject, family=True): sm1.match_style(sm2) return self - def set_color(self, color: ParsableManimColor, family=True): + def set_color(self, color: ParsableManimColor, family: bool = True) -> Self: self.set_fill(color, family=family) self.set_stroke(color, family=family) return self - def set_opacity(self, opacity, family=True): + def set_opacity(self, opacity: float, family: bool = True) -> Self: self.set_fill(opacity=opacity, family=family) self.set_stroke(opacity=opacity, family=family) self.set_stroke(opacity=opacity, family=family, background=True) return self - def fade(self, darkness=0.5, family=True): + def fade(self, darkness: float = 0.5, family: bool = True) -> Self: factor = 1.0 - darkness self.set_fill(opacity=factor * self.get_fill_opacity(), family=False) self.set_stroke(opacity=factor * self.get_stroke_opacity(), family=False) @@ -409,13 +444,13 @@ def fade(self, darkness=0.5, family=True): super().fade(darkness, family) return self - def get_fill_rgbas(self): + def get_fill_rgbas(self) -> RGBA_Array_Float | Zeros: try: return self.fill_rgbas except AttributeError: return np.zeros((1, 4)) - def get_fill_color(self): + def get_fill_color(self) -> ManimColor: """ If there are multiple colors (for gradient) this returns the first one @@ -424,7 +459,7 @@ def get_fill_color(self): fill_color = property(get_fill_color, set_fill) - def get_fill_opacity(self): + def get_fill_opacity(self) -> ManimFloat: """ If there are multiple opacities, this returns the first @@ -432,59 +467,63 @@ def get_fill_opacity(self): return self.get_fill_opacities()[0] # TODO: Does this just do a copy? - def get_fill_colors(self): + # TODO: I have the feeling that this function should not return None, does that have any usage ? + def get_fill_colors(self) -> list[ManimColor | None]: return [ ManimColor(rgba[:3]) if rgba.any() else None for rgba in self.get_fill_rgbas() ] - def get_fill_opacities(self): + def get_fill_opacities(self) -> npt.NDArray[ManimFloat]: return self.get_fill_rgbas()[:, 3] - def get_stroke_rgbas(self, background=False): + def get_stroke_rgbas(self, background: bool = False) -> RGBA_Array_float | Zeros: try: if background: + self.background_stroke_rgbas: RGBA_Array_Float rgbas = self.background_stroke_rgbas else: + self.stroke_rgbas: RGBA_Array_Float rgbas = self.stroke_rgbas return rgbas except AttributeError: return np.zeros((1, 4)) - def get_stroke_color(self, background=False): + def get_stroke_color(self, background: bool = False) -> ManimColor | None: return self.get_stroke_colors(background)[0] stroke_color = property(get_stroke_color, set_stroke) - def get_stroke_width(self, background=False): + def get_stroke_width(self, background: bool = False) -> float: if background: + self.background_stroke_width: float width = self.background_stroke_width else: width = self.stroke_width if isinstance(width, str): width = int(width) - return max(0, width) + return max(0.0, width) - def get_stroke_opacity(self, background=False): + def get_stroke_opacity(self, background: bool = False) -> ManimFloat: return self.get_stroke_opacities(background)[0] - def get_stroke_colors(self, background=False): + def get_stroke_colors(self, background: bool = False) -> list[ManimColor | None]: return [ ManimColor(rgba[:3]) if rgba.any() else None for rgba in self.get_stroke_rgbas(background) ] - def get_stroke_opacities(self, background=False): + def get_stroke_opacities(self, background: bool = False) -> npt.NDArray[ManimFloat]: return self.get_stroke_rgbas(background)[:, 3] - def get_color(self): + def get_color(self) -> ManimColor: if np.all(self.get_fill_opacities() == 0): return self.get_stroke_color() return self.get_fill_color() color = property(get_color, set_color) - def set_sheen_direction(self, direction: np.ndarray, family=True): + def set_sheen_direction(self, direction: Vector3, family: bool = True) -> Self: """Sets the direction of the applied sheen. Parameters @@ -509,10 +548,12 @@ def set_sheen_direction(self, direction: np.ndarray, family=True): for submob in self.get_family(): submob.sheen_direction = direction else: - self.sheen_direction = direction + self.sheen_direction: Vector3 = direction return self - def rotate_sheen_direction(self, angle: float, axis: np.ndarray = OUT, family=True): + def rotate_sheen_direction( + self, angle: float, axis: Vector3 = OUT, family: bool = True + ) -> Self: """Rotates the direction of the applied sheen. Parameters @@ -543,7 +584,9 @@ def rotate_sheen_direction(self, angle: float, axis: np.ndarray = OUT, family=Tr self.sheen_direction = rotate_vector(self.sheen_direction, angle, axis) return self - def set_sheen(self, factor: float, direction: np.ndarray = None, family=True): + def set_sheen( + self, factor: float, direction: Vector3 | None = None, family: bool = True + ) -> Self: """Applies a color gradient from a direction. Parameters @@ -569,7 +612,7 @@ def construct(self): if family: for submob in self.submobjects: submob.set_sheen(factor, direction, family) - self.sheen_factor = factor + self.sheen_factor: float = factor if direction is not None: # family set to false because recursion will # already be handled above @@ -580,13 +623,13 @@ def construct(self): self.set_fill(self.get_fill_color(), family=family) return self - def get_sheen_direction(self): + def get_sheen_direction(self) -> Vector3: return np.array(self.sheen_direction) - def get_sheen_factor(self): + def get_sheen_factor(self) -> float: return self.sheen_factor - def get_gradient_start_and_end_points(self): + def get_gradient_start_and_end_points(self) -> tuple[Point3D, Point3D]: if self.shade_in_3d: return get_3d_vmob_gradient_start_and_end_points(self) else: @@ -598,8 +641,8 @@ def get_gradient_start_and_end_points(self): offset = np.dot(bases, direction) return (c - offset, c + offset) - def color_using_background_image(self, background_image: Image | str): - self.background_image = background_image + def color_using_background_image(self, background_image: Image | str) -> Self: + self.background_image: Image | str = background_image self.set_color(WHITE) for submob in self.submobjects: submob.color_using_background_image(background_image) @@ -608,26 +651,28 @@ def color_using_background_image(self, background_image: Image | str): def get_background_image(self) -> Image | str: return self.background_image - def match_background_image(self, vmobject): + def match_background_image(self, vmobject: VMobject) -> Self: self.color_using_background_image(vmobject.get_background_image()) return self - def set_shade_in_3d(self, value=True, z_index_as_group=False): + def set_shade_in_3d( + self, value: bool = True, z_index_as_group: bool = False + ) -> Self: for submob in self.get_family(): submob.shade_in_3d = value if z_index_as_group: submob.z_index_group = self return self - def set_points(self, points): - self.points = np.array(points) + def set_points(self, points: Point3D_Array) -> Self: + self.points: Point3D_Array = np.array(points) return self def resize_points( self, new_length: int, - resize_func: Callable[[np.ndarray, int], np.ndarray] = resize_array, - ): + resize_func: Callable[[Point3D, int], Point3D] = resize_array, + ) -> Self: """Resize the array of anchor points and handles to have the specified size. @@ -646,11 +691,11 @@ def resize_points( def set_anchors_and_handles( self, - anchors1: Sequence[float], - handles1: Sequence[float], - handles2: Sequence[float], - anchors2: Sequence[float], - ): + anchors1: CubicBezierPoints, + handles1: CubicBezierPoints, + handles2: CubicBezierPoints, + anchors2: CubicBezierPoints, + ) -> Self: """Given two sets of anchors and handles, process them to set them as anchors and handles of the VMobject. @@ -678,17 +723,17 @@ def set_anchors_and_handles( self.points[index::nppcc] = array return self - def clear_points(self): + def clear_points(self) -> None: self.points = np.zeros((0, self.dim)) - def append_points(self, new_points): + def append_points(self, new_points: Point3D_Array) -> Self: # TODO, check that number new points is a multiple of 4? # or else that if len(self.points) % 4 == 1, then # len(new_points) % 4 == 3? self.points = np.append(self.points, new_points, axis=0) return self - def start_new_path(self, point): + def start_new_path(self, point: Point3D) -> Self: if len(self.points) % 4 != 0: # close the open path by appending the last # start anchor sufficiently often @@ -700,23 +745,24 @@ def start_new_path(self, point): def add_cubic_bezier_curve( self, - anchor1: np.ndarray, - handle1: np.ndarray, - handle2: np.ndarray, - anchor2, + anchor1: CubicBezierPoints, + handle1: CubicBezierPoints, + handle2: CubicBezierPoints, + anchor2: CubicBezierPoints, ) -> None: # TODO, check the len(self.points) % 4 == 0? self.append_points([anchor1, handle1, handle2, anchor2]) - def add_cubic_bezier_curves(self, curves): + # what type is curves? + def add_cubic_bezier_curves(self, curves) -> None: self.append_points(curves.flatten()) def add_cubic_bezier_curve_to( self, - handle1: np.ndarray, - handle2: np.ndarray, - anchor: np.ndarray, - ): + handle1: CubicBezierPoints, + handle2: CubicBezierPoints, + anchor: CubicBezierPoints, + ) -> Self: """Add cubic bezier curve to the path. NOTE : the first anchor is not a parameter as by default the end of the last sub-path! @@ -745,9 +791,9 @@ def add_cubic_bezier_curve_to( def add_quadratic_bezier_curve_to( self, - handle: np.ndarray, - anchor: np.ndarray, - ): + handle: QuadraticBezierPoints, + anchor: QuadraticBezierPoints, + ) -> Self: """Add Quadratic bezier curve to the path. Returns @@ -769,7 +815,7 @@ def add_quadratic_bezier_curve_to( ) return self - def add_line_to(self, point: np.ndarray): + def add_line_to(self, point: Point3D) -> Self: """Add a straight line from the last point of VMobject to the given point. Parameters @@ -792,7 +838,7 @@ def add_line_to(self, point: np.ndarray): ) return self - def add_smooth_curve_to(self, *points: np.array): + def add_smooth_curve_to(self, *points: Point3D) -> Self: """Creates a smooth curve from given points and add it to the VMobject. If two points are passed in, the first is interpreted as a handle, the second as an anchor. @@ -835,28 +881,28 @@ def add_smooth_curve_to(self, *points: np.array): self.append_points([last_a2, handle1, handle2, new_anchor]) return self - def has_new_path_started(self): + def has_new_path_started(self) -> bool: nppcc = self.n_points_per_cubic_curve # 4 # A new path starting is defined by a control point which is not part of a bezier subcurve. return len(self.points) % nppcc == 1 - def get_last_point(self): + def get_last_point(self) -> Point3D: return self.points[-1] - def is_closed(self): + def is_closed(self) -> bool: # TODO use consider_points_equals_2d ? return self.consider_points_equals(self.points[0], self.points[-1]) - def close_path(self): + def close_path(self) -> None: if not self.is_closed(): self.add_line_to(self.get_subpaths()[-1][0]) - def add_points_as_corners(self, points: np.ndarray) -> VMobject: + def add_points_as_corners(self, points: Iterable[Point3D]) -> Iterable[Point3D]: for point in points: self.add_line_to(point) return points - def set_points_as_corners(self, points: Sequence[float]): + def set_points_as_corners(self, points: Point3D_Array) -> Self: """Given an array of points, set them as corner of the vmobject. To achieve that, this algorithm sets handles aligned with the anchors such that the resultant bezier curve will be the segment @@ -881,12 +927,12 @@ def set_points_as_corners(self, points: Sequence[float]): ) return self - def set_points_smoothly(self, points): + def set_points_smoothly(self, points: Point3D_Array) -> Self: self.set_points_as_corners(points) self.make_smooth() return self - def change_anchor_mode(self, mode: str): + def change_anchor_mode(self, mode: Literal["jagged", "smooth"]) -> Self: """Changes the anchor mode of the bezier curves. This will modify the handles. There can be only two modes, "jagged", and "smooth". @@ -896,7 +942,7 @@ def change_anchor_mode(self, mode: str): :class:`VMobject` ``self`` """ - assert mode in ["jagged", "smooth"] + assert mode in ["jagged", "smooth"], 'mode must be either "jagged" or "smooth"' nppcc = self.n_points_per_cubic_curve for submob in self.family_members_with_points(): subpaths = submob.get_subpaths() @@ -908,7 +954,7 @@ def change_anchor_mode(self, mode: str): anchors = np.append(subpath[::nppcc], subpath[-1:], 0) if mode == "smooth": h1, h2 = get_smooth_handle_points(anchors) - elif mode == "jagged": + else: # mode == "jagged" # The following will make the handles aligned with the anchors, thus making the bezier curve a segment a1 = anchors[:-1] a2 = anchors[1:] @@ -920,18 +966,18 @@ def change_anchor_mode(self, mode: str): submob.append_points(new_subpath) return self - def make_smooth(self): + def make_smooth(self) -> Self: return self.change_anchor_mode("smooth") - def make_jagged(self): + def make_jagged(self) -> Self: return self.change_anchor_mode("jagged") - def add_subpath(self, points: np.ndarray): + def add_subpath(self, points: Point3D_Array) -> Self: assert len(points) % 4 == 0 - self.points = np.append(self.points, points, axis=0) + self.points: Point3D_Array = np.append(self.points, points, axis=0) return self - def append_vectorized_mobject(self, vectorized_mobject): + def append_vectorized_mobject(self, vectorized_mobject: VMobject) -> None: new_points = list(vectorized_mobject.points) if self.has_new_path_started(): @@ -940,7 +986,7 @@ def append_vectorized_mobject(self, vectorized_mobject): self.points = self.points[:-1] self.append_points(new_points) - def apply_function(self, function): + def apply_function(self, function: MappingFunction) -> Self: factor = self.pre_function_handle_to_anchor_scale_factor self.scale_handle_to_anchor_distances(factor) super().apply_function(function) @@ -952,15 +998,15 @@ def apply_function(self, function): def rotate( self, angle: float, - axis: np.ndarray = OUT, - about_point: Sequence[float] | None = None, + axis: Vector3 = OUT, + about_point: Point3D | None = None, **kwargs, - ): + ) -> Self: self.rotate_sheen_direction(angle, axis) super().rotate(angle, axis, about_point, **kwargs) return self - def scale_handle_to_anchor_distances(self, factor: float): + def scale_handle_to_anchor_distances(self, factor: float) -> Self: """If the distance between a given handle point H and its associated anchor point A is d, then it changes H to be a distances factor*d away from A, but so that the line from A to H doesn't change. @@ -992,10 +1038,10 @@ def scale_handle_to_anchor_distances(self, factor: float): return self # - def consider_points_equals(self, p0, p1): + def consider_points_equals(self, p0: Point3D, p1: Point3D) -> bool: return np.allclose(p0, p1, atol=self.tolerance_for_point_equality) - def consider_points_equals_2d(self, p0: np.ndarray, p1: np.ndarray) -> bool: + def consider_points_equals_2d(self, p0: Point2D, p1: Point2D) -> bool: """Determine if two points are close enough to be considered equal. This uses the algorithm from np.isclose(), but expanded here for the @@ -1021,10 +1067,14 @@ def consider_points_equals_2d(self, p0: np.ndarray, p1: np.ndarray) -> bool: return True # Information about line - def get_cubic_bezier_tuples_from_points(self, points): - return np.array(list(self.gen_cubic_bezier_tuples_from_points(points))) - - def gen_cubic_bezier_tuples_from_points(self, points: np.ndarray) -> tuple: + def get_cubic_bezier_tuples_from_points( + self, points: Point3D_Array + ) -> npt.NDArray[Point3D_Array]: + return np.array(self.gen_cubic_bezier_tuples_from_points(points)) + + def gen_cubic_bezier_tuples_from_points( + self, points: Point3D_Array + ) -> tuple[Point3D_Array]: """Returns the bezier tuples from an array of points. self.points is a list of the anchors and handles of the bezier curves of the mobject (ie [anchor1, handle1, handle2, anchor2, anchor3 ..]) @@ -1039,23 +1089,23 @@ def gen_cubic_bezier_tuples_from_points(self, points: np.ndarray) -> tuple: Returns ------- - typing.Tuple + tuple Bezier control points. """ nppcc = self.n_points_per_cubic_curve remainder = len(points) % nppcc points = points[: len(points) - remainder] # Basically take every nppcc element. - return (points[i : i + nppcc] for i in range(0, len(points), nppcc)) + return tuple(points[i : i + nppcc] for i in range(0, len(points), nppcc)) - def get_cubic_bezier_tuples(self): + def get_cubic_bezier_tuples(self) -> npt.NDArray[Point3D_Array]: return self.get_cubic_bezier_tuples_from_points(self.points) def _gen_subpaths_from_points( self, - points: np.ndarray, - filter_func: typing.Callable[[int], bool], - ) -> tuple: + points: Point3D_Array, + filter_func: Callable[[int], bool], + ) -> Generator[Point3D_Array]: """Given an array of points defining the bezier curves of the vmobject, return subpaths formed by these points. Here, Two bezier curves form a path if at least two of their anchors are evaluated True by the relation defined by filter_func. @@ -1073,7 +1123,7 @@ def _gen_subpaths_from_points( Returns ------- - typing.Tuple + Generator[Point3D_Array] subpaths formed by the points. """ nppcc = self.n_points_per_cubic_curve @@ -1085,7 +1135,7 @@ def _gen_subpaths_from_points( if (i2 - i1) >= nppcc ) - def get_subpaths_from_points(self, points): + def get_subpaths_from_points(self, points: Point3D_Array) -> list[Point3D_Array]: return list( self._gen_subpaths_from_points( points, @@ -1093,25 +1143,27 @@ def get_subpaths_from_points(self, points): ), ) - def gen_subpaths_from_points_2d(self, points): + def gen_subpaths_from_points_2d( + self, points: Point3D_Array + ) -> Generator[Point3D_Array]: return self._gen_subpaths_from_points( points, lambda n: not self.consider_points_equals_2d(points[n - 1], points[n]), ) - def get_subpaths(self) -> tuple: + def get_subpaths(self) -> list[Point3D_Array]: """Returns subpaths formed by the curves of the VMobject. Subpaths are ranges of curves with each pair of consecutive curves having their end/start points coincident. Returns ------- - typing.Tuple + list[Point3D_Array] subpaths. """ return self.get_subpaths_from_points(self.points) - def get_nth_curve_points(self, n: int) -> np.ndarray: + def get_nth_curve_points(self, n: int) -> Point3D_Array: """Returns the points defining the nth curve of the vmobject. Parameters @@ -1121,14 +1173,14 @@ def get_nth_curve_points(self, n: int) -> np.ndarray: Returns ------- - np.ndarray - points defininf the nth bezier curve (anchors, handles) + Point3D_Array + points defining the nth bezier curve (anchors, handles) """ assert n < self.get_num_curves() nppcc = self.n_points_per_cubic_curve return self.points[nppcc * n : nppcc * (n + 1)] - def get_nth_curve_function(self, n: int) -> typing.Callable[[float], np.ndarray]: + def get_nth_curve_function(self, n: int) -> Callable[[float], Point3D]: """Returns the expression of the nth curve. Parameters @@ -1138,7 +1190,7 @@ def get_nth_curve_function(self, n: int) -> typing.Callable[[float], np.ndarray] Returns ------- - typing.Callable[float] + Callable[float, Point3D] expression of the nth bezier curve. """ return bezier(self.get_nth_curve_points(n)) @@ -1147,7 +1199,7 @@ def get_nth_curve_length_pieces( self, n: int, sample_points: int | None = None, - ) -> np.ndarray: + ) -> npt.NDArray[ManimFloat]: """Returns the array of short line lengths used for length approximation. Parameters @@ -1159,7 +1211,6 @@ def get_nth_curve_length_pieces( Returns ------- - np.ndarray The short length-pieces of the nth curve. """ if sample_points is None: @@ -1200,7 +1251,7 @@ def get_nth_curve_function_with_length( self, n: int, sample_points: int | None = None, - ) -> tuple[typing.Callable[[float], np.ndarray], float]: + ) -> tuple[Callable[[float], Point3D], float]: """Returns the expression of the nth curve along with its (approximate) length. Parameters @@ -1212,7 +1263,7 @@ def get_nth_curve_function_with_length( Returns ------- - curve : typing.Callable[[float], np.ndarray] + curve : Callable[[float], Point3D] The function for the nth curve. length : :class:`float` The length of the nth curve. @@ -1230,19 +1281,19 @@ def get_num_curves(self) -> int: Returns ------- int - number of curves. of the vmobject. + number of curves of the vmobject. """ nppcc = self.n_points_per_cubic_curve return len(self.points) // nppcc def get_curve_functions( self, - ) -> typing.Iterable[typing.Callable[[float], np.ndarray]]: + ) -> Generator[Callable[[float], Point3D]]: """Gets the functions for the curves of the mobject. Returns ------- - typing.Iterable[typing.Callable[[float], np.ndarray]] + Generator[Callable[[float], Point3D]] The functions for the curves. """ @@ -1253,7 +1304,7 @@ def get_curve_functions( def get_curve_functions_with_lengths( self, **kwargs - ) -> typing.Iterable[tuple[typing.Callable[[float], np.ndarray], float]]: + ) -> Generator[tuple[Callable[[float], Point3D], float]]: """Gets the functions and lengths of the curves for the mobject. Parameters @@ -1263,7 +1314,7 @@ def get_curve_functions_with_lengths( Returns ------- - typing.Iterable[typing.Tuple[typing.Callable[[float], np.ndarray], float]] + Generator[tuple[Callable[[float], Point3D], float]] The functions and lengths of the curves. """ @@ -1272,7 +1323,7 @@ def get_curve_functions_with_lengths( for n in range(num_curves): yield self.get_nth_curve_function_with_length(n, **kwargs) - def point_from_proportion(self, alpha: float) -> np.ndarray: + def point_from_proportion(self, alpha: float) -> Point3D: """Gets the point at a proportion along the path of the :class:`VMobject`. Parameters @@ -1318,7 +1369,7 @@ def point_from_proportion(self, alpha: float) -> np.ndarray: def proportion_from_point( self, - point: typing.Iterable[float | int], + point: Iterable[float | int], ) -> float: """Returns the proportion along the path of the :class:`VMobject` a particular given point is at. @@ -1372,7 +1423,7 @@ def proportion_from_point( return alpha - def get_anchors_and_handles(self) -> typing.Iterable[np.ndarray]: + def get_anchors_and_handles(self) -> list[Point3D_Array]: """Returns anchors1, handles1, handles2, anchors2, where (anchors1[i], handles1[i], handles2[i], anchors2[i]) will be four points defining a cubic bezier curve @@ -1380,50 +1431,52 @@ def get_anchors_and_handles(self) -> typing.Iterable[np.ndarray]: Returns ------- - typing.Iterable[np.ndarray] + `list[Point3D_Array]` Iterable of the anchors and handles. """ nppcc = self.n_points_per_cubic_curve return [self.points[i::nppcc] for i in range(nppcc)] - def get_start_anchors(self) -> np.ndarray: + def get_start_anchors(self) -> Point3D_Array: """Returns the start anchors of the bezier curves. Returns ------- - np.ndarray + Point3D_Array Starting anchors """ - return self.points[0 :: self.n_points_per_cubic_curve] + return self.points[:: self.n_points_per_cubic_curve] - def get_end_anchors(self) -> np.ndarray: + def get_end_anchors(self) -> Point3D_Array: """Return the end anchors of the bezier curves. Returns ------- - np.ndarray + Point3D_Array Starting anchors """ nppcc = self.n_points_per_cubic_curve return self.points[nppcc - 1 :: nppcc] - def get_anchors(self) -> np.ndarray: + def get_anchors(self) -> Point3D_Array: """Returns the anchors of the curves forming the VMobject. Returns ------- - np.ndarray + Point3D_Array The anchors. """ if self.points.shape[0] == 1: return self.points return np.array( - list(it.chain(*zip(self.get_start_anchors(), self.get_end_anchors()))), + tuple(it.chain(*zip(self.get_start_anchors(), self.get_end_anchors()))), ) - def get_points_defining_boundary(self): + def get_points_defining_boundary(self) -> Point3D_Array: # Probably returns all anchors, but this is weird regarding the name of the method. - return np.array(list(it.chain(*(sm.get_anchors() for sm in self.get_family())))) + return np.array( + tuple(it.chain(*(sm.get_anchors() for sm in self.get_family()))) + ) def get_arc_length(self, sample_points_per_curve: int | None = None) -> float: """Return the approximated length of the whole curve. @@ -1447,7 +1500,7 @@ def get_arc_length(self, sample_points_per_curve: int | None = None) -> float: ) # Alignment - def align_points(self, vmobject: VMobject): + def align_points(self, vmobject: VMobject) -> Self: """Adds points to self and vmobject so that they both have the same number of subpaths, with corresponding subpaths each containing the same number of points. @@ -1518,7 +1571,7 @@ def get_nth_subpath(path_list, n): vmobject.set_points(new_path2) return self - def insert_n_curves(self, n: int): + def insert_n_curves(self, n: int) -> Self: """Inserts n curves to the bezier curves of the vmobject. Parameters @@ -1542,7 +1595,9 @@ def insert_n_curves(self, n: int): self.append_points([new_path_point]) return self - def insert_n_curves_to_point_list(self, n: int, points: np.ndarray) -> np.ndarray: + def insert_n_curves_to_point_list( + self, n: int, points: Point3D_Array + ) -> npt.NDArray[BezierPoints]: """Given an array of k points defining a bezier curves (anchors and handles), returns points defining exactly k + n bezier curves. Parameters @@ -1554,7 +1609,6 @@ def insert_n_curves_to_point_list(self, n: int, points: np.ndarray) -> np.ndarra Returns ------- - np.ndarray Points generated. """ @@ -1597,7 +1651,7 @@ def insert_n_curves_to_point_list(self, n: int, points: np.ndarray) -> np.ndarra ) return new_points - def align_rgbas(self, vmobject): + def align_rgbas(self, vmobject: VMobject) -> Self: attrs = ["fill_rgbas", "stroke_rgbas", "background_stroke_rgbas"] for attr in attrs: a1 = getattr(self, attr) @@ -1610,14 +1664,16 @@ def align_rgbas(self, vmobject): setattr(self, attr, new_a1) return self - def get_point_mobject(self, center=None): + def get_point_mobject(self, center: Point3D | None = None) -> VectorizedPoint: if center is None: center = self.get_center() point = VectorizedPoint(center) point.match_style(self) return point - def interpolate_color(self, mobject1, mobject2, alpha): + def interpolate_color( + self, mobject1: VMobject, mobject2: VMobject, alpha: float + ) -> None: attrs = [ "fill_rgbas", "stroke_rgbas", @@ -1641,7 +1697,7 @@ def pointwise_become_partial( vmobject: VMobject, a: float, b: float, - ): + ) -> Self: """Given two bounds a and b, transforms the points of the self vmobject into the points of the vmobject passed as parameter with respect to the bounds. Points here stand for control points of the bezier curves (anchors and handles) @@ -1698,7 +1754,7 @@ def pointwise_become_partial( ) return self - def get_subcurve(self, a: float, b: float) -> VMobject: + def get_subcurve(self, a: float, b: float) -> Self: """Returns the subcurve of the VMobject between the interval [a, b]. The curve is a VMobject itself. @@ -1726,7 +1782,7 @@ def get_subcurve(self, a: float, b: float) -> VMobject: vmob.pointwise_become_partial(self, a, b) return vmob - def get_direction(self): + def get_direction(self) -> Literal["CW", "CCW"]: """Uses :func:`~.space_ops.shoelace_direction` to calculate the direction. The direction of points determines in which direction the object is drawn, clockwise or counterclockwise. @@ -1746,7 +1802,7 @@ def get_direction(self): """ return shoelace_direction(self.get_start_anchors()) - def reverse_direction(self): + def reverse_direction(self) -> Self: """Reverts the point direction by inverting the point order. Returns @@ -1771,7 +1827,7 @@ def construct(self): self.points = self.points[::-1] return self - def force_direction(self, target_direction: str): + def force_direction(self, target_direction: Literal["CW", "CCW"]) -> Self: """Makes sure that points are either directed clockwise or counterclockwise. @@ -1850,21 +1906,16 @@ def __init__(self, *vmobjects, **kwargs): super().__init__(**kwargs) self.add(*vmobjects) - def __repr__(self): - return ( - self.__class__.__name__ - + "(" - + ", ".join(str(mob) for mob in self.submobjects) - + ")" - ) + def __repr__(self) -> str: + return f'{self.__class__.__name__}({", ".join(str(mob) for mob in self.submobjects)})' - def __str__(self): + def __str__(self) -> str: return ( f"{self.__class__.__name__} of {len(self.submobjects)} " f"submobject{'s' if len(self.submobjects) > 0 else ''}" ) - def add(self, *vmobjects: VMobject): + def add(self, *vmobjects: VMobject) -> Self: """Checks if all passed elements are an instance of VMobject and then add them to submobjects Parameters @@ -1916,21 +1967,21 @@ def construct(self): raise TypeError("All submobjects must be of type VMobject") return super().add(*vmobjects) - def __add__(self, vmobject): + def __add__(self, vmobject: VMobject) -> Self: return VGroup(*self.submobjects, vmobject) - def __iadd__(self, vmobject): + def __iadd__(self, vmobject: VMobject) -> Self: return self.add(vmobject) - def __sub__(self, vmobject): + def __sub__(self, vmobject: VMobject) -> Self: copy = VGroup(*self.submobjects) copy.remove(vmobject) return copy - def __isub__(self, vmobject): + def __isub__(self, vmobject: VMobject) -> Self: return self.remove(vmobject) - def __setitem__(self, key: int, value: VMobject | typing.Sequence[VMobject]): + def __setitem__(self, key: int, value: VMobject | Sequence[VMobject]) -> None: """Override the [] operator for item assignment. Parameters @@ -2057,27 +2108,25 @@ def construct(self): def __init__( self, mapping_or_iterable: ( - typing.Mapping[typing.Hashable, VMobject] - | typing.Iterable[tuple[typing.Hashable, VMobject]] + Mapping[Hashable, VMobject] | Iterable[tuple[Hashable, VMobject]] ) = {}, show_keys: bool = False, **kwargs, - ): + ) -> None: super().__init__(**kwargs) self.show_keys = show_keys self.submob_dict = {} self.add(mapping_or_iterable) - def __repr__(self): - return __class__.__name__ + "(" + repr(self.submob_dict) + ")" + def __repr__(self) -> str: + return f"{self.__class__.__name__}({repr(self.submob_dict)})" def add( self, mapping_or_iterable: ( - typing.Mapping[typing.Hashable, VMobject] - | typing.Iterable[tuple[typing.Hashable, VMobject]] + Mapping[Hashable, VMobject] | Iterable[tuple[Hashable, VMobject]] ), - ): + ) -> Self: """Adds the key-value pairs to the :class:`VDict` object. Also, it internally adds the value to the `submobjects` :class:`list` @@ -2105,7 +2154,7 @@ def add( return self - def remove(self, key: typing.Hashable): + def remove(self, key: Hashable) -> Self: """Removes the mobject from the :class:`VDict` object having the key `key` Also, it internally removes the mobject from the `submobjects` :class:`list` @@ -2133,7 +2182,7 @@ def remove(self, key: typing.Hashable): del self.submob_dict[key] return self - def __getitem__(self, key: typing.Hashable): + def __getitem__(self, key: Hashable): """Override the [] operator for item retrieval. Parameters @@ -2155,7 +2204,7 @@ def __getitem__(self, key: typing.Hashable): submob = self.submob_dict[key] return submob - def __setitem__(self, key: typing.Hashable, value: VMobject): + def __setitem__(self, key: Hashable, value: VMobject) -> None: """Override the [] operator for item assignment. Parameters @@ -2180,7 +2229,7 @@ def __setitem__(self, key: typing.Hashable, value: VMobject): self.remove(key) self.add([(key, value)]) - def __delitem__(self, key: typing.Hashable): + def __delitem__(self, key: Hashable): """Override the del operator for deleting an item. Parameters @@ -2212,7 +2261,7 @@ def __delitem__(self, key: typing.Hashable): """ del self.submob_dict[key] - def __contains__(self, key: typing.Hashable): + def __contains__(self, key: Hashable): """Override the in operator. Parameters @@ -2236,7 +2285,7 @@ def __contains__(self, key: typing.Hashable): """ return key in self.submob_dict - def get_all_submobjects(self): + def get_all_submobjects(self) -> list[list]: """To get all the submobjects associated with a particular :class:`VDict` object Returns @@ -2254,7 +2303,7 @@ def get_all_submobjects(self): submobjects = self.submob_dict.values() return submobjects - def add_key_value_pair(self, key: typing.Hashable, value: VMobject): + def add_key_value_pair(self, key: Hashable, value: VMobject) -> None: """A utility function used by :meth:`add` to add the key-value pair to :attr:`submob_dict`. Not really meant to be used externally. @@ -2299,14 +2348,14 @@ def add_key_value_pair(self, key: typing.Hashable, value: VMobject): class VectorizedPoint(VMobject, metaclass=ConvertToOpenGL): def __init__( self, - location=ORIGIN, - color=BLACK, - fill_opacity=0, - stroke_width=0, - artificial_width=0.01, - artificial_height=0.01, + location: Point3D = ORIGIN, + color: ManimColor = BLACK, + fill_opacity: float = 0, + stroke_width: float = 0, + artificial_width: float = 0.01, + artificial_height: float = 0.01, **kwargs, - ): + ) -> None: self.artificial_width = artificial_width self.artificial_height = artificial_height super().__init__( @@ -2320,17 +2369,17 @@ def __init__( basecls = OpenGLVMobject if config.renderer == RendererType.OPENGL else VMobject @basecls.width.getter - def width(self): + def width(self) -> float: return self.artificial_width @basecls.height.getter - def height(self): + def height(self) -> float: return self.artificial_height - def get_location(self): + def get_location(self) -> Point3D: return np.array(self.points[0]) - def set_location(self, new_loc): + def set_location(self, new_loc: Point3D): self.set_points(np.array([new_loc])) @@ -2351,7 +2400,7 @@ def construct(self): """ - def __init__(self, vmobject, **kwargs): + def __init__(self, vmobject: VMobject, **kwargs) -> None: super().__init__(**kwargs) tuples = vmobject.get_cubic_bezier_tuples() for tup in tuples: @@ -2360,7 +2409,7 @@ def __init__(self, vmobject, **kwargs): part.match_style(vmobject) self.add(part) - def point_from_proportion(self, alpha: float) -> np.ndarray: + def point_from_proportion(self, alpha: float) -> Point3D: """Gets the point at a proportion along the path of the :class:`CurvesAsSubmobjects`. Parameters @@ -2480,14 +2529,14 @@ def construct(self): def __init__( self, - vmobject, - num_dashes=15, - dashed_ratio=0.5, - dash_offset=0, - color=WHITE, - equal_lengths=True, + vmobject: VMobject, + num_dashes: int = 15, + dashed_ratio: float = 0.5, + dash_offset: float = 0, + color: ManimColor = WHITE, + equal_lengths: bool = True, **kwargs, - ): + ) -> None: self.dashed_ratio = dashed_ratio self.num_dashes = num_dashes super().__init__(color=color, **kwargs) diff --git a/manim/typing.py b/manim/typing.py new file mode 100644 index 0000000000..495f199758 --- /dev/null +++ b/manim/typing.py @@ -0,0 +1,133 @@ +from __future__ import annotations + +from os import PathLike +from typing import Callable, Tuple, Union + +import numpy as np +import numpy.typing as npt +from typing_extensions import TypeAlias + +# Color Types + +ManimFloat: TypeAlias = np.float64 +ManimInt: TypeAlias = np.int64 +ManimColorDType: TypeAlias = ManimFloat + +RGB_Array_Float: TypeAlias = npt.NDArray[ManimFloat] +RGB_Tuple_Float: TypeAlias = Tuple[float, float, float] + +RGB_Array_Int: TypeAlias = npt.NDArray[ManimInt] +RGB_Tuple_Int: TypeAlias = Tuple[int, int, int] + +RGBA_Array_Float: TypeAlias = npt.NDArray[ManimFloat] +RGBA_Tuple_Float: TypeAlias = Tuple[float, float, float, float] + +RGBA_Array_Int: TypeAlias = npt.NDArray[ManimInt] +RGBA_Tuple_Int: TypeAlias = Tuple[int, int, int, int] + +HSV_Array_Float: TypeAlias = RGB_Array_Float +HSV_Tuple_Float: TypeAlias = RGB_Tuple_Float + +ManimColorInternal: TypeAlias = npt.NDArray[ManimColorDType] + +# Point Types + +PointDType: TypeAlias = ManimFloat +""" DType for all points. """ + +InternalPoint2D: TypeAlias = npt.NDArray[PointDType] +""" `shape: (2,)` A 2D point. `[float, float]`. +This type alias is mostly made available for internal use and only includes the numpy type. +""" + +Point2D: TypeAlias = Union[InternalPoint2D, Tuple[float, float]] +""" `shape: (2,)` A 2D point. `[float, float]`. """ + +InternalPoint3D: TypeAlias = npt.NDArray[PointDType] +""" `shape: (3,)` A 3D point. `[float, float, float]`. +This type alias is mostly made available for internal use and only includes the numpy type. +""" + +Point3D: TypeAlias = Union[InternalPoint3D, Tuple[float, float, float]] +""" `shape: (3,)` A 3D point. `[float, float, float]` """ + +# Bezier Types +QuadraticBezierPoints: TypeAlias = npt.NDArray[PointDType] +""" `shape: (3,3)` An Array of Quadratic Bezier Handles `[[float, float, float], [float, float, float], [float, float, float]]`. """ + +QuadraticBezierPoints_Array: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,3,3)` An Array of Quadratic Bezier Handles `[[[float, float, float], [float, float, float], [float, float, float]], ...]`. """ + +CubicBezierPoints: TypeAlias = npt.NDArray[PointDType] +""" `shape: (4,3)` An Array of Cubic Bezier Handles `[[float, float, float], [float, float, float], [float, float, float], [float, float, float]]`. """ + +BezierPoints: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,3)` An Array of Cubic Bezier Handles `[[float, float, float], ...]`. +`N` Is always multiples of the degree of the Bezier curve. +(Please refer to the documentation of the function you are using for further type Information) +""" + +FlatBezierPoints: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N)` An Array of Bezier Handles but flattened `[float, ...]`.""" + +Point2D_Array: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,2)` An Array of Points in 2D Space `[[float, float], ...]`. + +(Please refer to the documentation of the function you are using for further type Information) +""" + +InternalPoint3D_Array: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,3)` An Array of Points in 3D Space `[[float, float, float], ...]`. +This type alias is mostly made available for internal use and only includes the numpy type. +""" + +Point3D_Array: TypeAlias = Union[ + InternalPoint3D_Array, Tuple[Tuple[float, float, float], ...] +] +""" `shape: (N,3)` An Array of Points in 3D Space `[[float, float, float], ...]`. + +(Please refer to the documentation of the function you are using for further type Information) +""" + +BezierPoints_Array: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,PPC,3)` An Array of Bezier Handles `[[[float, float, float], ...], ...]`. +`PPC` Is the number of points per bezier curve. `N` Is the number of bezier curves. +(Please refer to the documentation of the function you are using for further type Information) +""" + +# Vector Types +Vector3: TypeAlias = npt.NDArray[PointDType] +""" `shape: (3,)` A Vector `[float, float, float]`. """ + +Vector: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,)` A Vector `[float, ...]`. """ + +RowVector: TypeAlias = npt.NDArray[PointDType] +""" `shape: (1,N)` A Row Vector `[[float, ...]]`. """ + +ColVector: TypeAlias = npt.NDArray[PointDType] +""" `shape: (N,1)` A Column Vector `[[float], [float], ...]`. """ + +MatrixMN: TypeAlias = npt.NDArray[PointDType] +""" `shape: (M,N)` A Matrix `[[float, ...], [float, ...], ...]`. """ + +Zeros: TypeAlias = npt.NDArray[ManimFloat] +"""A Matrix of Zeros. Typically created with `numpy.zeros((M,N))`""" + +# Due to current limitations (see https://github.com/python/mypy/issues/14656 / 8263), we don't specify the first argument type (Mobject). +FunctionOverride: TypeAlias = Callable[..., None] +"""Function type returning an animation for the specified Mobject.""" + + +# Misc +PathFuncType: TypeAlias = Callable[[Point3D, Point3D, float], Point3D] +"""Function mapping two points and an alpha value to a new point""" + +MappingFunction: TypeAlias = Callable[[Point3D], Point3D] +"""A function mapping a Point3D to another Point3D""" + +Image: TypeAlias = np.ndarray +"""An Image""" + +StrPath: TypeAlias = "str | PathLike[str]" +StrOrBytesPath: TypeAlias = "str | bytes | PathLike[str] | PathLike[bytes]" diff --git a/manim/utils/bezier.py b/manim/utils/bezier.py index ce5fff437f..938e7362b5 100644 --- a/manim/utils/bezier.py +++ b/manim/utils/bezier.py @@ -2,6 +2,17 @@ from __future__ import annotations +from manim.typing import ( + BezierPoints, + ColVector, + MatrixMN, + Point3D, + Point3D_Array, + PointDType, + QuadraticBezierPoints, + QuadraticBezierPoints_Array, +) + __all__ = [ "bezier", "partial_bezier_points", @@ -20,11 +31,11 @@ ] -import typing from functools import reduce -from typing import Iterable +from typing import Any, Callable, Sequence, overload import numpy as np +import numpy.typing as npt from scipy import linalg from ..utils.simple_functions import choose @@ -32,8 +43,8 @@ def bezier( - points: np.ndarray, -) -> typing.Callable[[float], int | typing.Iterable]: + points: Sequence[Point3D] | Point3D_Array, +) -> Callable[[float], Point3D]: """Classic implementation of a bezier curve. Parameters @@ -43,34 +54,39 @@ def bezier( Returns ------- - typing.Callable[[float], typing.Union[int, typing.Iterable]] function describing the bezier curve. + You can pass a t value between 0 and 1 to get the corresponding point on the curve. """ n = len(points) - 1 - # Cubic Bezier curve if n == 3: - return ( - lambda t: (1 - t) ** 3 * points[0] + return lambda t: np.asarray( + (1 - t) ** 3 * points[0] + 3 * t * (1 - t) ** 2 * points[1] + 3 * (1 - t) * t**2 * points[2] - + t**3 * points[3] + + t**3 * points[3], + dtype=PointDType, ) # Quadratic Bezier curve if n == 2: - return ( - lambda t: (1 - t) ** 2 * points[0] - + 2 * t * (1 - t) * points[1] - + t**2 * points[2] + return lambda t: np.asarray( + (1 - t) ** 2 * points[0] + 2 * t * (1 - t) * points[1] + t**2 * points[2], + dtype=PointDType, ) - return lambda t: sum( - ((1 - t) ** (n - k)) * (t**k) * choose(n, k) * point - for k, point in enumerate(points) + return lambda t: np.asarray( + np.asarray( + [ + (((1 - t) ** (n - k)) * (t**k) * choose(n, k) * point) + for k, point in enumerate(points) + ], + dtype=PointDType, + ).sum(axis=0) ) -def partial_bezier_points(points: np.ndarray, a: float, b: float) -> np.ndarray: +# !TODO: This function has still a weird implementation with the overlapping points +def partial_bezier_points(points: BezierPoints, a: float, b: float) -> BezierPoints: """Given an array of points which define bezier curve, and two numbers 0<=a np.ndarray: np.ndarray Set of points defining the partial bezier curve. """ + _len = len(points) if a == 1: - return [points[-1]] * len(points) + return np.asarray([points[-1]] * _len, dtype=PointDType) - a_to_1 = np.array([bezier(points[i:])(a) for i in range(len(points))]) + a_to_1 = np.asarray( + [bezier(points[i:])(a) for i in range(_len)], + dtype=PointDType, + ) end_prop = (b - a) / (1.0 - a) - return np.array([bezier(a_to_1[: i + 1])(end_prop) for i in range(len(points))]) + return np.asarray( + [bezier(a_to_1[: i + 1])(end_prop) for i in range(_len)], + dtype=PointDType, + ) # Shortened version of partial_bezier_points just for quadratics, # since this is called a fair amount -def partial_quadratic_bezier_points(points, a, b): - points = np.asarray(points, dtype=np.float64) +def partial_quadratic_bezier_points( + points: QuadraticBezierPoints, a: float, b: float +) -> QuadraticBezierPoints: if a == 1: - return 3 * [points[-1]] + return np.asarray(3 * [points[-1]]) - def curve(t): - return ( + def curve(t: float) -> Point3D: + return np.asarray( points[0] * (1 - t) * (1 - t) + 2 * points[1] * t * (1 - t) + points[2] * t * t @@ -118,10 +142,10 @@ def curve(t): h1_prime = (1 - a) * points[1] + a * points[2] end_prop = (b - a) / (1.0 - a) h1 = (1 - end_prop) * h0 + end_prop * h1_prime - return [h0, h1, h2] + return np.asarray((h0, h1, h2)) -def split_quadratic_bezier(points: np.ndarray, t: float) -> np.ndarray: +def split_quadratic_bezier(points: QuadraticBezierPoints, t: float) -> BezierPoints: """Split a quadratic Bézier curve at argument ``t`` into two quadratic curves. Parameters @@ -143,10 +167,10 @@ def split_quadratic_bezier(points: np.ndarray, t: float) -> np.ndarray: s2 = interpolate(h1, a2, t) p = interpolate(s1, s2, t) - return np.array([a1, s1, p, p, s2, a2]) + return np.array((a1, s1, p, p, s2, a2)) -def subdivide_quadratic_bezier(points: Iterable[float], n: int) -> np.ndarray: +def subdivide_quadratic_bezier(points: QuadraticBezierPoints, n: int) -> BezierPoints: """Subdivide a quadratic Bézier curve into ``n`` subcurves which have the same shape. The points at which the curve is split are located at the @@ -178,8 +202,8 @@ def subdivide_quadratic_bezier(points: Iterable[float], n: int) -> np.ndarray: def quadratic_bezier_remap( - triplets: Iterable[Iterable[float]], new_number_of_curves: int -): + triplets: QuadraticBezierPoints_Array, new_number_of_curves: int +) -> QuadraticBezierPoints_Array: """Remaps the number of curves to a higher amount by splitting bezier curves Parameters @@ -234,7 +258,21 @@ def quadratic_bezier_remap( # Linear interpolation variants -def interpolate(start: np.ndarray, end: np.ndarray, alpha: float) -> np.ndarray: + + +@overload +def interpolate(start: float, end: float, alpha: float) -> float: + ... + + +@overload +def interpolate(start: Point3D, end: Point3D, alpha: float) -> Point3D: + ... + + +def interpolate( + start: int | float | Point3D, end: int | float | Point3D, alpha: float | Point3D +) -> float | Point3D: return (1 - alpha) * start + alpha * end @@ -244,52 +282,192 @@ def integer_interpolate( alpha: float, ) -> tuple[int, float]: """ - Alpha is a float between 0 and 1. This returns - an integer between start and end (inclusive) representing - appropriate interpolation between them, along with a - "residue" representing a new proportion between the - returned integer and the next one of the - list. - - For example, if start=0, end=10, alpha=0.46, This - would return (4, 0.6). + This is a variant of interpolate that returns an integer and the residual + + Parameters + ---------- + start + The start of the range + end + The end of the range + alpha + a float between 0 and 1. + + Returns + ------- + tuple[int, float] + This returns an integer between start and end (inclusive) representing + appropriate interpolation between them, along with a + "residue" representing a new proportion between the + returned integer and the next one of the + list. + + Example + ------- + + .. code-block:: pycon + + >>> integer, residue = integer_interpolate(start=0, end=10, alpha=0.46) + >>> np.allclose((integer, residue), (4, 0.6)) + True """ if alpha >= 1: - return (end - 1, 1.0) + return (int(end - 1), 1.0) if alpha <= 0: - return (start, 0) + return (int(start), 0) value = int(interpolate(start, end, alpha)) residue = ((end - start) * alpha) % 1 return (value, residue) +@overload def mid(start: float, end: float) -> float: + ... + + +@overload +def mid(start: Point3D, end: Point3D) -> Point3D: + ... + + +def mid(start: float | Point3D, end: float | Point3D) -> float | Point3D: + """Returns the midpoint between two values. + + Parameters + ---------- + start + The first value + end + The second value + + Returns + ------- + The midpoint between the two values + """ return (start + end) / 2.0 -def inverse_interpolate(start: float, end: float, value: float) -> np.ndarray: +@overload +def inverse_interpolate(start: float, end: float, value: float) -> float: + ... + + +@overload +def inverse_interpolate(start: float, end: float, value: Point3D) -> Point3D: + ... + + +@overload +def inverse_interpolate(start: Point3D, end: Point3D, value: Point3D) -> Point3D: + ... + + +def inverse_interpolate( + start: float | Point3D, end: float | Point3D, value: float | Point3D +) -> float | Point3D: + """Perform inverse interpolation to determine the alpha + values that would produce the specified ``value`` + given the ``start`` and ``end`` values or points. + + Parameters + ---------- + start + The start value or point of the interpolation. + end + The end value or point of the interpolation. + value + The value or point for which the alpha value + should be determined. + + Returns + ------- + The alpha values producing the given input + when interpolating between ``start`` and ``end``. + + Example + ------- + + .. code-block:: pycon + + >>> inverse_interpolate(start=2, end=6, value=4) + 0.5 + + >>> start = np.array([1, 2, 1]) + >>> end = np.array([7, 8, 11]) + >>> value = np.array([4, 5, 5]) + >>> inverse_interpolate(start, end, value) + array([0.5, 0.5, 0.4]) + """ return np.true_divide(value - start, end - start) +@overload def match_interpolate( new_start: float, new_end: float, old_start: float, old_end: float, old_value: float, -) -> np.ndarray: +) -> float: + ... + + +@overload +def match_interpolate( + new_start: float, + new_end: float, + old_start: float, + old_end: float, + old_value: Point3D, +) -> Point3D: + ... + + +def match_interpolate( + new_start: float, + new_end: float, + old_start: float, + old_end: float, + old_value: float | Point3D, +) -> float | Point3D: + """Interpolate a value from an old range to a new range. + + Parameters + ---------- + new_start + The start of the new range. + new_end + The end of the new range. + old_start + The start of the old range. + old_end + The end of the old range. + old_value + The value within the old range whose corresponding + value in the new range (with the same alpha value) + is desired. + + Returns + ------- + The interpolated value within the new range. + + Examples + -------- + >>> match_interpolate(0, 100, 10, 20, 15) + 50.0 + """ + old_alpha = inverse_interpolate(old_start, old_end, old_value) return interpolate( new_start, new_end, - inverse_interpolate(old_start, old_end, old_value), + old_alpha, # type: ignore ) -# Figuring out which bezier curves most smoothly connect a sequence of points - - -def get_smooth_cubic_bezier_handle_points(points): - points = np.array(points) +def get_smooth_cubic_bezier_handle_points( + points: Point3D_Array, +) -> tuple[BezierPoints, BezierPoints]: + points = np.asarray(points) num_handles = len(points) - 1 dim = points.shape[1] if num_handles < 1: @@ -301,7 +479,7 @@ def get_smooth_cubic_bezier_handle_points(points): # diag is a representation of the matrix in diagonal form # See https://www.particleincell.com/2012/bezier-splines/ # for how to arrive at these equations - diag = np.zeros((l + u + 1, 2 * num_handles)) + diag: MatrixMN = np.zeros((l + u + 1, 2 * num_handles)) diag[0, 1::2] = -1 diag[0, 2::2] = 1 diag[1, 0::2] = 2 @@ -314,13 +492,13 @@ def get_smooth_cubic_bezier_handle_points(points): # This is the b as in Ax = b, where we are solving for x, # and A is represented using diag. However, think of entries # to x and b as being points in space, not numbers - b = np.zeros((2 * num_handles, dim)) + b: Point3D_Array = np.zeros((2 * num_handles, dim)) b[1::2] = 2 * points[1:] b[0] = points[0] b[-1] = points[-1] - def solve_func(b): - return linalg.solve_banded((l, u), diag, b) + def solve_func(b: ColVector) -> ColVector | MatrixMN: + return linalg.solve_banded((l, u), diag, b) # type: ignore use_closed_solve_function = is_closed(points) if use_closed_solve_function: @@ -334,8 +512,8 @@ def solve_func(b): b[0] = 2 * points[0] b[-1] = np.zeros(dim) - def closed_curve_solve_func(b): - return linalg.solve(matrix, b) + def closed_curve_solve_func(b: ColVector) -> ColVector | MatrixMN: + return linalg.solve(matrix, b) # type: ignore handle_pairs = np.zeros((2 * num_handles, dim)) for i in range(dim): @@ -347,8 +525,8 @@ def closed_curve_solve_func(b): def get_smooth_handle_points( - points: np.ndarray, -) -> tuple[np.ndarray, np.ndarray]: + points: BezierPoints, +) -> tuple[BezierPoints, BezierPoints]: """Given some anchors (points), compute handles so the resulting bezier curve is smooth. Parameters @@ -362,7 +540,7 @@ def get_smooth_handle_points( Computed handles. """ # NOTE points here are anchors. - points = np.array(points) + points = np.asarray(points) num_handles = len(points) - 1 dim = points.shape[1] if num_handles < 1: @@ -374,7 +552,7 @@ def get_smooth_handle_points( # diag is a representation of the matrix in diagonal form # See https://www.particleincell.com/2012/bezier-splines/ # for how to arrive at these equations - diag = np.zeros((l + u + 1, 2 * num_handles)) + diag: MatrixMN = np.zeros((l + u + 1, 2 * num_handles)) diag[0, 1::2] = -1 diag[0, 2::2] = 1 diag[1, 0::2] = 2 @@ -392,8 +570,8 @@ def get_smooth_handle_points( b[0] = points[0] b[-1] = points[-1] - def solve_func(b: np.ndarray) -> np.ndarray: - return linalg.solve_banded((l, u), diag, b) + def solve_func(b: ColVector) -> ColVector | MatrixMN: + return linalg.solve_banded((l, u), diag, b) # type: ignore use_closed_solve_function = is_closed(points) if use_closed_solve_function: @@ -407,8 +585,8 @@ def solve_func(b: np.ndarray) -> np.ndarray: b[0] = 2 * points[0] b[-1] = np.zeros(dim) - def closed_curve_solve_func(b: np.ndarray) -> np.ndarray: - return linalg.solve(matrix, b) + def closed_curve_solve_func(b: ColVector) -> ColVector | MatrixMN: + return linalg.solve(matrix, b) # type: ignore handle_pairs = np.zeros((2 * num_handles, dim)) for i in range(dim): @@ -419,7 +597,9 @@ def closed_curve_solve_func(b: np.ndarray) -> np.ndarray: return handle_pairs[0::2], handle_pairs[1::2] -def diag_to_matrix(l_and_u: tuple[int, int], diag: np.ndarray) -> np.ndarray: +def diag_to_matrix( + l_and_u: tuple[int, int], diag: npt.NDArray[Any] +) -> npt.NDArray[Any]: """ Converts array whose rows represent diagonal entries of a matrix into the matrix itself. @@ -438,7 +618,9 @@ def diag_to_matrix(l_and_u: tuple[int, int], diag: np.ndarray) -> np.ndarray: # Given 4 control points for a cubic bezier curve (or arrays of such) # return control points for 2 quadratics (or 2n quadratics) approximating them. -def get_quadratic_approximation_of_cubic(a0, h0, h1, a1): +def get_quadratic_approximation_of_cubic( + a0: Point3D, h0: Point3D, h1: Point3D, a1: Point3D +) -> BezierPoints: a0 = np.array(a0, ndmin=2) h0 = np.array(h0, ndmin=2) h1 = np.array(h1, ndmin=2) @@ -486,9 +668,9 @@ def get_quadratic_approximation_of_cubic(a0, h0, h1, a1): m, n = a0.shape t_mid = t_mid.repeat(n).reshape((m, n)) - # Compute bezier point and tangent at the chosen value of t - mid = bezier([a0, h0, h1, a1])(t_mid) - Tm = bezier([h0 - a0, h1 - h0, a1 - h1])(t_mid) + # Compute bezier point and tangent at the chosen value of t (these are vectorized) + mid = bezier([a0, h0, h1, a1])(t_mid) # type: ignore + Tm = bezier([h0 - a0, h1 - h0, a1 - h1])(t_mid) # type: ignore # Intersection between tangent lines at end points # and tangent in the middle @@ -506,15 +688,15 @@ def get_quadratic_approximation_of_cubic(a0, h0, h1, a1): return result -def is_closed(points: tuple[np.ndarray, np.ndarray]) -> bool: - return np.allclose(points[0], points[-1]) +def is_closed(points: Point3D_Array) -> bool: + return np.allclose(points[0], points[-1]) # type: ignore def proportions_along_bezier_curve_for_point( - point: typing.Iterable[float | int], - control_points: typing.Iterable[typing.Iterable[float | int]], - round_to: float | int | None = 1e-6, -) -> np.ndarray: + point: Point3D, + control_points: BezierPoints, + round_to: float = 1e-6, +) -> npt.NDArray[Any]: """Obtains the proportion along the bezier curve corresponding to a given point given the bezier curve's control points. @@ -583,21 +765,23 @@ def proportions_along_bezier_curve_for_point( # Roots will be none, but in this specific instance, we don't need to consider that. continue bezier_polynom = np.polynomial.Polynomial(terms[::-1]) - polynom_roots = bezier_polynom.roots() + polynom_roots = bezier_polynom.roots() # type: ignore if len(polynom_roots) > 0: polynom_roots = np.around(polynom_roots, int(np.log10(1 / round_to))) roots.append(polynom_roots) roots = [[root for root in rootlist if root.imag == 0] for rootlist in roots] - roots = reduce(np.intersect1d, roots) # Get common roots. - roots = np.array([r.real for r in roots if 0 <= r.real <= 1]) - return roots + # Get common roots + # arg-type: ignore + roots = reduce(np.intersect1d, roots) # type: ignore + result = np.asarray([r.real for r in roots if 0 <= r.real <= 1]) + return result def point_lies_on_bezier( - point: typing.Iterable[float | int], - control_points: typing.Iterable[typing.Iterable[float | int]], - round_to: float | int | None = 1e-6, + point: Point3D, + control_points: BezierPoints, + round_to: float = 1e-6, ) -> bool: """Checks if a given point lies on the bezier curves with the given control points. diff --git a/manim/utils/color/core.py b/manim/utils/color/core.py index 2994504ce5..cdd75ad9ae 100644 --- a/manim/utils/color/core.py +++ b/manim/utils/color/core.py @@ -3,43 +3,55 @@ This module contains the implementation of :class:`.ManimColor`, the data structure internally used to represent colors. -""" +The preferred way of using these colors is by importing their constants from manim: -from __future__ import annotations +.. code-block:: pycon -# logger = _config.logger -import colorsys -import random -from typing import Any, Sequence, Union + >>> from manim import RED, GREEN, BLUE + >>> print(RED) + #FC6255 -import numpy as np -from typing_extensions import Literal, TypeAlias +Note this way uses the name of the colors in UPPERCASE. -from ...utils.space_ops import normalize +.. note:: -ManimColorDType: TypeAlias = np.float64 -ManimFloat: TypeAlias = np.float64 -ManimInt: TypeAlias = np.int64 + The colors of type "C" have an alias equal to the colorname without a letter, + e.g. GREEN = GREEN_C +""" -RGB_Array_Float: TypeAlias = "np.ndarray[Literal[3], np.dtype[ManimFloat]]" -RGB_Tuple_Float: TypeAlias = "tuple[float, float, float]" +from __future__ import annotations -RGB_Array_Int: TypeAlias = "np.ndarray[Literal[3], np.dtype[ManimInt]]" -RGB_Tuple_Int: TypeAlias = "tuple[int, int, int]" +import colorsys -RGBA_Array_Float: TypeAlias = "np.ndarray[Literal[4], np.dtype[ManimFloat]]" -RGBA_Tuple_Float: TypeAlias = "tuple[float, float, float, float]" +# logger = _config.logger +import random +import re +from typing import Any, Sequence, TypeVar, Union, overload -RGBA_Array_Int: TypeAlias = "np.ndarray[Literal[4], np.dtype[ManimInt]]" -RGBA_Tuple_Int: TypeAlias = "tuple[int, int, int, int]" +import numpy as np +import numpy.typing as npt +from typing_extensions import Self, TypeAlias + +from manim.typing import ( + HSV_Array_Float, + HSV_Tuple_Float, + ManimColorDType, + ManimColorInternal, + RGB_Array_Float, + RGB_Array_Int, + RGB_Tuple_Float, + RGB_Tuple_Int, + RGBA_Array_Float, + RGBA_Array_Int, + RGBA_Tuple_Float, + RGBA_Tuple_Int, +) -HSV_Array_Float: TypeAlias = RGB_Array_Float -HSV_Tuple_Float: TypeAlias = RGB_Tuple_Float +from ...utils.space_ops import normalize -ManimColorInternal: TypeAlias = "np.ndarray[Literal[4], np.dtype[ManimColorDType]]" +# import manim._config as _config -import re re_hex = re.compile("((?<=#)|(?<=0x))[A-F0-9]{6,8}", re.IGNORECASE) @@ -83,7 +95,7 @@ class ManimColor: def __init__( self, - value: ParsableManimColor, + value: ParsableManimColor | None, alpha: float = 1.0, ) -> None: if value is None: @@ -514,7 +526,7 @@ def from_rgb( cls, rgb: RGB_Array_Float | RGB_Tuple_Float | RGB_Array_Int | RGB_Tuple_Int, alpha: float = 1.0, - ) -> ManimColor: + ) -> Self: """Creates a ManimColor from an RGB Array. Automagically decides which type it is int/float .. warning:: @@ -539,7 +551,7 @@ def from_rgb( @classmethod def from_rgba( cls, rgba: RGBA_Array_Float | RGBA_Tuple_Float | RGBA_Array_Int | RGBA_Tuple_Int - ) -> ManimColor: + ) -> Self: """Creates a ManimColor from an RGBA Array. Automagically decides which type it is int/float .. warning:: @@ -559,7 +571,7 @@ def from_rgba( return cls(rgba) @classmethod - def from_hex(cls, hex: str, alpha: float = 1.0) -> ManimColor: + def from_hex(cls, hex: str, alpha: float = 1.0) -> Self: """Creates a Manim Color from a hex string, prefixes allowed # and 0x Parameters @@ -579,7 +591,7 @@ def from_hex(cls, hex: str, alpha: float = 1.0) -> ManimColor: @classmethod def from_hsv( cls, hsv: HSV_Array_Float | HSV_Tuple_Float, alpha: float = 1.0 - ) -> ManimColor: + ) -> Self: """Creates a ManimColor from an HSV Array Parameters @@ -597,12 +609,30 @@ def from_hsv( rgb = colorsys.hsv_to_rgb(*hsv) return cls(rgb, alpha) + @overload + @classmethod + def parse( + cls, + color: ParsableManimColor | None, + alpha: float = ..., + ) -> Self: + ... + + @overload + @classmethod + def parse( + cls, + color: Sequence[ParsableManimColor], + alpha: float = ..., + ) -> list[Self]: + ... + @classmethod def parse( cls, color: ParsableManimColor | list[ParsableManimColor] | None, alpha: float = 1.0, - ) -> ManimColor | list[ManimColor]: + ) -> Self | list[Self]: """ Handles the parsing of a list of colors or a single color. @@ -688,6 +718,9 @@ def __xor__(self, other: ManimColor) -> ManimColor: """ParsableManimColor is the representation for all types that are parsable to a color in manim""" +ManimColorT = TypeVar("ManimColorT", bound=ManimColor) + + def color_to_rgb(color: ParsableManimColor) -> RGB_Array_Float: """Helper function for use in functional style programming refer to :meth:`to_rgb` in :class:`ManimColor` @@ -722,12 +755,12 @@ def color_to_rgba(color: ParsableManimColor, alpha: float = 1) -> RGBA_Array_Flo return ManimColor(color).to_rgba_with_alpha(alpha) -def color_to_int_rgb(color: ManimColor) -> RGB_Array_Int: +def color_to_int_rgb(color: ParsableManimColor) -> RGB_Array_Int: """Helper function for use in functional style programming refer to :meth:`to_int_rgb` in :class:`ManimColor` Parameters ---------- - color : ManimColor + color : ParsableManimColor A color Returns @@ -738,12 +771,12 @@ def color_to_int_rgb(color: ManimColor) -> RGB_Array_Int: return ManimColor(color).to_int_rgb() -def color_to_int_rgba(color: ManimColor, alpha: float = 1.0) -> RGBA_Array_Int: +def color_to_int_rgba(color: ParsableManimColor, alpha: float = 1.0) -> RGBA_Array_Int: """Helper function for use in functional style programming refer to :meth:`to_int_rgba_with_alpha` in :class:`ManimColor` Parameters ---------- - color : ManimColor + color : ParsableManimColor A color alpha : float, optional alpha value to be used in the color, by default 1.0 @@ -756,7 +789,9 @@ def color_to_int_rgba(color: ManimColor, alpha: float = 1.0) -> RGBA_Array_Int: return ManimColor(color).to_int_rgba_with_alpha(alpha) -def rgb_to_color(rgb: RGB_Array_Float | RGB_Tuple_Float) -> ManimColor: +def rgb_to_color( + rgb: RGB_Array_Float | RGB_Tuple_Float | RGB_Array_Int | RGB_Tuple_Int, +) -> ManimColor: """Helper function for use in functional style programming refer to :meth:`from_rgb` in :class:`ManimColor` Parameters @@ -772,7 +807,9 @@ def rgb_to_color(rgb: RGB_Array_Float | RGB_Tuple_Float) -> ManimColor: return ManimColor.from_rgb(rgb) -def rgba_to_color(rgba: RGBA_Array_Float | RGBA_Tuple_Float) -> ManimColor: +def rgba_to_color( + rgba: RGBA_Array_Float | RGBA_Tuple_Float | RGBA_Array_Int | RGBA_Tuple_Int, +) -> ManimColor: """Helper function for use in functional style programming refer to :meth:`from_rgba` in :class:`ManimColor` Parameters @@ -788,7 +825,9 @@ def rgba_to_color(rgba: RGBA_Array_Float | RGBA_Tuple_Float) -> ManimColor: return ManimColor.from_rgba(rgba) -def rgb_to_hex(rgb: RGB_Array_Float | RGB_Tuple_Float) -> str: +def rgb_to_hex( + rgb: RGB_Array_Float | RGB_Tuple_Float | RGB_Array_Int | RGB_Tuple_Int, +) -> str: """Helper function for use in functional style programming refer to :meth:`from_rgb` in :class:`ManimColor` Parameters @@ -820,7 +859,7 @@ def hex_to_rgb(hex_code: str) -> RGB_Array_Float: return ManimColor(hex_code).to_rgb() -def invert_color(color: ManimColor) -> ManimColor: +def invert_color(color: ManimColorT) -> ManimColorT: """Helper function for use in functional style programming refer to :meth:`invert` in :class:`ManimColor` Parameters @@ -837,15 +876,15 @@ def invert_color(color: ManimColor) -> ManimColor: def interpolate_arrays( - arr1: np.ndarray[Any, Any], arr2: np.ndarray[Any, Any], alpha: float + arr1: npt.NDArray[Any], arr2: npt.NDArray[Any], alpha: float ) -> np.ndarray: """Helper function used in Manim to fade between two objects smoothly Parameters ---------- - arr1 : np.ndarray[Any, Any] + arr1 : npt.NDArray[Any] The first array of colors - arr2 : np.ndarray[Any, Any] + arr2 : npt.NDArray[Any] The second array of colors alpha : float The alpha value corresponding to the interpolation point between the two inputs @@ -880,7 +919,7 @@ def color_gradient( return ManimColor(reference_colors[0]) if len(reference_colors) == 1: return [ManimColor(reference_colors[0])] * length_of_output - rgbs = list(map(color_to_rgb, reference_colors)) + rgbs = [color_to_rgb(color) for color in reference_colors] alphas = np.linspace(0, (len(rgbs) - 1), length_of_output) floors = alphas.astype("int") alphas_mod1 = alphas % 1 @@ -894,8 +933,8 @@ def color_gradient( def interpolate_color( - color1: ManimColor, color2: ManimColor, alpha: float -) -> ManimColor: + color1: ManimColorT, color2: ManimColor, alpha: float +) -> ManimColorT: """Standalone function to interpolate two ManimColors and get the result refer to :meth:`interpolate` in :class:`ManimColor` Parameters @@ -915,7 +954,7 @@ def interpolate_color( return color1.interpolate(color2, alpha) -def average_color(*colors: ManimColor) -> ManimColor: +def average_color(*colors: ParsableManimColor) -> ManimColor: """Determines the Average color of the given parameters Returns @@ -923,7 +962,7 @@ def average_color(*colors: ManimColor) -> ManimColor: ManimColor The average color of the input """ - rgbs = np.array(list(map(color_to_rgb, colors))) + rgbs = np.array([color_to_rgb(color) for color in colors]) mean_rgb = np.apply_along_axis(np.mean, 0, rgbs) return rgb_to_color(mean_rgb) @@ -939,8 +978,7 @@ def random_bright_color() -> ManimColor: ManimColor A bright ManimColor """ - color = random_color() - curr_rgb = color_to_rgb(color) + curr_rgb = color_to_rgb(random_color()) new_rgb = interpolate_arrays(curr_rgb, np.ones(len(curr_rgb)), 0.5) return ManimColor(new_rgb) @@ -962,10 +1000,10 @@ def random_color() -> ManimColor: def get_shaded_rgb( - rgb: np.ndarray, - point: np.ndarray, - unit_normal_vect: np.ndarray, - light_source: np.ndarray, + rgb: npt.NDArray[Any], + point: npt.NDArray[Any], + unit_normal_vect: npt.NDArray[Any], + light_source: npt.NDArray[Any], ) -> RGBA_Array_Float: to_sun = normalize(light_source - point) factor = 0.5 * np.dot(unit_normal_vect, to_sun) ** 3 diff --git a/manim/utils/color/manim_colors.py b/manim/utils/color/manim_colors.py index f36925e035..42c93985e6 100644 --- a/manim/utils/color/manim_colors.py +++ b/manim/utils/color/manim_colors.py @@ -125,87 +125,87 @@ def named_lines_group(length, colors, names, text_colors, align_to_block): from .core import ManimColor -WHITE: ManimColor = ManimColor("#FFFFFF") -GRAY_A: ManimColor = ManimColor("#DDDDDD") -GREY_A: ManimColor = ManimColor("#DDDDDD") -GRAY_B: ManimColor = ManimColor("#BBBBBB") -GREY_B: ManimColor = ManimColor("#BBBBBB") -GRAY_C: ManimColor = ManimColor("#888888") -GREY_C: ManimColor = ManimColor("#888888") -GRAY_D: ManimColor = ManimColor("#444444") -GREY_D: ManimColor = ManimColor("#444444") -GRAY_E: ManimColor = ManimColor("#222222") -GREY_E: ManimColor = ManimColor("#222222") -BLACK: ManimColor = ManimColor("#000000") -LIGHTER_GRAY: ManimColor = ManimColor("#DDDDDD") -LIGHTER_GREY: ManimColor = ManimColor("#DDDDDD") -LIGHT_GRAY: ManimColor = ManimColor("#BBBBBB") -LIGHT_GREY: ManimColor = ManimColor("#BBBBBB") -GRAY: ManimColor = ManimColor("#888888") -GREY: ManimColor = ManimColor("#888888") -DARK_GRAY: ManimColor = ManimColor("#444444") -DARK_GREY: ManimColor = ManimColor("#444444") -DARKER_GRAY: ManimColor = ManimColor("#222222") -DARKER_GREY: ManimColor = ManimColor("#222222") -BLUE_A: ManimColor = ManimColor("#C7E9F1") -BLUE_B: ManimColor = ManimColor("#9CDCEB") -BLUE_C: ManimColor = ManimColor("#58C4DD") -BLUE_D: ManimColor = ManimColor("#29ABCA") -BLUE_E: ManimColor = ManimColor("#236B8E") -PURE_BLUE: ManimColor = ManimColor("#0000FF") -BLUE: ManimColor = ManimColor("#58C4DD") -DARK_BLUE: ManimColor = ManimColor("#236B8E") -TEAL_A: ManimColor = ManimColor("#ACEAD7") -TEAL_B: ManimColor = ManimColor("#76DDC0") -TEAL_C: ManimColor = ManimColor("#5CD0B3") -TEAL_D: ManimColor = ManimColor("#55C1A7") -TEAL_E: ManimColor = ManimColor("#49A88F") -TEAL: ManimColor = ManimColor("#5CD0B3") -GREEN_A: ManimColor = ManimColor("#C9E2AE") -GREEN_B: ManimColor = ManimColor("#A6CF8C") -GREEN_C: ManimColor = ManimColor("#83C167") -GREEN_D: ManimColor = ManimColor("#77B05D") -GREEN_E: ManimColor = ManimColor("#699C52") -PURE_GREEN: ManimColor = ManimColor("#00FF00") -GREEN: ManimColor = ManimColor("#83C167") -YELLOW_A: ManimColor = ManimColor("#FFF1B6") -YELLOW_B: ManimColor = ManimColor("#FFEA94") -YELLOW_C: ManimColor = ManimColor("#FFFF00") -YELLOW_D: ManimColor = ManimColor("#F4D345") -YELLOW_E: ManimColor = ManimColor("#E8C11C") -YELLOW: ManimColor = ManimColor("#FFFF00") -GOLD_A: ManimColor = ManimColor("#F7C797") -GOLD_B: ManimColor = ManimColor("#F9B775") -GOLD_C: ManimColor = ManimColor("#F0AC5F") -GOLD_D: ManimColor = ManimColor("#E1A158") -GOLD_E: ManimColor = ManimColor("#C78D46") -GOLD: ManimColor = ManimColor("#F0AC5F") -RED_A: ManimColor = ManimColor("#F7A1A3") -RED_B: ManimColor = ManimColor("#FF8080") -RED_C: ManimColor = ManimColor("#FC6255") -RED_D: ManimColor = ManimColor("#E65A4C") -RED_E: ManimColor = ManimColor("#CF5044") -PURE_RED: ManimColor = ManimColor("#FF0000") -RED: ManimColor = ManimColor("#FC6255") -MAROON_A: ManimColor = ManimColor("#ECABC1") -MAROON_B: ManimColor = ManimColor("#EC92AB") -MAROON_C: ManimColor = ManimColor("#C55F73") -MAROON_D: ManimColor = ManimColor("#A24D61") -MAROON_E: ManimColor = ManimColor("#94424F") -MAROON: ManimColor = ManimColor("#C55F73") -PURPLE_A: ManimColor = ManimColor("#CAA3E8") -PURPLE_B: ManimColor = ManimColor("#B189C6") -PURPLE_C: ManimColor = ManimColor("#9A72AC") -PURPLE_D: ManimColor = ManimColor("#715582") -PURPLE_E: ManimColor = ManimColor("#644172") -PURPLE: ManimColor = ManimColor("#9A72AC") -PINK: ManimColor = ManimColor("#D147BD") -LIGHT_PINK: ManimColor = ManimColor("#DC75CD") -ORANGE: ManimColor = ManimColor("#FF862F") -LIGHT_BROWN: ManimColor = ManimColor("#CD853F") -DARK_BROWN: ManimColor = ManimColor("#8B4513") -GRAY_BROWN: ManimColor = ManimColor("#736357") -GREY_BROWN: ManimColor = ManimColor("#736357") +WHITE = ManimColor("#FFFFFF") +GRAY_A = ManimColor("#DDDDDD") +GREY_A = ManimColor("#DDDDDD") +GRAY_B = ManimColor("#BBBBBB") +GREY_B = ManimColor("#BBBBBB") +GRAY_C = ManimColor("#888888") +GREY_C = ManimColor("#888888") +GRAY_D = ManimColor("#444444") +GREY_D = ManimColor("#444444") +GRAY_E = ManimColor("#222222") +GREY_E = ManimColor("#222222") +BLACK = ManimColor("#000000") +LIGHTER_GRAY = ManimColor("#DDDDDD") +LIGHTER_GREY = ManimColor("#DDDDDD") +LIGHT_GRAY = ManimColor("#BBBBBB") +LIGHT_GREY = ManimColor("#BBBBBB") +GRAY = ManimColor("#888888") +GREY = ManimColor("#888888") +DARK_GRAY = ManimColor("#444444") +DARK_GREY = ManimColor("#444444") +DARKER_GRAY = ManimColor("#222222") +DARKER_GREY = ManimColor("#222222") +BLUE_A = ManimColor("#C7E9F1") +BLUE_B = ManimColor("#9CDCEB") +BLUE_C = ManimColor("#58C4DD") +BLUE_D = ManimColor("#29ABCA") +BLUE_E = ManimColor("#236B8E") +PURE_BLUE = ManimColor("#0000FF") +BLUE = ManimColor("#58C4DD") +DARK_BLUE = ManimColor("#236B8E") +TEAL_A = ManimColor("#ACEAD7") +TEAL_B = ManimColor("#76DDC0") +TEAL_C = ManimColor("#5CD0B3") +TEAL_D = ManimColor("#55C1A7") +TEAL_E = ManimColor("#49A88F") +TEAL = ManimColor("#5CD0B3") +GREEN_A = ManimColor("#C9E2AE") +GREEN_B = ManimColor("#A6CF8C") +GREEN_C = ManimColor("#83C167") +GREEN_D = ManimColor("#77B05D") +GREEN_E = ManimColor("#699C52") +PURE_GREEN = ManimColor("#00FF00") +GREEN = ManimColor("#83C167") +YELLOW_A = ManimColor("#FFF1B6") +YELLOW_B = ManimColor("#FFEA94") +YELLOW_C = ManimColor("#FFFF00") +YELLOW_D = ManimColor("#F4D345") +YELLOW_E = ManimColor("#E8C11C") +YELLOW = ManimColor("#FFFF00") +GOLD_A = ManimColor("#F7C797") +GOLD_B = ManimColor("#F9B775") +GOLD_C = ManimColor("#F0AC5F") +GOLD_D = ManimColor("#E1A158") +GOLD_E = ManimColor("#C78D46") +GOLD = ManimColor("#F0AC5F") +RED_A = ManimColor("#F7A1A3") +RED_B = ManimColor("#FF8080") +RED_C = ManimColor("#FC6255") +RED_D = ManimColor("#E65A4C") +RED_E = ManimColor("#CF5044") +PURE_RED = ManimColor("#FF0000") +RED = ManimColor("#FC6255") +MAROON_A = ManimColor("#ECABC1") +MAROON_B = ManimColor("#EC92AB") +MAROON_C = ManimColor("#C55F73") +MAROON_D = ManimColor("#A24D61") +MAROON_E = ManimColor("#94424F") +MAROON = ManimColor("#C55F73") +PURPLE_A = ManimColor("#CAA3E8") +PURPLE_B = ManimColor("#B189C6") +PURPLE_C = ManimColor("#9A72AC") +PURPLE_D = ManimColor("#715582") +PURPLE_E = ManimColor("#644172") +PURPLE = ManimColor("#9A72AC") +PINK = ManimColor("#D147BD") +LIGHT_PINK = ManimColor("#DC75CD") +ORANGE = ManimColor("#FF862F") +LIGHT_BROWN = ManimColor("#CD853F") +DARK_BROWN = ManimColor("#8B4513") +GRAY_BROWN = ManimColor("#736357") +GREY_BROWN = ManimColor("#736357") # Colors used for Manim Community's logo and banner diff --git a/manim/utils/space_ops.py b/manim/utils/space_ops.py index f24360cc75..16af964e74 100644 --- a/manim/utils/space_ops.py +++ b/manim/utils/space_ops.py @@ -2,6 +2,8 @@ from __future__ import annotations +from manim.typing import Point3D_Array, Vector + __all__ = [ "quaternion_mult", "quaternion_from_angle_axis", @@ -37,7 +39,6 @@ import itertools as it -import math from typing import Sequence import numpy as np @@ -108,7 +109,7 @@ def quaternion_from_angle_axis( """ if not axis_normalized: axis = normalize(axis) - return [math.cos(angle / 2), *(math.sin(angle / 2) * axis)] + return [np.cos(angle / 2), *(np.sin(angle / 2) * axis)] def angle_axis_from_quaternion(quaternion: Sequence[float]) -> Sequence[float]: @@ -256,7 +257,7 @@ def rotation_about_z(angle: float) -> np.ndarray: np.ndarray Gives back the rotated matrix. """ - c, s = math.cos(angle), math.sin(angle) + c, s = np.cos(angle), np.sin(angle) return np.array( [ [c, -s, 0], @@ -540,10 +541,10 @@ def line_intersection( def find_intersection( - p0s: Sequence[np.ndarray], - v0s: Sequence[np.ndarray], - p1s: Sequence[np.ndarray], - v1s: Sequence[np.ndarray], + p0s: Sequence[np.ndarray] | Point3D_Array, + v0s: Sequence[np.ndarray] | Point3D_Array, + p1s: Sequence[np.ndarray] | Point3D_Array, + v1s: Sequence[np.ndarray] | Point3D_Array, threshold: float = 1e-5, ) -> Sequence[np.ndarray]: """ @@ -621,7 +622,38 @@ def shoelace_direction(x_y: np.ndarray) -> str: return "CW" if area > 0 else "CCW" -def cross2d(a, b): +def cross2d( + a: Sequence[Vector] | Vector, b: Sequence[Vector] | Vector +) -> Sequence[float] | float: + """Compute the determinant(s) of the passed + vector (sequences). + + Parameters + ---------- + a + A vector or a sequence of vectors. + b + A vector or a sequence of vectors. + + Returns + ------- + Sequence[float] | float + The determinant or sequence of determinants + of the first two components of the specified + vectors. + + Examples + -------- + .. code-block:: pycon + + >>> cross2d(np.array([1, 2]), np.array([3, 4])) + -2 + >>> cross2d( + ... np.array([[1, 2, 0], [1, 0, 0]]), + ... np.array([[3, 4, 0], [0, 1, 0]]), + ... ) + array([-2, 1]) + """ if len(a.shape) == 2: return a[:, 0] * b[:, 1] - a[:, 1] * b[:, 0] else: diff --git a/.mypy.ini b/mypy.ini similarity index 51% rename from .mypy.ini rename to mypy.ini index 48cad442f4..a4707261b7 100644 --- a/.mypy.ini +++ b/mypy.ini @@ -1,34 +1,90 @@ [mypy] -show_error_codes = True +strict = False +files = manim +python_version = 3.10 +; plugins = numpy.typing.mypy_plugin +ignore_errors = False +cache_fine_grained = True +warn_unused_ignores = True + +# Disallow Dynamic Typing +# disallow_any_unimported = True +# disallow_any_expr = False +# disallow_any_decorated = True +# disallow_any_explicit = True +# disallow_any_generics = True +# disallow_subclassing_any = True +# +# # Disallow Untyped Defs and Calls +disallow_untyped_calls = True +disallow_untyped_defs = True +disallow_incomplete_defs = True +# check_untyped_defs = False +# disallow_untyped_decorators = True +# +# # None and Optional Handling +# implicit_optional = False +# strict_optional = True +# +# # Configuring Warnings +# warn_redundant_casts = True +# warn_unused_ignores = True +warn_return_any = True +# warn_unreachable = True +# +# # Strictness Flags +# allow_untyped_globals = False +# allow_redefinition = False +# local_partial_types = False +# strict_equality = True +# +# # Configuring Error Messages +# show_error_context = True +# show_column_numbers = True +# show_error_codes = True +# pretty = True +# color_output = True +# error_summary = True +# +# disable_recursive_aliases = True -# ignore most files; should be checked once proper types have been implemented -[mypy-manim.__main__] +[mypy-manim._config.*] +ignore_errors = True + +[mypy-manim.animation.*] ignore_errors = True [mypy-manim.camera.*] ignore_errors = True -[mypy-manim.scene.*] +[mypy-manim.cli.*] ignore_errors = True [mypy-manim.cli.cfg.*] ignore_errors = True +[mypy-manim.gui.*] +ignore_errors = True + [mypy-manim.mobject.*] ignore_errors = True -[mypy-manim._config.*] +[mypy-manim.plugins.*] ignore_errors = True -[mypy-manim.utils.*] +[mypy-manim.renderer.*] ignore_errors = True -[mypy-manim.utils.color] -ignore_errors = False +[mypy-manim.scene.*] +ignore_errors = True -[mypy-manim.animation.*] +[mypy-manim.utils.*] +ignore_errors = True + +[mypy-manim.__main__] ignore_errors = True + # ---------------- We can't properly type this ------------------------ [mypy-manim.grpc.*] @@ -40,10 +96,6 @@ ignore_errors = True [mypy-manimpango] ignore_missing_imports = True -# Has stubs in 3.8 -[mypy-numpy] -ignore_missing_imports = True - # Has stubs in 3.8 [mypy-pydub] ignore_missing_imports = True @@ -66,9 +118,6 @@ ignore_missing_imports = True [mypy-moderngl_window.*] ignore_missing_imports = True -[mypy-colour] -ignore_missing_imports = True - [mypy-dearpygui.*] ignore_missing_imports = True diff --git a/poetry.lock b/poetry.lock index 611d37fa59..0ded9d0217 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,9 +1,10 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry and should not be changed by hand. [[package]] name = "aiofiles" version = "22.1.0" description = "File support for asyncio." +category = "main" optional = true python-versions = ">=3.7,<4.0" files = [ @@ -15,6 +16,7 @@ files = [ name = "aiosqlite" version = "0.19.0" description = "asyncio bridge to the standard sqlite3 module" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -30,6 +32,7 @@ docs = ["sphinx (==6.1.3)", "sphinx-mdinclude (==0.5.3)"] name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -41,6 +44,7 @@ files = [ name = "anyio" version = "4.0.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -62,6 +66,7 @@ trio = ["trio (>=0.22)"] name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" +category = "main" optional = true python-versions = "*" files = [ @@ -73,6 +78,7 @@ files = [ name = "argon2-cffi" version = "23.1.0" description = "Argon2 for Python" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -93,6 +99,7 @@ typing = ["mypy"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -130,6 +137,7 @@ tests = ["pytest"] name = "arrow" version = "1.3.0" description = "Better dates & times for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -143,12 +151,13 @@ types-python-dateutil = ">=2.8.10" [package.extras] doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] +test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] [[package]] name = "astor" version = "0.8.1" description = "Read/rewrite/write Python ASTs" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -160,6 +169,7 @@ files = [ name = "astroid" version = "2.15.8" description = "An abstract syntax tree for Python with inference support." +category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -179,6 +189,7 @@ wrapt = [ name = "asttokens" version = "2.4.1" description = "Annotate AST trees with source code positions" +category = "main" optional = true python-versions = "*" files = [ @@ -197,6 +208,7 @@ test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -215,6 +227,7 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "babel" version = "2.13.1" description = "Internationalization utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -232,6 +245,7 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" +category = "main" optional = true python-versions = "*" files = [ @@ -243,6 +257,7 @@ files = [ name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" +category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -261,6 +276,7 @@ lxml = ["lxml"] name = "black" version = "23.10.1" description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -303,6 +319,7 @@ uvloop = ["uvloop (>=0.15.2)"] name = "bleach" version = "6.1.0" description = "An easy safelist-based HTML-sanitizing tool." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -321,6 +338,7 @@ css = ["tinycss2 (>=1.1.0,<1.3)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -332,6 +350,7 @@ files = [ name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -396,6 +415,7 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -407,6 +427,7 @@ files = [ name = "charset-normalizer" version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -506,6 +527,7 @@ files = [ name = "click" version = "8.1.7" description = "Composable command line interface toolkit" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -520,6 +542,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "click-default-group" version = "1.2.4" description = "click_default_group" +category = "main" optional = false python-versions = ">=2.7" files = [ @@ -537,6 +560,7 @@ test = ["pytest"] name = "cloup" version = "2.1.2" description = "Adds features to Click: option groups, constraints, subcommand sections and help themes." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -552,6 +576,7 @@ typing-extensions = {version = "*", markers = "python_version <= \"3.8\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -563,6 +588,7 @@ files = [ name = "comm" version = "0.1.4" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -582,6 +608,7 @@ typing = ["mypy (>=0.990)"] name = "commonmark" version = "0.9.1" description = "Python parser for the CommonMark Markdown spec" +category = "dev" optional = false python-versions = "*" files = [ @@ -596,6 +623,7 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] name = "contourpy" version = "1.1.1" description = "Python library for calculating contours of 2D quadrilateral grids" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -667,6 +695,7 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] name = "coverage" version = "7.3.2" description = "Code coverage measurement for Python" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -734,6 +763,7 @@ toml = ["tomli"] name = "cryptography" version = "41.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -779,6 +809,7 @@ test-randomorder = ["pytest-randomly"] name = "cycler" version = "0.12.1" description = "Composable style cycles" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -794,6 +825,7 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] name = "cython" version = "3.0.5" description = "The Cython compiler for writing C extensions in the Python language." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -861,6 +893,7 @@ files = [ name = "data-science-types" version = "0.2.23" description = "Type stubs for Python machine learning libraries" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -875,6 +908,7 @@ dev = ["black", "flake8", "flake8-pyi", "matplotlib", "mypy (==0.770)", "numpy", name = "dearpygui" version = "1.10.1" description = "DearPyGui: A simple Python GUI Toolkit" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -902,6 +936,7 @@ files = [ name = "debugpy" version = "1.8.0" description = "An implementation of the Debug Adapter Protocol for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -929,6 +964,7 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -940,6 +976,7 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -951,6 +988,7 @@ files = [ name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -968,6 +1006,7 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "dill" version = "0.3.7" description = "serialize all of Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -982,6 +1021,7 @@ graph = ["objgraph (>=1.7.2)"] name = "distlib" version = "0.3.7" description = "Distribution utilities" +category = "dev" optional = false python-versions = "*" files = [ @@ -993,6 +1033,7 @@ files = [ name = "docutils" version = "0.17.1" description = "Docutils -- Python Documentation Utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1000,10 +1041,23 @@ files = [ {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +[[package]] +name = "entrypoints" +version = "0.4" +description = "Discover and load entry points from installed packages." +category = "main" +optional = true +python-versions = ">=3.6" +files = [ + {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"}, + {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"}, +] + [[package]] name = "exceptiongroup" version = "1.1.3" description = "Backport of PEP 654 (exception groups)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1018,6 +1072,7 @@ test = ["pytest (>=6)"] name = "execnet" version = "2.0.2" description = "execnet: rapid multi-Python deployment" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1032,6 +1087,7 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] name = "executing" version = "2.0.1" description = "Get the currently executing AST node of a frame, and other information" +category = "main" optional = true python-versions = ">=3.5" files = [ @@ -1046,6 +1102,7 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "fastjsonschema" version = "2.18.1" description = "Fastest Python implementation of JSON schema" +category = "main" optional = true python-versions = "*" files = [ @@ -1060,6 +1117,7 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc name = "filelock" version = "3.13.1" description = "A platform independent file lock." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1076,6 +1134,7 @@ typing = ["typing-extensions (>=4.8)"] name = "flake8" version = "3.9.2" description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -1092,6 +1151,7 @@ pyflakes = ">=2.3.0,<2.4.0" name = "flake8-bugbear" version = "21.11.29" description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1110,6 +1170,7 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit"] name = "flake8-builtins" version = "1.5.3" description = "Check for python builtins being used as variables or parameters." +category = "dev" optional = false python-versions = "*" files = [ @@ -1127,6 +1188,7 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] name = "flake8-comprehensions" version = "3.14.0" description = "A flake8 plugin to help you write better list/set/dict comprehensions." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1141,6 +1203,7 @@ flake8 = ">=3.0,<3.2.0 || >3.2.0" name = "flake8-docstrings" version = "1.7.0" description = "Extension for flake8 which uses pydocstyle to check docstrings" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1156,6 +1219,7 @@ pydocstyle = ">=2.1" name = "flake8-plugin-utils" version = "1.3.3" description = "The package provides base classes and utils for flake8 plugin writing" +category = "dev" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -1167,6 +1231,7 @@ files = [ name = "flake8-pytest-style" version = "1.7.2" description = "A flake8 plugin checking common style issues or inconsistencies with pytest-based tests." +category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -1181,6 +1246,7 @@ flake8-plugin-utils = ">=1.3.2,<2.0.0" name = "flake8-rst-docstrings" version = "0.2.7" description = "Python docstring reStructuredText (RST) validator" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1197,6 +1263,7 @@ restructuredtext-lint = "*" name = "flake8-simplify" version = "0.14.6" description = "flake8 plugin which checks for code that can be simplified" +category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1212,6 +1279,7 @@ flake8 = ">=3.7" name = "fonttools" version = "4.44.0" description = "Tools to manipulate font files" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1277,6 +1345,7 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "fqdn" version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +category = "main" optional = true python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" files = [ @@ -1288,6 +1357,7 @@ files = [ name = "furo" version = "2022.9.29" description = "A clean customisable Sphinx documentation theme." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1305,6 +1375,7 @@ sphinx-basic-ng = "*" name = "gitdb" version = "4.0.11" description = "Git Object Database" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1319,6 +1390,7 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.40" description = "GitPython is a Python library used to interact with Git repositories" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1336,6 +1408,7 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre name = "glcontext" version = "2.5.0" description = "Portable OpenGL Context" +category = "main" optional = false python-versions = "*" files = [ @@ -1411,6 +1484,7 @@ files = [ name = "identify" version = "2.5.31" description = "File identification library for Python" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1425,6 +1499,7 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1436,6 +1511,7 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1447,6 +1523,7 @@ files = [ name = "importlib-metadata" version = "6.8.0" description = "Read metadata from Python packages" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1466,6 +1543,7 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs name = "importlib-resources" version = "6.1.0" description = "Read resources from Python packages" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1484,6 +1562,7 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1495,6 +1574,7 @@ files = [ name = "ipykernel" version = "6.26.0" description = "IPython Kernel for Jupyter" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1508,7 +1588,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1528,6 +1608,7 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" name = "ipython" version = "8.12.3" description = "IPython: Productive Interactive Computing" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1567,6 +1648,7 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "ipython-genutils" version = "0.2.0" description = "Vestigial utilities from IPython" +category = "main" optional = true python-versions = "*" files = [ @@ -1578,6 +1660,7 @@ files = [ name = "isoduration" version = "20.11.0" description = "Operations with ISO 8601 durations" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1592,6 +1675,7 @@ arrow = ">=0.15.0" name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1609,6 +1693,7 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "isosurfaces" version = "0.1.0" description = "Construct isolines/isosurfaces over a 2D/3D scalar field defined by a function (not a uniform grid)" +category = "main" optional = false python-versions = "*" files = [ @@ -1623,6 +1708,7 @@ numpy = "*" name = "jedi" version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1642,6 +1728,7 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1659,6 +1746,7 @@ i18n = ["Babel (>=2.7)"] name = "json5" version = "0.9.14" description = "A Python implementation of the JSON5 data format." +category = "main" optional = true python-versions = "*" files = [ @@ -1673,6 +1761,7 @@ dev = ["hypothesis"] name = "jsonpointer" version = "2.4" description = "Identify specific nodes in a JSON document (RFC 6901)" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" files = [ @@ -1684,6 +1773,7 @@ files = [ name = "jsonschema" version = "4.19.2" description = "An implementation of JSON Schema validation for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1715,6 +1805,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1728,31 +1819,34 @@ referencing = ">=0.28.0" [[package]] name = "jupyter-client" -version = "8.5.0" +version = "7.4.9" description = "Jupyter protocol implementation and client libraries" +category = "main" optional = true -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "jupyter_client-8.5.0-py3-none-any.whl", hash = "sha256:c3877aac7257ec68d79b5c622ce986bd2a992ca42f6ddc9b4dd1da50e89f7028"}, - {file = "jupyter_client-8.5.0.tar.gz", hash = "sha256:e8754066510ce456358df363f97eae64b50860f30dc1fe8c6771440db3be9a63"}, + {file = "jupyter_client-7.4.9-py3-none-any.whl", hash = "sha256:214668aaea208195f4c13d28eb272ba79f945fc0cf3f11c7092c20b2ca1980e7"}, + {file = "jupyter_client-7.4.9.tar.gz", hash = "sha256:52be28e04171f07aed8f20e1616a5a552ab9fee9cbbe6c1896ae170c3880d392"}, ] [package.dependencies] -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +entrypoints = "*" +jupyter-core = ">=4.9.2" +nest-asyncio = ">=1.5.4" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" -traitlets = ">=5.3" +traitlets = "*" [package.extras] -docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +doc = ["ipykernel", "myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +test = ["codecov", "coverage", "ipykernel (>=6.12)", "ipython", "mypy", "pre-commit", "pytest", "pytest-asyncio (>=0.18)", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyter-core" version = "5.5.0" description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1773,6 +1867,7 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] name = "jupyter-events" version = "0.8.0" description = "Jupyter Event System library" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1798,6 +1893,7 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p name = "jupyter-server" version = "2.9.1" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1810,7 +1906,7 @@ anyio = ">=3.1.0" argon2-cffi = "*" jinja2 = "*" jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" jupyter-events = ">=0.6.0" jupyter-server-terminals = "*" nbconvert = ">=6.4.4" @@ -1834,6 +1930,7 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-sc name = "jupyter-server-fileid" version = "0.9.0" description = "" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1853,6 +1950,7 @@ test = ["jupyter-server[test] (>=1.15,<3)", "pytest", "pytest-cov"] name = "jupyter-server-terminals" version = "0.4.4" description = "A Jupyter Server Extension Providing Terminals." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1872,6 +1970,7 @@ test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", name = "jupyter-server-ydoc" version = "0.8.0" description = "A Jupyter Server Extension Providing Y Documents." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1891,6 +1990,7 @@ test = ["coverage", "jupyter-server[test] (>=2.0.0a0)", "pytest (>=7.0)", "pytes name = "jupyter-ydoc" version = "0.2.5" description = "Document structures for collaborative editing using Ypy" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1910,6 +2010,7 @@ test = ["pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)", "ypy-we name = "jupyterlab" version = "3.6.6" description = "JupyterLab computational environment" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1938,6 +2039,7 @@ test = ["check-manifest", "coverage", "jupyterlab-server[test]", "pre-commit", " name = "jupyterlab-pygments" version = "0.2.2" description = "Pygments theme using JupyterLab CSS variables" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1949,6 +2051,7 @@ files = [ name = "jupyterlab-server" version = "2.25.0" description = "A set of server components for JupyterLab and JupyterLab like applications." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1975,6 +2078,7 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v name = "kiwisolver" version = "1.4.5" description = "A fast implementation of the Cassowary constraint solver" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2088,6 +2192,7 @@ files = [ name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2133,6 +2238,7 @@ files = [ name = "manimpango" version = "0.5.0" description = "Bindings for Pango for using with Manim." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2158,6 +2264,7 @@ files = [ name = "mapbox-earcut" version = "1.0.1" description = "Python bindings for the mapbox earcut C++ polygon triangulation library." +category = "main" optional = false python-versions = "*" files = [ @@ -2232,6 +2339,7 @@ test = ["pytest"] name = "markdown-it-py" version = "2.2.0" description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2256,6 +2364,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2279,16 +2388,6 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -2325,6 +2424,7 @@ files = [ name = "matplotlib" version = "3.7.3" description = "Python plotting package" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2394,6 +2494,7 @@ setuptools_scm = ">=7" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" +category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2408,6 +2509,7 @@ traitlets = "*" name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = "*" files = [ @@ -2419,6 +2521,7 @@ files = [ name = "mdit-py-plugins" version = "0.3.5" description = "Collection of plugins for markdown-it-py" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2438,6 +2541,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2449,6 +2553,7 @@ files = [ name = "mistune" version = "3.0.2" description = "A sane and fast Markdown parser with useful plugins and renderers" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2460,6 +2565,7 @@ files = [ name = "moderngl" version = "5.8.2" description = "ModernGL: High performance rendering for Python 3" +category = "main" optional = false python-versions = "*" files = [ @@ -2522,6 +2628,7 @@ glcontext = ">=2.3.6,<3" name = "moderngl-window" version = "2.4.4" description = "A cross platform helper library for ModernGL making window creation and resource loading simple" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2550,6 +2657,7 @@ trimesh = ["scipy (>=1.3.2)", "trimesh (>=3.2.6,<4)"] name = "multipledispatch" version = "1.0.0" description = "Multiple dispatch" +category = "main" optional = false python-versions = "*" files = [ @@ -2557,48 +2665,11 @@ files = [ {file = "multipledispatch-1.0.0.tar.gz", hash = "sha256:5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0"}, ] -[[package]] -name = "mypy" -version = "0.931" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mypy-0.931-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c5b42d0815e15518b1f0990cff7a705805961613e701db60387e6fb663fe78a"}, - {file = "mypy-0.931-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c89702cac5b302f0c5d33b172d2b55b5df2bede3344a2fbed99ff96bddb2cf00"}, - {file = "mypy-0.931-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:300717a07ad09525401a508ef5d105e6b56646f7942eb92715a1c8d610149714"}, - {file = "mypy-0.931-cp310-cp310-win_amd64.whl", hash = "sha256:7b3f6f557ba4afc7f2ce6d3215d5db279bcf120b3cfd0add20a5d4f4abdae5bc"}, - {file = "mypy-0.931-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:1bf752559797c897cdd2c65f7b60c2b6969ffe458417b8d947b8340cc9cec08d"}, - {file = "mypy-0.931-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4365c60266b95a3f216a3047f1d8e3f895da6c7402e9e1ddfab96393122cc58d"}, - {file = "mypy-0.931-cp36-cp36m-win_amd64.whl", hash = "sha256:1b65714dc296a7991000b6ee59a35b3f550e0073411ac9d3202f6516621ba66c"}, - {file = "mypy-0.931-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e839191b8da5b4e5d805f940537efcaa13ea5dd98418f06dc585d2891d228cf0"}, - {file = "mypy-0.931-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:50c7346a46dc76a4ed88f3277d4959de8a2bd0a0fa47fa87a4cde36fe247ac05"}, - {file = "mypy-0.931-cp37-cp37m-win_amd64.whl", hash = "sha256:d8f1ff62f7a879c9fe5917b3f9eb93a79b78aad47b533911b853a757223f72e7"}, - {file = "mypy-0.931-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f9fe20d0872b26c4bba1c1be02c5340de1019530302cf2dcc85c7f9fc3252ae0"}, - {file = "mypy-0.931-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1b06268df7eb53a8feea99cbfff77a6e2b205e70bf31743e786678ef87ee8069"}, - {file = "mypy-0.931-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8c11003aaeaf7cc2d0f1bc101c1cc9454ec4cc9cb825aef3cafff8a5fdf4c799"}, - {file = "mypy-0.931-cp38-cp38-win_amd64.whl", hash = "sha256:d9d2b84b2007cea426e327d2483238f040c49405a6bf4074f605f0156c91a47a"}, - {file = "mypy-0.931-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ff3bf387c14c805ab1388185dd22d6b210824e164d4bb324b195ff34e322d166"}, - {file = "mypy-0.931-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5b56154f8c09427bae082b32275a21f500b24d93c88d69a5e82f3978018a0266"}, - {file = "mypy-0.931-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ca7f8c4b1584d63c9a0f827c37ba7a47226c19a23a753d52e5b5eddb201afcd"}, - {file = "mypy-0.931-cp39-cp39-win_amd64.whl", hash = "sha256:74f7eccbfd436abe9c352ad9fb65872cc0f1f0a868e9d9c44db0893440f0c697"}, - {file = "mypy-0.931-py3-none-any.whl", hash = "sha256:1171f2e0859cfff2d366da2c7092b06130f232c636a3f7301e3feb8b41f6377d"}, - {file = "mypy-0.931.tar.gz", hash = "sha256:0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce"}, -] - -[package.dependencies] -mypy-extensions = ">=0.4.3" -tomli = ">=1.1.0" -typing-extensions = ">=3.10" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -python2 = ["typed-ast (>=1.4.0,<2)"] - [[package]] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2610,6 +2681,7 @@ files = [ name = "myst-parser" version = "0.17.2" description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2636,6 +2708,7 @@ testing = ["beautifulsoup4", "coverage", "docutils (>=0.17.0,<0.18.0)", "pytest name = "nbclassic" version = "1.0.0" description = "Jupyter Notebook as a Jupyter Server extension." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2671,6 +2744,7 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-p name = "nbclient" version = "0.8.0" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +category = "main" optional = true python-versions = ">=3.8.0" files = [ @@ -2680,7 +2754,7 @@ files = [ [package.dependencies] jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" nbformat = ">=5.1" traitlets = ">=5.4" @@ -2693,6 +2767,7 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= name = "nbconvert" version = "7.10.0" description = "Converting Jupyter Notebooks" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2731,6 +2806,7 @@ webpdf = ["playwright"] name = "nbformat" version = "5.9.2" description = "The Jupyter Notebook format" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2752,6 +2828,7 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] name = "nest-asyncio" version = "1.5.8" description = "Patch asyncio to allow nested event loops" +category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2763,6 +2840,7 @@ files = [ name = "networkx" version = "3.1" description = "Python package for creating and manipulating graphs and networks" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2781,6 +2859,7 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -2793,13 +2872,14 @@ setuptools = "*" [[package]] name = "notebook" -version = "6.5.4" +version = "6.5.6" description = "A web-based notebook environment for interactive computing" +category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "notebook-6.5.4-py3-none-any.whl", hash = "sha256:dd17e78aefe64c768737b32bf171c1c766666a21cc79a44d37a1700771cab56f"}, - {file = "notebook-6.5.4.tar.gz", hash = "sha256:517209568bd47261e2def27a140e97d49070602eea0d226a696f42a7f16c9a4e"}, + {file = "notebook-6.5.6-py3-none-any.whl", hash = "sha256:c1e2eb2e3b6079a0552a04974883a48d04c3c05792170d64a4b23d707d453181"}, + {file = "notebook-6.5.6.tar.gz", hash = "sha256:b4625a4b7a597839dd3156b140d5ba2c7123761f98245a3290f67a8b8ee048d9"}, ] [package.dependencies] @@ -2807,14 +2887,14 @@ argon2-cffi = "*" ipykernel = "*" ipython-genutils = "*" jinja2 = "*" -jupyter-client = ">=5.3.4" +jupyter-client = ">=5.3.4,<8" jupyter-core = ">=4.6.1" nbclassic = ">=0.4.7" nbconvert = ">=5" nbformat = "*" nest-asyncio = ">=1.5" prometheus-client = "*" -pyzmq = ">=17" +pyzmq = ">=17,<25" Send2Trash = ">=1.8.0" terminado = ">=0.8.3" tornado = ">=6.1" @@ -2829,6 +2909,7 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixs name = "notebook-shim" version = "0.2.3" description = "A shim layer for notebook traits and config" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2846,6 +2927,7 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" name = "numpy" version = "1.24.4" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2883,6 +2965,7 @@ files = [ name = "overrides" version = "7.4.0" description = "A decorator to automatically detect mismatch when overriding a method." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2894,6 +2977,7 @@ files = [ name = "packaging" version = "23.2" description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2905,6 +2989,7 @@ files = [ name = "pandocfilters" version = "1.5.0" description = "Utilities for writing pandoc filters in python" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2916,6 +3001,7 @@ files = [ name = "parso" version = "0.8.3" description = "A Python Parser" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2931,6 +3017,7 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2942,6 +3029,7 @@ files = [ name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." +category = "main" optional = true python-versions = "*" files = [ @@ -2956,6 +3044,7 @@ ptyprocess = ">=0.5" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" +category = "main" optional = true python-versions = "*" files = [ @@ -2967,6 +3056,7 @@ files = [ name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3046,6 +3136,7 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3057,6 +3148,7 @@ files = [ name = "platformdirs" version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3072,6 +3164,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pluggy" version = "1.3.0" description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3087,6 +3180,7 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "2.21.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3105,6 +3199,7 @@ virtualenv = ">=20.10.0" name = "prometheus-client" version = "0.18.0" description = "Python client for the Prometheus monitoring system." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3119,6 +3214,7 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.39" description = "Library for building powerful interactive command lines in Python" +category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -3133,6 +3229,7 @@ wcwidth = "*" name = "psutil" version = "5.9.6" description = "Cross-platform lib for process and system monitoring in Python." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3161,6 +3258,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psutil-wheels" version = "5.8.0" description = "Cross-platform lib for process and system monitoring in Python." +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3186,6 +3284,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "unittest2", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" +category = "main" optional = true python-versions = "*" files = [ @@ -3197,6 +3296,7 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" +category = "main" optional = true python-versions = "*" files = [ @@ -3211,6 +3311,7 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3222,6 +3323,7 @@ files = [ name = "pycairo" version = "1.25.1" description = "Python interface for cairo" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3246,6 +3348,7 @@ files = [ name = "pycodestyle" version = "2.7.0" description = "Python style guide checker" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3257,6 +3360,7 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3268,6 +3372,7 @@ files = [ name = "pydocstyle" version = "6.3.0" description = "Python docstring style checker" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3285,6 +3390,7 @@ toml = ["tomli (>=1.2.3)"] name = "pydub" version = "0.25.1" description = "Manipulate audio with an simple and easy high level interface" +category = "main" optional = false python-versions = "*" files = [ @@ -3296,6 +3402,7 @@ files = [ name = "pyflakes" version = "2.3.1" description = "passive checker of Python programs" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3307,6 +3414,7 @@ files = [ name = "pygithub" version = "1.59.1" description = "Use the full Github API v3" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3324,6 +3432,7 @@ requests = ">=2.14.0" name = "pyglet" version = "2.0.9" description = "Cross-platform windowing and multimedia library" +category = "main" optional = false python-versions = "*" files = [ @@ -3335,6 +3444,7 @@ files = [ name = "pygments" version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3349,6 +3459,7 @@ plugins = ["importlib-metadata"] name = "pyjwt" version = "2.8.0" description = "JSON Web Token implementation in Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3369,6 +3480,7 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pylint" version = "2.17.7" description = "python code static checker" +category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -3398,6 +3510,7 @@ testutils = ["gitpython (>3)"] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3424,6 +3537,7 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyobjc-core" version = "10.0" description = "Python<->ObjC Interoperability Module" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3440,6 +3554,7 @@ files = [ name = "pyobjc-framework-cocoa" version = "10.0" description = "Wrappers for the Cocoa frameworks on macOS" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3459,6 +3574,7 @@ pyobjc-core = ">=10.0" name = "pyparsing" version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "dev" optional = false python-versions = ">=3.6.8" files = [ @@ -3473,6 +3589,7 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyrr" version = "0.10.3" description = "3D mathematical functions using NumPy" +category = "main" optional = false python-versions = "*" files = [ @@ -3488,6 +3605,7 @@ numpy = "*" name = "pytest" version = "7.4.3" description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3510,6 +3628,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-cov" version = "3.0.0" description = "Pytest plugin for measuring coverage." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3528,6 +3647,7 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "pytest-forked" version = "1.6.0" description = "run tests in isolated forked subprocesses" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3543,6 +3663,7 @@ pytest = ">=3.10" name = "pytest-xdist" version = "2.5.0" description = "pytest xdist plugin for distributed testing and loop-on-failing modes" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3564,6 +3685,7 @@ testing = ["filelock"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3578,6 +3700,7 @@ six = ">=1.5" name = "python-json-logger" version = "2.0.7" description = "A python library adding a json log formatter" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3589,6 +3712,7 @@ files = [ name = "pytz" version = "2023.3.post1" description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" files = [ @@ -3600,6 +3724,7 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" +category = "main" optional = true python-versions = "*" files = [ @@ -3623,6 +3748,7 @@ files = [ name = "pywinpty" version = "2.0.12" description = "Pseudo terminal support for Windows from Python." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3638,6 +3764,7 @@ files = [ name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3695,113 +3822,97 @@ files = [ [[package]] name = "pyzmq" -version = "25.1.1" +version = "24.0.1" description = "Python bindings for 0MQ" +category = "main" optional = true python-versions = ">=3.6" files = [ - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"}, - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"}, - {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"}, - {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"}, - {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"}, - {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"}, - {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"}, - {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"}, - {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"}, - {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"}, - {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"}, - {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"}, - {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"}, + {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:28b119ba97129d3001673a697b7cce47fe6de1f7255d104c2f01108a5179a066"}, + {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bcbebd369493d68162cddb74a9c1fcebd139dfbb7ddb23d8f8e43e6c87bac3a6"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae61446166983c663cee42c852ed63899e43e484abf080089f771df4b9d272ef"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87f7ac99b15270db8d53f28c3c7b968612993a90a5cf359da354efe96f5372b4"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca7c3956b03b7663fac4d150f5e6d4f6f38b2462c1e9afd83bcf7019f17913"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8c78bfe20d4c890cb5580a3b9290f700c570e167d4cdcc55feec07030297a5e3"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48f721f070726cd2a6e44f3c33f8ee4b24188e4b816e6dd8ba542c8c3bb5b246"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afe1f3bc486d0ce40abb0a0c9adb39aed3bbac36ebdc596487b0cceba55c21c1"}, + {file = "pyzmq-24.0.1-cp310-cp310-win32.whl", hash = "sha256:3e6192dbcefaaa52ed81be88525a54a445f4b4fe2fffcae7fe40ebb58bd06bfd"}, + {file = "pyzmq-24.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:86de64468cad9c6d269f32a6390e210ca5ada568c7a55de8e681ca3b897bb340"}, + {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:838812c65ed5f7c2bd11f7b098d2e5d01685a3f6d1f82849423b570bae698c00"}, + {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dfb992dbcd88d8254471760879d48fb20836d91baa90f181c957122f9592b3dc"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7abddb2bd5489d30ffeb4b93a428130886c171b4d355ccd226e83254fcb6b9ef"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94010bd61bc168c103a5b3b0f56ed3b616688192db7cd5b1d626e49f28ff51b3"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8242543c522d84d033fe79be04cb559b80d7eb98ad81b137ff7e0a9020f00ace"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ccb94342d13e3bf3ffa6e62f95b5e3f0bc6bfa94558cb37f4b3d09d6feb536ff"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6640f83df0ae4ae1104d4c62b77e9ef39be85ebe53f636388707d532bee2b7b8"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a180dbd5ea5d47c2d3b716d5c19cc3fb162d1c8db93b21a1295d69585bfddac1"}, + {file = "pyzmq-24.0.1-cp311-cp311-win32.whl", hash = "sha256:624321120f7e60336be8ec74a172ae7fba5c3ed5bf787cc85f7e9986c9e0ebc2"}, + {file = "pyzmq-24.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1724117bae69e091309ffb8255412c4651d3f6355560d9af312d547f6c5bc8b8"}, + {file = "pyzmq-24.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:15975747462ec49fdc863af906bab87c43b2491403ab37a6d88410635786b0f4"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b947e264f0e77d30dcbccbb00f49f900b204b922eb0c3a9f0afd61aaa1cedc3d"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ec91f1bad66f3ee8c6deb65fa1fe418e8ad803efedd69c35f3b5502f43bd1dc"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:db03704b3506455d86ec72c3358a779e9b1d07b61220dfb43702b7b668edcd0d"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:e7e66b4e403c2836ac74f26c4b65d8ac0ca1eef41dfcac2d013b7482befaad83"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7a23ccc1083c260fa9685c93e3b170baba45aeed4b524deb3f426b0c40c11639"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fa0ae3275ef706c0309556061185dd0e4c4cd3b7d6f67ae617e4e677c7a41e2e"}, + {file = "pyzmq-24.0.1-cp36-cp36m-win32.whl", hash = "sha256:f01de4ec083daebf210531e2cca3bdb1608dbbbe00a9723e261d92087a1f6ebc"}, + {file = "pyzmq-24.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:de4217b9eb8b541cf2b7fde4401ce9d9a411cc0af85d410f9d6f4333f43640be"}, + {file = "pyzmq-24.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:78068e8678ca023594e4a0ab558905c1033b2d3e806a0ad9e3094e231e115a33"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77c2713faf25a953c69cf0f723d1b7dd83827b0834e6c41e3fb3bbc6765914a1"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bb4af15f305056e95ca1bd086239b9ebc6ad55e9f49076d27d80027f72752f6"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0f14cffd32e9c4c73da66db97853a6aeceaac34acdc0fae9e5bbc9370281864c"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0108358dab8c6b27ff6b985c2af4b12665c1bc659648284153ee501000f5c107"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d66689e840e75221b0b290b0befa86f059fb35e1ee6443bce51516d4d61b6b99"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ae08ac90aa8fa14caafc7a6251bd218bf6dac518b7bff09caaa5e781119ba3f2"}, + {file = "pyzmq-24.0.1-cp37-cp37m-win32.whl", hash = "sha256:8421aa8c9b45ea608c205db9e1c0c855c7e54d0e9c2c2f337ce024f6843cab3b"}, + {file = "pyzmq-24.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54d8b9c5e288362ec8595c1d98666d36f2070fd0c2f76e2b3c60fbad9bd76227"}, + {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:acbd0a6d61cc954b9f535daaa9ec26b0a60a0d4353c5f7c1438ebc88a359a47e"}, + {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47b11a729d61a47df56346283a4a800fa379ae6a85870d5a2e1e4956c828eedc"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abe6eb10122f0d746a0d510c2039ae8edb27bc9af29f6d1b05a66cc2401353ff"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:07bec1a1b22dacf718f2c0e71b49600bb6a31a88f06527dfd0b5aababe3fa3f7"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d945a85b70da97ae86113faf9f1b9294efe66bd4a5d6f82f2676d567338b66"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1b7928bb7580736ffac5baf814097be342ba08d3cfdfb48e52773ec959572287"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b946da90dc2799bcafa682692c1d2139b2a96ec3c24fa9fc6f5b0da782675330"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c8840f064b1fb377cffd3efeaad2b190c14d4c8da02316dae07571252d20b31f"}, + {file = "pyzmq-24.0.1-cp38-cp38-win32.whl", hash = "sha256:4854f9edc5208f63f0841c0c667260ae8d6846cfa233c479e29fdc85d42ebd58"}, + {file = "pyzmq-24.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:42d4f97b9795a7aafa152a36fe2ad44549b83a743fd3e77011136def512e6c2a"}, + {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:52afb0ac962963fff30cf1be775bc51ae083ef4c1e354266ab20e5382057dd62"}, + {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bad8210ad4df68c44ff3685cca3cda448ee46e20d13edcff8909eba6ec01ca4"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dabf1a05318d95b1537fd61d9330ef4313ea1216eea128a17615038859da3b3b"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5bd3d7dfd9cd058eb68d9a905dec854f86649f64d4ddf21f3ec289341386c44b"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8012bce6836d3f20a6c9599f81dfa945f433dab4dbd0c4917a6fb1f998ab33d"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c31805d2c8ade9b11feca4674eee2b9cce1fec3e8ddb7bbdd961a09dc76a80ea"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3104f4b084ad5d9c0cb87445cc8cfd96bba710bef4a66c2674910127044df209"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:df0841f94928f8af9c7a1f0aaaffba1fb74607af023a152f59379c01c53aee58"}, + {file = "pyzmq-24.0.1-cp39-cp39-win32.whl", hash = "sha256:a435ef8a3bd95c8a2d316d6e0ff70d0db524f6037411652803e118871d703333"}, + {file = "pyzmq-24.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:2032d9cb994ce3b4cba2b8dfae08c7e25bc14ba484c770d4d3be33c27de8c45b"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bb5635c851eef3a7a54becde6da99485eecf7d068bd885ac8e6d173c4ecd68b0"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:83ea1a398f192957cb986d9206ce229efe0ee75e3c6635baff53ddf39bd718d5"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:941fab0073f0a54dc33d1a0460cb04e0d85893cb0c5e1476c785000f8b359409"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e8f482c44ccb5884bf3f638f29bea0f8dc68c97e38b2061769c4cb697f6140d"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:613010b5d17906c4367609e6f52e9a2595e35d5cc27d36ff3f1b6fa6e954d944"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:65c94410b5a8355cfcf12fd600a313efee46ce96a09e911ea92cf2acf6708804"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:20e7eeb1166087db636c06cae04a1ef59298627f56fb17da10528ab52a14c87f"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2712aee7b3834ace51738c15d9ee152cc5a98dc7d57dd93300461b792ab7b43"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a7c280185c4da99e0cc06c63bdf91f5b0b71deb70d8717f0ab870a43e376db8"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:858375573c9225cc8e5b49bfac846a77b696b8d5e815711b8d4ba3141e6e8879"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:80093b595921eed1a2cead546a683b9e2ae7f4a4592bb2ab22f70d30174f003a"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f3f3154fde2b1ff3aa7b4f9326347ebc89c8ef425ca1db8f665175e6d3bd42f"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb756147314430bee5d10919b8493c0ccb109ddb7f5dfd2fcd7441266a25b75"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44e706bac34e9f50779cb8c39f10b53a4d15aebb97235643d3112ac20bd577b4"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:687700f8371643916a1d2c61f3fdaa630407dd205c38afff936545d7b7466066"}, + {file = "pyzmq-24.0.1.tar.gz", hash = "sha256:216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77"}, ] [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} +py = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] name = "recommonmark" version = "0.7.1" description = "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects." +category = "dev" optional = false python-versions = "*" files = [ @@ -3818,6 +3929,7 @@ sphinx = ">=1.3.1" name = "referencing" version = "0.30.2" description = "JSON Referencing + Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3833,6 +3945,7 @@ rpds-py = ">=0.7.0" name = "requests" version = "2.31.0" description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3854,6 +3967,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "restructuredtext-lint" version = "1.4.0" description = "reStructuredText linter" +category = "dev" optional = false python-versions = "*" files = [ @@ -3867,6 +3981,7 @@ docutils = ">=0.11,<1.0" name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3881,6 +3996,7 @@ six = "*" name = "rfc3986-validator" version = "0.1.1" description = "Pure python rfc3986 validator" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3892,6 +4008,7 @@ files = [ name = "rich" version = "13.6.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -3911,6 +4028,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rpds-py" version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4019,6 +4137,7 @@ files = [ name = "scipy" version = "1.10.1" description = "Fundamental algorithms for scientific computing in Python" +category = "main" optional = false python-versions = "<3.12,>=3.8" files = [ @@ -4057,6 +4176,7 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo name = "screeninfo" version = "0.8.1" description = "Fetch location and size of physical screens." +category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" files = [ @@ -4072,6 +4192,7 @@ pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} name = "send2trash" version = "1.8.2" description = "Send file to trash natively under Mac OS X, Windows and Linux" +category = "main" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -4088,6 +4209,7 @@ win32 = ["pywin32"] name = "setuptools" version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4104,6 +4226,7 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar name = "setuptools-scm" version = "8.0.4" description = "the blessed package to manage your versions by scm tags" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4126,6 +4249,7 @@ test = ["build", "pytest", "rich", "wheel"] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -4137,6 +4261,7 @@ files = [ name = "skia-pathops" version = "0.7.4" description = "Python access to operations on paths using the Skia library" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4192,6 +4317,7 @@ testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] name = "smmap" version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4203,6 +4329,7 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4214,6 +4341,7 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" optional = false python-versions = "*" files = [ @@ -4225,6 +4353,7 @@ files = [ name = "soupsieve" version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4236,6 +4365,7 @@ files = [ name = "sphinx" version = "4.5.0" description = "Python documentation generator" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4271,6 +4401,7 @@ test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"] name = "sphinx-basic-ng" version = "1.0.0b2" description = "A modern skeleton for Sphinx themes." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4288,6 +4419,7 @@ docs = ["furo", "ipython", "myst-parser", "sphinx-copybutton", "sphinx-inline-ta name = "sphinx-copybutton" version = "0.4.0" description = "Add a copy button to each of your code cells." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4306,6 +4438,7 @@ rtd = ["ipython", "sphinx", "sphinx-book-theme"] name = "sphinxcontrib-applehelp" version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4321,6 +4454,7 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4336,6 +4470,7 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4351,6 +4486,7 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4365,6 +4501,7 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-programoutput" version = "0.17" description = "Sphinx extension to include program output" +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -4379,6 +4516,7 @@ Sphinx = ">=1.7.0" name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4394,6 +4532,7 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4409,6 +4548,7 @@ test = ["pytest"] name = "sphinxext-opengraph" version = "0.8.2" description = "Sphinx Extension to enable OGP support" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4424,6 +4564,7 @@ sphinx = ">=4.0" name = "srt" version = "3.5.3" description = "A tiny library for parsing, modifying, and composing SRT files." +category = "main" optional = false python-versions = ">=2.7" files = [ @@ -4434,6 +4575,7 @@ files = [ name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" +category = "main" optional = true python-versions = "*" files = [ @@ -4453,6 +4595,7 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "svgelements" version = "1.9.6" description = "Svg Elements Parsing" +category = "main" optional = false python-versions = "*" files = [ @@ -4464,6 +4607,7 @@ files = [ name = "terminado" version = "0.17.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4484,6 +4628,7 @@ test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] name = "tinycss2" version = "1.2.1" description = "A tiny CSS parser" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4502,6 +4647,7 @@ test = ["flake8", "isort", "pytest"] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4513,6 +4659,7 @@ files = [ name = "tomlkit" version = "0.12.2" description = "Style preserving TOML library" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4524,6 +4671,7 @@ files = [ name = "tornado" version = "6.3.3" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "main" optional = true python-versions = ">= 3.8" files = [ @@ -4544,6 +4692,7 @@ files = [ name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4564,6 +4713,7 @@ telegram = ["requests"] name = "traitlets" version = "5.13.0" description = "Traitlets Python configuration system" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4579,6 +4729,7 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.6.0)", "pre-commit", "pytest (>=7.0, name = "types-decorator" version = "0.1.7" description = "Typing stubs for decorator" +category = "dev" optional = false python-versions = "*" files = [ @@ -4590,6 +4741,7 @@ files = [ name = "types-docutils" version = "0.20.0.3" description = "Typing stubs for docutils" +category = "dev" optional = false python-versions = "*" files = [ @@ -4599,19 +4751,21 @@ files = [ [[package]] name = "types-pillow" -version = "8.3.11" +version = "9.5.0.6" description = "Typing stubs for Pillow" +category = "dev" optional = false python-versions = "*" files = [ - {file = "types-Pillow-8.3.11.tar.gz", hash = "sha256:aa96a739184f48f69e6f30218400623fc5a95f5fec199c447663a32538440405"}, - {file = "types_Pillow-8.3.11-py3-none-any.whl", hash = "sha256:998189334e616b1dd42c9634669efbf726184039e96e9a23ec95246e0ecff3fc"}, + {file = "types-Pillow-9.5.0.6.tar.gz", hash = "sha256:6a0cad40686e5c35fe7ada70f52bd3970395d31ece33486609e5420e820a9e4e"}, + {file = "types_Pillow-9.5.0.6-py3-none-any.whl", hash = "sha256:1d238abaa9d529b04941d805b7f4d3f7df30702bb14521ec507617f117406fb4"}, ] [[package]] name = "types-protobuf" version = "3.20.4.6" description = "Typing stubs for protobuf" +category = "dev" optional = false python-versions = "*" files = [ @@ -4623,6 +4777,7 @@ files = [ name = "types-pygments" version = "2.16.0.0" description = "Typing stubs for Pygments" +category = "dev" optional = false python-versions = "*" files = [ @@ -4638,6 +4793,7 @@ types-setuptools = "*" name = "types-python-dateutil" version = "2.8.19.14" description = "Typing stubs for python-dateutil" +category = "main" optional = true python-versions = "*" files = [ @@ -4649,6 +4805,7 @@ files = [ name = "types-requests" version = "2.31.0.10" description = "Typing stubs for requests" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4663,6 +4820,7 @@ urllib3 = ">=2" name = "types-setuptools" version = "57.4.18" description = "Typing stubs for setuptools" +category = "dev" optional = false python-versions = "*" files = [ @@ -4674,6 +4832,7 @@ files = [ name = "typing-extensions" version = "4.8.0" description = "Backported and Experimental Type Hints for Python 3.8+" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4685,6 +4844,7 @@ files = [ name = "uri-template" version = "1.3.0" description = "RFC 6570 URI Template Processor" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4699,6 +4859,7 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake name = "urllib3" version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4716,6 +4877,7 @@ zstd = ["zstandard (>=0.18.0)"] name = "virtualenv" version = "20.24.6" description = "Virtual Python Environment builder" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4736,6 +4898,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "watchdog" version = "3.0.0" description = "Filesystem events monitoring" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4775,6 +4938,7 @@ watchmedo = ["PyYAML (>=3.10)"] name = "wcwidth" version = "0.2.9" description = "Measures the displayed width of unicode strings in a terminal" +category = "main" optional = true python-versions = "*" files = [ @@ -4786,6 +4950,7 @@ files = [ name = "webcolors" version = "1.13" description = "A library for working with the color formats defined by HTML and CSS." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4801,6 +4966,7 @@ tests = ["pytest", "pytest-cov"] name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" +category = "main" optional = true python-versions = "*" files = [ @@ -4812,6 +4978,7 @@ files = [ name = "websocket-client" version = "1.6.4" description = "WebSocket client for Python with low level API options" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4828,6 +4995,7 @@ test = ["websockets"] name = "wrapt" version = "1.15.0" description = "Module for decorators, wrappers and monkey patching." +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -4912,6 +5080,7 @@ files = [ name = "y-py" version = "0.6.2" description = "Python bindings for the Y-CRDT built from yrs (Rust)" +category = "main" optional = true python-versions = "*" files = [ @@ -4995,6 +5164,7 @@ files = [ name = "ypy-websocket" version = "0.8.4" description = "WebSocket connector for Ypy" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5014,6 +5184,7 @@ test = ["mypy", "pre-commit", "pytest", "pytest-asyncio", "websockets (>=10.0)"] name = "zipp" version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5032,4 +5203,4 @@ jupyterlab = ["jupyterlab", "notebook"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.12" -content-hash = "fcf22a432b1736dc21eeefb88afc680020c64357eb7f8b1ba4b4fa7d030debaa" +content-hash = "aeec95f223cfa390c61f8ffa470c01d9417c286022443c3560e5e30b467b7060" diff --git a/pyproject.toml b/pyproject.toml index 7b9f1a824f..57eb56b605 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ packages = [ python = ">=3.8,<3.12" click = ">=7.2,<=9.0" click-default-group = "^1.2.2" -numpy = "^1.19" +numpy = ">=1.22" Pillow = ">=9.1,<10.0" scipy = "^1.7.3" tqdm = "^4.62.3" @@ -78,12 +78,11 @@ pygithub = "^1" flake8 = "^3.9.0" isort = "^5.8.0" pytest-xdist = "^2.2" -mypy = "^0.931" types-requests = "^2.25.6" types-protobuf = "^3.17.4" types-decorator = "^0.1.7" types-setuptools = "^57.0.2" -types-Pillow = "^8.3.3" +types-Pillow = "^9.3.0.4" types-Pygments = "^2.9.2" flake8-builtins = "^1.5.3" flake8-bugbear = "^21.4.3" From 652f1b3d6a031ec6151755e576ffc2315831dfc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Bla=C5=BEej?= <6208643+vaclavblazej@users.noreply.github.com> Date: Sat, 4 Nov 2023 13:36:22 +0000 Subject: [PATCH 19/29] fix: issue with ImageMobject bounding box (#3340) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: fix an issue with ImageMobject bounding box A missing point resulted in smaller bounding box causing issues it to be smaller when the object is rotated. Added the missing fourth point to ImageMobject points and altered call from camera. Filled in docstring that used to propagate from superclass, saying that ImageMobject has no points. * add a test to check that rotating an image to and from doesn't change it * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Václav Blažej Co-authored-by: Naveen M K Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/camera/camera.py | 2 +- manim/mobject/types/image_mobject.py | 3 ++- tests/test_graphical_units/test_img_and_svg.py | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/manim/camera/camera.py b/manim/camera/camera.py index fe7f58ef23..902793cdb3 100644 --- a/manim/camera/camera.py +++ b/manim/camera/camera.py @@ -965,7 +965,7 @@ def display_image_mobject( The Pixel array to put the imagemobject in. """ corner_coords = self.points_to_pixel_coords(image_mobject, image_mobject.points) - ul_coords, ur_coords, dl_coords = corner_coords + ul_coords, ur_coords, dl_coords, _ = corner_coords right_vect = ur_coords - ul_coords down_vect = dl_coords - ul_coords center_coords = ul_coords + (right_vect + down_vect) / 2 diff --git a/manim/mobject/types/image_mobject.py b/manim/mobject/types/image_mobject.py index 5cefb1ac93..cb0248d3a5 100644 --- a/manim/mobject/types/image_mobject.py +++ b/manim/mobject/types/image_mobject.py @@ -86,12 +86,13 @@ def set_resampling_algorithm(self, resampling_algorithm: int): return self def reset_points(self): - # Corresponding corners of image are fixed to these 3 points + """Sets :attr:`points` to be the four image corners.""" self.points = np.array( [ UP + LEFT, UP + RIGHT, DOWN + LEFT, + DOWN + RIGHT, ], ) self.center() diff --git a/tests/test_graphical_units/test_img_and_svg.py b/tests/test_graphical_units/test_img_and_svg.py index b234431abb..b2ae820cb6 100644 --- a/tests/test_graphical_units/test_img_and_svg.py +++ b/tests/test_graphical_units/test_img_and_svg.py @@ -284,3 +284,20 @@ def test_ImageInterpolation(scene): scene.add(img1, img2, img3, img4, img5) [s.shift(4 * LEFT + pos * 2 * RIGHT) for pos, s in enumerate(scene.mobjects)] scene.wait() + + +def test_ImageMobject_points_length(): + file_path = get_svg_resource("tree_img_640x351.png") + im1 = ImageMobject(file_path) + assert len(im1.points) == 4 + + +def test_ImageMobject_rotation(): + # see https://github.com/ManimCommunity/manim/issues/3067 + # rotating an image to and from the same angle should not change the image + file_path = get_svg_resource("tree_img_640x351.png") + im1 = ImageMobject(file_path) + im2 = im1.copy() + im1.rotate(PI / 2) + im1.rotate(-PI / 2) + np.testing.assert_array_equal(im1.points, im2.points) From 8fe16659157b2f4dfe1458f112cc06f3de0c231b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Eertmans?= Date: Sat, 4 Nov 2023 14:36:51 +0100 Subject: [PATCH 20/29] chore(deps): add Python 3.12 support (#3395) * chore(deps): add Python 3.11 and 3.12 support chore(deps): update lock file chore(deps): remove colour fix(deps): force NumPy version fix(deps): relax constraints chore(deps): update lock file * fix(deps): make poetry happy * fix(ci): skia pathops on 3.12 * fix(test): doctest skip * disable python 3.8 pipeline * removed get_parameters, replaced by direct call to inspect * black --------- Co-authored-by: Benjamin Hackl --- .github/workflows/ci.yml | 2 +- manim/animation/speedmodifier.py | 6 +- manim/mobject/mobject.py | 17 +- manim/mobject/opengl/opengl_mobject.py | 4 +- manim/renderer/shader.py | 4 +- manim/utils/simple_functions.py | 18 -- poetry.lock | 349 +++++++++++++++++-------- pyproject.toml | 18 +- 8 files changed, 277 insertions(+), 141 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f385d50c5..53e3b4d87a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04, macos-latest, windows-latest] - python: ["3.8", "3.9", "3.10", "3.11"] + python: ["3.9", "3.10", "3.11", "3.12"] steps: - name: Checkout the repository diff --git a/manim/animation/speedmodifier.py b/manim/animation/speedmodifier.py index 8aa71646b2..93685f6426 100644 --- a/manim/animation/speedmodifier.py +++ b/manim/animation/speedmodifier.py @@ -2,13 +2,12 @@ from __future__ import annotations +import inspect import types from typing import Callable from numpy import piecewise -from manim.utils.simple_functions import get_parameters - from ..animation.animation import Animation, Wait, prepare_animation from ..animation.composition import AnimationGroup from ..mobject.mobject import Mobject, Updater, _AnimationBuilder @@ -260,8 +259,7 @@ def add_updater( :class:`.ChangeSpeed` :meth:`.Mobject.add_updater` """ - parameters = get_parameters(update_function) - if "dt" in parameters: + if "dt" in inspect.signature(update_function).parameters: mobject.add_updater( lambda mob, dt: update_function( mob, ChangeSpeed.dt if ChangeSpeed.is_changing_dt else dt diff --git a/manim/mobject/mobject.py b/manim/mobject/mobject.py index 1afa091cca..6a1f18c4c1 100644 --- a/manim/mobject/mobject.py +++ b/manim/mobject/mobject.py @@ -6,6 +6,7 @@ import copy +import inspect import itertools as it import math import operator as op @@ -36,7 +37,6 @@ from ..utils.exceptions import MultiAnimationOverrideException from ..utils.iterables import list_update, remove_list_redundancies from ..utils.paths import straight_path -from ..utils.simple_functions import get_parameters from ..utils.space_ops import angle_between_vectors, normalize, rotation_matrix # TODO: Explain array_attrs @@ -847,8 +847,7 @@ def update(self, dt: float = 0, recursive: bool = True) -> Self: if self.updating_suspended: return self for updater in self.updaters: - parameters = get_parameters(updater) - if "dt" in parameters: + if "dt" in inspect.signature(updater).parameters: updater(self, dt) else: updater(self) @@ -873,7 +872,11 @@ def get_time_based_updaters(self) -> list[TimeBasedUpdater]: :meth:`has_time_based_updater` """ - return [updater for updater in self.updaters if "dt" in get_parameters(updater)] + return [ + updater + for updater in self.updaters + if "dt" in inspect.signature(updater).parameters + ] def has_time_based_updater(self) -> bool: """Test if ``self`` has a time based updater. @@ -889,7 +892,9 @@ def has_time_based_updater(self) -> bool: :meth:`get_time_based_updaters` """ - return any("dt" in get_parameters(updater) for updater in self.updaters) + return any( + "dt" in inspect.signature(updater).parameters for updater in self.updaters + ) def get_updaters(self) -> list[Updater]: """Return all updaters. @@ -982,7 +987,7 @@ def construct(self): else: self.updaters.insert(index, update_function) if call_updater: - parameters = get_parameters(update_function) + parameters = inspect.signature(update_function).parameters if "dt" in parameters: update_function(self, 0) else: diff --git a/manim/mobject/opengl/opengl_mobject.py b/manim/mobject/opengl/opengl_mobject.py index 3425fdd9e8..a94c3ad391 100644 --- a/manim/mobject/opengl/opengl_mobject.py +++ b/manim/mobject/opengl/opengl_mobject.py @@ -1,6 +1,7 @@ from __future__ import annotations import copy +import inspect import itertools as it import random import sys @@ -37,7 +38,6 @@ uniq_chain, ) from manim.utils.paths import straight_path -from manim.utils.simple_functions import get_parameters from manim.utils.space_ops import ( angle_between_vectors, normalize, @@ -1383,7 +1383,7 @@ def get_family_updaters(self): return list(it.chain(*(sm.get_updaters() for sm in self.get_family()))) def add_updater(self, update_function, index=None, call_updater=False): - if "dt" in get_parameters(update_function): + if "dt" in inspect.signature(update_function).parameters: updater_list = self.time_based_updaters else: updater_list = self.non_time_updaters diff --git a/manim/renderer/shader.py b/manim/renderer/shader.py index 892ccb5892..85b9dad14a 100644 --- a/manim/renderer/shader.py +++ b/manim/renderer/shader.py @@ -1,5 +1,6 @@ from __future__ import annotations +import inspect import re import textwrap from pathlib import Path @@ -9,7 +10,6 @@ from .. import config from ..utils import opengl -from ..utils.simple_functions import get_parameters SHADER_FOLDER = Path(__file__).parent / "shaders" shader_program_cache: dict = {} @@ -199,7 +199,7 @@ def get_updaters(self): return self.time_based_updaters + self.non_time_updaters def add_updater(self, update_function, index=None, call_updater=True): - if "dt" in get_parameters(update_function): + if "dt" in inspect.signature(update_function).parameters: updater_list = self.time_based_updaters else: updater_list = self.non_time_updaters diff --git a/manim/utils/simple_functions.py b/manim/utils/simple_functions.py index 2a4a7afed6..72a0f8ddbd 100644 --- a/manim/utils/simple_functions.py +++ b/manim/utils/simple_functions.py @@ -6,7 +6,6 @@ "binary_search", "choose", "clip", - "get_parameters", "sigmoid", ] @@ -117,23 +116,6 @@ def clip(a, min_a, max_a): return a -def get_parameters(function: Callable) -> MappingProxyType[str, inspect.Parameter]: - """Return the parameters of ``function`` as an ordered mapping of parameters' - names to their corresponding ``Parameter`` objects. - - Examples - -------- - :: - - >>> get_parameters(get_parameters) - mappingproxy(OrderedDict([('function', )])) - - >>> tuple(get_parameters(choose)) - ('n', 'k') - """ - return inspect.signature(function).parameters - - def sigmoid(x: float) -> float: r"""Returns the output of the logistic function. diff --git a/poetry.lock b/poetry.lock index 0ded9d0217..03465d2035 100644 --- a/poetry.lock +++ b/poetry.lock @@ -237,6 +237,7 @@ files = [ [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} +setuptools = {version = "*", markers = "python_version >= \"3.12\""} [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] @@ -682,7 +683,10 @@ files = [ ] [package.dependencies] -numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} +numpy = [ + {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""}, + {version = ">=1.26.0rc1,<2.0", markers = "python_version >= \"3.12\""}, +] [package.extras] bokeh = ["bokeh", "selenium"] @@ -2961,6 +2965,48 @@ files = [ {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, ] +[[package]] +name = "numpy" +version = "1.26.1" +description = "Fundamental package for array computing in Python" +category = "main" +optional = false +python-versions = "<3.13,>=3.9" +files = [ + {file = "numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af"}, + {file = "numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67"}, + {file = "numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2"}, + {file = "numpy-1.26.1-cp310-cp310-win32.whl", hash = "sha256:d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297"}, + {file = "numpy-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974"}, + {file = "numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c"}, + {file = "numpy-1.26.1-cp311-cp311-win32.whl", hash = "sha256:b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b"}, + {file = "numpy-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124"}, + {file = "numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c"}, + {file = "numpy-1.26.1-cp312-cp312-win32.whl", hash = "sha256:af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66"}, + {file = "numpy-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908"}, + {file = "numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5"}, + {file = "numpy-1.26.1-cp39-cp39-win32.whl", hash = "sha256:d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104"}, + {file = "numpy-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f"}, + {file = "numpy-1.26.1.tar.gz", hash = "sha256:c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"}, +] + [[package]] name = "overrides" version = "7.4.0" @@ -4026,111 +4072,111 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.10.6" +version = "0.12.0" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = true python-versions = ">=3.8" files = [ - {file = "rpds_py-0.10.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6bdc11f9623870d75692cc33c59804b5a18d7b8a4b79ef0b00b773a27397d1f6"}, - {file = "rpds_py-0.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26857f0f44f0e791f4a266595a7a09d21f6b589580ee0585f330aaccccb836e3"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7f5e15c953ace2e8dde9824bdab4bec50adb91a5663df08d7d994240ae6fa31"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61fa268da6e2e1cd350739bb61011121fa550aa2545762e3dc02ea177ee4de35"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c48f3fbc3e92c7dd6681a258d22f23adc2eb183c8cb1557d2fcc5a024e80b094"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0503c5b681566e8b722fe8c4c47cce5c7a51f6935d5c7012c4aefe952a35eed"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:734c41f9f57cc28658d98270d3436dba65bed0cfc730d115b290e970150c540d"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a5d7ed104d158c0042a6a73799cf0eb576dfd5fc1ace9c47996e52320c37cb7c"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3df0bc35e746cce42579826b89579d13fd27c3d5319a6afca9893a9b784ff1b"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e0a78a9b843b8c2128028864901f55190401ba38aae685350cf69b98d9f7c9"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ed505ec6305abd2c2c9586a7b04fbd4baf42d4d684a9c12ec6110deefe2a063"}, - {file = "rpds_py-0.10.6-cp310-none-win32.whl", hash = "sha256:d97dd44683802000277bbf142fd9f6b271746b4846d0acaf0cefa6b2eaf2a7ad"}, - {file = "rpds_py-0.10.6-cp310-none-win_amd64.whl", hash = "sha256:b455492cab07107bfe8711e20cd920cc96003e0da3c1f91297235b1603d2aca7"}, - {file = "rpds_py-0.10.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e8cdd52744f680346ff8c1ecdad5f4d11117e1724d4f4e1874f3a67598821069"}, - {file = "rpds_py-0.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66414dafe4326bca200e165c2e789976cab2587ec71beb80f59f4796b786a238"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc435d059f926fdc5b05822b1be4ff2a3a040f3ae0a7bbbe672babb468944722"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e7f2219cb72474571974d29a191714d822e58be1eb171f229732bc6fdedf0ac"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3953c6926a63f8ea5514644b7afb42659b505ece4183fdaaa8f61d978754349e"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bb2e4826be25e72013916eecd3d30f66fd076110de09f0e750163b416500721"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf347b495b197992efc81a7408e9a83b931b2f056728529956a4d0858608b80"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:102eac53bb0bf0f9a275b438e6cf6904904908562a1463a6fc3323cf47d7a532"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40f93086eef235623aa14dbddef1b9fb4b22b99454cb39a8d2e04c994fb9868c"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e22260a4741a0e7a206e175232867b48a16e0401ef5bce3c67ca5b9705879066"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4e56860a5af16a0fcfa070a0a20c42fbb2012eed1eb5ceeddcc7f8079214281"}, - {file = "rpds_py-0.10.6-cp311-none-win32.whl", hash = "sha256:0774a46b38e70fdde0c6ded8d6d73115a7c39d7839a164cc833f170bbf539116"}, - {file = "rpds_py-0.10.6-cp311-none-win_amd64.whl", hash = "sha256:4a5ee600477b918ab345209eddafde9f91c0acd931f3776369585a1c55b04c57"}, - {file = "rpds_py-0.10.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:5ee97c683eaface61d38ec9a489e353d36444cdebb128a27fe486a291647aff6"}, - {file = "rpds_py-0.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0713631d6e2d6c316c2f7b9320a34f44abb644fc487b77161d1724d883662e31"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a53f5998b4bbff1cb2e967e66ab2addc67326a274567697379dd1e326bded7"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a555ae3d2e61118a9d3e549737bb4a56ff0cec88a22bd1dfcad5b4e04759175"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:945eb4b6bb8144909b203a88a35e0a03d22b57aefb06c9b26c6e16d72e5eb0f0"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52c215eb46307c25f9fd2771cac8135d14b11a92ae48d17968eda5aa9aaf5071"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b3cd23d905589cb205710b3988fc8f46d4a198cf12862887b09d7aaa6bf9b9"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64ccc28683666672d7c166ed465c09cee36e306c156e787acef3c0c62f90da5a"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:516a611a2de12fbea70c78271e558f725c660ce38e0006f75139ba337d56b1f6"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9ff93d3aedef11f9c4540cf347f8bb135dd9323a2fc705633d83210d464c579d"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d858532212f0650be12b6042ff4378dc2efbb7792a286bee4489eaa7ba010586"}, - {file = "rpds_py-0.10.6-cp312-none-win32.whl", hash = "sha256:3c4eff26eddac49d52697a98ea01b0246e44ca82ab09354e94aae8823e8bda02"}, - {file = "rpds_py-0.10.6-cp312-none-win_amd64.whl", hash = "sha256:150eec465dbc9cbca943c8e557a21afdcf9bab8aaabf386c44b794c2f94143d2"}, - {file = "rpds_py-0.10.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:cf693eb4a08eccc1a1b636e4392322582db2a47470d52e824b25eca7a3977b53"}, - {file = "rpds_py-0.10.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4134aa2342f9b2ab6c33d5c172e40f9ef802c61bb9ca30d21782f6e035ed0043"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e782379c2028a3611285a795b89b99a52722946d19fc06f002f8b53e3ea26ea9"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f6da6d842195fddc1cd34c3da8a40f6e99e4a113918faa5e60bf132f917c247"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a9fe992887ac68256c930a2011255bae0bf5ec837475bc6f7edd7c8dfa254e"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b788276a3c114e9f51e257f2a6f544c32c02dab4aa7a5816b96444e3f9ffc336"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa1afc70a02645809c744eefb7d6ee8fef7e2fad170ffdeacca267fd2674f13"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bddd4f91eede9ca5275e70479ed3656e76c8cdaaa1b354e544cbcf94c6fc8ac4"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:775049dfa63fb58293990fc59473e659fcafd953bba1d00fc5f0631a8fd61977"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c6c45a2d2b68c51fe3d9352733fe048291e483376c94f7723458cfd7b473136b"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0699ab6b8c98df998c3eacf51a3b25864ca93dab157abe358af46dc95ecd9801"}, - {file = "rpds_py-0.10.6-cp38-none-win32.whl", hash = "sha256:ebdab79f42c5961682654b851f3f0fc68e6cc7cd8727c2ac4ffff955154123c1"}, - {file = "rpds_py-0.10.6-cp38-none-win_amd64.whl", hash = "sha256:24656dc36f866c33856baa3ab309da0b6a60f37d25d14be916bd3e79d9f3afcf"}, - {file = "rpds_py-0.10.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:0898173249141ee99ffcd45e3829abe7bcee47d941af7434ccbf97717df020e5"}, - {file = "rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5752b761902cd15073a527b51de76bbae63d938dc7c5c4ad1e7d8df10e765138"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99a57006b4ec39dbfb3ed67e5b27192792ffb0553206a107e4aadb39c5004cd5"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09586f51a215d17efdb3a5f090d7cbf1633b7f3708f60a044757a5d48a83b393"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e225a6a14ecf44499aadea165299092ab0cba918bb9ccd9304eab1138844490b"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2039f8d545f20c4e52713eea51a275e62153ee96c8035a32b2abb772b6fc9e5"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:34ad87a831940521d462ac11f1774edf867c34172010f5390b2f06b85dcc6014"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dcdc88b6b01015da066da3fb76545e8bb9a6880a5ebf89e0f0b2e3ca557b3ab7"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25860ed5c4e7f5e10c496ea78af46ae8d8468e0be745bd233bab9ca99bfd2647"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7854a207ef77319ec457c1eb79c361b48807d252d94348305db4f4b62f40f7f3"}, - {file = "rpds_py-0.10.6-cp39-none-win32.whl", hash = "sha256:e6fcc026a3f27c1282c7ed24b7fcac82cdd70a0e84cc848c0841a3ab1e3dea2d"}, - {file = "rpds_py-0.10.6-cp39-none-win_amd64.whl", hash = "sha256:e98c4c07ee4c4b3acf787e91b27688409d918212dfd34c872201273fdd5a0e18"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:68fe9199184c18d997d2e4293b34327c0009a78599ce703e15cd9a0f47349bba"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3339eca941568ed52d9ad0f1b8eb9fe0958fa245381747cecf2e9a78a5539c42"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a360cfd0881d36c6dc271992ce1eda65dba5e9368575663de993eeb4523d895f"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:031f76fc87644a234883b51145e43985aa2d0c19b063e91d44379cd2786144f8"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f36a9d751f86455dc5278517e8b65580eeee37d61606183897f122c9e51cef3"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:052a832078943d2b2627aea0d19381f607fe331cc0eb5df01991268253af8417"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023574366002bf1bd751ebaf3e580aef4a468b3d3c216d2f3f7e16fdabd885ed"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:defa2c0c68734f4a82028c26bcc85e6b92cced99866af118cd6a89b734ad8e0d"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879fb24304ead6b62dbe5034e7b644b71def53c70e19363f3c3be2705c17a3b4"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:53c43e10d398e365da2d4cc0bcaf0854b79b4c50ee9689652cdc72948e86f487"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:40578a6469e5d1df71b006936ce95804edb5df47b520c69cf5af264d462f2cbb"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:cf71343646756a072b85f228d35b1d7407da1669a3de3cf47f8bbafe0c8183a4"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f32b53f424fc75ff7b713b2edb286fdbfc94bf16317890260a81c2c00385dc"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81de24a1c51cfb32e1fbf018ab0bdbc79c04c035986526f76c33e3f9e0f3356c"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac17044876e64a8ea20ab132080ddc73b895b4abe9976e263b0e30ee5be7b9c2"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e8a78bd4879bff82daef48c14d5d4057f6856149094848c3ed0ecaf49f5aec2"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78ca33811e1d95cac8c2e49cb86c0fb71f4d8409d8cbea0cb495b6dbddb30a55"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c63c3ef43f0b3fb00571cff6c3967cc261c0ebd14a0a134a12e83bdb8f49f21f"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:7fde6d0e00b2fd0dbbb40c0eeec463ef147819f23725eda58105ba9ca48744f4"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:79edd779cfc46b2e15b0830eecd8b4b93f1a96649bcb502453df471a54ce7977"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9164ec8010327ab9af931d7ccd12ab8d8b5dc2f4c6a16cbdd9d087861eaaefa1"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d29ddefeab1791e3c751e0189d5f4b3dbc0bbe033b06e9c333dca1f99e1d523e"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:30adb75ecd7c2a52f5e76af50644b3e0b5ba036321c390b8e7ec1bb2a16dd43c"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd609fafdcdde6e67a139898196698af37438b035b25ad63704fd9097d9a3482"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eef672de005736a6efd565577101277db6057f65640a813de6c2707dc69f396"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cf4393c7b41abbf07c88eb83e8af5013606b1cdb7f6bc96b1b3536b53a574b8"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad857f42831e5b8d41a32437f88d86ead6c191455a3499c4b6d15e007936d4cf"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d7360573f1e046cb3b0dceeb8864025aa78d98be4bb69f067ec1c40a9e2d9df"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d08f63561c8a695afec4975fae445245386d645e3e446e6f260e81663bfd2e38"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f0f17f2ce0f3529177a5fff5525204fad7b43dd437d017dd0317f2746773443d"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:442626328600bde1d09dc3bb00434f5374948838ce75c41a52152615689f9403"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e9616f5bd2595f7f4a04b67039d890348ab826e943a9bfdbe4938d0eba606971"}, - {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, + {file = "rpds_py-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c694bee70ece3b232df4678448fdda245fd3b1bb4ba481fb6cd20e13bb784c46"}, + {file = "rpds_py-0.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:30e5ce9f501fb1f970e4a59098028cf20676dee64fc496d55c33e04bbbee097d"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d72a4315514e5a0b9837a086cb433b004eea630afb0cc129de76d77654a9606f"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eebaf8c76c39604d52852366249ab807fe6f7a3ffb0dd5484b9944917244cdbe"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a239303acb0315091d54c7ff36712dba24554993b9a93941cf301391d8a997ee"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ced40cdbb6dd47a032725a038896cceae9ce267d340f59508b23537f05455431"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8c0226c71bd0ce9892eaf6afa77ae8f43a3d9313124a03df0b389c01f832de"}, + {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8e11715178f3608874508f08e990d3771e0b8c66c73eb4e183038d600a9b274"}, + {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5210a0018c7e09c75fa788648617ebba861ae242944111d3079034e14498223f"}, + {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:171d9a159f1b2f42a42a64a985e4ba46fc7268c78299272ceba970743a67ee50"}, + {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:57ec6baec231bb19bb5fd5fc7bae21231860a1605174b11585660236627e390e"}, + {file = "rpds_py-0.12.0-cp310-none-win32.whl", hash = "sha256:7188ddc1a8887194f984fa4110d5a3d5b9b5cd35f6bafdff1b649049cbc0ce29"}, + {file = "rpds_py-0.12.0-cp310-none-win_amd64.whl", hash = "sha256:1e04581c6117ad9479b6cfae313e212fe0dfa226ac727755f0d539cd54792963"}, + {file = "rpds_py-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:0a38612d07a36138507d69646c470aedbfe2b75b43a4643f7bd8e51e52779624"}, + {file = "rpds_py-0.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f12d69d568f5647ec503b64932874dade5a20255736c89936bf690951a5e79f5"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8a1d990dc198a6c68ec3d9a637ba1ce489b38cbfb65440a27901afbc5df575"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8c567c664fc2f44130a20edac73e0a867f8e012bf7370276f15c6adc3586c37c"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e9e976e0dbed4f51c56db10831c9623d0fd67aac02853fe5476262e5a22acb7"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:efddca2d02254a52078c35cadad34762adbae3ff01c6b0c7787b59d038b63e0d"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9e7f29c00577aff6b318681e730a519b235af292732a149337f6aaa4d1c5e31"}, + {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:389c0e38358fdc4e38e9995e7291269a3aead7acfcf8942010ee7bc5baee091c"}, + {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:33ab498f9ac30598b6406e2be1b45fd231195b83d948ebd4bd77f337cb6a2bff"}, + {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d56b1cd606ba4cedd64bb43479d56580e147c6ef3f5d1c5e64203a1adab784a2"}, + {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1fa73ed22c40a1bec98d7c93b5659cd35abcfa5a0a95ce876b91adbda170537c"}, + {file = "rpds_py-0.12.0-cp311-none-win32.whl", hash = "sha256:dbc25baa6abb205766fb8606f8263b02c3503a55957fcb4576a6bb0a59d37d10"}, + {file = "rpds_py-0.12.0-cp311-none-win_amd64.whl", hash = "sha256:c6b52b7028b547866c2413f614ee306c2d4eafdd444b1ff656bf3295bf1484aa"}, + {file = "rpds_py-0.12.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:9620650c364c01ed5b497dcae7c3d4b948daeae6e1883ae185fef1c927b6b534"}, + {file = "rpds_py-0.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2124f9e645a94ab7c853bc0a3644e0ca8ffbe5bb2d72db49aef8f9ec1c285733"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281c8b219d4f4b3581b918b816764098d04964915b2f272d1476654143801aa2"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:27ccc93c7457ef890b0dd31564d2a05e1aca330623c942b7e818e9e7c2669ee4"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1c562a9bb72244fa767d1c1ab55ca1d92dd5f7c4d77878fee5483a22ffac808"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e57919c32ee295a2fca458bb73e4b20b05c115627f96f95a10f9f5acbd61172d"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa35ad36440aaf1ac8332b4a4a433d4acd28f1613f0d480995f5cfd3580e90b7"}, + {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e6aea5c0eb5b0faf52c7b5c4a47c8bb64437173be97227c819ffa31801fa4e34"}, + {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:81cf9d306c04df1b45971c13167dc3bad625808aa01281d55f3cf852dde0e206"}, + {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:08e6e7ff286254016b945e1ab632ee843e43d45e40683b66dd12b73791366dd1"}, + {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d0a675a7acbbc16179188d8c6d0afb8628604fc1241faf41007255957335a0b"}, + {file = "rpds_py-0.12.0-cp312-none-win32.whl", hash = "sha256:b2287c09482949e0ca0c0eb68b2aca6cf57f8af8c6dfd29dcd3bc45f17b57978"}, + {file = "rpds_py-0.12.0-cp312-none-win_amd64.whl", hash = "sha256:8015835494b21aa7abd3b43fdea0614ee35ef6b03db7ecba9beb58eadf01c24f"}, + {file = "rpds_py-0.12.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6174d6ad6b58a6bcf67afbbf1723420a53d06c4b89f4c50763d6fa0a6ac9afd2"}, + {file = "rpds_py-0.12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a689e1ded7137552bea36305a7a16ad2b40be511740b80748d3140614993db98"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45321224144c25a62052035ce96cbcf264667bcb0d81823b1bbc22c4addd194"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aa32205358a76bf578854bf31698a86dc8b2cb591fd1d79a833283f4a403f04b"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91bd2b7cf0f4d252eec8b7046fa6a43cee17e8acdfc00eaa8b3dbf2f9a59d061"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3acadbab8b59f63b87b518e09c4c64b142e7286b9ca7a208107d6f9f4c393c5c"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:429349a510da82c85431f0f3e66212d83efe9fd2850f50f339341b6532c62fe4"}, + {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05942656cb2cb4989cd50ced52df16be94d344eae5097e8583966a1d27da73a5"}, + {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0c5441b7626c29dbd54a3f6f3713ec8e956b009f419ffdaaa3c80eaf98ddb523"}, + {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:b6b0e17d39d21698185097652c611f9cf30f7c56ccec189789920e3e7f1cee56"}, + {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3b7a64d43e2a1fa2dd46b678e00cabd9a49ebb123b339ce799204c44a593ae1c"}, + {file = "rpds_py-0.12.0-cp38-none-win32.whl", hash = "sha256:e5bbe011a2cea9060fef1bb3d668a2fd8432b8888e6d92e74c9c794d3c101595"}, + {file = "rpds_py-0.12.0-cp38-none-win_amd64.whl", hash = "sha256:bec29b801b4adbf388314c0d050e851d53762ab424af22657021ce4b6eb41543"}, + {file = "rpds_py-0.12.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:1096ca0bf2d3426cbe79d4ccc91dc5aaa73629b08ea2d8467375fad8447ce11a"}, + {file = "rpds_py-0.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48aa98987d54a46e13e6954880056c204700c65616af4395d1f0639eba11764b"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7979d90ee2190d000129598c2b0c82f13053dba432b94e45e68253b09bb1f0f6"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:88857060b690a57d2ea8569bca58758143c8faa4639fb17d745ce60ff84c867e"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4eb74d44776b0fb0782560ea84d986dffec8ddd94947f383eba2284b0f32e35e"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f62581d7e884dd01ee1707b7c21148f61f2febb7de092ae2f108743fcbef5985"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f5dcb658d597410bb7c967c1d24eaf9377b0d621358cbe9d2ff804e5dd12e81"}, + {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bf9acce44e967a5103fcd820fc7580c7b0ab8583eec4e2051aec560f7b31a63"}, + {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:240687b5be0f91fbde4936a329c9b7589d9259742766f74de575e1b2046575e4"}, + {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25740fb56e8bd37692ed380e15ec734be44d7c71974d8993f452b4527814601e"}, + {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a54917b7e9cd3a67e429a630e237a90b096e0ba18897bfb99ee8bd1068a5fea0"}, + {file = "rpds_py-0.12.0-cp39-none-win32.whl", hash = "sha256:b92aafcfab3d41580d54aca35a8057341f1cfc7c9af9e8bdfc652f83a20ced31"}, + {file = "rpds_py-0.12.0-cp39-none-win_amd64.whl", hash = "sha256:cd316dbcc74c76266ba94eb021b0cc090b97cca122f50bd7a845f587ff4bf03f"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0853da3d5e9bc6a07b2486054a410b7b03f34046c123c6561b535bb48cc509e1"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:cb41ad20064e18a900dd427d7cf41cfaec83bcd1184001f3d91a1f76b3fcea4e"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b710bf7e7ae61957d5c4026b486be593ed3ec3dca3e5be15e0f6d8cf5d0a4990"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a952ae3eb460c6712388ac2ec706d24b0e651b9396d90c9a9e0a69eb27737fdc"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bedd91ae1dd142a4dc15970ed2c729ff6c73f33a40fa84ed0cdbf55de87c777"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:761531076df51309075133a6bc1db02d98ec7f66e22b064b1d513bc909f29743"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2baa6be130e8a00b6cbb9f18a33611ec150b4537f8563bddadb54c1b74b8193"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f05450fa1cd7c525c0b9d1a7916e595d3041ac0afbed2ff6926e5afb6a781b7f"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:81c4d1a3a564775c44732b94135d06e33417e829ff25226c164664f4a1046213"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e888be685fa42d8b8a3d3911d5604d14db87538aa7d0b29b1a7ea80d354c732d"}, + {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6f8d7fe73d1816eeb5378409adc658f9525ecbfaf9e1ede1e2d67a338b0c7348"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0831d3ecdea22e4559cc1793f22e77067c9d8c451d55ae6a75bf1d116a8e7f42"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:513ccbf7420c30e283c25c82d5a8f439d625a838d3ba69e79a110c260c46813f"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:301bd744a1adaa2f6a5e06c98f1ac2b6f8dc31a5c23b838f862d65e32fca0d4b"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8832a4f83d4782a8f5a7b831c47e8ffe164e43c2c148c8160ed9a6d630bc02a"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b2416ed743ec5debcf61e1242e012652a4348de14ecc7df3512da072b074440"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35585a8cb5917161f42c2104567bb83a1d96194095fc54a543113ed5df9fa436"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d389ff1e95b6e46ebedccf7fd1fadd10559add595ac6a7c2ea730268325f832c"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b007c2444705a2dc4a525964fd4dd28c3320b19b3410da6517cab28716f27d3"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:188912b22b6c8225f4c4ffa020a2baa6ad8fabb3c141a12dbe6edbb34e7f1425"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b4cf9ab9a0ae0cb122685209806d3f1dcb63b9fccdf1424fb42a129dc8c2faa"}, + {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2d34a5450a402b00d20aeb7632489ffa2556ca7b26f4a63c35f6fccae1977427"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:466030a42724780794dea71eb32db83cc51214d66ab3fb3156edd88b9c8f0d78"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:68172622a5a57deb079a2c78511c40f91193548e8ab342c31e8cb0764d362459"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54cdfcda59251b9c2f87a05d038c2ae02121219a04d4a1e6fc345794295bdc07"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b75b912a0baa033350367a8a07a8b2d44fd5b90c890bfbd063a8a5f945f644b"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47aeceb4363851d17f63069318ba5721ae695d9da55d599b4d6fb31508595278"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0525847f83f506aa1e28eb2057b696fe38217e12931c8b1b02198cfe6975e142"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efbe0b5e0fd078ed7b005faa0170da4f72666360f66f0bb2d7f73526ecfd99f9"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0fadfdda275c838cba5102c7f90a20f2abd7727bf8f4a2b654a5b617529c5c18"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:56dd500411d03c5e9927a1eb55621e906837a83b02350a9dc401247d0353717c"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:6915fc9fa6b3ec3569566832e1bb03bd801c12cea030200e68663b9a87974e76"}, + {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5f1519b080d8ce0a814f17ad9fb49fb3a1d4d7ce5891f5c85fc38631ca3a8dc4"}, + {file = "rpds_py-0.12.0.tar.gz", hash = "sha256:7036316cc26b93e401cedd781a579be606dad174829e6ad9e9c5a0da6e036f80"}, ] [[package]] @@ -4172,6 +4218,49 @@ dev = ["click", "doit (>=0.36.0)", "flake8", "mypy", "pycodestyle", "pydevtool", doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +[[package]] +name = "scipy" +version = "1.11.3" +description = "Fundamental algorithms for scientific computing in Python" +category = "main" +optional = false +python-versions = "<3.13,>=3.9" +files = [ + {file = "scipy-1.11.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:370f569c57e1d888304052c18e58f4a927338eafdaef78613c685ca2ea0d1fa0"}, + {file = "scipy-1.11.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:9885e3e4f13b2bd44aaf2a1a6390a11add9f48d5295f7a592393ceb8991577a3"}, + {file = "scipy-1.11.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e04aa19acc324a1a076abb4035dabe9b64badb19f76ad9c798bde39d41025cdc"}, + {file = "scipy-1.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1a8a4657673bfae1e05e1e1d6e94b0cabe5ed0c7c144c8aa7b7dbb774ce5c1"}, + {file = "scipy-1.11.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7abda0e62ef00cde826d441485e2e32fe737bdddee3324e35c0e01dee65e2a88"}, + {file = "scipy-1.11.3-cp310-cp310-win_amd64.whl", hash = "sha256:033c3fd95d55012dd1148b201b72ae854d5086d25e7c316ec9850de4fe776929"}, + {file = "scipy-1.11.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:925c6f09d0053b1c0f90b2d92d03b261e889b20d1c9b08a3a51f61afc5f58165"}, + {file = "scipy-1.11.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5664e364f90be8219283eeb844323ff8cd79d7acbd64e15eb9c46b9bc7f6a42a"}, + {file = "scipy-1.11.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00f325434b6424952fbb636506f0567898dca7b0f7654d48f1c382ea338ce9a3"}, + {file = "scipy-1.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f290cf561a4b4edfe8d1001ee4be6da60c1c4ea712985b58bf6bc62badee221"}, + {file = "scipy-1.11.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:91770cb3b1e81ae19463b3c235bf1e0e330767dca9eb4cd73ba3ded6c4151e4d"}, + {file = "scipy-1.11.3-cp311-cp311-win_amd64.whl", hash = "sha256:e1f97cd89c0fe1a0685f8f89d85fa305deb3067d0668151571ba50913e445820"}, + {file = "scipy-1.11.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dfcc1552add7cb7c13fb70efcb2389d0624d571aaf2c80b04117e2755a0c5d15"}, + {file = "scipy-1.11.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0d3a136ae1ff0883fffbb1b05b0b2fea251cb1046a5077d0b435a1839b3e52b7"}, + {file = "scipy-1.11.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bae66a2d7d5768eaa33008fa5a974389f167183c87bf39160d3fefe6664f8ddc"}, + {file = "scipy-1.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2f6dee6cbb0e263b8142ed587bc93e3ed5e777f1f75448d24fb923d9fd4dce6"}, + {file = "scipy-1.11.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:74e89dc5e00201e71dd94f5f382ab1c6a9f3ff806c7d24e4e90928bb1aafb280"}, + {file = "scipy-1.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:90271dbde4be191522b3903fc97334e3956d7cfb9cce3f0718d0ab4fd7d8bfd6"}, + {file = "scipy-1.11.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a63d1ec9cadecce838467ce0631c17c15c7197ae61e49429434ba01d618caa83"}, + {file = "scipy-1.11.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:5305792c7110e32ff155aed0df46aa60a60fc6e52cd4ee02cdeb67eaccd5356e"}, + {file = "scipy-1.11.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ea7f579182d83d00fed0e5c11a4aa5ffe01460444219dedc448a36adf0c3917"}, + {file = "scipy-1.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c77da50c9a91e23beb63c2a711ef9e9ca9a2060442757dffee34ea41847d8156"}, + {file = "scipy-1.11.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:15f237e890c24aef6891c7d008f9ff7e758c6ef39a2b5df264650eb7900403c0"}, + {file = "scipy-1.11.3-cp39-cp39-win_amd64.whl", hash = "sha256:4b4bb134c7aa457e26cc6ea482b016fef45db71417d55cc6d8f43d799cdf9ef2"}, + {file = "scipy-1.11.3.tar.gz", hash = "sha256:bba4d955f54edd61899776bad459bf7326e14b9fa1c552181f0479cc60a568cd"}, +] + +[package.dependencies] +numpy = ">=1.21.6,<1.28.0" + +[package.extras] +dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] +doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] +test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + [[package]] name = "screeninfo" version = "0.8.1" @@ -4209,7 +4298,7 @@ win32 = ["pywin32"] name = "setuptools" version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "dev" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4313,6 +4402,58 @@ files = [ [package.extras] testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] +[[package]] +name = "skia-pathops" +version = "0.8.0.post1" +description = "Python access to operations on paths using the Skia library" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "skia-pathops-0.8.0.post1.zip", hash = "sha256:a056249de2f61fa55116b9ee55513c6a36b878aee00c91450e404d1606485cbb"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:952a03a19e687caa341ce6966eac03b167de8faea48574d3cf4bb758c2cefcfb"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:003efdbbc4400fffba00e0f9523b6b762269d7e257a6ad45cefbe4844fe04e4a"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77e8b60380a94bc277a50177f70392646e0cce83c5c8fa8ab5817d813eef0224"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d7b3361338f80bea1529698c2c66df1bdffc89339b90257d9a8e8e1cbda7f2c"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ccd03685b08e2ba7e65005911f0eac224eec3eabff18f9aeb8d757188dc5cbb"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-win32.whl", hash = "sha256:e273b565544b801219bbea6b32c5b1f3f9c2ce4f43870700a859174aa1f6564b"}, + {file = "skia_pathops-0.8.0.post1-cp310-cp310-win_amd64.whl", hash = "sha256:35b3f990e9f0fc861e962b9bca959ab0de68c095959e0dccc21d7e5076141c12"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:934fafd7e8552b40cf7c6a02b8d3b40ead6dff2f2c0426a26e4b9a031b880a65"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db4e3a9af2bbd76d2522909cf6d32c84a0a5c6e1f8d3eff18305a960b3645293"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8973b7dccc96a9273b529f1ccea70f6d05e5b4ff90d0fe7e424a4fcff2134bd6"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27861201a5eabcd50b1d4c94be9cd28749d9236cbbab797e5ca6a293b6c15178"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30cb3286ff91325f1ae452f9d1bc58b92e4a5c5beeca3bd17b269c6376a0dbfa"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-win32.whl", hash = "sha256:960a387300550a4fed0a66d5c29d26a02d9df965caf9e5ccd1eeef4e225b06c6"}, + {file = "skia_pathops-0.8.0.post1-cp311-cp311-win_amd64.whl", hash = "sha256:8235e313199be4b250ed32799d3de5a4be7ed60ecd62f19d426518814e6853a7"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3dc8febcb792c2542f05e12a3cee409ae421cdf865878c19d7b525291fa93348"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25fd0e8a18bc021f5b0b9cab37d607ea5c61f503b9e860d223906954b0c53c43"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9005f5dc5b162cac0d782e9adb5ecb304ab7ae5c873d2ed2a9895e89bf660ee2"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7b6873b65b682f8cf94a3baf8fccf98219f689e09a08967075bda36da128d57"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a4f111f55811ab9f8cb4ee057823db95355c8a424a2c2272ccda56ec0c48ba4"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-win32.whl", hash = "sha256:69ff7abe4ba02b0c7159ae04d8173b4186336f3809d512e660f5569f39e08572"}, + {file = "skia_pathops-0.8.0.post1-cp312-cp312-win_amd64.whl", hash = "sha256:bc8792c342795c8d90a71d7df641513372954562b3a851b21c501400dba60dcc"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a5e7dd0b372c72a2c4b15505c31c1cfa0476ae2b46c8d52932a3278653e0afc4"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:08d73f6a6568e1ac486c927035166d9c3bcb6c60bcc10c081d626c05397d2c21"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ecece9b39ca2d4ed03bc49364f291f8e94bcd832cbd1e23d5539570d6f22daf"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2af80580d722032e650ffa535173e58c16ac7a222eb8886786c9b6f6b7e1df63"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27746a5d18c908f54778654be5a09c2af52b5655977b04650089c962c1700c25"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-win32.whl", hash = "sha256:dab68a6ca259e87a3787ebdb18ebb198711419894cd591d01d3599e036847823"}, + {file = "skia_pathops-0.8.0.post1-cp38-cp38-win_amd64.whl", hash = "sha256:4c97ae7c611b39641de0aaf7340441615327480eb90dea3ca03dc3ca6aa82b44"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:307a94ba2f72601273c187f7fa934b1747dbfeb348dca175c7b40873823711a1"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5d7acb97291c2107046027fb0671870b7ca0428f55fc550a13cf262d621b8f17"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:434037b8b5ab1824b79d09d2e19a80ad8d2561018d5fb1d167b320e0bb1be7ac"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a3f62afaef14e4a1f02aef3c8d194a04d7735a0e2c700bb4ce39b6c42e8c1ea"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:143da8261ea047d0752f406448216cf490e4642a9798e7adfadd0bed855c464a"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-win32.whl", hash = "sha256:83091a316bc5d24ee02ba9f4ca5b690478d1b43a50285bd8afcf623a3f58e87e"}, + {file = "skia_pathops-0.8.0.post1-cp39-cp39-win_amd64.whl", hash = "sha256:01939106a9aa8e756dd4bf376f16fd9ce616cda16aed1ab34d13e67a498db0aa"}, + {file = "skia_pathops-0.8.0.post1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c5b66e5644a4f791e3b1fb1e78559130c042f15f744bc1867c18f9268aafab3"}, + {file = "skia_pathops-0.8.0.post1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d48fd852f3ac7e30f6221ff93e0cfb8593ea897027fd6b36987479eb406fb22"}, + {file = "skia_pathops-0.8.0.post1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed911ba99e2113574b6314d424696e6e302d427c65136ff8df14359bacb794c7"}, +] + +[package.extras] +testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] + [[package]] name = "smmap" version = "5.0.1" @@ -5202,5 +5343,5 @@ jupyterlab = ["jupyterlab", "notebook"] [metadata] lock-version = "2.0" -python-versions = ">=3.8,<3.12" -content-hash = "aeec95f223cfa390c61f8ffa470c01d9417c286022443c3560e5e30b467b7060" +python-versions = ">=3.8,<3.13" +content-hash = "f788f9df53cc5fb0e5a245af943b3ddd3215532b98a5c571ce2a5b75d8e67e23" diff --git a/pyproject.toml b/pyproject.toml index 57eb56b605..2b993070cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ classifiers= [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Natural Language :: English", ] exclude = ["scripts/","logo/","readme-assets/"] @@ -26,12 +27,18 @@ packages = [ ] [tool.poetry.dependencies] -python = ">=3.8,<3.12" +python = ">=3.8,<3.13" click = ">=7.2,<=9.0" click-default-group = "^1.2.2" -numpy = ">=1.22" +numpy = [ + { version = "^1.22", python = "<3.12" }, + { version = "^1.26", python = ">=3.12" } +] Pillow = ">=9.1,<10.0" -scipy = "^1.7.3" +scipy = [ + { version = "^1.7.3", python = "<3.12" }, + { version = "^1.11", python = ">=3.12" } +] tqdm = "^4.62.3" pydub = "^0.25.1" rich = ">=6.0,!=12.0.0" @@ -49,7 +56,10 @@ mapbox-earcut = "^1.0.0" cloup = ">=0.13,<2.2" requests = "^2.26.0" dearpygui = { version = "^1.3.1", optional = true } -skia-pathops = "^0.7.0" +skia-pathops = [ + { version = "^0.7.0", python = "<3.12" }, + { version = "^0.8.0.post1", python = ">=3.12" } +] isosurfaces = "0.1.0" srt = "^3.5.0" screeninfo = "^0.8" From 3962a12cd87e8663b9bc3285b50761bc4ffd52be Mon Sep 17 00:00:00 2001 From: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com> Date: Sat, 4 Nov 2023 10:05:17 -0400 Subject: [PATCH 21/29] Added ability to remove non-svg LaTeX files (#3322) * Added ability to remove latex junk (default True) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed tests (hopefully), and whitelisted .tex * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * reverted weird changes from merge * See previous commit message * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed logs-too-long test * Fixed log output * Fixed typo ;) * deleted unused variable * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * moved latex deletion to tex_file_writing.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * removed changes in scene files * Added caching based on LaTeX expression .svg * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Deleted unused function in delete_old_tex * make if condition more readable Co-authored-by: Benjamin Hackl * cleaned up svg file check * changed blacklist -> whitelist for file endings * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Reverted docstring change * Updated delete_non_svg files docstring * Changed list to a set * Update manim/_config/utils.py * Update manim/cli/render/global_options.py * added one test for the no_latex_cleanup config option --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Benjamin Hackl Co-authored-by: Tristan Schulz --- manim/_config/utils.py | 9 ++++++ manim/cli/render/global_options.py | 6 ++++ manim/utils/tex_file_writing.py | 31 ++++++++++++++++++-- tests/module/mobject/text/test_texmobject.py | 14 +++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/manim/_config/utils.py b/manim/_config/utils.py index e7b1d0cdc8..f7778ae169 100644 --- a/manim/_config/utils.py +++ b/manim/_config/utils.py @@ -309,6 +309,7 @@ class MyScene(Scene): "write_to_movie", "zero_pad", "force_window", + "no_latex_cleanup", } def __init__(self) -> None: @@ -580,6 +581,7 @@ def digest_parser(self, parser: configparser.ConfigParser) -> ManimConfig: "use_projection_stroke_shaders", "enable_wireframe", "force_window", + "no_latex_cleanup", ]: setattr(self, key, parser["CLI"].getboolean(key, fallback=False)) @@ -756,6 +758,7 @@ def digest_args(self, args: argparse.Namespace) -> ManimConfig: "enable_wireframe", "force_window", "dry_run", + "no_latex_cleanup", ]: if hasattr(args, key): attr = getattr(args, key) @@ -960,6 +963,12 @@ def digest_file(self, filename: str | os.PathLike) -> ManimConfig: doc="Set to force window when using the opengl renderer", ) + no_latex_cleanup = property( + lambda self: self._d["no_latex_cleanup"], + lambda self, val: self._set_boolean("no_latex_cleanup", val), + doc="Prevents deletion of .aux, .dvi, and .log files produced by Tex and MathTex.", + ) + @property def verbosity(self): """Logger verbosity; "DEBUG", "INFO", "WARNING", "ERROR", or "CRITICAL" (-v).""" diff --git a/manim/cli/render/global_options.py b/manim/cli/render/global_options.py index b17e4671c2..17c754e623 100644 --- a/manim/cli/render/global_options.py +++ b/manim/cli/render/global_options.py @@ -102,4 +102,10 @@ def validate_gui_location(ctx, param, value): help="Renders animations without outputting image or video files and disables the window", default=False, ), + option( + "--no_latex_cleanup", + is_flag=True, + help="Prevents deletion of .aux, .dvi, and .log files produced by Tex and MathTex.", + default=False, + ), ) diff --git a/manim/utils/tex_file_writing.py b/manim/utils/tex_file_writing.py index 0f419bb9e9..c7758f899e 100644 --- a/manim/utils/tex_file_writing.py +++ b/manim/utils/tex_file_writing.py @@ -13,6 +13,7 @@ import re import unicodedata from pathlib import Path +from typing import Iterable from manim.utils.tex import TexTemplate @@ -51,19 +52,28 @@ def tex_to_svg_file( if tex_template is None: tex_template = config["tex_template"] tex_file = generate_tex_file(expression, environment, tex_template) + + # check if svg already exists + svg_file = tex_file.with_suffix(".svg") + if svg_file.exists(): + return svg_file + dvi_file = compile_tex( tex_file, tex_template.tex_compiler, tex_template.output_format, ) - return convert_to_svg(dvi_file, tex_template.output_format) + svg_file = convert_to_svg(dvi_file, tex_template.output_format) + if not config["no_latex_cleanup"]: + delete_nonsvg_files() + return svg_file def generate_tex_file( expression: str, environment: str | None = None, tex_template: TexTemplate | None = None, -): +) -> Path: """Takes a tex expression (and an optional tex environment), and returns a fully formed tex file ready for compilation. @@ -251,6 +261,23 @@ def convert_to_svg(dvi_file: Path, extension: str, page: int = 1): return result +def delete_nonsvg_files(additional_endings: Iterable[str] = ()) -> None: + """Deletes every file that does not have a suffix in ``(".svg", ".tex", *additional_endings)`` + + Parameters: + ----------- + additional_endings + Additional endings to whitelist + """ + + tex_dir = config.get_dir("tex_dir") + file_suffix_whitelist = {".svg", ".tex", *additional_endings} + + for f in tex_dir.iterdir(): + if f.suffix not in file_suffix_whitelist: + f.unlink() + + def print_all_tex_errors(log_file: Path, tex_compiler: str, tex_file: Path) -> None: if not log_file.exists(): raise RuntimeError( diff --git a/tests/module/mobject/text/test_texmobject.py b/tests/module/mobject/text/test_texmobject.py index 9103345d18..a3cf26c355 100644 --- a/tests/module/mobject/text/test_texmobject.py +++ b/tests/module/mobject/text/test_texmobject.py @@ -212,3 +212,17 @@ def test_tempconfig_resetting_tex_template(): assert config.tex_template.preamble == "Custom preamble!" assert config.tex_template.preamble != "Custom preamble!" + + +def test_tex_garbage_collection(tmpdir, monkeypatch): + monkeypatch.chdir(tmpdir) + Path(tmpdir, "media").mkdir() + + with tempconfig({"media_dir": "media"}): + tex_without_log = Tex("Hello World!") # f7bc61042256dea9.tex + assert Path("media", "Tex", "f7bc61042256dea9.tex").exists() + assert not Path("media", "Tex", "f7bc61042256dea9.log").exists() + + with tempconfig({"media_dir": "media", "no_latex_cleanup": True}): + tex_with_log = Tex("Hello World, again!") # 3ef79eaaa2d0b15b.tex + assert Path("media", "Tex", "3ef79eaaa2d0b15b.log").exists() From 20028cef46b326d24f974ee05fc2162cc917f81a Mon Sep 17 00:00:00 2001 From: Uwe Zimmermann Date: Sat, 4 Nov 2023 15:07:24 +0100 Subject: [PATCH 22/29] feat: DecimalNumber() - added spacing between values and unit (#3366) * feat: DecimalNumber() - added spacing between values and unit * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl * Update manim/mobject/text/numbers.py Co-authored-by: Benjamin Hackl --------- Co-authored-by: Tristan Schulz Co-authored-by: Benjamin Hackl --- manim/mobject/text/numbers.py | 51 ++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/manim/mobject/text/numbers.py b/manim/mobject/text/numbers.py index f5eff7fada..10bf2e7829 100644 --- a/manim/mobject/text/numbers.py +++ b/manim/mobject/text/numbers.py @@ -22,6 +22,34 @@ class DecimalNumber(VMobject, metaclass=ConvertToOpenGL): """An mobject representing a decimal number. + Parameters + ---------- + number + The numeric value to be displayed. It can later be modified using :meth:`.set_value`. + num_decimal_places + The number of decimal places after the decimal separator. Values are automatically rounded. + mob_class + The class for rendering digits and units, by default :class:`.MathTex`. + include_sign + Set to ``True`` to include a sign for positive numbers and zero. + group_with_commas + When ``True`` thousands groups are separated by commas for readability. + digit_buff_per_font_unit + Additional spacing between digits. Scales with font size. + show_ellipsis + When a number has been truncated by rounding, indicate with an ellipsis (``...``). + unit + A unit string which can be placed to the right of the numerical values. + unit_buff_per_font_unit + An additional spacing between the numerical values and the unit. A value + of ``unit_buff_per_font_unit=0.003`` gives a decent spacing. Scales with font size. + include_background_rectangle + Adds a background rectangle to increase contrast on busy scenes. + edge_to_fix + Assuring right- or left-alignment of the full object. + font_size + Size of the font. + Examples -------- @@ -34,6 +62,8 @@ def construct(self): show_ellipsis=True, num_decimal_places=3, include_sign=True, + unit=r"\text{M-Units}", + unit_buff_per_font_unit=0.003 ) square = Square().to_edge(UP) @@ -59,6 +89,7 @@ def __init__( digit_buff_per_font_unit: float = 0.001, show_ellipsis: bool = False, unit: str | None = None, # Aligned to bottom unless it starts with "^" + unit_buff_per_font_unit: float = 0, include_background_rectangle: bool = False, edge_to_fix: Sequence[float] = LEFT, font_size: float = DEFAULT_FONT_SIZE, @@ -75,6 +106,7 @@ def __init__( self.digit_buff_per_font_unit = digit_buff_per_font_unit self.show_ellipsis = show_ellipsis self.unit = unit + self.unit_buff_per_font_unit = unit_buff_per_font_unit self.include_background_rectangle = include_background_rectangle self.edge_to_fix = edge_to_fix self._font_size = font_size @@ -89,6 +121,7 @@ def __init__( "digit_buff_per_font_unit": digit_buff_per_font_unit, "show_ellipsis": show_ellipsis, "unit": unit, + "unit_buff_per_font_unit": unit_buff_per_font_unit, "include_background_rectangle": include_background_rectangle, "edge_to_fix": edge_to_fix, "font_size": font_size, @@ -130,15 +163,25 @@ def _set_submobjects_from_number(self, number): self._string_to_mob("\\dots", SingleStringMathTex, color=self.color), ) - if self.unit is not None: - self.unit_sign = self._string_to_mob(self.unit, SingleStringMathTex) - self.add(self.unit_sign) - self.arrange( buff=self.digit_buff_per_font_unit * self._font_size, aligned_edge=DOWN, ) + if self.unit is not None: + self.unit_sign = self._string_to_mob(self.unit, SingleStringMathTex) + self.add( + self.unit_sign.next_to( + self, + direction=RIGHT, + buff=(self.unit_buff_per_font_unit + self.digit_buff_per_font_unit) + * self._font_size, + aligned_edge=DOWN, + ) + ) + + self.move_to(ORIGIN) + # Handle alignment of parts that should be aligned # to the bottom for i, c in enumerate(num_string): From adfef5e7a527babc10f0e515d90a4771454578b3 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Sat, 11 Nov 2023 02:22:43 +0530 Subject: [PATCH 23/29] Add option to run examples directly with binder (#3427) * Add option to run examples directly with binder The minified JS is from https://github.com/naveen521kk/manim-binder * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * slight style changes * update the js file to fix on chrome Signed-off-by: Naveen M K * show the run button as an cursor * make the video to be 100% of the width * Update manim/utils/docbuild/manim_directive.py Co-authored-by: Benjamin Hackl * Add a "Make interactive" button instead of "Run" button Clicking on the "Make interactive" button show the code-editor and "run" button * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * update margin for run interactive button --------- Signed-off-by: Naveen M K Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Benjamin Hackl --- docs/source/_static/custom.css | 19 ++++++++++++ docs/source/_static/manim-binder.min.js | 3 ++ .../_static/manim-binder.min.js.LICENSE.txt | 6 ++++ docs/source/_static/manim-binder.min.js.map | 1 + docs/source/conf.py | 4 +-- manim/utils/docbuild/manim_directive.py | 30 ++++++++++++++++++- 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 docs/source/_static/manim-binder.min.js create mode 100644 docs/source/_static/manim-binder.min.js.LICENSE.txt create mode 100644 docs/source/_static/manim-binder.min.js.map diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css index 59e8cb3e35..2b17007fdc 100644 --- a/docs/source/_static/custom.css +++ b/docs/source/_static/custom.css @@ -82,3 +82,22 @@ h4, h5, h6{ .sidebar-tree a.internal.reference { display: table-cell; } + +.manim-binder-button { + text-transform: capitalize; + padding: 10px 20px; + margin: 10px 0; +} + +.manim-binder-wrapper { + background-color: var(--color-code-background); + color: var(--color-code-foreground); +} + +.manim-binder-title { + margin-top: 0; +} + +.manim-binder-button-wrapper { + margin: 0px 10px; +} diff --git a/docs/source/_static/manim-binder.min.js b/docs/source/_static/manim-binder.min.js new file mode 100644 index 0000000000..2e076c9645 --- /dev/null +++ b/docs/source/_static/manim-binder.min.js @@ -0,0 +1,3 @@ +/*! For license information please see manim-binder.min.js.LICENSE.txt */ +(()=>{var __webpack_modules__={5067:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityMonitor=void 0;const n=i(6424);t.ActivityMonitor=class{constructor(e){this._timer=-1,this._timeout=-1,this._isDisposed=!1,this._activityStopped=new n.Signal(this),e.signal.connect(this._onSignalFired,this),this._timeout=e.timeout||1e3}get activityStopped(){return this._activityStopped}get timeout(){return this._timeout}set timeout(e){this._timeout=e}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,n.Signal.clearData(this))}_onSignalFired(e,t){clearTimeout(this._timer),this._sender=e,this._args=t,this._timer=setTimeout((()=>{this._activityStopped.emit({sender:this._sender,args:this._args})}),this._timeout)}}},4251:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),s(i(5067),t),s(i(6742),t),s(i(5366),t),s(i(6470),t),s(i(5675),t),s(i(5571),t),s(i(1735),t),s(i(1152),t),s(i(5248),t)},6742:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5366:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownCodeBlocks=void 0,function(e){e.CODE_BLOCK_MARKER="```";const t=[".markdown",".mdown",".mkdn",".md",".mkd",".mdwn",".mdtxt",".mdtext",".text",".txt",".Rmd"];class i{constructor(e){this.startLine=e,this.code="",this.endLine=-1}}e.MarkdownCodeBlock=i,e.isMarkdown=function(e){return t.indexOf(e)>-1},e.findMarkdownCodeBlocks=function(t){if(!t||""===t)return[];const n=t.split("\n"),s=[];let r=null;for(let t=0;te===t||n&&e===n))},e.isDisabled=function(t){const i=t.indexOf(":");let n="";return-1!==i&&(n=t.slice(0,i)),e.disabled.some((e=>e===t||n&&e===n))}}(Extension=PageConfig.Extension||(PageConfig.Extension={}))})(PageConfig=exports.PageConfig||(exports.PageConfig={}))},5675:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PathExt=void 0;const n=i(2005);!function(e){function t(e){return 0===e.indexOf("/")&&(e=e.slice(1)),e}e.join=function(...e){const i=n.posix.join(...e);return"."===i?"":t(i)},e.basename=function(e,t){return n.posix.basename(e,t)},e.dirname=function(e){const i=t(n.posix.dirname(e));return"."===i?"":i},e.extname=function(e){return n.posix.extname(e)},e.normalize=function(e){return""===e?"":t(n.posix.normalize(e))},e.resolve=function(...e){return t(n.posix.resolve(...e))},e.relative=function(e,i){return t(n.posix.relative(e,i))},e.normalizeExtension=function(e){return e.length>0&&0!==e.indexOf(".")&&(e=`.${e}`),e},e.removeSlash=t}(t.PathExt||(t.PathExt={}))},5571:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signalToPromise=void 0;const n=i(3911);t.signalToPromise=function(e,t){const i=new n.PromiseDelegate;function s(){e.disconnect(r)}function r(e,t){s(),i.resolve([e,t])}return e.connect(r),(null!=t?t:0)>0&&setTimeout((()=>{s(),i.reject(`Signal not emitted within ${t} ms.`)}),t),i.promise}},1735:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.Text=void 0,(i=t.Text||(t.Text={})).jsIndexToCharIndex=function(e,t){return e},i.charIndexToJsIndex=function(e,t){return e},i.camelCase=function(e,t=!1){return e.replace(/^(\w)|[\s-_:]+(\w)/g,(function(e,i,n){return n?n.toUpperCase():t?i.toUpperCase():i.toLowerCase()}))},i.titleCase=function(e){return(e||"").toLowerCase().split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}},1152:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Time=void 0;const i=[{name:"years",milliseconds:31536e6},{name:"months",milliseconds:2592e6},{name:"days",milliseconds:864e5},{name:"hours",milliseconds:36e5},{name:"minutes",milliseconds:6e4},{name:"seconds",milliseconds:1e3}];var n;(n=t.Time||(t.Time={})).formatHuman=function(e){const t=document.documentElement.lang||"en",n=new Intl.RelativeTimeFormat(t,{numeric:"auto"}),s=new Date(e).getTime()-Date.now();for(let e of i){const t=Math.ceil(s/e.milliseconds);if(0!==t)return n.format(t,e.name)}return n.format(0,"seconds")},n.format=function(e){const t=document.documentElement.lang||"en";return new Intl.DateTimeFormat(t,{dateStyle:"short",timeStyle:"short"}).format(new Date(e))}},5248:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.URLExt=void 0;const s=i(2005),r=n(i(2296));!function(e){function t(e){if("undefined"!=typeof document&&document){const t=document.createElement("a");return t.href=e,t}return(0,r.default)(e)}function i(...e){let t=(0,r.default)(e[0],{});const i=""===t.protocol&&t.slashes;i&&(t=(0,r.default)(e[0],"https:"+e[0]));const n=`${i?"":t.protocol}${t.slashes?"//":""}${t.auth}${t.auth?"@":""}${t.host}`,o=s.posix.join(`${n&&"/"!==t.pathname[0]?"/":""}${t.pathname}`,...e.slice(1));return`${n}${"."===o?"":o}`}e.parse=t,e.getHostName=function(e){return(0,r.default)(e).hostname},e.normalize=function(e){return e&&t(e).toString()},e.join=i,e.encodeParts=function(e){return i(...e.split("/").map(encodeURIComponent))},e.objectToQueryString=function(e){const t=Object.keys(e).filter((e=>e.length>0));return t.length?"?"+t.map((t=>{const i=encodeURIComponent(String(e[t]));return t+(i?"="+i:"")})).join("&"):""},e.queryStringToObject=function(e){return e.replace(/^\?/,"").split("&").reduce(((e,t)=>{const[i,n]=t.split("=");return i.length>0&&(e[i]=decodeURIComponent(n||"")),e}),{})},e.isLocal=function(e){const{protocol:i}=t(e);return(!i||0!==e.toLowerCase().indexOf(i))&&0!==e.indexOf("/")}}(t.URLExt||(t.URLExt={}))},7524:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseManager=void 0;const n=i(6424),s=i(538);t.BaseManager=class{constructor(e){var t;this._isDisposed=!1,this._disposed=new n.Signal(this),this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:s.ServerConnection.makeSettings()}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}get isActive(){return!0}dispose(){this.isDisposed||(this._disposed.emit(void 0),n.Signal.clearData(this))}}},4011:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuildManager=void 0;const n=i(4251),s=i(538);t.BuildManager=class{constructor(e={}){var t;this._url="",this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:s.ServerConnection.makeSettings();const{baseUrl:i,appUrl:r}=this.serverSettings;this._url=n.URLExt.join(i,r,"api/build")}get isAvailable(){return"true"===n.PageConfig.getOption("buildAvailable").toLowerCase()}get shouldCheck(){return"true"===n.PageConfig.getOption("buildCheck").toLowerCase()}getStatus(){const{_url:e,serverSettings:t}=this;return s.ServerConnection.makeRequest(e,{},t).then((e=>{if(200!==e.status)throw new s.ServerConnection.ResponseError(e);return e.json()})).then((e=>{if("string"!=typeof e.status)throw new Error("Invalid data");if("string"!=typeof e.message)throw new Error("Invalid data");return e}))}build(){const{_url:e,serverSettings:t}=this;return s.ServerConnection.makeRequest(e,{method:"POST"},t).then((e=>{if(400===e.status)throw new s.ServerConnection.ResponseError(e,"Build aborted");if(200!==e.status){const t=`Build failed with ${e.status}.\n\n If you are experiencing the build failure after installing an extension (or trying to include previously installed extension after updating JupyterLab) please check the extension repository for new installation instructions as many extensions migrated to the prebuilt extensions system which no longer requires rebuilding JupyterLab (but uses a different installation procedure, typically involving a package manager such as 'pip' or 'conda').\n\n If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;throw new s.ServerConnection.ResponseError(e,t)}}))}cancel(){const{_url:e,serverSettings:t}=this;return s.ServerConnection.makeRequest(e,{method:"DELETE"},t).then((e=>{if(204!==e.status)throw new s.ServerConnection.ResponseError(e)}))}}},7302:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigWithDefaults=t.ConfigSection=void 0;const n=i(4251),s=i(5247);(t.ConfigSection||(t.ConfigSection={})).create=function(e){const t=new r(e);return t.load().then((()=>t))};class r{constructor(e){var t;this._url="unknown";const i=this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:s.ServerConnection.makeSettings();this._url=n.URLExt.join(i.baseUrl,"api/config",encodeURIComponent(e.name))}get data(){return this._data}async load(){const e=await s.ServerConnection.makeRequest(this._url,{},this.serverSettings);if(200!==e.status)throw await s.ServerConnection.ResponseError.create(e);this._data=await e.json()}async update(e){this._data={...this._data,...e};const t={method:"PATCH",body:JSON.stringify(e)},i=await s.ServerConnection.makeRequest(this._url,t,this.serverSettings);if(200!==i.status)throw await s.ServerConnection.ResponseError.create(i);return this._data=await i.json(),this._data}}t.ConfigWithDefaults=class{constructor(e){var t,i;this._className="",this._section=e.section,this._defaults=null!==(t=e.defaults)&&void 0!==t?t:{},this._className=null!==(i=e.className)&&void 0!==i?i:""}get(e){const t=this._classData();return e in t?t[e]:this._defaults[e]}set(e,t){const i={};if(i[e]=t,this._className){const e={};return e[this._className]=i,this._section.update(e)}return this._section.update(i)}_classData(){const e=this._section.data;return this._className&&this._className in e?e[this._className]:e}}},1708:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Drive=t.ContentsManager=t.Contents=void 0;const o=i(4251),a=i(6424),l=i(5247),h=r(i(3394));var c,d;(d=t.Contents||(t.Contents={})).validateContentsModel=function(e){h.validateContentsModel(e)},d.validateCheckpointModel=function(e){h.validateCheckpointModel(e)},t.ContentsManager=class{constructor(e={}){var t,i;this._isDisposed=!1,this._additionalDrives=new Map,this._fileChanged=new a.Signal(this);const n=this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:l.ServerConnection.makeSettings();this._defaultDrive=null!==(i=e.defaultDrive)&&void 0!==i?i:new u({serverSettings:n}),this._defaultDrive.fileChanged.connect(this._onFileChanged,this)}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,a.Signal.clearData(this))}addDrive(e){this._additionalDrives.set(e.name,e),e.fileChanged.connect(this._onFileChanged,this)}getSharedModelFactory(e){var t;const[i]=this._driveForPath(e);return null!==(t=null==i?void 0:i.sharedModelFactory)&&void 0!==t?t:null}localPath(e){const t=e.split("/"),i=t[0].split(":");return 1!==i.length&&this._additionalDrives.has(i[0])?o.PathExt.join(i.slice(1).join(":"),...t.slice(1)):o.PathExt.removeSlash(e)}normalize(e){const t=e.split(":");return 1===t.length?o.PathExt.normalize(e):`${t[0]}:${o.PathExt.normalize(t.slice(1).join(":"))}`}resolvePath(e,t){const i=this.driveName(e),n=this.localPath(e),s=o.PathExt.resolve("/",n,t);return i?`${i}:${s}`:s}driveName(e){const t=e.split("/")[0].split(":");return 1===t.length?"":this._additionalDrives.has(t[0])?t[0]:""}get(e,t){const[i,n]=this._driveForPath(e);return i.get(n,t).then((e=>{const t=[];if("directory"===e.type&&e.content){for(const n of e.content)t.push({...n,path:this._toGlobalPath(i,n.path)});return{...e,path:this._toGlobalPath(i,n),content:t,serverPath:e.path}}return{...e,path:this._toGlobalPath(i,n),serverPath:e.path}}))}getDownloadUrl(e){const[t,i]=this._driveForPath(e);return t.getDownloadUrl(i)}newUntitled(e={}){if(e.path){const t=this.normalize(e.path),[i,n]=this._driveForPath(t);return i.newUntitled({...e,path:n}).then((e=>({...e,path:o.PathExt.join(t,e.name),serverPath:e.path})))}return this._defaultDrive.newUntitled(e)}delete(e){const[t,i]=this._driveForPath(e);return t.delete(i)}rename(e,t){const[i,n]=this._driveForPath(e),[s,r]=this._driveForPath(t);if(i!==s)throw Error("ContentsManager: renaming files must occur within a Drive");return i.rename(n,r).then((e=>({...e,path:this._toGlobalPath(i,r),serverPath:e.path})))}save(e,t={}){const i=this.normalize(e),[n,s]=this._driveForPath(e);return n.save(s,{...t,path:s}).then((e=>({...e,path:i,serverPath:e.path})))}copy(e,t){const[i,n]=this._driveForPath(e),[s,r]=this._driveForPath(t);if(i===s)return i.copy(n,r).then((e=>({...e,path:this._toGlobalPath(i,e.path),serverPath:e.path})));throw Error("Copying files between drives is not currently implemented")}createCheckpoint(e){const[t,i]=this._driveForPath(e);return t.createCheckpoint(i)}listCheckpoints(e){const[t,i]=this._driveForPath(e);return t.listCheckpoints(i)}restoreCheckpoint(e,t){const[i,n]=this._driveForPath(e);return i.restoreCheckpoint(n,t)}deleteCheckpoint(e,t){const[i,n]=this._driveForPath(e);return i.deleteCheckpoint(n,t)}_toGlobalPath(e,t){return e===this._defaultDrive?o.PathExt.removeSlash(t):`${e.name}:${o.PathExt.removeSlash(t)}`}_driveForPath(e){const t=this.driveName(e),i=this.localPath(e);return t?[this._additionalDrives.get(t),i]:[this._defaultDrive,i]}_onFileChanged(e,t){var i,n;if(e===this._defaultDrive)this._fileChanged.emit(t);else{let s=null,r=null;(null===(i=t.newValue)||void 0===i?void 0:i.path)&&(s={...t.newValue,path:this._toGlobalPath(e,t.newValue.path)}),(null===(n=t.oldValue)||void 0===n?void 0:n.path)&&(r={...t.oldValue,path:this._toGlobalPath(e,t.oldValue.path)}),this._fileChanged.emit({type:t.type,newValue:s,oldValue:r})}}};class u{constructor(e={}){var t,i,n;this._isDisposed=!1,this._fileChanged=new a.Signal(this),this.name=null!==(t=e.name)&&void 0!==t?t:"Default",this._apiEndpoint=null!==(i=e.apiEndpoint)&&void 0!==i?i:"api/contents",this.serverSettings=null!==(n=e.serverSettings)&&void 0!==n?n:l.ServerConnection.makeSettings()}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,a.Signal.clearData(this))}async get(e,t){let i=this._getUrl(e);if(t){"notebook"===t.type&&delete t.format;const e=t.content?"1":"0",n={...t,content:e};i+=o.URLExt.objectToQueryString(n)}const n=this.serverSettings,s=await l.ServerConnection.makeRequest(i,{},n);if(200!==s.status)throw await l.ServerConnection.ResponseError.create(s);const r=await s.json();return h.validateContentsModel(r),r}getDownloadUrl(e){const t=this.serverSettings.baseUrl;let i=o.URLExt.join(t,"files",o.URLExt.encodeParts(e));const n=document.cookie.match("\\b_xsrf=([^;]*)\\b");if(n){const e=new URL(i);e.searchParams.append("_xsrf",n[1]),i=e.toString()}return Promise.resolve(i)}async newUntitled(e={}){var t;let i="{}";e&&(e.ext&&(e.ext=c.normalizeExtension(e.ext)),i=JSON.stringify(e));const n=this.serverSettings,s=this._getUrl(null!==(t=e.path)&&void 0!==t?t:""),r={method:"POST",body:i},o=await l.ServerConnection.makeRequest(s,r,n);if(201!==o.status)throw await l.ServerConnection.ResponseError.create(o);const a=await o.json();return h.validateContentsModel(a),this._fileChanged.emit({type:"new",oldValue:null,newValue:a}),a}async delete(e){const t=this._getUrl(e),i=this.serverSettings,n=await l.ServerConnection.makeRequest(t,{method:"DELETE"},i);if(204!==n.status)throw await l.ServerConnection.ResponseError.create(n);this._fileChanged.emit({type:"delete",oldValue:{path:e},newValue:null})}async rename(e,t){const i=this.serverSettings,n=this._getUrl(e),s={method:"PATCH",body:JSON.stringify({path:t})},r=await l.ServerConnection.makeRequest(n,s,i);if(200!==r.status)throw await l.ServerConnection.ResponseError.create(r);const o=await r.json();return h.validateContentsModel(o),this._fileChanged.emit({type:"rename",oldValue:{path:e},newValue:o}),o}async save(e,t={}){const i=this.serverSettings,n=this._getUrl(e),s={method:"PUT",body:JSON.stringify(t)},r=await l.ServerConnection.makeRequest(n,s,i);if(200!==r.status&&201!==r.status)throw await l.ServerConnection.ResponseError.create(r);const o=await r.json();return h.validateContentsModel(o),this._fileChanged.emit({type:"save",oldValue:null,newValue:o}),o}async copy(e,t){const i=this.serverSettings,n=this._getUrl(t),s={method:"POST",body:JSON.stringify({copy_from:e})},r=await l.ServerConnection.makeRequest(n,s,i);if(201!==r.status)throw await l.ServerConnection.ResponseError.create(r);const o=await r.json();return h.validateContentsModel(o),this._fileChanged.emit({type:"new",oldValue:null,newValue:o}),o}async createCheckpoint(e){const t=this._getUrl(e,"checkpoints"),i=await l.ServerConnection.makeRequest(t,{method:"POST"},this.serverSettings);if(201!==i.status)throw await l.ServerConnection.ResponseError.create(i);const n=await i.json();return h.validateCheckpointModel(n),n}async listCheckpoints(e){const t=this._getUrl(e,"checkpoints"),i=await l.ServerConnection.makeRequest(t,{},this.serverSettings);if(200!==i.status)throw await l.ServerConnection.ResponseError.create(i);const n=await i.json();if(!Array.isArray(n))throw new Error("Invalid Checkpoint list");for(let e=0;eo.URLExt.encodeParts(e))),i=this.serverSettings.baseUrl;return o.URLExt.join(i,this._apiEndpoint,...t)}}t.Drive=u,function(e){e.normalizeExtension=function(e){return e.length>0&&0!==e.indexOf(".")&&(e=`.${e}`),e}}(c||(c={}))},3394:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateCheckpointModel=t.validateContentsModel=void 0;const n=i(3247);t.validateContentsModel=function(e){(0,n.validateProperty)(e,"name","string"),(0,n.validateProperty)(e,"path","string"),(0,n.validateProperty)(e,"type","string"),(0,n.validateProperty)(e,"created","string"),(0,n.validateProperty)(e,"last_modified","string"),(0,n.validateProperty)(e,"mimetype","object"),(0,n.validateProperty)(e,"content","object"),(0,n.validateProperty)(e,"format","object")},t.validateCheckpointModel=function(e){(0,n.validateProperty)(e,"id","string"),(0,n.validateProperty)(e,"last_modified","string")}},5657:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventManager=void 0;const n=i(4251),s=i(9044),r=i(6424),o=i(538),a="api/events";t.EventManager=class{constructor(e={}){var t;this._socket=null,this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:o.ServerConnection.makeSettings(),this._poll=new s.Poll({factory:()=>this._subscribe()}),this._stream=new r.Stream(this),this._poll.start()}get isDisposed(){return this._poll.isDisposed}get stream(){return this._stream}dispose(){if(this.isDisposed)return;this._poll.dispose();const e=this._socket;e&&(this._socket=null,e.onopen=()=>{},e.onerror=()=>{},e.onmessage=()=>{},e.onclose=()=>{},e.close()),r.Signal.clearData(this),this._stream.stop()}async emit(e){const{serverSettings:t}=this,{baseUrl:i,token:s}=t,{makeRequest:r,ResponseError:l}=o.ServerConnection,h=n.URLExt.join(i,a)+(s?`?token=${s}`:""),c={body:JSON.stringify(e),method:"POST"},d=await r(h,c,t);if(204!==d.status)throw new l(d)}_subscribe(){return new Promise(((e,t)=>{if(this.isDisposed)return;const{token:i,WebSocket:s,wsUrl:r}=this.serverSettings,o=n.URLExt.join(r,a,"subscribe")+(i?`?token=${encodeURIComponent(i)}`:""),l=this._socket=new s(o),h=this._stream;l.onclose=()=>t(new Error("EventManager socket closed")),l.onmessage=e=>e.data&&h.emit(JSON.parse(e.data))}))}}},5247:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),s(i(7524),t),s(i(7302),t),s(i(1708),t),s(i(5657),t),s(i(5674),t),s(i(3490),t),s(i(7797),t),s(i(538),t),s(i(3561),t),s(i(9188),t),s(i(3185),t),s(i(1014),t),s(i(9090),t),s(i(6624),t)},8341:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CommHandler=void 0;const o=i(1122),a=r(i(1736));class l extends o.DisposableDelegate{constructor(e,t,i,n){super(n),this._target="",this._id="",this._id=t,this._target=e,this._kernel=i}get commId(){return this._id}get targetName(){return this._target}get onClose(){return this._onClose}set onClose(e){this._onClose=e}get onMsg(){return this._onMsg}set onMsg(e){this._onMsg=e}open(e,t,i=[]){if(this.isDisposed||this._kernel.isDisposed)throw new Error("Cannot open");const n=a.createMessage({msgType:"comm_open",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,content:{comm_id:this._id,target_name:this._target,data:null!=e?e:{}},metadata:t,buffers:i});return this._kernel.sendShellMessage(n,!1,!0)}send(e,t,i=[],n=!0){if(this.isDisposed||this._kernel.isDisposed)throw new Error("Cannot send");const s=a.createMessage({msgType:"comm_msg",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,content:{comm_id:this._id,data:e},metadata:t,buffers:i});return this._kernel.sendShellMessage(s,!1,n)}close(e,t,i=[]){if(this.isDisposed||this._kernel.isDisposed)throw new Error("Cannot close");const n=a.createMessage({msgType:"comm_close",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,content:{comm_id:this._id,data:null!=e?e:{}},metadata:t,buffers:i}),s=this._kernel.sendShellMessage(n,!1,!0),r=this._onClose;return r&&r(a.createMessage({msgType:"comm_close",channel:"iopub",username:this._kernel.username,session:this._kernel.clientId,content:{comm_id:this._id,data:null!=e?e:{}},metadata:t,buffers:i})),this.dispose(),s}}t.CommHandler=l},5306:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.KernelConnection=void 0;const o=i(4251),a=i(3911),l=i(6424),h=i(5247),c=i(8341),d=r(i(1736)),u=i(217),p=i(8206),f=r(i(776)),m=i(3490),g=r(i(9753)),v="_RESTARTING_";class O{constructor(e){var t,i,n,s;this._createSocket=(e=!0)=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");const t=this.serverSettings,i=o.URLExt.join(t.wsUrl,g.KERNEL_SERVICE_URL,encodeURIComponent(this._id)),n=i.replace(/^((?:\w+:)?\/\/)(?:[^@\/]+@)/,"$1");console.debug(`Starting WebSocket: ${n}`);let s=o.URLExt.join(i,"channels?session_id="+encodeURIComponent(this._clientId));const r=t.token;t.appendToken&&""!==r&&(s+=`&token=${encodeURIComponent(r)}`);const a=e?this._supportedProtocols:[];this._ws=new t.WebSocket(s,a),this._ws.binaryType="arraybuffer";let l=!1;const c=async e=>{var i,n;if(!this._isDisposed){this._reason="",this._model=void 0;try{const i=await g.getKernelModel(this._id,t);this._model=i,"dead"===(null==i?void 0:i.execution_state)?this._updateStatus("dead"):this._onWSClose(e)}catch(t){if(t instanceof h.ServerConnection.NetworkError||503===(null===(i=t.response)||void 0===i?void 0:i.status)||424===(null===(n=t.response)||void 0===n?void 0:n.status)){const t=1e3*b.getRandomIntInclusive(10,30);setTimeout(c,t,e)}else this._reason="Kernel died unexpectedly",this._updateStatus("dead")}}},d=async e=>{l||(l=!0,await c(e))};this._ws.onmessage=this._onWSMessage,this._ws.onopen=this._onWSOpen,this._ws.onclose=d,this._ws.onerror=d},this._onWSOpen=e=>{if(""!==this._ws.protocol&&!this._supportedProtocols.includes(this._ws.protocol))throw console.log("Server selected unknown kernel wire protocol:",this._ws.protocol),this._updateStatus("dead"),new Error(`Unknown kernel wire protocol: ${this._ws.protocol}`);this._selectedProtocol=this._ws.protocol,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose,this._updateConnectionStatus("connected")},this._onWSMessage=e=>{let t;try{t=(0,p.deserialize)(e.data,this._ws.protocol),f.validateMessage(t)}catch(e){throw e.message=`Kernel message validation error: ${e.message}`,e}this._kernelSession=t.header.session,this._msgChain=this._msgChain.then((()=>this._handleMessage(t))).catch((e=>{e.message.startsWith("Canceled future for ")&&console.error(e)})),this._anyMessage.emit({msg:t,direction:"recv"})},this._onWSClose=e=>{this.isDisposed||this._reconnect()},this._id="",this._name="",this._status="unknown",this._connectionStatus="connecting",this._kernelSession="",this._isDisposed=!1,this._ws=null,this._username="",this._reconnectLimit=7,this._reconnectAttempt=0,this._reconnectTimeout=null,this._supportedProtocols=Object.values(d.supportedKernelWebSocketProtocols),this._selectedProtocol="",this._futures=new Map,this._comms=new Map,this._targetRegistry=Object.create(null),this._info=new a.PromiseDelegate,this._pendingMessages=[],this._statusChanged=new l.Signal(this),this._connectionStatusChanged=new l.Signal(this),this._disposed=new l.Signal(this),this._iopubMessage=new l.Signal(this),this._anyMessage=new l.Signal(this),this._pendingInput=new l.Signal(this),this._unhandledMessage=new l.Signal(this),this._displayIdToParentIds=new Map,this._msgIdToDisplayIds=new Map,this._msgChain=Promise.resolve(),this._hasPendingInput=!1,this._reason="",this._noOp=()=>{},this._name=e.model.name,this._id=e.model.id,this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:h.ServerConnection.makeSettings(),this._clientId=null!==(i=e.clientId)&&void 0!==i?i:a.UUID.uuid4(),this._username=null!==(n=e.username)&&void 0!==n?n:"",this.handleComms=null===(s=e.handleComms)||void 0===s||s,this._createSocket()}get disposed(){return this._disposed}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get model(){return this._model||{id:this.id,name:this.name,reason:this._reason}}get anyMessage(){return this._anyMessage}get pendingInput(){return this._pendingInput}get id(){return this._id}get name(){return this._name}get username(){return this._username}get clientId(){return this._clientId}get status(){return this._status}get connectionStatus(){return this._connectionStatus}get isDisposed(){return this._isDisposed}get info(){return this._info.promise}get spec(){return this._specPromise||(this._specPromise=m.KernelSpecAPI.getSpecs(this.serverSettings).then((e=>e.kernelspecs[this._name]))),this._specPromise}clone(e={}){return new O({model:this.model,username:this.username,serverSettings:this.serverSettings,handleComms:!1,...e})}dispose(){this.isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearKernelState(),this._pendingMessages=[],this._clearSocket(),l.Signal.clearData(this))}sendShellMessage(e,t=!1,i=!0){return this._sendKernelShellControl(u.KernelShellFutureHandler,e,t,i)}sendControlMessage(e,t=!1,i=!0){return this._sendKernelShellControl(u.KernelControlFutureHandler,e,t,i)}_sendKernelShellControl(e,t,i=!1,n=!0){this._sendMessage(t),this._anyMessage.emit({msg:t,direction:"send"});const s=new e((()=>{const e=t.header.msg_id;this._futures.delete(e);const i=this._msgIdToDisplayIds.get(e);i&&(i.forEach((t=>{const i=this._displayIdToParentIds.get(t);if(i){const n=i.indexOf(e);if(-1===n)return;1===i.length?this._displayIdToParentIds.delete(t):(i.splice(n,1),this._displayIdToParentIds.set(t,i))}})),this._msgIdToDisplayIds.delete(e))}),t,i,n,this);return this._futures.set(t.header.msg_id,s),s}_sendMessage(e,t=!0){if("dead"===this.status)throw new Error("Kernel is dead");if((""===this._kernelSession||this._kernelSession===v)&&d.isInfoRequestMsg(e)){if("connected"===this.connectionStatus)return void this._ws.send((0,p.serialize)(e,this._ws.protocol));throw new Error("Could not send message: status is not connected")}if(t&&this._pendingMessages.length>0)this._pendingMessages.push(e);else if("connected"===this.connectionStatus&&this._kernelSession!==v)this._ws.send((0,p.serialize)(e,this._ws.protocol));else{if(!t)throw new Error("Could not send message");this._pendingMessages.push(e)}}async interrupt(){if(this.hasPendingInput=!1,"dead"===this.status)throw new Error("Kernel is dead");return g.interruptKernel(this.id,this.serverSettings)}async restart(){if("dead"===this.status)throw new Error("Kernel is dead");this._updateStatus("restarting"),this._clearKernelState(),this._kernelSession=v,await g.restartKernel(this.id,this.serverSettings),await this.reconnect(),this.hasPendingInput=!1}reconnect(){this._errorIfDisposed();const e=new a.PromiseDelegate,t=(i,n)=>{"connected"===n?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):"disconnected"===n&&(e.reject(new Error("Kernel connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}async shutdown(){"dead"!==this.status&&await g.shutdownKernel(this.id,this.serverSettings),this.handleShutdown()}handleShutdown(){this._updateStatus("dead"),this.dispose()}async requestKernelInfo(){const e=d.createMessage({msgType:"kernel_info_request",channel:"shell",username:this._username,session:this._clientId,content:{}});let t;try{t=await b.handleShellMessage(this,e)}catch(e){if(this.isDisposed)return;throw e}if(this._errorIfDisposed(),t)return void 0===t.content.status&&(t.content.status="ok"),"ok"!==t.content.status?(this._info.reject("Kernel info reply errored"),t):(this._info.resolve(t.content),this._kernelSession=t.header.session,t)}requestComplete(e){const t=d.createMessage({msgType:"complete_request",channel:"shell",username:this._username,session:this._clientId,content:e});return b.handleShellMessage(this,t)}requestInspect(e){const t=d.createMessage({msgType:"inspect_request",channel:"shell",username:this._username,session:this._clientId,content:e});return b.handleShellMessage(this,t)}requestHistory(e){const t=d.createMessage({msgType:"history_request",channel:"shell",username:this._username,session:this._clientId,content:e});return b.handleShellMessage(this,t)}requestExecute(e,t=!0,i){const n=d.createMessage({msgType:"execute_request",channel:"shell",username:this._username,session:this._clientId,content:{silent:!1,store_history:!0,user_expressions:{},allow_stdin:!0,stop_on_error:!1,...e},metadata:i});return this.sendShellMessage(n,!0,t)}requestDebug(e,t=!0){const i=d.createMessage({msgType:"debug_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(i,!0,t)}requestIsComplete(e){const t=d.createMessage({msgType:"is_complete_request",channel:"shell",username:this._username,session:this._clientId,content:e});return b.handleShellMessage(this,t)}requestCommInfo(e){const t=d.createMessage({msgType:"comm_info_request",channel:"shell",username:this._username,session:this._clientId,content:e});return b.handleShellMessage(this,t)}sendInputReply(e,t){const i=d.createMessage({msgType:"input_reply",channel:"stdin",username:this._username,session:this._clientId,content:e});i.parent_header=t,this._sendMessage(i),this._anyMessage.emit({msg:i,direction:"send"}),this.hasPendingInput=!1}createComm(e,t=a.UUID.uuid4()){if(!this.handleComms)throw new Error("Comms are disabled on this kernel connection");if(this._comms.has(t))throw new Error("Comm is already created");const i=new c.CommHandler(e,t,this,(()=>{this._unregisterComm(t)}));return this._comms.set(t,i),i}hasComm(e){return this._comms.has(e)}registerCommTarget(e,t){this.handleComms&&(this._targetRegistry[e]=t)}removeCommTarget(e,t){this.handleComms&&(this.isDisposed||this._targetRegistry[e]!==t||delete this._targetRegistry[e])}registerMessageHook(e,t){var i;const n=null===(i=this._futures)||void 0===i?void 0:i.get(e);n&&n.registerMessageHook(t)}removeMessageHook(e,t){var i;const n=null===(i=this._futures)||void 0===i?void 0:i.get(e);n&&n.removeMessageHook(t)}removeInputGuard(){this.hasPendingInput=!1}async _handleDisplayId(e,t){var i,n;const s=t.parent_header.msg_id;let r=this._displayIdToParentIds.get(e);if(r){const e={header:a.JSONExt.deepCopy(t.header),parent_header:a.JSONExt.deepCopy(t.parent_header),metadata:a.JSONExt.deepCopy(t.metadata),content:a.JSONExt.deepCopy(t.content),channel:t.channel,buffers:t.buffers?t.buffers.slice():[]};e.header.msg_type="update_display_data",await Promise.all(r.map((async t=>{const i=this._futures&&this._futures.get(t);i&&await i.handleMsg(e)})))}if("update_display_data"===t.header.msg_type)return!0;r=null!==(i=this._displayIdToParentIds.get(e))&&void 0!==i?i:[],-1===r.indexOf(s)&&r.push(s),this._displayIdToParentIds.set(e,r);const o=null!==(n=this._msgIdToDisplayIds.get(s))&&void 0!==n?n:[];return-1===o.indexOf(s)&&o.push(s),this._msgIdToDisplayIds.set(s,o),!1}_clearSocket(){null!==this._ws&&(this._ws.onopen=this._noOp,this._ws.onclose=this._noOp,this._ws.onerror=this._noOp,this._ws.onmessage=this._noOp,this._ws.close(),this._ws=null)}_updateStatus(e){this._status!==e&&"dead"!==this._status&&(this._status=e,b.logKernelStatus(this),this._statusChanged.emit(e),"dead"===e&&this.dispose())}_sendPending(){for(;"connected"===this.connectionStatus&&this._kernelSession!==v&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}_clearKernelState(){this._kernelSession="",this._pendingMessages=[],this._futures.forEach((e=>{e.dispose()})),this._comms.forEach((e=>{e.dispose()})),this._msgChain=Promise.resolve(),this._futures=new Map,this._comms=new Map,this._displayIdToParentIds.clear(),this._msgIdToDisplayIds.clear()}_assertCurrentMessage(e){if(this._errorIfDisposed(),e.header.session!==this._kernelSession)throw new Error(`Canceling handling of old message: ${e.header.msg_type}`)}async _handleCommOpen(e){this._assertCurrentMessage(e);const t=e.content,i=new c.CommHandler(t.target_name,t.comm_id,this,(()=>{this._unregisterComm(t.comm_id)}));this._comms.set(t.comm_id,i);try{const n=await b.loadObject(t.target_name,t.target_module,this._targetRegistry);await n(i,e)}catch(e){throw i.close(),console.error("Exception opening new comm"),e}}async _handleCommClose(e){this._assertCurrentMessage(e);const t=e.content,i=this._comms.get(t.comm_id);if(!i)return void console.error("Comm not found for comm id "+t.comm_id);this._unregisterComm(i.commId);const n=i.onClose;n&&await n(e),i.dispose()}async _handleCommMsg(e){this._assertCurrentMessage(e);const t=e.content,i=this._comms.get(t.comm_id);if(!i)return;const n=i.onMsg;n&&await n(e)}_unregisterComm(e){this._comms.delete(e)}_updateConnectionStatus(e){if(this._connectionStatus!==e){if(this._connectionStatus=e,"connecting"!==e&&(this._reconnectAttempt=0,clearTimeout(this._reconnectTimeout)),"dead"!==this.status)if("connected"===e){let e=this._kernelSession===v,t=this.requestKernelInfo(),i=!1,n=()=>{i||(i=!0,e&&this._kernelSession===v&&(this._kernelSession=""),clearTimeout(s),this._pendingMessages.length>0&&this._sendPending())};t.then(n);let s=setTimeout(n,3e3)}else this._updateStatus("unknown");this._connectionStatusChanged.emit(e)}}async _handleMessage(e){var t,i;let n=!1;if(e.parent_header&&"iopub"===e.channel&&(d.isDisplayDataMsg(e)||d.isUpdateDisplayDataMsg(e)||d.isExecuteResultMsg(e))){const i=(null!==(t=e.content.transient)&&void 0!==t?t:{}).display_id;i&&(n=await this._handleDisplayId(i,e),this._assertCurrentMessage(e))}if(!n&&e.parent_header){const t=e.parent_header,n=null===(i=this._futures)||void 0===i?void 0:i.get(t.msg_id);if(n)await n.handleMsg(e),this._assertCurrentMessage(e);else{const i=t.session===this.clientId;"iopub"!==e.channel&&i&&this._unhandledMessage.emit(e)}}if("iopub"===e.channel){switch(e.header.msg_type){case"status":{const t=e.content.execution_state;"restarting"===t&&Promise.resolve().then((async()=>{this._updateStatus("autorestarting"),this._clearKernelState(),await this.reconnect()})),this._updateStatus(t);break}case"comm_open":this.handleComms&&await this._handleCommOpen(e);break;case"comm_msg":this.handleComms&&await this._handleCommMsg(e);break;case"comm_close":this.handleComms&&await this._handleCommClose(e)}this.isDisposed||(this._assertCurrentMessage(e),this._iopubMessage.emit(e))}}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt{if(t){if("undefined"==typeof requirejs)throw new Error("requirejs not found");requirejs([t],(i=>{void 0===i[e]?s(new Error(`Object '${e}' not found in module '${t}'`)):n(i[e])}),s)}else(null==i?void 0:i[e])?n(i[e]):s(new Error(`Object '${e}' not found in registry`))}))},e.getRandomIntInclusive=function(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}}(b||(b={}))},217:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.KernelShellFutureHandler=t.KernelControlFutureHandler=t.KernelFutureHandler=void 0;const o=i(3911),a=i(1122),l=r(i(1736));class h extends a.DisposableDelegate{constructor(e,t,i,n,s){super(e),this._status=0,this._stdin=c.noOp,this._iopub=c.noOp,this._reply=c.noOp,this._done=new o.PromiseDelegate,this._hooks=new c.HookList,this._disposeOnDone=!0,this._msg=t,i||this._setFlag(c.KernelFutureFlag.GotReply),this._disposeOnDone=n,this._kernel=s}get msg(){return this._msg}get done(){return this._done.promise}get onReply(){return this._reply}set onReply(e){this._reply=e}get onIOPub(){return this._iopub}set onIOPub(e){this._iopub=e}get onStdin(){return this._stdin}set onStdin(e){this._stdin=e}registerMessageHook(e){if(this.isDisposed)throw new Error("Kernel future is disposed");this._hooks.add(e)}removeMessageHook(e){this.isDisposed||this._hooks.remove(e)}sendInputReply(e,t){this._kernel.sendInputReply(e,t)}dispose(){this._stdin=c.noOp,this._iopub=c.noOp,this._reply=c.noOp,this._hooks=null,this._testFlag(c.KernelFutureFlag.IsDone)||(this._done.promise.catch((()=>{})),this._done.reject(new Error(`Canceled future for ${this.msg.header.msg_type} message before replies were done`))),super.dispose()}async handleMsg(e){switch(e.channel){case"control":case"shell":e.channel===this.msg.channel&&e.parent_header.msg_id===this.msg.header.msg_id&&await this._handleReply(e);break;case"stdin":await this._handleStdin(e);break;case"iopub":await this._handleIOPub(e)}}async _handleReply(e){const t=this._reply;t&&await t(e),this._replyMsg=e,this._setFlag(c.KernelFutureFlag.GotReply),this._testFlag(c.KernelFutureFlag.GotIdle)&&this._handleDone()}async _handleStdin(e){this._kernel.hasPendingInput=!0;const t=this._stdin;t&&await t(e)}async _handleIOPub(e){const t=await this._hooks.process(e),i=this._iopub;t&&i&&await i(e),l.isStatusMsg(e)&&"idle"===e.content.execution_state&&(this._setFlag(c.KernelFutureFlag.GotIdle),this._testFlag(c.KernelFutureFlag.GotReply)&&this._handleDone())}_handleDone(){this._testFlag(c.KernelFutureFlag.IsDone)||(this._setFlag(c.KernelFutureFlag.IsDone),this._done.resolve(this._replyMsg),this._disposeOnDone&&this.dispose())}_testFlag(e){return 0!=(this._status&e)}_setFlag(e){this._status|=e}}var c;t.KernelFutureHandler=h,t.KernelControlFutureHandler=class extends h{},t.KernelShellFutureHandler=class extends h{},function(e){e.noOp=()=>{};const t="function"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;let i;e.HookList=class{constructor(){this._hooks=[]}add(e){this.remove(e),this._hooks.push(e)}remove(e){const t=this._hooks.indexOf(e);t>=0&&(this._hooks[t]=null,this._scheduleCompact())}async process(e){await this._processing;const t=new o.PromiseDelegate;let i;this._processing=t.promise;for(let n=this._hooks.length-1;n>=0;n--){const s=this._hooks[n];if(null!==s){try{i=await s(e)}catch(e){i=!0,console.error(e)}if(!1===i)return t.resolve(void 0),!1}}return t.resolve(void 0),!0}_scheduleCompact(){this._compactScheduled||(this._compactScheduled=!0,t((()=>{this._processing=this._processing.then((()=>{this._compactScheduled=!1,this._compact()}))})))}_compact(){let e=0;for(let t=0,i=this._hooks.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2298:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KernelManager=void 0;const n=i(9044),s=i(6424),r=i(5247),o=i(7524),a=i(9753),l=i(5306);class h extends o.BaseManager{constructor(e={}){var t;super(e),this._isReady=!1,this._kernelConnections=new Set,this._models=new Map,this._runningChanged=new s.Signal(this),this._connectionFailure=new s.Signal(this),this._pollModels=new n.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:KernelManager#models",standby:null!==(t=e.standby)&&void 0!==t?t:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._models.clear(),this._kernelConnections.forEach((e=>e.dispose())),this._pollModels.dispose(),super.dispose())}connectTo(e){var t;const{id:i}=e.model;let n=null===(t=e.handleComms)||void 0===t||t;if(void 0===e.handleComms)for(const e of this._kernelConnections)if(e.id===i&&e.handleComms){n=!1;break}const s=new l.KernelConnection({handleComms:n,...e,serverSettings:this.serverSettings});return this._onStarted(s),this._models.has(i)||this.refreshRunning().catch((()=>{})),s}running(){return this._models.values()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e={},t={}){const i=await(0,a.startNew)(e,this.serverSettings);return this.connectTo({...t,model:i})}async shutdown(e){await(0,a.shutdownKernel)(e,this.serverSettings),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all([...this._models.keys()].map((e=>(0,a.shutdownKernel)(e,this.serverSettings)))),await this.refreshRunning()}async findById(e){return this._models.has(e)||await this.refreshRunning(),this._models.get(e)}async requestRunning(){var e,t;let i;try{i=await(0,a.listRunning)(this.serverSettings)}catch(i){throw(i instanceof r.ServerConnection.NetworkError||503===(null===(e=i.response)||void 0===e?void 0:e.status)||424===(null===(t=i.response)||void 0===t?void 0:t.status))&&this._connectionFailure.emit(i),i}this.isDisposed||this._models.size===i.length&&i.every((e=>{const t=this._models.get(e.id);return!!t&&t.connections===e.connections&&t.execution_state===e.execution_state&&t.last_activity===e.last_activity&&t.name===e.name&&t.reason===e.reason&&t.traceback===e.traceback}))||(this._models=new Map(i.map((e=>[e.id,e]))),this._kernelConnections.forEach((e=>{this._models.has(e.id)||e.handleShutdown()})),this._runningChanged.emit(i))}_onStarted(e){this._kernelConnections.add(e),e.statusChanged.connect(this._onStatusChanged,this),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._kernelConnections.delete(e),this.refreshRunning().catch((()=>{}))}_onStatusChanged(e,t){"dead"===t&&this.refreshRunning().catch((()=>{}))}}t.KernelManager=h,function(e){e.NoopManager=class extends e{constructor(){super(...arguments),this._readyPromise=new Promise((()=>{}))}get isActive(){return!1}get parentReady(){return super.ready}async startNew(e={},t={}){return Promise.reject(new Error("Not implemented in no-op Kernel Manager"))}connectTo(e){throw new Error("Not implemented in no-op Kernel Manager")}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Kernel Manager"))}get ready(){return this.parentReady.then((()=>this._readyPromise))}async requestRunning(){return Promise.resolve()}}}(h=t.KernelManager||(t.KernelManager={}))},1736:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.supportedKernelWebSocketProtocols=t.isInputReplyMsg=t.isInputRequestMsg=t.isDebugReplyMsg=t.isDebugRequestMsg=t.isExecuteReplyMsg=t.isInfoRequestMsg=t.isCommMsgMsg=t.isCommCloseMsg=t.isCommOpenMsg=t.isDebugEventMsg=t.isClearOutputMsg=t.isStatusMsg=t.isErrorMsg=t.isExecuteResultMsg=t.isExecuteInputMsg=t.isUpdateDisplayDataMsg=t.isDisplayDataMsg=t.isStreamMsg=t.createMessage=void 0;const n=i(3911);t.createMessage=function(e){var t,i,s,r,o;return{buffers:null!==(t=e.buffers)&&void 0!==t?t:[],channel:e.channel,content:e.content,header:{date:(new Date).toISOString(),msg_id:null!==(i=e.msgId)&&void 0!==i?i:n.UUID.uuid4(),msg_type:e.msgType,session:e.session,username:null!==(s=e.username)&&void 0!==s?s:"",version:"5.2"},metadata:null!==(r=e.metadata)&&void 0!==r?r:{},parent_header:null!==(o=e.parentHeader)&&void 0!==o?o:{}}},t.isStreamMsg=function(e){return"stream"===e.header.msg_type},t.isDisplayDataMsg=function(e){return"display_data"===e.header.msg_type},t.isUpdateDisplayDataMsg=function(e){return"update_display_data"===e.header.msg_type},t.isExecuteInputMsg=function(e){return"execute_input"===e.header.msg_type},t.isExecuteResultMsg=function(e){return"execute_result"===e.header.msg_type},t.isErrorMsg=function(e){return"error"===e.header.msg_type},t.isStatusMsg=function(e){return"status"===e.header.msg_type},t.isClearOutputMsg=function(e){return"clear_output"===e.header.msg_type},t.isDebugEventMsg=function(e){return"debug_event"===e.header.msg_type},t.isCommOpenMsg=function(e){return"comm_open"===e.header.msg_type},t.isCommCloseMsg=function(e){return"comm_close"===e.header.msg_type},t.isCommMsgMsg=function(e){return"comm_msg"===e.header.msg_type},t.isInfoRequestMsg=function(e){return"kernel_info_request"===e.header.msg_type},t.isExecuteReplyMsg=function(e){return"execute_reply"===e.header.msg_type},t.isDebugRequestMsg=function(e){return"debug_request"===e.header.msg_type},t.isDebugReplyMsg=function(e){return"debug_reply"===e.header.msg_type},t.isInputRequestMsg=function(e){return"input_request"===e.header.msg_type},t.isInputReplyMsg=function(e){return"input_reply"===e.header.msg_type},(t.supportedKernelWebSocketProtocols||(t.supportedKernelWebSocketProtocols={})).v1KernelWebsocketJupyterOrg="v1.kernel.websocket.jupyter.org"},9753:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getKernelModel=t.shutdownKernel=t.interruptKernel=t.restartKernel=t.startNew=t.listRunning=t.KERNEL_SERVICE_URL=void 0;const n=i(538),s=i(4251),r=i(776);t.KERNEL_SERVICE_URL="api/kernels",t.listRunning=async function(e=n.ServerConnection.makeSettings()){const i=s.URLExt.join(e.baseUrl,t.KERNEL_SERVICE_URL),o=await n.ServerConnection.makeRequest(i,{},e);if(200!==o.status)throw await n.ServerConnection.ResponseError.create(o);const a=await o.json();return(0,r.validateModels)(a),a},t.startNew=async function(e={},i=n.ServerConnection.makeSettings()){const o=s.URLExt.join(i.baseUrl,t.KERNEL_SERVICE_URL),a={method:"POST",body:JSON.stringify(e)},l=await n.ServerConnection.makeRequest(o,a,i);if(201!==l.status)throw await n.ServerConnection.ResponseError.create(l);const h=await l.json();return(0,r.validateModel)(h),h},t.restartKernel=async function(e,i=n.ServerConnection.makeSettings()){const o=s.URLExt.join(i.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"restart"),a=await n.ServerConnection.makeRequest(o,{method:"POST"},i);if(200!==a.status)throw await n.ServerConnection.ResponseError.create(a);const l=await a.json();(0,r.validateModel)(l)},t.interruptKernel=async function(e,i=n.ServerConnection.makeSettings()){const r=s.URLExt.join(i.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"interrupt"),o=await n.ServerConnection.makeRequest(r,{method:"POST"},i);if(204!==o.status)throw await n.ServerConnection.ResponseError.create(o)},t.shutdownKernel=async function(e,i=n.ServerConnection.makeSettings()){const r=s.URLExt.join(i.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e)),o=await n.ServerConnection.makeRequest(r,{method:"DELETE"},i);if(404===o.status){const t=`The kernel "${e}" does not exist on the server`;console.warn(t)}else if(204!==o.status)throw await n.ServerConnection.ResponseError.create(o)},t.getKernelModel=async function(e,i=n.ServerConnection.makeSettings()){const o=s.URLExt.join(i.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e)),a=await n.ServerConnection.makeRequest(o,{},i);if(404===a.status)return;if(200!==a.status)throw await n.ServerConnection.ResponseError.create(a);const l=await a.json();return(0,r.validateModel)(l),l}},8206:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.deserialize=t.serialize=void 0;const o=r(i(1736));var a;t.serialize=function(e,t=""){return t===o.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg?a.serializeV1KernelWebsocketJupyterOrg(e):a.serializeDefault(e)},t.deserialize=function(e,t=""){return t===o.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg?a.deserializeV1KernelWebsocketJupyterOrg(e):a.deserializeDefault(e)},function(e){e.deserializeV1KernelWebsocketJupyterOrg=function(e){let t;const i=new DataView(e),n=Number(i.getBigUint64(0,!0));let s=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateModels=t.validateModel=t.validateMessage=void 0;const n=i(3247),s=["username","version","session","msg_id","msg_type"],r={stream:{name:"string",text:"string"},display_data:{data:"object",metadata:"object"},execute_input:{code:"string",execution_count:"number"},execute_result:{execution_count:"number",data:"object",metadata:"object"},error:{ename:"string",evalue:"string",traceback:"object"},status:{execution_state:["string",["starting","idle","busy","restarting","dead"]]},clear_output:{wait:"boolean"},comm_open:{comm_id:"string",target_name:"string",data:"object"},comm_msg:{comm_id:"string",data:"object"},comm_close:{comm_id:"string"},shutdown_reply:{restart:"boolean"}};function o(e){(0,n.validateProperty)(e,"name","string"),(0,n.validateProperty)(e,"id","string")}t.validateMessage=function(e){(0,n.validateProperty)(e,"metadata","object"),(0,n.validateProperty)(e,"content","object"),(0,n.validateProperty)(e,"channel","string"),function(e){for(let t=0;to(e)))}},3490:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t},o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.KernelSpecAPI=t.KernelSpec=void 0;const a=r(i(6060));t.KernelSpec=a;const l=r(i(1598));t.KernelSpecAPI=l,o(i(7307),t)},6060:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7307:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.KernelSpecManager=void 0;const o=i(3911),a=i(9044),l=i(6424),h=r(i(1598)),c=i(7524);class d extends c.BaseManager{constructor(e={}){var t;super(e),this._isReady=!1,this._connectionFailure=new l.Signal(this),this._specs=null,this._specsChanged=new l.Signal(this),this._ready=Promise.all([this.requestSpecs()]).then((e=>{})).catch((e=>{})).then((()=>{this.isDisposed||(this._isReady=!0)})),this._pollSpecs=new a.Poll({auto:!1,factory:()=>this.requestSpecs(),frequency:{interval:61e3,backoff:!0,max:3e5},name:"@jupyterlab/services:KernelSpecManager#specs",standby:null!==(t=e.standby)&&void 0!==t?t:"when-hidden"}),this.ready.then((()=>{this._pollSpecs.start()}))}get isReady(){return this._isReady}get ready(){return this._ready}get specs(){return this._specs}get specsChanged(){return this._specsChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose(),super.dispose()}async refreshSpecs(){await this._pollSpecs.refresh(),await this._pollSpecs.tick}async requestSpecs(){const e=await h.getSpecs(this.serverSettings);this.isDisposed||o.JSONExt.deepEqual(e,this._specs)||(this._specs=e,this._specsChanged.emit(e))}}t.KernelSpecManager=d},1598:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSpecs=void 0;const n=i(538),s=i(4286),r=i(4251);t.getSpecs=async function(e=n.ServerConnection.makeSettings()){const t=r.URLExt.join(e.baseUrl,"api/kernelspecs"),i=await n.ServerConnection.makeRequest(t,{},e);if(200!==i.status)throw await n.ServerConnection.ResponseError.create(i);const o=await i.json();return(0,s.validateSpecModels)(o)}},4286:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSpecModels=t.validateSpecModel=void 0;const n=i(3247);function s(e){const t=e.spec;if(!t)throw new Error("Invalid kernel spec");(0,n.validateProperty)(e,"name","string"),(0,n.validateProperty)(e,"resources","object"),(0,n.validateProperty)(t,"language","string"),(0,n.validateProperty)(t,"display_name","string"),(0,n.validateProperty)(t,"argv","array");let i=null;t.hasOwnProperty("metadata")&&((0,n.validateProperty)(t,"metadata","object"),i=t.metadata);let s=null;return t.hasOwnProperty("env")&&((0,n.validateProperty)(t,"env","object"),s=t.env),{name:e.name,resources:e.resources,language:t.language,display_name:t.display_name,argv:t.argv,metadata:i,env:s}}t.validateSpecModel=s,t.validateSpecModels=function(e){if(!e.hasOwnProperty("kernelspecs"))throw new Error("No kernelspecs found");let t=Object.keys(e.kernelspecs);const i=Object.create(null);let n=e.default;for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceManager=void 0;const n=i(6424),s=i(4011),r=i(1708),o=i(5657),a=i(5674),l=i(3490),h=i(6624),c=i(538),d=i(3561),u=i(9188),p=i(3185),f=i(1014),m=i(9090);t.ServiceManager=class{constructor(e={}){var t,i;this._isDisposed=!1,this._connectionFailure=new n.Signal(this),this._isReady=!1;const g=e.defaultDrive,v=null!==(t=e.serverSettings)&&void 0!==t?t:c.ServerConnection.makeSettings(),O={defaultDrive:g,serverSettings:v,standby:null!==(i=e.standby)&&void 0!==i?i:"when-hidden"};this.serverSettings=v,this.contents=e.contents||new r.ContentsManager(O),this.events=e.events||new o.EventManager(O),this.kernels=e.kernels||new a.KernelManager(O),this.sessions=e.sessions||new d.SessionManager({...O,kernelManager:this.kernels}),this.settings=e.settings||new u.SettingManager(O),this.terminals=e.terminals||new p.TerminalManager(O),this.builder=e.builder||new s.BuildManager(O),this.workspaces=e.workspaces||new m.WorkspaceManager(O),this.nbconvert=e.nbconvert||new h.NbConvertManager(O),this.kernelspecs=e.kernelspecs||new l.KernelSpecManager(O),this.user=e.user||new f.UserManager(O),this.kernelspecs.connectionFailure.connect(this._onConnectionFailure,this),this.sessions.connectionFailure.connect(this._onConnectionFailure,this),this.terminals.connectionFailure.connect(this._onConnectionFailure,this);const b=[this.sessions.ready,this.kernelspecs.ready];this.terminals.isAvailable()&&b.push(this.terminals.ready),this._readyPromise=Promise.all(b).then((()=>{this._isReady=!0}))}get connectionFailure(){return this._connectionFailure}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,n.Signal.clearData(this),this.contents.dispose(),this.events.dispose(),this.sessions.dispose(),this.terminals.dispose())}get isReady(){return this._isReady}get ready(){return this._readyPromise}_onConnectionFailure(e,t){this._connectionFailure.emit(t)}}},6624:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NbConvertManager=void 0;const n=i(4251),s=i(538),r=i(3911);t.NbConvertManager=class{constructor(e={}){var t;this._exportFormats=null,this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:s.ServerConnection.makeSettings()}async fetchExportFormats(){this._requestingFormats=new r.PromiseDelegate,this._exportFormats=null;const e=this.serverSettings.baseUrl,t=n.URLExt.join(e,"api/nbconvert"),{serverSettings:i}=this,o=await s.ServerConnection.makeRequest(t,{},i);if(200!==o.status)throw await s.ServerConnection.ResponseError.create(o);const a=await o.json(),l={};return Object.keys(a).forEach((function(e){const t=a[e].output_mimetype;l[e]={output_mimetype:t}})),this._exportFormats=l,this._requestingFormats.resolve(l),l}async getExportFormats(e=!0){return this._requestingFormats?this._requestingFormats.promise:e||!this._exportFormats?await this.fetchExportFormats():this._exportFormats}}},538:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServerConnection=void 0;const n=i(4251);let s;var r,o;s="undefined"==typeof window?i(8354):WebSocket,function(e){e.makeSettings=function(e){return o.makeSettings(e)},e.makeRequest=function(e,t,i){return o.handleRequest(e,t,i)};class t extends Error{static async create(e){try{const i=await e.json(),{message:n,traceback:s}=i;return s&&console.error(s),new t(e,null!=n?n:t._defaultMessage(e),null!=s?s:"")}catch(i){return console.debug(i),new t(e)}}constructor(e,i=t._defaultMessage(e),n=""){super(i),this.response=e,this.traceback=n}static _defaultMessage(e){return`Invalid response: ${e.status} ${e.statusText}`}}e.ResponseError=t;class i extends TypeError{constructor(e){super(e.message),this.stack=e.stack}}e.NetworkError=i}(r=t.ServerConnection||(t.ServerConnection={})),function(e){e.makeSettings=function(e={}){var t;const i=n.PageConfig.getBaseUrl(),r=n.PageConfig.getWsUrl(),o=n.URLExt.normalize(e.baseUrl)||i;let a=e.wsUrl;return a||o!==i||(a=r),a||0!==o.indexOf("http")||(a="ws"+o.slice(4)),a=null!=a?a:r,{init:{cache:"no-store",credentials:"same-origin"},fetch,Headers,Request,WebSocket:s,token:n.PageConfig.getToken(),appUrl:n.PageConfig.getOption("appUrl"),appendToken:"undefined"==typeof window||"undefined"!=typeof process&&void 0!==(null===(t=null===process||void 0===process?void 0:{})||void 0===t?void 0:t.JEST_WORKER_ID)||n.URLExt.getHostName(i)!==n.URLExt.getHostName(a),...e,baseUrl:o,wsUrl:a}},e.handleRequest=function(e,t,i){var n;if(0!==e.indexOf(i.baseUrl))throw new Error("Can only be used for notebook server requests");"no-store"===(null!==(n=t.cache)&&void 0!==n?n:i.init.cache)&&(e+=(/\?/.test(e)?"&":"?")+(new Date).getTime());const s=new i.Request(e,{...i.init,...t});let o=!1;if(i.token&&(o=!0,s.headers.append("Authorization",`token ${i.token}`)),"undefined"!=typeof document&&(null===document||void 0===document?void 0:document.cookie)){const e=function(e){const t=document.cookie.match("\\b_xsrf=([^;]*)\\b");return null==t?void 0:t[1]}();void 0!==e&&(o=!0,s.headers.append("X-XSRFToken",e))}return!s.headers.has("Content-Type")&&o&&s.headers.set("Content-Type","application/json"),i.fetch.call(null,s).catch((e=>{throw new r.NetworkError(e)}))}}(o||(o={}))},6512:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionConnection=void 0;const n=i(6424),s=i(5247),r=i(1975),o=i(3911);t.SessionConnection=class{constructor(e){var t,i,r,a;this._id="",this._path="",this._name="",this._type="",this._kernel=null,this._isDisposed=!1,this._disposed=new n.Signal(this),this._kernelChanged=new n.Signal(this),this._statusChanged=new n.Signal(this),this._connectionStatusChanged=new n.Signal(this),this._pendingInput=new n.Signal(this),this._iopubMessage=new n.Signal(this),this._unhandledMessage=new n.Signal(this),this._anyMessage=new n.Signal(this),this._propertyChanged=new n.Signal(this),this._id=e.model.id,this._name=e.model.name,this._path=e.model.path,this._type=e.model.type,this._username=null!==(t=e.username)&&void 0!==t?t:"",this._clientId=null!==(i=e.clientId)&&void 0!==i?i:o.UUID.uuid4(),this._connectToKernel=e.connectToKernel,this._kernelConnectionOptions=null!==(r=e.kernelConnectionOptions)&&void 0!==r?r:{},this.serverSettings=null!==(a=e.serverSettings)&&void 0!==a?a:s.ServerConnection.makeSettings(),this.setupKernel(e.model.kernel)}get disposed(){return this._disposed}get kernelChanged(){return this._kernelChanged}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get pendingInput(){return this._pendingInput}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get anyMessage(){return this._anyMessage}get propertyChanged(){return this._propertyChanged}get id(){return this._id}get kernel(){return this._kernel}get path(){return this._path}get type(){return this._type}get name(){return this._name}get model(){return{id:this.id,kernel:this.kernel&&{id:this.kernel.id,name:this.kernel.name},path:this._path,type:this._type,name:this._name}}get isDisposed(){return this._isDisposed}update(e){const t=this.model;if(this._path=e.path,this._name=e.name,this._type=e.type,null===this._kernel&&null!==e.kernel||null!==this._kernel&&null===e.kernel||null!==this._kernel&&null!==e.kernel&&this._kernel.id!==e.kernel.id){null!==this._kernel&&this._kernel.dispose();const t=this._kernel||null;this.setupKernel(e.kernel);const i=this._kernel||null;this._kernelChanged.emit({name:"kernel",oldValue:t,newValue:i})}this._handleModelChange(t)}dispose(){if(!this.isDisposed){if(this._isDisposed=!0,this._disposed.emit(),this._kernel){this._kernel.dispose();const e=this._kernel;this._kernel=null;const t=this._kernel;this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:t})}n.Signal.clearData(this)}}async setPath(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({path:e})}async setName(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({name:e})}async setType(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({type:e})}async changeKernel(e){if(this.isDisposed)throw new Error("Session is disposed");return await this._patch({kernel:e}),this.kernel}async shutdown(){if(this.isDisposed)throw new Error("Session is disposed");await(0,r.shutdownSession)(this.id,this.serverSettings),this.dispose()}setupKernel(e){if(null===e)return void(this._kernel=null);const t=this._connectToKernel({...this._kernelConnectionOptions,model:e,username:this._username,clientId:this._clientId,serverSettings:this.serverSettings});this._kernel=t,t.statusChanged.connect(this.onKernelStatus,this),t.connectionStatusChanged.connect(this.onKernelConnectionStatus,this),t.pendingInput.connect(this.onPendingInput,this),t.unhandledMessage.connect(this.onUnhandledMessage,this),t.iopubMessage.connect(this.onIOPubMessage,this),t.anyMessage.connect(this.onAnyMessage,this)}onKernelStatus(e,t){this._statusChanged.emit(t)}onKernelConnectionStatus(e,t){this._connectionStatusChanged.emit(t)}onPendingInput(e,t){this._pendingInput.emit(t)}onIOPubMessage(e,t){this._iopubMessage.emit(t)}onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}onAnyMessage(e,t){this._anyMessage.emit(t)}async _patch(e){const t=await(0,r.updateSession)({...e,id:this._id},this.serverSettings);return this.update(t),t}_handleModelChange(e){e.name!==this._name&&this._propertyChanged.emit("name"),e.type!==this._type&&this._propertyChanged.emit("type"),e.path!==this._path&&this._propertyChanged.emit("path")}}},3561:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return s(t,e),t},o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.SessionAPI=t.Session=void 0;const a=r(i(7993));t.Session=a;const l=r(i(1975));t.SessionAPI=l,o(i(8137),t)},8137:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionManager=void 0;const n=i(9044),s=i(6424),r=i(538),o=i(7524),a=i(6512),l=i(1975);class h extends o.BaseManager{constructor(e){var t;super(e),this._isReady=!1,this._sessionConnections=new Set,this._models=new Map,this._runningChanged=new s.Signal(this),this._connectionFailure=new s.Signal(this),this._connectToKernel=e=>this._kernelManager.connectTo(e),this._kernelManager=e.kernelManager,this._pollModels=new n.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:SessionManager#models",standby:null!==(t=e.standby)&&void 0!==t?t:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._kernelManager.isActive&&await this._kernelManager.ready,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._models.clear(),this._sessionConnections.forEach((e=>e.dispose())),this._pollModels.dispose(),super.dispose())}connectTo(e){const t=new a.SessionConnection({...e,connectToKernel:this._connectToKernel,serverSettings:this.serverSettings});return this._onStarted(t),this._models.has(e.model.id)||this.refreshRunning().catch((()=>{})),t}running(){return this._models.values()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e,t={}){const i=await(0,l.startSession)(e,this.serverSettings);return await this.refreshRunning(),this.connectTo({...t,model:i})}async shutdown(e){await(0,l.shutdownSession)(e,this.serverSettings),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all([...this._models.keys()].map((e=>(0,l.shutdownSession)(e,this.serverSettings)))),await this.refreshRunning()}async stopIfNeeded(e){try{const t=(await(0,l.listRunning)(this.serverSettings)).filter((t=>t.path===e));if(1===t.length){const e=t[0].id;await this.shutdown(e)}}catch(e){}}async findById(e){return this._models.has(e)||await this.refreshRunning(),this._models.get(e)}async findByPath(e){for(const t of this._models.values())if(t.path===e)return t;await this.refreshRunning();for(const t of this._models.values())if(t.path===e)return t}async requestRunning(){var e,t;let i;try{i=await(0,l.listRunning)(this.serverSettings)}catch(i){throw(i instanceof r.ServerConnection.NetworkError||503===(null===(e=i.response)||void 0===e?void 0:e.status)||424===(null===(t=i.response)||void 0===t?void 0:t.status))&&this._connectionFailure.emit(i),i}this.isDisposed||this._models.size===i.length&&i.every((e=>{var t,i,n,s;const r=this._models.get(e.id);return!!r&&(null===(t=r.kernel)||void 0===t?void 0:t.id)===(null===(i=e.kernel)||void 0===i?void 0:i.id)&&(null===(n=r.kernel)||void 0===n?void 0:n.name)===(null===(s=e.kernel)||void 0===s?void 0:s.name)&&r.name===e.name&&r.path===e.path&&r.type===e.type}))||(this._models=new Map(i.map((e=>[e.id,e]))),this._sessionConnections.forEach((e=>{this._models.has(e.id)?e.update(this._models.get(e.id)):e.dispose()})),this._runningChanged.emit(i))}_onStarted(e){this._sessionConnections.add(e),e.disposed.connect(this._onDisposed,this),e.propertyChanged.connect(this._onChanged,this),e.kernelChanged.connect(this._onChanged,this)}_onDisposed(e){this._sessionConnections.delete(e),this.refreshRunning().catch((()=>{}))}_onChanged(){this.refreshRunning().catch((()=>{}))}}t.SessionManager=h,function(e){e.NoopManager=class extends e{constructor(){super(...arguments),this._readyPromise=new Promise((()=>{}))}get isActive(){return!1}get parentReady(){return super.ready}async startNew(e,t={}){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}connectTo(e){throw Error("Not implemented in no-op Session Manager")}get ready(){return this.parentReady.then((()=>this._readyPromise))}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}async requestRunning(){return Promise.resolve()}}}(h=t.SessionManager||(t.SessionManager={}))},1975:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateSession=t.startSession=t.getSessionModel=t.shutdownSession=t.getSessionUrl=t.listRunning=t.SESSION_SERVICE_URL=void 0;const n=i(538),s=i(4251),r=i(9590);function o(e,i){return s.URLExt.join(e,t.SESSION_SERVICE_URL,i)}t.SESSION_SERVICE_URL="api/sessions",t.listRunning=async function(e=n.ServerConnection.makeSettings()){const i=s.URLExt.join(e.baseUrl,t.SESSION_SERVICE_URL),o=await n.ServerConnection.makeRequest(i,{},e);if(200!==o.status)throw await n.ServerConnection.ResponseError.create(o);const a=await o.json();if(!Array.isArray(a))throw new Error("Invalid Session list");return a.forEach((e=>{(0,r.updateLegacySessionModel)(e),(0,r.validateModel)(e)})),a},t.getSessionUrl=o,t.shutdownSession=async function(e,t=n.ServerConnection.makeSettings()){var i;const s=o(t.baseUrl,e),r=await n.ServerConnection.makeRequest(s,{method:"DELETE"},t);if(404===r.status){const t=null!==(i=(await r.json()).message)&&void 0!==i?i:`The session "${e}"" does not exist on the server`;console.warn(t)}else{if(410===r.status)throw new n.ServerConnection.ResponseError(r,"The kernel was deleted but the session was not");if(204!==r.status)throw await n.ServerConnection.ResponseError.create(r)}},t.getSessionModel=async function(e,t=n.ServerConnection.makeSettings()){const i=o(t.baseUrl,e),s=await n.ServerConnection.makeRequest(i,{},t);if(200!==s.status)throw await n.ServerConnection.ResponseError.create(s);const a=await s.json();return(0,r.updateLegacySessionModel)(a),(0,r.validateModel)(a),a},t.startSession=async function(e,i=n.ServerConnection.makeSettings()){const o=s.URLExt.join(i.baseUrl,t.SESSION_SERVICE_URL),a={method:"POST",body:JSON.stringify(e)},l=await n.ServerConnection.makeRequest(o,a,i);if(201!==l.status)throw await n.ServerConnection.ResponseError.create(l);const h=await l.json();return(0,r.updateLegacySessionModel)(h),(0,r.validateModel)(h),h},t.updateSession=async function(e,t=n.ServerConnection.makeSettings()){const i=o(t.baseUrl,e.id),s={method:"PATCH",body:JSON.stringify(e)},a=await n.ServerConnection.makeRequest(i,s,t);if(200!==a.status)throw await n.ServerConnection.ResponseError.create(a);const l=await a.json();return(0,r.updateLegacySessionModel)(l),(0,r.validateModel)(l),l}},7993:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9590:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateModels=t.updateLegacySessionModel=t.validateModel=void 0;const n=i(776),s=i(3247);function r(e){(0,s.validateProperty)(e,"id","string"),(0,s.validateProperty)(e,"type","string"),(0,s.validateProperty)(e,"name","string"),(0,s.validateProperty)(e,"path","string"),(0,s.validateProperty)(e,"kernel","object"),(0,n.validateModel)(e.kernel)}t.validateModel=r,t.updateLegacySessionModel=function(e){void 0===e.path&&void 0!==e.notebook&&(e.path=e.notebook.path,e.type="notebook",e.name="")},t.validateModels=function(e){if(!Array.isArray(e))throw new Error("Invalid session list");e.forEach((e=>r(e)))}},9188:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingManager=void 0;const n=i(4251),s=i(5895),r=i(538);class o extends s.DataConnector{constructor(e={}){var t;super(),this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:r.ServerConnection.makeSettings()}async fetch(e){if(!e)throw new Error("Plugin `id` parameter is required for settings fetch.");const{serverSettings:t}=this,{baseUrl:i,appUrl:n}=t,{makeRequest:s,ResponseError:o}=r.ServerConnection,l=i+n,h=a.url(l,e),c=await s(h,{},t);if(200!==c.status)throw await o.create(c);return c.json()}async list(e){var t,i,n,s;const{serverSettings:o}=this,{baseUrl:l,appUrl:h}=o,{makeRequest:c,ResponseError:d}=r.ServerConnection,u=l+h,p=a.url(u,"","ids"===e),f=await c(p,{},o);if(200!==f.status)throw new d(f);const m=await f.json(),g=null!==(i=null===(t=null==m?void 0:m.settings)||void 0===t?void 0:t.map((e=>e.id)))&&void 0!==i?i:[];let v=[];return e||(v=null!==(s=null===(n=null==m?void 0:m.settings)||void 0===n?void 0:n.map((e=>(e.data={composite:{},user:{}},e))))&&void 0!==s?s:[]),{ids:g,values:v}}async save(e,t){const{serverSettings:i}=this,{baseUrl:n,appUrl:s}=i,{makeRequest:o,ResponseError:l}=r.ServerConnection,h=n+s,c=a.url(h,e),d={body:JSON.stringify({raw:t}),method:"PUT"},u=await o(c,d,i);if(204!==u.status)throw new l(u)}}var a;t.SettingManager=o,function(e){e.url=function(e,t,i){const s=i?n.URLExt.objectToQueryString({ids_only:!0}):"";return`${n.URLExt.join(e,"api/settings",t)}${s}`}}(a||(a={}))},8354:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=WebSocket},7685:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalConnection=void 0;const n=i(4251),s=i(3911),r=i(6424),o=i(5247),a=i(7384);class l{constructor(e){var t;this._createSocket=()=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");const e=this._name,t=this.serverSettings;let i=n.URLExt.join(t.wsUrl,"terminals","websocket",encodeURIComponent(e));const s=t.token;t.appendToken&&""!==s&&(i+=`?token=${encodeURIComponent(s)}`),this._ws=new t.WebSocket(i),this._ws.onmessage=this._onWSMessage,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose},this._onWSMessage=e=>{if(this._isDisposed)return;const t=JSON.parse(e.data);"disconnect"===t[0]&&this.dispose(),"connecting"!==this._connectionStatus?this._messageReceived.emit({type:t[0],content:t.slice(1)}):"setup"===t[0]&&this._updateConnectionStatus("connected")},this._onWSClose=e=>{console.warn(`Terminal websocket closed: ${e.code}`),this.isDisposed||this._reconnect()},this._connectionStatus="connecting",this._connectionStatusChanged=new r.Signal(this),this._isDisposed=!1,this._disposed=new r.Signal(this),this._messageReceived=new r.Signal(this),this._reconnectTimeout=null,this._ws=null,this._noOp=()=>{},this._reconnectLimit=7,this._reconnectAttempt=0,this._pendingMessages=[],this._name=e.model.name,this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:o.ServerConnection.makeSettings(),this._createSocket()}get disposed(){return this._disposed}get messageReceived(){return this._messageReceived}get name(){return this._name}get model(){return{name:this._name}}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearSocket(),r.Signal.clearData(this))}send(e){this._sendMessage(e)}_sendMessage(e,t=!0){if(!this._isDisposed&&e.content)if("connected"===this.connectionStatus&&this._ws){const t=[e.type,...e.content];this._ws.send(JSON.stringify(t))}else{if(!t)throw new Error(`Could not send message: ${JSON.stringify(e)}`);this._pendingMessages.push(e)}}_sendPending(){for(;"connected"===this.connectionStatus&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}reconnect(){this._errorIfDisposed();const e=new s.PromiseDelegate,t=(i,n)=>{"connected"===n?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):"disconnected"===n&&(e.reject(new Error("Terminal connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalManager=void 0;const n=i(9044),s=i(6424),r=i(5247),o=i(7524),a=i(7384),l=i(7685);class h extends o.BaseManager{constructor(e={}){var t;if(super(e),this._isReady=!1,this._names=[],this._terminalConnections=new Set,this._runningChanged=new s.Signal(this),this._connectionFailure=new s.Signal(this),!this.isAvailable())return this._ready=Promise.reject("Terminals unavailable"),void this._ready.catch((e=>{}));this._pollModels=new n.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:TerminalManager#models",standby:null!==(t=e.standby)&&void 0!==t?t:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._names.length=0,this._terminalConnections.forEach((e=>e.dispose())),this._pollModels.dispose(),super.dispose())}isAvailable(){return(0,a.isAvailable)()}connectTo(e){const t=new l.TerminalConnection({...e,serverSettings:this.serverSettings});return this._onStarted(t),this._names.includes(e.model.name)||this.refreshRunning().catch((()=>{})),t}running(){return this._models[Symbol.iterator]()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e){const t=await(0,a.startNew)(this.serverSettings,null==e?void 0:e.name,null==e?void 0:e.cwd);return await this.refreshRunning(),this.connectTo({model:t})}async shutdown(e){await(0,a.shutdownTerminal)(e,this.serverSettings),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all(this._names.map((e=>(0,a.shutdownTerminal)(e,this.serverSettings)))),await this.refreshRunning()}async requestRunning(){var e,t;let i;try{i=await(0,a.listRunning)(this.serverSettings)}catch(i){throw(i instanceof r.ServerConnection.NetworkError||503===(null===(e=i.response)||void 0===e?void 0:e.status)||424===(null===(t=i.response)||void 0===t?void 0:t.status))&&this._connectionFailure.emit(i),i}if(this.isDisposed)return;const n=i.map((({name:e})=>e)).sort();n!==this._names&&(this._names=n,this._terminalConnections.forEach((e=>{n.includes(e.name)||e.dispose()})),this._runningChanged.emit(this._models))}_onStarted(e){this._terminalConnections.add(e),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._terminalConnections.delete(e),this.refreshRunning().catch((()=>{}))}get _models(){return this._names.map((e=>({name:e})))}}t.TerminalManager=h,function(e){e.NoopManager=class extends e{constructor(){super(...arguments),this._readyPromise=new Promise((()=>{}))}get isActive(){return!1}get parentReady(){return super.ready}get ready(){return this.parentReady.then((()=>this._readyPromise))}async startNew(e){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}connectTo(e){throw Error("Not implemented in no-op Terminal Manager")}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}async requestRunning(){return Promise.resolve()}}}(h=t.TerminalManager||(t.TerminalManager={}))},7384:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shutdownTerminal=t.listRunning=t.startNew=t.isAvailable=t.TERMINAL_SERVICE_URL=void 0;const n=i(4251),s=i(538);function r(){return"true"===String(n.PageConfig.getOption("terminalsAvailable")).toLowerCase()}var o;t.TERMINAL_SERVICE_URL="api/terminals",t.isAvailable=r,t.startNew=async function(e=s.ServerConnection.makeSettings(),i,r){o.errorIfNotAvailable();const a=n.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL),l={method:"POST",body:JSON.stringify({name:i,cwd:r})},h=await s.ServerConnection.makeRequest(a,l,e);if(200!==h.status)throw await s.ServerConnection.ResponseError.create(h);return await h.json()},t.listRunning=async function(e=s.ServerConnection.makeSettings()){o.errorIfNotAvailable();const i=n.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL),r=await s.ServerConnection.makeRequest(i,{},e);if(200!==r.status)throw await s.ServerConnection.ResponseError.create(r);const a=await r.json();if(!Array.isArray(a))throw new Error("Invalid terminal list");return a},t.shutdownTerminal=async function(e,i=s.ServerConnection.makeSettings()){var r;o.errorIfNotAvailable();const a=n.URLExt.join(i.baseUrl,t.TERMINAL_SERVICE_URL,e),l=await s.ServerConnection.makeRequest(a,{method:"DELETE"},i);if(404===l.status){const t=null!==(r=(await l.json()).message)&&void 0!==r?r:`The terminal session "${e}"" does not exist on the server`;console.warn(t)}else if(204!==l.status)throw await s.ServerConnection.ResponseError.create(l)},function(e){e.errorIfNotAvailable=function(){if(!r())throw new Error("Terminals Unavailable")}}(o||(o={}))},3828:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAvailable=void 0;const n=i(7384);Object.defineProperty(t,"isAvailable",{enumerable:!0,get:function(){return n.isAvailable}})},1014:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserManager=void 0;const n=i(4251),s=i(3911),r=i(9044),o=i(6424),a=i(538),l=i(7524),h="@jupyterlab/services:UserManager#user";class c extends l.BaseManager{constructor(e={}){var t;super(e),this._isReady=!1,this._userChanged=new o.Signal(this),this._connectionFailure=new o.Signal(this),this._ready=this.requestUser().then((()=>{this.isDisposed||(this._isReady=!0)})).catch((e=>new Promise((()=>{})))),this._pollSpecs=new r.Poll({auto:!1,factory:()=>this.requestUser(),frequency:{interval:61e3,backoff:!0,max:3e5},name:h,standby:null!==(t=e.standby)&&void 0!==t?t:"when-hidden"}),this.ready.then((()=>{this._pollSpecs.start()}))}get isReady(){return this._isReady}get ready(){return this._ready}get identity(){return this._identity}get permissions(){return this._permissions}get userChanged(){return this._userChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose(),super.dispose()}async refreshUser(){await this._pollSpecs.refresh(),await this._pollSpecs.tick}async requestUser(){if(this.isDisposed)return;const{baseUrl:e}=this.serverSettings,{makeRequest:t,ResponseError:i}=a.ServerConnection,r=n.URLExt.join(e,"api/me"),o=await t(r,{},this.serverSettings);if(200!==o.status)throw await i.create(o);const l={identity:this._identity,permissions:this._permissions},c=await o.json(),u=c.identity,{localStorage:p}=window,f=p.getItem(h);if(f&&(!u.initials||!u.color)){const e=JSON.parse(f);u.initials=u.initials||e.initials||u.name.substring(0,1),u.color=u.color||e.color||d.getRandomColor()}s.JSONExt.deepEqual(c,l)||(this._identity=u,this._permissions=c.permissions,p.setItem(h,JSON.stringify(u)),this._userChanged.emit(c))}}var d;t.UserManager=c,function(e){const t=["var(--jp-collaborator-color1)","var(--jp-collaborator-color2)","var(--jp-collaborator-color3)","var(--jp-collaborator-color4)","var(--jp-collaborator-color5)","var(--jp-collaborator-color6)","var(--jp-collaborator-color7)"];e.getRandomColor=()=>t[Math.floor(Math.random()*t.length)]}(d||(d={}))},3247:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateProperty=void 0,t.validateProperty=function(e,t,i,n=[]){if(!e.hasOwnProperty(t))throw Error(`Missing property '${t}'`);const s=e[t];if(void 0!==i){let e=!0;switch(i){case"array":e=Array.isArray(s);break;case"object":e=void 0!==s;break;default:e=typeof s===i}if(!e)throw new Error(`Property '${t}' is not of type '${i}'`);if(n.length>0){let e=!0;switch(i){case"string":case"number":case"boolean":e=n.includes(s);break;default:e=n.findIndex((e=>e===s))>=0}if(!e)throw new Error(`Property '${t}' is not one of the valid values ${JSON.stringify(n)}`)}}}},9090:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceManager=void 0;const n=i(4251),s=i(5895),r=i(538);class o extends s.DataConnector{constructor(e={}){var t;super(),this.serverSettings=null!==(t=e.serverSettings)&&void 0!==t?t:r.ServerConnection.makeSettings()}async fetch(e){const{serverSettings:t}=this,{baseUrl:i,appUrl:n}=t,{makeRequest:s,ResponseError:o}=r.ServerConnection,l=i+n,h=a.url(l,e),c=await s(h,{},t);if(200!==c.status)throw await o.create(c);return c.json()}async list(){const{serverSettings:e}=this,{baseUrl:t,appUrl:i}=e,{makeRequest:n,ResponseError:s}=r.ServerConnection,o=t+i,l=a.url(o,""),h=await n(l,{},e);if(200!==h.status)throw await s.create(h);return(await h.json()).workspaces}async remove(e){const{serverSettings:t}=this,{baseUrl:i,appUrl:n}=t,{makeRequest:s,ResponseError:o}=r.ServerConnection,l=i+n,h=a.url(l,e),c=await s(h,{method:"DELETE"},t);if(204!==c.status)throw await o.create(c)}async save(e,t){const{serverSettings:i}=this,{baseUrl:n,appUrl:s}=i,{makeRequest:o,ResponseError:l}=r.ServerConnection,h=n+s,c=a.url(h,e),d={body:JSON.stringify(t),method:"PUT"},u=await o(c,d,i);if(204!==u.status)throw await l.create(u)}}var a;t.WorkspaceManager=o,function(e){e.url=function(e,t){return n.URLExt.join(e,"api/workspaces",t)}}(a||(a={}))},1150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataConnector=void 0,t.DataConnector=class{async list(e){throw new Error("DataConnector#list method has not been implemented.")}async remove(e){throw new Error("DataConnector#remove method has not been implemented.")}async save(e,t){throw new Error("DataConnector#save method has not been implemented.")}}},5895:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),s(i(1150),t),s(i(4995),t),s(i(2763),t),s(i(4611),t),s(i(2594),t)},4995:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2763:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RestorablePool=void 0;const n=i(3911),s=i(4050),r=i(6424);var o;t.RestorablePool=class{constructor(e){this._added=new r.Signal(this),this._current=null,this._currentChanged=new r.Signal(this),this._hasRestored=!1,this._isDisposed=!1,this._objects=new Set,this._restore=null,this._restored=new n.PromiseDelegate,this._updated=new r.Signal(this),this.namespace=e.namespace}get added(){return this._added}get current(){return this._current}set current(e){this._current!==e&&null!==e&&this._objects.has(e)&&(this._current=e,this._currentChanged.emit(this._current))}get currentChanged(){return this._currentChanged}get isDisposed(){return this._isDisposed}get restored(){return this._restored.promise}get size(){return this._objects.size}get updated(){return this._updated}async add(e){var t,i;if(e.isDisposed){const t="A disposed object cannot be added.";throw console.warn(t,e),new Error(t)}if(this._objects.has(e)){const t="This object already exists in the pool.";throw console.warn(t,e),new Error(t)}if(this._objects.add(e),e.disposed.connect(this._onInstanceDisposed,this),!o.injectedProperty.get(e)){if(this._restore){const{connector:n}=this._restore,s=this._restore.name(e);if(s){const r=`${this.namespace}:${s}`,a=null===(i=(t=this._restore).args)||void 0===i?void 0:i.call(t,e);o.nameProperty.set(e,r),await n.save(r,{data:a})}}this._added.emit(e)}}dispose(){this.isDisposed||(this._current=null,this._isDisposed=!0,this._objects.clear(),r.Signal.clearData(this))}find(e){const t=this._objects.values();for(const i of t)if(e(i))return i}forEach(e){this._objects.forEach(e)}filter(e){const t=[];return this.forEach((i=>{e(i)&&t.push(i)})),t}inject(e){return o.injectedProperty.set(e,!0),this.add(e)}has(e){return this._objects.has(e)}async restore(e){if(this._hasRestored)throw new Error("This pool has already been restored.");this._hasRestored=!0;const{command:t,connector:i,registry:n,when:s}=e,r=this.namespace,o=s?[i.list(r)].concat(s):[i.list(r)];this._restore=e;const[a]=await Promise.all(o),l=await Promise.all(a.ids.map((async(e,s)=>{const r=a.values[s],o=r&&r.data;return void 0===o?i.remove(e):n.execute(t,o).catch((()=>i.remove(e)))})));return this._restored.resolve(),l}async save(e){var t,i;const n=o.injectedProperty.get(e);if(!this._restore||!this.has(e)||n)return;const{connector:s}=this._restore,r=this._restore.name(e),a=o.nameProperty.get(e),l=r?`${this.namespace}:${r}`:"";if(a&&a!==l&&await s.remove(a),o.nameProperty.set(e,l),l){const n=null===(i=(t=this._restore).args)||void 0===i?void 0:i.call(t,e);await s.save(l,{data:n})}a!==l&&this._updated.emit(e)}_onInstanceDisposed(e){if(this._objects.delete(e),e===this._current&&(this._current=null,this._currentChanged.emit(this._current)),o.injectedProperty.get(e))return;if(!this._restore)return;const{connector:t}=this._restore,i=o.nameProperty.get(e);i&&t.remove(i)}},function(e){e.injectedProperty=new s.AttachedProperty({name:"injected",create:()=>!1}),e.nameProperty=new s.AttachedProperty({name:"name",create:()=>""})}(o||(o={}))},4611:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StateDB=void 0;const n=i(6424);class s{constructor(e={}){this._changed=new n.Signal(this);const{connector:t,transform:i}=e;this._connector=t||new s.Connector,this._ready=i?i.then((e=>{const{contents:t,type:i}=e;switch(i){case"cancel":default:return;case"clear":return this._clear();case"merge":return this._merge(t||{});case"overwrite":return this._overwrite(t||{})}})):Promise.resolve(void 0)}get changed(){return this._changed}async clear(){await this._ready,await this._clear()}async fetch(e){return await this._ready,this._fetch(e)}async list(e){return await this._ready,this._list(e)}async remove(e){await this._ready,await this._remove(e),this._changed.emit({id:e,type:"remove"})}async save(e,t){await this._ready,await this._save(e,t),this._changed.emit({id:e,type:"save"})}async toJSON(){await this._ready;const{ids:e,values:t}=await this._list();return t.reduce(((t,i,n)=>(t[e[n]]=i,t)),{})}async _clear(){await Promise.all((await this._list()).ids.map((e=>this._remove(e))))}async _fetch(e){const t=await this._connector.fetch(e);if(t)return JSON.parse(t).v}async _list(e=""){const{ids:t,values:i}=await this._connector.list(e);return{ids:t,values:i.map((e=>JSON.parse(e).v))}}async _merge(e){await Promise.all(Object.keys(e).map((t=>e[t]&&this._save(t,e[t]))))}async _overwrite(e){await this._clear(),await this._merge(e)}async _remove(e){return this._connector.remove(e)}async _save(e,t){return this._connector.save(e,JSON.stringify({v:t}))}}t.StateDB=s,function(e){e.Connector=class{constructor(){this._storage={}}async fetch(e){return this._storage[e]}async list(e=""){return Object.keys(this._storage).reduce(((t,i)=>(""!==e&&e!==i.split(":")[0]||(t.ids.push(i),t.values.push(this._storage[i])),t)),{ids:[],values:[]})}async remove(e){delete this._storage[e]}async save(e,t){this._storage[e]=t}}}(s=t.StateDB||(t.StateDB={}))},2594:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IStateDB=void 0;const n=i(3911);t.IStateDB=new n.Token("@jupyterlab/coreutils:IStateDB",'A service for the JupyterLab state database.\n Use this if you want to store data that will persist across page loads.\n See "state database" for more information.')},7564:(e,t,i)=>{"use strict";var n,s,r;function*o(){}function a(e,t){let i=0;for(const n of e)if(t(n,i++))return n}function l(e,t){let i;for(const n of e)void 0!==i?t(n,i)>0&&(i=n):i=n;return i}function h(e,t){let i=0;for(const n of e)if(!1===t(n,i++))return!1;return!0}function c(e,t){let i=0;for(const n of e)if(t(n,i++))return!0;return!1}function*d(e,t){let i=0;for(const n of e)yield t(n,i++)}function*u(e){if("function"==typeof e.retro)yield*e.retro();else for(let t=e.length-1;t>-1;t--)yield e[t]}i.d(t,{Fp:()=>l,G:()=>c,RO:()=>n,UI:()=>d,cS:()=>o,kf:()=>r,kh:()=>u,sE:()=>a,yW:()=>h}),function(e){function t(e,t,i=0,n=-1){let s,r=e.length;if(0===r)return-1;i=i<0?Math.max(0,i+r):Math.min(i,r-1),s=(n=n<0?Math.max(0,n+r):Math.min(n,r-1))=i)return;let n=e[t];for(let n=t+1;n0;){let n=a>>1,s=o+n;i(e[s],t)<0?(o=s+1,a-=n+1):a=n}return o},e.upperBound=function(e,t,i,n=0,s=-1){let r=e.length;if(0===r)return 0;let o=n=n<0?Math.max(0,n+r):Math.min(n,r-1),a=(s=s<0?Math.max(0,s+r):Math.min(s,r-1))-n+1;for(;a>0;){let n=a>>1,s=o+n;i(e[s],t)>0?a=n:(o=s+1,a-=n+1)}return o},e.shallowEqual=function(e,t,i){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,s=e.length;n=o&&(i=s<0?o-1:o),void 0===n?n=s<0?-1:o:n<0?n=Math.max(n+o,s<0?-1:0):n>=o&&(n=s<0?o-1:o),r=s<0&&n>=i||s>0&&i>=n?0:s<0?Math.floor((n-i+1)/s+1):Math.floor((n-i-1)/s+1);let a=[];for(let t=0;t=(n=n<0?Math.max(0,n+s):Math.min(n,s-1)))return;let o=n-i+1;if(t>0?t%=o:t<0&&(t=(t%o+o)%o),0===t)return;let a=i+t;r(e,i,a-1),r(e,a,n),r(e,i,n)},e.fill=function(e,t,i=0,n=-1){let s,r=e.length;if(0!==r){i=i<0?Math.max(0,i+r):Math.min(i,r-1),s=(n=n<0?Math.max(0,n+r):Math.min(n,r-1))t;--i)e[i]=e[i-1];e[t]=i},e.removeAt=o,e.removeFirstOf=function(e,i,n=0,s=-1){let r=t(e,i,n,s);return-1!==r&&o(e,r),r},e.removeLastOf=function(e,t,n=-1,s=0){let r=i(e,t,n,s);return-1!==r&&o(e,r),r},e.removeAllOf=function(e,t,i=0,n=-1){let s=e.length;if(0===s)return 0;i=i<0?Math.max(0,i+s):Math.min(i,s-1),n=n<0?Math.max(0,n+s):Math.min(n,s-1);let r=0;for(let o=0;o=i&&o<=n&&e[o]===t||n=i)&&e[o]===t?r++:r>0&&(e[o-r]=e[o]);return r>0&&(e.length=s-r),r},e.removeFirstWhere=function(e,t,i=0,s=-1){let r,a=n(e,t,i,s);return-1!==a&&(r=o(e,a)),{index:a,value:r}},e.removeLastWhere=function(e,t,i=-1,n=0){let r,a=s(e,t,i,n);return-1!==a&&(r=o(e,a)),{index:a,value:r}},e.removeAllWhere=function(e,t,i=0,n=-1){let s=e.length;if(0===s)return 0;i=i<0?Math.max(0,i+s):Math.min(i,s-1),n=n<0?Math.max(0,n+s):Math.min(n,s-1);let r=0;for(let o=0;o=i&&o<=n&&t(e[o],o)||n=i)&&t(e[o],o)?r++:r>0&&(e[o-r]=e[o]);return r>0&&(e.length=s-r),r}}(n||(n={})),function(e){e.rangeLength=function(e,t,i){return 0===i?1/0:e>t&&i>0||et?1:0}}(r||(r={}))},3911:function(e,t){!function(e){"use strict";e.JSONExt=void 0,function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function i(e){return Array.isArray(e)}function n(e,s){if(e===s)return!0;if(t(e)||t(s))return!1;let r=i(e),o=i(s);return r===o&&(r&&o?function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let i=0,s=e.length;i>>0),e[i]=255&t,t>>>=8}e.Random=void 0,(e.Random||(e.Random={})).getRandomValues=(()=>{const e="undefined"!=typeof window&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?function(t){return e.getRandomValues(t)}:t})(),e.UUID=void 0,(e.UUID||(e.UUID={})).uuid4=function(e){const t=new Uint8Array(16),i=new Array(256);for(let e=0;e<16;++e)i[e]="0"+e.toString(16);for(let e=16;e<256;++e)i[e]=e.toString(16);return function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],i[t[0]]+i[t[1]]+i[t[2]]+i[t[3]]+"-"+i[t[4]]+i[t[5]]+"-"+i[t[6]]+i[t[7]]+"-"+i[t[8]]+i[t[9]]+"-"+i[t[10]]+i[t[11]]+i[t[12]]+i[t[13]]+i[t[14]]+i[t[15]]}}(e.Random.getRandomValues),e.MimeData=class{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return-1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return-1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}},e.PromiseDelegate=class{constructor(){this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){(0,this._resolve)(e)}reject(e){(0,this._reject)(e)}},e.Token=class{constructor(e,t){this.name=e,this.description=null!=t?t:"",this._tokenStructuralPropertyT=null}}}(t)},1122:(e,t,i)=>{"use strict";i.r(t),i.d(t,{DisposableDelegate:()=>s,DisposableSet:()=>o,ObservableDisposableDelegate:()=>r,ObservableDisposableSet:()=>a});var n=i(6424);class s{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}}class r extends s{constructor(){super(...arguments),this._disposed=new n.Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),n.Signal.clearData(this))}}class o{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach((e=>{e.dispose()})),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}}!function(e){e.from=function(t){let i=new e;for(const e of t)i.add(e);return i}}(o||(o={}));class a extends o{constructor(){super(...arguments),this._disposed=new n.Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),n.Signal.clearData(this))}}!function(e){e.from=function(t){let i=new e;for(const e of t)i.add(e);return i}}(a||(a={}))},9044:(e,t,i)=>{"use strict";i.r(t),i.d(t,{Debouncer:()=>l,Poll:()=>o,RateLimiter:()=>a,Throttler:()=>h});var n,s=i(3911),r=i(6424);class o{constructor(e){var t;this._disposed=new r.Signal(this),this._lingered=0,this._tick=new s.PromiseDelegate,this._ticked=new r.Signal(this),this._factory=e.factory,this._linger=null!==(t=e.linger)&&void 0!==t?t:n.DEFAULT_LINGER,this._standby=e.standby||n.DEFAULT_STANDBY,this._state={...n.DEFAULT_STATE,timestamp:(new Date).getTime()};const i=e.frequency||{},o=Math.max(i.interval||0,i.max||0,n.DEFAULT_FREQUENCY.max);this.frequency={...n.DEFAULT_FREQUENCY,...i,max:o},this.name=e.name||n.DEFAULT_NAME,"auto"in e&&!e.auto||setTimeout((()=>this.start()))}get disposed(){return this._disposed}get frequency(){return this._frequency}set frequency(e){if(this.isDisposed||s.JSONExt.deepEqual(e,this.frequency||{}))return;let{backoff:t,interval:i,max:n}=e;if(i=Math.round(i),n=Math.round(n),"number"==typeof t&&t<1)throw new Error("Poll backoff growth factor must be at least 1");if((i<0||i>n)&&i!==o.NEVER)throw new Error("Poll interval must be between 0 and max");if(n>o.MAX_INTERVAL&&n!==o.NEVER)throw new Error(`Max interval must be less than ${o.MAX_INTERVAL}`);this._frequency={backoff:t,interval:i,max:n}}get isDisposed(){return"disposed"===this.state.phase}get standby(){return this._standby}set standby(e){this.isDisposed||this.standby===e||(this._standby=e)}get state(){return this._state}get tick(){return this._tick.promise}get ticked(){return this._ticked}async*[Symbol.asyncIterator](){for(;!this.isDisposed;)yield this.state,await this.tick.catch((()=>{}))}dispose(){this.isDisposed||(this._state={...n.DISPOSED_STATE,timestamp:(new Date).getTime()},this._tick.promise.catch((e=>{})),this._tick.reject(new Error(`Poll (${this.name}) is disposed.`)),this._disposed.emit(void 0),r.Signal.clearData(this))}refresh(){return this.schedule({cancel:({phase:e})=>"refreshed"===e,interval:o.IMMEDIATE,phase:"refreshed"})}async schedule(e={}){if(this.isDisposed)return;if(e.cancel&&e.cancel(this.state))return;const t=this._tick,i=new s.PromiseDelegate,n={interval:this.frequency.interval,payload:null,phase:"standby",timestamp:(new Date).getTime(),...e};this._state=n,this._tick=i,clearTimeout(this._timeout),this._ticked.emit(this.state),t.resolve(this),await t.promise,n.interval!==o.NEVER?this._timeout=setTimeout((()=>{this.isDisposed||this.tick!==i.promise||this._execute()}),n.interval):this._timeout=void 0}start(){return this.schedule({cancel:({phase:e})=>"constructed"!==e&&"standby"!==e&&"stopped"!==e,interval:o.IMMEDIATE,phase:"started"})}stop(){return this.schedule({cancel:({phase:e})=>"stopped"===e,interval:o.NEVER,phase:"stopped"})}get hidden(){return n.hidden}_execute(){let e="function"==typeof this.standby?this.standby():this.standby;if("never"===e?e=!1:"when-hidden"===e&&(this.hidden?e=++this._lingered>this._linger:(this._lingered=0,e=!1)),e)return void this.schedule();const t=this.tick;this._factory(this.state).then((e=>{this.isDisposed||this.tick!==t||this.schedule({payload:e,phase:"rejected"===this.state.phase?"reconnected":"resolved"})})).catch((e=>{this.isDisposed||this.tick!==t||this.schedule({interval:n.sleep(this.frequency,this.state),payload:e,phase:"rejected"})}))}}!function(e){e.IMMEDIATE=0,e.MAX_INTERVAL=2147483647,e.NEVER=1/0}(o||(o={})),function(e){e.DEFAULT_BACKOFF=3,e.DEFAULT_FREQUENCY={backoff:!0,interval:1e3,max:3e4},e.DEFAULT_LINGER=1,e.DEFAULT_NAME="unknown",e.DEFAULT_STANDBY="when-hidden",e.DEFAULT_STATE={interval:o.NEVER,payload:null,phase:"constructed",timestamp:new Date(0).getTime()},e.DISPOSED_STATE={interval:o.NEVER,payload:null,phase:"disposed",timestamp:new Date(0).getTime()},e.sleep=function(t,i){const{backoff:n,interval:s,max:r}=t;if(s===o.NEVER)return s;const a=!0===n?e.DEFAULT_BACKOFF:!1===n?1:n,l=function(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}(s,i.interval*a);return Math.min(r,l)},e.hidden="undefined"!=typeof document&&(document.addEventListener("visibilitychange",(()=>{e.hidden="hidden"===document.visibilityState})),document.addEventListener("pagehide",(()=>{e.hidden="hidden"===document.visibilityState})),"hidden"===document.visibilityState)}(n||(n={}));class a{constructor(e,t=500){this.args=void 0,this.payload=null,this.limit=t,this.poll=new o({auto:!1,factory:async()=>{const{args:t}=this;return this.args=void 0,e(...t)},frequency:{backoff:!1,interval:o.NEVER,max:o.NEVER},standby:"never"}),this.payload=new s.PromiseDelegate,this.poll.ticked.connect(((e,t)=>{const{payload:i}=this;return"resolved"===t.phase?(this.payload=new s.PromiseDelegate,void i.resolve(t.payload)):"rejected"===t.phase||"stopped"===t.phase?(this.payload=new s.PromiseDelegate,i.promise.catch((e=>{})),void i.reject(t.payload)):void 0}),this)}get isDisposed(){return null===this.payload}dispose(){this.isDisposed||(this.args=void 0,this.payload=null,this.poll.dispose())}async stop(){return this.poll.stop()}}class l extends a{invoke(...e){return this.args=e,this.poll.schedule({interval:this.limit,phase:"invoked"}),this.payload.promise}}class h extends a{constructor(e,t){super(e,"number"==typeof t?t:t&&t.limit),this._trailing=!1,"number"!=typeof t&&t&&"trailing"===t.edge&&(this._trailing=!0),this._interval=this._trailing?this.limit:o.IMMEDIATE}invoke(...e){const t="invoked"!==this.poll.state.phase;return(t||this._trailing)&&(this.args=e),t&&this.poll.schedule({interval:this._interval,phase:"invoked"}),this.payload.promise}}},4050:(e,t,i)=>{"use strict";i.r(t),i.d(t,{AttachedProperty:()=>n});class n{constructor(e){this._pid=s.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,i=s.ensureMap(e);return t=this._pid in i?i[this._pid]:i[this._pid]=this._createValue(e),t}set(e,t){let i,n=s.ensureMap(e);i=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let r=this._coerceValue(e,t);this._maybeNotify(e,i,n[this._pid]=r)}coerce(e){let t,i=s.ensureMap(e);t=this._pid in i?i[this._pid]:i[this._pid]=this._createValue(e);let n=this._coerceValue(e,t);this._maybeNotify(e,t,i[this._pid]=n)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let i=this._coerce;return i?i(e,t):t}_compareValue(e,t){let i=this._compare;return i?i(e,t):e===t}_maybeNotify(e,t,i){let n=this._changed;n&&!this._compareValue(t,i)&&n(e,t,i)}}var s;!function(e){e.clearData=function(e){s.ownerData.delete(e)}}(n||(n={})),function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})(),e.ensureMap=function(t){let i=e.ownerData.get(t);return i||(i=Object.create(null),e.ownerData.set(t,i),i)}}(s||(s={}))},6424:(e,t,i)=>{"use strict";i.r(t),i.d(t,{Signal:()=>o,Stream:()=>a});var n,s=i(7564),r=i(3911);class o{constructor(e){this.sender=e}connect(e,t){return n.connect(this,e,t)}disconnect(e,t){return n.disconnect(this,e,t)}emit(e){n.emit(this,e)}}!function(e){e.disconnectBetween=function(e,t){n.disconnectBetween(e,t)},e.disconnectSender=function(e){n.disconnectSender(e)},e.disconnectReceiver=function(e){n.disconnectReceiver(e)},e.disconnectAll=function(e){n.disconnectAll(e)},e.clearData=function(e){n.disconnectAll(e)},e.getExceptionHandler=function(){return n.exceptionHandler},e.setExceptionHandler=function(e){let t=n.exceptionHandler;return n.exceptionHandler=e,t}}(o||(o={}));class a extends o{constructor(){super(...arguments),this._pending=new r.PromiseDelegate}async*[Symbol.asyncIterator](){let e=this._pending;for(;;)try{const{args:t,next:i}=await e.promise;e=i,yield t}catch(e){return}}emit(e){const t=this._pending,i=this._pending=new r.PromiseDelegate;t.resolve({args:e,next:i}),super.emit(e)}stop(){this._pending.promise.catch((()=>{})),this._pending.reject("stop"),this._pending=new r.PromiseDelegate}}!function(e){function t(e){let t=n.get(e);if(t&&0!==t.length){for(const e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,c(r.get(t))}c(t)}}function i(e){let t=r.get(e);if(t&&0!==t.length){for(const e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,c(n.get(t))}c(t)}}e.exceptionHandler=e=>{console.error(e)},e.connect=function(e,t,i){i=i||void 0;let s=n.get(e.sender);if(s||(s=[],n.set(e.sender,s)),l(s,e,t,i))return!1;let o=i||t,a=r.get(o);a||(a=[],r.set(o,a));let h={signal:e,slot:t,thisArg:i};return s.push(h),a.push(h),!0},e.disconnect=function(e,t,i){i=i||void 0;let s=n.get(e.sender);if(!s||0===s.length)return!1;let o=l(s,e,t,i);if(!o)return!1;let a=i||t,h=r.get(a);return o.signal=null,c(s),c(h),!0},e.disconnectBetween=function(e,t){let i=n.get(e);if(!i||0===i.length)return;let s=r.get(t);if(s&&0!==s.length){for(const t of s)t.signal&&t.signal.sender===e&&(t.signal=null);c(i),c(s)}},e.disconnectSender=t,e.disconnectReceiver=i,e.disconnectAll=function(e){t(e),i(e)},e.emit=function(e,t){let i=n.get(e.sender);if(i&&0!==i.length)for(let n=0,s=i.length;ne.signal===t&&e.slot===i&&e.thisArg===n))}function h(t,i){let{signal:n,slot:s,thisArg:r}=t;try{s.call(r,n.sender,i)}catch(t){e.exceptionHandler(t)}}function c(e){0===o.size&&a(d),o.add(e)}function d(){o.forEach(u),o.clear()}function u(e){s.RO.removeAllWhere(e,p)}function p(e){return null===e.signal}}(n||(n={}))},2454:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===i}(e)}(e)},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function s(e,t,i){return e.concat(t).map((function(e){return n(e,i)}))}function r(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,i,l){(l=l||{}).arrayMerge=l.arrayMerge||s,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var h=Array.isArray(i);return h===Array.isArray(e)?h?l.arrayMerge(e,i,l):function(e,t,i){var s={};return i.isMergeableObject(e)&&r(e).forEach((function(t){s[t]=n(e[t],i)})),r(t).forEach((function(r){(function(e,t){return o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,r)||(o(e,r)&&i.isMergeableObject(t[r])?s[r]=function(e,t){if(!t.customMerge)return a;var i=t.customMerge(e);return"function"==typeof i?i:a}(r,i)(e[r],t[r],i):s[r]=n(t[r],i))})),s}(e,i,l):n(i,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,i){return a(e,i,t)}),{})};var l=a;e.exports=l},8002:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),t.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},2721:function(e,t,i){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,i=1,n=arguments.length;i";case a.Comment:return"\x3c!--"+e.data+"--\x3e";case a.CDATA:return function(e){return""}(e);case a.Script:case a.Style:case a.Tag:return function(e,t){var i;"foreign"===t.xmlMode&&(e.name=null!==(i=h.elementNames.get(e.name))&&void 0!==i?i:e.name,e.parent&&f.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&m.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var s="<"+e.name,r=function(e,t){if(e)return Object.keys(e).map((function(i){var n,s,r=null!==(n=e[i])&&void 0!==n?n:"";return"foreign"===t.xmlMode&&(i=null!==(s=h.attributeNames.get(i))&&void 0!==s?s:i),t.emptyAttrs||t.xmlMode||""!==r?i+'="'+(!1!==t.decodeEntities?l.encodeXML(r):r.replace(/"/g,"""))+'"':i})).join(" ")}(e.attribs,t);return r&&(s+=" "+r),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&d.has(e.name))?(t.xmlMode||(s+=" "),s+="/>"):(s+=">",e.children.length>0&&(s+=u(e.children,t)),!t.xmlMode&&d.has(e.name)||(s+="")),s}(e,t);case a.Text:return function(e,t){var i=e.data||"";return!1===t.decodeEntities||!t.xmlMode&&e.parent&&c.has(e.parent.name)||(i=l.encodeXML(i)),i}(e,t)}}t.default=u;var f=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),m=new Set(["svg","math"])},3706:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(i=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===i.Tag||e.type===i.Script||e.type===i.Style},t.Root=i.Root,t.Text=i.Text,t.Directive=i.Directive,t.Comment=i.Comment,t.Script=i.Script,t.Style=i.Style,t.Tag=i.Tag,t.CDATA=i.CDATA,t.Doctype=i.Doctype},9425:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var s=Object.getOwnPropertyDescriptor(t,i);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,s)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.DomHandler=void 0;var r=i(3706),o=i(4862);s(i(4862),t);var a=/\s+/g,l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},h=function(){function e(e,t,i){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(i=t,t=l),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:l,this.elementCB=null!=i?i:null}return e.prototype.onparserinit=function(e){this.parser=e},e.prototype.onreset=function(){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},e.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this.lastNode=null;var e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)},e.prototype.onopentag=function(e,t){var i=this.options.xmlMode?r.ElementType.Tag:void 0,n=new o.Element(e,t,void 0,i);this.addNode(n),this.tagStack.push(n)},e.prototype.ontext=function(e){var t=this.options.normalizeWhitespace,i=this.lastNode;if(i&&i.type===r.ElementType.Text)t?i.data=(i.data+e).replace(a," "):i.data+=e,this.options.withEndIndices&&(i.endIndex=this.parser.endIndex);else{t&&(e=e.replace(a," "));var n=new o.Text(e);this.addNode(n),this.lastNode=n}},e.prototype.oncomment=function(e){if(this.lastNode&&this.lastNode.type===r.ElementType.Comment)this.lastNode.data+=e;else{var t=new o.Comment(e);this.addNode(t),this.lastNode=t}},e.prototype.oncommentend=function(){this.lastNode=null},e.prototype.oncdatastart=function(){var e=new o.Text(""),t=new o.NodeWithChildren(r.ElementType.CDATA,[e]);this.addNode(t),e.parent=t,this.lastNode=e},e.prototype.oncdataend=function(){this.lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var i=new o.ProcessingInstruction(e,t);this.addNode(i)},e.prototype.handleCallback=function(e){if("function"==typeof this.callback)this.callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this.tagStack[this.tagStack.length-1],i=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),i&&(e.prev=i,i.next=e),e.parent=t,this.lastNode=null},e}();t.DomHandler=h,t.default=h},4862:function(e,t,i){"use strict";var n,s=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,i=1,n=arguments.length;i0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(l);t.NodeWithChildren=p;var f=function(e){function t(t){return e.call(this,o.ElementType.Root,t)||this}return s(t,e),t}(p);t.Document=f;var m=function(e){function t(t,i,n,s){void 0===n&&(n=[]),void 0===s&&(s="script"===t?o.ElementType.Script:"style"===t?o.ElementType.Style:o.ElementType.Tag);var r=e.call(this,s,n)||this;return r.name=t,r.attribs=i,r}return s(t,e),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var i,n;return{name:t,value:e.attribs[t],namespace:null===(i=e["x-attribsNamespace"])||void 0===i?void 0:i[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}}))},enumerable:!1,configurable:!0}),t}(p);function g(e){return(0,o.isTag)(e)}function v(e){return e.type===o.ElementType.CDATA}function O(e){return e.type===o.ElementType.Text}function b(e){return e.type===o.ElementType.Comment}function _(e){return e.type===o.ElementType.Directive}function y(e){return e.type===o.ElementType.Root}function w(e,t){var i;if(void 0===t&&(t=!1),O(e))i=new c(e.data);else if(b(e))i=new d(e.data);else if(g(e)){var n=t?x(e.children):[],s=new m(e.name,r({},e.attribs),n);n.forEach((function(e){return e.parent=s})),null!=e.namespace&&(s.namespace=e.namespace),e["x-attribsNamespace"]&&(s["x-attribsNamespace"]=r({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(s["x-attribsPrefix"]=r({},e["x-attribsPrefix"])),i=s}else if(v(e)){n=t?x(e.children):[];var a=new p(o.ElementType.CDATA,n);n.forEach((function(e){return e.parent=a})),i=a}else if(y(e)){n=t?x(e.children):[];var l=new f(n);n.forEach((function(e){return e.parent=l})),e["x-mode"]&&(l["x-mode"]=e["x-mode"]),i=l}else{if(!_(e))throw new Error("Not implemented yet: ".concat(e.type));var h=new u(e.name,e.data);null!=e["x-name"]&&(h["x-name"]=e["x-name"],h["x-publicId"]=e["x-publicId"],h["x-systemId"]=e["x-systemId"]),i=h}return i.startIndex=e.startIndex,i.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(i.sourceCodeLocation=e.sourceCodeLocation),i}function x(e){for(var t=e.map((function(e){return w(e,!0)})),i=1;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFeed=void 0;var n=i(3017),s=i(9319);t.getFeed=function(e){var t=l(d,e);return t?"feed"===t.name?function(e){var t,i=e.children,n={type:"atom",items:(0,s.getElementsByTagName)("entry",i).map((function(e){var t,i=e.children,n={media:a(i)};c(n,"id","id",i),c(n,"title","title",i);var s=null===(t=l("link",i))||void 0===t?void 0:t.attribs.href;s&&(n.link=s);var r=h("summary",i)||h("content",i);r&&(n.description=r);var o=h("updated",i);return o&&(n.pubDate=new Date(o)),n}))};c(n,"id","id",i),c(n,"title","title",i);var r=null===(t=l("link",i))||void 0===t?void 0:t.attribs.href;r&&(n.link=r),c(n,"description","subtitle",i);var o=h("updated",i);return o&&(n.updated=new Date(o)),c(n,"author","email",i,!0),n}(t):function(e){var t,i,n=null!==(i=null===(t=l("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==i?i:[],r={type:e.name.substr(0,3),id:"",items:(0,s.getElementsByTagName)("item",e.children).map((function(e){var t=e.children,i={media:a(t)};c(i,"id","guid",t),c(i,"title","title",t),c(i,"link","link",t),c(i,"description","description",t);var n=h("pubDate",t);return n&&(i.pubDate=new Date(n)),i}))};c(r,"title","title",n),c(r,"link","link",n),c(r,"description","description",n);var o=h("lastBuildDate",n);return o&&(r.updated=new Date(o)),c(r,"author","managingEditor",n,!0),r}(t):null};var r=["url","type","lang"],o=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function a(e){return(0,s.getElementsByTagName)("media:content",e).map((function(e){for(var t=e.attribs,i={medium:t.medium,isDefault:!!t.isDefault},n=0,s=r;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.removeSubsets=void 0;var n=i(9425);function s(e,t){var i=[],s=[];if(e===t)return 0;for(var r=(0,n.hasChildren)(e)?e:e.parent;r;)i.unshift(r),r=r.parent;for(r=(0,n.hasChildren)(t)?t:t.parent;r;)s.unshift(r),r=r.parent;for(var o=Math.min(i.length,s.length),a=0;ah.indexOf(d)?l===t?20:4:l===e?10:2}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var i=e[t];if(t>0&&e.lastIndexOf(i,t-1)>=0)e.splice(t,1);else for(var n=i.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=s,t.uniqueSort=function(e){return(e=e.filter((function(e,t,i){return!i.includes(e,t+1)}))).sort((function(e,t){var i=s(e,t);return 2&i?-1:4&i?1:0})),e}},5030:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),s=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,s(i(3017),t),s(i(8563),t),s(i(378),t),s(i(1446),t),s(i(9319),t),s(i(6850),t),s(i(9904),t);var r=i(9425);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return r.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return r.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return r.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return r.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return r.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return r.hasChildren}})},9319:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=i(9425),s=i(1446),r={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function o(e,t){return"function"==typeof t?function(i){return(0,n.isTag)(i)&&t(i.attribs[e])}:function(i){return(0,n.isTag)(i)&&i.attribs[e]===t}}function a(e,t){return function(i){return e(i)||t(i)}}function l(e){var t=Object.keys(e).map((function(t){var i=e[t];return Object.prototype.hasOwnProperty.call(r,t)?r[t](i):o(t,i)}));return 0===t.length?null:t.reduce(a)}t.testElement=function(e,t){var i=l(e);return!i||i(t)},t.getElements=function(e,t,i,n){void 0===n&&(n=1/0);var r=l(e);return r?(0,s.filter)(r,t,i,n):[]},t.getElementById=function(e,t,i){return void 0===i&&(i=!0),Array.isArray(t)||(t=[t]),(0,s.findOne)(o("id",e),t,i)},t.getElementsByTagName=function(e,t,i,n){return void 0===i&&(i=!0),void 0===n&&(n=1/0),(0,s.filter)(r.tag_name(e),t,i,n)},t.getElementsByTagType=function(e,t,i,n){return void 0===i&&(i=!0),void 0===n&&(n=1/0),(0,s.filter)(r.tag_type(e),t,i,n)}},378:(e,t)=>{"use strict";function i(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=i,t.replaceElement=function(e,t){var i=t.prev=e.prev;i&&(i.next=t);var n=t.next=e.next;n&&(n.prev=t);var s=t.parent=e.parent;if(s){var r=s.children;r[r.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(i(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){i(t);var n=e.parent,s=e.next;if(t.next=s,t.prev=e,e.next=t,t.parent=n,s){if(s.prev=t,n){var r=n.children;r.splice(r.lastIndexOf(s),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(i(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){i(t);var n=e.parent;if(n){var s=n.children;s.splice(s.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},1446:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=i(9425);function s(e,t,i,r){for(var o=[],a=0,l=t;a0){var c=s(e,h.children,i,r);if(o.push.apply(o,c),(r-=c.length)<=0)break}}return o}t.filter=function(e,t,i,n){return void 0===i&&(i=!0),void 0===n&&(n=1/0),Array.isArray(t)||(t=[t]),s(e,t,i,n)},t.find=s,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,i,s){void 0===s&&(s=!0);for(var r=null,o=0;o0&&(r=e(t,a.children)))}return r},t.existsOne=function e(t,i){return i.some((function(i){return(0,n.isTag)(i)&&(t(i)||i.children.length>0&&e(t,i.children))}))},t.findAll=function(e,t){for(var i,s,r=[],o=t.filter(n.isTag);s=o.shift();){var a=null===(i=s.children)||void 0===i?void 0:i.filter(n.isTag);a&&a.length>0&&o.unshift.apply(o,a),e(s)&&r.push(s)}return r}},3017:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var s=i(9425),r=n(i(2721)),o=i(3706);function a(e,t){return(0,r.default)(e,t)}t.getOuterHTML=a,t.getInnerHTML=function(e,t){return(0,s.hasChildren)(e)?e.children.map((function(e){return a(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,s.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,s.isCDATA)(t)?e(t.children):(0,s.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,s.hasChildren)(t)&&!(0,s.isComment)(t)?e(t.children):(0,s.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,s.hasChildren)(t)&&(t.type===o.ElementType.Tag||(0,s.isCDATA)(t))?e(t.children):(0,s.isText)(t)?t.data:""}},8563:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=i(9425),s=[];function r(e){var t;return null!==(t=e.children)&&void 0!==t?t:s}function o(e){return e.parent||null}t.getChildren=r,t.getParent=o,t.getSiblings=function(e){var t=o(e);if(null!=t)return r(t);for(var i=[e],n=e.prev,s=e.next;null!=n;)i.unshift(n),n=n.prev;for(;null!=s;)i.push(s),s=s.next;return i},t.getAttributeValue=function(e,t){var i;return null===(i=e.attribs)||void 0===i?void 0:i[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t}},4080:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var s=n(i(2810)),r=n(i(2836)),o=n(i(8689)),a=n(i(7826)),l=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function h(e){var t=d(e);return function(e){return String(e).replace(l,t)}}t.decodeXML=h(o.default),t.decodeHTMLStrict=h(s.default);var c=function(e,t){return e65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in s.default&&(e=s.default[e]),r(e))}},956:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var s=c(n(i(8689)).default),r=d(s);t.encodeXML=g(s);var o,a,l=c(n(i(2810)).default),h=d(l);function c(e){return Object.keys(e).sort().reduce((function(t,i){return t[e[i]]="&"+i+";",t}),{})}function d(e){for(var t=[],i=[],n=0,s=Object.keys(e);n1?p(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var m=new RegExp(r.source+"|"+u.source,"g");function g(e){return function(t){return t.replace(m,(function(t){return e[t]||f(t)}))}}t.escape=function(e){return e.replace(m,f)},t.escapeUTF8=function(e){return e.replace(r,f)}},2593:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=i(4080),s=i(956);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?s.encodeXML:s.encodeHTML)(e)};var r=i(956);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return r.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return r.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return r.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return r.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return r.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return r.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return r.encodeHTML}});var o=i(4080);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return o.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return o.decodeXML}})},3419:e=>{"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},995:function(e,t,i){"use strict";var n,s=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),r=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return o(t,e),t},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseFeed=t.FeedHandler=void 0;var h,c,d=l(i(9425)),u=a(i(5030)),p=i(7361);!function(e){e[e.image=0]="image",e[e.audio=1]="audio",e[e.video=2]="video",e[e.document=3]="document",e[e.executable=4]="executable"}(h||(h={})),function(e){e[e.sample=0]="sample",e[e.full=1]="full",e[e.nonstop=2]="nonstop"}(c||(c={}));var f=function(e){function t(t,i){return"object"==typeof t&&(i=t=void 0),e.call(this,t,i)||this}return s(t,e),t.prototype.onend=function(){var e,t,i=v(y,this.dom);if(i){var n={};if("feed"===i.name){var s=i.children;n.type="atom",_(n,"id","id",s),_(n,"title","title",s);var r=b("href",v("link",s));r&&(n.link=r),_(n,"description","subtitle",s),(o=O("updated",s))&&(n.updated=new Date(o)),_(n,"author","email",s,!0),n.items=g("entry",s).map((function(e){var t={},i=e.children;_(t,"id","id",i),_(t,"title","title",i);var n=b("href",v("link",i));n&&(t.link=n);var s=O("summary",i)||O("content",i);s&&(t.description=s);var r=O("updated",i);return r&&(t.pubDate=new Date(r)),t.media=m(i),t}))}else{var o;s=null!==(t=null===(e=v("channel",i.children))||void 0===e?void 0:e.children)&&void 0!==t?t:[],n.type=i.name.substr(0,3),n.id="",_(n,"title","title",s),_(n,"link","link",s),_(n,"description","description",s),(o=O("lastBuildDate",s))&&(n.updated=new Date(o)),_(n,"author","managingEditor",s,!0),n.items=g("item",i.children).map((function(e){var t={},i=e.children;_(t,"id","guid",i),_(t,"title","title",i),_(t,"link","link",i),_(t,"description","description",i);var n=O("pubDate",i);return n&&(t.pubDate=new Date(n)),t.media=m(i),t}))}this.feed=n,this.handleCallback(null)}else this.handleCallback(new Error("couldn't find root of feed"))},t}(d.default);function m(e){return g("media:content",e).map((function(e){var t={medium:e.attribs.medium,isDefault:!!e.attribs.isDefault};return e.attribs.url&&(t.url=e.attribs.url),e.attribs.fileSize&&(t.fileSize=parseInt(e.attribs.fileSize,10)),e.attribs.type&&(t.type=e.attribs.type),e.attribs.expression&&(t.expression=e.attribs.expression),e.attribs.bitrate&&(t.bitrate=parseInt(e.attribs.bitrate,10)),e.attribs.framerate&&(t.framerate=parseInt(e.attribs.framerate,10)),e.attribs.samplingrate&&(t.samplingrate=parseInt(e.attribs.samplingrate,10)),e.attribs.channels&&(t.channels=parseInt(e.attribs.channels,10)),e.attribs.duration&&(t.duration=parseInt(e.attribs.duration,10)),e.attribs.height&&(t.height=parseInt(e.attribs.height,10)),e.attribs.width&&(t.width=parseInt(e.attribs.width,10)),e.attribs.lang&&(t.lang=e.attribs.lang),t}))}function g(e,t){return u.getElementsByTagName(e,t,!0)}function v(e,t){return u.getElementsByTagName(e,t,!0,1)[0]}function O(e,t,i){return void 0===i&&(i=!1),u.getText(u.getElementsByTagName(e,t,i,1)).trim()}function b(e,t){return t?t.attribs[e]:null}function _(e,t,i,n,s){void 0===s&&(s=!1);var r=O(i,n,s);r&&(e[t]=r)}function y(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}t.FeedHandler=f,t.parseFeed=function(e,t){void 0===t&&(t={xmlMode:!0});var i=new f(t);return new p.Parser(i,t).end(e),i.feed}},7361:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var s=n(i(1941)),r=new Set(["input","option","optgroup","select","button","datalist","textarea"]),o=new Set(["p"]),a={tr:new Set(["tr","th","td"]),th:new Set(["th"]),td:new Set(["thead","th","td"]),body:new Set(["head","link","script"]),li:new Set(["li"]),p:o,h1:o,h2:o,h3:o,h4:o,h5:o,h6:o,select:r,input:r,output:r,button:r,datalist:r,textarea:r,option:new Set(["option"]),optgroup:new Set(["optgroup","option"]),dd:new Set(["dt","dd"]),dt:new Set(["dt","dd"]),address:o,article:o,aside:o,blockquote:o,details:o,div:o,dl:o,fieldset:o,figcaption:o,figure:o,footer:o,form:o,header:o,hr:o,main:o,nav:o,ol:o,pre:o,section:o,table:o,ul:o,rt:new Set(["rt","rp"]),rp:new Set(["rt","rp"]),tbody:new Set(["thead","tbody"]),tfoot:new Set(["thead","tbody"])},l=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),h=new Set(["math","svg"]),c=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),d=/\s|\//,u=function(){function e(e,t){var i,n,r,o,a;void 0===t&&(t={}),this.startIndex=0,this.endIndex=null,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.options=t,this.cbs=null!=e?e:{},this.lowerCaseTagNames=null!==(i=t.lowerCaseTags)&&void 0!==i?i:!t.xmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:!t.xmlMode,this.tokenizer=new(null!==(r=t.Tokenizer)&&void 0!==r?r:s.default)(this.options,this),null===(a=(o=this.cbs).onparserinit)||void 0===a||a.call(o,this)}return e.prototype.updatePosition=function(e){null===this.endIndex?this.tokenizer.sectionStart<=e?this.startIndex=0:this.startIndex=this.tokenizer.sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this.tokenizer.getAbsoluteIndex()},e.prototype.ontext=function(e){var t,i;this.updatePosition(1),this.endIndex--,null===(i=(t=this.cbs).ontext)||void 0===i||i.call(t,e)},e.prototype.onopentagname=function(e){var t,i;if(this.lowerCaseTagNames&&(e=e.toLowerCase()),this.tagname=e,!this.options.xmlMode&&Object.prototype.hasOwnProperty.call(a,e))for(var n=void 0;this.stack.length>0&&a[e].has(n=this.stack[this.stack.length-1]);)this.onclosetag(n);!this.options.xmlMode&&l.has(e)||(this.stack.push(e),h.has(e)?this.foreignContext.push(!0):c.has(e)&&this.foreignContext.push(!1)),null===(i=(t=this.cbs).onopentagname)||void 0===i||i.call(t,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.onopentagend=function(){var e,t;this.updatePosition(1),this.attribs&&(null===(t=(e=this.cbs).onopentag)||void 0===t||t.call(e,this.tagname,this.attribs),this.attribs=null),!this.options.xmlMode&&this.cbs.onclosetag&&l.has(this.tagname)&&this.cbs.onclosetag(this.tagname),this.tagname=""},e.prototype.onclosetag=function(e){if(this.updatePosition(1),this.lowerCaseTagNames&&(e=e.toLowerCase()),(h.has(e)||c.has(e))&&this.foreignContext.pop(),!this.stack.length||!this.options.xmlMode&&l.has(e))this.options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this.closeCurrentTag());else{var t=this.stack.lastIndexOf(e);if(-1!==t)if(this.cbs.onclosetag)for(t=this.stack.length-t;t--;)this.cbs.onclosetag(this.stack.pop());else this.stack.length=t;else"p"!==e||this.options.xmlMode||(this.onopentagname(e),this.closeCurrentTag())}},e.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?this.closeCurrentTag():this.onopentagend()},e.prototype.closeCurrentTag=function(){var e,t,i=this.tagname;this.onopentagend(),this.stack[this.stack.length-1]===i&&(null===(t=(e=this.cbs).onclosetag)||void 0===t||t.call(e,i),this.stack.pop())},e.prototype.onattribname=function(e){this.lowerCaseAttributeNames&&(e=e.toLowerCase()),this.attribname=e},e.prototype.onattribdata=function(e){this.attribvalue+=e},e.prototype.onattribend=function(e){var t,i;null===(i=(t=this.cbs).onattribute)||void 0===i||i.call(t,this.attribname,this.attribvalue,e),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(d),i=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(i=i.toLowerCase()),i},e.prototype.ondeclaration=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("!"+t,"!"+e)}},e.prototype.onprocessinginstruction=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("?"+t,"?"+e)}},e.prototype.oncomment=function(e){var t,i,n,s;this.updatePosition(4),null===(i=(t=this.cbs).oncomment)||void 0===i||i.call(t,e),null===(s=(n=this.cbs).oncommentend)||void 0===s||s.call(n)},e.prototype.oncdata=function(e){var t,i,n,s,r,o;this.updatePosition(1),this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(t=this.cbs).oncdatastart)||void 0===i||i.call(t),null===(s=(n=this.cbs).ontext)||void 0===s||s.call(n,e),null===(o=(r=this.cbs).oncdataend)||void 0===o||o.call(r)):this.oncomment("[CDATA["+e+"]]")},e.prototype.onerror=function(e){var t,i;null===(i=(t=this.cbs).onerror)||void 0===i||i.call(t,e)},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag)for(var i=this.stack.length;i>0;this.cbs.onclosetag(this.stack[--i]));null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)},e.prototype.reset=function(){var e,t,i,n;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],null===(n=(i=this.cbs).onparserinit)||void 0===n||n.call(i,this)},e.prototype.parseComplete=function(e){this.reset(),this.end(e)},e.prototype.write=function(e){this.tokenizer.write(e)},e.prototype.end=function(e){this.tokenizer.end(e)},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){this.tokenizer.resume()},e.prototype.parseChunk=function(e){this.write(e)},e.prototype.done=function(e){this.end(e)},e}();t.Parser=u},1941:function(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(i(7826)),r=n(i(2810)),o=n(i(2836)),a=n(i(8689));function l(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function h(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}function c(e,t,i){var n=e.toLowerCase();return e===n?function(e,s){s===n?e._state=t:(e._state=i,e._index--)}:function(s,r){r===n||r===e?s._state=t:(s._state=i,s._index--)}}function d(e,t){var i=e.toLowerCase();return function(n,s){s===i||s===e?n._state=t:(n._state=3,n._index--)}}var u=c("C",24,16),p=c("D",25,16),f=c("A",26,16),m=c("T",27,16),g=c("A",28,16),v=d("R",35),O=d("I",36),b=d("P",37),_=d("T",38),y=c("R",40,1),w=c("I",41,1),x=c("P",42,1),S=c("T",43,1),k=d("Y",45),T=d("L",46),C=d("E",47),P=c("Y",49,1),M=c("L",50,1),E=c("E",51,1),A=d("I",54),R=d("T",55),D=d("L",56),I=d("E",57),q=c("I",58,1),L=c("T",59,1),N=c("L",60,1),B=c("E",61,1),$=c("#",63,64),Q=c("X",66,65),z=function(){function e(e,t){var i;this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1,this.cbs=t,this.xmlMode=!!(null==e?void 0:e.xmlMode),this.decodeEntities=null===(i=null==e?void 0:e.decodeEntities)||void 0===i||i}return e.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1},e.prototype.write=function(e){this.ended&&this.cbs.onerror(Error(".write() after done!")),this.buffer+=e,this.parse()},e.prototype.end=function(e){this.ended&&this.cbs.onerror(Error(".end() after done!")),e&&this.write(e),this.ended=!0,this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):!this.decodeEntities||"&"!==e||1!==this.special&&4!==this.special||(this._index>this.sectionStart&&this.cbs.ontext(this.getSection()),this.baseState=1,this._state=62,this.sectionStart=this._index)},e.prototype.isTagStartChar=function(e){return h(e)||this.xmlMode&&!l(e)&&"/"!==e&&">"!==e},e.prototype.stateBeforeTagName=function(e){"/"===e?this._state=5:"<"===e?(this.cbs.ontext(this.getSection()),this.sectionStart=this._index):">"===e||1!==this.special||l(e)?this._state=1:"!"===e?(this._state=15,this.sectionStart=this._index+1):"?"===e?(this._state=17,this.sectionStart=this._index+1):this.isTagStartChar(e)?(this._state=this.xmlMode||"s"!==e&&"S"!==e?this.xmlMode||"t"!==e&&"T"!==e?3:52:32,this.sectionStart=this._index):this._state=1},e.prototype.stateInTagName=function(e){("/"===e||">"===e||l(e))&&(this.emitToken("onopentagname"),this._state=8,this._index--)},e.prototype.stateBeforeClosingTagName=function(e){l(e)||(">"===e?this._state=1:1!==this.special?4===this.special||"s"!==e&&"S"!==e?4!==this.special||"t"!==e&&"T"!==e?(this._state=1,this._index--):this._state=53:this._state=33:this.isTagStartChar(e)?(this._state=6,this.sectionStart=this._index):(this._state=20,this.sectionStart=this._index))},e.prototype.stateInClosingTagName=function(e){(">"===e||l(e))&&(this.emitToken("onclosetag"),this._state=7,this._index--)},e.prototype.stateAfterClosingTagName=function(e){">"===e&&(this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeAttributeName=function(e){">"===e?(this.cbs.onopentagend(),this._state=1,this.sectionStart=this._index+1):"/"===e?this._state=4:l(e)||(this._state=9,this.sectionStart=this._index)},e.prototype.stateInSelfClosingTag=function(e){">"===e?(this.cbs.onselfclosingtag(),this._state=1,this.sectionStart=this._index+1,this.special=1):l(e)||(this._state=8,this._index--)},e.prototype.stateInAttributeName=function(e){("="===e||"/"===e||">"===e||l(e))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this._index--)},e.prototype.stateAfterAttributeName=function(e){"="===e?this._state=11:"/"===e||">"===e?(this.cbs.onattribend(void 0),this._state=8,this._index--):l(e)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},e.prototype.stateBeforeAttributeValue=function(e){'"'===e?(this._state=12,this.sectionStart=this._index+1):"'"===e?(this._state=13,this.sectionStart=this._index+1):l(e)||(this._state=14,this.sectionStart=this._index,this._index--)},e.prototype.handleInAttributeValue=function(e,t){e===t?(this.emitToken("onattribdata"),this.cbs.onattribend(t),this._state=8):this.decodeEntities&&"&"===e&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,'"')},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,"'")},e.prototype.stateInAttributeValueNoQuotes=function(e){l(e)||">"===e?(this.emitToken("onattribdata"),this.cbs.onattribend(null),this._state=8,this._index--):this.decodeEntities&&"&"===e&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateBeforeDeclaration=function(e){this._state="["===e?23:"-"===e?18:16},e.prototype.stateInDeclaration=function(e){">"===e&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateInProcessingInstruction=function(e){">"===e&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeComment=function(e){"-"===e?(this._state=19,this.sectionStart=this._index+1):this._state=16},e.prototype.stateInComment=function(e){"-"===e&&(this._state=21)},e.prototype.stateInSpecialComment=function(e){">"===e&&(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index)),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateAfterComment1=function(e){this._state="-"===e?22:19},e.prototype.stateAfterComment2=function(e){">"===e?(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"-"!==e&&(this._state=19)},e.prototype.stateBeforeCdata6=function(e){"["===e?(this._state=29,this.sectionStart=this._index+1):(this._state=16,this._index--)},e.prototype.stateInCdata=function(e){"]"===e&&(this._state=30)},e.prototype.stateAfterCdata1=function(e){this._state="]"===e?31:29},e.prototype.stateAfterCdata2=function(e){">"===e?(this.cbs.oncdata(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"]"!==e&&(this._state=29)},e.prototype.stateBeforeSpecialS=function(e){"c"===e||"C"===e?this._state=34:"t"===e||"T"===e?this._state=44:(this._state=3,this._index--)},e.prototype.stateBeforeSpecialSEnd=function(e){2!==this.special||"c"!==e&&"C"!==e?3!==this.special||"t"!==e&&"T"!==e?this._state=1:this._state=48:this._state=39},e.prototype.stateBeforeSpecialLast=function(e,t){("/"===e||">"===e||l(e))&&(this.special=t),this._state=3,this._index--},e.prototype.stateAfterSpecialLast=function(e,t){">"===e||l(e)?(this.special=1,this._state=6,this.sectionStart=this._index-t,this._index--):this._state=1},e.prototype.parseFixedEntity=function(e){if(void 0===e&&(e=this.xmlMode?a.default:r.default),this.sectionStart+1=2;){var i=this.buffer.substr(e,t);if(Object.prototype.hasOwnProperty.call(o.default,i))return this.emitPartial(o.default[i]),void(this.sectionStart+=t+1);t--}},e.prototype.stateInNamedEntity=function(e){";"===e?(this.parseFixedEntity(),1===this.baseState&&this.sectionStart+1"9")&&!h(e)&&(this.xmlMode||this.sectionStart+1===this._index||(1!==this.baseState?"="!==e&&this.parseFixedEntity(o.default):this.parseLegacyEntity()),this._state=this.baseState,this._index--)},e.prototype.decodeNumericEntity=function(e,t,i){var n=this.sectionStart+e;if(n!==this._index){var r=this.buffer.substring(n,this._index),o=parseInt(r,t);this.emitPartial(s.default(o)),this.sectionStart=i?this._index+1:this._index}this._state=this.baseState},e.prototype.stateInNumericEntity=function(e){";"===e?this.decodeNumericEntity(2,10,!0):(e<"0"||e>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(2,10,!1),this._index--)},e.prototype.stateInHexEntity=function(e){";"===e?this.decodeNumericEntity(3,16,!0):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(3,16,!1),this._index--)},e.prototype.cleanup=function(){this.sectionStart<0?(this.buffer="",this.bufferOffset+=this._index,this._index=0):this.running&&(1===this._state?(this.sectionStart!==this._index&&this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.buffer="",this.bufferOffset+=this._index,this._index=0):this.sectionStart===this._index?(this.buffer="",this.bufferOffset+=this._index,this._index=0):(this.buffer=this.buffer.substr(this.sectionStart),this._index-=this.sectionStart,this.bufferOffset+=this.sectionStart),this.sectionStart=0)},e.prototype.parse=function(){for(;this._index{"use strict";function i(e){return"[object Object]"===Object.prototype.toString.call(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isPlainObject=function(e){var t,n;return!1!==i(e)&&(void 0===(t=e.constructor)||!1!==i(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},6145:(e,t,i)=>{var n,s=/[&<>"'`]/g,r=RegExp(s.source),o="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,a="object"==typeof self&&self&&self.Object===Object&&self,l=o||a||Function("return this")(),h=(n={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},function(e){return null==n?void 0:n[e]}),c=Object.prototype.toString,d=l.Symbol,u=d?d.prototype:void 0,p=u?u.toString:void 0;e.exports=function(e){var t;return(e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==c.call(e)}(e))return p?p.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t))&&r.test(e)?e.replace(s,h):e}},6965:e=>{"use strict";function t(e){return"number"==typeof e||!!/^0x[0-9a-f]+$/i.test(e)||/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e)}function i(e,t){return"constructor"===t&&"function"==typeof e[t]||"__proto__"===t}e.exports=function(e,n){n||(n={});var s={bools:{},strings:{},unknownFn:null};"function"==typeof n.unknown&&(s.unknownFn=n.unknown),"boolean"==typeof n.boolean&&n.boolean?s.allBools=!0:[].concat(n.boolean).filter(Boolean).forEach((function(e){s.bools[e]=!0}));var r={};function o(e){return r[e].some((function(e){return s.bools[e]}))}Object.keys(n.alias||{}).forEach((function(e){r[e]=[].concat(n.alias[e]),r[e].forEach((function(t){r[t]=[e].concat(r[e].filter((function(e){return t!==e})))}))})),[].concat(n.string).filter(Boolean).forEach((function(e){s.strings[e]=!0,r[e]&&[].concat(r[e]).forEach((function(e){s.strings[e]=!0}))}));var a=n.default||{},l={_:[]};function h(e,t,n){for(var r=e,o=0;o=l)return g;n=i(d),s=[],","===n.slice(-1)?(n=n.replace(u,""),O()):v()}function v(){for(i(h),r="",o="in descriptor";;){if(a=e.charAt(m),"in descriptor"===o)if(t(a))r&&(s.push(r),r="",o="after descriptor");else{if(","===a)return m+=1,r&&s.push(r),void O();if("("===a)r+=a,o="in parens";else{if(""===a)return r&&s.push(r),void O();r+=a}}else if("in parens"===o)if(")"===a)r+=a,o="in descriptor";else{if(""===a)return s.push(r),void O();r+=a}else if("after descriptor"===o)if(t(a));else{if(""===a)return void O();o="in descriptor",m-=1}m+=1}}function O(){var t,i,r,o,a,l,h,c,d,u=!1,m={};for(o=0;o{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function i(e,t){for(var i,n="",s=0,r=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",s=0):s=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),r=a,o=0;continue}}else if(2===n.length||1===n.length){n="",s=0,r=a,o=0;continue}t&&(n.length>0?n+="/..":n="..",s=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),s=a-r-1;r=a,o=0}else 46===i&&-1!==o?++o:o=-1}return n}var n={resolve:function(){for(var e,n="",s=!1,r=arguments.length-1;r>=-1&&!s;r--){var o;r>=0?o=arguments[r]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(n=o+"/"+n,s=47===o.charCodeAt(0))}return n=i(n,!s),s?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),s=47===e.charCodeAt(e.length-1);return 0!==(e=i(e,!n)).length||n||(e="."),e.length>0&&s&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,i=0;i0&&(void 0===e?e=s:e+="/"+s)}return void 0===e?".":n.normalize(e)},relative:function(e,i){if(t(e),t(i),e===i)return"";if((e=n.resolve(e))===(i=n.resolve(i)))return"";for(var s=1;sh){if(47===i.charCodeAt(a+d))return i.slice(a+d+1);if(0===d)return i.slice(a+d)}else o>h&&(47===e.charCodeAt(s+d)?c=d:0===d&&(c=0));break}var u=e.charCodeAt(s+d);if(u!==i.charCodeAt(a+d))break;47===u&&(c=d)}var p="";for(d=s+c+1;d<=r;++d)d!==r&&47!==e.charCodeAt(d)||(0===p.length?p+="..":p+="/..");return p.length>0?p+i.slice(a+c):(a+=c,47===i.charCodeAt(a)&&++a,i.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var i=e.charCodeAt(0),n=47===i,s=-1,r=!0,o=e.length-1;o>=1;--o)if(47===(i=e.charCodeAt(o))){if(!r){s=o;break}}else r=!1;return-1===s?n?"/":".":n&&1===s?"//":e.slice(0,s)},basename:function(e,i){if(void 0!==i&&"string"!=typeof i)throw new TypeError('"ext" argument must be a string');t(e);var n,s=0,r=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=e.length){if(i.length===e.length&&i===e)return"";var a=i.length-1,l=-1;for(n=e.length-1;n>=0;--n){var h=e.charCodeAt(n);if(47===h){if(!o){s=n+1;break}}else-1===l&&(o=!1,l=n+1),a>=0&&(h===i.charCodeAt(a)?-1==--a&&(r=n):(a=-1,r=l))}return s===r?r=l:-1===r&&(r=e.length),e.slice(s,r)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!o){s=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(s,r)},extname:function(e){t(e);for(var i=-1,n=0,s=-1,r=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===s&&(r=!1,s=a+1),46===l?-1===i?i=a:1!==o&&(o=1):-1!==i&&(o=-1);else if(!r){n=a+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===n+1?"":e.slice(i,s)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var i=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return i?i===t.root?i+n:i+"/"+n:n}(0,e)},parse:function(e){t(e);var i={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return i;var n,s=e.charCodeAt(0),r=47===s;r?(i.root="/",n=1):n=0;for(var o=-1,a=0,l=-1,h=!0,c=e.length-1,d=0;c>=n;--c)if(47!==(s=e.charCodeAt(c)))-1===l&&(h=!1,l=c+1),46===s?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1);else if(!h){a=c+1;break}return-1===o||-1===l||0===d||1===d&&o===l-1&&o===a+1?-1!==l&&(i.base=i.name=0===a&&r?e.slice(1,l):e.slice(a,l)):(0===a&&r?(i.name=e.slice(1,o),i.base=e.slice(1,l)):(i.name=e.slice(a,o),i.base=e.slice(a,l)),i.ext=e.slice(o,l)),a>0?i.dir=e.slice(0,a-1):r&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},1435:e=>{var t=String,i=function(){return{isColorSupported:!1,reset:t,bold:t,dim:t,italic:t,underline:t,inverse:t,hidden:t,strikethrough:t,black:t,red:t,green:t,yellow:t,blue:t,magenta:t,cyan:t,white:t,gray:t,bgBlack:t,bgRed:t,bgGreen:t,bgYellow:t,bgBlue:t,bgMagenta:t,bgCyan:t,bgWhite:t}};e.exports=i(),e.exports.createColors=i},7983:(e,t,i)=>{"use strict";let n=i(9930);class s extends n{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}}e.exports=s,s.default=s,n.registerAtRule(s)},1044:(e,t,i)=>{"use strict";let n=i(322);class s extends n{constructor(e){super(e),this.type="comment"}}e.exports=s,s.default=s},9930:(e,t,i)=>{"use strict";let n,s,r,o,{isClean:a,my:l}=i(2450),h=i(9026),c=i(1044),d=i(322);function u(e){return e.map((e=>(e.nodes&&(e.nodes=u(e.nodes)),delete e.source,e)))}function p(e){if(e[a]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)p(t)}class f extends d{append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,i,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...i)=>e[t](...i.map((e=>"function"==typeof e?(t,i)=>e(t.toProxy(),i):e))):"every"===t||"some"===t?i=>e[t](((e,...t)=>i(e.toProxy(),...t))):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map((e=>e.toProxy())):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,i)=>(e[t]===i||(e[t]=i,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let i,n=this.index(e),s=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let e of s)this.proxyOf.nodes.splice(n+1,0,e);for(let e in this.indexes)i=this.indexes[e],n(e[l]||f.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[a]&&p(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e)))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let i in this.indexes)t=this.indexes[i],t>=e&&(this.indexes[i]=t-1);return this.markDirty(),this}replaceValues(e,t,i){return i||(i=t,t={}),this.walkDecls((n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,i))})),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each(((t,i)=>{let n;try{n=e(t,i)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk(((i,n)=>{if("atrule"===i.type&&e.test(i.name))return t(i,n)})):this.walk(((i,n)=>{if("atrule"===i.type&&i.name===e)return t(i,n)})):(t=e,this.walk(((e,i)=>{if("atrule"===e.type)return t(e,i)})))}walkComments(e){return this.walk(((t,i)=>{if("comment"===t.type)return e(t,i)}))}walkDecls(e,t){return t?e instanceof RegExp?this.walk(((i,n)=>{if("decl"===i.type&&e.test(i.prop))return t(i,n)})):this.walk(((i,n)=>{if("decl"===i.type&&i.prop===e)return t(i,n)})):(t=e,this.walk(((e,i)=>{if("decl"===e.type)return t(e,i)})))}walkRules(e,t){return t?e instanceof RegExp?this.walk(((i,n)=>{if("rule"===i.type&&e.test(i.selector))return t(i,n)})):this.walk(((i,n)=>{if("rule"===i.type&&i.selector===e)return t(i,n)})):(t=e,this.walk(((e,i)=>{if("rule"===e.type)return t(e,i)})))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}f.registerParse=e=>{n=e},f.registerRule=e=>{s=e},f.registerAtRule=e=>{r=e},f.registerRoot=e=>{o=e},e.exports=f,f.default=f,f.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,r.prototype):"rule"===e.type?Object.setPrototypeOf(e,s.prototype):"decl"===e.type?Object.setPrototypeOf(e,h.prototype):"comment"===e.type?Object.setPrototypeOf(e,c.prototype):"root"===e.type&&Object.setPrototypeOf(e,o.prototype),e[l]=!0,e.nodes&&e.nodes.forEach((e=>{f.rebuild(e)}))}},2604:(e,t,i)=>{"use strict";let n=i(1435),s=i(2940);class r extends Error{constructor(e,t,i,n,s,o){super(e),this.name="CssSyntaxError",this.reason=e,s&&(this.file=s),n&&(this.source=n),o&&(this.plugin=o),void 0!==t&&void 0!==i&&("number"==typeof t?(this.line=t,this.column=i):(this.line=t.line,this.column=t.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=n.isColorSupported),s&&e&&(t=s(t));let i,r,o=t.split(/\r?\n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),h=String(l).length;if(e){let{bold:e,gray:t,red:s}=n.createColors(!0);i=t=>e(s(t)),r=e=>t(e)}else i=r=e=>e;return o.slice(a,l).map(((e,t)=>{let n=a+1+t,s=" "+(" "+n).slice(-h)+" | ";if(n===this.line){let t=r(s.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return i(">")+r(s)+e+"\n "+t+i("^")}return" "+r(s)+e})).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}e.exports=r,r.default=r},9026:(e,t,i)=>{"use strict";let n=i(322);class s extends n{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}}e.exports=s,s.default=s},2900:(e,t,i)=>{"use strict";let n,s,r=i(9930);class o extends r{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new s,this,e).stringify()}}o.registerLazyResult=e=>{n=e},o.registerProcessor=e=>{s=e},e.exports=o,o.default=o},4899:(e,t,i)=>{"use strict";let n=i(9026),s=i(2764),r=i(1044),o=i(7983),a=i(6970),l=i(4539),h=i(4146);function c(e,t){if(Array.isArray(e))return e.map((e=>c(e)));let{inputs:i,...d}=e;if(i){t=[];for(let e of i){let i={...e,__proto__:a.prototype};i.map&&(i.map={...i.map,__proto__:s.prototype}),t.push(i)}}if(d.nodes&&(d.nodes=e.nodes.map((e=>c(e,t)))),d.source){let{inputId:e,...i}=d.source;d.source=i,null!=e&&(d.source.input=t[e])}if("root"===d.type)return new l(d);if("decl"===d.type)return new n(d);if("rule"===d.type)return new h(d);if("comment"===d.type)return new r(d);if("atrule"===d.type)return new o(d);throw new Error("Unknown node type: "+e.type)}e.exports=c,c.default=c},6970:(e,t,i)=>{"use strict";let{SourceMapConsumer:n,SourceMapGenerator:s}=i(9059),{fileURLToPath:r,pathToFileURL:o}=i(415),{isAbsolute:a,resolve:l}=i(2666),{nanoid:h}=i(8845),c=i(2940),d=i(2604),u=i(2764),p=Symbol("fromOffsetCache"),f=Boolean(n&&s),m=Boolean(l&&a);class g{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!m||/^\w+:\/\//.test(t.from)||a(t.from)?this.file=t.from:this.file=l(t.from)),m&&f){let e=new u(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}error(e,t,i,n={}){let s,r,a;if(t&&"object"==typeof t){let e=t,n=i;if("number"==typeof e.offset){let n=this.fromOffset(e.offset);t=n.line,i=n.col}else t=e.line,i=e.column;if("number"==typeof n.offset){let e=this.fromOffset(n.offset);r=e.line,a=e.col}else r=n.line,a=n.column}else if(!i){let e=this.fromOffset(t);t=e.line,i=e.col}let l=this.origin(t,i,r,a);return s=l?new d(e,void 0===l.endLine?l.line:{column:l.column,line:l.line},void 0===l.endLine?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,n.plugin):new d(e,void 0===r?t:{column:i,line:t},void 0===r?i:{column:a,line:r},this.css,this.file,n.plugin),s.input={column:i,endColumn:a,endLine:r,line:t,source:this.css},this.file&&(o&&(s.input.url=o(this.file).toString()),s.input.file=this.file),s}fromOffset(e){let t,i;if(this[p])i=this[p];else{let e=this.css.split("\n");i=new Array(e.length);let t=0;for(let n=0,s=e.length;n=t)n=i.length-1;else{let t,s=i.length-2;for(;n>1),e=i[t+1])){n=t;break}n=t+1}}return{col:e-i[n]+1,line:n+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:l(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,i,n){if(!this.map)return!1;let s,l,h=this.map.consumer(),c=h.originalPositionFor({column:t,line:e});if(!c.source)return!1;"number"==typeof i&&(s=h.originalPositionFor({column:n,line:i})),l=a(c.source)?o(c.source):new URL(c.source,this.map.consumer().sourceRoot||o(this.map.mapFile));let d={column:c.column,endColumn:s&&s.column,endLine:s&&s.line,line:c.line,url:l.toString()};if("file:"===l.protocol){if(!r)throw new Error("file: protocol is not available in this PostCSS build");d.file=r(l)}let u=h.sourceContentFor(c.source);return u&&(d.source=u),d}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}}e.exports=g,g.default=g,c&&c.registerInput&&c.registerInput(g)},427:(e,t,i)=>{"use strict";let{isClean:n,my:s}=i(2450),r=i(4342),o=i(9573),a=i(9930),l=i(2900),h=(i(5411),i(165)),c=i(6214),d=i(4539);const u={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},p={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},m=0;function g(e){return"object"==typeof e&&"function"==typeof e.then}function v(e){let t=!1,i=u[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[i,i+"-"+t,m,i+"Exit",i+"Exit-"+t]:t?[i,i+"-"+t,i+"Exit",i+"Exit-"+t]:e.append?[i,m,i+"Exit"]:[i,i+"Exit"]}function O(e){let t;return t="document"===e.type?["Document",m,"DocumentExit"]:"root"===e.type?["Root",m,"RootExit"]:v(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function b(e){return e[n]=!1,e.nodes&&e.nodes.forEach((e=>b(e))),e}let _={};class y{constructor(e,t,i){let n;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof y||t instanceof h)n=b(t.root),t.map&&(void 0===i.map&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=t.map);else{let e=c;i.syntax&&(e=i.syntax.parse),i.parser&&(e=i.parser),e.parse&&(e=e.parse);try{n=e(t,i)}catch(e){this.processed=!0,this.error=e}n&&!n[s]&&a.rebuild(n)}else n=b(t);this.result=new h(e,n,i),this.helpers={..._,postcss:_,result:this.result},this.plugins=this.processor.plugins.map((e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e))}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let i=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?i.postcssVersion:(e.plugin=i.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,i)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,i])};for(let t of this.plugins)if("object"==typeof t)for(let i in t){if(!p[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[i])if("object"==typeof t[i])for(let n in t[i])e(t,"*"===n?i:i+"-"+n.toLowerCase(),t[i][n]);else"function"==typeof t[i]&&e(t,i,t[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(g(e))try{await e}catch(e){let i=t[t.length-1].node;throw this.handleError(e,i)}}}if(this.listeners.OnceExit)for(let[t,i]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map((e=>i(e,this.helpers)));await Promise.all(t)}else await i(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map((t=>e.Once(t,this.helpers)));return g(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=o;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let i=new r(t,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(g(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[n];)e[n]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[i,n]of e){let e;this.result.lastPlugin=i;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(g(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:i,visitors:s}=t;if("root"!==i.type&&"document"!==i.type&&!i.parent)return void e.pop();if(s.length>0&&t.visitorIndex{e[n]||this.walkSync(e)}));else{let t=this.listeners[i];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}y.registerPostcss=e=>{_=e},e.exports=y,y.default=y,d.registerLazyResult(y),l.registerLazyResult(y)},6065:e=>{"use strict";let t={comma:e=>t.split(e,[","],!0),space:e=>t.split(e,[" ","\n","\t"]),split(e,t,i){let n=[],s="",r=!1,o=0,a=!1,l="",h=!1;for(let i of e)h?h=!1:"\\"===i?h=!0:a?i===l&&(a=!1):'"'===i||"'"===i?(a=!0,l=i):"("===i?o+=1:")"===i?o>0&&(o-=1):0===o&&t.includes(i)&&(r=!0),r?(""!==s&&n.push(s.trim()),s="",r=!1):s+=i;return(i||""!==s)&&n.push(s.trim()),n}};e.exports=t,t.default=t},4342:(e,t,i)=>{"use strict";let{SourceMapConsumer:n,SourceMapGenerator:s}=i(9059),{dirname:r,relative:o,resolve:a,sep:l}=i(2666),{pathToFileURL:h}=i(415),c=i(6970),d=Boolean(n&&s),u=Boolean(r&&a&&o&&l);e.exports=class{constructor(e,t,i,n){this.stringify=e,this.mapOpts=i.map||{},this.root=t,this.opts=i,this.css=n,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,i=this.toUrl(this.path(e.file)),s=e.root||r(e.file);!1===this.mapOpts.sourcesContent?(t=new n(e.text),t.sourcesContent&&(t.sourcesContent=t.sourcesContent.map((()=>null)))):t=e.consumer(),this.map.applySourceMap(t,i,this.toUrl(this.path(s)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),u&&d&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,(t=>{e+=t})),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=s.fromSourceMap(e)}else this.map=new s({file:this.outputFile()}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new s({file:this.outputFile()});let e,t,i=1,n=1,r="",o={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,((s,a,l)=>{if(this.css+=s,a&&"end"!==l&&(o.generated.line=i,o.generated.column=n-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=r,o.original.line=1,o.original.column=0,this.map.addMapping(o))),e=s.match(/\n/g),e?(i+=e.length,t=s.lastIndexOf("\n"),n=s.length-t):n+=s.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===e.last&&!e.raws.semicolon||(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=i,o.generated.column=n-2,this.map.addMapping(o)):(o.source=r,o.original.line=1,o.original.column=0,o.generated.line=i,o.generated.column=n-1,this.map.addMapping(o)))}}))}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((e=>e.annotation)))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((e=>e.inline)))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((e=>e.withContent()))}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let i=this.opts.to?r(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(i=r(a(i,this.mapOpts.annotation)));let n=o(i,e);return this.memoizedPaths.set(e,n),n}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk((e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}}));else{let e=new c(this.css,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk((t=>{if(t.source){let i=t.source.input.from;if(i&&!e[i]){e[i]=!0;let n=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(n,t.source.input.css)}}}));else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(h){let t=h(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===l&&(e=e.replace(/\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}}},7744:(e,t,i)=>{"use strict";let n=i(4342),s=i(9573),r=(i(5411),i(6214));const o=i(165);class a{constructor(e,t,i){let r;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=i,this._map=void 0;let a=s;this.result=new o(this._processor,r,this._opts),this.result.css=t;let l=this;Object.defineProperty(this.result,"root",{get:()=>l.root});let h=new n(a,r,this._opts,t);if(h.isMap()){let[e,t]=h.generate();e&&(this.result.css=e),t&&(this.result.map=t)}}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=r;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}}e.exports=a,a.default=a},322:(e,t,i)=>{"use strict";let{isClean:n,my:s}=i(2450),r=i(2604),o=i(9906),a=i(9573);function l(e,t){let i=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if("proxyCache"===n)continue;let s=e[n],r=typeof s;"parent"===n&&"object"===r?t&&(i[n]=t):"source"===n?i[n]=s:Array.isArray(s)?i[n]=s.map((e=>l(e,i))):("object"===r&&null!==s&&(s=l(s)),i[n]=s)}return i}class h{constructor(e={}){this.raws={},this[n]=!1,this[s]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let i of e[t])"function"==typeof i.clone?this.append(i.clone()):this.append(i)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=l(this);for(let i in e)t[i]=e[i];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:i,start:n}=this.rangeBy(t);return this.source.input.error(e,{column:n.column,line:n.line},{column:i.column,line:i.line},t)}return new r(e)}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,i)=>(e[t]===i||(e[t]=i,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markDirty(){if(this[n]){this[n]=!1;let e=this;for(;e=e.parent;)e[n]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let i=this.source.start;if(e.index)i=this.positionInside(e.index,t);else if(e.word){let n=(t=this.toString()).indexOf(e.word);-1!==n&&(i=this.positionInside(n,t))}return i}positionInside(e,t){let i=t||this.toString(),n=this.source.start.column,s=this.source.start.line;for(let t=0;t"object"==typeof e&&e.toJSON?e.toJSON(null,t):e));else if("object"==typeof n&&n.toJSON)i[e]=n.toJSON(null,t);else if("source"===e){let r=t.get(n.input);null==r&&(r=s,t.set(n.input,s),s++),i[e]={end:n.end,inputId:r,start:n.start}}else i[e]=n}return n&&(i.inputs=[...t.keys()].map((e=>e.toJSON()))),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=a){e.stringify&&(e=e.stringify);let t="";return e(this,(e=>{t+=e})),t}warn(e,t,i){let n={node:this};for(let e in i)n[e]=i[e];return e.warn(t,n)}get proxyOf(){return this}}e.exports=h,h.default=h},6214:(e,t,i)=>{"use strict";let n=i(9930),s=i(6992),r=i(6970);function o(e,t){let i=new r(e,t),n=new s(i);try{n.parse()}catch(e){throw e}return n.root}e.exports=o,o.default=o,n.registerParse(o)},6992:(e,t,i)=>{"use strict";let n=i(9026),s=i(9985),r=i(1044),o=i(7983),a=i(4539),l=i(4146);const h={empty:!0,space:!0};e.exports=class{constructor(e){this.input=e,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,i,n,s=new o;s.name=e[1].slice(1),""===s.name&&this.unnamedAtrule(s,e),this.init(s,e[2]);let r=!1,a=!1,l=[],h=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?h.push("("===t?")":"]"):"{"===t&&h.length>0?h.push("}"):t===h[h.length-1]&&h.pop(),0===h.length){if(";"===t){s.source.end=this.getPosition(e[2]),s.source.end.offset++,this.semicolon=!0;break}if("{"===t){a=!0;break}if("}"===t){if(l.length>0){for(n=l.length-1,i=l[n];i&&"space"===i[0];)i=l[--n];i&&(s.source.end=this.getPosition(i[3]||i[2]),s.source.end.offset++)}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){r=!0;break}}s.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(s.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(s,"params",l),r&&(e=l[l.length-1],s.source.end=this.getPosition(e[3]||e[2]),s.source.end.offset++,this.spaces=s.raws.between,s.raws.between="")):(s.raws.afterName="",s.params=""),a&&(s.nodes=[],this.current=s)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let i,n=0;for(let s=t-1;s>=0&&(i=e[s],"space"===i[0]||(n+=1,2!==n));s--);throw this.input.error("Missed semicolon","word"===i[0]?i[3]+1:i[2])}colon(e){let t,i,n,s=0;for(let[r,o]of e.entries()){if(t=o,i=t[0],"("===i&&(s+=1),")"===i&&(s-=1),0===s&&":"===i){if(n){if("word"===n[0]&&"progid"===n[1])continue;return r}this.doubleColon(t)}n=t}return!1}comment(e){let t=new r;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let i=e[1].slice(2,-2);if(/^\s*$/.test(i))t.text="",t.raws.left=i,t.raws.right="";else{let e=i.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=s(this.input)}decl(e,t){let i=new n;this.init(i,e[0][2]);let s,r=e[e.length-1];for(";"===r[0]&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||function(e){for(let t=e.length-1;t>=0;t--){let i=e[t],n=i[3]||i[2];if(n)return n}}(e)),i.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;i.prop+=e.shift()[1]}for(i.raws.between="";e.length;){if(s=e.shift(),":"===s[0]){i.raws.between+=s[1];break}"word"===s[0]&&/\w/.test(s[1])&&this.unknownWord([s]),i.raws.between+=s[1]}"_"!==i.prop[0]&&"*"!==i.prop[0]||(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let o,a=[];for(;e.length&&(o=e[0][0],"space"===o||"comment"===o);)a.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(s=e[t],"!important"===s[1].toLowerCase()){i.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n," !important"!==n&&(i.raws.important=n);break}if("important"===s[1].toLowerCase()){let n=e.slice(0),s="";for(let e=t;e>0;e--){let t=n[e][0];if(0===s.trim().indexOf("!")&&"space"!==t)break;s=n.pop()[1]+s}0===s.trim().indexOf("!")&&(i.important=!0,i.raws.important=s,e=n)}if("space"!==s[0]&&"comment"!==s[0])break}e.some((e=>"space"!==e[0]&&"comment"!==e[0]))&&(i.raws.between+=a.map((e=>e[1])).join(""),a=[]),this.raw(i,"value",a.concat(e),t),i.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new l;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,i=null,n=!1,s=null,r=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),"("===i||"["===i)s||(s=l),r.push("("===i?")":"]");else if(o&&n&&"{"===i)s||(s=l),r.push("}");else if(0===r.length){if(";"===i){if(n)return void this.decl(a,o);break}if("{"===i)return void this.rule(a);if("}"===i){this.tokenizer.back(a.pop()),t=!0;break}":"===i&&(n=!0)}else i===r[r.length-1]&&(r.pop(),0===r.length&&(s=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),r.length>0&&this.unclosedBracket(s),t&&n){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,i,n){let s,r,o,a,l=i.length,c="",d=!0;for(let e=0;ee+t[1]),"");e.raws[t]={raw:n,value:c}}e[t]=c}rule(e){e.pop();let t=new l;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let t,i="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)i+=e.shift()[1];return i}spacesFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)i=e.pop()[1]+i;return i}stringFrom(e,t){let i="";for(let n=t;n{"use strict";let n=i(2604),s=i(9026),r=i(427),o=i(9930),a=i(540),l=i(9573),h=i(4899),c=i(2900),d=i(860),u=i(1044),p=i(7983),f=i(165),m=i(6970),g=i(6214),v=i(6065),O=i(4146),b=i(4539),_=i(322);function y(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new a(e)}y.plugin=function(e,t){let i,n=!1;function s(...i){console&&console.warn&&!n&&(n=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),{}.LANG&&{}.LANG.startsWith("cn")&&console.warn(e+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226"));let s=t(...i);return s.postcssPlugin=e,s.postcssVersion=(new a).version,s}return Object.defineProperty(s,"postcss",{get:()=>(i||(i=s()),i)}),s.process=function(e,t,i){return y([s(i)]).process(e,t)},s},y.stringify=l,y.parse=g,y.fromJSON=h,y.list=v,y.comment=e=>new u(e),y.atRule=e=>new p(e),y.decl=e=>new s(e),y.rule=e=>new O(e),y.root=e=>new b(e),y.document=e=>new c(e),y.CssSyntaxError=n,y.Declaration=s,y.Container=o,y.Processor=a,y.Document=c,y.Comment=u,y.Warning=d,y.AtRule=p,y.Result=f,y.Input=m,y.Rule=O,y.Root=b,y.Node=_,r.registerPostcss(y),e.exports=y,y.default=y},2764:(e,t,i)=>{"use strict";let{SourceMapConsumer:n,SourceMapGenerator:s}=i(9059),{existsSync:r,readFileSync:o}=i(1336),{dirname:a,join:l}=i(2666);class h{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=t.map?t.map.prev:void 0,n=this.loadMap(t.from,i);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=a(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new n(this.text)),this.consumerCache}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var t;let i=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+i)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let i=e.lastIndexOf(t.pop()),n=e.indexOf("*/",i);i>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,n)))}loadFile(e){if(this.root=a(e),r(e))return this.mapFile=e,o(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof n)return s.fromSourceMap(t).toString();if(t instanceof s)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let i=t(e);if(i){let e=this.loadFile(i);if(!e)throw new Error("Unable to load previous source map: "+i.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=l(a(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}e.exports=h,h.default=h},540:(e,t,i)=>{"use strict";let n=i(7744),s=i(427),r=i(2900),o=i(4539);class a{constructor(e=[]){this.version="8.4.31",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let i of e)if(!0===i.postcss?i=i():i.postcss&&(i=i.postcss),"object"==typeof i&&Array.isArray(i.plugins))t=t.concat(i.plugins);else if("object"==typeof i&&i.postcssPlugin)t.push(i);else if("function"==typeof i)t.push(i);else if("object"!=typeof i||!i.parse&&!i.stringify)throw new Error(i+" is not a PostCSS plugin");return t}process(e,t={}){return 0===this.plugins.length&&void 0===t.parser&&void 0===t.stringifier&&void 0===t.syntax?new n(this,e,t):new s(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}}e.exports=a,a.default=a,o.registerProcessor(a),r.registerProcessor(a)},165:(e,t,i)=>{"use strict";let n=i(860);class s{constructor(e,t,i){this.processor=e,this.messages=[],this.root=t,this.opts=i,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let i=new n(e,t);return this.messages.push(i),i}warnings(){return this.messages.filter((e=>"warning"===e.type))}get content(){return this.css}}e.exports=s,s.default=s},4539:(e,t,i)=>{"use strict";let n,s,r=i(9930);class o extends r{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,i){let n=super.normalize(e);if(t)if("prepend"===i)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}removeChild(e,t){let i=this.index(e);return!t&&0===i&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new n(new s,this,e).stringify()}}o.registerLazyResult=e=>{n=e},o.registerProcessor=e=>{s=e},e.exports=o,o.default=o,r.registerRoot(o)},4146:(e,t,i)=>{"use strict";let n=i(9930),s=i(6065);class r extends n{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return s.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,i=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}}e.exports=r,r.default=r,n.registerRule(r)},9906:e=>{"use strict";const t={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};class i{constructor(e){this.builder=e}atrule(e,t){let i="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?i+=e.raws.afterName:n&&(i+=" "),e.nodes)this.block(e,i+n);else{let s=(e.raws.between||"")+(t?";":"");this.builder(i+n+s,e)}}beforeAfter(e,t){let i;i="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,s=0;for(;n&&"root"!==n.type;)s+=1,n=n.parent;if(i.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===e.nodes[t].type;)t-=1;let i=this.raw(e,"semicolon");for(let n=0;n{if(s=e.raws[i],void 0!==s)return!1}))}var a;return void 0===s&&(s=t[n]),o.rawCache[n]=s,s}rawBeforeClose(e){let t;return e.walk((e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let i;return e.walkComments((e=>{if(void 0!==e.raws.before)return i=e.raws.before,i.includes("\n")&&(i=i.replace(/[^\n]+$/,"")),!1})),void 0===i?i=this.raw(t,null,"beforeDecl"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeDecl(e,t){let i;return e.walkDecls((e=>{if(void 0!==e.raws.before)return i=e.raws.before,i.includes("\n")&&(i=i.replace(/[^\n]+$/,"")),!1})),void 0===i?i=this.raw(t,null,"beforeRule"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeOpen(e){let t;return e.walk((e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1})),t}rawBeforeRule(e){let t;return e.walk((i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&void 0!==i.raws.before)return t=i.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls((e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1})),t}rawEmptyBody(e){let t;return e.walk((e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1})),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk((i=>{let n=i.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==i.raws.before){let e=i.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}})),t}rawSemicolon(e){let t;return e.walk((e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1})),t}rawValue(e,t){let i=e[t],n=e.raws[t];return n&&n.value===i?n.raw:i}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}}e.exports=i,i.default=i},9573:(e,t,i)=>{"use strict";let n=i(9906);function s(e,t){new n(t).stringify(e)}e.exports=s,s.default=s},2450:e=>{"use strict";e.exports.isClean=Symbol("isClean"),e.exports.my=Symbol("my")},9985:e=>{"use strict";const t="'".charCodeAt(0),i='"'.charCodeAt(0),n="\\".charCodeAt(0),s="/".charCodeAt(0),r="\n".charCodeAt(0),o=" ".charCodeAt(0),a="\f".charCodeAt(0),l="\t".charCodeAt(0),h="\r".charCodeAt(0),c="[".charCodeAt(0),d="]".charCodeAt(0),u="(".charCodeAt(0),p=")".charCodeAt(0),f="{".charCodeAt(0),m="}".charCodeAt(0),g=";".charCodeAt(0),v="*".charCodeAt(0),O=":".charCodeAt(0),b="@".charCodeAt(0),_=/[\t\n\f\r "#'()/;[\\\]{}]/g,y=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,x=/[\da-f]/i;e.exports=function(e,S={}){let k,T,C,P,M,E,A,R,D,I,q=e.css.valueOf(),L=S.ignoreErrors,N=q.length,B=0,$=[],Q=[];function z(t){throw e.error("Unclosed "+t,B)}return{back:function(e){Q.push(e)},endOfFile:function(){return 0===Q.length&&B>=N},nextToken:function(e){if(Q.length)return Q.pop();if(B>=N)return;let S=!!e&&e.ignoreUnclosed;switch(k=q.charCodeAt(B),k){case r:case o:case l:case h:case a:T=B;do{T+=1,k=q.charCodeAt(T)}while(k===o||k===r||k===l||k===h||k===a);I=["space",q.slice(B,T)],B=T-1;break;case c:case d:case f:case m:case O:case g:case p:{let e=String.fromCharCode(k);I=[e,e,B];break}case u:if(R=$.length?$.pop()[1]:"",D=q.charCodeAt(B+1),"url"===R&&D!==t&&D!==i&&D!==o&&D!==r&&D!==l&&D!==a&&D!==h){T=B;do{if(E=!1,T=q.indexOf(")",T+1),-1===T){if(L||S){T=B;break}z("bracket")}for(A=T;q.charCodeAt(A-1)===n;)A-=1,E=!E}while(E);I=["brackets",q.slice(B,T+1),B,T],B=T}else T=q.indexOf(")",B+1),P=q.slice(B,T+1),-1===T||w.test(P)?I=["(","(",B]:(I=["brackets",P,B,T],B=T);break;case t:case i:C=k===t?"'":'"',T=B;do{if(E=!1,T=q.indexOf(C,T+1),-1===T){if(L||S){T=B+1;break}z("string")}for(A=T;q.charCodeAt(A-1)===n;)A-=1,E=!E}while(E);I=["string",q.slice(B,T+1),B,T],B=T;break;case b:_.lastIndex=B+1,_.test(q),T=0===_.lastIndex?q.length-1:_.lastIndex-2,I=["at-word",q.slice(B,T+1),B,T],B=T;break;case n:for(T=B,M=!0;q.charCodeAt(T+1)===n;)T+=1,M=!M;if(k=q.charCodeAt(T+1),M&&k!==s&&k!==o&&k!==r&&k!==l&&k!==h&&k!==a&&(T+=1,x.test(q.charAt(T)))){for(;x.test(q.charAt(T+1));)T+=1;q.charCodeAt(T+1)===o&&(T+=1)}I=["word",q.slice(B,T+1),B,T],B=T;break;default:k===s&&q.charCodeAt(B+1)===v?(T=q.indexOf("*/",B+2)+1,0===T&&(L||S?T=q.length:z("comment")),I=["comment",q.slice(B,T+1),B,T],B=T):(y.lastIndex=B+1,y.test(q),T=0===y.lastIndex?q.length-1:y.lastIndex-2,I=["word",q.slice(B,T+1),B,T],$.push(I),B=T)}return B++,I},position:function(){return B}}}},5411:e=>{"use strict";let t={};e.exports=function(e){t[e]||(t[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}},860:e=>{"use strict";class t{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}e.exports=t,t.default=t},8878:(e,t)=>{"use strict";var i=Object.prototype.hasOwnProperty;function n(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var n,r,o=[];for(r in"string"!=typeof t&&(t="?"),e)if(i.call(e,r)){if((n=e[r])||null!=n&&!isNaN(n)||(n=""),r=s(r),n=s(n),null===r||null===n)continue;o.push(r+"="+n)}return o.length?t+o.join("&"):""},t.parse=function(e){for(var t,i=/([^=?#&]+)=?([^&]*)/g,s={};t=i.exec(e);){var r=n(t[1]),o=n(t[2]);null===r||null===o||r in s||(s[r]=o)}return s}},1384:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},1622:(e,t,i)=>{const n=i(1659),s=i(3419),{isPlainObject:r}=i(3056),o=i(2454),a=i(9382),{parse:l}=i(5356),h=["img","audio","video","picture","svg","object","map","iframe","embed"],c=["script","style"];function d(e,t){e&&Object.keys(e).forEach((function(i){t(e[i],i)}))}function u(e,t){return{}.hasOwnProperty.call(e,t)}function p(e,t){const i=[];return d(e,(function(e){t(e)&&i.push(e)})),i}e.exports=m;const f=/^[^\0\t\n\f\r /<=>]+$/;function m(e,t,i){if(null==e)return"";let v="",O="";function b(e,t){const i=this;this.tag=e,this.attribs=t||{},this.tagPosition=v.length,this.text="",this.mediaChildren=[],this.updateParentNodeText=function(){M.length&&(M[M.length-1].text+=i.text)},this.updateParentNodeMediaChildren=function(){M.length&&h.includes(this.tag)&&M[M.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},m.defaults,t)).parser=Object.assign({},g,t.parser),c.forEach((function(e){!1!==t.allowedTags&&(t.allowedTags||[]).indexOf(e)>-1&&!t.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)}));const _=t.nonTextTags||["script","style","textarea","option"];let y,w;t.allowedAttributes&&(y={},w={},d(t.allowedAttributes,(function(e,t){y[t]=[];const i=[];e.forEach((function(e){"string"==typeof e&&e.indexOf("*")>=0?i.push(s(e).replace(/\\\*/g,".*")):y[t].push(e)})),i.length&&(w[t]=new RegExp("^("+i.join("|")+")$"))})));const x={},S={},k={};d(t.allowedClasses,(function(e,t){y&&(u(y,t)||(y[t]=[]),y[t].push("class")),x[t]=[],k[t]=[];const i=[];e.forEach((function(e){"string"==typeof e&&e.indexOf("*")>=0?i.push(s(e).replace(/\\\*/g,".*")):e instanceof RegExp?k[t].push(e):x[t].push(e)})),i.length&&(S[t]=new RegExp("^("+i.join("|")+")$"))}));const T={};let C,P,M,E,A,R,D;d(t.transformTags,(function(e,t){let i;"function"==typeof e?i=e:"string"==typeof e&&(i=m.simpleTransform(e)),"*"===t?C=i:T[t]=i}));let I=!1;L();const q=new n.Parser({onopentag:function(e,i){if(t.enforceHtmlBoundary&&"html"===e&&L(),R)return void D++;const n=new b(e,i);M.push(n);let s=!1;const h=!!n.text;let c;if(u(T,e)&&(c=T[e](e,i),n.attribs=i=c.attribs,void 0!==c.text&&(n.innerText=c.text),e!==c.tagName&&(n.name=e=c.tagName,A[P]=c.tagName)),C&&(c=C(e,i),n.attribs=i=c.attribs,e!==c.tagName&&(n.name=e=c.tagName,A[P]=c.tagName)),(!1!==t.allowedTags&&-1===(t.allowedTags||[]).indexOf(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(u(e,t))return!1;return!0}(E)||null!=t.nestingLimit&&P>=t.nestingLimit)&&(s=!0,E[P]=!0,"discard"===t.disallowedTagsMode&&-1!==_.indexOf(e)&&(R=!0,D=1),E[P]=!0),P++,s){if("discard"===t.disallowedTagsMode)return;O=v,v=""}v+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(n.innerText=""),(!y||u(y,e)||y["*"])&&d(i,(function(i,s){if(!f.test(s))return void delete n.attribs[s];let h=!1;if(!y||u(y,e)&&-1!==y[e].indexOf(s)||y["*"]&&-1!==y["*"].indexOf(s)||u(w,e)&&w[e].test(s)||w["*"]&&w["*"].test(s))h=!0;else if(y&&y[e])for(const t of y[e])if(r(t)&&t.name&&t.name===s){h=!0;let e="";if(!0===t.multiple){const n=i.split(" ");for(const i of n)-1!==t.values.indexOf(i)&&(""===e?e=i:e+=" "+i)}else t.values.indexOf(i)>=0&&(e=i);i=e}if(h){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(s)&&B(e,i))return void delete n.attribs[s];if("script"===e&&"src"===s){let e=!0;try{const n=$(i);if(t.allowedScriptHostnames||t.allowedScriptDomains){const i=(t.allowedScriptHostnames||[]).find((function(e){return e===n.url.hostname})),s=(t.allowedScriptDomains||[]).find((function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)}));e=i||s}}catch(t){e=!1}if(!e)return void delete n.attribs[s]}if("iframe"===e&&"src"===s){let e=!0;try{const n=$(i);if(n.isRelativeUrl)e=u(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const i=(t.allowedIframeHostnames||[]).find((function(e){return e===n.url.hostname})),s=(t.allowedIframeDomains||[]).find((function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)}));e=i||s}}catch(t){e=!1}if(!e)return void delete n.attribs[s]}if("srcset"===s)try{let e=a(i);if(e.forEach((function(e){B("srcset",e.url)&&(e.evil=!0)})),e=p(e,(function(e){return!e.evil})),!e.length)return void delete n.attribs[s];i=p(e,(function(e){return!e.evil})).map((function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")})).join(", "),n.attribs[s]=i}catch(e){return void delete n.attribs[s]}if("class"===s){const t=x[e],r=x["*"],a=S[e],l=k[e],h=[a,S["*"]].concat(l).filter((function(e){return e}));if(!(c=i,d=t&&r?o(t,r):t||r,m=h,i=d?(c=c.split(/\s+/)).filter((function(e){return-1!==d.indexOf(e)||m.some((function(t){return t.test(e)}))})).join(" "):c).length)return void delete n.attribs[s]}if("style"===s)try{if(i=function(e){return e.nodes[0].nodes.reduce((function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e}),[]).join(";")}(function(e,t){if(!t)return e;const i=e.nodes[0];let n;return n=t[i.selector]&&t["*"]?o(t[i.selector],t["*"]):t[i.selector]||t["*"],n&&(e.nodes[0].nodes=i.nodes.reduce(function(e){return function(t,i){return u(e,i.prop)&&e[i.prop].some((function(e){return e.test(i.value)}))&&t.push(i),t}}(n),[])),e}(l(e+" {"+i+"}"),t.allowedStyles)),0===i.length)return void delete n.attribs[s]}catch(e){return void delete n.attribs[s]}v+=" "+s,i&&i.length&&(v+='="'+N(i,!0)+'"')}else delete n.attribs[s];var c,d,m})),-1!==t.selfClosing.indexOf(e)?v+=" />":(v+=">",!n.innerText||h||t.textFilter||(v+=N(n.innerText),I=!0)),s&&(v=O+N(v),O="")},ontext:function(e){if(R)return;const i=M[M.length-1];let n;if(i&&(n=i.tag,e=void 0!==i.innerText?i.innerText:e),"discard"!==t.disallowedTagsMode||"script"!==n&&"style"!==n){const i=N(e,!1);t.textFilter&&!I?v+=t.textFilter(i,n):I||(v+=i)}else v+=e;M.length&&(M[M.length-1].text+=e)},onclosetag:function(e){if(R){if(D--,D)return;R=!1}const i=M.pop();if(!i)return;if(i.tag!==e)return void M.push(i);R=!!t.enforceHtmlBoundary&&"html"===e,P--;const n=E[P];if(n){if(delete E[P],"discard"===t.disallowedTagsMode)return void i.updateParentNodeText();O=v,v=""}A[P]&&(e=A[P],delete A[P]),t.exclusiveFilter&&t.exclusiveFilter(i)?v=v.substr(0,i.tagPosition):(i.updateParentNodeMediaChildren(),i.updateParentNodeText(),-1===t.selfClosing.indexOf(e)?(v+="",n&&(v=O+N(v),O=""),I=!1):n&&(v=O,O=""))}},t.parser);return q.write(e),q.end(),v;function L(){v="",P=0,M=[],E={},A={},R=!1,D=0}function N(e,i){return"string"!=typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(//g,">"),i&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),i&&(e=e.replace(/"/g,""")),e}function B(e,i){for(i=i.replace(/[\x00-\x20]+/g,"");;){const e=i.indexOf("\x3c!--");if(-1===e)break;const t=i.indexOf("--\x3e",e+4);if(-1===t)break;i=i.substring(0,e)+i.substring(t+3)}const n=i.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!n)return!!i.match(/^[/\\]{2}/)&&!t.allowProtocolRelative;const s=n[1].toLowerCase();return u(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(s):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(s)}function $(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let e=0;e<100;e++)t+=`/${e}`;const i=new URL(e,t);return{isRelativeUrl:i&&"relative-site"===i.hostname&&"relative:"===i.protocol,url:i}}}const g={decodeEntities:!0};m.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1},m.simpleTransform=function(e,t,i){return i=void 0===i||i,t=t||{},function(n,s){let r;if(i)for(r in t)s[r]=t[r];else s=t;return{tagName:e,attribs:s}}}},2296:(e,t,i)=>{"use strict";var n=i(1384),s=i(8878),r=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,l=/:\d+$/,h=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,c=/^[a-zA-Z]:/;function d(e){return(e||"").toString().replace(r,"")}var u=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],p={hash:1,query:1};function f(e){var t,n=("undefined"!=typeof window?window:void 0!==i.g?i.g:"undefined"!=typeof self?self:{}).location||{},s={},r=typeof(e=e||n);if("blob:"===e.protocol)s=new v(unescape(e.pathname),{});else if("string"===r)for(t in s=new v(e,{}),p)delete s[t];else if("object"===r){for(t in e)t in p||(s[t]=e[t]);void 0===s.slashes&&(s.slashes=a.test(e.href))}return s}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function g(e,t){e=(e=d(e)).replace(o,""),t=t||{};var i,n=h.exec(e),s=n[1]?n[1].toLowerCase():"",r=!!n[2],a=!!n[3],l=0;return r?a?(i=n[2]+n[3]+n[4],l=n[2].length+n[3].length):(i=n[2]+n[4],l=n[2].length):a?(i=n[3]+n[4],l=n[3].length):i=n[4],"file:"===s?l>=2&&(i=i.slice(2)):m(s)?i=n[4]:s?r&&(i=i.slice(2)):l>=2&&m(t.protocol)&&(i=n[4]),{protocol:s,slashes:r||m(s),slashesCount:l,rest:i}}function v(e,t,i){if(e=(e=d(e)).replace(o,""),!(this instanceof v))return new v(e,t,i);var r,a,l,h,p,O,b=u.slice(),_=typeof t,y=this,w=0;for("object"!==_&&"string"!==_&&(i=t,t=null),i&&"function"!=typeof i&&(i=s.parse),r=!(a=g(e||"",t=f(t))).protocol&&!a.slashes,y.slashes=a.slashes||r&&t.slashes,y.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||c.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(y.protocol)))&&(b[3]=[/(.*)/,"pathname"]);w{},1336:()=>{},2666:()=>{},9059:()=>{},415:()=>{},8845:e=>{e.exports={nanoid:(e=21)=>{let t="",i=e;for(;i--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(i=t)=>{let n="",s=i;for(;s--;)n+=e[Math.random()*e.length|0];return n}}},6399:e=>{"use strict";e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},2810:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},2836:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},8689:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var i=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(i.exports,i,i.exports,__webpack_require__),i.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{"use strict";class e{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){let s=[];return this.decompose(0,e,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(t,this.length,s,1),i.from(s,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),i.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new r(this),s=new r(e);for(let e=t,r=t;;){if(n.next(e),s.next(e),e=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(r+=n.value.length,n.done||r>=i)return!0}}iter(e=1){return new r(this,e)}iterRange(e,t=this.length){return new o(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new a(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(n){if(0==n.length)throw new RangeError("A document must have at least one line");return 1!=n.length||n[0]?n.length<=32?new t(n):i.from(t.split(n,[])):e.empty}}class t extends e{constructor(e,t=function(e){let t=-1;for(let i of e)t+=i.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,n){for(let s=0;;s++){let r=this.text[s],o=n+r.length;if((t?i:o)>=e)return new l(n,o,i,r);n=o+1,i++}}decompose(e,i,r,o){let a=e<=0&&i>=this.length?this:new t(s(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(1&o){let e=r.pop(),i=n(a.text,e.text.slice(),0,a.length);if(i.length<=32)r.push(new t(i,e.length+a.length));else{let e=i.length>>1;r.push(new t(i.slice(0,e)),new t(i.slice(e)))}}else r.push(a)}replace(e,r,o){if(!(o instanceof t))return super.replace(e,r,o);let a=n(this.text,n(o.text,s(this.text,0,e)),r),l=this.length+o.length-(r-e);return a.length<=32?new t(a,l):i.from(t.split(a,[]),l)}sliceString(e,t=this.length,i="\n"){let n="";for(let s=0,r=0;s<=t&&re&&r&&(n+=i),es&&(n+=o.slice(Math.max(0,e-s),t-s)),s=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,i){let n=[],s=-1;for(let r of e)n.push(r),s+=r.length+1,32==n.length&&(i.push(new t(n,s)),n=[],s=-1);return s>-1&&i.push(new t(n,s)),i}}class i extends e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,n){for(let s=0;;s++){let r=this.children[s],o=n+r.length,a=i+r.lines-1;if((t?a:o)>=e)return r.lineInner(e,t,i,n);n=o+1,i=a+1}}decompose(e,t,i,n){for(let s=0,r=0;r<=t&&s=r){let s=n&((r<=e?1:0)|(a>=t?2:0));r>=e&&a<=t&&!s?i.push(o):o.decompose(e-r,t-r,i,s)}r=a+1}}replace(e,t,n){if(n.lines=r&&t<=a){let l=o.replace(e-r,t-r,n),h=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>h>>6){let r=this.children.slice();return r[s]=l,new i(r,this.length-(t-e)+n.length)}return super.replace(r,a,l)}r=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,i="\n"){let n="";for(let s=0,r=0;se&&s&&(n+=i),er&&(n+=o.sliceString(e-r,t-r,i)),r=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[s,r,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==a)return n;let i=this.children[s],l=e.children[r];if(i!=l)return n+i.scanIdentical(l,t);n+=i.length+1}}static from(e,n=e.reduce(((e,t)=>e+t.length+1),-1)){let s=0;for(let t of e)s+=t.lines;if(s<32){let i=[];for(let t of e)t.flatten(i);return new t(i,n)}let r=Math.max(32,s>>5),o=r<<1,a=r>>1,l=[],h=0,c=-1,d=[];function u(e){let n;if(e.lines>o&&e instanceof i)for(let t of e.children)u(t);else e.lines>a&&(h>a||!h)?(p(),l.push(e)):e instanceof t&&h&&(n=d[d.length-1])instanceof t&&e.lines+n.lines<=32?(h+=e.lines,c+=e.length+1,d[d.length-1]=new t(n.text.concat(e.text),n.length+1+e.length)):(h+e.lines>r&&p(),h+=e.lines,c+=e.length+1,d.push(e))}function p(){0!=h&&(l.push(1==d.length?d[0]:i.from(d,c)),c=-1,h=d.length=0)}for(let t of e)u(t);return p(),1==l.length?l[0]:new i(l,n)}}function n(e,t,i=0,n=1e9){for(let s=0,r=0,o=!0;r=i&&(l>n&&(a=a.slice(0,n-s)),s0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],r=this.offsets[n],o=r>>1,a=s instanceof t?s.text.length:s.children.length;if(o==(i>0?a:0)){if(0==n)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&r)==(i>0?0:1)){if(this.offsets[n]+=i,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(s instanceof t){let t=s.text[o+(i<0?-1:0)];if(this.offsets[n]+=i,t.length>Math.max(0,e))return this.value=0==e?t:i>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let r=s.children[o+(i<0?-1:0)];e>r.length?(e-=r.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(r),this.offsets.push(i>0?1:(r instanceof t?r.text.length:r.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class o{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new r(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class a{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(e.prototype[Symbol.iterator]=function(){return this.iter()},r.prototype[Symbol.iterator]=o.prototype[Symbol.iterator]=a.prototype[Symbol.iterator]=function(){return this});class l{constructor(e,t,i,n){this.from=e,this.to=t,this.number=i,this.text=n}get length(){return this.to-this.from}}let h="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e=>e?parseInt(e,36):1));for(let e=1;ee)return h[t-1]<=e;return!1}function d(e){return e>=127462&&e<=127487}const u=8205;function p(e,t,i=!0,n=!0){return(i?f:m)(e,t,n)}function f(e,t,i){if(t==e.length)return t;t&&g(e.charCodeAt(t))&&v(e.charCodeAt(t-1))&&t--;let n=O(e,t);for(t+=_(n);t=0&&d(O(e,n));)i++,n-=2;if(i%2==0)break;t+=2}}}return t}function m(e,t,i){for(;t>0;){let n=f(e,t-2,i);if(n=56320&&e<57344}function v(e){return e>=55296&&e<56320}function O(e,t){let i=e.charCodeAt(t);if(!v(i)||t+1==e.length)return i;let n=e.charCodeAt(t+1);return g(n)?n-56320+(i-55296<<10)+65536:i}function b(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function _(e){return e<65536?1:2}const y=/\r\n?|\n/;var w=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(w||(w={}));class x{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-n);s+=o}else{if(i!=w.Simple&&l>=e&&(i==w.TrackDel&&ne||i==w.TrackBefore&&ne))return null;if(l>e||l==e&&t<0&&!o)return e==n||t<0?s:s+a;s+=a}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let i=0,n=0;i=0&&n<=t&&s>=e)return!(nt)||"cover";n=s}return!1}toString(){let e="";for(let t=0;t=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(e)}static create(e){return new x(e)}}class S extends x{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return C(this,((t,i,n,s,r)=>e=e.replace(n,n+(i-t),r)),!1),e}mapDesc(e,t=!1){return P(this,e,t,!0)}invert(t){let i=this.sections.slice(),n=[];for(let s=0,r=0;s=0){i[s]=a,i[s+1]=o;let l=s>>1;for(;n.length0&&T(i,t,s.text),s.forward(e),o+=e}let l=e[r++];for(;o>1].toJSON()))}return e}static of(t,i,n){let s=[],r=[],o=0,a=null;function l(e=!1){if(!e&&!s.length)return;oa||t<0||a>i)throw new RangeError(`Invalid change range ${t} to ${a} (in doc of length ${i})`);let d=c?"string"==typeof c?e.of(c.split(n||y)):c:e.empty,u=d.length;if(t==a&&0==u)return;to&&k(s,t-o,-1),k(s,a-t,u),T(r,s,d),o=a}}(t),l(!a),a}static empty(e){return new S(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let s=0;st&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==r.length)i.push(r[0],0);else{for(;n.length=0&&i<=0&&i==e[s+1]?e[s]+=t:0==t&&0==e[s]?e[s+1]+=i:n?(e[s]+=t,e[s+1]+=i):e.push(t,i)}function T(t,i,n){if(0==n.length)return;let s=i.length-2>>1;if(s>1])),!(n||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];i(r,c,o,d,u),r=c,o=d}}}function P(e,t,i,n=!1){let s=[],r=n?[]:null,o=new E(e),a=new E(t);for(let e=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);k(s,e,-1),o.forward(e),a.forward(e)}else if(a.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(a.len=0&&e=0)){if(o.done&&a.done)return r?S.createSet(s,r):x.create(s);throw new Error("Mismatched change set lengths")}{let t=0,i=o.len;for(;i;)if(-1==a.ins){let e=Math.min(i,a.len);t+=e,i-=e,a.forward(e)}else{if(!(0==a.ins&&a.lent||o.ins>=0&&o.len>t)&&(e||n.length>i),r.forward2(t),o.forward(t)}}else k(n,0,o.ins,e),s&&T(s,n,o.text),o.next()}}class E{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return i>=t.length?e.empty:t[i]}textBit(t){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!t?e.empty:i[n].slice(this.off,null==t?void 0:this.off+t)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class A{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new A(i,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return R.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return R.range(this.anchor,i)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return R.range(e.anchor,e.head)}static create(e,t,i){return new A(e,t,i)}}class R{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:R.create(this.ranges.map((i=>i.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;te.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new R(e.ranges.map((e=>A.fromJSON(e))),e.main)}static single(e,t=e){return new R([R.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;ne?8:0)|s)}static normalized(e,t=0){let i=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(i);for(let i=1;in.head?R.range(o,r):R.range(r,o))}}return new R(e,t)}}function D(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let I=0;class q{constructor(e,t,i,n,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=n,this.id=I++,this.default=e([]),this.extensions="function"==typeof s?s(this):s}get reader(){return this}static define(e={}){return new q(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:L),!!e.static,e.enables)}of(e){return new N([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new N(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new N(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(i=>t(i.field(e))))}}function L(e,t){return e==t||e.length==t.length&&e.every(((e,i)=>e===t[i]))}class N{constructor(e,t,i,n){this.dependencies=e,this.facet=t,this.type=i,this.value=n,this.id=I++}dynamicSlot(e){var t;let i=this.value,n=this.facet.compareInput,s=this.id,r=e[s]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&h.push(e[i.id]);return{create:e=>(e.values[r]=i(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||$(e,h)){let t=i(e);if(o?!B(t,e.values[r],n):!n(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let a,l=t.config.address[s];if(null!=l){let s=G(t,l);if(this.dependencies.every((i=>i instanceof q?t.facet(i)===e.facet(i):!(i instanceof j)||t.field(i,!1)==e.field(i,!1)))||(o?B(a=i(e),s,n):n(a=i(e),s)))return e.values[r]=s,0}else a=i(e);return e.values[r]=a,1}}}}function B(e,t,i){if(e.length!=t.length)return!1;for(let n=0;ne[t.id])),s=i.map((e=>e.type)),r=n.filter((e=>!(1&e))),o=e[t.id]>>1;function a(e){let i=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(z).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let n=e.values[t],s=this.updateF(n,i);return this.compareF(n,s)?0:(e.values[t]=s,1)},reconfigure:(e,i)=>null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,z.of({field:this,create:e})]}get extension(){return this}}function W(e){return t=>new U(t,e)}const V={highest:W(0),high:W(1),default:W(2),low:W(3),lowest:W(4)};class U{constructor(e,t){this.inner=e,this.prec=t}}class F{of(e){return new H(this,e)}reconfigure(e){return F.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class H{constructor(e,t){this.compartment=e,this.inner=t}}class X{constructor(e,t,i,n,s,r){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=n,this.staticValues=s,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let n=[],s=Object.create(null),r=new Map;for(let i of function(e,t,i){let n=[[],[],[],[],[]],s=new Map;return function e(r,o){let a=s.get(r);if(null!=a){if(a<=o)return;let e=n[a].indexOf(r);e>-1&&n[a].splice(e,1),r instanceof H&&i.delete(r.compartment)}if(s.set(r,o),Array.isArray(r))for(let t of r)e(t,o);else if(r instanceof H){if(i.has(r.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(r.compartment)||r.inner;i.set(r.compartment,n),e(n,o)}else if(r instanceof U)e(r.inner,r.prec);else if(r instanceof j)n[o].push(r),r.provides&&e(r.provides,o);else if(r instanceof N)n[o].push(r),r.facet.extensions&&e(r.facet.extensions,2);else{let t=r.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,o)}}(e,2),n.reduce(((e,t)=>e.concat(t)))}(e,t,r))i instanceof j?n.push(i):(s[i.facet.id]||(s[i.facet.id]=[])).push(i);let o=Object.create(null),a=[],l=[];for(let e of n)o[e.id]=l.length<<1,l.push((t=>e.slot(t)));let h=null==i?void 0:i.config.facets;for(let e in s){let t=s[e],n=t[0].facet,r=h&&h[e]||[];if(t.every((e=>0==e.type)))if(o[n.id]=a.length<<1|1,L(r,t))a.push(i.facet(n));else{let e=n.combine(t.map((e=>e.value)));a.push(i&&n.compare(e,i.facet(n))?i.facet(n):e)}else{for(let e of t)0==e.type?(o[e.id]=a.length<<1|1,a.push(e.value)):(o[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));o[n.id]=l.length<<1,l.push((e=>Q(e,n,t)))}}let c=l.map((e=>e(o)));return new X(e,r,c,o,a,s)}}function Y(e,t){if(1&t)return 2;let i=t>>1,n=e.status[i];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[i]=4;let s=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|s}function G(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const Z=q.define(),K=q.define({combine:e=>e.some((e=>e)),static:!0}),J=q.define({combine:e=>e.length?e[0]:void 0,static:!0}),ee=q.define(),te=q.define(),ie=q.define(),ne=q.define({combine:e=>!!e.length&&e[0]});class se{constructor(e,t){this.type=e,this.value=t}static define(){return new re}}class re{of(e){return new se(this,e)}}class oe{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new oe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let n of e){let e=n.map(t);e&&i.push(e)}return i}}ae.reconfigure=ae.define(),ae.appendConfig=ae.define();class le{constructor(e,t,i,n,s,r){this.startState=e,this.changes=t,this.selection=i,this.effects=n,this.annotations=s,this.scrollIntoView=r,this._doc=null,this._state=null,i&&D(i,t.newLength),s.some((e=>e.type==le.time))||(this.annotations=s.concat(le.time.of(Date.now())))}static create(e,t,i,n,s,r){return new le(e,t,i,n,s,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(le.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function he(e,t){let i=[];for(let n=0,s=0;;){let r,o;if(n=e[n]))r=e[n++],o=e[n++];else{if(!(s=0;s--){let r=i[s](e);r&&Object.keys(r).length&&(n=ce(n,de(t,r,e.changes.newLength),!0))}return n==e?e:le.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}(i?function(e){let t=e.startState,i=!0;for(let n of t.facet(ee)){let t=n(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:he(i,t))}if(!0!==i){let n,s;if(!1===i)s=e.changes.invertedDesc,n=S.empty(t.doc.length);else{let t=e.changes.filter(i);n=t.changes,s=t.filtered.mapDesc(t.changes).invertedDesc}e=le.create(t,n,e.selection&&e.selection.map(s),ae.mapEffects(e.effects,s),e.annotations,e.scrollIntoView)}let n=t.facet(te);for(let i=n.length-1;i>=0;i--){let s=n[i](e);e=s instanceof le?s:Array.isArray(s)&&1==s.length&&s[0]instanceof le?s[0]:ue(t,fe(s),!1)}return e}(s):s)}le.time=se.define(),le.userEvent=se.define(),le.addToHistory=se.define(),le.remote=se.define();const pe=[];function fe(e){return null==e?pe:Array.isArray(e)?e:[e]}var me=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(me||(me={}));const ge=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ve;try{ve=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class Oe{constructor(e,t,i,n,s,r){this.config=e,this.doc=t,this.selection=i,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=s,r&&(r._state=this);for(let e=0;es.set(t,e))),i=null),s.set(t.value.compartment,t.value.extension)):t.is(ae.reconfigure)?(i=null,n=t.value):t.is(ae.appendConfig)&&(i=null,n=fe(n).concat(t.value));i?t=e.startState.values.slice():(i=X.resolve(n,s,this),t=new Oe(i,this.doc,this.selection,i.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values),new Oe(i,e.newDoc,e.newSelection,t,((t,i)=>i.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:R.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),n=this.changes(i.changes),s=[i.range],r=fe(i.effects);for(let i=1;is.spec.fromJSON(r,e))))}return Oe.create({doc:e.doc,selection:R.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(t={}){let i=X.resolve(t.extensions||[],new Map),n=t.doc instanceof e?t.doc:e.of((t.doc||"").split(i.staticFacet(Oe.lineSeparator)||y)),s=t.selection?t.selection instanceof R?t.selection:R.single(t.selection.anchor,t.selection.head):R.single(0);return D(s,n.length),i.staticFacet(K)||(s=s.asSingle()),new Oe(i,n,s,i.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(Oe.tabSize)}get lineBreak(){return this.facet(Oe.lineSeparator)||"\n"}get readOnly(){return this.facet(ne)}phrase(e,...t){for(let t of this.facet(Oe.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,i)=>{if("$"==i)return"$";let n=+(i||1);return!n||n>t.length?e:t[n-1]}))),e}languageDataAt(e,t,i=-1){let n=[];for(let s of this.facet(Z))for(let r of s(this,t,i))Object.prototype.hasOwnProperty.call(r,e)&&n.push(r[e]);return n}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return me.Space;if(function(e){if(ve)return ve.test(e);for(let t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||ge.test(i)))return!0}return!1}(e))return me.Word;for(let i=0;i-1)return me.Word;return me.Other};var t}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),r=e-i,o=e-i;for(;r>0;){let e=p(t,r,!1);if(s(t.slice(e,r))!=me.Word)break;r=e}for(;oe.length?e[0]:4}),Oe.lineSeparator=J,Oe.readOnly=ne,Oe.phrases=q.define({compare(e,t){let i=Object.keys(e),n=Object.keys(t);return i.length==n.length&&i.every((i=>e[i]==t[i]))}}),Oe.languageData=Z,Oe.changeFilter=ee,Oe.transactionFilter=te,Oe.transactionExtender=ie,F.reconfigure=ae.define();class _e{eq(e){return this==e}range(e,t=e){return ye.create(e,t,this)}}_e.prototype.startSide=_e.prototype.endSide=0,_e.prototype.point=!1,_e.prototype.mapMode=w.TrackDel;class ye{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new ye(e,t,i)}}function we(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class xe{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let s=i?this.to:this.from;for(let r=n,o=s.length;;){if(r==o)return r;let n=r+o>>1,a=s[n]-e||(i?this.value[n].endSide:this.value[n].startSide)-t;if(n==r)return a>=0?r:o;a>=0?o=n:r=n+1}}between(e,t,i,n){for(let s=this.findIndex(t,-1e9,!0),r=this.findIndex(i,1e9,!1,s);sh||l==h&&c.startSide>0&&c.endSide<=0)continue;(h-l||c.endSide-c.startSide)<0||(r<0&&(r=l),c.point&&(o=Math.max(o,h-l)),i.push(c),n.push(l-r),s.push(h-r))}return{mapped:i.length?new xe(n,s,i,o):null,pos:r}}}class Se{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new Se(e,t,i,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:s=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(i&&(t=t.slice().sort(we)),this.isEmpty)return t.length?Se.of(t):this;let o=new Ce(this,null,-1).goto(0),a=0,l=[],h=new ke;for(;o.value||a=0){let e=t[a++];h.addInner(e.from,e.to,e.value)||l.push(e)}else 1==o.rangeIndex&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&e<=s+r.length&&!1===r.between(s,e-s,t-s,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return Pe.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Pe.from(e).goto(t)}static compare(e,t,i,n,s=-1){let r=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=s)),o=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=s)),a=Te(r,o,i),l=new Ee(r,a,s),h=new Ee(o,a,s);i.iterGaps(((e,t,i)=>Ae(l,e,h,t,i,n))),i.empty&&0==i.length&&Ae(l,0,h,0,0,n)}static eq(e,t,i=0,n){null==n&&(n=999999999);let s=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),r=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(s.length!=r.length)return!1;if(!s.length)return!0;let o=Te(s,r),a=new Ee(s,o,0).goto(i),l=new Ee(r,o,0).goto(i);for(;;){if(a.to!=l.to||!Re(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>n)return!0;a.next(),l.next()}}static spans(e,t,i,n,s=-1){let r=new Ee(e,null,s).goto(t),o=t,a=r.openStart;for(;;){let e=Math.min(r.to,i);if(r.point){let i=r.activeForPoint(r.to),s=r.pointFromo&&(n.span(o,e,r.active,a),a=r.openEnd(e));if(r.to>i)return a+(r.point&&r.to>i?1:0);o=r.to,r.next()}}static of(e,t=!1){let i=new ke;for(let n of e instanceof ye?[e]:t?function(e){if(e.length>1)for(let t=e[0],i=1;i0)return e.slice().sort(we);t=n}return e}(e):e)i.add(n.from,n.to,n.value);return i.finish()}}Se.empty=new Se([],[],null,-1),Se.empty.nextLayer=Se.empty;class ke{finishChunk(e){this.chunks.push(new xe(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new ke)).add(e,t,i)}addInner(e,t,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(Se.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Se.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Te(e,t,i){let n=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&n.push(new Ce(r,t,i,s));return 1==n.length?n[0]:new Pe(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Me(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Me(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Me(this.heap,0)}}}function Me(e,t){for(let i=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let s=e[n];if(n+1=0&&(s=e[n+1],n++),i.compare(s)<0)break;e[n]=i,e[t]=s,t=n}}class Ee{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Pe.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){De(this.active,e),De(this.activeTo,e),De(this.activeRank,e),this.minActive=qe(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:n,rank:s}=this.cursor;for(;t-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&De(i,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[t]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Ae(e,t,i,n,s,r){e.goto(t),i.goto(n);let o=n+s,a=n,l=n-t;for(;;){let t=e.to+l-i.to||e.endSide-i.endSide,n=t<0?e.to+l:i.to,s=Math.min(n,o);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&Re(e.activeForPoint(e.to),i.activeForPoint(i.to))||r.comparePoint(a,s,e.point,i.point):s>a&&!Re(e.active,i.active)&&r.compareRange(a,s,e.active,i.active),n>o)break;a=n,t<=0&&e.next(),t>=0&&i.next()}}function Re(e,t){if(e.length!=t.length)return!1;for(let i=0;i=t;i--)e[i+1]=e[i];e[t]=i}function qe(e,t){let i=-1,n=1e9;for(let s=0;s=t)return n;if(n==e.length)break;s+=9==e.charCodeAt(n)?i-s%i:1,n=p(e,n)}return!0===n?-1:e.length}const Be="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),$e="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Qe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class ze{constructor(e,t){this.rules=[];let{finish:i}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function s(e,t,r,o){let a=[],l=/^@(\w+)\b/.exec(e[0]),h=l&&"keyframes"==l[1];if(l&&null==t)return r.push(e[0]+";");for(let i in t){let o=t[i];if(/&/.test(i))s(i.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),o,r);else if(o&&"object"==typeof o){if(!l)throw new RangeError("The value of a property ("+i+") should be a primitive value.");s(n(i),o,a,h)}else null!=o&&a.push(i.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+o+";")}(a.length||h)&&r.push((!i||l||o?e:e.map(i)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)s(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Qe[Be]||1;return Qe[Be]=e+1,"ͼ"+e.toString(36)}static mount(e,t,i){let n=e[$e],s=i&&i.nonce;n?s&&n.setNonce(s):n=new We(e,s),n.mount(Array.isArray(t)?t:[t])}}let je=new Map;class We{constructor(e,t){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let t=je.get(i);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[$e]=t;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],je.set(i,this)}else{this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[$e]=this}mount(e){let t=this.sheet,i=0,n=0;for(let s=0;s-1&&(this.modules.splice(o,1),n--,o=-1),-1==o){if(this.modules.splice(n++,0,r),t)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Fe="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),He="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Xe=0;Xe<10;Xe++)Ve[48+Xe]=Ve[96+Xe]=String(Xe);for(Xe=1;Xe<=24;Xe++)Ve[Xe+111]="F"+Xe;for(Xe=65;Xe<=90;Xe++)Ve[Xe]=String.fromCharCode(Xe+32),Ue[Xe]=String.fromCharCode(Xe);for(var Ye in Ve)Ue.hasOwnProperty(Ye)||(Ue[Ye]=Ve[Ye]);function Ge(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function Ze(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Ke(e,t){if(!t.anchorNode)return!1;try{return Ze(e,t.anchorNode)}catch(e){return!1}}function Je(e){return 3==e.nodeType?ct(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function et(e,t,i,n){return!!i&&(it(e,t,i,n,-1)||it(e,t,i,n,1))}function tt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function it(e,t,i,n,s){for(;;){if(e==i&&t==n)return!0;if(t==(s<0?0:nt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=tt(e)+(s<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(s<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=s<0?nt(e):0}}}function nt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function st(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function rt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class ot{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?nt(t):0),i,Math.min(e.focusOffset,i?nt(i):0))}set(e,t,i,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=n}}let at,lt=null;function ht(e){if(e.setActive)return e.setActive();if(lt)return e.focus(lt);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==lt?{get preventScroll(){return lt={preventScroll:!0},!0}}:void 0),!lt){lt=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}class ft{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new ft(e.parentNode,tt(e),t)}static after(e,t){return new ft(e.parentNode,tt(e)+1,t)}}const mt=[];class gt{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let i,n=this.dom,s=null;for(let r of this.children){if(7&r.flags){if(!r.dom&&(i=s?s.nextSibling:n.firstChild)){let e=gt.get(i);(!e||!e.parent&&e.canReuseDOM(r))&&r.reuseDOM(i)}r.sync(e,t),r.flags&=-8}if(i=s?s.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=r.dom&&(t.written=!0),r.dom.parentNode==n)for(;i&&i!=r.dom;)i=vt(i);else n.insertBefore(r.dom,i);s=r.dom}for(i=s?s.nextSibling:n.firstChild,i&&t&&t.node==n&&(t.written=!0);i;)i=vt(i)}else if(1&this.flags)for(let i of this.children)7&i.flags&&(i.sync(e,t),i.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let i;if(e==this.dom)i=this.dom.childNodes[t];else{let n=0==nt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}i=n<0?e:e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!gt.get(i);)i=i.nextSibling;if(!i)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==i)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,i=0){let n=-1,s=-1,r=-1,o=-1;for(let a=0,l=i,h=i;at)return i.domBoundsAround(e,t,l);if(c>=e&&-1==n&&(n=a,s=l),l>t&&i.dom.parentNode==this.dom){r=a,o=h;break}h=c,l=c+i.breakAfter}return{from:s,to:o<0?i+this.length:o,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=mt){this.markDirty();for(let i=e;ithis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function bt(e,t,i,n,s,r,o,a,l){let{children:h}=e,c=h.length?h[t]:null,d=r.length?r[r.length-1]:null,u=d?d.breakAfter:o;if(!(t==n&&c&&!o&&!u&&r.length<2&&c.merge(i,s,r.length?d:null,0==i,a,l))){if(n0&&(!o&&r.length&&c.merge(i,c.length,r[0],!1,a,0)?c.breakAfter=r.shift().breakAfter:(i2);var Rt={mac:At||/Mac/.test(yt.platform),windows:/Win/.test(yt.platform),linux:/Linux|X11/.test(yt.platform),ie:Tt,ie_version:St?wt.documentMode||6:kt?+kt[1]:xt?+xt[1]:0,gecko:Ct,gecko_version:Ct?+(/Firefox\/(\d+)/.exec(yt.userAgent)||[0,0])[1]:0,chrome:!!Pt,chrome_version:Pt?+Pt[1]:0,ios:At,android:/Android\b/.test(yt.userAgent),webkit:Mt,safari:Et,webkit_version:Mt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=wt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class Dt extends gt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,i){return!(8&this.flags||i&&(!(i instanceof Dt)||this.length-(t-e)+i.length>256||8&i.flags)||(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new Dt(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new ft(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,i){let n=e.nodeValue.length;t>n&&(t=n);let s=t,r=t,o=0;0==t&&i<0||t==n&&i>=0?Rt.chrome||Rt.gecko||(t?(s--,o=1):r=0)?0:a.length-1];return Rt.safari&&!o&&0==l.width&&(l=Array.prototype.find.call(a,(e=>e.width))||l),o?st(l,o<0):l||null}(this.dom,e,t)}}class It extends gt{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let e of t)e.setParent(this)}setAttrs(e){if(ut(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,n,s,r){return!(i&&(!(i instanceof It&&i.mark.eq(this.mark))||e&&s<=0||te&&t.push(i=e&&(n=s),i=o,s++}let r=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new It(this.mark,t,r)}domAtPos(e){return Nt(this,e)}coordsAt(e,t){return $t(this,e,t)}}class qt extends gt{static create(e,t,i){return new qt(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=qt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,i,n,s,r){return!(i&&(!(i instanceof qt&&this.widget.compare(i.widget))||e>0&&s<=0||t0)?ft.before(this.dom):ft.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?n.length-1:0;s=n[t],!(e>0?0==t:t==n.length-1||s.top0?ft.before(this.dom):ft.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return e.empty}get isHidden(){return!0}}function Nt(e,t){let i=e.dom,{children:n}=e,s=0;for(let e=0;se&&t0;e--){let t=n[e-1];if(t.dom.parentNode==i)return t.domAtPos(t.length)}for(let e=s;e0&&t instanceof It&&s.length&&(n=s[s.length-1])instanceof It&&n.mark.eq(t.mark)?Bt(n,t.children[0],i-1):(s.push(t),t.setParent(e)),e.length+=t.length}function $t(e,t,i){let n=null,s=-1,r=null,o=-1;!function e(t,a){for(let l=0,h=0;l=a&&(c.children.length?e(c,a-h):(!r||r.isHidden&&i>0)&&(d>a||h==d&&c.getSide()>0)?(r=c,o=a-h):(h-1?1:0)!=s.length-(i&&s.indexOf(i)>-1?1:0))return!1;for(let r of n)if(r!=i&&(-1==s.indexOf(r)||e[r]!==t[r]))return!1;return!0}function Wt(e,t,i){let n=!1;if(t)for(let s in t)i&&s in i||(n=!0,"style"==s?e.style.cssText="":e.removeAttribute(s));if(i)for(let s in i)t&&t[s]==i[s]||(n=!0,"style"==s?e.style.cssText=i[s]:e.setAttribute(s,i[s]));return n}function Vt(e){let t=Object.create(null);for(let i=0;i0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){jt(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Bt(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=Qt(t,this.attrs||{})),i&&(this.attrs=Qt({class:i},this.attrs||{}))}domAtPos(e){return Nt(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?4&this.flags&&(ut(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(Wt(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&>.get(n)instanceof It;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(i=gt.get(n))||void 0===i?void 0:i.isEditable)||Rt.ios&&this.children.some((e=>e instanceof Dt))))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let i of this.children){if(!(i instanceof Dt)||/[^ -~]/.test(i.text))return null;let n=Je(i.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let i=$t(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=i.bottom-i.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(s instanceof Ut)return s;if(r>t)break}n=r+s.breakAfter}return null}}class Ft extends gt{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,n,s,r){return!(i&&(!(i instanceof Ft&&this.widget.compare(i.widget))||e>0&&s<=0||t0)}}class Ht{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}destroy(e){}}var Xt=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(Xt||(Xt={}));class Yt extends _e{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return new Gt(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Kt(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,n=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:s,end:r}=Jt(e,n);t=(s?n?-3e8:-1:5e8)-1,i=1+(r?n?2e8:1:-6e8)}return new Kt(e,t,i,n,e.widget||null,!0)}static line(e){return new Zt(e)}static set(e,t=!1){return Se.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Yt.none=Se.empty;class Gt extends Yt{constructor(e){let{start:t,end:i}=Jt(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof Gt&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(i=e.attrs)||void 0===i?void 0:i.class))&&jt(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Gt.prototype.point=!1;class Zt extends Yt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Zt&&this.spec.class==e.spec.class&&jt(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Zt.prototype.mapMode=w.TrackBefore,Zt.prototype.point=!0;class Kt extends Yt{constructor(e,t,i,n,s,r){super(t,i,s,e),this.block=n,this.isReplace=r,this.mapMode=n?t<=0?w.TrackBefore:w.TrackAfter:w.TrackDel}get type(){return this.startSide!=this.endSide?Xt.WidgetRange:this.startSide<=0?Xt.WidgetBefore:Xt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Kt&&((t=this.widget)==(i=e.widget)||!!(t&&i&&t.compare(i)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,i}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function Jt(e,t=!1){let{inclusiveStart:i,inclusiveEnd:n}=e;return null==i&&(i=e.inclusive),null==n&&(n=e.inclusive),{start:null!=i?i:t,end:null!=n?n:t}}function ei(e,t,i,n=0){let s=i.length-1;s>=0&&i[s]+n>=e?i[s]=Math.max(i[s],t):i.push(e,t)}Kt.prototype.point=!0;class ti{constructor(e,t,i,n){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Ft&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Ut),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(ii(new Lt(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof Ft||this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(ii(new Dt(this.text.slice(this.textOff,this.textOff+n)),t),i),this.atCursorPos=!0,this.textOff+=n,e-=n,i=0}}span(e,t,i,n){this.buildText(t-e,i,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,i,n,s,r){if(this.disallowBlockEffectsFor[r]&&i instanceof Kt){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(i instanceof Kt)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Ft(i.widget||new ni("div"),o,i));else{let r=qt.create(i.widget||new ni("span"),o,o?0:i.startSide),a=this.atCursorPos&&!r.isEditable&&s<=n.length&&(e0),l=!r.isEditable&&(en.length||i.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),a&&(h.append(ii(new Lt(1),n),s),s=n.length+Math.max(0,s-n.length)),h.append(ii(r,n),s),this.atCursorPos=l,this.pendingBuffer=l?en.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,i,n,s){let r=new ti(e,t,i,s);return r.openEnd=Se.spans(n,t,i,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function ii(e,t){for(let i of t)e=new It(i,[e],e.length);return e}class ni extends Ht{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const si=q.define(),ri=q.define(),oi=q.define(),ai=q.define(),li=q.define(),hi=q.define(),ci=q.define(),di=q.define({combine:e=>e.some((e=>e))}),ui=q.define({combine:e=>e.some((e=>e))});class pi{constructor(e,t="nearest",i="nearest",n=5,s=5){this.range=e,this.y=t,this.x=i,this.yMargin=n,this.xMargin=s}map(e){return e.empty?this:new pi(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const fi=ae.define({map:(e,t)=>e.map(t)});function mi(e,t,i){let n=e.facet(ai);n.length?n[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}const gi=q.define({combine:e=>!e.length||e[0]});let vi=0;const Oi=q.define();class bi{constructor(e,t,i,n,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=n,this.extension=s(this)}static define(e,t){const{eventHandlers:i,eventObservers:n,provide:s,decorations:r}=t||{};return new bi(vi++,e,i,n,(e=>{let t=[Oi.of(e)];return r&&t.push(xi.of((t=>{let i=t.plugin(e);return i?r(i):Yt.none}))),s&&t.push(s(e)),t}))}static fromClass(e,t){return bi.define((t=>new e(t)),t)}}class _i{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(mi(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){mi(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){mi(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const yi=q.define(),wi=q.define(),xi=q.define(),Si=q.define(),ki=q.define();function Ti(e,t,i){let n=e.state.facet(ki);if(!n.length)return n;let s=n.map((t=>t instanceof Function?t(e):t)),r=[];return Se.spans(s,t,i,{point(){},span(e,t,i,n){let s=r;for(let r=i.length-1;r>=0;r--,n--){let o,a=i[r].spec.bidiIsolate;if(null!=a)if(n>0&&s.length&&(o=s[s.length-1]).to==e&&o.direction==a)o.to=t,s=o.inner;else{let i={from:e,to:t,direction:a,inner:[]};s.push(i),s=i.inner}}}}),r}const Ci=q.define();function Pi(e){let t=0,i=0,n=0,s=0;for(let r of e.state.facet(Ci)){let o=r(e);o&&(null!=o.left&&(t=Math.max(t,o.left)),null!=o.right&&(i=Math.max(i,o.right)),null!=o.top&&(n=Math.max(n,o.top)),null!=o.bottom&&(s=Math.max(s,o.bottom)))}return{left:t,right:i,top:n,bottom:s}}const Mi=q.define();class Ei{constructor(e,t,i,n){this.fromA=e,this.toA=t,this.fromB=i,this.toB=n}join(e){return new Ei(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>i.toA)){if(n.toAh)break;s+=2}if(!a)return i;new Ei(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),r=a.toA,o=a.toB}}}class Ai{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=S.empty(this.startState.doc.length);for(let e of i)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges(((e,t,i,s)=>n.push(new Ei(e,t,i,s)))),this.changedRanges=n}static create(e,t,i){return new Ai(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var Ri=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Ri||(Ri={}));const Di=Ri.LTR,Ii=Ri.RTL;function qi(e){let t=[];for(let i=0;i=t){if(o.level==i)return r;(s<0||(0!=n?n<0?o.fromt:e[s].level>o.level))&&(s=r)}}if(s<0)throw new RangeError("Index out of range");return s}}function ji(e,t){if(e.length!=t.length)return!1;for(let i=0;il&&o.push(new zi(l,f.from,u)),Ui(e,f.direction==Di!=!(u%2)?n+1:n,s,f.inner,f.from,f.to,o),l=f.to),p=f.to}else{if(p==i||(t?Wi[p]!=a:Wi[p]==a))break;p++}d?Vi(e,l,p,n+1,s,d,o):lt;){let i=!0,c=!1;if(!h||l>r[h-1].to){let e=Wi[l-1];e!=a&&(i=!1,c=16==e)}let d=i||1!=a?null:[],u=i?n:n+1,p=l;e:for(;;)if(h&&p==r[h-1].to){if(c)break e;let f=r[--h];if(!i)for(let e=f.from,i=h;;){if(e==t)break e;if(!i||r[i-1].to!=e){if(Wi[e-1]==a)break e;break}e=r[--i].from}d?d.push(f):(f.to=0;e-=3)if($i[e+1]==-i){let t=$i[e+2],i=2&t?s:4&t?1&t?r:s:0;i&&(Wi[o]=Wi[$i[e]]=i),a=e;break}}else{if(189==$i.length)break;$i[a++]=o,$i[a++]=t,$i[a++]=l}else if(2==(n=Wi[o])||1==n){let e=n==s;l=e?0:1;for(let t=a-3;t>=0;t-=3){let i=$i[t+2];if(2&i)break;if(e)$i[t+2]|=2;else{if(4&i)break;$i[t+2]|=4}}}}}(e,s,r,n,a),function(e,t,i,n){for(let s=0,r=n;s<=i.length;s++){let o=s?i[s-1].to:e,a=sl;)t==r&&(t=i[--n].from,r=n?i[n-1].to:e),Wi[--t]=c;l=o}else r=o,l++}}}(s,r,n,a),Vi(e,s,r,t,i,n,o)}function Fi(e){return[new zi(0,e,0)]}let Hi="";function Xi(e,t,i,n,s){var r;let o=n.head-e.from,a=-1;if(0==o){if(!s||!e.length)return null;t[0].level!=i&&(o=t[0].side(!1,i),a=0)}else if(o==e.length){if(s)return null;let e=t[t.length-1];e.level!=i&&(o=e.side(!0,i),a=t.length-1)}a<0&&(a=zi.find(t,o,null!==(r=n.bidiLevel)&&void 0!==r?r:-1,n.assoc));let l=t[a];o==l.side(s,i)&&(l=t[a+=s?1:-1],o=l.side(!s,i));let h=s==(l.dir==i),c=p(e.text,o,h);if(Hi=e.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(s,i))return R.cursor(c+e.from,h?-1:1,l.level);let d=a==(s?t.length-1:0)?null:t[a+(s?1:-1)];return d||l.level==i?d&&d.level0&&i.length&&(i.every((({fromA:e,toA:t})=>tthis.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?n=this.domChanged.newSel.head:function(e,t){let i=!1;return t&&e.iterChangedRanges(((e,n)=>{et.from&&(i=!0)})),i}(e.changes,this.hasComposition)||e.selectionSet||(n=e.state.selection.main.head));let s=n>-1?function(e,t,i){let n=Zi(e,i);if(!n)return null;let{node:s,from:r,to:o}=n,a=s.nodeValue;if(/[\n\r]/.test(a))return null;if(e.state.doc.sliceString(n.from,n.to)!=a)return null;let l=t.invertedDesc,h=new Ei(l.mapPos(r),l.mapPos(o),r,o),c=[];for(let t=s.parentNode;;t=t.parentNode){let i=gt.get(t);if(i instanceof It)c.push({node:t,deco:i.mark});else{if(i instanceof Ut||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:h,text:s,marks:c,line:t};if(t==e.contentDOM)return null;c.push({node:t,deco:new Gt({inclusive:!0,attributes:Vt(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;i=new Ei(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(Rt.ie||Rt.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=function(e,t,i){let n=new Ji;return Se.compare(e,t,i,n),n.changes}(this.decorations,this.updateDeco(),e.changes);return i=Ei.extendWithRanges(i,r),!!(7&this.flags||0!=i.length)&&(this.updateInner(i,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:n}=this.view;n.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Rt.chrome||Rt.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let s=[];if(this.view.viewport.from||this.view.viewport.to=0?n[e]:null;if(!t)break;let r,o,a,l,{fromA:h,toA:c,fromB:d,toB:u}=t;if(i&&i.range.fromBd){let e=ti.build(this.view.state.doc,d,i.range.fromB,this.decorations,this.dynamicDecorationMap),t=ti.build(this.view.state.doc,i.range.toB,u,this.decorations,this.dynamicDecorationMap);o=e.breakAtStart,a=e.openStart,l=t.openEnd;let n=this.compositionView(i);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(n).concat(t.content)}else({content:r,breakAtStart:o,openStart:a,openEnd:l}=ti.build(this.view.state.doc,d,u,this.decorations,this.dynamicDecorationMap));let{i:p,off:f}=s.findPos(c,1),{i:m,off:g}=s.findPos(h,-1);bt(this,m,g,p,f,r,o,a,l)}i&&this.fixCompositionDOM(i)}compositionView(e){let t=new Dt(e.text.nodeValue);t.flags|=8;for(let{deco:i}of e.marks)t=new It(i,[t],t.length);let i=new Ut;return i.append(t,0),i}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let i=gt.get(e);i&&i!=t&&(i.dom=null),t.setDOM(e)},i=this.childPos(e.range.fromB,1),n=this.children[i.i];t(e.line,n);for(let s=e.marks.length-1;s>=-1;s--)i=n.childPos(i.off,1),n=n.children[i.i],t(s>=0?e.marks[s].node:e.text,n)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,s=!n&&Ke(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||t||s))return;let r=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(o.anchor)),l=o.empty?a:this.moveToLine(this.domAtPos(o.head));if(Rt.gecko&&o.empty&&!this.hasComposition&&1==(h=a).node.nodeType&&h.node.firstChild&&(0==h.offset||"false"==h.node.childNodes[h.offset-1].contentEditable)&&(h.offset==h.node.childNodes.length||"false"==h.node.childNodes[h.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore((()=>a.node.insertBefore(e,a.node.childNodes[a.offset]||null))),a=l=new ft(e,0),r=!0}var h;let c=this.view.observer.selectionRange;!r&&c.focusNode&&et(a.node,a.offset,c.anchorNode,c.anchorOffset)&&et(l.node,l.offset,c.focusNode,c.focusOffset)||(this.view.observer.ignore((()=>{Rt.android&&Rt.chrome&&this.dom.contains(c.focusNode)&&function(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=Ge(this.view.root);if(e)if(o.empty){if(Rt.gecko){let e=(t=a.node,n=a.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(no.head&&([a,l]=[l,a]),t.setEnd(l.node,l.offset),t.setStart(a.node,a.offset),e.removeAllRanges(),e.addRange(t)}var t,n;s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())})),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new ft(c.anchorNode,c.anchorOffset),this.impreciseHead=l.precise?null:new ft(c.focusNode,c.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Ge(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let r=Ut.find(this,t.head);if(!r)return;let o=r.posAtStart;if(t.head==o||t.head==o+r.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&i.collapse(n,s)}moveToLine(e){let t,i=this.dom;if(e.node!=i)return e;for(let n=e.offset;!t&&n=0;n--){let e=gt.get(i.childNodes[n]);e instanceof Ut&&(t=e.domAtPos(e.length))}return t?new ft(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=gt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;r--){let o=this.children[r],a=s-o.breakAfter,l=a-o.length;if(ae||o.covers(1))&&(!i||o instanceof Ut&&!(i instanceof Ut&&t>=0))&&(i=o,n=l),s=l}return i?i.coordsAt(e-n,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),n=this.children[t];if(!(n instanceof Ut))return null;for(;n.children.length;){let{i:e,off:t}=n.childPos(i,1);for(;;e++){if(e==n.children.length)return null;if((n=n.children[e]).length)break}i=t}if(!(n instanceof Dt))return null;let s=p(n.text,i);if(s==i)return null;let r=ct(n.dom,i,s).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Ri.LTR;for(let e=0,l=0;ln)break;if(e>=i){let i=h.dom.getBoundingClientRect();if(t.push(i.height),r){let t=h.dom.lastChild,n=t?Je(t):[];if(n.length){let t=n[n.length-1],r=a?t.right-i.left:i.right-t.left;r>o&&(o=r,this.minWidth=s,this.minWidthFrom=e,this.minWidthTo=c)}}}e=c+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?Ri.RTL:Ri.LTR}measureTextSize(){for(let e of this.children)if(e instanceof Ut){let t=e.measureTextSize();if(t)return t}let e,t,i,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let s=Je(n.firstChild)[0];e=n.getBoundingClientRect().height,t=s?s.width/27:7,i=s?s.height:e,n.remove()})),{lineHeight:e,charWidth:t,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Ot(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,n=0;;n++){let s=n==t.viewports.length?null:t.viewports[n],r=s?s.from-1:this.length;if(r>i){let n=(t.lineBlockAt(r).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Yt.replace({widget:new Gi(n),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!s)break;i=s.to+1}return Yt.set(e)}updateDeco(){let e=this.view.state.facet(xi).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;ti.anchor?-1:1);if(!n)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let s=Pi(this.view),r={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom};!function(e,t,i,n,s,r,o,a){let l=e.ownerDocument,h=l.defaultView||window;for(let c=e,d=!1;c&&!d;)if(1==c.nodeType){let e,u=c==l.body,p=1,f=1;if(u)e=rt(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(d=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let t=c.getBoundingClientRect();p=t.width/c.offsetWidth,f=t.height/c.offsetHeight,e={left:t.left,right:t.left+c.clientWidth*p,top:t.top,bottom:t.top+c.clientHeight*f}}let m=0,g=0;if("nearest"==s)t.top0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+o)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+o,i<0&&t.top-g0&&t.right>e.right+m&&(m=t.right-e.right+m+r)):t.right>e.right&&(m=t.right-e.right+r,i<0&&t.left0))break;i=i.childNodes[n-1],n=nt(i)}if(i>=0)for(let n=e,s=t;;){if(3==n.nodeType)return{node:n,offset:s};if(!(1==n.nodeType&&s=0))break;n=n.childNodes[s],s=0}return null}let Ji=class{constructor(){this.changes=[]}compareRange(e,t){ei(e,t,this.changes)}comparePoint(e,t){ei(e,t,this.changes)}};function en(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function tn(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function nn(e,t){return e.topt.top+1}function sn(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function on(e,t,i){let n,s,r,o,a,l,h,c,d=!1;for(let u=e.firstChild;u;u=u.nextSibling){let e=Je(u);for(let p=0;pg||o==g&&r>m){n=u,s=f,r=m,o=g;let a=g?i0?p0)}0==m?i>f.bottom&&(!h||h.bottomf.top)&&(l=u,c=f):h&&nn(h,f)?h=rn(h,f.bottom):c&&nn(c,f)&&(c=sn(c,f.top))}}if(h&&h.bottom>=i?(n=a,s=h):c&&c.top<=i&&(n=l,s=c),!n)return{node:e,offset:0};let u=Math.max(s.left,Math.min(s.right,t));return 3==n.nodeType?an(n,u,i):d&&"false"!=n.contentEditable?on(n,u,i):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(s.left+s.right)/2?1:0)}}function an(e,t,i){let n=e.nodeValue.length,s=-1,r=1e9,o=0;for(let a=0;ai?h.top-i:i-h.bottom)-1;if(h.left-1<=t&&h.right+1>=t&&c=(h.left+h.right)/2,n=i;if((Rt.chrome||Rt.gecko)&&ct(e,a).getBoundingClientRect().left==h.right&&(n=!i),c<=0)return{node:e,offset:a+(n?1:0)};s=a+(n?1:0),r=c}}}return{node:e,offset:s>-1?s:o>0?e.nodeValue.length:0}}function ln(e,t,i,n=-1){var s,r;let o,a=e.contentDOM.getBoundingClientRect(),l=a.top+e.viewState.paddingTop,{docHeight:h}=e.viewState,{x:c,y:d}=t,u=d-l;if(u<0)return 0;if(u>h)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,s=!1;o=e.elementAtHeight(u),o.type!=Xt.Text;)for(;u=n>0?o.bottom+t:o.top-t,!(u>=0&&u<=h);){if(s)return i?null:0;s=!0,n=-n}d=l+u;let p=o.from;if(pe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:hn(e,a,o,c,d);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(c,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(c=Math.max(a.left+1,Math.min(a.right-1,c)),g=m.elementFromPoint(c,d),g&&!e.contentDOM.contains(g)&&(g=null));let v,O=-1;if(g&&0!=(null===(s=e.docView.nearest(g))||void 0===s?void 0:s.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(c,d);e&&({offsetNode:v,offset:O}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(c,d);t&&(({startContainer:v,startOffset:O}=t),(!e.contentDOM.contains(v)||Rt.safari&&function(e,t,i){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return ct(e,n-1,n).getBoundingClientRect().left>i}(v,O,c)||Rt.chrome&&function(e,t,i){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return i-(1==e.nodeType?e.getBoundingClientRect():ct(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(v,O,c))&&(v=void 0))}if(!v||!e.docView.dom.contains(v)){let t=Ut.find(e.docView,p);if(!t)return u>o.top+o.height/2?o.to:o.from;({node:v,offset:O}=on(t.dom,c,d))}let b=e.docView.nearest(v);if(!b)return null;if(b.isWidget&&1==(null===(r=b.dom)||void 0===r?void 0:r.nodeType)){let e=b.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((s-i.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(i.from,i.to);return i.from+Ne(o,r,e.state.tabSize)}function cn(e,t){let i=e.lineBlockAt(t);if(Array.isArray(i.type))for(let e of i.type)if(e.to>t||e.to==t&&(e.to==i.to||e.type==Xt.Text))return e;return i}function dn(e,t,i,n){let s=e.state.doc.lineAt(t.head),r=e.bidiSpans(s),o=e.textDirectionAt(s.from);for(let a=t,l=null;;){let t=Xi(s,r,o,a,i),h=Hi;if(!t){if(s.number==(i?e.state.doc.lines:1))return a;h="\n",s=e.state.doc.line(s.number+(i?1:-1)),r=e.bidiSpans(s),t=R.cursor(i?s.from:s.to)}if(l){if(!l(h))return a}else{if(!n)return t;l=n(h)}a=t}}function un(e,t,i){for(;;){let n=0;for(let s of e)s.between(t-1,t+1,((e,s,r)=>{if(t>e&&tt(e))),i.from,t.head>i.from?-1:1);return n==i.from?i:R.cursor(n,nnull)),Rt.gecko&&function(e){zn.has(e)||(zn.add(e),e.addEventListener("copy",(()=>{})),e.addEventListener("cut",(()=>{})))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=gt.get(n))&&i.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let e of i.observers)e(this.view,t);for(let e of i.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=gn(e),i=this.handlers,n=this.view.contentDOM;for(let e in t)if("scroll"!=e){let s=!t[e].handlers.length,r=i[e];r&&s!=!r.handlers.length&&(n.removeEventListener(e,this.handleEvent),r=null),r||n.addEventListener(e,this.handleEvent,{passive:s})}for(let e in i)"scroll"==e||t[e]||n.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()t.keyCode==e.keyCode)))&&!e.ctrlKey||On.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,dt(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Rt.safari&&!Rt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function mn(e,t){return(i,n)=>{try{return t.call(e,n,i)}catch(e){mi(i.state,e)}}}function gn(e){let t=Object.create(null);function i(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let n in e.domEventHandlers){let s=e.domEventHandlers[n];s&&i(n).handlers.push(mn(t.value,s))}if(e&&e.domEventObservers)for(let n in e.domEventObservers){let s=e.domEventObservers[n];s&&i(n).observers.push(mn(t.value,s))}}for(let e in wn)i(e).handlers.push(wn[e]);for(let e in xn)i(e).observers.push(xn[e]);return t}const vn=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],On="dthko",bn=[16,17,18,20,91,92,224,225];function _n(e){return.7*Math.max(0,e)+8}class yn{constructor(e,t,i,n){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=function(e){let t=e.ownerDocument;for(let i=e.parentNode;i&&i!=t.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}(e.contentDOM),this.atoms=e.state.facet(Si).map((t=>t(e)));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Oe.allowMultipleSelections)&&function(e,t){let i=e.state.facet(si);return i.length?i[0](t):Rt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let n=Ge(e.root);if(!n||0==n.rangeCount)return!0;let s=n.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}(e,t)||1!=qn(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t,i,n;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(i=this.startEvent,n=e,Math.max(Math.abs(i.clientX-n.clientX),Math.abs(i.clientY-n.clientY))<10))return;this.select(this.lastEvent=e);let s=0,r=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},a=Pi(this.view);e.clientX-a.left<=o.left+6?s=-_n(o.left-e.clientX):e.clientX+a.right>=o.right-6&&(s=_n(e.clientX-o.right)),e.clientY-a.top<=o.top+6?r=-_n(o.top-e.clientY):e.clientY+a.bottom>=o.bottom-6&&(r=_n(e.clientY-o.bottom)),this.setScrollSpeed(s,r)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;ithis.select(this.lastEvent)),20)}}const wn=Object.create(null),xn=Object.create(null),Sn=Rt.ie&&Rt.ie_version<15||Rt.ios&&Rt.webkit_version<604;function kn(e,t){let i,{state:n}=e,s=1,r=n.toText(t),o=r.lines==n.selection.ranges.length;if(null!=Nn&&n.selection.ranges.every((e=>e.empty))&&Nn==r.toString()){let e=-1;i=n.changeByRange((i=>{let a=n.doc.lineAt(i.from);if(a.from==e)return{range:i};e=a.from;let l=n.toText((o?r.line(s++).text:t)+n.lineBreak);return{changes:{from:a.from,insert:l},range:R.cursor(i.from+l.length)}}))}else i=o?n.changeByRange((e=>{let t=r.line(s++);return{changes:{from:e.from,to:e.to,insert:t.text},range:R.cursor(e.from+t.length)}})):n.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function Tn(e,t,i,n){if(1==n)return R.cursor(t,i);if(2==n)return function(e,t,i=1){let n=e.charCategorizer(t),s=e.doc.lineAt(t),r=t-s.from;if(0==s.length)return R.cursor(t);0==r?i=1:r==s.length&&(i=-1);let o=r,a=r;i<0?o=p(s.text,r,!1):a=p(s.text,r);let l=n(s.text.slice(o,a));for(;o>0;){let e=p(s.text,o,!1);if(n(s.text.slice(e,o))!=l)break;o=e}for(;a{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},wn.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),xn.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},xn.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},wn.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let n of e.state.facet(oi))if(i=n(e,t),i)break;if(i||0!=t.button||(i=function(e,t){let i=En(e,t),n=qn(t),s=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),s=s.map(e.changes))},get(t,r,o){let a,l=En(e,t),h=Tn(e,l.pos,l.bias,n);if(i.pos!=l.pos&&!r){let t=Tn(e,i.pos,i.bias,n),s=Math.min(t.from,h.from),r=Math.max(t.to,h.to);h=s1&&(a=function(e,t){for(let i=0;i=t)return R.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}(s,l.pos))?a:o?s.addRange(h):R.create([h])}}}(e,t)),i){let n=!e.hasFocus;e.inputState.startMouseSelection(new yn(e,t,i,n)),n&&e.observer.ignore((()=>ht(e.contentDOM)));let s=e.inputState.mouseSelection;if(s)return s.start(t),!1===s.dragging}return!1};let Cn=(e,t)=>e>=t.top&&e<=t.bottom,Pn=(e,t,i)=>Cn(t,i)&&e>=i.left&&e<=i.right;function Mn(e,t,i,n){let s=Ut.find(e.docView,t);if(!s)return 1;let r=t-s.posAtStart;if(0==r)return 1;if(r==s.length)return-1;let o=s.coordsAt(r,-1);if(o&&Pn(i,n,o))return-1;let a=s.coordsAt(r,1);return a&&Pn(i,n,a)?1:o&&Cn(n,o)?-1:1}function En(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:Mn(e,i,t.clientX,t.clientY)}}const An=Rt.ie&&Rt.ie_version<=11;let Rn=null,Dn=0,In=0;function qn(e){if(!An)return e.detail;let t=Rn,i=In;return Rn=e,In=Date.now(),Dn=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Dn+1)%3:1}function Ln(e,t,i,n){if(!i)return;let s=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{mouseSelection:r}=e.inputState,o=n&&r&&r.dragging&&function(e,t){let i=e.state.facet(ri);return i.length?i[0](t):Rt.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.dragging.from,to:r.dragging.to}:null,a={from:s,insert:i},l=e.state.changes(o?[o,a]:a);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(s,-1),head:l.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"})}wn.dragstart=(e,t)=>{let{selection:{main:i}}=e.state,{mouseSelection:n}=e.inputState;return n&&(n.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove"),!1},wn.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let i=t.dataTransfer.files;if(i&&i.length){let n=Array(i.length),s=0,r=()=>{++s==i.length&&Ln(e,t,n.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),r()},t.readAsText(i[e])}return!0}{let i=t.dataTransfer.getData("Text");if(i)return Ln(e,t,i,!0),!0}return!1},wn.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let i=Sn?null:t.clipboardData;return i?(kn(e,i.getData("text/plain")||i.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout((()=>{e.focus(),i.remove(),kn(e,i.value)}),50)}(e),!1)};let Nn=null;wn.copy=wn.cut=(e,t)=>{let{text:i,ranges:n,linewise:s}=function(e){let t=[],i=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),i.push(n));if(!t.length){let s=-1;for(let{from:n}of e.selection.ranges){let r=e.doc.lineAt(n);r.number>s&&(t.push(r.text),i.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),s=r.number}n=!0}return{text:t.join(e.lineBreak),ranges:i,linewise:n}}(e.state);if(!i&&!s)return!1;Nn=s?i:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let r=Sn?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",i),!0):(function(e,t){let i=e.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout((()=>{n.remove(),e.focus()}),50)}(e,i),!1)};const Bn=se.define();function $n(e,t){let i=[];for(let n of e.facet(ci)){let s=n(e,t);s&&i.push(s)}return i?e.update({effects:i,annotations:Bn.of(!0)}):null}function Qn(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=$n(e.state,t);i?e.dispatch(i):e.update([])}}),10)}xn.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),Qn(e)},xn.blur=e=>{e.observer.clearSelectionRange(),Qn(e)},xn.compositionstart=xn.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},xn.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Rt.chrome&&Rt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},xn.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},wn.beforeinput=(e,t)=>{var i;let n;if(Rt.chrome&&Rt.android&&(n=vn.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const zn=new Set,jn=["pre-wrap","normal","pre-line","break-spaces"];class Wn{constructor(t){this.lineWrapping=t,this.doc=e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return jn.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=i,this.textHeight=n,this.lineLength=s,a){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Hn&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return Xn.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,n){let s=this,r=i.doc;for(let o=n.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=n[o],d=s.lineAt(a,Fn.ByPosNoHeight,i.setDoc(t),0,0),u=d.to>=l?d:s.lineAt(l,Fn.ByPosNoHeight,i,0,0);for(c+=u.to-l,l=u.to;o>0&&d.from<=n[o-1].toA;)a=n[o-1].fromA,h=n[o-1].fromB,o--,a2*s){let s=e[t-1];s.break?e.splice(--t,1,s.left,null,s.right):e.splice(--t,1,s.left,s.right),i+=1+s.break,n-=s.size}else{if(!(s>2*n))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,s-=t.size}}else if(n=s&&r(this.blockAt(0,i,n,s))}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Gn extends Yn{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,n){return new Un(n,this.length,i,this.height,this.breaks)}replace(e,t,i){let n=i[0];return 1==i.length&&(n instanceof Gn||n instanceof Zn&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof Zn?n=new Gn(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Xn.of(i)}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Zn extends Xn{constructor(e){super(e,0)}heightMetrics(e,t){let i,n=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,r=s-n+1,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);i=t/r,this.length>r+1&&(o=(this.height-t)/(this.length-r-1))}else i=this.height/r;return{firstLine:n,lastLine:s,perLine:i,perChar:o}}blockAt(e,t,i,n){let{firstLine:s,lastLine:r,perLine:o,perChar:a}=this.heightMetrics(t,n);if(t.lineWrapping){let s=n+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),r=t.doc.lineAt(s),l=o+r.length*a,h=Math.max(i,e-l/2);return new Un(r.from,r.length,h,l,0)}{let n=Math.max(0,Math.min(r-s,Math.floor((e-i)/o))),{from:a,length:l}=t.doc.line(s+n);return new Un(a,l,i+o*n,o,0)}}lineAt(e,t,i,n,s){if(t==Fn.ByHeight)return this.blockAt(e,i,n,s);if(t==Fn.ByPosNoHeight){let{from:t,to:n}=i.doc.lineAt(e);return new Un(t,n-t,0,0,0)}let{firstLine:r,perLine:o,perChar:a}=this.heightMetrics(i,s),l=i.doc.lineAt(e),h=o+l.length*a,c=l.number-r,d=n+o*c+a*(l.from-s-c);return new Un(l.from,l.length,Math.max(n,Math.min(d,n+this.height-h)),h,0)}forEachLine(e,t,i,n,s,r){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(i,s);for(let h=e,c=n;h<=t;){let t=i.doc.lineAt(h);if(h==e){let i=t.number-o;c+=a*i+l*(e-s-i)}let n=a+l*t.length;r(new Un(t.from,t.length,c,n,0)),c+=n,h=t.to+1}}replace(e,t,i){let n=this.length-t;if(n>0){let e=i[i.length-1];e instanceof Zn?i[i.length-1]=new Zn(e.length+n):i.push(null,new Zn(n-1))}if(e>0){let t=i[0];t instanceof Zn?i[0]=new Zn(e+t.length):i.unshift(new Zn(e-1),null)}return Xn.of(i)}decomposeLeft(e,t){t.push(new Zn(e-1),null)}decomposeRight(e,t){t.push(null,new Zn(this.length-e-1))}updateHeight(e,t=0,i=!1,n){let s=t+this.length;if(n&&n.from<=t+this.length&&n.more){let i=[],r=Math.max(t,n.from),o=-1;for(n.from>t&&i.push(new Zn(n.from-t-1).updateHeight(e,t));r<=s&&n.more;){let t=e.doc.lineAt(r).length;i.length&&i.push(null);let s=n.heights[n.index++];-1==o?o=s:Math.abs(s-o)>=Hn&&(o=-2);let a=new Gn(t,s);a.outdated=!1,i.push(a),r+=t+1}r<=s&&i.push(null,new Zn(s-r).updateHeight(e,r));let a=Xn.of(i);return(o<0||Math.abs(a.height-this.height)>=Hn||Math.abs(o-this.heightMetrics(e,t).perLine)>=Hn)&&(e.heightChanged=!0),a}return(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class Kn extends Xn{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,n){let s=i+this.left.height;return eo))return l;let h=t==Fn.ByPosNoHeight?Fn.ByPosNoHeight:Fn.ByPos;return a?l.join(this.right.lineAt(o,h,i,r,o)):this.left.lineAt(o,h,i,n,s).join(l)}forEachLine(e,t,i,n,s,r){let o=n+this.left.height,a=s+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,i,o,a,r);else{let l=this.lineAt(a,Fn.ByPos,i,n,s);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,o,a,r)}}replace(e,t,i){let n=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,i));let s=[];e>0&&this.decomposeLeft(e,s);let r=s.length;for(let e of i)s.push(e);if(e>0&&Jn(s,r-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e2*t.size||t.size>2*e.size?Xn.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,n){let{left:s,right:r}=this,o=t+s.length+this.break,a=null;return n&&n.from<=t+s.length&&n.more?a=s=s.updateHeight(e,t,i,n):s.updateHeight(e,t,i),n&&n.from<=o+r.length&&n.more?a=r=r.updateHeight(e,o,i,n):r.updateHeight(e,o,i),a?this.balanced(s,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Jn(e,t){let i,n;null==e[t]&&(i=e[t-1])instanceof Zn&&(n=e[t+1])instanceof Zn&&e.splice(t-1,3,new Zn(i.length+1+n.length))}class es{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Gn?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Gn(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=5)&&this.addLineDeco(n,s,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Gn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new Zn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Gn)return e;let t=new Gn(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Gn||this.isCovered?(this.writtenToi.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=n.overflow){let n=i.getBoundingClientRect();r=Math.max(r,n.left),o=Math.min(o,n.right),a=Math.max(a,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-i.left,right:Math.max(r,o)-i.left,top:a-(i.top+t),bottom:Math.max(a,l)-(i.top+t)}}function ns(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class ss{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new Wn(i),this.stateDeco=t.facet(xi).filter((e=>"function"!=typeof e)),this.heightMap=Xn.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Ei(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Yt.set(this.lineGaps.map((e=>e.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let n=i?t.head:t.anchor;if(!e.some((({from:e,to:t})=>n>=e&&n<=t))){let{from:t,to:i}=this.lineBlockAt(n);e.push(new as(t,i))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?ds:new us(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:ps(e,this.scaler))}))}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(xi).filter((e=>"function"!=typeof e));let n=e.changedRanges,s=Ei.extendWithRanges(n,function(e,t,i){let n=new ts;return Se.compare(e,t,i,n,0),n.changes}(i,this.stateDeco,e?e.changes:S.empty(this.state.doc.length))),r=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=r&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),l&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(ui)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let i=t.contentDOM,n=window.getComputedStyle(i),s=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Ri.RTL:Ri.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),a=i.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let h=0,c=0;if(a.width&&a.height){let e=a.width/i.offsetWidth,t=a.height/i.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(a.width-i.offsetWidth)<1)&&(e=1),(t>.995&&t<1.005||!isFinite(t)||Math.abs(a.height-i.offsetHeight)<1)&&(t=1),this.scaleX==e&&this.scaleY==t||(this.scaleX=e,this.scaleY=t,h|=8,o=l=!0)}let d=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==d&&this.paddingBottom==u||(this.paddingTop=d,this.paddingBottom=u,h|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(s.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=8);let p=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=pt(t.scrollDOM);let f=(this.printing?ns:is)(i,this.paddingTop),m=f.top-this.pixelViewport.top,g=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let O=a.width;if(this.contentDOMWidth==O&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=t.scrollDOM.clientHeight,h|=8),l){let i=t.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(i)&&(o=!0),o||s.lineWrapping&&Math.abs(O-this.contentDOMWidth)>s.charWidth){let{lineHeight:e,charWidth:n,textHeight:a}=t.docView.measureTextSize();o=e>0&&s.refresh(r,e,n,a,O/n,i),o&&(t.docView.minWidth=0,h|=8)}m>0&&g>0?c=Math.max(m,g):m<0&&g<0&&(c=Math.min(m,g)),s.heightChanged=!1;for(let n of this.viewports){let r=n.from==this.viewport.from?i:t.docView.measureVisibleLineHeights(n);this.heightMap=(o?Xn.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Ei(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new Vn(n.from,r))}s.heightChanged&&(h|=2)}let b=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return b&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&h||b)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:r,visibleBottom:o}=this,a=new as(n.lineAt(r-1e3*i,Fn.ByHeight,s,0,0).from,n.lineAt(o+1e3*(1-i),Fn.ByHeight,s,0,0).to);if(t){let{head:e}=t.range;if(ea.to){let i,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=n.lineAt(e,Fn.ByPos,s,0,0);i="center"==t.y?(o.top+o.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=o+Math.max(10,Math.min(i,250)))&&n>r-2e3&&s>1,r=n<<1;if(this.defaultTextDirection!=Ri.LTR&&!i)return[];let o=[],a=(n,r,l,h)=>{if(r-nn&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)e.fromt))));if(!u){if(re.from<=r&&e.to>=r))){let e=t.moveToLineBoundary(R.cursor(r),!1,!0).head;e>n&&(r=e)}u=new ss(n,r,this.gapSize(l,n,r,h))}o.push(u)};for(let e of this.viewportLines){if(e.lengthe.from&&a(e.from,s,e,t),oe.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Se.spans(e,this.viewport.from,this.viewport.to,{span(e,i){t.push({from:e,to:i})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,i)=>e.from!=t[i].from||e.to!=t[i].to));return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||ps(this.heightMap.lineAt(e,Fn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ps(this.heightMap.lineAt(this.scaler.fromDOM(e),Fn.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return ps(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class as{constructor(e,t){this.from=e,this.to=t}}function ls(e,t,i){let n=[],s=e,r=0;return Se.spans(i,e,t,{span(){},point(e,t){e>s&&(n.push({from:s,to:e}),r+=e-s),s=t}},20),s=1)return t[t.length-1].to;let n=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:s}=t[e],r=s-i;if(n<=r)return i+n;n-=r}}function cs(e,t){let i=0;for(let{from:n,to:s}of e.ranges){if(t<=s){i+=t-n;break}i+=s-n}return i/e.total}const ds={toDOM:e=>e,fromDOM:e=>e,scale:1};class us{constructor(e,t,i){let n=0,s=0,r=0;this.viewports=i.map((({from:i,to:s})=>{let r=t.lineAt(i,Fn.ByPos,e,0,0).top,o=t.lineAt(s,Fn.ByPos,e,0,0).bottom;return n+=o-r,{from:i,to:s,top:r,bottom:o,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=r+(e.top-s)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),s=e.bottom}toDOM(e){for(let t=0,i=0,n=0;;t++){let s=tps(e,t))):e._content)}const fs=q.define({combine:e=>e.join(" ")}),ms=q.define({combine:e=>e.indexOf(!0)>-1}),gs=ze.newName(),vs=ze.newName(),Os=ze.newName(),bs={"&light":"."+vs,"&dark":"."+Os};function _s(e,t,i){return new ze(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError(`Unsupported selector: ${t}`);return i[t]})):e+" "+t})}const ys=_s("."+gs,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},bs),ws="￿";class xs{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Oe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ws}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n);let e=this.text.length;this.readNode(n);let s=n.nextSibling;if(s==t)break;let r=gt.get(n),o=gt.get(s);(r&&o?r.breakAfter:(r?r.breakAfter:ks(n))||ks(s)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&this.lineBreak(),n=s}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let s,r=-1,o=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(s=n.exec(t))&&(r=s.index,o=s[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=o-1);i=r+o}}readNode(e){if(e.cmIgnore)return;let t=gt.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(Ss(e,i.node,i.offset)?t:0))}}function Ss(e,t,i){for(;;){if(!t||i-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let t=s||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:r}=e.observer.selectionRange;return i&&(t.push(new Ts(i,n)),s==i&&r==n||t.push(new Ts(s,r))),t}(e),i=new xs(t,e.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(e,t){if(0==e.length)return null;let i=e[0].pos,n=2==e.length?e[1].pos:i;return i>-1&&n>-1?R.single(i+t,n+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=s&&s.node==t.focusNode&&s.offset==t.focusOffset||!Ze(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!Ze(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=R.single(n,i)}}}function Ps(t,i){let n,{newSel:s}=i,r=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(i.bounds){let{from:s,to:a}=i.bounds,l=r.from,h=null;(8===o||Rt.android&&i.text.length0&&a>0&&e.charCodeAt(o-1)==t.charCodeAt(a-1);)o--,a--;return"end"==n&&(i-=o+Math.max(0,r-Math.min(o,a))-r),o=o?r-i:0,a=r+(a-o),o=r):a=a?r-i:0,o=r+(o-a),a=r),{from:r,toA:o,toB:a}}(t.state.doc.sliceString(s,a,ws),i.text,l-s,h);c&&(Rt.chrome&&13==o&&c.toB==c.from+2&&i.text.slice(c.from,c.toB)==ws+ws&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:e.of(i.text.slice(c.from,c.toB).split(ws))})}else s&&(!t.hasFocus&&t.state.facet(gi)||s.main.eq(r))&&(s=null);if(!n&&!s)return!1;if(!n&&i.typeOver&&!r.empty&&s&&s.main.empty?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,r.to)}:n&&n.from>=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,r.to))}:(Rt.mac||Rt.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=R.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:e.of([" "])}):Rt.chrome&&n&&n.from==n.to&&n.from==r.head&&"\n "==n.insert.toString()&&t.lineWrapping&&(s&&(s=R.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:e.of([" "])}),n){if(Rt.ios&&t.inputState.flushIOSKey())return!0;if(Rt.android&&(n.from==r.from&&n.to==r.to&&1==n.insert.length&&2==n.insert.lines&&dt(t.contentDOM,"Enter",13)||(n.from==r.from-1&&n.to==r.to&&0==n.insert.length||8==o&&n.insert.lengthr.head)&&dt(t.contentDOM,"Backspace",8)||n.from==r.from&&n.to==r.to+1&&0==n.insert.length&&dt(t.contentDOM,"Delete",46)))return!0;let e,i=n.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a=()=>e||(e=function(e,t,i){let n,s=e.state,r=s.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let i=r.fromt.to?s.sliceDoc(t.to,r.to):"";n=s.replaceSelection(e.state.toText(i+t.insert.sliceString(0,void 0,e.state.lineBreak)+o))}else{let o=s.changes(t),a=i&&i.main.to<=o.newLength?i.main:void 0;if(s.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let l,h=e.state.sliceDoc(t.from,t.to),c=i&&Zi(e,i.main.head);if(c){let e=t.insert.length-(t.to-t.from);l={from:c.from,to:c.to-e}}else l=e.state.doc.lineAt(r.head);let d=r.to-t.to,u=r.to-r.from;n=s.changeByRange((i=>{if(i.from==r.from&&i.to==r.to)return{changes:o,range:a||i.map(o)};let n=i.to-d,c=n-h.length;if(i.to-i.from!=u||e.state.sliceDoc(c,n)!=h||i.to>=l.from&&i.from<=l.to)return{range:i};let p=s.changes({from:c,to:n,insert:t.insert}),f=i.to-r.to;return{changes:p,range:a?R.range(Math.max(0,a.anchor+f),Math.max(0,a.head+f)):i.map(p)}}))}else n={changes:o,selection:a&&s.selection.replaceRange(a)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),s.update(n,{userEvent:o,scrollIntoView:!0})}(t,n,s));return t.state.facet(hi).some((e=>e(t,n.from,n.to,i,a)))||t.dispatch(a()),!0}if(s&&!s.main.eq(r)){let e=!1,i="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),i=t.inputState.lastSelectionOrigin),t.dispatch({selection:s,scrollIntoView:e,userEvent:i}),!0}return!1}const Ms={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Es=Rt.ie&&Rt.ie_version<=11;class As{constructor(e){this.view=e,this.active=!1,this.selectionRange=new ot,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(Rt.ie&&Rt.ie_version<=11||Rt.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),Es&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some(((t,i)=>t!=e[i])))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(gi)?i.root.activeElement!=this.dom:!Ke(i.dom,n))return;let s=n.anchorNode&&i.docView.nearest(n.anchorNode);s&&s.ignoreEvent(e)?t||(this.selectionChanged=!1):(Rt.ie&&Rt.ie_version<=11||Rt.android&&Rt.chrome)&&!i.state.selection.main.empty&&n.focusNode&&et(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Rt.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;let n=t.startContainer,s=t.startOffset,r=t.endContainer,o=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return et(a.node,a.offset,r,o)&&([n,s,r,o]=[r,o,n,s]),{anchorNode:n,anchorOffset:s,focusNode:r,focusOffset:o}}(this.view)||Ge(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=Ke(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&dt(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,n=!1;for(let s of e){let e=this.readMutation(s);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:n}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),n=this.selectionChanged&&Ke(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Cs(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,n=Ps(this.view,t);return this.view.state==i&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let i=Rs(t,e.previousSibling||e.target.previousSibling,-1),n=Rs(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function Rs(e,t,i){for(;t;){let n=gt.get(t);if(n&&n.parent==e)return n;let s=t.parentNode;t=s!=e.dom?s:i>0?t.nextSibling:t.previousSibling}return null}class Ds{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(e,this))))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new os(e.state||Oe.create(e)),this.plugins=this.state.facet(Oi).map((e=>new _i(e)));for(let e of this.plugins)e.update(this);this.observer=new As(this),this.inputState=new fn(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Yi(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(...e){let t=1==e.length&&e[0]instanceof le?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,n=!1,s=this.state;for(let t of e){if(t.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=t.state}if(this.destroyed)return void(this.viewState.state=s);let r=this.hasFocus,o=0,a=null;e.some((e=>e.annotation(Bn)))?(this.inputState.notifiedFocused=r,o=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,a=$n(s,r),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(Oe.phrases)!=this.state.facet(Oe.phrases))return this.setState(s);t=Ai.create(this,s,e),t.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new pi(e.empty?e:R.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(fi)&&(c=e.value)}this.viewState.update(t,c),this.bidiCache=Ls.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(Mi)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(fs)!=t.state.facet(fs)&&(this.viewState.mustMeasureContent=!0),(i||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(li))e(t);(a||h)&&Promise.resolve().then((()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Ps(this,h)&&l.force&&dt(this.contentDOM,l.key,l.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new os(e),this.plugins=e.facet(Oi).map((e=>new _i(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new Yi(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Oi),i=e.state.facet(Oi);if(t!=i){let n=[];for(let s of i){let i=t.indexOf(s);if(i<0)n.push(new _i(s));else{let t=this.plugins[i];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,n=i.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:r}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(pt(i))s=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);s=e.from,r=e.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let a=[];4&o||([this.measureRequests,a]=[a,this.measureRequests]);let l=a.map((e=>{try{return e.read(this)}catch(e){return mi(this.state,e),qs}})),h=Ai.create(this,this.state,[]),c=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),c=this.docView.update(h));for(let e=0;e1||e<-1){n+=e,i.scrollTop=n/this.scaleY,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(li))e(t)}get themeClasses(){return gs+" "+(this.state.facet(ms)?Os:vs)+" "+this.state.facet(fs)}updateAttrs(){let e=Ns(this,yi,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(gi)?"true":"false",class:"cm-content",style:`${Rt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Ns(this,wi,t);let i=this.observer.ignore((()=>{let i=Wt(this.contentDOM,this.contentAttrs,t),n=Wt(this.dom,this.editorAttrs,e);return i||n}));return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)e.is(Ds.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(Mi);let e=this.state.facet(Ds.cspNonce);ze.mount(this.root,this.styleModules.concat(ys).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.spec==e))||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return pn(this,e,dn(this,e,t,i))}moveByGroup(e,t){return pn(this,e,dn(this,e,t,(t=>function(e,t,i){let n=e.state.charCategorizer(t),s=n(i);return e=>{let t=n(e);return s==me.Space&&(s=t),s==t}}(this,e.head,t))))}moveToLineBoundary(e,t,i=!0){return function(e,t,i,n){let s=cn(e,t.head),r=n&&s.type==Xt.Text&&(e.lineWrapping||s.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>s.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(s.from),o=e.posAtCoords({x:i==(n==Ri.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=o)return R.cursor(o,i?-1:1)}return R.cursor(i?s.to:s.from,i?-1:1)}(this,e,t,i)}moveVertically(e,t,i){return pn(this,e,function(e,t,i,n){let s=t.head,r=i?1:-1;if(s==(i?e.state.doc.length:0))return R.cursor(s,t.assoc);let o,a=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(s,t.assoc||-1),c=e.documentTop;if(h)null==a&&(a=h.left-l.left),o=r<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(s);null==a&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(s-t.from))),o=(r<0?t.top:t.bottom)+c}let d=l.left+a,u=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let i=o+(u+t)*r,n=ln(e,{x:d,y:i},!1,r);if(il.bottom||(r<0?ns)){let t=e.docView.coordsForChar(n),s=!t||i0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(di)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Is)return Fi(e.length);let t,i=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==i&&(n.fresh||ji(n.isolates,t=Ti(this,e.from,e.to))))return n.order;t||(t=Ti(this,e.from,e.to));let n=function(e,t,i){if(!e)return[new zi(0,0,t==Ii?1:0)];if(t==Di&&!i.length&&!Qi.test(e))return Fi(e.length);if(i.length)for(;e.length>Wi.length;)Wi[Wi.length]=256;let n=[],s=t==Di?0:1;return Ui(e,s,s,i,0,e.length,n),n}(e.text,i,t);return this.bidiCache.push(new Ls(e.from,e.to,i,t,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Rt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{ht(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return fi.of(new pi("number"==typeof e?R.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return bi.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return bi.define((()=>({})),{eventObservers:e})}static theme(e,t){let i=ze.newName(),n=[fs.of(i),Mi.of(_s(`.${i}`,e))];return t&&t.dark&&n.push(ms.of(!0)),n}static baseTheme(e){return V.lowest(Mi.of(_s("."+gs,e,bs)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),n=i&>.get(i)||gt.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}Ds.styleModule=Mi,Ds.inputHandler=hi,Ds.focusChangeEffect=ci,Ds.perLineTextDirection=di,Ds.exceptionSink=ai,Ds.updateListener=li,Ds.editable=gi,Ds.mouseSelectionStyle=oi,Ds.dragMovesSelection=ri,Ds.clickAddsSelectionRange=si,Ds.decorations=xi,Ds.atomicRanges=Si,Ds.bidiIsolatedRanges=ki,Ds.scrollMargins=Ci,Ds.darkTheme=ms,Ds.cspNonce=q.define({combine:e=>e.length?e[0]:""}),Ds.contentAttributes=wi,Ds.editorAttributes=yi,Ds.lineWrapping=Ds.contentAttributes.of({class:"cm-lineWrapping"}),Ds.announce=ae.define();const Is=4096,qs={};class Ls{constructor(e,t,i,n,s,r){this.from=e,this.to=t,this.dir=i,this.isolates=n,this.fresh=s,this.order=r}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let i=[],n=e.length?e[e.length-1].dir:Ri.LTR;for(let s=Math.max(0,e.length-10);s=0;s--){let t=n[s],r="function"==typeof t?t(e):t;r&&Qt(r,i)}return i}const Bs=Rt.mac?"mac":Rt.windows?"win":Rt.linux?"linux":"key";function $s(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const Qs=V.default(Ds.domEventHandlers({keydown:(e,t)=>Fs(Ws(t.state),e,t,"editor")})),zs=q.define({enables:Qs}),js=new WeakMap;function Ws(e){let t=e.facet(zs),i=js.get(t);return i||js.set(t,i=function(e,t=Bs){let i=Object.create(null),n=Object.create(null),s=(e,t)=>{let i=n[e];if(null==i)n[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,n,r,o,a)=>{var l,h;let c=i[e]||(i[e]=Object.create(null)),d=n.split(/ (?!$)/).map((e=>function(e,t){const i=e.split(/-(?!$)/);let n,s,r,o,a=i[i.length-1];"Space"==a&&(a=" ");for(let e=0;e{let n=Vs={view:t,prefix:i,scope:e};return setTimeout((()=>{Vs==n&&(Vs=null)}),Us),!0}]})}let u=d.join(" ");s(u,!1);let p=c[u]||(c[u]={preventDefault:!1,stopPropagation:!1,run:(null===(h=null===(l=c._any)||void 0===l?void 0:l.run)||void 0===h?void 0:h.slice())||[]});r&&p.run.push(r),o&&(p.preventDefault=!0),a&&(p.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let s=n[t]||n.key;if(s)for(let t of e)r(t,s,n.run,n.preventDefault,n.stopPropagation),n.shift&&r(t,"Shift-"+s,n.shift,n.preventDefault,n.stopPropagation)}return i}(t.reduce(((e,t)=>e.concat(t)),[]))),i}let Vs=null;const Us=4e3;function Fs(e,t,i,n){let s=function(e){var t=!(Fe&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||He&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Ue:Ve)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=_(O(s,0))==s.length&&" "!=s,o="",a=!1,l=!1,h=!1;Vs&&Vs.view==i&&Vs.scope==n&&(o=Vs.prefix+" ",bn.indexOf(t.keyCode)<0&&(l=!0,Vs=null));let c,d,u=new Set,p=e=>{if(e){for(let n of e.run)if(!u.has(n)&&(u.add(n),n(i,t)))return e.stopPropagation&&(h=!0),!0;e.preventDefault&&(e.stopPropagation&&(h=!0),l=!0)}return!1},f=e[n];return f&&(p(f[o+$s(s,t,!r)])?a=!0:r&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Rt.windows&&t.ctrlKey&&t.altKey)&&(c=Ve[t.keyCode])&&c!=s?(p(f[o+$s(c,t,!0)])||t.shiftKey&&(d=Ue[t.keyCode])!=s&&d!=c&&p(f[o+$s(d,t,!1)]))&&(a=!0):r&&t.shiftKey&&p(f[o+$s(s,t,!0)])&&(a=!0),!a&&p(f._any)&&(a=!0)),l&&(a=!0),a&&h&&t.stopPropagation(),a}class Hs{constructor(e,t,i,n,s){this.className=e,this.left=t,this.top=i,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let s=Xs(e);return[new Hs(t,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}return function(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let n=Math.max(i.from,e.viewport.from),s=Math.min(i.to,e.viewport.to),r=e.textDirection==Ri.LTR,o=e.contentDOM,a=o.getBoundingClientRect(),l=Xs(e),h=o.querySelector(".cm-line"),c=h&&window.getComputedStyle(h),d=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=a.right-(c?parseInt(c.paddingRight):0),p=cn(e,n),f=cn(e,s),m=p.type==Xt.Text?p:null,g=f.type==Xt.Text?f:null;if(m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=Ys(e,n,m)),g&&(e.lineWrapping||f.widgetLineBreaks)&&(g=Ys(e,s,g)),m&&g&&m.from==g.from)return O(b(i.from,i.to,m));{let t=m?b(i.from,null,m):_(p,!1),n=g?b(null,i.to,g):_(f,!0),s=[];return(m||p).to<(g||f).from-(m&&g?1:0)||p.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2h&&n.from=r)break;a>s&&l(Math.max(e,s),null==t&&e<=h,Math.min(a,r),null==i&&a>=c,o.dir)}if(s=n.to+1,s>=r)break}return 0==a.length&&l(h,null==t,c,null==i,e.textDirection),{top:s,bottom:o,horizontal:a}}function _(e,t){let i=a.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}(e,t,i)}}function Xs(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Ri.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function Ys(e,t,i){let n=R.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(n,!0,!0).from),type:Xt.Text}}class Gs{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Zs)!=e.state.facet(Zs)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,i=e.facet(Zs);for(;t{return i=e,n=this.drawn[t],!(i.constructor==n.constructor&&i.eq(n));var i,n}))){let t=this.dom.firstChild,i=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[i].constructor&&n.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(n.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Zs=q.define();function Ks(e){return[bi.define((t=>new Gs(t,e))),Zs.of(e)]}const Js=!Rt.ios,er=q.define({combine:e=>be(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function tr(e={}){return[er.of(e),nr,rr,ar,ui.of(!0)]}function ir(e){return e.startState.facet(er)!=e.state.facet(er)}const nr=Ks({above:!0,markers(e){let{state:t}=e,i=t.facet(er),n=[];for(let s of t.selection.ranges){let r=s==t.selection.main;if(s.empty?!r||Js:i.drawRangeCursor){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=s.empty?s:R.cursor(s.head,s.head>s.anchor?-1:1);for(let s of Hs.forRange(e,t,i))n.push(s)}}return n},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=ir(e);return i&&sr(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){sr(t.state,e)},class:"cm-cursorLayer"});function sr(e,t){t.style.animationDuration=e.facet(er).cursorBlinkRate+"ms"}const rr=Ks({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:Hs.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||ir(e),class:"cm-selectionLayer"}),or={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Js&&(or[".cm-line"].caretColor="transparent !important");const ar=V.highest(Ds.theme(or)),lr=ae.define({map:(e,t)=>null==e?null:t.mapPos(e)}),hr=j.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(lr)?t.value:e),e))}),cr=bi.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(hr);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(hr)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(hr),i=null!=t&&e.coordsAtPos(t);if(!i)return null;let n=e.scrollDOM.getBoundingClientRect();return{left:i.left-n.left+e.scrollDOM.scrollLeft*e.scaleX,top:i.top-n.top+e.scrollDOM.scrollTop*e.scaleY,height:i.bottom-i.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:i}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/i+"px",this.cursor.style.height=e.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(hr)!=e&&this.view.dispatch({effects:lr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dr(e,t,i,n,s){t.lastIndex=0;for(let r,o=e.iterRange(i,n),a=i;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;r=t.exec(o.value);)s(a+r.index,r)}class ur{constructor(e){const{regexp:t,decoration:i,decorate:n,boundary:s,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,i,s)=>n(s,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,n,s)=>{let r=i(e,t,n);r&&s(n,n+e[0].length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,s)=>s(n,n+e[0].length,i)}this.boundary=s,this.maxLength=r}createDeco(e){let t=new ke,i=t.add.bind(t);for(let{from:t,to:n}of function(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let n=[];for(let{from:s,to:r}of i)s=Math.max(e.state.doc.lineAt(s).from,s-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),n.length&&n[n.length-1].to>=s?n[n.length-1].to=r:n.push({from:s,to:r});return n}(e,this.maxLength))dr(e.state.doc,this.regexp,t,n,((t,n)=>this.addMatch(n,e,t,i)));return t.finish()}updateDeco(e,t){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges(((t,s,r,o)=>{o>e.view.viewport.from&&r1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),i,n):t}updateRange(e,t,i,n){for(let s of e.visibleRanges){let r=Math.max(s.from,i),o=Math.min(s.to,n);if(o>r){let i=e.state.doc.lineAt(r),n=i.toi.from;r--)if(this.boundary.test(i.text[r-1-i.from])){a=r;break}for(;oc.push(i.range(e,t));if(i==n)for(this.regexp.lastIndex=a-i.from;(h=this.regexp.exec(i.text))&&h.indexthis.addMatch(i,e,t,d)));t=t.update({filterFrom:a,filterTo:l,filter:(e,t)=>el,add:c})}}return t}}const pr=null!=/x/.unicode?"gu":"g",fr=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",pr),mr={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let gr=null;const vr=q.define({combine(e){let t=be(e,{render:null,specialChars:fr,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==gr&&"undefined"!=typeof document&&document.body){let t=document.body.style;gr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return gr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,pr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,pr)),t}});function Or(e={}){return[vr.of(e),br||(br=bi.fromClass(class{constructor(e){this.view=e,this.decorations=Yt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(vr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new ur({regexp:e.specialChars,decoration:(t,i,n)=>{let{doc:s}=i.state,r=O(t[0],0);if(9==r){let e=s.lineAt(n),t=i.state.tabSize,r=Le(e.text,t,n-e.from);return Yt.replace({widget:new yr((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=Yt.replace({widget:new _r(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(vr);e.startState.facet(vr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let br=null;class _r extends Ht{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),i=e.state.phrase("Control character")+" "+(mr[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class yr extends Ht{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const wr=Yt.line({class:"cm-activeLine"}),xr=bi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(let n of e.state.selection.ranges){let s=e.lineBlockAt(n.head);s.from>t&&(i.push(wr.range(s.from)),t=s.from)}return Yt.set(i)}},{decorations:e=>e.decorations}),Sr=2e3;function kr(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(i),s=i-n.from,r=s>Sr?-1:s==n.length?function(e,t){let i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Le(n.text,e.state.tabSize,i-n.from);return{line:n.number,col:r,off:s}}function Tr(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return Ds.mouseSelectionStyle.of(((e,i)=>t(i)?function(e,t){let i=kr(e,t),n=e.state.selection;return i?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(i.line).from),s=e.state.doc.lineAt(t);i={line:s.number,col:i.col,off:Math.min(i.off,s.length)},n=n.map(e.changes)}},get(t,s,r){let o=kr(e,t);if(!o)return n;let a=function(e,t,i){let n=Math.min(t.line,i.line),s=Math.max(t.line,i.line),r=[];if(t.off>Sr||i.off>Sr||t.col<0||i.col<0){let o=Math.min(t.off,i.off),a=Math.max(t.off,i.off);for(let t=n;t<=s;t++){let i=e.doc.line(t);i.length<=a&&r.push(R.range(i.from+o,i.to+a))}}else{let o=Math.min(t.col,i.col),a=Math.max(t.col,i.col);for(let t=n;t<=s;t++){let i=e.doc.line(t),n=Ne(i.text,o,e.tabSize,!0);if(n<0)r.push(R.cursor(i.to));else{let t=Ne(i.text,a,e.tabSize);r.push(R.range(i.from+n,i.from+t))}}}return r}(e.state,i,o);return a.length?r?R.create(a.concat(n.ranges)):R.create(a):n}}:null}(e,i):null))}const Cr={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Pr={style:"cursor: crosshair"};function Mr(e={}){let[t,i]=Cr[e.key||"Alt"],n=bi.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[n,Ds.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?Pr:null}))]}const Er="-10000px";class Ar{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(i)}update(e,t){var i;let n=e.state.facet(this.facet),s=n.filter((e=>e));if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],o=t?[]:null;for(let i=0;it[i]=e)),t.length=o.length),this.input=n,this.tooltips=s,this.tooltipViews=r,!0}}function Rr(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const Dr=q.define({combine:e=>{var t,i,n;return{position:Rt.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find((e=>e.parent)))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(n=e.find((e=>e.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||Rr}}}),Ir=new WeakMap,qr=bi.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Dr);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Ar(e,Br,(e=>this.createTooltip(e))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let i=t||e.geometryChanged,n=e.state.facet(Dr);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=Er,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,i=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Rt.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)n=!0;else if(e.style.top==Er&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,i=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:i}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(Dr).tooltipSpace(this.view),scaleX:t,scaleY:i,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{editor:i,space:n,scaleX:s,scaleY:r}=e,o=[];for(let a=0;a=Math.min(i.bottom,n.bottom)||d.rightMath.min(i.right,n.right)+.1){c.style.top=Er;continue}let p=l.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,f=p?7:0,m=u.right-u.left,g=null!==(t=Ir.get(h))&&void 0!==t?t:u.bottom-u.top,v=h.offset||Nr,O=this.view.textDirection==Ri.LTR,b=u.width>n.right-n.left?O?n.left:n.right-u.width:O?Math.min(d.left-(p?14:0)+v.x,n.right-m):Math.max(n.left,d.left-m+(p?14:0)-v.x),_=this.above[a];!l.strictSide&&(_?d.top-(u.bottom-u.top)-v.yn.bottom)&&_==n.bottom-d.bottom>d.top-n.top&&(_=this.above[a]=!_);let y=(_?d.top-n.top:n.bottom-d.bottom)-f;if(yb&&e.topw&&(w=_?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(c.style.top=(w-e.parent.top)/r+"px",c.style.left=(b-e.parent.left)/s+"px"):(c.style.top=w/r+"px",c.style.left=b/s+"px"),p){let e=d.left+(O?v.x:-v.x)-(b+14-7);p.style.left=e/s+"px"}!0!==h.overlap&&o.push({left:b,top:w,right:x,bottom:w+g}),c.classList.toggle("cm-tooltip-above",_),c.classList.toggle("cm-tooltip-below",!_),h.positioned&&h.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Er}},{eventObservers:{scroll(){this.maybeMeasure()}}}),Lr=Ds.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Nr={x:0,y:0},Br=q.define({enables:[qr,Lr]}),$r=q.define();class Qr{static create(e){return new Qr(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Ar(e,$r,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let n=i[e];if(void 0!==n)if(void 0===t)t=n;else if(t!==n)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const zr=Br.compute([$r],(e=>{let t=e.facet($r).filter((e=>e));return 0===t.length?null:{pos:Math.min(...t.map((e=>e.pos))),end:Math.max(...t.filter((e=>null!=e.end)).map((e=>e.end))),create:Qr.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class jr{constructor(e,t,i,n,s){this.view=e,this.source=t,this.field=i,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;ei.bottom||t.xi.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(n)).find((e=>e.from<=n&&e.to>=n)),o=r&&r.dir==Ri.RTL?-1:1;s=t.x{this.pending==t&&(this.pending=null,i&&e.dispatch({effects:this.setHover.of(i)}))}),(t=>mi(e.state,t,"hover tooltip")))}else r&&e.dispatch({effects:this.setHover.of(r)})}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let i=this.active;if(i&&!Wr(this.lastMove.target)||this.pending){let{pos:n}=i||this.pending,s=null!==(t=null==i?void 0:i.end)&&void 0!==t?t:n;(n==s?this.view.posAtCoords(this.lastMove)==n:function(e,t,i,n,s,r){let o=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(o.left>n||o.rights||Math.min(o.bottom,a)=t&&l<=i}(this.view,n,s,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!Wr(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function Wr(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function Vr(e,t={}){let i=ae.define(),n=j.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,w.TrackDel);if(null==t)return null;let i=Object.assign(Object.create(null),e);i.pos=t,null!=e.end&&(i.end=n.changes.mapPos(e.end)),e=i}for(let t of n.effects)t.is(i)&&(e=t.value),t.is(Fr)&&(e=null);return e},provide:e=>$r.from(e)});return[n,bi.define((s=>new jr(s,e,n,i,t.hoverTime||300))),zr]}function Ur(e,t){let i=e.plugin(qr);if(!i)return null;let n=i.manager.tooltips.indexOf(t);return n<0?null:i.manager.tooltipViews[n]}const Fr=ae.define(),Hr=q.define({combine(e){let t,i;for(let n of e)t=t||n.topContainer,i=i||n.bottomContainer;return{topContainer:t,bottomContainer:i}}});function Xr(e,t){let i=e.plugin(Yr),n=i?i.specs.indexOf(t):-1;return n>-1?i.panels[n]:null}const Yr=bi.fromClass(class{constructor(e){this.input=e.state.facet(Kr),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(Hr);this.top=new Gr(e,!0,t.topContainer),this.bottom=new Gr(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((e=>e.top))),this.bottom.sync(this.panels.filter((e=>!e.top)));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(Hr);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new Gr(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new Gr(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(Kr);if(i!=this.input){let t=i.filter((e=>e)),n=[],s=[],r=[],o=[];for(let i of t){let t,a=this.specs.indexOf(i);a<0?(t=i(e.view),o.push(t)):(t=this.panels[a],t.update&&t.update(e)),n.push(t),(t.top?s:r).push(t)}this.specs=t,this.panels=n,this.top.sync(s),this.bottom.sync(r);for(let e of o)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>Ds.scrollMargins.of((t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}}))});class Gr{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Zr(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Zr(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Zr(e){let t=e.nextSibling;return e.remove(),t}const Kr=q.define({enables:Yr});class Jr extends _e{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Jr.prototype.elementClass="",Jr.prototype.toDOM=void 0,Jr.prototype.mapMode=w.TrackBefore,Jr.prototype.startSide=Jr.prototype.endSide=-1,Jr.prototype.point=!0;const eo=q.define(),to={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Se.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},io=q.define();function no(e){return[ro(),io.of(Object.assign(Object.assign({},to),e))]}const so=q.define({combine:e=>e.some((e=>e))});function ro(e){let t=[oo];return e&&!1===e.fixed&&t.push(so.of(!0)),t}const oo=bi.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(io).map((t=>new co(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(so),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,n=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(n<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(so)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let i=Se.iter(this.view.state.facet(eo),this.view.viewport.from),n=[],s=this.gutters.map((e=>new ho(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==Xt.Text&&t){lo(i,n,r.from);for(let e of s)e.line(this.view,r,n);t=!1}else if(r.widget)for(let e of s)e.widget(this.view,r)}else if(e.type==Xt.Text){lo(i,n,e.from);for(let t of s)t.line(this.view,e,n)}else if(e.widget)for(let t of s)t.widget(this.view,e);for(let e of s)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(io),i=e.state.facet(io),n=e.docChanged||e.heightChanged||e.viewportChanged||!Se.eq(e.startState.facet(eo),e.state.facet(eo),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let s=[];for(let n of i){let i=t.indexOf(n);i<0?s.push(new co(this.view,n)):(this.gutters[i].update(e),s.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),s.indexOf(e)<0&&e.destroy();for(let e of s)this.dom.appendChild(e.dom);this.gutters=s}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>Ds.scrollMargins.of((t=>{let i=t.plugin(e);return i&&0!=i.gutters.length&&i.fixed?t.textDirection==Ri.LTR?{left:i.dom.offsetWidth*t.scaleX}:{right:i.dom.offsetWidth*t.scaleX}:null}))});function ao(e){return Array.isArray(e)?e:[e]}function lo(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class ho{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=Se.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:n}=this,s=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==n.elements.length){let t=new uo(e,r,s,i);n.elements.push(t),n.dom.appendChild(t.dom)}else n.elements[this.i].update(e,r,s,i);this.height=t.bottom,this.i++}line(e,t,i){let n=[];lo(this.cursor,n,t.from),i.length&&(n=n.concat(i));let s=this.gutter.config.lineMarker(e,t,n);s&&n.unshift(s);let r=this.gutter;(0!=n.length||r.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t);i&&this.addElement(e,t,[i])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class co{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,(n=>{let s,r=n.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();s=(e.top+e.bottom)/2}else s=n.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,o,n)&&n.preventDefault()}));this.markers=ao(t.markers(e)),t.initialSpacer&&(this.spacer=new uo(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=ao(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!Se.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class uo{constructor(e,t,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,n)}update(e,t,i,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let i=0;ibe(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let n=i[e],s=t[e];i[e]=n?(e,t,i)=>n(e,t,i)||s(e,t,i):s}return i}})});class mo extends Jr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function go(e,t){return e.state.facet(fo).formatNumber(t,e.state)}const vo=io.compute([fo],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(po),lineMarker:(e,t,i)=>i.some((e=>e.toDOM))?null:new mo(go(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(fo)!=e.state.facet(fo),initialSpacer:e=>new mo(go(e,bo(e.state.doc.lines))),updateSpacer(e,t){let i=go(t.view,bo(t.view.state.doc.lines));return i==e.number?e:new mo(i)},domEventHandlers:e.facet(fo).domEventHandlers})));function Oo(e={}){return[fo.of(e),ro(),vo]}function bo(e){let t=9;for(;t{let t=[],i=-1;for(let n of e.selection.ranges){let s=e.doc.lineAt(n.head).from;s>i&&(i=s,t.push(_o.range(s)))}return Se.of(t)})),wo=1024;let xo=0;class So{constructor(e,t){this.from=e,this.to=t}}class ko{constructor(e={}){this.id=xo++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=Po.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}ko.closedBy=new ko({deserialize:e=>e.split(" ")}),ko.openedBy=new ko({deserialize:e=>e.split(" ")}),ko.group=new ko({deserialize:e=>e.split(" ")}),ko.contextHash=new ko({perNode:!0}),ko.lookAhead=new ko({perNode:!0}),ko.mounted=new ko({perNode:!0});class To{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[ko.mounted.id]}}const Co=Object.create(null);class Po{constructor(e,t,i,n=0){this.name=e,this.props=t,this.id=i,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Co,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new Po(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(ko.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let n of i.split(" "))t[n]=e[i];return e=>{for(let i=e.prop(ko.group),n=-1;n<(i?i.length:0);n++){let s=t[n<0?e.name:i[n]];if(s)return s}}}}Po.none=new Po("",Object.create(null),0,8);class Mo{constructor(e){this.types=e;for(let t=0;t=t){let o=new $o(r.tree,r.overlay[0].from+e.from,0,null);(s||(s=[n])).push(No(o,t,i,!1))}}return s?Vo(s):n}(this,e,t)}iterate(e){let{enter:t,leave:i,from:n=0,to:s=this.length}=e,r=e.mode||0,o=(r&Ro.IncludeAnonymous)>0;for(let e=this.cursor(r|Ro.IncludeAnonymous);;){let r=!1;if(e.from<=s&&e.to>=n&&(!o&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&i&&(o||!e.type.isAnonymous)&&i(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Go(Po.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,i)=>new Do(this.type,e,t,i,this.propValues)),e.makeTree||((e,t,i)=>new Do(Po.none,e,t,i)))}static build(e){return function(e){var t;let{buffer:i,nodeSet:n,maxBufferLength:s=wo,reused:r=[],minRepeatType:o=n.types.length}=e,a=Array.isArray(i)?new Io(i,i.length):i,l=n.types,h=0,c=0;function d(e,t,i,m,g){let{id:v,start:O,end:b,size:_}=a,y=c;for(;_<0;){if(a.next(),-1==_){let t=r[v];return i.push(t),void m.push(O-e)}if(-3==_)return void(h=v);if(-4==_)return void(c=v);throw new RangeError(`Unrecognized record size: ${_}`)}let w,x,S=l[v],k=O-e;if(b-O<=s&&(x=function(e,t){let i=a.fork(),n=0,r=0,l=0,h=i.end-s,c={size:0,start:0,skip:0};e:for(let s=i.pos-e;i.pos>s;){let e=i.size;if(i.id==t&&e>=0){c.size=n,c.start=r,c.skip=l,l+=4,n+=4,i.next();continue}let a=i.pos-e;if(e<0||a=o?4:0,u=i.start;for(i.next();i.pos>a;){if(i.size<0){if(-3!=i.size)break e;d+=4}else i.id>=o&&(d+=4);i.next()}r=u,n+=e,l+=d}return(t<0||n==e)&&(c.size=n,c.start=r,c.skip=l),c.size>4?c:void 0}(a.pos-t,g))){let t=new Uint16Array(x.size-x.skip),i=a.pos-x.size,s=t.length;for(;a.pos>i;)s=f(x.start,t,s);w=new qo(t,b-x.start,n),k=x.start-e}else{let e=a.pos-_;a.next();let t=[],i=[],n=v>=o?v:-1,r=0,l=b;for(;a.pos>e;)n>=0&&a.id==n&&a.size>=0?(a.end<=l-s&&(u(t,i,O,r,a.end,l,n,y),r=t.length,l=a.end),a.next()):d(O,e,t,i,n);if(n>=0&&r>0&&r-1&&r>0){let e=function(e){return(t,i,n)=>{let s,r,o=0,a=t.length-1;if(a>=0&&(s=t[a])instanceof Do){if(!a&&s.type==e&&s.length==n)return s;(r=s.prop(ko.lookAhead))&&(o=i[a]+s.length+r)}return p(e,t,i,n,o)}}(S);w=Go(S,t,i,0,t.length,0,b-O,e,e)}else w=p(S,t,i,b-O,y-b)}i.push(w),m.push(k)}function u(e,t,i,s,r,o,a,l){let h=[],c=[];for(;e.length>s;)h.push(e.pop()),c.push(t.pop()+i-r);e.push(p(n.types[a],h,c,o-r,l-o)),t.push(r-i)}function p(e,t,i,n,s=0,r){if(h){let e=[ko.contextHash,h];r=r?[e].concat(r):[e]}if(s>25){let e=[ko.lookAhead,s];r=r?[e].concat(r):[e]}return new Do(e,t,i,n,r)}function f(e,t,i){let{id:n,start:s,end:r,size:l}=a;if(a.next(),l>=0&&n4){let n=a.pos-(l-4);for(;a.pos>n;)i=f(e,t,i)}t[--i]=o,t[--i]=r-e,t[--i]=s-e,t[--i]=n}else-3==l?h=n:-4==l&&(c=n);return i}let m=[],g=[];for(;a.pos>0;)d(e.start||0,e.bufferStart||0,m,g,-1);let v=null!==(t=e.length)&&void 0!==t?t:m.length?g[0]+m[0].length:0;return new Do(l[e.topID],m.reverse(),g.reverse(),v)}(e)}}Do.empty=new Do(Po.none,[],[],0);class Io{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Io(this.buffer,this.index)}}class qo{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Po.none}toString(){let e=[];for(let t=0;t0));a=r[a+3]);return o}slice(e,t,i){let n=this.buffer,s=new Uint16Array(t-e),r=0;for(let o=e,a=0;o=t&&it;case 1:return i<=t&&n>t;case 2:return n>t;case 4:return!0}}function No(e,t,i,n){for(var s;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to0?o.length:-1;e!=l;e+=t){let l=o[e],h=a[e]+r.from;if(Lo(n,i,h,h+l.length))if(l instanceof qo){if(s&Ro.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,t,i-h,n);if(o>-1)return new Wo(new jo(r,l,e,h),null,o)}else if(s&Ro.IncludeAnonymous||!l.type.isAnonymous||Ho(l)){let o;if(!(s&Ro.IgnoreMounts)&&(o=To.get(l))&&!o.overlay)return new $o(o.tree,h,e,r);let a=new $o(l,h,e,r);return s&Ro.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,i,n)}}if(s&Ro.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let n;if(!(i&Ro.IgnoreOverlays)&&(n=To.get(this._tree))&&n.overlay){let i=e-this.from;for(let{from:e,to:s}of n.overlay)if((t>0?e<=i:e=i:s>i))return new $o(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Qo(e,t,i,n){let s=e.cursor(),r=[];if(!s.firstChild())return r;if(null!=i)for(;!s.type.is(i);)if(!s.nextSibling())return r;for(;;){if(null!=n&&s.type.is(n))return r;if(s.type.is(t)&&r.push(s.node),!s.nextSibling())return null==n?r:[]}}function zo(e,t,i=t.length-1){for(let n=e.parent;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[i]&&t[i]!=n.name)return!1;i--}}return!0}class jo{constructor(e,t,i,n){this.parent=e,this.buffer=t,this.index=i,this.start=n}}class Wo extends Bo{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new Wo(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&Ro.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Wo(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Wo(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Wo(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,n=this.index+4,s=i.buffer[this.index+3];if(s>n){let r=i.buffer[this.index+1];e.push(i.slice(n,s,r)),t.push(0)}return new Do(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Vo(e){if(!e.length)return null;if(1==e.length)return e[0];let t=0,i=e[0];for(let n=1;ni.from||s.to0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let e=i._tree.children[n];if(this.mode&Ro.IncludeAnonymous||e instanceof qo||!e.type.isAnonymous||Ho(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==n){if(n==this.index)return r;t=r,i=s+1;break e}n=this.stack[--s]}for(let e=i;e=0;s--){if(s<0)return zo(this.node,e,n);let r=i[t.buffer[this.stack[s]]];if(!r.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}}function Ho(e){return e.children.some((e=>e instanceof qo||!e.type.isAnonymous||Ho(e)))}const Xo=new WeakMap;function Yo(e,t){if(!e.isAnonymous||t instanceof qo||t.type!=e)return 1;let i=Xo.get(t);if(null==i){i=1;for(let n of t.children){if(n.type!=e||!(n instanceof Do)){i=1;break}i+=Yo(e,n)}Xo.set(t,i)}return i}function Go(e,t,i,n,s,r,o,a,l){let h=0;for(let i=n;i=c)break;f+=t}if(h==s+1){if(f>c){let e=i[s];t(e.children,e.positions,0,e.children.length,n[s]+a);continue}d.push(i[s])}else{let t=n[h-1]+i[h-1].length-p;d.push(Go(e,i,n,s,h,p,t,null,l))}u.push(p+a-r)}}(t,i,n,s,0),(a||l)(d,u,o)}class Zo{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof Wo?this.setBuffer(e.context.buffer,e.index,t):e instanceof $o&&this.map.set(e.tree,t)}get(e){return e instanceof Wo?this.getBuffer(e.context.buffer,e.index):e instanceof $o?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Ko{constructor(e,t,i,n,s=!1,r=!1){this.from=e,this.to=t,this.tree=i,this.offset=n,this.open=(s?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let n=[new Ko(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&n.push(i);return n}static applyChanges(e,t,i=128){if(!t.length)return e;let n=[],s=1,r=e.length?e[0]:null;for(let o=0,a=0,l=0;;o++){let h=o=i)for(;r&&r.from=t.from||c<=t.to||l){let e=Math.max(t.from,a)-l,i=Math.min(t.to,c)-l;t=e>=i?null:new Ko(e,i,t.tree,t.offset+l,o>0,!!h)}if(t&&n.push(t),r.to>c)break;r=snew So(e.from,e.to))):[new So(0,0)]:[new So(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let n=this.startParse(e,t,i);for(;;){let e=n.advance();if(e)return e}}}class ea{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new ko({perNode:!0});let ta=0;class ia{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=ta++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new ia([],null,[]);if(t.set.push(t),e)for(let i of e.set)t.set.push(i);return t}static defineModifier(){let e=new sa;return t=>t.modified.indexOf(e)>-1?t:sa.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let na=0;class sa{constructor(){this.instances=[],this.id=na++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find((i=>{return i.base==e&&(n=t,s=i.modified,n.length==s.length&&n.every(((e,t)=>e==s[t])));var n,s}));if(i)return i;let n=[],s=new ia(n,e,t);for(let e of t)e.instances.push(s);let r=function(e){let t=[[]];for(let i=0;it.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)n.push(sa.get(t,e));return s}}function ra(e){let t=Object.create(null);for(let i in e){let n=e[i];Array.isArray(n)||(n=[n]);for(let e of i.split(" "))if(e){let i=[],s=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){s=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!n)throw new RangeError("Invalid path: "+e);if(i.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){s=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let o=i.length-1,a=i[o];if(!a)throw new RangeError("Invalid path: "+e);let l=new aa(n,s,o>0?i.slice(0,o):null);t[a]=l.sort(t[a])}}return oa.add(t)}const oa=new ko;class aa{constructor(e,t,i,n){this.tags=e,this.mode=t,this.context=i,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=s;for(let n of e)for(let e of n.set){let n=i[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function ha(e,t,i,n=0,s=e.length){let r=new ca(n,Array.isArray(t)?t:[t],i);r.highlightRange(e.cursor(),n,s,"",r.highlighters),r.flush(s)}aa.empty=new aa([],2,null);class ca{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,n,s){let{type:r,from:o,to:a}=e;if(o>=i||a<=t)return;r.isTop&&(s=this.highlighters.filter((e=>!e.scope||e.scope(r))));let l=n,h=function(e){let t=e.type.prop(oa);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||aa.empty,c=function(e,t){let i=null;for(let n of e){let e=n.style(t);e&&(i=i?i+" "+e:e)}return i}(s,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(n+=(n?" ":"")+c)),this.startSpan(Math.max(t,o),l),h.opaque)return;let d=e.tree&&e.tree.prop(ko.mounted);if(d&&d.overlay){let r=e.node.enter(d.overlay[0].from+o,1),h=this.highlighters.filter((e=>!e.scope||e.scope(d.tree.type))),c=e.firstChild();for(let u=0,p=o;;u++){let f=u=m)&&e.nextSibling()););if(!f||m>i)break;p=f.to+o,p>t&&(this.highlightRange(r.cursor(),Math.max(t,f.from+o),Math.min(i,p),"",h),this.startSpan(Math.min(i,p),l))}c&&e.parent()}else if(e.firstChild()){d&&(n="");do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,n,s),this.startSpan(Math.min(i,e.to),l)}}while(e.nextSibling());e.parent()}}}const da=ia.define,ua=da(),pa=da(),fa=da(pa),ma=da(pa),ga=da(),va=da(ga),Oa=da(ga),ba=da(),_a=da(ba),ya=da(),wa=da(),xa=da(),Sa=da(xa),ka=da(),Ta={comment:ua,lineComment:da(ua),blockComment:da(ua),docComment:da(ua),name:pa,variableName:da(pa),typeName:fa,tagName:da(fa),propertyName:ma,attributeName:da(ma),className:da(pa),labelName:da(pa),namespace:da(pa),macroName:da(pa),literal:ga,string:va,docString:da(va),character:da(va),attributeValue:da(va),number:Oa,integer:da(Oa),float:da(Oa),bool:da(ga),regexp:da(ga),escape:da(ga),color:da(ga),url:da(ga),keyword:ya,self:da(ya),null:da(ya),atom:da(ya),unit:da(ya),modifier:da(ya),operatorKeyword:da(ya),controlKeyword:da(ya),definitionKeyword:da(ya),moduleKeyword:da(ya),operator:wa,derefOperator:da(wa),arithmeticOperator:da(wa),logicOperator:da(wa),bitwiseOperator:da(wa),compareOperator:da(wa),updateOperator:da(wa),definitionOperator:da(wa),typeOperator:da(wa),controlOperator:da(wa),punctuation:xa,separator:da(xa),bracket:Sa,angleBracket:da(Sa),squareBracket:da(Sa),paren:da(Sa),brace:da(Sa),content:ba,heading:_a,heading1:da(_a),heading2:da(_a),heading3:da(_a),heading4:da(_a),heading5:da(_a),heading6:da(_a),contentSeparator:da(ba),list:da(ba),quote:da(ba),emphasis:da(ba),strong:da(ba),link:da(ba),monospace:da(ba),strikethrough:da(ba),inserted:da(),deleted:da(),changed:da(),invalid:da(),meta:ka,documentMeta:da(ka),annotation:da(ka),processingInstruction:da(ka),definition:ia.defineModifier(),constant:ia.defineModifier(),function:ia.defineModifier(),standard:ia.defineModifier(),local:ia.defineModifier(),special:ia.defineModifier()};var Ca;la([{tag:Ta.link,class:"tok-link"},{tag:Ta.heading,class:"tok-heading"},{tag:Ta.emphasis,class:"tok-emphasis"},{tag:Ta.strong,class:"tok-strong"},{tag:Ta.keyword,class:"tok-keyword"},{tag:Ta.atom,class:"tok-atom"},{tag:Ta.bool,class:"tok-bool"},{tag:Ta.url,class:"tok-url"},{tag:Ta.labelName,class:"tok-labelName"},{tag:Ta.inserted,class:"tok-inserted"},{tag:Ta.deleted,class:"tok-deleted"},{tag:Ta.literal,class:"tok-literal"},{tag:Ta.string,class:"tok-string"},{tag:Ta.number,class:"tok-number"},{tag:[Ta.regexp,Ta.escape,Ta.special(Ta.string)],class:"tok-string2"},{tag:Ta.variableName,class:"tok-variableName"},{tag:Ta.local(Ta.variableName),class:"tok-variableName tok-local"},{tag:Ta.definition(Ta.variableName),class:"tok-variableName tok-definition"},{tag:Ta.special(Ta.variableName),class:"tok-variableName2"},{tag:Ta.definition(Ta.propertyName),class:"tok-propertyName tok-definition"},{tag:Ta.typeName,class:"tok-typeName"},{tag:Ta.namespace,class:"tok-namespace"},{tag:Ta.className,class:"tok-className"},{tag:Ta.macroName,class:"tok-macroName"},{tag:Ta.propertyName,class:"tok-propertyName"},{tag:Ta.operator,class:"tok-operator"},{tag:Ta.comment,class:"tok-comment"},{tag:Ta.meta,class:"tok-meta"},{tag:Ta.invalid,class:"tok-invalid"},{tag:Ta.punctuation,class:"tok-punctuation"}]);const Pa=new ko;const Ma=new ko;class Ea{constructor(e,t,i=[],n=""){this.data=e,this.name=n,Oe.prototype.hasOwnProperty("tree")||Object.defineProperty(Oe.prototype,"tree",{get(){return Da(this)}}),this.parser=t,this.extension=[ja.of(this),Oe.languageData.of(((e,t,i)=>{let n=Aa(e,t,i),s=n.type.prop(Pa);if(!s)return[];let r=e.facet(s),o=n.type.prop(Ma);if(o){let s=n.resolve(t-n.from,i);for(let t of o)if(t.test(s,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(r)}}return r}))].concat(i)}isActiveAt(e,t,i=-1){return Aa(e,t,i).type.prop(Pa)==this.data}findRegions(e){let t=e.facet(ja);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],n=(e,t)=>{if(e.prop(Pa)==this.data)return void i.push({from:t,to:t+e.length});let s=e.prop(ko.mounted);if(s){if(s.tree.prop(Pa)==this.data){if(s.overlay)for(let e of s.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(s.overlay){let e=i.length;if(n(s.tree,s.overlay[0].from+t),i.length>e)return}}for(let i=0;ie.concat(i):void 0}));var i;return new Ra(t,e.parser.configure({props:[Pa.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new Ra(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Da(e){let t=e.field(Ea.state,!1);return t?t.tree:Do.empty}class Ia{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let qa=null;class La{constructor(e,t,i=[],n,s,r,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=n,this.treeLen=s,this.viewport=r,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new La(e,t,[],Do.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Ia(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Do.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext((()=>{for(;!(t=this.parse.advance()););})),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Ko.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=qa;qa=this;try{return e()}finally{qa=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Na(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:n,treeLen:s,viewport:r,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,i,n,s)=>t.push({fromA:e,toA:i,fromB:n,toB:s}))),i=Ko.applyChanges(i,t),n=Do.empty,s=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){o=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);ie.from&&(this.fragments=Na(this.fragments,i,n),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(this.reset(),0))}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Jo{createParse(t,i,n){let s=n[0].from,r=n[n.length-1].to;return{parsedPos:s,advance(){let t=qa;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new Do(Po.none,[],[],r-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return qa}}function Na(e,t,i){return Ko.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class Ba{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Ba(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=La.create(e.facet(ja).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Ba(i)}}Ea.state=j.define({create:Ba.init,update(e,t){for(let e of t.effects)if(e.is(Ea.setState))return e.value;return t.startState.facet(ja)!=t.state.facet(ja)?Ba.init(t.state):e.apply(t)}});let $a=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&($a=e=>{let t=-1,i=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const Qa="undefined"!=typeof navigator&&(null===(Ca=navigator.scheduling)||void 0===Ca?void 0:Ca.isInputPending)?()=>navigator.scheduling.isInputPending():null,za=bi.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ea.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ea.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=$a(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndn+1e3,a=s.context.work((()=>Qa&&Qa()||Date.now()>r),n+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Ea.setState.of(new Ba(s.context))})),this.chunkBudget>0&&(!a||o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>mi(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ja=q.define({combine:e=>e.length?e[0]:null,enables:e=>[Ea.state,za,Ds.contentAttributes.compute([e],(t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}}))]});class Wa{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const Va=q.define(),Ua=q.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function Fa(e){let t=e.facet(Ua);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Ha(e,t){let i="",n=e.tabSize,s=e.facet(Ua)[0];if("\t"==s){for(;t>=n;)i+="\t",t-=n;s=" "}for(let e=0;e=t?function(e,t,i){let n=t.resolveStack(i),s=n.node.enterUnfinishedNodesBefore(i);if(s!=n.node){let e=[];for(let t=s;t!=n.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)n={node:e[t],next:n}}return Za(n,e,i)}(e,i,t):null}class Ya{constructor(e,t={}){this.state=e,this.options=t,this.unit=Fa(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return null!=n&&n>=i.from&&n<=i.to?s&&n==e?{text:"",from:e}:(t<0?n-1&&(s+=r-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Le(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:n}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let e=s(n);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Ga=new ko;function Za(e,t,i){for(let n=e;n;n=n.next){let e=Ka(n.node);if(e)return e(el.create(t,i,n))}return 0}function Ka(e){let t=e.type.prop(Ga);if(t)return t;let i,n=e.firstChild;if(n&&(i=n.type.prop(ko.closedBy))){let t=e.lastChild,n=t&&i.indexOf(t.name)>-1;return e=>nl(e,!0,1,void 0,n&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Ja:null}function Ja(){return 0}class el extends Ya{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new el(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(tl(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Za(this.context.next,this.base,this.pos)}}function tl(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function il({closing:e,align:t=!0,units:i=1}){return n=>nl(n,t,i,e)}function nl(e,t,i,n,s){let r=e.textAfter,o=r.match(/^\s*/)[0].length,a=n&&r.slice(o,o+n.length)==n||s==e.pos+o,l=t?function(e){let t=e.node,i=t.childAfter(t.from),n=t.lastChild;if(!i)return null;let s=e.options.simulateBreak,r=e.state.doc.lineAt(i.from),o=null==s||s<=r.from?r.to:Math.min(r.to,s);for(let e=i.to;;){let s=t.childAfter(e);if(!s||s==n)return null;if(!s.type.isSkipped)return s.fromi)continue;if(s&&o.from=t&&n.to>i&&(s=n)}}return s}(e,t,i)}function ll(e,t){let i=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return i>=n?void 0:{from:i,to:n}}const hl=ae.define({map:ll}),cl=ae.define({map:ll});function dl(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some((e=>e.from<=i&&e.to>=i))||t.push(e.lineBlockAt(i));return t}const ul=j.define({create:()=>Yt.none,update(e,t){e=e.map(t.changes);for(let i of t.effects)if(i.is(hl)&&!fl(e,i.value.from,i.value.to)){let{preparePlaceholder:n}=t.state.facet(bl),s=n?Yt.replace({widget:new xl(n(t.state,i.value))}):wl;e=e.update({add:[s.range(i.value.from,i.value.to)]})}else i.is(cl)&&(e=e.update({filter:(e,t)=>i.value.from!=e||i.value.to!=t,filterFrom:i.value.from,filterTo:i.value.to}));if(t.selection){let i=!1,{head:n}=t.selection.main;e.between(n,n,((e,t)=>{en&&(i=!0)})),i&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>Ds.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,((e,t)=>{i.push(e,t)})),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i{(!s||s.from>e)&&(s={from:e,to:t})})),s}function fl(e,t,i){let n=!1;return e.between(t,t,((e,s)=>{e==t&&s==i&&(n=!0)})),n}function ml(e,t){return e.field(ul,!1)?t:t.concat(ae.appendConfig.of(_l()))}function gl(e,t,i=!0){let n=e.state.doc.lineAt(t.from).number,s=e.state.doc.lineAt(t.to).number;return Ds.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${s}.`)}const vl=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of dl(e)){let i=al(e.state,t.from,t.to);if(i)return e.dispatch({effects:ml(e.state,[hl.of(i),gl(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(ul,!1))return!1;let t=[];for(let i of dl(e)){let n=pl(e.state,i.from,i.to);n&&t.push(cl.of(n),gl(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let n=0;n{let t=e.state.field(ul,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,((e,t)=>{i.push(cl.of({from:e,to:t}))})),e.dispatch({effects:i}),!0}}],Ol={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},bl=q.define({combine:e=>be(e,Ol)});function _l(e){let t=[ul,Cl];return e&&t.push(bl.of(e)),t}function yl(e,t){let{state:i}=e,n=i.facet(bl),s=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),n=pl(e.state,i.from,i.to);n&&e.dispatch({effects:cl.of(n)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,s,t);let r=document.createElement("span");return r.textContent=n.placeholderText,r.setAttribute("aria-label",i.phrase("folded code")),r.title=i.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=s,r}const wl=Yt.replace({widget:new class extends Ht{toDOM(e){return yl(e,null)}}});class xl extends Ht{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return yl(e,this.value)}}const Sl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class kl extends Jr{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function Tl(e={}){let t=Object.assign(Object.assign({},Sl),e),i=new kl(t,!0),n=new kl(t,!1),s=bi.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(ja)!=e.state.facet(ja)||e.startState.field(ul,!1)!=e.state.field(ul,!1)||Da(e.startState)!=Da(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new ke;for(let s of e.viewportLineBlocks){let r=pl(e.state,s.from,s.to)?n:al(e.state,s.from,s.to)?i:null;r&&t.add(s.from,s.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[s,no({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(s))||void 0===t?void 0:t.markers)||Se.empty},initialSpacer:()=>new kl(t,!1),domEventHandlers:Object.assign(Object.assign({},r),{click:(e,t,i)=>{if(r.click&&r.click(e,t,i))return!0;let n=pl(e.state,t.from,t.to);if(n)return e.dispatch({effects:cl.of(n)}),!0;let s=al(e.state,t.from,t.to);return!!s&&(e.dispatch({effects:hl.of(s)}),!0)}})}),_l()]}const Cl=Ds.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Pl{constructor(e,t){let i;function n(e){let t=ze.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;const s="string"==typeof t.all?t.all:t.all?n(t.all):void 0,r=t.scope;this.scope=r instanceof Ea?e=>e.prop(Pa)==r.data:r?e=>e==r:void 0,this.style=la(e.map((e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))}))),{all:s}).style,this.module=i?new ze(i):null,this.themeType=t.themeType}static define(e,t){return new Pl(e,t||{})}}const Ml=q.define(),El=q.define({combine:e=>e.length?[e[0]]:null});function Al(e){let t=e.facet(Ml);return t.length?t:e.facet(El)}function Rl(e,t){let i,n=[Il];return e instanceof Pl&&(e.module&&n.push(Ds.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?n.push(El.of(e)):i?n.push(Ml.computeN([Ds.darkTheme],(t=>t.facet(Ds.darkTheme)==("dark"==i)?[e]:[]))):n.push(Ml.of(e)),n}class Dl{constructor(e){this.markCache=Object.create(null),this.tree=Da(e.state),this.decorations=this.buildDeco(e,Al(e.state))}update(e){let t=Da(e.state),i=Al(e.state),n=i!=Al(e.startState);t.length{i.add(e,t,this.markCache[n]||(this.markCache[n]=Yt.mark({class:n})))}),n,s);return i.finish()}}const Il=V.high(bi.fromClass(Dl,{decorations:e=>e.decorations})),ql=Pl.define([{tag:Ta.meta,color:"#404740"},{tag:Ta.link,textDecoration:"underline"},{tag:Ta.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Ta.emphasis,fontStyle:"italic"},{tag:Ta.strong,fontWeight:"bold"},{tag:Ta.strikethrough,textDecoration:"line-through"},{tag:Ta.keyword,color:"#708"},{tag:[Ta.atom,Ta.bool,Ta.url,Ta.contentSeparator,Ta.labelName],color:"#219"},{tag:[Ta.literal,Ta.inserted],color:"#164"},{tag:[Ta.string,Ta.deleted],color:"#a11"},{tag:[Ta.regexp,Ta.escape,Ta.special(Ta.string)],color:"#e40"},{tag:Ta.definition(Ta.variableName),color:"#00f"},{tag:Ta.local(Ta.variableName),color:"#30a"},{tag:[Ta.typeName,Ta.namespace],color:"#085"},{tag:Ta.className,color:"#167"},{tag:[Ta.special(Ta.variableName),Ta.macroName],color:"#256"},{tag:Ta.definition(Ta.propertyName),color:"#00c"},{tag:Ta.comment,color:"#940"},{tag:Ta.invalid,color:"#f00"}]),Ll=Ds.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Nl=1e4,Bl="()[]{}",$l=q.define({combine:e=>be(e,{afterCursor:!0,brackets:Bl,maxScanDistance:Nl,renderMatch:jl})}),Ql=Yt.mark({class:"cm-matchingBracket"}),zl=Yt.mark({class:"cm-nonmatchingBracket"});function jl(e){let t=[],i=e.matched?Ql:zl;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}const Wl=j.define({create:()=>Yt.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[],n=t.state.facet($l);for(let e of t.state.selection.ranges){if(!e.empty)continue;let s=Yl(t.state,e.head,-1,n)||e.head>0&&Yl(t.state,e.head-1,1,n)||n.afterCursor&&(Yl(t.state,e.head,1,n)||e.headDs.decorations.from(e)}),Vl=[Wl,Ll];function Ul(e={}){return[$l.of(e),Vl]}const Fl=new ko;function Hl(e,t,i){let n=e.prop(t<0?ko.openedBy:ko.closedBy);if(n)return n;if(1==e.name.length){let n=i.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[i[n+t]]}return null}function Xl(e){let t=e.type.prop(Fl);return t?t(e.node):e}function Yl(e,t,i,n={}){let s=n.maxScanDistance||Nl,r=n.brackets||Bl,o=Da(e),a=o.resolveInner(t,i);for(let e=a;e;e=e.parent){let n=Hl(e.type,i,r);if(n&&e.from0?t>=s.from&&ts.from&&t<=s.to))return Gl(0,0,i,e,s,n,r)}}return function(e,t,i,n,s,r,o){let a=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let h={from:i<0?t-1:t,to:i>0?t+1:t},c=e.doc.iterRange(t,i>0?e.doc.length:0),d=0;for(let e=0;!c.next().done&&e<=r;){let r=c.value;i<0&&(e+=r.length);let a=t+e*i;for(let e=i>0?0:r.length-1,t=i>0?r.length:-1;e!=t;e+=i){let t=o.indexOf(r[e]);if(!(t<0||n.resolveInner(a+e,1).type!=s))if(t%2==0==i>0)d++;else{if(1==d)return{start:h,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};d--}}i>0&&(e+=r.length)}return c.done?{start:h,matched:!1}:null}(e,t,i,o,a.type,s,r)}function Gl(e,t,i,n,s,r,o){let a=n.parent,l={from:s.from,to:s.to},h=0,c=null==a?void 0:a.cursor();if(c&&(i<0?c.childBefore(n.from):c.childAfter(n.to)))do{if(i<0?c.to<=n.from:c.from>=n.to){if(0==h&&r.indexOf(c.type.name)>-1&&c.from-1||(Jl.push(e),console.warn(t))}function ih(e,t){let i=[];for(let n of t.split(" ")){let t=[];for(let i of n.split(".")){let n=e[i]||Ta[i];n?"function"==typeof n?t.length?t=t.map(n):th(i,`Modifier ${i} used at start of tag`):t.length?th(i,`Tag ${i} used as modifier`):t=Array.isArray(n)?n:[n]:th(i,`Unknown highlighting tag ${i}`)}for(let e of t)i.push(e)}if(!i.length)return 0;let n=t.replace(/ /g,"_"),s=Po.define({id:Kl.length,name:n,props:[ra({[n]:i})]});return Kl.push(s),s.id}function nh(e,t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=e(t,i);return!!s&&(n(i.update(s)),!0)}}const sh=nh(ch,0),rh=nh(hh,0),oh=nh(((e,t)=>hh(e,t,function(e){let t=[];for(let i of e.selection.ranges){let n=e.doc.lineAt(i.from),s=i.to<=n.to?n:e.doc.lineAt(i.to),r=t.length-1;r>=0&&t[r].to>n.from?t[r].to=s.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:s.to})}return t}(t))),0);function ah(e,t){let i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}const lh=50;function hh(e,t,i=t.selection.ranges){let n=i.map((e=>ah(t,e.from).block));if(!n.every((e=>e)))return null;let s=i.map(((e,i)=>function(e,{open:t,close:i},n,s){let r,o,a=e.sliceDoc(n-lh,n),l=e.sliceDoc(s,s+lh),h=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(l)[0].length,d=a.length-h;if(a.slice(d-t.length,d)==t&&l.slice(c,c+i.length)==i)return{open:{pos:n-h,margin:h&&1},close:{pos:s+c,margin:c&&1}};s-n<=2*lh?r=o=e.sliceDoc(n,s):(r=e.sliceDoc(n,n+lh),o=e.sliceDoc(s-lh,s));let u=/^\s*/.exec(r)[0].length,p=/\s*$/.exec(o)[0].length,f=o.length-p-i.length;return r.slice(u,u+t.length)==t&&o.slice(f,f+i.length)==i?{open:{pos:n+u+t.length,margin:/\s/.test(r.charAt(u+t.length))?1:0},close:{pos:s-p-i.length,margin:/\s/.test(o.charAt(f-1))?1:0}}:null}(t,n[i],e.from,e.to)));if(2!=e&&!s.every((e=>e)))return{changes:t.changes(i.map(((e,t)=>s[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}])))};if(1!=e&&s.some((e=>e))){let e=[];for(let t,i=0;is&&(e==r||r>l.from)){s=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,i=l.text.slice(e,e+a.length)==a?e:-1;ee.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:i,indent:s,empty:r,single:o}of n)!o&&r||e.push({from:t.from+s,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&n.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:i,token:s}of n)if(i>=0){let n=t.from+i,r=n+s.length;" "==t.text[r-t.from]&&r++,e.push({from:n,to:r})}return{changes:e}}return null}const dh=se.define(),uh=se.define(),ph=q.define(),fh=q.define({combine:e=>be(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,n)=>e(i,n)||t(i,n)})}),mh=j.define({create:()=>Rh.empty,update(e,t){let i=t.state.facet(fh),n=t.annotation(dh);if(n){let s=t.docChanged?R.single(function(e){let t=0;return e.iterChangedRanges(((e,i)=>t=i)),t}(t.changes)):void 0,r=wh.fromTransaction(t,s),o=n.side,a=0==o?e.undone:e.done;return a=r?xh(a,a.length,i.minDepth,r):Ch(a,t.startState.selection),new Rh(0==o?n.rest:a,0==o?a:n.rest)}let s=t.annotation(uh);if("full"!=s&&"before"!=s||(e=e.isolate()),!1===t.annotation(le.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=wh.fromTransaction(t),o=t.annotation(le.time),a=t.annotation(le.userEvent);return r?e=e.addChanges(r,o,a,i,t):t.selection&&(e=e.addSelection(t.startState.selection,o,a,i.newGroupDelay)),"full"!=s&&"after"!=s||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new Rh(e.done.map(wh.fromJSON),e.undone.map(wh.fromJSON))});function gh(e={}){return[mh,fh.of(e),Ds.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?Oh:"historyRedo"==e.inputType?bh:null;return!!i&&(e.preventDefault(),i(t))}})]}function vh(e,t){return function({state:i,dispatch:n}){if(!t&&i.readOnly)return!1;let s=i.field(mh,!1);if(!s)return!1;let r=s.pop(e,i,t);return!!r&&(n(r),!0)}}const Oh=vh(0,!1),bh=vh(1,!1),_h=vh(0,!0),yh=vh(1,!0);class wh{constructor(e,t,i,n,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new wh(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new wh(e.changes&&S.fromJSON(e.changes),[],e.mapped&&x.fromJSON(e.mapped),e.startSelection&&R.fromJSON(e.startSelection),e.selectionsAfter.map(R.fromJSON))}static fromTransaction(e,t){let i=kh;for(let t of e.startState.facet(ph)){let n=t(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new wh(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,kh)}static selection(e){return new wh(void 0,kh,void 0,void 0,e)}}function xh(e,t,i,n){let s=t+1>i+20?t-i-1:0,r=e.slice(s,t);return r.push(n),r}function Sh(e,t){return e.length?t.length?e.concat(t):e:t}const kh=[],Th=200;function Ch(e,t){if(e.length){let i=e[e.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Th));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),xh(e,e.length-1,1e9,i.setSelAfter(n)))}return[wh.selection([t])]}function Ph(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function Mh(e,t){if(!e.length)return e;let i=e.length,n=kh;for(;i;){let s=Eh(e[i-1],t,n);if(s.changes&&!s.changes.empty||s.effects.length){let t=e.slice(0,i);return t[i-1]=s,t}t=s.mapped,i--,n=s.selectionsAfter}return n.length?[wh.selection(n)]:kh}function Eh(e,t,i){let n=Sh(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):kh,i);if(!e.changes)return wh.selection(n);let s=e.changes.map(t),r=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(r):r;return new wh(s,ae.mapEffects(e.effects,t),o,e.startSelection.map(r),n)}const Ah=/^(input\.type|delete)($|\.)/;class Rh{constructor(e,t,i=0,n=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new Rh(this.done,this.undone):this}addChanges(e,t,i,n,s){let r=this.done,o=r[r.length-1];return r=o&&o.changes&&!o.changes.empty&&e.changes&&(!i||Ah.test(i))&&(!o.selectionsAfter.length&&t-this.prevTimei.push(e,t))),t.iterChangedRanges(((e,t,s,r)=>{for(let e=0;e=t&&s<=o&&(n=!0)}})),n}(o.changes,e.changes))||"input.type.compose"==i)?xh(r,r.length-1,n.minDepth,new wh(e.changes.compose(o.changes),Sh(e.effects,o.effects),o.mapped,o.startSelection,kh)):xh(r,r.length,n.minDepth,e),new Rh(r,kh,t,i)}addSelection(e,t,i,n){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:kh;return s.length>0&&t-this.prevTimee.empty!=o.ranges[t].empty)).length)?this:new Rh(Ch(this.done,e),this.undone,t,i);var r,o}addMapping(e){return new Rh(Mh(this.done,e),Mh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let n=0==e?this.done:this.undone;if(0==n.length)return null;let s=n[n.length-1];if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:dh.of({side:e,rest:Ph(n)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let i=1==n.length?kh:n.slice(0,n.length-1);return s.mapped&&(i=Mh(i,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:dh.of({side:e,rest:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Rh.empty=new Rh(kh,kh);const Dh=[{key:"Mod-z",run:Oh,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:bh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:bh,preventDefault:!0},{key:"Mod-u",run:_h,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:yh,preventDefault:!0}];function Ih(e,t){return R.create(e.ranges.map(t),e.mainIndex)}function qh(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Lh({state:e,dispatch:t},i){let n=Ih(e.selection,i);return!n.eq(e.selection)&&(t(qh(e,n)),!0)}function Nh(e,t){return R.cursor(t?e.to:e.from)}function Bh(e,t){return Lh(e,(i=>i.empty?e.moveByChar(i,t):Nh(i,t)))}function $h(e){return e.textDirectionAt(e.state.selection.main.head)==Ri.LTR}const Qh=e=>Bh(e,!$h(e)),zh=e=>Bh(e,$h(e));function jh(e,t){return Lh(e,(i=>i.empty?e.moveByGroup(i,t):Nh(i,t)))}function Wh(e,t,i){if(t.type.prop(i))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Vh(e,t,i){let n,s,r=Da(e).resolveInner(t.head),o=i?ko.closedBy:ko.openedBy;for(let n=t.head;;){let t=i?r.childAfter(n):r.childBefore(n);if(!t)break;Wh(e,t,o)?r=t:n=i?t.to:t.from}return s=r.type.prop(o)&&(n=i?Yl(e,r.from,1):Yl(e,r.to,-1))&&n.matched?i?n.end.to:n.end.from:i?r.to:r.from,R.cursor(s,i?-1:1)}function Uh(e,t){return Lh(e,(i=>{if(!i.empty)return Nh(i,t);let n=e.moveVertically(i,t);return n.head!=i.head?n:e.moveToLineBoundary(i,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const Fh=e=>Uh(e,!1),Hh=e=>Uh(e,!0);function Xh(e){let t,i=e.scrollDOM.clientHeighti.empty?e.moveVertically(i,t,n.height):Nh(i,t)));if(r.eq(s.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(s.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),a=o.top+n.marginTop,l=o.bottom-n.marginBottom;t&&t.top>a&&t.bottomYh(e,!1),Zh=e=>Yh(e,!0);function Kh(e,t,i){let n=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,i);if(s.head==t.head&&s.head!=(i?n.to:n.from)&&(s=e.moveToLineBoundary(t,i,!1)),!i&&s.head==n.from&&n.length){let i=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&t.head!=n.from+i&&(s=R.cursor(n.from+i))}return s}function Jh(e,t){let i=Ih(e.state.selection,(e=>{let i=t(e);return R.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)}));return!i.eq(e.state.selection)&&(e.dispatch(qh(e.state,i)),!0)}function ec(e,t){return Jh(e,(i=>e.moveByChar(i,t)))}const tc=e=>ec(e,!$h(e)),ic=e=>ec(e,$h(e));function nc(e,t){return Jh(e,(i=>e.moveByGroup(i,t)))}function sc(e,t){return Jh(e,(i=>e.moveVertically(i,t)))}const rc=e=>sc(e,!1),oc=e=>sc(e,!0);function ac(e,t){return Jh(e,(i=>e.moveVertically(i,t,Xh(e).height)))}const lc=e=>ac(e,!1),hc=e=>ac(e,!0),cc=({state:e,dispatch:t})=>(t(qh(e,{anchor:0})),!0),dc=({state:e,dispatch:t})=>(t(qh(e,{anchor:e.doc.length})),!0),uc=({state:e,dispatch:t})=>(t(qh(e,{anchor:e.selection.main.anchor,head:0})),!0),pc=({state:e,dispatch:t})=>(t(qh(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function fc(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:n}=e,s=n.changeByRange((n=>{let{from:s,to:r}=n;if(s==r){let o=t(n);os&&(i="delete.forward",o=mc(e,o,!0)),s=Math.min(s,o),r=Math.max(r,o)}else s=mc(e,s,!1),r=mc(e,r,!0);return s==r?{range:n}:{changes:{from:s,to:r},range:R.cursor(s,st(e))))n.between(t,t,((e,n)=>{et&&(t=i?n:e)}));return t}const gc=(e,t)=>fc(e,(i=>{let n,s,r=i.from,{state:o}=e,a=o.doc.lineAt(r);if(!t&&r>a.from&&rgc(e,!1),Oc=e=>gc(e,!0),bc=(e,t)=>fc(e,(i=>{let n=i.head,{state:s}=e,r=s.doc.lineAt(n),o=s.charCategorizer(n);for(let e=null;;){if(n==(t?r.to:r.from)){n==i.head&&r.number!=(t?s.doc.lines:1)&&(n+=t?1:-1);break}let a=p(r.text,n-r.from,t)+r.from,l=r.text.slice(Math.min(n,a)-r.from,Math.max(n,a)-r.from),h=o(l);if(null!=e&&h!=e)break;" "==l&&n==i.head||(e=h),n=a}return n})),_c=e=>bc(e,!1);function yc(e){let t=[],i=-1;for(let n of e.selection.ranges){let s=e.doc.lineAt(n.from),r=e.doc.lineAt(n.to);if(n.empty||n.to!=r.from||(r=e.doc.lineAt(n.to-1)),i>=s.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(n)}else t.push({from:s.from,to:r.to,ranges:[n]});i=r.number+1}return t}function wc(e,t,i){if(e.readOnly)return!1;let n=[],s=[];for(let t of yc(e)){if(i?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(i?t.to+1:t.from-1),o=r.length+1;if(i){n.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let i of t.ranges)s.push(R.range(Math.min(e.doc.length,i.anchor+o),Math.min(e.doc.length,i.head+o)))}else{n.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)s.push(R.range(e.anchor-o,e.head-o))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:R.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0)}function xc(e,t,i){if(e.readOnly)return!1;let n=[];for(let t of yc(e))i?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Sc=kc(!1);function kc(t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=i.changeByRange((n=>{let{from:s,to:r}=n,o=i.doc.lineAt(s),a=!t&&s==r&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,n=Da(e).resolveInner(t),s=n.childBefore(t),r=n.childAfter(t);return s&&r&&s.to<=t&&r.from>=t&&(i=s.type.prop(ko.closedBy))&&i.indexOf(r.name)>-1&&e.doc.lineAt(s.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(s.to,r.from))?{from:s.to,to:r.from}:null}(i,s);t&&(s=r=(r<=o.to?o:i.doc.lineAt(r)).to);let l=new Ya(i,{simulateBreak:s,simulateDoubleBreak:!!a}),h=Xa(l,s);for(null==h&&(h=Le(/^\s*/.exec(i.doc.lineAt(s).text)[0],i.tabSize));ro.from&&s{let s=[];for(let r=n.from;r<=n.to;){let o=e.doc.lineAt(r);o.number>i&&(n.empty||n.to>o.from)&&(t(o,s,n),i=o.number),r=o.to+1}let r=e.changes(s);return{changes:s,range:R.range(r.mapPos(n.anchor,1),r.mapPos(n.head,1))}}))}const Cc=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Lh(e,(t=>Vh(e.state,t,!$h(e)))),shift:e=>Jh(e,(t=>Vh(e.state,t,!$h(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Lh(e,(t=>Vh(e.state,t,$h(e)))),shift:e=>Jh(e,(t=>Vh(e.state,t,$h(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>wc(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>xc(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>wc(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>xc(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let i=e.selection,n=null;return i.ranges.length>1?n=R.create([i.main]):i.main.empty||(n=R.create([R.cursor(i.main.head)])),!!n&&(t(qh(e,n)),!0)}},{key:"Mod-Enter",run:kc(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let i=yc(e).map((({from:t,to:i})=>R.range(t,Math.min(i+1,e.doc.length))));return t(e.update({selection:R.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let i=Ih(e.selection,(t=>{var i;for(let n=Da(e).resolveStack(t.from,1);n;n=n.next){let{node:e}=n;if((e.from=t.to||e.to>t.to&&e.from<=t.from)&&(null===(i=e.parent)||void 0===i?void 0:i.parent))return R.range(e.to,e.from)}return t}));return t(qh(e,i)),!0},preventDefault:!0},{key:"Mod-[",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Tc(e,((t,i)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let s=Le(n,e.tabSize),r=0,o=Ha(e,Math.max(0,s-Fa(e)));for(;r!e.readOnly&&(t(e.update(Tc(e,((t,i)=>{i.push({from:t.from,insert:e.facet(Ua)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),n=new Ya(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),s=Tc(e,((t,s,r)=>{let o=Xa(n,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let a=/^\s*/.exec(t.text)[0],l=Ha(e,o);(a!=l||r.from{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(yc(t).map((({from:e,to:i})=>(e>0?e--:ie.moveVertically(t,!0))).map(i);return e.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,i){let n=!1,s=Ih(e.selection,(t=>{let s=Yl(e,t.head,-1)||Yl(e,t.head,1)||t.head>0&&Yl(e,t.head-1,1)||t.head{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),n=ah(e.state,i.from);return n.line?sh(e):!!n.block&&oh(e)}},{key:"Alt-A",run:rh}].concat([{key:"ArrowLeft",run:Qh,shift:tc,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>jh(e,!$h(e)),shift:e=>nc(e,!$h(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>Lh(e,(t=>Kh(e,t,!$h(e)))),shift:e=>Jh(e,(t=>Kh(e,t,!$h(e)))),preventDefault:!0},{key:"ArrowRight",run:zh,shift:ic,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>jh(e,$h(e)),shift:e=>nc(e,$h(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>Lh(e,(t=>Kh(e,t,$h(e)))),shift:e=>Jh(e,(t=>Kh(e,t,$h(e)))),preventDefault:!0},{key:"ArrowUp",run:Fh,shift:rc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:cc,shift:uc},{mac:"Ctrl-ArrowUp",run:Gh,shift:lc},{key:"ArrowDown",run:Hh,shift:oc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:dc,shift:pc},{mac:"Ctrl-ArrowDown",run:Zh,shift:hc},{key:"PageUp",run:Gh,shift:lc},{key:"PageDown",run:Zh,shift:hc},{key:"Home",run:e=>Lh(e,(t=>Kh(e,t,!1))),shift:e=>Jh(e,(t=>Kh(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:cc,shift:uc},{key:"End",run:e=>Lh(e,(t=>Kh(e,t,!0))),shift:e=>Jh(e,(t=>Kh(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:dc,shift:pc},{key:"Enter",run:Sc},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:vc,shift:vc},{key:"Delete",run:Oc},{key:"Mod-Backspace",mac:"Alt-Backspace",run:_c},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>bc(e,!0)},{mac:"Mod-Backspace",run:e=>fc(e,(t=>{let i=e.moveToLineBoundary(t,!1).head;return t.head>i?i:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>fc(e,(t=>{let i=e.moveToLineBoundary(t,!0).head;return t.headLh(e,(t=>R.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>Jh(e,(t=>R.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>Lh(e,(t=>R.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>Jh(e,(t=>R.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:Oc},{key:"Ctrl-h",run:vc},{key:"Ctrl-k",run:e=>fc(e,(t=>{let i=e.lineBlockAt(t.head).to;return t.head{if(t.readOnly)return!1;let n=t.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:R.cursor(t.from)})));return i(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,n=e.doc.lineAt(i),s=i==n.from?i-1:p(n.text,i-n.from,!1)+n.from,r=i==n.to?i+1:p(n.text,i-n.from,!0)+n.from;return{changes:{from:s,to:r,insert:e.doc.slice(i,r).append(e.doc.slice(s,i))},range:R.cursor(r)}}));return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Zh}].map((e=>({mac:e.key,run:e.run,shift:e.shift})))));function Pc(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var s=i[n];"string"==typeof s?e.setAttribute(n,s):null!=s&&(e[n]=s)}t++}for(;te.normalize("NFKD"):e=>e;class Ac{constructor(e,t,i=0,n=e.length,s,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=s?e=>s(Ec(e)):Ec,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return O(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=b(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=_(e);let n=this.normalize(t);for(let e=0,s=i;;e++){let r=n.charCodeAt(e),o=this.match(r,s);if(e==n.length-1){if(o)return this.value=o,this;break}s==i&&ethis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,n=i+t[0].length;if(this.matchPos=Bc(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,n,t)))return this.value={from:i,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||n.to<=t){let n=new Lc(t,e.sliceString(t,i));return qc.set(e,n),n}if(n.from==t&&n.to==i)return n;let{text:s,from:r}=n;return r>t&&(s=e.sliceString(t,r)+s,r=t),n.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,match:t},this.matchPos=Bc(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Lc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function Bc(e,t){if(t>=e.length)return t;let i,n=e.lineAt(t);for(;t=56320&&i<57344;)t++;return t}function $c(e){let t=Pc("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function i(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!i)return;let{state:n}=e,s=n.doc.lineAt(n.selection.main.head),[,r,o,a,l]=i,h=a?+a.slice(1):0,c=o?+o:s.number;if(o&&l){let e=c/100;r&&(e=e*("-"==r?-1:1)+s.number/n.doc.lines),c=Math.round(n.doc.lines*e)}else o&&r&&(c=c*("-"==r?-1:1)+s.number);let d=n.doc.line(Math.max(1,Math.min(n.doc.lines,c))),u=R.cursor(d.from+Math.max(0,Math.min(h,d.length)));e.dispatch({effects:[Qc.of(!1),Ds.scrollIntoView(u.from,{y:"center"})],selection:u}),e.focus()}return{dom:Pc("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:Qc.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),i())},onsubmit:e=>{e.preventDefault(),i()}},Pc("label",e.state.phrase("Go to line"),": ",t)," ",Pc("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(Ic.prototype[Symbol.iterator]=Nc.prototype[Symbol.iterator]=function(){return this});const Qc=ae.define(),zc=j.define({create:()=>!0,update(e,t){for(let i of t.effects)i.is(Qc)&&(e=i.value);return e},provide:e=>Kr.from(e,(e=>e?$c:null))}),jc=Ds.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),Wc={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Vc=q.define({combine:e=>be(e,Wc,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function Uc(e){let t=[Gc,Yc];return e&&t.push(Vc.of(e)),t}const Fc=Yt.mark({class:"cm-selectionMatch"}),Hc=Yt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Xc(e,t,i,n){return!(0!=i&&e(t.sliceDoc(i-1,i))==me.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==me.Word)}const Yc=bi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Vc),{state:i}=e,n=i.selection;if(n.ranges.length>1)return Yt.none;let s,r=n.main,o=null;if(r.empty){if(!t.highlightWordAroundCursor)return Yt.none;let e=i.wordAt(r.head);if(!e)return Yt.none;o=i.charCategorizer(r.head),s=i.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return Yt.none;if(t.wholeWords){if(s=i.sliceDoc(r.from,r.to),o=i.charCategorizer(r.head),!Xc(o,i,r.from,r.to)||!function(e,t,i,n){return e(t.sliceDoc(i,i+1))==me.Word&&e(t.sliceDoc(n-1,n))==me.Word}(o,i,r.from,r.to))return Yt.none}else if(s=i.sliceDoc(r.from,r.to).trim(),!s)return Yt.none}let a=[];for(let n of e.visibleRanges){let e=new Ac(i.doc,s,n.from,n.to);for(;!e.next().done;){let{from:n,to:s}=e.value;if((!o||Xc(o,i,n,s))&&(r.empty&&n<=r.from&&s>=r.to?a.push(Hc.range(n,s)):(n>=r.to||s<=r.from)&&a.push(Fc.range(n,s)),a.length>t.maxMatches))return Yt.none}}return Yt.set(a)}},{decorations:e=>e.decorations}),Gc=Ds.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Zc=q.define({combine:e=>be(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Td(e),scrollToMatch:e=>Ds.scrollIntoView(e)})});class Kc{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,Dc),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,((e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"))}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new rd(this):new td(this)}getCursor(e,t=0,i){let n=e.doc?e:Oe.create({doc:e});return null==i&&(i=n.doc.length),this.regexp?id(this,n,t,i):ed(this,n,t,i)}}class Jc{constructor(e){this.spec=e}}function ed(e,t,i,n){return new Ac(t.doc,e.unquoted,i,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(i,n,s,r)=>((r>i||r+s.length=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=ed(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function id(e,t,i,n){return new Ic(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(s=t.charCategorizer(t.selection.main.head),(e,t,i)=>!i[0].length||(s(nd(i.input,i.index))!=me.Word||s(sd(i.input,i.index))!=me.Word)&&(s(sd(i.input,i.index+i[0].length))!=me.Word||s(nd(i.input,i.index+i[0].length))!=me.Word)):void 0},i,n);var s}function nd(e,t){return e.slice(p(e,t,!1),t)}function sd(e,t){return e.slice(t,p(e,t))}class rd extends Jc{nextMatch(e,t,i){let n=id(this.spec,e,i,e.doc.length).next();return n.done&&(n=id(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let s=Math.max(t,i-1e4*n),r=id(this.spec,e,s,i),o=null;for(;!r.next().done;)o=r.value;if(o&&(s==t||o.from>s+10))return o;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,((t,i)=>"$"==i?"$":"&"==i?e.match[0]:"0"!=i&&+i=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=id(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const od=ae.define(),ad=ae.define(),ld=j.define({create:e=>new hd(_d(e).create(),null),update(e,t){for(let i of t.effects)i.is(od)?e=new hd(i.value.create(),e.panel):i.is(ad)&&(e=new hd(e.query,i.value?bd:null));return e},provide:e=>Kr.from(e,(e=>e.panel))});class hd{constructor(e,t){this.query=e,this.panel=t}}const cd=Yt.mark({class:"cm-searchMatch"}),dd=Yt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),ud=bi.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(ld))}update(e){let t=e.state.field(ld);(t!=e.startState.field(ld)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Yt.none;let{view:i}=this,n=new ke;for(let t=0,s=i.visibleRanges,r=s.length;ts[t+1].from-500;)a=s[++t].to;e.highlight(i.state,o,a,((e,t)=>{let s=i.state.selection.ranges.some((i=>i.from==e&&i.to==t));n.add(e,t,s?dd:cd)}))}return n.finish()}},{decorations:e=>e.decorations});function pd(e){return t=>{let i=t.state.field(ld,!1);return i&&i.query.spec.valid?e(t,i):xd(t)}}const fd=pd(((e,{query:t})=>{let{to:i}=e.state.selection.main,n=t.nextMatch(e.state,i,i);if(!n)return!1;let s=R.single(n.from,n.to),r=e.state.facet(Zc);return e.dispatch({selection:s,effects:[Ed(e,n),r.scrollToMatch(s.main,e)],userEvent:"select.search"}),wd(e),!0})),md=pd(((e,{query:t})=>{let{state:i}=e,{from:n}=i.selection.main,s=t.prevMatch(i,n,n);if(!s)return!1;let r=R.single(s.from,s.to),o=e.state.facet(Zc);return e.dispatch({selection:r,effects:[Ed(e,s),o.scrollToMatch(r.main,e)],userEvent:"select.search"}),wd(e),!0})),gd=pd(((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length||(e.dispatch({selection:R.create(i.map((e=>R.range(e.from,e.to)))),userEvent:"select.search.matches"}),0))})),vd=pd(((e,{query:t})=>{let{state:i}=e,{from:n,to:s}=i.selection.main;if(i.readOnly)return!1;let r=t.nextMatch(i,n,n);if(!r)return!1;let o,a,l=[],h=[];if(r.from==n&&r.to==s&&(a=i.toText(t.getReplacement(r)),l.push({from:r.from,to:r.to,insert:a}),r=t.nextMatch(i,r.from,r.to),h.push(Ds.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+"."))),r){let t=0==l.length||l[0].from>=r.to?0:r.to-r.from-a.length;o=R.single(r.from-t,r.to-t),h.push(Ed(e,r)),h.push(i.facet(Zc).scrollToMatch(o.main,e))}return e.dispatch({changes:l,selection:o,effects:h,userEvent:"input.replace"}),!0})),Od=pd(((e,{query:t})=>{if(e.state.readOnly)return!1;let i=t.matchAll(e.state,1e9).map((e=>{let{from:i,to:n}=e;return{from:i,to:n,insert:t.getReplacement(e)}}));if(!i.length)return!1;let n=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:Ds.announce.of(n),userEvent:"input.replace.all"}),!0}));function bd(e){return e.state.facet(Zc).createPanel(e)}function _d(e,t){var i,n,s,r,o;let a=e.selection.main,l=a.empty||a.to>a.from+100?"":e.sliceDoc(a.from,a.to);if(t&&!l)return t;let h=e.facet(Zc);return new Kc({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:h.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:h.caseSensitive,literal:null!==(s=null==t?void 0:t.literal)&&void 0!==s?s:h.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:h.regexp,wholeWord:null!==(o=null==t?void 0:t.wholeWord)&&void 0!==o?o:h.wholeWord})}function yd(e){let t=Xr(e,bd);return t&&t.dom.querySelector("[main-field]")}function wd(e){let t=yd(e);t&&t==e.root.activeElement&&t.select()}const xd=e=>{let t=e.state.field(ld,!1);if(t&&t.panel){let i=yd(e);if(i&&i!=e.root.activeElement){let n=_d(e.state,t.query.spec);n.valid&&e.dispatch({effects:od.of(n)}),i.focus(),i.select()}}else e.dispatch({effects:[ad.of(!0),t?od.of(_d(e.state,t.query.spec)):ae.appendConfig.of(Rd)]});return!0},Sd=e=>{let t=e.state.field(ld,!1);if(!t||!t.panel)return!1;let i=Xr(e,bd);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:ad.of(!1)}),!0},kd=[{key:"Mod-f",run:xd,scope:"editor search-panel"},{key:"F3",run:fd,shift:md,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:fd,shift:md,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Sd,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let i=e.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:s}=i.main,r=[],o=0;for(let t=new Ac(e.doc,e.sliceDoc(n,s));!t.next().done;){if(r.length>1e3)return!1;t.value.from==n&&(o=r.length),r.push(R.range(t.value.from,t.value.to))}return t(e.update({selection:R.create(r,o),userEvent:"select.search.matches"})),!0}},{key:"Alt-g",run:e=>{let t=Xr(e,$c);if(!t){let i=[Qc.of(!0)];null==e.state.field(zc,!1)&&i.push(ae.appendConfig.of([zc,jc])),e.dispatch({effects:i}),t=Xr(e,$c)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some((e=>e.from===e.to)))return(({state:e,dispatch:t})=>{let{selection:i}=e,n=R.create(i.ranges.map((t=>e.wordAt(t.head)||R.cursor(t.head))),i.mainIndex);return!n.eq(i)&&(t(e.update({selection:n})),!0)})({state:e,dispatch:t});let n=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some((t=>e.sliceDoc(t.from,t.to)!=n)))return!1;let s=function(e,t){let{main:i,ranges:n}=e.selection,s=e.wordAt(i.head),r=s&&s.from==i.from&&s.to==i.to;for(let i=!1,s=new Ac(e.doc,t,n[n.length-1].to);;){if(s.next(),!s.done){if(i&&n.some((e=>e.from==s.value.from)))continue;if(r){let t=e.wordAt(s.value.from);if(!t||t.from!=s.value.from||t.to!=s.value.to)continue}return s.value}if(i)return null;s=new Ac(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),i=!0}}(e,n);return!!s&&(t(e.update({selection:e.selection.addRange(R.range(s.from,s.to),!1),effects:Ds.scrollIntoView(s.to)})),!0)},preventDefault:!0}];class Td{constructor(e){this.view=e;let t=this.query=e.state.field(ld).query.spec;function i(e,t,i){return Pc("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=Pc("input",{value:t.search,placeholder:Cd(e,"Find"),"aria-label":Cd(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Pc("input",{value:t.replace,placeholder:Cd(e,"Replace"),"aria-label":Cd(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Pc("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Pc("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Pc("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=Pc("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",(()=>fd(e)),[Cd(e,"next")]),i("prev",(()=>md(e)),[Cd(e,"previous")]),i("select",(()=>gd(e)),[Cd(e,"all")]),Pc("label",null,[this.caseField,Cd(e,"match case")]),Pc("label",null,[this.reField,Cd(e,"regexp")]),Pc("label",null,[this.wordField,Cd(e,"by word")]),...e.state.readOnly?[]:[Pc("br"),this.replaceField,i("replace",(()=>vd(e)),[Cd(e,"replace")]),i("replaceAll",(()=>Od(e)),[Cd(e,"replace all")])],Pc("button",{name:"close",onclick:()=>Sd(e),"aria-label":Cd(e,"close"),type:"button"},["×"])])}commit(){let e=new Kc({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:od.of(e)}))}keydown(e){var t,i;i=e,Fs(Ws((t=this.view).state),i,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?md:fd)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),vd(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(od)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Zc).top}}function Cd(e,t){return e.state.phrase(t)}const Pd=30,Md=/[\s\.,:;?!]/;function Ed(e,{from:t,to:i}){let n=e.state.doc.lineAt(t),s=e.state.doc.lineAt(i).to,r=Math.max(n.from,t-Pd),o=Math.min(s,i+Pd),a=e.state.sliceDoc(r,o);if(r!=n.from)for(let e=0;ea.length-Pd;e--)if(!Md.test(a[e-1])&&Md.test(a[e])){a=a.slice(0,e);break}return Ds.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${n.number}.`)}const Ad=Ds.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Rd=[ld,V.low(ud),Ad];class Dd{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=Da(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),n=t.text.slice(i-t.from,this.pos-t.from),s=n.search($d(e,!1));return s<0?null:{from:i+s,to:this.pos,text:n.slice(s)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function Id(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function qd(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[i,n]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),i=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e{let s=e.matchBefore(n);return s||e.explicit?{from:s?s.from:e.pos,options:t,validFor:i}:null}}function Ld(e,t){return i=>{for(let t=Da(i.state).resolveInner(i.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(i)}}class Nd{constructor(e,t,i,n){this.completion=e,this.source=t,this.match=i,this.score=n}}function Bd(e){return e.selection.main.from}function $d(e,t){var i;let{source:n}=e,s=t&&"^"!=n[0],r="$"!=n[n.length-1];return s||r?new RegExp(`${s?"^":""}(?:${n})${r?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const Qd=se.define(),zd=new WeakMap;function jd(e){if(!Array.isArray(e))return e;let t=zd.get(e);return t||zd.set(e,t=qd(e)),t}const Wd=ae.define(),Vd=ae.define();class Ud{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=b(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!n||1==w&&m||0==v&&0!=w)&&(t[c]==l||i[c]==l&&(d=!0)?r[c++]=n:r.length&&(g=!1)),v=w,n+=_(l)}return c==a&&0==r[0]&&g?this.result((d?-200:0)-100,r,e):u==a&&0==p?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):u==a?this.ret(-900-e.length,[p,f]):c==a?this.result((d?-200:0)-100-700+(g?0:-1100),r,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,i){let n=[],s=0;for(let e of t){let t=e+(this.astral?_(O(i,e)):1);s&&n[s-1]==e?n[s-1]=t:(n[s++]=e,n[s++]=t)}return this.ret(e-i.length,n)}}const Fd=q.define({combine:e=>be(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Xd,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>Hd(e(i),t(i)),optionClass:(e,t)=>i=>Hd(e(i),t(i)),addToOptions:(e,t)=>e.concat(t)})});function Hd(e,t){return e?t?e+" "+t:e:t}function Xd(e,t,i,n,s,r){let o,a,l=e.textDirection==Ri.RTL,h=l,c=!1,d="top",u=t.left-s.left,p=s.right-t.right,f=n.right-n.left,m=n.bottom-n.top;if(h&&u=m||e>t.top?o=i.bottom-t.top:(d="bottom",o=t.bottom-i.top)}return{style:`${d}: ${o/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${a/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(c?l?"left-narrow":"right-narrow":h?"left":"right")}}function Yd(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let n=Math.floor((e-t)/i);return{from:e-(n+1)*i,to:e-n*i}}class Gd{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:s,selected:r}=n.open,o=e.state.facet(Fd);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i){let n=document.createElement("span");n.className="cm-completionLabel";let s=e.displayLabel||e.label,r=0;for(let e=0;er&&n.appendChild(document.createTextNode(s.slice(r,t)));let a=n.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(s.slice(t,o))),a.className="cm-completionMatchedText",r=o}return re.position-t.position)).map((e=>e.render))}(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=Yd(s.length,r,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(i=>{let{options:n}=e.state.field(t).open;for(let t,s=i.target;s&&s!=this.dom;s=s.parentNode)if("LI"==s.nodeName&&(t=/-(\d+)$/.exec(s.id))&&+t[1]{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(Fd).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Vd.of(null)})})),this.showOptions(s,n.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(e){var t;let i=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=n){let{options:s,selected:r,disabled:o}=i.open;n.open&&n.open.options==s||(this.range=Yd(s.length,r,e.state.facet(Fd).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=(null===(t=n.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Yd(t.options.length,t.selected,this.view.state.facet(Fd).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:n}=i;if(!n)return;let s="string"==typeof n?document.createTextNode(n):n(i);if(!s)return;"then"in s?s.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,i)})).catch((e=>mi(this.view.state,e,"completion info"))):this.addInfoPane(s,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",null!=e.nodeType)i.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;i.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)"LI"==i.nodeName&&i.id?n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):n--;return t&&function(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect(),s=i.height/e.offsetHeight;n.topi.bottom&&(e.scrollTop+=(n.bottom-i.bottom)/s)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),s=this.space;if(!s){let e=this.dom.ownerDocument.defaultView||window;s={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(s.bottom,t.bottom)-10||n.bottomi.from||0==i.from)&&(s=e,"string"!=typeof l&&l.header?n.appendChild(l.header(l)):n.appendChild(document.createElement("completion-section")).textContent=e)}const h=n.appendChild(document.createElement("li"));h.id=t+"-"+r,h.setAttribute("role","option");let c=this.optionClass(o);c&&(h.className=c);for(let e of this.optionContent){let t=e(o,this.view.state,a);t&&h.appendChild(t)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.tonew Gd(i,e,t)}function Kd(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Jd{constructor(e,t,i,n,s,r){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=n,this.selected=s,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Jd(this.options,iu(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,n,s){let r=function(e,t){let i=[],n=null,s=e=>{i.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some((t=>t.name==e))||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)s(new Nd(t,n.source,e?e(t):[],1e9-i.length));else{let i=new Ud(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(i.match(t.label)){let r=t.displayLabel?e?e(t,i.matched):[]:i.matched;s(new Nd(t,n.source,r,i.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,s=(e,t)=>{var i,n;return(null!==(i=e.rank)&&void 0!==i?i:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.namet.score-e.score||a(e.completion,t.completion)))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?r.push(e):Kd(e.completion)>Kd(o)&&(r[r.length-1]=e),o=e.completion}return r}(e,t);if(!r.length)return n&&e.some((e=>1==e.state))?new Jd(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let o=t.facet(Fd).selectOnOpen?0:-1;if(n&&n.selected!=o&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e),1e8),create:du,above:s.aboveCursor},n?n.timestamp:Date.now(),o,!1)}map(e){return new Jd(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class eu{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new eu(nu,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Fd),n=(i.override||t.languageDataAt("autocomplete",Bd(t)).map(jd)).map((t=>(this.active.find((e=>e.source==t))||new ru(t,this.active.some((e=>0!=e.state))?1:0)).update(e,i)));n.length==this.active.length&&n.every(((e,t)=>e==this.active[t]))&&(n=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let i=0,n=0;;){for(;i1==e.state))&&(s=null),!s&&n.every((e=>1!=e.state))&&n.some((e=>e.hasResult()))&&(n=n.map((e=>e.hasResult()?new ru(e.source,0):e)));for(let t of e.effects)t.is(lu)&&(s=s&&s.setSelected(t.value,this.id));return n==this.active&&s==this.open?this:new eu(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:tu}}const tu={"aria-autocomplete":"list"};function iu(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const nu=[];function su(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class ru{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=su(e),n=this;i?n=n.handleUserEvent(e,i,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new ru(n.source,0));for(let t of e.effects)if(t.is(Wd))n=new ru(n.source,1,t.value?Bd(e.state):-1);else if(t.is(Vd))n=new ru(n.source,0);else if(t.is(au))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,i){return"delete"!=t&&i.activateOnTyping?new ru(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(Bd(e.startState))?new ru(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new ru(this.source,this.state,e.mapPos(this.explicitPos))}}class ou extends ru{constructor(e,t,i,n,s){super(e,2,t),this.result=i,this.from=n,this.to=s}hasResult(){return!0}handleUserEvent(e,t,i){var n;let s=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),o=Bd(e.state);if((this.explicitPos<0?o<=s:or||"delete"==t&&Bd(e.startState)==this.from)return new ru(this.source,"input"==t&&i.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,i,n){if(!e)return!1;let s=t.sliceDoc(i,n);return"function"==typeof e?e(s,i,n,t):$d(e,!0).test(s)}(this.result.validFor,e.state,s,r)?new ou(this.source,l,this.result,s,r):this.result.update&&(a=this.result.update(this.result,s,r,new Dd(e.state,o,l>=0)))?new ou(this.source,l,a,a.from,null!==(n=a.to)&&void 0!==n?n:Bd(e.state)):new ru(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new ru(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new ou(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const au=ae.define({map:(e,t)=>e.map((e=>e.map(t)))}),lu=ae.define(),hu=j.define({create:()=>eu.start(),update:(e,t)=>e.update(t),provide:e=>[Br.from(e,(e=>e.tooltip)),Ds.contentAttributes.from(e,(e=>e.attrs))]});function cu(e,t){const i=t.completion.apply||t.completion.label;let n=e.state.field(hu).active.find((e=>e.source==t.source));return n instanceof ou&&("string"==typeof i?e.dispatch(Object.assign(Object.assign({},function(e,t,i,n){let{main:s}=e.selection,r=i-s.from,o=n-s.from;return Object.assign(Object.assign({},e.changeByRange((a=>a!=s&&i!=n&&e.sliceDoc(a.from+r,a.from+o)!=e.sliceDoc(i,n)?{range:a}:{changes:{from:a.from+r,to:n==s.from?a.to:a.from+o,insert:t},range:R.cursor(a.from+r+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,i,n.from,n.to)),{annotations:Qd.of(t.completion)})):i(e,t.completion,n.from,n.to),!0)}const du=Zd(hu,cu);function uu(e,t="option"){return i=>{let n=i.state.field(hu,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp-1?n.open.selected+r*(e?1:-1):e?0:o-1;return a<0?a="page"==t?0:o-1:a>=o&&(a="page"==t?o-1:0),i.dispatch({effects:lu.of(a)}),!0}}class pu{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const fu=bi.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(hu).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(hu);if(!e.selectionSet&&!e.docChanged&&e.startState.field(hu)==t)return;let i=e.transactions.some((e=>(e.selection||e.docChanged)&&!su(e)));for(let t=0;t50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){mi(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let t of e.transactions)"input"==su(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(hu);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,i=Bd(t),n=new Dd(t,i,e.explicitPos==i),s=new pu(e,n);this.running.push(s),Promise.resolve(e.source(n)).then((e=>{s.context.aborted||(s.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:Vd.of(null)}),mi(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(Fd).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(Fd);for(let n=0;ne.source==s.active.source));if(r&&1==r.state)if(null==s.done){let e=new ru(s.active.source,0);for(let t of s.updates)e=e.update(t,i);1!=e.state&&t.push(e)}else this.startQuery(r)}t.length&&this.view.dispatch({effects:au.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(hu,!1);if(t&&t.tooltip&&this.view.state.facet(Fd).closeOnBlur){let i=t.open&&Ur(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||this.view.dispatch({effects:Vd.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:Wd.of(!1)})),20),this.composing=0}}}),mu=Ds.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class gu{constructor(e,t,i,n){this.field=e,this.line=t,this.from=i,this.to=n}}class vu{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,w.TrackDel),i=e.mapPos(this.to,1,w.TrackDel);return null==t||null==i?null:new vu(this.field,t,i)}}class Ou{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],n=[t],s=e.doc.lineAt(t),r=/^\s*/.exec(s.text)[0];for(let s of this.lines){if(i.length){let i=r,o=/^\t*/.exec(s)[0].length;for(let t=0;tnew vu(e.field,n[e.line]+e.from,n[e.line]+e.to)));return{text:i,ranges:o}}static parse(e){let t,i=[],n=[],s=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(r);){let e=t[1]?+t[1]:null,o=t[2]||t[3]||"",a=-1;for(let t=0;t=a&&e.field++}s.push(new gu(a,n.length,t.index,t.index+o.length)),r=r.slice(0,t.index)+o+r.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(r);){r=r.slice(0,e.index)+e[1]+r.slice(e.index+e[0].length);for(let t of s)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(r)}return new Ou(n,s)}}let bu=Yt.widget({widget:new class extends Ht{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),_u=Yt.mark({class:"cm-snippetField"});class yu{constructor(e,t){this.ranges=e,this.active=t,this.deco=Yt.set(e.map((e=>(e.from==e.to?bu:_u).range(e.from,e.to))))}map(e){let t=[];for(let i of this.ranges){let n=i.map(e);if(!n)return null;t.push(n)}return new yu(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const wu=ae.define({map:(e,t)=>e&&e.map(t)}),xu=ae.define(),Su=j.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(wu))return i.value;if(i.is(xu)&&e)return new yu(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>Ds.decorations.from(e,(e=>e?e.deco:Yt.none))});function ku(e,t){return R.create(e.filter((e=>e.field==t)).map((e=>R.range(e.from,e.to))))}function Tu(t){let i=Ou.parse(t);return(t,n,s,r)=>{let{text:o,ranges:a}=i.instantiate(t.state,s),l={changes:{from:s,to:r,insert:e.of(o)},scrollIntoView:!0,annotations:n?Qd.of(n):void 0};if(a.length&&(l.selection=ku(a,0)),a.length>1){let e=new yu(a,0),i=l.effects=[wu.of(e)];void 0===t.state.field(Su,!1)&&i.push(ae.appendConfig.of([Su,Eu,Ru,mu]))}t.dispatch(t.state.update(l))}}function Cu(e){return({state:t,dispatch:i})=>{let n=t.field(Su,!1);if(!n||e<0&&0==n.active)return!1;let s=n.active+e,r=e>0&&!n.ranges.some((t=>t.field==s+e));return i(t.update({selection:ku(n.ranges,s),effects:wu.of(r?null:new yu(n.ranges,s)),scrollIntoView:!0})),!0}}const Pu=[{key:"Tab",run:Cu(1),shift:Cu(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(Su,!1)&&(t(e.update({effects:wu.of(null)})),!0)}],Mu=q.define({combine:e=>e.length?e[0]:Pu}),Eu=V.highest(zs.compute([Mu],(e=>e.facet(Mu))));function Au(e,t){return Object.assign(Object.assign({},t),{apply:Tu(e)})}const Ru=Ds.domEventHandlers({mousedown(e,t){let i,n=t.state.field(Su,!1);if(!n||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let s=n.ranges.find((e=>e.from<=i&&e.to>=i));return!(!s||s.field==n.active||(t.dispatch({selection:ku(n.ranges,s.field),effects:wu.of(n.ranges.some((e=>e.field>s.field))?new yu(n.ranges,s.field):null),scrollIntoView:!0}),0))}}),Du={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Iu=ae.define({map(e,t){let i=t.mapPos(e,-1,w.TrackAfter);return null==i?void 0:i}}),qu=new class extends _e{};qu.startSide=1,qu.endSide=-1;const Lu=j.define({create:()=>Se.empty,update(e,t){if(t.selection){let i=t.state.doc.lineAt(t.selection.main.head).from,n=t.startState.doc.lineAt(t.startState.selection.main.head).from;i!=t.changes.mapPos(n,-1)&&(e=Se.empty)}e=e.map(t.changes);for(let i of t.effects)i.is(Iu)&&(e=e.update({add:[qu.range(i.value,i.value+1)]}));return e}}),Nu="()[]{}<>";function Bu(e){for(let t=0;t<8;t+=2)if(Nu.charCodeAt(t)==e)return Nu.charAt(t+1);return b(e<128?e:e+1)}function $u(e,t){return e.languageDataAt("closeBrackets",t)[0]||Du}const Qu="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),zu=Ds.inputHandler.of(((e,t,i,n)=>{if((Qu?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let s=e.state.selection.main;if(n.length>2||2==n.length&&1==_(O(n,0))||t!=s.from||i!=s.to)return!1;let r=function(e,t){let i=$u(e,e.selection.main.head),n=i.brackets||Du.brackets;for(let s of n){let r=Bu(O(s,0));if(t==s)return r==s?Hu(e,s,n.indexOf(s+s+s)>-1,i):Uu(e,s,r,i.before||Du.before);if(t==r&&Wu(e,e.selection.main.from))return Fu(e,0,r)}return null}(e.state,n);return!!r&&(e.dispatch(r),!0)})),ju=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=$u(e,e.selection.main.head).brackets||Du.brackets,n=null,s=e.changeByRange((t=>{if(t.empty){let n=function(e,t){let i=e.sliceString(t-2,t);return _(O(i,0))==i.length?i:i.slice(1)}(e.doc,t.head);for(let s of i)if(s==n&&Vu(e.doc,t.head)==Bu(O(s,0)))return{changes:{from:t.head-s.length,to:t.head+s.length},range:R.cursor(t.head-s.length)}}return{range:n=t}}));return n||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function Wu(e,t){let i=!1;return e.field(Lu).between(0,e.doc.length,(e=>{e==t&&(i=!0)})),i}function Vu(e,t){let i=e.sliceString(t,t+2);return i.slice(0,_(O(i,0)))}function Uu(e,t,i,n){let s=null,r=e.changeByRange((r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:i,from:r.to}],effects:Iu.of(r.to+t.length),range:R.range(r.anchor+t.length,r.head+t.length)};let o=Vu(e.doc,r.head);return!o||/\s/.test(o)||n.indexOf(o)>-1?{changes:{insert:t+i,from:r.head},effects:Iu.of(r.head+t.length),range:R.cursor(r.head+t.length)}:{range:s=r}}));return s?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function Fu(e,t,i){let n=null,s=e.changeByRange((t=>t.empty&&Vu(e.doc,t.head)==i?{changes:{from:t.head,to:t.head+i.length,insert:i},range:R.cursor(t.head+i.length)}:n={range:t}));return n?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Hu(e,t,i,n){let s=n.stringPrefixes||Du.stringPrefixes,r=null,o=e.changeByRange((n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:Iu.of(n.to+t.length),range:R.range(n.anchor+t.length,n.head+t.length)};let o,a=n.head,l=Vu(e.doc,a);if(l==t){if(Xu(e,a))return{changes:{insert:t+t,from:a},effects:Iu.of(a+t.length),range:R.cursor(a+t.length)};if(Wu(e,a)){let n=i&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+n.length,insert:n},range:R.cursor(a+n.length)}}}else{if(i&&e.sliceDoc(a-2*t.length,a)==t+t&&(o=Yu(e,a-2*t.length,s))>-1&&Xu(e,o))return{changes:{insert:t+t+t+t,from:a},effects:Iu.of(a+t.length),range:R.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=me.Word&&Yu(e,a,s)>-1&&!function(e,t,i,n){let s=Da(e).resolveInner(t,-1),r=n.reduce(((e,t)=>Math.max(e,t.length)),0);for(let o=0;o<5;o++){let o=e.sliceDoc(s.from,Math.min(s.to,s.from+i.length+r)),a=o.indexOf(i);if(!a||a>-1&&n.indexOf(o.slice(0,a))>-1){let t=s.firstChild;for(;t&&t.from==s.from&&t.to-t.from>i.length+a;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let l=s.to==t&&s.parent;if(!l)break;s=l}return!1}(e,a,t,s))return{changes:{insert:t+t,from:a},effects:Iu.of(a+t.length),range:R.cursor(a+t.length)}}return{range:r=n}}));return r?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Xu(e,t){let i=Da(e).resolveInner(t+1);return i.parent&&i.from==t}function Yu(e,t,i){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=me.Word)return t;for(let s of i){let i=t-s.length;if(e.sliceDoc(i,t)==s&&n(e.sliceDoc(i-1,i))!=me.Word)return i}return-1}function Gu(e={}){return[hu,Fd.of(e),fu,Ku,mu]}const Zu=[{key:"Ctrl-Space",run:e=>!!e.state.field(hu,!1)&&(e.dispatch({effects:Wd.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(hu,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:Vd.of(null)}),0))}},{key:"ArrowDown",run:uu(!0)},{key:"ArrowUp",run:uu(!1)},{key:"PageDown",run:uu(!0,"page")},{key:"PageUp",run:uu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(hu,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(Fd).defaultKeymap?[Zu]:[])));class Ju{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class ep{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let n=e,s=i.facet(dp).markerFilter;s&&(n=s(n));let r=Yt.set(n.map((e=>e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from?Yt.widget({widget:new fp(e),diagnostic:e}).range(e.from):Yt.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new ep(r,t,tp(r))}}function tp(e,t=null,i=0){let n=null;return e.between(i,1e9,((e,i,{spec:s})=>{if(!t||s.diagnostic==t)return n=new Ju(e,i,s.diagnostic),!1})),n}const ip=ae.define(),np=ae.define(),sp=ae.define(),rp=j.define({create:()=>new ep(Yt.none,null,null),update(e,t){if(t.docChanged){let i=e.diagnostics.map(t.changes),n=null;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);n=tp(i,e.selected.diagnostic,s)||tp(i,null,s)}e=new ep(i,e.panel,n)}for(let i of t.effects)i.is(ip)?e=ep.init(i.value,e.panel,t.state):i.is(np)?e=new ep(e.diagnostics,i.value?gp.open:null,e.selected):i.is(sp)&&(e=new ep(e.diagnostics,e.panel,i.value));return e},provide:e=>[Kr.from(e,(e=>e.panel)),Ds.decorations.from(e,(e=>e.diagnostics))]}),op=Yt.mark({class:"cm-lintRange cm-lintRange-active"});function ap(e,t,i){let{diagnostics:n}=e.state.field(rp),s=[],r=2e8,o=0;n.between(t-(i<0?1:0),t+(i>0?1:0),((e,n,{spec:a})=>{t>=e&&t<=n&&(e==n||(t>e||i>0)&&(t({dom:lp(e,s)})}:null}function lp(e,t){return Pc("ul",{class:"cm-tooltip-lint"},t.map((t=>pp(e,t,!1))))}const hp=e=>{let t=e.state.field(rp,!1);return!(!t||!t.panel||(e.dispatch({effects:np.of(!1)}),0))},cp=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(rp,!1);var i,n;t&&t.panel||e.dispatch({effects:(i=e.state,n=[np.of(!0)],i.field(rp,!1)?n:n.concat(ae.appendConfig.of(bp)))});let s=Xr(e,gp.open);return s&&s.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(rp,!1);if(!t)return!1;let i=e.state.selection.main,n=t.diagnostics.iter(i.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==i.from&&n.to==i.to)||(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),0))}}],dp=q.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},be(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))});function up(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;ee.toLowerCase()==n.toLowerCase()))){t.push(n);continue e}}t.push("")}return t}function pp(e,t,i){var n;let s=i?up(t.actions):[];return Pc("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Pc("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map(((i,n)=>{let r=!1,o=n=>{if(n.preventDefault(),r)return;r=!0;let s=tp(e.state.field(rp).diagnostics,t);s&&i.apply(e,s.from,s.to)},{name:a}=i,l=s[n]?a.indexOf(s[n]):-1,h=l<0?a:[a.slice(0,l),Pc("u",a.slice(l,l+1)),a.slice(l+1)];return Pc("button",{type:"button",class:"cm-diagnosticAction",onclick:o,onmousedown:o,"aria-label":` Action: ${a}${l<0?"":` (access key "${s[n]})"`}.`},h)})),t.source&&Pc("div",{class:"cm-diagnosticSource"},t.source))}class fp extends Ht{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return Pc("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class mp{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=pp(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class gp{constructor(e){this.view=e,this.items=[],this.list=Pc("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)hp(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],n=up(i.actions);for(let s=0;s{for(let t=0;thp(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(rp).selected;if(!e)return-1;for(let t=0;t{let a,l=-1;for(let e=i;ei&&(this.items.splice(i,l-i),n=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),s=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),i++}));i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let i=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/i)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=tp(this.view.state.field(rp).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:sp.of(t)})}static open(e){return new gp(e)}}function vp(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}(``,'width="6" height="3"')}const Op=Ds.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:vp("#d11")},".cm-lintRange-warning":{backgroundImage:vp("orange")},".cm-lintRange-info":{backgroundImage:vp("#999")},".cm-lintRange-hint":{backgroundImage:vp("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),bp=[rp,Ds.decorations.compute([rp],(e=>{let{selected:t,panel:i}=e.field(rp);return t&&i&&t.from!=t.to?Yt.set([op.range(t.from,t.to)]):Yt.none})),Vr(ap,{hideOn:function(e,t){let i=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(ip)))&&!e.changes.touchesRange(i.from,i.to))}}),Op],_p=(()=>[Oo(),yo,Or(),gh(),Tl(),tr(),[hr,cr],Oe.allowMultipleSelections.of(!0),Oe.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:n}=e.newSelection.main,s=i.lineAt(n);if(n>s.from+200)return e;let r=i.sliceString(s.from,n);if(!t.some((e=>e.test(r))))return e;let{state:o}=e,a=-1,l=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==a)continue;a=t.from;let i=Xa(o,t.from);if(null==i)continue;let n=/^\s*/.exec(t.text)[0],s=Ha(o,i);n!=s&&l.push({from:t.from,to:t.from+n.length,insert:s})}return l.length?[e,{changes:l,sequential:!0}]:e})),Rl(ql,{fallback:!0}),Ul(),[zu,Lu],Gu(),Tr(),Mr(),xr,Uc(),zs.of([...ju,...Cc,...kd,...Dh,...vl,...Zu,...cp])])();class yp{constructor(e,t,i,n,s,r,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=i,this.reducePos=n,this.pos=s,this.score=r,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let n=e.parser.context;return new yp(e,[],t,i,i,0,[],0,n?new wp(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,n=65535&e,{parser:s}=this.p,r=s.dynamicPrecedence(n);if(r&&(this.score+=r),0==i)return this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(n,a)}storeNode(e,t,i,n=4,s=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==i)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=i)}}if(s&&this.pos!=i){let s=this.buffer.length;if(s>0&&0!=this.buffer[s-4])for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,n>4&&(n-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=n}else this.buffer.push(e,t,i,n)}shift(e,t,i,n){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let s=e,{parser:r}=this.p;(n>this.pos||t<=r.maxNode)&&(this.pos=n,r.stateFlag(s,1)||(this.reducePos=n)),this.pushState(s,i),this.shiftContext(t,i),t<=r.maxNode&&this.buffer.push(t,i,n,4)}else this.pos=n,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,n,4)}apply(e,t,i,n){65536&e?this.reduce(e):this.shift(e,t,i,n)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new yp(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new xp(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let n,s=0;s1&t&&e==n))||i.push(t[e],n)}t=i}let i=[];for(let e=0;e>19,n=65535&t,s=this.stack.length-3*i;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(n,s)=>{if(!t.includes(n))return t.push(n),e.allActions(n,(t=>{if(393216&t);else if(65536&t){let i=(t>>19)-s;if(i>1){let n=65535&t,s=this.stack.length-3*i;if(s>=0&&e.getGoto(this.stack[s],n,!1)>=0)return i<<19|65536|n}}else{let e=i(t,s+1);if(null!=e)return e}}))};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class wp{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class xp{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class Sp{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Sp(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new Sp(this.stack,this.pos,this.index)}}function kp(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let n=0,s=0;n=92&&t--,t>=34&&t--;let s=t-32;if(s>=46&&(s-=46,i=!0),r+=s,i)break;r*=46}i?i[s++]=r:i=new t(r)}return i}class Tp{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Cp=new Tp;class Pp{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Cp,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,n=this.rangeIndex,s=this.pos+e;for(;si.to:s>=i.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];s+=e.from-i.to,i=e}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,i,n=this.chunkOff+e;if(n>=0&&n=this.chunk2Pos&&tn.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Cp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return i}}class Mp{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;!function(e,t,i,n,s,r){let o=0,a=1<0){let i=e[n];if(l.allows(i)&&(-1==t.token.value||t.token.value==i||Rp(i,t.token.value,s,r))){t.acceptToken(i);break}}let n=t.next,h=0,c=e[o+2];if(!(t.next<0&&c>h&&65535==e[i+3*c-3]&&65535==e[i+3*c-3])){for(;h>1,r=i+s+(s<<1),a=e[r],l=e[r+1]||65536;if(n=l)){o=e[r+2],t.advance();continue e}h=s+1}}break}o=e[i+3*c-1]}}(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}Mp.prototype.contextual=Mp.prototype.fallback=Mp.prototype.extend=!1,Mp.prototype.fallback=Mp.prototype.extend=!1;class Ep{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Ap(e,t,i){for(let n,s=t;65535!=(n=e[s]);s++)if(n==i)return s-t;return-1}function Rp(e,t,i,n){let s=Ap(i,n,t);return s<0||Ap(i,n,e)t)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:e.length}}class Lp{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?qp(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?qp(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(s instanceof Do){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+s.length}}}class Np{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new Tp))}getActions(e){let t=0,i=null,{parser:n}=e.p,{tokenizers:s}=n,r=n.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let n=0;nh.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let n=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(i=h,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),i||e.pos!=this.stream.end||(i=new Tp,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Tp,{pos:i,p:n}=e;return t.start=i,t.end=Math.min(i+1,n.stream.end),t.value=i==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,i){let n=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(n,e),i),e.value>-1){let{parser:t}=i.p;for(let n=0;n=0&&i.p.parser.dialect.allows(s>>1)){0==(1&s)?e.value=s>>1:e.extended=s>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,i,n){for(let t=0;t4*e.bufferLength?new Lp(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,n=this.minStackPos,s=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rn)s.push(o);else{if(this.advanceStack(o,s,i))continue;{e||(e=[],t=[]),e.push(o);let i=this.tokens.getMainToken(o);t.push(i.value,i.end)}}break}}if(!s.length){let t=e&&function(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,s);if(i)return Dp&&console.log("Force-finish "+this.stackID(i)),this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(s.length>e)for(s.sort(((e,t)=>t.score-e.score));s.length>e;)s.pop();s.some((e=>e.reducePos>n))&&this.recovering--}else if(s.length>1){e:for(let e=0;e500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){s.splice(e--,1);continue e}s.splice(i--,1)}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(n);o;){let n=this.parser.nodeSet.types[o.type.id]==o.type?s.getGoto(e.state,o.type.id):-1;if(n>-1&&o.length&&(!t||(o.prop(ko.contextHash)||0)==i))return e.useNode(o,n),Dp&&console.log(r+this.stackID(e)+` (via reuse of ${s.getName(o.type.id)})`),!0;if(!(o instanceof Do)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof Do&&0==o.positions[0]))break;o=a}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),Dp&&console.log(r+this.stackID(e)+` (via always-reduce ${s.getName(65535&o)})`),!0;if(e.stack.length>=9e3)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let o=0;on?t.push(u):i.push(u)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return $p(e,t),!0}}runRecovery(e,t,i){let n=null,s=!1;for(let r=0;r ":"";if(o.deadEnd){if(s)continue;if(s=!0,o.restart(),Dp&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))continue}let c=o.split(),d=h;for(let e=0;c.forceReduce()&&e<10&&(Dp&&console.log(d+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,i));e++)Dp&&(d=this.stackID(c)+" -> ");for(let e of o.recoverByInsert(a))Dp&&console.log(h+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,i);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),Dp&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),$p(o,i)):(!n||n.scoree;class jp extends Jo{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;ie.topRules[t][1])),n=[];for(let e=0;e=0)s(n,e,t[i++]);else{let r=t[i+-n];for(let o=-n;o>0;o--)s(t[i++],e,r);i++}}}this.nodeSet=new Mo(t.map(((t,s)=>Po.define({name:s>=this.minRepeatTerm?void 0:t,id:s,props:n[s],top:i.indexOf(s)>-1,error:0==s,skipped:e.skippedNodes&&e.skippedNodes.indexOf(s)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=wo;let r=kp(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new Mp(r,e):e)),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let n=new Bp(this,e,t,i);for(let s of this.wrappers)n=s(n,e,t,i);return n}getGoto(e,t,i=!1){let n=this.goto;if(t>=n[0])return-1;for(let s=n[t+1];;){let t=n[s++],r=1&t,o=n[s++];if(r&&i)return o;for(let i=s+(t>>1);s0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let i=this.stateSlot(e,4),n=i?t(i):void 0;for(let i=this.stateSlot(e,1);null==n;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Wp(this.data,i+2)}n=t(Wp(this.data,i+1))}return n}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Wp(this.data,i+2)}if(0==(1&this.data[i+2])){let e=this.data[i+1];t.some(((t,i)=>1&i&&t==e))||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(jp.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let i=e.tokenizers.find((e=>e.from==t));return i?i.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((i,n)=>{let s=e.specializers.find((e=>e.from==i.external));if(!s)return i;let r=Object.assign(Object.assign({},i),{external:s.to});return t.specializers[n]=Vp(r),r}))),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map((()=>!1));if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(i[e]=!0)}let n=null;for(let e=0;ee.external(i,n)<<1|t}return e.get}const Up=new Set([27,51,52,270,67,133,58,59,251,64,65,74,62,63,154,155,158,115]);function Fp(e){return 10==e||13==e}const Hp=new Ep(((e,t)=>{let i;if(e.next<0)e.acceptToken(206);else if(t.context.depth<0)Fp(e.next)&&e.acceptToken(205,1);else if(((i=e.peek(-1))<0||Fp(i))&&t.canShift(204)){let t=0;for(;32==e.next||9==e.next;)e.advance(),t++;10!=e.next&&13!=e.next&&35!=e.next||e.acceptToken(204,-t)}else Fp(e.next)&&e.acceptToken(203,1)}),{contextual:!0}),Xp=new Ep(((e,t)=>{let i=t.context.depth;if(i<0)return;let n=e.peek(-1);if(10==n||13==n){let t=0,n=0;for(;;){if(32==e.next)t++;else{if(9!=e.next)break;t+=8-t%8}e.advance(),n++}t!=i&&10!=e.next&&13!=e.next&&35!=e.next&&(t0),this.strict=!1!==e.strict}}({start:Gp,reduce:(e,t)=>e.depth<0&&Up.has(t)?e.parent:e,shift:(e,t,i,n)=>201==t?new Yp(e,function(e){let t=0;for(let i=0;ie.hash}),Kp=new Ep((e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let i=e.peek(t);if(32!=i&&9!=i)return void(40!=i&&46!=i&&10!=i&&13!=i&&35!=i&&e.acceptToken(1))}}));function Jp(e,t,i,n,s){return new Ep((r=>{let o=r.pos;for(;!(r.next<0);)if(123==r.next){if(123!=r.peek(1)){if(r.pos==o)return void r.acceptToken(n,1);break}r.advance(2)}else if(92==r.next)r.advance(),r.next>=0&&r.advance();else{if(r.next==e&&(1==t||r.peek(1)==e&&r.peek(2)==e)){if(r.pos==o)return void r.acceptToken(s,t);break}r.advance()}r.pos>o&&r.acceptToken(i)}))}const ef=Jp(39,1,207,2,208),tf=Jp(34,1,209,3,210),nf=Jp(39,3,211,4,212),sf=Jp(34,3,213,5,214),rf=ra({'async "*" "**" FormatConversion FormatSpec':Ta.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":Ta.controlKeyword,"in not and or is del":Ta.operatorKeyword,"from def class global nonlocal lambda":Ta.definitionKeyword,import:Ta.moduleKeyword,"with as print":Ta.keyword,Boolean:Ta.bool,None:Ta.null,VariableName:Ta.variableName,"CallExpression/VariableName":Ta.function(Ta.variableName),"FunctionDefinition/VariableName":Ta.function(Ta.definition(Ta.variableName)),"ClassDefinition/VariableName":Ta.definition(Ta.className),PropertyName:Ta.propertyName,"CallExpression/MemberExpression/PropertyName":Ta.function(Ta.propertyName),Comment:Ta.lineComment,Number:Ta.number,String:Ta.string,FormatString:Ta.special(Ta.string),UpdateOp:Ta.updateOperator,"ArithOp!":Ta.arithmeticOperator,BitOp:Ta.bitwiseOperator,CompareOp:Ta.compareOperator,AssignOp:Ta.definitionOperator,Ellipsis:Ta.punctuation,At:Ta.meta,"( )":Ta.paren,"[ ]":Ta.squareBracket,"{ }":Ta.brace,".":Ta.derefOperator,", ;":Ta.separator}),of={__proto__:null,await:48,or:58,and:60,in:64,not:66,is:68,if:74,else:76,lambda:80,yield:98,from:100,async:106,for:108,None:168,True:170,False:170,del:184,pass:188,break:192,continue:196,return:200,raise:208,import:212,as:214,global:218,nonlocal:220,assert:224,type:229,elif:242,while:246,try:252,except:254,finally:256,with:260,def:264,class:274,match:285,case:291},af=jp.deserialize({version:14,states:"#&jO`Q#yOOP$bOSOOO%kQ&nO'#HcOOQS'#Cq'#CqOOQS'#Cr'#CrO'ZQ#xO'#CpO(|Q&nO'#HbOOQS'#Hc'#HcOOQS'#DW'#DWOOQS'#Hb'#HbO)jQ#xO'#DaO)}Q#xO'#DhO*_Q#xO'#DlOOQS'#Dw'#DwO*rO,UO'#DwO*zO7[O'#DwO+SOWO'#DxO+_O`O'#DxO+jOpO'#DxO+uO!bO'#DxO-wQ&nO'#HSOOQS'#HS'#HSO'ZQ#xO'#HRO/ZQ&nO'#HROOQS'#Ee'#EeO/rQ#xO'#EfOOQS'#HQ'#HQO/|Q#xO'#HPOOQV'#HP'#HPO0XQ#xO'#F]OOQS'#Ge'#GeO0^Q#xO'#F[OOQV'#IY'#IYOOQV'#HO'#HOOOQV'#Ft'#FtQ`Q#yOOO'ZQ#xO'#CsO0lQ#xO'#DPO0sQ#xO'#DTO1RQ#xO'#HgO1cQ&nO'#EYO'ZQ#xO'#EZOOQS'#E]'#E]OOQS'#E_'#E_OOQS'#Ea'#EaO1wQ#xO'#EcO2_Q#xO'#EgO0XQ#xO'#EiO2rQ&nO'#EiO0XQ#xO'#ElO/rQ#xO'#EoO0XQ#xO'#EqO/rQ#xO'#EwO/rQ#xO'#EzO2}Q#xO'#E|O3UQ#xO'#FRO3aQ#xO'#E}O/rQ#xO'#FRO0XQ#xO'#FTO0XQ#xO'#FYO3fQ#xO'#F_P3mO#xO'#G}POOO)CBq)CBqOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Ck'#CkOOQS'#Cl'#ClOOQS'#Cn'#CnO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO3xQ#xO'#DqOOQS,5:[,5:[O4]Q#xO'#HqOOQS,5:_,5:_O4jQMlO,5:_O4oQ&nO,59[O0lQ#xO,59dO0lQ#xO,59dO0lQ#xO,59dO7_Q#xO,59dO7dQ#xO,59dO7kQ#xO,59lO7rQ#xO'#HbO8xQ#xO'#HaOOQS'#Ha'#HaOOQS'#D^'#D^O9aQ#xO,59cO'ZQ#xO,59cO9oQ#xO,59cOOQS,59{,59{O9tQ#xO,5:TO'ZQ#xO,5:TOOQS,5:S,5:SO:SQ#xO,5:SO:XQ#xO,5:ZO'ZQ#xO,5:ZO'ZQ#xO,5:XOOQS,5:W,5:WO:jQ#xO,5:WO:oQ#xO,5:YOOOO'#F|'#F|O:tO,UO,5:cOOQS,5:c,5:cOOOO'#F}'#F}O:|O7[O,5:cO;UQ#xO'#DyOOOW'#GO'#GOO;fOWO,5:dOOQS,5:d,5:dO;UQ#xO'#D}OOO`'#GR'#GRO;qO`O,5:dO;UQ#xO'#EOOOOp'#GS'#GSO;|OpO,5:dO;UQ#xO'#EPOOO!b'#GT'#GTOROOQS,5>R,5>RO/rQ#xO'#EUOOQS'#EV'#EVOGZQ#xO'#GWOGkQ#xO,59OOGkQ#xO,59OO)pQ#xO,5:rOGyQ&nO'#HjOOQS,5:u,5:uOOQS,5:},5:}OH^Q#xO,5;ROHoQ#xO,5;TOOQS'#GZ'#GZOH}Q&nO,5;TOI]Q#xO,5;TOIbQ#xO'#IWOOQS,5;W,5;WOIpQ#xO'#ISOOQS,5;Z,5;ZOJRQ#xO,5;]O3aQ#xO,5;cO3aQ#xO,5;fOJZQ&nO'#IZO'ZQ#xO'#IZOJeQ#xO,5;hO2}Q#xO,5;hO/rQ#xO,5;mO0XQ#xO,5;oOJjQ#yO'#ExOKvQ#{O,5;iO! [Q#xO'#I[O3aQ#xO,5;mO! gQ#xO,5;oO! oQ#xO,5;tO! zQ&nO,5;yO'ZQ#xO,5;yPOOO,5=i,5=iP!!ROSO,5=iP!!WO#xO,5=iO!${Q&nO1G.lO!%SQ&nO1G.lO!'sQ&nO1G.lO!'}Q&nO1G.lO!*hQ&nO1G.lO!*{Q&nO1G.lO!+`Q#xO'#HpO!+nQ&nO'#HSO/rQ#xO'#HpO!+xQ#xO'#HoOOQS,5:],5:]O!,QQ#xO,5:]O!,VQ#xO'#HrO!,bQ#xO'#HrO!,uQ#xO,5>]OOQS'#Du'#DuOOQS1G/y1G/yOOQS1G/O1G/OO!-uQ&nO1G/OO!-|Q&nO1G/OO0lQ#xO1G/OO!.iQ#xO1G/WOOQS'#D]'#D]O/rQ#xO,59vOOQS1G.}1G.}O!.pQ#xO1G/gO!/QQ#xO1G/gO!/YQ#xO1G/hO'ZQ#xO'#HiO!/_Q#xO'#HiO!/dQ&nO1G.}O!/tQ#xO,59kO!0zQ#xO,5>XO!1[Q#xO,5>XO!1dQ#xO1G/oO!1iQ&nO1G/oOOQS1G/n1G/nO!1yQ#xO,5>SO!2pQ#xO,5>SO/rQ#xO1G/sO!3_Q#xO1G/uO!3dQ&nO1G/uO!3tQ&nO1G/sOOQS1G/r1G/rOOQS1G/t1G/tOOOO-E9z-E9zOOQS1G/}1G/}OOOO-E9{-E9{O!4UQ#xO'#H|O/rQ#xO'#H|O!4dQ#xO,5:eOOOW-E9|-E9|OOQS1G0O1G0OO!4oQ#xO,5:iOOO`-E:P-E:PO!4zQ#xO,5:jOOOp-E:Q-E:QO!5VQ#xO,5:kOOO!b-E:R-E:ROOQS-E:S-E:SO!5bQ!LUO1G3XO!6RQ&nO1G3XO'ZQ#xO,5oOOQS1G1c1G1cO!7RQ#xO1G1cOOQS'#DX'#DXO/rQ#xO,5>OOOQS,5>O,5>OO!7WQ#xO'#FuO!7cQ#xO,59qO!7kQ#xO1G/ZO!7uQ&nO,5>SOOQS1G3m1G3mOOQS,5:p,5:pO!8fQ#xO'#HROOQS,5UO!9gQ#xO,5>UO/rQ#xO1G0mO/rQ#xO1G0mO0XQ#xO1G0oOOQS-E:X-E:XO!9xQ#xO1G0oO!:TQ#xO1G0oO!:YQ#xO,5>rO!:hQ#xO,5>rO!:vQ#xO,5>nO!;^Q#xO,5>nO!;oQ#xO'#EsO/rQ#xO1G0wO!;zQ#xO1G0wO!uO!BzQ#xO,5>uO!CSQ&nO,5>uO/rQ#xO1G1SO!C^Q#xO1G1SO3aQ#xO1G1XO! gQ#xO1G1ZOOQV,5;d,5;dO!CcQ#zO,5;dO!ChQ#{O1G1TO!F|Q#xO'#GbO3aQ#xO1G1TO3aQ#xO1G1TO!G^Q#xO,5>vO!GkQ#xO,5>vO0XQ#xO,5>vOOQV1G1X1G1XO!GsQ#xO'#FVO!HUQMlO1G1ZO!H^Q#xO1G1ZOOQV1G1`1G1`O3aQ#xO1G1`O!HcQ#xO1G1`O!HkQ#xO'#FaOOQV1G1e1G1eO! zQ&nO1G1ePOOO1G3T1G3TP!HpOSO1G3TOOQS,5>[,5>[OOQS'#Dr'#DrO/rQ#xO,5>[O!HuQ#xO,5>ZO!IYQ#xO,5>ZOOQS1G/w1G/wO!IbQ#xO,5>^O!IrQ#xO,5>^O!IzQ#xO,5>^O!J_Q#xO,5>^O!JoQ#xO,5>^OOQS1G3w1G3wOOQS7+$j7+$jO!7kQ#xO7+$rO!LbQ#xO1G/OO!LiQ#xO1G/OOOQS1G/b1G/bOOQS,5TO'ZQ#xO,5>TOOQS7+$i7+$iO!MVQ#xO7+%RO!M_Q#xO7+%SO!MdQ#xO1G3sOOQS7+%Z7+%ZO!MtQ#xO1G3sO!M|Q#xO7+%ZOOQS,5hO##PQ#xO,5>hO##PQ#xO,5>hO##_O$ISO'#D{O##jO#tO'#H}OOOW1G0P1G0PO##oQ#xO1G0POOO`1G0T1G0TO##wQ#xO1G0TOOOp1G0U1G0UO#$PQ#xO1G0UOOO!b1G0V1G0VO#$XQ#xO1G0VO#$aQ!LUO7+(sO#%QQ&nO1G2]P#%kQ#xO'#GVOOQS,5i,5>iOOOW7+%k7+%kOOO`7+%o7+%oOOOp7+%p7+%pOOO!b7+%q7+%qO#:`Q#xO1G3XO#:yQ#xO1G3XP'ZQ#xO'#FxO/rQ#xO<qO#;mQ#xO,5>qO0XQ#xO,5>qO#pOOQS<sO#sOOQS1G0y1G0yOOQS<xO#DpQ#xO,5>xOOQS,5>x,5>xO#D{Q#xO,5>wO#E^Q#xO,5>wOOQS1G1]1G1]OOQS,5;s,5;sOOQV<XAN>XO#HmQ#xO<eAN>eO/rQ#xO1G2PO#H}Q&nO1G2PP#IXQ#xO'#FyOOQS1G2V1G2VP#IfQ#xO'#GPO#IsQ#xO7+)nO#JZQ#xO,5:hOOOO-E:O-E:OO#JfQ#xO7+(sOOQSAN?_AN?_O#KPQ#xO,5VOOQSANBaANBaOOOO7+%n7+%nOOQS7+'|7+'|O$+jQ#xO<zO$.`Q#xO,5>zO0XQ#xO,5|O$!pQ#xO,5>|OOQS1G1s1G1sO$2WQ&nO,5<_OOQU7+'S7+'SO$$mQ#xO1G/kO$!pQ#xO,5<]O$2_Q#xO,5>}O$2fQ#xO,5>}OOQS1G1v1G1vOOQS7+'V7+'VP$!pQ#xO'#GkO$2nQ#xO1G4hO$2xQ#xO1G4hO$3QQ#xO1G4hOOQS7+%V7+%VO$3`Q#xO1G1wO$3nQ&nO'#FdO$3uQ#xO,5=UOOQS,5=U,5=UO$4TQ#xO1G4iOOQS-E:h-E:hO$!pQ#xO,5=TO$4[Q#xO,5=TO$4aQ#xO7+*SOOQS-E:g-E:gO$4kQ#xO7+*SO$!pQ#xO,5<^P$!pQ#xO'#GjO$4sQ#xO1G2oO$!pQ#xO1G2oP$5RQ#xO'#GiO$5YQ#xO<fPP>i?Z?^PP'a'aPP?vPP'a'aPP'a'a'a'a'a?z@t'aP@wP@}EXHxPH|IYI^IbIf'aPPPIjIs'XP'X'XP'XP'XP'XP'XP'X'X'XP'XPP'XPP'XP'XPIyJVJ_PJfJlPJfPJfJfPPPJfPLzPMTM_MeLzPJfMnPJfPMuM{PNPNe! S! mNPNP! s!!QNPNPNPNP!!f!!l!!o!!t!!w!#R!#X!#e!#w!#}!$X!$_!${!%R!%X!%_!%i!%o!%u!%{!&R!&X!&k!&u!&{!'R!'X!'c!'i!'o!'u!'{!(V!(]!(g!(m!(v!(|!)]!)e!)o!)vPPPPPPPPPPPPPPPPP!)|!*P!*V!*`!*j!*uPPPPPPPPPPPP!/l!1Q!5T!8hPP!8p!9S!9]!:U!9{!:_!:e!:h!:k!:n!:v!;gPPPPPPPPP!;j!;yPPPP!V!>`!?[!?_]jOs#v$w*W,d(TeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1Z}!hQ#r$P$b$q$}%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!P!iQ#r$P$b$q$}%S%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!R!jQ#r$P$b$q$}%S%T%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!T!kQ#r$P$b$q$}%S%T%U%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!V!lQ#r$P$b$q$}%S%T%U%V%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!X!mQ#r$P$b$q$}%S%T%U%V%W%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!]!mQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O(TTOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1Z&iVOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/s0[0z0{0|0}1P1Q1R1S1V1Z%sXOYZ[isw}!O!S!U!V!Z!n!p#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-W-Y-[-^-_-b-y-{.S.V.}/O/s1Q1R1SQ$VvQ/t/SR1W1Y'zeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZW#ym!P!Q$hW$Rv&q/S1YQ$j!RQ$n!TQ${![Q$|!]W%Z!n(O*v,zS&p$S$TQ'e$vQ)Y&jQ)h'QU)i'S)j)kU)l'U)m+}W)s'Y,Q-j.dQ*d'nW*e'p,s-}.lQ,P)rS,r*f*gY-d+x-e.a.b/XQ-g+zQ-t,hQ-x,kQ.j-vl.o.R.u.v.x/d/f/k0R0W0]0b0m0r0uQ/W.`Q/l.wQ/x/^Q0T/hU0h0^0k0sX0n0c0o0v0wR&o$R!_!|YZ!U!V!p%a%m%t(R(T(U(a(i)y*y*z*}+T+W+Y,{,|-O-P-S.S.V.}/O/sR%k!{Q#QYQ&W#cQ&Z#gQ&]#jQ&_#mQ&x$^Q&{$aR-`+lT/R.Y0[![!oQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1OQ&m#zQ't$|R*p'uR'}%ZQ%d!rR/v/[(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZS#pd#q!P.s.R.u.v.w.x/^/d/f/k0R0W0]0^0b0c0k0m0o0r0s0u0v0w(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZT#pd#qT#d`#ee(|&W&Z&]&_)O)Q)S)U-`._T+m({+nT#ha#iT#kb#lT#nc#oQ$`xQ,P)sR,q*eX$^x$_$`&zQ'[$nQ'r${Q'u$|R*V'eQ)t'YV-i,Q-j.dZlOs$w*W,dXpOs*W,dQ$x!YQ']$oQ'^$pQ'o$zQ's$|Q*T'dQ*['iQ*_'jQ*`'kQ*m'qS*o't'uQ,W)yQ,Y)zQ,Z){Q,_*RS,a*U*nQ,e*YQ,f*ZS,g*]*^Q,w*pQ-l,VQ-m,XQ-o,`S-p,b,cQ-u,iQ-w,jQ.e-nQ.g-qQ.h-sQ.i-tQ/Y.fQ/Z.jQ/p.{R0Z/qWpOs*W,dR#|oQ'q${S*U'e'rR,c*VQ,p*eR-{,qQ*n'qQ,b*UR-q,cZnOos*W,dQ'w$}R*r'xT.P,x.Qu.z.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0ut.z.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0uQ/l.wX0n0c0o0v0w!P.r.R.u.v.w.x/^/d/f/k0R0W0]0^0b0c0k0m0o0r0s0u0v0wQ/a.qR/}/bg/d.t/e/y0Q0V0e0g0i0t0x0yu.y.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0uX/_.o.y/x0hR/z/^V0j0^0k0sR/q.{QsOS$Os,dR,d*WQ&r$UR)_&rS%z#W$WS(p%z(sT(s%}&tQ%n#OQ%u#SW(b%n%u(g(kQ(g%rR(k%wQ&}$bR)e&}Q(v&OQ+_(qT+e(v+_Q(P%]R*w(PS(S%`%aY*{(S*|-Q.W/PU*|(T(U(VU-Q*}+O+PS.W-R-SR/P.XQ#_^R&R#_Q#b_R&T#bQ#e`R&X#eQ(y&US+j(y+kR+k(zQ+n({R-a+nQ#iaR&[#iQ#lbR&^#lQ#ocR&`#oQ#qdR&a#qQ#tgQ&c#rW&f#t&c)b+uQ)b&wR+u1OQ$_xS&y$_&zR&z$`Q'X$lR)q'XQ&k#yR)Z&kQ$h!QR'R$hQ+y)iS-f+y.cR.c-gQ'V$jR)n'VQ,R)tR-k,RQ#wkR&h#wQ)x']R,U)xQ'`$qS*P'`*QR*Q'aQ'h$xR*X'hQ'm$yS*c'm,nR,n*dQ,t*iR.O,tWoOs*W,dR#{oQ.Q,xR.m.Qd/e.t/y0Q0V0e0g0i0t0x0yR0P/eU/].o/x0hR/w/]Q0d0VS0p0d0qR0q0eS0_/y/zR0l0_Q/g.tR0S/gR!`PXrOs*W,dWqOs*W,dR'f$wYkOs$w*W,dR&g#v[xOs#v$w*W,dR&x$^&hQOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/s0[0z0{0|0}1P1Q1R1S1V1ZQ!sTQ#rfQ$PtU$by%p(eS$q!W$tQ$}!^Q%S!hQ%T!iQ%U!jQ%V!kQ%W!lQ%X!mQ%r#PQ%w#TQ%}#XQ&O#YQ&t$XQ'a$rQ'x%OQ)W&dU)c&|)d+vW)|'_*O,],^Q+R(_Q+[(nQ,[)}Q-Z+dQ0Y/oR1O1TQ#OYQ#SZQ$o!UQ$p!VQ%`!pQ(V%a^(^%m%t(a(i+T+W+Y^*x(R*z-O-P.V/O/sQ+O(TQ+P(UQ,X)yQ,}*yQ-R*}Q.T,{Q.U,|Q.X-SQ.|.SR/r.}[gOs#v$w*W,d!^!{YZ!U!V!p%a%m%t(R(T(U(a(i)y*y*z*}+T+W+Y,{,|-O-P-S.S.V.}/O/sQ#W[Q#uiS$Ww}Q$e!OW$l!S$a'b*SS$y!Z$uW%Y!n(O*v,zY&U#c#g#j#m+l`&e#s&b)V)X)a+t-b1SQ&u$YQ&v$[Q&w$^Q'{%[Q(]%kW(m%y(o+]+aQ(q%{Q(z&VQ)]&oS)`&s1QQ)f'OQ)g'PU)o'W)p,OQ)v'ZQ*]'iY*a'l*b,l,m-yQ*t'}S+Q(Y1RW+c(u+^-W-[W+g(x+i-^-_Q,T)wQ,i*^Q,v*lQ-]+hQ-c+wQ-z,pQ.]-YR.k-{hUOs#s#v$w&b&s(Y)V)X*W,d%Y!zYZ[iw}!O!S!U!V!Z!n!p#c#g#j#m$Y$[$^$a$u%[%a%k%m%t%y%{&V&o'O'P'W'Z'b'i'l'}(O(R(T(U(a(i(o(u(x)a)p)w)y*S*^*b*l*v*y*z*}+T+W+Y+]+^+a+h+i+l+t+w,O,l,m,p,z,{,|-O-P-S-W-Y-[-^-_-b-y-{.S.V.}/O/s1Q1R1SQ$QuW%e!t!x0{1VQ%f!uQ%g!vQ%i!yQ%s0zS(X%h1PQ(Z0|Q([0}Q-T+UQ.[-US/Q.Y0[R1X1ZU$Uv/S1YR)^&q[hOs#v$w*W,da!}Y#c#g#j#m$^$a+lQ#][Q$ZwR$d}Q%o#OQ%v#SQ%|#WQ'{%YQ(h%rQ(l%wQ(t%}Q(w&OQ+`(qQ,y*tQ.Z-TQ/U.[R/u/TQ$cyQ(d%pR+V(eQ/T.YR0f0[R#VZR#[[R%_!nQ%]!nV*u(O*v,z!]!qQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1OR%b!pQ&W#cQ&Z#gQ&]#jQ&_#mR-`+lQ(}&WQ)P&ZQ)R&]Q)T&_Q+p)OQ+q)QQ+r)SQ+s)UQ.^-`R/V._Q$m!SQ&{$aQ*R'bR,`*SQ#zmQ$f!PQ$i!QR'T$hQ)h'SR+|)kQ)h'SQ+{)jR+|)kR$k!RR)u'YXqOs*W,dQ$s!WR'c$tQ$z!ZR'd$uR*k'pQ*i'pV-|,s-}.lQ.{.RQ/i.uR/j.vU.t.R.u.vQ/n.xQ/y/^Q0O/dU0Q/f0R0bQ0V/kQ0e0WQ0g0]U0i0^0k0sQ0t0mQ0x0rR0y0uR/m.wR/{/^",nodeNames:"⚠ print { { { { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatConversion FormatSpec FormatReplacement FormatReplacement FormatReplacement FormatReplacement ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:283,context:Zp,nodeProps:[["group",-15,8,88,90,91,93,95,97,99,101,102,103,105,108,111,113,"Statement Statement",-22,10,20,23,27,42,51,52,58,59,62,63,64,65,66,69,72,73,74,82,83,84,85,"Expression",-10,117,119,122,124,125,129,131,136,138,141,"Statement",-9,146,147,150,151,153,154,155,156,157,"Pattern"],["openedBy",25,"(",56,"[",60,"{"],["closedBy",26,")",57,"]",61,"}"]],propSources:[rf],skippedNodes:[0,6],repeatNodeCount:38,tokenData:"%-W#sR!`OX%TXY=|Y[%T[]=|]p%Tpq=|qr@_rsDOst!+|tu%Tuv!Nnvw#!|wx#$Wxy#:Uyz#;Yz{#<^{|#>x|}#@S}!O#AW!O!P#Ci!P!Q#N_!Q!R$!y!R![$&w![!]$1e!]!^$3s!^!_$4w!_!`$7c!`!a$8m!a!b%T!b!c$;U!c!d$W!e!h$W#V#Y$Q<%lO$Xc&r!b&jS&mW%p!TOX%TXY=|Y[%T[]=|]p%Tpq=|qr%Trs&Vsw%Twx/Xx#O%T#O#P?d#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s?i[&r!bOY%TYZ=|Z]%T]^=|^#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T!q@hd&r!b&jS&mWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#T%T#T#UBz#U#f%T#f#gBz#g#hBz#h#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qBR]oR&r!b&jS&mWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qCV]!nR&r!b&jS&mWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cDXa&r!b&jS&hsOYE^YZ%TZ]E^]^%T^rE^rs!)|swE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cEia&r!b&jS&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cFw]&r!b&jS&hsOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cGya&r!b&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxIOx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cIXa&r!b&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxJ^x#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#_Jg_&r!b&mW&hsOYJ^YZ1XZ]J^]^1X^rJ^rsKfs#OJ^#O#PL`#P#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`!!o<%lOJ^#_KmZ&r!b&hsOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#_LeW&r!bO#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`! r;=`<%lL}<%lOJ^{MUZ&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l<%lOL}{M|V&hsOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`{NfRO;'SL};'S;=`No;=`OL}{Nv[&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lL}<%lOL}{! oP;=`<%lL}#_! y[&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lJ^<%lOL}#_!!rP;=`<%lJ^#c!!zW&r!bO#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!(q;=`<%l!#d<%lOE^!P!#m]&jS&mW&hsOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!$mX&jS&hsOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`^s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!>e_U!T&r!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!?ds#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!?k_U!T&r!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!3`s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!@q[U!T&r!bOY!=UYZ1XZ]!=U]^1X^#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!Ec;=`<%l4`<%lO!=U!]!AnZU!T&mWOY!AgYZ4`Z]!Ag]^4`^r!Agrs!Bas#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!BfZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!CXs#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!C^ZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!4Ys#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!DUWU!TOY!AgYZ4`Z]!Ag]^4`^;'S!Ag;'S;=`!Dn;=`<%l4`<%lO!Ag!]!DsW&mWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!Ag<%lO4`!]!E`P;=`<%l!Ag#o!EhW&mWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!=U<%lO4`#o!FTP;=`<%l!=U#s!F_[U!T&r!bOY!+|YZ%TZ]!+|]^%T^#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Mq;=`<%l8^<%lO!+|!a!G^]U!T&jS&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!H^]U!T&jSOY!GTYZ8^Z]!GT]^8^^r!GTrs!IVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!I^]U!T&jSOY!GTYZ8^Z]!GT]^8^^r!GTrs!5wsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!J^]U!T&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!KVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!K^]U!T&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!Agx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!L[WU!TOY!GTYZ8^Z]!GT]^8^^;'S!GT;'S;=`!Lt;=`<%l8^<%lO!GT!a!L{Y&jS&mWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`Q<%lO$TP;=`<%l$ei&r!b&jS&mW&g`&SsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$Q<%lO$Q<%lO$Q<%lO$Q<%lO$Q<%lO$of[e]||-1}],tokenPrec:7372}),lf=new Zo,hf=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function cf(e){return(t,i,n)=>{if(n)return!1;let s=t.node.getChild("VariableName");return s&&i(s,e),!0}}const df={FunctionDefinition:cf("function"),ClassDefinition:cf("class"),ForStatement(e,t,i){if(i)for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if("in"==i.name)break},ImportStatement(e,t){var i,n;let{node:s}=e,r="from"==(null===(i=s.firstChild)||void 0===i?void 0:i.name);for(let e=s.getChild("import");e;e=e.nextSibling)"VariableName"==e.name&&"as"!=(null===(n=e.nextSibling)||void 0===n?void 0:n.name)&&t(e,r?"variable":"namespace")},AssignStatement(e,t){for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if(":"==i.name||"AssignOp"==i.name)break},ParamList(e,t){for(let i=null,n=e.node.firstChild;n;n=n.nextSibling)"VariableName"!=n.name||i&&/\*|AssignOp/.test(i.name)||t(n,"variable"),i=n},CapturePattern:cf("variable"),AsPattern:cf("variable"),__proto__:null};function uf(e,t){let i=lf.get(t);if(i)return i;let n=[],s=!0;function r(t,i){let s=e.sliceString(t.from,t.to);n.push({label:s,type:i})}return t.cursor(Ro.IncludeAnonymous).iterate((t=>{if(t.name){let e=df[t.name];if(e&&e(t,r,s)||!s&&hf.has(t.name))return!1;s=!1}else if(t.to-t.from>8192){for(let i of uf(e,t.node))n.push(i);return!1}})),lf.set(t,n),n}const pf=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,ff=["String","FormatString","Comment","PropertyName"];function mf(e){let t=Da(e.state).resolveInner(e.pos,-1);if(ff.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&pf.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let n=[];for(let i=t;i;i=i.parent)hf.has(i.name)&&(n=n.concat(uf(e.state.doc,i)));return{options:n,from:i?t.from:e.pos,validFor:pf}}const gf=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map((e=>({label:e,type:"constant"}))).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map((e=>({label:e,type:"type"})))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map((e=>({label:e,type:"class"})))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map((e=>({label:e,type:"function"})))),vf=[Au("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),Au("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),Au("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),Au("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),Au("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),Au("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),Au("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),Au("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Au("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Of=Ld(ff,qd(gf.concat(vf)));function bf(e,t){let i=e.baseIndentFor(t),n=e.lineAt(e.pos,-1),s=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&e.node.toi?null:i+e.unit}const _f=Ra.define({name:"python",parser:af.configure({props:[Ga.add({Body:e=>{var t;return null!==(t=bf(e,e.node))&&void 0!==t?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except |finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":il({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":il({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":il({closing:"]"}),"String FormatString":()=>null,Script:e=>{if(e.pos+/\s*/.exec(e.textAfter)[0].length>=e.node.to){let t=null;for(let i=e.node,n=i.to;i=i.lastChild,i&&i.to==n;)"Body"==i.type.name&&(t=i);if(t){let i=bf(e,t);if(null!=i)return i}}return e.continue()}}),rl.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":function(e){let t=e.firstChild,i=e.lastChild;return t&&t.to({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/}}),yf="#e06c75",wf="#abb2bf",xf="#7d8799",Sf="#d19a66",kf="#2c313a",Tf="#282c34",Cf="#353a42",Pf="#528bff",Mf=[Ds.theme({"&":{color:wf,backgroundColor:Tf},".cm-content":{caretColor:Pf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Pf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:wf},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Tf,color:xf,border:"none"},".cm-activeLineGutter":{backgroundColor:kf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Cf},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Cf,borderBottomColor:Cf},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:kf,color:wf}}},{dark:!0}),Rl(Pl.define([{tag:Ta.keyword,color:"#c678dd"},{tag:[Ta.name,Ta.deleted,Ta.character,Ta.propertyName,Ta.macroName],color:yf},{tag:[Ta.function(Ta.variableName),Ta.labelName],color:"#61afef"},{tag:[Ta.color,Ta.constant(Ta.name),Ta.standard(Ta.name)],color:Sf},{tag:[Ta.definition(Ta.name),Ta.separator],color:wf},{tag:[Ta.typeName,Ta.className,Ta.number,Ta.changed,Ta.annotation,Ta.modifier,Ta.self,Ta.namespace],color:"#e5c07b"},{tag:[Ta.operator,Ta.operatorKeyword,Ta.url,Ta.escape,Ta.regexp,Ta.link,Ta.special(Ta.string)],color:"#56b6c2"},{tag:[Ta.meta,Ta.comment],color:xf},{tag:Ta.strong,fontWeight:"bold"},{tag:Ta.emphasis,fontStyle:"italic"},{tag:Ta.strikethrough,textDecoration:"line-through"},{tag:Ta.link,color:xf,textDecoration:"underline"},{tag:Ta.heading,fontWeight:"bold",color:yf},{tag:[Ta.atom,Ta.bool,Ta.special(Ta.variableName)],color:Sf},{tag:[Ta.processingInstruction,Ta.string,Ta.inserted],color:"#98c379"},{tag:Ta.invalid,color:"#ffffff"}]))];var Ef,Af,Rf,Df,If,qf,Lf,Nf,Bf,$f=__webpack_require__(5247),Qf=__webpack_require__(5895),zf=__webpack_require__(6424),jf=__webpack_require__(7564),Wf=__webpack_require__(3911);!function(e){e.copyText=function(e){const t=document.body,i=n=>{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData("text",e),t.removeEventListener("copy",i,!0)};t.addEventListener("copy",i,!0),document.execCommand("copy")}}(Ef||(Ef={})),(Bf=Af||(Af={})).boxSizing=function(e){let t=window.getComputedStyle(e),i=parseFloat(t.borderTopWidth)||0,n=parseFloat(t.borderLeftWidth)||0,s=parseFloat(t.borderRightWidth)||0,r=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,a=parseFloat(t.paddingLeft)||0,l=parseFloat(t.paddingRight)||0,h=parseFloat(t.paddingBottom)||0;return{borderTop:i,borderLeft:n,borderRight:s,borderBottom:r,paddingTop:o,paddingLeft:a,paddingRight:l,paddingBottom:h,horizontalSum:n+a+l+s,verticalSum:i+o+h+r}},Bf.sizeLimits=function(e){let t=window.getComputedStyle(e),i=parseFloat(t.minWidth)||0,n=parseFloat(t.minHeight)||0,s=parseFloat(t.maxWidth)||1/0,r=parseFloat(t.maxHeight)||1/0;return s=Math.max(i,s),r=Math.max(n,r),{minWidth:i,minHeight:n,maxWidth:s,maxHeight:r}},Bf.hitTest=function(e,t,i){let n=e.getBoundingClientRect();return t>=n.left&&t=n.top&&i=i.bottom||(n.topi.bottom&&n.height>=i.height?e.scrollTop-=i.top-n.top:(n.topi.height||n.bottom>i.bottom&&n.height{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,i=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return-1!==Array.prototype.indexOf.call(i,t)}})(),e.calculateSingle=function(e){let h=0,c=0,d=0;function u(t){let i=e.match(t);return null!==i&&(e=e.slice(i[0].length),!0)}for(e=(e=e.split(",",1)[0]).replace(l," $1 ");e.length>0;)if(u(t))h++;else if(u(i))c++;else if(u(n))c++;else if(u(r))d++;else if(u(o))c++;else if(u(s))d++;else if(!u(a))return 0;return h=Math.min(h,255),c=Math.min(c,255),d=Math.min(d,255),h<<16|c<<8|d};const t=/^#[^\s\+>~#\.\[:]+/,i=/^\.[^\s\+>~#\.\[:]+/,n=/^\[[^\]]+\]/,s=/^[^\s\+>~#\.\[:]+/,r=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,a=/^[\s\+>~\*]+/,l=/:not\(([^\)]+)\)/g}(If||(If={}));class Vf{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(const t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new qf.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new qf.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof qf.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let i=new qf.LinkedListNode(this,e),n=t,s=n.prev;return i.next=n,i.prev=s,n.prev=i,s.next=i,this._size++,i}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof qf.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let i=new qf.LinkedListNode(this,e),n=t,s=n.next;return i.next=s,i.prev=n,n.next=i,s.prev=i,this._size++,i}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof qf.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}}!function(e){e.from=function(t){let i=new e;return i.assign(t),i}}(Vf||(Vf={})),function(e){e.LinkedListNode=class{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}}(qf||(qf={}));class Uf{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}}class Ff extends Uf{get isConflatable(){return!0}conflate(e){return!0}}!function(e){let t=null;const i=(n=Promise.resolve(),e=>{let t=!1;return n.then((()=>!t&&e())),()=>{t=!0}});var n;function s(e,t){let i=o.get(e);if(!i||0===i.length)return void c(e,t);let n=(0,jf.yW)((0,jf.kh)(i),(i=>!i||function(e,t,i){let n=!0;try{n="function"==typeof e?e(t,i):e.messageHook(t,i)}catch(e){l(e)}return n}(i,e,t)));n&&c(e,t)}e.sendMessage=s,e.postMessage=function(e,t){t.isConflatable&&(0,jf.G)(r,(i=>i.handler===e&&!!i.msg&&i.msg.type===t.type&&!!i.msg.isConflatable&&i.msg.conflate(t)))||d(e,t)},e.installMessageHook=function(e,t){let i=o.get(e);i&&-1!==i.indexOf(t)||(i?i.push(t):o.set(e,[t]))},e.removeMessageHook=function(e,t){let i=o.get(e);if(!i)return;let n=i.indexOf(t);-1!==n&&(i[n]=null,p(i))},e.clearData=function(e){let t=o.get(e);t&&t.length>0&&(jf.RO.fill(t,null),p(t));for(const t of r)t.handler===e&&(t.handler=null,t.msg=null)},e.flush=function(){h||null===t||(t(),t=null,h=!0,u(),h=!1)},e.getExceptionHandler=function(){return l},e.setExceptionHandler=function(e){let t=l;return l=e,t};const r=new Vf,o=new WeakMap,a=new Set;let l=e=>{console.error(e)},h=!1;function c(e,t){try{e.processMessage(t)}catch(e){l(e)}}function d(e,n){r.addLast({handler:e,msg:n}),null===t&&(t=i(u))}function u(){if(t=null,r.isEmpty)return;let e={handler:null,msg:null};for(r.addLast(e);;){let t=r.removeFirst();if(t===e)return;t.handler&&t.msg&&s(t.handler,t.msg)}}function p(e){0===a.size&&i(f),a.add(e)}function f(){a.forEach(m),a.clear()}function m(e){jf.RO.removeAllWhere(e,g)}function g(e){return null===e}}(Lf||(Lf={}));var Hf,Xf=__webpack_require__(4050),Yf=__webpack_require__(1122);class Gf{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:i}=this._scrollTarget,n=Hf.SCROLL_EDGE_SIZE-i,s=Math.pow(n/Hf.SCROLL_EDGE_SIZE,2),r=Math.max(1,Math.round(s*Hf.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=r;break;case"left":e.scrollLeft-=r;break;case"right":e.scrollLeft+=r;break;case"bottom":e.scrollTop+=r}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||"copy",this.supportedActions=e.supportedActions||"all",this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});Hf.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise((e=>{this._resolve=e}));let i=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(i),this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation()}}moveDragImage(e,t){this.dragImage&&(this.dragImage.style.transform=`translate(${e}px, ${t}px)`)}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction)return Hf.dispatchDragLeave(this,this._currentTarget,null,e),void this._finalize("none");let t=Hf.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(e){let t=Hf.findScrollTarget(e);(this._scrollTarget||t)&&(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,i=this._currentTarget,n=this._currentElement,s=Hf.findElementBehidBackdrop(e,this.document);this._currentElement=s,s!==n&&s!==i&&Hf.dispatchDragExit(this,i,s,e),s!==n&&s!==i&&(i=Hf.dispatchDragEnter(this,s,i,e)),i!==t&&(this._currentTarget=i,Hf.dispatchDragLeave(this,t,i,e));let r=Hf.dispatchDragOver(this,i,e);this._setDropAction(r)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let i=this.dragImage.style;i.pointerEvents="none",i.position="fixed",i.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(e){if(e=Hf.validateAction(e,this.supportedActions),!this._override||this._dropAction!==e)switch(e){case"none":this._dropAction=e,this._override=Gf.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=e,this._override=Gf.overrideCursor("copy",this.document);break;case"link":this._dropAction=e,this._override=Gf.overrideCursor("alias",this.document);break;case"move":this._dropAction=e,this._override=Gf.overrideCursor("move",this.document)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}}function Zf(){return em.keyboardLayout}!function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});const{drag:i}=t;this.dropAction="none",this.mimeData=i.mimeData,this.proposedAction=i.proposedAction,this.supportedActions=i.supportedActions,this.source=i.source}}e.Event=t,e.overrideCursor=function(e,t=document){return Hf.overrideCursor(e,t)}}(Gf||(Gf={})),function(e){function t(t,n=document){if(i&&t==i.event)return i.element;e.cursorBackdrop.style.zIndex="-1000";const s=n.elementFromPoint(t.clientX,t.clientY);return e.cursorBackdrop.style.zIndex="",i={event:t,element:s},s}e.SCROLL_EDGE_SIZE=20,e.validateAction=function(e,t){return n[e]&s[t]?e:"none"},e.findElementBehidBackdrop=t;let i=null;e.findScrollTarget=function(i){let n=i.clientX,s=i.clientY,r=t(i);for(;r;r=r.parentElement){if(!r.hasAttribute("data-lm-dragscroll"))continue;let t=0,i=0;r===document.body&&(t=window.pageXOffset,i=window.pageYOffset);let o=r.getBoundingClientRect(),a=o.top+i,l=o.left+t,h=l+o.width,c=a+o.height;if(n=h||s=c)continue;let d,u=n-l+1,p=s-a+1,f=h-n,m=c-s,g=Math.min(u,p,f,m);if(g>e.SCROLL_EDGE_SIZE)continue;switch(g){case m:d="bottom";break;case p:d="top";break;case f:d="right";break;case u:d="left";break;default:throw"unreachable"}let v,O=r.scrollWidth-r.clientWidth,b=r.scrollHeight-r.clientHeight;switch(d){case"top":v=b>0&&r.scrollTop>0;break;case"left":v=O>0&&r.scrollLeft>0;break;case"right":v=O>0&&r.scrollLeft0&&r.scrollTop{n===o&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",r,!0),s.removeChild(e.cursorBackdrop))}))};let o=0;e.cursorBackdrop=function(){const e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}()}(Hf||(Hf={}));class Kf{constructor(e,t,i=[]){this.name=e,this._codes=t,this._keys=Kf.extractKeys(t),this._modifierKeys=Kf.convertToKeySet(i)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}}!function(e){e.extractKeys=function(e){let t=Object.create(null);for(let i in e)t[e[i]]=!0;return t},e.convertToKeySet=function(e){let t=Object(null);for(let i=0,n=e.length;i{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})}))}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=Wf.JSONExt.emptyObject){var i;let n=this._commands.get(e);return Promise.resolve(null!==(i=null==n?void 0:n.describedBy.call(void 0,t))&&void 0!==i?i:{args:null})}label(e,t=Wf.JSONExt.emptyObject){var i;let n=this._commands.get(e);return null!==(i=null==n?void 0:n.label.call(void 0,t))&&void 0!==i?i:""}mnemonic(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.mnemonic.call(void 0,t):-1}icon(e,t=Wf.JSONExt.emptyObject){var i;return null===(i=this._commands.get(e))||void 0===i?void 0:i.icon.call(void 0,t)}iconClass(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.iconClass.call(void 0,t):""}iconLabel(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.iconLabel.call(void 0,t):""}caption(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.caption.call(void 0,t):""}usage(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.usage.call(void 0,t):""}className(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.className.call(void 0,t):""}dataset(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return i?i.dataset.call(void 0,t):{}}isEnabled(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return!!i&&i.isEnabled.call(void 0,t)}isToggled(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return!!i&&i.isToggled.call(void 0,t)}isToggleable(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return!!i&&i.isToggleable}isVisible(e,t=Wf.JSONExt.emptyObject){let i=this._commands.get(e);return!!i&&i.isVisible.call(void 0,t)}execute(e,t=Wf.JSONExt.emptyObject){let i,n=this._commands.get(e);if(!n)return Promise.reject(new Error(`Command '${e}' not registered.`));try{i=n.execute.call(void 0,t)}catch(e){i=Promise.reject(e)}let s=Promise.resolve(i);return this._commandExecuted.emit({id:e,args:t,result:s}),s}addKeyBinding(e){let t=tm.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new Yf.DisposableDelegate((()=>{jf.RO.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})}))}processKeydownEvent(e){if(this._replaying||lm.isModifierKeyPressed(e))return;let t=lm.keystrokeForKeydownEvent(e);if(!t)return this._replayKeydownEvents(),void this._clearPendingState();this._keystrokes.push(t);let{exact:i,partial:n}=tm.matchKeyBinding(this._keyBindings,this._keystrokes,e);return i||n?(e.preventDefault(),e.stopPropagation(),i&&!n?(this._executeKeyBinding(i),void this._clearPendingState()):(i&&(this._exactKeyMatch=i),this._keydownEvents.push(e),void this._startTimer())):(this._replayKeydownEvents(),void this._clearPendingState())}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout((()=>{this._onPendingTimeout()}),tm.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(tm.replayKeyEvent),this._replaying=!1)}_executeKeyBinding(e){let{command:t,args:i}=e;if(this.hasCommand(t)&&this.isEnabled(t,i))this.execute(t,i);else{let i=this.hasCommand(t)?"enabled":"registered",n=`Cannot execute key binding '${e.keys.join(", ")}':`,s=`command '${t}' is not ${i}.`;console.warn(`${n} ${s}`)}}_clearPendingState(){this._clearTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}}!function(e){function t(e){let t="",i=!1,n=!1,s=!1,r=!1;for(let o of e.split(/\s+/))"Accel"===o?Rf.IS_MAC?n=!0:s=!0:"Alt"===o?i=!0:"Cmd"===o?n=!0:"Ctrl"===o?s=!0:"Shift"===o?r=!0:o.length>0&&(t=o);return{cmd:n,ctrl:s,alt:i,shift:r,key:t}}function i(e){let i="",n=t(e);return n.ctrl&&(i+="Ctrl "),n.alt&&(i+="Alt "),n.shift&&(i+="Shift "),n.cmd&&Rf.IS_MAC&&(i+="Cmd "),i+n.key}e.parseKeystroke=t,e.normalizeKeystroke=i,e.normalizeKeys=function(e){let t;return t=Rf.IS_WIN?e.winKeys||e.keys:Rf.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(i)},e.formatKeystroke=function(e){return"string"==typeof e?i(e):e.map(i).join(", ");function i(e){let i=[],n=Rf.IS_MAC?" ":"+",s=t(e);return s.ctrl&&i.push("Ctrl"),s.alt&&i.push("Alt"),s.shift&&i.push("Shift"),Rf.IS_MAC&&s.cmd&&i.push("Cmd"),i.push(s.key),i.map(tm.formatKey).join(n)}},e.isModifierKeyPressed=function(e){let t=Zf(),i=t.keyForKeydownEvent(e);return t.isModifierKey(i)},e.keystrokeForKeydownEvent=function(e){let t=Zf(),i=t.keyForKeydownEvent(e);if(!i||t.isModifierKey(i))return"";let n=[];return e.ctrlKey&&n.push("Ctrl"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),e.metaKey&&Rf.IS_MAC&&n.push("Cmd"),n.push(i),n.join(" ")}}(lm||(lm={})),function(e){e.CHORD_TIMEOUT=1e3,e.createCommand=function(e){return{execute:e.execute,describedBy:h("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},(()=>({args:null}))),label:h(e.label,n),mnemonic:h(e.mnemonic,s),icon:h(e.icon,l),iconClass:h(e.iconClass,n),iconLabel:h(e.iconLabel,n),caption:h(e.caption,n),usage:h(e.usage,n),className:h(e.className,n),dataset:h(e.dataset,a),isEnabled:e.isEnabled||r,isToggled:e.isToggled||o,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||r}},e.createKeyBinding=function(e){return{keys:lm.normalizeKeys(e),selector:c(e),command:e.command,args:e.args||Wf.JSONExt.emptyObject}},e.matchKeyBinding=function(e,t,i){let n=null,s=!1,r=1/0,o=0;for(let a=0,l=e.length;ar)continue;let p=Df.calculateSpecificity(l.selector);(!n||c=o)&&(n=l,r=c,o=p)}return{exact:n,partial:s}},e.replayKeyEvent=function(e){e.target.dispatchEvent(function(e){let t=document.createEvent("Event"),i=e.bubbles||!0,n=e.cancelable||!0;return t.initEvent(e.type||"keydown",i,n),t.key=e.key||"",t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}(e))},e.formatKey=function(e){return Rf.IS_MAC?t.hasOwnProperty(e)?t[e]:e:i.hasOwnProperty(e)?i[e]:e};const t={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},i={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},n=()=>"",s=()=>-1,r=()=>!0,o=()=>!1,a=()=>({}),l=()=>{};function h(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function c(e){if(-1!==e.selector.indexOf(","))throw new Error(`Selector cannot contain commas: ${e.selector}`);if(!Df.isValid(e.selector))throw new Error(`Invalid selector: ${e.selector}`);return e.selector}function d(e,t){if(e.lengtht.length?2:1}function u(e,t){let i=t.target,n=t.currentTarget;for(let t=0;null!==i;i=i.parentElement,++t){if(i.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(Df.matches(i,e))return t;if(i===n)return-1}return-1}}(tm||(tm={}));class hm{constructor(e){this.type="text",this.content=e}}class cm{constructor(e,t,i,n){this.type="element",this.tag=e,this.attrs=t,this.children=i,this.renderer=n}}function dm(e){let t,i={},n=[];for(let e=1,r=arguments.length;e=n;--r){const n=t[r],o=s?e.lastChild:e.childNodes[r];"text"===n.type||(n.renderer&&n.renderer.unrender?n.renderer.unrender(o,{attrs:n.attrs,children:n.children}):i(o,n.children,0,!1)),s&&e.removeChild(o)}}e.hostMap=new WeakMap,e.asContentArray=function(e){return e?e instanceof Array?e:[e]:[]},e.createDOMNode=t,e.updateContent=function e(n,r,o){if(r===o)return;let a=function(e,t){let i=e.firstChild,n=Object.create(null);for(let e of t)"element"===e.type&&e.attrs.key&&(n[e.attrs.key]={vNode:e,element:i}),i=i.nextSibling;return n}(n,r),l=r.slice(),h=n.firstChild,c=o.length;for(let i=0;i=l.length){t(o[i],n);continue}let r=l[i],c=o[i];if(r===c){h=h.nextSibling;continue}if("text"===r.type&&"text"===c.type){h.textContent!==c.content&&(h.textContent=c.content),h=h.nextSibling;continue}if("text"===r.type||"text"===c.type){jf.RO.insert(l,i,c),t(c,n,h);continue}if(!r.renderer!=!c.renderer){jf.RO.insert(l,i,c),t(c,n,h);continue}let d=c.attrs.key;if(d&&d in a){let e=a[d];e.vNode!==r&&(jf.RO.move(l,l.indexOf(e.vNode,i+1),i),n.insertBefore(e.element,h),r=e.vNode,h=e.element)}if(r===c){h=h.nextSibling;continue}let u=r.attrs.key;u&&u!==d?(jf.RO.insert(l,i,c),t(c,n,h)):r.tag===c.tag?(s(h,r.attrs,c.attrs),c.renderer?c.renderer.render(h,{attrs:c.attrs,children:c.children}):e(h,r.children,c.children),h=h.nextSibling):(jf.RO.insert(l,i,c),t(c,n,h))}i(n,l,c,!0)};const n={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function s(e,t,i){if(t===i)return;let s;for(s in t)s in n||s in i||("on"===s.substr(0,2)?e[s]=null:e.removeAttribute(s));for(s in i)s in n||t[s]===i[s]||("on"===s.substr(0,2)?e[s]=i[s]:e.setAttribute(s,i[s]));t.className!==i.className&&(void 0!==i.className?e.setAttribute("class",i.className):e.removeAttribute("class")),t.htmlFor!==i.htmlFor&&(void 0!==i.htmlFor?e.setAttribute("for",i.htmlFor):e.removeAttribute("for")),t.dataset!==i.dataset&&function(e,t,i){for(let n in t)n in i||e.removeAttribute(`data-${n}`);for(let n in i)t[n]!==i[n]&&e.setAttribute(`data-${n}`,i[n])}(e,t.dataset||{},i.dataset||{}),t.style!==i.style&&function(e,t,i){let n,s=e.style;for(n in t)n in i||(s[n]="");for(n in i)t[n]!==i[n]&&(s[n]=i[n])}(e,t.style||{},i.style||{})}}(nm||(nm={}));class um{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}}!function(e){e.calc=function(e,t){let i=e.length;if(0===i)return t;let n=0,s=0,r=0,o=0,a=0;for(let t=0;t0&&(o+=i.stretch,a++)}if(t===r)return 0;if(t<=n){for(let t=0;t=s){for(let t=0;t0&&n>l;){let t=n,s=o;for(let r=0;r0&&n>l;){let t=n/h;for(let s=0;s0&&n>l;){let t=n,s=o;for(let r=0;r=i.maxSize?(n-=i.maxSize-i.size,o-=i.stretch,i.size=i.maxSize,i.done=!0,h--,a--):(n-=l,i.size+=l)}}for(;h>0&&n>l;){let t=n/h;for(let s=0;s=i.maxSize?(n-=i.maxSize-i.size,i.size=i.maxSize,i.done=!0,h--):(n-=t,i.size+=t))}}}return 0},e.adjust=function(e,t,i){0!==e.length&&0!==i&&(i>0?function(e,t,i){let n=0;for(let i=0;i<=t;++i){let t=e[i];n+=t.maxSize-t.size}let s=0;for(let i=t+1,n=e.length;i=0&&r>0;--i){let t=e[i],n=t.maxSize-t.size;n>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+n,r-=n)}let o=i;for(let i=t+1,n=e.length;i0;++i){let t=e[i],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,i):function(e,t,i){let n=0;for(let i=t+1,s=e.length;i0;++i){let t=e[i],n=t.maxSize-t.size;n>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+n,r-=n)}let o=i;for(let i=t;i>=0&&o>0;--i){let t=e[i],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,-i))}}(sm||(sm={}));class pm{constructor(e){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new zf.Signal(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,zf.Signal.clearData(this))}}class fm{constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new zf.Signal(this),this._hiddenMode=fm.HiddenMode.Display,this.node=rm.createNode(e),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(fm.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&fm.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),zf.Signal.clearData(this),Lf.clearData(this),Xf.AttachedProperty.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(fm.Flag.IsDisposed)}get isAttached(){return this.testFlag(fm.Flag.IsAttached)}get isHidden(){return this.testFlag(fm.Flag.IsHidden)}get isVisible(){return this.testFlag(fm.Flag.IsVisible)}get title(){return rm.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this.isHidden&&this._toggleHidden(!1),e==fm.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=e,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(e&&this.contains(e))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let e=new fm.ChildMessage("child-removed",this);Lf.sendMessage(this._parent,e)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let e=new fm.ChildMessage("child-added",this);Lf.sendMessage(this._parent,e)}this.isDisposed||Lf.sendMessage(this,fm.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(fm.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(e.parent)throw new Error("Cannot change layout parent.");this._layout=e,e.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){Lf.postMessage(this,fm.Msg.UpdateRequest)}fit(){Lf.postMessage(this,fm.Msg.FitRequest)}activate(){Lf.postMessage(this,fm.Msg.ActivateRequest)}close(){Lf.sendMessage(this,fm.Msg.CloseRequest)}show(){if(this.testFlag(fm.Flag.IsHidden)&&(!this.isAttached||this.parent&&!this.parent.isVisible||Lf.sendMessage(this,fm.Msg.BeforeShow),this.clearFlag(fm.Flag.IsHidden),this._toggleHidden(!1),!this.isAttached||this.parent&&!this.parent.isVisible||Lf.sendMessage(this,fm.Msg.AfterShow),this.parent)){let e=new fm.ChildMessage("child-shown",this);Lf.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(fm.Flag.IsHidden)&&(!this.isAttached||this.parent&&!this.parent.isVisible||Lf.sendMessage(this,fm.Msg.BeforeHide),this.setFlag(fm.Flag.IsHidden),this._toggleHidden(!0),!this.isAttached||this.parent&&!this.parent.isVisible||Lf.sendMessage(this,fm.Msg.AfterHide),this.parent)){let e=new fm.ChildMessage("child-hidden",this);Lf.sendMessage(this.parent,e)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return 0!=(this._flags&e)}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(e){switch(e.type){case"resize":this.notifyLayout(e),this.onResize(e);break;case"update-request":this.notifyLayout(e),this.onUpdateRequest(e);break;case"fit-request":this.notifyLayout(e),this.onFitRequest(e);break;case"before-show":this.notifyLayout(e),this.onBeforeShow(e);break;case"after-show":this.setFlag(fm.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case"before-hide":this.notifyLayout(e),this.onBeforeHide(e);break;case"after-hide":this.clearFlag(fm.Flag.IsVisible),this.notifyLayout(e),this.onAfterHide(e);break;case"before-attach":this.notifyLayout(e),this.onBeforeAttach(e);break;case"after-attach":this.isHidden||this.parent&&!this.parent.isVisible||this.setFlag(fm.Flag.IsVisible),this.setFlag(fm.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case"before-detach":this.notifyLayout(e),this.onBeforeDetach(e);break;case"after-detach":this.clearFlag(fm.Flag.IsVisible),this.clearFlag(fm.Flag.IsAttached),this.notifyLayout(e),this.onAfterDetach(e);break;case"activate-request":this.notifyLayout(e),this.onActivateRequest(e);break;case"close-request":this.notifyLayout(e),this.onCloseRequest(e);break;case"child-added":this.notifyLayout(e),this.onChildAdded(e);break;case"child-removed":this.notifyLayout(e),this.onChildRemoved(e);break;default:this.notifyLayout(e)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(e){this.parent?this.parent=null:this.isAttached&&fm.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(e){if(e)switch(this._hiddenMode){case fm.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case fm.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case fm.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case fm.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case fm.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case fm.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}}!function(e){var t,i,n;(t=e.HiddenMode||(e.HiddenMode={}))[t.Display=0]="Display",t[t.Scale=1]="Scale",t[t.ContentVisibility=2]="ContentVisibility",(i=e.Flag||(e.Flag={}))[i.IsDisposed=1]="IsDisposed",i[i.IsAttached=2]="IsAttached",i[i.IsHidden=4]="IsHidden",i[i.IsVisible=8]="IsVisible",i[i.DisallowLayout=16]="DisallowLayout",(n=e.Msg||(e.Msg={})).BeforeShow=new Uf("before-show"),n.AfterShow=new Uf("after-show"),n.BeforeHide=new Uf("before-hide"),n.AfterHide=new Uf("after-hide"),n.BeforeAttach=new Uf("before-attach"),n.AfterAttach=new Uf("after-attach"),n.BeforeDetach=new Uf("before-detach"),n.AfterDetach=new Uf("after-detach"),n.ParentChanged=new Uf("parent-changed"),n.UpdateRequest=new Ff("update-request"),n.FitRequest=new Ff("fit-request"),n.ActivateRequest=new Ff("activate-request"),n.CloseRequest=new Ff("close-request"),e.ChildMessage=class extends Uf{constructor(e,t){super(e),this.child=t}};class s extends Uf{constructor(e,t){super("resize"),this.width=e,this.height=t}}e.ResizeMessage=s,function(e){e.UnknownSize=new e(-1,-1)}(s=e.ResizeMessage||(e.ResizeMessage={})),e.attach=function(t,i,n=null){if(t.parent)throw new Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw new Error("Widget is already attached.");if(!i.isConnected)throw new Error("Host is not attached.");Lf.sendMessage(t,e.Msg.BeforeAttach),i.insertBefore(t.node,n),Lf.sendMessage(t,e.Msg.AfterAttach)},e.detach=function(t){if(t.parent)throw new Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw new Error("Widget is not attached.");Lf.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),Lf.sendMessage(t,e.Msg.AfterDetach)}}(fm||(fm={})),function(e){e.titleProperty=new Xf.AttachedProperty({name:"title",create:e=>new pm({owner:e})}),e.createNode=function(e){return e.node||document.createElement(e.tag||"div")}}(rm||(rm={}));class mm{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,zf.Signal.clearData(this),Xf.AttachedProperty.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw new Error("Cannot change parent widget.");if(e.layout!==this)throw new Error("Invalid parent widget.");this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth="",e.minHeight="",e.maxWidth="",e.maxHeight="",this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e)}}init(){for(const e of this)e.parent=this.parent}onResize(e){for(const e of this)Lf.sendMessage(e,fm.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(const e of this)Lf.sendMessage(e,fm.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(const t of this)Lf.sendMessage(t,e)}onAfterAttach(e){for(const t of this)Lf.sendMessage(t,e)}onBeforeDetach(e){for(const t of this)Lf.sendMessage(t,e)}onAfterDetach(e){for(const t of this)Lf.sendMessage(t,e)}onBeforeShow(e){for(const t of this)t.isHidden||Lf.sendMessage(t,e)}onAfterShow(e){for(const t of this)t.isHidden||Lf.sendMessage(t,e)}onBeforeHide(e){for(const t of this)t.isHidden||Lf.sendMessage(t,e)}onAfterHide(e){for(const t of this)t.isHidden||Lf.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}}!function(e){e.getHorizontalAlignment=function(e){return om.horizontalAlignmentProperty.get(e)},e.setHorizontalAlignment=function(e,t){om.horizontalAlignmentProperty.set(e,t)},e.getVerticalAlignment=function(e){return om.verticalAlignmentProperty.get(e)},e.setVerticalAlignment=function(e,t){om.verticalAlignmentProperty.set(e,t)}}(mm||(mm={}));class gm{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position="",e.top="",e.left="",e.width="",e.height="",e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=Af.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,i,n){let s=Math.max(this._minWidth,Math.min(i,this._maxWidth)),r=Math.max(this._minHeight,Math.min(n,this._maxHeight));if(s"center",changed:t}),e.verticalAlignmentProperty=new Xf.AttachedProperty({name:"verticalAlignment",create:()=>"top",changed:t})}(om||(om={}));class vm extends mm{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let i=this._widgets.indexOf(t),n=Math.max(0,Math.min(e,this._widgets.length));if(-1===i)return jf.RO.insert(this._widgets,n,t),void(this.parent&&this.attachWidget(n,t));n===this._widgets.length&&n--,i!==n&&(jf.RO.move(this._widgets,i,n),this.parent&&this.moveWidget(i,n,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=jf.RO.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(const t of this)this.attachWidget(e++,t)}attachWidget(e,t){let i=this.parent.node.children[e];this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,i),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterAttach)}moveWidget(e,t,i){this.parent.isAttached&&Lf.sendMessage(i,fm.Msg.BeforeDetach),this.parent.node.removeChild(i.node),this.parent.isAttached&&Lf.sendMessage(i,fm.Msg.AfterDetach);let n=this.parent.node.children[t];this.parent.isAttached&&Lf.sendMessage(i,fm.Msg.BeforeAttach),this.parent.node.insertBefore(i.node,n),this.parent.isAttached&&Lf.sendMessage(i,fm.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterDetach)}}!function(e){e.clampDimension=function(e){return Math.max(0,Math.floor(e))}}(am||(am={}));var Om,bm,_m,ym,wm,xm,Sm,km,Tm,Cm,Pm=am;class Mm extends vm{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=e.renderer,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=am.clampDimension(e.spacing))}dispose(){for(const e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=am.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map((e=>e.size))}relativeSizes(){return Om.normalize(this._sizers.map((e=>e.size)))}setRelativeSizes(e,t=!0){let i=this._sizers.length,n=e.slice(0,i);for(;n.length0&&(e.sizeHint=e.size);sm.adjust(this._sizers,e,i),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let i=new gm(t),n=Om.createHandle(this.renderer),s=Om.averageSize(this._sizers),r=Om.createSizer(s);jf.RO.insert(this._items,e,i),jf.RO.insert(this._sizers,e,r),jf.RO.insert(this._handles,e,n),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(n),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){jf.RO.move(this._items,e,t),jf.RO.move(this._sizers,e,t),jf.RO.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let i=jf.RO.removeAt(this._items,e),n=jf.RO.removeAt(this._handles,e);jf.RO.removeAt(this._sizers,e),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(n),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterDetach),i.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,i,n,s,r,o){const a=this._items[e];if(a.isHidden)return;let l=this._handles[e].style;t?(i+=this.widgetOffset,a.update(i,n,o,s),i+=o,l.top=`${n}px`,l.left=`${i}px`,l.width=`${this._spacing}px`,l.height=`${s}px`):(n+=this.widgetOffset,a.update(i,n,r,o),n+=o,l.top=`${n}px`,l.left=`${i}px`,l.width=`${r}px`,l.height=`${this._spacing}px`)}_fit(){let e=0,t=-1;for(let i=0,n=this._items.length;i0&&(r.sizeHint=r.size),t.isHidden?(r.minSize=0,r.maxSize=0):(t.fit(),r.stretch=Mm.getStretch(t.widget),i?(r.minSize=t.minWidth,r.maxSize=t.maxWidth,n+=t.minWidth,s=Math.max(s,t.minHeight)):(r.minSize=t.minHeight,r.maxSize=t.maxHeight,s+=t.minHeight,n=Math.max(n,t.minWidth)))}let r=this._box=Af.boxSizing(this.parent.node);n+=r.horizontalSum,s+=r.verticalSum;let o=this.parent.node.style;o.minWidth=`${n}px`,o.minHeight=`${s}px`,this._dirty=!0,this.parent.parent&&Lf.sendMessage(this.parent.parent,fm.Msg.FitRequest),this._dirty&&Lf.sendMessage(this.parent,fm.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let i=0;for(let e=0,t=this._items.length;e0){let e;if(e=h?Math.max(0,r-this._fixed):Math.max(0,o-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=sm.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":a=0,l=t/2;break;case"end":a=0,l=t;break;case"justify":a=t/i,l=0;break;default:throw"unreachable"}}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:function(e){e.parent&&e.parent.layout instanceof Mm&&e.parent.fit()}}),e.createSizer=function(e){let t=new um;return t.sizeHint=Math.floor(e),t},e.createHandle=function(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t},e.averageSize=function(e){return e.reduce(((e,t)=>e+t.size),0)/e.length||0},e.normalize=function(e){let t=e.length;if(0===t)return[];let i=e.reduce(((e,t)=>e+Math.abs(t)),0);return 0===i?e.map((e=>1/t)):e.map((e=>e/i))}}(Om||(Om={}));class Em extends Mm{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=Pm.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){const i=this._titles[e],n=i.classList.contains("lm-mod-expanded"),s=bm.createTitle(this.renderer,t.title,n);this._titles[e]=s,this.parent.node.replaceChild(s,i)}insertWidget(e,t){t.id||(t.id=`id-${Wf.UUID.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){const i=bm.createTitle(this.renderer,t.title);jf.RO.insert(this._titles,e,i),this.parent.node.appendChild(i),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",i.id),super.attachWidget(e,t)}moveWidget(e,t,i){jf.RO.move(this._titles,e,t),super.moveWidget(e,t,i)}detachWidget(e,t){const i=jf.RO.removeAt(this._titles,e);this.parent.node.removeChild(i),super.detachWidget(e,t)}updateItemPosition(e,t,i,n,s,r,o){const a=this._titles[e].style;a.top=`${n}px`,a.left=`${i}px`,a.height=`${this.widgetOffset}px`,a.width=t?`${s}px`:`${r}px`,super.updateItemPosition(e,t,i,n,s,r,o)}}!function(e){e.createTitle=function(e,t,i=!0){const n=e.createSectionTitle(t);return n.style.position="absolute",n.style.contain="strict",n.setAttribute("aria-label",`${t.label} Section`),n.setAttribute("aria-expanded",i?"true":"false"),n.setAttribute("aria-controls",t.owner.id),i&&n.classList.add("lm-mod-expanded"),n}}(bm||(bm={}));class Am extends fm{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=_m.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}}!function(e){e.createLayout=function(e){return e.layout||new vm}}(_m||(_m={}));class Rm extends Am{constructor(e={}){super({layout:ym.createLayout(e)}),this._handleMoved=new zf.Signal(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){if(0!==e.button)return;let t,i=this.layout,n=jf.RO.findFirstIndex(i.handles,(t=>t.contains(e.target)));if(-1===n)return;e.preventDefault(),e.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let s=i.handles[n],r=s.getBoundingClientRect();t="horizontal"===i.orientation?e.clientX-r.left:e.clientY-r.top;let o=window.getComputedStyle(s),a=Gf.overrideCursor(o.cursor);this._pressData={index:n,delta:t,override:a}}_evtPointerMove(e){let t;e.preventDefault(),e.stopPropagation();let i=this.layout,n=this.node.getBoundingClientRect();t="horizontal"===i.orientation?e.clientX-n.left-this._pressData.delta:e.clientY-n.top-this._pressData.delta,i.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}}!function(e){class t{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t,e.getStretch=function(e){return Mm.getStretch(e)},e.setStretch=function(e,t){Mm.setStretch(e,t)}}(Rm||(Rm={})),function(e){e.createLayout=function(e){return e.layout||new Mm({renderer:e.renderer||Rm.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}}(ym||(ym={}));class Dm extends Rm{constructor(e={}){super({...e,layout:wm.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new zf.Signal(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){const t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){const t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e)}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(e){const t=jf.RO.findFirstIndex(this.widgets,(t=>t.contains(e.owner)));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){const t=this.layout,i=t.widgets[e];if(!i)return;const n=i.isHidden,s=t.absoluteSizes(),r=(n?-1:1)*this.spacing,o=s.reduce(((e,t)=>e+t));let a=[...s];if(n){const t=this._widgetSizesCache.get(i);if(!t)return;a[e]+=t;const n=a.map((e=>e-t>0)).lastIndexOf(!0);-1===n?a.forEach(((i,n)=>{n!==e&&(a[n]-=s[n]/o*(t-r))})):a[n]-=t-r}else{const t=s[e];this._widgetSizesCache.set(i,t),a[e]=0;const n=a.map((e=>e>0)).lastIndexOf(!0);if(-1===n)return;a[n]=s[n]+t+r}return a.map((e=>e/(o+r)))}_evtClick(e){const t=e.target;if(t){const i=jf.RO.findFirstIndex(this.titles,(e=>e.contains(t)));i>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(i))}}_eventKeyDown(e){if(e.defaultPrevented)return;const t=e.target;let i=!1;if(t){const n=jf.RO.findFirstIndex(this.titles,(e=>e.contains(t)));if(n>=0){const s=e.keyCode.toString();if(e.key.match(/Space|Enter/)||s.match(/13|32/))t.click(),i=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||s.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||s.match(/38|40/)){const t=e.key.match(/ArrowLeft|ArrowUp/)||s.match(/37|38/)?-1:1,r=this.titles.length,o=(n+r+t)%r;this.titles[o].focus(),i=!0}else"End"===e.key||"35"===s?(this.titles[this.titles.length-1].focus(),i=!0):"Home"!==e.key&&"36"!==s||(this.titles[0].focus(),i=!0)}i&&e.preventDefault()}}_toggleExpansion(e){const t=this.titles[e],i=this.layout.widgets[e],n=this._computeWidgetSize(e);n&&this.setRelativeSizes(n,!1),i.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),i.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),i.hide()),this._expansionToggled.emit(e)}}!function(e){class t extends Rm.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){const t=document.createElement("h3");t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(const i in e.dataset)t.dataset[i]=e.dataset[i];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";const i=t.appendChild(document.createElement("span"));return i.className="lm-AccordionPanel-titleLabel",i.textContent=e.label,i.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t}(Dm||(Dm={})),function(e){e.createLayout=function(e){return e.layout||new Em({renderer:e.renderer||Dm.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}}(wm||(wm={}));class Im extends vm{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=Pm.clampDimension(e.spacing))}dispose(){for(const e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=Pm.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){jf.RO.insert(this._items,e,new gm(t)),jf.RO.insert(this._sizers,e,new um),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){jf.RO.move(this._items,e,t),jf.RO.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let i=jf.RO.removeAt(this._items,e);jf.RO.removeAt(this._sizers,e),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterDetach),i.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0;for(let t=0,i=this._items.length;t0)switch(this._alignment){case"start":break;case"center":l=0,h=n/2;break;case"end":l=0,h=n;break;case"justify":l=n/i,h=0;break;default:throw"unreachable"}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.sizeBasisProperty=new Xf.AttachedProperty({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.isHorizontal=function(e){return"left-to-right"===e||"right-to-left"===e},e.clampSpacing=function(e){return Math.max(0,Math.floor(e))}}(xm||(xm={}));class qm extends Am{constructor(e={}){super({layout:Sm.createLayout(e)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}}!function(e){e.getStretch=function(e){return Im.getStretch(e)},e.setStretch=function(e,t){Im.setStretch(e,t)},e.getSizeBasis=function(e){return Im.getSizeBasis(e)},e.setSizeBasis=function(e,t){Im.setSizeBasis(e,t)}}(qm||(qm={})),function(e){e.createLayout=function(e){return e.layout||new Im(e)}}(Sm||(Sm={}));class Lm extends fm{constructor(e){super({node:km.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(fm.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||Lm.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=km.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){const t=e.map((e=>km.createItem(this.commands,e)));return t.forEach((e=>this._items.push(e))),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){jf.RO.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){this._results=null,""!==this.inputNode.value?this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit":this.node.getElementsByClassName("lm-close-icon")[0].style.display="none",this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(this.isHidden)return;let t=this.inputNode.value,i=this.contentNode,n=this._results;if(n||(n=this._results=km.search(this._items,t),this._activeIndex=t?jf.RO.findFirstIndex(n,km.canActivate):-1),!t&&0===n.length)return void im.render(null,i);if(t&&0===n.length){let e=this.renderer.renderEmptyMessage({query:t});return void im.render(e,i)}let s=this.renderer,r=this._activeIndex,o=new Array(n.length);for(let e=0,t=n.length;e=n.length)i.scrollTop=0;else{let e=i.children[r];Af.scrollIntoViewIfNeeded(i,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon"))return this.inputNode.value="",void this.refresh();let t=jf.RO.findFirstIndex(this.contentNode.children,(t=>t.contains(e.target)));-1!==t&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,i=ee-t)),h=r.slice(0,l),c=r.slice(l);for(let e=0,t=c.length;ei.command===e&&Wf.JSONExt.deepEqual(i.args,t)))||null}}}(km||(km={}));class Nm extends fm{constructor(e){super({node:Tm.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new zf.Signal(this),this._menuRequested=new zf.Signal(this),this.addClass("lm-Menu"),this.setFlag(fm.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||Nm.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),-1===e||Tm.canActivate(this._items[e])||(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,i=t{this.activeIndex=e}})}im.render(r,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let i=this._parentMenu;i&&(this._parentMenu=null,i._childIndex=-1,i._childMenu=null,i.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;return void(e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next"))}if(40===t)return void this.activateNextItem();let i=Zf().keyForKeydownEvent(e);if(!i)return;let n=this._activeIndex+1,s=Tm.findMnemonic(this._items,i,n);-1===s.index||s.multiple?-1!==s.index?this.activeIndex=s.index:-1!==s.auto&&(this.activeIndex=s.auto):(this.activeIndex=s.index,this.triggerActiveItem())}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let t=jf.RO.findFirstIndex(this.contentNode.children,(t=>Af.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex)return this._cancelOpenTimer(),void this._cancelCloseTimer();-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let i=this.activeItem;i&&"submenu"===i.type&&i.submenu&&this._startOpenTimer()}_evtMouseEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu)return void(this.activeIndex=-1);let{clientX:t,clientY:i}=e;Af.hitTest(this._childMenu.node,t,i)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtMouseDown(e){this._parentMenu||(Tm.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let t=this.activeItem;if(!t||"submenu"!==t.type||!t.submenu)return void this._closeChildMenu();let i=t.submenu;if(i===this._childMenu)return;Nm.saveWindowData(),this._closeChildMenu(),this._childMenu=i,this._childIndex=this._activeIndex,i._parentMenu=this,Lf.sendMessage(this,fm.Msg.UpdateRequest);let n=this.contentNode.children[this._activeIndex];Tm.openSubmenu(i,n),e&&(i.activeIndex=-1,i.activateNextItem()),i.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout((()=>{this._openTimerID=0,this._openChildMenu()}),Tm.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout((()=>{this._closeTimerID=0,this._closeChildMenu()}),Tm.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){Tm.saveWindowData()}}!function(e){class t{renderItem(e){let t=this.createItemClass(e),i=this.createItemDataset(e),n=this.createItemARIA(e);return dm.li({className:t,dataset:i,tabindex:"0",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return dm.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return dm.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return dm.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return dm.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.item.isVisible||(t+=" lm-mod-hidden"),e.active&&(t+=" lm-mod-active"),e.collapsed&&(t+=" lm-mod-collapsed");let i=e.item.className;return i&&(t+=` ${i}`),t}createItemDataset(e){let t,{type:i,command:n,dataset:s}=e.item;return t="command"===i?{...s,type:i,command:n}:{...s,type:i},t}createIconClass(e){let t="lm-Menu-itemIcon",i=e.item.iconClass;return i?`${t} ${i}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true",e.item.isEnabled||(t["aria-disabled"]="true");break;default:e.item.isEnabled||(t["aria-disabled"]="true"),t.role="menuitem"}return t}formatLabel(e){let{label:t,mnemonic:i}=e.item;if(i<0||i>=t.length)return t;let n=t.slice(0,i),s=t.slice(i+1),r=t[i];return[n,dm.span({className:"lm-Menu-itemMnemonic"},r),s]}formatShortcut(e){let t=e.item.keyBinding;return t?lm.formatKeystroke(t.keys):null}}e.Renderer=t,e.defaultRenderer=new t}(Nm||(Nm={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,i=0;function n(){return i>0?(i--,t):r()}function s(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function r(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}e.saveWindowData=function(){t=r(),i++},e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-Menu-content",e.appendChild(t),t.setAttribute("role","menu"),e.tabIndex=0,e},e.canActivate=s,e.createItem=function(e,t){return new o(e.commands,t)},e.hitTestMenus=function(e,t,i){for(let n=e;n;n=n.childMenu)if(Af.hitTest(n.node,t,i))return!0;return!1},e.computeCollapsed=function(e){let t=new Array(e.length);jf.RO.fill(t,!1);let i=0,n=e.length;for(;i=0;--s){let i=e[s];if(i.isVisible){if("separator"!==i.type)break;t[s]=!0}}let r=!1;for(;++ia+h&&(t=a+h-f),!r&&i+m>l+c&&(i>l+c?i=l+c-m:i-=m),p.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,i)}px`,p.opacity="1"},e.openSubmenu=function(t,i){const s=n();let r=s.pageXOffset,o=s.pageYOffset,a=s.clientWidth,l=s.clientHeight;Lf.sendMessage(t,fm.Msg.UpdateRequest);let h=l,c=t.node,d=c.style;d.opacity="0",d.maxHeight=`${h}px`,fm.attach(t,document.body);let{width:u,height:p}=c.getBoundingClientRect(),f=Af.boxSizing(t.node),m=i.getBoundingClientRect(),g=m.right-e.SUBMENU_OVERLAP;g+u>r+a&&(g=m.left+e.SUBMENU_OVERLAP-u);let v=m.top-f.borderTop-f.paddingTop;v+p>o+l&&(v=m.bottom+f.borderBottom+f.paddingBottom-p),d.transform=`translate(${Math.max(0,g)}px, ${Math.max(0,v)}px`,d.opacity="1"},e.findMnemonic=function(e,t,i){let n=-1,r=-1,o=!1,a=t.toUpperCase();for(let t=0,l=e.length;t=0&&ui.command===e&&Wf.JSONExt.deepEqual(i.args,t)))||null}return null}}}(Tm||(Tm={})),function(e){function t(e,t){let i=e.rank,n=t.rank;return i!==n?i=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,i=this._titles[t]||null,n=e,s=this._titles[n]||null;this._currentIndex=n,this._previousTitle=i,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:i,currentIndex:n,currentTitle:s})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute("aria-label",e):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute("aria-orientation",e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let i=Qm.asTitle(t),n=this._titles.indexOf(i),s=Math.max(0,Math.min(e,this._titles.length));return-1===n?(jf.RO.insert(this._titles,s,i),i.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(s,i),i):(s===this._titles.length&&s--,n===s||(jf.RO.move(this._titles,n,s),this.update(),this._adjustCurrentForMove(n,s)),i)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=jf.RO.removeAt(this._titles,e);t&&(t.changed.disconnect(this._onTitleChanged,this),t===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,t))}clearTabs(){if(0===this._titles.length)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(e){var t;let i=this._titles,n=this.renderer,s=this.currentTitle,r=new Array(i.length);const o=null!==(t=this._getCurrentTabindex())&&void 0!==t?t:this._currentIndex>-1?this._currentIndex:0;for(let e=0,t=i.length;eAf.hitTest(t,e.clientX,e.clientY)));if(-1===i)return;let n=this.titles[i],s=t[i].querySelector(".lm-TabBar-tabLabel");if(s&&s.contains(e.target)){let e=n.label||"",t=s.innerHTML;s.innerHTML="";let i=document.createElement("input");i.classList.add("lm-TabBar-tabInput"),i.value=e,s.appendChild(i);let r=()=>{i.removeEventListener("blur",r),s.innerHTML=t,this.node.addEventListener("keydown",this)};i.addEventListener("dblclick",(e=>e.stopPropagation())),i.addEventListener("blur",r),i.addEventListener("keydown",(e=>{"Enter"===e.key?(""!==i.value&&(n.label=n.caption=i.value),r()):"Escape"===e.key&&r()})),this.node.removeEventListener("keydown",this),i.select(),i.focus(),s.children.length>0&&s.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,i,n;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE)if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){const t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{const i=jf.RO.findFirstIndex(this.contentNode.children,(e=>e.contains(t)));i>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=i)}}else if(Bm.includes(e.key)){const s=[...this.contentNode.children];if(this.addButtonEnabled&&s.push(this.addButtonNode),s.length<=1)return;e.preventDefault(),e.stopPropagation();let r,o=s.indexOf(document.activeElement);-1===o&&(o=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?r=null!==(t=s[o+1])&&void 0!==t?t:s[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?r=null!==(i=s[o-1])&&void 0!==i?i:s[s.length-1]:"Home"===e.key?r=s[0]:"End"===e.key&&(r=s[s.length-1]),r&&(null===(n=s[o])||void 0===n||n.setAttribute("tabindex","-1"),null==r||r.setAttribute("tabindex","0"),r.focus())}}_evtPointerDown(e){if(0!==e.button&&1!==e.button)return;if(this._dragData)return;if(e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),i=this.contentNode.children,n=jf.RO.findFirstIndex(i,(t=>Af.hitTest(t,e.clientX,e.clientY)));if(-1===n&&!t)return;if(e.preventDefault(),e.stopPropagation(),this._dragData={tab:i[n],index:n,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),1===e.button||t)return;let s=i[n].querySelector(this.renderer.closeIconSelector);s&&s.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===n?this.currentIndex=-1:this.currentIndex=n,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let i=this.contentNode.children;if(t.dragActive||Qm.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=Qm.snapTabLayout(i,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=Gf.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&Qm.detachExceeded(t,e)){t.detachRequested=!0;let n=t.index,s=e.clientX,r=e.clientY,o=i[n],a=this._titles[n];if(this._tabDetachRequested.emit({index:n,title:a,tab:o,clientX:s,clientY:r,offset:t.tabPressOffset}),t.dragAborted)return}Qm.layoutTabs(i,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;const t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target))return void this._addRequested.emit(void 0);let i=this.contentNode.children,n=jf.RO.findFirstIndex(i,(t=>Af.hitTest(t,e.clientX,e.clientY)));if(n!==t.index)return;let s=this._titles[n];if(!s.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:n,title:s});let r=i[n].querySelector(this.renderer.closeIconSelector);return r&&r.contains(e.target)?void this._tabCloseRequested.emit({index:n,title:s}):void 0}if(0!==e.button)return;Qm.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging");let i=Qm.parseTransitionDuration(t.tab);setTimeout((()=>{if(t.dragAborted)return;this._dragData=null,Qm.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,i=t.targetIndex;-1!==i&&e!==i&&(jf.RO.move(this._titles,e,i),this._adjustCurrentForMove(e,i),this._tabMoved.emit({fromIndex:e,toIndex:i,title:this._titles[i]}),Lf.sendMessage(this,fm.Msg.UpdateRequest))}),i)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),e.dragAborted=!0,e.dragActive&&(Qm.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,t){let i=this.currentTitle,n=this._currentIndex,s=this.insertBehavior;if("select-tab"===s||"select-tab-if-needed"===s&&-1===n)return this._currentIndex=e,this._previousTitle=i,void this._currentChanged.emit({previousIndex:n,previousTitle:i,currentIndex:e,currentTitle:t});n>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let i=this._currentIndex,n=this.removeBehavior;if(i===e){if(0===this._titles.length)return this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});if("select-tab-after"===n)return this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});if("select-tab-before"===n)return this._currentIndex=Math.max(0,e-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});if("select-previous-tab"===n)return this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}else i>e&&this._currentIndex--}_onTitleChanged(e){this.update()}}var Qm,zm,jm,Wm,Vm,Um,Fm,Hm;!function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption,i=this.createTabKey(e),n=i,s=this.createTabStyle(e),r=this.createTabClass(e),o=this.createTabDataset(e),a=this.createTabARIA(e);return e.title.closable?dm.li({id:n,key:i,className:r,title:t,style:s,dataset:o,...a},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):dm.li({id:n,key:i,className:r,title:t,style:s,dataset:o,...a},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){const{title:t}=e;let i=this.createIconClass(e);return dm.div({className:i},t.icon,t.iconLabel)}renderLabel(e){return dm.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return dm.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=" lm-mod-closable"),e.current&&(t+=" lm-mod-current"),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!==(t=e.tabIndex)&&void 0!==t?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",i=e.title.iconClass;return i?`${t} ${i}`:t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t,e.addButtonSelector=".lm-TabBar-addButton"}($m||($m={})),function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let i=document.createElement("div");return i.className="lm-TabBar-addButton lm-mod-hidden",i.setAttribute("tabindex","-1"),e.appendChild(i),e},e.asTitle=function(e){return e instanceof pm?e:new pm(e)},e.parseTransitionDuration=function(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)},e.snapTabLayout=function(e,t){let i=new Array(e.length);for(let n=0,s=e.length;n=e.DRAG_THRESHOLD||s>=e.DRAG_THRESHOLD},e.detachExceeded=function(t,i){let n=t.contentRect;return i.clientX=n.right+e.DETACH_THRESHOLD||i.clientY=n.bottom+e.DETACH_THRESHOLD},e.layoutTabs=function(e,t,i,n){let s,r,o,a;"horizontal"===n?(s=t.pressX,r=i.clientX-t.contentRect.left,o=i.clientX,a=t.contentRect.width):(s=t.pressY,r=i.clientY-t.contentRect.top,o=i.clientY,a=t.contentRect.height);let l=t.index,h=r-t.tabPressPos,c=h+t.tabSize;for(let i=0,r=e.length;i>1);if(it.index&&c>u)r=-t.tabSize-d.margin+"px",l=Math.max(l,i);else if(i===t.index){let e=o-s,i=a-(t.tabPos+t.tabSize);r=`${Math.max(-t.tabPos,Math.min(e,i))}px`}else r="";"horizontal"===n?e[i].style.left=r:e[i].style.top=r}t.targetIndex=l},e.finalizeTabPosition=function(e,t){let i,n;if(i="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)n=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];n=t.pos+t.size-e.tabSize-e.tabPos}else n=e.tabLayout[e.targetIndex].pos-e.tabPos;let s=i-(e.tabPos+e.tabSize),r=Math.max(-e.tabPos,Math.min(n,s));"horizontal"===t?e.tab.style.left=`${r}px`:e.tab.style.top=`${r}px`},e.resetTabPositions=function(e,t){for(const i of e)"horizontal"===t?i.style.left="":i.style.top=""}}(Qm||(Qm={}));class Xm extends mm{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=Pm.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:fm.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach((e=>{e.dispose()})),this._box=null,this._root=null,this._items.clear();for(const t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(const e of this.tabBars())if(e.titles.length>1)for(const t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=Pm.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,jf.cS)()}widgets(){return this._root?this._root.iterUserWidgets():(0,jf.cS)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,jf.cS)()}tabBars(){return this._root?this._root.iterTabBars():(0,jf.cS)()}handles(){return this._root?this._root.iterHandles():(0,jf.cS)()}moveHandle(e,t,i){let n=e.classList.contains("lm-mod-hidden");if(!this._root||n)return;let s,r=this._root.findSplitNode(e);r&&(s="horizontal"===r.node.orientation?t-e.offsetLeft:i-e.offsetTop,0!==s&&(r.node.holdSizes(),sm.adjust(r.node.sizers,r.index,s),this.parent&&this.parent.update()))}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,i=new Set;t=e.main?zm.normalizeAreaConfig(e.main,i):null;let n=this.widgets(),s=this.tabBars(),r=this.handles();this._root=null;for(const e of n)i.has(e)||(e.parent=null);for(const e of s)e.dispose();for(const e of r)e.parentNode&&e.parentNode.removeChild(e);for(const e of i)e.parent=this.parent;this._root=t?zm.realizeAreaConfig(t,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):null,this.parent&&(i.forEach((e=>{this.attachWidget(e)})),this.parent.fit())}addWidget(e,t={}){let i=t.ref||null,n=t.mode||"tab-after",s=null;if(this._root&&i&&(s=this._root.findTabNode(i)),i&&!s)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,n){case"tab-after":this._insertTab(e,i,s,!0);break;case"tab-before":this._insertTab(e,i,s,!1);break;case"split-top":this._insertSplit(e,i,s,"vertical",!1);break;case"split-left":this._insertSplit(e,i,s,"horizontal",!1);break;case"split-right":this._insertSplit(e,i,s,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,i,s,"vertical",!0);break;case"merge-top":this._insertSplit(e,i,s,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,i,s,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,i,s,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,i,s,"vertical",!0,!0)}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=Af.boxSizing(this.parent.node));let i=this.parent.node.getBoundingClientRect(),n=e-i.left-this._box.borderLeft,s=t-i.top-this._box.borderTop,r=this._root.hitTestTabNodes(n,s);if(!r)return null;let{tabBar:o,top:a,left:l,width:h,height:c}=r,d=this._box.borderLeft+this._box.borderRight,u=this._box.borderTop+this._box.borderBottom;return{tabBar:o,x:n,y:s,top:a,left:l,right:i.width-d-(l+h),bottom:i.height-u-(a+c),width:h,height:c}}init(){super.init();for(const e of this)this.attachWidget(e);for(const e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new gm(e)),this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(zm.removeAria(e),t.tabBar.titles.length>1)return t.tabBar.removeTab(e.title),void(this._hiddenMode===fm.HiddenMode.Scale&&1==t.tabBar.titles.length&&(t.tabBar.titles[0].owner.hiddenMode=fm.HiddenMode.Display));if(t.tabBar.dispose(),this._root===t)return void(this._root=null);this._root.holdAllSizes();let i=t.parent;t.parent=null;let n=jf.RO.removeFirstOf(i.children,t),s=jf.RO.removeAt(i.handles,n);if(jf.RO.removeAt(i.sizers,n),s.parentNode&&s.parentNode.removeChild(s),i.children.length>1)return void i.syncHandles();let r=i.parent;i.parent=null;let o=i.children[0],a=i.handles[0];if(i.children.length=0,i.handles.length=0,i.sizers.length=0,a.parentNode&&a.parentNode.removeChild(a),this._root===i)return o.parent=null,void(this._root=o);let l=r,h=l.children.indexOf(i);if(o instanceof zm.TabLayoutNode)return o.parent=l,void(l.children[h]=o);let c=jf.RO.removeAt(l.handles,h);jf.RO.removeAt(l.children,h),jf.RO.removeAt(l.sizers,h),c.parentNode&&c.parentNode.removeChild(c);for(let e=0,t=o.children.length;e=i.length)&&(n=0),{type:"tab-area",widgets:i,currentIndex:n}}(t,i):function(t,i){let n=t.orientation,s=[],r=[];for(let o=0,a=t.children.length;o{let l=s(n,i,r),h=t(e.sizes[a]),c=i.createHandle();o.children.push(l),o.handles.push(c),o.sizers.push(h),l.parent=o})),o.syncHandles(),o.normalizeSizes(),o}(r,o,a),l};class i{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new um,i=new um;t.stretch=0,i.stretch=1,this.tabBar=e,this.sizers=[t,i]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(const e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return-1!==this.tabBar.titles.indexOf(e.title)?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e=this._left+this._width||t=this._top+this._height?null:this}createConfig(){return{type:"tab-area",widgets:this.tabBar.titles.map((e=>e.owner)),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let i=0,n=0,s=t.get(this.tabBar),r=this.tabBar.currentTitle,o=r?t.get(r.owner):void 0,[a,l]=this.sizers;return s&&s.fit(),o&&o.fit(),s&&!s.isHidden?(i=Math.max(i,s.minWidth),n+=s.minHeight,a.minSize=s.minHeight,a.maxSize=s.maxHeight):(a.minSize=0,a.maxSize=0),o&&!o.isHidden?(i=Math.max(i,o.minWidth),n+=o.minHeight,l.minSize=o.minHeight,l.maxSize=1/0):(l.minSize=0,l.maxSize=1/0),{minWidth:i,minHeight:n,maxWidth:1/0,maxHeight:1/0}}update(e,t,i,n,s,r){this._top=t,this._left=e,this._width=i,this._height=n;let o=r.get(this.tabBar),a=this.tabBar.currentTitle,l=a?r.get(a.owner):void 0;if(sm.calc(this.sizers,n),o&&!o.isHidden){let n=this.sizers[0].size;o.update(e,t,i,n),t+=n}if(l&&!l.isHidden){let n=this.sizers[1].size;l.update(e,t,i,n)}}}e.TabLayoutNode=i;class n{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(const e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(const e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(const e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(const e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(const e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,i=this.children.length;te.createConfig())),sizes:t}}syncHandles(){this.handles.forEach(((e,t)=>{e.setAttribute("data-orientation",this.orientation),t===this.handles.length-1?e.classList.add("lm-mod-hidden"):e.classList.remove("lm-mod-hidden")}))}holdSizes(){for(const e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(const e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce(((e,t)=>e+t.sizeHint),0);if(0===t)for(const t of this.sizers)t.size=t.sizeHint=1/e;else for(const e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map((e=>e.size)),i=t.reduce(((e,t)=>e+t),0);if(0===i)for(let i=t.length-1;i>-1;i--)t[i]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=i;return t}fit(e,t){let i="horizontal"===this.orientation,n=Math.max(0,this.children.length-1)*e,s=i?n:0,r=i?0:n;for(let n=0,o=this.children.length;nthis._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new Xm({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode}),this.overlay=e.overlay||new Ym.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case"multiple-document":for(const e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(jm.createSingleDocumentConfig(this));break;default:throw"unreachable"}Lf.postMessage(this,jm.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(const t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(const t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,jf.sE)(this.tabBars(),(t=>-1!==t.titles.indexOf(e.title)));if(!t)throw new Error("Widget is not contained in the dock panel.");t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document",this.layout.restoreLayout(e),(Rf.IS_EDGE||Rf.IS_IE)&&Lf.flush(),Lf.postMessage(this,jm.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),Lf.postMessage(this,jm.LayoutModified)}processMessage(e){"layout-modified"===e.type?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){jm.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){jm.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),Lf.postMessage(this,jm.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData("application/vnd.lumino.widget-factory")&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction)return void(e.dropAction="none");let{clientX:t,clientY:i}=e,{zone:n,target:s}=jm.findDropTarget(this,t,i,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===n)return void(e.dropAction="none");let r=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof r)return void(e.dropAction="none");let o=r();if(!(o instanceof fm))return void(e.dropAction="none");if(o.contains(this))return void(e.dropAction="none");let a=s?jm.getDropRef(s.tabBar):null;switch(n){case"root-all":this.addWidget(o);break;case"root-top":this.addWidget(o,{mode:"split-top"});break;case"root-left":this.addWidget(o,{mode:"split-left"});break;case"root-right":this.addWidget(o,{mode:"split-right"});break;case"root-bottom":this.addWidget(o,{mode:"split-bottom"});break;case"widget-all":case"widget-tab":this.addWidget(o,{mode:"tab-after",ref:a});break;case"widget-top":this.addWidget(o,{mode:"split-top",ref:a});break;case"widget-left":this.addWidget(o,{mode:"split-left",ref:a});break;case"widget-right":this.addWidget(o,{mode:"split-right",ref:a});break;case"widget-bottom":this.addWidget(o,{mode:"split-bottom",ref:a});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),Lf.postMessage(this,jm.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,i=e.target,n=(0,jf.sE)(t.handles(),(e=>e.contains(i)));if(!n)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let s=n.getBoundingClientRect(),r=e.clientX-s.left,o=e.clientY-s.top,a=window.getComputedStyle(n),l=Gf.overrideCursor(a.cursor,this._document);this._pressData={handle:n,deltaX:r,deltaY:o,override:l}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),i=e.clientX-t.left-this._pressData.deltaX,n=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,i,n)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),Lf.postMessage(this,jm.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(e,t){let i,n,s,r,{zone:o,target:a}=jm.findDropTarget(this,e,t,this._edges);if("invalid"===o)return this.overlay.hide(100),o;let l=Af.boxSizing(this.node),h=this.node.getBoundingClientRect();switch(o){case"root-all":i=l.paddingTop,n=l.paddingLeft,s=l.paddingRight,r=l.paddingBottom;break;case"root-top":i=l.paddingTop,n=l.paddingLeft,s=l.paddingRight,r=h.height*jm.GOLDEN_RATIO;break;case"root-left":i=l.paddingTop,n=l.paddingLeft,s=h.width*jm.GOLDEN_RATIO,r=l.paddingBottom;break;case"root-right":i=l.paddingTop,n=h.width*jm.GOLDEN_RATIO,s=l.paddingRight,r=l.paddingBottom;break;case"root-bottom":i=h.height*jm.GOLDEN_RATIO,n=l.paddingLeft,s=l.paddingRight,r=l.paddingBottom;break;case"widget-all":i=a.top,n=a.left,s=a.right,r=a.bottom;break;case"widget-top":i=a.top,n=a.left,s=a.right,r=a.bottom+a.height/2;break;case"widget-left":i=a.top,n=a.left,s=a.right+a.width/2,r=a.bottom;break;case"widget-right":i=a.top,n=a.left+a.width/2,s=a.right,r=a.bottom;break;case"widget-bottom":i=a.top+a.height/2,n=a.left,s=a.right,r=a.bottom;break;case"widget-tab":{const e=a.tabBar.node.getBoundingClientRect().height;i=a.top,n=a.left,s=a.right,r=a.bottom+a.height-e;break}default:throw"unreachable"}return this.overlay.show({top:i,left:n,right:s,bottom:r}),o}_createTabBar(){let e=this._renderer.createTabBar(this._document);return jm.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior="select-previous-tab",e.insertBehavior="select-tab-if-needed",e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){Lf.postMessage(this,jm.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:i,currentTitle:n}=t;i&&i.owner.hide(),n&&n.owner.show(),(Rf.IS_EDGE||Rf.IS_IE)&&Lf.flush(),Lf.postMessage(this,jm.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:i,tab:n,clientX:s,clientY:r,offset:o}=t,a=new Wf.MimeData;a.setData("application/vnd.lumino.widget-factory",(()=>i.owner));let l=n.cloneNode(!0);o&&(l.style.top=`-${o.y}px`,l.style.left=`-${o.x}px`),this._drag=new Gf({document:this._document,mimeData:a,dragImage:l,proposedAction:"move",supportedActions:"move",source:this}),n.classList.add("lm-mod-hidden"),this._drag.start(s,r).then((()=>{this._drag=null,n.classList.remove("lm-mod-hidden")}))}}!function(e){e.Overlay=class{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(e){if(!this._hidden)return e<=0?(clearTimeout(this._timer),this._timer=-1,this._hidden=!0,void this.node.classList.add("lm-mod-hidden")):void(-1===this._timer&&(this._timer=window.setTimeout((()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")}),e)))}};class t{createTabBar(e){let t=new $m({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t}(Ym||(Ym={})),function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new Ff("layout-modified"),e.isGeneratedTabBarProperty=new Xf.AttachedProperty({name:"isGeneratedTabBar",create:()=>!1}),e.createSingleDocumentConfig=function(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),i=e.selectedWidgets().next().value,n=i?t.indexOf(i):-1;return{main:{type:"tab-area",widgets:t,currentIndex:n}}},e.findDropTarget=function(e,t,i,n){if(!Af.hitTest(e.node,t,i))return{zone:"invalid",target:null};let s=e.layout;if(s.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let s=e.node.getBoundingClientRect(),r=t-s.left+1,o=i-s.top+1,a=s.right-t,l=s.bottom-i;switch(Math.min(o,a,l,r)){case o:if(od&&l>d&&a>u&&h>u)return{zone:"widget-all",target:r};switch(o/=d,a/=u,l/=d,h/=u,Math.min(o,a,l,h)){case o:c="widget-left";break;case a:c="widget-top";break;case l:c="widget-right";break;case h:c="widget-bottom";break;default:throw"unreachable"}return{zone:c,target:r}},e.getDropRef=function(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}}(jm||(jm={}));class Gm{constructor(){this._counter=0,this._widgets=[],this._activeWidget=null,this._currentWidget=null,this._numbers=new Map,this._nodes=new Map,this._activeChanged=new zf.Signal(this),this._currentChanged=new zf.Signal(this)}dispose(){if(!(this._counter<0)){this._counter=-1,zf.Signal.clearData(this);for(const e of this._widgets)e.node.removeEventListener("focus",this,!0),e.node.removeEventListener("blur",this,!0);this._activeWidget=null,this._currentWidget=null,this._nodes.clear(),this._numbers.clear(),this._widgets.length=0}}get currentChanged(){return this._currentChanged}get activeChanged(){return this._activeChanged}get isDisposed(){return this._counter<0}get currentWidget(){return this._currentWidget}get activeWidget(){return this._activeWidget}get widgets(){return this._widgets}focusNumber(e){let t=this._numbers.get(e);return void 0===t?-1:t}has(e){return this._numbers.has(e)}add(e){if(this._numbers.has(e))return;let t=e.node.contains(document.activeElement),i=t?this._counter++:-1;this._widgets.push(e),this._numbers.set(e,i),this._nodes.set(e.node,e),e.node.addEventListener("focus",this,!0),e.node.addEventListener("blur",this,!0),e.disposed.connect(this._onWidgetDisposed,this),t&&this._setWidgets(e,e)}remove(e){if(!this._numbers.has(e))return;if(e.disposed.disconnect(this._onWidgetDisposed,this),e.node.removeEventListener("focus",this,!0),e.node.removeEventListener("blur",this,!0),jf.RO.removeFirstOf(this._widgets,e),this._nodes.delete(e.node),this._numbers.delete(e),this._currentWidget!==e)return;let t=this._widgets.filter((e=>-1!==this._numbers.get(e))),i=(0,jf.Fp)(t,((e,t)=>this._numbers.get(e)-this._numbers.get(t)))||null;this._setWidgets(i,null)}handleEvent(e){switch(e.type){case"focus":this._evtFocus(e);break;case"blur":this._evtBlur(e)}}_setWidgets(e,t){let i=this._currentWidget;this._currentWidget=e;let n=this._activeWidget;this._activeWidget=t,i!==e&&this._currentChanged.emit({oldValue:i,newValue:e}),n!==t&&this._activeChanged.emit({oldValue:n,newValue:t})}_evtFocus(e){let t=this._nodes.get(e.currentTarget);t!==this._currentWidget&&this._numbers.set(t,this._counter++),this._setWidgets(t,t)}_evtBlur(e){let t=this._nodes.get(e.currentTarget),i=e.relatedTarget;i&&(t.node.contains(i)||(0,jf.sE)(this._widgets,(e=>e.node.contains(i))))||this._setWidgets(this._currentWidget,null)}_onWidgetDisposed(e){this.remove(e)}}class Zm extends mm{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new um],this._columnSizers=[new um],this._box=null,void 0!==e.rowCount&&Wm.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&Wm.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=Wm.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=Wm.clampValue(e.columnSpacing))}dispose(){for(const e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(Wm.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Wm.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Wm.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Wm.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let i=this._rowSizers[e];i&&(t=Wm.clampValue(t),i.stretch!==t&&(i.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let i=this._columnSizers[e];i&&(t=Wm.clampValue(t),i.stretch!==t&&(i.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(const e of this._items)yield e.widget}addWidget(e){-1===jf.RO.findFirstIndex(this._items,(t=>t.widget===e))&&(this._items.push(new gm(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=jf.RO.findFirstIndex(this._items,(t=>t.widget===e));if(-1===t)return;let i=jf.RO.removeAt(this._items,t);this.parent&&this.detachWidget(e),i.dispose()}init(){super.init();for(const e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&Lf.sendMessage(e,fm.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e!e.isHidden));for(let t=0,i=e.length;t({row:0,column:0,rowSpan:1,columnSpan:1}),changed:function(e){e.parent&&e.parent.layout instanceof Zm&&e.parent.fit()}}),e.normalizeConfig=function(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}},e.clampValue=function(e){return Math.max(0,Math.floor(e))},e.rowSpanCmp=function(t,i){let n=e.cellConfigProperty.get(t.widget),s=e.cellConfigProperty.get(i.widget);return n.rowSpan-s.rowSpan},e.columnSpanCmp=function(t,i){let n=e.cellConfigProperty.get(t.widget),s=e.cellConfigProperty.get(i.widget);return n.columnSpan-s.columnSpan},e.reallocSizers=function(e,t){for(t=Math.max(1,Math.floor(t));e.lengtht&&(e.length=t)},e.distributeMin=function(e,t,i,n){if(i=n)return;let r=(n-s)/(i-t+1);for(let n=t;n<=i;++n)e[n].minSize+=r}}(Wm||(Wm={}));class Km extends fm{constructor(e={}){super({node:Vm.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(fm.Flag.DisallowLayout),this.renderer=e.renderer||Km.defaultRenderer,this._forceItemsPosition=e.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=e.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,-1!==e&&(this._tabFocusIndex=e),this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,i=!0){this._closeChildMenu();let n=this._menus.indexOf(t),s=Math.max(0,Math.min(e,this._menus.length));if(-1===n)return jf.RO.insert(this._menus,s,t),t.addClass("lm-MenuBar-menu"),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),void(i&&this.update());s===this._menus.length&&s--,n!==s&&(jf.RO.move(this._menus,n,s),i&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let i=jf.RO.removeAt(this._menus,e);i&&(i.aboutToClose.disconnect(this._onMenuAboutToClose,this),i.menuRequested.disconnect(this._onMenuMenuRequested,this),i.title.changed.disconnect(this._onTitleChanged,this),i.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseleave":this._evtMouseLeave(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("mouseleave",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("mouseleave",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&(this.activeIndex=0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){var t;let i=this._menus,n=this.renderer,s=this._activeIndex,r=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:i.length,a=0,l=!1;o=null!==this._overflowMenu?o-1:o;let h=new Array(o);for(let e=0;e{this.activeIndex=e}}),a+=this._menuItemSizes[e],i[e].title.label===this._overflowMenuOptions.title&&(l=!0,o--);if(this._overflowMenuOptions.isVisible)if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){const e=null!==(t=this._overflowMenuOptions.title)&&void 0!==t?t:"...";this._overflowMenu=new Nm({commands:new lm}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=i.length-2;e>=o;e--){const t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}h[o]=n.renderItem({title:this._overflowMenu.title,active:o===s&&0!==i[o].items.length,tabbable:o===r,onfocus:()=>{this.activeIndex=o}}),o++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,s=this._overflowMenu.items.length;for(let l=0;lthis._menuItemSizes[s]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(o,t,!1),h[o]=n.renderItem({title:t.title,active:!1,tabbable:o===r,onfocus:()=>{this.activeIndex=o}}),o++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),h.pop(),this._overflowMenu=null,this._overflowIndex=-1)}im.render(h,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;const e=this.contentNode.childNodes;let t=this.node.offsetWidth,i=0,n=-1,s=e.length;if(0==this._menuItemSizes.length)for(let r=0;rt&&-1===n&&(n=r)}else for(let e=0;et){n=e;break}this._overflowIndex=n}_evtKeyDown(e){let t=e.keyCode;if(9===t)return void(this.activeIndex=-1);if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t)return void this.openActiveMenu();if(27===t)return this._closeChildMenu(),this.activeIndex=-1,void this.node.blur();if(37===t){let e=this._activeIndex,t=this._menus.length;return void(this.activeIndex=0===e?t-1:e-1)}if(39===t){let e=this._activeIndex,t=this._menus.length;return void(this.activeIndex=e===t-1?0:e+1)}let i=Zf().keyForKeydownEvent(e);if(!i)return;let n=this._activeIndex+1,s=Vm.findMnemonic(this._menus,i,n);-1===s.index||s.multiple?-1!==s.index?this.activeIndex=s.index:-1!==s.auto&&(this.activeIndex=s.auto):(this.activeIndex=s.index,this.openActiveMenu())}_evtMouseDown(e){if(!Af.hitTest(this.node,e.clientX,e.clientY))return;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let t=jf.RO.findFirstIndex(this.contentNode.children,(t=>Af.hitTest(t,e.clientX,e.clientY)));if(-1!==t){if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{const e=this._positionForMenu(t);Nm.saveWindowData(),this.activeIndex=t,this._openChildMenu(e)}}else this._closeChildMenu()}_evtMouseMove(e){let t=jf.RO.findFirstIndex(this.contentNode.children,(t=>Af.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex)return;if(-1===t&&this._childMenu)return;const i=t>=0&&this._childMenu?this._positionForMenu(t):null;Nm.saveWindowData(),this.activeIndex=t,i&&this._openChildMenu(i)}_positionForMenu(e){let t=this.contentNode.children[e],{left:i,bottom:n}=t.getBoundingClientRect();return{top:n,left:i}}_evtMouseLeave(e){this._childMenu||(this.activeIndex=-1)}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let i=this._childMenu;if(i===t)return;this._childMenu=t,i?i.close():document.addEventListener("mousedown",this,!0),Lf.sendMessage(this,fm.Msg.UpdateRequest);let{left:n,top:s}=e;void 0!==n&&void 0!==s||({left:n,top:s}=this._positionForMenu(this._activeIndex)),i||this.addClass("lm-mod-active"),t.items.length>0&&t.open(n,s,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let i=this._activeIndex,n=this._menus.length;switch(t){case"next":this.activeIndex=i===n-1?0:i+1;break;case"previous":this.activeIndex=0===i?n-1:i-1}this.openActiveMenu()}_onTitleChanged(){this.update()}}!function(e){class t{renderItem(e){let t=this.createItemClass(e),i=this.createItemDataset(e),n=this.createItemARIA(e);return dm.li({className:t,dataset:i,tabindex:e.tabbable?"0":"-1",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return dm.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return dm.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";return e.title.className&&(t+=` ${e.title.className}`),e.active&&(t+=" lm-mod-active"),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true"}}createIconClass(e){let t="lm-MenuBar-itemIcon",i=e.title.iconClass;return i?`${t} ${i}`:t}formatLabel(e){let{label:t,mnemonic:i}=e.title;if(i<0||i>=t.length)return t;let n=t.slice(0,i),s=t.slice(i+1),r=t[i];return[n,dm.span({className:"lm-MenuBar-itemMnemonic"},r),s]}}e.Renderer=t,e.defaultRenderer=new t}(Km||(Km={})),function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e},e.findMnemonic=function(e,t,i){let n=-1,s=-1,r=!1,o=t.toUpperCase();for(let t=0,a=e.length;t=0&&c1&&this.widgets.forEach((e=>{e.hiddenMode=this._hiddenMode})))}dispose(){for(const e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===fm.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=fm.HiddenMode.Scale),t.hiddenMode=fm.HiddenMode.Scale):t.hiddenMode=fm.HiddenMode.Display,jf.RO.insert(this._items,e,new gm(t)),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){jf.RO.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let i=jf.RO.removeAt(this._items,e);this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&Lf.sendMessage(t,fm.Msg.AfterDetach),i.widget.node.style.zIndex="",this._hiddenMode===fm.HiddenMode.Scale&&(t.hiddenMode=fm.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=fm.HiddenMode.Display)),i.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let i=0,n=this._items.length;i{t.newValue!==this.currentWidget&&(i.current=t.newValue)}),this),i.added.connect(((e,t)=>{this._widgetAdded.emit(t)}),this),i.currentChanged.connect(((e,n)=>{null===n&&t.currentWidget?i.current=t.currentWidget:(this.onCurrentChanged(n),this._currentChanged.emit(n))}),this),i.updated.connect(((e,t)=>{this._widgetUpdated.emit(t)}),this)}get currentChanged(){return this._currentChanged}get currentWidget(){return this._pool.current||null}get restored(){return this._deferred?Promise.resolve():this._pool.restored}get size(){return this._pool.size}get widgetAdded(){return this._widgetAdded}get widgetUpdated(){return this._widgetUpdated}async add(e){this._focusTracker.add(e),await this._pool.add(e),this._focusTracker.activeWidget||(this._pool.current=e)}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._pool.dispose(),this._focusTracker.dispose(),zf.Signal.clearData(this))}find(e){return this._pool.find(e)}forEach(e){return this._pool.forEach(e)}filter(e){return this._pool.filter(e)}inject(e){return this._pool.inject(e)}has(e){return this._pool.has(e)}async restore(e){const t=this._deferred;return t?(this._deferred=null,this._pool.restore(t)):e?this._pool.restore(e):void console.warn("No options provided to restore the tracker.")}defer(e){this._deferred=e}async save(e){return this._pool.save(e)}onCurrentChanged(e){}}function tg(e){return e.replace("-","_")}class ig{constructor(e){e=e||{},this._defaults={domain:"messages",locale:document.documentElement.getAttribute("lang")||"en",pluralFunc:function(e){return{nplurals:2,plural:1!=e?1:0}},contextDelimiter:String.fromCharCode(4),stringsPrefix:""},this._locale=(e.locale||this._defaults.locale).replace("_","-"),this._domain=tg(e.domain||this._defaults.domain),this._contextDelimiter=e.contextDelimiter||this._defaults.contextDelimiter,this._stringsPrefix=e.stringsPrefix||this._defaults.stringsPrefix,this._pluralFuncs={},this._dictionary={},this._pluralForms={},e.messages&&(this._dictionary[this._domain]={},this._dictionary[this._domain][this._locale]=e.messages),e.pluralForms&&(this._pluralForms[this._locale]=e.pluralForms)}setContextDelimiter(e){this._contextDelimiter=e}getContextDelimiter(){return this._contextDelimiter}setLocale(e){this._locale=e.replace("_","-")}getLocale(){return this._locale}setDomain(e){this._domain=tg(e)}getDomain(){return this._domain}setStringsPrefix(e){this._stringsPrefix=e}getStringsPrefix(){return this._stringsPrefix}static strfmt(e,...t){return e.replace(/%%/g,"%% ").replace(/%(\d+)/g,(function(e,i){return t[i-1]})).replace(/%% /g,"%")}loadJSON(e,t){if(!e[""]||!e[""].language||!e[""].pluralForms)throw new Error(`Wrong jsonData, it must have an empty key ("") with "language" and "pluralForms" information: ${e}`);t=tg(t);let i=e[""],n=JSON.parse(JSON.stringify(e));delete n[""],this.setMessages(t||this._defaults.domain,i.language,n,i.pluralForms)}__(e,...t){return this.gettext(e,...t)}_n(e,t,i,...n){return this.ngettext(e,t,i,...n)}_p(e,t,...i){return this.pgettext(e,t,...i)}_np(e,t,i,n,...s){return this.npgettext(e,t,i,n,...s)}gettext(e,...t){return this.dcnpgettext("","",e,"",0,...t)}ngettext(e,t,i,...n){return this.dcnpgettext("","",e,t,i,...n)}pgettext(e,t,...i){return this.dcnpgettext("",e,t,"",0,...i)}npgettext(e,t,i,n,...s){return this.dcnpgettext("",e,t,i,n,...s)}dcnpgettext(e,t,i,n,s,...r){let o;e=tg(e)||this._domain;let a=t?t+this._contextDelimiter+i:i,l={pluralForm:!1},h=!1,c=this._locale,d=this.expandLocale(this._locale);for(let t in d)if(c=d[t],h=this._dictionary[e]&&this._dictionary[e][c]&&this._dictionary[e][c][a],h=n?h&&this._dictionary[e][c][a].length>1:h&&1==this._dictionary[e][c][a].length,h){l.locale=c;break}if(h?o=this._dictionary[e][c][a]:(o=[i],l.pluralFunc=this._defaults.pluralFunc),!n)return this.t(o,s,l,...r);l.pluralForm=!0;let u=h?o:[i,n];return this.t(u,s,l,...r)}expandLocale(e){let t=[e],i=e.lastIndexOf("-");for(;i>0;)e=e.slice(0,i),t.push(e),i=e.lastIndexOf("-");return t}getPluralFunc(e){if(!new RegExp("^\\s*nplurals\\s*=\\s*[0-9]+\\s*;\\s*plural\\s*=\\s*(?:\\s|[-\\?\\|&=!<>+*/%:;n0-9_()])+").test(e))throw new Error(ig.strfmt('The plural form "%1" is not valid',e));return new Function("n","let plural, nplurals; "+e+" return { nplurals: nplurals, plural: (plural === true ? 1 : (plural ? plural : 0)) };")}removeContext(e){return-1!==e.indexOf(this._contextDelimiter)?e.split(this._contextDelimiter)[1]:e}t(e,t,i,...n){if(!i.pluralForm)return this._stringsPrefix+ig.strfmt(this.removeContext(e[0]),...n);let s;return i.pluralFunc?s=i.pluralFunc(t):(this._pluralFuncs[i.locale||""]||(this._pluralFuncs[i.locale||""]=this.getPluralFunc(this._pluralForms[i.locale||""])),s=this._pluralFuncs[i.locale||""](t)),(void 0===!s.plural||s.plural>s.nplurals||e.length<=s.plural)&&(s.plural=0),this._stringsPrefix+ig.strfmt(this.removeContext(e[s.plural]),...[t].concat(n))}setMessages(e,t,i,n){e=tg(e),n&&(this._pluralForms[t]=n),this._dictionary[e]||(this._dictionary[e]={}),this._dictionary[e][t]=i}}const ng=new class{constructor(e){this.languageCode="en",this._languageBundle=e}load(e){return this._languageBundle}}(new class{__(e,...t){return this.gettext(e,...t)}_n(e,t,i,...n){return this.ngettext(e,t,i,...n)}_p(e,t,...i){return this.pgettext(e,t,...i)}_np(e,t,i,n,...s){return this.npgettext(e,t,i,n,...s)}gettext(e,...t){return ig.strfmt(e,...t)}ngettext(e,t,i,...n){return ig.strfmt(1==i?e:t,...[i].concat(n))}pgettext(e,t,...i){return ig.strfmt(t,...i)}npgettext(e,t,i,n,...s){return this.ngettext(t,i,n,...s)}dcnpgettext(e,t,i,n,s,...r){return this.ngettext(i,n,s,...r)}});new Wf.Token("@jupyterlab/translation:ITranslatorConnector","A service to connect to the server translation endpoint."),new Wf.Token("@jupyterlab/translation:ITranslator","A service to translate strings.");const sg="jp-OutputArea-child",rg="jp-OutputArea-output",og="jp-OutputArea-prompt";class ag extends fm{constructor(e){var t,i,n,s;super(),this.outputLengthChanged=new zf.Signal(this),this._onIOPub=e=>{const t=this.model,i=e.header.msg_type;let n;const s=(e.content.transient||{}).display_id;let r;switch(i){case"execute_result":case"display_data":case"stream":case"error":n={...e.content,output_type:i},t.add(n);break;case"clear_output":{const i=e.content.wait;t.clear(i);break}case"update_display_data":if(n={...e.content,output_type:"display_data"},r=this._displayIdMap.get(s),r)for(const e of r)t.set(e,n)}s&&"display_data"===i&&(r=this._displayIdMap.get(s)||[],r.push(t.length-1),this._displayIdMap.set(s,r))},this._onExecuteReply=e=>{const t=this.model,i=e.content;if("ok"!==i.status)return;const n=i&&i.payload;if(!n||!n.length)return;const s=n.filter((e=>"page"===e.source));if(!s.length)return;const r={output_type:"display_data",data:JSON.parse(JSON.stringify(s[0])).data,metadata:{}};t.add(r)},this._displayIdMap=new Map,this._minHeightTimeout=null,this._inputRequested=new zf.Signal(this),this._toggleScrolling=new zf.Signal(this),this._outputTracker=new eg({namespace:Wf.UUID.uuid4()}),this._inputHistoryScope="global",super.layout=new vm,this.addClass("jp-OutputArea"),this.contentFactory=null!==(t=e.contentFactory)&&void 0!==t?t:ag.defaultContentFactory,this.rendermime=e.rendermime,this._maxNumberOutputs=null!==(i=e.maxNumberOutputs)&&void 0!==i?i:1/0,this._translator=null!==(n=e.translator)&&void 0!==n?n:ng,this._inputHistoryScope=null!==(s=e.inputHistoryScope)&&void 0!==s?s:"global";const r=this.model=e.model;for(let e=0;e{$f.KernelMessage.isInputRequestMsg(t)&&this.onInputRequest(t,e)})}get inputRequested(){return this._inputRequested}get maxNumberOutputs(){return this._maxNumberOutputs}set maxNumberOutputs(e){if(e<=0)return void console.warn("OutputArea.maxNumberOutputs must be strictly positive.");const t=this._maxNumberOutputs;this._maxNumberOutputs=e,t{this._toggleScrolling.emit()})),this.node.appendChild(e)}_moveDisplayIdIndices(e,t){this._displayIdMap.forEach((i=>{const n=e+t;for(let s=i.length-1;s>=0;--s){const r=i[s];r>=e&&r=n&&(i[s]-=t)}}))}onStateChanged(e,t){const i=Math.min(this.model.length,this._maxNumberOutputs);if(t){if(t>=this._maxNumberOutputs)return;this._setOutput(t,this.model.get(t))}else for(let e=0;e{this.isDisposed||(this.node.style.minHeight="")}),50)}onInputRequest(e,t){const i=this.contentFactory,n=e.content.prompt,s=e.content.password,r=new Am;r.addClass(sg),r.addClass("jp-OutputArea-stdin-item");const o=i.createOutputPrompt();o.addClass(og),r.addWidget(o);const a=i.createStdin({parent_header:e.header,prompt:n,password:s,future:t,translator:this._translator,inputHistoryScope:this._inputHistoryScope});a.addClass(rg),r.addWidget(a),this.model.length>=this.maxNumberOutputs&&(this.maxNumberOutputs=this.model.length),this.layout.addWidget(r),this._inputRequested.emit(),a.value.then((e=>{this.model.length>=this.maxNumberOutputs&&(this.maxNumberOutputs=this.model.length+1),this.model.add({output_type:"stream",name:"stdin",text:e+"\n"}),r.dispose()}))}_setOutput(e,t){if(e>=this._maxNumberOutputs)return;const i=this.layout.widgets[e],n=i.widgets?i.widgets[1]:i,s=this.rendermime.preferredMimeType(t.data,t.trusted?"any":"ensure");cg.currentPreferredMimetype.get(n)===s&&ag.isIsolated(s,t.metadata)===n instanceof cg.IsolatedRenderer?n.renderModel(t):(this.layout.widgets[e].dispose(),this._insertOutput(e,t))}_insertOutput(e,t){if(e>this._maxNumberOutputs)return;const i=this.layout;if(e===this._maxNumberOutputs){const t=new cg.TrimmedOutputs(this._maxNumberOutputs,(()=>{const e=this._maxNumberOutputs;this._maxNumberOutputs=1/0,this._showTrimmedOutputs(e)}));i.insertWidget(e,this._wrappedOutput(t))}else{let n=this.createOutputItem(t);n?n.toggleClass("jp-OutputArea-executeResult",null!==t.executionCount):n=new fm,this._outputTracker.has(n)||this._outputTracker.add(n),i.insertWidget(e,n)}}get outputTracker(){return this._outputTracker}_showTrimmedOutputs(e){this.widgets[e].dispose();for(let t=e;t{const t=document.createElement("pre"),n=this._translator.load("jupyterlab");t.textContent=n.__("Javascript Error: %1",e.message),i.node.appendChild(t),i.node.className="lm-Widget jp-RenderedText",i.node.setAttribute("data-mime-type","application/vnd.jupyter.stderr")})),i}_wrappedOutput(e,t=null){const i=new cg.OutputPanel;i.addClass(sg);const n=this.contentFactory.createOutputPrompt();return n.executionCount=t,n.addClass(og),i.addWidget(n),e.addClass(rg),i.addWidget(e),i}}!function(e){e.execute=async function(e,t,i,n){var s;let r=!0;n&&Array.isArray(n.tags)&&-1!==n.tags.indexOf("raises-exception")&&(r=!1);const o={code:e,stop_on_error:r},a=null===(s=i.session)||void 0===s?void 0:s.kernel;if(!a)throw new Error("Session has no kernel.");const l=a.requestExecute(o,!1,n);return t.future=l,l.done},e.isIsolated=function(e,t){const i=t[e];return i&&void 0!==i.isolated?!!i.isolated:!!t.isolated};class t{createOutputPrompt(){return new lg}createStdin(e){return new hg(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(ag||(ag={}));class lg extends fm{constructor(){super(),this._executionCount=null,this.addClass("jp-OutputPrompt")}get executionCount(){return this._executionCount}set executionCount(e){this._executionCount=e,this.node.textContent=null===e?"":`[${e}]:`}}class hg extends fm{static _historyIx(e,t){const i=hg._history.get(e);if(!i)return;const n=i.length;return t<=0?n+t:void 0}static _historyAt(e,t){const i=hg._history.get(e);if(!i)return;const n=i.length,s=hg._historyIx(e,t);return void 0!==s&&s1e3&&i.shift()}static _historySearch(e,t,i,n=!0){const s=hg._history.get(e),r=s.length,o=hg._historyIx(e,i),a=e=>-1!==e.search(t);if(void 0!==o)if(n){if(0===o)return;const e=s.slice(0,o).findLastIndex(a);if(-1!==e)return e-r}else{if(o>=r-1)return;const e=s.slice(o+1).findIndex(a);if(-1!==e)return e-r+o+1}}constructor(e){var t;super({node:cg.createInputWidgetNode(e.prompt,e.password)}),this._promise=new Wf.PromiseDelegate,this.addClass("jp-Stdin"),this._future=e.future,this._historyIndex=0,this._historyKey="session"===e.inputHistoryScope?e.parent_header.session:"",this._historyPat="",this._parentHeader=e.parent_header,this._password=e.password,this._trans=(null!==(t=e.translator)&&void 0!==t?t:ng).load("jupyterlab"),this._value=e.prompt+" ",this._input=this.node.getElementsByTagName("input")[0],this._input.placeholder=this._trans.__("↑↓ for history. Search history with c-↑/c-↓"),hg._history.has(this._historyKey)||hg._history.set(this._historyKey,[])}get value(){return this._promise.promise.then((()=>this._value))}handleEvent(e){const t=this._input;if("keydown"===e.type)if("Enter"===e.key)this.resetSearch(),this._future.sendInputReply({status:"ok",value:t.value},this._parentHeader),this._password?this._value+="········":(this._value+=t.value,hg._historyPush(this._historyKey,t.value)),this._promise.resolve(void 0);else if("Escape"===e.key)this.resetSearch(),t.blur();else if(!e.ctrlKey||"ArrowUp"!==e.key&&"ArrowDown"!==e.key){if("ArrowUp"===e.key){this.resetSearch();const i=hg._historyAt(this._historyKey,this._historyIndex-1);i&&(0===this._historyIndex&&(this._valueCache=t.value),this._setInputValue(i),--this._historyIndex,e.preventDefault())}else if("ArrowDown"===e.key)if(this.resetSearch(),0===this._historyIndex);else if(-1===this._historyIndex)this._setInputValue(this._valueCache),++this._historyIndex;else{const e=hg._historyAt(this._historyKey,this._historyIndex+1);e&&(this._setInputValue(e),++this._historyIndex)}}else{""===this._historyPat&&(this._historyPat=t.value);const i="ArrowUp"===e.key,n=hg._historySearch(this._historyKey,this._historyPat,this._historyIndex,i);if(void 0!==n){const i=hg._historyAt(this._historyKey,n);void 0!==i&&(0===this._historyIndex&&(this._valueCache=t.value),this._setInputValue(i),this._historyIndex=n,e.preventDefault())}}}resetSearch(){this._historyPat=""}onAfterAttach(e){this._input.addEventListener("keydown",this),this._input.focus()}onBeforeDetach(e){this._input.removeEventListener("keydown",this)}_setInputValue(e){this._input.value=e,this._input.setSelectionRange(e.length,e.length)}}var cg,dg,ug,pg,fg;function mg(e){return"execute_result"===e.output_type}function gg(e){return"display_data"===e.output_type}function vg(e){return"stream"===e.output_type}hg._history=new Map,function(e){e.createInputWidgetNode=function(e,t){const i=document.createElement("div"),n=document.createElement("pre");n.className="jp-Stdin-prompt",n.textContent=e;const s=document.createElement("input");return s.className="jp-Stdin-input",t&&(s.type="password"),i.appendChild(n),n.appendChild(s),i},e.IsolatedRenderer=class extends fm{constructor(e){super({node:document.createElement("iframe")}),this.addClass("jp-mod-isolated"),this._wrapped=e;const t=this.node;t.frameBorder="0",t.scrolling="auto",t.addEventListener("load",(()=>{t.contentDocument.open(),t.contentDocument.write(this._wrapped.node.innerHTML),t.contentDocument.close();const e=t.contentDocument.body;t.style.height=`${e.scrollHeight}px`,t.heightChangeObserver=new ResizeObserver((()=>{t.style.height=`${e.scrollHeight}px`})),t.heightChangeObserver.observe(e)}))}renderModel(e){return this._wrapped.renderModel(e)}},e.currentPreferredMimetype=new Xf.AttachedProperty({name:"preferredMimetype",create:e=>""}),e.OutputPanel=class extends Am{constructor(e){super(e)}_onContext(e){this.node.focus()}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("contextmenu",this._onContext.bind(this))}onBeforeDetach(e){super.onAfterDetach(e),this.node.removeEventListener("contextmenu",this._onContext.bind(this))}},e.TrimmedOutputs=class extends fm{constructor(e,t){const i=document.createElement("div"),n=`The first ${e} are displayed`;i.insertAdjacentHTML("afterbegin",`\n

      Show more outputs
      \n `),super({node:i}),this._onClick=t,this.addClass("jp-TrimmedOutputs"),this.addClass("jp-RenderedHTMLCommon")}handleEvent(e){"click"===e.type&&this._onClick(e)}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("click",this)}onBeforeDetach(e){super.onBeforeDetach(e),this.node.removeEventListener("click",this)}}}(cg||(cg={}));class Og{constructor(e={}){if(this._array=[],this._isDisposed=!1,this._changed=new zf.Signal(this),e.values)for(const t of e.values)this._array.push(t);this._itemCmp=e.itemCmp||dg.itemCmp}get type(){return"List"}get changed(){return this._changed}get length(){return this._array.length}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,zf.Signal.clearData(this),this.clear())}[Symbol.iterator](){return this._array[Symbol.iterator]()}get(e){return this._array[e]}set(e,t){const i=this._array[e];if(void 0===t)throw new Error("Cannot set an undefined item");(0,this._itemCmp)(i,t)||(this._array[e]=t,this._changed.emit({type:"set",oldIndex:e,newIndex:e,oldValues:[i],newValues:[t]}))}push(e){const t=this._array.push(e);return this._changed.emit({type:"add",oldIndex:-1,newIndex:this.length-1,oldValues:[],newValues:[e]}),t}insert(e,t){e===this._array.length?this._array.push(t):jf.RO.insert(this._array,e,t),this._changed.emit({type:"add",oldIndex:-2,newIndex:e,oldValues:[],newValues:[t]})}removeValue(e){const t=this._itemCmp,i=jf.RO.findFirstIndex(this._array,(i=>t(i,e)));return this.remove(i),i}remove(e){const t=jf.RO.removeAt(this._array,e);if(void 0!==t)return this._changed.emit({type:"remove",oldIndex:e,newIndex:-1,newValues:[],oldValues:[t]}),t}clear(){const e=this._array.slice();this._array.length=0,this._changed.emit({type:"remove",oldIndex:0,newIndex:0,newValues:[],oldValues:e})}move(e,t){if(this.length<=1||e===t)return;const i=[this._array[e]];jf.RO.move(this._array,e,t),this._changed.emit({type:"move",oldIndex:e,newIndex:t,oldValues:i,newValues:i})}pushAll(e){const t=this.length;for(const t of e)this._array.push(t);return this._changed.emit({type:"add",oldIndex:-1,newIndex:t,oldValues:[],newValues:Array.from(e)}),this.length}insertAll(e,t){const i=e;for(const i of t)jf.RO.insert(this._array,e++,i);this._changed.emit({type:"add",oldIndex:-2,newIndex:i,oldValues:[],newValues:Array.from(t)})}removeRange(e,t){const i=this._array.slice(e,t);for(let i=e;i{e.push(i)})),e}values(){const e=[];return this._map.forEach(((t,i)=>{e.push(t)})),e}delete(e){const t=this._map.get(e);return this._map.delete(e)&&this._changed.emit({type:"remove",key:e,oldValue:t,newValue:void 0}),t}clear(){const e=this.keys();for(let t=0;te.toJSON())))}_add(e){const t=this._trusted;if(e=Wf.JSONExt.deepCopy(e),fg.normalize(e),vg(e)&&this._lastStream&&e.name===this._lastName&&this.shouldCombine({value:e,lastModel:this.list.get(this.length-1)})){this._lastStream+=e.text,this._lastStream=fg.removeOverwrittenChars(this._lastStream),e.text=this._lastStream;const i=this._createItem({value:e,trusted:t}),n=this.length-1,s=this.list.get(n);return this.list.set(n,i),s.dispose(),this.length}vg(e)&&(e.text=fg.removeOverwrittenChars(e.text));const i=this._createItem({value:e,trusted:t});return vg(e)?(this._lastStream=e.text,this._lastName=e.name):this._lastStream="",this.list.push(i)}shouldCombine(e){return!0}_createItem(e){return this.contentFactory.createOutputModel(e)}_onListChanged(e,t){switch(t.type){case"add":t.newValues.forEach((e=>{e.changed.connect(this._onGenericChange,this)}));break;case"remove":t.oldValues.forEach((e=>{e.changed.disconnect(this._onGenericChange,this)}));break;case"set":t.newValues.forEach((e=>{e.changed.connect(this._onGenericChange,this)})),t.oldValues.forEach((e=>{e.changed.disconnect(this._onGenericChange,this)}))}this._changed.emit(t)}_onGenericChange(e){let t,i=null;for(t=0;t-1;){const t=e.match(/^(.*)\r+/m)[1];let i=e.match(/\r+(.*)$/m)[1];i+=t.slice(i.length,t.length),e=e.replace(/\r+.*$/m,"\r").replace(/^.*\r/m,i)}return e}(function(e){let t=e;do{t=(e=t).replace(/[^\n]\x08/gm,"")}while(t.length{const n=e[t],s=e[i];return n.rank!==s.rank?n.rank-s.rank:n.id-s.id}))}}(Pg||(Pg={}));var Rg=__webpack_require__(6145),Dg=__webpack_require__.n(Rg);const Ig=/(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[{}$]|[{}]|(?:\n\s*)+|@@\d+@@|\\\\(?:\(|\)|\[|\]))/i;function qg(e,t,i,n,s){let r=s.slice(e,t+1).join("").replace(/&/g,"&").replace(//g,">");for(navigator&&"Microsoft Internet Explorer"===navigator.appName&&(r=r.replace(/(%[^\n]*)\n/g,"$1
      \n"));t>e;)s[t]="",t--;return s[e]="@@"+n.length+"@@",i&&(r=i(r)),n.push(r),s}function Lg(e){let{host:t,source:i,trusted:n,sanitizer:s,resolver:r,linkHandler:o,shouldTypeset:a,latexTypesetter:l,translator:h}=e;h=h||ng;const c=null==h?void 0:h.load("jupyterlab");let d,u=i;if(!i)return t.textContent="",Promise.resolve(void 0);if(n||(u=`${i}`,i=s.sanitize(i)),t.innerHTML=i,t.getElementsByTagName("script").length>0)if(n)zg.evalInnerHTMLScriptTags(t);else{const e=document.createElement("div"),i=document.createElement("pre");i.textContent=c.__("This HTML output contains inline scripts. Are you sure that you want to run arbitrary Javascript within your JupyterLab session?");const n=document.createElement("button");n.textContent=c.__("Run"),n.onclick=e=>{t.innerHTML=u,zg.evalInnerHTMLScriptTags(t),t.firstChild&&t.removeChild(t.firstChild)},e.appendChild(i),e.appendChild(n),t.insertBefore(e,t.firstChild)}return zg.handleDefaults(t,r),d=r?zg.handleUrls(t,r,o):Promise.resolve(void 0),d.then((()=>{a&&l&&l.typeset(t)}))}async function Ng(e){const{host:t,source:i,markdownParser:n,...s}=e;if(!i)return void(t.textContent="");let r="";if(n){const e=function(e){const t=[];let i,n=null,s=null,r=null,o=0;e.includes("`")||e.includes("~~~")?(e=e.replace(/~/g,"~T").replace(/^(?`{3,}|(~T){3,})[^`\n]*\n([\s\S]*?)^\k`*$/gm,(e=>e.replace(/\$/g,"~D"))).replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,(e=>e.replace(/\$/g,"~D"))),i=e=>e.replace(/~([TD])/g,((e,t)=>"T"===t?"~":"$"))):i=e=>e;let a=e.replace(/\r\n?/g,"\n").split(Ig);for(let e=1,l=a.length;e{let i=a[t];return"\\\\("===i.substr(0,3)&&"\\\\)"===i.substr(i.length-3)?i="\\("+i.substring(3,i.length-3)+"\\)":"\\\\["===i.substr(0,3)&&"\\\\]"===i.substr(i.length-3)&&(i="\\["+i.substring(3,i.length-3)+"\\]"),i}))}else r=`
      ${i}
      `;var o,a;await Lg({host:t,source:r,...s}),zg.headerAnchors(t)}function Bg(e,t){var i,n;const s=e.cloneNode();s.textContent=null===(i=e.textContent)||void 0===i?void 0:i.slice(0,t);const r=e.cloneNode();return r.textContent=null===(n=e.textContent)||void 0===n?void 0:n.slice(t),{pre:s,post:r}}function*$g(e){var t;let i,n=0;for(let s of e)i=n+((null===(t=s.textContent)||void 0===t?void 0:t.length)||0),yield{node:s,start:n,end:i,isText:s.nodeType===Node.TEXT_NODE},n=i}function Qg(e){var t,i;const{host:n,sanitizer:s,source:r}=e,o=s.sanitize(zg.ansiSpan(r),{allowedTags:["span"]}),a=document.createElement("pre"),l=document.createElement("pre");l.innerHTML=o;const h=l.textContent;if(h){const e=null===(i=null===(t=s.getAutolink)||void 0===t?void 0:t.call(s))||void 0===i||i?function(e){const t="\\u0000-\\u0020\\u007f-\\u009f",i=new RegExp("(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|data:|www\\.)[^\\s"+t+'"]{2,}[^\\s'+t+"\"'(){}\\[\\],:;.!?]","ug"),n=[];let s,r=0;for(;null!=(s=i.exec(e));){s.index!==r&&n.push(document.createTextNode(e.slice(r,s.index)));let t=s[0];const i=t.slice(-1),o=-1!==[">","<"].indexOf(i)?t.length-1:t.length,a=document.createElement("a");t=t.slice(0,o),a.href=t.startsWith("www.")?"https://"+t:t,a.rel="noopener",a.target="_blank",a.appendChild(document.createTextNode(t.slice(0,o))),n.push(a),r=s.index+o}return r!==e.length&&n.push(document.createTextNode(e.slice(r,e.length))),n}(h):[document.createTextNode(o)];let n=!1;const r=[],c=Array.from(l.childNodes);for(let t of function*(e,t){var i,n;let s=$g(e),r=$g(t),o=s.next(),a=r.next();for(;!o.done&&!a.done;){let e=o.value,t=a.value;if(e.isText&&e.start<=t.start&&e.end>=t.end)yield[null,t.node],a=r.next();else if(t.isText&&t.start<=e.start&&t.end>=e.end)yield[e.node,null],o=s.next();else if(e.end===t.end&&e.start===t.start)yield[e.node,t.node],o=s.next(),a=r.next();else if(e.end>t.end){let{pre:n,post:s}=Bg(e.node,t.end-e.start);t.starte.end))throw new Error(`Unexpected intersection: ${JSON.stringify(e)} ${JSON.stringify(t)}`);{let{pre:i,post:r}=Bg(t.node,e.end-t.start);e.start{const s=decodeURIComponent(n);return i&&i.handleLink(e,s,r),t.getDownloadUrl(n)})).then((t=>{e.href=t+r})).catch((t=>{e.href=""}))}e.evalInnerHTMLScriptTags=function(e){const t=Array.from(e.getElementsByTagName("script"));for(const e of t){if(!e.parentNode)continue;const t=document.createElement("script"),i=e.attributes;for(let e=0,n=i.length;e{}))},e.headerAnchors=function(e){const t=["h1","h2","h3","h4","h5","h6"];for(const i of t){const t=e.getElementsByTagName(i);for(let e=0;e"),a.push(e),a.push("")):a.push(e)}}function r(e){let t,i,n;const s=e.shift();if(2===s&&e.length>=3){if(t=e.shift(),i=e.shift(),n=e.shift(),[t,i,n].some((e=>e<0||255=1))throw new RangeError("Invalid extended color specification");{const s=e.shift();if(s<0)throw new RangeError("Color index must be >= 0");if(s<16)return s;if(s<232)t=Math.floor((s-16)/36),t=t>0?55+40*t:0,i=Math.floor((s-16)%36/6),i=i>0?55+40*i:0,n=(s-16)%6,n=n>0?55+40*n:0;else{if(!(s<256))throw new RangeError("Color index must be < 256");t=i=n=10*(s-232)+8}}}return[t,i,n]}e.ansiSpan=function(e){const t=/\x1b\[(.*?)([@-~])/g;let i,n=[],o=[],a=!1,l=!1,h=!1;const c=[],d=[];let u=0;for(e=Dg()(e),e+="";i=t.exec(e);){if("m"===i[2]){const e=i[1].split(";");for(let t=0;t]+xmlns=[^>]+svg")<0&&(i=i.replace("new Vg(e)},{safe:!0,mimeTypes:["text/markdown"],defaultRank:60,createRenderer:e=>new Hg(e)},{safe:!0,mimeTypes:["text/latex"],defaultRank:70,createRenderer:e=>new Ug(e)},{safe:!1,mimeTypes:["image/svg+xml"],defaultRank:80,createRenderer:e=>new Xg(e)},{safe:!0,mimeTypes:["image/bmp","image/png","image/jpeg","image/gif","image/webp"],defaultRank:90,createRenderer:e=>new Fg(e)},{safe:!1,mimeTypes:["text/javascript","application/javascript"],defaultRank:110,createRenderer:e=>new Gg(e)},{safe:!0,mimeTypes:["text/plain","application/vnd.jupyter.stdout","application/vnd.jupyter.stderr"],defaultRank:120,createRenderer:e=>new Yg(e)}];var Kg=function(e,t,i,n){return new(i||(i=Promise))((function(s,r){function o(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Jg={cell:"manim-binder-cell",input:"manim-binder-input",button:"manim-binder-button",output:"manim-binder-output",wrapper:"manim-binder-wrapper",title:"manim-binder-title",meta:"manim-binder-meta",buttonWrapper:"manim-binder-button-wrapper"};!function(e){let t="ManimCommunity/jupyter_examples",i="main",n=60,s="manim-notebook-kernel",r="python3",o=Jg,a="https://mybinder.org",l=!1,h=null,c=null,d=null,u=null;function p(t){if(void 0!==e){const i=(new Date).getTime()+60*n*1e3,r=JSON.stringify({settings:t,timestamp:i});e.localStorage.setItem(s,r)}const i=$f.ServerConnection.makeSettings(t);return c=new $f.KernelManager({serverSettings:i}),u=new $f.ContentsManager({serverSettings:i}),c.startNew({name:r}).then((e=>e))}function f(e,t="",i=""){const n=document.createElement(e);return n.className=t,n.textContent=i,n}function m(e,t){return Kg(this,void 0,void 0,(function*(){const i=h.requestExecute({code:"from manim import *"});yield i.done,console.log("Import done. Now running code"),e.future=h.requestExecute({code:t}),e.model.add({output_type:"stream",name:"loading",text:"Loading..."}),e.model.clear(!0)}))}function g(n,r){if(h)return n.model.clear(),n.model.add({output_type:"stream",name:"loading",text:"Loading..."}),void m(n,r);const o=a.split("//")[1],c=l?"Reconnecting to":"Launching";n.model.clear(),n.model.add({output_type:"stream",name:"stdout",text:`${c} Docker container on ${o}...`}),new Promise(((n,r)=>function(){if(void 0!==e){const t=e.localStorage.getItem(s);if(t){l=!0;const{settings:i,timestamp:n}=JSON.parse(t);if(n&&(new Date).getTime(){const i=new EventSource(n);i.onerror=e=>{i.close(),t(new Error("Unable to connect to Binder"))};let s=null;i.onmessage=({data:n})=>{const r=JSON.parse(n);if(r.phase&&r.phase!=s&&(s=r.phase.toLowerCase()),"failed"==r.phase)i.close(),t(new Error(r));else if("ready"==r.phase){i.close();const t={baseUrl:r.url,wsUrl:`ws${r.url.slice(4)}`,token:r.token};e(t)}}}))}(t,i,a).then((e=>p(e)))}().then(n).catch(r))).then((e=>{h=e,m(n,r)})).catch((()=>{h=null,void 0!==e&&(l=!1,e.localStorage.removeItem(s)),n.model.clear(),n.model.add({output_type:"stream",name:"failure",text:"Failed to connect to kernel"})}))}e.initManimBinder=function({repo:l,branch:h,storage_expire:c,storage_key:p,kernel_type:m,class_names:v,binder_url:O}={}){t=l||t,i=h||i,n=c||n,s=p||s,r=m||r,o=v||o,a=O||a,function(){const e=document.createElement("style");e.textContent=`\n .${o.wrapper} {\n padding: 10px;\n }\n\n .${o.title} {\n text-align: center;\n display: flex;\n justify-content: space-between;\n }\n\n .${o.meta} {\n font-size: 0.75rem;\n font-weight: 400;\n padding-top: 0.1rem;\n color: #666;\n }\n\n .${o.button} {\n cursor: pointer;\n }\n `,document.head.appendChild(e)}(),[...document.querySelectorAll("[data-manim-binder]")].forEach((t=>function(t){const i=t.getAttribute("data-manim-classname");if(!i)return void console.error("No manim classname provided.");const n=f("div",o.buttonWrapper);t.replaceWith(n);const s=f("button",o.button,"Make interactive");n.appendChild(s),s.addEventListener("click",(s=>{let r=t.textContent||"";r+="\n\n# don't remove below command for run button to work",r+=`\n%manim -qm -v WARNING ${i}`,function(t,i=""){const n=new ag({model:new wg({trusted:!0}),rendermime:new Ag({initialFactories:(d||(d=Zg.filter((t=>!t.mimeTypes.includes("text/latex")||void 0!==e&&e.MathJax))),d)})}),s=f("div",o.wrapper);t.replaceWith(s);const r=f("h4",o.title,"Try out manim!");s.appendChild(r);const l=f("span",o.meta,"Python 3 · via ");r.appendChild(l);const h=f("a","","Binder");h.setAttribute("href",a),l.appendChild(h);const c=f("div",o.cell);s.appendChild(c);const p=f("div",o.input);c.appendChild(p);const m=f("button",o.button,"Run");c.appendChild(m);const v=f("div",o.output);c.appendChild(v),Lf.sendMessage(n,fm.Msg.BeforeAttach),v.appendChild(n.node),Lf.sendMessage(n,fm.Msg.AfterAttach),n.model.changed.connect((()=>{v.querySelectorAll("video").forEach((e=>Kg(this,void 0,void 0,(function*(){console.log("fixing video");const t=e.getAttribute("src");if(!t)return void console.error("no src for the video.");e.style.maxWidth="100%";const i=yield u.get(t);if(!i.mimetype.startsWith("video/"))return void console.error("not a video");const n=atob(i.content),s=new ArrayBuffer(n.length),r=new Uint8Array(s);for(let e=0;e(g(n,O.state.doc.toString()),!0)},{key:"Ctrl-Enter",run:()=>(g(n,O.state.doc.toString()),!0)}]),zs.of([...Cc,...Dh])],parent:p});O.contentDOM.setAttribute("data-enable-grammarly","false"),O.dispatch({changes:{from:0,to:O.state.doc.length,insert:i.trim()}}),m.addEventListener("click",(e=>g(n,O.state.doc.toString())))}(n,r)}))}(t)))}}(window)})()})(); +//# sourceMappingURL=manim-binder.min.js.map diff --git a/docs/source/_static/manim-binder.min.js.LICENSE.txt b/docs/source/_static/manim-binder.min.js.LICENSE.txt new file mode 100644 index 0000000000..fe4c1fe307 --- /dev/null +++ b/docs/source/_static/manim-binder.min.js.LICENSE.txt @@ -0,0 +1,6 @@ +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/docs/source/_static/manim-binder.min.js.map b/docs/source/_static/manim-binder.min.js.map new file mode 100644 index 0000000000..25b36df03d --- /dev/null +++ b/docs/source/_static/manim-binder.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"manim-binder.min.js","mappings":"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CT,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,aACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,UACA,OACA,WACA,KACA,MACA,UACA,MACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,KACA,IAGA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,MACA,OACA,OACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,MACA,WACA,IACA,UACA,IACA,OACA,UACA,SACA,QACA,SACA,OACA,SACA,SACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,OAIJM,kBAAmB,CACf,IAAK,CACD,QACA,MACA,YACA,SACA,KACA,QACA,WACA,UACA,YACA,OACA,aACA,QACA,QACA,aAGJp7D,EAAG,CACC,YACA,SACA,OACA,WACA,OACA,MACA,QACA,WACA,SACA,QAEJ+8J,KAAM,CACF,YACA,MACA,SACA,OACA,SACA,QACA,YAGJ+P,MAAO,CACH,WACA,WACA,OACA,aACA,QACA,UACA,OAEJE,IAAK,CAAC,OACNr8H,WAAY,CAAC,QACbmgD,GAAI,CAAC,SACL7gD,OAAQ,CACJ,YACA,0BACA,6BACA,WACA,OACA,WACA,OACA,SAEJg9H,OAAQ,CAAC,SAAU,SACnB/E,QAAS,CAAC,SACVpgH,IAAK,CAAC,QAAS,OAAQ,UAAW,OAAQ,SAAU,SACpDqlH,SAAU,CAAC,QAAS,OAAQ,UAAW,OAAQ,SAAU,SACzDl9I,QAAS,CACL,UACA,UACA,WACA,OACA,QACA,aACA,QAEJttB,KAAM,CAAC,SACPygG,IAAK,CAAC,OAAQ,YACdxyD,QAAS,CAAC,QACVn0C,IAAK,CAAC,WACNo0C,IAAK,CAAC,SACNC,GAAI,CAAC,WACLC,SAAU,CAAC,YACX6rG,KAAM,CAAC,QAAS,OAAQ,QACxBzr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","sources":["webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/activitymonitor.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/interfaces.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/markdowncodeblocks.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/pageconfig.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/path.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/signal.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/text.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/time.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+coreutils@6.0.7/node_modules/@jupyterlab/coreutils/lib/url.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/basemanager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/builder/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/config/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/contents/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/contents/validate.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/event/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/comm.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/default.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/future.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/kernel.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/manager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/messages.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/restapi.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/serialize.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernel/validate.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernelspec/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernelspec/kernelspec.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernelspec/manager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernelspec/restapi.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/kernelspec/validate.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/manager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/nbconvert/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/serverconnection.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/default.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/manager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/restapi.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/session.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/session/validate.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/setting/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/shim/ws.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/terminal/default.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/terminal/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/terminal/manager.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/terminal/restapi.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/terminal/terminal.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/user/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/validate.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+services@7.0.7_react@18.2.0/node_modules/@jupyterlab/services/lib/workspace/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/dataconnector.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/interfaces.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/restorablepool.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/statedb.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+statedb@4.0.7/node_modules/@jupyterlab/statedb/lib/tokens.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+algorithm@2.0.1/node_modules/@lumino/algorithm/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+coreutils@2.1.2/node_modules/@lumino/coreutils/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+disposable@2.1.2/node_modules/@lumino/disposable/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+polling@2.1.2/node_modules/@lumino/polling/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+properties@2.0.1/node_modules/@lumino/properties/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+signaling@2.1.2/node_modules/@lumino/signaling/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js","webpack://manim-binder/./node_modules/.pnpm/dom-serializer@1.4.1/node_modules/dom-serializer/lib/foreignNames.js","webpack://manim-binder/./node_modules/.pnpm/dom-serializer@1.4.1/node_modules/dom-serializer/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/domhandler@4.3.1/node_modules/domhandler/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/domhandler@4.3.1/node_modules/domhandler/lib/node.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/feeds.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/helpers.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/legacy.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/manipulation.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/querying.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/stringify.js","webpack://manim-binder/./node_modules/.pnpm/domutils@2.8.0/node_modules/domutils/lib/traversal.js","webpack://manim-binder/./node_modules/.pnpm/entities@2.2.0/node_modules/entities/lib/decode.js","webpack://manim-binder/./node_modules/.pnpm/entities@2.2.0/node_modules/entities/lib/decode_codepoint.js","webpack://manim-binder/./node_modules/.pnpm/entities@2.2.0/node_modules/entities/lib/encode.js","webpack://manim-binder/./node_modules/.pnpm/entities@2.2.0/node_modules/entities/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/escape-string-regexp@4.0.0/node_modules/escape-string-regexp/index.js","webpack://manim-binder/./node_modules/.pnpm/htmlparser2@6.1.0/node_modules/htmlparser2/lib/FeedHandler.js","webpack://manim-binder/./node_modules/.pnpm/htmlparser2@6.1.0/node_modules/htmlparser2/lib/Parser.js","webpack://manim-binder/./node_modules/.pnpm/htmlparser2@6.1.0/node_modules/htmlparser2/lib/Tokenizer.js","webpack://manim-binder/./node_modules/.pnpm/htmlparser2@6.1.0/node_modules/htmlparser2/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.js","webpack://manim-binder/./node_modules/.pnpm/lodash.escape@4.0.1/node_modules/lodash.escape/index.js","webpack://manim-binder/./node_modules/.pnpm/minimist@1.2.8/node_modules/minimist/index.js","webpack://manim-binder/./node_modules/.pnpm/parse-srcset@1.0.2/node_modules/parse-srcset/src/parse-srcset.js","webpack://manim-binder/./node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js","webpack://manim-binder/./node_modules/.pnpm/picocolors@1.0.0/node_modules/picocolors/picocolors.browser.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/at-rule.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/comment.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/container.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/css-syntax-error.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/declaration.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/document.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/fromJSON.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/input.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/lazy-result.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/list.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/map-generator.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/no-work-result.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/node.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/parse.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/parser.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/postcss.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/previous-map.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/processor.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/result.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/root.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/rule.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/stringifier.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/stringify.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/symbols.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/tokenize.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/warn-once.js","webpack://manim-binder/./node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/warning.js","webpack://manim-binder/./node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js","webpack://manim-binder/./node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.js","webpack://manim-binder/./node_modules/.pnpm/sanitize-html@2.7.3/node_modules/sanitize-html/index.js","webpack://manim-binder/./node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.js","webpack://manim-binder/./node_modules/.pnpm/nanoid@3.3.6/node_modules/nanoid/non-secure/index.cjs","webpack://manim-binder/webpack/bootstrap","webpack://manim-binder/webpack/runtime/compat get default export","webpack://manim-binder/webpack/runtime/define property getters","webpack://manim-binder/webpack/runtime/global","webpack://manim-binder/webpack/runtime/hasOwnProperty shorthand","webpack://manim-binder/webpack/runtime/make namespace object","webpack://manim-binder/./node_modules/.pnpm/@codemirror+state@6.3.1/node_modules/@codemirror/state/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js","webpack://manim-binder/./node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+view@6.21.4/node_modules/@codemirror/view/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lezer+common@1.1.0/node_modules/@lezer/common/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lezer+highlight@1.1.6/node_modules/@lezer/highlight/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+language@6.9.2/node_modules/@codemirror/language/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+commands@6.3.0/node_modules/@codemirror/commands/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+search@6.5.4/node_modules/@codemirror/search/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+autocomplete@6.10.2_@codemirror+language@6.9.2_@codemirror+state@6.3.1_@codemirro_qlo7c5orcxst6mqbb4ug325pdq/node_modules/@codemirror/autocomplete/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+lint@6.4.2/node_modules/@codemirror/lint/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/codemirror@6.0.1_@lezer+common@1.1.0/node_modules/codemirror/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lezer+lr@1.3.13/node_modules/@lezer/lr/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lezer+python@1.1.9/node_modules/@lezer/python/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+lang-python@6.1.3_@codemirror+state@6.3.1_@codemirror+view@6.21.4_@lezer+common@1.1.0/node_modules/@codemirror/lang-python/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@codemirror+theme-one-dark@6.1.2/node_modules/@codemirror/theme-one-dark/dist/index.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+domutils@2.0.1/node_modules/@lumino/domutils/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+collections@2.0.1/node_modules/@lumino/collections/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+messaging@2.0.1/node_modules/@lumino/messaging/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+dragdrop@2.1.3/node_modules/@lumino/dragdrop/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+keyboard@2.0.1/node_modules/@lumino/keyboard/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+commands@2.1.3/node_modules/@lumino/commands/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+virtualdom@2.0.1/node_modules/@lumino/virtualdom/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@lumino+widgets@2.3.0/node_modules/@lumino/widgets/dist/index.es6.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+apputils@4.1.7/node_modules/@jupyterlab/apputils/lib/widgettracker.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+translation@4.0.7_react@18.2.0/node_modules/@jupyterlab/translation/lib/utils.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+translation@4.0.7_react@18.2.0/node_modules/@jupyterlab/translation/lib/gettext.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+translation@4.0.7_react@18.2.0/node_modules/@jupyterlab/translation/lib/base.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+translation@4.0.7_react@18.2.0/node_modules/@jupyterlab/translation/lib/tokens.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+outputarea@4.0.7_react@18.2.0/node_modules/@jupyterlab/outputarea/lib/widget.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+observables@5.0.7/node_modules/@jupyterlab/observables/lib/observablelist.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+observables@5.0.7/node_modules/@jupyterlab/observables/lib/observablemap.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/outputmodel.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+outputarea@4.0.7_react@18.2.0/node_modules/@jupyterlab/outputarea/lib/model.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+nbformat@4.0.7/node_modules/@jupyterlab/nbformat/lib/index.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+observables@5.0.7/node_modules/@jupyterlab/observables/lib/observablejson.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+apputils@4.1.7/node_modules/@jupyterlab/apputils/lib/sanitizer.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/mimemodel.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/registry.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/latex.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/renderers.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/widgets.js","webpack://manim-binder/./node_modules/.pnpm/@jupyterlab+rendermime@4.0.7_react@18.2.0/node_modules/@jupyterlab/rendermime/lib/factories.js","webpack://manim-binder/./src/main.ts"],"sourcesContent":["\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActivityMonitor = void 0;\nconst signaling_1 = require(\"@lumino/signaling\");\n/**\n * A class that monitors activity on a signal.\n */\nclass ActivityMonitor {\n /**\n * Construct a new activity monitor.\n */\n constructor(options) {\n this._timer = -1;\n this._timeout = -1;\n this._isDisposed = false;\n this._activityStopped = new signaling_1.Signal(this);\n options.signal.connect(this._onSignalFired, this);\n this._timeout = options.timeout || 1000;\n }\n /**\n * A signal emitted when activity has ceased.\n */\n get activityStopped() {\n return this._activityStopped;\n }\n /**\n * The timeout associated with the monitor, in milliseconds.\n */\n get timeout() {\n return this._timeout;\n }\n set timeout(value) {\n this._timeout = value;\n }\n /**\n * Test whether the monitor has been disposed.\n *\n * #### Notes\n * This is a read-only property.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the activity monitor.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n signaling_1.Signal.clearData(this);\n }\n /**\n * A signal handler for the monitored signal.\n */\n _onSignalFired(sender, args) {\n clearTimeout(this._timer);\n this._sender = sender;\n this._args = args;\n this._timer = setTimeout(() => {\n this._activityStopped.emit({\n sender: this._sender,\n args: this._args\n });\n }, this._timeout);\n }\n}\nexports.ActivityMonitor = ActivityMonitor;\n//# sourceMappingURL=activitymonitor.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module coreutils\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./activitymonitor\"), exports);\n__exportStar(require(\"./interfaces\"), exports);\n__exportStar(require(\"./markdowncodeblocks\"), exports);\n__exportStar(require(\"./pageconfig\"), exports);\n__exportStar(require(\"./path\"), exports);\n__exportStar(require(\"./signal\"), exports);\n__exportStar(require(\"./text\"), exports);\n__exportStar(require(\"./time\"), exports);\n__exportStar(require(\"./url\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=interfaces.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MarkdownCodeBlocks = void 0;\n/**\n * The namespace for code block functions which help\n * in extract code from markdown text\n */\nvar MarkdownCodeBlocks;\n(function (MarkdownCodeBlocks) {\n MarkdownCodeBlocks.CODE_BLOCK_MARKER = '```';\n const markdownExtensions = [\n '.markdown',\n '.mdown',\n '.mkdn',\n '.md',\n '.mkd',\n '.mdwn',\n '.mdtxt',\n '.mdtext',\n '.text',\n '.txt',\n '.Rmd'\n ];\n class MarkdownCodeBlock {\n constructor(startLine) {\n this.startLine = startLine;\n this.code = '';\n this.endLine = -1;\n }\n }\n MarkdownCodeBlocks.MarkdownCodeBlock = MarkdownCodeBlock;\n /**\n * Check whether the given file extension is a markdown extension\n * @param extension - A file extension\n *\n * @returns true/false depending on whether this is a supported markdown extension\n */\n function isMarkdown(extension) {\n return markdownExtensions.indexOf(extension) > -1;\n }\n MarkdownCodeBlocks.isMarkdown = isMarkdown;\n /**\n * Construct all code snippets from current text\n * (this could be potentially optimized if we can cache and detect differences)\n * @param text - A string to parse codeblocks from\n *\n * @returns An array of MarkdownCodeBlocks.\n */\n function findMarkdownCodeBlocks(text) {\n if (!text || text === '') {\n return [];\n }\n const lines = text.split('\\n');\n const codeBlocks = [];\n let currentBlock = null;\n for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {\n const line = lines[lineIndex];\n const lineContainsMarker = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER) === 0;\n const constructingBlock = currentBlock != null;\n // Skip this line if it is not part of any code block and doesn't contain a marker.\n if (!lineContainsMarker && !constructingBlock) {\n continue;\n }\n // Check if we are already constructing a code block.\n if (!constructingBlock) {\n // Start constructing a new code block.\n currentBlock = new MarkdownCodeBlock(lineIndex);\n // Check whether this is a single line code block of the form ```a = 10```.\n const firstIndex = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);\n const lastIndex = line.lastIndexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);\n const isSingleLine = firstIndex !== lastIndex;\n if (isSingleLine) {\n currentBlock.code = line.substring(firstIndex + MarkdownCodeBlocks.CODE_BLOCK_MARKER.length, lastIndex);\n currentBlock.endLine = lineIndex;\n codeBlocks.push(currentBlock);\n currentBlock = null;\n }\n }\n else if (currentBlock) {\n if (lineContainsMarker) {\n // End of block, finish it up.\n currentBlock.endLine = lineIndex - 1;\n codeBlocks.push(currentBlock);\n currentBlock = null;\n }\n else {\n // Append the current line.\n currentBlock.code += line + '\\n';\n }\n }\n }\n return codeBlocks;\n }\n MarkdownCodeBlocks.findMarkdownCodeBlocks = findMarkdownCodeBlocks;\n})(MarkdownCodeBlocks = exports.MarkdownCodeBlocks || (exports.MarkdownCodeBlocks = {}));\n//# sourceMappingURL=markdowncodeblocks.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PageConfig = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\nconst minimist_1 = __importDefault(require(\"minimist\"));\nconst url_1 = require(\"./url\");\n/**\n * The namespace for `PageConfig` functions.\n */\nvar PageConfig;\n(function (PageConfig) {\n /**\n * Get global configuration data for the Jupyter application.\n *\n * @param name - The name of the configuration option.\n *\n * @returns The config value or an empty string if not found.\n *\n * #### Notes\n * All values are treated as strings.\n * For browser based applications, it is assumed that the page HTML\n * includes a script tag with the id `jupyter-config-data` containing the\n * configuration as valid JSON. In order to support the classic Notebook,\n * we fall back on checking for `body` data of the given `name`.\n *\n * For node applications, it is assumed that the process was launched\n * with a `--jupyter-config-data` option pointing to a JSON settings\n * file.\n */\n function getOption(name) {\n if (configData) {\n return configData[name] || getBodyData(name);\n }\n configData = Object.create(null);\n let found = false;\n // Use script tag if available.\n if (typeof document !== 'undefined' && document) {\n const el = document.getElementById('jupyter-config-data');\n if (el) {\n configData = JSON.parse(el.textContent || '');\n found = true;\n }\n }\n // Otherwise use CLI if given.\n if (!found && typeof process !== 'undefined' && process.argv) {\n try {\n const cli = (0, minimist_1.default)(process.argv.slice(2));\n const path = require('path');\n let fullPath = '';\n if ('jupyter-config-data' in cli) {\n fullPath = path.resolve(cli['jupyter-config-data']);\n }\n else if ('JUPYTER_CONFIG_DATA' in process.env) {\n fullPath = path.resolve(process.env['JUPYTER_CONFIG_DATA']);\n }\n if (fullPath) {\n // Force Webpack to ignore this require.\n // eslint-disable-next-line\n configData = eval('require')(fullPath);\n }\n }\n catch (e) {\n console.error(e);\n }\n }\n if (!coreutils_1.JSONExt.isObject(configData)) {\n configData = Object.create(null);\n }\n else {\n for (const key in configData) {\n // PageConfig expects strings\n if (typeof configData[key] !== 'string') {\n configData[key] = JSON.stringify(configData[key]);\n }\n }\n }\n return configData[name] || getBodyData(name);\n }\n PageConfig.getOption = getOption;\n /**\n * Set global configuration data for the Jupyter application.\n *\n * @param name - The name of the configuration option.\n * @param value - The value to set the option to.\n *\n * @returns The last config value or an empty string if it doesn't exist.\n */\n function setOption(name, value) {\n const last = getOption(name);\n configData[name] = value;\n return last;\n }\n PageConfig.setOption = setOption;\n /**\n * Get the base url for a Jupyter application, or the base url of the page.\n */\n function getBaseUrl() {\n return url_1.URLExt.normalize(getOption('baseUrl') || '/');\n }\n PageConfig.getBaseUrl = getBaseUrl;\n /**\n * Get the tree url for a JupyterLab application.\n */\n function getTreeUrl() {\n return url_1.URLExt.join(getBaseUrl(), getOption('treeUrl'));\n }\n PageConfig.getTreeUrl = getTreeUrl;\n /**\n * Get the base url for sharing links (usually baseUrl)\n */\n function getShareUrl() {\n return url_1.URLExt.normalize(getOption('shareUrl') || getBaseUrl());\n }\n PageConfig.getShareUrl = getShareUrl;\n /**\n * Get the tree url for shareable links.\n * Usually the same as treeUrl,\n * but overrideable e.g. when sharing with JupyterHub.\n */\n function getTreeShareUrl() {\n return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(), getOption('treeUrl')));\n }\n PageConfig.getTreeShareUrl = getTreeShareUrl;\n /**\n * Create a new URL given an optional mode and tree path.\n *\n * This is used to create URLS when the mode or tree path change as the user\n * changes mode or the current document in the main area. If fields in\n * options are omitted, the value in PageConfig will be used.\n *\n * @param options - IGetUrlOptions for the new path.\n */\n function getUrl(options) {\n var _a, _b, _c, _d;\n let path = options.toShare ? getShareUrl() : getBaseUrl();\n const mode = (_a = options.mode) !== null && _a !== void 0 ? _a : getOption('mode');\n const workspace = (_b = options.workspace) !== null && _b !== void 0 ? _b : getOption('workspace');\n const labOrDoc = mode === 'single-document' ? 'doc' : 'lab';\n path = url_1.URLExt.join(path, labOrDoc);\n if (workspace !== PageConfig.defaultWorkspace) {\n path = url_1.URLExt.join(path, 'workspaces', encodeURIComponent((_c = getOption('workspace')) !== null && _c !== void 0 ? _c : PageConfig.defaultWorkspace));\n }\n const treePath = (_d = options.treePath) !== null && _d !== void 0 ? _d : getOption('treePath');\n if (treePath) {\n path = url_1.URLExt.join(path, 'tree', url_1.URLExt.encodeParts(treePath));\n }\n return path;\n }\n PageConfig.getUrl = getUrl;\n PageConfig.defaultWorkspace = 'default';\n /**\n * Get the base websocket url for a Jupyter application, or an empty string.\n */\n function getWsUrl(baseUrl) {\n let wsUrl = getOption('wsUrl');\n if (!wsUrl) {\n baseUrl = baseUrl ? url_1.URLExt.normalize(baseUrl) : getBaseUrl();\n if (baseUrl.indexOf('http') !== 0) {\n return '';\n }\n wsUrl = 'ws' + baseUrl.slice(4);\n }\n return url_1.URLExt.normalize(wsUrl);\n }\n PageConfig.getWsUrl = getWsUrl;\n /**\n * Returns the URL converting this notebook to a certain\n * format with nbconvert.\n */\n function getNBConvertURL({ path, format, download }) {\n const notebookPath = url_1.URLExt.encodeParts(path);\n const url = url_1.URLExt.join(getBaseUrl(), 'nbconvert', format, notebookPath);\n if (download) {\n return url + '?download=true';\n }\n return url;\n }\n PageConfig.getNBConvertURL = getNBConvertURL;\n /**\n * Get the authorization token for a Jupyter application.\n */\n function getToken() {\n return getOption('token') || getBodyData('jupyterApiToken');\n }\n PageConfig.getToken = getToken;\n /**\n * Get the Notebook version info [major, minor, patch].\n */\n function getNotebookVersion() {\n const notebookVersion = getOption('notebookVersion');\n if (notebookVersion === '') {\n return [0, 0, 0];\n }\n return JSON.parse(notebookVersion);\n }\n PageConfig.getNotebookVersion = getNotebookVersion;\n /**\n * Private page config data for the Jupyter application.\n */\n let configData = null;\n /**\n * Get a url-encoded item from `body.data` and decode it\n * We should never have any encoded URLs anywhere else in code\n * until we are building an actual request.\n */\n function getBodyData(key) {\n if (typeof document === 'undefined' || !document.body) {\n return '';\n }\n const val = document.body.dataset[key];\n if (typeof val === 'undefined') {\n return '';\n }\n return decodeURIComponent(val);\n }\n /**\n * The namespace for page config `Extension` functions.\n */\n let Extension;\n (function (Extension) {\n /**\n * Populate an array from page config.\n *\n * @param key - The page config key (e.g., `deferredExtensions`).\n *\n * #### Notes\n * This is intended for `deferredExtensions` and `disabledExtensions`.\n */\n function populate(key) {\n try {\n const raw = getOption(key);\n if (raw) {\n return JSON.parse(raw);\n }\n }\n catch (error) {\n console.warn(`Unable to parse ${key}.`, error);\n }\n return [];\n }\n /**\n * The collection of deferred extensions in page config.\n */\n Extension.deferred = populate('deferredExtensions');\n /**\n * The collection of disabled extensions in page config.\n */\n Extension.disabled = populate('disabledExtensions');\n /**\n * Returns whether a plugin is deferred.\n *\n * @param id - The plugin ID.\n */\n function isDeferred(id) {\n // Check for either a full plugin id match or an extension\n // name match.\n const separatorIndex = id.indexOf(':');\n let extName = '';\n if (separatorIndex !== -1) {\n extName = id.slice(0, separatorIndex);\n }\n return Extension.deferred.some(val => val === id || (extName && val === extName));\n }\n Extension.isDeferred = isDeferred;\n /**\n * Returns whether a plugin is disabled.\n *\n * @param id - The plugin ID.\n */\n function isDisabled(id) {\n // Check for either a full plugin id match or an extension\n // name match.\n const separatorIndex = id.indexOf(':');\n let extName = '';\n if (separatorIndex !== -1) {\n extName = id.slice(0, separatorIndex);\n }\n return Extension.disabled.some(val => val === id || (extName && val === extName));\n }\n Extension.isDisabled = isDisabled;\n })(Extension = PageConfig.Extension || (PageConfig.Extension = {}));\n})(PageConfig = exports.PageConfig || (exports.PageConfig = {}));\n//# sourceMappingURL=pageconfig.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathExt = void 0;\nconst path_1 = require(\"path\");\n/**\n * The namespace for path-related functions.\n *\n * Note that Jupyter server paths do not start with a leading slash.\n */\nvar PathExt;\n(function (PathExt) {\n /**\n * Join all arguments together and normalize the resulting path.\n * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.\n *\n * @param paths - The string paths to join.\n */\n function join(...paths) {\n const path = path_1.posix.join(...paths);\n return path === '.' ? '' : removeSlash(path);\n }\n PathExt.join = join;\n /**\n * Return the last portion of a path. Similar to the Unix basename command.\n * Often used to extract the file name from a fully qualified path.\n *\n * @param path - The path to evaluate.\n *\n * @param ext - An extension to remove from the result.\n */\n function basename(path, ext) {\n return path_1.posix.basename(path, ext);\n }\n PathExt.basename = basename;\n /**\n * Get the directory name of a path, similar to the Unix dirname command.\n * When an empty path is given, returns the root path.\n *\n * @param path - The file path.\n */\n function dirname(path) {\n const dir = removeSlash(path_1.posix.dirname(path));\n return dir === '.' ? '' : dir;\n }\n PathExt.dirname = dirname;\n /**\n * Get the extension of the path.\n *\n * @param path - The file path.\n *\n * @returns the extension of the file.\n *\n * #### Notes\n * The extension is the string from the last occurrence of the `.`\n * character to end of string in the last portion of the path, inclusive.\n * If there is no `.` in the last portion of the path, or if the first\n * character of the basename of path [[basename]] is `.`, then an\n * empty string is returned.\n */\n function extname(path) {\n return path_1.posix.extname(path);\n }\n PathExt.extname = extname;\n /**\n * Normalize a string path, reducing '..' and '.' parts.\n * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.\n * When an empty path is given, returns the root path.\n *\n * @param path - The string path to normalize.\n */\n function normalize(path) {\n if (path === '') {\n return '';\n }\n return removeSlash(path_1.posix.normalize(path));\n }\n PathExt.normalize = normalize;\n /**\n * Resolve a sequence of paths or path segments into an absolute path.\n * The root path in the application has no leading slash, so it is removed.\n *\n * @param parts - The paths to join.\n *\n * #### Notes\n * The right-most parameter is considered \\{to\\}. Other parameters are considered an array of \\{from\\}.\n *\n * Starting from leftmost \\{from\\} parameter, resolves \\{to\\} to an absolute path.\n *\n * If \\{to\\} isn't already absolute, \\{from\\} arguments are prepended in right to left order, until an absolute path is found. If after using all \\{from\\} paths still no absolute path is found, the current working directory is used as well. The resulting path is normalized, and trailing slashes are removed unless the path gets resolved to the root directory.\n */\n function resolve(...parts) {\n return removeSlash(path_1.posix.resolve(...parts));\n }\n PathExt.resolve = resolve;\n /**\n * Solve the relative path from \\{from\\} to \\{to\\}.\n *\n * @param from - The source path.\n *\n * @param to - The target path.\n *\n * #### Notes\n * If from and to each resolve to the same path (after calling\n * path.resolve() on each), a zero-length string is returned.\n * If a zero-length string is passed as from or to, `/`\n * will be used instead of the zero-length strings.\n */\n function relative(from, to) {\n return removeSlash(path_1.posix.relative(from, to));\n }\n PathExt.relative = relative;\n /**\n * Normalize a file extension to be of the type `'.foo'`.\n *\n * @param extension - the file extension.\n *\n * #### Notes\n * Adds a leading dot if not present and converts to lower case.\n */\n function normalizeExtension(extension) {\n if (extension.length > 0 && extension.indexOf('.') !== 0) {\n extension = `.${extension}`;\n }\n return extension;\n }\n PathExt.normalizeExtension = normalizeExtension;\n /**\n * Remove the leading slash from a path.\n *\n * @param path: the path from which to remove a leading slash.\n */\n function removeSlash(path) {\n if (path.indexOf('/') === 0) {\n path = path.slice(1);\n }\n return path;\n }\n PathExt.removeSlash = removeSlash;\n})(PathExt = exports.PathExt || (exports.PathExt = {}));\n//# sourceMappingURL=path.js.map","\"use strict\";\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.signalToPromise = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\n/**\n * Convert a signal into a promise for the first emitted value.\n *\n * @param signal - The signal we are listening to.\n * @param timeout - Timeout to wait for signal in ms (not timeout if not defined or 0)\n *\n * @returns a Promise that resolves with a `(sender, args)` pair.\n */\nfunction signalToPromise(signal, timeout) {\n const waitForSignal = new coreutils_1.PromiseDelegate();\n function cleanup() {\n signal.disconnect(slot);\n }\n function slot(sender, args) {\n cleanup();\n waitForSignal.resolve([sender, args]);\n }\n signal.connect(slot);\n if ((timeout !== null && timeout !== void 0 ? timeout : 0) > 0) {\n setTimeout(() => {\n cleanup();\n waitForSignal.reject(`Signal not emitted within ${timeout} ms.`);\n }, timeout);\n }\n return waitForSignal.promise;\n}\nexports.signalToPromise = signalToPromise;\n//# sourceMappingURL=signal.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = void 0;\n/**\n * The namespace for text-related functions.\n */\nvar Text;\n(function (Text) {\n // javascript stores text as utf16 and string indices use \"code units\",\n // which stores high-codepoint characters as \"surrogate pairs\",\n // which occupy two indices in the javascript string.\n // We need to translate cursor_pos in the Jupyter protocol (in characters)\n // to js offset (with surrogate pairs taking two spots).\n const HAS_SURROGATES = '𝐚'.length > 1;\n /**\n * Convert a javascript string index into a unicode character offset\n *\n * @param jsIdx - The javascript string index (counting surrogate pairs)\n *\n * @param text - The text in which the offset is calculated\n *\n * @returns The unicode character offset\n */\n function jsIndexToCharIndex(jsIdx, text) {\n if (HAS_SURROGATES) {\n // not using surrogates, nothing to do\n return jsIdx;\n }\n let charIdx = jsIdx;\n for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {\n const charCode = text.charCodeAt(i);\n // check for surrogate pair\n if (charCode >= 0xd800 && charCode <= 0xdbff) {\n const nextCharCode = text.charCodeAt(i + 1);\n if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {\n charIdx--;\n i++;\n }\n }\n }\n return charIdx;\n }\n Text.jsIndexToCharIndex = jsIndexToCharIndex;\n /**\n * Convert a unicode character offset to a javascript string index.\n *\n * @param charIdx - The index in unicode characters\n *\n * @param text - The text in which the offset is calculated\n *\n * @returns The js-native index\n */\n function charIndexToJsIndex(charIdx, text) {\n if (HAS_SURROGATES) {\n // not using surrogates, nothing to do\n return charIdx;\n }\n let jsIdx = charIdx;\n for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {\n const charCode = text.charCodeAt(i);\n // check for surrogate pair\n if (charCode >= 0xd800 && charCode <= 0xdbff) {\n const nextCharCode = text.charCodeAt(i + 1);\n if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {\n jsIdx++;\n i++;\n }\n }\n }\n return jsIdx;\n }\n Text.charIndexToJsIndex = charIndexToJsIndex;\n /**\n * Given a 'snake-case', 'snake_case', 'snake:case', or\n * 'snake case' string, will return the camel case version: 'snakeCase'.\n *\n * @param str: the snake-case input string.\n *\n * @param upper: default = false. If true, the first letter of the\n * returned string will be capitalized.\n *\n * @returns the camel case version of the input string.\n */\n function camelCase(str, upper = false) {\n return str.replace(/^(\\w)|[\\s-_:]+(\\w)/g, function (match, p1, p2) {\n if (p2) {\n return p2.toUpperCase();\n }\n else {\n return upper ? p1.toUpperCase() : p1.toLowerCase();\n }\n });\n }\n Text.camelCase = camelCase;\n /**\n * Given a string, title case the words in the string.\n *\n * @param str: the string to title case.\n *\n * @returns the same string, but with each word capitalized.\n */\n function titleCase(str) {\n return (str || '')\n .toLowerCase()\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n Text.titleCase = titleCase;\n})(Text = exports.Text || (exports.Text = {}));\n//# sourceMappingURL=text.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Time = void 0;\n/**\n * A list of time units with their associated value in milliseconds.\n */\nconst UNITS = [\n { name: 'years', milliseconds: 365 * 24 * 60 * 60 * 1000 },\n { name: 'months', milliseconds: 30 * 24 * 60 * 60 * 1000 },\n { name: 'days', milliseconds: 24 * 60 * 60 * 1000 },\n { name: 'hours', milliseconds: 60 * 60 * 1000 },\n { name: 'minutes', milliseconds: 60 * 1000 },\n { name: 'seconds', milliseconds: 1000 }\n];\n/**\n * The namespace for date functions.\n */\nvar Time;\n(function (Time) {\n /**\n * Convert a timestring to a human readable string (e.g. 'two minutes ago').\n *\n * @param value - The date timestring or date object.\n *\n * @returns A formatted date.\n */\n function formatHuman(value) {\n const lang = document.documentElement.lang || 'en';\n const formatter = new Intl.RelativeTimeFormat(lang, { numeric: 'auto' });\n const delta = new Date(value).getTime() - Date.now();\n for (let unit of UNITS) {\n const amount = Math.ceil(delta / unit.milliseconds);\n if (amount === 0) {\n continue;\n }\n return formatter.format(amount, unit.name);\n }\n return formatter.format(0, 'seconds');\n }\n Time.formatHuman = formatHuman;\n /**\n * Convenient helper to convert a timestring to a date format.\n *\n * @param value - The date timestring or date object.\n *\n * @returns A formatted date.\n */\n function format(value) {\n const lang = document.documentElement.lang || 'en';\n const formatter = new Intl.DateTimeFormat(lang, {\n dateStyle: 'short',\n timeStyle: 'short'\n });\n return formatter.format(new Date(value));\n }\n Time.format = format;\n})(Time = exports.Time || (exports.Time = {}));\n//# sourceMappingURL=time.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.URLExt = void 0;\nconst path_1 = require(\"path\");\nconst url_parse_1 = __importDefault(require(\"url-parse\"));\n/**\n * The namespace for URL-related functions.\n */\nvar URLExt;\n(function (URLExt) {\n /**\n * Parse a url into a URL object.\n *\n * @param urlString - The URL string to parse.\n *\n * @returns A URL object.\n */\n function parse(url) {\n if (typeof document !== 'undefined' && document) {\n const a = document.createElement('a');\n a.href = url;\n return a;\n }\n return (0, url_parse_1.default)(url);\n }\n URLExt.parse = parse;\n /**\n * Parse URL and retrieve hostname\n *\n * @param url - The URL string to parse\n *\n * @returns a hostname string value\n */\n function getHostName(url) {\n return (0, url_parse_1.default)(url).hostname;\n }\n URLExt.getHostName = getHostName;\n function normalize(url) {\n return url && parse(url).toString();\n }\n URLExt.normalize = normalize;\n /**\n * Join a sequence of url components and normalizes as in node `path.join`.\n *\n * @param parts - The url components.\n *\n * @returns the joined url.\n */\n function join(...parts) {\n let u = (0, url_parse_1.default)(parts[0], {});\n // Schema-less URL can be only parsed as relative to a base URL\n // see https://github.com/unshiftio/url-parse/issues/219#issuecomment-1002219326\n const isSchemaLess = u.protocol === '' && u.slashes;\n if (isSchemaLess) {\n u = (0, url_parse_1.default)(parts[0], 'https:' + parts[0]);\n }\n const prefix = `${isSchemaLess ? '' : u.protocol}${u.slashes ? '//' : ''}${u.auth}${u.auth ? '@' : ''}${u.host}`;\n // If there was a prefix, then the first path must start at the root.\n const path = path_1.posix.join(`${!!prefix && u.pathname[0] !== '/' ? '/' : ''}${u.pathname}`, ...parts.slice(1));\n return `${prefix}${path === '.' ? '' : path}`;\n }\n URLExt.join = join;\n /**\n * Encode the components of a multi-segment url.\n *\n * @param url - The url to encode.\n *\n * @returns the encoded url.\n *\n * #### Notes\n * Preserves the `'/'` separators.\n * Should not include the base url, since all parts are escaped.\n */\n function encodeParts(url) {\n return join(...url.split('/').map(encodeURIComponent));\n }\n URLExt.encodeParts = encodeParts;\n /**\n * Return a serialized object string suitable for a query.\n *\n * @param object - The source object.\n *\n * @returns an encoded url query.\n *\n * #### Notes\n * Modified version of [stackoverflow](http://stackoverflow.com/a/30707423).\n */\n function objectToQueryString(value) {\n const keys = Object.keys(value).filter(key => key.length > 0);\n if (!keys.length) {\n return '';\n }\n return ('?' +\n keys\n .map(key => {\n const content = encodeURIComponent(String(value[key]));\n return key + (content ? '=' + content : '');\n })\n .join('&'));\n }\n URLExt.objectToQueryString = objectToQueryString;\n /**\n * Return a parsed object that represents the values in a query string.\n */\n function queryStringToObject(value) {\n return value\n .replace(/^\\?/, '')\n .split('&')\n .reduce((acc, val) => {\n const [key, value] = val.split('=');\n if (key.length > 0) {\n acc[key] = decodeURIComponent(value || '');\n }\n return acc;\n }, {});\n }\n URLExt.queryStringToObject = queryStringToObject;\n /**\n * Test whether the url is a local url.\n *\n * #### Notes\n * This function returns `false` for any fully qualified url, including\n * `data:`, `file:`, and `//` protocol URLs.\n */\n function isLocal(url) {\n const { protocol } = parse(url);\n return ((!protocol || url.toLowerCase().indexOf(protocol) !== 0) &&\n url.indexOf('/') !== 0);\n }\n URLExt.isLocal = isLocal;\n})(URLExt = exports.URLExt || (exports.URLExt = {}));\n//# sourceMappingURL=url.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseManager = void 0;\nconst signaling_1 = require(\"@lumino/signaling\");\nconst serverconnection_1 = require(\"./serverconnection\");\nclass BaseManager {\n constructor(options) {\n var _a;\n this._isDisposed = false;\n this._disposed = new signaling_1.Signal(this);\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n }\n /**\n * A signal emitted when the delegate is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Test whether the delegate has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Whether the manager is active.\n */\n get isActive() {\n return true;\n }\n /**\n * Dispose of the delegate and invoke the callback function.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._disposed.emit(undefined);\n signaling_1.Signal.clearData(this);\n }\n}\nexports.BaseManager = BaseManager;\n//# sourceMappingURL=basemanager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BuildManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst serverconnection_1 = require(\"../serverconnection\");\n/**\n * The url for the lab build service.\n */\nconst BUILD_SETTINGS_URL = 'api/build';\n/**\n * The build API service manager.\n */\nclass BuildManager {\n /**\n * Create a new setting manager.\n */\n constructor(options = {}) {\n var _a;\n this._url = '';\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n const { baseUrl, appUrl } = this.serverSettings;\n this._url = coreutils_1.URLExt.join(baseUrl, appUrl, BUILD_SETTINGS_URL);\n }\n /**\n * Test whether the build service is available.\n */\n get isAvailable() {\n return coreutils_1.PageConfig.getOption('buildAvailable').toLowerCase() === 'true';\n }\n /**\n * Test whether to check build status automatically.\n */\n get shouldCheck() {\n return coreutils_1.PageConfig.getOption('buildCheck').toLowerCase() === 'true';\n }\n /**\n * Get whether the application should be built.\n */\n getStatus() {\n const { _url, serverSettings } = this;\n const promise = serverconnection_1.ServerConnection.makeRequest(_url, {}, serverSettings);\n return promise\n .then(response => {\n if (response.status !== 200) {\n throw new serverconnection_1.ServerConnection.ResponseError(response);\n }\n return response.json();\n })\n .then(data => {\n if (typeof data.status !== 'string') {\n throw new Error('Invalid data');\n }\n if (typeof data.message !== 'string') {\n throw new Error('Invalid data');\n }\n return data;\n });\n }\n /**\n * Build the application.\n */\n build() {\n const { _url, serverSettings } = this;\n const init = { method: 'POST' };\n const promise = serverconnection_1.ServerConnection.makeRequest(_url, init, serverSettings);\n return promise.then(response => {\n if (response.status === 400) {\n throw new serverconnection_1.ServerConnection.ResponseError(response, 'Build aborted');\n }\n if (response.status !== 200) {\n const message = `Build failed with ${response.status}.\n\n If you are experiencing the build failure after installing an extension (or trying to include previously installed extension after updating JupyterLab) please check the extension repository for new installation instructions as many extensions migrated to the prebuilt extensions system which no longer requires rebuilding JupyterLab (but uses a different installation procedure, typically involving a package manager such as 'pip' or 'conda').\n\n If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;\n throw new serverconnection_1.ServerConnection.ResponseError(response, message);\n }\n });\n }\n /**\n * Cancel an active build.\n */\n cancel() {\n const { _url, serverSettings } = this;\n const init = { method: 'DELETE' };\n const promise = serverconnection_1.ServerConnection.makeRequest(_url, init, serverSettings);\n return promise.then(response => {\n if (response.status !== 204) {\n throw new serverconnection_1.ServerConnection.ResponseError(response);\n }\n });\n }\n}\nexports.BuildManager = BuildManager;\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfigWithDefaults = exports.ConfigSection = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst __1 = require(\"..\");\n/**\n * The url for the config service.\n */\nconst SERVICE_CONFIG_URL = 'api/config';\n/**\n * The namespace for ConfigSection statics.\n */\nvar ConfigSection;\n(function (ConfigSection) {\n /**\n * Create a config section.\n *\n * @returns A Promise that is fulfilled with the config section is loaded.\n */\n function create(options) {\n const section = new DefaultConfigSection(options);\n return section.load().then(() => {\n return section;\n });\n }\n ConfigSection.create = create;\n})(ConfigSection = exports.ConfigSection || (exports.ConfigSection = {}));\n/**\n * Implementation of the Configurable data section.\n */\nclass DefaultConfigSection {\n /**\n * Construct a new config section.\n */\n constructor(options) {\n var _a;\n this._url = 'unknown';\n const settings = (this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings());\n this._url = coreutils_1.URLExt.join(settings.baseUrl, SERVICE_CONFIG_URL, encodeURIComponent(options.name));\n }\n /**\n * Get the data for this section.\n */\n get data() {\n return this._data;\n }\n /**\n * Load the initial data for this section.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\n async load() {\n const response = await __1.ServerConnection.makeRequest(this._url, {}, this.serverSettings);\n if (response.status !== 200) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n this._data = await response.json();\n }\n /**\n * Modify the stored config values.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n *\n * Updates the local data immediately, sends the change to the server,\n * and updates the local data with the response, and fulfils the promise\n * with that data.\n */\n async update(newdata) {\n this._data = { ...this._data, ...newdata };\n const init = {\n method: 'PATCH',\n body: JSON.stringify(newdata)\n };\n const response = await __1.ServerConnection.makeRequest(this._url, init, this.serverSettings);\n if (response.status !== 200) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n this._data = await response.json();\n return this._data;\n }\n}\n/**\n * Configurable object with defaults.\n */\nclass ConfigWithDefaults {\n /**\n * Create a new config with defaults.\n */\n constructor(options) {\n var _a, _b;\n this._className = '';\n this._section = options.section;\n this._defaults = (_a = options.defaults) !== null && _a !== void 0 ? _a : {};\n this._className = (_b = options.className) !== null && _b !== void 0 ? _b : '';\n }\n /**\n * Get data from the config section or fall back to defaults.\n */\n get(key) {\n const data = this._classData();\n return key in data ? data[key] : this._defaults[key];\n }\n /**\n * Set a config value.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n *\n * Sends the update to the server, and changes our local copy of the data\n * immediately.\n */\n set(key, value) {\n const d = {};\n d[key] = value;\n if (this._className) {\n const d2 = {};\n d2[this._className] = d;\n return this._section.update(d2);\n }\n else {\n return this._section.update(d);\n }\n }\n /**\n * Get data from the Section with our classname, if available.\n *\n * #### Notes\n * If we have no classname, get all of the data in the Section\n */\n _classData() {\n const data = this._section.data;\n if (this._className && this._className in data) {\n return data[this._className];\n }\n return data;\n }\n}\nexports.ConfigWithDefaults = ConfigWithDefaults;\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Drive = exports.ContentsManager = exports.Contents = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst validate = __importStar(require(\"./validate\"));\n/**\n * The url for the default drive service.\n */\nconst SERVICE_DRIVE_URL = 'api/contents';\n/**\n * The url for the file access.\n */\nconst FILES_URL = 'files';\n/**\n * A namespace for contents interfaces.\n */\nvar Contents;\n(function (Contents) {\n /**\n * Validates an IModel, throwing an error if it does not pass.\n */\n function validateContentsModel(contents) {\n validate.validateContentsModel(contents);\n }\n Contents.validateContentsModel = validateContentsModel;\n /**\n * Validates an ICheckpointModel, throwing an error if it does not pass.\n */\n function validateCheckpointModel(checkpoint) {\n validate.validateCheckpointModel(checkpoint);\n }\n Contents.validateCheckpointModel = validateCheckpointModel;\n})(Contents = exports.Contents || (exports.Contents = {}));\n/**\n * A contents manager that passes file operations to the server.\n * Multiple servers implementing the `IDrive` interface can be\n * attached to the contents manager, so that the same session can\n * perform file operations on multiple backends.\n *\n * This includes checkpointing with the normal file operations.\n */\nclass ContentsManager {\n /**\n * Construct a new contents manager object.\n *\n * @param options - The options used to initialize the object.\n */\n constructor(options = {}) {\n var _a, _b;\n this._isDisposed = false;\n this._additionalDrives = new Map();\n this._fileChanged = new signaling_1.Signal(this);\n const serverSettings = (this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings());\n this._defaultDrive = (_b = options.defaultDrive) !== null && _b !== void 0 ? _b : new Drive({ serverSettings });\n this._defaultDrive.fileChanged.connect(this._onFileChanged, this);\n }\n /**\n * A signal emitted when a file operation takes place.\n */\n get fileChanged() {\n return this._fileChanged;\n }\n /**\n * Test whether the manager has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n signaling_1.Signal.clearData(this);\n }\n /**\n * Add an `IDrive` to the manager.\n */\n addDrive(drive) {\n this._additionalDrives.set(drive.name, drive);\n drive.fileChanged.connect(this._onFileChanged, this);\n }\n /**\n * Given a path, get a shared model factory from the\n * relevant backend. Returns `null` if the backend\n * does not provide one.\n */\n getSharedModelFactory(path) {\n var _a;\n const [drive] = this._driveForPath(path);\n return (_a = drive === null || drive === void 0 ? void 0 : drive.sharedModelFactory) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Given a path of the form `drive:local/portion/of/it.txt`\n * get the local part of it.\n *\n * @param path: the path.\n *\n * @returns The local part of the path.\n */\n localPath(path) {\n const parts = path.split('/');\n const firstParts = parts[0].split(':');\n if (firstParts.length === 1 || !this._additionalDrives.has(firstParts[0])) {\n return coreutils_1.PathExt.removeSlash(path);\n }\n return coreutils_1.PathExt.join(firstParts.slice(1).join(':'), ...parts.slice(1));\n }\n /**\n * Normalize a global path. Reduces '..' and '.' parts, and removes\n * leading slashes from the local part of the path, while retaining\n * the drive name if it exists.\n *\n * @param path: the path.\n *\n * @returns The normalized path.\n */\n normalize(path) {\n const parts = path.split(':');\n if (parts.length === 1) {\n return coreutils_1.PathExt.normalize(path);\n }\n return `${parts[0]}:${coreutils_1.PathExt.normalize(parts.slice(1).join(':'))}`;\n }\n /**\n * Resolve a global path, starting from the root path. Behaves like\n * posix-path.resolve, with 3 differences:\n * - will never prepend cwd\n * - if root has a drive name, the result is prefixed with \":\"\n * - before adding drive name, leading slashes are removed\n *\n * @param path: the path.\n *\n * @returns The normalized path.\n */\n resolvePath(root, path) {\n const driveName = this.driveName(root);\n const localPath = this.localPath(root);\n const resolved = coreutils_1.PathExt.resolve('/', localPath, path);\n return driveName ? `${driveName}:${resolved}` : resolved;\n }\n /**\n * Given a path of the form `drive:local/portion/of/it.txt`\n * get the name of the drive. If the path is missing\n * a drive portion, returns an empty string.\n *\n * @param path: the path.\n *\n * @returns The drive name for the path, or the empty string.\n */\n driveName(path) {\n const parts = path.split('/');\n const firstParts = parts[0].split(':');\n if (firstParts.length === 1) {\n return '';\n }\n if (this._additionalDrives.has(firstParts[0])) {\n return firstParts[0];\n }\n return '';\n }\n /**\n * Get a file or directory.\n *\n * @param path: The path to the file.\n *\n * @param options: The options used to fetch the file.\n *\n * @returns A promise which resolves with the file content.\n */\n get(path, options) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.get(localPath, options).then(contentsModel => {\n const listing = [];\n if (contentsModel.type === 'directory' && contentsModel.content) {\n for (const item of contentsModel.content) {\n listing.push({ ...item, path: this._toGlobalPath(drive, item.path) });\n }\n return {\n ...contentsModel,\n path: this._toGlobalPath(drive, localPath),\n content: listing,\n serverPath: contentsModel.path\n };\n }\n else {\n return {\n ...contentsModel,\n path: this._toGlobalPath(drive, localPath),\n serverPath: contentsModel.path\n };\n }\n });\n }\n /**\n * Get an encoded download url given a file path.\n *\n * @param path - An absolute POSIX file path on the server.\n *\n * #### Notes\n * It is expected that the path contains no relative paths.\n *\n * The returned URL may include a query parameter.\n */\n getDownloadUrl(path) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.getDownloadUrl(localPath);\n }\n /**\n * Create a new untitled file or directory in the specified directory path.\n *\n * @param options: The options used to create the file.\n *\n * @returns A promise which resolves with the created file content when the\n * file is created.\n */\n newUntitled(options = {}) {\n if (options.path) {\n const globalPath = this.normalize(options.path);\n const [drive, localPath] = this._driveForPath(globalPath);\n return drive\n .newUntitled({ ...options, path: localPath })\n .then(contentsModel => {\n return {\n ...contentsModel,\n path: coreutils_1.PathExt.join(globalPath, contentsModel.name),\n serverPath: contentsModel.path\n };\n });\n }\n else {\n return this._defaultDrive.newUntitled(options);\n }\n }\n /**\n * Delete a file.\n *\n * @param path - The path to the file.\n *\n * @returns A promise which resolves when the file is deleted.\n */\n delete(path) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.delete(localPath);\n }\n /**\n * Rename a file or directory.\n *\n * @param path - The original file path.\n *\n * @param newPath - The new file path.\n *\n * @returns A promise which resolves with the new file contents model when\n * the file is renamed.\n */\n rename(path, newPath) {\n const [drive1, path1] = this._driveForPath(path);\n const [drive2, path2] = this._driveForPath(newPath);\n if (drive1 !== drive2) {\n throw Error('ContentsManager: renaming files must occur within a Drive');\n }\n return drive1.rename(path1, path2).then(contentsModel => {\n return {\n ...contentsModel,\n path: this._toGlobalPath(drive1, path2),\n serverPath: contentsModel.path\n };\n });\n }\n /**\n * Save a file.\n *\n * @param path - The desired file path.\n *\n * @param options - Optional overrides to the model.\n *\n * @returns A promise which resolves with the file content model when the\n * file is saved.\n *\n * #### Notes\n * Ensure that `model.content` is populated for the file.\n */\n save(path, options = {}) {\n const globalPath = this.normalize(path);\n const [drive, localPath] = this._driveForPath(path);\n return drive\n .save(localPath, { ...options, path: localPath })\n .then(contentsModel => {\n return {\n ...contentsModel,\n path: globalPath,\n serverPath: contentsModel.path\n };\n });\n }\n /**\n * Copy a file into a given directory.\n *\n * @param path - The original file path.\n *\n * @param toDir - The destination directory path.\n *\n * @returns A promise which resolves with the new contents model when the\n * file is copied.\n *\n * #### Notes\n * The server will select the name of the copied file.\n */\n copy(fromFile, toDir) {\n const [drive1, path1] = this._driveForPath(fromFile);\n const [drive2, path2] = this._driveForPath(toDir);\n if (drive1 === drive2) {\n return drive1.copy(path1, path2).then(contentsModel => {\n return {\n ...contentsModel,\n path: this._toGlobalPath(drive1, contentsModel.path),\n serverPath: contentsModel.path\n };\n });\n }\n else {\n throw Error('Copying files between drives is not currently implemented');\n }\n }\n /**\n * Create a checkpoint for a file.\n *\n * @param path - The path of the file.\n *\n * @returns A promise which resolves with the new checkpoint model when the\n * checkpoint is created.\n */\n createCheckpoint(path) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.createCheckpoint(localPath);\n }\n /**\n * List available checkpoints for a file.\n *\n * @param path - The path of the file.\n *\n * @returns A promise which resolves with a list of checkpoint models for\n * the file.\n */\n listCheckpoints(path) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.listCheckpoints(localPath);\n }\n /**\n * Restore a file to a known checkpoint state.\n *\n * @param path - The path of the file.\n *\n * @param checkpointID - The id of the checkpoint to restore.\n *\n * @returns A promise which resolves when the checkpoint is restored.\n */\n restoreCheckpoint(path, checkpointID) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.restoreCheckpoint(localPath, checkpointID);\n }\n /**\n * Delete a checkpoint for a file.\n *\n * @param path - The path of the file.\n *\n * @param checkpointID - The id of the checkpoint to delete.\n *\n * @returns A promise which resolves when the checkpoint is deleted.\n */\n deleteCheckpoint(path, checkpointID) {\n const [drive, localPath] = this._driveForPath(path);\n return drive.deleteCheckpoint(localPath, checkpointID);\n }\n /**\n * Given a drive and a local path, construct a fully qualified\n * path. The inverse of `_driveForPath`.\n *\n * @param drive: an `IDrive`.\n *\n * @param localPath: the local path on the drive.\n *\n * @returns the fully qualified path.\n */\n _toGlobalPath(drive, localPath) {\n if (drive === this._defaultDrive) {\n return coreutils_1.PathExt.removeSlash(localPath);\n }\n else {\n return `${drive.name}:${coreutils_1.PathExt.removeSlash(localPath)}`;\n }\n }\n /**\n * Given a path, get the `IDrive to which it refers,\n * where the path satisfies the pattern\n * `'driveName:path/to/file'`. If there is no `driveName`\n * prepended to the path, it returns the default drive.\n *\n * @param path: a path to a file.\n *\n * @returns A tuple containing an `IDrive` object for the path,\n * and a local path for that drive.\n */\n _driveForPath(path) {\n const driveName = this.driveName(path);\n const localPath = this.localPath(path);\n if (driveName) {\n return [this._additionalDrives.get(driveName), localPath];\n }\n else {\n return [this._defaultDrive, localPath];\n }\n }\n /**\n * Respond to fileChanged signals from the drives attached to\n * the manager. This prepends the drive name to the path if necessary,\n * and then forwards the signal.\n */\n _onFileChanged(sender, args) {\n var _a, _b;\n if (sender === this._defaultDrive) {\n this._fileChanged.emit(args);\n }\n else {\n let newValue = null;\n let oldValue = null;\n if ((_a = args.newValue) === null || _a === void 0 ? void 0 : _a.path) {\n newValue = {\n ...args.newValue,\n path: this._toGlobalPath(sender, args.newValue.path)\n };\n }\n if ((_b = args.oldValue) === null || _b === void 0 ? void 0 : _b.path) {\n oldValue = {\n ...args.oldValue,\n path: this._toGlobalPath(sender, args.oldValue.path)\n };\n }\n this._fileChanged.emit({\n type: args.type,\n newValue,\n oldValue\n });\n }\n }\n}\nexports.ContentsManager = ContentsManager;\n/**\n * A default implementation for an `IDrive`, talking to the\n * server using the Jupyter REST API.\n */\nclass Drive {\n /**\n * Construct a new contents manager object.\n *\n * @param options - The options used to initialize the object.\n */\n constructor(options = {}) {\n var _a, _b, _c;\n this._isDisposed = false;\n this._fileChanged = new signaling_1.Signal(this);\n this.name = (_a = options.name) !== null && _a !== void 0 ? _a : 'Default';\n this._apiEndpoint = (_b = options.apiEndpoint) !== null && _b !== void 0 ? _b : SERVICE_DRIVE_URL;\n this.serverSettings =\n (_c = options.serverSettings) !== null && _c !== void 0 ? _c : __1.ServerConnection.makeSettings();\n }\n /**\n * A signal emitted when a file operation takes place.\n */\n get fileChanged() {\n return this._fileChanged;\n }\n /**\n * Test whether the manager has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n signaling_1.Signal.clearData(this);\n }\n /**\n * Get a file or directory.\n *\n * @param localPath: The path to the file.\n *\n * @param options: The options used to fetch the file.\n *\n * @returns A promise which resolves with the file content.\n *\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async get(localPath, options) {\n let url = this._getUrl(localPath);\n if (options) {\n // The notebook type cannot take an format option.\n if (options.type === 'notebook') {\n delete options['format'];\n }\n const content = options.content ? '1' : '0';\n const params = { ...options, content };\n url += coreutils_1.URLExt.objectToQueryString(params);\n }\n const settings = this.serverSettings;\n const response = await __1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateContentsModel(data);\n return data;\n }\n /**\n * Get an encoded download url given a file path.\n *\n * @param localPath - An absolute POSIX file path on the server.\n *\n * #### Notes\n * It is expected that the path contains no relative paths.\n *\n * The returned URL may include a query parameter.\n */\n getDownloadUrl(localPath) {\n const baseUrl = this.serverSettings.baseUrl;\n let url = coreutils_1.URLExt.join(baseUrl, FILES_URL, coreutils_1.URLExt.encodeParts(localPath));\n const xsrfTokenMatch = document.cookie.match('\\\\b_xsrf=([^;]*)\\\\b');\n if (xsrfTokenMatch) {\n const fullUrl = new URL(url);\n fullUrl.searchParams.append('_xsrf', xsrfTokenMatch[1]);\n url = fullUrl.toString();\n }\n return Promise.resolve(url);\n }\n /**\n * Create a new untitled file or directory in the specified directory path.\n *\n * @param options: The options used to create the file.\n *\n * @returns A promise which resolves with the created file content when the\n * file is created.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async newUntitled(options = {}) {\n var _a;\n let body = '{}';\n if (options) {\n if (options.ext) {\n options.ext = Private.normalizeExtension(options.ext);\n }\n body = JSON.stringify(options);\n }\n const settings = this.serverSettings;\n const url = this._getUrl((_a = options.path) !== null && _a !== void 0 ? _a : '');\n const init = {\n method: 'POST',\n body\n };\n const response = await __1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 201) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateContentsModel(data);\n this._fileChanged.emit({\n type: 'new',\n oldValue: null,\n newValue: data\n });\n return data;\n }\n /**\n * Delete a file.\n *\n * @param localPath - The path to the file.\n *\n * @returns A promise which resolves when the file is deleted.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).\n */\n async delete(localPath) {\n const url = this._getUrl(localPath);\n const settings = this.serverSettings;\n const init = { method: 'DELETE' };\n const response = await __1.ServerConnection.makeRequest(url, init, settings);\n // TODO: update IPEP27 to specify errors more precisely, so\n // that error types can be detected here with certainty.\n if (response.status !== 204) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n this._fileChanged.emit({\n type: 'delete',\n oldValue: { path: localPath },\n newValue: null\n });\n }\n /**\n * Rename a file or directory.\n *\n * @param oldLocalPath - The original file path.\n *\n * @param newLocalPath - The new file path.\n *\n * @returns A promise which resolves with the new file contents model when\n * the file is renamed.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async rename(oldLocalPath, newLocalPath) {\n const settings = this.serverSettings;\n const url = this._getUrl(oldLocalPath);\n const init = {\n method: 'PATCH',\n body: JSON.stringify({ path: newLocalPath })\n };\n const response = await __1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 200) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateContentsModel(data);\n this._fileChanged.emit({\n type: 'rename',\n oldValue: { path: oldLocalPath },\n newValue: data\n });\n return data;\n }\n /**\n * Save a file.\n *\n * @param localPath - The desired file path.\n *\n * @param options - Optional overrides to the model.\n *\n * @returns A promise which resolves with the file content model when the\n * file is saved.\n *\n * #### Notes\n * Ensure that `model.content` is populated for the file.\n *\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async save(localPath, options = {}) {\n const settings = this.serverSettings;\n const url = this._getUrl(localPath);\n const init = {\n method: 'PUT',\n body: JSON.stringify(options)\n };\n const response = await __1.ServerConnection.makeRequest(url, init, settings);\n // will return 200 for an existing file and 201 for a new file\n if (response.status !== 200 && response.status !== 201) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateContentsModel(data);\n this._fileChanged.emit({\n type: 'save',\n oldValue: null,\n newValue: data\n });\n return data;\n }\n /**\n * Copy a file into a given directory.\n *\n * @param localPath - The original file path.\n *\n * @param toDir - The destination directory path.\n *\n * @returns A promise which resolves with the new contents model when the\n * file is copied.\n *\n * #### Notes\n * The server will select the name of the copied file.\n *\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async copy(fromFile, toDir) {\n const settings = this.serverSettings;\n const url = this._getUrl(toDir);\n const init = {\n method: 'POST',\n body: JSON.stringify({ copy_from: fromFile })\n };\n const response = await __1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 201) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateContentsModel(data);\n this._fileChanged.emit({\n type: 'new',\n oldValue: null,\n newValue: data\n });\n return data;\n }\n /**\n * Create a checkpoint for a file.\n *\n * @param localPath - The path of the file.\n *\n * @returns A promise which resolves with the new checkpoint model when the\n * checkpoint is created.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async createCheckpoint(localPath) {\n const url = this._getUrl(localPath, 'checkpoints');\n const init = { method: 'POST' };\n const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);\n if (response.status !== 201) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n validate.validateCheckpointModel(data);\n return data;\n }\n /**\n * List available checkpoints for a file.\n *\n * @param localPath - The path of the file.\n *\n * @returns A promise which resolves with a list of checkpoint models for\n * the file.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.\n */\n async listCheckpoints(localPath) {\n const url = this._getUrl(localPath, 'checkpoints');\n const response = await __1.ServerConnection.makeRequest(url, {}, this.serverSettings);\n if (response.status !== 200) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n if (!Array.isArray(data)) {\n throw new Error('Invalid Checkpoint list');\n }\n for (let i = 0; i < data.length; i++) {\n validate.validateCheckpointModel(data[i]);\n }\n return data;\n }\n /**\n * Restore a file to a known checkpoint state.\n *\n * @param localPath - The path of the file.\n *\n * @param checkpointID - The id of the checkpoint to restore.\n *\n * @returns A promise which resolves when the checkpoint is restored.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).\n */\n async restoreCheckpoint(localPath, checkpointID) {\n const url = this._getUrl(localPath, 'checkpoints', checkpointID);\n const init = { method: 'POST' };\n const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);\n if (response.status !== 204) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n }\n /**\n * Delete a checkpoint for a file.\n *\n * @param localPath - The path of the file.\n *\n * @param checkpointID - The id of the checkpoint to delete.\n *\n * @returns A promise which resolves when the checkpoint is deleted.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).\n */\n async deleteCheckpoint(localPath, checkpointID) {\n const url = this._getUrl(localPath, 'checkpoints', checkpointID);\n const init = { method: 'DELETE' };\n const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);\n if (response.status !== 204) {\n const err = await __1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n }\n /**\n * Get a REST url for a file given a path.\n */\n _getUrl(...args) {\n const parts = args.map(path => coreutils_1.URLExt.encodeParts(path));\n const baseUrl = this.serverSettings.baseUrl;\n return coreutils_1.URLExt.join(baseUrl, this._apiEndpoint, ...parts);\n }\n}\nexports.Drive = Drive;\n/**\n * A namespace for module private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Normalize a file extension to be of the type `'.foo'`.\n *\n * Adds a leading dot if not present and converts to lower case.\n */\n function normalizeExtension(extension) {\n if (extension.length > 0 && extension.indexOf('.') !== 0) {\n extension = `.${extension}`;\n }\n return extension;\n }\n Private.normalizeExtension = normalizeExtension;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateCheckpointModel = exports.validateContentsModel = void 0;\nconst validate_1 = require(\"../validate\");\n/**\n * Validate an `Contents.IModel` object.\n */\nfunction validateContentsModel(model) {\n (0, validate_1.validateProperty)(model, 'name', 'string');\n (0, validate_1.validateProperty)(model, 'path', 'string');\n (0, validate_1.validateProperty)(model, 'type', 'string');\n (0, validate_1.validateProperty)(model, 'created', 'string');\n (0, validate_1.validateProperty)(model, 'last_modified', 'string');\n (0, validate_1.validateProperty)(model, 'mimetype', 'object');\n (0, validate_1.validateProperty)(model, 'content', 'object');\n (0, validate_1.validateProperty)(model, 'format', 'object');\n}\nexports.validateContentsModel = validateContentsModel;\n/**\n * Validate an `Contents.ICheckpointModel` object.\n */\nfunction validateCheckpointModel(model) {\n (0, validate_1.validateProperty)(model, 'id', 'string');\n (0, validate_1.validateProperty)(model, 'last_modified', 'string');\n}\nexports.validateCheckpointModel = validateCheckpointModel;\n//# sourceMappingURL=validate.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst serverconnection_1 = require(\"../serverconnection\");\n/**\n * The url for the jupyter-server events service.\n */\nconst SERVICE_EVENTS_URL = 'api/events';\n/**\n * The events API service manager.\n */\nclass EventManager {\n /**\n * Create a new event manager.\n */\n constructor(options = {}) {\n var _a;\n this._socket = null;\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n // If subscription fails, the poll attempts to reconnect and backs off.\n this._poll = new polling_1.Poll({ factory: () => this._subscribe() });\n this._stream = new signaling_1.Stream(this);\n // Subscribe to the events socket.\n void this._poll.start();\n }\n /**\n * Whether the event manager is disposed.\n */\n get isDisposed() {\n return this._poll.isDisposed;\n }\n /**\n * An event stream that emits and yields each new event.\n */\n get stream() {\n return this._stream;\n }\n /**\n * Dispose the event manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n // Clean up poll.\n this._poll.dispose();\n // Clean up socket.\n const socket = this._socket;\n if (socket) {\n this._socket = null;\n socket.onopen = () => undefined;\n socket.onerror = () => undefined;\n socket.onmessage = () => undefined;\n socket.onclose = () => undefined;\n socket.close();\n }\n // Clean up stream.\n signaling_1.Signal.clearData(this);\n this._stream.stop();\n }\n /**\n * Post an event request to be emitted by the event bus.\n */\n async emit(event) {\n const { serverSettings } = this;\n const { baseUrl, token } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const url = coreutils_1.URLExt.join(baseUrl, SERVICE_EVENTS_URL) +\n (token ? `?token=${token}` : '');\n const init = { body: JSON.stringify(event), method: 'POST' };\n const response = await makeRequest(url, init, serverSettings);\n if (response.status !== 204) {\n throw new ResponseError(response);\n }\n }\n /**\n * Subscribe to event bus emissions.\n */\n _subscribe() {\n return new Promise((_, reject) => {\n if (this.isDisposed) {\n return;\n }\n const { token, WebSocket, wsUrl } = this.serverSettings;\n const url = coreutils_1.URLExt.join(wsUrl, SERVICE_EVENTS_URL, 'subscribe') +\n (token ? `?token=${encodeURIComponent(token)}` : '');\n const socket = (this._socket = new WebSocket(url));\n const stream = this._stream;\n socket.onclose = () => reject(new Error('EventManager socket closed'));\n socket.onmessage = msg => msg.data && stream.emit(JSON.parse(msg.data));\n });\n }\n}\nexports.EventManager = EventManager;\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module services\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./basemanager\"), exports);\n__exportStar(require(\"./config\"), exports);\n__exportStar(require(\"./contents\"), exports);\n__exportStar(require(\"./event\"), exports);\n__exportStar(require(\"./kernel\"), exports);\n__exportStar(require(\"./kernelspec\"), exports);\n__exportStar(require(\"./manager\"), exports);\n__exportStar(require(\"./serverconnection\"), exports);\n__exportStar(require(\"./session\"), exports);\n__exportStar(require(\"./setting\"), exports);\n__exportStar(require(\"./terminal\"), exports);\n__exportStar(require(\"./user\"), exports);\n__exportStar(require(\"./workspace\"), exports);\n__exportStar(require(\"./nbconvert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommHandler = void 0;\nconst disposable_1 = require(\"@lumino/disposable\");\nconst KernelMessage = __importStar(require(\"./messages\"));\n/**\n * Comm channel handler.\n */\nclass CommHandler extends disposable_1.DisposableDelegate {\n /**\n * Construct a new comm channel.\n */\n constructor(target, id, kernel, disposeCb) {\n super(disposeCb);\n this._target = '';\n this._id = '';\n this._id = id;\n this._target = target;\n this._kernel = kernel;\n }\n /**\n * The unique id for the comm channel.\n */\n get commId() {\n return this._id;\n }\n /**\n * The target name for the comm channel.\n */\n get targetName() {\n return this._target;\n }\n /**\n * Get the callback for a comm close event.\n *\n * #### Notes\n * This is called when the comm is closed from either the server or client.\n *\n * **See also:** [[ICommClose]], [[close]]\n */\n get onClose() {\n return this._onClose;\n }\n /**\n * Set the callback for a comm close event.\n *\n * #### Notes\n * This is called when the comm is closed from either the server or client. If\n * the function returns a promise, and the kernel was closed from the server,\n * kernel message processing will pause until the returned promise is\n * fulfilled.\n *\n * **See also:** [[close]]\n */\n set onClose(cb) {\n this._onClose = cb;\n }\n /**\n * Get the callback for a comm message received event.\n */\n get onMsg() {\n return this._onMsg;\n }\n /**\n * Set the callback for a comm message received event.\n *\n * #### Notes\n * This is called when a comm message is received. If the function returns a\n * promise, kernel message processing will pause until it is fulfilled.\n */\n set onMsg(cb) {\n this._onMsg = cb;\n }\n /**\n * Open a comm with optional data and metadata.\n *\n * #### Notes\n * This sends a `comm_open` message to the server.\n *\n * **See also:** [[ICommOpen]]\n */\n open(data, metadata, buffers = []) {\n if (this.isDisposed || this._kernel.isDisposed) {\n throw new Error('Cannot open');\n }\n const msg = KernelMessage.createMessage({\n msgType: 'comm_open',\n channel: 'shell',\n username: this._kernel.username,\n session: this._kernel.clientId,\n content: {\n comm_id: this._id,\n target_name: this._target,\n data: data !== null && data !== void 0 ? data : {}\n },\n metadata,\n buffers\n });\n return this._kernel.sendShellMessage(msg, false, true);\n }\n /**\n * Send a `comm_msg` message to the kernel.\n *\n * #### Notes\n * This is a no-op if the comm has been closed.\n *\n * **See also:** [[ICommMsg]]\n */\n send(data, metadata, buffers = [], disposeOnDone = true) {\n if (this.isDisposed || this._kernel.isDisposed) {\n throw new Error('Cannot send');\n }\n const msg = KernelMessage.createMessage({\n msgType: 'comm_msg',\n channel: 'shell',\n username: this._kernel.username,\n session: this._kernel.clientId,\n content: {\n comm_id: this._id,\n data: data\n },\n metadata,\n buffers\n });\n return this._kernel.sendShellMessage(msg, false, disposeOnDone);\n }\n /**\n * Close the comm.\n *\n * #### Notes\n * This will send a `comm_close` message to the kernel, and call the\n * `onClose` callback if set.\n *\n * This is a no-op if the comm is already closed.\n *\n * **See also:** [[ICommClose]], [[onClose]]\n */\n close(data, metadata, buffers = []) {\n if (this.isDisposed || this._kernel.isDisposed) {\n throw new Error('Cannot close');\n }\n const msg = KernelMessage.createMessage({\n msgType: 'comm_close',\n channel: 'shell',\n username: this._kernel.username,\n session: this._kernel.clientId,\n content: {\n comm_id: this._id,\n data: data !== null && data !== void 0 ? data : {}\n },\n metadata,\n buffers\n });\n const future = this._kernel.sendShellMessage(msg, false, true);\n const onClose = this._onClose;\n if (onClose) {\n const ioMsg = KernelMessage.createMessage({\n msgType: 'comm_close',\n channel: 'iopub',\n username: this._kernel.username,\n session: this._kernel.clientId,\n content: {\n comm_id: this._id,\n data: data !== null && data !== void 0 ? data : {}\n },\n metadata,\n buffers\n });\n // In the future, we may want to communicate back to the user the possible\n // promise returned from onClose.\n void onClose(ioMsg);\n }\n this.dispose();\n return future;\n }\n}\nexports.CommHandler = CommHandler;\n//# sourceMappingURL=comm.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelConnection = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst coreutils_2 = require(\"@lumino/coreutils\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst comm_1 = require(\"./comm\");\nconst KernelMessage = __importStar(require(\"./messages\"));\nconst future_1 = require(\"./future\");\nconst serialize_1 = require(\"./serialize\");\nconst validate = __importStar(require(\"./validate\"));\nconst kernelspec_1 = require(\"../kernelspec\");\nconst restapi = __importStar(require(\"./restapi\"));\nconst KERNEL_INFO_TIMEOUT = 3000;\nconst RESTARTING_KERNEL_SESSION = '_RESTARTING_';\nconst STARTING_KERNEL_SESSION = '';\n/**\n * Implementation of the Kernel object.\n *\n * #### Notes\n * Messages from the server are handled in the order they were received and\n * asynchronously. Any message handler can return a promise, and message\n * handling will pause until the promise is fulfilled.\n */\nclass KernelConnection {\n /**\n * Construct a kernel object.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n /**\n * Create the kernel websocket connection and add socket status handlers.\n */\n this._createSocket = (useProtocols = true) => {\n this._errorIfDisposed();\n // Make sure the socket is clear\n this._clearSocket();\n // Update the connection status to reflect opening a new connection.\n this._updateConnectionStatus('connecting');\n const settings = this.serverSettings;\n const partialUrl = coreutils_1.URLExt.join(settings.wsUrl, restapi.KERNEL_SERVICE_URL, encodeURIComponent(this._id));\n // Strip any authentication from the display string.\n const display = partialUrl.replace(/^((?:\\w+:)?\\/\\/)(?:[^@\\/]+@)/, '$1');\n console.debug(`Starting WebSocket: ${display}`);\n let url = coreutils_1.URLExt.join(partialUrl, 'channels?session_id=' + encodeURIComponent(this._clientId));\n // If token authentication is in use.\n const token = settings.token;\n if (settings.appendToken && token !== '') {\n url = url + `&token=${encodeURIComponent(token)}`;\n }\n // Try opening the websocket with our list of subprotocols.\n // If the server doesn't handle subprotocols,\n // the accepted protocol will be ''.\n // But we cannot send '' as a subprotocol, so if connection fails,\n // reconnect without subprotocols.\n const supportedProtocols = useProtocols ? this._supportedProtocols : [];\n this._ws = new settings.WebSocket(url, supportedProtocols);\n // Ensure incoming binary messages are not Blobs\n this._ws.binaryType = 'arraybuffer';\n let alreadyCalledOnclose = false;\n const getKernelModel = async (evt) => {\n var _a, _b;\n if (this._isDisposed) {\n return;\n }\n this._reason = '';\n this._model = undefined;\n try {\n const model = await restapi.getKernelModel(this._id, settings);\n this._model = model;\n if ((model === null || model === void 0 ? void 0 : model.execution_state) === 'dead') {\n this._updateStatus('dead');\n }\n else {\n this._onWSClose(evt);\n }\n }\n catch (err) {\n // Try again, if there is a network failure\n // Handle network errors, as well as cases where we are on a\n // JupyterHub and the server is not running. JupyterHub returns a\n // 503 (<2.0) or 424 (>2.0) in that case.\n if (err instanceof __1.ServerConnection.NetworkError ||\n ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||\n ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {\n const timeout = Private.getRandomIntInclusive(10, 30) * 1e3;\n setTimeout(getKernelModel, timeout, evt);\n }\n else {\n this._reason = 'Kernel died unexpectedly';\n this._updateStatus('dead');\n }\n }\n return;\n };\n const earlyClose = async (evt) => {\n // If the websocket was closed early, that could mean\n // that the kernel is actually dead. Try getting\n // information about the kernel from the API call,\n // if that fails, then assume the kernel is dead,\n // otherwise just follow the typical websocket closed\n // protocol.\n if (alreadyCalledOnclose) {\n return;\n }\n alreadyCalledOnclose = true;\n await getKernelModel(evt);\n return;\n };\n this._ws.onmessage = this._onWSMessage;\n this._ws.onopen = this._onWSOpen;\n this._ws.onclose = earlyClose;\n this._ws.onerror = earlyClose;\n };\n // Make websocket callbacks arrow functions so they bind `this`.\n /**\n * Handle a websocket open event.\n */\n this._onWSOpen = (evt) => {\n if (this._ws.protocol !== '' &&\n !this._supportedProtocols.includes(this._ws.protocol)) {\n console.log('Server selected unknown kernel wire protocol:', this._ws.protocol);\n this._updateStatus('dead');\n throw new Error(`Unknown kernel wire protocol: ${this._ws.protocol}`);\n }\n // Remember the kernel wire protocol selected by the server.\n this._selectedProtocol = this._ws.protocol;\n this._ws.onclose = this._onWSClose;\n this._ws.onerror = this._onWSClose;\n this._updateConnectionStatus('connected');\n };\n /**\n * Handle a websocket message, validating and routing appropriately.\n */\n this._onWSMessage = (evt) => {\n // Notify immediately if there is an error with the message.\n let msg;\n try {\n msg = (0, serialize_1.deserialize)(evt.data, this._ws.protocol);\n validate.validateMessage(msg);\n }\n catch (error) {\n error.message = `Kernel message validation error: ${error.message}`;\n // We throw the error so that it bubbles up to the top, and displays the right stack.\n throw error;\n }\n // Update the current kernel session id\n this._kernelSession = msg.header.session;\n // Handle the message asynchronously, in the order received.\n this._msgChain = this._msgChain\n .then(() => {\n // Return so that any promises from handling a message are fulfilled\n // before proceeding to the next message.\n return this._handleMessage(msg);\n })\n .catch(error => {\n // Log any errors in handling the message, thus resetting the _msgChain\n // promise so we can process more messages.\n // Ignore the \"Canceled\" errors that are thrown during kernel dispose.\n if (error.message.startsWith('Canceled future for ')) {\n console.error(error);\n }\n });\n // Emit the message receive signal\n this._anyMessage.emit({ msg, direction: 'recv' });\n };\n /**\n * Handle a websocket close event.\n */\n this._onWSClose = (evt) => {\n if (!this.isDisposed) {\n this._reconnect();\n }\n };\n this._id = '';\n this._name = '';\n this._status = 'unknown';\n this._connectionStatus = 'connecting';\n this._kernelSession = '';\n this._isDisposed = false;\n /**\n * Websocket to communicate with kernel.\n */\n this._ws = null;\n this._username = '';\n this._reconnectLimit = 7;\n this._reconnectAttempt = 0;\n this._reconnectTimeout = null;\n this._supportedProtocols = Object.values(KernelMessage.supportedKernelWebSocketProtocols);\n this._selectedProtocol = '';\n this._futures = new Map();\n this._comms = new Map();\n this._targetRegistry = Object.create(null);\n this._info = new coreutils_2.PromiseDelegate();\n this._pendingMessages = [];\n this._statusChanged = new signaling_1.Signal(this);\n this._connectionStatusChanged = new signaling_1.Signal(this);\n this._disposed = new signaling_1.Signal(this);\n this._iopubMessage = new signaling_1.Signal(this);\n this._anyMessage = new signaling_1.Signal(this);\n this._pendingInput = new signaling_1.Signal(this);\n this._unhandledMessage = new signaling_1.Signal(this);\n this._displayIdToParentIds = new Map();\n this._msgIdToDisplayIds = new Map();\n this._msgChain = Promise.resolve();\n this._hasPendingInput = false;\n this._reason = '';\n this._noOp = () => {\n /* no-op */\n };\n this._name = options.model.name;\n this._id = options.model.id;\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings();\n this._clientId = (_b = options.clientId) !== null && _b !== void 0 ? _b : coreutils_2.UUID.uuid4();\n this._username = (_c = options.username) !== null && _c !== void 0 ? _c : '';\n this.handleComms = (_d = options.handleComms) !== null && _d !== void 0 ? _d : true;\n this._createSocket();\n }\n get disposed() {\n return this._disposed;\n }\n /**\n * A signal emitted when the kernel status changes.\n */\n get statusChanged() {\n return this._statusChanged;\n }\n /**\n * A signal emitted when the kernel status changes.\n */\n get connectionStatusChanged() {\n return this._connectionStatusChanged;\n }\n /**\n * A signal emitted for iopub kernel messages.\n *\n * #### Notes\n * This signal is emitted after the iopub message is handled asynchronously.\n */\n get iopubMessage() {\n return this._iopubMessage;\n }\n /**\n * A signal emitted for unhandled kernel message.\n *\n * #### Notes\n * This signal is emitted for a message that was not handled. It is emitted\n * during the asynchronous message handling code.\n */\n get unhandledMessage() {\n return this._unhandledMessage;\n }\n /**\n * The kernel model\n */\n get model() {\n return (this._model || {\n id: this.id,\n name: this.name,\n reason: this._reason\n });\n }\n /**\n * A signal emitted for any kernel message.\n *\n * #### Notes\n * This signal is emitted when a message is received, before it is handled\n * asynchronously.\n *\n * This message is emitted when a message is queued for sending (either in\n * the websocket buffer, or our own pending message buffer). The message may\n * actually be sent across the wire at a later time.\n *\n * The message emitted in this signal should not be modified in any way.\n */\n get anyMessage() {\n return this._anyMessage;\n }\n /**\n * A signal emitted when a kernel has pending inputs from the user.\n */\n get pendingInput() {\n return this._pendingInput;\n }\n /**\n * The id of the server-side kernel.\n */\n get id() {\n return this._id;\n }\n /**\n * The name of the server-side kernel.\n */\n get name() {\n return this._name;\n }\n /**\n * The client username.\n */\n get username() {\n return this._username;\n }\n /**\n * The client unique id.\n */\n get clientId() {\n return this._clientId;\n }\n /**\n * The current status of the kernel.\n */\n get status() {\n return this._status;\n }\n /**\n * The current connection status of the kernel connection.\n */\n get connectionStatus() {\n return this._connectionStatus;\n }\n /**\n * Test whether the kernel has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * The cached kernel info.\n *\n * @returns A promise that resolves to the kernel info.\n */\n get info() {\n return this._info.promise;\n }\n /**\n * The kernel spec.\n *\n * @returns A promise that resolves to the kernel spec.\n */\n get spec() {\n if (this._specPromise) {\n return this._specPromise;\n }\n this._specPromise = kernelspec_1.KernelSpecAPI.getSpecs(this.serverSettings).then(specs => {\n return specs.kernelspecs[this._name];\n });\n return this._specPromise;\n }\n /**\n * Clone the current kernel with a new clientId.\n */\n clone(options = {}) {\n return new KernelConnection({\n model: this.model,\n username: this.username,\n serverSettings: this.serverSettings,\n // handleComms defaults to false since that is safer\n handleComms: false,\n ...options\n });\n }\n /**\n * Dispose of the resources held by the kernel.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._disposed.emit();\n this._updateConnectionStatus('disconnected');\n this._clearKernelState();\n this._pendingMessages = [];\n this._clearSocket();\n // Clear Lumino signals\n signaling_1.Signal.clearData(this);\n }\n /**\n * Send a shell message to the kernel.\n *\n * #### Notes\n * Send a message to the kernel's shell channel, yielding a future object\n * for accepting replies.\n *\n * If `expectReply` is given and `true`, the future is disposed when both a\n * shell reply and an idle status message are received. If `expectReply`\n * is not given or is `false`, the future is resolved when an idle status\n * message is received.\n * If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.\n * If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.\n *\n * All replies are validated as valid kernel messages.\n *\n * If the kernel status is `dead`, this will throw an error.\n */\n sendShellMessage(msg, expectReply = false, disposeOnDone = true) {\n return this._sendKernelShellControl(future_1.KernelShellFutureHandler, msg, expectReply, disposeOnDone);\n }\n /**\n * Send a control message to the kernel.\n *\n * #### Notes\n * Send a message to the kernel's control channel, yielding a future object\n * for accepting replies.\n *\n * If `expectReply` is given and `true`, the future is disposed when both a\n * control reply and an idle status message are received. If `expectReply`\n * is not given or is `false`, the future is resolved when an idle status\n * message is received.\n * If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.\n * If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.\n *\n * All replies are validated as valid kernel messages.\n *\n * If the kernel status is `dead`, this will throw an error.\n */\n sendControlMessage(msg, expectReply = false, disposeOnDone = true) {\n return this._sendKernelShellControl(future_1.KernelControlFutureHandler, msg, expectReply, disposeOnDone);\n }\n _sendKernelShellControl(ctor, msg, expectReply = false, disposeOnDone = true) {\n this._sendMessage(msg);\n this._anyMessage.emit({ msg, direction: 'send' });\n const future = new ctor(() => {\n const msgId = msg.header.msg_id;\n this._futures.delete(msgId);\n // Remove stored display id information.\n const displayIds = this._msgIdToDisplayIds.get(msgId);\n if (!displayIds) {\n return;\n }\n displayIds.forEach(displayId => {\n const msgIds = this._displayIdToParentIds.get(displayId);\n if (msgIds) {\n const idx = msgIds.indexOf(msgId);\n if (idx === -1) {\n return;\n }\n if (msgIds.length === 1) {\n this._displayIdToParentIds.delete(displayId);\n }\n else {\n msgIds.splice(idx, 1);\n this._displayIdToParentIds.set(displayId, msgIds);\n }\n }\n });\n this._msgIdToDisplayIds.delete(msgId);\n }, msg, expectReply, disposeOnDone, this);\n this._futures.set(msg.header.msg_id, future);\n return future;\n }\n /**\n * Send a message on the websocket.\n *\n * If queue is true, queue the message for later sending if we cannot send\n * now. Otherwise throw an error.\n *\n * #### Notes\n * As an exception to the queueing, if we are sending a kernel_info_request\n * message while we think the kernel is restarting, we send the message\n * immediately without queueing. This is so that we can trigger a message\n * back, which will then clear the kernel restarting state.\n */\n _sendMessage(msg, queue = true) {\n if (this.status === 'dead') {\n throw new Error('Kernel is dead');\n }\n // If we have a kernel_info_request and we are starting or restarting, send the\n // kernel_info_request immediately if we can, and if not throw an error so\n // we can retry later. On restarting we do this because we must get at least one message\n // from the kernel to reset the kernel session (thus clearing the restart\n // status sentinel).\n if ((this._kernelSession === STARTING_KERNEL_SESSION ||\n this._kernelSession === RESTARTING_KERNEL_SESSION) &&\n KernelMessage.isInfoRequestMsg(msg)) {\n if (this.connectionStatus === 'connected') {\n this._ws.send((0, serialize_1.serialize)(msg, this._ws.protocol));\n return;\n }\n else {\n throw new Error('Could not send message: status is not connected');\n }\n }\n // If there are pending messages, add to the queue so we keep messages in order\n if (queue && this._pendingMessages.length > 0) {\n this._pendingMessages.push(msg);\n return;\n }\n // Send if the ws allows it, otherwise queue the message.\n if (this.connectionStatus === 'connected' &&\n this._kernelSession !== RESTARTING_KERNEL_SESSION) {\n this._ws.send((0, serialize_1.serialize)(msg, this._ws.protocol));\n }\n else if (queue) {\n this._pendingMessages.push(msg);\n }\n else {\n throw new Error('Could not send message');\n }\n }\n /**\n * Interrupt a kernel.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels).\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n *\n * It is assumed that the API call does not mutate the kernel id or name.\n *\n * The promise will be rejected if the kernel status is `Dead` or if the\n * request fails or the response is invalid.\n */\n async interrupt() {\n this.hasPendingInput = false;\n if (this.status === 'dead') {\n throw new Error('Kernel is dead');\n }\n return restapi.interruptKernel(this.id, this.serverSettings);\n }\n /**\n * Request a kernel restart.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels)\n * and validates the response model.\n *\n * Any existing Future or Comm objects are cleared once the kernel has\n * actually be restarted.\n *\n * The promise is fulfilled on a valid server response (after the kernel restarts)\n * and rejected otherwise.\n *\n * It is assumed that the API call does not mutate the kernel id or name.\n *\n * The promise will be rejected if the request fails or the response is\n * invalid.\n */\n async restart() {\n if (this.status === 'dead') {\n throw new Error('Kernel is dead');\n }\n this._updateStatus('restarting');\n this._clearKernelState();\n this._kernelSession = RESTARTING_KERNEL_SESSION;\n await restapi.restartKernel(this.id, this.serverSettings);\n // Reconnect to the kernel to address cases where kernel ports\n // have changed during the restart.\n await this.reconnect();\n this.hasPendingInput = false;\n }\n /**\n * Reconnect to a kernel.\n *\n * #### Notes\n * This may try multiple times to reconnect to a kernel, and will sever any\n * existing connection.\n */\n reconnect() {\n this._errorIfDisposed();\n const result = new coreutils_2.PromiseDelegate();\n // Set up a listener for the connection status changing, which accepts or\n // rejects after the retries are done.\n const fulfill = (sender, status) => {\n if (status === 'connected') {\n result.resolve();\n this.connectionStatusChanged.disconnect(fulfill, this);\n }\n else if (status === 'disconnected') {\n result.reject(new Error('Kernel connection disconnected'));\n this.connectionStatusChanged.disconnect(fulfill, this);\n }\n };\n this.connectionStatusChanged.connect(fulfill, this);\n // Reset the reconnect limit so we start the connection attempts fresh\n this._reconnectAttempt = 0;\n // Start the reconnection process, which will also clear any existing\n // connection.\n this._reconnect();\n // Return the promise that should resolve on connection or reject if the\n // retries don't work.\n return result.promise;\n }\n /**\n * Shutdown a kernel.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels).\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n *\n * On a valid response, disposes this kernel connection.\n *\n * If the kernel is already `dead`, disposes this kernel connection without\n * a server request.\n */\n async shutdown() {\n if (this.status !== 'dead') {\n await restapi.shutdownKernel(this.id, this.serverSettings);\n }\n this.handleShutdown();\n }\n /**\n * Handles a kernel shutdown.\n *\n * #### Notes\n * This method should be called if we know from outside information that a\n * kernel is dead (for example, we cannot find the kernel model on the\n * server).\n */\n handleShutdown() {\n this._updateStatus('dead');\n this.dispose();\n }\n /**\n * Send a `kernel_info_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#kernel-info).\n *\n * Fulfills with the `kernel_info_response` content when the shell reply is\n * received and validated.\n */\n async requestKernelInfo() {\n const msg = KernelMessage.createMessage({\n msgType: 'kernel_info_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content: {}\n });\n let reply;\n try {\n reply = (await Private.handleShellMessage(this, msg));\n }\n catch (e) {\n // If we rejected because the future was disposed, ignore and return.\n if (this.isDisposed) {\n return;\n }\n else {\n throw e;\n }\n }\n this._errorIfDisposed();\n if (!reply) {\n return;\n }\n // Kernels sometimes do not include a status field on kernel_info_reply\n // messages, so set a default for now.\n // See https://github.com/jupyterlab/jupyterlab/issues/6760\n if (reply.content.status === undefined) {\n reply.content.status = 'ok';\n }\n if (reply.content.status !== 'ok') {\n this._info.reject('Kernel info reply errored');\n return reply;\n }\n this._info.resolve(reply.content);\n this._kernelSession = reply.header.session;\n return reply;\n }\n /**\n * Send a `complete_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#completion).\n *\n * Fulfills with the `complete_reply` content when the shell reply is\n * received and validated.\n */\n requestComplete(content) {\n const msg = KernelMessage.createMessage({\n msgType: 'complete_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content\n });\n return Private.handleShellMessage(this, msg);\n }\n /**\n * Send an `inspect_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#introspection).\n *\n * Fulfills with the `inspect_reply` content when the shell reply is\n * received and validated.\n */\n requestInspect(content) {\n const msg = KernelMessage.createMessage({\n msgType: 'inspect_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content: content\n });\n return Private.handleShellMessage(this, msg);\n }\n /**\n * Send a `history_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#history).\n *\n * Fulfills with the `history_reply` content when the shell reply is\n * received and validated.\n */\n requestHistory(content) {\n const msg = KernelMessage.createMessage({\n msgType: 'history_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content\n });\n return Private.handleShellMessage(this, msg);\n }\n /**\n * Send an `execute_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#execute).\n *\n * Future `onReply` is called with the `execute_reply` content when the\n * shell reply is received and validated. The future will resolve when\n * this message is received and the `idle` iopub status is received.\n * The future will also be disposed at this point unless `disposeOnDone`\n * is specified and `false`, in which case it is up to the caller to dispose\n * of the future.\n *\n * **See also:** [[IExecuteReply]]\n */\n requestExecute(content, disposeOnDone = true, metadata) {\n const defaults = {\n silent: false,\n store_history: true,\n user_expressions: {},\n allow_stdin: true,\n stop_on_error: false\n };\n const msg = KernelMessage.createMessage({\n msgType: 'execute_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content: { ...defaults, ...content },\n metadata\n });\n return this.sendShellMessage(msg, true, disposeOnDone);\n }\n /**\n * Send an experimental `debug_request` message.\n *\n * @hidden\n *\n * #### Notes\n * Debug messages are experimental messages that are not in the official\n * kernel message specification. As such, this function is *NOT* considered\n * part of the public API, and may change without notice.\n */\n requestDebug(content, disposeOnDone = true) {\n const msg = KernelMessage.createMessage({\n msgType: 'debug_request',\n channel: 'control',\n username: this._username,\n session: this._clientId,\n content\n });\n return this.sendControlMessage(msg, true, disposeOnDone);\n }\n /**\n * Send an `is_complete_request` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#code-completeness).\n *\n * Fulfills with the `is_complete_response` content when the shell reply is\n * received and validated.\n */\n requestIsComplete(content) {\n const msg = KernelMessage.createMessage({\n msgType: 'is_complete_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content\n });\n return Private.handleShellMessage(this, msg);\n }\n /**\n * Send a `comm_info_request` message.\n *\n * #### Notes\n * Fulfills with the `comm_info_reply` content when the shell reply is\n * received and validated.\n */\n requestCommInfo(content) {\n const msg = KernelMessage.createMessage({\n msgType: 'comm_info_request',\n channel: 'shell',\n username: this._username,\n session: this._clientId,\n content\n });\n return Private.handleShellMessage(this, msg);\n }\n /**\n * Send an `input_reply` message.\n *\n * #### Notes\n * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#messages-on-the-stdin-router-dealer-sockets).\n */\n sendInputReply(content, parent_header) {\n const msg = KernelMessage.createMessage({\n msgType: 'input_reply',\n channel: 'stdin',\n username: this._username,\n session: this._clientId,\n content\n });\n msg.parent_header = parent_header;\n this._sendMessage(msg);\n this._anyMessage.emit({ msg, direction: 'send' });\n this.hasPendingInput = false;\n }\n /**\n * Create a new comm.\n *\n * #### Notes\n * If a client-side comm already exists with the given commId, an error is thrown.\n * If the kernel does not handle comms, an error is thrown.\n */\n createComm(targetName, commId = coreutils_2.UUID.uuid4()) {\n if (!this.handleComms) {\n throw new Error('Comms are disabled on this kernel connection');\n }\n if (this._comms.has(commId)) {\n throw new Error('Comm is already created');\n }\n const comm = new comm_1.CommHandler(targetName, commId, this, () => {\n this._unregisterComm(commId);\n });\n this._comms.set(commId, comm);\n return comm;\n }\n /**\n * Check if a comm exists.\n */\n hasComm(commId) {\n return this._comms.has(commId);\n }\n /**\n * Register a comm target handler.\n *\n * @param targetName - The name of the comm target.\n *\n * @param callback - The callback invoked for a comm open message.\n *\n * @returns A disposable used to unregister the comm target.\n *\n * #### Notes\n * Only one comm target can be registered to a target name at a time, an\n * existing callback for the same target name will be overridden. A registered\n * comm target handler will take precedence over a comm which specifies a\n * `target_module`.\n *\n * If the callback returns a promise, kernel message processing will pause\n * until the returned promise is fulfilled.\n */\n registerCommTarget(targetName, callback) {\n if (!this.handleComms) {\n return;\n }\n this._targetRegistry[targetName] = callback;\n }\n /**\n * Remove a comm target handler.\n *\n * @param targetName - The name of the comm target to remove.\n *\n * @param callback - The callback to remove.\n *\n * #### Notes\n * The comm target is only removed if the callback argument matches.\n */\n removeCommTarget(targetName, callback) {\n if (!this.handleComms) {\n return;\n }\n if (!this.isDisposed && this._targetRegistry[targetName] === callback) {\n delete this._targetRegistry[targetName];\n }\n }\n /**\n * Register an IOPub message hook.\n *\n * @param msg_id - The parent_header message id the hook will intercept.\n *\n * @param hook - The callback invoked for the message.\n *\n * #### Notes\n * The IOPub hook system allows you to preempt the handlers for IOPub\n * messages that are responses to a given message id.\n *\n * The most recently registered hook is run first. A hook can return a\n * boolean or a promise to a boolean, in which case all kernel message\n * processing pauses until the promise is fulfilled. If a hook return value\n * resolves to false, any later hooks will not run and the function will\n * return a promise resolving to false. If a hook throws an error, the error\n * is logged to the console and the next hook is run. If a hook is\n * registered during the hook processing, it will not run until the next\n * message. If a hook is removed during the hook processing, it will be\n * deactivated immediately.\n *\n * See also [[IFuture.registerMessageHook]].\n */\n registerMessageHook(msgId, hook) {\n var _a;\n const future = (_a = this._futures) === null || _a === void 0 ? void 0 : _a.get(msgId);\n if (future) {\n future.registerMessageHook(hook);\n }\n }\n /**\n * Remove an IOPub message hook.\n *\n * @param msg_id - The parent_header message id the hook intercepted.\n *\n * @param hook - The callback invoked for the message.\n *\n */\n removeMessageHook(msgId, hook) {\n var _a;\n const future = (_a = this._futures) === null || _a === void 0 ? void 0 : _a.get(msgId);\n if (future) {\n future.removeMessageHook(hook);\n }\n }\n /**\n * Remove the input guard, if any.\n */\n removeInputGuard() {\n this.hasPendingInput = false;\n }\n /**\n * Handle a message with a display id.\n *\n * @returns Whether the message was handled.\n */\n async _handleDisplayId(displayId, msg) {\n var _a, _b;\n const msgId = msg.parent_header.msg_id;\n let parentIds = this._displayIdToParentIds.get(displayId);\n if (parentIds) {\n // We've seen it before, update existing outputs with same display_id\n // by handling display_data as update_display_data.\n const updateMsg = {\n header: coreutils_2.JSONExt.deepCopy(msg.header),\n parent_header: coreutils_2.JSONExt.deepCopy(msg.parent_header),\n metadata: coreutils_2.JSONExt.deepCopy(msg.metadata),\n content: coreutils_2.JSONExt.deepCopy(msg.content),\n channel: msg.channel,\n buffers: msg.buffers ? msg.buffers.slice() : []\n };\n updateMsg.header.msg_type = 'update_display_data';\n await Promise.all(parentIds.map(async (parentId) => {\n const future = this._futures && this._futures.get(parentId);\n if (future) {\n await future.handleMsg(updateMsg);\n }\n }));\n }\n // We're done here if it's update_display.\n if (msg.header.msg_type === 'update_display_data') {\n // It's an update, don't proceed to the normal display.\n return true;\n }\n // Regular display_data with id, record it for future updating\n // in _displayIdToParentIds for future lookup.\n parentIds = (_a = this._displayIdToParentIds.get(displayId)) !== null && _a !== void 0 ? _a : [];\n if (parentIds.indexOf(msgId) === -1) {\n parentIds.push(msgId);\n }\n this._displayIdToParentIds.set(displayId, parentIds);\n // Add to our map of display ids for this message.\n const displayIds = (_b = this._msgIdToDisplayIds.get(msgId)) !== null && _b !== void 0 ? _b : [];\n if (displayIds.indexOf(msgId) === -1) {\n displayIds.push(msgId);\n }\n this._msgIdToDisplayIds.set(msgId, displayIds);\n // Let the message propagate to the intended recipient.\n return false;\n }\n /**\n * Forcefully clear the socket state.\n *\n * #### Notes\n * This will clear all socket state without calling any handlers and will\n * not update the connection status. If you call this method, you are\n * responsible for updating the connection status as needed and recreating\n * the socket if you plan to reconnect.\n */\n _clearSocket() {\n if (this._ws !== null) {\n // Clear the websocket event handlers and the socket itself.\n this._ws.onopen = this._noOp;\n this._ws.onclose = this._noOp;\n this._ws.onerror = this._noOp;\n this._ws.onmessage = this._noOp;\n this._ws.close();\n this._ws = null;\n }\n }\n /**\n * Handle status iopub messages from the kernel.\n */\n _updateStatus(status) {\n if (this._status === status || this._status === 'dead') {\n return;\n }\n this._status = status;\n Private.logKernelStatus(this);\n this._statusChanged.emit(status);\n if (status === 'dead') {\n this.dispose();\n }\n }\n /**\n * Send pending messages to the kernel.\n */\n _sendPending() {\n // We check to make sure we are still connected each time. For\n // example, if a websocket buffer overflows, it may close, so we should\n // stop sending messages.\n while (this.connectionStatus === 'connected' &&\n this._kernelSession !== RESTARTING_KERNEL_SESSION &&\n this._pendingMessages.length > 0) {\n this._sendMessage(this._pendingMessages[0], false);\n // We shift the message off the queue after the message is sent so that\n // if there is an exception, the message is still pending.\n this._pendingMessages.shift();\n }\n }\n /**\n * Clear the internal state.\n */\n _clearKernelState() {\n this._kernelSession = '';\n this._pendingMessages = [];\n this._futures.forEach(future => {\n future.dispose();\n });\n this._comms.forEach(comm => {\n comm.dispose();\n });\n this._msgChain = Promise.resolve();\n this._futures = new Map();\n this._comms = new Map();\n this._displayIdToParentIds.clear();\n this._msgIdToDisplayIds.clear();\n }\n /**\n * Check to make sure it is okay to proceed to handle a message.\n *\n * #### Notes\n * Because we handle messages asynchronously, before a message is handled the\n * kernel might be disposed or restarted (and have a different session id).\n * This function throws an error in each of these cases. This is meant to be\n * called at the start of an asynchronous message handler to cancel message\n * processing if the message no longer is valid.\n */\n _assertCurrentMessage(msg) {\n this._errorIfDisposed();\n if (msg.header.session !== this._kernelSession) {\n throw new Error(`Canceling handling of old message: ${msg.header.msg_type}`);\n }\n }\n /**\n * Handle a `comm_open` kernel message.\n */\n async _handleCommOpen(msg) {\n this._assertCurrentMessage(msg);\n const content = msg.content;\n const comm = new comm_1.CommHandler(content.target_name, content.comm_id, this, () => {\n this._unregisterComm(content.comm_id);\n });\n this._comms.set(content.comm_id, comm);\n try {\n const target = await Private.loadObject(content.target_name, content.target_module, this._targetRegistry);\n await target(comm, msg);\n }\n catch (e) {\n // Close the comm asynchronously. We cannot block message processing on\n // kernel messages to wait for another kernel message.\n comm.close();\n console.error('Exception opening new comm');\n throw e;\n }\n }\n /**\n * Handle 'comm_close' kernel message.\n */\n async _handleCommClose(msg) {\n this._assertCurrentMessage(msg);\n const content = msg.content;\n const comm = this._comms.get(content.comm_id);\n if (!comm) {\n console.error('Comm not found for comm id ' + content.comm_id);\n return;\n }\n this._unregisterComm(comm.commId);\n const onClose = comm.onClose;\n if (onClose) {\n // tslint:disable-next-line:await-promise\n await onClose(msg);\n }\n comm.dispose();\n }\n /**\n * Handle a 'comm_msg' kernel message.\n */\n async _handleCommMsg(msg) {\n this._assertCurrentMessage(msg);\n const content = msg.content;\n const comm = this._comms.get(content.comm_id);\n if (!comm) {\n return;\n }\n const onMsg = comm.onMsg;\n if (onMsg) {\n // tslint:disable-next-line:await-promise\n await onMsg(msg);\n }\n }\n /**\n * Unregister a comm instance.\n */\n _unregisterComm(commId) {\n this._comms.delete(commId);\n }\n /**\n * Handle connection status changes.\n */\n _updateConnectionStatus(connectionStatus) {\n if (this._connectionStatus === connectionStatus) {\n return;\n }\n this._connectionStatus = connectionStatus;\n // If we are not 'connecting', reset any reconnection attempts.\n if (connectionStatus !== 'connecting') {\n this._reconnectAttempt = 0;\n clearTimeout(this._reconnectTimeout);\n }\n if (this.status !== 'dead') {\n if (connectionStatus === 'connected') {\n let restarting = this._kernelSession === RESTARTING_KERNEL_SESSION;\n // Send a kernel info request to make sure we send at least one\n // message to get kernel status back. Always request kernel info\n // first, to get kernel status back and ensure iopub is fully\n // established. If we are restarting, this message will skip the queue\n // and be sent immediately.\n let p = this.requestKernelInfo();\n // Send any pending messages after the kernelInfo resolves, or after a\n // timeout as a failsafe.\n let sendPendingCalled = false;\n let sendPendingOnce = () => {\n if (sendPendingCalled) {\n return;\n }\n sendPendingCalled = true;\n if (restarting && this._kernelSession === RESTARTING_KERNEL_SESSION) {\n // We were restarting and a message didn't arrive to set the\n // session, but we just assume the restart succeeded and send any\n // pending messages.\n // FIXME: it would be better to retry the kernel_info_request here\n this._kernelSession = '';\n }\n clearTimeout(timeoutHandle);\n if (this._pendingMessages.length > 0) {\n this._sendPending();\n }\n };\n void p.then(sendPendingOnce);\n // FIXME: if sent while zmq subscriptions are not established,\n // kernelInfo may not resolve, so use a timeout to ensure we don't hang forever.\n // It may be preferable to retry kernelInfo rather than give up after one timeout.\n let timeoutHandle = setTimeout(sendPendingOnce, KERNEL_INFO_TIMEOUT);\n }\n else {\n // If the connection is down, then we do not know what is happening\n // with the kernel, so set the status to unknown.\n this._updateStatus('unknown');\n }\n }\n // Notify others that the connection status changed.\n this._connectionStatusChanged.emit(connectionStatus);\n }\n async _handleMessage(msg) {\n var _a, _b;\n let handled = false;\n // Check to see if we have a display_id we need to reroute.\n if (msg.parent_header &&\n msg.channel === 'iopub' &&\n (KernelMessage.isDisplayDataMsg(msg) ||\n KernelMessage.isUpdateDisplayDataMsg(msg) ||\n KernelMessage.isExecuteResultMsg(msg))) {\n // display_data messages may re-route based on their display_id.\n const transient = ((_a = msg.content.transient) !== null && _a !== void 0 ? _a : {});\n const displayId = transient['display_id'];\n if (displayId) {\n handled = await this._handleDisplayId(displayId, msg);\n // The await above may make this message out of date, so check again.\n this._assertCurrentMessage(msg);\n }\n }\n if (!handled && msg.parent_header) {\n const parentHeader = msg.parent_header;\n const future = (_b = this._futures) === null || _b === void 0 ? void 0 : _b.get(parentHeader.msg_id);\n if (future) {\n await future.handleMsg(msg);\n this._assertCurrentMessage(msg);\n }\n else {\n // If the message was sent by us and was not iopub, it is orphaned.\n const owned = parentHeader.session === this.clientId;\n if (msg.channel !== 'iopub' && owned) {\n this._unhandledMessage.emit(msg);\n }\n }\n }\n if (msg.channel === 'iopub') {\n switch (msg.header.msg_type) {\n case 'status': {\n // Updating the status is synchronous, and we call no async user code\n const executionState = msg.content\n .execution_state;\n if (executionState === 'restarting') {\n // The kernel has been auto-restarted by the server. After\n // processing for this message is completely done, we want to\n // handle this restart, so we don't await, but instead schedule\n // the work as a microtask (i.e., in a promise resolution). We\n // schedule this here so that it comes before any microtasks that\n // might be scheduled in the status signal emission below.\n void Promise.resolve().then(async () => {\n this._updateStatus('autorestarting');\n this._clearKernelState();\n // We must reconnect since the kernel connection information may have\n // changed, and the server only refreshes its zmq connection when a new\n // websocket is opened.\n await this.reconnect();\n });\n }\n this._updateStatus(executionState);\n break;\n }\n case 'comm_open':\n if (this.handleComms) {\n await this._handleCommOpen(msg);\n }\n break;\n case 'comm_msg':\n if (this.handleComms) {\n await this._handleCommMsg(msg);\n }\n break;\n case 'comm_close':\n if (this.handleComms) {\n await this._handleCommClose(msg);\n }\n break;\n default:\n break;\n }\n // If the message was a status dead message, we might have disposed ourselves.\n if (!this.isDisposed) {\n this._assertCurrentMessage(msg);\n // the message wouldn't be emitted if we were disposed anyway.\n this._iopubMessage.emit(msg);\n }\n }\n }\n /**\n * Attempt a connection if we have not exhausted connection attempts.\n */\n _reconnect() {\n this._errorIfDisposed();\n // Clear any existing reconnection attempt\n clearTimeout(this._reconnectTimeout);\n // Update the connection status and schedule a possible reconnection.\n if (this._reconnectAttempt < this._reconnectLimit) {\n this._updateConnectionStatus('connecting');\n // The first reconnect attempt should happen immediately, and subsequent\n // attempts should pick a random number in a growing range so that we\n // don't overload the server with synchronized reconnection attempts\n // across multiple kernels.\n const timeout = Private.getRandomIntInclusive(0, 1e3 * (Math.pow(2, this._reconnectAttempt) - 1));\n console.warn(`Connection lost, reconnecting in ${Math.floor(timeout / 1000)} seconds.`);\n // Try reconnection with subprotocols if the server had supported them.\n // Otherwise, try reconnection without subprotocols.\n const useProtocols = this._selectedProtocol !== '' ? true : false;\n this._reconnectTimeout = setTimeout(this._createSocket, timeout, useProtocols);\n this._reconnectAttempt += 1;\n }\n else {\n this._updateConnectionStatus('disconnected');\n }\n // Clear the websocket event handlers and the socket itself.\n this._clearSocket();\n }\n /**\n * Utility function to throw an error if this instance is disposed.\n */\n _errorIfDisposed() {\n if (this.isDisposed) {\n throw new Error('Kernel connection is disposed');\n }\n }\n get hasPendingInput() {\n return this._hasPendingInput;\n }\n set hasPendingInput(value) {\n this._hasPendingInput = value;\n this._pendingInput.emit(value);\n }\n}\nexports.KernelConnection = KernelConnection;\n/**\n * A private namespace for the Kernel.\n */\nvar Private;\n(function (Private) {\n /**\n * Log the current kernel status.\n */\n function logKernelStatus(kernel) {\n switch (kernel.status) {\n case 'idle':\n case 'busy':\n case 'unknown':\n return;\n default:\n console.debug(`Kernel: ${kernel.status} (${kernel.id})`);\n break;\n }\n }\n Private.logKernelStatus = logKernelStatus;\n /**\n * Send a kernel message to the kernel and resolve the reply message.\n */\n async function handleShellMessage(kernel, msg) {\n const future = kernel.sendShellMessage(msg, true);\n return future.done;\n }\n Private.handleShellMessage = handleShellMessage;\n /**\n * Try to load an object from a module or a registry.\n *\n * Try to load an object from a module asynchronously if a module\n * is specified, otherwise tries to load an object from the global\n * registry, if the global registry is provided.\n *\n * #### Notes\n * Loading a module uses requirejs.\n */\n function loadObject(name, moduleName, registry) {\n return new Promise((resolve, reject) => {\n // Try loading the module using require.js\n if (moduleName) {\n if (typeof requirejs === 'undefined') {\n throw new Error('requirejs not found');\n }\n requirejs([moduleName], (mod) => {\n if (mod[name] === void 0) {\n const msg = `Object '${name}' not found in module '${moduleName}'`;\n reject(new Error(msg));\n }\n else {\n resolve(mod[name]);\n }\n }, reject);\n }\n else {\n if (registry === null || registry === void 0 ? void 0 : registry[name]) {\n resolve(registry[name]);\n }\n else {\n reject(new Error(`Object '${name}' not found in registry`));\n }\n }\n });\n }\n Private.loadObject = loadObject;\n /**\n * Get a random integer between min and max, inclusive of both.\n *\n * #### Notes\n * From\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive\n *\n * From the MDN page: It might be tempting to use Math.round() to accomplish\n * that, but doing so would cause your random numbers to follow a non-uniform\n * distribution, which may not be acceptable for your needs.\n */\n function getRandomIntInclusive(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n Private.getRandomIntInclusive = getRandomIntInclusive;\n})(Private || (Private = {}));\n//# sourceMappingURL=default.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelShellFutureHandler = exports.KernelControlFutureHandler = exports.KernelFutureHandler = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\nconst disposable_1 = require(\"@lumino/disposable\");\nconst KernelMessage = __importStar(require(\"./messages\"));\n/**\n * Implementation of a kernel future.\n *\n * If a reply is expected, the Future is considered done when both a `reply`\n * message and an `idle` iopub status message have been received. Otherwise, it\n * is considered done when the `idle` status is received.\n *\n */\nclass KernelFutureHandler extends disposable_1.DisposableDelegate {\n /**\n * Construct a new KernelFutureHandler.\n */\n constructor(cb, msg, expectReply, disposeOnDone, kernel) {\n super(cb);\n this._status = 0;\n this._stdin = Private.noOp;\n this._iopub = Private.noOp;\n this._reply = Private.noOp;\n this._done = new coreutils_1.PromiseDelegate();\n this._hooks = new Private.HookList();\n this._disposeOnDone = true;\n this._msg = msg;\n if (!expectReply) {\n this._setFlag(Private.KernelFutureFlag.GotReply);\n }\n this._disposeOnDone = disposeOnDone;\n this._kernel = kernel;\n }\n /**\n * Get the original outgoing message.\n */\n get msg() {\n return this._msg;\n }\n /**\n * A promise that resolves when the future is done.\n */\n get done() {\n return this._done.promise;\n }\n /**\n * Get the reply handler.\n */\n get onReply() {\n return this._reply;\n }\n /**\n * Set the reply handler.\n */\n set onReply(cb) {\n this._reply = cb;\n }\n /**\n * Get the iopub handler.\n */\n get onIOPub() {\n return this._iopub;\n }\n /**\n * Set the iopub handler.\n */\n set onIOPub(cb) {\n this._iopub = cb;\n }\n /**\n * Get the stdin handler.\n */\n get onStdin() {\n return this._stdin;\n }\n /**\n * Set the stdin handler.\n */\n set onStdin(cb) {\n this._stdin = cb;\n }\n /**\n * Register hook for IOPub messages.\n *\n * @param hook - The callback invoked for an IOPub message.\n *\n * #### Notes\n * The IOPub hook system allows you to preempt the handlers for IOPub\n * messages handled by the future.\n *\n * The most recently registered hook is run first. A hook can return a\n * boolean or a promise to a boolean, in which case all kernel message\n * processing pauses until the promise is fulfilled. If a hook return value\n * resolves to false, any later hooks will not run and the function will\n * return a promise resolving to false. If a hook throws an error, the error\n * is logged to the console and the next hook is run. If a hook is\n * registered during the hook processing, it will not run until the next\n * message. If a hook is removed during the hook processing, it will be\n * deactivated immediately.\n */\n registerMessageHook(hook) {\n if (this.isDisposed) {\n throw new Error('Kernel future is disposed');\n }\n this._hooks.add(hook);\n }\n /**\n * Remove a hook for IOPub messages.\n *\n * @param hook - The hook to remove.\n *\n * #### Notes\n * If a hook is removed during the hook processing, it will be deactivated immediately.\n */\n removeMessageHook(hook) {\n if (this.isDisposed) {\n return;\n }\n this._hooks.remove(hook);\n }\n /**\n * Send an `input_reply` message.\n */\n sendInputReply(content, parent_header) {\n this._kernel.sendInputReply(content, parent_header);\n }\n /**\n * Dispose and unregister the future.\n */\n dispose() {\n this._stdin = Private.noOp;\n this._iopub = Private.noOp;\n this._reply = Private.noOp;\n this._hooks = null;\n if (!this._testFlag(Private.KernelFutureFlag.IsDone)) {\n // TODO: Uncomment the following logging code, and check for any tests that trigger it.\n // let status = [];\n // if (!this._testFlag(Private.KernelFutureFlag.GotIdle)) {\n // status.push('idle');\n // }\n // if (!this._testFlag(Private.KernelFutureFlag.GotReply)) {\n // status.push('reply');\n // }\n // console.warn(\n // `*************** DISPOSED BEFORE DONE: K${this._kernel.id.slice(\n // 0,\n // 6\n // )} M${this._msg.header.msg_id.slice(0, 6)} missing ${status.join(' ')}`\n // );\n // Reject the `done` promise, but catch its error here in case no one else\n // is waiting for the promise to resolve. This prevents the error from\n // being displayed in the console, but does not prevent it from being\n // caught by a client who is waiting for it.\n this._done.promise.catch(() => {\n /* no-op */\n });\n this._done.reject(new Error(`Canceled future for ${this.msg.header.msg_type} message before replies were done`));\n }\n super.dispose();\n }\n /**\n * Handle an incoming kernel message.\n */\n async handleMsg(msg) {\n switch (msg.channel) {\n case 'control':\n case 'shell':\n if (msg.channel === this.msg.channel &&\n msg.parent_header.msg_id === this.msg.header.msg_id) {\n await this._handleReply(msg);\n }\n break;\n case 'stdin':\n await this._handleStdin(msg);\n break;\n case 'iopub':\n await this._handleIOPub(msg);\n break;\n default:\n break;\n }\n }\n async _handleReply(msg) {\n const reply = this._reply;\n if (reply) {\n // tslint:disable-next-line:await-promise\n await reply(msg);\n }\n this._replyMsg = msg;\n this._setFlag(Private.KernelFutureFlag.GotReply);\n if (this._testFlag(Private.KernelFutureFlag.GotIdle)) {\n this._handleDone();\n }\n }\n async _handleStdin(msg) {\n this._kernel.hasPendingInput = true;\n const stdin = this._stdin;\n if (stdin) {\n // tslint:disable-next-line:await-promise\n await stdin(msg);\n }\n }\n async _handleIOPub(msg) {\n const process = await this._hooks.process(msg);\n const iopub = this._iopub;\n if (process && iopub) {\n // tslint:disable-next-line:await-promise\n await iopub(msg);\n }\n if (KernelMessage.isStatusMsg(msg) &&\n msg.content.execution_state === 'idle') {\n this._setFlag(Private.KernelFutureFlag.GotIdle);\n if (this._testFlag(Private.KernelFutureFlag.GotReply)) {\n this._handleDone();\n }\n }\n }\n _handleDone() {\n if (this._testFlag(Private.KernelFutureFlag.IsDone)) {\n return;\n }\n this._setFlag(Private.KernelFutureFlag.IsDone);\n this._done.resolve(this._replyMsg);\n if (this._disposeOnDone) {\n this.dispose();\n }\n }\n /**\n * Test whether the given future flag is set.\n */\n _testFlag(flag) {\n // tslint:disable-next-line\n return (this._status & flag) !== 0;\n }\n /**\n * Set the given future flag.\n */\n _setFlag(flag) {\n // tslint:disable-next-line\n this._status |= flag;\n }\n}\nexports.KernelFutureHandler = KernelFutureHandler;\nclass KernelControlFutureHandler extends KernelFutureHandler {\n}\nexports.KernelControlFutureHandler = KernelControlFutureHandler;\nclass KernelShellFutureHandler extends KernelFutureHandler {\n}\nexports.KernelShellFutureHandler = KernelShellFutureHandler;\nvar Private;\n(function (Private) {\n /**\n * A no-op function.\n */\n Private.noOp = () => {\n /* no-op */\n };\n /**\n * Defer a computation.\n *\n * #### NOTES\n * We can't just use requestAnimationFrame since it is not available in node.\n * This implementation is from Phosphor:\n * https://github.com/phosphorjs/phosphor/blob/e88e4321289bb1198f3098e7bda40736501f2ed8/tests/test-messaging/src/index.spec.ts#L63\n */\n const defer = (() => {\n const ok = typeof requestAnimationFrame === 'function';\n return ok ? requestAnimationFrame : setImmediate;\n })();\n class HookList {\n constructor() {\n this._hooks = [];\n }\n /**\n * Register a hook.\n *\n * @param hook - The callback to register.\n */\n add(hook) {\n this.remove(hook);\n this._hooks.push(hook);\n }\n /**\n * Remove a hook, if it exists in the hook list.\n *\n * @param hook - The callback to remove.\n */\n remove(hook) {\n const index = this._hooks.indexOf(hook);\n if (index >= 0) {\n this._hooks[index] = null;\n this._scheduleCompact();\n }\n }\n /**\n * Process a message through the hooks.\n *\n * @returns a promise resolving to false if any hook resolved as false,\n * otherwise true\n *\n * #### Notes\n * The most recently registered hook is run first. A hook can return a\n * boolean or a promise to a boolean, in which case processing pauses until\n * the promise is fulfilled. If a hook return value resolves to false, any\n * later hooks will not run and the function will return a promise resolving\n * to false. If a hook throws an error, the error is logged to the console\n * and the next hook is run. If a hook is registered during the hook\n * processing, it will not run until the next message. If a hook is removed\n * during the hook processing, it will be deactivated immediately.\n */\n async process(msg) {\n // Wait until we can start a new process run.\n await this._processing;\n // Start the next process run.\n const processing = new coreutils_1.PromiseDelegate();\n this._processing = processing.promise;\n let continueHandling;\n // Call the end hook (most recently-added) first. Starting at the end also\n // guarantees that hooks added during the processing will not be run in\n // this process run.\n for (let i = this._hooks.length - 1; i >= 0; i--) {\n const hook = this._hooks[i];\n // If the hook has been removed, continue to the next one.\n if (hook === null) {\n continue;\n }\n // Execute the hook and log any errors.\n try {\n // tslint:disable-next-line:await-promise\n continueHandling = await hook(msg);\n }\n catch (err) {\n continueHandling = true;\n console.error(err);\n }\n // If the hook resolved to false, stop processing and return.\n if (continueHandling === false) {\n processing.resolve(undefined);\n return false;\n }\n }\n // All hooks returned true (or errored out), so return true.\n processing.resolve(undefined);\n return true;\n }\n /**\n * Schedule a cleanup of the list, removing any hooks that have been nulled out.\n */\n _scheduleCompact() {\n if (!this._compactScheduled) {\n this._compactScheduled = true;\n // Schedule a compaction in between processing runs. We do the\n // scheduling in an animation frame to rate-limit our compactions. If we\n // need to compact more frequently, we can change this to directly\n // schedule the compaction.\n defer(() => {\n this._processing = this._processing.then(() => {\n this._compactScheduled = false;\n this._compact();\n });\n });\n }\n }\n /**\n * Compact the list, removing any nulls.\n */\n _compact() {\n let numNulls = 0;\n for (let i = 0, len = this._hooks.length; i < len; i++) {\n const hook = this._hooks[i];\n if (this._hooks[i] === null) {\n numNulls++;\n }\n else {\n this._hooks[i - numNulls] = hook;\n }\n }\n this._hooks.length -= numNulls;\n }\n }\n Private.HookList = HookList;\n /**\n * Bit flags for the kernel future state.\n */\n let KernelFutureFlag;\n (function (KernelFutureFlag) {\n KernelFutureFlag[KernelFutureFlag[\"GotReply\"] = 1] = \"GotReply\";\n KernelFutureFlag[KernelFutureFlag[\"GotIdle\"] = 2] = \"GotIdle\";\n KernelFutureFlag[KernelFutureFlag[\"IsDone\"] = 4] = \"IsDone\";\n KernelFutureFlag[KernelFutureFlag[\"DisposeOnDone\"] = 8] = \"DisposeOnDone\";\n })(KernelFutureFlag = Private.KernelFutureFlag || (Private.KernelFutureFlag = {}));\n})(Private || (Private = {}));\n//# sourceMappingURL=future.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelConnection = exports.KernelAPI = exports.KernelMessage = exports.Kernel = void 0;\n// Namespace some of our modules for convenience and backwards compatibility.\nconst Kernel = __importStar(require(\"./kernel\"));\nexports.Kernel = Kernel;\nconst KernelMessage = __importStar(require(\"./messages\"));\nexports.KernelMessage = KernelMessage;\nconst KernelAPI = __importStar(require(\"./restapi\"));\nexports.KernelAPI = KernelAPI;\nconst default_1 = require(\"./default\");\nObject.defineProperty(exports, \"KernelConnection\", { enumerable: true, get: function () { return default_1.KernelConnection; } });\n__exportStar(require(\"./manager\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=kernel.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelManager = void 0;\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst basemanager_1 = require(\"../basemanager\");\nconst restapi_1 = require(\"./restapi\");\nconst default_1 = require(\"./default\");\n/**\n * An implementation of a kernel manager.\n */\nclass KernelManager extends basemanager_1.BaseManager {\n /**\n * Construct a new kernel manager.\n *\n * @param options - The default options for kernel.\n */\n constructor(options = {}) {\n var _a;\n super(options);\n this._isReady = false;\n this._kernelConnections = new Set();\n this._models = new Map();\n this._runningChanged = new signaling_1.Signal(this);\n this._connectionFailure = new signaling_1.Signal(this);\n // Start model and specs polling with exponential backoff.\n this._pollModels = new polling_1.Poll({\n auto: false,\n factory: () => this.requestRunning(),\n frequency: {\n interval: 10 * 1000,\n backoff: true,\n max: 300 * 1000\n },\n name: `@jupyterlab/services:KernelManager#models`,\n standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'\n });\n // Initialize internal data.\n this._ready = (async () => {\n await this._pollModels.start();\n await this._pollModels.tick;\n this._isReady = true;\n })();\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._ready;\n }\n /**\n * A signal emitted when the running kernels change.\n */\n get runningChanged() {\n return this._runningChanged;\n }\n /**\n * A signal emitted when there is a connection failure.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._models.clear();\n this._kernelConnections.forEach(x => x.dispose());\n this._pollModels.dispose();\n super.dispose();\n }\n /**\n * Connect to an existing kernel.\n *\n * @returns The new kernel connection.\n *\n * #### Notes\n * This will use the manager's server settings and ignore any server\n * settings passed in the options.\n */\n connectTo(options) {\n var _a;\n const { id } = options.model;\n let handleComms = (_a = options.handleComms) !== null && _a !== void 0 ? _a : true;\n // By default, handle comms only if no other kernel connection is.\n if (options.handleComms === undefined) {\n for (const kc of this._kernelConnections) {\n if (kc.id === id && kc.handleComms) {\n handleComms = false;\n break;\n }\n }\n }\n const kernelConnection = new default_1.KernelConnection({\n handleComms,\n ...options,\n serverSettings: this.serverSettings\n });\n this._onStarted(kernelConnection);\n if (!this._models.has(id)) {\n // We trust the user to connect to an existing kernel, but we verify\n // asynchronously.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n return kernelConnection;\n }\n /**\n * Create an iterator over the most recent running kernels.\n *\n * @returns A new iterator over the running kernels.\n */\n running() {\n return this._models.values();\n }\n /**\n * Force a refresh of the running kernels.\n *\n * @returns A promise that resolves when the running list has been refreshed.\n *\n * #### Notes\n * This is not typically meant to be called by the user, since the\n * manager maintains its own internal state.\n */\n async refreshRunning() {\n await this._pollModels.refresh();\n await this._pollModels.tick;\n }\n /**\n * Start a new kernel.\n *\n * @param createOptions - The kernel creation options\n *\n * @param connectOptions - The kernel connection options\n *\n * @returns A promise that resolves with the kernel connection.\n *\n * #### Notes\n * The manager `serverSettings` will be always be used.\n */\n async startNew(createOptions = {}, connectOptions = {}) {\n const model = await (0, restapi_1.startNew)(createOptions, this.serverSettings);\n return this.connectTo({\n ...connectOptions,\n model\n });\n }\n /**\n * Shut down a kernel by id.\n *\n * @param id - The id of the target kernel.\n *\n * @returns A promise that resolves when the operation is complete.\n */\n async shutdown(id) {\n await (0, restapi_1.shutdownKernel)(id, this.serverSettings);\n await this.refreshRunning();\n }\n /**\n * Shut down all kernels.\n *\n * @returns A promise that resolves when all of the kernels are shut down.\n */\n async shutdownAll() {\n // Update the list of models to make sure our list is current.\n await this.refreshRunning();\n // Shut down all models.\n await Promise.all([...this._models.keys()].map(id => (0, restapi_1.shutdownKernel)(id, this.serverSettings)));\n // Update the list of models to clear out our state.\n await this.refreshRunning();\n }\n /**\n * Find a kernel by id.\n *\n * @param id - The id of the target kernel.\n *\n * @returns A promise that resolves with the kernel's model.\n */\n async findById(id) {\n if (this._models.has(id)) {\n return this._models.get(id);\n }\n await this.refreshRunning();\n return this._models.get(id);\n }\n /**\n * Execute a request to the server to poll running kernels and update state.\n */\n async requestRunning() {\n var _a, _b;\n let models;\n try {\n models = await (0, restapi_1.listRunning)(this.serverSettings);\n }\n catch (err) {\n // Handle network errors, as well as cases where we are on a\n // JupyterHub and the server is not running. JupyterHub returns a\n // 503 (<2.0) or 424 (>2.0) in that case.\n if (err instanceof __1.ServerConnection.NetworkError ||\n ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||\n ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {\n this._connectionFailure.emit(err);\n }\n throw err;\n }\n if (this.isDisposed) {\n return;\n }\n if (this._models.size === models.length &&\n models.every(model => {\n const existing = this._models.get(model.id);\n if (!existing) {\n return false;\n }\n return (existing.connections === model.connections &&\n existing.execution_state === model.execution_state &&\n existing.last_activity === model.last_activity &&\n existing.name === model.name &&\n existing.reason === model.reason &&\n existing.traceback === model.traceback);\n })) {\n // Identical models list (presuming models does not contain duplicate\n // ids), so just return\n return;\n }\n this._models = new Map(models.map(x => [x.id, x]));\n // For any kernel connection to a kernel that doesn't exist, notify it of\n // the shutdown.\n this._kernelConnections.forEach(kc => {\n if (!this._models.has(kc.id)) {\n kc.handleShutdown();\n }\n });\n this._runningChanged.emit(models);\n }\n /**\n * Handle a kernel starting.\n */\n _onStarted(kernelConnection) {\n this._kernelConnections.add(kernelConnection);\n kernelConnection.statusChanged.connect(this._onStatusChanged, this);\n kernelConnection.disposed.connect(this._onDisposed, this);\n }\n _onDisposed(kernelConnection) {\n this._kernelConnections.delete(kernelConnection);\n // A dispose emission could mean the server session is deleted, or that\n // the kernel JS object is disposed and the kernel still exists on the\n // server, so we refresh from the server to make sure we reflect the\n // server state.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n _onStatusChanged(kernelConnection, status) {\n if (status === 'dead') {\n // We asynchronously update our list of kernels, which asynchronously\n // will dispose them. We do not want to immediately dispose them because\n // there may be other signal handlers that want to be called.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n }\n}\nexports.KernelManager = KernelManager;\n/**\n * The namespace for `KernelManager` class statics.\n */\n(function (KernelManager) {\n /**\n * A no-op kernel manager to be used when starting kernels.\n */\n class NoopManager extends KernelManager {\n constructor() {\n super(...arguments);\n this._readyPromise = new Promise(() => {\n /* no-op */\n });\n }\n /**\n * Whether the manager is active.\n */\n get isActive() {\n return false;\n }\n /**\n * Used for testing.\n */\n get parentReady() {\n return super.ready;\n }\n /**\n * Start a new kernel - throws an error since it is not supported.\n */\n async startNew(createOptions = {}, connectOptions = {}) {\n return Promise.reject(new Error('Not implemented in no-op Kernel Manager'));\n }\n /**\n * Connect to an existing kernel - throws an error since it is not supported.\n */\n connectTo(options) {\n throw new Error('Not implemented in no-op Kernel Manager');\n }\n /**\n * Shut down a kernel by id - throws an error since it is not supported.\n */\n async shutdown(id) {\n return Promise.reject(new Error('Not implemented in no-op Kernel Manager'));\n }\n /**\n * A promise that fulfills when the manager is ready (never).\n */\n get ready() {\n return this.parentReady.then(() => this._readyPromise);\n }\n /**\n * Execute a request to the server to poll running kernels and update state.\n */\n async requestRunning() {\n return Promise.resolve();\n }\n }\n KernelManager.NoopManager = NoopManager;\n})(KernelManager = exports.KernelManager || (exports.KernelManager = {}));\n//# sourceMappingURL=manager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportedKernelWebSocketProtocols = exports.isInputReplyMsg = exports.isInputRequestMsg = exports.isDebugReplyMsg = exports.isDebugRequestMsg = exports.isExecuteReplyMsg = exports.isInfoRequestMsg = exports.isCommMsgMsg = exports.isCommCloseMsg = exports.isCommOpenMsg = exports.isDebugEventMsg = exports.isClearOutputMsg = exports.isStatusMsg = exports.isErrorMsg = exports.isExecuteResultMsg = exports.isExecuteInputMsg = exports.isUpdateDisplayDataMsg = exports.isDisplayDataMsg = exports.isStreamMsg = exports.createMessage = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\nfunction createMessage(options) {\n var _a, _b, _c, _d, _e;\n return {\n buffers: (_a = options.buffers) !== null && _a !== void 0 ? _a : [],\n channel: options.channel,\n content: options.content,\n header: {\n date: new Date().toISOString(),\n msg_id: (_b = options.msgId) !== null && _b !== void 0 ? _b : coreutils_1.UUID.uuid4(),\n msg_type: options.msgType,\n session: options.session,\n username: (_c = options.username) !== null && _c !== void 0 ? _c : '',\n version: '5.2'\n },\n metadata: (_d = options.metadata) !== null && _d !== void 0 ? _d : {},\n parent_header: (_e = options.parentHeader) !== null && _e !== void 0 ? _e : {}\n };\n}\nexports.createMessage = createMessage;\n/**\n * Test whether a kernel message is a `'stream'` message.\n */\nfunction isStreamMsg(msg) {\n return msg.header.msg_type === 'stream';\n}\nexports.isStreamMsg = isStreamMsg;\n/**\n * Test whether a kernel message is an `'display_data'` message.\n */\nfunction isDisplayDataMsg(msg) {\n return msg.header.msg_type === 'display_data';\n}\nexports.isDisplayDataMsg = isDisplayDataMsg;\n/**\n * Test whether a kernel message is an `'update_display_data'` message.\n */\nfunction isUpdateDisplayDataMsg(msg) {\n return msg.header.msg_type === 'update_display_data';\n}\nexports.isUpdateDisplayDataMsg = isUpdateDisplayDataMsg;\n/**\n * Test whether a kernel message is an `'execute_input'` message.\n */\nfunction isExecuteInputMsg(msg) {\n return msg.header.msg_type === 'execute_input';\n}\nexports.isExecuteInputMsg = isExecuteInputMsg;\n/**\n * Test whether a kernel message is an `'execute_result'` message.\n */\nfunction isExecuteResultMsg(msg) {\n return msg.header.msg_type === 'execute_result';\n}\nexports.isExecuteResultMsg = isExecuteResultMsg;\n/**\n * Test whether a kernel message is an `'error'` message.\n */\nfunction isErrorMsg(msg) {\n return msg.header.msg_type === 'error';\n}\nexports.isErrorMsg = isErrorMsg;\n/**\n * Test whether a kernel message is a `'status'` message.\n */\nfunction isStatusMsg(msg) {\n return msg.header.msg_type === 'status';\n}\nexports.isStatusMsg = isStatusMsg;\n/**\n * Test whether a kernel message is a `'clear_output'` message.\n */\nfunction isClearOutputMsg(msg) {\n return msg.header.msg_type === 'clear_output';\n}\nexports.isClearOutputMsg = isClearOutputMsg;\n/**\n * Test whether a kernel message is an experimental `'debug_event'` message.\n *\n * @hidden\n *\n * #### Notes\n * Debug messages are experimental messages that are not in the official\n * kernel message specification. As such, this is *NOT* considered\n * part of the public API, and may change without notice.\n */\nfunction isDebugEventMsg(msg) {\n return msg.header.msg_type === 'debug_event';\n}\nexports.isDebugEventMsg = isDebugEventMsg;\n/**\n * Test whether a kernel message is a `'comm_open'` message.\n */\nfunction isCommOpenMsg(msg) {\n return msg.header.msg_type === 'comm_open';\n}\nexports.isCommOpenMsg = isCommOpenMsg;\n/**\n * Test whether a kernel message is a `'comm_close'` message.\n */\nfunction isCommCloseMsg(msg) {\n return msg.header.msg_type === 'comm_close';\n}\nexports.isCommCloseMsg = isCommCloseMsg;\n/**\n * Test whether a kernel message is a `'comm_msg'` message.\n */\nfunction isCommMsgMsg(msg) {\n return msg.header.msg_type === 'comm_msg';\n}\nexports.isCommMsgMsg = isCommMsgMsg;\n/**\n * Test whether a kernel message is a `'kernel_info_request'` message.\n */\nfunction isInfoRequestMsg(msg) {\n return msg.header.msg_type === 'kernel_info_request';\n}\nexports.isInfoRequestMsg = isInfoRequestMsg;\n/**\n * Test whether a kernel message is an `'execute_reply'` message.\n */\nfunction isExecuteReplyMsg(msg) {\n return msg.header.msg_type === 'execute_reply';\n}\nexports.isExecuteReplyMsg = isExecuteReplyMsg;\n/**\n * Test whether a kernel message is an experimental `'debug_request'` message.\n *\n * @hidden\n *\n * #### Notes\n * Debug messages are experimental messages that are not in the official\n * kernel message specification. As such, this is *NOT* considered\n * part of the public API, and may change without notice.\n */\nfunction isDebugRequestMsg(msg) {\n return msg.header.msg_type === 'debug_request';\n}\nexports.isDebugRequestMsg = isDebugRequestMsg;\n/**\n * Test whether a kernel message is an experimental `'debug_reply'` message.\n *\n * @hidden\n *\n * #### Notes\n * Debug messages are experimental messages that are not in the official\n * kernel message specification. As such, this is *NOT* considered\n * part of the public API, and may change without notice.\n */\nfunction isDebugReplyMsg(msg) {\n return msg.header.msg_type === 'debug_reply';\n}\nexports.isDebugReplyMsg = isDebugReplyMsg;\n/**\n * Test whether a kernel message is an `'input_request'` message.\n */\nfunction isInputRequestMsg(msg) {\n return msg.header.msg_type === 'input_request';\n}\nexports.isInputRequestMsg = isInputRequestMsg;\n/**\n * Test whether a kernel message is an `'input_reply'` message.\n */\nfunction isInputReplyMsg(msg) {\n return msg.header.msg_type === 'input_reply';\n}\nexports.isInputReplyMsg = isInputReplyMsg;\n// ///////////////////////////////////////////////\n// Message (de)serialization\n// ///////////////////////////////////////////////\n/**\n * The list of supported kernel wire protocols over websocket.\n */\nvar supportedKernelWebSocketProtocols;\n(function (supportedKernelWebSocketProtocols) {\n supportedKernelWebSocketProtocols[\"v1KernelWebsocketJupyterOrg\"] = \"v1.kernel.websocket.jupyter.org\";\n})(supportedKernelWebSocketProtocols = exports.supportedKernelWebSocketProtocols || (exports.supportedKernelWebSocketProtocols = {}));\n//# sourceMappingURL=messages.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKernelModel = exports.shutdownKernel = exports.interruptKernel = exports.restartKernel = exports.startNew = exports.listRunning = exports.KERNEL_SERVICE_URL = void 0;\nconst serverconnection_1 = require(\"../serverconnection\");\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst validate_1 = require(\"./validate\");\n/**\n * The url for the kernel service.\n */\nexports.KERNEL_SERVICE_URL = 'api/kernels';\n/**\n * Fetch the running kernels.\n *\n * @param settings - The optional server settings.\n *\n * @returns A promise that resolves with the list of running kernels.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\nasync function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL);\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.validateModels)(data);\n return data;\n}\nexports.listRunning = listRunning;\n/**\n * Start a new kernel.\n *\n * @param options - The options used to create the kernel.\n *\n * @returns A promise that resolves with a kernel connection object.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\nasync function startNew(options = {}, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL);\n const init = {\n method: 'POST',\n body: JSON.stringify(options)\n };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 201) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.validateModel)(data);\n return data;\n}\nexports.startNew = startNew;\n/**\n * Restart a kernel.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response (and thus after a restart) and rejected otherwise.\n */\nasync function restartKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id), 'restart');\n const init = { method: 'POST' };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.validateModel)(data);\n}\nexports.restartKernel = restartKernel;\n/**\n * Interrupt a kernel.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\nasync function interruptKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id), 'interrupt');\n const init = { method: 'POST' };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 204) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n}\nexports.interruptKernel = interruptKernel;\n/**\n * Shut down a kernel.\n *\n * @param id - The id of the running kernel.\n *\n * @param settings - The server settings for the request.\n *\n * @returns A promise that resolves when the kernel is shut down.\n *\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\nasync function shutdownKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id));\n const init = { method: 'DELETE' };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status === 404) {\n const msg = `The kernel \"${id}\" does not exist on the server`;\n console.warn(msg);\n }\n else if (response.status !== 204) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n}\nexports.shutdownKernel = shutdownKernel;\n/**\n * Get a full kernel model from the server by kernel id string.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.\n *\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\nasync function getKernelModel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id));\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status === 404) {\n return undefined;\n }\n else if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.validateModel)(data);\n return data;\n}\nexports.getKernelModel = getKernelModel;\n//# sourceMappingURL=restapi.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserialize = exports.serialize = void 0;\nconst KernelMessage = __importStar(require(\"./messages\"));\n/**\n * Serialize a kernel message for transport.\n */\nfunction serialize(msg, protocol = '') {\n switch (protocol) {\n case KernelMessage.supportedKernelWebSocketProtocols\n .v1KernelWebsocketJupyterOrg:\n return Private.serializeV1KernelWebsocketJupyterOrg(msg);\n default:\n return Private.serializeDefault(msg);\n }\n}\nexports.serialize = serialize;\n/**\n * Deserialize and return the unpacked message.\n */\nfunction deserialize(data, protocol = '') {\n switch (protocol) {\n case KernelMessage.supportedKernelWebSocketProtocols\n .v1KernelWebsocketJupyterOrg:\n return Private.deserializeV1KernelWebsocketJupyterOrg(data);\n default:\n return Private.deserializeDefault(data);\n }\n}\nexports.deserialize = deserialize;\nvar Private;\n(function (Private) {\n /**\n * Deserialize and return the unpacked message.\n * Protocol `v1.kernel.websocket.jupyter.org`\n */\n function deserializeV1KernelWebsocketJupyterOrg(binMsg) {\n let msg;\n const data = new DataView(binMsg);\n const offsetNumber = Number(data.getBigUint64(0, true /* littleEndian */));\n let offsets = [];\n for (let i = 0; i < offsetNumber; i++) {\n // WARNING: we cast our 64-bit unsigned int to a number!\n // so offsets cannot index up to 2**64 bytes\n offsets.push(Number(data.getBigUint64(8 * (i + 1), true /* littleEndian */)));\n }\n const decoder = new TextDecoder('utf8');\n const channel = decoder.decode(binMsg.slice(offsets[0], offsets[1]));\n const header = JSON.parse(decoder.decode(binMsg.slice(offsets[1], offsets[2])));\n const parent_header = JSON.parse(decoder.decode(binMsg.slice(offsets[2], offsets[3])));\n const metadata = JSON.parse(decoder.decode(binMsg.slice(offsets[3], offsets[4])));\n const content = JSON.parse(decoder.decode(binMsg.slice(offsets[4], offsets[5])));\n let buffers = [];\n for (let i = 5; i < offsets.length - 1; i++) {\n buffers.push(new DataView(binMsg.slice(offsets[i], offsets[i + 1])));\n }\n msg = {\n channel,\n header,\n parent_header,\n metadata,\n content,\n buffers\n };\n return msg;\n }\n Private.deserializeV1KernelWebsocketJupyterOrg = deserializeV1KernelWebsocketJupyterOrg;\n /**\n * Serialize a kernel message for transport.\n * Protocol `v1.kernel.websocket.jupyter.org`\n */\n function serializeV1KernelWebsocketJupyterOrg(msg) {\n const header = JSON.stringify(msg.header);\n const parentHeader = msg.parent_header == null ? '{}' : JSON.stringify(msg.parent_header);\n const metadata = JSON.stringify(msg.metadata);\n const content = JSON.stringify(msg.content);\n const buffers = msg.buffers !== undefined ? msg.buffers : [];\n const offsetNumber = 1 + 4 + buffers.length + 1;\n let offsets = [];\n offsets.push(8 * (1 + offsetNumber));\n offsets.push(msg.channel.length + offsets[offsets.length - 1]);\n const encoder = new TextEncoder();\n const channelEncoded = encoder.encode(msg.channel);\n const headerEncoded = encoder.encode(header);\n const parentHeaderEncoded = encoder.encode(parentHeader);\n const metadataEncoded = encoder.encode(metadata);\n const contentEncoded = encoder.encode(content);\n const binMsgNoBuff = new Uint8Array(channelEncoded.length +\n headerEncoded.length +\n parentHeaderEncoded.length +\n metadataEncoded.length +\n contentEncoded.length);\n binMsgNoBuff.set(channelEncoded);\n binMsgNoBuff.set(headerEncoded, channelEncoded.length);\n binMsgNoBuff.set(parentHeaderEncoded, channelEncoded.length + headerEncoded.length);\n binMsgNoBuff.set(metadataEncoded, channelEncoded.length + headerEncoded.length + parentHeaderEncoded.length);\n binMsgNoBuff.set(contentEncoded, channelEncoded.length +\n headerEncoded.length +\n parentHeaderEncoded.length +\n metadataEncoded.length);\n for (let length of [\n headerEncoded.length,\n parentHeaderEncoded.length,\n metadataEncoded.length,\n contentEncoded.length\n ]) {\n offsets.push(length + offsets[offsets.length - 1]);\n }\n let buffersByteLength = 0;\n for (let buffer of buffers) {\n let length = buffer.byteLength;\n offsets.push(length + offsets[offsets.length - 1]);\n buffersByteLength += length;\n }\n const binMsg = new Uint8Array(8 * (1 + offsetNumber) + binMsgNoBuff.byteLength + buffersByteLength);\n const word = new ArrayBuffer(8);\n const data = new DataView(word);\n data.setBigUint64(0, BigInt(offsetNumber), true /* littleEndian */);\n binMsg.set(new Uint8Array(word), 0);\n for (let i = 0; i < offsets.length; i++) {\n data.setBigUint64(0, BigInt(offsets[i]), true /* littleEndian */);\n binMsg.set(new Uint8Array(word), 8 * (i + 1));\n }\n binMsg.set(binMsgNoBuff, offsets[0]);\n for (let i = 0; i < buffers.length; i++) {\n const buffer = buffers[i];\n binMsg.set(new Uint8Array(ArrayBuffer.isView(buffer) ? buffer.buffer : buffer), offsets[5 + i]);\n }\n return binMsg.buffer;\n }\n Private.serializeV1KernelWebsocketJupyterOrg = serializeV1KernelWebsocketJupyterOrg;\n /**\n * Deserialize and return the unpacked message.\n * Default protocol\n *\n * #### Notes\n * Handles JSON blob strings and binary messages.\n */\n function deserializeDefault(data) {\n let value;\n if (typeof data === 'string') {\n value = JSON.parse(data);\n }\n else {\n value = deserializeBinary(data);\n }\n return value;\n }\n Private.deserializeDefault = deserializeDefault;\n /**\n * Serialize a kernel message for transport.\n * Default protocol\n *\n * #### Notes\n * If there is binary content, an `ArrayBuffer` is returned,\n * otherwise the message is converted to a JSON string.\n */\n function serializeDefault(msg) {\n var _a;\n let value;\n if ((_a = msg.buffers) === null || _a === void 0 ? void 0 : _a.length) {\n value = serializeBinary(msg);\n }\n else {\n value = JSON.stringify(msg);\n }\n return value;\n }\n Private.serializeDefault = serializeDefault;\n /**\n * Deserialize a binary message to a Kernel Message.\n */\n function deserializeBinary(buf) {\n const data = new DataView(buf);\n // read the header: 1 + nbufs 32b integers\n const nbufs = data.getUint32(0);\n const offsets = [];\n if (nbufs < 2) {\n throw new Error('Invalid incoming Kernel Message');\n }\n for (let i = 1; i <= nbufs; i++) {\n offsets.push(data.getUint32(i * 4));\n }\n const jsonBytes = new Uint8Array(buf.slice(offsets[0], offsets[1]));\n const msg = JSON.parse(new TextDecoder('utf8').decode(jsonBytes));\n // the remaining chunks are stored as DataViews in msg.buffers\n msg.buffers = [];\n for (let i = 1; i < nbufs; i++) {\n const start = offsets[i];\n const stop = offsets[i + 1] || buf.byteLength;\n msg.buffers.push(new DataView(buf.slice(start, stop)));\n }\n return msg;\n }\n /**\n * Implement the binary serialization protocol.\n *\n * Serialize Kernel message to ArrayBuffer.\n */\n function serializeBinary(msg) {\n const offsets = [];\n const buffers = [];\n const encoder = new TextEncoder();\n let origBuffers = [];\n if (msg.buffers !== undefined) {\n origBuffers = msg.buffers;\n delete msg['buffers'];\n }\n const jsonUtf8 = encoder.encode(JSON.stringify(msg));\n buffers.push(jsonUtf8.buffer);\n for (let i = 0; i < origBuffers.length; i++) {\n // msg.buffers elements could be either views or ArrayBuffers\n // buffers elements are ArrayBuffers\n const b = origBuffers[i];\n buffers.push(ArrayBuffer.isView(b) ? b.buffer : b);\n }\n const nbufs = buffers.length;\n offsets.push(4 * (nbufs + 1));\n for (let i = 0; i + 1 < buffers.length; i++) {\n offsets.push(offsets[offsets.length - 1] + buffers[i].byteLength);\n }\n const msgBuf = new Uint8Array(offsets[offsets.length - 1] + buffers[buffers.length - 1].byteLength);\n // use DataView.setUint32 for network byte-order\n const view = new DataView(msgBuf.buffer);\n // write nbufs to first 4 bytes\n view.setUint32(0, nbufs);\n // write offsets to next 4 * nbufs bytes\n for (let i = 0; i < offsets.length; i++) {\n view.setUint32(4 * (i + 1), offsets[i]);\n }\n // write all the buffers at their respective offsets\n for (let i = 0; i < buffers.length; i++) {\n msgBuf.set(new Uint8Array(buffers[i]), offsets[i]);\n }\n return msgBuf.buffer;\n }\n})(Private || (Private = {}));\n//# sourceMappingURL=serialize.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateModels = exports.validateModel = exports.validateMessage = void 0;\nconst validate_1 = require(\"../validate\");\n/**\n * Required fields for `IKernelHeader`.\n */\nconst HEADER_FIELDS = ['username', 'version', 'session', 'msg_id', 'msg_type'];\n/**\n * Required fields and types for contents of various types of `kernel.IMessage`\n * messages on the iopub channel.\n */\nconst IOPUB_CONTENT_FIELDS = {\n stream: { name: 'string', text: 'string' },\n display_data: { data: 'object', metadata: 'object' },\n execute_input: { code: 'string', execution_count: 'number' },\n execute_result: {\n execution_count: 'number',\n data: 'object',\n metadata: 'object'\n },\n error: { ename: 'string', evalue: 'string', traceback: 'object' },\n status: {\n execution_state: [\n 'string',\n ['starting', 'idle', 'busy', 'restarting', 'dead']\n ]\n },\n clear_output: { wait: 'boolean' },\n comm_open: { comm_id: 'string', target_name: 'string', data: 'object' },\n comm_msg: { comm_id: 'string', data: 'object' },\n comm_close: { comm_id: 'string' },\n shutdown_reply: { restart: 'boolean' } // Emitted by the IPython kernel.\n};\n/**\n * Validate the header of a kernel message.\n */\nfunction validateHeader(header) {\n for (let i = 0; i < HEADER_FIELDS.length; i++) {\n (0, validate_1.validateProperty)(header, HEADER_FIELDS[i], 'string');\n }\n}\n/**\n * Validate a kernel message object.\n */\nfunction validateMessage(msg) {\n (0, validate_1.validateProperty)(msg, 'metadata', 'object');\n (0, validate_1.validateProperty)(msg, 'content', 'object');\n (0, validate_1.validateProperty)(msg, 'channel', 'string');\n validateHeader(msg.header);\n if (msg.channel === 'iopub') {\n validateIOPubContent(msg);\n }\n}\nexports.validateMessage = validateMessage;\n/**\n * Validate content an kernel message on the iopub channel.\n */\nfunction validateIOPubContent(msg) {\n if (msg.channel === 'iopub') {\n const fields = IOPUB_CONTENT_FIELDS[msg.header.msg_type];\n // Check for unknown message type.\n if (fields === undefined) {\n return;\n }\n const names = Object.keys(fields);\n const content = msg.content;\n for (let i = 0; i < names.length; i++) {\n let args = fields[names[i]];\n if (!Array.isArray(args)) {\n args = [args];\n }\n (0, validate_1.validateProperty)(content, names[i], ...args);\n }\n }\n}\n/**\n * Validate a `Kernel.IModel` object.\n */\nfunction validateModel(model) {\n (0, validate_1.validateProperty)(model, 'name', 'string');\n (0, validate_1.validateProperty)(model, 'id', 'string');\n}\nexports.validateModel = validateModel;\n/**\n * Validate an array of `IModel` objects.\n */\nfunction validateModels(models) {\n if (!Array.isArray(models)) {\n throw new Error('Invalid kernel list');\n }\n models.forEach(d => validateModel(d));\n}\nexports.validateModels = validateModels;\n//# sourceMappingURL=validate.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelSpecAPI = exports.KernelSpec = void 0;\nconst KernelSpec = __importStar(require(\"./kernelspec\"));\nexports.KernelSpec = KernelSpec;\nconst KernelSpecAPI = __importStar(require(\"./restapi\"));\nexports.KernelSpecAPI = KernelSpecAPI;\n__exportStar(require(\"./manager\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=kernelspec.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KernelSpecManager = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst restapi = __importStar(require(\"./restapi\"));\nconst basemanager_1 = require(\"../basemanager\");\n/**\n * An implementation of a kernel spec manager.\n */\nclass KernelSpecManager extends basemanager_1.BaseManager {\n /**\n * Construct a new kernel spec manager.\n *\n * @param options - The default options for kernel.\n */\n constructor(options = {}) {\n var _a;\n super(options);\n this._isReady = false;\n this._connectionFailure = new signaling_1.Signal(this);\n this._specs = null;\n this._specsChanged = new signaling_1.Signal(this);\n // Initialize internal data.\n this._ready = Promise.all([this.requestSpecs()])\n .then(_ => undefined)\n .catch(_ => undefined)\n .then(() => {\n if (this.isDisposed) {\n return;\n }\n this._isReady = true;\n });\n this._pollSpecs = new polling_1.Poll({\n auto: false,\n factory: () => this.requestSpecs(),\n frequency: {\n interval: 61 * 1000,\n backoff: true,\n max: 300 * 1000\n },\n name: `@jupyterlab/services:KernelSpecManager#specs`,\n standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'\n });\n void this.ready.then(() => {\n void this._pollSpecs.start();\n });\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._ready;\n }\n /**\n * Get the most recently fetched kernel specs.\n */\n get specs() {\n return this._specs;\n }\n /**\n * A signal emitted when the specs change.\n */\n get specsChanged() {\n return this._specsChanged;\n }\n /**\n * A signal emitted when there is a connection failure.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n this._pollSpecs.dispose();\n super.dispose();\n }\n /**\n * Force a refresh of the specs from the server.\n *\n * @returns A promise that resolves when the specs are fetched.\n *\n * #### Notes\n * This is intended to be called only in response to a user action,\n * since the manager maintains its internal state.\n */\n async refreshSpecs() {\n await this._pollSpecs.refresh();\n await this._pollSpecs.tick;\n }\n /**\n * Execute a request to the server to poll specs and update state.\n */\n async requestSpecs() {\n const specs = await restapi.getSpecs(this.serverSettings);\n if (this.isDisposed) {\n return;\n }\n if (!coreutils_1.JSONExt.deepEqual(specs, this._specs)) {\n this._specs = specs;\n this._specsChanged.emit(specs);\n }\n }\n}\nexports.KernelSpecManager = KernelSpecManager;\n//# sourceMappingURL=manager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSpecs = void 0;\nconst serverconnection_1 = require(\"../serverconnection\");\nconst validate_1 = require(\"./validate\");\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\n/**\n * The url for the kernelspec service.\n */\nconst KERNELSPEC_SERVICE_URL = 'api/kernelspecs';\n/**\n * Fetch all of the kernel specs.\n *\n * @param settings - The optional server settings.\n * @param useCache - Whether to use the cache. If false, always request.\n *\n * @returns A promise that resolves with the kernel specs.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernelspecs).\n */\nasync function getSpecs(settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, KERNELSPEC_SERVICE_URL);\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n return (0, validate_1.validateSpecModels)(data);\n}\nexports.getSpecs = getSpecs;\n//# sourceMappingURL=restapi.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateSpecModels = exports.validateSpecModel = void 0;\nconst validate_1 = require(\"../validate\");\n/**\n * Validate a server kernelspec model to a client side model.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction validateSpecModel(data) {\n const spec = data.spec;\n if (!spec) {\n throw new Error('Invalid kernel spec');\n }\n (0, validate_1.validateProperty)(data, 'name', 'string');\n (0, validate_1.validateProperty)(data, 'resources', 'object');\n (0, validate_1.validateProperty)(spec, 'language', 'string');\n (0, validate_1.validateProperty)(spec, 'display_name', 'string');\n (0, validate_1.validateProperty)(spec, 'argv', 'array');\n let metadata = null;\n if (spec.hasOwnProperty('metadata')) {\n (0, validate_1.validateProperty)(spec, 'metadata', 'object');\n metadata = spec.metadata;\n }\n let env = null;\n if (spec.hasOwnProperty('env')) {\n (0, validate_1.validateProperty)(spec, 'env', 'object');\n env = spec.env;\n }\n return {\n name: data.name,\n resources: data.resources,\n language: spec.language,\n display_name: spec.display_name,\n argv: spec.argv,\n metadata,\n env\n };\n}\nexports.validateSpecModel = validateSpecModel;\n/**\n * Validate a `Kernel.ISpecModels` object.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction validateSpecModels(data) {\n if (!data.hasOwnProperty('kernelspecs')) {\n throw new Error('No kernelspecs found');\n }\n let keys = Object.keys(data.kernelspecs);\n const kernelspecs = Object.create(null);\n let defaultSpec = data.default;\n for (let i = 0; i < keys.length; i++) {\n const ks = data.kernelspecs[keys[i]];\n try {\n kernelspecs[keys[i]] = validateSpecModel(ks);\n }\n catch (err) {\n // Remove the errant kernel spec.\n console.warn(`Removing errant kernel spec: ${keys[i]}`);\n }\n }\n keys = Object.keys(kernelspecs);\n if (!keys.length) {\n throw new Error('No valid kernelspecs found');\n }\n if (!defaultSpec ||\n typeof defaultSpec !== 'string' ||\n !(defaultSpec in kernelspecs)) {\n defaultSpec = keys[0];\n console.warn(`Default kernel not found, using '${keys[0]}'`);\n }\n return {\n default: defaultSpec,\n kernelspecs\n };\n}\nexports.validateSpecModels = validateSpecModels;\n//# sourceMappingURL=validate.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceManager = void 0;\nconst signaling_1 = require(\"@lumino/signaling\");\nconst builder_1 = require(\"./builder\");\nconst contents_1 = require(\"./contents\");\nconst event_1 = require(\"./event\");\nconst kernel_1 = require(\"./kernel\");\nconst kernelspec_1 = require(\"./kernelspec\");\nconst nbconvert_1 = require(\"./nbconvert\");\nconst serverconnection_1 = require(\"./serverconnection\");\nconst session_1 = require(\"./session\");\nconst setting_1 = require(\"./setting\");\nconst terminal_1 = require(\"./terminal\");\nconst user_1 = require(\"./user\");\nconst workspace_1 = require(\"./workspace\");\n/**\n * A Jupyter services manager.\n */\nclass ServiceManager {\n /**\n * Construct a new services provider.\n */\n constructor(options = {}) {\n var _a, _b;\n this._isDisposed = false;\n this._connectionFailure = new signaling_1.Signal(this);\n this._isReady = false;\n const defaultDrive = options.defaultDrive;\n const serverSettings = (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n const standby = (_b = options.standby) !== null && _b !== void 0 ? _b : 'when-hidden';\n const normalized = { defaultDrive, serverSettings, standby };\n this.serverSettings = serverSettings;\n this.contents = options.contents || new contents_1.ContentsManager(normalized);\n this.events = options.events || new event_1.EventManager(normalized);\n this.kernels = options.kernels || new kernel_1.KernelManager(normalized);\n this.sessions =\n options.sessions ||\n new session_1.SessionManager({\n ...normalized,\n kernelManager: this.kernels\n });\n this.settings = options.settings || new setting_1.SettingManager(normalized);\n this.terminals = options.terminals || new terminal_1.TerminalManager(normalized);\n this.builder = options.builder || new builder_1.BuildManager(normalized);\n this.workspaces = options.workspaces || new workspace_1.WorkspaceManager(normalized);\n this.nbconvert = options.nbconvert || new nbconvert_1.NbConvertManager(normalized);\n this.kernelspecs = options.kernelspecs || new kernelspec_1.KernelSpecManager(normalized);\n this.user = options.user || new user_1.UserManager(normalized);\n // Proxy all connection failures from the individual service managers.\n this.kernelspecs.connectionFailure.connect(this._onConnectionFailure, this);\n this.sessions.connectionFailure.connect(this._onConnectionFailure, this);\n this.terminals.connectionFailure.connect(this._onConnectionFailure, this);\n // Define promises that need to be resolved before service manager is ready.\n const readyList = [this.sessions.ready, this.kernelspecs.ready];\n if (this.terminals.isAvailable()) {\n readyList.push(this.terminals.ready);\n }\n this._readyPromise = Promise.all(readyList).then(() => {\n this._isReady = true;\n });\n }\n /**\n * A signal emitted when there is a connection failure with the kernel.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Test whether the service manager is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n signaling_1.Signal.clearData(this);\n this.contents.dispose();\n this.events.dispose();\n this.sessions.dispose();\n this.terminals.dispose();\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._readyPromise;\n }\n _onConnectionFailure(sender, err) {\n this._connectionFailure.emit(err);\n }\n}\nexports.ServiceManager = ServiceManager;\n//# sourceMappingURL=manager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NbConvertManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst serverconnection_1 = require(\"../serverconnection\");\nconst coreutils_2 = require(\"@lumino/coreutils\");\n/**\n * The url for the lab nbconvert service.\n */\nconst NBCONVERT_SETTINGS_URL = 'api/nbconvert';\n/**\n * The nbconvert API service manager.\n */\nclass NbConvertManager {\n /**\n * Create a new nbconvert manager.\n */\n constructor(options = {}) {\n var _a;\n this._exportFormats = null;\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n }\n /**\n * Fetch and cache the export formats from the expensive nbconvert handler.\n */\n async fetchExportFormats() {\n this._requestingFormats = new coreutils_2.PromiseDelegate();\n this._exportFormats = null;\n const base = this.serverSettings.baseUrl;\n const url = coreutils_1.URLExt.join(base, NBCONVERT_SETTINGS_URL);\n const { serverSettings } = this;\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, serverSettings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n const exportList = {};\n const keys = Object.keys(data);\n keys.forEach(function (key) {\n const mimeType = data[key].output_mimetype;\n exportList[key] = { output_mimetype: mimeType };\n });\n this._exportFormats = exportList;\n this._requestingFormats.resolve(exportList);\n return exportList;\n }\n /**\n * Get the list of export formats, preferring pre-cached ones.\n */\n async getExportFormats(force = true) {\n if (this._requestingFormats) {\n return this._requestingFormats.promise;\n }\n if (force || !this._exportFormats) {\n return await this.fetchExportFormats();\n }\n return this._exportFormats;\n }\n}\nexports.NbConvertManager = NbConvertManager;\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServerConnection = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nlet WEBSOCKET;\nif (typeof window === 'undefined') {\n // Mangle the require statements so it does not get picked up in the\n // browser assets.\n WEBSOCKET = require('ws');\n}\nelse {\n WEBSOCKET = WebSocket;\n}\n/**\n * The namespace for ServerConnection functions.\n *\n * #### Notes\n * This is only intended to manage communication with the Jupyter server.\n *\n * The default values can be used in a JupyterLab or Jupyter Notebook context.\n *\n * We use `token` authentication if available, falling back on an XSRF\n * cookie if one has been provided on the `document`.\n *\n * A content type of `'application/json'` is added when using authentication\n * and there is no body data to allow the server to prevent malicious forms.\n */\nvar ServerConnection;\n(function (ServerConnection) {\n /**\n * Create a settings object given a subset of options.\n *\n * @param options - An optional partial set of options.\n *\n * @returns The full settings object.\n */\n function makeSettings(options) {\n return Private.makeSettings(options);\n }\n ServerConnection.makeSettings = makeSettings;\n /**\n * Make an request to the notebook server.\n *\n * @param url - The url for the request.\n *\n * @param init - The initialization options for the request.\n *\n * @param settings - The server settings to apply to the request.\n *\n * @returns a Promise that resolves with the response.\n *\n * @throws If the url of the request is not a notebook server url.\n *\n * #### Notes\n * The `url` must start with `settings.baseUrl`. The `init` settings are\n * merged with `settings.init`, with `init` taking precedence.\n * The headers in the two objects are not merged.\n * If there is no body data, we set the content type to `application/json`\n * because it is required by the Notebook server.\n */\n function makeRequest(url, init, settings) {\n return Private.handleRequest(url, init, settings);\n }\n ServerConnection.makeRequest = makeRequest;\n /**\n * A wrapped error for a fetch response.\n */\n class ResponseError extends Error {\n /**\n * Create a ResponseError from a response, handling the traceback and message\n * as appropriate.\n *\n * @param response The response object.\n *\n * @returns A promise that resolves with a `ResponseError` object.\n */\n static async create(response) {\n try {\n const data = await response.json();\n const { message, traceback } = data;\n if (traceback) {\n console.error(traceback);\n }\n return new ResponseError(response, message !== null && message !== void 0 ? message : ResponseError._defaultMessage(response), traceback !== null && traceback !== void 0 ? traceback : '');\n }\n catch (e) {\n console.debug(e);\n return new ResponseError(response);\n }\n }\n /**\n * Create a new response error.\n */\n constructor(response, message = ResponseError._defaultMessage(response), traceback = '') {\n super(message);\n this.response = response;\n this.traceback = traceback;\n }\n static _defaultMessage(response) {\n return `Invalid response: ${response.status} ${response.statusText}`;\n }\n }\n ServerConnection.ResponseError = ResponseError;\n /**\n * A wrapped error for a network error.\n */\n class NetworkError extends TypeError {\n /**\n * Create a new network error.\n */\n constructor(original) {\n super(original.message);\n this.stack = original.stack;\n }\n }\n ServerConnection.NetworkError = NetworkError;\n})(ServerConnection = exports.ServerConnection || (exports.ServerConnection = {}));\n/**\n * The namespace for module private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Handle the server connection settings, returning a new value.\n */\n function makeSettings(options = {}) {\n var _a;\n const pageBaseUrl = coreutils_1.PageConfig.getBaseUrl();\n const pageWsUrl = coreutils_1.PageConfig.getWsUrl();\n const baseUrl = coreutils_1.URLExt.normalize(options.baseUrl) || pageBaseUrl;\n let wsUrl = options.wsUrl;\n // Prefer the default wsUrl if we are using the default baseUrl.\n if (!wsUrl && baseUrl === pageBaseUrl) {\n wsUrl = pageWsUrl;\n }\n // Otherwise convert the baseUrl to a wsUrl if possible.\n if (!wsUrl && baseUrl.indexOf('http') === 0) {\n wsUrl = 'ws' + baseUrl.slice(4);\n }\n // Otherwise fall back on the default wsUrl.\n wsUrl = wsUrl !== null && wsUrl !== void 0 ? wsUrl : pageWsUrl;\n return {\n init: { cache: 'no-store', credentials: 'same-origin' },\n fetch,\n Headers,\n Request,\n WebSocket: WEBSOCKET,\n token: coreutils_1.PageConfig.getToken(),\n appUrl: coreutils_1.PageConfig.getOption('appUrl'),\n appendToken: typeof window === 'undefined' ||\n (typeof process !== 'undefined' &&\n ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.JEST_WORKER_ID) !== undefined) ||\n coreutils_1.URLExt.getHostName(pageBaseUrl) !== coreutils_1.URLExt.getHostName(wsUrl),\n ...options,\n baseUrl,\n wsUrl\n };\n }\n Private.makeSettings = makeSettings;\n /**\n * Handle a request.\n *\n * @param url - The url for the request.\n *\n * @param init - The overrides for the request init.\n *\n * @param settings - The settings object for the request.\n *\n * #### Notes\n * The `url` must start with `settings.baseUrl`. The `init` settings\n * take precedence over `settings.init`.\n */\n function handleRequest(url, init, settings) {\n var _a;\n // Handle notebook server requests.\n if (url.indexOf(settings.baseUrl) !== 0) {\n throw new Error('Can only be used for notebook server requests');\n }\n // Use explicit cache buster when `no-store` is set since\n // not all browsers use it properly.\n const cache = (_a = init.cache) !== null && _a !== void 0 ? _a : settings.init.cache;\n if (cache === 'no-store') {\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += (/\\?/.test(url) ? '&' : '?') + new Date().getTime();\n }\n const request = new settings.Request(url, { ...settings.init, ...init });\n // Handle authentication. Authentication can be overdetermined by\n // settings token and XSRF token.\n let authenticated = false;\n if (settings.token) {\n authenticated = true;\n request.headers.append('Authorization', `token ${settings.token}`);\n }\n if (typeof document !== 'undefined' && (document === null || document === void 0 ? void 0 : document.cookie)) {\n const xsrfToken = getCookie('_xsrf');\n if (xsrfToken !== undefined) {\n authenticated = true;\n request.headers.append('X-XSRFToken', xsrfToken);\n }\n }\n // Set the content type if there is no given data and we are\n // using an authenticated connection.\n if (!request.headers.has('Content-Type') && authenticated) {\n request.headers.set('Content-Type', 'application/json');\n }\n // Use `call` to avoid a `TypeError` in the browser.\n return settings.fetch.call(null, request).catch((e) => {\n // Convert the TypeError into a more specific error.\n throw new ServerConnection.NetworkError(e);\n });\n // TODO: *this* is probably where we need a system-wide connectionFailure\n // signal we can hook into.\n }\n Private.handleRequest = handleRequest;\n /**\n * Get a cookie from the document.\n */\n function getCookie(name) {\n // From http://www.tornadoweb.org/en/stable/guide/security.html\n const matches = document.cookie.match('\\\\b' + name + '=([^;]*)\\\\b');\n return matches === null || matches === void 0 ? void 0 : matches[1];\n }\n})(Private || (Private = {}));\n//# sourceMappingURL=serverconnection.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionConnection = void 0;\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst restapi_1 = require(\"./restapi\");\nconst coreutils_1 = require(\"@lumino/coreutils\");\n/**\n * Session object for accessing the session REST api. The session\n * should be used to start kernels and then shut them down -- for\n * all other kernel operations, the kernel object should be used.\n */\nclass SessionConnection {\n /**\n * Construct a new session.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n this._id = '';\n this._path = '';\n this._name = '';\n this._type = '';\n this._kernel = null;\n this._isDisposed = false;\n this._disposed = new signaling_1.Signal(this);\n this._kernelChanged = new signaling_1.Signal(this);\n this._statusChanged = new signaling_1.Signal(this);\n this._connectionStatusChanged = new signaling_1.Signal(this);\n this._pendingInput = new signaling_1.Signal(this);\n this._iopubMessage = new signaling_1.Signal(this);\n this._unhandledMessage = new signaling_1.Signal(this);\n this._anyMessage = new signaling_1.Signal(this);\n this._propertyChanged = new signaling_1.Signal(this);\n this._id = options.model.id;\n this._name = options.model.name;\n this._path = options.model.path;\n this._type = options.model.type;\n this._username = (_a = options.username) !== null && _a !== void 0 ? _a : '';\n this._clientId = (_b = options.clientId) !== null && _b !== void 0 ? _b : coreutils_1.UUID.uuid4();\n this._connectToKernel = options.connectToKernel;\n this._kernelConnectionOptions = (_c = options.kernelConnectionOptions) !== null && _c !== void 0 ? _c : {};\n this.serverSettings =\n (_d = options.serverSettings) !== null && _d !== void 0 ? _d : __1.ServerConnection.makeSettings();\n this.setupKernel(options.model.kernel);\n }\n /**\n * A signal emitted when the session is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * A signal emitted when the kernel changes.\n */\n get kernelChanged() {\n return this._kernelChanged;\n }\n /**\n * A signal proxied from the connection about the kernel status.\n */\n get statusChanged() {\n return this._statusChanged;\n }\n /**\n * A signal proxied from the kernel about the connection status.\n */\n get connectionStatusChanged() {\n return this._connectionStatusChanged;\n }\n /**\n * A signal proxied from the kernel pending input.\n */\n get pendingInput() {\n return this._pendingInput;\n }\n /**\n * A signal proxied from the kernel about iopub kernel messages.\n */\n get iopubMessage() {\n return this._iopubMessage;\n }\n /**\n * A signal proxied from the kernel for an unhandled kernel message.\n */\n get unhandledMessage() {\n return this._unhandledMessage;\n }\n /**\n * A signal proxied from the kernel emitted for any kernel message.\n *\n * #### Notes\n * The behavior is undefined if the message is modified during message\n * handling. As such, it should be treated as read-only.\n */\n get anyMessage() {\n return this._anyMessage;\n }\n /**\n * A signal emitted when a session property changes.\n */\n get propertyChanged() {\n return this._propertyChanged;\n }\n /**\n * Get the session id.\n */\n get id() {\n return this._id;\n }\n /**\n * Get the session kernel connection object.\n *\n * #### Notes\n * This is a read-only property, and can be altered by [changeKernel].\n */\n get kernel() {\n return this._kernel;\n }\n /**\n * Get the session path.\n */\n get path() {\n return this._path;\n }\n /**\n * Get the session type.\n */\n get type() {\n return this._type;\n }\n /**\n * Get the session name.\n */\n get name() {\n return this._name;\n }\n /**\n * Get the model associated with the session.\n */\n get model() {\n return {\n id: this.id,\n kernel: this.kernel && { id: this.kernel.id, name: this.kernel.name },\n path: this._path,\n type: this._type,\n name: this._name\n };\n }\n /**\n * Test whether the session has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Update the session based on a session model from the server.\n *\n * #### Notes\n * This only updates this session connection instance. Use `setPath`,\n * `setName`, `setType`, and `changeKernel` to change the session values on\n * the server.\n */\n update(model) {\n const oldModel = this.model;\n this._path = model.path;\n this._name = model.name;\n this._type = model.type;\n if ((this._kernel === null && model.kernel !== null) ||\n (this._kernel !== null && model.kernel === null) ||\n (this._kernel !== null &&\n model.kernel !== null &&\n this._kernel.id !== model.kernel.id)) {\n if (this._kernel !== null) {\n this._kernel.dispose();\n }\n const oldValue = this._kernel || null;\n this.setupKernel(model.kernel);\n const newValue = this._kernel || null;\n this._kernelChanged.emit({ name: 'kernel', oldValue, newValue });\n }\n this._handleModelChange(oldModel);\n }\n /**\n * Dispose of the resources held by the session.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._disposed.emit();\n if (this._kernel) {\n this._kernel.dispose();\n const oldValue = this._kernel;\n this._kernel = null;\n const newValue = this._kernel;\n this._kernelChanged.emit({ name: 'kernel', oldValue, newValue });\n }\n signaling_1.Signal.clearData(this);\n }\n /**\n * Change the session path.\n *\n * @param path - The new session path.\n *\n * @returns A promise that resolves when the session has renamed.\n *\n * #### Notes\n * This uses the Jupyter REST API, and the response is validated.\n * The promise is fulfilled on a valid response and rejected otherwise.\n */\n async setPath(path) {\n if (this.isDisposed) {\n throw new Error('Session is disposed');\n }\n await this._patch({ path });\n }\n /**\n * Change the session name.\n */\n async setName(name) {\n if (this.isDisposed) {\n throw new Error('Session is disposed');\n }\n await this._patch({ name });\n }\n /**\n * Change the session type.\n */\n async setType(type) {\n if (this.isDisposed) {\n throw new Error('Session is disposed');\n }\n await this._patch({ type });\n }\n /**\n * Change the kernel.\n *\n * @param options - The name or id of the new kernel.\n *\n * #### Notes\n * This shuts down the existing kernel and creates a new kernel,\n * keeping the existing session ID and session path.\n */\n async changeKernel(options) {\n if (this.isDisposed) {\n throw new Error('Session is disposed');\n }\n await this._patch({ kernel: options });\n return this.kernel;\n }\n /**\n * Kill the kernel and shutdown the session.\n *\n * @returns - The promise fulfilled on a valid response from the server.\n *\n * #### Notes\n * Uses the [Jupyter Notebook API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/sessions), and validates the response.\n * Disposes of the session and emits a [sessionDied] signal on success.\n */\n async shutdown() {\n if (this.isDisposed) {\n throw new Error('Session is disposed');\n }\n await (0, restapi_1.shutdownSession)(this.id, this.serverSettings);\n this.dispose();\n }\n /**\n * Create a new kernel connection and connect to its signals.\n *\n * #### Notes\n * This method is not meant to be subclassed.\n */\n setupKernel(model) {\n if (model === null) {\n this._kernel = null;\n return;\n }\n const kc = this._connectToKernel({\n ...this._kernelConnectionOptions,\n model,\n username: this._username,\n clientId: this._clientId,\n serverSettings: this.serverSettings\n });\n this._kernel = kc;\n kc.statusChanged.connect(this.onKernelStatus, this);\n kc.connectionStatusChanged.connect(this.onKernelConnectionStatus, this);\n kc.pendingInput.connect(this.onPendingInput, this);\n kc.unhandledMessage.connect(this.onUnhandledMessage, this);\n kc.iopubMessage.connect(this.onIOPubMessage, this);\n kc.anyMessage.connect(this.onAnyMessage, this);\n }\n /**\n * Handle to changes in the Kernel status.\n */\n onKernelStatus(sender, state) {\n this._statusChanged.emit(state);\n }\n /**\n * Handle to changes in the Kernel status.\n */\n onKernelConnectionStatus(sender, state) {\n this._connectionStatusChanged.emit(state);\n }\n /**\n * Handle a change in the pendingInput.\n */\n onPendingInput(sender, state) {\n this._pendingInput.emit(state);\n }\n /**\n * Handle iopub kernel messages.\n */\n onIOPubMessage(sender, msg) {\n this._iopubMessage.emit(msg);\n }\n /**\n * Handle unhandled kernel messages.\n */\n onUnhandledMessage(sender, msg) {\n this._unhandledMessage.emit(msg);\n }\n /**\n * Handle any kernel messages.\n */\n onAnyMessage(sender, args) {\n this._anyMessage.emit(args);\n }\n /**\n * Send a PATCH to the server, updating the session path or the kernel.\n */\n async _patch(body) {\n const model = await (0, restapi_1.updateSession)({ ...body, id: this._id }, this.serverSettings);\n this.update(model);\n return model;\n }\n /**\n * Handle a change to the model.\n */\n _handleModelChange(oldModel) {\n if (oldModel.name !== this._name) {\n this._propertyChanged.emit('name');\n }\n if (oldModel.type !== this._type) {\n this._propertyChanged.emit('type');\n }\n if (oldModel.path !== this._path) {\n this._propertyChanged.emit('path');\n }\n }\n}\nexports.SessionConnection = SessionConnection;\n//# sourceMappingURL=default.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionAPI = exports.Session = void 0;\nconst Session = __importStar(require(\"./session\"));\nexports.Session = Session;\nconst SessionAPI = __importStar(require(\"./restapi\"));\nexports.SessionAPI = SessionAPI;\n__exportStar(require(\"./manager\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionManager = void 0;\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst serverconnection_1 = require(\"../serverconnection\");\nconst basemanager_1 = require(\"../basemanager\");\nconst default_1 = require(\"./default\");\nconst restapi_1 = require(\"./restapi\");\n/**\n * An implementation of a session manager.\n */\nclass SessionManager extends basemanager_1.BaseManager {\n /**\n * Construct a new session manager.\n *\n * @param options - The default options for each session.\n */\n constructor(options) {\n var _a;\n super(options);\n this._isReady = false;\n this._sessionConnections = new Set();\n this._models = new Map();\n this._runningChanged = new signaling_1.Signal(this);\n this._connectionFailure = new signaling_1.Signal(this);\n // We define these here so they bind `this` correctly\n this._connectToKernel = (options) => {\n return this._kernelManager.connectTo(options);\n };\n this._kernelManager = options.kernelManager;\n // Start model polling with exponential backoff.\n this._pollModels = new polling_1.Poll({\n auto: false,\n factory: () => this.requestRunning(),\n frequency: {\n interval: 10 * 1000,\n backoff: true,\n max: 300 * 1000\n },\n name: `@jupyterlab/services:SessionManager#models`,\n standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'\n });\n // Initialize internal data.\n this._ready = (async () => {\n await this._pollModels.start();\n await this._pollModels.tick;\n if (this._kernelManager.isActive) {\n await this._kernelManager.ready;\n }\n this._isReady = true;\n })();\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._ready;\n }\n /**\n * A signal emitted when the running sessions change.\n */\n get runningChanged() {\n return this._runningChanged;\n }\n /**\n * A signal emitted when there is a connection failure.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._models.clear();\n this._sessionConnections.forEach(x => x.dispose());\n this._pollModels.dispose();\n super.dispose();\n }\n /*\n * Connect to a running session. See also [[connectToSession]].\n */\n connectTo(options) {\n const sessionConnection = new default_1.SessionConnection({\n ...options,\n connectToKernel: this._connectToKernel,\n serverSettings: this.serverSettings\n });\n this._onStarted(sessionConnection);\n if (!this._models.has(options.model.id)) {\n // We trust the user to connect to an existing session, but we verify\n // asynchronously.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n return sessionConnection;\n }\n /**\n * Create an iterator over the most recent running sessions.\n *\n * @returns A new iterator over the running sessions.\n */\n running() {\n return this._models.values();\n }\n /**\n * Force a refresh of the running sessions.\n *\n * @returns A promise that with the list of running sessions.\n *\n * #### Notes\n * This is not typically meant to be called by the user, since the\n * manager maintains its own internal state.\n */\n async refreshRunning() {\n await this._pollModels.refresh();\n await this._pollModels.tick;\n }\n /**\n * Start a new session. See also [[startNewSession]].\n *\n * @param createOptions - Options for creating the session\n *\n * @param connectOptions - Options for connecting to the session\n */\n async startNew(createOptions, connectOptions = {}) {\n const model = await (0, restapi_1.startSession)(createOptions, this.serverSettings);\n await this.refreshRunning();\n return this.connectTo({ ...connectOptions, model });\n }\n /**\n * Shut down a session by id.\n */\n async shutdown(id) {\n await (0, restapi_1.shutdownSession)(id, this.serverSettings);\n await this.refreshRunning();\n }\n /**\n * Shut down all sessions.\n *\n * @returns A promise that resolves when all of the kernels are shut down.\n */\n async shutdownAll() {\n // Update the list of models to make sure our list is current.\n await this.refreshRunning();\n // Shut down all models.\n await Promise.all([...this._models.keys()].map(id => (0, restapi_1.shutdownSession)(id, this.serverSettings)));\n // Update the list of models to clear out our state.\n await this.refreshRunning();\n }\n /**\n * Find a session associated with a path and stop it if it is the only session\n * using that kernel.\n *\n * @param path - The path in question.\n *\n * @returns A promise that resolves when the relevant sessions are stopped.\n */\n async stopIfNeeded(path) {\n try {\n const sessions = await (0, restapi_1.listRunning)(this.serverSettings);\n const matches = sessions.filter(value => value.path === path);\n if (matches.length === 1) {\n const id = matches[0].id;\n await this.shutdown(id);\n }\n }\n catch (error) {\n /* Always succeed. */\n }\n }\n /**\n * Find a session by id.\n */\n async findById(id) {\n if (this._models.has(id)) {\n return this._models.get(id);\n }\n await this.refreshRunning();\n return this._models.get(id);\n }\n /**\n * Find a session by path.\n */\n async findByPath(path) {\n for (const m of this._models.values()) {\n if (m.path === path) {\n return m;\n }\n }\n await this.refreshRunning();\n for (const m of this._models.values()) {\n if (m.path === path) {\n return m;\n }\n }\n return undefined;\n }\n /**\n * Execute a request to the server to poll running kernels and update state.\n */\n async requestRunning() {\n var _a, _b;\n let models;\n try {\n models = await (0, restapi_1.listRunning)(this.serverSettings);\n }\n catch (err) {\n // Handle network errors, as well as cases where we are on a\n // JupyterHub and the server is not running. JupyterHub returns a\n // 503 (<2.0) or 424 (>2.0) in that case.\n if (err instanceof serverconnection_1.ServerConnection.NetworkError ||\n ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||\n ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {\n this._connectionFailure.emit(err);\n }\n throw err;\n }\n if (this.isDisposed) {\n return;\n }\n if (this._models.size === models.length &&\n models.every(model => {\n var _a, _b, _c, _d;\n const existing = this._models.get(model.id);\n if (!existing) {\n return false;\n }\n return (((_a = existing.kernel) === null || _a === void 0 ? void 0 : _a.id) === ((_b = model.kernel) === null || _b === void 0 ? void 0 : _b.id) &&\n ((_c = existing.kernel) === null || _c === void 0 ? void 0 : _c.name) === ((_d = model.kernel) === null || _d === void 0 ? void 0 : _d.name) &&\n existing.name === model.name &&\n existing.path === model.path &&\n existing.type === model.type);\n })) {\n // Identical models list (presuming models does not contain duplicate\n // ids), so just return\n return;\n }\n this._models = new Map(models.map(x => [x.id, x]));\n this._sessionConnections.forEach(sc => {\n if (this._models.has(sc.id)) {\n sc.update(this._models.get(sc.id));\n }\n else {\n sc.dispose();\n }\n });\n this._runningChanged.emit(models);\n }\n /**\n * Handle a session starting.\n */\n _onStarted(sessionConnection) {\n this._sessionConnections.add(sessionConnection);\n sessionConnection.disposed.connect(this._onDisposed, this);\n sessionConnection.propertyChanged.connect(this._onChanged, this);\n sessionConnection.kernelChanged.connect(this._onChanged, this);\n }\n _onDisposed(sessionConnection) {\n this._sessionConnections.delete(sessionConnection);\n // A session termination emission could mean the server session is deleted,\n // or that the session JS object is disposed and the session still exists on\n // the server, so we refresh from the server to make sure we reflect the\n // server state.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n _onChanged() {\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n}\nexports.SessionManager = SessionManager;\n/**\n * The namespace for `SessionManager` class statics.\n */\n(function (SessionManager) {\n /**\n * A no-op session manager to be used when starting sessions is not supported.\n */\n class NoopManager extends SessionManager {\n constructor() {\n super(...arguments);\n this._readyPromise = new Promise(() => {\n /* no-op */\n });\n }\n /**\n * Whether the manager is active.\n */\n get isActive() {\n return false;\n }\n /**\n * Used for testing.\n */\n get parentReady() {\n return super.ready;\n }\n /**\n * Start a new session - throw an error since it is not supported.\n */\n async startNew(createOptions, connectOptions = {}) {\n return Promise.reject(new Error('Not implemented in no-op Session Manager'));\n }\n /*\n * Connect to a running session - throw an error since it is not supported.\n */\n connectTo(options) {\n throw Error('Not implemented in no-op Session Manager');\n }\n /**\n * A promise that fulfills when the manager is ready (never).\n */\n get ready() {\n return this.parentReady.then(() => this._readyPromise);\n }\n /**\n * Shut down a session by id - throw an error since it is not supported.\n */\n async shutdown(id) {\n return Promise.reject(new Error('Not implemented in no-op Session Manager'));\n }\n /**\n * Execute a request to the server to poll running sessions and update state.\n */\n async requestRunning() {\n return Promise.resolve();\n }\n }\n SessionManager.NoopManager = NoopManager;\n})(SessionManager = exports.SessionManager || (exports.SessionManager = {}));\n//# sourceMappingURL=manager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateSession = exports.startSession = exports.getSessionModel = exports.shutdownSession = exports.getSessionUrl = exports.listRunning = exports.SESSION_SERVICE_URL = void 0;\nconst serverconnection_1 = require(\"../serverconnection\");\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst validate_1 = require(\"./validate\");\n/**\n * The url for the session service.\n */\nexports.SESSION_SERVICE_URL = 'api/sessions';\n/**\n * List the running sessions.\n */\nasync function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.SESSION_SERVICE_URL);\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n if (!Array.isArray(data)) {\n throw new Error('Invalid Session list');\n }\n data.forEach(m => {\n (0, validate_1.updateLegacySessionModel)(m);\n (0, validate_1.validateModel)(m);\n });\n return data;\n}\nexports.listRunning = listRunning;\n/**\n * Get a session url.\n */\nfunction getSessionUrl(baseUrl, id) {\n return coreutils_1.URLExt.join(baseUrl, exports.SESSION_SERVICE_URL, id);\n}\nexports.getSessionUrl = getSessionUrl;\n/**\n * Shut down a session by id.\n */\nasync function shutdownSession(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n var _a;\n const url = getSessionUrl(settings.baseUrl, id);\n const init = { method: 'DELETE' };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status === 404) {\n const data = await response.json();\n const msg = (_a = data.message) !== null && _a !== void 0 ? _a : `The session \"${id}\"\" does not exist on the server`;\n console.warn(msg);\n }\n else if (response.status === 410) {\n throw new serverconnection_1.ServerConnection.ResponseError(response, 'The kernel was deleted but the session was not');\n }\n else if (response.status !== 204) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n}\nexports.shutdownSession = shutdownSession;\n/**\n * Get a full session model from the server by session id string.\n */\nasync function getSessionModel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = getSessionUrl(settings.baseUrl, id);\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.updateLegacySessionModel)(data);\n (0, validate_1.validateModel)(data);\n return data;\n}\nexports.getSessionModel = getSessionModel;\n/**\n * Create a new session, or return an existing session if the session path\n * already exists.\n */\nasync function startSession(options, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.SESSION_SERVICE_URL);\n const init = {\n method: 'POST',\n body: JSON.stringify(options)\n };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 201) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.updateLegacySessionModel)(data);\n (0, validate_1.validateModel)(data);\n return data;\n}\nexports.startSession = startSession;\n/**\n * Send a PATCH to the server, updating the session path or the kernel.\n */\nasync function updateSession(model, settings = serverconnection_1.ServerConnection.makeSettings()) {\n const url = getSessionUrl(settings.baseUrl, model.id);\n const init = {\n method: 'PATCH',\n body: JSON.stringify(model)\n };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n (0, validate_1.updateLegacySessionModel)(data);\n (0, validate_1.validateModel)(data);\n return data;\n}\nexports.updateSession = updateSession;\n//# sourceMappingURL=restapi.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=session.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateModels = exports.updateLegacySessionModel = exports.validateModel = void 0;\nconst validate_1 = require(\"../kernel/validate\");\nconst validate_2 = require(\"../validate\");\n/**\n * Validate an `Session.IModel` object.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction validateModel(data) {\n (0, validate_2.validateProperty)(data, 'id', 'string');\n (0, validate_2.validateProperty)(data, 'type', 'string');\n (0, validate_2.validateProperty)(data, 'name', 'string');\n (0, validate_2.validateProperty)(data, 'path', 'string');\n (0, validate_2.validateProperty)(data, 'kernel', 'object');\n (0, validate_1.validateModel)(data.kernel);\n}\nexports.validateModel = validateModel;\n/**\n * Update model from legacy session data.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction updateLegacySessionModel(data) {\n if (data.path === undefined && data.notebook !== undefined) {\n data.path = data.notebook.path;\n data.type = 'notebook';\n data.name = '';\n }\n}\nexports.updateLegacySessionModel = updateLegacySessionModel;\n/**\n * Validate an array of `Session.IModel` objects.\n */\nfunction validateModels(models) {\n if (!Array.isArray(models)) {\n throw new Error('Invalid session list');\n }\n models.forEach(d => validateModel(d));\n}\nexports.validateModels = validateModels;\n//# sourceMappingURL=validate.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst statedb_1 = require(\"@jupyterlab/statedb\");\nconst serverconnection_1 = require(\"../serverconnection\");\n/**\n * The url for the lab settings service.\n */\nconst SERVICE_SETTINGS_URL = 'api/settings';\n/**\n * The settings API service manager.\n */\nclass SettingManager extends statedb_1.DataConnector {\n /**\n * Create a new setting manager.\n */\n constructor(options = {}) {\n var _a;\n super();\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n }\n /**\n * Fetch a plugin's settings.\n *\n * @param id - The plugin's ID.\n *\n * @returns A promise that resolves if successful.\n */\n async fetch(id) {\n if (!id) {\n throw new Error('Plugin `id` parameter is required for settings fetch.');\n }\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, id);\n const response = await makeRequest(url, {}, serverSettings);\n if (response.status !== 200) {\n const err = await ResponseError.create(response);\n throw err;\n }\n // Assert what type the server response is returning.\n return response.json();\n }\n /**\n * Fetch the list of all plugin setting bundles.\n *\n * @returns A promise that resolves if successful.\n */\n async list(query) {\n var _a, _b, _c, _d;\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, '', query === 'ids');\n const response = await makeRequest(url, {}, serverSettings);\n if (response.status !== 200) {\n throw new ResponseError(response);\n }\n const json = await response.json();\n const ids = (_b = (_a = json === null || json === void 0 ? void 0 : json['settings']) === null || _a === void 0 ? void 0 : _a.map((plugin) => plugin.id)) !== null && _b !== void 0 ? _b : [];\n let values = [];\n if (!query) {\n values =\n (_d = (_c = json === null || json === void 0 ? void 0 : json['settings']) === null || _c === void 0 ? void 0 : _c.map((plugin) => {\n plugin.data = { composite: {}, user: {} };\n return plugin;\n })) !== null && _d !== void 0 ? _d : [];\n }\n return { ids, values };\n }\n /**\n * Save a plugin's settings.\n *\n * @param id - The plugin's ID.\n *\n * @param raw - The user setting values as a raw string of JSON with comments.\n *\n * @returns A promise that resolves if successful.\n */\n async save(id, raw) {\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, id);\n // NOTE: 'raw' is JSON5 (not valid JSON), so we encode it as a string in a valid JSON body\n const init = { body: JSON.stringify({ raw }), method: 'PUT' };\n const response = await makeRequest(url, init, serverSettings);\n if (response.status !== 204) {\n throw new ResponseError(response);\n }\n }\n}\nexports.SettingManager = SettingManager;\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Get the url for a plugin's settings.\n */\n function url(base, id, idsOnly) {\n const idsOnlyParam = idsOnly\n ? coreutils_1.URLExt.objectToQueryString({ ids_only: true })\n : '';\n return `${coreutils_1.URLExt.join(base, SERVICE_SETTINGS_URL, id)}${idsOnlyParam}`;\n }\n Private.url = url;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = WebSocket;\n//# sourceMappingURL=ws.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TerminalConnection = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst coreutils_2 = require(\"@lumino/coreutils\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst restapi_1 = require(\"./restapi\");\n/**\n * An implementation of a terminal interface.\n */\nclass TerminalConnection {\n /**\n * Construct a new terminal session.\n */\n constructor(options) {\n var _a;\n /**\n * Create the terminal websocket connection and add socket status handlers.\n *\n * #### Notes\n * You are responsible for updating the connection status as appropriate.\n */\n this._createSocket = () => {\n this._errorIfDisposed();\n // Make sure the socket is clear\n this._clearSocket();\n // Update the connection status to reflect opening a new connection.\n this._updateConnectionStatus('connecting');\n const name = this._name;\n const settings = this.serverSettings;\n let url = coreutils_1.URLExt.join(settings.wsUrl, 'terminals', 'websocket', encodeURIComponent(name));\n // If token authentication is in use.\n const token = settings.token;\n if (settings.appendToken && token !== '') {\n url = url + `?token=${encodeURIComponent(token)}`;\n }\n this._ws = new settings.WebSocket(url);\n this._ws.onmessage = this._onWSMessage;\n this._ws.onclose = this._onWSClose;\n this._ws.onerror = this._onWSClose;\n };\n // Websocket messages events are defined as variables to bind `this`\n this._onWSMessage = (event) => {\n if (this._isDisposed) {\n return;\n }\n const data = JSON.parse(event.data);\n // Handle a disconnect message.\n if (data[0] === 'disconnect') {\n this.dispose();\n }\n if (this._connectionStatus === 'connecting') {\n // After reconnection, ignore all messages until a 'setup' message\n // before we are truly connected. Setting the connection status to\n // connected only then means that if we do not get a setup message\n // before our retry timeout, we will delete the websocket and try again.\n if (data[0] === 'setup') {\n this._updateConnectionStatus('connected');\n }\n return;\n }\n this._messageReceived.emit({\n type: data[0],\n content: data.slice(1)\n });\n };\n this._onWSClose = (event) => {\n console.warn(`Terminal websocket closed: ${event.code}`);\n if (!this.isDisposed) {\n this._reconnect();\n }\n };\n this._connectionStatus = 'connecting';\n this._connectionStatusChanged = new signaling_1.Signal(this);\n this._isDisposed = false;\n this._disposed = new signaling_1.Signal(this);\n this._messageReceived = new signaling_1.Signal(this);\n this._reconnectTimeout = null;\n this._ws = null;\n this._noOp = () => {\n /* no-op */\n };\n this._reconnectLimit = 7;\n this._reconnectAttempt = 0;\n this._pendingMessages = [];\n this._name = options.model.name;\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings();\n this._createSocket();\n }\n /**\n * A signal emitted when the session is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * A signal emitted when a message is received from the server.\n */\n get messageReceived() {\n return this._messageReceived;\n }\n /**\n * Get the name of the terminal session.\n */\n get name() {\n return this._name;\n }\n /**\n * Get the model for the terminal session.\n */\n get model() {\n return { name: this._name };\n }\n /**\n * Test whether the session is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the session.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._disposed.emit();\n this._updateConnectionStatus('disconnected');\n this._clearSocket();\n signaling_1.Signal.clearData(this);\n }\n /**\n * Send a message to the terminal session.\n *\n * #### Notes\n * If the connection is down, the message will be queued for sending when\n * the connection comes back up.\n */\n send(message) {\n this._sendMessage(message);\n }\n /**\n * Send a message on the websocket, or possibly queue for later sending.\n *\n * @param queue - whether to queue the message if it cannot be sent\n */\n _sendMessage(message, queue = true) {\n if (this._isDisposed || !message.content) {\n return;\n }\n if (this.connectionStatus === 'connected' && this._ws) {\n const msg = [message.type, ...message.content];\n this._ws.send(JSON.stringify(msg));\n }\n else if (queue) {\n this._pendingMessages.push(message);\n }\n else {\n throw new Error(`Could not send message: ${JSON.stringify(message)}`);\n }\n }\n /**\n * Send pending messages to the kernel.\n */\n _sendPending() {\n // We check to make sure we are still connected each time. For\n // example, if a websocket buffer overflows, it may close, so we should\n // stop sending messages.\n while (this.connectionStatus === 'connected' &&\n this._pendingMessages.length > 0) {\n this._sendMessage(this._pendingMessages[0], false);\n // We shift the message off the queue after the message is sent so that\n // if there is an exception, the message is still pending.\n this._pendingMessages.shift();\n }\n }\n /**\n * Reconnect to a terminal.\n *\n * #### Notes\n * This may try multiple times to reconnect to a terminal, and will sever\n * any existing connection.\n */\n reconnect() {\n this._errorIfDisposed();\n const result = new coreutils_2.PromiseDelegate();\n // Set up a listener for the connection status changing, which accepts or\n // rejects after the retries are done.\n const fulfill = (sender, status) => {\n if (status === 'connected') {\n result.resolve();\n this.connectionStatusChanged.disconnect(fulfill, this);\n }\n else if (status === 'disconnected') {\n result.reject(new Error('Terminal connection disconnected'));\n this.connectionStatusChanged.disconnect(fulfill, this);\n }\n };\n this.connectionStatusChanged.connect(fulfill, this);\n // Reset the reconnect limit so we start the connection attempts fresh\n this._reconnectAttempt = 0;\n // Start the reconnection process, which will also clear any existing\n // connection.\n this._reconnect();\n // Return the promise that should resolve on connection or reject if the\n // retries don't work.\n return result.promise;\n }\n /**\n * Attempt a connection if we have not exhausted connection attempts.\n */\n _reconnect() {\n this._errorIfDisposed();\n // Clear any existing reconnection attempt\n clearTimeout(this._reconnectTimeout);\n // Update the connection status and schedule a possible reconnection.\n if (this._reconnectAttempt < this._reconnectLimit) {\n this._updateConnectionStatus('connecting');\n // The first reconnect attempt should happen immediately, and subsequent\n // attempts should pick a random number in a growing range so that we\n // don't overload the server with synchronized reconnection attempts\n // across multiple kernels.\n const timeout = Private.getRandomIntInclusive(0, 1e3 * (Math.pow(2, this._reconnectAttempt) - 1));\n console.error(`Connection lost, reconnecting in ${Math.floor(timeout / 1000)} seconds.`);\n this._reconnectTimeout = setTimeout(this._createSocket, timeout);\n this._reconnectAttempt += 1;\n }\n else {\n this._updateConnectionStatus('disconnected');\n }\n // Clear the websocket event handlers and the socket itself.\n this._clearSocket();\n }\n /**\n * Forcefully clear the socket state.\n *\n * #### Notes\n * This will clear all socket state without calling any handlers and will\n * not update the connection status. If you call this method, you are\n * responsible for updating the connection status as needed and recreating\n * the socket if you plan to reconnect.\n */\n _clearSocket() {\n if (this._ws !== null) {\n // Clear the websocket event handlers and the socket itself.\n this._ws.onopen = this._noOp;\n this._ws.onclose = this._noOp;\n this._ws.onerror = this._noOp;\n this._ws.onmessage = this._noOp;\n this._ws.close();\n this._ws = null;\n }\n }\n /**\n * Shut down the terminal session.\n */\n async shutdown() {\n await (0, restapi_1.shutdownTerminal)(this.name, this.serverSettings);\n this.dispose();\n }\n /**\n * Clone the current terminal connection.\n */\n clone() {\n return new TerminalConnection(this);\n }\n /**\n * Handle connection status changes.\n */\n _updateConnectionStatus(connectionStatus) {\n if (this._connectionStatus === connectionStatus) {\n return;\n }\n this._connectionStatus = connectionStatus;\n // If we are not 'connecting', stop any reconnection attempts.\n if (connectionStatus !== 'connecting') {\n this._reconnectAttempt = 0;\n clearTimeout(this._reconnectTimeout);\n }\n // Send the pending messages if we just connected.\n if (connectionStatus === 'connected') {\n this._sendPending();\n }\n // Notify others that the connection status changed.\n this._connectionStatusChanged.emit(connectionStatus);\n }\n /**\n * Utility function to throw an error if this instance is disposed.\n */\n _errorIfDisposed() {\n if (this.isDisposed) {\n throw new Error('Terminal connection is disposed');\n }\n }\n /**\n * A signal emitted when the terminal connection status changes.\n */\n get connectionStatusChanged() {\n return this._connectionStatusChanged;\n }\n /**\n * The current connection status of the terminal connection.\n */\n get connectionStatus() {\n return this._connectionStatus;\n }\n}\nexports.TerminalConnection = TerminalConnection;\nvar Private;\n(function (Private) {\n /**\n * Get the url for a terminal.\n */\n function getTermUrl(baseUrl, name) {\n return coreutils_1.URLExt.join(baseUrl, restapi_1.TERMINAL_SERVICE_URL, encodeURIComponent(name));\n }\n Private.getTermUrl = getTermUrl;\n /**\n * Get a random integer between min and max, inclusive of both.\n *\n * #### Notes\n * From\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive\n *\n * From the MDN page: It might be tempting to use Math.round() to accomplish\n * that, but doing so would cause your random numbers to follow a non-uniform\n * distribution, which may not be acceptable for your needs.\n */\n function getRandomIntInclusive(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n Private.getRandomIntInclusive = getRandomIntInclusive;\n})(Private || (Private = {}));\n//# sourceMappingURL=default.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TerminalAPI = exports.Terminal = void 0;\nconst Terminal = __importStar(require(\"./terminal\"));\nexports.Terminal = Terminal;\nconst TerminalAPI = __importStar(require(\"./restapi\"));\nexports.TerminalAPI = TerminalAPI;\n__exportStar(require(\"./manager\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TerminalManager = void 0;\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst __1 = require(\"..\");\nconst basemanager_1 = require(\"../basemanager\");\nconst restapi_1 = require(\"./restapi\");\nconst default_1 = require(\"./default\");\n/**\n * A terminal session manager.\n */\nclass TerminalManager extends basemanager_1.BaseManager {\n /**\n * Construct a new terminal manager.\n */\n constructor(options = {}) {\n var _a;\n super(options);\n this._isReady = false;\n // As an optimization, we unwrap the models to just store the names.\n this._names = [];\n this._terminalConnections = new Set();\n this._runningChanged = new signaling_1.Signal(this);\n this._connectionFailure = new signaling_1.Signal(this);\n // Check if terminals are available\n if (!this.isAvailable()) {\n this._ready = Promise.reject('Terminals unavailable');\n this._ready.catch(_ => undefined);\n return;\n }\n // Start polling with exponential backoff.\n this._pollModels = new polling_1.Poll({\n auto: false,\n factory: () => this.requestRunning(),\n frequency: {\n interval: 10 * 1000,\n backoff: true,\n max: 300 * 1000\n },\n name: `@jupyterlab/services:TerminalManager#models`,\n standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'\n });\n // Initialize internal data.\n this._ready = (async () => {\n await this._pollModels.start();\n await this._pollModels.tick;\n this._isReady = true;\n })();\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._ready;\n }\n /**\n * A signal emitted when the running terminals change.\n */\n get runningChanged() {\n return this._runningChanged;\n }\n /**\n * A signal emitted when there is a connection failure.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._names.length = 0;\n this._terminalConnections.forEach(x => x.dispose());\n this._pollModels.dispose();\n super.dispose();\n }\n /**\n * Whether the terminal service is available.\n */\n isAvailable() {\n return (0, restapi_1.isAvailable)();\n }\n /*\n * Connect to a running terminal.\n *\n * @param options - The options used to connect to the terminal.\n *\n * @returns The new terminal connection instance.\n *\n * #### Notes\n * The manager `serverSettings` will be used.\n */\n connectTo(options) {\n const terminalConnection = new default_1.TerminalConnection({\n ...options,\n serverSettings: this.serverSettings\n });\n this._onStarted(terminalConnection);\n if (!this._names.includes(options.model.name)) {\n // We trust the user to connect to an existing session, but we verify\n // asynchronously.\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n return terminalConnection;\n }\n /**\n * Create an iterator over the most recent running terminals.\n *\n * @returns A new iterator over the running terminals.\n */\n running() {\n return this._models[Symbol.iterator]();\n }\n /**\n * Force a refresh of the running terminals.\n *\n * @returns A promise that with the list of running terminals.\n *\n * #### Notes\n * This is intended to be called only in response to a user action,\n * since the manager maintains its internal state.\n */\n async refreshRunning() {\n await this._pollModels.refresh();\n await this._pollModels.tick;\n }\n /**\n * Create a new terminal session.\n *\n * @param options - The options used to create the terminal.\n *\n * @returns A promise that resolves with the terminal connection instance.\n *\n * #### Notes\n * The manager `serverSettings` will be used unless overridden in the\n * options.\n */\n async startNew(options) {\n const model = await (0, restapi_1.startNew)(this.serverSettings, options === null || options === void 0 ? void 0 : options.name, options === null || options === void 0 ? void 0 : options.cwd);\n await this.refreshRunning();\n return this.connectTo({ model });\n }\n /**\n * Shut down a terminal session by name.\n */\n async shutdown(name) {\n await (0, restapi_1.shutdownTerminal)(name, this.serverSettings);\n await this.refreshRunning();\n }\n /**\n * Shut down all terminal sessions.\n *\n * @returns A promise that resolves when all of the sessions are shut down.\n */\n async shutdownAll() {\n // Update the list of models to make sure our list is current.\n await this.refreshRunning();\n // Shut down all models.\n await Promise.all(this._names.map(name => (0, restapi_1.shutdownTerminal)(name, this.serverSettings)));\n // Update the list of models to clear out our state.\n await this.refreshRunning();\n }\n /**\n * Execute a request to the server to poll running terminals and update state.\n */\n async requestRunning() {\n var _a, _b;\n let models;\n try {\n models = await (0, restapi_1.listRunning)(this.serverSettings);\n }\n catch (err) {\n // Handle network errors, as well as cases where we are on a\n // JupyterHub and the server is not running. JupyterHub returns a\n // 503 (<2.0) or 424 (>2.0) in that case.\n if (err instanceof __1.ServerConnection.NetworkError ||\n ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||\n ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {\n this._connectionFailure.emit(err);\n }\n throw err;\n }\n if (this.isDisposed) {\n return;\n }\n const names = models.map(({ name }) => name).sort();\n if (names === this._names) {\n // Identical models list, so just return\n return;\n }\n this._names = names;\n this._terminalConnections.forEach(tc => {\n if (!names.includes(tc.name)) {\n tc.dispose();\n }\n });\n this._runningChanged.emit(this._models);\n }\n /**\n * Handle a session starting.\n */\n _onStarted(terminalConnection) {\n this._terminalConnections.add(terminalConnection);\n terminalConnection.disposed.connect(this._onDisposed, this);\n }\n /**\n * Handle a session terminating.\n */\n _onDisposed(terminalConnection) {\n this._terminalConnections.delete(terminalConnection);\n // Update the running models to make sure we reflect the server state\n void this.refreshRunning().catch(() => {\n /* no-op */\n });\n }\n get _models() {\n return this._names.map(name => {\n return { name };\n });\n }\n}\nexports.TerminalManager = TerminalManager;\n/**\n * The namespace for TerminalManager statics.\n */\n(function (TerminalManager) {\n /**\n * A no-op terminal manager to be used when starting terminals is not supported.\n */\n class NoopManager extends TerminalManager {\n constructor() {\n super(...arguments);\n this._readyPromise = new Promise(() => {\n /* no-op */\n });\n }\n /**\n * Whether the manager is active.\n */\n get isActive() {\n return false;\n }\n /**\n * Used for testing.\n */\n get parentReady() {\n return super.ready;\n }\n /**\n * A promise that fulfills when the manager is ready (never).\n */\n get ready() {\n return this.parentReady.then(() => this._readyPromise);\n }\n /**\n * Create a new terminal session - throw an error since it is not supported.\n *\n */\n async startNew(options) {\n return Promise.reject(new Error('Not implemented in no-op Terminal Manager'));\n }\n /*\n * Connect to a running terminal - throw an error since it is not supported.\n */\n connectTo(options) {\n throw Error('Not implemented in no-op Terminal Manager');\n }\n /**\n * Shut down a session by id - throw an error since it is not supported.\n */\n async shutdown(id) {\n return Promise.reject(new Error('Not implemented in no-op Terminal Manager'));\n }\n /**\n * Execute a request to the server to poll running sessions and update state.\n */\n async requestRunning() {\n return Promise.resolve();\n }\n }\n TerminalManager.NoopManager = NoopManager;\n})(TerminalManager = exports.TerminalManager || (exports.TerminalManager = {}));\n//# sourceMappingURL=manager.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shutdownTerminal = exports.listRunning = exports.startNew = exports.isAvailable = exports.TERMINAL_SERVICE_URL = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst serverconnection_1 = require(\"../serverconnection\");\n/**\n * The url for the terminal service.\n */\nexports.TERMINAL_SERVICE_URL = 'api/terminals';\n/**\n * Whether the terminal service is available.\n */\nfunction isAvailable() {\n const available = String(coreutils_1.PageConfig.getOption('terminalsAvailable'));\n return available.toLowerCase() === 'true';\n}\nexports.isAvailable = isAvailable;\n/**\n * Start a new terminal session.\n *\n * @param settings - The server settings to use.\n *\n * @param name - The name of the target terminal.\n *\n * @param cwd - The path in which the terminal will start.\n *\n * @returns A promise that resolves with the session model.\n */\nasync function startNew(settings = serverconnection_1.ServerConnection.makeSettings(), name, cwd) {\n Private.errorIfNotAvailable();\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL);\n const init = {\n method: 'POST',\n body: JSON.stringify({ name, cwd })\n };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n // TODO: Validate model\n return data;\n}\nexports.startNew = startNew;\n/**\n * List the running terminal sessions.\n *\n * @param settings - The server settings to use.\n *\n * @returns A promise that resolves with the list of running session models.\n */\nasync function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {\n Private.errorIfNotAvailable();\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL);\n const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);\n if (response.status !== 200) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n const data = await response.json();\n if (!Array.isArray(data)) {\n throw new Error('Invalid terminal list');\n }\n // TODO: validate each model\n return data;\n}\nexports.listRunning = listRunning;\n/**\n * Shut down a terminal session by name.\n *\n * @param name - The name of the target session.\n *\n * @param settings - The server settings to use.\n *\n * @returns A promise that resolves when the session is shut down.\n */\nasync function shutdownTerminal(name, settings = serverconnection_1.ServerConnection.makeSettings()) {\n var _a;\n Private.errorIfNotAvailable();\n const url = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL, name);\n const init = { method: 'DELETE' };\n const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);\n if (response.status === 404) {\n const data = await response.json();\n const msg = (_a = data.message) !== null && _a !== void 0 ? _a : `The terminal session \"${name}\"\" does not exist on the server`;\n console.warn(msg);\n }\n else if (response.status !== 204) {\n const err = await serverconnection_1.ServerConnection.ResponseError.create(response);\n throw err;\n }\n}\nexports.shutdownTerminal = shutdownTerminal;\nvar Private;\n(function (Private) {\n /**\n * Throw an error if terminals are not available.\n */\n function errorIfNotAvailable() {\n if (!isAvailable()) {\n throw new Error('Terminals Unavailable');\n }\n }\n Private.errorIfNotAvailable = errorIfNotAvailable;\n})(Private || (Private = {}));\n//# sourceMappingURL=restapi.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAvailable = void 0;\nconst restapi_1 = require(\"./restapi\");\nObject.defineProperty(exports, \"isAvailable\", { enumerable: true, get: function () { return restapi_1.isAvailable; } });\n//# sourceMappingURL=terminal.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst coreutils_2 = require(\"@lumino/coreutils\");\nconst polling_1 = require(\"@lumino/polling\");\nconst signaling_1 = require(\"@lumino/signaling\");\nconst serverconnection_1 = require(\"../serverconnection\");\nconst basemanager_1 = require(\"../basemanager\");\n/**\n * The url for the lab workspaces service.\n */\nconst SERVICE_USER_URL = 'api/me';\n/**\n * The service's ID.\n * Used to uniquely identify the poll, and\n * the item in local storage.\n */\nconst SERVICE_ID = '@jupyterlab/services:UserManager#user';\n/**\n * The user API service manager.\n */\nclass UserManager extends basemanager_1.BaseManager {\n /**\n * Create a new user manager.\n */\n constructor(options = {}) {\n var _a;\n super(options);\n this._isReady = false;\n this._userChanged = new signaling_1.Signal(this);\n this._connectionFailure = new signaling_1.Signal(this);\n // Initialize internal data.\n this._ready = this.requestUser()\n .then(() => {\n if (this.isDisposed) {\n return;\n }\n this._isReady = true;\n })\n .catch(_ => \n // Return a promise that will never resolve, so user service is never ready\n // This typically occurs when the backend has no user service\n new Promise(() => {\n // no-op\n }));\n this._pollSpecs = new polling_1.Poll({\n auto: false,\n factory: () => this.requestUser(),\n frequency: {\n interval: 61 * 1000,\n backoff: true,\n max: 300 * 1000\n },\n name: SERVICE_ID,\n standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'\n });\n void this.ready.then(() => {\n void this._pollSpecs.start();\n });\n }\n /**\n * Test whether the manager is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that fulfills when the manager is ready.\n */\n get ready() {\n return this._ready;\n }\n /**\n * Get the most recently fetched identity.\n */\n get identity() {\n return this._identity;\n }\n /**\n * Get the most recently fetched permissions.\n */\n get permissions() {\n return this._permissions;\n }\n /**\n * A signal emitted when the user changes.\n */\n get userChanged() {\n return this._userChanged;\n }\n /**\n * A signal emitted when there is a connection failure.\n */\n get connectionFailure() {\n return this._connectionFailure;\n }\n /**\n * Dispose of the resources used by the manager.\n */\n dispose() {\n this._pollSpecs.dispose();\n super.dispose();\n }\n /**\n * Force a refresh of the specs from the server.\n *\n * @returns A promise that resolves when the specs are fetched.\n *\n * #### Notes\n * This is intended to be called only in response to a user action,\n * since the manager maintains its internal state.\n */\n async refreshUser() {\n await this._pollSpecs.refresh();\n await this._pollSpecs.tick;\n }\n /**\n * Execute a request to the server to poll the user and update state.\n */\n async requestUser() {\n if (this.isDisposed) {\n return;\n }\n const { baseUrl } = this.serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const url = coreutils_1.URLExt.join(baseUrl, SERVICE_USER_URL);\n const response = await makeRequest(url, {}, this.serverSettings);\n if (response.status !== 200) {\n const err = await ResponseError.create(response);\n throw err;\n }\n const oldUser = {\n identity: this._identity,\n permissions: this._permissions\n };\n const newUser = await response.json();\n const identity = newUser.identity;\n // store the color and initials for the user\n // this info is not provided by the server\n const { localStorage } = window;\n const data = localStorage.getItem(SERVICE_ID);\n if (data && (!identity.initials || !identity.color)) {\n const localUser = JSON.parse(data);\n identity.initials =\n identity.initials ||\n localUser.initials ||\n identity.name.substring(0, 1);\n identity.color =\n identity.color || localUser.color || Private.getRandomColor();\n }\n if (!coreutils_2.JSONExt.deepEqual(newUser, oldUser)) {\n this._identity = identity;\n this._permissions = newUser.permissions;\n localStorage.setItem(SERVICE_ID, JSON.stringify(identity));\n this._userChanged.emit(newUser);\n }\n }\n}\nexports.UserManager = UserManager;\n/**\n * A namespace for module-private functionality.\n *\n * Note: We do not want to export this function\n * to move it to css variables in the Theme.\n */\nvar Private;\n(function (Private) {\n /**\n * Predefined colors for users\n */\n const userColors = [\n 'var(--jp-collaborator-color1)',\n 'var(--jp-collaborator-color2)',\n 'var(--jp-collaborator-color3)',\n 'var(--jp-collaborator-color4)',\n 'var(--jp-collaborator-color5)',\n 'var(--jp-collaborator-color6)',\n 'var(--jp-collaborator-color7)'\n ];\n /**\n * Get a random color from the list of colors.\n */\n Private.getRandomColor = () => userColors[Math.floor(Math.random() * userColors.length)];\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateProperty = void 0;\n/**\n * Validate a property as being on an object, and optionally\n * of a given type and among a given set of values.\n */\nfunction validateProperty(\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nobject, name, typeName, values = []) {\n if (!object.hasOwnProperty(name)) {\n throw Error(`Missing property '${name}'`);\n }\n const value = object[name];\n if (typeName !== void 0) {\n let valid = true;\n switch (typeName) {\n case 'array':\n valid = Array.isArray(value);\n break;\n case 'object':\n valid = typeof value !== 'undefined';\n break;\n default:\n valid = typeof value === typeName;\n }\n if (!valid) {\n throw new Error(`Property '${name}' is not of type '${typeName}'`);\n }\n if (values.length > 0) {\n let valid = true;\n switch (typeName) {\n case 'string':\n case 'number':\n case 'boolean':\n valid = values.includes(value);\n break;\n default:\n valid = values.findIndex(v => v === value) >= 0;\n break;\n }\n if (!valid) {\n throw new Error(`Property '${name}' is not one of the valid values ${JSON.stringify(values)}`);\n }\n }\n }\n}\nexports.validateProperty = validateProperty;\n//# sourceMappingURL=validate.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkspaceManager = void 0;\nconst coreutils_1 = require(\"@jupyterlab/coreutils\");\nconst statedb_1 = require(\"@jupyterlab/statedb\");\nconst serverconnection_1 = require(\"../serverconnection\");\n/**\n * The url for the lab workspaces service.\n */\nconst SERVICE_WORKSPACES_URL = 'api/workspaces';\n/**\n * The workspaces API service manager.\n */\nclass WorkspaceManager extends statedb_1.DataConnector {\n /**\n * Create a new workspace manager.\n */\n constructor(options = {}) {\n var _a;\n super();\n this.serverSettings =\n (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();\n }\n /**\n * Fetch a workspace.\n *\n * @param id - The workspace's ID.\n *\n * @returns A promise that resolves if successful.\n */\n async fetch(id) {\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, id);\n const response = await makeRequest(url, {}, serverSettings);\n if (response.status !== 200) {\n const err = await ResponseError.create(response);\n throw err;\n }\n return response.json();\n }\n /**\n * Fetch the list of workspace IDs that exist on the server.\n *\n * @returns A promise that resolves if successful.\n */\n async list() {\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, '');\n const response = await makeRequest(url, {}, serverSettings);\n if (response.status !== 200) {\n const err = await ResponseError.create(response);\n throw err;\n }\n const result = await response.json();\n return result.workspaces;\n }\n /**\n * Remove a workspace from the server.\n *\n * @param id - The workspaces's ID.\n *\n * @returns A promise that resolves if successful.\n */\n async remove(id) {\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, id);\n const init = { method: 'DELETE' };\n const response = await makeRequest(url, init, serverSettings);\n if (response.status !== 204) {\n const err = await ResponseError.create(response);\n throw err;\n }\n }\n /**\n * Save a workspace.\n *\n * @param id - The workspace's ID.\n *\n * @param workspace - The workspace being saved.\n *\n * @returns A promise that resolves if successful.\n */\n async save(id, workspace) {\n const { serverSettings } = this;\n const { baseUrl, appUrl } = serverSettings;\n const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;\n const base = baseUrl + appUrl;\n const url = Private.url(base, id);\n const init = { body: JSON.stringify(workspace), method: 'PUT' };\n const response = await makeRequest(url, init, serverSettings);\n if (response.status !== 204) {\n const err = await ResponseError.create(response);\n throw err;\n }\n }\n}\nexports.WorkspaceManager = WorkspaceManager;\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Get the url for a workspace.\n */\n function url(base, id) {\n return coreutils_1.URLExt.join(base, SERVICE_WORKSPACES_URL, id);\n }\n Private.url = url;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataConnector = void 0;\n/**\n * An abstract class that adheres to the data connector interface.\n *\n * @typeparam T - The basic entity response type a service's connector.\n *\n * @typeparam U - The basic entity request type, which is conventionally the\n * same as the response type but may be different if a service's implementation\n * requires input data to be different from output responses. Defaults to `T`.\n *\n * @typeparam V - The basic token applied to a request, conventionally a string\n * ID or filter, but may be set to a different type when an implementation\n * requires it. Defaults to `string`.\n *\n * @typeparam W - The type of the optional `query` parameter of the `list`\n * method. Defaults to `string`.\n *\n * #### Notes\n * The only abstract method in this class is the `fetch` method, which must be\n * reimplemented by all subclasses. The `remove` and `save` methods have a\n * default implementation that returns a promise that will always reject. This\n * class is a convenience superclass for connectors that only need to `fetch`.\n */\nclass DataConnector {\n /**\n * Retrieve the list of items available from the data connector.\n *\n * @param query - The optional query filter to apply to the connector request.\n *\n * @returns A promise that always rejects with an error.\n *\n * #### Notes\n * Subclasses should reimplement if they support a back-end that can list.\n */\n async list(query) {\n throw new Error('DataConnector#list method has not been implemented.');\n }\n /**\n * Remove a value using the data connector.\n *\n * @param id - The identifier for the data being removed.\n *\n * @returns A promise that always rejects with an error.\n *\n * #### Notes\n * Subclasses should reimplement if they support a back-end that can remove.\n */\n async remove(id) {\n throw new Error('DataConnector#remove method has not been implemented.');\n }\n /**\n * Save a value using the data connector.\n *\n * @param id - The identifier for the data being saved.\n *\n * @param value - The data being saved.\n *\n * @returns A promise that always rejects with an error.\n *\n * #### Notes\n * Subclasses should reimplement if they support a back-end that can save.\n */\n async save(id, value) {\n throw new Error('DataConnector#save method has not been implemented.');\n }\n}\nexports.DataConnector = DataConnector;\n//# sourceMappingURL=dataconnector.js.map","\"use strict\";\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module statedb\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./dataconnector\"), exports);\n__exportStar(require(\"./interfaces\"), exports);\n__exportStar(require(\"./restorablepool\"), exports);\n__exportStar(require(\"./statedb\"), exports);\n__exportStar(require(\"./tokens\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=interfaces.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestorablePool = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\nconst properties_1 = require(\"@lumino/properties\");\nconst signaling_1 = require(\"@lumino/signaling\");\n/**\n * An object pool that supports restoration.\n *\n * @typeparam T - The type of object being tracked.\n */\nclass RestorablePool {\n /**\n * Create a new restorable pool.\n *\n * @param options - The instantiation options for a restorable pool.\n */\n constructor(options) {\n this._added = new signaling_1.Signal(this);\n this._current = null;\n this._currentChanged = new signaling_1.Signal(this);\n this._hasRestored = false;\n this._isDisposed = false;\n this._objects = new Set();\n this._restore = null;\n this._restored = new coreutils_1.PromiseDelegate();\n this._updated = new signaling_1.Signal(this);\n this.namespace = options.namespace;\n }\n /**\n * A signal emitted when an object object is added.\n *\n * #### Notes\n * This signal will only fire when an object is added to the pool.\n * It will not fire if an object injected into the pool.\n */\n get added() {\n return this._added;\n }\n /**\n * The current object.\n *\n * #### Notes\n * The restorable pool does not set `current`. It is intended for client use.\n *\n * If `current` is set to an object that does not exist in the pool, it is a\n * no-op.\n */\n get current() {\n return this._current;\n }\n set current(obj) {\n if (this._current === obj) {\n return;\n }\n if (obj !== null && this._objects.has(obj)) {\n this._current = obj;\n this._currentChanged.emit(this._current);\n }\n }\n /**\n * A signal emitted when the current widget changes.\n */\n get currentChanged() {\n return this._currentChanged;\n }\n /**\n * Test whether the pool is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * A promise resolved when the restorable pool has been restored.\n */\n get restored() {\n return this._restored.promise;\n }\n /**\n * The number of objects held by the pool.\n */\n get size() {\n return this._objects.size;\n }\n /**\n * A signal emitted when an object is updated.\n */\n get updated() {\n return this._updated;\n }\n /**\n * Add a new object to the pool.\n *\n * @param obj - The object object being added.\n *\n * #### Notes\n * The object passed into the pool is added synchronously; its existence in\n * the pool can be checked with the `has()` method. The promise this method\n * returns resolves after the object has been added and saved to an underlying\n * restoration connector, if one is available.\n */\n async add(obj) {\n var _a, _b;\n if (obj.isDisposed) {\n const warning = 'A disposed object cannot be added.';\n console.warn(warning, obj);\n throw new Error(warning);\n }\n if (this._objects.has(obj)) {\n const warning = 'This object already exists in the pool.';\n console.warn(warning, obj);\n throw new Error(warning);\n }\n this._objects.add(obj);\n obj.disposed.connect(this._onInstanceDisposed, this);\n if (Private.injectedProperty.get(obj)) {\n return;\n }\n if (this._restore) {\n const { connector } = this._restore;\n const objName = this._restore.name(obj);\n if (objName) {\n const name = `${this.namespace}:${objName}`;\n const data = (_b = (_a = this._restore).args) === null || _b === void 0 ? void 0 : _b.call(_a, obj);\n Private.nameProperty.set(obj, name);\n await connector.save(name, { data });\n }\n }\n // Emit the added signal.\n this._added.emit(obj);\n }\n /**\n * Dispose of the resources held by the pool.\n *\n * #### Notes\n * Disposing a pool does not affect the underlying data in the data connector,\n * it simply disposes the client-side pool without making any connector calls.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._current = null;\n this._isDisposed = true;\n this._objects.clear();\n signaling_1.Signal.clearData(this);\n }\n /**\n * Find the first object in the pool that satisfies a filter function.\n *\n * @param - fn The filter function to call on each object.\n */\n find(fn) {\n const values = this._objects.values();\n for (const value of values) {\n if (fn(value)) {\n return value;\n }\n }\n return undefined;\n }\n /**\n * Iterate through each object in the pool.\n *\n * @param fn - The function to call on each object.\n */\n forEach(fn) {\n this._objects.forEach(fn);\n }\n /**\n * Filter the objects in the pool based on a predicate.\n *\n * @param fn - The function by which to filter.\n */\n filter(fn) {\n const filtered = [];\n this.forEach(obj => {\n if (fn(obj)) {\n filtered.push(obj);\n }\n });\n return filtered;\n }\n /**\n * Inject an object into the restorable pool without the pool handling its\n * restoration lifecycle.\n *\n * @param obj - The object to inject into the pool.\n */\n inject(obj) {\n Private.injectedProperty.set(obj, true);\n return this.add(obj);\n }\n /**\n * Check if this pool has the specified object.\n *\n * @param obj - The object whose existence is being checked.\n */\n has(obj) {\n return this._objects.has(obj);\n }\n /**\n * Restore the objects in this pool's namespace.\n *\n * @param options - The configuration options that describe restoration.\n *\n * @returns A promise that resolves when restoration has completed.\n *\n * #### Notes\n * This function should almost never be invoked by client code. Its primary\n * use case is to be invoked by a layout restorer plugin that handles\n * multiple restorable pools and, when ready, asks them each to restore their\n * respective objects.\n */\n async restore(options) {\n if (this._hasRestored) {\n throw new Error('This pool has already been restored.');\n }\n this._hasRestored = true;\n const { command, connector, registry, when } = options;\n const namespace = this.namespace;\n const promises = when\n ? [connector.list(namespace)].concat(when)\n : [connector.list(namespace)];\n this._restore = options;\n const [saved] = await Promise.all(promises);\n const values = await Promise.all(saved.ids.map(async (id, index) => {\n const value = saved.values[index];\n const args = value && value.data;\n if (args === undefined) {\n return connector.remove(id);\n }\n // Execute the command and if it fails, delete the state restore data.\n return registry\n .execute(command, args)\n .catch(() => connector.remove(id));\n }));\n this._restored.resolve();\n return values;\n }\n /**\n * Save the restore data for a given object.\n *\n * @param obj - The object being saved.\n */\n async save(obj) {\n var _a, _b;\n const injected = Private.injectedProperty.get(obj);\n if (!this._restore || !this.has(obj) || injected) {\n return;\n }\n const { connector } = this._restore;\n const objName = this._restore.name(obj);\n const oldName = Private.nameProperty.get(obj);\n const newName = objName ? `${this.namespace}:${objName}` : '';\n if (oldName && oldName !== newName) {\n await connector.remove(oldName);\n }\n // Set the name property irrespective of whether the new name is null.\n Private.nameProperty.set(obj, newName);\n if (newName) {\n const data = (_b = (_a = this._restore).args) === null || _b === void 0 ? void 0 : _b.call(_a, obj);\n await connector.save(newName, { data });\n }\n if (oldName !== newName) {\n this._updated.emit(obj);\n }\n }\n /**\n * Clean up after disposed objects.\n */\n _onInstanceDisposed(obj) {\n this._objects.delete(obj);\n if (obj === this._current) {\n this._current = null;\n this._currentChanged.emit(this._current);\n }\n if (Private.injectedProperty.get(obj)) {\n return;\n }\n if (!this._restore) {\n return;\n }\n const { connector } = this._restore;\n const name = Private.nameProperty.get(obj);\n if (name) {\n void connector.remove(name);\n }\n }\n}\nexports.RestorablePool = RestorablePool;\n/*\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * An attached property to indicate whether an object has been injected.\n */\n Private.injectedProperty = new properties_1.AttachedProperty({\n name: 'injected',\n create: () => false\n });\n /**\n * An attached property for an object's ID.\n */\n Private.nameProperty = new properties_1.AttachedProperty({\n name: 'name',\n create: () => ''\n });\n})(Private || (Private = {}));\n//# sourceMappingURL=restorablepool.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StateDB = void 0;\nconst signaling_1 = require(\"@lumino/signaling\");\n/**\n * The default concrete implementation of a state database.\n */\nclass StateDB {\n /**\n * Create a new state database.\n *\n * @param options - The instantiation options for a state database.\n */\n constructor(options = {}) {\n this._changed = new signaling_1.Signal(this);\n const { connector, transform } = options;\n this._connector = connector || new StateDB.Connector();\n if (!transform) {\n this._ready = Promise.resolve(undefined);\n }\n else {\n this._ready = transform.then(transformation => {\n const { contents, type } = transformation;\n switch (type) {\n case 'cancel':\n return;\n case 'clear':\n return this._clear();\n case 'merge':\n return this._merge(contents || {});\n case 'overwrite':\n return this._overwrite(contents || {});\n default:\n return;\n }\n });\n }\n }\n /**\n * A signal that emits the change type any time a value changes.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Clear the entire database.\n */\n async clear() {\n await this._ready;\n await this._clear();\n }\n /**\n * Retrieve a saved bundle from the database.\n *\n * @param id - The identifier used to retrieve a data bundle.\n *\n * @returns A promise that bears a data payload if available.\n *\n * #### Notes\n * The `id` values of stored items in the state database are formatted:\n * `'namespace:identifier'`, which is the same convention that command\n * identifiers in JupyterLab use as well. While this is not a technical\n * requirement for `fetch()`, `remove()`, and `save()`, it *is* necessary for\n * using the `list(namespace: string)` method.\n *\n * The promise returned by this method may be rejected if an error occurs in\n * retrieving the data. Non-existence of an `id` will succeed with the `value`\n * `undefined`.\n */\n async fetch(id) {\n await this._ready;\n return this._fetch(id);\n }\n /**\n * Retrieve all the saved bundles for a namespace.\n *\n * @param filter - The namespace prefix to retrieve.\n *\n * @returns A promise that bears a collection of payloads for a namespace.\n *\n * #### Notes\n * Namespaces are entirely conventional entities. The `id` values of stored\n * items in the state database are formatted: `'namespace:identifier'`, which\n * is the same convention that command identifiers in JupyterLab use as well.\n *\n * If there are any errors in retrieving the data, they will be logged to the\n * console in order to optimistically return any extant data without failing.\n * This promise will always succeed.\n */\n async list(namespace) {\n await this._ready;\n return this._list(namespace);\n }\n /**\n * Remove a value from the database.\n *\n * @param id - The identifier for the data being removed.\n *\n * @returns A promise that is rejected if remove fails and succeeds otherwise.\n */\n async remove(id) {\n await this._ready;\n await this._remove(id);\n this._changed.emit({ id, type: 'remove' });\n }\n /**\n * Save a value in the database.\n *\n * @param id - The identifier for the data being saved.\n *\n * @param value - The data being saved.\n *\n * @returns A promise that is rejected if saving fails and succeeds otherwise.\n *\n * #### Notes\n * The `id` values of stored items in the state database are formatted:\n * `'namespace:identifier'`, which is the same convention that command\n * identifiers in JupyterLab use as well. While this is not a technical\n * requirement for `fetch()`, `remove()`, and `save()`, it *is* necessary for\n * using the `list(namespace: string)` method.\n */\n async save(id, value) {\n await this._ready;\n await this._save(id, value);\n this._changed.emit({ id, type: 'save' });\n }\n /**\n * Return a serialized copy of the state database's entire contents.\n *\n * @returns A promise that resolves with the database contents as JSON.\n */\n async toJSON() {\n await this._ready;\n const { ids, values } = await this._list();\n return values.reduce((acc, val, idx) => {\n acc[ids[idx]] = val;\n return acc;\n }, {});\n }\n /**\n * Clear the entire database.\n */\n async _clear() {\n await Promise.all((await this._list()).ids.map(id => this._remove(id)));\n }\n /**\n * Fetch a value from the database.\n */\n async _fetch(id) {\n const value = await this._connector.fetch(id);\n if (value) {\n return JSON.parse(value).v;\n }\n }\n /**\n * Fetch a list from the database.\n */\n async _list(namespace = '') {\n const { ids, values } = await this._connector.list(namespace);\n return {\n ids,\n values: values.map(val => JSON.parse(val).v)\n };\n }\n /**\n * Merge data into the state database.\n */\n async _merge(contents) {\n await Promise.all(Object.keys(contents).map(key => contents[key] && this._save(key, contents[key])));\n }\n /**\n * Overwrite the entire database with new contents.\n */\n async _overwrite(contents) {\n await this._clear();\n await this._merge(contents);\n }\n /**\n * Remove a key in the database.\n */\n async _remove(id) {\n return this._connector.remove(id);\n }\n /**\n * Save a key and its value in the database.\n */\n async _save(id, value) {\n return this._connector.save(id, JSON.stringify({ v: value }));\n }\n}\nexports.StateDB = StateDB;\n/**\n * A namespace for StateDB statics.\n */\n(function (StateDB) {\n /**\n * An in-memory string key/value data connector.\n */\n class Connector {\n constructor() {\n this._storage = {};\n }\n /**\n * Retrieve an item from the data connector.\n */\n async fetch(id) {\n return this._storage[id];\n }\n /**\n * Retrieve the list of items available from the data connector.\n *\n * @param namespace - If not empty, only keys whose first token before `:`\n * exactly match `namespace` will be returned, e.g. `foo` in `foo:bar`.\n */\n async list(namespace = '') {\n return Object.keys(this._storage).reduce((acc, val) => {\n if (namespace === '' ? true : namespace === val.split(':')[0]) {\n acc.ids.push(val);\n acc.values.push(this._storage[val]);\n }\n return acc;\n }, { ids: [], values: [] });\n }\n /**\n * Remove a value using the data connector.\n */\n async remove(id) {\n delete this._storage[id];\n }\n /**\n * Save a value using the data connector.\n */\n async save(id, value) {\n this._storage[id] = value;\n }\n }\n StateDB.Connector = Connector;\n})(StateDB = exports.StateDB || (exports.StateDB = {}));\n//# sourceMappingURL=statedb.js.map","\"use strict\";\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IStateDB = void 0;\nconst coreutils_1 = require(\"@lumino/coreutils\");\n/**\n * The default state database token.\n */\nexports.IStateDB = new coreutils_1.Token('@jupyterlab/coreutils:IStateDB', `A service for the JupyterLab state database.\n Use this if you want to store data that will persist across page loads.\n See \"state database\" for more information.`);\n//# sourceMappingURL=tokens.js.map","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * The namespace for array-specific algorithms.\n */\nvar ArrayExt;\n(function (ArrayExt) {\n /**\n * Find the index of the first occurrence of a value in an array.\n *\n * @param array - The array-like object to search.\n *\n * @param value - The value to locate in the array. Values are\n * compared using strict `===` equality.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the first occurrence of the value, or `-1`\n * if the value is not found.\n *\n * #### Notes\n * If `stop < start` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = ['one', 'two', 'three', 'four', 'one'];\n * ArrayExt.firstIndexOf(data, 'red'); // -1\n * ArrayExt.firstIndexOf(data, 'one'); // 0\n * ArrayExt.firstIndexOf(data, 'one', 1); // 4\n * ArrayExt.firstIndexOf(data, 'two', 2); // -1\n * ArrayExt.firstIndexOf(data, 'two', 2, 1); // 1\n * ```\n */\n function firstIndexOf(array, value, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return -1;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let span;\n if (stop < start) {\n span = stop + 1 + (n - start);\n }\n else {\n span = stop - start + 1;\n }\n for (let i = 0; i < span; ++i) {\n let j = (start + i) % n;\n if (array[j] === value) {\n return j;\n }\n }\n return -1;\n }\n ArrayExt.firstIndexOf = firstIndexOf;\n /**\n * Find the index of the last occurrence of a value in an array.\n *\n * @param array - The array-like object to search.\n *\n * @param value - The value to locate in the array. Values are\n * compared using strict `===` equality.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the last occurrence of the value, or `-1`\n * if the value is not found.\n *\n * #### Notes\n * If `start < stop` the search will wrap at the front of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = ['one', 'two', 'three', 'four', 'one'];\n * ArrayExt.lastIndexOf(data, 'red'); // -1\n * ArrayExt.lastIndexOf(data, 'one'); // 4\n * ArrayExt.lastIndexOf(data, 'one', 1); // 0\n * ArrayExt.lastIndexOf(data, 'two', 0); // -1\n * ArrayExt.lastIndexOf(data, 'two', 0, 1); // 1\n * ```\n */\n function lastIndexOf(array, value, start = -1, stop = 0) {\n let n = array.length;\n if (n === 0) {\n return -1;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let span;\n if (start < stop) {\n span = start + 1 + (n - stop);\n }\n else {\n span = start - stop + 1;\n }\n for (let i = 0; i < span; ++i) {\n let j = (start - i + n) % n;\n if (array[j] === value) {\n return j;\n }\n }\n return -1;\n }\n ArrayExt.lastIndexOf = lastIndexOf;\n /**\n * Find the index of the first value which matches a predicate.\n *\n * @param array - The array-like object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the first matching value, or `-1` if no\n * matching value is found.\n *\n * #### Notes\n * If `stop < start` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [1, 2, 3, 4, 3, 2, 1];\n * ArrayExt.findFirstIndex(data, isEven); // 1\n * ArrayExt.findFirstIndex(data, isEven, 4); // 5\n * ArrayExt.findFirstIndex(data, isEven, 6); // -1\n * ArrayExt.findFirstIndex(data, isEven, 6, 5); // 1\n * ```\n */\n function findFirstIndex(array, fn, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return -1;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let span;\n if (stop < start) {\n span = stop + 1 + (n - start);\n }\n else {\n span = stop - start + 1;\n }\n for (let i = 0; i < span; ++i) {\n let j = (start + i) % n;\n if (fn(array[j], j)) {\n return j;\n }\n }\n return -1;\n }\n ArrayExt.findFirstIndex = findFirstIndex;\n /**\n * Find the index of the last value which matches a predicate.\n *\n * @param object - The array-like object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the last matching value, or `-1` if no\n * matching value is found.\n *\n * #### Notes\n * If `start < stop` the search will wrap at the front of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [1, 2, 3, 4, 3, 2, 1];\n * ArrayExt.findLastIndex(data, isEven); // 5\n * ArrayExt.findLastIndex(data, isEven, 4); // 3\n * ArrayExt.findLastIndex(data, isEven, 0); // -1\n * ArrayExt.findLastIndex(data, isEven, 0, 1); // 5\n * ```\n */\n function findLastIndex(array, fn, start = -1, stop = 0) {\n let n = array.length;\n if (n === 0) {\n return -1;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let d;\n if (start < stop) {\n d = start + 1 + (n - stop);\n }\n else {\n d = start - stop + 1;\n }\n for (let i = 0; i < d; ++i) {\n let j = (start - i + n) % n;\n if (fn(array[j], j)) {\n return j;\n }\n }\n return -1;\n }\n ArrayExt.findLastIndex = findLastIndex;\n /**\n * Find the first value which matches a predicate.\n *\n * @param array - The array-like object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The first matching value, or `undefined` if no matching\n * value is found.\n *\n * #### Notes\n * If `stop < start` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [1, 2, 3, 4, 3, 2, 1];\n * ArrayExt.findFirstValue(data, isEven); // 2\n * ArrayExt.findFirstValue(data, isEven, 2); // 4\n * ArrayExt.findFirstValue(data, isEven, 6); // undefined\n * ArrayExt.findFirstValue(data, isEven, 6, 5); // 2\n * ```\n */\n function findFirstValue(array, fn, start = 0, stop = -1) {\n let index = findFirstIndex(array, fn, start, stop);\n return index !== -1 ? array[index] : undefined;\n }\n ArrayExt.findFirstValue = findFirstValue;\n /**\n * Find the last value which matches a predicate.\n *\n * @param object - The array-like object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The last matching value, or `undefined` if no matching\n * value is found.\n *\n * #### Notes\n * If `start < stop` the search will wrap at the front of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [1, 2, 3, 4, 3, 2, 1];\n * ArrayExt.findLastValue(data, isEven); // 2\n * ArrayExt.findLastValue(data, isEven, 4); // 4\n * ArrayExt.findLastValue(data, isEven, 0); // undefined\n * ArrayExt.findLastValue(data, isEven, 0, 1); // 2\n * ```\n */\n function findLastValue(array, fn, start = -1, stop = 0) {\n let index = findLastIndex(array, fn, start, stop);\n return index !== -1 ? array[index] : undefined;\n }\n ArrayExt.findLastValue = findLastValue;\n /**\n * Find the index of the first element which compares `>=` to a value.\n *\n * @param array - The sorted array-like object to search.\n *\n * @param value - The value to locate in the array.\n *\n * @param fn - The 3-way comparison function to apply to the values.\n * It should return `< 0` if an element is less than a value, `0` if\n * an element is equal to a value, or `> 0` if an element is greater\n * than a value.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the first element which compares `>=` to the\n * value, or `length` if there is no such element. If the computed\n * index for `stop` is less than `start`, then the computed index\n * for `start` is returned.\n *\n * #### Notes\n * The array must already be sorted in ascending order according to\n * the comparison function.\n *\n * #### Complexity\n * Logarithmic.\n *\n * #### Undefined Behavior\n * Searching a range which is not sorted in ascending order.\n *\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function numberCmp(a: number, b: number): number {\n * return a - b;\n * }\n *\n * let data = [0, 3, 4, 7, 7, 9];\n * ArrayExt.lowerBound(data, 0, numberCmp); // 0\n * ArrayExt.lowerBound(data, 6, numberCmp); // 3\n * ArrayExt.lowerBound(data, 7, numberCmp); // 3\n * ArrayExt.lowerBound(data, -1, numberCmp); // 0\n * ArrayExt.lowerBound(data, 10, numberCmp); // 6\n * ```\n */\n function lowerBound(array, value, fn, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return 0;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let begin = start;\n let span = stop - start + 1;\n while (span > 0) {\n let half = span >> 1;\n let middle = begin + half;\n if (fn(array[middle], value) < 0) {\n begin = middle + 1;\n span -= half + 1;\n }\n else {\n span = half;\n }\n }\n return begin;\n }\n ArrayExt.lowerBound = lowerBound;\n /**\n * Find the index of the first element which compares `>` than a value.\n *\n * @param array - The sorted array-like object to search.\n *\n * @param value - The value to locate in the array.\n *\n * @param fn - The 3-way comparison function to apply to the values.\n * It should return `< 0` if an element is less than a value, `0` if\n * an element is equal to a value, or `> 0` if an element is greater\n * than a value.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the first element which compares `>` than the\n * value, or `length` if there is no such element. If the computed\n * index for `stop` is less than `start`, then the computed index\n * for `start` is returned.\n *\n * #### Notes\n * The array must already be sorted in ascending order according to\n * the comparison function.\n *\n * #### Complexity\n * Logarithmic.\n *\n * #### Undefined Behavior\n * Searching a range which is not sorted in ascending order.\n *\n * A `start` or `stop` which is non-integral.\n *\n * Modifying the length of the array while searching.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function numberCmp(a: number, b: number): number {\n * return a - b;\n * }\n *\n * let data = [0, 3, 4, 7, 7, 9];\n * ArrayExt.upperBound(data, 0, numberCmp); // 1\n * ArrayExt.upperBound(data, 6, numberCmp); // 3\n * ArrayExt.upperBound(data, 7, numberCmp); // 5\n * ArrayExt.upperBound(data, -1, numberCmp); // 0\n * ArrayExt.upperBound(data, 10, numberCmp); // 6\n * ```\n */\n function upperBound(array, value, fn, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return 0;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let begin = start;\n let span = stop - start + 1;\n while (span > 0) {\n let half = span >> 1;\n let middle = begin + half;\n if (fn(array[middle], value) > 0) {\n span = half;\n }\n else {\n begin = middle + 1;\n span -= half + 1;\n }\n }\n return begin;\n }\n ArrayExt.upperBound = upperBound;\n /**\n * Test whether two arrays are shallowly equal.\n *\n * @param a - The first array-like object to compare.\n *\n * @param b - The second array-like object to compare.\n *\n * @param fn - The comparison function to apply to the elements. It\n * should return `true` if the elements are \"equal\". The default\n * compares elements using strict `===` equality.\n *\n * @returns Whether the two arrays are shallowly equal.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * Modifying the length of the arrays while comparing.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let d1 = [0, 3, 4, 7, 7, 9];\n * let d2 = [0, 3, 4, 7, 7, 9];\n * let d3 = [42];\n * ArrayExt.shallowEqual(d1, d2); // true\n * ArrayExt.shallowEqual(d2, d3); // false\n * ```\n */\n function shallowEqual(a, b, fn) {\n // Check for object identity first.\n if (a === b) {\n return true;\n }\n // Bail early if the lengths are different.\n if (a.length !== b.length) {\n return false;\n }\n // Compare each element for equality.\n for (let i = 0, n = a.length; i < n; ++i) {\n if (fn ? !fn(a[i], b[i]) : a[i] !== b[i]) {\n return false;\n }\n }\n // The array are shallowly equal.\n return true;\n }\n ArrayExt.shallowEqual = shallowEqual;\n /**\n * Create a slice of an array subject to an optional step.\n *\n * @param array - The array-like object of interest.\n *\n * @param options - The options for configuring the slice.\n *\n * @returns A new array with the specified values.\n *\n * @throws An exception if the slice `step` is `0`.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start`, `stop`, or `step` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 3, 4, 7, 7, 9];\n * ArrayExt.slice(data); // [0, 3, 4, 7, 7, 9]\n * ArrayExt.slice(data, { start: 2 }); // [4, 7, 7, 9]\n * ArrayExt.slice(data, { start: 0, stop: 4 }); // [0, 3, 4, 7]\n * ArrayExt.slice(data, { step: 2 }); // [0, 4, 7]\n * ArrayExt.slice(data, { step: -1 }); // [9, 7, 7, 4, 3, 0]\n * ```\n */\n function slice(array, options = {}) {\n // Extract the options.\n let { start, stop, step } = options;\n // Set up the `step` value.\n if (step === undefined) {\n step = 1;\n }\n // Validate the step size.\n if (step === 0) {\n throw new Error('Slice `step` cannot be zero.');\n }\n // Look up the length of the array.\n let n = array.length;\n // Set up the `start` value.\n if (start === undefined) {\n start = step < 0 ? n - 1 : 0;\n }\n else if (start < 0) {\n start = Math.max(start + n, step < 0 ? -1 : 0);\n }\n else if (start >= n) {\n start = step < 0 ? n - 1 : n;\n }\n // Set up the `stop` value.\n if (stop === undefined) {\n stop = step < 0 ? -1 : n;\n }\n else if (stop < 0) {\n stop = Math.max(stop + n, step < 0 ? -1 : 0);\n }\n else if (stop >= n) {\n stop = step < 0 ? n - 1 : n;\n }\n // Compute the slice length.\n let length;\n if ((step < 0 && stop >= start) || (step > 0 && start >= stop)) {\n length = 0;\n }\n else if (step < 0) {\n length = Math.floor((stop - start + 1) / step + 1);\n }\n else {\n length = Math.floor((stop - start - 1) / step + 1);\n }\n // Compute the sliced result.\n let result = [];\n for (let i = 0; i < length; ++i) {\n result[i] = array[start + i * step];\n }\n // Return the result.\n return result;\n }\n ArrayExt.slice = slice;\n /**\n * Move an element in an array from one index to another.\n *\n * @param array - The mutable array-like object of interest.\n *\n * @param fromIndex - The index of the element to move. Negative\n * values are taken as an offset from the end of the array.\n *\n * @param toIndex - The target index of the element. Negative\n * values are taken as an offset from the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `fromIndex` or `toIndex` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from from '@lumino/algorithm';\n *\n * let data = [0, 1, 2, 3, 4];\n * ArrayExt.move(data, 1, 2); // [0, 2, 1, 3, 4]\n * ArrayExt.move(data, 4, 2); // [0, 2, 4, 1, 3]\n * ```\n */\n function move(array, fromIndex, toIndex) {\n let n = array.length;\n if (n <= 1) {\n return;\n }\n if (fromIndex < 0) {\n fromIndex = Math.max(0, fromIndex + n);\n }\n else {\n fromIndex = Math.min(fromIndex, n - 1);\n }\n if (toIndex < 0) {\n toIndex = Math.max(0, toIndex + n);\n }\n else {\n toIndex = Math.min(toIndex, n - 1);\n }\n if (fromIndex === toIndex) {\n return;\n }\n let value = array[fromIndex];\n let d = fromIndex < toIndex ? 1 : -1;\n for (let i = fromIndex; i !== toIndex; i += d) {\n array[i] = array[i + d];\n }\n array[toIndex] = value;\n }\n ArrayExt.move = move;\n /**\n * Reverse an array in-place.\n *\n * @param array - The mutable array-like object of interest.\n *\n * @param start - The index of the first element in the range to be\n * reversed, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * reversed, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` index which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 1, 2, 3, 4];\n * ArrayExt.reverse(data, 1, 3); // [0, 3, 2, 1, 4]\n * ArrayExt.reverse(data, 3); // [0, 3, 2, 4, 1]\n * ArrayExt.reverse(data); // [1, 4, 2, 3, 0]\n * ```\n */\n function reverse(array, start = 0, stop = -1) {\n let n = array.length;\n if (n <= 1) {\n return;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n while (start < stop) {\n let a = array[start];\n let b = array[stop];\n array[start++] = b;\n array[stop--] = a;\n }\n }\n ArrayExt.reverse = reverse;\n /**\n * Rotate the elements of an array in-place.\n *\n * @param array - The mutable array-like object of interest.\n *\n * @param delta - The amount of rotation to apply to the elements. A\n * positive value will rotate the elements to the left. A negative\n * value will rotate the elements to the right.\n *\n * @param start - The index of the first element in the range to be\n * rotated, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * rotated, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `delta`, `start`, or `stop` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 1, 2, 3, 4];\n * ArrayExt.rotate(data, 2); // [2, 3, 4, 0, 1]\n * ArrayExt.rotate(data, -2); // [0, 1, 2, 3, 4]\n * ArrayExt.rotate(data, 10); // [0, 1, 2, 3, 4]\n * ArrayExt.rotate(data, 9); // [4, 0, 1, 2, 3]\n * ArrayExt.rotate(data, 2, 1, 3); // [4, 2, 0, 1, 3]\n * ```\n */\n function rotate(array, delta, start = 0, stop = -1) {\n let n = array.length;\n if (n <= 1) {\n return;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n if (start >= stop) {\n return;\n }\n let length = stop - start + 1;\n if (delta > 0) {\n delta = delta % length;\n }\n else if (delta < 0) {\n delta = ((delta % length) + length) % length;\n }\n if (delta === 0) {\n return;\n }\n let pivot = start + delta;\n reverse(array, start, pivot - 1);\n reverse(array, pivot, stop);\n reverse(array, start, stop);\n }\n ArrayExt.rotate = rotate;\n /**\n * Fill an array with a static value.\n *\n * @param array - The mutable array-like object to fill.\n *\n * @param value - The static value to use to fill the array.\n *\n * @param start - The index of the first element in the range to be\n * filled, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * filled, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * #### Notes\n * If `stop < start` the fill will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * A `start` or `stop` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = ['one', 'two', 'three', 'four'];\n * ArrayExt.fill(data, 'r'); // ['r', 'r', 'r', 'r']\n * ArrayExt.fill(data, 'g', 1); // ['r', 'g', 'g', 'g']\n * ArrayExt.fill(data, 'b', 2, 3); // ['r', 'g', 'b', 'b']\n * ArrayExt.fill(data, 'z', 3, 1); // ['z', 'z', 'b', 'z']\n * ```\n */\n function fill(array, value, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let span;\n if (stop < start) {\n span = stop + 1 + (n - start);\n }\n else {\n span = stop - start + 1;\n }\n for (let i = 0; i < span; ++i) {\n array[(start + i) % n] = value;\n }\n }\n ArrayExt.fill = fill;\n /**\n * Insert a value into an array at a specific index.\n *\n * @param array - The array of interest.\n *\n * @param index - The index at which to insert the value. Negative\n * values are taken as an offset from the end of the array.\n *\n * @param value - The value to set at the specified index.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * An `index` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 1, 2];\n * ArrayExt.insert(data, 0, -1); // [-1, 0, 1, 2]\n * ArrayExt.insert(data, 2, 12); // [-1, 0, 12, 1, 2]\n * ArrayExt.insert(data, -1, 7); // [-1, 0, 12, 1, 7, 2]\n * ArrayExt.insert(data, 6, 19); // [-1, 0, 12, 1, 7, 2, 19]\n * ```\n */\n function insert(array, index, value) {\n let n = array.length;\n if (index < 0) {\n index = Math.max(0, index + n);\n }\n else {\n index = Math.min(index, n);\n }\n for (let i = n; i > index; --i) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n }\n ArrayExt.insert = insert;\n /**\n * Remove and return a value at a specific index in an array.\n *\n * @param array - The array of interest.\n *\n * @param index - The index of the value to remove. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The value at the specified index, or `undefined` if the\n * index is out of range.\n *\n * #### Complexity\n * Linear.\n *\n * #### Undefined Behavior\n * An `index` which is non-integral.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 12, 23, 39, 14, 12, 75];\n * ArrayExt.removeAt(data, 2); // 23\n * ArrayExt.removeAt(data, -2); // 12\n * ArrayExt.removeAt(data, 10); // undefined;\n * ```\n */\n function removeAt(array, index) {\n let n = array.length;\n if (index < 0) {\n index += n;\n }\n if (index < 0 || index >= n) {\n return undefined;\n }\n let value = array[index];\n for (let i = index + 1; i < n; ++i) {\n array[i - 1] = array[i];\n }\n array.length = n - 1;\n return value;\n }\n ArrayExt.removeAt = removeAt;\n /**\n * Remove the first occurrence of a value from an array.\n *\n * @param array - The array of interest.\n *\n * @param value - The value to remove from the array. Values are\n * compared using strict `===` equality.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the removed value, or `-1` if the value\n * is not contained in the array.\n *\n * #### Notes\n * If `stop < start` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 12, 23, 39, 14, 12, 75];\n * ArrayExt.removeFirstOf(data, 12); // 1\n * ArrayExt.removeFirstOf(data, 17); // -1\n * ArrayExt.removeFirstOf(data, 39, 3); // -1\n * ArrayExt.removeFirstOf(data, 39, 3, 2); // 2\n * ```\n */\n function removeFirstOf(array, value, start = 0, stop = -1) {\n let index = firstIndexOf(array, value, start, stop);\n if (index !== -1) {\n removeAt(array, index);\n }\n return index;\n }\n ArrayExt.removeFirstOf = removeFirstOf;\n /**\n * Remove the last occurrence of a value from an array.\n *\n * @param array - The array of interest.\n *\n * @param value - The value to remove from the array. Values are\n * compared using strict `===` equality.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The index of the removed value, or `-1` if the value\n * is not contained in the array.\n *\n * #### Notes\n * If `start < stop` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [0, 12, 23, 39, 14, 12, 75];\n * ArrayExt.removeLastOf(data, 12); // 5\n * ArrayExt.removeLastOf(data, 17); // -1\n * ArrayExt.removeLastOf(data, 39, 2); // -1\n * ArrayExt.removeLastOf(data, 39, 2, 3); // 3\n * ```\n */\n function removeLastOf(array, value, start = -1, stop = 0) {\n let index = lastIndexOf(array, value, start, stop);\n if (index !== -1) {\n removeAt(array, index);\n }\n return index;\n }\n ArrayExt.removeLastOf = removeLastOf;\n /**\n * Remove all occurrences of a value from an array.\n *\n * @param array - The array of interest.\n *\n * @param value - The value to remove from the array. Values are\n * compared using strict `===` equality.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The number of elements removed from the array.\n *\n * #### Notes\n * If `stop < start` the search will conceptually wrap at the end of\n * the array, however the array will be traversed front-to-back.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * let data = [14, 12, 23, 39, 14, 12, 19, 14];\n * ArrayExt.removeAllOf(data, 12); // 2\n * ArrayExt.removeAllOf(data, 17); // 0\n * ArrayExt.removeAllOf(data, 14, 1, 4); // 1\n * ```\n */\n function removeAllOf(array, value, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return 0;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let count = 0;\n for (let i = 0; i < n; ++i) {\n if (start <= stop && i >= start && i <= stop && array[i] === value) {\n count++;\n }\n else if (stop < start &&\n (i <= stop || i >= start) &&\n array[i] === value) {\n count++;\n }\n else if (count > 0) {\n array[i - count] = array[i];\n }\n }\n if (count > 0) {\n array.length = n - count;\n }\n return count;\n }\n ArrayExt.removeAllOf = removeAllOf;\n /**\n * Remove the first occurrence of a value which matches a predicate.\n *\n * @param array - The array of interest.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The removed `{ index, value }`, which will be `-1` and\n * `undefined` if the value is not contained in the array.\n *\n * #### Notes\n * If `stop < start` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [0, 12, 23, 39, 14, 12, 75];\n * ArrayExt.removeFirstWhere(data, isEven); // { index: 0, value: 0 }\n * ArrayExt.removeFirstWhere(data, isEven, 2); // { index: 3, value: 14 }\n * ArrayExt.removeFirstWhere(data, isEven, 4); // { index: -1, value: undefined }\n * ```\n */\n function removeFirstWhere(array, fn, start = 0, stop = -1) {\n let value;\n let index = findFirstIndex(array, fn, start, stop);\n if (index !== -1) {\n value = removeAt(array, index);\n }\n return { index, value };\n }\n ArrayExt.removeFirstWhere = removeFirstWhere;\n /**\n * Remove the last occurrence of a value which matches a predicate.\n *\n * @param array - The array of interest.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The removed `{ index, value }`, which will be `-1` and\n * `undefined` if the value is not contained in the array.\n *\n * #### Notes\n * If `start < stop` the search will wrap at the end of the array.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * let data = [0, 12, 23, 39, 14, 12, 75];\n * ArrayExt.removeLastWhere(data, isEven); // { index: 5, value: 12 }\n * ArrayExt.removeLastWhere(data, isEven, 2); // { index: 1, value: 12 }\n * ArrayExt.removeLastWhere(data, isEven, 2, 1); // { index: -1, value: undefined }\n * ```\n */\n function removeLastWhere(array, fn, start = -1, stop = 0) {\n let value;\n let index = findLastIndex(array, fn, start, stop);\n if (index !== -1) {\n value = removeAt(array, index);\n }\n return { index, value };\n }\n ArrayExt.removeLastWhere = removeLastWhere;\n /**\n * Remove all occurrences of values which match a predicate.\n *\n * @param array - The array of interest.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @param start - The index of the first element in the range to be\n * searched, inclusive. The default value is `0`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @param stop - The index of the last element in the range to be\n * searched, inclusive. The default value is `-1`. Negative values\n * are taken as an offset from the end of the array.\n *\n * @returns The number of elements removed from the array.\n *\n * #### Notes\n * If `stop < start` the search will conceptually wrap at the end of\n * the array, however the array will be traversed front-to-back.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { ArrayExt } from '@lumino/algorithm';\n *\n * function isEven(value: number): boolean {\n * return value % 2 === 0;\n * }\n *\n * function isNegative(value: number): boolean {\n * return value < 0;\n * }\n *\n * let data = [0, 12, -13, -9, 23, 39, 14, -15, 12, 75];\n * ArrayExt.removeAllWhere(data, isEven); // 4\n * ArrayExt.removeAllWhere(data, isNegative, 0, 3); // 2\n * ```\n */\n function removeAllWhere(array, fn, start = 0, stop = -1) {\n let n = array.length;\n if (n === 0) {\n return 0;\n }\n if (start < 0) {\n start = Math.max(0, start + n);\n }\n else {\n start = Math.min(start, n - 1);\n }\n if (stop < 0) {\n stop = Math.max(0, stop + n);\n }\n else {\n stop = Math.min(stop, n - 1);\n }\n let count = 0;\n for (let i = 0; i < n; ++i) {\n if (start <= stop && i >= start && i <= stop && fn(array[i], i)) {\n count++;\n }\n else if (stop < start && (i <= stop || i >= start) && fn(array[i], i)) {\n count++;\n }\n else if (count > 0) {\n array[i - count] = array[i];\n }\n }\n if (count > 0) {\n array.length = n - count;\n }\n return count;\n }\n ArrayExt.removeAllWhere = removeAllWhere;\n})(ArrayExt || (ArrayExt = {}));\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Chain together several iterables.\n *\n * @deprecated\n *\n * @param objects - The iterable objects of interest.\n *\n * @returns An iterator which yields the values of the iterables\n * in the order in which they are supplied.\n *\n * #### Example\n * ```typescript\n * import { chain } from '@lumino/algorithm';\n *\n * let data1 = [1, 2, 3];\n * let data2 = [4, 5, 6];\n *\n * let stream = chain(data1, data2);\n *\n * Array.from(stream); // [1, 2, 3, 4, 5, 6]\n * ```\n */\nfunction* chain(...objects) {\n for (const object of objects) {\n yield* object;\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Create an empty iterator.\n *\n * @returns A new iterator which yields nothing.\n *\n * #### Example\n * ```typescript\n * import { empty } from '@lumino/algorithm';\n *\n * let stream = empty();\n *\n * Array.from(stream); // []\n * ```\n */\n// eslint-disable-next-line require-yield\nfunction* empty() {\n return;\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Enumerate an iterable object.\n *\n * @param object - The iterable object of interest.\n *\n * @param start - The starting enum value. The default is `0`.\n *\n * @returns An iterator which yields the enumerated values.\n *\n * #### Example\n * ```typescript\n * import { enumerate } from '@lumino/algorithm';\n *\n * let data = ['foo', 'bar', 'baz'];\n *\n * let stream = enumerate(data, 1);\n *\n * Array.from(stream); // [[1, 'foo'], [2, 'bar'], [3, 'baz']]\n * ```\n */\nfunction* enumerate(object, start = 0) {\n for (const value of object) {\n yield [start++, value];\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Filter an iterable for values which pass a test.\n *\n * @param object - The iterable object of interest.\n *\n * @param fn - The predicate function to invoke for each value.\n *\n * @returns An iterator which yields the values which pass the test.\n *\n * #### Example\n * ```typescript\n * import { filter } from '@lumino/algorithm';\n *\n * let data = [1, 2, 3, 4, 5, 6];\n *\n * let stream = filter(data, value => value % 2 === 0);\n *\n * Array.from(stream); // [2, 4, 6]\n * ```\n */\nfunction* filter(object, fn) {\n let index = 0;\n for (const value of object) {\n if (fn(value, index++)) {\n yield value;\n }\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Find the first value in an iterable which matches a predicate.\n *\n * @param object - The iterable object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @returns The first matching value, or `undefined` if no matching\n * value is found.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { find } from '@lumino/algorithm';\n *\n * interface IAnimal { species: string, name: string };\n *\n * function isCat(value: IAnimal): boolean {\n * return value.species === 'cat';\n * }\n *\n * let data: IAnimal[] = [\n * { species: 'dog', name: 'spot' },\n * { species: 'cat', name: 'fluffy' },\n * { species: 'alligator', name: 'pocho' }\n * ];\n *\n * find(data, isCat).name; // 'fluffy'\n * ```\n */\nfunction find(object, fn) {\n let index = 0;\n for (const value of object) {\n if (fn(value, index++)) {\n return value;\n }\n }\n return undefined;\n}\n/**\n * Find the index of the first value which matches a predicate.\n *\n * @param object - The iterable object to search.\n *\n * @param fn - The predicate function to apply to the values.\n *\n * @returns The index of the first matching value, or `-1` if no\n * matching value is found.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { findIndex } from '@lumino/algorithm';\n *\n * interface IAnimal { species: string, name: string };\n *\n * function isCat(value: IAnimal): boolean {\n * return value.species === 'cat';\n * }\n *\n * let data: IAnimal[] = [\n * { species: 'dog', name: 'spot' },\n * { species: 'cat', name: 'fluffy' },\n * { species: 'alligator', name: 'pocho' }\n * ];\n *\n * findIndex(data, isCat); // 1\n * ```\n */\nfunction findIndex(object, fn) {\n let index = 0;\n for (const value of object) {\n if (fn(value, index++)) {\n return index - 1;\n }\n }\n return -1;\n}\n/**\n * Find the minimum value in an iterable.\n *\n * @param object - The iterable object to search.\n *\n * @param fn - The 3-way comparison function to apply to the values.\n * It should return `< 0` if the first value is less than the second.\n * `0` if the values are equivalent, or `> 0` if the first value is\n * greater than the second.\n *\n * @returns The minimum value in the iterable. If multiple values are\n * equivalent to the minimum, the left-most value is returned. If\n * the iterable is empty, this returns `undefined`.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { min } from '@lumino/algorithm';\n *\n * function numberCmp(a: number, b: number): number {\n * return a - b;\n * }\n *\n * min([7, 4, 0, 3, 9, 4], numberCmp); // 0\n * ```\n */\nfunction min(object, fn) {\n let result = undefined;\n for (const value of object) {\n if (result === undefined) {\n result = value;\n continue;\n }\n if (fn(value, result) < 0) {\n result = value;\n }\n }\n return result;\n}\n/**\n * Find the maximum value in an iterable.\n *\n * @param object - The iterable object to search.\n *\n * @param fn - The 3-way comparison function to apply to the values.\n * It should return `< 0` if the first value is less than the second.\n * `0` if the values are equivalent, or `> 0` if the first value is\n * greater than the second.\n *\n * @returns The maximum value in the iterable. If multiple values are\n * equivalent to the maximum, the left-most value is returned. If\n * the iterable is empty, this returns `undefined`.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { max } from '@lumino/algorithm';\n *\n * function numberCmp(a: number, b: number): number {\n * return a - b;\n * }\n *\n * max([7, 4, 0, 3, 9, 4], numberCmp); // 9\n * ```\n */\nfunction max(object, fn) {\n let result = undefined;\n for (const value of object) {\n if (result === undefined) {\n result = value;\n continue;\n }\n if (fn(value, result) > 0) {\n result = value;\n }\n }\n return result;\n}\n/**\n * Find the minimum and maximum values in an iterable.\n *\n * @param object - The iterable object to search.\n *\n * @param fn - The 3-way comparison function to apply to the values.\n * It should return `< 0` if the first value is less than the second.\n * `0` if the values are equivalent, or `> 0` if the first value is\n * greater than the second.\n *\n * @returns A 2-tuple of the `[min, max]` values in the iterable. If\n * multiple values are equivalent, the left-most values are returned.\n * If the iterable is empty, this returns `undefined`.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { minmax } from '@lumino/algorithm';\n *\n * function numberCmp(a: number, b: number): number {\n * return a - b;\n * }\n *\n * minmax([7, 4, 0, 3, 9, 4], numberCmp); // [0, 9]\n * ```\n */\nfunction minmax(object, fn) {\n let empty = true;\n let vmin;\n let vmax;\n for (const value of object) {\n if (empty) {\n vmin = value;\n vmax = value;\n empty = false;\n }\n else if (fn(value, vmin) < 0) {\n vmin = value;\n }\n else if (fn(value, vmax) > 0) {\n vmax = value;\n }\n }\n return empty ? undefined : [vmin, vmax];\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Create an array from an iterable of values.\n *\n * @deprecated\n *\n * @param object - The iterable object of interest.\n *\n * @returns A new array of values from the given object.\n *\n * #### Example\n * ```typescript\n * import { toArray } from '@lumino/algorithm';\n *\n * let stream = [1, 2, 3, 4, 5, 6][Symbol.iterator]();\n *\n * toArray(stream); // [1, 2, 3, 4, 5, 6];\n * ```\n */\nfunction toArray(object) {\n return Array.from(object);\n}\n/**\n * Create an object from an iterable of key/value pairs.\n *\n * @param object - The iterable object of interest.\n *\n * @returns A new object mapping keys to values.\n *\n * #### Example\n * ```typescript\n * import { toObject } from '@lumino/algorithm';\n *\n * let data: [string, number][] = [['one', 1], ['two', 2], ['three', 3]];\n *\n * toObject(data); // { one: 1, two: 2, three: 3 }\n * ```\n */\nfunction toObject(object) {\n const result = {};\n for (const [key, value] of object) {\n result[key] = value;\n }\n return result;\n}\n/**\n * Invoke a function for each value in an iterable.\n *\n * @deprecated\n *\n * @param object - The iterable object of interest.\n *\n * @param fn - The callback function to invoke for each value.\n *\n * #### Notes\n * Iteration can be terminated early by returning `false` from the\n * callback function.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { each } from '@lumino/algorithm';\n *\n * let data = [5, 7, 0, -2, 9];\n *\n * each(data, value => { console.log(value); });\n * ```\n */\nfunction each(object, fn) {\n let index = 0;\n for (const value of object) {\n if (false === fn(value, index++)) {\n return;\n }\n }\n}\n/**\n * Test whether all values in an iterable satisfy a predicate.\n *\n * @param object - The iterable object of interest.\n *\n * @param fn - The predicate function to invoke for each value.\n *\n * @returns `true` if all values pass the test, `false` otherwise.\n *\n * #### Notes\n * Iteration terminates on the first `false` predicate result.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { every } from '@lumino/algorithm';\n *\n * let data = [5, 7, 1];\n *\n * every(data, value => value % 2 === 0); // false\n * every(data, value => value % 2 === 1); // true\n * ```\n */\nfunction every(object, fn) {\n let index = 0;\n for (const value of object) {\n if (false === fn(value, index++)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Test whether any value in an iterable satisfies a predicate.\n *\n * @param object - The iterable object of interest.\n *\n * @param fn - The predicate function to invoke for each value.\n *\n * @returns `true` if any value passes the test, `false` otherwise.\n *\n * #### Notes\n * Iteration terminates on the first `true` predicate result.\n *\n * #### Complexity\n * Linear.\n *\n * #### Example\n * ```typescript\n * import { some } from '@lumino/algorithm';\n *\n * let data = [5, 7, 1];\n *\n * some(data, value => value === 7); // true\n * some(data, value => value === 3); // false\n * ```\n */\nfunction some(object, fn) {\n let index = 0;\n for (const value of object) {\n if (fn(value, index++)) {\n return true;\n }\n }\n return false;\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Transform the values of an iterable with a mapping function.\n *\n * @param object - The iterable object of interest.\n *\n * @param fn - The mapping function to invoke for each value.\n *\n * @returns An iterator which yields the transformed values.\n *\n * #### Example\n * ```typescript\n * import { map } from '@lumino/algorithm';\n *\n * let data = [1, 2, 3];\n *\n * let stream = map(data, value => value * 2);\n *\n * Array.from(stream); // [2, 4, 6]\n * ```\n */\nfunction* map(object, fn) {\n let index = 0;\n for (const value of object) {\n yield fn(value, index++);\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Create an iterator of evenly spaced values.\n *\n * @param start - The starting value for the range, inclusive.\n *\n * @param stop - The stopping value for the range, exclusive.\n *\n * @param step - The distance between each value.\n *\n * @returns An iterator which produces evenly spaced values.\n *\n * #### Notes\n * In the single argument form of `range(stop)`, `start` defaults to\n * `0` and `step` defaults to `1`.\n *\n * In the two argument form of `range(start, stop)`, `step` defaults\n * to `1`.\n *\n * #### Example\n * ```typescript\n * import { range } from '@lumino/algorithm';\n *\n * let stream = range(2, 4);\n *\n * Array.from(stream); // [2, 3]\n * ```\n */\nfunction* range(start, stop, step) {\n if (stop === undefined) {\n stop = start;\n start = 0;\n step = 1;\n }\n else if (step === undefined) {\n step = 1;\n }\n const length = Private.rangeLength(start, stop, step);\n for (let index = 0; index < length; index++) {\n yield start + step * index;\n }\n}\n/**\n * The namespace for the module implementation details.\n */\nvar Private;\n(function (Private) {\n /**\n * Compute the effective length of a range.\n *\n * @param start - The starting value for the range, inclusive.\n *\n * @param stop - The stopping value for the range, exclusive.\n *\n * @param step - The distance between each value.\n *\n * @returns The number of steps need to traverse the range.\n */\n function rangeLength(start, stop, step) {\n if (step === 0) {\n return Infinity;\n }\n if (start > stop && step > 0) {\n return 0;\n }\n if (start < stop && step < 0) {\n return 0;\n }\n return Math.ceil((stop - start) / step);\n }\n Private.rangeLength = rangeLength;\n})(Private || (Private = {}));\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\nfunction reduce(object, fn, initial) {\n // Setup the iterator and fetch the first value.\n const it = object[Symbol.iterator]();\n let index = 0;\n let first = it.next();\n // An empty iterator and no initial value is an error.\n if (first.done && initial === undefined) {\n throw new TypeError('Reduce of empty iterable with no initial value.');\n }\n // If the iterator is empty, return the initial value.\n if (first.done) {\n return initial;\n }\n // If the iterator has a single item and no initial value, the\n // reducer is not invoked and the first item is the return value.\n let second = it.next();\n if (second.done && initial === undefined) {\n return first.value;\n }\n // If iterator has a single item and an initial value is provided,\n // the reducer is invoked and that result is the return value.\n if (second.done) {\n return fn(initial, first.value, index++);\n }\n // Setup the initial accumlated value.\n let accumulator;\n if (initial === undefined) {\n accumulator = fn(first.value, second.value, index++);\n }\n else {\n accumulator = fn(fn(initial, first.value, index++), second.value, index++);\n }\n // Iterate the rest of the values, updating the accumulator.\n let next;\n while (!(next = it.next()).done) {\n accumulator = fn(accumulator, next.value, index++);\n }\n // Return the final accumulated value.\n return accumulator;\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Create an iterator which repeats a value a number of times.\n *\n * @deprecated\n *\n * @param value - The value to repeat.\n *\n * @param count - The number of times to repeat the value.\n *\n * @returns A new iterator which repeats the specified value.\n *\n * #### Example\n * ```typescript\n * import { repeat } from '@lumino/algorithm';\n *\n * let stream = repeat(7, 3);\n *\n * Array.from(stream); // [7, 7, 7]\n * ```\n */\nfunction* repeat(value, count) {\n while (0 < count--) {\n yield value;\n }\n}\n/**\n * Create an iterator which yields a value a single time.\n *\n * @deprecated\n *\n * @param value - The value to wrap in an iterator.\n *\n * @returns A new iterator which yields the value a single time.\n *\n * #### Example\n * ```typescript\n * import { once } from '@lumino/algorithm';\n *\n * let stream = once(7);\n *\n * Array.from(stream); // [7]\n * ```\n */\nfunction* once(value) {\n yield value;\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Create an iterator for a retroable object.\n *\n * @param object - The retroable or array-like object of interest.\n *\n * @returns An iterator which traverses the object's values in reverse.\n *\n * #### Example\n * ```typescript\n * import { retro } from '@lumino/algorithm';\n *\n * let data = [1, 2, 3, 4, 5, 6];\n *\n * let stream = retro(data);\n *\n * Array.from(stream); // [6, 5, 4, 3, 2, 1]\n * ```\n */\nfunction* retro(object) {\n if (typeof object.retro === 'function') {\n yield* object.retro();\n }\n else {\n for (let index = object.length - 1; index > -1; index--) {\n yield object[index];\n }\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Topologically sort an iterable of edges.\n *\n * @param edges - The iterable object of edges to sort.\n * An edge is represented as a 2-tuple of `[fromNode, toNode]`.\n *\n * @returns The topologically sorted array of nodes.\n *\n * #### Notes\n * If a cycle is present in the graph, the cycle will be ignored and\n * the return value will be only approximately sorted.\n *\n * #### Example\n * ```typescript\n * import { topologicSort } from '@lumino/algorithm';\n *\n * let data = [\n * ['d', 'e'],\n * ['c', 'd'],\n * ['a', 'b'],\n * ['b', 'c']\n * ];\n *\n * topologicSort(data); // ['a', 'b', 'c', 'd', 'e']\n * ```\n */\nfunction topologicSort(edges) {\n // Setup the shared sorting state.\n let sorted = [];\n let visited = new Set();\n let graph = new Map();\n // Add the edges to the graph.\n for (const edge of edges) {\n addEdge(edge);\n }\n // Visit each node in the graph.\n for (const [k] of graph) {\n visit(k);\n }\n // Return the sorted results.\n return sorted;\n // Add an edge to the graph.\n function addEdge(edge) {\n let [fromNode, toNode] = edge;\n let children = graph.get(toNode);\n if (children) {\n children.push(fromNode);\n }\n else {\n graph.set(toNode, [fromNode]);\n }\n }\n // Recursively visit the node.\n function visit(node) {\n if (visited.has(node)) {\n return;\n }\n visited.add(node);\n let children = graph.get(node);\n if (children) {\n for (const child of children) {\n visit(child);\n }\n }\n sorted.push(node);\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Iterate over an iterable using a stepped increment.\n *\n * @param object - The iterable object of interest.\n *\n * @param step - The distance to step on each iteration. A value\n * of less than `1` will behave the same as a value of `1`.\n *\n * @returns An iterator which traverses the iterable step-wise.\n *\n * #### Example\n * ```typescript\n * import { stride } from '@lumino/algorithm';\n *\n * let data = [1, 2, 3, 4, 5, 6];\n *\n * let stream = stride(data, 2);\n *\n * Array.from(stream); // [1, 3, 5];\n * ```\n */\nfunction* stride(object, step) {\n let count = 0;\n for (const value of object) {\n if (0 === count++ % step) {\n yield value;\n }\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * The namespace for string-specific algorithms.\n */\nvar StringExt;\n(function (StringExt) {\n /**\n * Find the indices of characters in a source text.\n *\n * @param source - The source text which should be searched.\n *\n * @param query - The characters to locate in the source text.\n *\n * @param start - The index to start the search.\n *\n * @returns The matched indices, or `null` if there is no match.\n *\n * #### Complexity\n * Linear on `sourceText`.\n *\n * #### Notes\n * In order for there to be a match, all of the characters in `query`\n * **must** appear in `source` in the order given by `query`.\n *\n * Characters are matched using strict `===` equality.\n */\n function findIndices(source, query, start = 0) {\n let indices = new Array(query.length);\n for (let i = 0, j = start, n = query.length; i < n; ++i, ++j) {\n j = source.indexOf(query[i], j);\n if (j === -1) {\n return null;\n }\n indices[i] = j;\n }\n return indices;\n }\n StringExt.findIndices = findIndices;\n /**\n * A string matcher which uses a sum-of-squares algorithm.\n *\n * @param source - The source text which should be searched.\n *\n * @param query - The characters to locate in the source text.\n *\n * @param start - The index to start the search.\n *\n * @returns The match result, or `null` if there is no match.\n * A lower `score` represents a stronger match.\n *\n * #### Complexity\n * Linear on `sourceText`.\n *\n * #### Notes\n * This scoring algorithm uses a sum-of-squares approach to determine\n * the score. In order for there to be a match, all of the characters\n * in `query` **must** appear in `source` in order. The index of each\n * matching character is squared and added to the score. This means\n * that early and consecutive character matches are preferred, while\n * late matches are heavily penalized.\n */\n function matchSumOfSquares(source, query, start = 0) {\n let indices = findIndices(source, query, start);\n if (!indices) {\n return null;\n }\n let score = 0;\n for (let i = 0, n = indices.length; i < n; ++i) {\n let j = indices[i] - start;\n score += j * j;\n }\n return { score, indices };\n }\n StringExt.matchSumOfSquares = matchSumOfSquares;\n /**\n * A string matcher which uses a sum-of-deltas algorithm.\n *\n * @param source - The source text which should be searched.\n *\n * @param query - The characters to locate in the source text.\n *\n * @param start - The index to start the search.\n *\n * @returns The match result, or `null` if there is no match.\n * A lower `score` represents a stronger match.\n *\n * #### Complexity\n * Linear on `sourceText`.\n *\n * #### Notes\n * This scoring algorithm uses a sum-of-deltas approach to determine\n * the score. In order for there to be a match, all of the characters\n * in `query` **must** appear in `source` in order. The delta between\n * the indices are summed to create the score. This means that groups\n * of matched characters are preferred, while fragmented matches are\n * penalized.\n */\n function matchSumOfDeltas(source, query, start = 0) {\n let indices = findIndices(source, query, start);\n if (!indices) {\n return null;\n }\n let score = 0;\n let last = start - 1;\n for (let i = 0, n = indices.length; i < n; ++i) {\n let j = indices[i];\n score += j - last - 1;\n last = j;\n }\n return { score, indices };\n }\n StringExt.matchSumOfDeltas = matchSumOfDeltas;\n /**\n * Highlight the matched characters of a source text.\n *\n * @param source - The text which should be highlighted.\n *\n * @param indices - The indices of the matched characters. They must\n * appear in increasing order and must be in bounds of the source.\n *\n * @param fn - The function to apply to the matched chunks.\n *\n * @returns An array of unmatched and highlighted chunks.\n */\n function highlight(source, indices, fn) {\n // Set up the result array.\n let result = [];\n // Set up the counter variables.\n let k = 0;\n let last = 0;\n let n = indices.length;\n // Iterator over each index.\n while (k < n) {\n // Set up the chunk indices.\n let i = indices[k];\n let j = indices[k];\n // Advance the right chunk index until it's non-contiguous.\n while (++k < n && indices[k] === j + 1) {\n j++;\n }\n // Extract the unmatched text.\n if (last < i) {\n result.push(source.slice(last, i));\n }\n // Extract and highlight the matched text.\n if (i < j + 1) {\n result.push(fn(source.slice(i, j + 1)));\n }\n // Update the last visited index.\n last = j + 1;\n }\n // Extract any remaining unmatched text.\n if (last < source.length) {\n result.push(source.slice(last));\n }\n // Return the highlighted result.\n return result;\n }\n StringExt.highlight = highlight;\n /**\n * A 3-way string comparison function.\n *\n * @param a - The first string of interest.\n *\n * @param b - The second string of interest.\n *\n * @returns `-1` if `a < b`, else `1` if `a > b`, else `0`.\n */\n function cmp(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }\n StringExt.cmp = cmp;\n})(StringExt || (StringExt = {}));\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Take a fixed number of items from an iterable.\n *\n * @param object - The iterable object of interest.\n *\n * @param count - The number of items to take from the iterable.\n *\n * @returns An iterator which yields the specified number of items\n * from the source iterable.\n *\n * #### Notes\n * The returned iterator will exhaust early if the source iterable\n * contains an insufficient number of items.\n *\n * #### Example\n * ```typescript\n * import { take } from '@lumino/algorithm';\n *\n * let stream = take([5, 4, 3, 2, 1, 0, -1], 3);\n *\n * Array.from(stream); // [5, 4, 3]\n * ```\n */\nfunction* take(object, count) {\n if (count < 1) {\n return;\n }\n const it = object[Symbol.iterator]();\n let item;\n while (0 < count-- && !(item = it.next()).done) {\n yield item.value;\n }\n}\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * Iterate several iterables in lockstep.\n *\n * @param objects - The iterable objects of interest.\n *\n * @returns An iterator which yields successive tuples of values where\n * each value is taken in turn from the provided iterables. It will\n * be as long as the shortest provided iterable.\n *\n * #### Example\n * ```typescript\n * import { zip } from '@lumino/algorithm';\n *\n * let data1 = [1, 2, 3];\n * let data2 = [4, 5, 6];\n *\n * let stream = zip(data1, data2);\n *\n * Array.from(stream); // [[1, 4], [2, 5], [3, 6]]\n * ```\n */\nfunction* zip(...objects) {\n const iters = objects.map(obj => obj[Symbol.iterator]());\n let tuple = iters.map(it => it.next());\n for (; every(tuple, item => !item.done); tuple = iters.map(it => it.next())) {\n yield tuple.map(item => item.value);\n }\n}\n\nexport { ArrayExt, StringExt, chain, each, empty, enumerate, every, filter, find, findIndex, map, max, min, minmax, once, range, reduce, repeat, retro, some, stride, take, toArray, toObject, topologicSort, zip };\n//# sourceMappingURL=index.es6.js.map\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.lumino_coreutils = {}));\n})(this, (function (exports) { 'use strict';\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * The namespace for JSON-specific functions.\n */\n exports.JSONExt = void 0;\n (function (JSONExt) {\n /**\n * A shared frozen empty JSONObject\n */\n JSONExt.emptyObject = Object.freeze({});\n /**\n * A shared frozen empty JSONArray\n */\n JSONExt.emptyArray = Object.freeze([]);\n /**\n * Test whether a JSON value is a primitive.\n *\n * @param value - The JSON value of interest.\n *\n * @returns `true` if the value is a primitive,`false` otherwise.\n */\n function isPrimitive(value) {\n return (value === null ||\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string');\n }\n JSONExt.isPrimitive = isPrimitive;\n function isArray(value) {\n return Array.isArray(value);\n }\n JSONExt.isArray = isArray;\n function isObject(value) {\n return !isPrimitive(value) && !isArray(value);\n }\n JSONExt.isObject = isObject;\n /**\n * Compare two JSON values for deep equality.\n *\n * @param first - The first JSON value of interest.\n *\n * @param second - The second JSON value of interest.\n *\n * @returns `true` if the values are equivalent, `false` otherwise.\n */\n function deepEqual(first, second) {\n // Check referential and primitive equality first.\n if (first === second) {\n return true;\n }\n // If one is a primitive, the `===` check ruled out the other.\n if (isPrimitive(first) || isPrimitive(second)) {\n return false;\n }\n // Test whether they are arrays.\n let a1 = isArray(first);\n let a2 = isArray(second);\n // Bail if the types are different.\n if (a1 !== a2) {\n return false;\n }\n // If they are both arrays, compare them.\n if (a1 && a2) {\n return deepArrayEqual(first, second);\n }\n // At this point, they must both be objects.\n return deepObjectEqual(first, second);\n }\n JSONExt.deepEqual = deepEqual;\n /**\n * Create a deep copy of a JSON value.\n *\n * @param value - The JSON value to copy.\n *\n * @returns A deep copy of the given JSON value.\n */\n function deepCopy(value) {\n // Do nothing for primitive values.\n if (isPrimitive(value)) {\n return value;\n }\n // Deep copy an array.\n if (isArray(value)) {\n return deepArrayCopy(value);\n }\n // Deep copy an object.\n return deepObjectCopy(value);\n }\n JSONExt.deepCopy = deepCopy;\n /**\n * Compare two JSON arrays for deep equality.\n */\n function deepArrayEqual(first, second) {\n // Check referential equality first.\n if (first === second) {\n return true;\n }\n // Test the arrays for equal length.\n if (first.length !== second.length) {\n return false;\n }\n // Compare the values for equality.\n for (let i = 0, n = first.length; i < n; ++i) {\n if (!deepEqual(first[i], second[i])) {\n return false;\n }\n }\n // At this point, the arrays are equal.\n return true;\n }\n /**\n * Compare two JSON objects for deep equality.\n */\n function deepObjectEqual(first, second) {\n // Check referential equality first.\n if (first === second) {\n return true;\n }\n // Check for the first object's keys in the second object.\n for (let key in first) {\n if (first[key] !== undefined && !(key in second)) {\n return false;\n }\n }\n // Check for the second object's keys in the first object.\n for (let key in second) {\n if (second[key] !== undefined && !(key in first)) {\n return false;\n }\n }\n // Compare the values for equality.\n for (let key in first) {\n // Get the values.\n let firstValue = first[key];\n let secondValue = second[key];\n // If both are undefined, ignore the key.\n if (firstValue === undefined && secondValue === undefined) {\n continue;\n }\n // If only one value is undefined, the objects are not equal.\n if (firstValue === undefined || secondValue === undefined) {\n return false;\n }\n // Compare the values.\n if (!deepEqual(firstValue, secondValue)) {\n return false;\n }\n }\n // At this point, the objects are equal.\n return true;\n }\n /**\n * Create a deep copy of a JSON array.\n */\n function deepArrayCopy(value) {\n let result = new Array(value.length);\n for (let i = 0, n = value.length; i < n; ++i) {\n result[i] = deepCopy(value[i]);\n }\n return result;\n }\n /**\n * Create a deep copy of a JSON object.\n */\n function deepObjectCopy(value) {\n let result = {};\n for (let key in value) {\n // Ignore undefined values.\n let subvalue = value[key];\n if (subvalue === undefined) {\n continue;\n }\n result[key] = deepCopy(subvalue);\n }\n return result;\n }\n })(exports.JSONExt || (exports.JSONExt = {}));\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * An object which stores MIME data for general application use.\n *\n * #### Notes\n * This class does not attempt to enforce \"correctness\" of MIME types\n * and their associated data. Since this class is designed to transfer\n * arbitrary data and objects within the same application, it assumes\n * that the user provides correct and accurate data.\n */\n class MimeData {\n constructor() {\n this._types = [];\n this._values = [];\n }\n /**\n * Get an array of the MIME types contained within the dataset.\n *\n * @returns A new array of the MIME types, in order of insertion.\n */\n types() {\n return this._types.slice();\n }\n /**\n * Test whether the dataset has an entry for the given type.\n *\n * @param mime - The MIME type of interest.\n *\n * @returns `true` if the dataset contains a value for the given\n * MIME type, `false` otherwise.\n */\n hasData(mime) {\n return this._types.indexOf(mime) !== -1;\n }\n /**\n * Get the data value for the given MIME type.\n *\n * @param mime - The MIME type of interest.\n *\n * @returns The value for the given MIME type, or `undefined` if\n * the dataset does not contain a value for the type.\n */\n getData(mime) {\n let i = this._types.indexOf(mime);\n return i !== -1 ? this._values[i] : undefined;\n }\n /**\n * Set the data value for the given MIME type.\n *\n * @param mime - The MIME type of interest.\n *\n * @param data - The data value for the given MIME type.\n *\n * #### Notes\n * This will overwrite any previous entry for the MIME type.\n */\n setData(mime, data) {\n this.clearData(mime);\n this._types.push(mime);\n this._values.push(data);\n }\n /**\n * Remove the data entry for the given MIME type.\n *\n * @param mime - The MIME type of interest.\n *\n * #### Notes\n * This is a no-op if there is no entry for the given MIME type.\n */\n clearData(mime) {\n let i = this._types.indexOf(mime);\n if (i !== -1) {\n this._types.splice(i, 1);\n this._values.splice(i, 1);\n }\n }\n /**\n * Remove all data entries from the dataset.\n */\n clear() {\n this._types.length = 0;\n this._values.length = 0;\n }\n }\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * A class which wraps a promise into a delegate object.\n *\n * #### Notes\n * This class is useful when the logic to resolve or reject a promise\n * cannot be defined at the point where the promise is created.\n */\n class PromiseDelegate {\n /**\n * Construct a new promise delegate.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n /**\n * Resolve the wrapped promise with the given value.\n *\n * @param value - The value to use for resolving the promise.\n */\n resolve(value) {\n let resolve = this._resolve;\n resolve(value);\n }\n /**\n * Reject the wrapped promise with the given value.\n *\n * @reason - The reason for rejecting the promise.\n */\n reject(reason) {\n let reject = this._reject;\n reject(reason);\n }\n }\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * A runtime object which captures compile-time type information.\n *\n * #### Notes\n * A token captures the compile-time type of an interface or class in\n * an object which can be used at runtime in a type-safe fashion.\n */\n class Token {\n /**\n * Construct a new token.\n *\n * @param name - A human readable name for the token.\n * @param description - Token purpose description for documentation.\n */\n constructor(name, description) {\n this.name = name;\n this.description = description !== null && description !== void 0 ? description : '';\n this._tokenStructuralPropertyT = null;\n }\n }\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n // Fallback\n function fallbackRandomValues(buffer) {\n let value = 0;\n for (let i = 0, n = buffer.length; i < n; ++i) {\n if (i % 4 === 0) {\n value = (Math.random() * 0xffffffff) >>> 0;\n }\n buffer[i] = value & 0xff;\n value >>>= 8;\n }\n }\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * The namespace for random number related functionality.\n */\n exports.Random = void 0;\n (function (Random) {\n /**\n * A function which generates random bytes.\n *\n * @param buffer - The `Uint8Array` to fill with random bytes.\n *\n * #### Notes\n * A cryptographically strong random number generator will be used if\n * available. Otherwise, `Math.random` will be used as a fallback for\n * randomness.\n *\n * The following RNGs are supported, listed in order of precedence:\n * - `window.crypto.getRandomValues`\n * - `window.msCrypto.getRandomValues`\n * - `require('crypto').randomFillSync\n * - `require('crypto').randomBytes\n * - `Math.random`\n */\n Random.getRandomValues = (() => {\n // Look up the crypto module if available.\n const crypto = (typeof window !== 'undefined' && (window.crypto || window.msCrypto)) ||\n null;\n // Modern browsers and IE 11\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return function getRandomValues(buffer) {\n return crypto.getRandomValues(buffer);\n };\n }\n // Fallback\n return fallbackRandomValues;\n })();\n })(exports.Random || (exports.Random = {}));\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * A function which creates a function that generates UUID v4 identifiers.\n *\n * @returns A new function that creates a UUID v4 string.\n *\n * #### Notes\n * This implementation complies with RFC 4122.\n *\n * This uses `Random.getRandomValues()` for random bytes, which in\n * turn will use the underlying `crypto` module of the platform if\n * it is available. The fallback for randomness is `Math.random`.\n */\n function uuid4Factory(getRandomValues) {\n // Create a 16 byte array to hold the random values.\n const bytes = new Uint8Array(16);\n // Create a look up table from bytes to hex strings.\n const lut = new Array(256);\n // Pad the single character hex digits with a leading zero.\n for (let i = 0; i < 16; ++i) {\n lut[i] = '0' + i.toString(16);\n }\n // Populate the rest of the hex digits.\n for (let i = 16; i < 256; ++i) {\n lut[i] = i.toString(16);\n }\n // Return a function which generates the UUID.\n return function uuid4() {\n // Get a new batch of random values.\n getRandomValues(bytes);\n // Set the UUID version number to 4.\n bytes[6] = 0x40 | (bytes[6] & 0x0f);\n // Set the clock sequence bit to the RFC spec.\n bytes[8] = 0x80 | (bytes[8] & 0x3f);\n // Assemble the UUID string.\n return (lut[bytes[0]] +\n lut[bytes[1]] +\n lut[bytes[2]] +\n lut[bytes[3]] +\n '-' +\n lut[bytes[4]] +\n lut[bytes[5]] +\n '-' +\n lut[bytes[6]] +\n lut[bytes[7]] +\n '-' +\n lut[bytes[8]] +\n lut[bytes[9]] +\n '-' +\n lut[bytes[10]] +\n lut[bytes[11]] +\n lut[bytes[12]] +\n lut[bytes[13]] +\n lut[bytes[14]] +\n lut[bytes[15]]);\n };\n }\n\n // Copyright (c) Jupyter Development Team.\n // Distributed under the terms of the Modified BSD License.\n /*-----------------------------------------------------------------------------\n | Copyright (c) 2014-2017, PhosphorJS Contributors\n |\n | Distributed under the terms of the BSD 3-Clause License.\n |\n | The full license is in the file LICENSE, distributed with this software.\n |----------------------------------------------------------------------------*/\n /**\n * The namespace for UUID related functionality.\n */\n exports.UUID = void 0;\n (function (UUID) {\n /**\n * A function which generates UUID v4 identifiers.\n *\n * @returns A new UUID v4 string.\n *\n * #### Notes\n * This implementation complies with RFC 4122.\n *\n * This uses `Random.getRandomValues()` for random bytes, which in\n * turn will use the underlying `crypto` module of the platform if\n * it is available. The fallback for randomness is `Math.random`.\n */\n UUID.uuid4 = uuid4Factory(exports.Random.getRandomValues);\n })(exports.UUID || (exports.UUID = {}));\n\n exports.MimeData = MimeData;\n exports.PromiseDelegate = PromiseDelegate;\n exports.Token = Token;\n\n}));\n//# sourceMappingURL=index.js.map\n","import { Signal } from '@lumino/signaling';\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module disposable\n */\n/**\n * A disposable object which delegates to a callback function.\n */\nclass DisposableDelegate {\n /**\n * Construct a new disposable delegate.\n *\n * @param fn - The callback function to invoke on dispose.\n */\n constructor(fn) {\n this._fn = fn;\n }\n /**\n * Test whether the delegate has been disposed.\n */\n get isDisposed() {\n return !this._fn;\n }\n /**\n * Dispose of the delegate and invoke the callback function.\n */\n dispose() {\n if (!this._fn) {\n return;\n }\n let fn = this._fn;\n this._fn = null;\n fn();\n }\n}\n/**\n * An observable disposable object which delegates to a callback function.\n */\nclass ObservableDisposableDelegate extends DisposableDelegate {\n constructor() {\n super(...arguments);\n this._disposed = new Signal(this);\n }\n /**\n * A signal emitted when the delegate is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Dispose of the delegate and invoke the callback function.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n super.dispose();\n this._disposed.emit(undefined);\n Signal.clearData(this);\n }\n}\n/**\n * An object which manages a collection of disposable items.\n */\nclass DisposableSet {\n constructor() {\n this._isDisposed = false;\n this._items = new Set();\n }\n /**\n * Test whether the set has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the set and the items it contains.\n *\n * #### Notes\n * Items are disposed in the order they are added to the set.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._items.forEach(item => {\n item.dispose();\n });\n this._items.clear();\n }\n /**\n * Test whether the set contains a specific item.\n *\n * @param item - The item of interest.\n *\n * @returns `true` if the set contains the item, `false` otherwise.\n */\n contains(item) {\n return this._items.has(item);\n }\n /**\n * Add a disposable item to the set.\n *\n * @param item - The item to add to the set.\n *\n * #### Notes\n * If the item is already contained in the set, this is a no-op.\n */\n add(item) {\n this._items.add(item);\n }\n /**\n * Remove a disposable item from the set.\n *\n * @param item - The item to remove from the set.\n *\n * #### Notes\n * If the item is not contained in the set, this is a no-op.\n */\n remove(item) {\n this._items.delete(item);\n }\n /**\n * Remove all items from the set.\n */\n clear() {\n this._items.clear();\n }\n}\n/**\n * The namespace for the `DisposableSet` class statics.\n */\n(function (DisposableSet) {\n /**\n * Create a disposable set from an iterable of items.\n *\n * @param items - The iterable object of interest.\n *\n * @returns A new disposable initialized with the given items.\n */\n function from(items) {\n let set = new DisposableSet();\n for (const item of items) {\n set.add(item);\n }\n return set;\n }\n DisposableSet.from = from;\n})(DisposableSet || (DisposableSet = {}));\n/**\n * An observable object which manages a collection of disposable items.\n */\nclass ObservableDisposableSet extends DisposableSet {\n constructor() {\n super(...arguments);\n this._disposed = new Signal(this);\n }\n /**\n * A signal emitted when the set is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Dispose of the set and the items it contains.\n *\n * #### Notes\n * Items are disposed in the order they are added to the set.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n super.dispose();\n this._disposed.emit(undefined);\n Signal.clearData(this);\n }\n}\n/**\n * The namespace for the `ObservableDisposableSet` class statics.\n */\n(function (ObservableDisposableSet) {\n /**\n * Create an observable disposable set from an iterable of items.\n *\n * @param items - The iterable object of interest.\n *\n * @returns A new disposable initialized with the given items.\n */\n function from(items) {\n let set = new ObservableDisposableSet();\n for (const item of items) {\n set.add(item);\n }\n return set;\n }\n ObservableDisposableSet.from = from;\n})(ObservableDisposableSet || (ObservableDisposableSet = {}));\n\nexport { DisposableDelegate, DisposableSet, ObservableDisposableDelegate, ObservableDisposableSet };\n//# sourceMappingURL=index.es6.js.map\n","import { PromiseDelegate, JSONExt } from '@lumino/coreutils';\nimport { Signal } from '@lumino/signaling';\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * A class that wraps an asynchronous function to poll at a regular interval\n * with exponential increases to the interval length if the poll fails.\n *\n * @typeparam T - The resolved type of the factory's promises.\n * Defaults to `any`.\n *\n * @typeparam U - The rejected type of the factory's promises.\n * Defaults to `any`.\n *\n * @typeparam V - An optional type to extend the phases supported by a poll.\n * Defaults to `standby`, which already exists in the `Phase` type.\n */\nclass Poll {\n /**\n * Instantiate a new poll with exponential backoff in case of failure.\n *\n * @param options - The poll instantiation options.\n */\n constructor(options) {\n var _a;\n this._disposed = new Signal(this);\n this._lingered = 0;\n this._tick = new PromiseDelegate();\n this._ticked = new Signal(this);\n this._factory = options.factory;\n this._linger = (_a = options.linger) !== null && _a !== void 0 ? _a : Private.DEFAULT_LINGER;\n this._standby = options.standby || Private.DEFAULT_STANDBY;\n this._state = { ...Private.DEFAULT_STATE, timestamp: new Date().getTime() };\n // Normalize poll frequency `max` to be the greater of\n // default `max`, `options.frequency.max`, or `options.frequency.interval`.\n const frequency = options.frequency || {};\n const max = Math.max(frequency.interval || 0, frequency.max || 0, Private.DEFAULT_FREQUENCY.max);\n this.frequency = { ...Private.DEFAULT_FREQUENCY, ...frequency, ...{ max } };\n this.name = options.name || Private.DEFAULT_NAME;\n if ('auto' in options ? options.auto : true) {\n setTimeout(() => this.start());\n }\n }\n /**\n * A signal emitted when the poll is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * The polling frequency parameters.\n */\n get frequency() {\n return this._frequency;\n }\n set frequency(frequency) {\n if (this.isDisposed || JSONExt.deepEqual(frequency, this.frequency || {})) {\n return;\n }\n let { backoff, interval, max } = frequency;\n interval = Math.round(interval);\n max = Math.round(max);\n if (typeof backoff === 'number' && backoff < 1) {\n throw new Error('Poll backoff growth factor must be at least 1');\n }\n if ((interval < 0 || interval > max) && interval !== Poll.NEVER) {\n throw new Error('Poll interval must be between 0 and max');\n }\n if (max > Poll.MAX_INTERVAL && max !== Poll.NEVER) {\n throw new Error(`Max interval must be less than ${Poll.MAX_INTERVAL}`);\n }\n this._frequency = { backoff, interval, max };\n }\n /**\n * Whether the poll is disposed.\n */\n get isDisposed() {\n return this.state.phase === 'disposed';\n }\n /**\n * Indicates when the poll switches to standby.\n */\n get standby() {\n return this._standby;\n }\n set standby(standby) {\n if (this.isDisposed || this.standby === standby) {\n return;\n }\n this._standby = standby;\n }\n /**\n * The poll state, which is the content of the current poll tick.\n */\n get state() {\n return this._state;\n }\n /**\n * A promise that resolves when the poll next ticks.\n */\n get tick() {\n return this._tick.promise;\n }\n /**\n * A signal emitted when the poll ticks and fires off a new request.\n */\n get ticked() {\n return this._ticked;\n }\n /**\n * Return an async iterator that yields every tick.\n */\n async *[Symbol.asyncIterator]() {\n while (!this.isDisposed) {\n yield this.state;\n await this.tick.catch(() => undefined);\n }\n }\n /**\n * Dispose the poll.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._state = {\n ...Private.DISPOSED_STATE,\n timestamp: new Date().getTime()\n };\n this._tick.promise.catch(_ => undefined);\n this._tick.reject(new Error(`Poll (${this.name}) is disposed.`));\n this._disposed.emit(undefined);\n Signal.clearData(this);\n }\n /**\n * Refreshes the poll. Schedules `refreshed` tick if necessary.\n *\n * @returns A promise that resolves after tick is scheduled and never rejects.\n *\n * #### Notes\n * The returned promise resolves after the tick is scheduled, but before\n * the polling action is run. To wait until after the poll action executes,\n * await the `poll.tick` promise: `await poll.refresh(); await poll.tick;`\n */\n refresh() {\n return this.schedule({\n cancel: ({ phase }) => phase === 'refreshed',\n interval: Poll.IMMEDIATE,\n phase: 'refreshed'\n });\n }\n /**\n * Schedule the next poll tick.\n *\n * @param next - The next poll state data to schedule. Defaults to standby.\n *\n * @param next.cancel - Cancels state transition if function returns `true`.\n *\n * @returns A promise that resolves when the next poll state is active.\n *\n * #### Notes\n * This method is not meant to be invoked by user code typically. It is public\n * to allow poll instances to be composed into classes that schedule ticks.\n */\n async schedule(next = {}) {\n if (this.isDisposed) {\n return;\n }\n // Check if the phase transition should be canceled.\n if (next.cancel && next.cancel(this.state)) {\n return;\n }\n // Update poll state.\n const pending = this._tick;\n const scheduled = new PromiseDelegate();\n const state = {\n interval: this.frequency.interval,\n payload: null,\n phase: 'standby',\n timestamp: new Date().getTime(),\n ...next\n };\n this._state = state;\n this._tick = scheduled;\n // Clear the schedule if possible.\n clearTimeout(this._timeout);\n // Emit ticked signal, resolve pending promise, and await its settlement.\n this._ticked.emit(this.state);\n pending.resolve(this);\n await pending.promise;\n if (state.interval === Poll.NEVER) {\n this._timeout = undefined;\n return;\n }\n // Schedule next execution and cache its timeout handle.\n const execute = () => {\n if (this.isDisposed || this.tick !== scheduled.promise) {\n return;\n }\n this._execute();\n };\n // Cache the handle in case it needs to be unscheduled.\n this._timeout = setTimeout(execute, state.interval);\n }\n /**\n * Starts the poll. Schedules `started` tick if necessary.\n *\n * @returns A promise that resolves after tick is scheduled and never rejects.\n */\n start() {\n return this.schedule({\n cancel: ({ phase }) => phase !== 'constructed' && phase !== 'standby' && phase !== 'stopped',\n interval: Poll.IMMEDIATE,\n phase: 'started'\n });\n }\n /**\n * Stops the poll. Schedules `stopped` tick if necessary.\n *\n * @returns A promise that resolves after tick is scheduled and never rejects.\n */\n stop() {\n return this.schedule({\n cancel: ({ phase }) => phase === 'stopped',\n interval: Poll.NEVER,\n phase: 'stopped'\n });\n }\n /**\n * Whether the poll is hidden.\n *\n * #### Notes\n * This property is only relevant in a browser context.\n */\n get hidden() {\n return Private.hidden;\n }\n /**\n * Execute a new poll factory promise or stand by if necessary.\n */\n _execute() {\n let standby = typeof this.standby === 'function' ? this.standby() : this.standby;\n // Check if execution should proceed, linger, or stand by.\n if (standby === 'never') {\n standby = false;\n }\n else if (standby === 'when-hidden') {\n if (this.hidden) {\n standby = ++this._lingered > this._linger;\n }\n else {\n this._lingered = 0;\n standby = false;\n }\n }\n // If in standby mode schedule next tick without calling the factory.\n if (standby) {\n void this.schedule();\n return;\n }\n const pending = this.tick;\n this._factory(this.state)\n .then((resolved) => {\n if (this.isDisposed || this.tick !== pending) {\n return;\n }\n void this.schedule({\n payload: resolved,\n phase: this.state.phase === 'rejected' ? 'reconnected' : 'resolved'\n });\n })\n .catch((rejected) => {\n if (this.isDisposed || this.tick !== pending) {\n return;\n }\n void this.schedule({\n interval: Private.sleep(this.frequency, this.state),\n payload: rejected,\n phase: 'rejected'\n });\n });\n }\n}\n/**\n * A namespace for `Poll` types, interfaces, and statics.\n */\n(function (Poll) {\n /**\n * An interval value in ms that indicates the poll should tick immediately.\n */\n Poll.IMMEDIATE = 0;\n /**\n * Delays are 32-bit integers in many browsers so intervals need to be capped.\n *\n * #### Notes\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Maximum_delay_value\n */\n Poll.MAX_INTERVAL = 2147483647;\n /**\n * An interval value that indicates the poll should never tick.\n */\n Poll.NEVER = Infinity;\n})(Poll || (Poll = {}));\n/**\n * A namespace for private module data.\n */\nvar Private;\n(function (Private) {\n /**\n * The default backoff growth rate if `backoff` is `true`.\n */\n Private.DEFAULT_BACKOFF = 3;\n /**\n * The default polling frequency.\n */\n Private.DEFAULT_FREQUENCY = {\n backoff: true,\n interval: 1000,\n max: 30 * 1000\n };\n /**\n * The default number of times to `linger` when a poll is hidden.\n */\n Private.DEFAULT_LINGER = 1;\n /**\n * The default poll name.\n */\n Private.DEFAULT_NAME = 'unknown';\n /**\n * The default poll standby behavior.\n */\n Private.DEFAULT_STANDBY = 'when-hidden';\n /**\n * The first poll tick state's default values superseded in constructor.\n */\n Private.DEFAULT_STATE = {\n interval: Poll.NEVER,\n payload: null,\n phase: 'constructed',\n timestamp: new Date(0).getTime()\n };\n /**\n * The disposed tick state values.\n */\n Private.DISPOSED_STATE = {\n interval: Poll.NEVER,\n payload: null,\n phase: 'disposed',\n timestamp: new Date(0).getTime()\n };\n /**\n * Returns the number of milliseconds to sleep before the next tick.\n *\n * @param frequency - The poll's base frequency.\n * @param last - The poll's last tick.\n */\n function sleep(frequency, last) {\n const { backoff, interval, max } = frequency;\n if (interval === Poll.NEVER) {\n return interval;\n }\n const growth = backoff === true ? Private.DEFAULT_BACKOFF : backoff === false ? 1 : backoff;\n const random = getRandomIntInclusive(interval, last.interval * growth);\n return Math.min(max, random);\n }\n Private.sleep = sleep;\n /**\n * Keep track of whether the document is hidden. This flag is only relevant in\n * a browser context.\n *\n * Listen to `visibilitychange` event to set the `hidden` flag.\n *\n * Listening to `pagehide` is also necessary because Safari support for\n * `visibilitychange` events is partial, cf.\n * https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event\n */\n Private.hidden = (() => {\n if (typeof document === 'undefined') {\n return false;\n }\n document.addEventListener('visibilitychange', () => {\n Private.hidden = document.visibilityState === 'hidden';\n });\n document.addEventListener('pagehide', () => {\n Private.hidden = document.visibilityState === 'hidden';\n });\n return document.visibilityState === 'hidden';\n })();\n /**\n * Get a random integer between min and max, inclusive of both.\n *\n * #### Notes\n * From\n * https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive\n *\n * From the MDN page: It might be tempting to use Math.round() to accomplish\n * that, but doing so would cause your random numbers to follow a non-uniform\n * distribution, which may not be acceptable for your needs.\n */\n function getRandomIntInclusive(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n})(Private || (Private = {}));\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * A base class to implement rate limiters with different invocation strategies.\n *\n * @typeparam T - The resolved type of the underlying function.\n *\n * @typeparam U - The rejected type of the underlying function.\n *\n * @typeparam V - Arguments for the underlying function.\n */\nclass RateLimiter {\n /**\n * Instantiate a rate limiter.\n *\n * @param fn - The function to rate limit.\n *\n * @param limit - The rate limit; defaults to 500ms.\n */\n constructor(fn, limit = 500) {\n /**\n * Arguments for the underlying function.\n */\n this.args = undefined;\n /**\n * A promise that resolves on each successful invocation.\n */\n this.payload = null;\n this.limit = limit;\n this.poll = new Poll({\n auto: false,\n factory: async () => {\n const { args } = this;\n this.args = undefined;\n return fn(...args);\n },\n frequency: { backoff: false, interval: Poll.NEVER, max: Poll.NEVER },\n standby: 'never'\n });\n this.payload = new PromiseDelegate();\n this.poll.ticked.connect((_, state) => {\n const { payload } = this;\n if (state.phase === 'resolved') {\n this.payload = new PromiseDelegate();\n payload.resolve(state.payload);\n return;\n }\n if (state.phase === 'rejected' || state.phase === 'stopped') {\n this.payload = new PromiseDelegate();\n payload.promise.catch(_ => undefined);\n payload.reject(state.payload);\n return;\n }\n }, this);\n }\n /**\n * Whether the rate limiter is disposed.\n */\n get isDisposed() {\n return this.payload === null;\n }\n /**\n * Disposes the rate limiter.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.args = undefined;\n this.payload = null;\n this.poll.dispose();\n }\n /**\n * Stop the function if it is mid-flight.\n */\n async stop() {\n return this.poll.stop();\n }\n}\n/**\n * Wraps and debounces a function that can be called multiple times and only\n * executes the underlying function one `interval` after the last invocation.\n *\n * @typeparam T - The resolved type of the underlying function. Defaults to any.\n *\n * @typeparam U - The rejected type of the underlying function. Defaults to any.\n *\n * @typeparam V - Arguments for the underlying function. Defaults to any[].\n */\nclass Debouncer extends RateLimiter {\n /**\n * Invokes the function and only executes after rate limit has elapsed.\n * Each invocation resets the timer.\n */\n invoke(...args) {\n this.args = args;\n void this.poll.schedule({ interval: this.limit, phase: 'invoked' });\n return this.payload.promise;\n }\n}\n/**\n * Wraps and throttles a function that can be called multiple times and only\n * executes the underlying function once per `interval`.\n *\n * @typeparam T - The resolved type of the underlying function. Defaults to any.\n *\n * @typeparam U - The rejected type of the underlying function. Defaults to any.\n *\n * @typeparam V - Arguments for the underlying function. Defaults to any[].\n */\nclass Throttler extends RateLimiter {\n /**\n * Instantiate a throttler.\n *\n * @param fn - The function being throttled.\n *\n * @param options - Throttling configuration or throttling limit in ms.\n *\n * #### Notes\n * The `edge` defaults to `leading`; the `limit` defaults to `500`.\n */\n constructor(fn, options) {\n super(fn, typeof options === 'number' ? options : options && options.limit);\n this._trailing = false;\n if (typeof options !== 'number' && options && options.edge === 'trailing') {\n this._trailing = true;\n }\n this._interval = this._trailing ? this.limit : Poll.IMMEDIATE;\n }\n /**\n * Throttles function invocations if one is currently in flight.\n */\n invoke(...args) {\n const idle = this.poll.state.phase !== 'invoked';\n if (idle || this._trailing) {\n this.args = args;\n }\n if (idle) {\n void this.poll.schedule({ interval: this._interval, phase: 'invoked' });\n }\n return this.payload.promise;\n }\n}\n\nexport { Debouncer, Poll, RateLimiter, Throttler };\n//# sourceMappingURL=index.es6.js.map\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module properties\n */\n/**\n * A class which attaches a value to an external object.\n *\n * #### Notes\n * Attached properties are used to extend the state of an object with\n * semantic data from an unrelated class. They also encapsulate value\n * creation, coercion, and notification.\n *\n * Because attached property values are stored in a hash table, which\n * in turn is stored in a WeakMap keyed on the owner object, there is\n * non-trivial storage overhead involved in their use. The pattern is\n * therefore best used for the storage of rare data.\n */\nclass AttachedProperty {\n /**\n * Construct a new attached property.\n *\n * @param options - The options for initializing the property.\n */\n constructor(options) {\n this._pid = Private.nextPID();\n this.name = options.name;\n this._create = options.create;\n this._coerce = options.coerce || null;\n this._compare = options.compare || null;\n this._changed = options.changed || null;\n }\n /**\n * Get the current value of the property for a given owner.\n *\n * @param owner - The property owner of interest.\n *\n * @returns The current value of the property.\n *\n * #### Notes\n * If the value has not yet been set, the default value will be\n * computed and assigned as the current value of the property.\n */\n get(owner) {\n let value;\n let map = Private.ensureMap(owner);\n if (this._pid in map) {\n value = map[this._pid];\n }\n else {\n value = map[this._pid] = this._createValue(owner);\n }\n return value;\n }\n /**\n * Set the current value of the property for a given owner.\n *\n * @param owner - The property owner of interest.\n *\n * @param value - The value for the property.\n *\n * #### Notes\n * If the value has not yet been set, the default value will be\n * computed and used as the previous value for the comparison.\n */\n set(owner, value) {\n let oldValue;\n let map = Private.ensureMap(owner);\n if (this._pid in map) {\n oldValue = map[this._pid];\n }\n else {\n oldValue = map[this._pid] = this._createValue(owner);\n }\n let newValue = this._coerceValue(owner, value);\n this._maybeNotify(owner, oldValue, (map[this._pid] = newValue));\n }\n /**\n * Explicitly coerce the current property value for a given owner.\n *\n * @param owner - The property owner of interest.\n *\n * #### Notes\n * If the value has not yet been set, the default value will be\n * computed and used as the previous value for the comparison.\n */\n coerce(owner) {\n let oldValue;\n let map = Private.ensureMap(owner);\n if (this._pid in map) {\n oldValue = map[this._pid];\n }\n else {\n oldValue = map[this._pid] = this._createValue(owner);\n }\n let newValue = this._coerceValue(owner, oldValue);\n this._maybeNotify(owner, oldValue, (map[this._pid] = newValue));\n }\n /**\n * Get or create the default value for the given owner.\n */\n _createValue(owner) {\n let create = this._create;\n return create(owner);\n }\n /**\n * Coerce the value for the given owner.\n */\n _coerceValue(owner, value) {\n let coerce = this._coerce;\n return coerce ? coerce(owner, value) : value;\n }\n /**\n * Compare the old value and new value for equality.\n */\n _compareValue(oldValue, newValue) {\n let compare = this._compare;\n return compare ? compare(oldValue, newValue) : oldValue === newValue;\n }\n /**\n * Run the change notification if the given values are different.\n */\n _maybeNotify(owner, oldValue, newValue) {\n let changed = this._changed;\n if (changed && !this._compareValue(oldValue, newValue)) {\n changed(owner, oldValue, newValue);\n }\n }\n}\n/**\n * The namespace for the `AttachedProperty` class statics.\n */\n(function (AttachedProperty) {\n /**\n * Clear the stored property data for the given owner.\n *\n * @param owner - The property owner of interest.\n *\n * #### Notes\n * This will clear all property values for the owner, but it will\n * **not** run the change notification for any of the properties.\n */\n function clearData(owner) {\n Private.ownerData.delete(owner);\n }\n AttachedProperty.clearData = clearData;\n})(AttachedProperty || (AttachedProperty = {}));\n/**\n * The namespace for the module implementation details.\n */\nvar Private;\n(function (Private) {\n /**\n * A weak mapping of property owner to property map.\n */\n Private.ownerData = new WeakMap();\n /**\n * A function which computes successive unique property ids.\n */\n Private.nextPID = (() => {\n let id = 0;\n return () => {\n let rand = Math.random();\n let stem = `${rand}`.slice(2);\n return `pid-${stem}-${id++}`;\n };\n })();\n /**\n * Lookup the data map for the property owner.\n *\n * This will create the map if one does not already exist.\n */\n function ensureMap(owner) {\n let map = Private.ownerData.get(owner);\n if (map) {\n return map;\n }\n map = Object.create(null);\n Private.ownerData.set(owner, map);\n return map;\n }\n Private.ensureMap = ensureMap;\n})(Private || (Private = {}));\n\nexport { AttachedProperty };\n//# sourceMappingURL=index.es6.js.map\n","import { find, ArrayExt } from '@lumino/algorithm';\nimport { PromiseDelegate } from '@lumino/coreutils';\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/*-----------------------------------------------------------------------------\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module signaling\n */\n/**\n * A concrete implementation of `ISignal`.\n *\n * #### Example\n * ```typescript\n * import { ISignal, Signal } from '@lumino/signaling';\n *\n * class SomeClass {\n *\n * constructor(name: string) {\n * this.name = name;\n * }\n *\n * readonly name: string;\n *\n * get valueChanged: ISignal {\n * return this._valueChanged;\n * }\n *\n * get value(): number {\n * return this._value;\n * }\n *\n * set value(value: number) {\n * if (value === this._value) {\n * return;\n * }\n * this._value = value;\n * this._valueChanged.emit(value);\n * }\n *\n * private _value = 0;\n * private _valueChanged = new Signal(this);\n * }\n *\n * function logger(sender: SomeClass, value: number): void {\n * console.log(sender.name, value);\n * }\n *\n * let m1 = new SomeClass('foo');\n * let m2 = new SomeClass('bar');\n *\n * m1.valueChanged.connect(logger);\n * m2.valueChanged.connect(logger);\n *\n * m1.value = 42; // logs: foo 42\n * m2.value = 17; // logs: bar 17\n * ```\n */\nclass Signal {\n /**\n * Construct a new signal.\n *\n * @param sender - The sender which owns the signal.\n */\n constructor(sender) {\n this.sender = sender;\n }\n /**\n * Connect a slot to the signal.\n *\n * @param slot - The slot to invoke when the signal is emitted.\n *\n * @param thisArg - The `this` context for the slot. If provided,\n * this must be a non-primitive object.\n *\n * @returns `true` if the connection succeeds, `false` otherwise.\n */\n connect(slot, thisArg) {\n return Private.connect(this, slot, thisArg);\n }\n /**\n * Disconnect a slot from the signal.\n *\n * @param slot - The slot to disconnect from the signal.\n *\n * @param thisArg - The `this` context for the slot. If provided,\n * this must be a non-primitive object.\n *\n * @returns `true` if the connection is removed, `false` otherwise.\n */\n disconnect(slot, thisArg) {\n return Private.disconnect(this, slot, thisArg);\n }\n /**\n * Emit the signal and invoke the connected slots.\n *\n * @param args - The args to pass to the connected slots.\n *\n * #### Notes\n * Slots are invoked synchronously in connection order.\n *\n * Exceptions thrown by connected slots will be caught and logged.\n */\n emit(args) {\n Private.emit(this, args);\n }\n}\n/**\n * The namespace for the `Signal` class statics.\n */\n(function (Signal) {\n /**\n * Remove all connections between a sender and receiver.\n *\n * @param sender - The sender object of interest.\n *\n * @param receiver - The receiver object of interest.\n *\n * #### Notes\n * If a `thisArg` is provided when connecting a signal, that object\n * is considered the receiver. Otherwise, the `slot` is considered\n * the receiver.\n */\n function disconnectBetween(sender, receiver) {\n Private.disconnectBetween(sender, receiver);\n }\n Signal.disconnectBetween = disconnectBetween;\n /**\n * Remove all connections where the given object is the sender.\n *\n * @param sender - The sender object of interest.\n */\n function disconnectSender(sender) {\n Private.disconnectSender(sender);\n }\n Signal.disconnectSender = disconnectSender;\n /**\n * Remove all connections where the given object is the receiver.\n *\n * @param receiver - The receiver object of interest.\n *\n * #### Notes\n * If a `thisArg` is provided when connecting a signal, that object\n * is considered the receiver. Otherwise, the `slot` is considered\n * the receiver.\n */\n function disconnectReceiver(receiver) {\n Private.disconnectReceiver(receiver);\n }\n Signal.disconnectReceiver = disconnectReceiver;\n /**\n * Remove all connections where an object is the sender or receiver.\n *\n * @param object - The object of interest.\n *\n * #### Notes\n * If a `thisArg` is provided when connecting a signal, that object\n * is considered the receiver. Otherwise, the `slot` is considered\n * the receiver.\n */\n function disconnectAll(object) {\n Private.disconnectAll(object);\n }\n Signal.disconnectAll = disconnectAll;\n /**\n * Clear all signal data associated with the given object.\n *\n * @param object - The object for which the data should be cleared.\n *\n * #### Notes\n * This removes all signal connections and any other signal data\n * associated with the object.\n */\n function clearData(object) {\n Private.disconnectAll(object);\n }\n Signal.clearData = clearData;\n /**\n * Get the signal exception handler.\n *\n * @returns The current exception handler.\n *\n * #### Notes\n * The default exception handler is `console.error`.\n */\n function getExceptionHandler() {\n return Private.exceptionHandler;\n }\n Signal.getExceptionHandler = getExceptionHandler;\n /**\n * Set the signal exception handler.\n *\n * @param handler - The function to use as the exception handler.\n *\n * @returns The old exception handler.\n *\n * #### Notes\n * The exception handler is invoked when a slot throws an exception.\n */\n function setExceptionHandler(handler) {\n let old = Private.exceptionHandler;\n Private.exceptionHandler = handler;\n return old;\n }\n Signal.setExceptionHandler = setExceptionHandler;\n})(Signal || (Signal = {}));\n/**\n * A concrete implementation of `IStream`.\n *\n * #### Example\n * ```typescript\n * import { IStream, Stream } from '@lumino/signaling';\n *\n * class SomeClass {\n *\n * constructor(name: string) {\n * this.name = name;\n * }\n *\n * readonly name: string;\n *\n * get pings(): IStream {\n * return this._pings;\n * }\n *\n * ping(value: string) {\n * this._pings.emit(value);\n * }\n *\n * private _pings = new Stream(this);\n * }\n *\n * let m1 = new SomeClass('foo');\n *\n * m1.pings.connect((_, value: string) => {\n * console.log('connect', value);\n * });\n *\n * void (async () => {\n * for await (const ping of m1.pings) {\n * console.log('iterator', ping);\n * }\n * })();\n *\n * m1.ping('alpha'); // logs: connect alpha\n * // logs: iterator alpha\n * m1.ping('beta'); // logs: connect beta\n * // logs: iterator beta\n * ```\n */\nclass Stream extends Signal {\n constructor() {\n super(...arguments);\n this._pending = new PromiseDelegate();\n }\n /**\n * Return an async iterator that yields every emission.\n */\n async *[Symbol.asyncIterator]() {\n let pending = this._pending;\n while (true) {\n try {\n const { args, next } = await pending.promise;\n pending = next;\n yield args;\n }\n catch (_) {\n return; // Any promise rejection stops the iterator.\n }\n }\n }\n /**\n * Emit the signal, invoke the connected slots, and yield the emission.\n *\n * @param args - The args to pass to the connected slots.\n */\n emit(args) {\n const pending = this._pending;\n const next = (this._pending = new PromiseDelegate());\n pending.resolve({ args, next });\n super.emit(args);\n }\n /**\n * Stop the stream's async iteration.\n */\n stop() {\n this._pending.promise.catch(() => undefined);\n this._pending.reject('stop');\n this._pending = new PromiseDelegate();\n }\n}\n/**\n * The namespace for the module implementation details.\n */\nvar Private;\n(function (Private) {\n /**\n * The signal exception handler function.\n */\n Private.exceptionHandler = (err) => {\n console.error(err);\n };\n /**\n * Connect a slot to a signal.\n *\n * @param signal - The signal of interest.\n *\n * @param slot - The slot to invoke when the signal is emitted.\n *\n * @param thisArg - The `this` context for the slot. If provided,\n * this must be a non-primitive object.\n *\n * @returns `true` if the connection succeeds, `false` otherwise.\n */\n function connect(signal, slot, thisArg) {\n // Coerce a `null` `thisArg` to `undefined`.\n thisArg = thisArg || undefined;\n // Ensure the sender's array of receivers is created.\n let receivers = receiversForSender.get(signal.sender);\n if (!receivers) {\n receivers = [];\n receiversForSender.set(signal.sender, receivers);\n }\n // Bail if a matching connection already exists.\n if (findConnection(receivers, signal, slot, thisArg)) {\n return false;\n }\n // Choose the best object for the receiver.\n let receiver = thisArg || slot;\n // Ensure the receiver's array of senders is created.\n let senders = sendersForReceiver.get(receiver);\n if (!senders) {\n senders = [];\n sendersForReceiver.set(receiver, senders);\n }\n // Create a new connection and add it to the end of each array.\n let connection = { signal, slot, thisArg };\n receivers.push(connection);\n senders.push(connection);\n // Indicate a successful connection.\n return true;\n }\n Private.connect = connect;\n /**\n * Disconnect a slot from a signal.\n *\n * @param signal - The signal of interest.\n *\n * @param slot - The slot to disconnect from the signal.\n *\n * @param thisArg - The `this` context for the slot. If provided,\n * this must be a non-primitive object.\n *\n * @returns `true` if the connection is removed, `false` otherwise.\n */\n function disconnect(signal, slot, thisArg) {\n // Coerce a `null` `thisArg` to `undefined`.\n thisArg = thisArg || undefined;\n // Lookup the list of receivers, and bail if none exist.\n let receivers = receiversForSender.get(signal.sender);\n if (!receivers || receivers.length === 0) {\n return false;\n }\n // Bail if no matching connection exits.\n let connection = findConnection(receivers, signal, slot, thisArg);\n if (!connection) {\n return false;\n }\n // Choose the best object for the receiver.\n let receiver = thisArg || slot;\n // Lookup the array of senders, which is now known to exist.\n let senders = sendersForReceiver.get(receiver);\n // Clear the connection and schedule cleanup of the arrays.\n connection.signal = null;\n scheduleCleanup(receivers);\n scheduleCleanup(senders);\n // Indicate a successful disconnection.\n return true;\n }\n Private.disconnect = disconnect;\n /**\n * Remove all connections between a sender and receiver.\n *\n * @param sender - The sender object of interest.\n *\n * @param receiver - The receiver object of interest.\n */\n function disconnectBetween(sender, receiver) {\n // If there are no receivers, there is nothing to do.\n let receivers = receiversForSender.get(sender);\n if (!receivers || receivers.length === 0) {\n return;\n }\n // If there are no senders, there is nothing to do.\n let senders = sendersForReceiver.get(receiver);\n if (!senders || senders.length === 0) {\n return;\n }\n // Clear each connection between the sender and receiver.\n for (const connection of senders) {\n // Skip connections which have already been cleared.\n if (!connection.signal) {\n continue;\n }\n // Clear the connection if it matches the sender.\n if (connection.signal.sender === sender) {\n connection.signal = null;\n }\n }\n // Schedule a cleanup of the senders and receivers.\n scheduleCleanup(receivers);\n scheduleCleanup(senders);\n }\n Private.disconnectBetween = disconnectBetween;\n /**\n * Remove all connections where the given object is the sender.\n *\n * @param sender - The sender object of interest.\n */\n function disconnectSender(sender) {\n // If there are no receivers, there is nothing to do.\n let receivers = receiversForSender.get(sender);\n if (!receivers || receivers.length === 0) {\n return;\n }\n // Clear each receiver connection.\n for (const connection of receivers) {\n // Skip connections which have already been cleared.\n if (!connection.signal) {\n continue;\n }\n // Choose the best object for the receiver.\n let receiver = connection.thisArg || connection.slot;\n // Clear the connection.\n connection.signal = null;\n // Cleanup the array of senders, which is now known to exist.\n scheduleCleanup(sendersForReceiver.get(receiver));\n }\n // Schedule a cleanup of the receivers.\n scheduleCleanup(receivers);\n }\n Private.disconnectSender = disconnectSender;\n /**\n * Remove all connections where the given object is the receiver.\n *\n * @param receiver - The receiver object of interest.\n */\n function disconnectReceiver(receiver) {\n // If there are no senders, there is nothing to do.\n let senders = sendersForReceiver.get(receiver);\n if (!senders || senders.length === 0) {\n return;\n }\n // Clear each sender connection.\n for (const connection of senders) {\n // Skip connections which have already been cleared.\n if (!connection.signal) {\n continue;\n }\n // Lookup the sender for the connection.\n let sender = connection.signal.sender;\n // Clear the connection.\n connection.signal = null;\n // Cleanup the array of receivers, which is now known to exist.\n scheduleCleanup(receiversForSender.get(sender));\n }\n // Schedule a cleanup of the list of senders.\n scheduleCleanup(senders);\n }\n Private.disconnectReceiver = disconnectReceiver;\n /**\n * Remove all connections where an object is the sender or receiver.\n *\n * @param object - The object of interest.\n */\n function disconnectAll(object) {\n // Remove all connections where the given object is the sender.\n disconnectSender(object);\n // Remove all connections where the given object is the receiver.\n disconnectReceiver(object);\n }\n Private.disconnectAll = disconnectAll;\n /**\n * Emit a signal and invoke its connected slots.\n *\n * @param signal - The signal of interest.\n *\n * @param args - The args to pass to the connected slots.\n *\n * #### Notes\n * Slots are invoked synchronously in connection order.\n *\n * Exceptions thrown by connected slots will be caught and logged.\n */\n function emit(signal, args) {\n // If there are no receivers, there is nothing to do.\n let receivers = receiversForSender.get(signal.sender);\n if (!receivers || receivers.length === 0) {\n return;\n }\n // Invoke the slots for connections with a matching signal.\n // Any connections added during emission are not invoked.\n for (let i = 0, n = receivers.length; i < n; ++i) {\n let connection = receivers[i];\n if (connection.signal === signal) {\n invokeSlot(connection, args);\n }\n }\n }\n Private.emit = emit;\n /**\n * A weak mapping of sender to array of receiver connections.\n */\n const receiversForSender = new WeakMap();\n /**\n * A weak mapping of receiver to array of sender connections.\n */\n const sendersForReceiver = new WeakMap();\n /**\n * A set of connection arrays which are pending cleanup.\n */\n const dirtySet = new Set();\n /**\n * A function to schedule an event loop callback.\n */\n const schedule = (() => {\n let ok = typeof requestAnimationFrame === 'function';\n return ok ? requestAnimationFrame : setImmediate;\n })();\n /**\n * Find a connection which matches the given parameters.\n */\n function findConnection(connections, signal, slot, thisArg) {\n return find(connections, connection => connection.signal === signal &&\n connection.slot === slot &&\n connection.thisArg === thisArg);\n }\n /**\n * Invoke a slot with the given parameters.\n *\n * The connection is assumed to be valid.\n *\n * Exceptions in the slot will be caught and logged.\n */\n function invokeSlot(connection, args) {\n let { signal, slot, thisArg } = connection;\n try {\n slot.call(thisArg, signal.sender, args);\n }\n catch (err) {\n Private.exceptionHandler(err);\n }\n }\n /**\n * Schedule a cleanup of a connection array.\n *\n * This will add the array to the dirty set and schedule a deferred\n * cleanup of the array contents. On cleanup, any connection with a\n * `null` signal will be removed from the array.\n */\n function scheduleCleanup(array) {\n if (dirtySet.size === 0) {\n schedule(cleanupDirtySet);\n }\n dirtySet.add(array);\n }\n /**\n * Cleanup the connection lists in the dirty set.\n *\n * This function should only be invoked asynchronously, when the\n * stack frame is guaranteed to not be on the path of user code.\n */\n function cleanupDirtySet() {\n dirtySet.forEach(cleanupConnections);\n dirtySet.clear();\n }\n /**\n * Cleanup the dirty connections in a connections array.\n *\n * This will remove any connection with a `null` signal.\n *\n * This function should only be invoked asynchronously, when the\n * stack frame is guaranteed to not be on the path of user code.\n */\n function cleanupConnections(connections) {\n ArrayExt.removeAllWhere(connections, isDeadConnection);\n }\n /**\n * Test whether a connection is dead.\n *\n * A dead connection has a `null` signal.\n */\n function isDeadConnection(connection) {\n return connection.signal === null;\n }\n})(Private || (Private = {}));\n\nexport { Signal, Stream };\n//# sourceMappingURL=index.es6.js.map\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n [\"altglyph\", \"altGlyph\"],\n [\"altglyphdef\", \"altGlyphDef\"],\n [\"altglyphitem\", \"altGlyphItem\"],\n [\"animatecolor\", \"animateColor\"],\n [\"animatemotion\", \"animateMotion\"],\n [\"animatetransform\", \"animateTransform\"],\n [\"clippath\", \"clipPath\"],\n [\"feblend\", \"feBlend\"],\n [\"fecolormatrix\", \"feColorMatrix\"],\n [\"fecomponenttransfer\", \"feComponentTransfer\"],\n [\"fecomposite\", \"feComposite\"],\n [\"feconvolvematrix\", \"feConvolveMatrix\"],\n [\"fediffuselighting\", \"feDiffuseLighting\"],\n [\"fedisplacementmap\", \"feDisplacementMap\"],\n [\"fedistantlight\", \"feDistantLight\"],\n [\"fedropshadow\", \"feDropShadow\"],\n [\"feflood\", \"feFlood\"],\n [\"fefunca\", \"feFuncA\"],\n [\"fefuncb\", \"feFuncB\"],\n [\"fefuncg\", \"feFuncG\"],\n [\"fefuncr\", \"feFuncR\"],\n [\"fegaussianblur\", \"feGaussianBlur\"],\n [\"feimage\", \"feImage\"],\n [\"femerge\", \"feMerge\"],\n [\"femergenode\", \"feMergeNode\"],\n [\"femorphology\", \"feMorphology\"],\n [\"feoffset\", \"feOffset\"],\n [\"fepointlight\", \"fePointLight\"],\n [\"fespecularlighting\", \"feSpecularLighting\"],\n [\"fespotlight\", \"feSpotLight\"],\n [\"fetile\", \"feTile\"],\n [\"feturbulence\", \"feTurbulence\"],\n [\"foreignobject\", \"foreignObject\"],\n [\"glyphref\", \"glyphRef\"],\n [\"lineargradient\", \"linearGradient\"],\n [\"radialgradient\", \"radialGradient\"],\n [\"textpath\", \"textPath\"],\n]);\nexports.attributeNames = new Map([\n [\"definitionurl\", \"definitionURL\"],\n [\"attributename\", \"attributeName\"],\n [\"attributetype\", \"attributeType\"],\n [\"basefrequency\", \"baseFrequency\"],\n [\"baseprofile\", \"baseProfile\"],\n [\"calcmode\", \"calcMode\"],\n [\"clippathunits\", \"clipPathUnits\"],\n [\"diffuseconstant\", \"diffuseConstant\"],\n [\"edgemode\", \"edgeMode\"],\n [\"filterunits\", \"filterUnits\"],\n [\"glyphref\", \"glyphRef\"],\n [\"gradienttransform\", \"gradientTransform\"],\n [\"gradientunits\", \"gradientUnits\"],\n [\"kernelmatrix\", \"kernelMatrix\"],\n [\"kernelunitlength\", \"kernelUnitLength\"],\n [\"keypoints\", \"keyPoints\"],\n [\"keysplines\", \"keySplines\"],\n [\"keytimes\", \"keyTimes\"],\n [\"lengthadjust\", \"lengthAdjust\"],\n [\"limitingconeangle\", \"limitingConeAngle\"],\n [\"markerheight\", \"markerHeight\"],\n [\"markerunits\", \"markerUnits\"],\n [\"markerwidth\", \"markerWidth\"],\n [\"maskcontentunits\", \"maskContentUnits\"],\n [\"maskunits\", \"maskUnits\"],\n [\"numoctaves\", \"numOctaves\"],\n [\"pathlength\", \"pathLength\"],\n [\"patterncontentunits\", \"patternContentUnits\"],\n [\"patterntransform\", \"patternTransform\"],\n [\"patternunits\", \"patternUnits\"],\n [\"pointsatx\", \"pointsAtX\"],\n [\"pointsaty\", \"pointsAtY\"],\n [\"pointsatz\", \"pointsAtZ\"],\n [\"preservealpha\", \"preserveAlpha\"],\n [\"preserveaspectratio\", \"preserveAspectRatio\"],\n [\"primitiveunits\", \"primitiveUnits\"],\n [\"refx\", \"refX\"],\n [\"refy\", \"refY\"],\n [\"repeatcount\", \"repeatCount\"],\n [\"repeatdur\", \"repeatDur\"],\n [\"requiredextensions\", \"requiredExtensions\"],\n [\"requiredfeatures\", \"requiredFeatures\"],\n [\"specularconstant\", \"specularConstant\"],\n [\"specularexponent\", \"specularExponent\"],\n [\"spreadmethod\", \"spreadMethod\"],\n [\"startoffset\", \"startOffset\"],\n [\"stddeviation\", \"stdDeviation\"],\n [\"stitchtiles\", \"stitchTiles\"],\n [\"surfacescale\", \"surfaceScale\"],\n [\"systemlanguage\", \"systemLanguage\"],\n [\"tablevalues\", \"tableValues\"],\n [\"targetx\", \"targetX\"],\n [\"targety\", \"targetY\"],\n [\"textlength\", \"textLength\"],\n [\"viewbox\", \"viewBox\"],\n [\"viewtarget\", \"viewTarget\"],\n [\"xchannelselector\", \"xChannelSelector\"],\n [\"ychannelselector\", \"yChannelSelector\"],\n [\"zoomandpan\", \"zoomAndPan\"],\n]);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_1 = require(\"./foreignNames\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n if (!attributes)\n return;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return key + \"=\\\"\" + (opts.decodeEntities !== false\n ? entities_1.encodeXML(value)\n : value.replace(/\"/g, \""\")) + \"\\\"\";\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n case ElementType.Directive:\n case ElementType.Doctype:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\" + elem.name;\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \" + attribs;\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\";\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\" + elem.data + \">\";\n}\nfunction renderText(elem, opts) {\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (opts.decodeEntities !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data = entities_1.encodeXML(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"\";\n}\nfunction renderComment(elem) {\n return \"\";\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for

      6^gt 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 qvJ~4Tv-`jLg9rbg&jR@$K@XHZN5f%y8(= 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 BGgbfq literal 13399 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 diff --git a/tests/test_graphical_units/control_data/transform/CyclicReplace.npz b/tests/test_graphical_units/control_data/transform/CyclicReplace.npz index cb93772e70433dcc0add84c1487ef215631d3138..bba12ff013855bd8875b591c8b34eca991a1120d 100644 GIT binary patch literal 18747 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 literal 18791 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 z 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 r4;YF^h7Wl7~$*>w>64SM>?lPMm#eY~`2Z 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 diff --git a/tests/test_graphical_units/control_data/threed/Y_Direction.npz b/tests/test_graphical_units/control_data/threed/Y_Direction.npz index 5d72dad8dcaa363030c22155614c9dc541ab1c9c..b4f0b39e545a718015600c7de5841f98a09a1ac4 100644 GIT binary patch literal 88858 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 z zHkWaO4oCj0_|Dz$O$S{E5qlJMR{G9mkka<9JAkVV*2~&+C64?zi;m`I_up*tPdj9n zO&8S4Jc=oB$=EZRF7Rfw&V0h)n9TGi|0sGAnkmlLboTDDmHyQUTVexP+U^|p&>^p4 z#Ji>|3vjzZhZDqiIhiQTl@sLk{G>|L6#Mtwm@CK8;{CY=#zAiMdnrg$@8Zk+qA@~C z%X_KSODT@ec;0Bq6U-q$yCBVnNJsNaBMz9$GmcZgV>b<4&b%9rk-7AAZZu6?CUho6 zs!?+G4V+O+Q;QJoKx?GBG zf^VhbE&?EP=z1(Aa>oZ;9Yx5 zc}=w396&l{ZZIrGr8S-Z%xYF;cY2225VN3r zp}bg1SH72kr5or?CFW!0?4X5Q*GG%x{>Ne3h60Z-vjv=7ZnV-bR?K|+M)3<{2Hx!F zcvofidudfk{^K%~l<3oIZv(5S03RIqhGIydF1`CIUy+`+@mJ&AH(jrXK*?Vl{?<}S z>d79_PW+TD?|%-&aF186_2SItGg4xVyC4#zli)k~!U;mDFZoS83}0`r&idZ{=1+9= z{Yx$z=%}+JJePj5Wvr^DJI(Pa#1k@QNDP=?`kY+R!;;dv1j$CU6;!{$($qdwQE_9D zQoIOj474`P&S-eJsY6MF&iTnxE(myO^$FO(M|D_{dgGA6Jd81ZuG=6Jf4{aH^d!(*j?Ulbm{LaoBvbeigf?~GM&nGKrz@`y0uL8 zw|oc$^p~~5%)U9ClU)mZK(%%*PIQF`hG4H8P#$9tPbcD06K^f*=%dX+{p@x*FcbQK zV~*tlf>U;&y+uA{eiCt`V?z=$Ki$Tg8D_%cToyGH^;=$~(RtKgf3ZXWbX6 zCw02v?sc49@Vy+`A&SP5{2i=VGkAGU9XdKrW=`vSYj zw|t!a$FEX`bvwe|!s(?PPztwJh>XiP1Ihu$&QVPa(hm36J}(RMo5QXp3 z@2Puu=`l=82-`t~omDSVcI`oPnR)`vvO!lT7`tKbGjvr+Jm7n|o$UhPB@4ID{9@ z{)klpcmFM)dq)>PkZ5a84U?YGfRW4HAy2SxTlY}529#eUVn&xJ;U-5X-sg*!{YS`7 z=<2CxXl~ICzi@xuL*}ZBlDCTwH!h-{TRVK*xSZ(QWcYlVL5?bZZ`U+UA6046XZqfA zqw98h~qckQC&@z4M0<1wEnknDl>Sp+Not?g2VpIX&nDw+%Mb8vv&%j{B&i;XYY(W4F~oq zu1(l3j5F2*GIHcQx!{4K6o6sPP7!>+=t6R#lPsM2s&k3HrCRA#z@$~crHmn-eo5G6 zt8k{`+dV>c1MjW%wCpSEm%3{C|Caw(*VLldXEwpd{|(!J&MO1^v`o7u{wkNPe>WD0 z*r@DYT9R-tHnL2H9g0Wm6G*qQtxbJ!MZr^fL7;C}0d|4*|I)SoaxBeGu6k;Gk>#nu zumn%HUXwzJoj0Zn?D*P_Lcj7TXtgZWf*bZb#I1Q%UpS;R-FSUA=9$X1dD=MMjcm{9 z|5&6d%5QvQ8fq}D82)+Tp*3C z5abEs(-DGUQ!t#YP|;NmA%FB~@+DyxE3$!aLq)3MS_00*YcTa!LId=C1zR!* zcFrbAS6{R|(H2dl;L%M;xv7&gl1Sl!H?k>R2>Ibjp(oMx7JtS6F|9P+^iO2<3{}+` zw+--FXgk680)EtZNJ%c|BzURt2cE-q*bL6jNpCu({m$oEs6!jxDlZK^I}KIG(O6(o zh?@R0uW9fi8n5SLQR968!Sb)Ng8v^$R~gsz`?W1lNl~VBNe%=_r4>Xv$2MYsQX{27 z8bngMq&s9ALl~VRJz#)zOE*Z2j%UCB^OC*e`?>FP&V8LLLe8Q-j?E3xs9ect3i^mj zO$T_3IF%K3H`l*%P92rPm(~eBCf@}A4<~CuZWe3)-snF}PxPQsp1plwuZxWLlI0k0 zM^5y4PXv1CDSOV<50t6idD<>nTG{ew7MwcuJ=ba%Wnvg?it-+YE*zhF3K)j3pzdrg zSyCuoOsH7FJI4L)Xi78ASpYQt=3MAroa}`@SB(Be@6dQ#_Hu!8LG$KF(@B$M_~P=k zOE$#Mh*@`IH+YcpGZl#<|8Mmr{qEhE;7ES)0$cOgKTJeDFQ{S*@|bEk9t(*k4%GiR z*^#~Pf&ZRsCjt;aNNv_!a{O2+slUC-aZ0WDqrzH=o((?6U;O*<`XORWIM-5| zei|{C9BN-!Ion=sQ(=#5_$j$&h8`!ywLluXj;txi~XIOfe=@Mk<|Mx^$I*a@FVg1HeL+_L|n zZBwGOFe}e(KnYIso1C=v<30TZo|;gkmii0CNAHo*J4CbhBSDUs`{xWX$yVxPYva)8 zM=o9{ku7RFQ13nTAt4j4-}sFffkE;A?C#07v&Gf2>&>zpj3Oy{y-*GE zk8AOQ*U7`$5kDH-D}R!Q_|P}TRm^$V&$6KE~X{?WPJQ$e>~nk@5jLC=jbA5qJEOZFVKm5zMqso?!B!zS06G; zLVGgps=s%t1{j*HP;mWpPI`n>*^4sW0m@{$y*wk3z6pct#M!P#3#q~mkz?TsHy*xo zKX%ah0nWo`JKOYM}~y~hnPZ=DB}m3Ab_H?HFP&_X5w4bQ*-ZN`&GF*L01 zAgnE+RVZx@gO>Y@)%X8(r|^}ejn2G(Mur>n?6=^u=3V;gaKp&lOtKrDBtjq@>6MF; z8k&?&t?@up_2#?eTGr|X=NZii0+$aJ$>&X;jUMVsCbae{-Ga_1)Yu(uaaVM&cp6qR zW9>#g`^zxX$*ae@_rtSi*D*m7hAItD+3`#YCx@3`j&5>OJ#)t(&wut7oQv-j}`unGIE-aHQyX! zove(dDPHh){n%q}yO~$Hl083*#)C%2UD($H>d+l-*V)37>2XSvU-=m{w#d)eoWSa-QIzRIAE4K_#RNNkZ#uBikg!csUBod$PL>fC=2f%=2cCyyM}M%%EB#SI74; z@`iZ&v=S7BGUTchyj)Ox3|QDe!OFywPSutVpBBvawd_;+0LE2U#C$!U#s2l>S7z?xa7`cbs@>3|Ack|+%$*A(nbVI`DWB0`TSs_^7_{N^qZ?L zsYVw5_f}Tbwt*!hC`-o7mm(&iMjS+jc=`>(yR&R!zC6C03EBVO;Avr-yp!;Ao5pN~ z7TRe)vev57V1f)=KpJB`dYRCR)6l|v9={h!_K9Zlg_MeKiry0IkK8oqe25AVn-+Wz zCCI%b>AOl~g`;)+-L)KA{HDsv=qxqP`rajM8YOhsXO6fe?HWUmF7v8e=O(#3KE*1# zjtfuc%v$)2>KYN0j9%M%;eL#@kM&jk;Erl--m$r!`mTnvB0j&?5n7o^@CUnD1gek9 z4nDJvzp}g{Qt;o}&5mYxb{zp-TP`Wi`a%lDz1@35Y3|NhYvlHp5SI&eJM$PN-?TkS z-sii1WoH0YKd(o86l6|ReZ|~hvr~=~saDjIYl=w`~^9O(}Z9B z<-@=Yn_?<$V8cDV;7ugpzVqlku7RARDBYpvXhLtn4&5F*gPg1p3dor^4!t(~8uaV6 zCgW&fY_Slzvw&({ynVcUo6ZN2li1UwF?BPyDYhn`(JIbR(id~^;q~*`_^NLsYk`Wq zg(geC%9g~+zzWYn`~T|Rtnm!6aH+a+7F|^3Ts~9y40kl`GF%)-RSLA_PYM&*0Udg@ zQYUwu1tEE9SFkrShsJ%X?E}*bKAr~zIl!;*u%#UO?a)Ttw@*-`KR(1z3CatP(VsQQ zT|NHa(pwhA$j&f{^nO@l?BxF{nJRXsp>m=GFI-?{6h6fD)>nMRpRUULP%|GvGuhj;Bt5v?`g+j4IqZg2)6~ zHJu^0=}IlXb#RwETl2eGzs*!p@Is+i&jg`WZs4!w#?hCP*b4GpJtxuLcr$9kK6o=V zut(y3cGw0|#uk7Ipa`WjQ5PSH-4ZNjqxZzJv=xyo^CV826_=E0?^YqSZ1f^J@+;vT z6JFM1Ld$HUU)XFs7A1no@JBrE1c}@$WDcX&>4n?+mB*v(@%QvnNK@~Tk@YXfYQaLb zLC9jMC&f~?DhxJo12NBMFrRbJ7?q$cg#UGL2H&tmrBx9h*;ZU$5jwF`@tCb=mg@gU z<(rG|H%X`B1Yp&~*z1ggCdUr{ldG!>+|!hf8FPy}LJOVMBR-qDjGeot4TCX$u&Q0x zq%rMxnf$6b-LY&XY2e~IGQL6Xhlb>lBVL&$9X|>5kOG3px>t`$XQyu({5%n9sfQ=? z!vEFI7ETVfY{4@V)>J~(bHpHCgPKygL-4a1k!+`d+&9TnUJh833U#3$CaVLwc9Fs7 zcLb^~vNQ`FDYN#~`dh)>BJ0@{>}1kn)M92{2qV{;C(U%$onM~Wka$AyfU~0)i|d)FB~@56x|Rk z+5X&F2WotHJQclZsoIa%JBr6>FffqzskpC$e9wVfP3fr+B$+=t1*s+Q7Xp2_gX;T8 z`%Y$turMa9EreyydSrh|t8Hh|KkP|t1RW2aG)CS>9; zkyceQYib&xUUF#z7+;-cyz%v6dPqX)#3=y^P+p4$bJ%{rC)AtQMut2V*TC?@T8h`v z&oX5@2+oRibdZm?xTsBLnd>4hZertv^u~%C&u=dKZk}NEf{Q4v2NWKvSnuwI7oe#0 zw>Dj-0)4-bec7F05y*8Iy2LACRpRb#zLPuR%G2NZQTFJJGL@I^M&e}AD?uvEgpfKN zbXCA~bWV&R{Vt&CN!;HX230!50lYGo@9i0MjI@x_PJMq@J?f(M;jFIyuo9KPpyoueHZ?bMK-e(^0`?WEyPfes{RuW@a2*br|EJcjf|ql_*y(ewqew z24ssO!$;i*%S3)6^us?QTg!>FF(S;>i<`V_OuPqZp@COU?hipv89DVZ0*=l}yhcUN zExrk+XN3LGhC5;Bhsf>=w!`YuhHzh=Jcfb*(eK~#emnE`Df+bF5{5Wz`WA@$rjuq7 zy8RXRryOxLLA8D%gr%i&Th2}&uvN68q&~lj&&9X~VVFWMIpo)D(ysJ>d{R7jBjKz# zm(ExVe6YYX@J>5B)MvMEQMml;o&f>Cf8o^+q#rP9*&K(ozUBpSU0;$wV|{CDZII>8 zedVz;E+ptm=2pM@!6R{YH*LQ^z5nL*)jZGgvmeQtgdVQ+d$e2_S&di9$!ij|zhe3t zwrS+JeckX#zxuw8m&Qdcp&Hk~9P6>0UEr*S!0(xuF<)5Kf-AV+ipf1m*9Kyg?7WTm zaDMx&8XS}RW#3Mqx|DD;u`dgkJ0RcaIrVA;h)@rQIvR7n1V=GVd9D(=lWP@Vb-dvt zIdRYdc-)64D;0N40WiABmiu)rTVFXH(~9Rmm*I4MmEA7R_xQq^(oJJFCg`%Vic$mX z@ufiTuAE1^dBkk(_#;o!`HSB!Og*x%_*<(aC@>?z$B6@(yfd$On`l|s;br->Pd5zq z;d(P7Oy)bl>Q3zNH(`fN{_(2fNpWo2E$e#j+B}(%9oIOOyyJTXlnUqgCm@ZPNrg+h z|1AnnL;W9MSBb4QOM-->n8m$y2Fa$enU0NC_uEGpzRu*X6UM*^^6jPnpX|jw^h)gK z&~iLGH*;}CmCKpGZ>9Y*} zxrb}uY@KR}J@?VJ@-9i#oqDXxtDkM+wzDe;71gJ@Xw{{xB)2+%nph!Ab>3mDtYQCT z!$;RT^~cqlViohu96yk10F<9}AQSwf8O@kI?`>N-wGENP^BFMP0`Jj91%>=;JKs?; zUrM2ny94Sck~a<_@#AOyc6oX-a0m(O^AHIlfFMMAcNYCG@NQgDz~K>0)d8TquV zjh|;e;@Q8dzwNy~n3)@5v^({5(>jvH?uDyjSU=7rKI@<&>EISVqYw;IuuP_Ev`s1k z_=hOW4SwP_Zr-I}?!>NtdpZiLDaOf<#WKW;aP7l>kw#^=0kE3Zcc~iBdran{d(HpngU-{pP12nK!xC*dWW&dgl*q!|a!s&0x zpbbd2ft6gfu0XJmC=wSZv`tW;cPsN&jm?8C#>qE&K}SW-IBTc zCo}ML{q{Q#4O8%a$HCO-m@G_pJ!3qQ==1wc?|>n{wH(}7w?Ra|x8X<`72YNSpE0zi zos-#8z^L$S`Hi4WGmJpfiW783EgC63^9)g_Usb4m#kggG)QWN&cBUXHCi*wL?Aa~Y z`BrD#x^~8knqQ3B>AXbtj`NH1*U+h$2uq#;_7Q)wfy>U}_JPrbuZKs&n)0St@H*pq zNWqwr0hFVX;j3_I=wG|(P?oZ}`%a^wEJ#I-I$%d#o6Ye)1@C+4WRp?w8kFXbV?Rlq z$~K{VC&Bww%=n0&aEDKmWDX25@eZ7@>Ng1CRN5efwU`FMfUM^-gko%`7bU|qYb)J6 zMj>o#Fh%Q4cv62>dniV8{GYz>h4?v3ne0>a3FCaFw(Gwue>U8WOQGul=sjp*(hEOh ztGwRGRF-$Gme2Og%CDy2~kdNE`Rsk^&3R1c&!3$Eymz-dAyqvdV<3#K*IdW7D|JI`CQRsRRnDgr$Z zdbk!`M|i9@bl$#KypvyotMb3MCMnZ-5iFoJ-#O-YYi)}FP_{i|+9Ni0B}~f=Hc^w{ z7vD~D>{tl|5Z+$7Cp0@i>nGv}s@fzA&7+H5nwv@Ruhp0Wj;^R2J@~8Uj{xzk@1}1$6p5`t* zj?lwF6r1#&?nv6$n!Ej(ZKG4SB4!~dhDaq{m^`KE24v^Edbgvyr!s5B-k-P>G_`ZA zyT$!saCaRCh796fJQn5~{In=(Ms=I;X3)3ux*eA-6l%tz?fqw3v;Ieb-@$j%{_H1C zqq&JSVcErP54(gV-J2-A+FmZ(qVKtmD)bjSDqqmTb}uu|ui=kOydUt3Fobv)@ftS- zUe%F|qasV~YQ6NE>(cygKwv$GtnKy49XtV{ zt)rhf0j8|+-u{;aJZghLnCs&$YraFA&lDkA!(!r1%j61|ce}Z3MTZLh)I^6pC!HyB zuG>@@|5!Vv?wfhc(6LtM5~0abvO-NA!zl?boz4&~(g-a>CW2y4?j@l0ts^-;+zV#6 z8@1;CH72pU z3&`CKomv%N>AbT3%D10{zpr21L`#b$!QZ?#1LJ%`PBw(K-B zzV`5lhqtcZ@~~6loSu~Qh z5P5j%ur>)#At5W)i1s(|dVOQQ-VNpbMOZ7LBi6SV7`pzQRKjJcI@ zAPNm-#T;@djY|pCA}hT79>zQ^`)F8KF{+`UyE~xmC)6o#kWF^M6Ru+8z`mTe^mlcF z)&pIl8Met&X8em&s41X$cQ24D>+_e>Nr?;r2V>6_K<(#!HXlNE=D+i;GBddE#q@j# z^X1?BgVXcmE1MUeAx}Y+IkM0~0-Io@bvRax`gYG%@q*5omM%M z7okl6N7BG2?`Z#HKSsUK-gB^hHbPKaaugc>;+NMS^mReAKy&K?Ts@K}in?^w8(g4v zCL3Hy6JT!aQ2NOD^4jSZAr@J%TjX?JlbO42)yhgwVpWVlAF@En9V!~brB3RQmiJ{G zI(TGQ#^|ZJhjixdMqaBMvxz&7cSAUt5?@?@Xs zE>`2mDmCB(1zdNB-_(QP(Kq+?DB9nJOa4$8t1loAIkAnMy^_FRjsJ_;w??LSQf3wz zsD1SYeP{K4O&l-zoJHB2E`H<(F@We5YTww;l*Ad*nNwQ@gg$Q2pmG9t{$#j5@b``R z@3T6tA2jXxQjScy|JVWs{fLl$n-27S{aENo`xF&=%_wF6lH}$>1>(WLz2-nLsLB6R z3m^T+U8GS$9{)4x6DpeEvV^N#7Xv?j1vri@6#9!RebX%GGWJX?#L7Q<=kQHg=zr2B z8`mOo#EVo%&tctlTOlLnQw?xV;s7ID1n|nF{1v4Ca&07abO{Bmxw}Y5@wZ;rH4~E@ zi1R8S|7CUe;doHN<&4%%rdj}Pgxth)FPGzoX*X1=leg+_(SEHAKRrr>n*uKOuP`5s z{dN82Ff?)5S_9_X()Cuw87X*7SGN3~e8@3az;K8Iba=-(gf@{<)PsM|Iimv5E7%TjM)l^&*Pk=FoCS zzCXyD7<;*rk5yA8va%8<4#zCMx8S|aZ;n}I5=}D#W7*(+ zqlG>R_0xRa#Xyc%olyrM$|JgDyOIxTD4)(^-ZXqsk_@=+=vgd?Vd;Osec`=0P!hRT1Kjpvoq5fE*8}shpB7#2up<~m92o<#OC^LjFC?l-Y?_kWI z%g>!4WAOJpo`f%qWzr8y{|Ls2X8#V)JNaw#OqSqCd9uEBqcW|1DZ|ZEKkQf@Tw&NN zSZiN*i+pQw6g5R2;{zk;dW7A{QP_Nm2#=OqEBLi_|W<*OoP^}v?sTJUn{ZE3P z{2u-($&fG|H=NEt%80t6wDI6~5yrUl0_kI^chuBt*uSa5TW9=>cc<%L>Hwe|hSxry zZXf6;`2KMdyj?`ti#b{YnwjGb*cQ5jJpRJAxEkw#U61aLUue|Xuc&PPvaTI*zcdC0!P2 z-63%lS(N-ksgM3UAjUNhnB09IT2mb{Xp<*lN`Cx3nN<_9K%K4zJ<_D*jab-cU*Xw2 z>jF~#n(UPS93t+;ux5KDv(E^%3Ly%o%?Y=c8bQ$~0+3pyMM%z%E+k4mcJ3)<*S9$${n4y| zBGV;=;Szkoc}tKPYTrK^o$pw+LbHtTkRP71e`^Dg76#;mp66WLKC1v1m(TQq?R*Ko z3aD@WFLwqXd5lh|(DzMA==Zzjc#KN%NxpxLgP-6>Cv52ZNS zQo8mh{|4+(#auasvf8IiX91_KWr0=Set#yA-BdVbK6)hEu(;HG8Ffi;rpz(lvf5jc z(E1U>TA(;+#8Wu{)CJ|%x^v{_(6a5T-``i0V)Z5xKRMTKfh@}`|KM)9s+Ro6s1%h=XKvxzj5F*9YRg-$dY#{LBOd9!no{A0Hyv!qK9Lm; zeL^w4Em?U#((?IoiNKQhk8Y@PQ`Z+Xm=y$2%LpRaUTq3$+$UHhl_ykkv6SzyFCVoB z*^~s-q=C~HsN4zi$*E1m2Rn;2+k*dSBD^Pz$R6TFv>Yv6*^|JCl){&a-RBO3%HZl4BXm3Zb zb}Vy->h_s5{EayDkxoCt1NAs0H`;^1o55z6h7@guO_L}9Jx~%QYgBzO=VD~h#|}ZJ zkzHizhM4XzAX#l&Xc^zIdhNJ_jrJ1$T3Ae!9na8JEztO-5gRaFvKBHOF*CdDWKUSS_1R!0}!g!^n?g+x7Yw9Z^b{Xs7^Gc z%$ienKO(md znlVa(7cq^?N$)D%S*BlN0n1-CauTcXSr6I@tm$IXe%8F*Ypks{bx!Kk`n?Vmytw1d z2mVi53oqT56duSfgD`f3pS;~^J}7~zk9gMs^-Oa8ez(RE55@qk=kI&+)~zLeFG1s( z$URTWct;Nxy$FVdtDx8Y2cOix$faRMwN2SK5n*1gith=3$fxeJhLptGe|2jMb+|2hPG-K^!n4zlWzWqZQ;+3}1-D{5t(El3!e5V_`pna0$5tTr7{ghuu z7_uT{C3cFrC%v@xwQX1G_weilf&j?&`kLAAfxQG^RQiTk?^WIZ;tVD{JLbFAdchuC{H<3#y#GF&182&O zzg*5?v?lzC5|?Uzmaf}CGM`(#yjRt3A8g4US^CQRih;+FTw~<12f&ZXtO^CI8ioG2 z{|J94q{47Q_-d8z{eM%8Yc(UWI{u}^Fb?~%CY1ko5{@9tQK6UW_*Qc8!dVL)M$iz$ zufp(WL_1RoC$E&f1NaNvH|~*aViGoI5g%5cL@e-7+dX@jYGZ4f{v#VC9@Vj3Vl<(R zGg0NvmY=zx7`lApnR$xO=dMgJT$YS>!kWm3oD*r=Ckdav?Iy4x)qlA?e~hmGEw2L%vK*8}Yd=xqU_$x~i%-dvgE517@X1XX3fO3Tw2L zvJsUfT7(MI+5twRUU&Z6j?i)^^)BktduaPItZf-FS*SrH^eSKu5s*aAXd9Yj_-B9D zet;dH{dYwJpfY;tG^9Qn;11@QJR$2)cCD6(XkqMR4_bW@>qp`0G)upDAd{D>5>V&w zL!h)=I1OIprS9OS5)YRYi1kUA54Pr+#g)g}=zj8~MztBznh zWUsyXDl|vfK*ix6m7#CO8SmoS5}_N5wcPBr5bfNJ8nhq$)sft`+rq1n+(@}*AhWQH zSmyt@2{tqWSI3g9e6!Z7OT3-*ZR6hucB)-U_P14nlvD4SKS1NElcu!PB$wp2r@-@J z1g0=PX6$q}vv(WFi<(@Mn|iTLdkA}Ck^8o$6qcIHCu)TbU7#Z3L!A&;j*N{MI-I5e z%hzbkH|6I+!OrkY5yHA7%mzUL6u&#ODx5EFQ6T+>;7um*UHPca37@4`BqtMHklMke zPPj8Zy>DSH5jGQb)|Y>cS_{_%v<4aZ%h#0u4hY1_?mf39_%h&C7spVp7jo`k6_a}_ z8L!!@>nD6B#tqqONoF;#gZ3`@_Ya+3FWgJ_Kardd=xjC^O!fL}Fs*ztPy552139HS z2^7mI(IVjz_=V@6mu`i@z^~mG%8^BP2!tK+CkSXoj=Sjn%`xX(b2h+k8oHHWMLeRh zyioUr-L5blg(qy#nioxxL!*$C#NUj_D)$uQ;qz@AIdx?N$qq4v`whWHmT$OUL-mEt zTX@d4J>*wjsRJgY1J-4#@_g=M%N~K8Rs6Rm#ax6HRSYtv?Z26(`)CA~x#B5yQ6&qM z+(2cgzw>~Idr&9%Ga0s7GzaKqIj54$Cy;))Uy=e0tQZN7j$zF`d-QH($63~-(VNCM zgT)5o@!;;$CEAj)(rSDYP8Xh zn!n1$Mdyo3n#-*r6iMp4HL#M4%mM{LBtNVh=hoo6x}!X*3pbGc;$qJ%SGjou-{bqW zBr&kv;>7Uj?n=>4wfe_tOH8_${mracdgUy8hlp~Unq{@cd%@m#JK7FDLrdZw(~6YT z)YOH`y^|P zo(wjKbe4aqBN>zLbsqA;4m{$Ml!UB30GPN1jt!duirc`Qr#5!z)CGhS zX3fM+lRBr7<8}x6xb}3WN=<&niy;=xjRSzBS)m(4*TSF7k#wDim*6)^jBWDh#+Rc# z?p(`id+%usFLo+5A!oo z|N0Ezv7U*>0MAc_#Vc(uQyi{2KMxzUR?(qYUu#-7nc&z?SnG?vU3fL?XA3qSB0gt< zhv@t0x;og(#e=vW{Zq(}$bqW2nIFGg*ih{U~O&V?14^Kw9WCV?)y_bOI3bS!Y~Y|WAk zP#Ro>1Bv3?Uj=}PJ{F?TKThVHq~{h0W(wQC2T58vxTNW`-dHR*3YLG z;%yA}Lg689$6zXbTZ)`?fENKo?~Sy4643)9iSyLpjS~8*tG1G9+x9P({E%*2pU#f( z#a?WJ1;=#{PQD_K0d^rKLy$C9mFCA9!`B|^y&zbM3O=i_jJioibK4mCCeCI2IWpN` zTc45trEvn+SEaHi3k=O!1Ju<9yBF2Vwx;?Or-RZbb5SYVZB|=WZD$8B$sAc3P4ux9S!^`leDMVE4mo-mS`} zEpqYHC~SZ|*FJqUxrS^H%o6X7^gGs9J|#dgZO4m3pXX=p-KZFD3(TmkQ6#iH`<-v< zJpcoJ2We2-wt$ZN!|`719@4t)Gx(o*{z6-f_tS3NX8P(Nill`Lz`W;onyXpSZ2C5o zKKp(>eIwU9AQw#Jxf35L~ zVR2i(#3d=d^k5ao>c1-mo;wmRIAV~OQ>BhKFpZt|r4UU}CWBhgTOcEL?~zlgBIDSws!NHC(hSKsSQ-8M5u@C@~`U9Im1@pBWt=vc>IC7g)VuhpEm-#VwbPr}pVO zy=Wzq-5Id}zGoGsXcQa`cZbhp2;p>ny!FPts#6-@v*PV=JY%UXe^ae9Wzs|~kqHAs zJYavLyi>I*wZupg`z)b$-J>bR&Bb9z%F!On%$rpO&jM8F(h7J2&_InmX^Anpp7&qe z_1+!xX1wmm_K&ddl4)zrV|;+B4)U0Lzsa?~t6d)M$p|`74*{z-kySOtN#_SLB5A?T$rM3%{?%0sbeSzEAki(N=bEkt$J^reg^o=T|mA0VO7m zktRefGdmJ6x5iQWKmf(63pmCC=7v7wj)&)q)T+#4*kFab`c!D06VwC3RY!c-y#rpD zQK0TOGUZ+oim>EoYdX32I6XgZ@KI3Y*f94-OGNb~A9*#kfYAQz^)%EXQ@bdnA?k+e+H5hnq}%qSvYq;I2MF8{Yu@$ngs`+(wU~YZ~aW-iR1wL5v8g#40W5l$l;lK z+N5+)_1~A>-1UC?OVWvc(|{1v^1Tn$Acjm);aRk(<3x3YQ#iaBz$QO|c2s*Fc7m-z zUEI(@_0E?u4_EpzI%^0v?g_*_D2-g53OK};yUUGQ)A+6B2~U9tv%IrBUj*$KV!I`9 zEH$0X!D)$?bplZ@9PXxpo`8XeQ-5Q%X3friY^lgwgQRw%5W7lpYwwtd*MK}wa-lu` z`RPA%+46NNCCYar-AeX>VwL$ zR4`-;%5m)LsWJVof<(u)Mp>wcZ7y{x63CMhv8)+e#xK!i6d4a0q>Y)@^be_eySLCZ z>)+~sdG4*}cygz;tcP^3j^5#u-$SMzu?OhtP={8_)p-ndJ55$z%1w3g=#E4Y-xD{# zlfapnc039zJKPI~(eVCkXBx6!#E=iQUP`-Wl}wb;>nwfcy55?OFAKKlSp*Skg7LQc zTqI&uhgxi|J@9ge4yNGsDLlgg)xMB7TO)-`ZhDZhhk2Zi6tXmPs@`~1mIYVbyEkv0v>D$$kFk4Oa|8behle13gQV54kt$BUZ!7AajcerCydK zg9-<9>;$)u_f42!E83oShi^FBH1@g8bVswol5^9&YRqCipFM<<=fDk*8`3*C9U>cB(ig{Ek5r?|cI|F0R9Gd=J+?pY~EJ`>8`B z?0OfQ%FIm0#2A2cx!t=fJ^6n|REC@(N^_EDGYXR@3Ex=?{=L|rK>P!@i|qbwhn&;! z=JaVlMoYvtBseEkw}0NzWH3p()Jx#_=HR;&-t{-Gkx7AE{D&2PXWSh_Ml{<2)_~Gu z)v4I~M7vr-Xis0c6>R<~NdjsON0Y7)$}B+J#+Hu|>In(&i3}otQm!~9gsz=f}*yYj%Q1Zfj3Fww-|2iNauq^|inyjg_ z>~z+?{QIdjMTOaHWnf!QtIm_mv{V?G5ueQK+*kU+P-HB!;8SlqN+Gu}^NJIo$z!{b zG3pHbY6+x_XMPJ;Dh*wVTKO67$9yyKkD>W$xJ=crUlcrl-7{V;cx1-FJ%R4#QZup6 zRqWt&+9iZyr!+MSY=J^NjH#kZfA`9Yg(E9zw?6FhE7t;1xYX4qOnK5^#!Bi>Di48? z`A}}vu^q&X&-I0)rcq2|y{m3bVq43vw?QR|!mq;!XEx6m?26&~f?!}@Kpbu8Nj%qk zG(a*VjV$Q2B1fB=@w$n!B!R1hdAOOQ<(=li%O1w>sv}x)Ecw@D73sL=-_FveovFn8 zZk|;eS+?65dN5$U7qx~58bA3XiirOVzDz{xsA~!V8=h$W@rpXo{5TAldY(M~`JuSm zTHLr}+}X`HZmYV;MT*t=$@GA!1?o!N99BuB$Y-^V%qdCCM14Tb)C!&Efo5|HX#)Yg zQa8;@Dcdv}Xwmf?Zbc-BYWV_MVez94weNSG;q4!RZbln(cE@S$()|+Btm1~54I|zL z1?E7V6L?rj?Ww?d3RW5vXRA@s`_LuUb|f&b^k4t<7yI(;g;3cR%x0wDaRb-Sts|Y& zWxKo?D{)Qh=4{iE@`zMCliq1oSk@?S7wSee!M!Rkf^cy0z!BzF3C&+k5G&XAYKFv_6%fRC(Tj zF~2_p8ee!a{=NL)TyVSzD0u9~_maMrJ>IVze{?7oTH@-wp^#Fg9u2^sb$`hc`15QC z_HalFSrJ2nJ}9s&OysfSFyF0XWyH?g3qkig^y%-&CSU5sbEtA(xlA)#MXAF&Xe-?- zS&Bw9LrcQCGvxD{Qt7P+TBu=e*3D0~YzBZ0ieA--Z1uN0j`7Q|QJL>iow;fnFok!Q zh=n>YQ6^xaTi`N0A5%(5H0kWN`=$?5I2dzF#X`G^|BNtw9o^b15eh9s9~)-fz@wvI zrI~cWOT`0l)@;Y{6c%JJCp%x;$6XY+nng~wN>HH=fFb7~i^lx`XLec=`|nAwnz-nW zz(fRN@w0_Bfva~1wm+!r*P4S*M|J?OJ4z{aI#7tL)JpK*lQ!4q* zRz8iJIRRWd{Fd=6>5(er|6L=8Nz%gypi5LA0Zn(kK5yLjs>9NlDU39*=HUo@NQu~{ zAShZW7&A9{4DE?w)UWtDa{l9FUAp~A$8};UKSaUmWs*s&*w@6`Me`1-cdL7$9@XSK z4Q#1_1u`iDXcfAck!3`xA zc1I9xe<4j4vUMFM+-WKKQf9dK=bx8tY6*#%)MTOx{$gU&JyPgkPoEcMbz6)Mw@>5rdx}Z#l68k@fZe3KPH)GrMkAhg6~EOp z?Ry(^s2LQbxGkj9=#2)-bnxUOaALWe_ppdu53HLC;ORL z66Y_smr(1p%%fgypeU=la10KH^K?2nyfkW9@6hKABe+gh*Xb1Z@QM) zE_+ct{_bQ%^q*SQ+e#&vTltGe%9yx#F9^Fslj~*LvYo=JwVM#^xv1eN83zbWmx@e3 z$?6mo6b{>;WD3ciD!CC6fhzbSOD46kAUTV6s0hcRT2nR!$QlEF1L)Cx)lwXx{>+Op zR+d)=YP3FMK6Kvpd{&|kE835>*;%!)7pH5NeDW z=y}P6O><`-1Db7aWGdhU1th(4A0im%J{SvWAzdq2>07G|@iT@^Mtp9Ut4PwzBKX~m?k(x17c1Kpj>NG^D%VDIxAbX*ckz z{CxRV4f9Wqo*>pK$tkTloiO2~z&`P|C!ycmhqjpG;8POYO?7Xd3lFxmLmbg;RRQB6 za(xFVzJ3@KjvT4h8(~v+u13&=jsFFfoFdQyNrW_*Lw=s-c5^tmtFoY8_vSa#>k}5kCEe8feSM#X{0|(o;#xjF{ln$)N!{p=}%w9LGPTCt>imP zB-n3H)i1I;zN5zPa*5e&6ahY+p1%&szS@SL?hmw(UeK$qyB#Q1Gty1j#EmD0+zp-v zs}(j9OTY|she8z^kxkb0RLErn|8-r&*d5&3oz2e>mqkyAvieXWvcM9VZcr7VQx52H zfF2}PkEB{VyFXfTVdS*H5az0@=Q4?cMI`7dMe6>Yr5NPmItr0#@Hh(@{Yp>F1#79d!^xCmScjT`aP6=DRuhWNOmC$T`X3+On3t zv~z8)Y#~>1xtS;TsD0puaZ7$aNENFRl0Nn)O*W_*{Im^n$KrG-3rFn~y_fUbqx}#S zF|Xj7-astrXo0*dF3GWg_~m@xGJUcJWQAtK$C!Lxe%lj6PN+&_12>muuQ`Fc`nv;D zfdq({`qkQB$Nf(L5S6FJryS3+smVb8he)b+2BZpFV%#MbO30Z&>yvU9!QFTrt{Nkd z1?Id$-g?Z?@E&MzDU?v1BuvzC6oYd>^jRS6Y|}O9OUWIC9oW< zC=Qa;dWq}@{}zJ$85FbhHJwar<8700xm6lvlIToT^6Kk1D|a`NlPT%nCFV`rX}KR* ztHqmOmM4S|TvddnaR?7gL1^RzX7Gh8+h6X$cCICU*ZUun&-S?x16m+oZKuPBe>Zho z=4tBpl?*nu*(_6yz<>JLbE(;aeTN7uJAi)EdjUn7MZ_`bqtJ(fm!V=4)NQcao|_N4XhCRaZ-E}?g-_ij0Z ziT2~bBF`MTM;80sRHc#IbC`Gx_)JM^$`Zo?N1m7K9t}{_S|GzGWg-XMQ`-sf=B8SH zHnHZ088Se{@ayQI;mxytZqLtL2XFvT>wADt(kl$<+m+<HE3-#`|j%GReFb{JsrScd_d6#{6wrT=bt^wL?|$yEmn_$_gldYn*84{ zU&nH&@-^9>on@QAKyV@VL<#FqGQa z7Viyt7&Sx(;{X@}JWNEfVAFqK3n<%t^rpo~e$5S5x0x^{Y6*a>55ZQM&&$*lT2qz$&Pu+LN+vNAu-;;%mcArmue$C$x_PoGzL?yJ;zmedh zgNObwPfI@26vamUR;p2?xJ$4^F+*Qc(bJa&ovCA;>1~i?XUOL!UcUn*p@NWg$8#hn zGkf|rTbgq;wPb?7hb80Qzf0aLoK$}oJw7STTPQ`td8lL%gE6}Qc?rRr`4)(NY_9Py zW53TWz6RY-h*;ydc-+jYoG7Q3T{xD~fSX8r(Hy z6er#+F93B~;~l2qwROJl^M52=WmuE#+kbo%Q9uwS1nCgi2mxsZDk)vt7%45?QUgQ* zVM@yAP*OHVjZSH4=@O6}j_!u{e*W)AzHl5n@9VnG_{HhLZ~n>Gu+ZEl%8%AdGlhQ+ zX{nNm(2`|WGOJog+J-J3_Zo_hNghLYb*}B!YNu*Yqp4G&!SBM3e+!(7X(n1+{@tH% z-HPX^jycH+EtADhv}ByYE<|G&rNZQ^qL%~N7~x^G&0)!OaQq_$3<5^F{}#~)UG*5} zsFvWG-?r&~pw6ZJW@(p-W@41aqtPVn@fhLP&}{e@=tn;IskLivP$GMk9G2@kr42ei==pr^g+VK&r_og)gqcv@1!$053t1kvl z29-{0aR+KB1|ET`~fpid!&AJZgF2?rwt?#i#qW z*>exu*hBNuqee|?%SW{$I}P|NgTrf32b+@IMeRaYTm-&(m$TJ}=AEhUj{n40kWqH` zF2q&dW=X-4q{wr3YLF0U;_I*KfZ_cZ8UEsNt3j7(n6giCYMSwfM+D+l5NuyIW+y!6q48?|jUNwF+9Jbm<0k#)Gvp10~)E1!DoT_hT zbUA|Hz#xu~b0%f!*Iq#Vc&WvM%^-)&bO1gV+d;1Rvbi0+%0EOSeG zWTKQj_)5Du@oay74>SH+^UsW7saweM#8X7#-)(GW0ZSqXo@M>jx_EWd&|AYy?fhn# zTq4y9Y7If#81nrI4{f#E3WhVR3i$EXUmm}7Oee7e2c{n`sx+gK^1!dxfSjGQmDV?f znu*#|((E4^*t6MS!Ii>015XgN>yl-(agK`)Ox^QsZqV2%6K@<(s0TXM^L>;bjQGDO z1fAR9Yf!FDAjjr!iy-kP#w^DI(W1{|(&1#gkOR`)&DptreX@l0 z>r9;uD^=^YJBdFmF~%JFy;RIh8JEbJjPev;05;_4Uh_GlTjyUb2w|tW6^=b0c43WP z)uOO)o8Ul(pflrIyG5;$X8BXiBC6AW1o^PvUDfPf@PLmVs~$zGR zw`2!yvE9I$k}FPo?ujo~Nmq)vylHW2T?aG;&tq7NvMu%@RU;ze8V(t`)COSrM}~Jh zU?fpVUNveNC7r8A48@Eq?a*l??F99EHcE{=1Ggv$N9t+Gb^UmCnnb=xSXuG0^MZ|Y znZ!tW3jC$oXMeVl>R0=6(%sQ)gy-JZkwZpC%jx;c6%yOa>V95*0R9lc&qDkltv#li0IBpQwQBlZLVB%W zs2zIpk!G!$S`{Yk)r;9T<;zZE;sFnFZ4&p~prZM9ol&dC-@%Op$u_kkX%m}>lF*+9 zJZelL5bS#@AOkx1!AMNg3W`Fpp-!(=^;Z6o?jN+|s0;|r`hNY)d}4V(&xa>$jR}Mk z!&E*+>kpG5H;#O|OVrDAhem?Wgq@b?@!R#?`z(ofFC&-dNLanY!k05n`4rP=O)hS? zsZu`K?_X%0jdw$vA5k`%a6hxF?V5VsGV39qUlgnvxON8jztV5M&Dt{)RTmAS5wl%- z-9o8lhCcgj5g%M8!g;dLQCbaw6K7Q8`sNm?RATVSpH0a9}3wEg1zpqc@abJ}VsAQYJO@oqxN6O6- zoc+g0CRAe2{Mx5zjKn@?arD|Aj7eG_0(L**UrUaVH7;1mBQk7}K z9RV6Un496ydW2IsyjM|1Uut?J4DUXb^7h1C|-xU$na>RTeLEsN0`xCqRwAROrw38 zTef@ii()mVXyproklm zDmD;9!{58~&Jx;$!k8sD*MXxsHIMr zn$+OnkMW~$^m%@4*Z5GwamRj94?W(@n8F|SUL+}xb1re??FzI2B05%-&&fp>?d!Ssxrq6o0CtzRWuk>lkv=0#yNVTX`G;9$*NOoyiJQe zu&A31k6wfon|ECFcJD&ot2H`7#l7x*Gt%e?D|zq8Oj39)GxYa!8ix(^J2=3fG@5RI zVty&D_LYb7>y_{X^zHS{pN)(n;7Lv^fz1{VZR7sO@_)ZPR-etFvFufOm{z zLgutWfMlFKrO zs;VmA)0L#%NvoJwO}O%!^`R2EPzanJD+{*C4>LYvg&G)a?du&ZG-l!h}HDO_j!BDV$;9jzo)9lrsG`1GxXij33E{05!xQ8THyuA zV9*mv3)Y9ma6Kh>U25bd;fPH4hn79MtfBW!*8t1F9?sb_TLo%9I~aA7N5Mu#^xi|M zV9D}j)F<|;peI90{#PWKH;Vk^HHOYx6A!DUcLaVP|AEAtJ6g}OoQ-QYb(W5C;Ew}s zR-dMT|5z?)xL8T^FBbjTK`Et|$f$MRQt&6`3hf57JM z6_cfj)e;jiyznTIZIrnFSPTzm(ZF4H@6KAFhEUZ~^8J7(`n&O1L#;o%ezcuff zg=i=N1>$!1rv;vv&teG$s`;U#GkMc;j;}#ya*^v$sj|My*+6^htMf2c^`O8w@AJQo z^8pm~#YmS0_tMXE#==7QjI{LlB#xRLP4`JmtS_wUiRlMbx%p-?I3MlUMo7WcvH5v} z=kcu165xu{O2`V1Zu>~ZDI`RtudiQ`zrDB8yK{KhalYLg!+N=D(gL!H127IqRE;aieVoL8M}t5jn*|%)cA^> zltji3O&{}HV3J|*+>s(O@5nZ2*ZRbM-P_pg+dA$W;0vBs-Q21HU95R42+1x`i+E8b z{daw0OMv=wVT3js^H)F4ge?9PbSS1YzKJVAo?C3xIq(_J_N;nkl!Uo2``xb2O2)tM ztqFiBa%BmXPicA;qntbxd^5-`Wg4LmzTgti8#qs|!1*k}7w$x{%_%%7VIV`n)m3P9 zbyY`S|HH3eIz^`SiT=>z`QYZ|8IZb3W9iz&{=|lH6B=B2*LoZ@q!grDB(GwFf#>x@ z6>mVRc6#T-b57r?W<+;%RQ*E>f3<+f^T~QHHtBey!x}rB=~!gKUF8EE$>;+LPub`3 z^oYMM~lj-z1|%x>^??!k=7WFQU|9&HlVtftpZ%PtSVCZ%l3YsGb0AC$D_PhY6uCL` ze?x~I)i~UX;s>cf?mBi zjZ=2F{b9T-mVbTRvKbDY*fee$1NFeJ{IuR|+rN0>C{3BPAu@y26G4afY`8acBppk& zm_V?h`EPoF>TRsQ3a?zNMzM{_y-Z~(X0)rp+||rUxr6moe$(gB>d*?ZdZm)Y~X^iX%{d6ayn-WiD9vjK8Wi;I={&$C}@Locyg;%n2s9$a; zS1KI+7W~n@Y~InZ=D$w#9>S-1D|pS!N#?xlb=SQ{?Jt<`_F@tWPua|K5iRX_%sdXz z_dfzRWcHPdT>INazVBhuv;?b5fiY7LKaxAS^9D;W4U{Azo5hsK>G*$W2cPNxPfohO z-`1ZdAuJ{J3XMjGU7jD0%*S=bcBwTsmb=K~qI^|2Ib(m%z|LT#o^Nx?uynMWVLL*V zD+%y#gIEr|)z;14sqh_TdM1I2jub8VAqY01$_i8*kHUd?9{d6h2%j;vn6}8wQ{C@v zP<>IWnkm1OfeUVp|1dyWy)Ny3Kw7C3!+aPuS%Z=R2xS0)rn*fcY2LfhbI+sEGg^WNV{Q>)UYosNZH|r-$Kz*;~icAX%@l^Fls_;1APY5ZO{E_u6LtVha zzrgp1v{hzHSxG70!KrSVX{ty$NcU2kEVQTM2F9>;Vr@Tfd?b52w6F69M;=Wxxw!aF zUMQ0`sqgT8H#u)g4M@s(rP_S45BhQsiZEtU)-ANeq-Tn*F*vGtoZE-zF^ScnM9sw{ z*&Dji6OLUtCu4YSw6nxdgO`4Wc1BLV<^|jRlg|UFWrxRGWjr~Nc=48x3p~damA}V% z-tXSTcUG4(bc{d6qpZ0du0Q+aTQ*I13Uy{BT`KQ6h86`w1R8wU#j{R+W-o=}SYn}( zs4Kmy+O{*VXWCqYm^CrQ@$JQSnBqt7R2wA^(P;0jl_=aOLvQnF^Z*-Wv713zLKR(o zGy8PY=|uAt?d9d=vufF=PwxvgopAK8a5i&7bb|rVpv-wjJYClBL4SXL1rO>#IRg?v zC*!l#t}fIVs=^v*uxF()o`EA}ZDI{5796$!w?Y-oQXcCJr+!%7@>ewQC))gfHKZ6Y zB5r>|^#U4whu7=*?>FD)F38v+fGavEXSbr;g!`89iiFuWlQCiRhf)yzSxQxmI7iO; z1F*ik1z4SU{W;Pan%ruD6oyUz6c6|2U!o{jrrputJPb(VmG=|vN_^apjg8Jai0mtf z_kTRP!oPE&EBGMqDrQOrM$(`(QKe`8*!prEHJa`seagPV;u%dFR^Yg}oBI8a@MgMZ z#?n(i;g@9Bd|Fx1DZBJq)Y_Y}XHMP~lhO2v(w%O@Lmc6G-wc->;MQ)nptae7ng z8B8&EkfTJ3cC%3+qHwP3fBFC8Cm+s+7HC1!`kP3Bmp!Jj&zQNt+o6Bab$|bbwZ%^Qxg*tUWusaXiI;8#=N||h?tmy zK)uj1)j-yi$4U<8)|v6#l|egw)eEsT>HbjAJSdRcWCYefK~nre*@~&|yv{9O@P~DY zS_by#S-^F_v%l!wpO^7FY7*f%OJ4x4D~BHaVle2R1BGKNklZ9Fc<0~uSSB~? zD^V_>Ce#$8gtIjZMLvWB5T>GN^IAR)3qQ540TFX%Iva>) zxj}gm{L`hG@b=^@k#7?{lb(6}(9^o*fcYY-j_wj(w#>1&%)l7fkaX{@+9Dzj+4Rs< zj*)|jc1m?z4=C~Gx_3rd&KmQW@^Cug>p>@<|DMvCpS05NT$om2=19KnvvS6;L9+;&O*X`uDqRLF8#Hdf?`EU@SYYC`oFy9ijcnYNqAk5qhKtx<1g zuCD6pe$QZn{269f(!=dc@>?X?)4tOo91C00R$oDqA;wFnX0L3=cbD2f*mbHk%dGT*SR=#KU z#pR{0p`mJEUR)ft(F}n|MET75sboInUXLDiOuK#_urW6AFITW>22Kloo>N=RvfE#v zafErf8c3a`v6MN6W0Iu0l_1U5FwFc{w2TfoClDSTk|U$%Ws?}>GfLcugr5~y0ST2s zhklp#q17*x!-6#PIY66(mcR|W3a~SJ{Qcy2@?hD3nX@wb;me=t7=IOi&AYB{-!h?w zocooTNN;7yoI9&V4=rA-o_UkwK>(_#wo$-sr+PVXqU%<8inpuQQ z;#1o0XI_Ik%eeUKVDFJ_Zu$A%_ztM+c2G+ZKe@Wyzw2LI&qyhb8^U8-CrGyN{S{Hy<7Xe79SK??1=_PF9>g`kdMN7Pz#AAme8UY-9>$-4Y6-%`YKK7t@uF30Zek z;%e)yueN|c>{)5Lzs34D1Jh56z>O<7vD)$A#+y@E9Jkz?b;p-xD&-E110BGvnx~@M zP|Uq+lD8u$YhV1vxAw7!otEJ;V&xz!E*(cEBedTGb#n49T!|P!+H&iMjSd8}+^hD_ zBRkjAkueb2R;c~uXLUv+e2wn4Q65NS1jhP6~f0*&!VPjGRa9t$jy z{9D4<%0Kz9HlTUC`qwG}2BL7R2h4N?zLYT=9DgAzq@GxKMi`$@8-Oj>+~*w}kw13s zk>lcgn)}DQ2l0ONW}?S_QN)oABGH_>BSJPNn4w#0{zlg4{%0zFLTx(d<<$$S-7Mq$ zW?7#F;sJ@s(PhMXr1DO8TLmcw;7t_ppq`Ff#Xz0_ZHjtgf)Vps)c|7)^b_u1@{FOO z3Dn*eGSooE;|P;*DVh6Z(g2u^j&Fs16$vlt`5i0m-sih|mhKXy^irQ|1q7%!@VhkI zCV2*PfBaTO-Lo%p`=KqLU#=lB##tZZ(R=4#em&E(k1a?bvyoFM&diaElbhf1a|L4% zqUt-HzqDQ@gS@@KCZeGT(pW^Z-agrX?KytD;Z-dJdC-^!9yZ5Zit5**j&y8_baxZt z3+3LPr!5nF5aoSi^W(DQ0S~9tBK)6o#8ha169p%qz{6bEu73X;w%kmXRbjKES``8( zKJgVTTKZDSaPC=UG2idJ(>oKbpj7Wx>PFu$OUYZ^rW+o7q3-M+aXQt~zvu}!_tb5nCx<2q|}=R|nWCpWooUQC21Udj4#sO|S9=K%LgnRJBt@8`2` z?%vL?<5SQa(E9ofn`)che7c%;(kaozei{T)PZV=lPtmTJbO=Kg{!9&7bITMk@_(!| z0gv7>q6hN(fPtbMgK_^VDDS1C3AM?_=b9#+FS6L&qenm|+yV15B{1CXQIX(m^2Iod zlkz+cMEI)dp3}Eq$QKS-)ekBg@)ZcN0NaU`Q&7GL;{K|iuIO$>GQsXBsyDDI+ZtNR zm#-yxwA=riR|;R+J>38*1n6RV{l}Py!Mya6;%);h;F=)MC127TZ&P@+GbFSS`+8cK z+W_(>&IE#gPi~&aLTAANB;J}eg~}qHw&^VVn6==dLg>PY<##J*vzk%b&qX2N?<{=J zx2;KS3ARr~WumsaVFr{0j+|=_!M7yCT_4A4|L`=QH7%d#^CQOjMOc3cx|G?@d-tf( z0^IVXdggnOu{T8Q3ymC!_l_H*XKn|cw6z5a{_gw>0BV!Yiy6B4f?G>+-XnP={m=VC zbzY`sem>)|0g)I6t$dRXQe&H=tgpwl6^>UlVyQ=DS(ujY*Y^}`w`skiB_1z;l&)z? zH1c-+>e($`iw-M`v-|myi}0MJ7-W0O73IgH@hta--p6uW+{c%vr=dMSoyF<+ETP5k>eKqqfA<+bd^b>caPC3ehhnufBr`# z_VIaHRz%xw(>F)>Ll`J*Oli2tST4m zA%r2Bp>KO7h8?moIsh-BFo0g9OQJBLh1dHHXPaS~o2P%;YYl)an^EgRHgR4dp-_`4 zpsq-~4y{Xa8kc_6D)l4uZv{c@@!|J)+9^4gzgTZywK&}}qaz?VasI?(`F9Gf54O6J zp5uQ}t+-{-UZAp-OMgE7h#(@E`G1GxtZW48yhM$%D7*dClb>peIZ}-CZ|W=~``k}4 z;@_mZ3bp{X!a~cmyqTUx_8-}8{`y%05H#rOoAxq3(yrg*bXxKDgrKJJzozD+$(>)^ zDTG^h#w}%>=bsi{bf!nY*rj!3z7vuyti%LF6N;yNlr{F`CrbmqD<&Z&s<7) zWIrrLpunr9ho(wxjZDR@^5(ye8~2~rV3fb)C6F!rFi?CoTk!PhP>w$9cY`}^ZPtlj zbu_#i`cwA4NW%-kfnE>eNg2jdCwpYzrhnH1<<3L{w1$+o;*cI;l#7Q3y?S7gz#?mEBk2!)M1AqiC-UET3&cjd1V(@GnHwc z(@v3AYE`i4+yNf=F+7!Uf94&KS8LcRC!-S@g1k*D`X33gdq>QxZ?&`>fblUI8p;NZ zq;0xY6xvfmDX*Pml>#x+E*eTS^L|X6Uq1Msm%NG2dS^B^Hiz?1QTtHRDb8X4hI6>9 zdZ*O@@nz;ul2E$#OQKx{_rSdg9tm&{k5^o2iJG6;h)GG=K46{c)u_?&W~d3yE$`DC z&t1`UxK#2(+(o!x>GLRpJkF}@I-eW=e*XC#6)JGe+D$E!6?EBMYq`iZC+MG$qLAM2 zOx-p$g(M?*{R$z}jsc_%>i6O9vw-&p+IQoe%fN4Im(O$f5!Ii}W-bCGG4AMqY3XzU zsuy~jBs7)36+L|*w{Md^3SxZj6U=jYjhW-feVf@8miSsx%ojtv9$iVZmuzm;17bB> zp9Lz4w+MYeW&Jt*s}p+M?>!pZZjH^}!ur<&V837mOFj$qY5#5AQRBT914XzD$5S~- z=UM$zmc46=zg{09!^#pKiy&`qDiNfZ1A}>n^TToVz3x)2k{;96R2lJCh?_sTv8__* zKDCK-LRY7Ld)rz2(sq0n{y(P5{K-{PDM4DsxNK~I%$0SI=4_I<%_EHz8`pGN{Df^Kn(i)d2eF-A z{iiwLNLxFGnyjQW-Kb1^EX(xmid) zx{6T=Oo;t`_f~aY~F`!p5CUrE~A3SC35xmpVNRE;^Dhot?<#inZ*>j zV(%DclW0Y^jbv%|FdP?M>{WAq9X_}q8;%KT z61&epp#Y_#{Tf`ZKJ-vbG$i$#CCy<0=eK<>%e14itIHd!-ZAz#fJ{-O;8(xfAq3$% zZTjy3Wq)kGVDr2h?ki)%<3>}|xL41=4+pNX5|wndr7evh&^f4EzreObRtPW}szqUz z?hm`C6CGUd3yPDn;pAb@sxX-rEE1`$J^JiWN({feH-jZM_Hd8;@tBnCYYNw2wnpT^}2Fe3_w*zA+eScUiT_;>Pqf+%{2V=m(K2v8Yc-C zCcM*8ez8IcV3vlpX(()hS{fu=-88i9-#9TZGW5TAXtdFs^kD(W^uA85F=tXHxpCaF zaQ2i^hXHZ168TTJ7(KbBk1YMr&I489q^$!Gz-{x`sj;#rPO&24)B7>+un1!HPu zHqj)c=;S^)bQSZ{h$`3K9sR_Lxoa%*waFW4)Z>ge-mIvl44g=s7N0MshvcKW&%p6F zDQq%|+&D~_uody-ZT?~pT)5v15SLdnD_Q4&HwPcY7h2A2G8~nq5J29$z3}d~x~UL& zK~Il}qqeCaADAnn5sQaB04QH}|J3U=2coC_KFh$R3W{3st`LFKQ^Q1l$C39W z*Wvv<@-&SszrEI$hW9XodwDt zN;}pdzb=Q|adm^@;@YkGIm(;P`+KhiPUZeP9r?%1W|kIUy5iJ{mWGTsTUezoRng%B zt;K28rvry9FZn%xe?e5`78@Q&KUb!&iv|W5*%a*PU{@W?SRoO`B_V=DdKwaphR7123i2ZXI+)i3QSDg}87;3?< z_c&Rk;qH|FOq^Kdy&#g-k`i21ybi3lOk!h>at!0*S%&g5u>3uBxn;?&i0rRUQL< zfaaLoXy|YVf38=HOhh5vRR6Mb-5Eoyg_$Odv1kz(^ZOy12HSRy;jL zG4-E@M291PPkkaYOOc6g@4jQgK=xzGMV`rZ|3MUX;2x8rZ{Eij#lyDXykXnu1vR_- zg3nGkn>d+Hm*^z{I`RQjakNG+Q`(?BBa?K>cDK9?kfw!+Nv5*K3>)uQyV(-Flx^(VsQQdTs2OHach@o7RutZ=@wBD z@0!orh7dYo0j|?ub44Eqw$1V;H)7hrh4`-f@+_ThiSh#nC&IET-*oGHCE!ZqkBUh~ zyP!^WbFA<2hbr!c!uJaU%f2T!erth^;ddjPC)E+e=R@MsAJwjz%-WE&M%xjk%69k^ zR8)y_K{)jUg8;9-Qgz)@=hs4w4k~kQk&^W|cBFFa9EFAF?S8cJv_oA}oWD#2O{1oz zGkKf--)jE?Cc<`{rv=!#xID%@TuAop-7>)xQSQPcAiV=(ia#WjI1a8<83awSzA4o) zTyV4%HqhuMjlfna1Q~Osl9mgLk7=);hVw}4&Lq9t7{J&3qWK)_z|$xeGWR!4k%0N? z5MV@ZMP|I)k6@kY#Si@#m)vOo^DyndMq%W}L$$38j&UQYp&<)$Gz0An*68KGye5zD zww^XANPc_Uu-^eKV0c?U%xaxzXQOeKle%V-@f~@T3bpQLI47|8Gk^NVHJRS^hUG7r z#YNNI76T$<`kIp7Am58xqQ^017~H1Z+(ybuX#zE}znsAr&SP6wRCrtGv(%4VS2M)A z4_H2sdp$M!lU*gD$1>ID$)OZHv1mqjd$RG?M@5Jey0yer$;1BN{W$~Su|JBBiRXH5 zxVQ8N{k3FvEI!{nATCuWIr$PSmsU{}3jLNIwlvIbdAys_AKPzBFbSO+9!juxgr65h z$m)yjgWKb^JL&MX0P|^2ZSHf}@lS#}FasHCJQfPwJnUd}%1ghIGoVl8SWh@P8+pXU z^8BwC>V@2^EdAvJZY|{nq8r=5Aya#|7OPo}+5*CFuLoKvDl9n@aDTzOct>bHD(7=_ z!e%zdRA3L{r-{S<P zGVO!WYIj3BE+KsCCdWDt&y7YcdO<|Zl>$o)IAzM z{?pkh6!ea$h^u6&Q{{_dj)_YJB^f0G=0li_eH4|slMSU^<4IXM8W^_J)*Xigybf@V z)2aeJ)}J+ME^0>;A5q++%C-dQ%VYaG^orF|qLudyXdduzxLL_kz(2lsi(W|j!rT<$ zJntw6hcaxJ4R^tIt=J{Uwm$v54G$fc=J?*j@&f(#z>#fV?CWsinf?vv+k{V(zHKyB z9G?6fW3~pn9O3&vJ$+)TIk4NP*CyVTKI9^k$!fPc$qMh=9TjPZd#^$bNBThVnu6{7 zpzR4s`>|8L38w*vKxld`$cDQr<5Y2PAIp#ML1hM>H$SQ};!uOUem-ZM5NN3`{{oqD z6D6Z<@ooV#HN{{wC?O^qJ>G&O>Y5hMp(0u(G>T~{gyZk2E@w8p@B-SD*lP9r#fv?N znVclmrsi(owffYDoAgE`;nMY{YSn5frA?{dwS2o_puIx00rx;f_f5nK|6oqabWB+9 z=Ch2ig#44fDfRB*rkvzBF>;d9b-={CZidR8lO4!=Hc!at&!Rc1oQ1L(f8U1@UhbcB zJQ`p((>BZyZG&n7T)kY+82docHoXuEcpNfPwUUXFLw^djIy^Ehf7E5X3>B*zCKRy< zKDXWGevwS{`Y150?8FP_vq>oNwJZXgK7L~w@u=@L4ruc1nIY!U-6(`EQjVuv!{?Qa z-4iP_v~cnCqy3O&0u)ic^$c>@N@d~mAqp2kaGg4B5%3mxNha%7x%x;=T3`6t(6{7= zVpE^;L-?1gRTgfyG2QL+P8+@bAO;gq!N|~0dLMC+m@@S)9D==+GENo?!L6CBq}7Iv z??<%2oYIxXU&)`X_;An9TLXvJdk{iidfr1|oWk@3bofu95Y38or`djA>Fzz`rclXv z+5^42v;YEZZkR&BA8yn5dS*A^-6swm;dR^H9bQ;!7Jx}UZvL=+zC z2^+LpO9DCnNB2=6MUEePe#b*$%}mLGi|aDF)pJ|zvj*KLiutFXX@~w`dSPRfci5+P z`y9cd5~H<1`BS)$E@%DJJD=Qcpjo|oUG;hV>ua`G_lr^M^SLd6-~?4NtRk_f8Yk&D z2TUdGnZJ&1WD7`hq6p_dY+cFCr--3w-t#qo{poB7lrNmMs}rVvam9CfYLHkY1C>8n z@p(<(oXi~%$Ur!M-L6g9S-Jb5c+8Kz>Oj9y!z=qh zl%_((%DS91^03%;0Pjz)0)G40`aiLm5&`7lDv{gsYE0-`Lh|RzzH{g9V=*9O_{<*v zfRxsk8MIYruhZUaLOY(3-6GUy`_w$fEs6bXeZ^eN5vXobOLRKE(E}@xKH`(*5C7Eq zNSyum!=W{lXk(CMSLs;c)};ZDQKNgR-$voUrR412t~c_R#(Gw&S8|CK6-&4PS9d6$ z)F%I@G6`JiDPd_xn#4G4OnPJ@!v1(PMakte&ae@@cd?%tFPG9~Ajmj4^HeW7JLK71 z3K2P>^+AK1%PPb1VaZj$g#L+N+v?BW)IHEJ|B{vwT!VO_M}bec4bQ`goITpyA5w7% zPP&il$Y8}3_hPd+vPz}ItE!p#n{7MviS<9KIWdCg2i=S3yEO&#VHW_^(q6mI&k6#C_fG4-I@ltP}F zmD6V&g&%wYq#gOVEm{A%z@Xoay63j*UXOvWK(Q**B4A}B0_!QghxBaUw?E29Xj6Tu z`#sX${o+}VqOAxmf-~;od6HLuGojTWoOlf=2`s9rj~jSTPxTXvf@x>3e>G0}A6aFb zwlpD(@9TT~6M0C`nbMCK>b3yhyJth%%`qi1O6!*2r-r)l{&7_q? zCv1nCUs3J`6z%zlAg$7|q02=Q&SvpQ`7hk-TE89+A_K0P;;znHiP^`ADJADFE(+?w z%+e}paS$IE`mSoNgEZNzFLA2LI&RS4ZzA4f!~b>j`@u?o*I2l2wBU7-`lX7y4ck8x zA3s1T-g@)KdOY%zJ#CaWws(V01d$|ppMWMYQ5IMjU6q4DDXj(C%KuEVatiguN2vkC zDTl5_b|ik&l}h-8`GzzDHXjVq;Zu6_I;E$$=A6u84Ax)MXKboHXa%zOTwo63_j9E6@0^t;Pc05)1Bt6^;gGSw8-e> zD6d0+I>74b+*6Y%2}bvkQG!ki{y5RmlvoYjL-W$6Y zj#q`TokC94WCd)RNKPT$`D{pU=ZG-e*+D6kAW${DTV%AleuIJ8aer7UsdQz@?WlM) z0L#C^2+MbP;`hF8&{R4(vTotQTryFy{-&PtsRc-%0qp+zCjJTi2(~=aNX8qXZWcCz zWKAgR;)6U1lgPW?H8Jc)=fIUZ8pgBW7qGqkJRnon(FvMF{I__VHSmBMiA2U`WJCcY z6bdS;obo&xM8CVFG4*>+skeR8@0x?gZW`g=hw1!8W})RySDln}Dl>qmKBKI|vba1H zAMNeCP%9C{ciO}Q+}dn;fos-qH0-G({oxdB1E5F4SQyrIhEp^Hbn*Fv!bQ1%xLVb_ z^@pAXXYd9dNdjF6ySKD5x}&%SW>r0@)`e$0C^-B8sv<(1j38`n%AEsZtG>YITz}*q zx~bu~HN@aqG;HS})um>x8gV~=vDHvlZ1GgZT64=KEC?O1n>$CzF+tH*DJ^IZeuK-> zCp!*KYdMprM9`{9aq)L-&z-q;4}Jmq>PUZJ^}z04uTWb@2MHe^-y>$`j)Q||YHDf# zmX4})oLHQ)%j#%6o>OPNCMM3enK^gTnoq4qcdOq|cJ+_0DkMdt%<8p#Wf^CU@0=~!X1Lis4|ah+I$y#HE( zvM)juE278t_N47(j@T5~N&sJhj>8Din}&Sb6py=W!!*Z5@F@SW!a8KZPb@++rRP8_ zo*kyw*SXYcz_orVAAB9UOi%$TfLs4Dl)C`V(k&So8IvX?0|Wx8$SkP>EIJgGEZV~F zC46H+?!5Rgxc@sqd*sTg!@VwnWdxc22`MW703bpiBKTHP95`PIu>CE$ACLWv3uz^q z?BDQJhXmboXq^;iv{Q^Rf${dS}80YXND5 zDHCsKKQ&QuxYF`E)5+JPXLX|emKZQlty+@!ZMt>iYJKgIYx#+Hw()H2Yc9AcZ=NU_ zpXgjyUqO+#E#MXG?MA!%&82LVY}!r`>Q%hgYf;nl!(WMFAYOC=uuL+4oIO7QaOMKPKK$5c zT~1kVNE{$N=~i8z16Q zen1{>(lrlsY%#|J{(E@?-r4>CJn?u{Hjn~9BUs5p(MWcl)k$uCrL&9^!^aHL+PtgF z4DwkUbr(`Bm#b~@SyVu)!0ZJOu^kWogNGs`?`mji4PWu@iSEhlCD(5)3T6H2o%g>r zGZ5V82>A-Xonmu{`jd$c?hw3rO1sXzTXgZs*?XKnd|U{*t{TGJbdvXxYd#D3uU{$v zYKfElapY}d-KNwmSDWuVttp5kW-uh8yzrT{%p|X|=3fh}F7PeSh&SpfMF_W8!*h-n z3DmG44=vuO+*pRqsPrA#8vviFEyW;d*R8y);(5MKBn}*&|TGay$ zsKy6_MIPC;)Y#P+=b)^a;Ubg(k9;f8wIy7b@B(n3+SEfO*#gIjVhd~Q&`KU+)A`mz zq%qxG{e4Hyxy)wm_QA$%PO0rXTL_W_{;s$^Q-f)fN_ijfznJ5Q0Vr2<>wS1+3&Pd) z3cq|_4cyh#rk%CRirXq_IMvJOhnyV{ySGgoPPAsF^yn`Vagcz-g~Bh&>o@F6#zOBl z!W^d7dFqdZ3H0VY`b3dVSiUb@H{siFL;Q`?KVWHdY`3qoh2`-p3T;Zm10%TqtKz!; zhV~VVC~k2DgFWG%mEJq5SV8k0N42si!o+)Z{+i^%lH;O;q^0;WyA6HR6aTi`@Q)0d* zgVLwa&e)oY8EGVAumXEFU>}92-PvEW0?D29=)l727V9maii=qut*1Lxt4v2kF~SSg z4fEAlszPESMBnk%8+JFCI{W2*>PlL!@zS)}PV!hSbWt%4Pwwu%qc5-<0NvXMMqGNt z%z&*H(Lq^-%O{I6)YtZJ-_ilB=ZY$A#NaWo??ijg*=EEXb``#gnA~?0lu8h|DEjkU zY!DF5V_&W_Gf3%1cEHZ@KFR%1q#GUL_~L5Q9FYA0tsM`s`D&ZgP1PiS-Pj(VsMh<} zDC)#$0C=X@0wn6fr+*30ML4AkH?rtxADvBQ-lUK?UDU|RLKPmAp}FUv8uj!UoE>3> zfYa8_?Jd7exJ;X{7{s1VUr7|TK9l>gFqD9uRNid_WofMUVee04IizT|QXJR%%s#|C zWLq*Vf!n;f5^4)@ow<6ox1RwBD^WNe2PBdS5KUnGo4C~ze|7O2x}Bep%3trtSOi!_ zb`Ty&gC)%;5iKoYb(v^AKzU>lJRnXBw^x@ep6*Po=YC?h8DR!G4dMcFF=oE;@L2{l z?=J%P^-yucDbGxz<^e!+$?-0|F}sBOnIcp0rBO>3Ts*Z7e^e|zi+#=4YM^G1rxlu` zZG*;X=8K~FkV=7|hqmPA8+Y>e8FGweHCHis=K5Hd1Yj6i6dH2RO`BdO$07xK233>6Gm|*U z5)u->Yus;kbaWgb&5Vptv9b4yOlluApN*9mcxJoUU2aTmw+Xg*RPELC0pInV-eo3W zIqeT3Hs8Bc{jc>3M(oO0bZV!i{A3(>WE?kl(ujDhI}ZuC9rKu(sPvp5Kq0)Hc(e5*UFF%bDpVM zI3;9tamL7UoK}(L(bHd(QAVos6RSC<%0m2F2goP|{Xbdoz8!P`JU~y9HW%7qNRdSC zPFN#QZMcv31a7}-qWbSVuUF!Ne_4PD&-#PFjg~BgxJpVJ)7nQ&>k2I!(1EFS_na2V zne~E2K4;**3eKUAYPnH%z|IQnj`EfqTCZS+O0QUYEa*pWbNy%~GeeGewKcVQN~hsO zfcTF%LW7iG`8WXda#s4C`G$=i#aaD?Sc#d$3t;CtQ!6*mL$(n zo7pR)8nz?`2*geXZmT=Qi=$u4-^2ysq(oSs%KGH9oL@iXQJ|tcz zpq%&fCe}TfRcfy_>j74R^Rrqtu1*focOQB?GHz%ndgze*0JP_mj4VxmaI>RC?#jH%Vh^Ji%Qb0~!$u^M6hKk^d5IVdX=j>_bXmwHjo<5G~x z`^`%tWya&ms>84Kecg|o+W&pf(QU+L|7653X_ZftJxrZ@^|cw^85~dS0&CW7{{Lrs z;dX*E#Jb*#n&;tOA}{Sff4-N4e1aAWfVgu|5FVLHOZeU=kW%U1Z2??qX=hiz#r`nq z5WCiv2x$G{G1d{yHW2KYXGcDKD2)CAcu^{(8p#&gDg1rd9sg^ET1hjr3mHsO5G)nPrt{q>YljAz7&_^|#@6MG(LZ2e*lg0fxmNU73OoL6yXw`&i z$7GI*&hZv%XmXPtLVCkq}@ zZA-&cg}G&7awrs!e|+2%8g_^<6SSiA$CIZuJ&amK8=f$He zu)6)T!cZx@qMu56m?!5qtLM#y*#k>jZ{XHb2{m_S>=gH9*#Z_n}Zm*l~ zF8ZZ)VwE$JvB%6fY`B!?4lDbs2_5cc9bqZOZ~wVkzz7xUP;=}?Vj&;W3j(K6ul3Ji zK4%#2$hVRAi}_PNS1LObBv+pzbt8CNX-w_|>s4KuV+Yt4I&DLsM48}ph<5P(jCe-8 z^uNSV$MiqyIdW~tsW@)}?u4xQK+&NiHs^LS;~ww=r}@#&0@aNh@AqEP($Vn<3o~qN zZ2TPDterx-fDijqwkic>@Kry)j=Pz{C@60Wft`>wH{)&Fft{ZLWk?D0BMVz>5>ST< zEOxCr4Fv$hdwu|__t$Oe^MM)ABG<8bl=C6N;%cE{LN`84U`Lt!nz8t1$n@+M1IX=S zw_-ybf0GWM%>MhEeeF6vJ78c+QCVGCOiudWmJP;NobU>lM6KLg;Xo(JZaS66y}0JN zLUQU$Z^0&qz`45qAybD0+9Ji>-@5IcPg=gmrW6D&q0ANve;Vj9jp2O*Fo?z89=SL- z?O~enj1eb=9Rb7K)I1+b1jk- z5+;tPES+MBM?JqW)e_Usj<#J$D7o071^U*MV3k4Yf#fk=ws-g@5a9L zwU{UUCcG;K%N5X+wX2Xp(C$aUYypgSZ1U=+LT^WL*4SRadO;wd+u47 z{g2%=@x!D$#3|SBe&0Jjw6d6|+r~$6%k>|wFW)aq1SS!lcK_s;)vqALioguKFKgs5>G4BwxtrPRB^Zue%0)Bi4%T0GUAA1{NX52efLjyN7f* znz7X{k)=%cvKwYt|@!ps`%uV;q`3*)vsl764^KlQ$WH>c}J5B@V=K=nJN>9j-9Mg&vq zm7AOgi`u(%0}hfuph%t9S-x3%iYstml8y7)x!!y@$9Wzqggfc~)-Jd6o5xyItI}br zZEtnR6Ovh3DVZ7OMNEbTo}W^&o?7`@_sjD=fajN_AjOGjeMY@qMno}{ohW`d7A>_J zEqS&VzGV}_wZU?BIJr4p0Z*$DwH&To*116!*YHHnLE;G{vvJ|rWjN=%&>yyB=C*-? zh&>eVE8_X5S?6ZGdGN;I@ezSVK1SbMAx~rg3rSD=H3jv~lWl_Tu;3!zP{sQ2J?Nrn z9EruvtH03Qa1B%obk0l;4jpGrD`8tU?;i>*Q&c;r?M%Bb|0?RsZq=u>uWT&KWc7t9 zKArnN7F;eR$K{-BEM&rr@rWlV!6UWy8Gd%U+Ftagn0wt6_$SoUU=;NrbCzW8y}s2u zB&Mc(=jQ5P6bd!x>y>g6zPHqI@Ula+*I}|QtgY?U{K7)PTA0`Lr4&l6QyJoHtTH=ti!E4uG*doOG&ip7OlvINw?FmASUQrPFuX|jY3qy(^G^z ze^jjN+^AHAKP%a7ICLdw=?ogEtY~I0d4&(+ zH|qx7AwfB8{MG$>G9iE}ppEf-hIP1~ZIU+GTjpOE3Js>~endjo&((n40F#H2Tiy&# z2Ti5>x{(DH70gFRM~-m#qOZ3=bhM>v38JC2RHQZI5d`J6lob-lDQS8qz1A&YHA?H% zl=o$ijhY2_3O=NdkmrDH&*{IOqUa59R&|-H7gAi##wl46K@zbvy%i{abnp$=EUz3V zB)zf@DNWCh)AHiwB+w#X7a5v=H7Ezy>bnWkqaI9Q1EJ;n{4Vq7PxW08$}1KqZ}3SU zg|2%)o~yDn5Ei+|&UI459ZHTor}0a~lTi3~%R_YehsSGSkE)V_Q-ZB62JHVVLyq?; zil5N6+@O|4im3e{bHh>0-7{d^;F`+zo=#-unD!@qNYLZ8s+AV_c(`*2m%J4UO^ac? zzAUdJb8Vj_=xQXVZ?rhc%D6Sr;&&Z)Ko6(14cP$3mAlq41_xil4OmB6 zs&eJ7@(W!x*~@trm6LA0tmn{?SUWKb7{#g5 z4hjx7Tl$mbu}6Tq9rrsRNcXN@yS8KWYslz(%~E|!OY4=020G<=+ES06a8IO2ofUG{ z)(sO5O8)GY_@bK#Y4aM47WJmWSy9a*er$GYiq#^s+)y+sYmW?qj#Kv@6_3G641@=v zfjbRy)!L8EujlDI_0o0qdf2#vwAoi*zg5r};CR)lmuCWZ>%CBXWUTDd)0O|$WmiFG|kY8PQng~ zH*ePkWX`tw&W*WufE{u)yw5Mni%aega7zzg|0fD0p~+D#?2$XNJyDmD5e=%BtWCmmZAMRCs)%dwq=9ijxmH z>X;jCp!_t-YCABB!T3xC+5{k^)!?vN6Nh+L4#? z^J3ARF1p~^SH84SLoB9ak;4+F;XOJ)^ncN^1^RxkDE@F8MEOK&+=}C`;3AYmc(C5NFbC+?cfSJprF#&Eq97Rk>`IC|W?0*MGT zITg zYCb;FeHG}VspIP_pOTVNr3r+TDbGdrpEg4phuB*OH{FGOr*k)b-z?+Ll6hiuEUL%% z4zKWt4Wger=NU{CJ$JGCvwVu9_?+6+k zBJZT)m=KEG-IQGu+8JRrUVDYAikw{vuv3IUyXG!%B#CvIpUvpE%@H+F_N3+)7ER0h+qMI*Q{L!b83Ytkxz644W~Rsh zCLu$-=s?q0gumk34$%@FUuO+%)!|9&l#43gJidKs`K72MaDLd#D2TnTN0(pZnoBnr zJ7wy@e-vM*v8R=ZqsB$kw>4X3pY37%oS^!Z_UyeG@?GqOb#-a7@hB93!|@9L#lC^2 zXk?Y5=Y9^KuwQgkJ>>2tbZ#b2VKBRTb(^=DPzO5srT&un{DDdD3g74YPI|ol{Ue>{ z1$+`Z`Q-St%&z7wrRZ};L_Lrj(4;!SjTBznNGPvH7fI0v9|y~P$d`$X{USZ=ZN>xP z2z}{p$Y)!5rd^f3vu=uvaa8Mb8B`71 zI=v#OUluOClud*vkkL3kslwmLMU|u#2q=TsS8;H)@-Vcr?KuA72j~bj4g%b62;nHN zh&_7)@@d75zrrDYkE`SOTx>2?8n}GHXL~)Wwnd>xx%LuZZ}}l1_V1t*=+zFAkZ;rA zKM!I7=ZT<#^d0LX1V@0?uHV& zTVK2k@~y;av_h=-r$r&;JnoGpA5<;abz83NaA1X6DO7RZ-;(ci*ZHv}#F(ZnHM3tq zI)MHyWk*qNF>BMobbhbKNWofV|AKaBiBDsb+NWVRH`c*;O1)Op{MMNw|K2|$?#6ol zxdya#kQ@l6G}au*gA`t*5kShEFKm279^}1YJRrR-0C$MW5Yjs@F)~t8;b8QICGr}X zzWd2$55xDiCmMY3E#fnw7HMU8MIf68RFW&ARX7VbDb4JBxh$9)Tg7sV+B;Rg>wdux zp=>%0Ehqk9YIuLmZ1sV=YL=6TmExi@9MrzBaSKkX^!2jUHUq#e(lxA4V{_xZylPtxU~F> z6BN1)8rv{Gh*oLWU=N()+u$3mbil)((Xz|LlW&o7gM+VS5So3$*Q3lb&5cRFuKZLC zt~&7Cfk(5Zna`vO-wjh`Wp+BMkNNlzryAR!xy#KbUU}oUD;CiMf+uJ!&OC8bpt>Hb z*2?LeI9VB()S9C&%4=1%wHnAp#oAqDWq&8PwJ4&%V8pa}#=`<)4_u=QnXpsV09ijb zN7q*UL$;ZyhOT2=2+QCEN3>vK%bj66_4Eg%6~?mQnWmrC$Tp7YbXbeG1VS>Gke2OQfic<6J%+4r3S^2=XX&eZpu z14@`i%l-Z-lZ<``|Dn^Iu6lFK329J$#YTt%b%ZR4vRpO3l>gU8AD{zGLpTcN=%K@!=JjD@%6y?t$neCIKZ%Nwb!;$Z$-)@8-;CE8MC7IJl zF=XUS8MJ%oJ~c0#-%)Eib1v{t-7-~Y#K2QZoE2l!`I^RKj& z%cNtJT}n#k`2rX5FJEuCF0cM*&(-wbRDc1ySW;z_kB4>6l7@LmB}@4-F+nbY-c05Z z_=6@4uzOVJ)706yDe>W3drKcmUu^JwhRjx7_NbifjFnwo25LpB26n2cP~kkU1KH6R*>s(vT4=w` z6#^<8p)febml?J)P!I={uA$zM_L}gv0D1G>29;yWh<=+)@Ov%eNuH1IBuuvHKt`>O zW2TrsUx7F82E}X(!@q{khwgv|Lx%SXp8W5dP3^^PzI#ppuN&z(qi8y`%tl@L?GWX< z|7sUCOo#anfhQJ;Mb>PE(b!OExjWhy+`HAqTze&{aYZMaye`J@mFG!UGyjWv_jZLg z5rM;QWQI|z2WEpyO!VdnGxh#*Cc_=1;yX>~ z3a_-TaZ&x}lu!^GY8KqU8b_}sGFD^nX2CJ5%JQhLP<+r8rIq0uWXyRLu*|bY_aw{Q z8bbQijI7ytPW|D6bDfcW&Kk6l%ld$toqT+B8%wlSvwx|2ehMq_s8H52&fp%lk}&D}C-Am9;8+jRFIz*B|NaEP z4tf5D0Y*)^gQTt1&snm&`d`5l)R`IER;c1$Je8wbyi{ps-^rL zTo-Ps+Y;Z4ErhnRIk(0#PI}cMc@1sQntn4w*Ocf-o%DpMIPSXZdFHMb8-BvIk8&>z zSXmg31rKy)j_raNl2;(;D^f;A;BYGRKhkgPjzrdJq|in*-wlc(EWHx-(%Ow&7o=+*hPXEc&4s@ z@_F*0XE@*t!29+-ISKS2knaYJcODZ`knI`Q0U7^|+y}XML7Ff+W%sEJU^}y%;>03v z>kgBlMUL9jLy(xn#7hl=M3F}MNt&@5-8VNqKc^=EpIZ&Vvlz9hBhKF3k$O*XMMoB+ z&YaTzP2DkSeea*+@IvtR6yMMJ1J)Vs2v6DeEbT?gAY85>MQYf}WW8)!dOFs9T|Z61 zH$_&*(^I;_cH}Y?3iSb&If^kV(;rZYO5XgtdbXS>ek<&nmG;kKrApn3GV4Pr(5?90ve5;Cr7DFJH_NIL6w~ZTgv_?=_6rNR&2HrN~abWS544(<7R_$Z{!X9!{IC z&&cC*w4!z^06yBdgW3qW_tWggiy-YHEVvIT0^_h+7y zdQqyrCBf2!-SQVlXLfxUQ|))XQUIpMVn1HhD6i@Xq_rfswP7tF2fS)3pKQK=S|ebJF3i#>jV&wf(VOyLnzEjzu99i}tYKXT~)z<6hWaZX3k+U0yJWqSA( z;}O4s9dB<>MIFEyPo;oUb|-bc{8qY1`Iei~bJX=(E+iR^ajAdZ7P!Y9UhbY3$t?!e zgGbZDwI<`gP)8QrRe;rK=S(@i>b^udv(aSY_Qs$aa)2*Csbfh^H6v+rd@77;Erx%t z2la5c_rZ<#*MTJ&ZR}w^3Ru>BwZtc%x}`P;i&6m}PxV}G)8{~jdChLDD4;APr4_aD z=gR?Q>0QWc|2XRnubMc54J3xbWpo#0Gw?Gu%4=?9N*gDxG){X0Ywv89}SR{gc;u^-~9h!WGQy%XK9IdGk|sx3-F|zXmITMA{UysDpKOXvWLU)n#Q}l607yS7>!t z0dRcztzTD~Hbt*0jT_SJk?-2ujl+HWRd}*qpQl5PW8aOlWKqQ3HeyOzynk9dW9wF_ z@A|Rf&3_oHPd6pL;V^#7CV-3T)Z^4xsL>abo?_rxdiIP*^zY>|!*{OYS5}2y>Jv~E z#_72$Iz^whe~3oPzU%Y(^$(^Wj~&b`PuEBK<*r+zynkA#B=zJy*xc?%?OWz0Vf)8W zKk&Y?%b5^gLBw_|i?9{s(r>i)%J=YHY4~=|qf&hw|`o?)n z;1)s_Z;I4Hg_+9>^{Ur@mI1|t%iRhcAsrKqc9DUyhk3N5m_0H3``myU9A(7Wl1l#7_Ta9Dd*0=EW0+d}D2)3P_oj-eD%5Ps?c*$_p zRL{!xPdcvG>e}oLT;(%G6Nf++8BiUFtNl9nktjXfR-yf_5tE?|rCMj5&Uj~RMow3G zLj2KmkfH+5i5K8Z{W8ub%#&)(BVJX;;*D6tp}{<*Pu5xz)V7)TL7Z!aj#^S+8+~s= zSg>2wr0a7S=35q`eE;YAK;enV@P@#4d*AVtF(;3xSdtpn)-?fRc8Es;XCy^QytQ9w zfXhvu9gCyth`PSZ&2)+_f!7(U)UYy4F8M$P4qzTTzFJU>QEMmzPv8_MRY29b$kfflvD z_ZexP&h0;*X%plH$TxiDPs*Ts<+o%6mk)1x?%Ov6<9bq*!0<@WGx;uX>a)kukR`IkDnJ= zd1mN}5`A#vK1r(W0E*FjY<=zcI36?>h56OMZ_~4(BLMZ)T)16dAMRA8aJ{@|p$3Mf zaYQp&u5c^}o!+BQ5sifH99imP5?a%GMSCRNZ}HEi=8&aL$X~8Fryn+$n6JD~F>!+| zqz~29S??2LJa(^>dicr#TX5s^ROEDdaHKu}T-iAB!0d<-c+`7~L}EnvaZ$~l%@OGQ z=p@;XR*gQHcUSyX&9MTXe7EkgP9&xvdD;1;)Xr0oIr299rA|#4iU6(%^L#j622>CZ zqNs~9Nz(2Zag@6G2`ZTc*s)Q@r?1+=s;ewnGZ192k&-XF&4D=I^3lh!D@g_vuv*8V zo$_xmY$o?;mi`>3u^{O?<-B^rhfY?+2wL&aiFW`J4qi3`%C^4Z7qZ`t`J)w%AHg4Z zwn?Xc=@(-J8uD#08LU^L!p&FoS52=gun-qF3CV+>Z?k3ROs5HEt73JjapqUvwK#Qb8GOzTK%6| zKy91DT@Vjt2`khbuM0%F3+_;^-0$;10g)aJR4mKFb6#gBB7CY*;!Ii9e?2&A;5EzQ z4>1XK^nDzJyYA`@$&3%8f!*6tj6S6Tei2^M$a&`%J`EB};(h-?^wM3Tuxg@!d3H^W zK9)~4!|BQKo*Hlx4X?MW#iD-lxxY?ii)O!&D+~3c@2r7yWgs8-X>5zaAWHEtPg|$# zQ`W0aETqXwOrzbDhj^t~^6gGN|6?g+THtd|wz`DRbKK(4D#0Q-#1vMBY_;Sjb^EjoQ(K$LZdi^hQGpw+vNZH(+=io7LFJtXp?y6ykqFYy$ zbW=Dd&ZrM=3*ugM-4Q$`+n=RF`jo%lHd^Sift0B`^S@x{uQOpDOb98gMpEHNJp?aj z(jC1%bbCf0xLtSRhc}-r#@-$8^dBmsaRN#A9g(!a#{OmHD%fM6uME{Iq!=UfDsAB# zt0x|r5MpG(wFSdR%?ixtC?;Z3zePhU@u!FHmmb?U8%#;-G*c1ReGs9(?5O&ZY9lpH zI$1b61TW+*a^iXV2J+dg`nCe=3O>X*Y9abf531DFIF95V+1TY!|IIyJ@nGBqz;hCX zj3LX5=B&5SQy7=U-X`NX!2YxEupXxmk{vuYOn~(Mf5{;Kc&DM7#5cfF#9+A^n9^XI zjtP+CCe2UDEO)wZi|si>6$M^y5~Uz8wlx5v51*dPVHWgHGexxPO{u9E}#M^3s1vLmhq;yx|@eJ`29Ni zlCC^%J|+z#zJ5!4JRTR|ocH>t6eGEA_s(GDlKHfTu_FI2xj-6x@5t}3A4j+f$7Vc4aoYrY^s~X|P6b?0XtGe?sF|cQ0yt32~E6r1(np3QK)S zW#^lndzKL{D1*w>ckel^x8@KE<_7=kZAL5gxQz~9vK0`xCtUoCQ8o(myd%fc(ze3FD2-y{kQ0q*p&6G0@9Bg>Gwp&&wqEXaA>q{!hAb=(vR_M zlnY3TjF*mI@^z1jd{{TSs4jusJOvj?MB7Ax-n#prC2)c(dTF-W%kzRYa`eXUWTt#E zDAO;1tGmktk2!pjH&`1mqQE1>!}g^fW^Zl(Qi))+p<^Rd#a*tSsLe{$rL6>M>EnKL zVf0=4E8I7(jhPg64xiz^t}W|&KE3=nPl9w-U(atPT+FVD6WBNLgiJ4f3LhOs?j9+Ti$404cp1>X{>TzedNUr}KRVQ>^F} z+`yd;aKa9Hq^te9;=xs=q)flFEqK*BJ7xotykD1KnQtJ-e_iQ?HaqaDd2~9HHmze} z1v{#unk{6NWp!Q080G*sa~QM$8_Ha^MC+|3v@>cP~Bve9PLhxcYi zGfGx)qr7V7p&BCUyQsokk$CYFbfWfpv10(V2FT{+wAW{B%#B*3AFCZ#zTM$jNPd*z zgg_;eZ<9boXm^>MdbbJ8^Ne~wQe}!Y^9FA6I#8y8W!yLZWnJB@Vp^q)5L$ylD#M@L zEsUrA2rC76(z?`Nh=m?t8}z!~XDbB%Ngd-=Q|Yt4xhY{kywu((ICma$ZJ#2T*!^oe zCH;4ChFg1)x+A)i*evDdQf5@9s}?17A@)X?+cipK(XTA^I_(xUmP?mkq<8qfN;CkX(k;YZlPJ#n`JpEtRg<&a(O7ZP8R_X>GJglEj@Fg`Tph+%r146l zN6xKMNIupiTI*)nEwrx%M zg*PNz+~4Uk09)l2v$t$6pgA428jg-H#XY#cvt9+o%8gFfePV|5TejaYcYzR&htLA+ z`l~`AGevkK7DVs$fD$I2_ZVinM+y&J`(^_1G6SZLlpC*l#_ ztPE1muE>HY21Lh^N#lKQgWQJl1l$w^*T1dvTucOX&B%ZKuB#er$neP-&_xN%J_{dr)9bPJPchKz$KIzV=6fO^q8IeOgirJ> zY^wxj0^kc;Whjrse|5iar5xodo57O5N#2SKnX5KP|2X`E2pMHt)oF%&umKT<`IGeJ zS!aSOv{7dGFo%0&clmg$?D{n9;wCV%Rm2Y>q5LE$+%4>WI zy@>9i=R>NdV<{odA5O*L2NWyPwas2bcT-oL&aA@cwR-hWRX21k_g3GHxayh<+B8e^ zRgL{=0KIkNUWgzu4yihoRbQ$U>wf8(WAG5(Y|xBG_9-Bj|H(vOzmd7q=@|I8)Zd3L zWyvNEh`J>-o4Xzq+<>8S&}QMg}|~O=nfA{y1g43!Bm*4fs!Uns`6c393>gOoLUPz zk;lEx+v!N-V#m`6DAG5vujsa3YE{>gqM&s=}@<=yknCyr0&^dl-1RM4A5x;3P8QpozKc1DO z$&PcUD#)w+ZIxY`7v?0tQPVc`OE)@CGhx>URI5Y10nmT9{{@IYH!qye>h^vfPQ?e| zAn-)w1%QiG&P&c&h@%YmUrQDH_IBQiVv0GBn-_Ju(Y>sD>@hg%(x?mPrtwaRm8!iL z_taIxVP-Lji^@rEFT_5n!s?OS`}M=|KkSvIL+@%!ZAL`b@(<<4{Ef8WH^Gs7F}`zr zkw##BmXKrO4P^9sK@!cm?YiftQLMqyo2Ui5Uu%g^#Cl(fcU{D4V<*pCvxl9{G@@F> ze+h9BJCB#8NgWx#;CCzcAMeZO6>|jG<6RjL>kJo3Padvo?DeCy&n@@=l7{BKTzhS_ z&^^&9>KV{sWEpC%jO=b3RpSO-AUm;LK!~tX1c5li*#@Fet5KAuTySbi*bF@ZZ3iE5xB8&^^PmV(7!xUHt3u0Jj z{jbRf%WJM}#_*<#zE$8AhPU6jz`vU?;=rXm7a$G#@K%EzuKxuZ_9lVdsC{X!eJHf7 z25b<;RO451VV1C>gt||@o`ETvkLR$HZw`-mshT7_$X{?Kll$9Lzuf}-HY_xr^;&F* zqi<$+pza`&KzQgBS={&Vy!hq=~>I#Q^z@Eh80GtgCE5hAw zT+DZue7NEYYU>U5*!_8~ekcw27xzP-0mW(TkkJf;W->8xIiCQmADN$Cpc%Jq@Sm-r z4^m+wP`u7?QHx=(nh!nxfNUt~u1`9l81}L)*e!E*tlqzD|7NN-t03xNAMn)8E`I%8 zY69gfowr9jZ*G4C7N2{@e{RaVZBatwMyakRe1~)QD0Ryw?852DpB>{D84`ym-?Zk| zf^GY_HoyXZ9}76tv`(n9N<^DPK$qwA1n|DCVb4yS~F8363d-7|=OvXIg0^JVXs@YJ75<3Exvv91CYg!8<< z0uMxxJYLOWk54@MeUpleP_r+N5wT7WSVRT>Pc->kiYfFh6E*G5V@oTcaz+FKaH#U5io+bu^*DcM z3Q$h!+GoPMI38GHV#$As8Bx6FpIT;)TYZS(o?wk0wicv}wOjt5G*(@=r?HD$*t7c4 zw!6xT#>+^bH35Sj(OzE>9a!0b{Er+(4H<=mpv9QnEMlA$o!`CH^EtoFgmVy?@jw}P z;4Z-QIX!>gHG(BIYyWLEW#hx{$d zInD(VUMyYB><(*^U+Kk;Y%fM1ytnGG%9#hS#J3s?F=o-556=w__kgcf8uxYG7-e8s zu4l4uJ-!_2h6I z=zsG+Loh{%Hys#MZI&&%@$0R3#w=ng_cOqhJRX`{F1aT=cCjxkXLcfGMYZxk(Oj!* z8fd}DSGpSl0EanZ`_8#7ETeHIRh+@UKl8J*q0|~4p%>>Nlpa!Tqt%@*Vo@DFDd>3% zU5T&HNqE?`^LOpNe!Z$!#NSwdkHfx@K;w&qzGb3|Qr_s*2PMuRgY8jp){L+Jb>&m~ zG|8}9?H zXE(%gLPUQCsvubJ-?F-+#l=plZo4Dh;Bk@Zv zKNe32bU>&2x_f4s-hc{nXy5itD)6=vL<~o)c}h?nvK8IL}N?? z%o#1d_#6u{8|u0GKvF27??;q$ops#2{ie@Z@D@o85JfZP)G5>7!JD<(@D4|vZGK3q z{`*@WV^xw@bkMJOQK<3-9Xs=4^L?V5=&3cBrgFl4$@Cn%MS6Ro4&ENNC;F`@9c$?E z2E&t;u+S6ic#)h(aFD5yWw^OA6TY#He`ck;AXo}rOW)>wDgkXV0d_i4+yHchRh}ON zQ;?B=Ue60);cYw<9BowRnVb?t5QOa)A?=?g4n9uh1A zc?oRZ2{DuRx9JVuVGHkpeg}V0WeN63;4WUcC9irBY-TqWCLD}_tmw)N79X|v{^Z0) zU~1jQH?MS#9N06XLo5V$$YTWMwAr8bivB^ zE0hiFnUWQg4vNbZsBtKgA}(cQLfDEwHl>ypd$w2OjYlhRDn z@YcS#5cq{LPNWiMR}`*vfY`jQhyx@%QF2#pWW-!InZ2iMb-4Jk`AKJ$C&)WegSQmY zddyHiy7f5vHf6-t5i`3?1qm)G!{o=>0Qz!J>Ognqvxon09;$d@)s4#NJUAuY+Nk zL5GW=t7U0BGtIO(s(P%AE88MBoUEIoOv%iZv zb~bx|8}5AquBZ)LATDn)zeo?aBzl&2=F?AHS?ZA!(*7$)c&TnIdU?}lFJ+7L@*4(NMiwOXTnh3nl z)=VIP=N5<0a+Ym^JFKBT?Qzx$)k@ykKiZcIwXPR{-{cSFJ~VB#myMuZ|E$8{r+awB zeQ_s)a>H2p=i08`g!EBlH)a5?zvpkf?*X7wbW^);Aa1CVwB*;-tPHtUwf|ptoKpx)St0yU#b%ps6C6Q?CT=M$3{{v`$SHXMBGhm2DWDs>|U%1Ac z7<;ygoDJ;=yRw~E>Bo1Hc5%>`1}FQP(W~9qcO?FfB7MA3>+O?YHV~kmt0;ytb;q+k zyi-t_FtyF!n86D#+KQ<5*vh*3UyOls0!TQ(^0OhWj=FseY2+|AKPz^sb9ZaEVLPn5 zO)je~g}vFhk8)aee{3^Uc*q9+q9!CISGMUz3D4b|?Vcq|1z<+j3y!|DrbRJCQqE; zz%+6ndv{NY-5|lEKesD%eBU22ZJcxhI?Oa5DkBrlO>`LnVmAuJ~eFu*Ua>uQFK5Rm4b-4bjGc;$2l{B1z3~r%@Z%G0? zVha4IyD!5TX)dG*F9@(KSril$bgP|nlp79sqU9rm+I*=(k`PH)_dCQ*HUQ+NRKQqj zVN}aQ#*Ac_7bD{k8;&&2TgV>w?Uz>t z``9V-q$$b6(QTf(lR=lIKmP7}04xafl1W3pc0UcU?Gy_U0eq`7Q<6$31HC5fb7w2A z^}!ny!BPo1^89i=NUI{MfIq1P+IeR94Ed&LfKvyYZO+u?k5WgQClgP@miM8>2x-dc zi9q`2q~>DCHfk#yNS;8?T8nHu%5q;tGb8LTVrEHYrHYkR?$+FYKhPw`v3yM5BudkT zeP?BQ#-$hBTH!Q~n*X@~1sadgvn}M~tB!;PgEy@9hXA z27M3AgaVaI9KguujEs!@zq=xl@CtspIMW})47znYK}#_Pl> zrS&3shI%70?Ps)36!o+_pb8-=0XP6^jxptv;efq?C&J?eSTjy zekmBJ!tjeSah-4@Vqbu|=cAy)bjYF+;?<$&MWMOWpF@362sQFlKE(b{pY+Z~&cQ7k zlHEmSH?IBS`+LcyGIGI)H%|~JQXb5dBL8Bi01Q;%HW^Im%fY?T3IZo}x2|$$xUY}S z3>F!9ka{G8I4^R20B&7uR=}9W_ybviV;+D@dJ0nZ}jD^eBGQLBKG3DfnIhnQ|CTKq6*LI z{@wc1&O3M!@v#Xzg2hjpgMa@Mw{G!=>Hxgr`G^1eEqNo~^G^b!4!_V~E#t%g*VC22 zGyVQ?q|>b^r6~N$eRTW?5z{oK65B90k$aZHL^(3%_~jR=l)u7aX6}tF||1&?@UVCk?@9VYC>+?L%=XgJ#<9XbBXU6AEpr^2#LitaBX#@~}@*(To7G(|H zc3}}cLtju=d6IA?;{w^97A3QDV?fOBZGJG{6hgIaJ@C}MW3zYSjafxY($_gK8G2mf zvsc4b<-^vw2~C=s{;#JoVBNJriM*!&S3@>^gFw{$Qmxk)Q9r{kO2_;(Sig(M=P&M| zbkNC{a-B>LFYZ=O+$lR2?&Vs_Mt-2C{(Mo!x1tv0@?iZ=4LGk^)VZOlsWwg1Ws4o> zpuwN!IL0!(+8Q(ngfcx_%QbN-Pe_Aski_~YJ-5g1dDQqi$;$EMi$IKKhg!&>HXoYG zkWsVOkIJ|XVv|>3usxuoNPbnDYtte`p#H6Z4GZAUaT6Srhjt9XQ-ACg z1fhP8X)g(ag$J1M7dL&OUS}Mo9K)^rJJCmRVdh(JDO^$M*hk?t+jZh&Ta*2(AGN$r zADN-=|8Ywh!z^^hOM1*Jd4)*!k;)ccs>6JPh@gU^r6DTb)YIYT$6QI>Htc&yF8EVug0EZbL1s-vuun)z z?u!&v9cI7T{S(yTXf1w4?Sgw%aiHY}^j{z;zR$NfI}`l+IyQ*3E{G3oM%6c9RBk6i zjh;L+r)VLBlq+uuC&OqDSE@54(mG2z@?JhfzZW>Zwm*I^)%Xb?N6&0-Nsh~$iec*R z6U+aJN1@O7-2oGe`?o1^&N`AnoqN7DeBt)|1G8{V?~s>yOdi$B3!v2IoNQB_k;vLW zUhP;>33GqJS(WyY1Q4TqcNKd7a>UJ3b3H1?j|z_C-9UCE8Z z$7Z5*>6XIbqKN+_dyiqRcA@ftq?%p zm`i{0TN1F&$2aW+^-b_n0$r?X%uIq}W5E(I6P_~(1!wMjHV`aYp&y-TkfyCR_5g7; zErlM8d>4PK150NMh!S*M{VsgQ7qg;Vx^B<-0SmJ4`Y}fW50#CRf$a@<8e5rYpx`xnWMnkY=dq ziN%6?Qiu!sq65U;)Hg6pr99mw{{3)Cd^-~3tu47<`1~!Vqe}CEh}ZE>xCZIihPi9V zG*vkzY}VY2ShB8=NzkY)Bug0L%@jeRPKkOY3BRu_&QwxSl*Wwp zWpK$}=aLciimQzWf#xoOpmT_&l~pEoVRF+U;Z`DB?R1@)FT;NY6Qgg^W}22}w5pT4 z3+B>jpFQfvy9V_bB&8~}NdQrqMIQX5M??|a>ko`uzud^+(ZOw{A74R5wzP|5OlY0Z z3}i#Aj%#Rr*Y&0~u<}wIemS*HHrrZmSMK6$bmi^cw-W7bwgKK9p`Eo7V{Nen-%RFPt5 zHUXO*?~=UhPQK-8o3E`Qs+&ahr&wHg<6bYtog;v`^XV`2u^NG+p#O9O=hSh8`Y;ky zjsPV4E;|`puyHrF{Y?-x?3DO({@{5xMb984HCc zMsy+BzaODIS%s+&7B)v{#tzjJKYaY;#Ux_3iDGPqLWcN^s>3@~tU}8)d|l?8u^}kNlQv ze!CZxb(Vv`sPJG^PVVk8`S~haE0n2DrmdXHp@&Aje&kn}uivmFT1{gK!VH|BGxiC^$W1LPw0s2&m@ju)971Qdw;;HA zOn!8C=UdLU#T#`QVwJ?5g8|DN;eUOkRcU7*!Dxs!mk~<@y zYkI7mhP{KT4zt@DO&VTgZH2Fjc{euOBvSAN?eoj2@h(N{2~TT=V}8q_nA!QFWLs5) zwxsdgEGP$^51OJafX1pVKrh>Tx%>Fp%#ns_CwOysQK|oHX0LJ}S6;J&$r{gSpF`h? zA)f8^U%Yf6wE!c&wg3uuLb%oW)VnKZz$r5FtH_Owfvk$j2vm2lj~!kwzdpIE=hIHF zu){a6mPZ%#5~=CD$ii{6c)Mxd3l*z-L5=&v_2zYvt7g1>sywPZJUqL==O|BAkR=9Z z!^?ATyA+Qwc(V1n$IJb7Bf!bW&B4{_mXn&VfACea?K`+ndBIx`d^dpq@$mc~JIT!$ literal 88891 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 Yf7^mG*?r-IFmnd~f4I$S_^0Q80V=CT2mk;8 delta 3833 zcmY*cc~n!^zTQaHQj0vnTW4*{RKS@=C1LP6RAh>U3^Jw)NF^c&4UzHCmRBCMf)GGJ z0`|(7kf01=2n1Brf|w|fgh5Da1Caz0AtVt(!ri=e-&*hek(G1yIcI;r@%w#y!C}E+ z`#EpZk2V7UK8C+9z|@|wV;A9V#@cNlfBRR+OSbJ9!n#)%`vQgu`q}1gF(u%PeD}fhzT}ws@Z$(Qo8i|sXd9EbYcuV4JR9i?4 z9~LcE7G}HBb$=r(y#n6i2Q_JV zhlx3IFN?II!q(_b0J!;<>@wXaBR0b8dv|k|zrGd&oirng3KuK@c-Tx6{p`1W1ALZ; ziO9wLwh4gq*arvg0q7<(oO^nh>lvgKP301$V8`eGY(2fRAxU2_or zb(1UV7gce)lP0%f%eDZ3JakqZNDA*#yRHG>8%~tBQ07NwxHwikZ5(xI^ zAv#Le_rQ+d;z|Ft_W^Xqqwt}7)4XffwDYi)YzF`z5Ei?vlflP&3|^Fl6dlfj-rbf4 zp$#FLfT^Tf_f?}T#WjgI`X<&H2wToZ}ZVPGrZ--ekfENZS1| zRH43hNIh7p-LFPI1wi20D8|kVE_@)Q$`)j>#wQBeRkkrP(UYa0jjIb^`N*Dybf@DJHbf&nNgC<}LF-?}$NL*L3)g;$6y08oZ6 zmFF;H8u)mONJ{_PXT-E<04`t0o|!EpnAU3SSpquwQj--7u%eF4^3@;{l}f59Jsjqi zPY^K!QZi~1dKk@)Xw{SK6n4$ndhln6lcdorjY_6m3M^vQG>dvrPWqd#JRn$e*mf!6|P%iBh5*|u*cjV1ufQlU=G@quK97DnP?BnUcuDe zOqaDFLpO7saQXy$w0;7+Rgyd6&`N^+CoLTw>uP_dtjnS@II6>Ygyf56;cLKmu>pz= z%mm@k=u4*T+p5Ob)v7kHcNhSC7!4`d7kGg-W@-HRHdrjYD?&Yv-n!tIW(Z252a=z< z_WD7q?&uqG=-Pl#4&k{znXW$6xxZwlWez5{y~=GlTVIdX^O~ioT0|a|n(PYSuf`C4 zZ^*6^`kySkA*f!L?S^T?DeA6~(qxTI<2lZI2@A-Q`}vb=z@HoK_>4M6Em6kEX=sVJ z5L=624PS(MG0F9m_jUJTZp1ZSl5rtJQ^i%>tJFkCoZeFYS``MT1N>r`#S|jgSpQc9X;yWBGJXD-1fmGR4 zE&2^JRAWXy!PJ*`Obt<{PRUgt0|azLF)A865-+B?wUQdtE}s0KAZl@;ZXJnL??jGA zr3&0kK}JAThf{0QHOP!}i%s>XWlpR?+hTS39&+&4Xr`Q4T$E_yb*Frx^ z3XwhN@=X4~viXF#)T+J<7M-+|y@@OMvgAB+R)D7^-8n3FRnz5&)&%^yX)sB_T4{^- zz{{6#rxCR1eY+ZdVdI^CG&(ZaUdCXMdp)65WtkzZOs53#p~`va(K1h}sh)PJ+o}?( zNWETp#w(}y_#x{mN)=IE3G>S);0-?7cX*_+NX5oSmC5HQnlENcJv%>xd6n0t5H$O6?J;BLD?9 zGphRNs4U$gLlUlE-;U941Hf*k@W1S2 z;lg1jtw)+MaI}IkJ`%nba{fSccW(3Af;T84C8D6-wNQ(JtA?3kroZ-tuh#jH8b^Y2 z68)z2mr%N{JwbSt1HJZZ@@6yo&7DTe9)wrI3JRlh7)=PmZH42On*ZS0(ET>MachHd zK;Y96Tr$5C=Z?8tX$o#0U}?u3h`yrdc~VA^!Lxt& z=w#U9PUvkB8d9G!@>bVN)qsF~4Pv?^_Bst3QXkNX`Z8WfrQHgCO%A&pD-V6anEL}ttb4VY=q?7mFr@V&52M9Gkjx%R zjdV#bR8W+N*BDuNjYN$;dE_H-?99b|CFio(@{^}UNt4ZeJlg`O0q%$y6m~YHa@WM3 zj}Tb&ZDSGzv9;?3`gKtvQ-_1qLnReXvWb>_WKgZ}TsQjc>rynSQD3CU)EoSqqM@L0uBO zq4d}46aak3l6H+ZUQq~9)th?faQqj2R7Xfd`)hQhP7Q6Nd93BxsPv$~E~02<{=_Q% z!68G-Ge>V$wcZclt;!fr|4zcI@mp+Ora`2z}yQsB_rh=K%y`D?Q2hEm?DqGyC z?E0iG3y=}ozz$`KZ5l4T%yqU^R4qU&(!(j{L1_jdCpx;qZ!7lkPFoFJt*M&oz{{|> za_VcBDQOC<74GfP*w!UkB}ZfyWlGTfm9OXxg&OETpH>w2ppcvFWZqqRp_`vjOyjJo zg$0+-n4|QL^ghGbEYEdRbXEu9ooz&Q0Vw2cNP|3hN#j2XYw>D;Y8@f8d4A@!Uzf!L~q&_QPzI*>b!V3pA)PhW3u@*mD8qnzT6vA!h5EkMyBCb7dAXY2OLn(Z!ICTgetssq?}*>~zK7$mVTPYexsmoljZi_F zScG=%>}}Obx!0*>GWrsfE7?f9$c@l=p*rHHe;9^mcSB5-cf$ygj{lZ2J2(Yf`+9Jc zFRzJ}9a4neLW_ajwTr^et5Zcyz3PC$sOUo*Hln%~VLtR{&wGy?^1$UjErS|6o|2j81J-N4g!6Um$$e(j~LIYp+Q3r^@0D` z74CXDZ1sE+VR+gB`C6kac2FLHE8lhYI0Gj>Bkl-spj2Uh1MWU7DKeZ}f=&Crq)6uDQ+WZte(>_!E5{)KhGtUqzlXn1wr2RP UtUu>%vSzdC|3BT*9&C317i711MF0Q* diff --git a/tests/test_graphical_units/control_data/mobjects/become.npz b/tests/test_graphical_units/control_data/mobjects/become.npz index 4980e9d1d8c416e2da5323cb764830468d2c4360..afd7ee89dbcedfa78912a6491890fa71ce1146b2 100644 GIT binary patch delta 43 scmeA+>Nb)J@MdPwWnf_70AfXkKg;9J|A&H&Qi~;+bs2OgACT|{06xkP?f?J) delta 26 fcmeA+>Na8x@MdNanS4M(e51@l31$&y5ZfC7VEqRo diff --git a/tests/test_graphical_units/control_data/mobjects/match_style.npz b/tests/test_graphical_units/control_data/mobjects/match_style.npz index dcdad6d328e2c40ed43fd7a8afe6526f7651f40a..caed3f85b02297fa067182728cd1d41d25df0d7d 100644 GIT binary patch literal 9089 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 diff --git a/tests/test_graphical_units/control_data/mobjects/vmobject_joint_types.npz b/tests/test_graphical_units/control_data/mobjects/vmobject_joint_types.npz index 8f668025d3493047a79fc7417d536e870e7049e1..15bf7bb3325379991709bc73ff0192b66ae6dab4 100644 GIT binary patch delta 43 scmaDX_E=0Rz?+#xmw|zS1BewFT3J5W|A&H&Qop&Fbs2OgOK^Jw06KvW;{X5v delta 43 xcmaDX_E=0Rz?+#xgn@y91BewFT3J5WU*uw7Xke9O*eLazi&=zOWU>UeHvr8=2^;_b diff --git a/tests/test_graphical_units/control_data/modifier_methods/Gradient.npz b/tests/test_graphical_units/control_data/modifier_methods/Gradient.npz index 435fa88780c6ff1602720b7cf1e0a4d9c142dd59..93b1b45b248f09b4cc315bbc2bddb0a50a26a845 100644 GIT binary patch literal 4955 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 W=DZ9{8W3m%T97?>e-B1b2>LfdvR@GZ literal 4989 zcmeHLcTkhr`uF9SV5XusgfW; zkU&B+LO?0Om5|t|5&{SW32g%c0YZRK?g{*6elvIG{&)Y}Zzjp)l=nU7InVn%XFh8S z`JcB!5cDtb*$Y`d&1xFi0zvoJC_|f|tfvZ{6^}an#d0SPuGir3Va!WTRxy zkM7_kZonc(^cFYss6%<%x*fMk%GPIm*6+o^tk0e;y~%MVCRjv2Kxic`B%_0l%&EY& zUYA}rIhML-UupsiUY7K)KYl%;z^D#ilrD9Lj^Joh`QCC&UB0w8onvsU_IuY`G7r&M zyBJ=hZ)G&q>ONkd*Z%gLk|_E zoXP$@QG-s;r1M>|4V4S;yU2!|Cu2Ks{m+_JOjY%cN-B$*Ri+Gk`ihAO2??v)`RDr| z1pX%o%v4RrT!g{y-1Ihe_YX`x$IF|1Kfa6f`qB7-#d(k+!IuALv`$n~owBPD|UbEu8S39nrQki2kME)n<41B6?P;w-d$Hy5J?ici021q>(u7i`D;8xQ&oIP zELmxq?}74It`8S|<(F>1E3MCLpBXtr7xN+%oIXjpf6k8i$qN$o%UDTYvDu75n24+f zLA`~a?pXBY;Ziy8&oM;(ME2}}+BJo65r-LCO)cB%&l;@KpCOR@3$Apl@{Zh%uVvdQ zIbCZR2kUuP(*mc#2A%B`N6KOBA_Rj~gecqJgAOM3oYjr;*|Dn77pG(1apsdI?5qT?E+LzPfZNQ~yN6+gCa?tV7}& z2pSEouTOh3DHOI(mau~si;cJ>qOgt^$x#TdJkO$$H^j#lxy47S^IYU0D3l-mqvMJ< zK43J=h=*GK+B!lKni}j1jE~z`vs>B9W0$HQqIuim+N1+Z#_|yKcj9stpP@h#aQS-d zU2_@cS5bx9!*KxyjXy@?HaB9Y=1v3D2?p-I!FSso$RpHgeQt%be_iLpvDt?C-*j%D zH@S8EBN-%aG7JbzW=HU;@y<#iv^PWyvM0Y=RBLBi=kfVu-~Fe_(d2btRA@h01e0VZ z(?>RMJjX`|H`bgynbD)8*|Ypzud(JQ2nx(+c&Vr0^Yy~Tu1N7cqCRvT^A!s=534(s4Y_x!fUe2Os)Jr?g&|MsHaU|>1S)k^Sk*T}8nL}l!Chzh_ zB1Ru6zWCQ)^pK&ybVg$2o@&+a4-bc+)2}BbRy9&4aaK%*b4ebw+$kqzMXQ0ZK?|wr z?PMuk9y(1IBK9ceXXJlHdzDZpZEKF}c`|W9tuu#^3#a6u`*>_q@7;o6I)M@rg=B;b zwFmhQ?GH$JvgP=bHBcj}B z)y-%`yN_Ezr_Rxo{!UsQzFiL5!&tlF3yT;}#CXBEiox21*l%j810jbY=)#K%2GVcI~W`kO@RaHNy{c2j@4g!NlkF0aeP&~LvF=|;%@dCf=cemXk(_emsUHW z4z!{Pi_;&1V6Gigf~>doC4~@_S^g1}4e2u$Zu1@~9=75u5&FBlB?o!-a?ojQ-65Je zl50W~KJ^d?DhkhDe!2R)UNrcd@rZY>cr zP?qg7(3b7;op)Y?3977@PcklXK#7|u^9^n5*C=X8kYO62_z-s2Qlqz*w_$0jUFgkT z&v!UW|N4H(5k;JJ0!F_)-noWLq($j-YqgPaUPI}Ix%))bAkng0&CK1Z`D;k-E~4<8 zcD12u`-#2w^ET?tT_Bg&HV5ZIYKR%C@WVG>|MYv@CKe79%ECDmNp3jP zM$5;VlC?iW_s`Z>lwL-OTPPuJQ*_bwh9n6?gSijPxx>FlIfD}SQ9>p(ICVo~h$A8u z04RNDhYgJy5{xpk_72;i>XbU00W$BXuPHi@%E_dTH5v^0N*vY!N@|g`qQ#_LaGPI< z!X+e!vt5n+Yua6Pkt2wrljiOJmSS#(!ux$)zouJ2+`>c@3sE*wI>Y^;=6+&MRt)=cz-+$7&2kc-c~dFeW7w^BbsclAmBQI(i%k zV@nZpZ#MOECtBip${?j5%}YMO)CJrvF<~cTX*6pM!dyY|+|lj1mP5VV zh30=Sz)Zel;nqTsdmxts2pL1t9FMbz)L5Ne=j_#lKIBOYbxPlzdUSWJ^DQ|! zX{>TtGW4aiX7nL1TBXy817n{8Y{--tmPFRk+LgdXpKC(TEf-_3#b#k%V7ccbB9kz* z-`!}%%fqcZUfpx-3zdiN!-S(pzsiO>e^x$~Wh|-&i`W@Is=3E|dvh-J_)0u`j}Evs zDyNFdd>x3nRg$5w0r5z#S9d?dFE4kK z!Efh#l({sq+NdYZ-YA1aoE(tLDUGe%!dC_w)BzlOCF*AbQ%lvPRiroVy!JvC)!9kk z=wtvm@d;!JW2ZeY4F`ZYWWwo+^KtA3xbA=QcCA}mK_5b5f6&;+^E2^inp;5zJ zdpk=4T(R!@r@t9QO;A`l3|H10#ZE>3c0lEbl(rTJQ+HY^oZAO?J&X6V>688h-FKn8 z1XNPYFQEn;EB!C`Rmz%t>)+cVld~xHRe|Tz@paEwI9b^KiENsT^%xORS?BIW?CRKr zk4db3SRmF(Fm7(D)uD9vmX#P&z}JbIYmnkPxGUQ|HO?~33e-Vd@}(iIq~4O@mGfQOmEU@2_Ww@56_sSO=#izE=|0S9G* zRo7)z>P~ZNMVAj;tQqZHRWW3Z+-=e56H6r5f+(cq-Z^W64d|-`hPl)nHN*hJo6zNp z69p#*A~NIwON=hr1n8w85I}qJzbr4?KBd zyt|^*L?+V}qbWBP`M_OXg-Qu|ak;p-7PL_T)iXTg&h&VmRT$95cO<`_+a5&PIykqm zk*t!~@WVU|oZmZAYJCa|DH$!MhFn15hbh_n66^Offj0COx_fHHDveag?1tezP@3mO zH4g*s@a~%*s~PXR2pkMUBaw{`pWoe?GP?;l0B$gWu(1`r9>yK=qkK7eY}N4IE--9) z-EA+ZGk|;(kNTpxDv*7 z@}vdh$h)}#1JPtqZm)2qGlvN|`I}qOp;W5zTrah`$^QAQ0f0Z07p{^_-_NrpVjA^r z_-F825I`ZX^WDa-sm9s?JVNuRMN90^EPA23$PW;2rf@-Qs~?_?LRHsNi1=?lMY(_v zzuP)Jjh@rrxN`rv(|v63r^DS6u<01bGMM5}y*t6Q97EIphAux9YJ0J|Kl4M7F%a|# z9J?ytcnm*ijbxB0_HTUc{Z*S0qA75_3ZX;}PR_Qbg3Z*p(LQ?`wc%UAMW*}HEsMU< z*v^}EgCe4^7#T42Rafv*f|GWEvzkcRplYi~o)ZpddC@w^2)%h+t46pgVBdHE%ctIF zNU~YGf-*l{ixNEks1jYX40=wYZBp59{Z95hh*w-HqCT;_jq09mje8a%dT{B|z|!B~ z+%kAww!aNI!(k~!q-PZr`%+BEMKazSHXY#n3xH}opL#eJ)#yPmv{U1PTWkp-V_WW* zok|R`Qglr*NFn-o&)EBuv{T?GQEM9^VtO1kSUS2<=WYjF?HdPHdb%g`1;eLdz(k-x zKn~N9;=cz_E}aLmZ@!Zo8wcc^c1XKu=1;)JObrFF<2T1QGSI$AMo_)7&yN-}pSG@u zo3rh0@39v1i=aM&@^{*6x-5KL6g(v0I9W=Hk`R<5jvwvQz+tn2`ea+7ZucP&vTfNq z+HEs2)o1;2NM7(|bNu5DvdS*ox>S7P``u6I9y!3?z-D&GIK`@ zcZUtUC>b13%r!ky^!(r_H*9gVoJv4*bN7{|dlww1J&Lu$w3l%S;m^Sp=AY*u1pY?| v{CR#^!P-LZr>*k;?Pb~jC%O*`0s4Nn2rXUBM0>6h9W&i#SAA?@y diff --git a/tests/test_graphical_units/control_data/movements/Homotopy.npz b/tests/test_graphical_units/control_data/movements/Homotopy.npz index 8d80b520425566d212b6bc317ea932dcf63fa5e7..223fb76fa7d4f9cbdfc5f11105388f5a788eaffc 100644 GIT binary patch literal 16160 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 diff --git a/tests/test_graphical_units/control_data/movements/MoveAlongPath.npz b/tests/test_graphical_units/control_data/movements/MoveAlongPath.npz index cc6f427524616bc3ecd3a2c87550ff7bd9211101..f8f0570744d781ddea819a98d7e14893a6d2bd6e 100644 GIT binary patch delta 43 scmX>geLz|&z?+#xmw|zS1BewFJ{Fz7{~roAN=5K8>oVw0F6H$G07=6TzW@LL delta 43 xcmX>geLz|&z?+#xgn@y91BewFJ{Fz7ugA;4;BZo#VWU(8FS7`<$mCL9ZvfbQ3GM&@ diff --git a/tests/test_graphical_units/control_data/movements/MoveTo.npz b/tests/test_graphical_units/control_data/movements/MoveTo.npz index 6a3268d11f21f7d4e66a8664f0afe863c990c8bf..de7f30093ff7921642a528eaea5dd37f9792aa7b 100644 GIT binary patch delta 43 scmaE(^+ro7z?+#xmw|zS1BewF?jJpu`X355O0kGC>oVw0RuuIH093*dV*mgE delta 26 fcmaE(^+t;|z?+#xWU`{D_(mBfQDzZl5ZfC7V88|L diff --git a/tests/test_graphical_units/control_data/movements/PhaseFlow.npz b/tests/test_graphical_units/control_data/movements/PhaseFlow.npz index de58b1451e30180bda48935c9ee3dbd985b14975..8e087323d162c119a5206fb709bf773f85b6a91a 100644 GIT binary patch delta 43 scmX@3e@0&_z?+#xmw|zS1BewF!UG;2_zwjerBcM1bs2OgH;Q`$079q`VgLXD delta 26 fcmX@3e@34*z?+#xWOAdp_(qu|ab^)_5ZfC7W+DdO diff --git a/tests/test_graphical_units/control_data/movements/Rotate.npz b/tests/test_graphical_units/control_data/movements/Rotate.npz index f0b4956518e75588a9ae1d480e3e189808a151cf..43e5b3afcd4f2e89f608d369c0214b2e50ac6217 100644 GIT binary patch literal 12752 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 DwNqtV diff --git a/tests/test_graphical_units/control_data/movements/Shift.npz b/tests/test_graphical_units/control_data/movements/Shift.npz index b7dfd8d9807a876a063ef7b154fc424b90465e44..2cd4fd992db314db5009b044f1e4c519f0ee989f 100644 GIT binary patch delta 43 scmX@3bw*1nz?+#xmw|zS1BewF9<&zi`VR#grJjf|>oVw0W)$@X089c9oB#j- delta 26 fcmX@3bw-Odz?+#xWHO_u_(qvWBFsPtWP1YuVD|=1 diff --git a/tests/test_graphical_units/control_data/numbers/set_value_with_updaters.npz b/tests/test_graphical_units/control_data/numbers/set_value_with_updaters.npz index f0cbfa5f65453d8604c6574cdfe9533aceaca008..9f2ab8ea3707f12b90b0701436d43aae084abd22 100644 GIT binary patch delta 6144 zcmeI0`BzhC{>MSws#U&I$D$}Oj$^4ZfEJOmCAQX5%BIzT0!dU<1cV?VAlWXhGtj98 zs!>pu#HnJC7*d3QEJ;+VC|iIKwm>3chyg-?EI_t9Ppq9e^A~)7nViEpgu}hhz0dRc zyx*_STOFg0aXb`ax7^*v#%4A6*=F-yjng3f?sLV_3$pv(;n%evFYc1A`LOolRK*wN zZ*0D?i$3gzaa(iA+5H2;`+vOKS+Sp8!DXMGJh8PTG1&D?EvDj9Fx&e`S+vf+?5Nk( z{LawOC?(P+fC1;#d+giNh0Ie!b8hZ9E>YI*yOG=$a9XM$3`* z^$n-TWaO;FFSarKXMZZGGIngsb-DPweBiIg8(;r?aBbD`v=>iI2JL13yw6&AK__T1 z{hZ`rQS0HG#KmuE`M!o(yMmiqK~n2h@V(vM1jpu(Cyy|`rp>K%_|twox32E4ZfYQx zhW9a!*mZl|4k`%G8v5nr0g*8X_nd}V-AH4)Zd$Gqz!qAI>-qQb6CJ_v^sKYdO&Q5F z|Bn&A&$s2?X?1~``GIM#pKG72_3YztJb2pPTJqAoVR3q>MpTw59nxyv>)xWRoKaOo zu`xWqQ3y8E9(=qTy0Is&SAr9a%6Xq>Uwwlbl^o{y8K-MlB#5gzeEUmOD^h;#h~IPx z31x9l?7x3JVWQ(^!tBe(x@t0Zwm$}!JP6;6rw13IGmdjD7NeRuUV!8y3S}il7sj7? zn@g9O%9SW5RlSUgvae{EZ*vo^aER@mjgC?ajl8*M&=zsP5Bj*JPaD*7U3FaRT_&Bl zi(6ZJRMOyyhRnKkMp(;4hWU)79^iR~74N-=C{*v6I5YqHMHrH410@hqK~Y!=Au%b5 zB>{WZsOB3TF)ojS7hl9ke^IJdXt@-|Q&ZIPd#ptU81ZqOFtAZk{4kyYy~O%$lcI;1@fut=B?@7pV54Gxj-&RD%tSzlD*@^ zKNU&b5!pPEe!GW?k%4N96sQ+W8X?n@Jhm2Wrpr7yrGy(Hs}JqsRgy+^m8LDInS)$a z03$%gX{Wrtj5VFoNl+HbPFc)-6^+w^$&z1B?+tcENg9N5V>Wk=q91Yv#~z}?Tw}-@ zRdtfdaY#{?iHWXHL38Plu#F+IG`u?hmDq*&Hf=I=u>N@U?!LvN8|{&mKR zEXY}BF)~9Wg-iR#?eY@BJLVcdL|f4j>07_G#uZ`Jw1pZYmi zY)!^rx7%J_h4A<|1bn~|u60$U=o?nuivO~}xom!3D~e!tmiRb$Dmp^CMyK)i`-Oc( z)HT|zm7mal+89R@tlR*7AK6rLJ+u4PXJNwiv%%$21a?py{LwK4?W3@_k6kn_ z4A6uc#_XXRGfirKE!Avj?Ct@Cd!M%0A^HY+BNYuI>n_ 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 esE!*!R*C__eV*ri?)$ghsv=d9 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 JfKu&_{9o4g6jA^H diff --git a/tests/test_graphical_units/control_data/opengl/Circle.npz b/tests/test_graphical_units/control_data/opengl/Circle.npz index 5dd50f220e2203efc3b5feead02d15d590252e51..8cc6e43c4801065b36ea1a0476927b88df37224a 100644 GIT binary patch literal 6546 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 literal 6611 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 S6#v}@zQ8C6`B`1@*FOLah$|fc diff --git a/tests/test_graphical_units/control_data/opengl/FixedMobjects3D.npz b/tests/test_graphical_units/control_data/opengl/FixedMobjects3D.npz index 2371dbfaeb98f707ba537e12ebd33f970d955de6..204e542a8d79941394c85633be586d3d35554820 100644 GIT binary patch delta 43 scmdnWx0O#Sz?+#xmw|zS1BewF-W@*7`5y{4N}Xk6)@9J0{EE#R06Yp1*8l(j delta 43 xcmdnWx0O#Sz?+#xgn@y91BewF-W@*7xtNWCp@CJBVWZSpHf9k9k;$*vyaCGC3EKbw diff --git a/tests/test_graphical_units/control_data/plot/axes.npz b/tests/test_graphical_units/control_data/plot/axes.npz index 1024168f80cc3956e196eae637b466f8800396ff..a013b9a0068972792b82923dbceebf63f0fe2a93 100644 GIT binary patch delta 1825 zcmZ8i4Ny~88ohx6ilx-CEIS~mTf33Os4ZyURFzy;s4INvm_MQd-F4$iff_|e!Ib&ohUwrRKZ>uakc0tn0TXU|lB96=-FJ;IS=C+= z29kT)_wtH0oa%#WGyu_%Zc^Nx(=3m2+FF!UDz#LdTM3(2A3TWGSlNmcG<2{lhoodvK=scV)lgTtg5&GH^0_?CEhhuy>+uGaPDKek13P}`_oI4Pq z9f{kLuv=<7TfF?pUok(Q!?e2x!rhA^Y@Vv)2O|wBm(pmf)jqiB?m;?+j6$o~NsOyk z{cBTD01SSuYvr!&J-?KxU0A@+S9ROEO;I20+fl69MKmFx1rAf5Q){ zX`v~CclMMA0K+w!A?_N{=JED7Up8^pO&D6kUQg$dprKZTwC2oj*za%DL1V!d`Ak&W ziUU#5U&W4iK9`uZ1$J2Gj;wKgTC>=Sk)oHDrewMDx=4*lnX#LYIQD|DpY2j4A`0Zt zbGcbJUOg1P(AtsJSN3rFQK=%0EFN1*cS((g!&t?~D%A_-zAf;r+iCZkCMPGSBZd5a z=QD+ZxhQoyrXx*ekMK1*$esc@EDOG;ji~;=y8*|?z-usC8H_y$? zKfb^Gy~Gm*i=M7W*Y44!CMG6otnQ#bbRHub5h~MJ=`_=r@mYbK<4bt8HFD*btlY(C zU9qIR$sRo8%9UGlY?z>XDnJuUmLGBS{@}uC1w>&n0>hfn?2=D#Cpzz(r;i>$bH4HN zZJL^z>c|_v*O5OVnl`cWMIk}ql$Lq^UGuvDjuvV#q674m3U*9_*s0guS0CE6X_KZh zIsHaSp3`9ufv=R6RY}MIa1)Y85)4%55W)K5l2ZC=y0o!@FLkW`N0~3N%uYKQ8+LWp z8)@#~aGvOLemP9n{tI1~b6(umwmS%acDsFLoUG~Hl(>_|M*2ON7<<3lW*C4=1zfWl zmKw##F5aN{P2>+$;bN1YtJfc2Ne5v5YlNyACdE2BXKT(JRBu3<|3LD{V}tw{azL8Z zurm^u+R^f7``v+ESlU$pj*7AL;?cj}BIR2`Sc#|&`^wk6pm^PE(vWrR)c zpsC-id;ve}66CZrv+2bKVRKzEcS>0Em=(6gBwhgE8t=2C;++HDkALo;+})v=lKr#v zlImVw+Hy%|=2o#~mZf2lB_Z@S$WDDJPenGRLPA1pibM3>BdgPG#0+t9VQP0#o~rvC zc{$=AFR7@$pMDzs_1DZ);b|x!IQUR^QMe96ph7EkC@}wSfXg+B_A-|LRZL7w?u4i? zck1D{%rm6gzkiu3rPD;##coA^B{p7-MQn&=?)UmVoSo8sGB)*2=6;P8xomb2V^a*$ zb6)Rl{)+W^-e@vn^rx>wmaLN}|CE6O!y^>G>>mmtUAcMeYLw&pVz-_kWg_iU*2vp2 z@PxmH!62BX1q{stOf(Rc4YSv?%J38W=8h9NZ6LFV_t5km9*G@lmgmAkp3x5s9)dc9 zKknOHFsL!&Lv=2oAl{E3H|UCm(}tFdDkW|go;G+ZKV0LwNkFThRc{cUM#o*temZ07 zUG68jlFU*TYHf2W%aZk5RK4H{-|LjDkg=94rGVlGDEC#LU33l0@O@EeXIGI4uCM}B z{mY|M#l1-OkDC>9UvwW#L`9R{5{aMWk0yaV5pOLT?BE$c0E4^Ul6||Vvd#_EYgL6b zpU}cq7X(neUmFqW0iv5npo;9%$(j%V!YlcWJB56MwFDIi<|(4fcV}Qd!UqHwkqPXv z)?oxY=*?{R3jF^gFOYbC;->j+Zg6K KyAioSz<&W@hL%bI delta 1829 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 a7GQrLqt6aQ|NoUszq{kaM#Vq$xAlL??w!H_ delta 2830 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 diff --git a/tests/test_graphical_units/control_data/plot/custom_coordinates.npz b/tests/test_graphical_units/control_data/plot/custom_coordinates.npz index c189f89af6fd4939e4f80f9cd48f6a4d9cfe268e..28e7dc78f8500d40e2dc06855cb2c754ef587ec1 100644 GIT binary patch literal 4128 zcmd^Cc~nzp7Jta7bLv7nr-It4v9n0kBCUXqZ1I$7IhC?h39BJslnheHu!Iys5~v47 zD}yr(AWM>BAyk%7#K;l|3@&Lw6Cs8`Af(7Zz>q`&a`tu6^c!cNjQf)8bW(A5&gX{tGrf>o6O86=_Biyi5{EjfCD&s;@ceY%go_PWcMFQk0MqX-c2^ zy7Bjv?Iz>nzjqj926MZztB=|#r>B~kbhSY}jusNjDA7uNLW&33^Z776L4JgMKC!SF zT^HHRvEq4g?^pXC{6sb7 z;WiNTA+f6I03if~OB_C3*Hf|sg1RJF^{Q03CiSqrYLjC(LeN+3ajT}M6S)M8unw3W zx+7biq?0$WDw)aktD`!rrfaaus>ph$OcE~n_ax%d&a!X@#y=66CF`A%1)v@#Z1ra%4^^D$dE-NWEX$|D8&oHrBnSkW|+0YrfM!TO7NT{Pf=CTXACc zC<}GB0`PEWjUVp>t}z55f)Dp(==8x@|Ii_Ux4touF@r}L1_jS6m2jlGwn|O_i|cNn+`59WGN9((u!R4E(4};KomJ1J3niyc+ksswtD=;} zlAb#4@V^^oNE$3B7b}?*4*Xv*yB4ZzL-d3A{8o+?e2yhFo6mny%W2P3U9qOen!eAE z;MFz5#Lf=S#cwZ6R9xC~pjn<43C~VGDsw>5=lgtlEEKs))w8^y>Sd5e!xQ;SlbUh8 zxijYO#Zg=tbw+%2EyA|(gsWK6;`1?0#_aREcEt=2a?!XTzqpAYDiWaR?UWTsD9#B- z2dzX?Yo}2^tQ)0hNitD9ib&totz^+hv1HjWmMq5vu)MKR=@W%IBdj2!9V@ibzkm{~ z4nPVHVA;uTBw;8{>1HGB%rgVG_6K^--g_z_k0kk$AGP#L1N|ZF^;z1U;NJk$G{@rJ?WJr8LE1@;uZchyUZR< zbdwfhd1(u#Hb9x(Ym`BSQShpo0dXK2D`a?t?rUbzmT$H{@804-Wt;;huY07;n@WL6 z#P>`h@iR3c25P)ao0Bp>)u#i&BuOvjIh zyu8Yt0DU&s1;9;u`sblGlIlH}i>ppIsGEC%_pP5OlBIT#MtrFPfP3+OjWaJZHq|;QVGZ;xBOU2>?~hz$PJ){_{8T*cdS(dh|_WT zgFy`1w1_9OJLXN&C`!HO+(Q=!IXpyQ6*}`5Zy2? z-S!=uZ`sv#G?FBZctMZJXz2aSnI9HKTbj^(Y{)x0`sQZ4J?%3o%E`$dUlcWXlnTpr z1Chi+gNE0@>ol5F4y4SWBs^9og{n6VUANV*)T>S~H zf@K;XkboP`VQ?z7$}K>C@vpc4V73kNv)SMT{qQ`GoYaw1`}Xfa%mU;Go4^lF_d$Le QHz8UZ@bLssq2+}CAC^Y^I{*Lx literal 4128 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 literal 28752 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 I?~H)|3r#SH8UO$Q diff --git a/tests/test_graphical_units/control_data/plot/get_area_with_boundary_and_few_plot_points.npz b/tests/test_graphical_units/control_data/plot/get_area_with_boundary_and_few_plot_points.npz index 282bbe1c40a99480c1d4144932322c1e33299c16..ed00f4d1d69a7b7e69700de4a94beccce6f69a2f 100644 GIT binary patch literal 5395 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 VntN@hO-Fk*z~2_|`xtwv`481l(u@EA literal 5393 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 PI;sQy?7?p__O|a|Rd=H= diff --git a/tests/test_graphical_units/control_data/plot/get_axis_labels.npz b/tests/test_graphical_units/control_data/plot/get_axis_labels.npz index 76da3ed568d123e6d0f617e1fa1c6683045a0d98..a6521dbdab694818e8b2d9d42a2398a2ad63a730 100644 GIT binary patch literal 5381 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 diff --git a/tests/test_graphical_units/control_data/plot/get_graph_label.npz b/tests/test_graphical_units/control_data/plot/get_graph_label.npz index c90a697a6d486a821416923334e9474944195e0c..29a4489476c60b5cfa66bcf8f310f55c555ebbfd 100644 GIT binary patch literal 12724 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 literal 12720 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 diff --git a/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz b/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz index d65208f03ee3f3392840940e7b11707e38b5138f..ecc63af1251f4e8157fdfa5c67e085b06b963ea1 100644 GIT binary patch literal 6993 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 literal 7092 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 BO(y^V diff --git a/tests/test_graphical_units/control_data/plot/get_riemann_rectangles_use_vectorized[False].npz b/tests/test_graphical_units/control_data/plot/get_riemann_rectangles_use_vectorized[False].npz index f756d25445f7471000171a802bcfd4d7bc2acb64..1d24f980135b1a4b19694c6d221bcb7a82018a52 100644 GIT binary patch literal 18817 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 H{`S8B${^`5 literal 18863 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 diff --git a/tests/test_graphical_units/control_data/plot/get_riemann_rectangles_use_vectorized[True].npz b/tests/test_graphical_units/control_data/plot/get_riemann_rectangles_use_vectorized[True].npz index f756d25445f7471000171a802bcfd4d7bc2acb64..1d24f980135b1a4b19694c6d221bcb7a82018a52 100644 GIT binary patch literal 18817 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 H{`S8B${^`5 literal 18863 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 diff --git a/tests/test_graphical_units/control_data/plot/get_x_axis_label.npz b/tests/test_graphical_units/control_data/plot/get_x_axis_label.npz index c1f5a74e90b2a3ed6d0510d04563c4f9f9fd2922..81715dfacd65c30ead45d16949dfb61d191de513 100644 GIT binary patch literal 4461 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 literal 4612 zcmeHLdsGuw8Xs)YZo6vTMXi)TtJWe^Q2_ywV5?|XS5fo^2ud^E0EIsCRnt`WQr}>E;! z_$Q-1fBgOz54__S7#Mg>V*yAe&OiS7AMYh{O(4iOyD^4JCX@dX;SVO*`6Yh3MM>#< zJ$2xXSS_!k%4c~#?v+$3bwsiXf~+?$EG*PCH#f6uivz)O)foxH#<-NXSl3yw5rPhJ zQOXxj7AsHf-;_vK#x&ls{u5oVL(tfBBGLF%7U||z8y#*6K{Gz=m8ag5crFzYvD|k3 z#cZm#dWFlf@qVf53I*fB0E+dTt)2$TK886v^NOhq>dg#$TOj2`G?hygS_;GkI#Hr> z4UmDarO~|X+Lohp9Gsl;RVoRi%~h!b_GVVl^5-b8Kv3D4DH~8nZ()H-ZC#&lUY&ApVJ#a!af`wkC!*|$()`P`m{!z z>f?i6Jgb#$+_&&}phc!R$jFh_!ZfZ~$~K3*nHR2m+o(5W>wJH1K{IBEoN)%eEdxa$*^mSl8Z4A(7xKYp}$^;+`*eNdcu;mh&+ z6Gmp47ao51E{<2_RTJ8lQYnd%^vHWL5v8QKsgzBLD{d=t{_-=Hf+Z7{#w(~@oq4t~ zB`4tm^dO5uNek11a;|GUM$NqQAccalG>WFT>50V2f{1>P&Dh+@?xKKcYS`WMN>}A= zhAJsQpqVfBK{y0pu_bYGVV=*Ea16%9VW!W0iH| zv-vawh{8aB|6ERzNs4|^f*Yh_aP4U(D+%|bR$88O%EQA$5o3`9M>tc_X-n@Sr7Msm zFUAA}R7ch`cks6$PT4Lgj`21}Cnw}|7rWTgK55v>FF;hWhddNkwcu-f=kR~ZVzqWU*GpWA>-4P zGxoOrbq`nOv3`DjLS{_F(%9wo$GPsyGj~-_uGm%8*0XGAp!{foj2$b{jg^$dht!mV zlJX~_qegD2MDgOvXMO$s*LL5Y`T2~5ha}E9O_g++edqF;>Mi!+6&to4eTqh^GE>3e zqCFiQ9huxO4{&Dgky4f1;*gkw<>IOE}yoi#cJg()dbm4rRf`+ zDtvzU}X5ra^uC&h|(~}n8~iD#QDhqp|Fr+ z&};i6OeHQWT7Yc#-gYeeL{?VT6v)acX9W8$+a4h=P~usCP5g zZ+=2bEin$Fbt;}iL{IVQz`z3S2UvK=J=Dim^?Ne8y{MPFa$590*gXS&J`?B%4M;Y4 z*WY@Q89Os}XGG#mhOO-U<|S0E?AhU6-|xju^;ZJ_e1Jqw2KSg^6 zAe>?aq`}n1iTqr*br#Owg(Obo!3sH?AGk3R@d&903zdv-2jd)o#0r4>&GAEeotAe$ z>up|Ten{c)1;km$0wb^~ixW7FLNqm=LO37%Fl07gmkb6JJ%8E_!8C1_1nue11mG*MD=%1$m|RI6MuVE6IlqO})@V_&W5pB}8`0q7h~liQD^-S4b@`i*oS ze{^yGyU*@r3xz@iF)Sdn{Q6aCigWx9@Ykm4(&LXvrib!DS;yM7dWYu>4f(%#r_*YM zmVu!tbh0zpfwzP1ZUSuuEdq$`W%pn!>5%k9fXN|EHXpO}dfNVopa4M&o`DyKi#fE1 zTFQ-D)kesJlP%zL)Xj8~Jor^Nxedwm(xlBCq02ZFDc&l*7%*jgolOwAV7UrpqO8CmTrB{7)Z7$4BCJ=8)b)=3_mm()yrQ?1GjB6(e< z4;!@+f2K%k#8y^A(%Q^q(M@0mtYD0IG%k;_s*G+sM;KnQu8Wi;#1KI*Q5O0Bw2d2p zu3q*y0Z>7Zv;cUk8h{V6npT@kv4f!Yjt34 i^PkUb{^g-G;5g{tPH=oZO;^LCCg5`r+#8WooPPowMZ}!| diff --git a/tests/test_graphical_units/control_data/plot/get_z_axis_label.npz b/tests/test_graphical_units/control_data/plot/get_z_axis_label.npz index d56d4761eb45c7cdbb2175f7061272a21ba703d2..d0a6e53ec3bc81bc397f83ed5cc2155fa2302c6a 100644 GIT binary patch literal 15240 zcmdUW2~?Bkx^Aeux+@NKYrqNE)vYK9NRfGnRuKmV5doQkVub<%LI6z|Vr$h3DpCZ( zOhLk&h)jmj2|);CLx2Dx$dmwKP9TsFxbH{zxx-p_t$WU0=d8P~uBu%m|Ns5p_YTkV zyw88({JOuWVKA7#!hhdkE^erNwEC}KTQEB??g3YQuDkwtHSnss?@gi%=3C62uXn*G zF_;B|wZAZvpEo>vW?QE7CGz*^f27~}X49bvnV=mhn!Mkx**&7{zjj=q_^W-~BRLep zUIk6JAKu(?ll%73p67SAjg*ZI2L^JE!0u#kzW72D$NN>lJh8~ymOjdT}oR$`{xtl^<9ov_9&Ax)dww=%qpKkXb3B?>BOX6SoEvt&CFZ-X8ko6OvP>k;zuA6p$I4## zVniS> ziTU);1eP)T{lo3NMZROHSM2)DyPrML=TZ{F!z0zo&g{AI;=}-M53IA>ze%n9IeAsm zPna(anJ6-w`Yt)8J~gP*fw2Xvgqv&F&zPPm?+;J%Oeyf@&>ULPx6$mKsIF|gRX;tGf-B)dsW)j97_rCSXr(7r%^|Ly!U333(I6L|GvOW@D*zJ)vvTIT^ zN&2!$J!zoGuX^52Jo9d=>?#qqF_twm@Q%GWJ7iP;M8T#xQJeQsR5fsa54U3LO^(Yg z3*7R|yBoL_xQ2yp-|cH&T`vZnc^giau#ZJ~_Eiyg8wTGf>+#CRu4rw*U{vD2J9&S2 z?=g*94_2x%TZ?5Rc#zibp5zlizY?Wr-1fKgM>LyxD=VVf?6h#PXBnB^W#3WgRPJDM zu;smYJfHqD#}6z0^GaJy7Ozml2wATddc1A=Yr;IljFuF`><3EWdfMKdM+&PKdd6xb zQ%UZYu9AgGHVe0EWLDe%Q8~@1iSR2tW2bPkyq`dp!&!Q@ z?GN?dUYkm*T@mA!L)+u1EEO9=sgNxo+FENxNFFEzUlzkP z*{bxa@84ZBd$cn;WTA1YKH;Kfrd#**_>=%2_((%>TlPvtml9U`i)-ktsY;~ zru|;LSx;oK+ldEy!zGhr)Fj`;fslpq4pq(@YONyi@VJ?^eZ)%DORcc%vdOYf+)di^ zr4R%rg{7U2TJ6n){3yezSDrMrmks-f79DxE=Y#m27MW&Iso&X~O1&Vz)t5cCVlbDs zShF66S=qQsc(~PsDY&&K%~(8|Irdn$j}m}usfbXlfh;56pC*0|;*1dPXV)q+#%Jr5 ztXwLCn~Cb$GEN$^NbDDI4N^3@;dv2*f?t@Ue9arcnU8fQ$;Jkn}8bMnEKW=Z*= zw^HcLo4^iR`z-6s)6Gxw-|F^<#&~gPE{iNB$dAR;+k+1SSEV8=M(yzL=eY&jwOX^o zdr$B2c_y%A&O}P;_Y%x&Y9ZKLW{j^XeleV`(t0;PdSIffXy}XJj?ImOks7JRHob1@rwbiR=jNf18gJgCbAy_oa!Nr}EE~D91Q~>N6}HytS6>(D z_TGG#Y`t6OhFI;FGHp%5wq{ zi|gvGRYL~u$PmRK@+-{WSSl5N;Hk^yjk8||O4Xw6F(qY^${jl46SfZ(X zlxz7uRFu$sCC#Pvq@L8_HThU&Mu=$Y-l{I#L#3=iU(;L4Qk3Ue)D?zF7M8;AuHQTt zo~!Os!JO%$uyjKgXAX-hgZOd5T~{9%x$YxL6iK6h1WM;QJS`d(x7{1R_^E$IhfTde9ikm}8to9iPM+ID;yl3TfI+=L&NqQp_57poH%tL`bg|$K?JnOt-Pr&zf1? z0+pxEwlm5;7`I?z+TYh6^{}rRKtOZg>ALTmj>PcoqMOxg76(hZ+#<2!(A~Pe%h>`I zs_wi1+8@ORkV4RI$jxIM->TUU?Juu4E&B_{>vq{hCq&@+6J5}NJn}ajZTb2M0~`Hj zpFM;ueWny8fsIgPy5%7;tkkQck>f@cL-$D*blj0y7eGyP4f%sxs^{wMuBE!~WL@v0 zE-NhSFcGClU|c1sFZz%MMvdvz8# z40xxw6wy_=-^O)h?mHOdC*~H3 z#}0>DWJL&G+~2h8_o-JyPXYmH4KMAneh|rWfiQDu^+w-gxg8u(3bUkr1^<5R{553S zZpKDf)v*99?5F3j3iOe-23t6$tmu6B^W1)W84Tvx>Hp{#s7~d+4y}B+LQal)?ebi~ zXb}AS(xrdTZJLFQJm{(S=-#~jsY z(nL{x8%6V48#JXhDBP)A^oO6KLw(DE)4tF*Khdq_k=I}c+vQOK$ZVtQc6eOV>%Oo9 z|GuYA1T=fy^iMc@k^W!3egE@*C$g<@#;PO**gtG6=|A_F{^$GrZvr83tnI+R?%aX3 zcaEk(Z7%_!IuaVxZf*AGAw;CZS$W1-=$xfjFF5Yj5BPDnw%4VK)fEZ*iQ&}c#U5C9 zVNERx>4wd4L0s6zO}X#qHb~~QmAUxZ=XG*U1v5c1nAgjHx7WlK zyc&!^Nqz?5%iTt|Zz43V^V2`m14W;2WkY*2EcN+RHWTy}=5-bNe2F(leSYe*AbZr~`UF*6uu0Iq~wm0d#LR3i6(EKi5SA8O#;@(|n4(S9?x$aT^3nO3e~CDG;i5 zwuMgj^FJ4H(B3+aYLP^>u`<>U1K`KtX^@r^b^Y**6~K#5jJ0K*w-XxV+|J-=cwGdb zWr^T(574%YQ06we%40A`ezM0CucHs`1R#>K#bohI70zq8A$lw?pVla$M&RK?JI>PF zf=h06e;+j2qa7w5%N~QqXYoLh^b@SkdVv2GB<*q9VAQ4Diw9UKzu{~BYNa~Hv+uVP z)lC8B$+`k}dZrxE@z$rb!|wcpy#Z%>uH4;x5wN+SRIgU_dfirYsYJx84(GU%!@`|g zy}yPFo})Rw@+ofCA#zVKO_gxrp<<{Kg1r%=qDr7gZBS~nP2j-EKfvb@qV$A1Yq=G- zd~>&!yEzGZ?;Nq_R)5$nl4P=+{mOsnqG;-~tgAAt!~<56d*bf;v94=T7SK)4Z8e%X zUNQ4lmc3E603h^uXJHaF7UxBh3?|(uCSOinmG;VwhI_nIbKmB@dPjrC+YfsbWN_f_ z*aTpJle!{}c%z z)0|O6lX~Tm!jiUg_vo@13OPe}1dylIbnR-mcqHC+?nd5rE2E;BpcB`X?QKoG3yMy+ zTyPDWwL-osmkfO`dQN77cQEW zMG$P!AuW>r`2P2Nl?Ra3S{avoMD{744-x=zwz+gP8N%M^&&{V`iVB_5GF(7&&1N^^W zRI<6vNj%Q(B4s|Xpfm6R??gR+w{gJ1eU(`4!Vi!4$ip-I?ra-wN_YJ+n{sj%(uIew zO_(>VFR1OJI|@lMckaD&i&TpfT}=sSJj|eCtB+Z;Bl;4%%7dVG@WPz^@4L5p-~0MN z-?hJ*((kTr4|%=-iEdP^ykO}PGFh4n#SDe(6}vds@TC&y1y(lf2#0AKP6;9nBeS-7 zm(KEOmA;TbPL2R@WLpm955%OuMUk2Mpfl@y zys($R8mW0hdAMy_p%!`xvH(5c&q4?pvB~|X18!tZ|Try6iJXjfyvEqun2B#lqaMlC3Q3JZ}8D+e1 zCLT}n+28$LB3NoYdp z8aP`gpAD!KTZ0E(?ueJI|9U>iGs%b^^sd{XT{!UWK{gQb{R*Iec}|vc78G@4lbvl7 zDFeD!-~Q^H{bV&hL^v9)c>BxGRU5QcT%)u;@?n!uZ&JyBNr=>dyBKkd-LIJgOeOE- z3=(GXw_Ewo17h;eZ4V3A9O5#ySmvm}4%J7oilzI!H!Bz%^C%eIrcO%1U}PgH+vKzh z_0kq$XPXIc8y7t5q^}gybnhk*&(ab@07;xTQzZUKf@VsfyH+XvZI`M^`NYd6Zg{^| zi{5?^aQyGlv6w4Yb%HEZThyKumo&Dh)qMFyc8*`BN8m@*n6wJ!Z?Fl zQ_20hkS5cFmWXP{)+E^TX5IeY8sf@RXKil)_a6oBCLnBtPPH?5sYxNrYu#30mwazK zp%+owKmZ`TVzZ&D0$^OKwb_axqeFt|;=xTRC$}0OODi7<3;xAfn}F)y)I6V^Z8i1g zF}}8^)LS0vIkbn{g`5&kHg0(t^qxdQJBT*%G+-Oa^c6wcs=0pVu{rzUqx4&u_J5{`C;!Fn5f9m*hH#~Z4rWsGPP3LnU`z=Qn^ZM;~E&K6Mx!6VZ zib=izppM<>dQoNNEl!LRyi|#!_{m4$>#G*vgtC!vs#R(QmAM4T&_J)BLw@i`H-zH4 zrJJU7U>1qm-f@6w%d3=C$1leyTUl;DXx^YyU%Keb%!P;B{JoogPjak7Kdz-bbK}<{9*1_R3~>n>Bh^mw5_K$djr;DQ0L!lP?#y*;6DGIX#Zxv1^J|I-6O zsi2~6nR4^(Hz+GGE9S}3rE`s{*{D&oZYv%8>B3ZVguaZw`UTkd0&K{uL1xG7P<=MA zu*#Vr4RaM6npbOv>6GU($dGes#SJ2aQ&9vQrJGuK*DKsINAOC_P4a649GQ$5>==-N z21&V_l6^ZJ2=?3b3|?Ntl;*9$PA5N$p%0Inf^sP5w`r+I;sF9OH6W>)B+fuJ3Ip5D zDvxx_v`RRCoO}=n#fJ)FJ5o}umYh44Q*ZA}0a?Wp#L_b$SRDzSjI}mxwvA?8Qztpl zU76>j6xnO|OZJ@5yLns?U9Hm}DoD=Fpke7rL%o9y&YF=kNbBYKm=L-W^rjVlR(8<>=UVeAa@qi8J;5L9V12CkmqSV zh9W-pmgCSD3oR!7#NDcX-!HF!_I&@_wk4zSSUbnuwPjp~Mn1avk>VT5m;$l9#7?w>Ba?OI|MD^&l+yIUs=hHgKn~n=Qe<)Fwa)N@11-~PVjd7@W)0w0 z6U1o7=9)CD0K$;OkXP)kqHAal5z_){rSr5`@2lCg@U#enlUGj+=jG@lY?r2in(?wk zifR%>LCDm62*PP)i4Ie6VU<*apz+~EXrV|6Hq!Vm6bR>1@8Gp3`Ug2xQ1PGWZ*-{$ zJevjsjeE&4Md{53TxvdrZ!*twEW43_fLAYX0n%v1z)twe7z)T3 zQj$OU)rOfw<&N@>Rufb55jiAp@lU9kwRMIAaNhgT1+WX8P_~W^`9)RWT37fk#zgh}NW~ z(SloDc4kKu2W3*{AtJMZ8R)Toy9}ZkPb^_s(jtz?Yv(RjX96|0^;fiA8}Qv>Y$G0Y ze^pO(fZOYD)5`a>rQ^fOYWkH%@+g)5qklZ0!VqphOS@`3FaIJc=;RfUIs_+~xBCGd zvLOXhVGQ&1pk*@Ubd+LBDrr2|C{ttMrnXo6PgGaKFq)%(9ahjs(~D7U;f}ZG+Q2;T z>HupSV(WP}*_J)GhaR&LYf=YEAoTw1@W&W79C-?9VIo1~R|u0ni2R02){zkjGp&4i z9f_C$&C`_Znw*c-lGaEUJ|#1dsEB?ljg^>GM^Zzq}`jJ=eY7Vl{Tv6 zn=dUFa0}|qUpKf#=el)XfmwyQTmmE?fUcV+e);EORqo-eKn5fh+UDC4HEfw*!?5Lo z!N9NEkzn9)yEi#mb}!*br=xcv5<{PZP;=O$bW|Y}pne+?wEdSxNv$`8a5)lrFegf8lqc* zcE!{wmOR$!8MX3u1PQV3ZysY?0B&&7-NIdkOFlr&#(;*mB&7TG*LXq(u!UV$FFEAc$_SkPmg{qxAjjfK2 zW~|i#&q5eT5{#{&YFwUii@G2bg#pN5_+pjn_f`RL9d@*>;wl-F0;l|)zUAj`Vt84; zXVhs9Nq^h_+{!Tw0mmy&F1aj-s~W$&BT;>=@7}Mc%OZ93Wc*%Qu4%Tt|1TxEW=WV>)M5{lsGU3 zl$xr31`TQJD1dG?kH$$)F(!6_L z`6Gem&fLC*{!@w%@h?DG91)-T5d=c*Y~c7H2^n|}J=V2UP74i4omKQO1~#E*;F8vMt@GSkkV{d8!in5$igcQX(CDO@Wc^#1dRsUx`>46qOGd#n~)8| zb8%*1X;bm2>SKpr{aZQ{y=nRGD!#@Z?)gReFOh z_GI!so&4e#NLvZ@_5U$%RQ^$g9W(C{6D$3-)qbZ#!6*-?LmgIPI~cZ18IZ3In|0LU z((7*AdAMDfTO2xM-k-s7_?6J2uME=`rW3TY6e<<#A@e>>k`n^X1(&hKp(rcxlZ59X zl>$`nbhn2Dr%Ye$^hiCkbTlQxc^*70&t)~LjsjW=zDM^zVMBMkeWbMgB4aA(&DZkJ zkvb)+{J^LS6ARCx>ey$tGl-r6h5GnX333q`X@is_ggv7I%`>dEQYy}eOpE~qF2|Wg zf+C5){Xu)RDgbkF9(cv@#ev*g(|uzwDQ=X$02CzgH}-NY9>@I!lOB){k1+LfL|=A} zg(=PP*5@EuS9{`qd(G0Eu@BuG_^^RpdvGRM$K;9kEMsjnY6&U?ostp^+7*xU3nIk^ ztIGl#0k;`_^?<#ms^+@`UUra#Km%JYuoJr(bN0WaO0v^l?LwrGpm~8O)Iy}jg0iERraZ?+ew`5MK6{Y5 zN%!da`=av?*#eMY1C34fsH(rwj2faxVYpPBMFv@fh#NYmS~%S6hPe|!z1|eZsPzMu z<_R#3G0jSiV!-3l)hb3aa-ldA$=8@OWT3%p$MM(Z zbI+oRqu^m~YN6tuX|`(3eDs7sioiRW9<(p|JCsaa)Gu=hyp}P@f9CXqP+&d`4-qhW ziw%2k9(M#`bM*zal=*$ra|rL+83?%x)@mRj=0etuLEK>*XM@084V5BdAs2Osx zki}g7c5pc%#|9zg+SNVP;V|x+0LLOU%O2=HY;BHnrmyV_P?NKf?qiXxr^&MU1XeW| z;Xm7O9jK~>>WU&CP{@?4qRx%WYlCMbUVA%oCxCEW6iVwtDnMX54}(K11;b!w$Zil% zwaP&Y%Ld@6EAseoL!w709o0TT)Umetl3=-ES*>gZaXG z&jbMaNrRRBoAIUc-hlH{nV=0XGY}XtVcOcebo6edoQEPcy6urDHiJ43xF;Lt4;rk{ zsKm|>d;E-=mU2LCRORkY1}_3}z3D`n!O$bEIfoQedL)#LH&xro@*f!6c*z9I)StJJ zt)QaCFHJWB(ZEes30f9nzk2-x;0|9<3wjOZwDU&i1tvG@lF8LTn1qTK!#UFamw!!;#whwTV1I2E)ZKJJmv=q#__H64xacfXNA4qs~=eY?Ld= zL5($M-pYkdf^sZKAp2AOyNMeh=1G0E+Ay_l2XF3M&K3+4aRM&6AK4dKfe*>6*Pghx z^4#6Gwvz!gZ#A?1o&!Vj@(9- zExca5fOR$g0gZ#GWXEesVMAcY zBR-H^nhN$)K=Sfg#-d)W+B6ui%cSqi2lEV++XOU-ZwcG)fAB^tKjU@)_LAkF@gC5D zhL@7HnRkBP~gD9TnaxGy=xs6hSDj-c=ME%$jGe=E7>=AD7B4b96?1_K zrGBZuda+!6{33XxPxcvNwQf&ZxCei z91bgnK(J-OE~+7WmZy7pgFQ(2X8LquKW*@3t83sBv%9omWY}WZe{zyykkgqb8cT zn$})fHf~2FzBE}(tkXnVg!Cd()Qxv)YE?sC!x%imiuM)PF4=Gy92893)I^6GG3YE{ zz5o0y&cQw5ZQ35dybwZygld245Ym!hZ1jv3dW7V1Nj(62R2Q{^V=zYIP@{Em??V3r*ok;x9-(H^MV2X2PUf76R zS-f^OsGz}HQ?hUTYU?MwP_RCI5PTq`WC|Km1Gt`=N8oXQp8>Vt4#OH44RrcUWHGp zxAj$7kgvMP;X4LLZ6S}peYFA<<~B&#m=)fGz0?qBsk^S;J-)>IUIrCBdY;6ygL!;?#+q0-~sjo z&7Z-U2Bg=%-;(hi`gUp^zHf9|0!&z7@_AGeX?0F}zr_&!iR-g3SsBkx!GPyTYDLU9;i$+34^aZKLQ z2WA({ON!5l z$KYtRB<}`2p#rSO7m;@Cs{8B*xYQLq>Ll!V*YE_8`eMPjlm?n+487c|L&XK6#}kz9 zG2k7rWt(>&I}}=d6lf>_^Yfq`Si)%hB<*C_$`a3W@cqLzYKQzK)!|MzicC{Q_CkZJ zcqBg+XK;XKjkJP=r=3CIp$Q)HMo{6d`mD@FG!#d4v&Dd4Py*|dtFffmqgPATyoncP zk@uWosqNeQN(je71xrpaygvZG6;p%ZrzhtMA|z9l^qKj$Rr}DMM}UUS(+@{%3Kf?Y zb4}hfizIc|{`8d!a?*jANLY1SI0XYBhK*(n^7KP|UHA+7k$!8L&nHl^fN)jWtBA#J zcBZZTU-o^3Ctgl?iLZqS`wmGyi1{%%^wFRbL=*xuX2>1eVkBT5L&6cvq@JVs4b+wj z@c#h4lEECU9-ZfZuDnIF*u3-T-$i0H_(wlG06)8=2zk})G5sOII>jL99F*tY8)P4l zC@!M6Z4mik&B0(40fCj|^nFjk{;BeS;vEj~fePZ8ew|v&m&cy~k`gprLC|&=2O*nu z+A4aB!6Pj!E<`%$*vi_V^7~8Yju%(o1;Tk{FHC-tM^;U)GfcbKFq-|{Jy-%l(wf_a z_eZ^VEv({upOV(ojDy&fa?OQQbl6xH*vOuOtf~7cByVL@t~B@M($BO0%q>-5;1h(*6iwHFM05{lpYvBp z+Np&B1-3bGB-Wm5Y>T{7ePmZ5;cmqEFS6=?`W?wM znDC4NCSgg^-EHrRf#wCoMG)ou4|bp;-vVWB4mj5X zfT%q^{mP#ogN&m>dDcU(1GUWD3pfL1;XlWNj0Rf&<}cZh&LwLT>$=L%O-0;RS|5OE^+>6fzj>*&p*#jYFu&hVod!PzUg6?#!CObqDf5 zq4I&S8VR)KHZWW`E+(R-N1#pz=R!cPuJfQloQJW{p+7HJr&+%@291qq72|n<(83d( z;QmJ+z&mEq@J31LauM+kT;o4t-%bWm7U2|R)<)<5f9?AIKiG-E=%N2#b)V~uJP2W= zNO{7`aBKOB!G0{|;FHieac#tgq~|r67L4#0tP6lKqn>9D@`wd;n&w^1Iyc}AL7DSc z)SD`TCle0>n-5tV<#*tDSwFAaKwV=?axkKa$N^u)pU(vQ_W%E{Ls2VA7tYIk zrG`<1hxs4x&7wDA(c7``*2RDSbqC@Oq~HJLE!qp`zlO;w1|tK%jo@z`^u`C~zX5!) Bv;+VE literal 15244 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 U*hv_Oz-1V)(J}hyr4P)%0Y|2$kpKVy diff --git a/tests/test_graphical_units/control_data/plot/log_scaling_graph.npz b/tests/test_graphical_units/control_data/plot/log_scaling_graph.npz index 2abf2c0e007961ef4b4f9c9ef09c9cc877280604..90a1c236b21900216876549a3c635343fc0feb51 100644 GIT binary patch literal 14916 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 N|Fq!mG#rP){0|~x!>s@S literal 14905 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 diff --git a/tests/test_graphical_units/control_data/plot/plot_derivative_graph_use_vectorized[False].npz b/tests/test_graphical_units/control_data/plot/plot_derivative_graph_use_vectorized[False].npz index bf393eb228aa881a5c285f8c53c79675bf5a2c6d..3fb814bf0fa75fa8ca2256599add2fe99a1aa801 100644 GIT binary patch literal 31795 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

  • &fO?j#&%77T$pj5f;Zaoyl6*D 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 R_wcJq;2VbG-k;(B{tM5i>rMaw literal 8368 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 Mc7(3&7yb9Y07p_DHUIzs diff --git a/tests/test_graphical_units/control_data/geometry/Coordinates.npz b/tests/test_graphical_units/control_data/geometry/Coordinates.npz index 3f0e04bee78bc6f8b5a88c3ae9c399f97cd7b4b2..821e953cbb10b4552d4b0a9d6f9ba42527e08198 100644 GIT binary patch delta 43 rcmaDO_eM@Cz?+#xmw|zS1BewFSQi=O{D*>#QY`$;x(vFL75TjZED{c@ delta 26 fcmaDO_ePF2z?+#xWU?Z^_(mBfer6G75ZfC7UFrqI diff --git a/tests/test_graphical_units/control_data/geometry/CurvedArrow.npz b/tests/test_graphical_units/control_data/geometry/CurvedArrow.npz index 8c86f738cedf886d10bf062abba24a4018b96f25..bf856e6ae0bb0f1c345fbd8e9c84c3ee7488cae9 100644 GIT binary patch literal 2946 zcmeHJi#L>M82==xBwd&(L+z@O$fcvGVc1B@5M`!WcatQFkwHstX=%5zb;7u1td%q_ zGv$(lT-KaoD&uaFK@=LdQ6n0YnSJMS_MF|nV9y@!cfQN}+~42xeDC|XU=&vyLJ+hT z+}}f~*#`Dv`Pc}lL+8T?!Tvty2;l^ykkBXvXcLs6v>ix7(A;|I3z`{pI-cRNLpjtZ zx~Niz)6;BIo)fRbJ;_<4L%pyyU1d+L4K+Os&fxs{uphhnh+*RIza+vs5%a5#xb&E< zwQWSwp1qix}W7B<{WuJB@ zoDV(@KLdia&6vk3Vgi&P$mBp?Bo1W&K?(W7%91WOpt7NjU8|p~0YOdgV$0+tR<)cY zUMQnENEGLSuXBr~#>9iZawc1~P$nM}sOOc=0=4~)#E?tHYo5dxR;+@cuZ+cTnMdA~ z)IignklnS#*QCt2qq{nBs{16~=L)tnX+gf+QV_2dyQAYS3o|%4NSN%QcJcw~Tw9iD zKv&J=2;)X)g=BuJ%N02_H^Pw3oNzdth=UCd4xYCJT(|DGZ?jog-cUX1DG1AV+w4&N zlqei5oA7chOn^>ENlB5Ly{4$#l{Go`DueJcZLf^R%-rv1LnIPW_*_(ke)JBYR!XJQ z+j$C}PtMxO9Gu2t)ln!EP!%l;xuj`FiP!SD<)s)r4v&YU)gb5xvN{Zwe06cQ(6slu zvRXI}h}c#V7|AjC^!rb4<|;$bcNhl;2ODQ+XOwG1WMuN_=;+5RAXWaMBi~j)3le-D zlSh=Oq|!W4O^l^WSM%aGZN%Gwf$pqgI^8%eJ>9N-HAp>DS#8H_p7>&5;I9;^?Y=S( zxK+&8yDV&mvCm1K+nwBXz@>q{zJ4=*q8(_Llo+Iu$;YJH8r=__RJ66VxsJWV!#e@1 zAOK{q_2!9G-J~3I;&?mupt-rdOq4ko&!&03YR3u}W^PfWMsMD_#Sri(_@=#2{8~7! zpsq}gGlv>68Af9P#VT;42c$F8o)U~q{9fGd=<6frQE8qvTVA9f;Al9&3ig_Uwy=zz z*RyubJ#<+I?WbWOC6{{DnOVjz9mp-ZM-+oBT14xDbnMGKbouO|un)&k801u2j(I+n zx;NTL!e|BQwKokThLeRFhdr|r|8GqE*qph8h6I2!jjX2+yt%2SN{*(*p zF;{{BVEGjlrZKg%oSLmr{zQD=O&h8BW zC}2^jTIx|9l2luZ;;Vz)1^WB@?=oXc3I?EfgG?reF3of2J}^^_&r?MrQRt`9=Z`P- zmw)7K1jufwt*c{{;OSizPR!WN7FT9BsH&>wKYeP})6?^Fk_tTeFlqe3cv}t}X6T+q zx#nIKgnLu&k9kvfg%}NAni;6J_3;^olX{xWW9i=Ynr0!K%%Q>^!d!sWv6rv2OdCXUg#OtvOL}2RUko<1zefVtETDh&&n_6H QH4>@*-_QM?d#?*l zMO7aFpaGxtVEzyZ5w8T`;tC_64fKIuxOa#z#mD=Cw{_?_ni9}i?18R8?zQ+8;sS^Q zWwlrKaYfs&_!M5YXpQdLhps<{dZW~qZmjO`OA4!0b8Tk*uQBFss_XUk>Fhthp+(1F z&6S&Fmoyxdb<<04k8IkmN4c#NSJ_BqmlX=$1#md5uvT@mb#q3txgbfi|7gnQP8r!_ zoS9Kkmz#qP3$B>2Zk$TnHd)s&_TmPGoDdc=Q~X)bhwoxb40p~qHGCCHunWCX^2DQp z62UOSob`6AoS{pYvC~xxL&!s-A&r%pnW?HsVfppkYgJz3Xz?uRR+MKdzPHl1xxUDv?PqU%L-QPo4B*(H78&!`ejMIWv&4Lj~~Z{ zDok^=+z^EqcXfxGuN>jaf?5r+{~knjsJL0d@mm4Fr|Q#7f%F!ir9d%m$wX=KQ<&m} z3V@c#%hkk5Q~5xjwi%~ZAPdhS+QqOguTbKA`y$>Q7K`-&6G^4gIULRi4USdwZiH79 zSk)N$-c7m{wohb!IL_{`^>NYfUuMhTeu-YI&I zQWV@b^)oWATH3PxvVuv~J0Ow|8zGjjBooI|i3$S8TwQfzVq$(j%IEV9IGvqE{*Y!z zhVT)!ByUVS@Nj(r*NLkFnQz|V-;J*FY#wi3%*!V3%cmY5FFguzN;6495M<;QBv5mA zK}HGp@bD;Hq@9tRoGhgwLqFR_u&@{5@F^|?f?mEud`=Ydh$=~zYrGh?Vbld1`tqP1 zkwT%AR#m0tYXY#&ij``lXYJYK9?d`+8f;_Cpg8vqisl6(k>|+qkdP4GVnzpOG}^c4 z-|W9b5Dzj3V<9`BX3;Q9oso`ySF)Qn?(?Gd^sqdsOF!tDC*!iM4R-V4{5`#*yRlGV z-$Gy{4m=Dq+|6&jtp3dZ-jaJUE<2gN%9Igr`E^P%B_2>nbBR~vL~o9rW}LFL#ZX$% zcs!mLAy;;vb+%QU1Zz9}QHX-`eKj8ifLCdGX{m-C^&=YN*<^76dE1^w|NOSyiK_;H zO=ebBRxx!hCN>roKL#0j&(BQqY9SQb_fWxM5st^>xsDLn6UW=HtwsH0?tCqOl^pSK zi(Or)u(1cumuPQZUY@t8iN>3dhY=$qBfX*XYnXsVbf{eCa0@}y>GHbzhaMLklEAjS_o2_7ECe!tz+h12&WeWTNp`Pu2cW5?p-<6rld z5xiw{UwI2r(7UxqD9nq>gN0ix`DU;_gd7kYjMmc9f|Wu)QR|mfMkrx0oC{3+xcPYw zDs=(8!u#jnvU>XZZpfJBq^jihG}DCMq8aAsfJkK0S9vP81-EBv5Df)!H^b*h*(TDu z;jUclXfrc@b}ETqPNHk-neAU7!wh9wXWFl6{b-2MCf5gRs%x*&$i`5#o%8LtAdZt# zX(GzdI?<7?T}&2aY{p3~0C<&)4Ik=|Hk1cGV@>+W6t%K zy7J^}%ks6Xz_J4WGX-qE$W&c$O3L~w|8`vdJ7M|m1paY&cEPQH>ofpL@Rsk^+u({0 Fz@LixxiSC% diff --git a/tests/test_graphical_units/control_data/geometry/CurvedArrowCustomTip.npz b/tests/test_graphical_units/control_data/geometry/CurvedArrowCustomTip.npz index b6ca4008cd2a66e64649eb72629cf3c73ec75788..e7704669c9c2b4c222501a0e76e5d05419f86b3c 100644 GIT binary patch literal 5033 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 literal 5028 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 OHE`L2e~&*-+5Q7fABV;O diff --git a/tests/test_graphical_units/control_data/geometry/CustomDoubleArrow.npz b/tests/test_graphical_units/control_data/geometry/CustomDoubleArrow.npz index 720f5fd505856b9e74bb3d461cf626681a15bb3d..4d9680cfb6a13d71022e0be0aa1b470ef7438e2b 100644 GIT binary patch literal 2907 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 literal 5933 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 Cai50( diff --git a/tests/test_graphical_units/control_data/geometry/Dot.npz b/tests/test_graphical_units/control_data/geometry/Dot.npz index 2adb2ccc4a7c98d06f30313c55901e6b1015d590..64d72736d904e108a64e0cbcb9285de6c09b53d8 100644 GIT binary patch delta 43 scmX@hf0kb=z?+#xmw|zS1BewFCVw=N{0{{irBd0Mbs2OgH?eyI055Y7jQ{`u delta 43 xcmX@hf0kb=z?+#xgn@y91BewFCVw=Nv}R{uXke9O*eI3C&Md+#GP#M}8vwRO2rU2r diff --git a/tests/test_graphical_units/control_data/geometry/DoubleArrow.npz b/tests/test_graphical_units/control_data/geometry/DoubleArrow.npz index 01739318a1972e0463feee7a25e8b5f3c4f853d1..cf15b21bcb3e7285ca75945ffe77125e35806770 100644 GIT binary patch delta 43 scmeAa=oF9&@MdPwWnf_70AfXk-5QrU|3kq>sfFy!x(vFL_py5e02;UtZvX%Q delta 26 fcmeAa=oDZL@MdNanY@o(e51^Kc4iS~5ZfC7SXc(3 diff --git a/tests/test_graphical_units/control_data/geometry/Elbow.npz b/tests/test_graphical_units/control_data/geometry/Elbow.npz index 7068f03a4aa84e934bac4df514c16748be65ca7a..2476dbb254aec194f908f84f9a35a6f22afa4a80 100644 GIT binary patch delta 43 scmey(_nS{Dz?+#xmw|zS1BewF&UkJY`40sfrG(j;bs2Og8?bu=06SCLf_(mB)c4iS~5ZfC7UbF?* diff --git a/tests/test_graphical_units/control_data/geometry/Ellipse.npz b/tests/test_graphical_units/control_data/geometry/Ellipse.npz index f6a1ef43aab473f9d09d512a625ce8048443e92f..d70fa09a7181f6d9d36a5b7f42a5a56910089bc7 100644 GIT binary patch literal 4538 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 VXWc*Bz9pdn-r&>$JotD>^KU^@WfTAa diff --git a/tests/test_graphical_units/control_data/geometry/LabeledArrow.npz b/tests/test_graphical_units/control_data/geometry/LabeledArrow.npz index 43baefcbc5e09386f61e3ae344937d6f5f47c08d..5b25ccf676efbe532cb027e67838ac99fc0b1b1a 100644 GIT binary patch delta 43 scmX>ic0^1nz?+#xmw|zS1BewFCWtz1`40sfrS5Ps>oVw0{>kMH050?pNdN!< delta 43 xcmX>ic0^1nz?+#xgn@y91BewFCWtz1*~G=b(7-CmuuWDDz?+#xmw|zS1BewFq$`ts{zJh=DON6KT?XCBN?hImDJu?< delta 43 xcmaDW@>WDDz?+#xgn@y91BewFq$`tsZgVm)G_XoCY?NZMElGm9{bOy0)s4FH=S2jBnz diff --git a/tests/test_graphical_units/control_data/geometry/Polygon.npz b/tests/test_graphical_units/control_data/geometry/Polygon.npz index 5488492734ef8936d443e86099bd0e84218fbc51..aa4e9aa8d166d8d1ea19b9028f0698b7daebe480 100644 GIT binary patch delta 43 scmaDQ`btzPz?+#xmw|zS1BewFHuo}w{)d8%QcYaUx(vFL=W}@j05>5I*#H0l delta 26 fcmaDQ`bv~Fz?+#xWb%A2@r^PKT+AZOAhtIEX(0z0 diff --git a/tests/test_graphical_units/control_data/geometry/Polygram.npz b/tests/test_graphical_units/control_data/geometry/Polygram.npz index fdfc4ee0618a05c95dc583de16a19f1ada1a87e7..ed89e70af15c84b8d847def38e450fe7d41506b5 100644 GIT binary patch literal 11927 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 Tptr+dYrrq4?^%G)!C?Onh4U<| literal 11918 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 F{}1F4FgXAK diff --git a/tests/test_graphical_units/control_data/geometry/Rectangle.npz b/tests/test_graphical_units/control_data/geometry/Rectangle.npz index d6cb95a7d8c660d700c78bb06674eae736f9e38e..71cc79bf750a4d4cb1390ee591d503ca99a5c7cb 100644 GIT binary patch delta 43 scmX>gd_Y(#z?+#xmw|zS1BewFb`~G4{0{{ir6M?)bs2OgmvVXo063%&00000 delta 43 xcmX>gd_Y(#z?+#xgn@y91BewFb`~G4)Z=7eXke9O*eDgj$t=PwGP#t~8vwqU2$cW; diff --git a/tests/test_graphical_units/control_data/geometry/RegularPolygram.npz b/tests/test_graphical_units/control_data/geometry/RegularPolygram.npz index 184e6120e2b7c2493431a6bb572055ff82b7d993..20b04f9a7330c432f65e739c1fe3fb532cebd46e 100644 GIT binary patch literal 13655 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 L;OBCE=+*xM6@2H< literal 13693 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 K{?*Whe*0fW$m;3< diff --git a/tests/test_graphical_units/control_data/geometry/RightAngle.npz b/tests/test_graphical_units/control_data/geometry/RightAngle.npz index 3ea7a3be71315c0e2223347c4ea3baf080a3ed0b..8ea2c4caa8dad045a833e54f562345a6c59beb12 100644 GIT binary patch delta 43 rcmbQnKaF21z?+#xmw|zS1BewF6nSfw{fB~$QhMynx(vFLz1h714P6d0 delta 43 xcmbQnKaF21z?+#xgn@y91BewF6nSfwv9L2RG_XoCY?RVtXBJ@=ne5H(4FHei2Aco? diff --git a/tests/test_graphical_units/control_data/geometry/RoundedRectangle.npz b/tests/test_graphical_units/control_data/geometry/RoundedRectangle.npz index 98083a27cb91a21adb801a2b04b2f788c8cf3265..9ec3bd73fbdc5c943c754d44f7c9bb612222e61a 100644 GIT binary patch literal 4410 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 N!7rRQfpGmEIxqkL diff --git a/tests/test_graphical_units/control_data/geometry/Sector.npz b/tests/test_graphical_units/control_data/geometry/Sector.npz index 3af257c26ee5f8ad566b2a5cee7fdaca98e294f5..ab5cd0b8f70d6295cb3d7a276774abeb52d7bfa6 100644 GIT binary patch delta 43 scmbOzGEqb-z?+#xmw|zS1BewFR;{^w@jn!7lv>HjtjnM~`531+06EGK)&Kwi delta 43 xcmbOzGEqb-z?+#xgn@y91BewFR;{^wv7VEGp@CJBVWZSaPG%8ik;%t6y#dA(3A_LR diff --git a/tests/test_graphical_units/control_data/geometry/Star.npz b/tests/test_graphical_units/control_data/geometry/Star.npz index 8c4c938efedc7ff09d844bde36a2816b0dfd880b..ee6906323ddcd861921175da8ddc169c14dcd7e3 100644 GIT binary patch literal 9012 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 I?t{Vp2X@4STmS$7 literal 9023 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