diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e0d09019cb..0000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,3851 +0,0 @@ -# Changelog - -A summary of changes in the Jupyter notebook. For more detailed -information, see [GitHub](https://github.com/jupyter/notebook). - -Use `pip install notebook --upgrade` or `conda upgrade notebook` to -upgrade to the latest release. - -We strongly recommend that you upgrade pip to version 9+ of pip before -upgrading `notebook`. - -Use `pip install pip --upgrade` to upgrade pip. Check pip version with -`pip --version`. - -## 7.5 - -Jupyter Notebook 7.5 is based on JupyterLab 4.5, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-4-to-4-5) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.5, although they may not all be supported in Notebook 7.5. - -For reference you may have a look at the [JupyterLab 4.5 changelog](https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-5) to learn more. - -### Notebook improvements - -The default windowing mode is now `contentVisibility` which improves cell rendering and alleviates previously reported issues. The minimap can be enabled for all windowing modes and all notebooks via the `Settings` menu, or by toggling the minimap per notebook with the `View` -> `Show Minimap` option. - -Additional fixes improve layout containment and scrollbar behavior when working with long cells. - -### Debugger and console enhancements - -The debugger's evaluate dialog has been replaced with an interactive console featuring syntax highlighting and code completion. The variables panel now preserves state when switching editors. Visual improvements include highlighted selected breakpoints, improved empty line handling, and a paused indicator. Debugger panels now reference cell execution counts. - -Debugger panels with reference to execution counts and paused indicator as well as console evaluation - -Log Console users can configure default log levels and customize toolbars. - -### Terminal enhancements - -The terminal now includes search functionality, with search highlights that adapt to theme changes. - -### Media and content support - -Built-in audio and video viewers allow direct file playback within Jupyter Notebook. - -Video file opened in a Jupyter Notebook tab - -### File browser enhancements - -- There is a new `allowFileUploads` setting to control upload permissions. -- Menu options for creating Python, R, or Julia files are now available from the New menu. -- The "Select All" command is now available with the Ctrl + A (or Cmd + A on macOS) keyboard shortcut in the file browser. -- Breadcrumbs are now configurable through `breadcrumbsLeftItems` and `breadcrumbsRightItems` settings. - -### Settings editor improvements - -The `addExtraLineOnCellMerge` setting removes extra lines when merging cells, matching classic notebook behavior. - -### Cell toolbar settings - -The cell toolbar settings are now exposed in the Settings Editor, making it easier to customize the cell toolbar appearance and behavior. - -### Keyboard shortcuts - -The `O` key has been defined as the keyboard shortcut to toggle cell outputs, restoring this familiar functionality from the classic notebook. - -### User interface and accessibility - -Automatic theme switching between light and dark modes is now available when system synchronization is enabled. Dialog components display buttons and checkboxes on separate lines for improved readability. Terminal selections show better visibility under high-contrast themes. Keyboard navigation and status bar tab ordering have been improved. - -### Breaking changes - -Python 3.8 support has been dropped in this release. - - - -## 7.5.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0...be53ec8bc96cdbcb64b6f1c5ec39c123c087a348)) - -### Enhancements made - -- Update to JupyterLab v4.5.0b1 [#7746](https://github.com/jupyter/notebook/pull/7746) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0b0 [#7739](https://github.com/jupyter/notebook/pull/7739) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0a4 [#7728](https://github.com/jupyter/notebook/pull/7728) ([@jtpio](https://github.com/jtpio)) -- Increase the checkpoint polling interval to 30s [#7711](https://github.com/jupyter/notebook/pull/7711) ([@jtpio](https://github.com/jtpio)) -- Define `O` as the keyboard shortcut to toggle cell outputs [#7709](https://github.com/jupyter/notebook/pull/7709) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0a3 [#7703](https://github.com/jupyter/notebook/pull/7703) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Expose the cell toolbar settings [#7766](https://github.com/jupyter/notebook/pull/7766) ([@jtpio](https://github.com/jtpio)) -- Handle file rename errors [#7710](https://github.com/jupyter/notebook/pull/7710) ([@jtpio](https://github.com/jtpio)) -- Fix open file with “#” in the filename [#7698](https://github.com/jupyter/notebook/pull/7698) ([@itsmevichu](https://github.com/itsmevichu)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.5.0 [#7768](https://github.com/jupyter/notebook/pull/7768) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0rc1 [#7764](https://github.com/jupyter/notebook/pull/7764) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0rc0 [#7755](https://github.com/jupyter/notebook/pull/7755) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 3 updates [#7751](https://github.com/jupyter/notebook/pull/7751) ([@dependabot](https://github.com/dependabot)) -- Use Node.js 24 / npm 11 to publish releases [#7749](https://github.com/jupyter/notebook/pull/7749) ([@jtpio](https://github.com/jtpio)) -- Revert "Pin `click<8.3`" [#7733](https://github.com/jupyter/notebook/pull/7733) ([@jtpio](https://github.com/jtpio)) -- Remove link to `npmjs.com` [#7730](https://github.com/jupyter/notebook/pull/7730) ([@jtpio](https://github.com/jtpio)) -- Pin `click<8.3` [#7729](https://github.com/jupyter/notebook/pull/7729) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 3 updates [#7704](https://github.com/jupyter/notebook/pull/7704) ([@dependabot](https://github.com/dependabot)) -- Update to JupyterLab v4.5.0a2 [#7694](https://github.com/jupyter/notebook/pull/7694) ([@jtpio](https://github.com/jtpio)) -- Pin `httpx` [#7691](https://github.com/jupyter/notebook/pull/7691) ([@jtpio](https://github.com/jtpio)) -- Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 in the actions group [#7675](https://github.com/jupyter/notebook/pull/7675) ([@dependabot](https://github.com/dependabot)) -- Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 in the actions group [#7665](https://github.com/jupyter/notebook/pull/7665) ([@dependabot](https://github.com/dependabot)) -- Bump brace-expansion from 1.1.11 to 1.1.12 in /ui-tests [#7664](https://github.com/jupyter/notebook/pull/7664) ([@dependabot](https://github.com/dependabot)) -- Revert "CI: pin to `jupyter-core<5.8.0` on Windows" [#7657](https://github.com/jupyter/notebook/pull/7657) ([@minrk](https://github.com/minrk)) -- Update to JupyterLab v4.5.0a1 [#7656](https://github.com/jupyter/notebook/pull/7656) ([@jtpio](https://github.com/jtpio)) -- CI: pin to `jupyter-core<5.8.0` on Windows [#7655](https://github.com/jupyter/notebook/pull/7655) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.5.0a0 [#7650](https://github.com/jupyter/notebook/pull/7650) ([@jtpio](https://github.com/jtpio)) -- Run UI tests on `ubuntu-latest` [#7639](https://github.com/jupyter/notebook/pull/7639) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.1 [#7638](https://github.com/jupyter/notebook/pull/7638) ([@jtpio](https://github.com/jtpio)) -- Bump prefix-dev/setup-pixi from 0.8.5 to 0.8.8 in the actions group [#7637](https://github.com/jupyter/notebook/pull/7637) ([@dependabot](https://github.com/dependabot)) -- chore: Fix UP006 [#7633](https://github.com/jupyter/notebook/pull/7633) ([@honnix](https://github.com/honnix)) -- Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.5 in the actions group [#7632](https://github.com/jupyter/notebook/pull/7632) ([@dependabot](https://github.com/dependabot)) -- Drop support for Python 3.8 [#7628](https://github.com/jupyter/notebook/pull/7628) ([@honnix](https://github.com/honnix)) - -### Documentation improvements - -- User facing changelog for 7.5 [#7770](https://github.com/jupyter/notebook/pull/7770) ([@jtpio](https://github.com/jtpio)) -- Clean up references to Gitpod [#7767](https://github.com/jupyter/notebook/pull/7767) ([@jtpio](https://github.com/jtpio)) -- Fix link to Code of Conduct in CONTRIBUTING.md [#7758](https://github.com/jupyter/notebook/pull/7758) ([@jtpio](https://github.com/jtpio)) -- Remove JupyterCon 2025 announcement banner [#7757](https://github.com/jupyter/notebook/pull/7757) ([@jasongrout](https://github.com/jasongrout)) -- Update JupyterCon 2025 announcement links [#7744](https://github.com/jupyter/notebook/pull/7744) ([@krassowski](https://github.com/krassowski)) -- Add JupyterCon banner and add Jupyter colors [#7727](https://github.com/jupyter/notebook/pull/7727) ([@choldgraf](https://github.com/choldgraf)) -- Fix grammatical issues in Contributing.md [#7669](https://github.com/jupyter/notebook/pull/7669) ([@sangampaudel530](https://github.com/sangampaudel530)) -- Fixed grammar and typos in CONTRIBUTING.md [#7645](https://github.com/jupyter/notebook/pull/7645) ([@jchen1223](https://github.com/jchen1223)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-04-09&to=2025-11-19&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2025-04-09..2025-11-19&type=Issues) | [@choldgraf](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Acholdgraf+updated%3A2025-04-09..2025-11-19&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-04-09..2025-11-19&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-04-09..2025-11-19&type=Issues) | [@honnix](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahonnix+updated%3A2025-04-09..2025-11-19&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jasongrout](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajasongrout+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jchen1223](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajchen1223+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-04-09..2025-11-19&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-04-09..2025-11-19&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Alumberbot-app+updated%3A2025-04-09..2025-11-19&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2025-04-09..2025-11-19&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-04-09..2025-11-19&type=Issues) | [@sangampaudel530](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Asangampaudel530+updated%3A2025-04-09..2025-11-19&type=Issues) - - - -## 7.5.0rc1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-rc.0...7533ccab5e4adc765e57a35b1791850daf952044)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.5.0rc1 [#7764](https://github.com/jupyter/notebook/pull/7764) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 3 updates [#7751](https://github.com/jupyter/notebook/pull/7751) ([@dependabot](https://github.com/dependabot)) - -### Documentation improvements - -- Fix link to Code of Conduct in CONTRIBUTING.md [#7758](https://github.com/jupyter/notebook/pull/7758) ([@jtpio](https://github.com/jtpio)) -- Remove JupyterCon 2025 announcement banner [#7757](https://github.com/jupyter/notebook/pull/7757) ([@jasongrout](https://github.com/jasongrout)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-11-03&to=2025-11-14&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-11-03..2025-11-14&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-11-03..2025-11-14&type=Issues) | [@jasongrout](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajasongrout+updated%3A2025-11-03..2025-11-14&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-11-03..2025-11-14&type=Issues) - -## 7.5.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-beta.1...18ba796a58402999044b7e8c4401319b76fed0ce)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.5.0rc0 [#7755](https://github.com/jupyter/notebook/pull/7755) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-10-20&to=2025-11-03&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-10-20..2025-11-03&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-10-20..2025-11-03&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-10-20..2025-11-03&type=Issues) - -## 7.5.0b1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-beta.0...7f84b95ed6550508f9de03d27cd8c2cb84777648)) - -### Enhancements made - -- Update to JupyterLab v4.5.0b1 [#7746](https://github.com/jupyter/notebook/pull/7746) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Use Node.js 24 / npm 11 to publish releases [#7749](https://github.com/jupyter/notebook/pull/7749) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Update JupyterCon 2025 announcement links [#7744](https://github.com/jupyter/notebook/pull/7744) ([@krassowski](https://github.com/krassowski)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-09-29&to=2025-10-20&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-09-29..2025-10-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-09-29..2025-10-20&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-09-29..2025-10-20&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-09-29..2025-10-20&type=Issues) - -## 7.5.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.3...828708ec26cc4d2ff9f8b725b00024481ae42d2d)) - -### Enhancements made - -- Update to JupyterLab v4.5.0b0 [#7739](https://github.com/jupyter/notebook/pull/7739) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add JupyterCon banner and add Jupyter colors [#7727](https://github.com/jupyter/notebook/pull/7727) ([@choldgraf](https://github.com/choldgraf)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-09-24&to=2025-09-29&type=c)) - -[@choldgraf](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Acholdgraf+updated%3A2025-09-24..2025-09-29&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-09-24..2025-09-29&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-09-24..2025-09-29&type=Issues) - -## 7.5.0a3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.2...254b06ca4b232a0a96ad2dddde560e41df371e57)) - -### Enhancements made - -- Update to JupyterLab v4.5.0a4 [#7728](https://github.com/jupyter/notebook/pull/7728) ([@jtpio](https://github.com/jtpio)) -- Increase the checkpoint polling interval to 30s [#7711](https://github.com/jupyter/notebook/pull/7711) ([@jtpio](https://github.com/jtpio)) -- Define `O` as the keyboard shortcut to toggle cell outputs [#7709](https://github.com/jupyter/notebook/pull/7709) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Handle file rename errors [#7710](https://github.com/jupyter/notebook/pull/7710) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Revert "Pin `click<8.3`" [#7733](https://github.com/jupyter/notebook/pull/7733) ([@jtpio](https://github.com/jtpio)) -- Remove link to `npmjs.com` [#7730](https://github.com/jupyter/notebook/pull/7730) ([@jtpio](https://github.com/jtpio)) -- Pin `click<8.3` [#7729](https://github.com/jupyter/notebook/pull/7729) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 3 updates [#7704](https://github.com/jupyter/notebook/pull/7704) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-08-18&to=2025-09-24&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-08-18..2025-09-24&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-08-18..2025-09-24&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-08-18..2025-09-24&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-08-18..2025-09-24&type=Issues) - -## 7.5.0a2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.1...3100d879bfe09c629b4add998bd2ac408ffa2af8)) - -### Enhancements made - -- Update to JupyterLab v4.5.0a3 [#7703](https://github.com/jupyter/notebook/pull/7703) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix open file with “#” in the filename [#7698](https://github.com/jupyter/notebook/pull/7698) ([@itsmevichu](https://github.com/itsmevichu)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-08-11&to=2025-08-18&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-08-11..2025-08-18&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2025-08-11..2025-08-18&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-08-11..2025-08-18&type=Issues) - -## 7.5.0a1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.0...f56a27c17bfd85f37a27dea9512c675120571e63)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.5.0a2 [#7694](https://github.com/jupyter/notebook/pull/7694) ([@jtpio](https://github.com/jtpio)) -- Pin `httpx` [#7691](https://github.com/jupyter/notebook/pull/7691) ([@jtpio](https://github.com/jtpio)) -- Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 in the actions group [#7675](https://github.com/jupyter/notebook/pull/7675) ([@dependabot](https://github.com/dependabot)) -- Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 in the actions group [#7665](https://github.com/jupyter/notebook/pull/7665) ([@dependabot](https://github.com/dependabot)) -- Bump brace-expansion from 1.1.11 to 1.1.12 in /ui-tests [#7664](https://github.com/jupyter/notebook/pull/7664) ([@dependabot](https://github.com/dependabot)) -- Revert "CI: pin to `jupyter-core<5.8.0` on Windows" [#7657](https://github.com/jupyter/notebook/pull/7657) ([@minrk](https://github.com/minrk)) -- Update to JupyterLab v4.5.0a1 [#7656](https://github.com/jupyter/notebook/pull/7656) ([@jtpio](https://github.com/jtpio)) -- CI: pin to `jupyter-core<5.8.0` on Windows [#7655](https://github.com/jupyter/notebook/pull/7655) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Fix grammatical issues in Contributing.md [#7669](https://github.com/jupyter/notebook/pull/7669) ([@sangampaudel530](https://github.com/sangampaudel530)) -- Fixed grammar and typos in CONTRIBUTING.md [#7645](https://github.com/jupyter/notebook/pull/7645) ([@jchen1223](https://github.com/jchen1223)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-05-07&to=2025-08-11&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-05-07..2025-08-11&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-05-07..2025-08-11&type=Issues) | [@jchen1223](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajchen1223+updated%3A2025-05-07..2025-08-11&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-05-07..2025-08-11&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-05-07..2025-08-11&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2025-05-07..2025-08-11&type=Issues) | [@sangampaudel530](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Asangampaudel530+updated%3A2025-05-07..2025-08-11&type=Issues) - -## 7.5.0a0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0...22e29fc41901ef8116670bc8a04eeb833858ff51)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.5.0a0 [#7650](https://github.com/jupyter/notebook/pull/7650) ([@jtpio](https://github.com/jtpio)) -- Run UI tests on `ubuntu-latest` [#7639](https://github.com/jupyter/notebook/pull/7639) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.1 [#7638](https://github.com/jupyter/notebook/pull/7638) ([@jtpio](https://github.com/jtpio)) -- Bump prefix-dev/setup-pixi from 0.8.5 to 0.8.8 in the actions group [#7637](https://github.com/jupyter/notebook/pull/7637) ([@dependabot](https://github.com/dependabot)) -- chore: Fix UP006 [#7633](https://github.com/jupyter/notebook/pull/7633) ([@honnix](https://github.com/honnix)) -- Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.5 in the actions group [#7632](https://github.com/jupyter/notebook/pull/7632) ([@dependabot](https://github.com/dependabot)) -- Drop support for Python 3.8 [#7628](https://github.com/jupyter/notebook/pull/7628) ([@honnix](https://github.com/honnix)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-04-09&to=2025-05-07&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-04-09..2025-05-07&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-04-09..2025-05-07&type=Issues) | [@honnix](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahonnix+updated%3A2025-04-09..2025-05-07&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-04-09..2025-05-07&type=Issues) - -## 7.4 - -Jupyter Notebook 7.4 is based on JupyterLab 4.4, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-3-to-4-4) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.4, although they may not all be supported in Notebook 7.4. - -For reference you may have a look at the [JupyterLab 4.4 changelog](https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-4) to learn more. - -### Code console improvements - -The code console prompt can now be positioned on the top, left, or right side of the console, -in addition to the default bottom placement. The placement is persisted in the Prompt Cell -Position setting. - -The console toolbar now includes buttons to: -- Execute code -- Restart the kernel -- Clear the cells -- Switch the kernel - -The option to change console prompt position is available under the three dots button in the console toolbar, which is the last toolbar button - -Additional settings for console behavior have been added: -- Clear Code Content on Execute (enabled by default) – When disabled, the code submitted for execution remains in the code editor, allowing for further edits. -- Hide Code Input – When enabled, only the execution output is shown in the console. -- Clear Cells on Execute – When enabled, only the last cell is displayed. - -Toggling all the three new settings transforms the console into an interactive editor -resembling an ephemeral notebook with a single cell. - -Toggling all the three new settings transforms the console into a single cell - -### Settings import and export - -Settings can now be exported to `overrides.json` from the Settings Editor, -which can be used to pre-configure defaults in deployments or to restore settings. - -The Import and Export buttons in the Settings Editor are the first two items in the toolbar panel - -### Support for collaboration without `RTC:` drive - -Real time collaboration in previous versions of JupyterLab and Jupyter Notebook -(which can be enabled by installing jupyter-collaboration package) -was implemented by swapping the default JupyterLab file system -drive to a collaborative drive with the `RTC:` prefix. -This approach was incompatible with multiple extensions. -JupyterLab 4.4 introduces the Content Providers API, which allows the next version of `jupyter-collaboration` to work without changing the drive prefix. -This improves compatibility with extensions that do not support arbitrary drives. - -### Context menu opt-out - -The context menu, available under right mouse click in browsers, can now be disabled globally -by toggling the `Enable Context Menu` option available in the Command Palette, -or via the JSON Settings Editor in the Application Context Menu. - -## 7.4.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.2...fbfe36574e04b16ed7ba9303c5e819330f402f87)) - -### Highlights ✨ - -To learn more about the highlights of the 7.4.0 release: https://jupyter-notebook.readthedocs.io/en/latest/changelog.html - -### Enhancements made - -- Update to JupyterLab v4.4.0rc1 [#7622](https://github.com/jupyter/notebook/pull/7622) ([@jtpio](https://github.com/jtpio)) -- Add support for a `down` area [#7619](https://github.com/jupyter/notebook/pull/7619) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0rc0 [#7618](https://github.com/jupyter/notebook/pull/7618) ([@jtpio](https://github.com/jtpio)) -- Support `ServiceManagerPlugin` [#7616](https://github.com/jupyter/notebook/pull/7616) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `v4.4.0b1` [#7607](https://github.com/jupyter/notebook/pull/7607) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0b0 [#7591](https://github.com/jupyter/notebook/pull/7591) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0a3 [#7577](https://github.com/jupyter/notebook/pull/7577) ([@jtpio](https://github.com/jtpio)) -- Add active cell border padding, remove double cell padding [#7570](https://github.com/jupyter/notebook/pull/7570) ([@andrii-i](https://github.com/andrii-i)) - -### Bugs fixed - -- Fix undefined error when checkpoints is empty [#7567](https://github.com/jupyter/notebook/pull/7567) ([@jdavid](https://github.com/jdavid)) - -### Maintenance and upkeep improvements - -- Bump the actions group with 2 updates [#7626](https://github.com/jupyter/notebook/pull/7626) ([@dependabot](https://github.com/dependabot)) -- Update to JupyterLab v4.4.0b2 [#7614](https://github.com/jupyter/notebook/pull/7614) ([@jtpio](https://github.com/jtpio)) -- Add pixi step to the update workflow [#7608](https://github.com/jupyter/notebook/pull/7608) ([@jtpio](https://github.com/jtpio)) -- Update `@babel` dependencies [#7605](https://github.com/jupyter/notebook/pull/7605) ([@jtpio](https://github.com/jtpio)) -- Add devcontainer support, backed by pixi [#7602](https://github.com/jupyter/notebook/pull/7602) ([@jtpio](https://github.com/jtpio)) -- Manual dependabot bumps [#7599](https://github.com/jupyter/notebook/pull/7599) ([@jtpio](https://github.com/jtpio)) -- Bump vega-selections from 5.4.1 to 5.5.0 in /ui-tests [#7592](https://github.com/jupyter/notebook/pull/7592) ([@dependabot](https://github.com/dependabot)) -- Improve handling of optional notebook tracker [#7581](https://github.com/jupyter/notebook/pull/7581) ([@jtpio](https://github.com/jtpio)) -- Fix upgrade script [#7579](https://github.com/jupyter/notebook/pull/7579) ([@jtpio](https://github.com/jtpio)) -- Allow owners/members/collab to trigger galata update on other's PR [#7572](https://github.com/jupyter/notebook/pull/7572) ([@krassowski](https://github.com/krassowski)) -- Update `typescript` and `lerna` [#7562](https://github.com/jupyter/notebook/pull/7562) ([@jtpio](https://github.com/jtpio)) -- Update pre-commit hooks [#7561](https://github.com/jupyter/notebook/pull/7561) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0a2 [#7559](https://github.com/jupyter/notebook/pull/7559) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 2 updates [#7558](https://github.com/jupyter/notebook/pull/7558) ([@dependabot](https://github.com/dependabot)) -- Improve update script [#7556](https://github.com/jupyter/notebook/pull/7556) ([@jtpio](https://github.com/jtpio)) -- Disable cron scheduling for now [#7555](https://github.com/jupyter/notebook/pull/7555) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0a1 [#7554](https://github.com/jupyter/notebook/pull/7554) ([@jtpio](https://github.com/jtpio)) -- Update workflow improvements [#7552](https://github.com/jupyter/notebook/pull/7552) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- User facing changelog for 7.4 [#7612](https://github.com/jupyter/notebook/pull/7612) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-12-21&to=2025-04-09&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2024-12-21..2025-04-09&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2024-12-21..2025-04-09&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-12-21..2025-04-09&type=Issues) | [@jdavid](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajdavid+updated%3A2024-12-21..2025-04-09&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-12-21..2025-04-09&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-12-21..2025-04-09&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-12-21..2025-04-09&type=Issues) - -## 7.4.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-beta.3...7fa19999c9e01d713a684e0f25d8017dbc999528)) - -### Enhancements made - -- Update to JupyterLab v4.4.0rc1 [#7622](https://github.com/jupyter/notebook/pull/7622) ([@jtpio](https://github.com/jtpio)) -- Add support for a `down` area [#7619](https://github.com/jupyter/notebook/pull/7619) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-03-26&to=2025-04-03&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-03-26..2025-04-03&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-03-26..2025-04-03&type=Issues) - -## 7.4.0b3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-beta.2...434221c0fe3de3df3b4b54ed1005712e07957352)) - -### Enhancements made - -- Update to JupyterLab v4.4.0rc0 [#7618](https://github.com/jupyter/notebook/pull/7618) ([@jtpio](https://github.com/jtpio)) -- Support `ServiceManagerPlugin` [#7616](https://github.com/jupyter/notebook/pull/7616) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-03-20&to=2025-03-26&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-03-20..2025-03-26&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-03-20..2025-03-26&type=Issues) - -## 7.4.0b2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-beta.1...be2fd12f91a64796d9919ee8b8242f3093aac8a5)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab v4.4.0b2 [#7614](https://github.com/jupyter/notebook/pull/7614) ([@jtpio](https://github.com/jtpio)) -- Add pixi step to the update workflow [#7608](https://github.com/jupyter/notebook/pull/7608) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- User facing changelog for 7.4 [#7612](https://github.com/jupyter/notebook/pull/7612) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-03-14&to=2025-03-20&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-03-14..2025-03-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-03-14..2025-03-20&type=Issues) - -## 7.4.0b1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-beta.0...6d06d97302bd1bb77e25864214ade2277f2e50d4)) - -### Enhancements made - -- Update to JupyterLab `v4.4.0b1` [#7607](https://github.com/jupyter/notebook/pull/7607) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update `@babel` dependencies [#7605](https://github.com/jupyter/notebook/pull/7605) ([@jtpio](https://github.com/jtpio)) -- Add devcontainer support, backed by pixi [#7602](https://github.com/jupyter/notebook/pull/7602) ([@jtpio](https://github.com/jtpio)) -- Manual dependabot bumps [#7599](https://github.com/jupyter/notebook/pull/7599) ([@jtpio](https://github.com/jtpio)) -- Bump vega-selections from 5.4.1 to 5.5.0 in /ui-tests [#7592](https://github.com/jupyter/notebook/pull/7592) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-02-20&to=2025-03-14&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-02-20..2025-03-14&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-02-20..2025-03-14&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-02-20..2025-03-14&type=Issues) - -## 7.4.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-alpha.3...48243197bbd004555008cd7cfa14c907147aceca)) - -### Enhancements made - -- Update to JupyterLab v4.4.0b0 [#7591](https://github.com/jupyter/notebook/pull/7591) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-02-05&to=2025-02-20&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-02-05..2025-02-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-02-05..2025-02-20&type=Issues) - -## 7.4.0a3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-alpha.2...48e52c759ffec0cea47dfef59f48d8e9fa6112d3)) - -### Enhancements made - -- Add active cell border padding, remove double cell padding [#7570](https://github.com/jupyter/notebook/pull/7570) ([@andrii-i](https://github.com/andrii-i)) - -### Maintenance and upkeep improvements - -- Improve handling of optional notebook tracker [#7581](https://github.com/jupyter/notebook/pull/7581) ([@jtpio](https://github.com/jtpio)) -- Fix upgrade script [#7579](https://github.com/jupyter/notebook/pull/7579) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-02-03&to=2025-02-05&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2025-02-03..2025-02-05&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-02-03..2025-02-05&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-02-03..2025-02-05&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-02-03..2025-02-05&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2025-02-03..2025-02-05&type=Issues) - -## 7.4.0a2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-alpha.1...ef4f6346cd6b377ade271fcd61810b5d2a7d0f41)) - -### Enhancements made - -- Update to JupyterLab v4.4.0a3 [#7577](https://github.com/jupyter/notebook/pull/7577) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix undefined error when checkpoints is empty [#7567](https://github.com/jupyter/notebook/pull/7567) ([@jdavid](https://github.com/jdavid)) - -### Maintenance and upkeep improvements - -- Allow owners/members/collab to trigger galata update on other's PR [#7572](https://github.com/jupyter/notebook/pull/7572) ([@krassowski](https://github.com/krassowski)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-01-07&to=2025-02-03&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-01-07..2025-02-03&type=Issues) | [@jdavid](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajdavid+updated%3A2025-01-07..2025-02-03&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-01-07..2025-02-03&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-01-07..2025-02-03&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2025-01-07..2025-02-03&type=Issues) - -## 7.4.0a1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0-alpha.0...18672b7e85ec5181e4c5c18d2e32c3e9eab7260c)) - -### Maintenance and upkeep improvements - -- Update `typescript` and `lerna` [#7562](https://github.com/jupyter/notebook/pull/7562) ([@jtpio](https://github.com/jtpio)) -- Update pre-commit hooks [#7561](https://github.com/jupyter/notebook/pull/7561) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0a2 [#7559](https://github.com/jupyter/notebook/pull/7559) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group across 1 directory with 2 updates [#7558](https://github.com/jupyter/notebook/pull/7558) ([@dependabot](https://github.com/dependabot)) -- Improve update script [#7556](https://github.com/jupyter/notebook/pull/7556) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-12-21&to=2025-01-07&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2024-12-21..2025-01-07&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-12-21..2025-01-07&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-12-21..2025-01-07&type=Issues) - -## 7.4.0a0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.2...12efbe601858c317bf677dc835d314489357e20d)) - -### Maintenance and upkeep improvements - -- Disable cron scheduling for now [#7555](https://github.com/jupyter/notebook/pull/7555) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab v4.4.0a1 [#7554](https://github.com/jupyter/notebook/pull/7554) ([@jtpio](https://github.com/jtpio)) -- Update workflow improvements [#7552](https://github.com/jupyter/notebook/pull/7552) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-12-21&to=2024-12-21&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-12-21..2024-12-21&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-12-21..2024-12-21&type=Issues) - -## 7.3 - -Jupyter Notebook 7.3 is based on JupyterLab 4.3, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-2-to-4-3) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.3, although they may not all be supported in Notebook 7.3. - -For reference you may have a look at the [JupyterLab 4.3 changelog](https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-3) to learn more. - -### Minimap - -The virtual scrollbar now acts as a minimap and exposes information on whether a cell: - -- is running/scheduled (`[*]`), idle (`[ ]`) or was already run (e.g. `[1]`) -- was modified since it was last executed (“dirty”) - orange background -- has an output that contains an error - red background -- is markdown/code (`[ ]`/`[*]`/`[1]` for code, nothing for markdown) -- how much text/code it contains - -![a screenshot showing the notebook minimap](https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/docs/source/getting_started/changelog_assets/4.3-minimap.png) - -To enable the minimap, click on the hamburger icon (≡) which appears in the notebook’s toolbar. If you do not see the hamburger icon, go to `Settings → Notebook → Windowing mode` and choose “full”. - -### File browser enhancements - -The file browser now: - -- supports resizing the columns and remembers the column sizes after reloading JupyterLab -- supports uploading folders by drag-and-drop -- supports navigation with a single click -- adds a file filter collapsed by default (funnel icon) - -![a screenshot showing that it's now possible to resize the file browser columns](https://github.com/user-attachments/assets/b0d9cd0a-2828-43f7-a922-e8b271e5f7fc) - -In Jupyter Notebook, the single click navigation is enabled by default. If you would like to disable it to get the same experience as in JupyterLab, go to `Settings → File Browser` and make sure "Navigate files and directories with single click" is unchecked. - -### Improved kernel and server interactions - -The previous release enabled connecting to external kernels, such as those spawned by a third-party application like Blender. In this release the kernel selector dialog was improved to also show the external kernels. - -The previous release improved the awareness of the kernel/kernel specification distinction by providing both tree and list view in the kernels sidebar panel, but only the tree view featured the kernel identifiers. In this release both the list and tree view show the kernel identifier stub. - -A new toolbar button was added in the kernel allowing to shut down unused kernels (kernels with no widget attached). - -![a screenshot showing the list view of the kernels in the sidebar](https://github.com/user-attachments/assets/c7f958c5-4054-4b09-8fad-4df6db8c9b58) - -### Full Width Notebook - -It is now possible to configure the notebook to take up the full width of the page via: - -- a setting that can be defined by a user via the Settings Editor -- the `View > Enable Full Width Notebook` menu entry -- the command palette, searching for `Enable Full Width Notebook` - -![a screenshot showing how to enable full width notebook via the menu](https://github.com/user-attachments/assets/148b227a-874a-4bb3-a4c6-c7350525ccc4) - -This is particularly useful on large displays, or for those who prefer working with a wider notebook. - -It is also possible to use the JupyterLab interface for a more fully-featured experience, which allows for full-width notebooks too, and offers a "Simple Interface" mode for only showing a single notebook at a time. - -You can open JupyterLab by clicking on `View > Open JupyterLab`. - -## 7.3.2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.1...7959ba0de553e9c541d2716d76108a8bc0bc2d6c)) - -### Maintenance and upkeep improvements - -- Fix update script [#7550](https://github.com/jupyter/notebook/pull/7550) ([@jtpio](https://github.com/jtpio)) -- Fix workflow to update the JupyterLab version [#7548](https://github.com/jupyter/notebook/pull/7548) ([@jtpio](https://github.com/jtpio)) -- Bump nanoid from 3.3.7 to 3.3.8 in /ui-tests [#7547](https://github.com/jupyter/notebook/pull/7547) ([@dependabot](https://github.com/dependabot)) -- Bump systeminformation from 5.21.8 to 5.23.14 in /ui-tests [#7546](https://github.com/jupyter/notebook/pull/7546) ([@dependabot](https://github.com/dependabot)) -- Workflow to update JupyterLab dependencies automatically [#7281](https://github.com/jupyter/notebook/pull/7281) ([@itsmevichu](https://github.com/itsmevichu)) -- Update to JupyterLab v4.3.4 [#7551](https://github.com/jupyter/notebook/pull/7551) ([@github-actions](https://github.com/apps/github-actions)) - -### Documentation improvements - -- Update chat links to Zulip. [#7539](https://github.com/jupyter/notebook/pull/7539) ([@ericsnekbytes](https://github.com/ericsnekbytes)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-12-04&to=2024-12-21&type=c)) - -[@Carreau](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ACarreau+updated%3A2024-12-04..2024-12-21&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2024-12-04..2024-12-21&type=Issues) | [@ericsnekbytes](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aericsnekbytes+updated%3A2024-12-04..2024-12-21&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-12-04..2024-12-21&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2024-12-04..2024-12-21&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-12-04..2024-12-21&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-12-04..2024-12-21&type=Issues) - -## 7.3.1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0...21d0306ecef93ea23bf063bc1d8a0580450cd4df)) - -### Maintenance and upkeep improvements - -- Adds jupyter-ui-toolkit packages in shared scope [#7530](https://github.com/jupyter/notebook/pull/7530) ([@brichet](https://github.com/brichet)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-12-04&to=2024-12-04&type=c)) - -[@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2024-12-04..2024-12-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-12-04..2024-12-04&type=Issues) - -## 7.3.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0...b16eed26eff8e357eeccbef3f3434df77fb8ab48)) - -### Enhancements made - -- Fix for auto scroll output option [#7511](https://github.com/jupyter/notebook/pull/7511) ([@gjmooney](https://github.com/gjmooney)) -- Add a setting to enable the notebook to take up the full width [#7487](https://github.com/jupyter/notebook/pull/7487) ([@jtpio](https://github.com/jtpio)) -- Add the file filter button to the file browser toolbar [#7479](https://github.com/jupyter/notebook/pull/7479) ([@jtpio](https://github.com/jtpio)) -- Redirect paths from the notebooks route to the tree route if they are directories [#7446](https://github.com/jupyter/notebook/pull/7446) ([@andyscho](https://github.com/andyscho)) -- Update to JupyterLab `4.3.0a1` [#7416](https://github.com/jupyter/notebook/pull/7416) ([@jtpio](https://github.com/jtpio)) -- Support custom page_data_hook function [#7387](https://github.com/jupyter/notebook/pull/7387) ([@bluestealth](https://github.com/bluestealth)) -- Add missing "Open..." file menu [#7385](https://github.com/jupyter/notebook/pull/7385) ([@martinRenou](https://github.com/martinRenou)) -- Duplicate notebook menu option [#7374](https://github.com/jupyter/notebook/pull/7374) ([@JasonWeill](https://github.com/JasonWeill)) - -### Bugs fixed - -- Move handling of the file browser settings to a separate plugin, enable file browser single click navigation [#7481](https://github.com/jupyter/notebook/pull/7481) ([@jtpio](https://github.com/jtpio)) -- Remove pseudoelement obstructing the cell collapser [#7392](https://github.com/jupyter/notebook/pull/7392) ([@krassowski](https://github.com/krassowski)) -- "Close and Shut Down Notebook" shuts down without the confirmation dialog [#7384](https://github.com/jupyter/notebook/pull/7384) ([@JasonWeill](https://github.com/JasonWeill)) -- Adds message about building code before running 'develop' [#7382](https://github.com/jupyter/notebook/pull/7382) ([@JasonWeill](https://github.com/JasonWeill)) - -### Maintenance and upkeep improvements - -- Bump Python version used on CI [#7528](https://github.com/jupyter/notebook/pull/7528) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.3.2 [#7527](https://github.com/jupyter/notebook/pull/7527) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.3.1 [#7521](https://github.com/jupyter/notebook/pull/7521) ([@jtpio](https://github.com/jtpio)) -- Add webpack prod config [#7513](https://github.com/jupyter/notebook/pull/7513) ([@gjmooney](https://github.com/gjmooney)) -- Update to JupyterLab 4.3 final [#7507](https://github.com/jupyter/notebook/pull/7507) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `4.3.0rc1` [#7497](https://github.com/jupyter/notebook/pull/7497) ([@jtpio](https://github.com/jtpio)) -- Remove the `StateDB` file browser trick [#7477](https://github.com/jupyter/notebook/pull/7477) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `4.3.0rc0` [#7423](https://github.com/jupyter/notebook/pull/7423) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.3.0a0 [#7378](https://github.com/jupyter/notebook/pull/7378) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Fix link to the JupyterLab 4.3 changelog [#7529](https://github.com/jupyter/notebook/pull/7529) ([@jtpio](https://github.com/jtpio)) -- Rename some header links to fit better [#7508](https://github.com/jupyter/notebook/pull/7508) ([@gjmooney](https://github.com/gjmooney)) -- Add user facing changelog for `7.3.0` [#7494](https://github.com/jupyter/notebook/pull/7494) ([@jtpio](https://github.com/jtpio)) -- Fix typos [#7472](https://github.com/jupyter/notebook/pull/7472) ([@algonell](https://github.com/algonell)) -- Adds message about building code before running 'develop' [#7382](https://github.com/jupyter/notebook/pull/7382) ([@JasonWeill](https://github.com/JasonWeill)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-16&to=2024-12-04&type=c)) - -[@algonell](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aalgonell+updated%3A2024-05-16..2024-12-04&type=Issues) | [@andyscho](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandyscho+updated%3A2024-05-16..2024-12-04&type=Issues) | [@bluestealth](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abluestealth+updated%3A2024-05-16..2024-12-04&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-16..2024-12-04&type=Issues) | [@gjmooney](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agjmooney+updated%3A2024-05-16..2024-12-04&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2024-05-16..2024-12-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-16..2024-12-04&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-05-16..2024-12-04&type=Issues) | [@martinRenou](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AmartinRenou+updated%3A2024-05-16..2024-12-04&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-05-16..2024-12-04&type=Issues) - -## 7.3.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0-beta.2...b34449747a84fe0ba7951ae0fa8f2bb011444a60)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.3.1 [#7521](https://github.com/jupyter/notebook/pull/7521) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-11-06&to=2024-11-18&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-11-06..2024-11-18&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-11-06..2024-11-18&type=Issues) - -## 7.3.0b2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0-beta.1...110e728e4a239ffc7217bd07b9a50cf4eff0dff5)) - -### Enhancements made - -- Fix for auto scroll output option [#7511](https://github.com/jupyter/notebook/pull/7511) ([@gjmooney](https://github.com/gjmooney)) - -### Maintenance and upkeep improvements - -- Add webpack prod config [#7513](https://github.com/jupyter/notebook/pull/7513) ([@gjmooney](https://github.com/gjmooney)) -- Update to JupyterLab 4.3 final [#7507](https://github.com/jupyter/notebook/pull/7507) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Rename some header links to fit better [#7508](https://github.com/jupyter/notebook/pull/7508) ([@gjmooney](https://github.com/gjmooney)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-10-24&to=2024-11-06&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-10-24..2024-11-06&type=Issues) | [@gjmooney](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agjmooney+updated%3A2024-10-24..2024-11-06&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-10-24..2024-11-06&type=Issues) - -## 7.3.0b1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0-beta.0...f614f7c6387cc7da82e0307b70e10593b2cd6bff)) - -### Enhancements made - -- Add a setting to enable the notebook to take up the full width [#7487](https://github.com/jupyter/notebook/pull/7487) ([@jtpio](https://github.com/jtpio)) -- Add the file filter button to the file browser toolbar [#7479](https://github.com/jupyter/notebook/pull/7479) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Move handling of the file browser settings to a separate plugin, enable file browser single click navigation [#7481](https://github.com/jupyter/notebook/pull/7481) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab `4.3.0rc1` [#7497](https://github.com/jupyter/notebook/pull/7497) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add user facing changelog for `7.3.0` [#7494](https://github.com/jupyter/notebook/pull/7494) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-10-15&to=2024-10-24&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-10-15..2024-10-24&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-10-15..2024-10-24&type=Issues) - -## 7.3.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0-alpha.1...fec4431305b2fd857ff81b7b60c2894dd125bec2)) - -### Enhancements made - -- Redirect paths from the notebooks route to the tree route if they are directories [#7446](https://github.com/jupyter/notebook/pull/7446) ([@andyscho](https://github.com/andyscho)) - -### Maintenance and upkeep improvements - -- Remove the `StateDB` file browser trick [#7477](https://github.com/jupyter/notebook/pull/7477) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `4.3.0rc0` [#7423](https://github.com/jupyter/notebook/pull/7423) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Fix typos [#7472](https://github.com/jupyter/notebook/pull/7472) ([@algonell](https://github.com/algonell)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-07-01&to=2024-10-15&type=c)) - -[@algonell](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aalgonell+updated%3A2024-07-01..2024-10-15&type=Issues) | [@andyscho](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandyscho+updated%3A2024-07-01..2024-10-15&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-07-01..2024-10-15&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-07-01..2024-10-15&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-07-01..2024-10-15&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-07-01..2024-10-15&type=Issues) - -## 7.3.0a1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.0-alpha.0...ff2b822d066dc8d733a259f955177da4bd4d668c)) - -### Enhancements made - -- Update to JupyterLab `4.3.0a1` [#7416](https://github.com/jupyter/notebook/pull/7416) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Remove pseudoelement obstructing the cell collapser [#7392](https://github.com/jupyter/notebook/pull/7392) ([@krassowski](https://github.com/krassowski)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-31&to=2024-07-01&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-31..2024-07-01&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-31..2024-07-01&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-05-31..2024-07-01&type=Issues) - -## 7.3.0a0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0...1a03b9d8e502f8177684e39d7b627bed1c772bb2)) - -### Enhancements made - -- Support custom page_data_hook function [#7387](https://github.com/jupyter/notebook/pull/7387) ([@bluestealth](https://github.com/bluestealth)) -- Add missing "Open..." file menu [#7385](https://github.com/jupyter/notebook/pull/7385) ([@martinRenou](https://github.com/martinRenou)) -- Duplicate notebook menu option [#7374](https://github.com/jupyter/notebook/pull/7374) ([@JasonWeill](https://github.com/JasonWeill)) - -### Bugs fixed - -- "Close and Shut Down Notebook" shuts down without the confirmation dialog [#7384](https://github.com/jupyter/notebook/pull/7384) ([@JasonWeill](https://github.com/JasonWeill)) -- Adds message about building code before running 'develop' [#7382](https://github.com/jupyter/notebook/pull/7382) ([@JasonWeill](https://github.com/JasonWeill)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.3.0a0 [#7378](https://github.com/jupyter/notebook/pull/7378) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Adds message about building code before running 'develop' [#7382](https://github.com/jupyter/notebook/pull/7382) ([@JasonWeill](https://github.com/JasonWeill)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-16&to=2024-05-31&type=c)) - -[@bluestealth](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abluestealth+updated%3A2024-05-16..2024-05-31&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-16..2024-05-31&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2024-05-16..2024-05-31&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-16..2024-05-31&type=Issues) | [@martinRenou](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AmartinRenou+updated%3A2024-05-16..2024-05-31&type=Issues) - -## 7.2 - -Jupyter Notebook 7.2 is based on JupyterLab 4.2, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.2, although they are not all supported in Notebook 7.2. - -For reference you may have a look at the JupyterLab 4.2 changelog to learn more: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-2 - -### Full notebook windowing mode by default - -Notebooks in the `full` windowing mode only render the visible cells, significantly improving the performance of the application. One limitation of `full` mode is that the search function in your browser may produce false negatives; using the search function is recommended. To revert to the behaviour from Notebook 7.2, go to Settings → Settings Editor → Notebook, scroll to “Windowing mode”, and choose `defer`. - -### Improved Shortcuts Editor - -Among the numerous improvements and bug fixes for the keyboard shortcuts editor: - -- it is now possible to remove the default shortcuts, -- shortcuts are correctly sorted when using a language pack, -- shortcuts with different arguments are now correctly displayed as individual entries. - -A context menu opened over a keybinding in the Keyboard Shortcuts setting panel within the Settings widget - -### Dark high contrast theme - -A new theme, JupyterLab Dark High Contrast, which is intended to benefit users with the need for higher contrast, following the WCAG AAA accessibility standard for color contrast. To select this theme, from the menu bar, choose Settings → Theme → JupyterLab Dark High Contrast. Please provide feedback and suggestions on further improvements to this theme. - -A dark high contrast theme - -## 7.2.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.2...31bf294e85175bbf39816a90dc8858dedaf73bde)) - -### Enhancements made - -- Update to JupyterLab 4.2.0 [#7357](https://github.com/jupyter/notebook/pull/7357) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.2.0rc0 [#7333](https://github.com/jupyter/notebook/pull/7333) ([@jtpio](https://github.com/jtpio)) -- Add `@jupyterlab/theme-dark-high-contrast-extension` [#7331](https://github.com/jupyter/notebook/pull/7331) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.2.0a2 [#7307](https://github.com/jupyter/notebook/pull/7307) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Add the `@jupyterlab/notebook-extension:copy-output` plugin [#7353](https://github.com/jupyter/notebook/pull/7353) ([@jtpio](https://github.com/jtpio)) -- Fix CSS for `full` windowing mode [#7337](https://github.com/jupyter/notebook/pull/7337) ([@jtpio](https://github.com/jtpio)) -- Force notebook windowing mode to `defer` [#7335](https://github.com/jupyter/notebook/pull/7335) ([@jtpio](https://github.com/jtpio)) -- Fix scrollbar always showing up by default [#7327](https://github.com/jupyter/notebook/pull/7327) ([@jtpio](https://github.com/jtpio)) -- Default to the `full` windowing mode [#7321](https://github.com/jupyter/notebook/pull/7321) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Fix emoji in create issue screen [#7363](https://github.com/jupyter/notebook/pull/7363) ([@JasonWeill](https://github.com/JasonWeill)) -- Update `@jupyterlab/galata` [#7361](https://github.com/jupyter/notebook/pull/7361) ([@jtpio](https://github.com/jtpio)) -- Pin on `macos-12` on CI for now [#7346](https://github.com/jupyter/notebook/pull/7346) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `4.2.0b1` [#7319](https://github.com/jupyter/notebook/pull/7319) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.2.0b0 [#7312](https://github.com/jupyter/notebook/pull/7312) ([@jtpio](https://github.com/jtpio)) -- Ignore links to GitHub user and organisation profiles [#7308](https://github.com/jupyter/notebook/pull/7308) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add user facing changelog for 7.2 [#7372](https://github.com/jupyter/notebook/pull/7372) ([@jtpio](https://github.com/jtpio)) -- Fix emoji in create issue screen [#7363](https://github.com/jupyter/notebook/pull/7363) ([@JasonWeill](https://github.com/JasonWeill)) -- update RISE extension installation instructions [#7299](https://github.com/jupyter/notebook/pull/7299) ([@afeld](https://github.com/afeld)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-03-14&to=2024-05-16&type=c)) - -[@afeld](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafeld+updated%3A2024-03-14..2024-05-16&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-03-14..2024-05-16&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2024-03-14..2024-05-16&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-03-14..2024-05-16&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-03-14..2024-05-16&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-03-14..2024-05-16&type=Issues) | [@takluyver](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atakluyver+updated%3A2024-03-14..2024-05-16&type=Issues) - -## 7.2.0rc1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.2.0rc0...f5d8aea3bdc3eea25213792f9d101738f2a1f627)) - -### Enhancements made - -- Update to JupyterLab 4.2.0 [#7357](https://github.com/jupyter/notebook/pull/7357) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Add the `@jupyterlab/notebook-extension:copy-output` plugin [#7353](https://github.com/jupyter/notebook/pull/7353) ([@jtpio](https://github.com/jtpio)) -- Default to the `full` windowing mode [#7321](https://github.com/jupyter/notebook/pull/7321) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- update RISE extension installation instructions [#7299](https://github.com/jupyter/notebook/pull/7299) ([@afeld](https://github.com/afeld)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-05-01&to=2024-05-13&type=c)) - -[@afeld](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafeld+updated%3A2024-05-01..2024-05-13&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-05-01..2024-05-13&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-05-01..2024-05-13&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-05-01..2024-05-13&type=Issues) | [@takluyver](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atakluyver+updated%3A2024-05-01..2024-05-13&type=Issues) - -## 7.2.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.2.0b1...49ddd0fe1e4d4bfa24f74042f2232c5b91d1c36e)) - -### Enhancements made - -- Update to JupyterLab 4.2.0rc0 [#7333](https://github.com/jupyter/notebook/pull/7333) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix CSS for `full` windowing mode [#7337](https://github.com/jupyter/notebook/pull/7337) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Pin on `macos-12` on CI for now [#7346](https://github.com/jupyter/notebook/pull/7346) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-04-19&to=2024-05-01&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-04-19..2024-05-01&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-04-19..2024-05-01&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-04-19..2024-05-01&type=Issues) - -## 7.2.0b1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0-beta.0...b45d666d5ee1ee053b55ac9cb6e9aecde5d53945)) - -### Enhancements made - -- Add `@jupyterlab/theme-dark-high-contrast-extension` [#7331](https://github.com/jupyter/notebook/pull/7331) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Force notebook windowing mode to `defer` [#7335](https://github.com/jupyter/notebook/pull/7335) ([@jtpio](https://github.com/jtpio)) -- Fix scrollbar always showing up by default [#7327](https://github.com/jupyter/notebook/pull/7327) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-04-12&to=2024-04-19&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-04-12..2024-04-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-04-12..2024-04-19&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2024-04-12..2024-04-19&type=Issues) - -## 7.2.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.2.0-alpha.0...09bcd99e6dfffce92acc9a7f9d11a2a2122131c0)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab `4.2.0b1` [#7319](https://github.com/jupyter/notebook/pull/7319) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.2.0b0 [#7312](https://github.com/jupyter/notebook/pull/7312) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-03-29&to=2024-04-12&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-03-29..2024-04-12&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-03-29..2024-04-12&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2024-03-29..2024-04-12&type=Issues) - -## 7.2.0a0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.2...80b582bce69e33e36e936af2ea981bcb22a4d285)) - -### Enhancements made - -- Update to JupyterLab 4.2.0a2 [#7307](https://github.com/jupyter/notebook/pull/7307) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Ignore links to GitHub user and organisation profiles [#7308](https://github.com/jupyter/notebook/pull/7308) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-03-14&to=2024-03-29&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-03-14..2024-03-29&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-03-14..2024-03-29&type=Issues) - -## v7.1 - -Jupyter Notebook 7.1 is based on JupyterLab 4.1, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1) which lists deprecations and changes to the public API. - -Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.1, although they are not all supported in Notebook 7.1. - -For reference you may have a look at the JupyterLab 4.1 changelog to learn more: https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-1 - -### Diagrams in Markdown - -Matching GitHub-Flavoured Markdown, JupyterLab 4.1 now supports [Mermaid](https://github.com/mermaid-js/mermaid) diagrams. -To create a mermaid diagram use the `mermaid` language specifier for a code block in a markdown cell or document, for example: - -~~~ -```mermaid -flowchart LR - -A[Hard] -->|Text| B(Round) -B --> C{Decision} -C -->|One| D[Result 1] -C -->|Two| E[Result 2] -``` -~~~ - -which renders as: - -Rendered Mermaid diagram going from left to right with modern look; the diagram contains blueish square node with text Hard pointing to round square node with text Round; over the arrow connecting the two nodes there is a word Text; the second node further connects to a rhombus-shaped node with text Decision which then connects to two further nodes, Result 1 and Result 2. - -### Inline completer - -JupyterLab now supports completion presented as ghost text in the cell and file editors, -allowing generative AI models to provide multi-line completions. This can now also be leveraged in Jupyter Notebook. - -The suggestions are provided by plugins implementing the ``IInlineCompletionProvider`` API; -by default a single provider which uses kernel history is available. - -In a code cell with `def fac` content a ghost text containing a suggestion representing further code of factorial function is shown; over the code cell there is a floating widget allowing to accept the suggestion and iterate between alternative suggestions - -The suggestions can be invoked as-you-type or manually using a configurable shortcut (by default Alt + \\). -The default keyboard shortcuts are displayed in the small widget shown when hovering over the ghost suggestion: -- Alt + End - accept suggestion -- Alt + [ - previous suggestion -- Alt + ] - next suggestion - -To enable the inline suggestions based on the kernel history, go to Settings → Inline Completer → History provider → check the "enabled" checkbox. - -In addition to the built-in history suggestions, -the [`jupyter-ai`](https://github.com/jupyterlab/jupyter-ai) extension will provide -suggestions from supported models. - -Note that the Jupyter AI extension is not yet compatible with Jupyter Notebook 7. - -### Keyboard navigation improvements - -Numerous improvements to keyboard navigation with focus on accessibility and usability are included in this release: -- the notebook cells now retain focus -- the focus can now be moved beyond the active notebook -- the toolbars can now be navigated using arrow keys - -For more details, see [this post on Jupyter Blog](https://blog.jupyter.org/recent-keyboard-navigation-improvements-in-jupyter-4df32f97628d). - -### Execution history in notebook - -The code from previously executed cells can be used to populate empty cells, -allowing to iterate on code from previous cells or even sessions -(depending on how a specific kernel stores history). - -To cycle between history items press Alt + Arrow Up and Alt + Arrow Down. - -To enable execution history, go to Settings → Notebook → check the "Kernel history access" checkbox. - -This feature was already available in the console in previous releases; it only works with kernels supporting execution history requests. -To clear the execution history consult the documentation of the kernel you are using (e.g., IPython/ipykernel). - -### Error indicator in the table of contents - -When a cell fails during execution, an error indicator will be displayed by the corresponding heading, -increasing awareness of the notebook state and enabling users to quickly navigate to the cell which requires attention. - -Error indicator in the shape of a triangle with exclamation sign (using ⚠ UTF character) shown next to one of the headings in the table of contents panel - -### Search improvements - -- The search box will now grow automatically to accommodate longer text -- Search in selection can now be toggled using Alt + L and automatic search in selection can be configured in settings -- Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts - -### Miscellaneous - -- The current theme (dark/light) can now be synced with the browser/system preference (Settings menu → Theme → Synchronise with System Settings) -- A blue "read-only" status indicator is now displayed in the toolbar of documents which cannot be saved because their model is read-only. -- Native support for viewing jsonl/ndjson files was added -- Collapsing of breadcrumbs in the File Browser can be disabled in File Browser settings - -## 7.1.2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.1...ca41222a9c8d75356c6d67d3bd36e34d71cce2d8)) - -### Maintenance and upkeep improvements - -- Update Release Scripts [#7295](https://github.com/jupyter/notebook/pull/7295) ([@blink1073](https://github.com/blink1073)) -- Fix jupyterlab install command in the releaser hook [#7294](https://github.com/jupyter/notebook/pull/7294) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.5 packages [#7291](https://github.com/jupyter/notebook/pull/7291) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add a section to use local dependencies [#7292](https://github.com/jupyter/notebook/pull/7292) ([@brichet](https://github.com/brichet)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-02-26&to=2024-03-14&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2024-02-26..2024-03-14&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2024-02-26..2024-03-14&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-02-26..2024-03-14&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-02-26..2024-03-14&type=Issues) - -## 7.1.1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.0...da7b8d400e96ceff0eec834badd891bc5d5f154d)) - -### Bugs fixed - -- Grayout "Edit Notebook Metadata" for other file formats. [#7265](https://github.com/jupyter/notebook/pull/7265) ([@itsmevichu](https://github.com/itsmevichu)) - -### Maintenance and upkeep improvements - -- Fix flaky mobile UI tests [#7278](https://github.com/jupyter/notebook/pull/7278) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.2 packages [#7277](https://github.com/jupyter/notebook/pull/7277) ([@jtpio](https://github.com/jtpio)) -- Ignore stackoverflow link [#7274](https://github.com/jupyter/notebook/pull/7274) ([@jtpio](https://github.com/jtpio)) -- Expose `version_info` [#7273](https://github.com/jupyter/notebook/pull/7273) ([@jtpio](https://github.com/jtpio)) -- Bump ip from 2.0.0 to 2.0.1 in /ui-tests [#7268](https://github.com/jupyter/notebook/pull/7268) ([@dependabot](https://github.com/dependabot)) -- Bump ip from 2.0.0 to 2.0.1 [#7267](https://github.com/jupyter/notebook/pull/7267) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-02-13&to=2024-02-26&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2024-02-13..2024-02-26&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-02-13..2024-02-26&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2024-02-13..2024-02-26&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-02-13..2024-02-26&type=Issues) - -## 7.1.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.0.6...b8ec7e4a8eda70a8d7dca19799acd3e96e019160)) - -### Enhancements made - -- Create a new notebook with a specific kernel from the new dropdown [#7255](https://github.com/jupyter/notebook/pull/7255) ([@jtpio](https://github.com/jtpio)) -- Add the plugin manager [#7198](https://github.com/jupyter/notebook/pull/7198) ([@jtpio](https://github.com/jtpio)) -- Fix toggle functionality for widgets. [#7178](https://github.com/jupyter/notebook/pull/7178) ([@haok1402](https://github.com/haok1402)) -- Bump to JupyterLab 4.1.0a4 bis [#7172](https://github.com/jupyter/notebook/pull/7172) ([@brichet](https://github.com/brichet)) -- Update to JupyterLab `4.1.0a3` [#7161](https://github.com/jupyter/notebook/pull/7161) ([@jtpio](https://github.com/jtpio)) -- Added Lumino Plugin Description (#7008) [#7127](https://github.com/jupyter/notebook/pull/7127) ([@Dilip-Jain](https://github.com/Dilip-Jain)) -- Added Edit Notebook Metadata Option (#6402) [#7099](https://github.com/jupyter/notebook/pull/7099) ([@Dilip-Jain](https://github.com/Dilip-Jain)) -- Update to JupyterLab 4.1 [#7096](https://github.com/jupyter/notebook/pull/7096) ([@jtpio](https://github.com/jtpio)) -- Add the JupyterLab resources plugin [#6968](https://github.com/jupyter/notebook/pull/6968) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix spurious kernel selection dialog on notebook creation [#7258](https://github.com/jupyter/notebook/pull/7258) ([@jtpio](https://github.com/jtpio)) -- Workaround for the file browser tracker focus issue [#7224](https://github.com/jupyter/notebook/pull/7224) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.1.1 [#7256](https://github.com/jupyter/notebook/pull/7256) ([@jtpio](https://github.com/jtpio)) -- Follow JupyterLab minor versions [#7250](https://github.com/jupyter/notebook/pull/7250) ([@jtpio](https://github.com/jtpio)) -- chore: update pre-commit hooks [#7237](https://github.com/jupyter/notebook/pull/7237) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Update to JupyterLab 4.1.0 final [#7234](https://github.com/jupyter/notebook/pull/7234) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0rc1 [#7230](https://github.com/jupyter/notebook/pull/7230) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0rc0 [#7227](https://github.com/jupyter/notebook/pull/7227) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0b2 [#7222](https://github.com/jupyter/notebook/pull/7222) ([@jtpio](https://github.com/jtpio)) -- Fix `check_links` on CI [#7219](https://github.com/jupyter/notebook/pull/7219) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group with 1 update [#7218](https://github.com/jupyter/notebook/pull/7218) ([@dependabot](https://github.com/dependabot)) -- Bump the actions group with 2 updates [#7207](https://github.com/jupyter/notebook/pull/7207) ([@dependabot](https://github.com/dependabot)) -- chore: update pre-commit hooks [#7206](https://github.com/jupyter/notebook/pull/7206) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Add nbviewer.jupyter.org to the ignore list [#7197](https://github.com/jupyter/notebook/pull/7197) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0b0 [#7196](https://github.com/jupyter/notebook/pull/7196) ([@jtpio](https://github.com/jtpio)) -- Update ruff config [#7190](https://github.com/jupyter/notebook/pull/7190) ([@blink1073](https://github.com/blink1073)) -- Bump @babel/traverse from 7.23.0 to 7.23.6 [#7187](https://github.com/jupyter/notebook/pull/7187) ([@dependabot](https://github.com/dependabot)) -- Bump actions/setup-python from 4 to 5 [#7180](https://github.com/jupyter/notebook/pull/7180) ([@dependabot](https://github.com/dependabot)) -- Update publish-release workflow for PyPI trusted publisher [#7176](https://github.com/jupyter/notebook/pull/7176) ([@jtpio](https://github.com/jtpio)) -- chore: update pre-commit hooks [#7174](https://github.com/jupyter/notebook/pull/7174) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Update `yarn.lock` [#7170](https://github.com/jupyter/notebook/pull/7170) ([@jtpio](https://github.com/jtpio)) -- Bump axios from 1.5.1 to 1.6.2 [#7165](https://github.com/jupyter/notebook/pull/7165) ([@dependabot](https://github.com/dependabot)) -- Bump dessant/lock-threads from 4 to 5 [#7159](https://github.com/jupyter/notebook/pull/7159) ([@dependabot](https://github.com/dependabot)) -- Update ruff config and typing [#7145](https://github.com/jupyter/notebook/pull/7145) ([@blink1073](https://github.com/blink1073)) -- chore: update pre-commit hooks [#7143](https://github.com/jupyter/notebook/pull/7143) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Clean up lint handling [#7142](https://github.com/jupyter/notebook/pull/7142) ([@blink1073](https://github.com/blink1073)) -- Adopt ruff format [#7132](https://github.com/jupyter/notebook/pull/7132) ([@blink1073](https://github.com/blink1073)) -- Fix python bumping to `minor` [#7131](https://github.com/jupyter/notebook/pull/7131) ([@jtpio](https://github.com/jtpio)) -- Add Python 3.12 classifier [#7111](https://github.com/jupyter/notebook/pull/7111) ([@jtpio](https://github.com/jtpio)) -- Remove viewport workaround in the UI tests [#6887](https://github.com/jupyter/notebook/pull/6887) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add documentation for updating `notebook` imports [#7244](https://github.com/jupyter/notebook/pull/7244) ([@jtpio](https://github.com/jtpio)) -- Fix link in `CONTRIBUTING.md` [#7235](https://github.com/jupyter/notebook/pull/7235) ([@jtpio](https://github.com/jtpio)) -- Add user facing changelog for 7.1 [#7232](https://github.com/jupyter/notebook/pull/7232) ([@jtpio](https://github.com/jtpio)) -- Clarify README about supported versions (post v7 release) [#7193](https://github.com/jupyter/notebook/pull/7193) ([@akx](https://github.com/akx)) -- Set `navigation_with_keys` to `False` [#7129](https://github.com/jupyter/notebook/pull/7129) ([@jtpio](https://github.com/jtpio)) -- Updated ui-tests Configuration in Contributing.md [#7124](https://github.com/jupyter/notebook/pull/7124) ([@jayeshsingh9767](https://github.com/jayeshsingh9767)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-17&to=2024-02-13&type=c)) - -[@akx](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aakx+updated%3A2023-10-17..2024-02-13&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-10-17..2024-02-13&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-10-17..2024-02-13&type=Issues) | [@d5423197](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ad5423197+updated%3A2023-10-17..2024-02-13&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-10-17..2024-02-13&type=Issues) | [@Dilip-Jain](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ADilip-Jain+updated%3A2023-10-17..2024-02-13&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-17..2024-02-13&type=Issues) | [@haok1402](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahaok1402+updated%3A2023-10-17..2024-02-13&type=Issues) | [@jayeshsingh9767](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajayeshsingh9767+updated%3A2023-10-17..2024-02-13&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-17..2024-02-13&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-10-17..2024-02-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-10-17..2024-02-13&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2023-10-17..2024-02-13&type=Issues) - -## 7.1.0rc1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.1.0rc0...376a2f97c883e6e91f321d0a676e1ee9ff3b8d87)) - -### Maintenance and upkeep improvements - -- Follow JupyterLab minor versions [#7250](https://github.com/jupyter/notebook/pull/7250) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Add documentation for updating `notebook` imports [#7244](https://github.com/jupyter/notebook/pull/7244) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-02-07&to=2024-02-09&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-02-07..2024-02-09&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-02-07..2024-02-09&type=Issues) - -## 7.1.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.1.0b0...2d717f5896a1d4310baa2499c7e6197d1914201d)) - -### Enhancements made - -- Added Edit Notebook Metadata Option (#6402) [#7099](https://github.com/jupyter/notebook/pull/7099) ([@Dilip-Jain](https://github.com/Dilip-Jain)) - -### Maintenance and upkeep improvements - -- chore: update pre-commit hooks [#7237](https://github.com/jupyter/notebook/pull/7237) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Update to JupyterLab 4.1.0 final [#7234](https://github.com/jupyter/notebook/pull/7234) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0rc1 [#7230](https://github.com/jupyter/notebook/pull/7230) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0rc0 [#7227](https://github.com/jupyter/notebook/pull/7227) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Fix link in `CONTRIBUTING.md` [#7235](https://github.com/jupyter/notebook/pull/7235) ([@jtpio](https://github.com/jtpio)) -- Add user facing changelog for 7.1 [#7232](https://github.com/jupyter/notebook/pull/7232) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2024-01-26&to=2024-02-07&type=c)) - -[@Dilip-Jain](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ADilip-Jain+updated%3A2024-01-26..2024-02-07&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2024-01-26..2024-02-07&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2024-01-26..2024-02-07&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2024-01-26..2024-02-07&type=Issues) - -## 7.1.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.1.0a2...5d265b90ed5f097af4ca22d283ecdc705229ff92)) - -### Bugs fixed - -- Workaround for the file browser tracker focus issue [#7224](https://github.com/jupyter/notebook/pull/7224) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.1.0b2 [#7222](https://github.com/jupyter/notebook/pull/7222) ([@jtpio](https://github.com/jtpio)) -- Fix `check_links` on CI [#7219](https://github.com/jupyter/notebook/pull/7219) ([@jtpio](https://github.com/jtpio)) -- Bump the actions group with 1 update [#7218](https://github.com/jupyter/notebook/pull/7218) ([@dependabot](https://github.com/dependabot)) -- Bump the actions group with 2 updates [#7207](https://github.com/jupyter/notebook/pull/7207) ([@dependabot](https://github.com/dependabot)) -- chore: update pre-commit hooks [#7206](https://github.com/jupyter/notebook/pull/7206) ([@pre-commit-ci](https://github.com/pre-commit-ci)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-12-27&to=2024-01-26&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-12-27..2024-01-26&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-12-27..2024-01-26&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-12-27..2024-01-26&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-12-27..2024-01-26&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2023-12-27..2024-01-26&type=Issues) - -## 7.1.0a2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.1.0a1...251e0e360603b6e63b280b3bd04a5406f7da28da)) - -### Enhancements made - -- Add the plugin manager [#7198](https://github.com/jupyter/notebook/pull/7198) ([@jtpio](https://github.com/jtpio)) -- Fix toggle functionality for widgets. [#7178](https://github.com/jupyter/notebook/pull/7178) ([@haok1402](https://github.com/haok1402)) - -### Maintenance and upkeep improvements - -- Add nbviewer.jupyter.org to the ignore list [#7197](https://github.com/jupyter/notebook/pull/7197) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.1.0b0 [#7196](https://github.com/jupyter/notebook/pull/7196) ([@jtpio](https://github.com/jtpio)) -- Update ruff config [#7190](https://github.com/jupyter/notebook/pull/7190) ([@blink1073](https://github.com/blink1073)) -- Bump @babel/traverse from 7.23.0 to 7.23.6 [#7187](https://github.com/jupyter/notebook/pull/7187) ([@dependabot](https://github.com/dependabot)) -- Bump actions/setup-python from 4 to 5 [#7180](https://github.com/jupyter/notebook/pull/7180) ([@dependabot](https://github.com/dependabot)) -- Update publish-release workflow for PyPI trusted publisher [#7176](https://github.com/jupyter/notebook/pull/7176) ([@jtpio](https://github.com/jtpio)) -- chore: update pre-commit hooks [#7174](https://github.com/jupyter/notebook/pull/7174) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Remove viewport workaround in the UI tests [#6887](https://github.com/jupyter/notebook/pull/6887) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Clarify README about supported versions (post v7 release) [#7193](https://github.com/jupyter/notebook/pull/7193) ([@akx](https://github.com/akx)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-12-04&to=2023-12-27&type=c)) - -[@akx](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aakx+updated%3A2023-12-04..2023-12-27&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-12-04..2023-12-27&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-12-04..2023-12-27&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-12-04..2023-12-27&type=Issues) | [@haok1402](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahaok1402+updated%3A2023-12-04..2023-12-27&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-12-04..2023-12-27&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-12-04..2023-12-27&type=Issues) - -## 7.1.0a1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.1.0-alpha.0...a74cd91871fcc6037d384fe59af8986557e783e5)) - -### Enhancements made - -- Bump to JupyterLab 4.1.0a4 bis [#7172](https://github.com/jupyter/notebook/pull/7172) ([@brichet](https://github.com/brichet)) -- Update to JupyterLab `4.1.0a3` [#7161](https://github.com/jupyter/notebook/pull/7161) ([@jtpio](https://github.com/jtpio)) -- Add the JupyterLab resources plugin [#6968](https://github.com/jupyter/notebook/pull/6968) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update `yarn.lock` [#7170](https://github.com/jupyter/notebook/pull/7170) ([@jtpio](https://github.com/jtpio)) -- Bump axios from 1.5.1 to 1.6.2 [#7165](https://github.com/jupyter/notebook/pull/7165) ([@dependabot](https://github.com/dependabot)) -- Bump dessant/lock-threads from 4 to 5 [#7159](https://github.com/jupyter/notebook/pull/7159) ([@dependabot](https://github.com/dependabot)) -- Update ruff config and typing [#7145](https://github.com/jupyter/notebook/pull/7145) ([@blink1073](https://github.com/blink1073)) -- chore: update pre-commit hooks [#7143](https://github.com/jupyter/notebook/pull/7143) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Clean up lint handling [#7142](https://github.com/jupyter/notebook/pull/7142) ([@blink1073](https://github.com/blink1073)) -- Adopt ruff format [#7132](https://github.com/jupyter/notebook/pull/7132) ([@blink1073](https://github.com/blink1073)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-27&to=2023-12-04&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-10-27..2023-12-04&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-10-27..2023-12-04&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-10-27..2023-12-04&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-27..2023-12-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-27..2023-12-04&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-10-27..2023-12-04&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-10-27..2023-12-04&type=Issues) - -## 7.1.0a0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.0.6...0cd6104b926a398b419f2433538cef437592796f)) - -### Enhancements made - -- Added Lumino Plugin Description (#7008) [#7127](https://github.com/jupyter/notebook/pull/7127) ([@Dilip-Jain](https://github.com/Dilip-Jain)) -- Update to JupyterLab 4.1 [#7096](https://github.com/jupyter/notebook/pull/7096) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Fix python bumping to `minor` [#7131](https://github.com/jupyter/notebook/pull/7131) ([@jtpio](https://github.com/jtpio)) -- Add Python 3.12 classifier [#7111](https://github.com/jupyter/notebook/pull/7111) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Set `navigation_with_keys` to `False` [#7129](https://github.com/jupyter/notebook/pull/7129) ([@jtpio](https://github.com/jtpio)) -- Updated ui-tests Configuration in Contributing.md [#7124](https://github.com/jupyter/notebook/pull/7124) ([@jayeshsingh9767](https://github.com/jayeshsingh9767)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-17&to=2023-10-27&type=c)) - -[@Dilip-Jain](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ADilip-Jain+updated%3A2023-10-17..2023-10-27&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-17..2023-10-27&type=Issues) | [@jayeshsingh9767](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajayeshsingh9767+updated%3A2023-10-17..2023-10-27&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-17..2023-10-27&type=Issues) - -## v7.0 - -## 7.0.6 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.5...c62caffb02856737870cbc79a2cdb43b3e89c363)) - -### Bugs fixed - -- Updated fav-icon Base URL from JupyterLab PageConfig. [#7109](https://github.com/jupyter/notebook/pull/7109) ([@jayeshsingh9767](https://github.com/jayeshsingh9767)) - -### Maintenance and upkeep improvements - -- Fix typings [#7110](https://github.com/jupyter/notebook/pull/7110) ([@jtpio](https://github.com/jtpio)) -- Bump postcss from 8.4.27 to 8.4.31 [#7089](https://github.com/jupyter/notebook/pull/7089) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-10-12&to=2023-10-17&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-10-12..2023-10-17&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-10-12..2023-10-17&type=Issues) | [@jayeshsingh9767](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajayeshsingh9767+updated%3A2023-10-12..2023-10-17&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-10-12..2023-10-17&type=Issues) - -## 7.0.5 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.4...839193d07f0780ded6f559892517f061f3776b02)) - -### Enhancements made - -- Update to JupyterLab 4.0.7 [#7103](https://github.com/jupyter/notebook/pull/7103) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update `permissions` in the galata snapshot workflow [#7105](https://github.com/jupyter/notebook/pull/7105) ([@jtpio](https://github.com/jtpio)) -- Fix typings check on CI [#7104](https://github.com/jupyter/notebook/pull/7104) ([@jtpio](https://github.com/jtpio)) -- Ignore yarn.lock for codespell [#7098](https://github.com/jupyter/notebook/pull/7098) ([@jtpio](https://github.com/jtpio)) -- Remove link to the PDF documentation [#7094](https://github.com/jupyter/notebook/pull/7094) ([@jtpio](https://github.com/jtpio)) -- Bump postcss from 8.4.23 to 8.4.31 in /ui-tests [#7088](https://github.com/jupyter/notebook/pull/7088) ([@dependabot](https://github.com/dependabot)) -- React to the galata update comment [#7086](https://github.com/jupyter/notebook/pull/7086) ([@jtpio](https://github.com/jtpio)) -- Switch from `hub` to `gh` in the Playwright snapshots update workflow [#7085](https://github.com/jupyter/notebook/pull/7085) ([@jtpio](https://github.com/jtpio)) -- chore: update pre-commit hooks [#7084](https://github.com/jupyter/notebook/pull/7084) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Fix traitlets typing [#7082](https://github.com/jupyter/notebook/pull/7082) ([@jtpio](https://github.com/jtpio)) -- Bump toshimaru/auto-author-assign from 2.0.0 to 2.0.1 [#7080](https://github.com/jupyter/notebook/pull/7080) ([@dependabot](https://github.com/dependabot)) -- Bump toshimaru/auto-author-assign from 1.6.2 to 2.0.0 [#7072](https://github.com/jupyter/notebook/pull/7072) ([@dependabot](https://github.com/dependabot)) -- ci: set minimal permissions to workflows [#7070](https://github.com/jupyter/notebook/pull/7070) ([@diogoteles08](https://github.com/diogoteles08)) -- Bump systeminformation from 5.17.12 to 5.21.8 in /ui-tests [#7064](https://github.com/jupyter/notebook/pull/7064) ([@dependabot](https://github.com/dependabot)) - -### Documentation improvements - -- Improve docs setup (SVG logos, repo links) [#7074](https://github.com/jupyter/notebook/pull/7074) ([@krassowski](https://github.com/krassowski)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-09-20&to=2023-10-12&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-09-20..2023-10-12&type=Issues) | [@diogoteles08](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adiogoteles08+updated%3A2023-09-20..2023-10-12&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-09-20..2023-10-12&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-09-20..2023-10-12&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-09-20..2023-10-12&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-09-20..2023-10-12&type=Issues) - -## 7.0.4 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.3...0e62386fc71ed4bd424c989f9d5493ca346f1d9a)) - -### Enhancements made - -- Update to JupyterLab 4.0.6 [#7049](https://github.com/jupyter/notebook/pull/7049) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix `app_version` [#7061](https://github.com/jupyter/notebook/pull/7061) ([@jtpio](https://github.com/jtpio)) -- fix trusted status indication [#7036](https://github.com/jupyter/notebook/pull/7036) ([@adigaboy](https://github.com/adigaboy)) - -### Maintenance and upkeep improvements - -- Update Binder environment [#7059](https://github.com/jupyter/notebook/pull/7059) ([@jtpio](https://github.com/jtpio)) -- Add `deduplicate` top-level script [#7058](https://github.com/jupyter/notebook/pull/7058) ([@jtpio](https://github.com/jtpio)) -- Move opening path in new browser tabs to a separate plugin [#7056](https://github.com/jupyter/notebook/pull/7056) ([@jtpio](https://github.com/jtpio)) -- Enable the Playwright trace [#7050](https://github.com/jupyter/notebook/pull/7050) ([@jtpio](https://github.com/jtpio)) -- Bump actions/checkout from 3 to 4 [#7040](https://github.com/jupyter/notebook/pull/7040) ([@dependabot](https://github.com/dependabot)) -- Adopt sp-repo-review [#7039](https://github.com/jupyter/notebook/pull/7039) ([@blink1073](https://github.com/blink1073)) -- Add `datetime.datetime.utc()` to the filter list [#7037](https://github.com/jupyter/notebook/pull/7037) ([@jtpio](https://github.com/jtpio)) -- Fix docs build on Gitpod [#7026](https://github.com/jupyter/notebook/pull/7026) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-08-30&to=2023-09-20&type=c)) - -[@adigaboy](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aadigaboy+updated%3A2023-08-30..2023-09-20&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-08-30..2023-09-20&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-08-30..2023-09-20&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-08-30..2023-09-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-08-30..2023-09-20&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-08-30..2023-09-20&type=Issues) - -## 7.0.3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.2...e2eb8f2a166ba7b339309b8bfbff40e6c9e0a9b9)) - -### Bugs fixed - -- Require importlib_resources for testing on Python \< 3.10 [#7016](https://github.com/jupyter/notebook/pull/7016) ([@bnavigator](https://github.com/bnavigator)) -- Fix Python 3.12 compatibility [#6965](https://github.com/jupyter/notebook/pull/6965) ([@frenzymadness](https://github.com/frenzymadness)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.0.5 [#7013](https://github.com/jupyter/notebook/pull/7013) ([@jtpio](https://github.com/jtpio)) -- Test against Python 3.12 [#6999](https://github.com/jupyter/notebook/pull/6999) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Mention the nx graph in the contributing guide [#7001](https://github.com/jupyter/notebook/pull/7001) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-08-04&to=2023-08-30&type=c)) - -[@bnavigator](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abnavigator+updated%3A2023-08-04..2023-08-30&type=Issues) | [@defjaf](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adefjaf+updated%3A2023-08-04..2023-08-30&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2023-08-04..2023-08-30&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-08-04..2023-08-30&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-08-04..2023-08-30&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2023-08-04..2023-08-30&type=Issues) - -## 7.0.2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.1...af5edd42374cadba65feed2e6828b1ef96295daf)) - -### Enhancements made - -- Update to JupyterLab 4.0.4 packages [#6998](https://github.com/jupyter/notebook/pull/6998) ([@jtpio](https://github.com/jtpio)) -- Improve about dialog [#6996](https://github.com/jupyter/notebook/pull/6996) ([@yjrab](https://github.com/yjrab)) -- Added documentation link in Help menu [#6993](https://github.com/jupyter/notebook/pull/6993) ([@Mikil03](https://github.com/Mikil03)) - -### Bugs fixed - -- Remove `RedirectHandler` [#6997](https://github.com/jupyter/notebook/pull/6997) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-07-31&to=2023-08-04&type=c)) - -[@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2023-07-31..2023-08-04&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-07-31..2023-08-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-07-31..2023-08-04&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2023-07-31..2023-08-04&type=Issues) | [@Mikil03](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AMikil03+updated%3A2023-07-31..2023-08-04&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-07-31..2023-08-04&type=Issues) | [@shaneknapp](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ashaneknapp+updated%3A2023-07-31..2023-08-04&type=Issues) | [@yjrab](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayjrab+updated%3A2023-07-31..2023-08-04&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2023-07-31..2023-08-04&type=Issues) - -## 7.0.1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/app@7.0.0...ac3c882a246b46c15c1963ef4b65427a4257b132)) - -### Enhancements made - -- Update accessibly compliance section in the docs [#6982](https://github.com/jupyter/notebook/pull/6982) ([@andrii-i](https://github.com/andrii-i)) -- Update the browser tab favicon on kernel busy [#6980](https://github.com/jupyter/notebook/pull/6980) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Bump `word-wrap` and `semver` [#6979](https://github.com/jupyter/notebook/pull/6979) ([@jtpio](https://github.com/jtpio)) -- Enable lerna caching for build scripts [#6767](https://github.com/jupyter/notebook/pull/6767) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Update accessibly compliance section in the docs [#6982](https://github.com/jupyter/notebook/pull/6982) ([@andrii-i](https://github.com/andrii-i)) -- Fix link in `README.md` [#6973](https://github.com/jupyter/notebook/pull/6973) ([@jtpio](https://github.com/jtpio)) -- The future is now [#6972](https://github.com/jupyter/notebook/pull/6972) ([@frenzymadness](https://github.com/frenzymadness)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-07-19&to=2023-07-31&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2023-07-19..2023-07-31&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2023-07-19..2023-07-31&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2023-07-19..2023-07-31&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-07-19..2023-07-31&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-07-19..2023-07-31&type=Issues) | [@prof-lupin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aprof-lupin+updated%3A2023-07-19..2023-07-31&type=Issues) - -## 7.0.0 - -Jupyter Notebook 7 is released :tada: - -Check the changelog: https://jupyter-notebook.readthedocs.io/en/latest/changelog.html - -And the new features in Notebook 7: https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html - -Migration Guide: https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html - -______________________________________________________________________ - -For reference here is the changelog since the last `7.0.0rc2` release. - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0rc2...2be98e8f39af7f3ec2729006018f6baf0998f94b)) - -### Bugs fixed - -- Update Jupytext Notebook url path [#6961](https://github.com/jupyter/notebook/pull/6961) ([@RRosio](https://github.com/RRosio)) - -### Maintenance and upkeep improvements - -- Fix hatch version when going from rc [#6971](https://github.com/jupyter/notebook/pull/6971) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.0.3 [#6967](https://github.com/jupyter/notebook/pull/6967) ([@jtpio](https://github.com/jtpio)) -- Bump semver from 7.5.0 to 7.5.3 in /ui-tests [#6950](https://github.com/jupyter/notebook/pull/6950) ([@dependabot](https://github.com/dependabot)) - -### Documentation improvements - -- fix: update link to troubleshooting guidelines [#6964](https://github.com/jupyter/notebook/pull/6964) ([@emmanuel-ferdman](https://github.com/emmanuel-ferdman)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-06-26&to=2023-07-19&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-06-26..2023-07-19&type=Issues) | [@emmanuel-ferdman](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aemmanuel-ferdman+updated%3A2023-06-26..2023-07-19&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-06-26..2023-07-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-06-26..2023-07-19&type=Issues) | [@parmentelat](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aparmentelat+updated%3A2023-06-26..2023-07-19&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-06-26..2023-07-19&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-06-26..2023-07-19&type=Issues) - -## 7.0.0rc2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0rc1...27c00bc56afaa5b89713f760b0cc6eb88079224e)) - -### Bugs fixed - -- Fix opening files from the CLI [#6946](https://github.com/jupyter/notebook/pull/6946) ([@jtpio](https://github.com/jtpio)) -- Fix handling of the base url [#6943](https://github.com/jupyter/notebook/pull/6943) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-06-22&to=2023-06-26&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-06-22..2023-06-26&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-06-22..2023-06-26&type=Issues) | [@parmentelat](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aparmentelat+updated%3A2023-06-22..2023-06-26&type=Issues) - -## 7.0.0rc1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0rc0...8493e1ba21ebaca5c192d68bdc829ccc5b29a799)) - -### Enhancements made - -- Close the browser tab when clicking on "Close and Shut Down Notebook" [#6937](https://github.com/jupyter/notebook/pull/6937) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix the redirect handler [#6941](https://github.com/jupyter/notebook/pull/6941) ([@jtpio](https://github.com/jtpio)) -- Make jupyter logo select properly (#6927) [#6938](https://github.com/jupyter/notebook/pull/6938) ([@Cheukting](https://github.com/Cheukting)) - -### Documentation improvements - -- Update issue templates [#6939](https://github.com/jupyter/notebook/pull/6939) ([@RRosio](https://github.com/RRosio)) -- Docs parity for find with JupyterLab. [#6917](https://github.com/jupyter/notebook/pull/6917) ([@ericsnekbytes](https://github.com/ericsnekbytes)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-06-19&to=2023-06-22&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2023-06-19..2023-06-22&type=Issues) | [@Cheukting](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ACheukting+updated%3A2023-06-19..2023-06-22&type=Issues) | [@ericsnekbytes](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aericsnekbytes+updated%3A2023-06-19..2023-06-22&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-06-19..2023-06-22&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-06-19..2023-06-22&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-06-19..2023-06-22&type=Issues) - -## 7.0.0rc0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0b4...d0692112a4b2db20c2178205d4b5630184acbf7b)) - -### Enhancements made - -- Update JupyterLab, audit document viewers [#6922](https://github.com/jupyter/notebook/pull/6922) ([@jtpio](https://github.com/jtpio)) -- Customize the shell layout with the settings [#6921](https://github.com/jupyter/notebook/pull/6921) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix default viewers override [#6923](https://github.com/jupyter/notebook/pull/6923) ([@jtpio](https://github.com/jtpio)) -- Align JupyterHub config with JupyterLab [#6918](https://github.com/jupyter/notebook/pull/6918) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Added example of custom css files [#6919](https://github.com/jupyter/notebook/pull/6919) ([@RRosio](https://github.com/RRosio)) - -### API and Breaking Changes - -- Customize the shell layout with the settings [#6921](https://github.com/jupyter/notebook/pull/6921) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-06-12&to=2023-06-19&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-06-12..2023-06-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-06-12..2023-06-19&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-06-12..2023-06-19&type=Issues) - -## 7.0.0b4 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0b3...ee3e1c221226d482ca1c9bec6362c8af36f1da56)) - -### Enhancements made - -- Rename browser tab title to Home [#6913](https://github.com/jupyter/notebook/pull/6913) ([@Cheukting](https://github.com/Cheukting)) -- Add the notification plugin [#6900](https://github.com/jupyter/notebook/pull/6900) ([@jtpio](https://github.com/jtpio)) -- Configurable `default_url` for JupyterNotebookApp [#6899](https://github.com/jupyter/notebook/pull/6899) ([@paulgb](https://github.com/paulgb)) -- Enhancement: Added drop shadows to markdown, text, and tree views [#6893](https://github.com/jupyter/notebook/pull/6893) ([@rielAsh24](https://github.com/rielAsh24)) -- Update to JupyterLab 4.0.1 [#6892](https://github.com/jupyter/notebook/pull/6892) ([@jtpio](https://github.com/jtpio)) -- Add file browser actions to the file browser toolbar [#6888](https://github.com/jupyter/notebook/pull/6888) ([@jtpio](https://github.com/jtpio)) -- Add option to open a notebook in NbClassic if it is installed; show "Open in..." dropdown menu if there are multiple options, show single button otherwise [#6866](https://github.com/jupyter/notebook/pull/6866) ([@andrii-i](https://github.com/andrii-i)) -- Load custom CSS [#6841](https://github.com/jupyter/notebook/pull/6841) ([@RRosio](https://github.com/RRosio)) - -### Bugs fixed - -- Add an empty splash screen on notebook launch to avoid a flash of unstyled content [#6911](https://github.com/jupyter/notebook/pull/6911) ([@andrii-i](https://github.com/andrii-i)) -- Fix for "find searches only part of the file" bug [#6905](https://github.com/jupyter/notebook/pull/6905) ([@ericsnekbytes](https://github.com/ericsnekbytes)) -- Provide a custom rendermime plugin to handle local links [#6885](https://github.com/jupyter/notebook/pull/6885) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Fix check links on CI [#6910](https://github.com/jupyter/notebook/pull/6910) ([@jtpio](https://github.com/jtpio)) -- Add `JSONLicenseWebpackPlugin` [#6896](https://github.com/jupyter/notebook/pull/6896) ([@jtpio](https://github.com/jtpio)) -- Simplify Gitpod setup [#6894](https://github.com/jupyter/notebook/pull/6894) ([@jtpio](https://github.com/jtpio)) -- Fix action name in update workflow [#6884](https://github.com/jupyter/notebook/pull/6884) ([@jtpio](https://github.com/jtpio)) -- Fix playwright bot [#6880](https://github.com/jupyter/notebook/pull/6880) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Document how to manage plugins and extensions [#6909](https://github.com/jupyter/notebook/pull/6909) ([@jtpio](https://github.com/jtpio)) -- Jupyter Notebook ecosystem docs improvements [#6877](https://github.com/jupyter/notebook/pull/6877) ([@ericsnekbytes](https://github.com/ericsnekbytes)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-05-25&to=2023-06-12&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2023-05-25..2023-06-12&type=Issues) | [@Cheukting](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ACheukting+updated%3A2023-05-25..2023-06-12&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2023-05-25..2023-06-12&type=Issues) | [@ericsnekbytes](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aericsnekbytes+updated%3A2023-05-25..2023-06-12&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-05-25..2023-06-12&type=Issues) | [@henryiii](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahenryiii+updated%3A2023-05-25..2023-06-12&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-05-25..2023-06-12&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2023-05-25..2023-06-12&type=Issues) | [@paulgb](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apaulgb+updated%3A2023-05-25..2023-06-12&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-05-25..2023-06-12&type=Issues) | [@rielAsh24](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ArielAsh24+updated%3A2023-05-25..2023-06-12&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-05-25..2023-06-12&type=Issues) | [@yuvipanda](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayuvipanda+updated%3A2023-05-25..2023-06-12&type=Issues) - -## 7.0.0b3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0b2...93e4d5e1c6ed7a3a4875eed284255587ac293819)) - -### Enhancements made - -- Copy edits for `migrate_to_notebook7` [#6879](https://github.com/jupyter/notebook/pull/6879) ([@JasonWeill](https://github.com/JasonWeill)) -- Enable add a cell button [#6872](https://github.com/jupyter/notebook/pull/6872) ([@tuncbkose](https://github.com/tuncbkose)) -- Update to JupyterLab 4 final [#6871](https://github.com/jupyter/notebook/pull/6871) ([@jtpio](https://github.com/jtpio)) -- Remove "Close Tab" menu entry [#6843](https://github.com/jupyter/notebook/pull/6843) ([@timmerk3](https://github.com/timmerk3)) - -### Bugs fixed - -- Fix handling of the default factory in the URL [#6873](https://github.com/jupyter/notebook/pull/6873) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update to Playwright 1.33 [#6874](https://github.com/jupyter/notebook/pull/6874) ([@jtpio](https://github.com/jtpio)) -- Fix check links on CI [#6870](https://github.com/jupyter/notebook/pull/6870) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Copy edits for `migrate_to_notebook7` [#6879](https://github.com/jupyter/notebook/pull/6879) ([@JasonWeill](https://github.com/JasonWeill)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-05-09&to=2023-05-25&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2023-05-09..2023-05-25&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-05-09..2023-05-25&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2023-05-09..2023-05-25&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-05-09..2023-05-25&type=Issues) | [@timmerk3](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atimmerk3+updated%3A2023-05-09..2023-05-25&type=Issues) | [@tuncbkose](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atuncbkose+updated%3A2023-05-09..2023-05-25&type=Issues) - -## 7.0.0b2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0b1...c0071d796019c0221df4900313b51c0529438bcf)) - -### Enhancements made - -- Update to JupyterLab 4.0.0rc1 [#6864](https://github.com/jupyter/notebook/pull/6864) ([@jtpio](https://github.com/jtpio)) -- Change "Interface" menu to "Open in...", shorten names of menu items inside [#6847](https://github.com/jupyter/notebook/pull/6847) ([@andrii-i](https://github.com/andrii-i)) -- Add Skip Link to Notebook [#6844](https://github.com/jupyter/notebook/pull/6844) ([@seirani](https://github.com/seirani)) - -### Bugs fixed - -- Fix top bar visibility not picking up settings overrides (#6833) [#6836](https://github.com/jupyter/notebook/pull/6836) ([@yumyumqing](https://github.com/yumyumqing)) - -### Maintenance and upkeep improvements - -- Update RTD image [#6861](https://github.com/jupyter/notebook/pull/6861) ([@blink1073](https://github.com/blink1073)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-04-28&to=2023-05-09&type=c)) - -[@andrii-i](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aandrii-i+updated%3A2023-04-28..2023-05-09&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-04-28..2023-05-09&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-04-28..2023-05-09&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-04-28..2023-05-09&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-04-28..2023-05-09&type=Issues) | [@seirani](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aseirani+updated%3A2023-04-28..2023-05-09&type=Issues) | [@yumyumqing](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayumyumqing+updated%3A2023-04-28..2023-05-09&type=Issues) - -## 7.0.0b1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0b0...4b6af274b24bcc20e43ad2330c9243c8d2c7d552)) - -### Enhancements made - -- Update to JupyterLab 4.0.0rc0 [#6853](https://github.com/jupyter/notebook/pull/6853) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab `4.0.0b1` and `4.0.0b2` [#6838](https://github.com/jupyter/notebook/pull/6838) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fixes the notebooktools [#6834](https://github.com/jupyter/notebook/pull/6834) ([@brichet](https://github.com/brichet)) - -### Maintenance and upkeep improvements - -- Use local coverage [#6839](https://github.com/jupyter/notebook/pull/6839) ([@blink1073](https://github.com/blink1073)) - -### Documentation improvements - -- Added extra information and user-action summaries to 7 migration docs. [#6850](https://github.com/jupyter/notebook/pull/6850) ([@ericsnekbytes](https://github.com/ericsnekbytes)) -- Rename migration file to `migrate_to_notebook7` [#6831](https://github.com/jupyter/notebook/pull/6831) ([@jtpio](https://github.com/jtpio)) -- Use correct canonical URL while building docs [#6829](https://github.com/jupyter/notebook/pull/6829) ([@ashwinvis](https://github.com/ashwinvis)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-04-04&to=2023-04-28&type=c)) - -[@ashwinvis](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aashwinvis+updated%3A2023-04-04..2023-04-28&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-04-04..2023-04-28&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-04-04..2023-04-28&type=Issues) | [@ericsnekbytes](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aericsnekbytes+updated%3A2023-04-04..2023-04-28&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-04-04..2023-04-28&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-04-04..2023-04-28&type=Issues) - -## 7.0.0b0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a18...b99718f57a8beac7b4019901a57c94984781dd49)) - -### Enhancements made - -- Update to JupyterLab `4.0.0b0` [#6803](https://github.com/jupyter/notebook/pull/6803) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- added white space to bottom of edit files [#6804](https://github.com/jupyter/notebook/pull/6804) ([@jesuscastillx](https://github.com/jesuscastillx)) -- Hides 'micro' toolbars in notebook [#6791](https://github.com/jupyter/notebook/pull/6791) ([@JasonWeill](https://github.com/JasonWeill)) - -### Maintenance and upkeep improvements - -- Add missing singleton packages for RTC [#6816](https://github.com/jupyter/notebook/pull/6816) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Improve the documentation for Notebook 7 [#6813](https://github.com/jupyter/notebook/pull/6813) ([@jtpio](https://github.com/jtpio)) -- fix typo in the migration guide [#6812](https://github.com/jupyter/notebook/pull/6812) ([@Tiksagol](https://github.com/Tiksagol)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-03-24&to=2023-04-04&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-03-24..2023-04-04&type=Issues) | [@j-publius](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aj-publius+updated%3A2023-03-24..2023-04-04&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2023-03-24..2023-04-04&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-03-24..2023-04-04&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-03-24..2023-04-04&type=Issues) | [@Tiksagol](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ATiksagol+updated%3A2023-03-24..2023-04-04&type=Issues) - -## 7.0.0a18 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a17...253efe279f8c8005f016f3dfe28c22233ee1d2dd)) - -### Enhancements made - -- Add back the `csvviewer-extension` [#6799](https://github.com/jupyter/notebook/pull/6799) ([@jtpio](https://github.com/jtpio)) -- Fix JSON setting editor not opening issue [#6795](https://github.com/jupyter/notebook/pull/6795) ([@yumyumqing](https://github.com/yumyumqing)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-03-20&to=2023-03-24&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-03-20..2023-03-24&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-03-20..2023-03-24&type=Issues) | [@yumyumqing](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayumyumqing+updated%3A2023-03-20..2023-03-24&type=Issues) - -## 7.0.0a17 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a16...7903de83e83a6ce342d71895dc1e8c2ec8128174)) - -### Highlights - -This major change in this release is the update to the latest JupyterLab `4.0.0a37`. - -Check out the [JupyterLab `4.0.0a37` release notes](https://github.com/jupyterlab/jupyterlab/releases/tag/v4.0.0a37) for more details. - -### Enhancements made - -- Update to JupyterLab 4.0.0a37 [#6777](https://github.com/jupyter/notebook/pull/6777) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Replace the use of `toArray` by `Array.from` [#6775](https://github.com/jupyter/notebook/pull/6775) (`@tarunsamanta2k20`) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-03-15&to=2023-03-20&type=c)) - -[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-03-15..2023-03-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-03-15..2023-03-20&type=Issues) | [@tarunsamanta2k20](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atarunsamanta2k20+updated%3A2023-03-15..2023-03-20&type=Issues) - -## 7.0.0a16 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a15...0faa88c8b65e0302f1904e4ca9cd2e551525f352)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a36 [#6773](https://github.com/jupyter/notebook/pull/6773) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Clean up interface switcher plugin in preparation for release [#6766](https://github.com/jupyter/notebook/pull/6766) ([@afshin](https://github.com/afshin)) -- Remove empty `py.test` file [#6764](https://github.com/jupyter/notebook/pull/6764) ([@frenzymadness](https://github.com/frenzymadness)) - -### Documentation improvements - -- Add documentation for contributing to the docs [#6771](https://github.com/jupyter/notebook/pull/6771) ([@jtpio](https://github.com/jtpio)) -- Convert docs to Markdown [#6770](https://github.com/jupyter/notebook/pull/6770) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-03-08&to=2023-03-15&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2023-03-08..2023-03-15&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2023-03-08..2023-03-15&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-03-08..2023-03-15&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-03-08..2023-03-15&type=Issues) - -## 7.0.0a15 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a14...1ccb8f15d6bf3557eed2405438a9df3c1d6cd040)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a35 [#6757](https://github.com/jupyter/notebook/pull/6757) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Bump vega from 5.22.1 to 5.23.0 in /ui-tests [#6756](https://github.com/jupyter/notebook/pull/6756) ([@dependabot](https://github.com/dependabot)) -- Bump vega-functions from 5.13.0 to 5.13.1 in /ui-tests [#6754](https://github.com/jupyter/notebook/pull/6754) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-03-01&to=2023-03-08&type=c)) - -[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2023-03-01..2023-03-08&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-03-01..2023-03-08&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-03-01..2023-03-08&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-03-01..2023-03-08&type=Issues) - -## 7.0.0a14 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a13...f9e427cf4e92dbaa5794fe0331ca92b41d45d52c)) - -### Enhancements made - -- Fix loading of plugins [#6750](https://github.com/jupyter/notebook/pull/6750) ([@jtpio](https://github.com/jtpio)) -- Add the extension manager [#6747](https://github.com/jupyter/notebook/pull/6747) ([@jtpio](https://github.com/jtpio)) -- File browser CSS tweaks [#6738](https://github.com/jupyter/notebook/pull/6738) ([@jtpio](https://github.com/jtpio)) -- Add trusted indicator [#6736](https://github.com/jupyter/notebook/pull/6736) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Clean up license [#6743](https://github.com/jupyter/notebook/pull/6743) ([@dcsaba89](https://github.com/dcsaba89)) -- Update to TypeScript 5 [#6735](https://github.com/jupyter/notebook/pull/6735) ([@jtpio](https://github.com/jtpio)) -- Enable `nx` [#6718](https://github.com/jupyter/notebook/pull/6718) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Corrected "Recomment" to "Recommend" [#6741](https://github.com/jupyter/notebook/pull/6741) ([@Tony-j77](https://github.com/Tony-j77)) -- Docs: add migrate to notebook7 page [#6737](https://github.com/jupyter/notebook/pull/6737) ([@echarles](https://github.com/echarles)) -- Add section about updating reference snapshots [#6733](https://github.com/jupyter/notebook/pull/6733) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-02-15&to=2023-03-01&type=c)) - -[@dcsaba89](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adcsaba89+updated%3A2023-02-15..2023-03-01&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2023-02-15..2023-03-01&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-02-15..2023-03-01&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-02-15..2023-03-01&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-02-15..2023-03-01&type=Issues) | [@Tony-j77](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ATony-j77+updated%3A2023-02-15..2023-03-01&type=Issues) - -## 7.0.0a13 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a12...ef67879306b27dfa78b8d639d9cc142b50f8c7ba)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a34 [#6732](https://github.com/jupyter/notebook/pull/6732) ([@jtpio](https://github.com/jtpio)) -- Hide the debugger button on mobile [#6731](https://github.com/jupyter/notebook/pull/6731) ([@jtpio](https://github.com/jtpio)) -- Adds translator to the NotebookShell [#6725](https://github.com/jupyter/notebook/pull/6725) ([@brichet](https://github.com/brichet)) -- Resolving some accessibility issues [#6719](https://github.com/jupyter/notebook/pull/6719) ([@brichet](https://github.com/brichet)) - -### Maintenance and upkeep improvements - -- Fix Playwright snapshot update workflow [#6724](https://github.com/jupyter/notebook/pull/6724) ([@jtpio](https://github.com/jtpio)) -- Add workflow to update snapshots [#6723](https://github.com/jupyter/notebook/pull/6723) ([@jtpio](https://github.com/jtpio)) -- Use Playwright `webServer` [#6720](https://github.com/jupyter/notebook/pull/6720) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-02-08&to=2023-02-15&type=c)) - -[@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-02-08..2023-02-15&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-02-08..2023-02-15&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-02-08..2023-02-15&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2023-02-08..2023-02-15&type=Issues) - -## 7.0.0a12 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a11...27c2bfbb80d42a3fd2541b13fae6143e2e91e4dd)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a33 [#6713](https://github.com/jupyter/notebook/pull/6713) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Add more lint checks [#6706](https://github.com/jupyter/notebook/pull/6706) ([@blink1073](https://github.com/blink1073)) -- Reintroduce desktop file [#6705](https://github.com/jupyter/notebook/pull/6705) ([@frenzymadness](https://github.com/frenzymadness)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-01-19&to=2023-02-08&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-01-19..2023-02-08&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2023-01-19..2023-02-08&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-01-19..2023-02-08&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-01-19..2023-02-08&type=Issues) - -## 7.0.0a11 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a10...6d4eeed9d176e2523be7874ae4d9f46a99422d72)) - -### Enhancements made - -- Tree view enhancement [#6588](https://github.com/jupyter/notebook/pull/6588) ([@brichet](https://github.com/brichet)) -- Add the Settings Editor to the landing page [#6316](https://github.com/jupyter/notebook/pull/6316) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix console error when adding a widget to a side panel [#6694](https://github.com/jupyter/notebook/pull/6694) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Help-extension split into multiple plugins [#6700](https://github.com/jupyter/notebook/pull/6700) ([@RRosio](https://github.com/RRosio)) -- Add releaser workflows [#6698](https://github.com/jupyter/notebook/pull/6698) ([@blink1073](https://github.com/blink1073)) -- Create `auto_author_assign.yml` workflow [#6696](https://github.com/jupyter/notebook/pull/6696) ([@jtpio](https://github.com/jtpio)) -- Add back `# type:ignore` [#6695](https://github.com/jupyter/notebook/pull/6695) ([@jtpio](https://github.com/jtpio)) -- Fix environment activation on Gitpod [#6693](https://github.com/jupyter/notebook/pull/6693) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2023-01-09&to=2023-01-19&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2023-01-09..2023-01-19&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2023-01-09..2023-01-19&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2023-01-09..2023-01-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2023-01-09..2023-01-19&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2023-01-09..2023-01-19&type=Issues) - -## 7.0.0a10 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a9...6205bf376f783b7202af71e1074f44086ee7056c)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a32 [#6678](https://github.com/jupyter/notebook/pull/6678) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Bump json5 from 2.2.1 to 2.2.3 in /ui-tests [#6684](https://github.com/jupyter/notebook/pull/6684) ([@dependabot](https://github.com/dependabot)) -- Bump json5 from 1.0.1 to 1.0.2 [#6681](https://github.com/jupyter/notebook/pull/6681) ([@dependabot](https://github.com/dependabot)) -- Update the copyright date to 2023 in the about dialog [#6679](https://github.com/jupyter/notebook/pull/6679) ([@jtpio](https://github.com/jtpio)) -- Fix `check_links` and `Test Lint` CI failures [#6675](https://github.com/jupyter/notebook/pull/6675) ([@jtpio](https://github.com/jtpio)) -- Add spelling and docstring enforcement [#6669](https://github.com/jupyter/notebook/pull/6669) ([@blink1073](https://github.com/blink1073)) -- CI Cleanup [#6667](https://github.com/jupyter/notebook/pull/6667) ([@blink1073](https://github.com/blink1073)) -- Adopt ruff and typing [#6658](https://github.com/jupyter/notebook/pull/6658) ([@blink1073](https://github.com/blink1073)) -- Bump decode-uri-component from 0.2.0 to 0.2.2 [#6651](https://github.com/jupyter/notebook/pull/6651) ([@dependabot](https://github.com/dependabot)) -- Bump dessant/lock-threads from 3 to 4 [#6650](https://github.com/jupyter/notebook/pull/6650) ([@dependabot](https://github.com/dependabot)) -- Update to TypeScript 4.9 [#6640](https://github.com/jupyter/notebook/pull/6640) ([@jtpio](https://github.com/jtpio)) -- Add more Python tests [#6639](https://github.com/jupyter/notebook/pull/6639) ([@blink1073](https://github.com/blink1073)) -- use main branch for config [#6638](https://github.com/jupyter/notebook/pull/6638) ([@blink1073](https://github.com/blink1073)) -- Clean up workflows [#6635](https://github.com/jupyter/notebook/pull/6635) ([@blink1073](https://github.com/blink1073)) -- CI Cleanup [#6631](https://github.com/jupyter/notebook/pull/6631) ([@blink1073](https://github.com/blink1073)) -- Fix issue template formatting [#6626](https://github.com/jupyter/notebook/pull/6626) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Remove PDF link to Jupyter Notebook docs [#6648](https://github.com/jupyter/notebook/pull/6648) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-11-21&to=2023-01-09&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-11-21..2023-01-09&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-11-21..2023-01-09&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-11-21..2023-01-09&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-11-21..2023-01-09&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-11-21..2023-01-09&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2022-11-21..2023-01-09&type=Issues) | [@yacchin1205](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayacchin1205+updated%3A2022-11-21..2023-01-09&type=Issues) - -## 7.0.0a9 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a8...b4006ce47bf37b31a7049a77971d7e5db1070660)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a31 [#6627](https://github.com/jupyter/notebook/pull/6627) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Explicitly specify favicon for /tree view in Notebook [#6608](https://github.com/jupyter/notebook/pull/6608) ([@mcrutch](https://github.com/mcrutch)) - -### Maintenance and upkeep improvements - -- Add run-p (npm-run-all) to dev dependencies [#6629](https://github.com/jupyter/notebook/pull/6629) ([@gabalafou](https://github.com/gabalafou)) -- Moves panel related objects to a dedicated module file [#6625](https://github.com/jupyter/notebook/pull/6625) ([@brichet](https://github.com/brichet)) -- Use pathlib instead of os.path.join in `tests/conftest.py` [#6624](https://github.com/jupyter/notebook/pull/6624) ([@kianelbo](https://github.com/kianelbo)) -- Bump loader-utils from 1.4.1 to 1.4.2 [#6623](https://github.com/jupyter/notebook/pull/6623) ([@dependabot](https://github.com/dependabot)) -- Bump to Python 3.11 on CI [#6600](https://github.com/jupyter/notebook/pull/6600) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-11-11&to=2022-11-21&type=c)) - -[@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2022-11-11..2022-11-21&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-11-11..2022-11-21&type=Issues) | [@fcollonval](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afcollonval+updated%3A2022-11-11..2022-11-21&type=Issues) | [@gabalafou](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agabalafou+updated%3A2022-11-11..2022-11-21&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-11-11..2022-11-21&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-11-11..2022-11-21&type=Issues) | [@kianelbo](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akianelbo+updated%3A2022-11-11..2022-11-21&type=Issues) | [@mcrutch](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amcrutch+updated%3A2022-11-11..2022-11-21&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-11-11..2022-11-21&type=Issues) - -## 7.0.0a8 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a7...9141f3eabb6a10a5bf742b26713405f9768cb6d2)) - -### Enhancements made - -- Restyle about dialog [#6592](https://github.com/jupyter/notebook/pull/6592) ([@kostyafarber](https://github.com/kostyafarber)) - -### Bugs fixed - -- Fix async contents handling and add test [#6616](https://github.com/jupyter/notebook/pull/6616) ([@blink1073](https://github.com/blink1073)) -- Fix PDF renderer [#6584](https://github.com/jupyter/notebook/pull/6584) ([@brichet](https://github.com/brichet)) -- Fix HTML viewer [#6583](https://github.com/jupyter/notebook/pull/6583) ([@brichet](https://github.com/brichet)) - -### Maintenance and upkeep improvements - -- Bump loader-utils from 1.4.0 to 1.4.1 [#6615](https://github.com/jupyter/notebook/pull/6615) ([@dependabot](https://github.com/dependabot)) -- Bump dessant/lock-threads from 2 to 3 [#6587](https://github.com/jupyter/notebook/pull/6587) ([@dependabot](https://github.com/dependabot)) -- Add dependabot config to update GitHub Actions [#6586](https://github.com/jupyter/notebook/pull/6586) ([@jtpio](https://github.com/jtpio)) -- Update `actions/checkout` and `actions/download-artifact` [#6585](https://github.com/jupyter/notebook/pull/6585) ([@jtpio](https://github.com/jtpio)) -- Maintenance cleanup [#6581](https://github.com/jupyter/notebook/pull/6581) ([@blink1073](https://github.com/blink1073)) -- Update to lerna 6 [#6579](https://github.com/jupyter/notebook/pull/6579) ([@jtpio](https://github.com/jtpio)) -- Remove the `nbclassic` explicit uninstall on Binder [#6548](https://github.com/jupyter/notebook/pull/6548) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-10-13&to=2022-11-11&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-10-13..2022-11-11&type=Issues) | [@bnavigator](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abnavigator+updated%3A2022-10-13..2022-11-11&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2022-10-13..2022-11-11&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-10-13..2022-11-11&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2022-10-13..2022-11-11&type=Issues) | [@fcollonval](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afcollonval+updated%3A2022-10-13..2022-11-11&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-10-13..2022-11-11&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-10-13..2022-11-11&type=Issues) | [@kostyafarber](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akostyafarber+updated%3A2022-10-13..2022-11-11&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-10-13..2022-11-11&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2022-10-13..2022-11-11&type=Issues) | [@venkatasg](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Avenkatasg+updated%3A2022-10-13..2022-11-11&type=Issues) - -## 7.0.0a7 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a6...caa0a11e36901c08ae80100fe2bbc5161c47dfee)) - -### Enhancements made - -- Fixed user menu alignment [#6565](https://github.com/jupyter/notebook/pull/6565) ([@Mieju](https://github.com/Mieju)) -- Support for Left and Right panels [#6487](https://github.com/jupyter/notebook/pull/6487) ([@brichet](https://github.com/brichet)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.0.0a30 [#6566](https://github.com/jupyter/notebook/pull/6566) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- Fix typo in CHANGELOG.md [#6561](https://github.com/jupyter/notebook/pull/6561) ([@eltociear](https://github.com/eltociear)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-10-03&to=2022-10-13&type=c)) - -[@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2022-10-03..2022-10-13&type=Issues) | [@eltociear](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aeltociear+updated%3A2022-10-03..2022-10-13&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-10-03..2022-10-13&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-10-03..2022-10-13&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2022-10-03..2022-10-13&type=Issues) | [@Mieju](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AMieju+updated%3A2022-10-03..2022-10-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-10-03..2022-10-13&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2022-10-03..2022-10-13&type=Issues) - -## 7.0.0a6 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a5...acbec17feca2ae8a0f56c5ec04ba2475a42619ee)) - -### Enhancements made - -- Add token on tree widget [#6496](https://github.com/jupyter/notebook/pull/6496) ([@brichet](https://github.com/brichet)) -- Updates README to document maintained versions [#6480](https://github.com/jupyter/notebook/pull/6480) ([@JasonWeill](https://github.com/JasonWeill)) -- Change the tab renderer to allow adding closable tab [#6477](https://github.com/jupyter/notebook/pull/6477) ([@brichet](https://github.com/brichet)) - -### Bugs fixed - -- Fix: No mouse pointer when hovering on the Jupyter icon [#6550](https://github.com/jupyter/notebook/pull/6550) ([@hawkeyes21](https://github.com/hawkeyes21)) - -### Maintenance and upkeep improvements - -- Switch to hatch for python version [#6544](https://github.com/jupyter/notebook/pull/6544) ([@blink1073](https://github.com/blink1073)) -- Update to Lumino 2 and JupyterLab 4.0.0a29 [#6539](https://github.com/jupyter/notebook/pull/6539) ([@afshin](https://github.com/afshin)) -- Update lerna version [#6535](https://github.com/jupyter/notebook/pull/6535) ([@blink1073](https://github.com/blink1073)) -- Add task to auto activate the dev environment on Gitpod [#6527](https://github.com/jupyter/notebook/pull/6527) ([@jtpio](https://github.com/jtpio)) -- Troubleshoot failing `macos` check on CI [#6523](https://github.com/jupyter/notebook/pull/6523) ([@jtpio](https://github.com/jtpio)) -- Update reference snapshots [#6520](https://github.com/jupyter/notebook/pull/6520) ([@jtpio](https://github.com/jtpio)) -- Add Gitpod files [#6518](https://github.com/jupyter/notebook/pull/6518) ([@jtpio](https://github.com/jtpio)) -- Adding jupyterlab-probot yml file for labeling new issues [#6506](https://github.com/jupyter/notebook/pull/6506) ([@RRosio](https://github.com/RRosio)) -- Uninstall `nbclassic` on Binder so Notebook v7 can load [#6505](https://github.com/jupyter/notebook/pull/6505) ([@jtpio](https://github.com/jtpio)) -- Pin `ypy-websocket` to `0.2` [#6499](https://github.com/jupyter/notebook/pull/6499) ([@jtpio](https://github.com/jtpio)) -- Bump moment from 2.29.3 to 2.29.4 [#6483](https://github.com/jupyter/notebook/pull/6483) ([@dependabot](https://github.com/dependabot)) -- Bump moment from 2.29.2 to 2.29.4 in /ui-tests [#6482](https://github.com/jupyter/notebook/pull/6482) ([@dependabot](https://github.com/dependabot)) -- Bump terser from 5.13.1 to 5.14.2 [#6481](https://github.com/jupyter/notebook/pull/6481) ([@dependabot](https://github.com/dependabot)) -- Bump parse-url from 6.0.0 to 6.0.2 [#6465](https://github.com/jupyter/notebook/pull/6465) ([@dependabot](https://github.com/dependabot)) -- Fix tests [#6464](https://github.com/jupyter/notebook/pull/6464) ([@jtpio](https://github.com/jtpio)) -- Bump jpeg-js from 0.4.3 to 0.4.4 in /ui-tests [#6455](https://github.com/jupyter/notebook/pull/6455) ([@dependabot](https://github.com/dependabot)) - -### Documentation improvements - -- Updates README to document maintained versions [#6480](https://github.com/jupyter/notebook/pull/6480) ([@JasonWeill](https://github.com/JasonWeill)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-06-14&to=2022-10-03&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2022-06-14..2022-10-03&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-06-14..2022-10-03&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abrichet+updated%3A2022-06-14..2022-10-03&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-06-14..2022-10-03&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2022-06-14..2022-10-03&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-06-14..2022-10-03&type=Issues) | [@hawkeyes21](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahawkeyes21+updated%3A2022-06-14..2022-10-03&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-06-14..2022-10-03&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2022-06-14..2022-10-03&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-06-14..2022-10-03&type=Issues) | [@RRosio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ARRosio+updated%3A2022-06-14..2022-10-03&type=Issues) - -## 7.0.0a5 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a4...614e4780b88f5cf5e2bfda39a55357a0be5ef161)) - -### Enhancements made - -- Add shadow to cells [#6433](https://github.com/jupyter/notebook/pull/6433) ([@trungleduc](https://github.com/trungleduc)) - -### Maintenance and upkeep improvements - -- Fix docs build [#6447](https://github.com/jupyter/notebook/pull/6447) ([@jtpio](https://github.com/jtpio)) -- \[pre-commit.ci\] pre-commit autoupdate [#6444](https://github.com/jupyter/notebook/pull/6444) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- \[pre-commit.ci\] pre-commit autoupdate [#6439](https://github.com/jupyter/notebook/pull/6439) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- \[pre-commit.ci\] pre-commit autoupdate [#6434](https://github.com/jupyter/notebook/pull/6434) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Use hatch backend [#6425](https://github.com/jupyter/notebook/pull/6425) ([@blink1073](https://github.com/blink1073)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-05-20&to=2022-06-14&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-05-20..2022-06-14&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-05-20..2022-06-14&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-05-20..2022-06-14&type=Issues) | [@ofek](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aofek+updated%3A2022-05-20..2022-06-14&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-05-20..2022-06-14&type=Issues) | [@trungleduc](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atrungleduc+updated%3A2022-05-20..2022-06-14&type=Issues) - -## 7.0.0a4 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a3...4bfaaac148a25ba76fcc7416e3a7b2c714b36fcd)) - -### Enhancements made - -- Update to JupyterLab 4.0.0a25 [#6429](https://github.com/jupyter/notebook/pull/6429) ([@jtpio](https://github.com/jtpio)) -- Add cell toolbar extension [#6418](https://github.com/jupyter/notebook/pull/6418) ([@jtpio](https://github.com/jtpio)) -- add the show header command to the command palette [#6415](https://github.com/jupyter/notebook/pull/6415) ([@jeewonkoo](https://github.com/jeewonkoo)) -- Remove the "Appearance" menu entry [#6412](https://github.com/jupyter/notebook/pull/6412) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- \[pre-commit.ci\] pre-commit autoupdate [#6426](https://github.com/jupyter/notebook/pull/6426) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Allow bot PRs to be automatically labeled [#6414](https://github.com/jupyter/notebook/pull/6414) ([@blink1073](https://github.com/blink1073)) -- Add Visual Regression Test for the export submenu [#6383](https://github.com/jupyter/notebook/pull/6383) ([@jtpio](https://github.com/jtpio)) -- Fix ESLint config for tests [#6382](https://github.com/jupyter/notebook/pull/6382) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-04-27&to=2022-05-20&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-04-27..2022-05-20&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-04-27..2022-05-20&type=Issues) | [@jeewonkoo](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajeewonkoo+updated%3A2022-04-27..2022-05-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-04-27..2022-05-20&type=Issues) | [@ofek](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aofek+updated%3A2022-04-27..2022-05-20&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-04-27..2022-05-20&type=Issues) - -## 7.0.0a3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a2...4076882c0e08875dd719945835f8cbe5b10eac9e)) - -### Enhancements made - -- Show file checkboxes by default in the file browser [#6377](https://github.com/jupyter/notebook/pull/6377) ([@jtpio](https://github.com/jtpio)) -- Remove blank space at the bottom of the notebook [#6376](https://github.com/jupyter/notebook/pull/6376) ([@jtpio](https://github.com/jtpio)) -- Add a label to the upload button [#6374](https://github.com/jupyter/notebook/pull/6374) ([@jtpio](https://github.com/jtpio)) -- Update to JupyterLab 4.0.0a24 [#6371](https://github.com/jupyter/notebook/pull/6371) ([@jtpio](https://github.com/jtpio)) -- Initialize handler page_config from Server traitlets [#6366](https://github.com/jupyter/notebook/pull/6366) ([@bollwyvl](https://github.com/bollwyvl)) -- Add project URLs to setup.cfg [#6346](https://github.com/jupyter/notebook/pull/6346) ([@tlinhart](https://github.com/tlinhart)) -- Update to JupyterLab 4.0.0a23 [#6336](https://github.com/jupyter/notebook/pull/6336) ([@jtpio](https://github.com/jtpio)) - -### Bugs fixed - -- Fix opening JupyterLab from Notebook [#6379](https://github.com/jupyter/notebook/pull/6379) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Add UI tests for a simple notebook [#6380](https://github.com/jupyter/notebook/pull/6380) ([@jtpio](https://github.com/jtpio)) -- Bump async from 2.6.3 to 2.6.4 in /ui-tests [#6370](https://github.com/jupyter/notebook/pull/6370) ([@dependabot](https://github.com/dependabot)) -- Fix build workflow on CI [#6369](https://github.com/jupyter/notebook/pull/6369) ([@jtpio](https://github.com/jtpio)) -- \[pre-commit.ci\] pre-commit autoupdate [#6365](https://github.com/jupyter/notebook/pull/6365) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- \[pre-commit.ci\] pre-commit autoupdate [#6355](https://github.com/jupyter/notebook/pull/6355) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Bump moment from 2.29.1 to 2.29.2 [#6352](https://github.com/jupyter/notebook/pull/6352) ([@dependabot](https://github.com/dependabot)) -- Bump moment from 2.29.1 to 2.29.2 in /ui-tests [#6351](https://github.com/jupyter/notebook/pull/6351) ([@dependabot](https://github.com/dependabot)) -- Clean up pre-commit [#6349](https://github.com/jupyter/notebook/pull/6349) ([@blink1073](https://github.com/blink1073)) -- Update to TypeScript 4.6 [#6345](https://github.com/jupyter/notebook/pull/6345) ([@jtpio](https://github.com/jtpio)) -- \[pre-commit.ci\] pre-commit autoupdate [#6343](https://github.com/jupyter/notebook/pull/6343) ([@pre-commit-ci](https://github.com/pre-commit-ci)) -- Add pytest and handle warnings [#6338](https://github.com/jupyter/notebook/pull/6338) ([@blink1073](https://github.com/blink1073)) -- Add flake8 and git-blame-ignore-revs [#6337](https://github.com/jupyter/notebook/pull/6337) ([@blink1073](https://github.com/blink1073)) -- Run Autoformatters [#6335](https://github.com/jupyter/notebook/pull/6335) ([@blink1073](https://github.com/blink1073)) -- Bump minimist from 1.2.5 to 1.2.6 [#6334](https://github.com/jupyter/notebook/pull/6334) ([@dependabot](https://github.com/dependabot)) -- Bump minimist from 1.2.5 to 1.2.6 in /ui-tests [#6333](https://github.com/jupyter/notebook/pull/6333) ([@dependabot](https://github.com/dependabot)) -- Bump ansi-regex from 3.0.0 to 3.0.1 in /ui-tests [#6332](https://github.com/jupyter/notebook/pull/6332) ([@dependabot](https://github.com/dependabot)) -- Adopt pre-commit [#6331](https://github.com/jupyter/notebook/pull/6331) ([@blink1073](https://github.com/blink1073)) - -### Documentation improvements - -- Link to v6 plan in the README [#6375](https://github.com/jupyter/notebook/pull/6375) ([@echarles](https://github.com/echarles)) -- Copy edits in config, edits bug report template [#6364](https://github.com/jupyter/notebook/pull/6364) ([@JasonWeill](https://github.com/JasonWeill)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-03-21&to=2022-04-27&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-03-21..2022-04-27&type=Issues) | [@bollwyvl](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abollwyvl+updated%3A2022-03-21..2022-04-27&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-03-21..2022-04-27&type=Issues) | [@echarles](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aecharles+updated%3A2022-03-21..2022-04-27&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-03-21..2022-04-27&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-03-21..2022-04-27&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2022-03-21..2022-04-27&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apre-commit-ci+updated%3A2022-03-21..2022-04-27&type=Issues) | [@tlinhart](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atlinhart+updated%3A2022-03-21..2022-04-27&type=Issues) - -## 7.0.0a2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v7.0.0a1...9be03f5f27232d50b16dbbaa50a222260166694c)) - -### Enhancements made - -- Add support for opening a document with a different factory [#6315](https://github.com/jupyter/notebook/pull/6315) ([@jtpio](https://github.com/jtpio)) -- Minor copy edit in README [#6313](https://github.com/jupyter/notebook/pull/6313) ([@JasonWeill](https://github.com/JasonWeill)) - -### Bugs fixed - -- Fix rendering of markdown [#6318](https://github.com/jupyter/notebook/pull/6318) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Update to JupyterLab 4.0.0a22 [#6314](https://github.com/jupyter/notebook/pull/6314) ([@jtpio](https://github.com/jtpio)) - -### Documentation improvements - -- docs: fix spelling [#6317](https://github.com/jupyter/notebook/pull/6317) ([@dijonkitchen](https://github.com/dijonkitchen)) -- Minor copy edit in README [#6313](https://github.com/jupyter/notebook/pull/6313) ([@JasonWeill](https://github.com/JasonWeill)) -- Update example notebook on Binder [#6306](https://github.com/jupyter/notebook/pull/6306) ([@jtpio](https://github.com/jtpio)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-03-09&to=2022-03-21&type=c)) - -[@dijonkitchen](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adijonkitchen+updated%3A2022-03-09..2022-03-21&type=Issues) | [@fcollonval](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afcollonval+updated%3A2022-03-09..2022-03-21&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-03-09..2022-03-21&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-03-09..2022-03-21&type=Issues) | [@JasonWeill](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJasonWeill+updated%3A2022-03-09..2022-03-21&type=Issues) - -## 7.0.0a1 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.8...22fe46f3e806aa346625f6ef2f2a024d030a068d)) - -### Enhancements made - -- Notebook v7 scaffolding [#6294](https://github.com/jupyter/notebook/pull/6294) ([@jtpio](https://github.com/jtpio)) - -### Maintenance and upkeep improvements - -- Clean up CI [#6304](https://github.com/jupyter/notebook/pull/6304) ([@blink1073](https://github.com/blink1073)) -- Remove the custom run keyboard shortcut [#6303](https://github.com/jupyter/notebook/pull/6303) ([@jtpio](https://github.com/jtpio)) -- Bump nanoid from 3.1.30 to 3.3.1 in /ui-tests [#6302](https://github.com/jupyter/notebook/pull/6302) ([@dependabot](https://github.com/dependabot)) -- Bump simple-get from 3.1.0 to 3.1.1 in /ui-tests [#6301](https://github.com/jupyter/notebook/pull/6301) ([@dependabot](https://github.com/dependabot)) -- Bump url-parse from 1.5.4 to 1.5.10 in /ui-tests [#6300](https://github.com/jupyter/notebook/pull/6300) ([@dependabot](https://github.com/dependabot)) -- Bump node-fetch from 2.6.6 to 2.6.7 in /ui-tests [#6299](https://github.com/jupyter/notebook/pull/6299) ([@dependabot](https://github.com/dependabot)) -- Bump follow-redirects from 1.14.5 to 1.14.9 in /ui-tests [#6298](https://github.com/jupyter/notebook/pull/6298) ([@dependabot](https://github.com/dependabot)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-01-25&to=2022-03-09&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2022-01-25..2022-03-09&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2022-01-25..2022-03-09&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2022-01-25..2022-03-09&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2022-01-25..2022-03-09&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2022-01-25..2022-03-09&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2022-01-25..2022-03-09&type=Issues) - -## 6.4.8 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.7...479902d83a691253e0cff8439a33577e82408317)) - -### Bugs fixed - -- Fix to remove potential memory leak on Jupyter Notebooks ZMQChannelHandler code [#6251](https://github.com/jupyter/notebook/pull/6251) ([@Vishwajeet0510](https://github.com/Vishwajeet0510)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2022-01-12&to=2022-01-25&type=c)) - -[@Vishwajeet0510](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AVishwajeet0510+updated%3A2022-01-12..2022-01-25&type=Issues) - -## 6.4.7 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.6...b77b5e38b8fa1a20150d7fa4d735dbf1c4f00418)) - -### Bugs fixed - -- Fix Chinese punctuation [#6268](https://github.com/jupyter/notebook/pull/6268) ([@LiHua-Official](https://github.com/LiHua-Official)) -- Add date field to kernel message header [#6265](https://github.com/jupyter/notebook/pull/6265) ([@kevin-bates](https://github.com/kevin-bates)) -- Fix deprecation warning [#6253](https://github.com/jupyter/notebook/pull/6253) ([@tornaria](https://github.com/tornaria)) - -### Maintenance and upkeep improvements - -- Enforce labels on PRs [#6235](https://github.com/jupyter/notebook/pull/6235) ([@blink1073](https://github.com/blink1073)) -- Fix: CI error for python 3.6 & macOS [#6215](https://github.com/jupyter/notebook/pull/6215) ([@penguinolog](https://github.com/penguinolog)) - -### Other merged PRs - -- handle KeyError when get session [#6245](https://github.com/jupyter/notebook/pull/6245) ([@ccw630](https://github.com/ccw630)) -- Updated doc for passwd [#6209](https://github.com/jupyter/notebook/pull/6209) ([@antoinecarme](https://github.com/antoinecarme)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-11-16&to=2022-01-12&type=c)) - -[@antoinecarme](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aantoinecarme+updated%3A2021-11-16..2022-01-12&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-11-16..2022-01-12&type=Issues) | [@ccw630](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Accw630+updated%3A2021-11-16..2022-01-12&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-11-16..2022-01-12&type=Issues) | [@LiHua-Official](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ALiHua-Official+updated%3A2021-11-16..2022-01-12&type=Issues) | [@penguinolog](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Apenguinolog+updated%3A2021-11-16..2022-01-12&type=Issues) | [@tornaria](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atornaria+updated%3A2021-11-16..2022-01-12&type=Issues) - -## 6.4.6 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.5...160c27d3c23dafe8b42240571db21b0d5cbae2fe)) - -### Bugs fixed - -- Fix `asyncio` error when opening notebooks [#6221](https://github.com/jupyter/notebook/pull/6221) ([@dleen](https://github.com/dleen)) -- Change to use a universal Chinese translation on certain words [#6218](https://github.com/jupyter/notebook/pull/6218) ([@jackexu](https://github.com/jackexu)) -- Fix Chinese translation typo [#6211](https://github.com/jupyter/notebook/pull/6211) ([@maliubiao](https://github.com/maliubiao) -- Fix `send2trash` tests failing on Windows [#6127](https://github.com/jupyter/notebook/pull/6127) ([@dolfinus](https://github.com/dolfinus)) - -### Maintenance and upkeep improvements - -- TST: don't look in user site for serverextensions [#6233](https://github.com/jupyter/notebook/pull/6233) ([@bnavigator](https://github.com/bnavigator)) -- Enable terminal tests as `pywinpty` is ported for python 3.9 [#6228](https://github.com/jupyter/notebook/pull/6228) (`@nsait-linaro`) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-10-19&to=2021-11-16&type=c)) - -[@bnavigator](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abnavigator+updated%3A2021-10-19..2021-11-16&type=Issues) | [@dleen](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adleen+updated%3A2021-10-19..2021-11-16&type=Issues) | [@dolfinus](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adolfinus+updated%3A2021-10-19..2021-11-16&type=Issues) | [@jackexu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajackexu+updated%3A2021-10-19..2021-11-16&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-10-19..2021-11-16&type=Issues) | [@maliubiao](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amaliubiao+updated%3A2021-10-19..2021-11-16&type=Issues) | `@nsait-linaro` | [@takluyver](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atakluyver+updated%3A2021-10-19..2021-11-16&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2021-10-19..2021-11-16&type=Issues) - -## 6.4.5 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.4...ccd9665571107e02a325a738b8baebd6532b2d3d)) - -### Bug fixes - -- Recover from failure to render mimetype [#6181](https://github.com/jupyter/notebook/pull/6181) ([@martinRenou](https://github.com/martinRenou)) - -### Maintenance and upkeep improvements - -- Fix crypto handling [#6197](https://github.com/jupyter/notebook/pull/6197) ([@blink1073](https://github.com/blink1073)) -- Fix `jupyter_client` warning [#6178](https://github.com/jupyter/notebook/pull/6178) ([@martinRenou](https://github.com/martinRenou)) - -### Documentation improvements - -- Fix nbsphinx settings [#6200](https://github.com/jupyter/notebook/pull/6200) ([@mgeier](https://github.com/mgeier)) -- Fully revert the pinning of `nbsphinx` to 0.8.6 [#6201](https://github.com/jupyter/notebook/pull/6201) ([@kevin-bates](https://github.com/kevin-bates)) -- Pin `nbsphinx` to 0.8.6, clean up orphaned resources [#6194](https://github.com/jupyter/notebook/pull/6194) ([@kevin-bates](https://github.com/kevin-bates)) -- Fix typo in docstring [#6188](https://github.com/jupyter/notebook/pull/6188) ([@jgarte](https://github.com/jgarte)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-09-03&to=2021-10-19&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-09-03..2021-10-19&type=Issues) | [@jgarte](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajgarte+updated%3A2021-09-03..2021-10-19&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-09-03..2021-10-19&type=Issues) | [@martinRenou](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AmartinRenou+updated%3A2021-09-03..2021-10-19&type=Issues) | [@mgeier](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amgeier+updated%3A2021-09-03..2021-10-19&type=Issues) - -## 6.4.4 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.3...c06c340574e1d2207940c5bd1190eb73d82ab945)) - -### Documentation improvements - -- Update Manual Release Instructions [#6152](https://github.com/jupyter/notebook/pull/6152) ([@blink1073](https://github.com/blink1073)) - -### Other merged PRs - -- Use default JupyterLab CSS sanitizer options for Markdown [#6160](https://github.com/jupyter/notebook/pull/6160) ([@krassowski](https://github.com/krassowski)) -- Fix syntax highlight [#6128](https://github.com/jupyter/notebook/pull/6128) ([@massongit](https://github.com/massongit)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-08-11&to=2021-09-03&type=c)) - -[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-08-11..2021-09-03&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-08-11..2021-09-03&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2021-08-11..2021-09-03&type=Issues) | [@massongit](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amassongit+updated%3A2021-08-11..2021-09-03&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2021-08-11..2021-09-03&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2021-08-11..2021-09-03&type=Issues) - -## 6.4.3 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.2...c373bd89adaaddffbb71747ebbcfe8a749cae0a8)) - -### Bugs fixed - -- Add @babel/core dependency [#6133](https://github.com/jupyter/notebook/pull/6133) ([@afshin](https://github.com/afshin)) -- Switch webpack to production mode [#6131](https://github.com/jupyter/notebook/pull/6131) ([@afshin](https://github.com/afshin)) - -### Maintenance and upkeep improvements - -- Clean up link checking [#6130](https://github.com/jupyter/notebook/pull/6130) ([@blink1073](https://github.com/blink1073)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-08-06&to=2021-08-10&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2021-08-06..2021-08-10&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-08-06..2021-08-10&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2021-08-06..2021-08-10&type=Issues) - -## 6.4.2 - -([Full Changelog](https://github.com/jupyter/notebook/compare/v6.4.0...999e8322bcd24e0ed62b180c19ec13db3f48165b)) - -### Bugs fixed - -- Add missing file to manifest [#6122](https://github.com/jupyter/notebook/pull/6122) ([@afshin](https://github.com/afshin)) -- Fix issue #3218 [#6108](https://github.com/jupyter/notebook/pull/6108) ([@Nazeeh21](https://github.com/Nazeeh21)) -- Fix version of jupyter-packaging in pyproject.toml [#6101](https://github.com/jupyter/notebook/pull/6101) ([@frenzymadness](https://github.com/frenzymadness)) -- "#element".tooltip is not a function on home page fixed. [#6070](https://github.com/jupyter/notebook/pull/6070) @ilayh123 - -### Maintenance and upkeep improvements - -- Enhancements to the desktop entry [#6099](https://github.com/jupyter/notebook/pull/6099) ([@Amr-Ibra](https://github.com/Amr-Ibra)) -- Add missing spaces to help messages in config file [#6085](https://github.com/jupyter/notebook/pull/6085) ([@saiwing-yeung](https://github.com/saiwing-yeung)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-05-17&to=2021-08-06&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2021-05-17..2021-08-06&type=Issues) | [@Amr-Ibra](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AAmr-Ibra+updated%3A2021-05-17..2021-08-06&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2021-05-17..2021-08-06&type=Issues) | [@ilayh123](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ailayh123+updated%3A2021-05-17..2021-08-06&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-05-17..2021-08-06&type=Issues) | [@Nazeeh21](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ANazeeh21+updated%3A2021-05-17..2021-08-06&type=Issues) | [@saiwing-yeung](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Asaiwing-yeung+updated%3A2021-05-17..2021-08-06&type=Issues) - -## 6.4.0 - -([Full Changelog](https://github.com/jupyter/notebook/compare/6.3.0...80eb286f316838afc76a9a84b06f54e7dccb6c86)) - -### Bugs fixed - -- Fix Handling of Encoded Paths in Save As Dialog [#6030](https://github.com/jupyter/notebook/pull/6030) ([@afshin](https://github.com/afshin)) -- Fix: split_cell doesn't always split cell [#6017](https://github.com/jupyter/notebook/pull/6017) ([@gamestrRUS](https://github.com/gamestrRUS)) -- Correct 'Content-Type' headers [#6026](https://github.com/jupyter/notebook/pull/6026) ([@faucct](https://github.com/faucct)) -- Fix skipped tests & remove deprecation warnings [#6018](https://github.com/jupyter/notebook/pull/6018) ([@befeleme](https://github.com/befeleme)) -- \[Gateway\] Track only this server's kernels [#5980](https://github.com/jupyter/notebook/pull/5980) ([@kevin-bates](https://github.com/kevin-bates)) -- Bind the HTTPServer in start [#6061](https://github.com/jupyter/notebook/pull/6061) - -### Maintenance and upkeep improvements - -- Revert "do not apply asyncio patch for tornado >=6.1" [#6052](https://github.com/jupyter/notebook/pull/6052) ([@minrk](https://github.com/minrk)) -- Use Jupyter Releaser [#6048](https://github.com/jupyter/notebook/pull/6048) ([@afshin](https://github.com/afshin)) -- Add Workflow Permissions for Lock Bot [#6042](https://github.com/jupyter/notebook/pull/6042) ([@jtpio](https://github.com/jtpio)) -- Fixes related to the recent changes in the documentation [#6021](https://github.com/jupyter/notebook/pull/6021) ([@frenzymadness](https://github.com/frenzymadness)) -- Add maths checks in CSS reference test [#6035](https://github.com/jupyter/notebook/pull/6035) ([@stef4k](https://github.com/stef4k)) -- Add Issue Lock and Answered Bots [#6019](https://github.com/jupyter/notebook/pull/6019) ([@afshin](https://github.com/afshin)) - -### Documentation improvements - -- Spelling correction [#6045](https://github.com/jupyter/notebook/pull/6045) ([@wggillen](https://github.com/wggillen)) -- Minor typographical and comment changes [#6025](https://github.com/jupyter/notebook/pull/6025) ([@misterhay](https://github.com/misterhay)) -- Fixes related to the recent changes in the documentation [#6021](https://github.com/jupyter/notebook/pull/6021) ([@frenzymadness](https://github.com/frenzymadness)) -- Fix readthedocs environment [#6020](https://github.com/jupyter/notebook/pull/6020) ([@blink1073](https://github.com/blink1073)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-03-22&to=2021-05-12&type=c)) - -[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2021-03-22..2021-05-12&type=Issues) | [@befeleme](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abefeleme+updated%3A2021-03-22..2021-05-12&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-03-22..2021-05-12&type=Issues) | [@faucct](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afaucct+updated%3A2021-03-22..2021-05-12&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2021-03-22..2021-05-12&type=Issues) | [@gamestrRUS](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AgamestrRUS+updated%3A2021-03-22..2021-05-12&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2021-03-22..2021-05-12&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-03-22..2021-05-12&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2021-03-22..2021-05-12&type=Issues) | [@misterhay](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amisterhay+updated%3A2021-03-22..2021-05-12&type=Issues) | [@stef4k](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Astef4k+updated%3A2021-03-22..2021-05-12&type=Issues) | [@wggillen](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Awggillen+updated%3A2021-03-22..2021-05-12&type=Issues) - -## 6.3.0 - -### Merged PRs - -- Add square logo and desktop entry files [#6010](https://github.com/jupyter/notebook/pull/6010) ([@befeleme](https://github.com/befeleme)) -- Modernize Changelog [#6008](https://github.com/jupyter/notebook/pull/6008) ([@afshin](https://github.com/afshin)) -- Add missing "import inspect" [#5999](https://github.com/jupyter/notebook/pull/5999) ([@mgeier](https://github.com/mgeier)) -- Add Codecov badge to README [#5989](https://github.com/jupyter/notebook/pull/5989) ([@thomasrockhu](https://github.com/thomasrockhu)) -- Remove configuration for nosetests from setup.cfg [#5986](https://github.com/jupyter/notebook/pull/5986) ([@frenzymadness](https://github.com/frenzymadness)) -- Update security.rst [#5978](https://github.com/jupyter/notebook/pull/5978) ([@dlrice](https://github.com/dlrice)) -- Docs-Translations: Updated Hindi and Chinese Readme.md [#5976](https://github.com/jupyter/notebook/pull/5976) ([@rjn01](https://github.com/rjn01)) -- Allow /metrics by default if auth is off [#5974](https://github.com/jupyter/notebook/pull/5974) ([@blairdrummond](https://github.com/blairdrummond)) -- Skip terminal tests on Windows 3.9+ (temporary) [#5968](https://github.com/jupyter/notebook/pull/5968) ([@kevin-bates](https://github.com/kevin-bates)) -- Update GatewayKernelManager to derive from AsyncMappingKernelManager [#5966](https://github.com/jupyter/notebook/pull/5966) ([@kevin-bates](https://github.com/kevin-bates)) -- Drop use of deprecated pyzmq.ioloop [#5965](https://github.com/jupyter/notebook/pull/5965) ([@kevin-bates](https://github.com/kevin-bates)) -- Drop support for Python 3.5 [#5962](https://github.com/jupyter/notebook/pull/5962) ([@kevin-bates](https://github.com/kevin-bates)) -- Allow jupyter_server-based contents managers in notebook [#5957](https://github.com/jupyter/notebook/pull/5957) ([@afshin](https://github.com/afshin)) -- Russian translation fixes [#5954](https://github.com/jupyter/notebook/pull/5954) ([@insolor](https://github.com/insolor)) -- Increase culling test idle timeout [#5952](https://github.com/jupyter/notebook/pull/5952) ([@kevin-bates](https://github.com/kevin-bates)) -- Re-enable support for answer_yes flag [#5941](https://github.com/jupyter/notebook/pull/5941) ([@afshin](https://github.com/afshin)) -- Replace Travis and Appveyor with Github Actions [#5938](https://github.com/jupyter/notebook/pull/5938) ([@kevin-bates](https://github.com/kevin-bates)) -- DOC: Server extension, extra docs on configuration/authentication. [#5937](https://github.com/jupyter/notebook/pull/5937) ([@Carreau](https://github.com/Carreau)) - -### Contributors to this release - -([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2021-01-13&to=2021-03-18&type=c)) - -[@abielhammonds](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aabielhammonds+updated%3A2021-01-13..2021-03-18&type=Issues) | [@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2021-01-13..2021-03-18&type=Issues) | [@ajharry](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aajharry+updated%3A2021-01-13..2021-03-18&type=Issues) | [@Alokrar](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AAlokrar+updated%3A2021-01-13..2021-03-18&type=Issues) | [@befeleme](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abefeleme+updated%3A2021-01-13..2021-03-18&type=Issues) | [@blairdrummond](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablairdrummond+updated%3A2021-01-13..2021-03-18&type=Issues) | [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ablink1073+updated%3A2021-01-13..2021-03-18&type=Issues) | [@bollwyvl](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Abollwyvl+updated%3A2021-01-13..2021-03-18&type=Issues) | [@Carreau](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ACarreau+updated%3A2021-01-13..2021-03-18&type=Issues) | [@ChenChenDS](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AChenChenDS+updated%3A2021-01-13..2021-03-18&type=Issues) | [@cosmoscalibur](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Acosmoscalibur+updated%3A2021-01-13..2021-03-18&type=Issues) | [@dlrice](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adlrice+updated%3A2021-01-13..2021-03-18&type=Issues) | [@dwanneruchi](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adwanneruchi+updated%3A2021-01-13..2021-03-18&type=Issues) | [@ElisonSherton](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AElisonSherton+updated%3A2021-01-13..2021-03-18&type=Issues) | [@FazeelUsmani](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AFazeelUsmani+updated%3A2021-01-13..2021-03-18&type=Issues) | [@frenzymadness](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Afrenzymadness+updated%3A2021-01-13..2021-03-18&type=Issues) | [@goerz](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agoerz+updated%3A2021-01-13..2021-03-18&type=Issues) | [@insolor](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ainsolor+updated%3A2021-01-13..2021-03-18&type=Issues) | [@jasongrout](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajasongrout+updated%3A2021-01-13..2021-03-18&type=Issues) | [@JianghuiDu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJianghuiDu+updated%3A2021-01-13..2021-03-18&type=Issues) | [@JuzerShakir](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AJuzerShakir+updated%3A2021-01-13..2021-03-18&type=Issues) | [@kevin-bates](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akevin-bates+updated%3A2021-01-13..2021-03-18&type=Issues) | [@Khalilsqu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AKhalilsqu+updated%3A2021-01-13..2021-03-18&type=Issues) | [@meeseeksdev](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ameeseeksdev+updated%3A2021-01-13..2021-03-18&type=Issues) | [@mgeier](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amgeier+updated%3A2021-01-13..2021-03-18&type=Issues) | [@michaelpedota](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amichaelpedota+updated%3A2021-01-13..2021-03-18&type=Issues) | [@mjbright](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Amjbright+updated%3A2021-01-13..2021-03-18&type=Issues) | [@MSeal](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AMSeal+updated%3A2021-01-13..2021-03-18&type=Issues) | [@ncoughlin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ancoughlin+updated%3A2021-01-13..2021-03-18&type=Issues) | [@NTimmons](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3ANTimmons+updated%3A2021-01-13..2021-03-18&type=Issues) | [@ProsperousHeart](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AProsperousHeart+updated%3A2021-01-13..2021-03-18&type=Issues) | [@rjn01](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Arjn01+updated%3A2021-01-13..2021-03-18&type=Issues) | [@slw07g](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aslw07g+updated%3A2021-01-13..2021-03-18&type=Issues) | [@stenivan](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Astenivan+updated%3A2021-01-13..2021-03-18&type=Issues) | [@takluyver](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Atakluyver+updated%3A2021-01-13..2021-03-18&type=Issues) | [@thomasrockhu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Athomasrockhu+updated%3A2021-01-13..2021-03-18&type=Issues) | [@wgilpin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Awgilpin+updated%3A2021-01-13..2021-03-18&type=Issues) | [@wxtt522](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Awxtt522+updated%3A2021-01-13..2021-03-18&type=Issues) | [@yuvipanda](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ayuvipanda+updated%3A2021-01-13..2021-03-18&type=Issues) | [@Zsailer](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AZsailer+updated%3A2021-01-13..2021-03-18&type=Issues) - -## 6.2.0 - -## Merged PRs - -- Increase minimum tornado version ([5933](https://github.com/jupyter/notebook/pull/5933)) -- Adjust skip decorators to avoid remaining dependency on nose ([5932](https://github.com/jupyter/notebook/pull/5932)) -- Ensure that cell ids persist after save ([5928](https://github.com/jupyter/notebook/pull/5928)) -- Add reconnection to Gateway (form nb2kg) ([5924](https://github.com/jupyter/notebook/pull/5924)) -- Fix some typos ([5917](https://github.com/jupyter/notebook/pull/5917)) -- Handle TrashPermissionError, now that it exist ([5894](https://github.com/jupyter/notebook/pull/5894)) - -Thank you to all the contributors: - -- @kevin-bates -- @mishaschwartz -- @oyvsyo -- @user202729 -- @stefanor - -## 6.1.6 - -## Merged PRs - -- do not require nose for testing ([5826](https://github.com/jupyter/notebook/pull/5826)) -- \[docs\] Update Chinese and Hindi readme.md ([5823](https://github.com/jupyter/notebook/pull/5823)) -- Add support for creating terminals via GET ([5813](https://github.com/jupyter/notebook/pull/5813)) -- Made doc translations in Hindi and Chinese ([5787](https://github.com/jupyter/notebook/pull/5787)) - -Thank you to all the contributors: - -- @pgajdos -- @rjn01 -- @kevin-bates -- @virejdasani - -## 6.1.5 - -6.1.5 is a security release, fixing one vulnerability: - -- Fix open redirect vulnerability GHSA-c7vm-f5p4-8fqh (CVE to be assigned) - -## 6.1.4 - -- Fix broken links to jupyter documentation ([5686](https://github.com/jupyter/notebook/pull/5686)) -- Add additional entries to troubleshooting section ([5695](https://github.com/jupyter/notebook/pull/5695)) -- Revert change in page alignment ([5703](https://github.com/jupyter/notebook/pull/5703)) -- Bug fix: remove double encoding in download files ([5720](https://github.com/jupyter/notebook/pull/5720)) -- Fix typo for Check in zh_CN ([5730](https://github.com/jupyter/notebook/pull/5730)) -- Require a file name in the "Save As" dialog ([5733](https://github.com/jupyter/notebook/pull/5733)) - -Thank you to all the contributors: - -- bdbai -- Jaipreet Singh -- Kevin Bates -- Pavel Panchekha -- Zach Sailer - -## 6.1.3 - -- Title new buttons with label if action undefined ([5676](https://github.com/jupyter/notebook/pull/5676)) - -Thank you to all the contributors: - -- Kyle Kelley - -## 6.1.2 - -- Fix russian message format for delete/duplicate actions ([5662](https://github.com/jupyter/notebook/pull/5662)) -- Remove unnecessary import of bind_unix_socket ([5666](https://github.com/jupyter/notebook/pull/5666)) -- Tooltip style scope fix ([5672](https://github.com/jupyter/notebook/pull/5672)) - -Thank you to all the contributors: - -- Dmitry Akatov -- Kevin Bates -- Magda Stenius - -## 6.1.1 - -- Prevent inclusion of requests_unixsocket on Windows ([5650](https://github.com/jupyter/notebook/pull/5650)) - -Thank you to all the contributors: - -- Kevin Bates - -## 6.1.0 - -Please note that this repository is currently maintained by a skeleton -crew of maintainers from the Jupyter community. For our approach moving -forward, please see this -[notice](https://github.com/jupyter/notebook#notice) from the README. -Thank you. - -Here is an enumeration of changes made since the last release and -included in 6.1.0. - -- Remove deprecated encoding parameter for Python 3.9 compatibility. ([5174](https://github.com/jupyter/notebook/pull/5174)) -- Add support for async kernel management ([4479](https://github.com/jupyter/notebook/pull/4479)) -- Fix typo in password_required help message ([5320](https://github.com/jupyter/notebook/pull/5320)) -- Gateway only: Ensure launch and request timeouts are in sync ([5317](https://github.com/jupyter/notebook/pull/5317)) -- Update Markdown Cells example to HTML5 video tag ([5411](https://github.com/jupyter/notebook/pull/5411)) -- Integrated LoginWidget into edit to enable users to logout from the t... ([5406](https://github.com/jupyter/notebook/pull/5406)) -- Update message about minimum Tornado version ([5222](https://github.com/jupyter/notebook/pull/5222)) -- Logged notebook type ([5425](https://github.com/jupyter/notebook/pull/5425)) -- Added nl language ([5354](https://github.com/jupyter/notebook/pull/5354)) -- Add UNIX socket support to notebook server. ([4835](https://github.com/jupyter/notebook/pull/4835)) -- Update CodeMirror dependency ([5198](https://github.com/jupyter/notebook/pull/5198)) -- Tree added download multiple files ([5351](https://github.com/jupyter/notebook/pull/5351)) -- Toolbar buttons tooltip: show help instead of label ([5107](https://github.com/jupyter/notebook/pull/5107)) -- Remove unnecessary import of requests_unixsocket ([5451](https://github.com/jupyter/notebook/pull/5451)) -- Add ability to cull terminals and track last activity ([5372](https://github.com/jupyter/notebook/pull/5372)) -- Code refactoring notebook.js ([5352](https://github.com/jupyter/notebook/pull/5352)) -- Install terminado for docs build ([5462](https://github.com/jupyter/notebook/pull/5462)) -- Convert notifications JS test to selenium ([5455](https://github.com/jupyter/notebook/pull/5455)) -- Add cell attachments to markdown example ([5412](https://github.com/jupyter/notebook/pull/5412)) -- Add Japanese document ([5231](https://github.com/jupyter/notebook/pull/5231)) -- Migrate Move multiselection test to selenium ([5158](https://github.com/jupyter/notebook/pull/5158)) -- Use `cmdtrl-enter` to run a cell ([5120](https://github.com/jupyter/notebook/pull/5120)) -- Fix broken "Raw cell MIME type" dialog ([5385](https://github.com/jupyter/notebook/pull/5385)) -- Make a notebook writable after successful save-as ([5296](https://github.com/jupyter/notebook/pull/5296)) -- Add actual watch script ([4738](https://github.com/jupyter/notebook/pull/4738)) -- Added `--autoreload` flag to `NotebookApp` ([4795](https://github.com/jupyter/notebook/pull/4795)) -- Enable check_origin on gateway websocket communication ([5471](https://github.com/jupyter/notebook/pull/5471)) -- Restore detection of missing terminado package ([5465](https://github.com/jupyter/notebook/pull/5465)) -- Culling: ensure `last_activity` attr exists before use ([5355](https://github.com/jupyter/notebook/pull/5355)) -- Added functionality to allow filter kernels by Jupyter Enterprise Gat... ([5484](https://github.com/jupyter/notebook/pull/5484)) -- 'Play' icon for run-cell toolbar button ([2922](https://github.com/jupyter/notebook/pull/2922)) -- Bump minimum version of jQuery to 3.5.0 ([5491](https://github.com/jupyter/notebook/pull/5491)) -- Remove old JS markdown tests, add a new one in selenium ([5497](https://github.com/jupyter/notebook/pull/5497)) -- Add support for more RTL languages ([5036](https://github.com/jupyter/notebook/pull/5036)) -- Make markdown cells stay RTL in edit mode ([5037](https://github.com/jupyter/notebook/pull/5037)) -- Unforce RTL output display ([5039](https://github.com/jupyter/notebook/pull/5039)) -- Fixed multicursor backspacing ([4880](https://github.com/jupyter/notebook/pull/4880)) -- Implemented Split Cell for multicursor ([4824](https://github.com/jupyter/notebook/pull/4824)) -- Alignment issue \[FIXED\] ([3173](https://github.com/jupyter/notebook/pull/3173)) -- MathJax: Support for `\gdef` ([4407](https://github.com/jupyter/notebook/pull/4407)) -- Another (Minor) Duplicate Code Reduction ([5316](https://github.com/jupyter/notebook/pull/5316)) -- Update readme regarding maintenance ([5500](https://github.com/jupyter/notebook/pull/5500)) -- Document contents chunks ([5508](https://github.com/jupyter/notebook/pull/5508)) -- Backspace deletes empty line ([5516](https://github.com/jupyter/notebook/pull/5516)) -- The dropdown submenu at notebook page is not keyboard accessible ([4732](https://github.com/jupyter/notebook/pull/4732)) -- Tooltips visible through keyboard navigation for specified buttons ([4729](https://github.com/jupyter/notebook/pull/4729)) -- Fix for recursive symlink ([4670](https://github.com/jupyter/notebook/pull/4670)) -- Fix for the terminal shutdown issue ([4180](https://github.com/jupyter/notebook/pull/4180)) -- Add japanese translation files ([4490](https://github.com/jupyter/notebook/pull/4490)) -- Workaround for socket permission errors on Cygwin ([4584](https://github.com/jupyter/notebook/pull/4584)) -- Implement optional markdown header and footer files ([4043](https://github.com/jupyter/notebook/pull/4043)) -- Remove double link when using `custom_display_url` ([5544](https://github.com/jupyter/notebook/pull/5544)) -- Respect `cell.is_editable` during find-and-replace ([5545](https://github.com/jupyter/notebook/pull/5545)) -- Fix exception causes all over the codebase ([5556](https://github.com/jupyter/notebook/pull/5556) -- Improve login shell heuristics ([5588](https://github.com/jupyter/notebook/pull/5588)) -- Added support for `JUPYTER_TOKEN_FILE` ([5587](https://github.com/jupyter/notebook/pull/5587)) -- Kill notebook itself when server cull idle kernel ([5593](https://github.com/jupyter/notebook/pull/5593)) -- Implement password hashing with bcrypt ([3793](https://github.com/jupyter/notebook/pull/3793)) -- Fix broken links ([5600](https://github.com/jupyter/notebook/pull/5600)) -- Russian internationalization support ([5571](https://github.com/jupyter/notebook/pull/5571)) -- Add a metadata tag to override notebook direction (ltr/rtl) ([5052](https://github.com/jupyter/notebook/pull/5052)) -- Paste two images from clipboard in markdown cell ([5598](https://github.com/jupyter/notebook/pull/5598)) -- Add keyboard shortcuts to menu dropdowns ([5525](https://github.com/jupyter/notebook/pull/5525)) -- Update codemirror to `5.56.0+components1` ([5637](https://github.com/jupyter/notebook/pull/5637)) - -Thank you to all the contributors: - -- Aaron Myatt -- Adam Blake -- Afshin Taylor Darian -- Aman Bansal -- Ben Thayer -- berendjan -- Bruno P. Kinoshita -- bzinberg -- Christophe Cadilhac -- Daiki Katsuragawa -- David Lukes -- Dmitriy Q -- dmpe -- dylanzjy -- dSchurch -- E. M. Bray -- ErwinRussel -- Felix Mönckemeyer -- Grant Nestor -- Jarrad Whitaker -- Jesus Panales Castillo -- Joshua Zeltser -- Karthikeyan Singaravelan -- Kenichi Ito -- Kevin Bates -- Koki Nishihara -- Kris Wilson -- Kyle Kelley -- Laura Merlo -- levinxo -- Luciano Resende -- Luis Cabezon Manchado -- Madhusudhan Srinivasa -- Matthias Geier -- mattn -- Max Klein -- Min RK -- Mingxuan Lin -- Mohammad Mostafa Farzan -- Niko Felger -- Norah Abanumay -- Onno Broekmans -- PierreMB -- pinarkavak -- Ram Rachum -- Reece Hart -- Remi Rampin -- Rohit Sanjay -- Shane Canon -- Simon Li -- Steinar Sturlaugsson -- Steven Silvester -- taohan16 -- Thew Dhanat -- Thomas Kluyver -- Toon Baeyens -- Vidar Tonaas Fauske -- Zachary Sailer - -## 6.0.3 - -- Dependency updates to fix startup issues on Windows platform -- Add support for nbconvert 6.x -- Creation of recent tab - -Thanks for all the contributors: - -- Luciano Resende -- Kevin Bates -- ahangsleben -- Zachary Sailer -- Pallavi Bharadwaj -- Thomas Kluyver -- Min RK -- forest0 -- Bibo Hao -- Michal Charemza -- Sergey Shevelev -- Shuichiro MAKIGAKI -- krinsman -- TPartida -- Landen McDonald -- Tres DuBiel - -## 6.0.2 - -- Update JQuery dependency to version 3.4.1 to fix security vulnerability (CVE-2019-11358) -- Update CodeMirror to version 5.48.4 to fix Python formatting issues -- Continue removing obsolete Python 2.x code/dependencies -- Multiple documentation updates - -Thanks for all the contributors: - -- David Robles -- Jason Grout -- Kerwin Sun -- Kevin Bates -- Kyle Kelley -- Luciano Resende -- Marcus D Sherman -- Sasaki Takeru -- Tom Jarosz -- Vidar Tonaas Fauske -- Wes Turner -- Zachary Sailer - -## 6.0.1 - -- Attempt to re-establish websocket connection to Gateway ([4777](https://github.com/jupyter/notebook/pull/4777)) -- Add missing react-dom js to package data ([4772](https://github.com/jupyter/notebook/pull/4772)) - -Thanks for all the contributors: - -- Eunsoo Park -- Min RK - -## 6.0 - -This is the first major release of the Jupyter Notebook since version -5.0 (March 2017). - -We encourage users to start trying JupyterLab, which has just announced -it's 1.0 release in preparation for a future transition. - -- Remove Python 2.x support in favor of Python 3.5 and higher. -- Multiple accessibility enhancements and bug-fixes. -- Multiple translation enhancements and bug-fixes. -- Remove deprecated ANSI CSS styles. -- Native support to forward requests to Jupyter Gateway(s) (Embedded - NB2KG). -- Use JavaScript to redirect users to notebook homepage. -- Enhanced SSL/TLS security by using PROTOCOL_TLS which selects the - highest ssl/tls protocol version available that both the client and - server support. When PROTOCOL_TLS is not available use - PROTOCOL_SSLv23. -- Add `?no_track_activity=1` argument to allow API requests. to not be - registered as activity (e.g. API calls by external activity - monitors). -- Kernels shutting down due to an idle timeout is no longer considered - an activity-updating event. -- Further improve compatibility with tornado 6 with improved checks - for when websockets are closed. -- Launch the browser with a local file which redirects to the server - address including the authentication token. This prevents another - logged-in user from stealing the token from command line arguments - and authenticating to the server. The single-use token previously - used to mitigate this has been removed. Thanks to Dr. Owain Kenway - for suggesting the local file approach. -- Respect nbconvert entrypoints as sources for exporters -- Update to CodeMirror to 5.37, which includes f-string syntax for - Python 3.6. -- Update jquery-ui to 1.12 -- Execute cells by clicking icon in input prompt. -- New "Save as" menu option. -- When serving on a loopback interface, protect against DNS rebinding - by checking the `Host` header from the browser. This check can be - disabled if necessary by setting `NotebookApp.allow_remote_access`. (Disabled by default while we work out some Mac issues in - [3754](https://github.com/jupyter/notebook/issues/3754)). -- Add kernel_info_timeout traitlet to enable restarting slow kernels. -- Add `custom_display_host` config option to override displayed URL. -- Add /metrics endpoint for Prometheus Metrics. -- Optimize large file uploads. -- Allow access control headers to be overridden in - jupyter_notebook_config.py to support greater CORS and proxy - configuration flexibility. -- Add support for terminals on windows. -- Add a "restart and run all" button to the toolbar. -- Frontend/extension-config: allow default json files in a .d - directory. -- Allow setting token via jupyter_token env. -- Cull idle kernels using `--MappingKernelManager.cull_idle_timeout`. -- Allow read-only notebooks to be trusted. -- Convert JS tests to Selenium. - -Security Fixes included in previous minor releases of Jupyter Notebook -and also included in version 6.0. - -- Fix Open Redirect vulnerability (CVE-2019-10255) where certain - malicious URLs could redirect from the Jupyter login page to a - malicious site after a successful login. -- Contains a security fix for a cross-site inclusion (XSSI) - vulnerability (CVE-2019--9644), where files at a known URL could be - included in a page from an unauthorized website if the user is - logged into a Jupyter server. The fix involves setting the - `X-Content-Type-Options: nosniff` header, and applying CSRF checks - previously on all non-GET API requests to GET requests to API - endpoints and the /files/ endpoint. -- Check Host header to more securely protect localhost deployments - from DNS rebinding. This is a pre-emptive measure, not fixing a - known vulnerability. Use `.NotebookApp.allow_remote_access` and - `.NotebookApp.local_hostnames` to configure access. -- Upgrade bootstrap to 3.4, fixing an XSS vulnerability, which has - been assigned - [CVE-2018-14041](https://nvd.nist.gov/vuln/detail/CVE-2018-14041). -- Contains a security fix preventing malicious directory names from - being able to execute javascript. -- Contains a security fix preventing nbconvert endpoints from - executing javascript with access to the server API. CVE request - pending. - -Thanks for all the contributors: - -- AAYUSH SINHA -- Aaron Hall, MBA -- Abhinav Sagar -- Adam Rule -- Adeel Ahmad -- Alex Rothberg -- Amy Skerry-Ryan -- Anastasis Germanidis -- Andrés Sánchez -- Arjun Radhakrishna -- Arovit Narula -- Benda Xu -- Björn Grüning -- Brian E. Granger -- Carol Willing -- Celina Kilcrease -- Chris Holdgraf -- Chris Miller -- Ciaran Langton -- Damian Avila -- Dana Lee -- Daniel Farrell -- Daniel Nicolai -- Darío Hereñú -- Dave Aitken -- Dave Foster -- Dave Hirschfeld -- Denis Ledoux -- Dmitry Mikushin -- Dominic Kuang -- Douglas Hanley -- Elliott Sales de Andrade -- Emilio Talamante Lugo -- Eric Perry -- Ethan T. Hendrix -- Evan Van Dam -- Francesco Franchina -- Frédéric Chapoton -- Félix-Antoine Fortin -- Gabriel -- Gabriel Nützi -- Gabriel Ruiz -- Gestalt LUR -- Grant Nestor -- Gustavo Efeiche -- Harsh Vardhan -- Heng GAO -- Hisham Elsheshtawy -- Hong Xu -- Ian Rose -- Ivan Ogasawara -- J Forde -- Jason Grout -- Jessica B. Hamrick -- Jiaqi Liu -- John Emmons -- Josh Barnes -- Karthik Balakrishnan -- Kevin Bates -- Kirit Thadaka -- Kristian Gregorius Hustad -- Kyle Kelley -- Leo Gallucci -- Lilian Besson -- Lucas Seiki Oshiro -- Luciano Resende -- Luis Angel Rodriguez Guerrero -- M Pacer -- Maarten Breddels -- Mac Knight -- Madicken Munk -- Maitiú Ó Ciaráin -- Marc Udoff -- Mathis HAMMEL -- Mathis Rosenhauer -- Matthias Bussonnier -- Matthias Geier -- Max Vovshin -- Maxime Mouchet -- Michael Chirico -- Michael Droettboom -- Michael Heilman -- Michael Scott Cuthbert -- Michal Charemza -- Mike Boyle -- Milos Miljkovic -- Min RK -- Miro Hrončok -- Nicholas Bollweg -- Nitesh Sawant -- Ondrej Jariabka -- Park Hae Jin -- Paul Ivanov -- Paul Masson -- Peter Parente -- Pierre Tholoniat -- Remco Verhoef -- Roland Weber -- Roman Kornev -- Rosa Swaby -- Roy Hyunjin Han -- Sally -- Sam Lau -- Samar Sultan -- Shiti Saxena -- Simon Biggs -- Spencer Park -- Stephen Ward -- Steve (Gadget) Barnes -- Steven Silvester -- Surya Prakash Susarla -- Syed Shah -- Sylvain Corlay -- Thomas Aarholt -- Thomas Kluyver -- Tim -- Tim Head -- Tim Klever -- Tim Metzler -- Todd -- Tom Jorquera -- Tyler Makaro -- Vaibhav Sagar -- Victor -- Vidar Tonaas Fauske -- Vu Minh Tam -- Vít Tuček -- Will Costello -- Will Starms -- William Hosford -- Xiaohan Li -- Yuvi Panda -- ashley teoh -- nullptr - -## 5.7.8 - -- Fix regression in restarting kernels in 5.7.5. The restart handler - would return before restart was completed. -- Further improve compatibility with tornado 6 with improved checks - for when websockets are closed. -- Fix regression in 5.7.6 on Windows where .js files could have the - wrong mime-type. -- Fix Open Redirect vulnerability (CVE-2019-10255) where certain - malicious URLs could redirect from the Jupyter login page to a - malicious site after a successful login. 5.7.7 contained only a - partial fix for this issue. - -## 5.7.6 - -5.7.6 contains a security fix for a cross-site inclusion (XSSI) -vulnerability (CVE-2019--9644), where files at a known URL could be -included in a page from an unauthorized website if the user is logged -into a Jupyter server. The fix involves setting the -`X-Content-Type-Options: nosniff` header, and applying CSRF checks -previously on all non-GET API requests to GET requests to API endpoints -and the /files/ endpoint. - -The attacking page is able to access some contents of files when using -Internet Explorer through script errors, but this has not been -demonstrated with other browsers. - -## 5.7.5 - -- Fix compatibility with tornado 6 ([4392](https://github.com/jupyter/notebook/pull/4392), [4449](https://github.com/jupyter/notebook/pull/4449)). -- Fix opening integer filedescriptor during startup on Python 2 ([4349](https://github.com/jupyter/notebook/pull/4349)) -- Fix compatibility with asynchronous - \[KernelManager.restart_kernel\]{.title-ref} methods ([4412](https://github.com/jupyter/notebook/pull/4412)) - -## 5.7.4 - -5.7.4 fixes a bug introduced in 5.7.3, in which the -`list_running_servers()` function attempts to parse HTML files as JSON, -and consequently crashes ([4284](https://github.com/jupyter/notebook/pull/4284)). - -## 5.7.3 - -5.7.3 contains one security improvement and one security fix: - -- Launch the browser with a local file which redirects to the server - address including the authentication token ([4260](https://github.com/jupyter/notebook/pull/4260)). This prevents another logged-in user from stealing - the token from command line arguments and authenticating to the - server. The single-use token previously used to mitigate this has - been removed. Thanks to Dr. Owain Kenway for suggesting the local - file approach. -- Upgrade bootstrap to 3.4, fixing an XSS vulnerability, which has - been assigned - [CVE-2018-14041](https://nvd.nist.gov/vuln/detail/CVE-2018-14041) ([4271](https://github.com/jupyter/notebook/pull/4271)). - -## 5.7.2 - -5.7.2 contains a security fix preventing malicious directory names from -being able to execute javascript. CVE request pending. - -## 5.7.1 - -5.7.1 contains a security fix preventing nbconvert endpoints from -executing javascript with access to the server API. CVE request pending. - -## 5.7.0 - -New features: - -- Update to CodeMirror to 5.37, which includes f-string syntax for - Python 3.6 ([3816](https://github.com/jupyter/notebook/pull/3816)) -- Update jquery-ui to 1.12 ([3836](https://github.com/jupyter/notebook/pull/3836)) -- Check Host header to more securely protect localhost deployments - from DNS rebinding. This is a pre-emptive measure, not fixing a - known vulnerability ([3766](https://github.com/jupyter/notebook/pull/3766)). Use - `.NotebookApp.allow_remote_access` and - `.NotebookApp.local_hostnames` to configure access. -- Allow access-control-allow-headers to be overridden ([3886](https://github.com/jupyter/notebook/pull/3886)) -- Allow configuring max_body_size and max_buffer_size ([3829](https://github.com/jupyter/notebook/pull/3829)) -- Allow configuring get_secure_cookie keyword-args ([3778](https://github.com/jupyter/notebook/pull/3778)) -- Respect nbconvert entrypoints as sources for exporters ([3879](https://github.com/jupyter/notebook/pull/3879)) -- Include translation sources in source distributions ([3925](https://github.com/jupyter/notebook/pull/3925), [3931](https://github.com/jupyter/notebook/pull/3931)) -- Various improvements to documentation ([3799](https://github.com/jupyter/notebook/pull/3799), [3800](https://github.com/jupyter/notebook/pull/3800), - [3806](https://github.com/jupyter/notebook/pull/3806), [3883](https://github.com/jupyter/notebook/pull/3883), [3908](https://github.com/jupyter/notebook/pull/3908)) - -Fixing problems: - -- Fix breadcrumb link when running with a base url ([3905](https://github.com/jupyter/notebook/pull/3905)) -- Fix possible type error when closing activity stream ([3907](https://github.com/jupyter/notebook/pull/3907)) -- Disable metadata editing for non-editable cells ([3744](https://github.com/jupyter/notebook/pull/3744)) -- Fix some styling and alignment of prompts caused by regressions in - 5.6.0. -- Enter causing page reload in shortcuts editor ([3871](https://github.com/jupyter/notebook/pull/3871)) -- Fix uploading to the same file twice ([3712](https://github.com/jupyter/notebook/pull/3712)) - -See the 5.7 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.7) -involved in this release. - -Thanks to the following contributors: - -- Aaron Hall -- Benjamin Ragan-Kelley -- Bill Major -- bxy007 -- Dave Aitken -- Denis Ledoux -- Félix-Antoine Fortin -- Gabriel -- Grant Nestor -- Kevin Bates -- Kristian Gregorius Hustad -- M Pacer -- Madicken Munk -- Maitiu O Ciarain -- Matthias Bussonnier -- Michael Boyle -- Michael Chirico -- Mokkapati, Praneet(ES) -- Peter Parente -- Sally Wilsak -- Steven Silvester -- Thomas Kluyver -- Walter Martin - -## 5.6.0 - -New features: - -- Execute cells by clicking icon in input prompt ([3535](https://github.com/jupyter/notebook/pull/3535), [3687](https://github.com/jupyter/notebook/pull/3687)) -- New "Save as" menu option ([3289](https://github.com/jupyter/notebook/pull/3289)) -- When serving on a loopback interface, protect against DNS rebinding - by checking the `Host` header from the browser ([3714](https://github.com/jupyter/notebook/pull/3714)). This check can be - disabled if necessary by setting `NotebookApp.allow_remote_access`. (Disabled by default while we work out some Mac issues in - [3754](https://github.com/jupyter/notebook/issues/3754)). -- Add kernel_info_timeout traitlet to enable restarting slow kernels ([3665](https://github.com/jupyter/notebook/pull/3665)) -- Add `custom_display_host` config option to override displayed URL ([3668](https://github.com/jupyter/notebook/pull/3668)) -- Add /metrics endpoint for Prometheus Metrics ([3490](https://github.com/jupyter/notebook/pull/3490)) -- Update to MathJax 2.7.4 ([3751](https://github.com/jupyter/notebook/pull/3751)) -- Update to jQuery 3.3 ([3655](https://github.com/jupyter/notebook/pull/3655)) -- Update marked to 0.4 ([3686](https://github.com/jupyter/notebook/pull/3686)) - -Fixing problems: - -- Don't duplicate token in displayed URL ([3656](https://github.com/jupyter/notebook/pull/3656)) -- Clarify displayed URL when listening on all interfaces ([3703](https://github.com/jupyter/notebook/pull/3703)) -- Don't trash non-empty directories on Windows ([3673](https://github.com/jupyter/notebook/pull/3673)) -- Include LICENSE file in wheels ([3671](https://github.com/jupyter/notebook/pull/3671)) -- Don't show "0 active kernels" when starting the notebook ([3696](https://github.com/jupyter/notebook/pull/3696)) - -Testing: - -- Add find replace test ([3630](https://github.com/jupyter/notebook/pull/3630)) -- Selenium test for deleting all cells ([3601](https://github.com/jupyter/notebook/pull/3601)) -- Make creating a new notebook more robust ([3726](https://github.com/jupyter/notebook/pull/3726)) - -Thanks to the following contributors: - -- Arovit Narula ([arovit](https://github.com/arovit)) -- lucasoshiro ([lucasoshiro](https://github.com/lucasoshiro)) -- M Pacer ([mpacer](https://github.com/mpacer)) -- Thomas Kluyver ([takluyver](https://github.com/takluyver)) -- Todd ([toddrme2178](https://github.com/toddrme2178)) -- Yuvi Panda ([yuvipanda](https://github.com/yuvipanda)) - -See the 5.6 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.6) -involved in this release. - -## 5.5.0 - -New features: - -- The files list now shows file sizes ([3539](https://github.com/jupyter/notebook/pull/3539)) -- Add a quit button in the dashboard ([3004](https://github.com/jupyter/notebook/pull/3004)) -- Display hostname in the terminal when running remotely ([3356](https://github.com/jupyter/notebook/pull/3356), [3593](https://github.com/jupyter/notebook/pull/3593)) -- Add slides exportation/download to the menu ([3287](https://github.com/jupyter/notebook/pull/3287)) -- Add any extra installed nbconvert exporters to the "Download as" - menu ([3323](https://github.com/jupyter/notebook/pull/3323)) -- Editor: warning when overwriting a file that is modified on disk ([2783](https://github.com/jupyter/notebook/pull/2783)) -- Display a warning message if cookies are not enabled ([3511](https://github.com/jupyter/notebook/pull/3511)) -- Basic `__version__` reporting for extensions ([3541](https://github.com/jupyter/notebook/pull/3541)) -- Add `NotebookApp.terminals_enabled` config option ([3478](https://github.com/jupyter/notebook/pull/3478)) -- Make buffer time between last modified on disk and last modified on - last save configurable ([3273](https://github.com/jupyter/notebook/pull/3273)) -- Allow binding custom shortcuts for 'close and halt' ([3314](https://github.com/jupyter/notebook/pull/3314)) -- Add description for 'Trusted' notification ([3386](https://github.com/jupyter/notebook/pull/3386)) -- Add `settings['activity_sources']` ([3401](https://github.com/jupyter/notebook/pull/3401)) -- Add an `output_updated.OutputArea` event ([3560](https://github.com/jupyter/notebook/pull/3560)) - -Fixing problems: - -- Fixes to improve web accessibility ([3507](https://github.com/jupyter/notebook/pull/3507)) -- Fixed color contrast issue in tree.less ([3336](https://github.com/jupyter/notebook/pull/3336)) -- Allow cancelling upload of large files ([3373](https://github.com/jupyter/notebook/pull/3373)) -- Don't clear login cookie on requests without cookie ([3380](https://github.com/jupyter/notebook/pull/3380)) -- Don't trash files on different device to home dir on Linux ([3304](https://github.com/jupyter/notebook/pull/3304)) -- Clear waiting asterisks when restarting kernel ([3494](https://github.com/jupyter/notebook/pull/3494)) -- Fix output prompt when `execution_count` missing ([3236](https://github.com/jupyter/notebook/pull/3236)) -- Make the 'changed on disk' dialog work when displayed twice ([3589](https://github.com/jupyter/notebook/pull/3589)) -- Fix going back to root directory with history in notebook list ([3411](https://github.com/jupyter/notebook/pull/3411)) -- Allow defining keyboard shortcuts for missing actions ([3561](https://github.com/jupyter/notebook/pull/3561)) -- Prevent default on pageup/pagedown when completer is active ([3500](https://github.com/jupyter/notebook/pull/3500)) -- Prevent default event handling on new terminal ([3497](https://github.com/jupyter/notebook/pull/3497)) -- ConfigManager should not write out default values found in the .d - directory ([3485](https://github.com/jupyter/notebook/pull/3485)) -- Fix leak of iopub object in activity monitoring ([3424](https://github.com/jupyter/notebook/pull/3424)) -- Javascript lint in notebooklist.js ([3409](https://github.com/jupyter/notebook/pull/3409)) -- Some Javascript syntax fixes ([3294](https://github.com/jupyter/notebook/pull/3294)) -- Convert native for loop to `Array.forEach()` ([3477](https://github.com/jupyter/notebook/pull/3477)) -- Disable cache when downloading nbconvert output ([3484](https://github.com/jupyter/notebook/pull/3484)) -- Add missing digestmod arg to HMAC ([3399](https://github.com/jupyter/notebook/pull/3399)) -- Log OSErrors failing to create less-critical files during startup ([3384](https://github.com/jupyter/notebook/pull/3384)) -- Use powershell on Windows ([3379](https://github.com/jupyter/notebook/pull/3379)) -- API spec improvements, API handler improvements ([3368](https://github.com/jupyter/notebook/pull/3368)) -- Set notebook to dirty state after change to kernel metadata ([3350](https://github.com/jupyter/notebook/pull/3350)) -- Use CSP header to treat served files as belonging to a separate - origin ([3341](https://github.com/jupyter/notebook/pull/3341)) -- Don't install gettext into builtins ([3330](https://github.com/jupyter/notebook/pull/3330)) -- Add missing `import _` ([3316](https://github.com/jupyter/notebook/pull/3316), - [3326](https://github.com/jupyter/notebook/pull/3326)) -- Write `notebook.json` file atomically ([3305](https://github.com/jupyter/notebook/pull/3305)) -- Fix clicking with modifiers, page title updates ([3282](https://github.com/jupyter/notebook/pull/3282)) -- Upgrade jQuery to version 2.2 ([3428](https://github.com/jupyter/notebook/pull/3428)) -- Upgrade xterm.js to 3.1.0 ([3189](https://github.com/jupyter/notebook/pull/3189)) -- Upgrade moment.js to 2.19.3 ([3562](https://github.com/jupyter/notebook/pull/3562)) -- Upgrade CodeMirror to 5.35 ([3372](https://github.com/jupyter/notebook/pull/3372)) -- "Require" pyzmq>=17 ([3586](https://github.com/jupyter/notebook/pull/3586)) - -Documentation: - -- Documentation updates and organisation ([3584](https://github.com/jupyter/notebook/pull/3584)) -- Add section in docs about privacy ([3571](https://github.com/jupyter/notebook/pull/3571)) -- Add explanation on how to change the type of a cell to Markdown ([3377](https://github.com/jupyter/notebook/pull/3377)) -- Update docs with confd implementation details ([3520](https://github.com/jupyter/notebook/pull/3520)) -- Add more information for where `jupyter_notebook_config.py` is - located ([3346](https://github.com/jupyter/notebook/pull/3346)) -- Document options to enable nbextensions in specific sections ([3525](https://github.com/jupyter/notebook/pull/3525)) -- jQuery attribute selector value MUST be surrounded by quotes ([3527](https://github.com/jupyter/notebook/pull/3527)) -- Do not execute special notebooks with nbsphinx ([3360](https://github.com/jupyter/notebook/pull/3360)) -- Other minor fixes in [3288](https://github.com/jupyter/notebook/pull/3288), - [3528](https://github.com/jupyter/notebook/pull/3528), [3293](https://github.com/jupyter/notebook/pull/3293), [3367](https://github.com/jupyter/notebook/pull/3367) - -Testing: - -- Testing with Selenium & Sauce labs ([3321](https://github.com/jupyter/notebook/pull/3321)) -- Selenium utils + markdown rendering tests ([3458](https://github.com/jupyter/notebook/pull/3458)) -- Convert insert cell tests to Selenium ([3508](https://github.com/jupyter/notebook/pull/3508)) -- Convert prompt numbers tests to Selenium ([3554](https://github.com/jupyter/notebook/pull/3554)) -- Convert delete cells tests to Selenium ([3465](https://github.com/jupyter/notebook/pull/3465)) -- Convert undelete cell tests to Selenium ([3475](https://github.com/jupyter/notebook/pull/3475)) -- More selenium testing utilities ([3412](https://github.com/jupyter/notebook/pull/3412)) -- Only check links when build is trigger by Travis Cron job ([3493](https://github.com/jupyter/notebook/pull/3493)) -- Fix Appveyor build errors ([3430](https://github.com/jupyter/notebook/pull/3430)) -- Undo patches in teardown before attempting to delete files ([3459](https://github.com/jupyter/notebook/pull/3459)) -- Get tests running with tornado 5 ([3398](https://github.com/jupyter/notebook/pull/3398)) -- Unpin ipykernel version on Travis ([3223](https://github.com/jupyter/notebook/pull/3223)) - -Thanks to the following contributors: - -- Arovit Narula ([arovit](https://github.com/arovit)) -- Ashley Teoh ([ashleytqy](https://github.com/ashleytqy)) -- Nicholas Bollweg ([bollwyvl](https://github.com/bollwyvl)) -- Alex Rothberg ([cancan101](https://github.com/cancan101)) -- Celina Kilcrease ([ckilcrease](https://github.com/ckilcrease)) -- dabuside ([dabuside](https://github.com/dabuside)) -- Damian Avila ([damianavila](https://github.com/damianavila)) -- Dana Lee ([danagilliann](https://github.com/danagilliann)) -- Dave Hirschfeld ([dhirschfeld](https://github.com/dhirschfeld)) -- Heng GAO ([ehengao](https://github.com/ehengao)) -- Leo Gallucci ([elgalu](https://github.com/elgalu)) -- Evan Van Dam ([evandam](https://github.com/evandam)) -- forbxy ([forbxy](https://github.com/forbxy)) -- Grant Nestor ([gnestor](https://github.com/gnestor)) -- Ethan T. Hendrix ([hendrixet](https://github.com/hendrixet)) -- Miro Hrončok ([hroncok](https://github.com/hroncok)) -- Paul Ivanov ([ivanov](https://github.com/ivanov)) -- Darío Hereñú ([kant](https://github.com/kant)) -- Kevin Bates ([kevin-bates](https://github.com/kevin-bates)) -- Maarten Breddels ([maartenbreddels](https://github.com/maartenbreddels)) -- Michael Droettboom ([mdboom](https://github.com/mdboom)) -- Min RK ([minrk](https://github.com/minrk)) -- M Pacer ([mpacer](https://github.com/mpacer)) -- Peter Parente ([parente](https://github.com/parente)) -- Paul Masson ([paulmasson](https://github.com/paulmasson)) -- Philipp Rudiger ([philippjfr](https://github.com/philippjfr)) -- Mac Knight (Shels1909) -- Hisham Elsheshtawy ([Sheshtawy](https://github.com/Sheshtawy)) -- Simon Biggs ([SimonBiggs](https://github.com/SimonBiggs)) -- Sunil Hari (`@sunilhari`) -- Thomas Kluyver ([takluyver](https://github.com/takluyver)) -- Tim Klever ([tklever](https://github.com/tklever)) -- Gabriel Ruiz ([unnamedplay-r](https://github.com/unnamedplay-r)) -- Vaibhav Sagar ([vaibhavsagar](https://github.com/vaibhavsagar)) -- William Hosford ([whosford](https://github.com/whosford)) -- Hong ([xuhdev](https://github.com/xuhdev)) - -See the 5.5 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.5) -involved in this release. - -## 5.4.1 - -A security release to fix [CVE-2018-8768](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8768). - -Thanks to [Alex](https://hackerone.com/pisarenko) for identifying this -bug, and Jonathan Kamens and Scott Sanderson at Quantopian for verifying -it and bringing it to our attention. - -## 5.4.0 - -- Fix creating files and folders after navigating directories in the - dashboard ([3264](https://github.com/jupyter/notebook/pull/3264)). -- Enable printing notebooks in colour, removing the CSS that made - everything black and white ([3212](https://github.com/jupyter/notebook/pull/3212)). -- Limit the completion options displayed in the notebook to 1000, to - avoid performance issues with very long lists ([3195](https://github.com/jupyter/notebook/pull/3195)). -- Accessibility improvements in `tree.html` ([3271](https://github.com/jupyter/notebook/pull/3271)). -- Added alt-text to the kernel logo image in the notebook UI ([3228](https://github.com/jupyter/notebook/pull/3228)). -- Added a test on Travis CI to flag if symlinks are accidentally - introduced in the future. This should prevent the issue that - necessitated `release-5.3.1`{.interpreted-text role="ref"} ([3227](https://github.com/jupyter/notebook/pull/3227)). -- Use lowercase letters for random IDs generated in our Javascript ([3264](https://github.com/jupyter/notebook/pull/3264)). -- Removed duplicate code setting `TextCell.notebook` ([3256](https://github.com/jupyter/notebook/pull/3256)). - -Thanks to the following contributors: - -- Alex Soderman ([asoderman](https://github.com/asoderman)) -- Matthias Bussonnier ([Carreau](https://github.com/Carreau)) -- Min RK ([minrk](https://github.com/minrk)) -- Nitesh Sawant ([ns23](https://github.com/ns23)) -- Thomas Kluyver ([takluyver](https://github.com/takluyver)) -- Yuvi Panda ([yuvipanda](https://github.com/yuvipanda)) - -See the 5.4 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.4) -involved in this release. - -## 5.3.1 - -Replaced a symlink in the repository with a copy, to fix issues -installing on Windows ([3220](https://github.com/jupyter/notebook/pull/3220)). - -## 5.3.0 - -This release introduces a couple notable improvements, such as terminal -support for Windows and support for OS trash (files deleted from the -notebook dashboard are moved to the OS trash vs. deleted permanently). - -- Add support for terminals on windows ([3087](https://github.com/jupyter/notebook/pull/3087)). -- Add a "restart and run all" button to the toolbar ([2965](https://github.com/jupyter/notebook/pull/2965)). -- Send files to os trash mechanism on delete ([1968](https://github.com/jupyter/notebook/pull/1968)). -- Allow programmatic copy to clipboard ([3088](https://github.com/jupyter/notebook/pull/3088)). -- Use DOM History API for navigating between directories in the file - browser ([3115](https://github.com/jupyter/notebook/pull/3115)). -- Add translated files to folder(docs-translations) ([3065](https://github.com/jupyter/notebook/pull/3065)). -- Allow non empty dirs to be deleted ([3108](https://github.com/jupyter/notebook/pull/3108)). -- Set cookie on base_url ([2959](https://github.com/jupyter/notebook/pull/2959)). -- Allow token-authenticated requests cross-origin by default ([2920](https://github.com/jupyter/notebook/pull/2920)). -- Change cull_idle_timeout_minimum to 1 from 300 ([2910](https://github.com/jupyter/notebook/pull/2910)). -- Config option to shut down server after n seconds with no kernels ([2963](https://github.com/jupyter/notebook/pull/2963)). -- Display a "close" button on load notebook error ([3176](https://github.com/jupyter/notebook/pull/3176)). -- Add action to command palette to run CodeMirror's "indentAuto" - on selection ([3175](https://github.com/jupyter/notebook/pull/3175)). -- Add option to specify extra services ([3158](https://github.com/jupyter/notebook/pull/3158)). -- Warn_bad_name should not use global name ([3160](https://github.com/jupyter/notebook/pull/3160)). -- Avoid overflow of hidden form ([3148](https://github.com/jupyter/notebook/pull/3148)). -- Fix shutdown trans loss ([3147](https://github.com/jupyter/notebook/pull/3147)). -- Find available kernelspecs more efficiently ([3136](https://github.com/jupyter/notebook/pull/3136)). -- Don't try to translate missing help strings ([3122](https://github.com/jupyter/notebook/pull/3122)). -- Frontend/extension-config: allow default json files in a .d - directory ([3116](https://github.com/jupyter/notebook/pull/3116)). -- Use \[requirejs\]{.title-ref} vs. \[require\]{.title-ref} ([3097](https://github.com/jupyter/notebook/pull/3097)). -- Fixes some ui bugs in firefox #3044 ([3058](https://github.com/jupyter/notebook/pull/3058)). -- Compare non-specific language code when choosing to use arabic - numerals ([3055](https://github.com/jupyter/notebook/pull/3055)). -- Fix save-script deprecation ([3053](https://github.com/jupyter/notebook/pull/3053)). -- Include moment locales in package_data ([3051](https://github.com/jupyter/notebook/pull/3051)). -- Fix moment locale loading in bidi support ([3048](https://github.com/jupyter/notebook/pull/3048)). -- Tornado 5: periodiccallback loop arg will be removed ([3034](https://github.com/jupyter/notebook/pull/3034)). -- Use \[/files\]{.title-ref} prefix for pdf-like files ([3031](https://github.com/jupyter/notebook/pull/3031)). -- Add folder for document translation ([3022](https://github.com/jupyter/notebook/pull/3022)). -- When login-in via token, let a chance for user to set the password ([3008](https://github.com/jupyter/notebook/pull/3008)). -- Switch to jupyter_core implementation of ensure_dir_exists ([3002](https://github.com/jupyter/notebook/pull/3002)). -- Send http shutdown request on 'stop' subcommand ([3000](https://github.com/jupyter/notebook/pull/3000)). -- Work on loading ui translations ([2969](https://github.com/jupyter/notebook/pull/2969)). -- Fix ansi inverse ([2967](https://github.com/jupyter/notebook/pull/2967)). -- Add send2trash to requirements for building docs ([2964](https://github.com/jupyter/notebook/pull/2964)). -- I18n readme.md improvement ([2962](https://github.com/jupyter/notebook/pull/2962)). -- Add 'reason' field to json error responses ([2958](https://github.com/jupyter/notebook/pull/2958)). -- Add some padding for stream outputs ([3194](https://github.com/jupyter/notebook/pull/3194)). -- Always use setuptools in `setup.py` ([3206](https://github.com/jupyter/notebook/pull/3206)). -- Fix clearing cookies on logout when `base_url` is configured ([3207](https://github.com/jupyter/notebook/pull/3207)). - -Thanks to the following contributors: - -- bacboc ([bacboc](https://github.com/bacboc)) -- Steven Silvester ([blink1073](https://github.com/blink1073)) -- Matthias Bussonnier ([Carreau](https://github.com/Carreau)) -- ChungJooHo ([ChungJooHo](https://github.com/ChungJooHo)) -- edida ([edida](https://github.com/edida)) -- Francesco Franchina (`ferdas`) -- forbxy ([forbxy](https://github.com/forbxy)) -- Grant Nestor ([gnestor](https://github.com/gnestor)) -- Josh Barnes ([jcb91](https://github.com/jcb91)) -- JocelynDelalande ([JocelynDelalande](https://github.com/JocelynDelalande)) -- Karthik Balakrishnan ([karthikb351](https://github.com/karthikb351)) -- Kevin Bates ([kevin-bates](https://github.com/kevin-bates)) -- Kirit Thadaka ([kirit93](https://github.com/kirit93)) -- Lilian Besson ([Naereen](https://github.com/Naereen)) -- Maarten Breddels ([maartenbreddels](https://github.com/maartenbreddels)) -- Madhu94 ([Madhu94](https://github.com/Madhu94)) -- Matthias Geier ([mgeier](https://github.com/mgeier)) -- Michael Heilman ([mheilman](https://github.com/mheilman)) -- Min RK ([minrk](https://github.com/minrk)) -- PHaeJin ([PHaeJin](https://github.com/PHaeJin)) -- Sukneet ([Sukneet](https://github.com/Sukneet)) -- Thomas Kluyver ([takluyver](https://github.com/takluyver)) - -See the 5.3 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.3) -involved in this release. - -## 5.2.1 - -- Fix invisible CodeMirror cursor at specific browser zoom levels ([2983](https://github.com/jupyter/notebook/pull/2983)). -- Fix nbconvert handler causing broken export to PDF ([2981](https://github.com/jupyter/notebook/pull/2981)). -- Fix the prompt_area argument of the output area constructor. ([2961](https://github.com/jupyter/notebook/pull/2961)). -- Handle a compound extension in new_untitled ([2949](https://github.com/jupyter/notebook/pull/2949)). -- Allow disabling offline message buffering ([2916](https://github.com/jupyter/notebook/pull/2916)). - -Thanks to the following contributors: - -- Steven Silvester ([blink1073](https://github.com/blink1073)) -- Grant Nestor ([gnestor](https://github.com/gnestor)) -- Jason Grout ([jasongrout](https://github.com/jasongrout)) -- Min RK ([minrk](https://github.com/minrk)) -- M Pacer ([mpacer](https://github.com/mpacer)) - -See the 5.2.1 milestone on GitHub for a complete list of [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.2.1) -involved in this release. - -## 5.2.0 - -- Allow setting token via jupyter_token env ([2921](https://github.com/jupyter/notebook/pull/2921)). -- Fix some errors caused by raising 403 in get_current_user ([2919](https://github.com/jupyter/notebook/pull/2919)). -- Register contents_manager.files_handler_class directly ([2917](https://github.com/jupyter/notebook/pull/2917)). -- Update viewable_extensions ([2913](https://github.com/jupyter/notebook/pull/2913)). -- Show edit shortcuts modal after shortcuts modal is hidden ([2912](https://github.com/jupyter/notebook/pull/2912)). -- Improve edit/view behavior ([2911](https://github.com/jupyter/notebook/pull/2911)). -- The root directory of the notebook server should never be hidden ([2907](https://github.com/jupyter/notebook/pull/2907)). -- Fix notebook require config to match tools/build-main ([2888](https://github.com/jupyter/notebook/pull/2888)). -- Give page constructor default arguments ([2887](https://github.com/jupyter/notebook/pull/2887)). -- Fix codemirror.less to match codemirror's expected padding layout ([2880](https://github.com/jupyter/notebook/pull/2880)). -- Add x-xsrftoken to access-control-allow-headers ([2876](https://github.com/jupyter/notebook/pull/2876)). -- Buffer messages when websocket connection is interrupted ([2871](https://github.com/jupyter/notebook/pull/2871)). -- Load locale dynamically only when not en-us ([2866](https://github.com/jupyter/notebook/pull/2866)). -- Changed key strength to 2048 bits ([2861](https://github.com/jupyter/notebook/pull/2861)). -- Resync jsversion with python version ([2860](https://github.com/jupyter/notebook/pull/2860)). -- Allow copy operation on modified, read-only notebook ([2854](https://github.com/jupyter/notebook/pull/2854)). -- Update error handling on apihandlers ([2853](https://github.com/jupyter/notebook/pull/2853)). -- Test python 3.6 on travis, drop 3.3 ([2852](https://github.com/jupyter/notebook/pull/2852)). -- Avoid base64-literals in image tests ([2851](https://github.com/jupyter/notebook/pull/2851)). -- Upgrade xterm.js to 2.9.2 ([2849](https://github.com/jupyter/notebook/pull/2849)). -- Changed all python variables named file to file_name to not override - built_in file ([2830](https://github.com/jupyter/notebook/pull/2830)). -- Add more doc tests ([2823](https://github.com/jupyter/notebook/pull/2823)). -- Typos fix ([2815](https://github.com/jupyter/notebook/pull/2815)). -- Rename and update license \[ci skip\] ([2810](https://github.com/jupyter/notebook/pull/2810)). -- Travis builds doc ([2808](https://github.com/jupyter/notebook/pull/2808)). -- Pull request i18n ([2804](https://github.com/jupyter/notebook/pull/2804)). -- Factor out output_prompt_function, as is done with input prompt ([2774](https://github.com/jupyter/notebook/pull/2774)). -- Use rfc5987 encoding for filenames ([2767](https://github.com/jupyter/notebook/pull/2767)). -- Added path to the resources metadata, the same as in - from_filename(...) in nbconvert.exporters.py ([2753](https://github.com/jupyter/notebook/pull/2753)). -- Make "extrakeys" consistent for notebook and editor ([2745](https://github.com/jupyter/notebook/pull/2745)). -- Bidi support ([2357](https://github.com/jupyter/notebook/pull/2357)). - -Special thanks to [samarsultan](https://github.com/samarsultan) and the -Arabic Competence and Globalization Center Team at IBM Egypt for adding -RTL (right-to-left) support to the notebook! - -See the 5.2 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A5.2) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.2) -involved in this release. - -## 5.1.0 - -- Preliminary i18n implementation ([2140](https://github.com/jupyter/notebook/pull/2140)). -- Expose URL with auth token in notebook UI ([2666](https://github.com/jupyter/notebook/pull/2666)). -- Fix search background style ([2387](https://github.com/jupyter/notebook/pull/2387)). -- List running notebooks without requiring `--allow-root` ([2421](https://github.com/jupyter/notebook/pull/2421)). -- Allow session of type other than notebook ([2559](https://github.com/jupyter/notebook/pull/2559)). -- Fix search background style ([2387](https://github.com/jupyter/notebook/pull/2387)). -- Fix some Markdown styling issues ([2571](https://github.com/jupyter/notebook/pull/2571)), ([2691](https://github.com/jupyter/notebook/pull/2691)) and ([2534](https://github.com/jupyter/notebook/pull/2534)). -- Remove keymaps that conflict with non-English keyboards ([2535](https://github.com/jupyter/notebook/pull/2535)). -- Add session-specific favicons (notebook, terminal, file) ([2452](https://github.com/jupyter/notebook/pull/2452)). -- Add /api/shutdown handler ([2507](https://github.com/jupyter/notebook/pull/2507)). -- Include metadata when copying a cell ([2349](https://github.com/jupyter/notebook/pull/2349)). -- Stop notebook server from command line ([2388](https://github.com/jupyter/notebook/pull/2388)). -- Improve "View" and "Edit" file handling in dashboard ([2449](https://github.com/jupyter/notebook/pull/2449)) and ([2402](https://github.com/jupyter/notebook/pull/2402)). -- Provide a promise to replace use of the - `app_initialized.NotebookApp` event ([2710](https://github.com/jupyter/notebook/pull/2710)). -- Fix disabled collapse/expand output button ([2681](https://github.com/jupyter/notebook/pull/2681)). -- Cull idle kernels using `--MappingKernelManager.cull_idle_timeout` ([2215](https://github.com/jupyter/notebook/pull/2215)). -- Allow read-only notebooks to be trusted ([2718](https://github.com/jupyter/notebook/pull/2718)). - -See the 5.1 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A5.1) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.1) -involved in this release. - -## 5.0.0 - -This is the first major release of the Jupyter Notebook since version -4.0 was created by the "Big Split" of IPython and Jupyter. - -We encourage users to start trying JupyterLab in preparation for a -future transition. - -We have merged more than 300 pull requests since 4.0. Some of the major -user-facing changes are described here. - -### File sorting in the dashboard - -Files in the dashboard may now be sorted by last modified date or name -([943](https://github.com/jupyter/notebook/pull/943)): - -### Cell tags - -There is a new cell toolbar for adding _cell tags_ -([2048](https://github.com/jupyter/notebook/pull/2048)): - -Cell tags are a lightweight way to customise the behaviour of tools -working with notebooks; we're working on building support for them into -tools like [nbconvert](https://nbconvert.readthedocs.io/en/latest/) and -[nbval](https://github.com/computationalmodelling/nbval). To start using -tags, select `Tags` in the `View > Cell Toolbar` menu in a notebook. - -The UI for editing cell tags is basic for now; we hope to improve it in -future releases. - -### Table style - -The default styling for tables in the notebook has been updated -([1776](https://github.com/jupyter/notebook/pull/1776)). - -### Customise keyboard shortcuts - -You can now edit keyboard shortcuts for _Command Mode_ within the UI -([1347](https://github.com/jupyter/notebook/pull/1347)): - -See the `Help > Edit Keyboard Shortcuts` menu item and follow the -instructions. - -### Other additions - -- You can copy and paste cells between notebooks, using - `Ctrl-C`{.interpreted-text role="kbd"} and - `Ctrl-V`{.interpreted-text role="kbd"} (`Cmd-C`{.interpreted-text - role="kbd"} and `Cmd-V`{.interpreted-text role="kbd"} on Mac). -- It's easier to configure a password for the notebook with the new - `jupyter notebook password` command ([2007](https://github.com/jupyter/notebook/pull/2007)). -- The file list can now be ordered by _last modified_ or by _name_ ([943](https://github.com/jupyter/notebook/pull/943)). -- Markdown cells now support attachments. Simply drag and drop an - image from your desktop to a markdown cell to add it. Unlike - relative links that you enter manually, attachments are embedded in - the notebook itself. An unreferenced attachment will be - automatically scrubbed from the notebook on save ([621](https://github.com/jupyter/notebook/pull/621)). -- Undoing cell deletion now supports undeleting multiple cells. Cells - may not be in the same order as before their deletion, depending on - the actions you did on the meantime, but this should should help - reduce the impact of accidentally deleting code. -- The file browser now has _Edit_ and _View_ buttons. -- The file browser now supports moving multiple files at once ([1088](https://github.com/jupyter/notebook/pull/1088)). -- The Notebook will refuse to run as root unless the `--allow-root` - flag is given ([1115](https://github.com/jupyter/notebook/pull/1115)). -- Keyboard shortcuts are now declarative ([1234](https://github.com/jupyter/notebook/pull/1234)). -- Toggling line numbers can now affect all cells ([1312](https://github.com/jupyter/notebook/pull/1312)). -- Add more visible _Trusted_ and _Untrusted_ notifications ([1658](https://github.com/jupyter/notebook/pull/1658)). -- The favicon (browser shortcut icon) now changes to indicate when the - kernel is busy ([1837](https://github.com/jupyter/notebook/pull/1837)). -- Header and toolbar visibility is now persisted in nbconfig and - across sessions ([1769](https://github.com/jupyter/notebook/pull/1769)). -- Load server extensions with ConfigManager so that merge happens - recursively, unlike normal config values, to make it load more - consistently with frontend extensions([2108](https://github.com/jupyter/notebook/pull/2108)). -- The notebook server now supports the bundler API - from the [jupyter_cms incubator - project](https://github.com/jupyter-incubator/contentmanagement) ([1579](https://github.com/jupyter/notebook/pull/1579)). -- The notebook server now provides information about kernel activity - in its kernel resource API ([1827](https://github.com/jupyter/notebook/pull/1827)). - -Remember that upgrading `notebook` only affects the user interface. -Upgrading kernels and libraries may also provide new features, better -stability and integration with the notebook interface. - -## 4.4.0 - -- Allow override of output callbacks to redirect output messages. This - is used to implement the ipywidgets Output widget, for example. -- Fix an async bug in message handling by allowing comm message - handlers to return a promise which halts message processing until - the promise resolves. - -See the 4.4 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A4.4) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A4.4) -involved in this release. - -## 4.3.2 - -4.3.2 is a patch release with a bug fix for CodeMirror and improved -handling of the "editable" cell metadata field. - -- Monkey-patch for CodeMirror that resolves - [#2037](https://github.com/jupyter/notebook/issues/2037) without - breaking [#1967](https://github.com/jupyter/notebook/issues/1967) -- Read-only (`"editable": false`) cells can be executed but cannot be - split, merged, or deleted - -See the 4.3.2 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A4.3.2) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A4.3.2) -involved in this release. - -## 4.3.1 - -4.3.1 is a patch release with a security patch, a couple bug fixes, and -improvements to the newly-released token authentication. - -**Security fix**: - -- CVE-2016-9971. Fix CSRF vulnerability, where malicious forms could - create untitled files and start kernels (no remote execution or - modification of existing files) for users of certain browsers (Firefox, Internet Explorer / Edge). All previous notebook releases - are affected. - -Bug fixes: - -- Fix carriage return handling -- Make the font size more robust against fickle browsers -- Ignore resize events that bubbled up and didn't come from window -- Add Authorization to allowed CORS headers -- Downgrade CodeMirror to 5.16 while we figure out issues in Safari - -Other improvements: - -- Better docs for token-based authentication -- Further highlight token info in log output when autogenerated - -See the 4.3.1 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A4.3.1) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A4.3.1) -involved in this release. - -## 4.3.0 - -4.3 is a minor release with many bug fixes and improvements. The biggest -user-facing change is the addition of token authentication, which is -enabled by default. A token is generated and used when your browser is -opened automatically, so you shouldn't have to enter anything in the -default circumstances. If you see a login page (e.g. by switching -browsers, or launching on a new port with `--no-browser`), you get a -login URL with the token from the command `jupyter notebook list`, which -you can paste into your browser. - -Highlights: - -- API for creating mime-type based renderer extensions using - `OutputArea.register_mime_type` and `Notebook.render_cell_output` - methods. See - [mimerender-cookiecutter](https://github.com/jupyterlab/mimerender-cookiecutter) - for reference implementations and cookiecutter. -- Enable token authentication by default. See - `server_security`{.interpreted-text role="ref"} for more details. -- Update security docs to reflect new signature system -- Switched from term.js to xterm.js - -Bug fixes: - -- Ensure variable is set if exc_info is falsey -- Catch and log handler exceptions in `events.trigger` -- Add debug log for static file paths -- Don't check origin on token-authenticated requests -- Remove leftover print statement -- Fix highlighting of Python code blocks -- `json_errors` should be outermost decorator on API handlers -- Fix remove old nbserver info files -- Fix notebook mime type on download links -- Fix carriage symbol behavior -- Fix terminal styles -- Update dead links in docs -- If kernel is broken, start a new session -- Include cross-origin check when allowing login URL redirects - -Other improvements: - -- Allow JSON output data with mime type `application/*+json` -- Allow kernelspecs to have spaces in them for backward compat -- Allow websocket connections from scripts -- Allow `None` for post_save_hook -- Upgrade CodeMirror to 5.21 -- Upgrade xterm to 2.1.0 -- Docs for using comms -- Set `dirty` flag when output arrives -- Set `ws-url` data attribute when accessing a notebook terminal -- Add base aliases for nbextensions -- Include `@` operator in CodeMirror IPython mode -- Extend mathjax_url docstring -- Load nbextension in predictable order -- Improve the error messages for nbextensions -- Include cross-origin check when allowing login URL redirects - -See the 4.3 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?utf8=%E2%9C%93&q=is%3Aissue%20milestone%3A4.3%20) -and [pull -requests](https://github.com/jupyter/notebook/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A4.3%20) -involved in this release. - -## 4.2.3 - -4.2.3 is a small bugfix release on 4.2. - -> Highlights: - -- Fix regression in 4.2.2 that delayed loading custom.js until after - `notebook_loaded` and `app_initialized` events have fired. -- Fix some outdated docs and links. - -## 4.2.2 - -4.2.2 is a small bugfix release on 4.2, with an important security fix. -All users are strongly encouraged to upgrade to 4.2.2. - -> Highlights: - -- **Security fix**: CVE-2016-6524, where untrusted latex output could - be added to the page in a way that could execute javascript. -- Fix missing POST in OPTIONS responses. -- Fix for downloading non-ascii filenames. -- Avoid clobbering ssl_options, so that users can specify more - detailed SSL configuration. -- Fix inverted load order in nbconfig, so user config has highest - priority. -- Improved error messages here and there. - -## 4.2.1 - -4.2.1 is a small bugfix release on 4.2. Highlights: - -- Compatibility fixes for some versions of ipywidgets -- Fix for ignored CSS on Windows -- Fix specifying destination when installing nbextensions - -## 4.2.0 - -Release 4.2 adds a new API for enabling and installing extensions. -Extensions can now be enabled at the system-level, rather than just -per-user. An API is defined for installing directly from a Python -package, as well. - -Highlighted changes: - -- Upgrade MathJax to 2.6 to fix vertical-bar appearing on some - equations. -- Restore ability for notebook directory to be root (4.1 regression) -- Large outputs are now throttled, reducing the ability of output - floods to kill the browser. -- Fix the notebook ignoring cell executions while a kernel is starting - by queueing the messages. -- Fix handling of url prefixes (e.g. JupyterHub) in terminal and edit - pages. -- Support nested SVGs in output. - -And various other fixes and improvements. - -## 4.1.0 - -Bug fixes: - -- Properly reap zombie subprocesses -- Fix cross-origin problems -- Fix double-escaping of the base URL prefix -- Handle invalid unicode filenames more gracefully -- Fix ANSI color-processing -- Send keepalive messages for web terminals -- Fix bugs in the notebook tour - -UI changes: - -- Moved the cell toolbar selector into the _View_ menu. Added a button - that triggers a "hint" animation to the main toolbar so users can - find the new location. (Click here to see a - [screencast](https://cloud.githubusercontent.com/assets/335567/10711889/59665a5a-7a3e-11e5-970f-86b89592880c.gif) - ) - -- Added _Restart & Run All_ to the _Kernel_ menu. Users can also bind - it to a keyboard shortcut on action - `restart-kernel-and-run-all-cells`. - -- Added multiple-cell selection. Users press `Shift-Up/Down` or - `Shift-K/J` to extend selection in command mode. Various actions - such as cut/copy/paste, execute, and cell type conversions apply to - all selected cells. - -- Added a command palette for executing Jupyter actions by name. Users - press `Cmd/Ctrl-Shift-P` or click the new command palette icon on - the toolbar. - -- Added a _Find and Replace_ dialog to the _Edit_ menu. Users can also - press `F` in command mode to show the dialog. - -Other improvements: - -- Custom KernelManager methods can be Tornado coroutines, allowing - async operations. -- Make clearing output optional when rewriting input with - `set_next_input(replace=True)`. -- Added support for TLS client authentication via - `--NotebookApp.client-ca`. -- Added tags to `jupyter/notebook` releases on DockerHub. `latest` - continues to track the master branch. - -See the 4.1 milestone on GitHub for a complete list of -[issues](https://github.com/jupyter/notebook/issues?page=3&q=milestone%3A4.1+is%3Aclosed+is%3Aissue&utf8=%E2%9C%93) -and [pull -requests](https://github.com/jupyter/notebook/pulls?q=milestone%3A4.1+is%3Aclosed+is%3Apr) -handled. - -## 4.0.x - -### 4.0.6 - -- fix installation of mathjax support files -- fix some double-escape regressions in 4.0.5 -- fix a couple of cases where errors could prevent opening a notebook - -### 4.0.5 - -Security fixes for maliciously crafted files. - -- [CVE-2015-6938](http://www.openwall.com/lists/oss-security/2015/09/02/3): - malicious filenames -- [CVE-2015-7337](http://www.openwall.com/lists/oss-security/2015/09/16/3): - malicious binary files in text editor. - -Thanks to Jonathan Kamens at Quantopian and Juan Broullón for the -reports. - -### 4.0.4 - -- Fix inclusion of mathjax-safe extension - -### 4.0.2 - -- Fix launching the notebook on Windows -- Fix the path searched for frontend config - -### 4.0.0 - -First release of the notebook as a standalone package. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 6823f81b72..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,247 +0,0 @@ -# Contributing to Jupyter Notebook - -Thanks for contributing to Jupyter Notebook! - -Make sure to follow [Project Jupyter's Code of Conduct](https://jupyter.org/governance/conduct/code-of-conduct) -for a friendly and welcoming collaborative environment. - -## Setting up a development environment - -Note: You will need NodeJS to build the extension package. - -The `jlpm` command is JupyterLab's pinned version of [yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use -`yarn` or `npm` in lieu of `jlpm` below. - -**Note**: we recommend using `mamba` to speed up the creation of the environment. - -```bash -# create a new environment -mamba create -n notebook -c conda-forge python nodejs -y - -# activate the environment -mamba activate notebook - -# Install package in development mode -pip install -e ".[dev,docs,test]" - -# Install dependencies and build packages -jlpm -jlpm build - -# Link the notebook extension and @jupyter-notebook schemas -jlpm develop - -# Enable the server extension -jupyter server extension enable notebook -``` - -`notebook` follows a monorepo structure. To build all the packages at once: - -```bash -jlpm build -``` - -There is also a `watch` script to watch for changes and rebuild the app automatically: - -```bash -jlpm watch -``` - -To make sure the `notebook` server extension is installed: - -```bash -$ jupyter server extension list -Config dir: /home/username/.jupyter - -Config dir: /home/username/miniforge3/envs/notebook/etc/jupyter - jupyterlab enabled - - Validating jupyterlab... - jupyterlab 3.0.0 OK - notebook enabled - - Validating notebook... - notebook 7.0.0a0 OK - -Config dir: /usr/local/etc/jupyter -``` - -Then start Jupyter Notebook with: - -```bash -jupyter notebook -``` - -### Local changes in Notebook dependencies - -The development installation described above fetches JavaScript dependencies from `npm`. -according to the versions in the _package.json_ file. -However, it is sometimes useful to be able to test changes in Notebook, with dependencies (e.g. `@jupyterlab` packages) that have not yet -been published. - -[yalc](https://github.com/wclr/yalc) can help you use local JavaScript packages when building Notebook, acting as a local package repository. - -- Install yalc globally in your environment: - `npm install -g yalc` -- Publish your dependency package:\ - `yalc publish`, from the package root directory.\ - For instance, if you are developing on _@jupyterlab/ui-components_, this command must be executed from - _path_to_jupyterlab/packages/ui-components_. -- Depend on this local repository in Notebook: - - from the Notebook root directory:\ - `yalc add your_package` : this will create a _dependencies_ entry in the main _package.json_ file.\ - With the previous example, it would be `yalc add @jupyterlab/ui-components`. - - Notebook is a monorepo, so we want this dependency to be 'linked' as a resolution (for all sub-packages) instead - of a dependency.\ - The easiest way is to manually move the new entry in _package.json_ from _dependencies_ to _resolutions_. - - Build Notebook with the local dependency:\ - `jlpm install && jlpm build` - -Changes in the dependency must then be built and pushed using `jlpm build && yalc push` (from the package root directory), -and fetched from Notebook using `yarn install`. - -**Warning**: you need to make sure that the dependencies of Notebook and the local package match correctly, -otherwise there will be errors with webpack during build.\ -In the previous example, both _@jupyterlab/ui-components_ and Notebook depend on _@jupyterlab/coreutils_. We -strongly advise you to depend on the same version. - -## Running Tests - -To run the tests: - -```bash -jlpm run build:test -jlpm run test -``` - -There are also end to end tests to cover higher level user interactions, located in the `ui-tests` folder. To run these tests: - -```bash -cd ui-tests -#install required packages for jlpm -jlpm - -#install playwright -jlpm playwright install - -# start a new Jupyter server in a terminal -jlpm start - -# in a new terminal, run the tests -jlpm test -``` - -The `test` script calls the Playwright test runner. You can pass additional arguments to `playwright` by appending parameters to the command. For example to run the test in headed mode, `jlpm test --headed`. - -Check out the [Playwright Command Line Reference](https://playwright.dev/docs/test-cli/) for more information about the available command line options. - -Running the end to end tests in headful mode will trigger something like the following: - -![playwright-headed-demo](https://user-images.githubusercontent.com/591645/141274633-ca9f9c2f-eef6-430e-9228-a35827f8133d.gif) - -## Tasks caching - -The repository is configured to use the Lerna caching system (via `nx`) for some of the development scripts. - -This helps speed up rebuilds when running `jlpm run build` multiple times to avoid rebuilding packages that have not changed on disk. - -You can generate a graph to have a better idea of the dependencies between all the packages using the following command: - -``` -npx nx graph -``` - -Running the command will open a browser tab by default with a graph that looks like the following: - -![a screenshot showing the nx task graph](https://github.com/jupyter/notebook/assets/591645/34eb46f0-b0e5-44b6-9430-ae5fbd673a4b) - -To learn more about Lerna caching: - -- https://lerna.js.org/docs/features/cache-tasks -- https://nx.dev/features/cache-task-results - -### Updating reference snapshots - -Often a PR might make changes to the user interface, which can cause the visual regression tests to fail. - -If you want to update the reference snapshots while working on a PR you can post the following sentence as a GitHub comment: - -``` -bot please update playwright snapshots -``` - -This will trigger a GitHub Action that will run the UI tests automatically and push new commits to the branch if the reference snapshots have changed. - -## Code Styling - -All non-python source code is formatted using [prettier](https://prettier.io) and python source code is formatted using [black](https://github.com/psf/black). -When code is modified and committed, all staged files will be -automatically formatted using pre-commit git hooks (with help from -[pre-commit](https://github.com/pre-commit/pre-commit). The benefit of -using code formatters like `prettier` and `black` is that it removes the topic of -code style from the conversation when reviewing pull requests, thereby -speeding up the review process. - -As long as your code is valid, -the pre-commit hook should take care of how it should look. -`pre-commit` and its associated hooks will automatically be installed when -you run `pip install -e ".[dev,test]"` - -To install `pre-commit` manually, run the following: - -```shell -pip install pre-commit -pre-commit install -``` - -You can invoke the pre-commit hook by hand at any time with: - -```shell -pre-commit run -``` - -which should run any autoformatting on your code -and tell you about any errors it couldn't fix automatically. -You may also install [black integration](https://github.com/psf/black#editor-integration) -into your text editor to format code automatically. - -If you have already committed files before setting up the pre-commit -hook with `pre-commit install`, you can fix everything up using -`pre-commit run --all-files`. You need to make the fixing commit -yourself after that. - -You may also use the prettier npm script (e.g. `npm run prettier` or -`yarn prettier` or `jlpm prettier`) to format the entire code base. -We recommend installing a prettier extension for your code editor and -configuring it to format your code with a keyboard shortcut, or -automatically on save. - -Some of the hooks only run on CI by default, but you can invoke them by -running with the `--hook-stage manual` argument. - -## Documentation - -First make sure you have set up a development environment as described above. - -Then run the following command to build the docs: - -```shell -hatch run docs:build -``` - -In a separate terminal window, run the following command to serve the documentation: - -```shell -hatch run docs:serve -``` - -Now open a web browser and navigate to `http://localhost:8000` to access the documentation. - -## Contributing from the browser - -Alternatively you can also contribute to Jupyter Notebook without setting up a local environment, directly from a web browser: - -- [GitHub CodeSpaces](https://github.com/codespaces) is directly integrated into GitHub. This repository uses the [pixi](https://pixi.sh/) package manager to set up the development environment. To contribute after the Codespace is started: - - Run `pixi shell` in a terminal to activate the development environment - - Use the commands above for building the extension and running the tests, for example: `jlpm build` - - To start the application: `pixi run start`. A popup should appear with a button to open the Jupyter Notebook in a new browser tab. If the popup does not appear, you can navigate to the "Forwarded ports" panel to find the URL to the application. -- GitHub's [built-in editor](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files) is suitable for contributing small fixes. -- A more advanced [github.dev](https://docs.github.com/en/codespaces/the-githubdev-web-based-editor) editor can be accessed by pressing the dot (.) key while in the Jupyter Notebook GitHub repository diff --git a/README.md b/README.md index 5550f4f133..4a08db40dd 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,54 @@ -# Jupyter Notebook +
+ + Thesis + +

thesis-notebook

+
-![Github Actions Status](https://github.com/jupyter/notebook/workflows/Build/badge.svg) -[![Documentation Status](https://readthedocs.org/projects/jupyter-notebook/badge/?version=latest)](https://jupyter-notebook.readthedocs.io/en/latest/?badge=latest) -[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyter/notebook/main?urlpath=tree) +
-The Jupyter notebook is a web-based notebook environment for interactive -computing. +# Overview -![Jupyter notebook example](docs/resources/running_code_med.png 'Jupyter notebook example') +Thesis Notebook is a next-generation scientific notebook built for the age of AI. -## Maintained versions +Our mission is to help scientists and researchers accelerate discovery. -We maintain the **two most recently released major versions of Jupyter Notebook**, -Classic Notebook v6 and Notebook v7. Notebook v5 is no longer maintained. -All Notebook v5 users are strongly advised to upgrade to Classic Notebook v6 as soon as possible. +It is built on a modernized fork of Jupyter Notebook. -Upgrading to Notebook v7 may require more work, if you use custom extensions, as extensions written -for Notebook v5 or Classic Notebook v6 are not compatible with Notebook v7. +![Jupyter notebook example](docs/resources/running_code_med.png 'Jupyter notebook example') -### Notebook v7 +## Development -The newest major version of Notebook is based on: +Developer experience is simple and clean relative to the upstream fork. -- JupyterLab components for the frontend -- Jupyter Server for the Python server +To setup and build your development enviroment: -This represents a significant change to the `jupyter/notebook` code base. +```sh +./scripts/rebuild.sh +``` -To learn more about Notebook v7: https://jupyter.org/enhancement-proposals/79-notebook-v7/notebook-v7.html +To start the notebook development server from your code: -### Classic Notebook v6 +```sh +./scripts/dev.sh +``` -Maintenance and security-related issues [only](https://github.com/jupyter/notebook-team-compass/issues/5#issuecomment-1085254000) are now being addressed in the [`6.5.x`](https://github.com/jupyter/notebook/tree/6.5.x) branch. -It depends on [`nbclassic`](https://github.com/jupyter/nbclassic) for the HTML/JavaScript/CSS assets. +The notebook server will run on port: 8888. -New features and continuous improvement is now focused on Notebook v7 (see section above). +In another terminal to watch for changes w/ auto hot reloading: -If you have an open pull request with a new feature or if you were planning to open one, we encourage switching over to the Jupyter Server and JupyterLab architecture, and distribute it as a server extension and / or JupyterLab prebuilt extension. That way your new feature will also be compatible with the new Notebook v7. +```sh +./scripts/watch.sh +``` -## Jupyter notebook, the language-agnostic evolution of IPython notebook +To cleanly rebuild your environment from scratch: -Jupyter notebook is a language-agnostic HTML notebook application for -Project Jupyter. In 2015, Jupyter notebook was released as a part of -The Big Split™ of the IPython codebase. IPython 3 was the last major monolithic -release containing both language-agnostic code, such as the _IPython notebook_, -and language specific code, such as the _IPython kernel for Python_. As -computing spans across many languages, Project Jupyter will continue to develop the -language-agnostic **Jupyter notebook** in this repo and with the help of the -community develop language specific kernels which are found in their own -discrete repos. +```sh +./scripts/rebuild.sh +``` -- [The Big Split™ announcement](https://blog.jupyter.org/the-big-split-9d7b88a031a7) -- [Jupyter Ascending blog post](https://blog.jupyter.org/jupyter-ascending-1bf5b362d97e) -## Installation +## Installation (Coming Soon) You can find the installation documentation for the [Jupyter platform, on ReadTheDocs](https://jupyter.readthedocs.io/en/latest/install.html). @@ -63,6 +58,7 @@ The documentation for advanced usage of Jupyter notebook can be found For a local installation, make sure you have [pip installed](https://pip.readthedocs.io/en/stable/installing/) and run: +(Coming Soon!) ```bash pip install notebook ``` @@ -74,60 +70,33 @@ pip install notebook Launch with: ```bash -jupyter notebook +thesis notebook ``` -### Running in a remote installation - -You need some configuration before starting Jupyter notebook remotely. See [Running a notebook server](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html). - -## Development Installation - -See [`CONTRIBUTING.md`](CONTRIBUTING.md) for how to set up a local development installation. +## About the Thesis Team -## Contributing - -If you are interested in contributing to the project, see [`CONTRIBUTING.md`](CONTRIBUTING.md). - -## Community Guidelines and Code of Conduct - -This repository is a Jupyter project and follows the Jupyter -[Community Guides and Code of Conduct](https://jupyter.readthedocs.io/en/latest/community/content-community.html). - -## Resources - -- [Project Jupyter website](https://jupyter.org) -- [Online Demo at jupyter.org/try](https://jupyter.org/try) -- [Documentation for Jupyter notebook](https://jupyter-notebook.readthedocs.io/en/latest/) -- [Korean Version of Installation](https://github.com/ChungJooHo/Jupyter_Kor_doc/) -- [Documentation for Project Jupyter](https://jupyter.readthedocs.io/en/latest/index.html) -- [Issues](https://github.com/jupyter/notebook/issues) -- [Technical support - Jupyter Google Group](https://discourse.jupyter.org/) - -## About the Jupyter Development Team - -The Jupyter Development Team is the set of all contributors to the Jupyter project. -This includes all of the Jupyter subprojects. - -The core team that coordinates development on GitHub can be found here: +We are a group of researchers and engineers building the next generation of scientific computing. +Our work centers on reimagining the notebook experience to unlock faster, more autonomous discovery for scientists and practitioners around the world. https://github.com/jupyter/. -## Our Copyright Policy +## Copyright Notice + +Thesis Notebook is a downstream fork of the Jupyter Notebook project. +Portions of this codebase originate from the Jupyter Development Team and remain +under the terms of the Modified BSD License. Thesis Notebook does not +assert new copyright over upstream Jupyter code; we only retain copyright over +our original modifications. -Jupyter uses a shared copyright model. Each contributor maintains copyright -over their contributions to Jupyter. But, it is important to note that these -contributions are typically only changes to the repositories. Thus, the Jupyter -source code, in its entirety is not the copyright of any single person or -institution. Instead, it is the collective copyright of the entire Jupyter -Development Team. If individual contributors want to maintain a record of what -changes/contributions they have specific copyright on, they should indicate -their copyright in the commit message of the change, when they commit the -change to one of the Jupyter repositories. +To clearly distinguish upstream work from Thesis modifications, any file that +contains Jupyter-derived code should begin with the following notice: -With this in mind, the following banner should be used in any source code file -to indicate the copyright and license terms: +To clearly distinguish upstream work from Thesis modifications, any file that +contains Jupyter-derived code should begin with the following notice: ``` +# This file is part of Thesis Notebook, a fork of Jupyter Notebook. +# Portions of this file are derived from the Jupyter Notebook project. +# # Copyright (c) Jupyter Development Team. # Distributed under the terms of the Modified BSD License. ``` diff --git a/docs/resources/running_code_med.png b/docs/resources/running_code_med.png index d45a3fb7bf..bfeba2208f 100644 Binary files a/docs/resources/running_code_med.png and b/docs/resources/running_code_med.png differ diff --git a/examples/development.ipynb b/examples/development.ipynb new file mode 100644 index 0000000000..b2e80e48d6 --- /dev/null +++ b/examples/development.ipynb @@ -0,0 +1,553 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "5ddb567b", + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-23T01:21:06.146163Z", + "iopub.status.busy": "2025-11-23T01:21:06.145694Z", + "iopub.status.idle": "2025-11-23T01:21:06.979553Z", + "shell.execute_reply": "2025-11-23T01:21:06.979079Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset shape: (569, 31)\n", + "Columns: ['mean radius', 'mean texture', 'mean perimeter', 'mean area', 'mean smoothness', 'mean compactness', 'mean concavity', 'mean concave points', 'mean symmetry', 'mean fractal dimension', 'radius error', 'texture error', 'perimeter error', 'area error', 'smoothness error', 'compactness error', 'concavity error', 'concave points error', 'symmetry error', 'fractal dimension error', 'worst radius', 'worst texture', 'worst perimeter', 'worst area', 'worst smoothness', 'worst compactness', 'worst concavity', 'worst concave points', 'worst symmetry', 'worst fractal dimension', 'target']\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", + "

5 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.3001 0.14710 0.2419 \n", + "1 0.07864 0.0869 0.07017 0.1812 \n", + "2 0.15990 0.1974 0.12790 0.2069 \n", + "3 0.28390 0.2414 0.10520 0.2597 \n", + "4 0.13280 0.1980 0.10430 0.1809 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "0 0.07871 ... 17.33 184.60 2019.0 \n", + "1 0.05667 ... 23.41 158.80 1956.0 \n", + "2 0.05999 ... 25.53 152.50 1709.0 \n", + "3 0.09744 ... 26.50 98.87 567.7 \n", + "4 0.05883 ... 16.67 152.20 1575.0 \n", + "\n", + " worst smoothness worst compactness worst concavity worst concave points \\\n", + "0 0.1622 0.6656 0.7119 0.2654 \n", + "1 0.1238 0.1866 0.2416 0.1860 \n", + "2 0.1444 0.4245 0.4504 0.2430 \n", + "3 0.2098 0.8663 0.6869 0.2575 \n", + "4 0.1374 0.2050 0.4000 0.1625 \n", + "\n", + " worst symmetry worst fractal dimension target \n", + "0 0.4601 0.11890 0 \n", + "1 0.2750 0.08902 0 \n", + "2 0.3613 0.08758 0 \n", + "3 0.6638 0.17300 0 \n", + "4 0.2364 0.07678 0 \n", + "\n", + "[5 rows x 31 columns]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "from sklearn.datasets import load_breast_cancer\n", + "\n", + "data = load_breast_cancer(as_frame=True)\n", + "df = pd.concat([data.data, data.target.rename(\"target\")], axis=1)\n", + "\n", + "print(f\"Dataset shape: {df.shape}\")\n", + "print(\"Columns:\", df.columns.tolist())\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9b5ee723", + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-23T01:21:06.980852Z", + "iopub.status.busy": "2025-11-23T01:21:06.980692Z", + "iopub.status.idle": "2025-11-23T01:21:07.276109Z", + "shell.execute_reply": "2025-11-23T01:21:07.275637Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAF8CAYAAAAXcGitAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAASrVJREFUeJzt3QeUFFX69/EHyRlBQTAgQaKggoBKVsmYZc2oSBAVESOIK6woCkZAV0HFAAhmzCKIuJjQFRVBRHJQFAUkZ+Y937v/6remp2emw0B19/w+58yZme7q7urqrnpueO69BTIyMjJMREREDqpDDu7LiYiIiAKwiIhIQFQDFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAKW779u02YcIE+8c//mFNmza1hg0b2llnnWVjx461Xbt2Zdr2iiuusObNm1uyGTNmjNWuXTvTT/369e2UU06xq6++2j766KMsj3njjTfcdv/5z39ifr1Vq1ZFtd3AgQPda3jH0dvPpUuXxvyasezP6aef7j7PoHBszz33XNu/f39of8I/nxNOOME6derkjsnu3bsP+P7E+1knM++4tm7dOsftunTp4rYbMGBAzK8R/h1O5WO5yneerF+/3l3vfvnlF0tlhYLeAUnsC3ndddfZ8uXLrXPnzta1a1djZtEvv/zSHnnkEfvkk09s/PjxVqJEiZQ4zNdee61Vr17d/c1F/a+//rIPP/zQ+vXrZz179rTbbrsttG2TJk1s5MiRVqdOnZhe48knn7TJkydHdQG66KKL7NRTT7XChQvH8W7i358777zTihYtakHYsGGDjRgxwh3bQw75/+XzQw891AYNGuT+5jtGwe/HH3+0f//737ZkyRIbNWrUAduneD/rVPH777+7Y9mgQYMs91HY4/jm92N5zTXXWJkyZezRRx91/1eoUMEuv/xyu/vuu935U6BAAUtFCsApigB1/fXX27p16+zll1+2448/PnTflVdeac8//7zdf//9dt9997mfVHDaaadZs2bNMt1G4L355pvtmWeesUaNGtkZZ5zhbj/66KPdT6y++OIL27dvX1TbnnTSSe7nQIq0P2eeeaYFhRotxzW8VkYh7pxzzsmyfcmSJV0LDDWRWrVqHZB9ivezTgVHHnmkrV271mbMmBExANP6U758eVcwys/H8rPPPnOVDD9ax7jOvfXWW67FJhWpCTpFTZkyxV307rjjjkzB13PVVVe5Uu57771nmzZtslRF7fPee++1UqVK2VNPPRX07qS1v//+2958882IgTY7dBMgL2tp+clhhx1mJ554ogvAkUyfPt3atWt30PcrFZQuXdp1gxCEU5UCcIp69913Xa3k7LPPznYbmgc///xzK1u2bLbbfP31167plwsp/a7UQqlx/vbbb5m2+/jjj61bt26uFkqt8JJLLsly0aC5rFevXq7Zlr5omsSffvrpUF9ivNh/+stopvNqApH6snLbR56D90vTNo+ltufdTkHmX//6l+vbpJ+c9xLef+Zv+qdJjPfYokULe+CBB1yTrCe7fjb+53buz21/wvuAv//+e9cawHtjHy+++OIsx9/ro16zZo3dcMMN1rhxY7c9f3Nbbl577TXbuXNnTBf8X3/91f2uWrVqptvnzZsX2l8CDM2FdI34cXx5rz///LMrMLId/Xo0dW/cuDHH47lt2zYbPny4tWzZ0h0PWn0WLVpk9erVCx1HeMd10qRJ1qFDB1dY5Tf/54TvLY/99ttvs9zHvvK5ey0Xr776qiu0sP8nn3yy+27897//jfoYtm/f3hVgVq5cmel2PrMFCxa4+yPhdfkecIx5X7QO0X0Q/n31O1jHMpp9GxPF95XfbIP333/f/T1nzpzQc/D6CxcujOl4JxMF4BREHxwnJl/snPonad6iiTA7XBC5mJDQQF/yP//5T3dh4Yvep0+f0HZ8uW+88Ub3WrfccovdeuutLuBwongXVWpPNAkRuLgA3XXXXe6i/NBDD2U6ieNF8ybvm4t1JNHsI32r9DFTcqYfzB9oaOrjObj405zl9UVHQgEFBG2C9XPPPee6A2Jd2TOn/fH79NNP7bLLLrNly5a5As5NN91kO3bscK85ceLELNt3797d9YnRZ37++ee7ggmPyc2sWbNcq8kRRxyR5T4KURR+vB8KaHxPKORxcaXw5uF4X3rppa57hOPP58JFvkePHq5P34/WGS74lStXdse+TZs2LkgMHTo02/1kXzgONH23bdvWvc+CBQu6JMNIhT1q9ewnQZLXKFSokN1zzz3uuGaHgi194LxHvz///NMVmihc8prcz3ed/adAwWeyYsUKd15Fm6znfe7Udv34v1y5cqFWBj/OKe91b7/9dncM+Jucjwcf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spiIY/HixW6iDxERkWSQNAEYN910k+v7nTx5shsTXLZsWevSpYu7vWjRoq4WTBAl4YolrAjATZo0cRnRxxxzTOh5GKLEY1988UXXtF2rVi0XqLObvENERORgK5CRSLpXPvLjjz+63w0aNAh6V/I1WjsYCkZhTElY6avj26M1E5YcVMdXqGIfnn3jQY0VSdMHLCIikp8oAIuIiARAAVhERCQACsAiIiIBUAAWEREJgAKwiIhIABSARUREAqAALCIiEgAFYBERkQAoAIuIiARAAVhERCQACsAiIiIBUAAWEREJgAKwiIhIABSARUREAqAALCIiEgAFYBERkQAoAIuIiARAAVhERCQACsAiIiIBUAAWEREJgAKwiIhIABSARUREAqAALCIiEgAFYBERkQAoAIuIiARAAVhERCQACsAiIiIBSLoA/Morr1jnzp2tYcOG1qFDB3vhhRcsIyMjdP+GDRts4MCBduqpp9pJJ51k1157ra1atSrL87z00kvu8TxP165d7Z133jnI70RERCR7hSyJTJw40e69917r06ePnXLKKfb999/biBEjbOvWrXb99dfbvn37rGfPnrZx40YbPHiwFSxY0MaMGWPdu3e3d99910qVKuWeh6D9wAMPuODcqFEj++CDD+zWW2+1YsWKWbt27YJ+myIiIskTgPfv329jx461s846ywYMGOBuo5a7cuVKmzBhggvAH374oS1YsMCmTp1qdevWdds0btzYzjzzTJs8ebL16tXLdu7caU888YRdfvnl1r9/f7dNy5YtXdB+9NFHFYBFRCQpJE0TdIECBey5554LBV9P4cKFbffu3e7v2bNn29FHHx0KvqhYsaILwrNmzXL///DDD7Zp0ybX/OzXqVMnW7p0qa1evfqgvB8REZGUCcA1a9a0KlWquD7fv//+21599VVX273kkkvcNgTQatWqZXls1apV3X3eNgjf7thjj810v4iISJCSpgna75tvvrErrrjC/V2/fn3r0aOH+3vLli121FFHZdm+ZMmSrp8Y3m+vP9i/jf/+eFAw2L59e9yPl8Tt2LEj029JLxTEixcvHvRuSD62Y8eOTIm/seKxfI9TNgBTo6Xf9/fff7fHH3/cLrjgAnvttddyPCjeG6YvOSfRHphI9uzZYwsXLoz78ZJ3VqxYocOZhgi+9erVC3o3JB9bvnx5wgX8IkWKpG4ArlSpkvvBCSecYO3bt3fN0aVLl7Zt27Zl2Z5aLffB+812RYsWzbRNpJpxLOiPpplcgsOJQfClS0E1pfSTSAFZJC/QfZlIDXjJkiVRb5s0AZjm5ZkzZ7phQyRa+WvDBM21a9e6AzNv3rwsj2UccI0aNdzf1atXd7/Jni5fvnxoG/6Ht128F4cSJUrE/XjJOwRffRYiktcSLdjHUohMqiQsxvaOHz8+0+1z5851tVcyn1u0aOFqP4sWLQrdv27dOvv222/dfWByDi7M06ZNy/Q8jAWm1hSpD1lERORgS5oaMLVckq2efvppK1OmjJuIY9myZa4PmD6h888/3wVpxgoz3vfmm292E2uMHj3a1XS9TGlu435uL1SokDVt2tSNH/7kk09s1KhRQb9NERGR5ArAuOmmm1zfL5NqMCa4bNmy1qVLF3e715/L7cOHD7dhw4a5gNykSRMbNGiQC9qevn37uuA7ZcoUNysWNd9HHnkky9hgERGRoBTISKS3OR/58ccf3e8GDRoEvSv5GsPAyESnS0J9wOmr49ujbf7634LeDclHjq9QxT48+8aDGiuSpg9YREQkP1EAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIpLfA/DevXvt+eefty5dutiJJ55oZ555pt1///22devW0DbXXXed1a5dO8vPe++9F9pmx44ddt9991nLli3d81xxxRW2YMGCgN6ViIhIVoUsiTzyyCP24osvWu/eva1Jkya2bNkyGz16tH3//fc2efJkO+SQQ+znn3+2888/3y666KJMj61atWro71tvvdW++eYbu+2226x8+fL2zDPP2JVXXmlvvfWWHXnkkQG8MxERkSQNwNRaCb49evSwG2+80d126qmn2qGHHmoDBgywOXPmWP369e3XX3+15s2bu5ptJATrGTNm2BNPPOFq0DjttNOsXbt29vTTT9vQoUMP6vsSERFJ6gC8efNm69atm3Xs2DHT7dWrV3e/161b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mR+/woULu+FFZDijdOnStm3btiyP9W7j/njxWjVr1rREJFIAEMkr1apVS9oasEgqnxtLliyJetuUCsAzZsxwv8PnmKYp+tBDDw0dPEov69ats4oVK4a2oe+XABoewGO9OJQoUSLux4skC3WDiByYcyOWQmRSJWHlhtm3Bg8enKkflz7ZWbNmWbNmzdz/1IY5ANOmTcs0vOmjjz5y20TbNCAiInIgpVQNmMk0Zs6c6cYBM+sVw43GjRvngnD//v3dNiyByJhfxhJTE65du7abiGPx4sU2ceLEoN+CiIhI6gXgunXruiBKwtXAgQNdAG7SpInLiGYBCA9jiZkakykryYpmKkoCdXaTd4iIiBxsSRuAaS5mYo5wZEGPHz8+x8fSzHz77be7HxERkWSUUn3AIiIi6UIBWEREJAAKwCIiIgFQABYREQmAArCIiEgAFIBFREQCoAAsIiISAAVgERGRACgAi4iIBEABWEREJAAKwCIiIgFQABYREQmAArCIiEgAFIBFREQCoAAsIiISAAVgERGRACgAi4iIBEABWEREJAAKwCIiIgFQABYREQmAArCIiEgAFIBFREQCoAAsIiISAAVgERGRACgAi4iIBEABWEREJAAKwCIiIgFQABYREQlA0gbgP/74w5o2bWpffPFFpts3bNhgAwcOtFNPPdVOOukku/baa23VqlVZHv/SSy9Zhw4drGHDhta1a1d75513DuLei4iIpGAAXrt2rV199dW2adOmTLfv27fPevbsaXPmzLHBgwfb8OHDXfDt3r27bd26NbTdCy+8YMOGDbPOnTvbE0884YLwrbfeatOnTw/g3YiIiGRVyJLI/v37berUqTZixIiI93/44Ye2YMECt03dunXdbY0bN7YzzzzTJk+ebL169bKdO3e6oHv55Zdb//793TYtW7a0jRs32qOPPmrt2rU7qO9JREQk6WvAixYtsiFDhti5555rI0eOzHL/7Nmz7eijjw4FX1SsWNEF4VmzZrn/f/jhB1dzpvnZr1OnTrZ06VJbvXr1QXgnIiIiKRSAK1eu7JqJBw0aZMWKFctyPwG0WrVqWW6vWrWqu8/bBuHbHXvssZnuFxERCVJSNUGXK1cux/u3bNliRx11VJbbS5YsGeoD9n6XKlUqyzb+++ORkZFh27dvt0QUKFDAihcvntBziCRqx44d7vucbHR+SKqfGzyW73HKBeDc5HRQvDdMP3JOoj0wkezZs8cWLlxoiSD41qtXL6HnEEnU8uXL3YUm2ej8kHQ4N4oUKZJ+Abh06dK2bdu2LLdTq+U+bxuwXdGiRTNtE6lmHIvChQtbzZo1LRGJFABE8gpdNMlaAxZJ5XNjyZIlUW9bKNUOzLx587LczlCkGjVquL+rV6/ufq9cudLKly8f2ob/4W0X78WhRIkScT9eJFmoG0TkwJwbsRQikyoJKzctWrSwFStWuGxpz7p16+zbb79194HJOQiS06ZNy/TYDz74wCViRepDFhEROdhSqgbMUKKxY8e68b4333yzy5QePXq0q+lecsklbhtu435uL1SokJtNi/HDn3zyiY0aNSrotyAiIpJ6AZiO7eeee87NgMVMV1T1mzRp4oYtlSlTJrRd3759XfCdMmWKmxWLmu8jjzySZWywiIhIUJI2ADdr1ixTU7OnUqVKudZkCcy9e/d2PyIiIskopfqARURE0oUCsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiCsAiIiL5g2rAIiIiAVAAFhERCYACsIiISAAUgEVERAJQyFJUkyZNbPPmzVlu/+yzz+zwww+31atX2wMPPGBff/21u71NmzY2cOBAq1ChQgB7KyIikgYBeM2aNS743nXXXdagQYNM95UrV862bNliV155pZUuXdqGDx9u27Zts4ceesh69eplr776qhUsWDCwfRcREUnZAPzzzz+73x06dLCKFStmuf+5556zP//8015++WVXG0atWrXsvPPOs2nTplnnzp0P+j6LiIikfB/wwoULXVNypOCL2bNnW6NGjULBF/Xq1bOqVavarFmzDuKeioiIpFENmABM83Lfvn1tzpw5lpGR4fp4Bw0a5ILy0qVLrX379lkeRwDmvnjxOtu3b09o3wsUKGDFixdP6DlEErVjxw73fU42Oj8k1c8NHsv3OK2boDdu3GjdunWza665xpYsWWJjxoyxK664wt544w3XB1yqVKksjytZsqStWrUq7tfds2ePC/6JIPhSGxcJ0vLly92FJtno/JB0ODeKFCmSvgF45MiRLsDWqVPH/X/yySfbcccdZ5deeqm9+eabOZZeoi2ZRFK4cGGrWbNm3I9P9PVF8kq1atWStgYsksrnBhXCaKVkACbghmvcuLFrlqZ2zG8yn8Nt3brV3ZfIxaFEiRJxP14kWagbROTAnBuxFCJTLgmLpmeGEi1btizT7fv373dNxIceeqgrwURqaua2GjVqHMS9FRERSZMATDPw0KFD7dlnn810+8yZM23nzp3WrFkza9GihX377bf2119/he7/6aefbOXKle4+ERGRoKVcEzR9v1dffbU988wzbtINAuqiRYtcEhaZ0Pxfv359mzhxol111VV2ww03uMD88MMPu+Snjh07Bv0WREREUi8AY8CAAW64ERNtTJgwwTU7X3LJJS7Ygv+5nVmwmH6yaNGi1qpVK/d3oUIp+ZZFRCTNpGQ0YirJ7t27u5/s0Ncb3kwtIiKSLFKuD1hERCQdKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAVAAFhERCYACsIiISAAUgEVERAKgACwiIhIABWAREZEAKACLiIgEQAFYREQkAArAIiIiAUjrAPzVV1/ZRRddZCeeeKK1bt3aRo0aZXv37g16t0RERNI3AP/www/Wq1cvO+KII2z06NF22WWX2dNPP20jRowIetdERESsULoeA4JujRo17LHHHrMCBQpYq1atrEiRIjZy5Ejr2bOnVapUKehdFBGRfCwta8C7d++2OXPmWLt27Vzw9XTq1Mn27dtns2fPDnT/RERE0jIAr1692vbs2WPVqlXLdDu13mLFitnSpUsD2zcREZG0bYLesmWL+12qVKks95UsWdK2bdsW83MS0DMyMmzevHkJ7x+18n0dRlrG3t0JP5dILLYXKmKbf/zRfZeTFefHwMpNbU+lfUHviuQjhQ8paD/mwblBrPC3vOa7ALx///48f07vgEZ7YHNTsPThefI8IvHIq+/xgVKhWMmgd0HyqQIJnhs8Pl8H4DJlyrjfkWq63Fa6dOmYn/Okk07Kk30TERFJ2z7gY445xgoWLGirVq3KdPsff/xhO3fudNnRIiIiQUrLAMxwo6ZNm9pHH32UqTn6gw8+sEKFCtkpp5wS6P6JiIikZQDGddddZz/99JP169fPPv30Uxs3bpw99NBDdskll1iVKlWC3j0REcnnCmQkczpkgmbOnOkm5FiyZIkddthhdv7559v111/vmqdFRESClNYBWEREJFmlbRO0iIhIMlMAFhERCYACsIiISAAUgEVERAKgACwiIhIABWCROGjwgIgkSgFYAjNmzBirXbu27d271/0/cOBAa9WqVVJ/Ir/99pv17t3bfv3116B3RVLQ6aefbrfeeutBea0rrrjCTTwkySstF2OQ1J29rHv37pbMPv/8czezmkiyGzJkSNC7ILlQAJakWkRDRPJGzZo1dSiTnJqgJapms1GjRtmIESPcQhYszXjLLbfY1q1b7ZlnnnHNxo0aNXLTfG7YsME9hlWnHn74YWvfvr0df/zx7v6rr77azc+dnfAmaBa2Zv5ubmvYsKFdc801NnXqVNdsvWbNmtBjrrrqKnd7p06d3Gt17NjR3nrrrUzP/fPPP9sNN9zg9r9+/frWsmVLGzZsmO3YsSPT+6RZ/JFHHrEWLVpYgwYN7NJLL7V58+a5+9944w2766673N9nnHGGe22RWO3bt8/uu+8+a9KkiZ188sl222232V9//RW6n6lzr732WnfOcK716dPHli1bFrqf7z7nwLRp02zAgAHWuHFjty1/+58nvAma8/Xuu++2U0891T0v2z///PPuufyPGTx4sI0fP96dD5xP5513ns2ePVsf9AGgACxReeGFF2zlypUuOPXt29feffddu/DCC11zLIGMfq1PPvnEHnvsMbf97bffbq+99prrL+VkHjRokC1evNid9NEmMHGx4HUvv/xye+KJJ9x83v/85z+zbDd//nx78skn3UVr7NixVrlyZff6XMiwbt06u+yyy1ywfeCBB1yhoUuXLjZx4kR77rnnsrzPBQsW2L333uuC/++//+4CN/3Ubdq0cRdDPP74467JXCRWBE4KdXwX77jjDvvPf/5jvXr1ct8xzrGLL77YLZ16//33ux+CKoF07dq1mZ6HwmCFChVcoZEC8ccff+y+t9nh+8qKcHyfOU9ZG51CcqT9e++999y+8T0Hj/n777/1YecxNUFLVEqUKOFqwYULF7bTTjvN3nzzTRecXn75ZStbtqzbhgvJ3Llzbffu3bZ9+3ZXku7atau7j+UhKYFz0eHicsQRR+T4eqzlzGsQSHv06OFuo9bKxeizzz7LtO2WLVvcfnjrPFerVs3atm3rFuOgGe6XX36xOnXquItO6dKl3TbUAujP/frrrzMFUt7nU0895d4nCNpciAjKJ5xwgh199NHu9rp169pRRx2lb4/ErEyZMvbss89aqVKl3P+HHnqoaz2aNWuWffjhh27JVGqm3nnF9/7MM890hcx77rkn9DzNmzcPtchwTlIQJXBG8uWXX9qcOXPc4jQdOnQIPS/n59KlSzNty/lLodl7/ZIlS7pC8BdffGGdO3fWJ56HFIAlKjRFeUEJ1EaLFi0aOklRrlw518TMeszUMkGwXb58ua1YscLVkL0TPDdcLKgp04TtxwUjPACzD17whRfcveZlmpP5oUmbWjG1DIIyzeVeQPbQ1O1/n5UqVXK/KVCI5IXWrVuHgi9o6iXofvPNN/bVV1+5wipBzxsdwHlGgTH8e0+zsx/f+127drk10A85JHPjJs/LKnB0nXjYhoBKDdqPc8l/Xnvnk86BvKcALFHxXzA8xYsXz3Z7+oyGDx/u+q64mNDPxG9E0wTt9SWXL18+0+00uYUrVqxYpv+9iw8XIu83TeeTJk1yFxEuKARaLmzh+5Ldc2ncr+QVCq/h3zFqwZs3b7aNGze6JmDyFML5C4aRzj//9z48APO81LwJ9LGeTwUKFHC/dQ7kPQVgyXM0H9OkRjMwfbI023ISEwCjTebwap7r1693zcLhgTkW48aNc329Q4cOdc1vXIhAH7bIwbZp06YsSVkESAqbtMg0a9bMevbsmaevyfnE61Kr9gdhzi8JjpKwJM/RF0VTGIklDC3yStBe8PVqpjkhs5Mms+nTp2e6/aOPPop5f7799lurXr26devWLRR8aRqnGTrWUn14zUIkVvSl0h3iocZLYCTw0vxMnyw5C2Thez8vvfSSvf/++3EfbJ6X845ELQ/f/RkzZugDDJBqwJLnaD6jlP3oo4+6BCr6fBnCQ5IJ/EN/skOt+YILLnCJU9QQSHoiGHv9yLEEQpqbCf7UhE888UTXB0zN3EsWi4XXN8a+MDzK3/csEg1qnf369XNDfryRBQyPIymqYsWKLgua0QNk7tPM/Prrr7vkKoYBxoshTyRtMYqAVqQjjzzSjVJYtGhRqIAsB58CsOS5qlWruuENDGFgyBJBi8A3YcIEd9H573//a/Xq1cv1ebhY0PxM8zEZ1CSi8HwMSfI3S+eGoUM08b344ovusQxTOuecc9yFh4xn7qMPLhrsAz+8PzJLCeoisbjooovcOHmCMP26DIkj25/vIzVfarsUPLmNWiqFPP5nnHsiKBAzCoGAT42bhCyGNzGGXoJRIEM965KEGHPIsCZqBf7gOHLkSFcjIEtaRKLD3OXff/+9C7r+JKv+/fuHhvzJwacasCQlmt6YLYim5yuvvNLVeLmAUIv2JsMQkejQZcPMbQRgkg/Jr6BbhpwKRitIMFQDlqS1cOFC1/RG4KXfmIQu+sfoG1O/lUhsGAtMFwznFU3QNG0zPaw3WY4cfArAIiIiAdCYChERkQAoAIuIiARAAVhERCQACsAiIiIBUAAWEREJgAKwiIhIABSARUREAqAALCIiEgAFYBERETv4/h/JkX4aPTbrFgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(target\n", + " 0 212\n", + " 1 357\n", + " Name: count, dtype: int64,\n", + " target\n", + " 0 0.372583\n", + " 1 0.627417\n", + " Name: count, dtype: float64)" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "sns.set_theme(style=\"whitegrid\", context=\"notebook\", font_scale=1.1)\n", + "class_counts = df[\"target\"].value_counts().sort_index()\n", + "class_labels = [data.target_names[i] for i in class_counts.index]\n", + "fig, ax = plt.subplots(figsize=(5, 4))\n", + "ax.bar(class_labels, class_counts.values, color=[\"#d95f02\", \"#1b9e77\"])\n", + "for i, v in enumerate(class_counts.values):\n", + " ax.text(i, v + 5, f\"{v} ({v/len(df):.1%})\", ha=\"center\", va=\"bottom\")\n", + "ax.set_ylabel(\"Count\")\n", + "ax.set_title(\"Class Distribution (Benign vs Malignant)\")\n", + "plt.tight_layout()\n", + "plt.show()\n", + "class_counts, class_counts / len(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "df93d504", + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-23T01:21:07.277533Z", + "iopub.status.busy": "2025-11-23T01:21:07.277398Z", + "iopub.status.idle": "2025-11-23T01:21:07.481313Z", + "shell.execute_reply": "2025-11-23T01:21:07.480748Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Top 4 features by |corr with target|:\n", + "worst concave points 0.793566\n", + "worst perimeter 0.782914\n", + "mean concave points 0.776614\n", + "worst radius 0.776454\n", + "mean perimeter 0.742636\n", + "worst area 0.733825\n", + "mean radius 0.730029\n", + "mean area 0.708984\n", + "dtype: float64\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/pk/4xngd7j10b97ydvy7037lfb40000gn/T/ipykernel_15690/3540662234.py:12: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.boxplot(x=df['target'].map(target_name_map), y=df[feature], ax=ax, palette=[\"#d95f02\", \"#1b9e77\"], showfliers=False)\n", + "/var/folders/pk/4xngd7j10b97ydvy7037lfb40000gn/T/ipykernel_15690/3540662234.py:12: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.boxplot(x=df['target'].map(target_name_map), y=df[feature], ax=ax, palette=[\"#d95f02\", \"#1b9e77\"], showfliers=False)\n", + "/var/folders/pk/4xngd7j10b97ydvy7037lfb40000gn/T/ipykernel_15690/3540662234.py:12: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.boxplot(x=df['target'].map(target_name_map), y=df[feature], ax=ax, palette=[\"#d95f02\", \"#1b9e77\"], showfliers=False)\n", + "/var/folders/pk/4xngd7j10b97ydvy7037lfb40000gn/T/ipykernel_15690/3540662234.py:12: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.boxplot(x=df['target'].map(target_name_map), y=df[feature], ax=ax, palette=[\"#d95f02\", \"#1b9e77\"], showfliers=False)\n" + ] + }, + { + "data": { + "image/png": "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CqZ5WVmIbJs3b3b3f/31l8vkAwBEJpUTAHBhJk6caJ06drQ8UVFW1eezeVFR9sqQIa4guupRAQAQNsEpBY9SStMCtSpfiRIl4sx5V72qO++802rXrh27T7WoGjdubG+++aardRWITJkyUegxnciQIYO7V2afl5EHAIgs69atC3YTgLDMmFJgqn1MjA03s2yqC2tmqgbbsUMHVyidwugAgLAJTuXOndvdJ5QhpX25cuVK8vmzZs2yfv36ufThsWPHuqLoHn0hxv9S1OtVr17dZVUFSplY2bNnD/j5CB+aWurd85kDQGRiSh9w4TSVTxlTGur9X2/pfwEqbX8YFeVW8KNQOgAgbAqilypVymWneNOnPDt37nR1frSKX2KGDx9uzzzzjNWqVcumTZtmBQsWjPP4J598Yt9///05zztx4kScIBYAAACA5FONKU3l8wJT5hegqubzuccBAAib4JRqPNSsWdPmzZsXZ4rf3LlzLWPGjHGm5PlTfSlNzbv77rtdHSnVp4pv6tSp9vzzz9vp06fjBL1+/vlnF9ACAAAAcOFU/HxFVJSbyudP28ujotzjAACETXBKVC/qjz/+sJ49e9rXX3/tAk+vvvqqtWrVyi655BI7efKkLV++3Hbs2OGO10iMsqbKlStnLVq0sN9++8097t327t3rjuvRo4crZK37b775xmVSqRi6pvZ16NAhyO8aAAAACE9ale+Az+dqTHkBKq/m1EGfj742ACC8ak6JMqdGjRrlCpR3797dTc/r3Lmz+1l27dplLVu2dEEmBbDmz5/vsqE2bNhg99133znne/HFF6158+bWoEEDV4dK53700UddJpaKMz7xxBOWJ0+eILxTAAAAIPyp3qtW5VPx81lnV+tTxpQCU9pPMXQAwPlE+Xw+33mPQoJWrlzp7q+88kquUDqgwvlaCnnSpElWuXLlYDcHAJAG+G7neiJlq12q+LlmNmgqn2YnEJgCgMiyMo3iICGXOQUAAAAg/CgQxap8AICIqDkFAAAAAACA9IPgFAAAAAAAAIKGaX0AAABAkG3bts0OHToU7GYgnly5clnx4sW5LgCQxghOAQAAAEG0f/9+t7p0TEwMn0OIyZAhg82ZM8fy5s0b7KYAQERLUXDq8OHDljNnTvfznj177JNPPrHo6Gi7/fbbrUCBAqnVRgAAACBiKfAxc+bMiMic0kp9AwYMcDet2BcJmVMEpgAgRINTGt3p2bOnHTt2zD744AM7cOCA3X333bZ7927z+Xw2duxYe/fdd6106dKp32IAAAAgwkTa1DEFpipXrhzsZgAAIrkg+siRI+2XX36x+vXru+1Zs2bZrl277Mknn7QpU6ZYxowZbcSIEandVgAAAAAAAESYgDKnvvrqK3vwwQetV69ebnvBggWWP39+a9++vdt+4IEHbOLEianbUgAAAAAAAEScgDKnNH2vYsWK7mfNjV+xYoXVqVMn9vF8+fK5KX8AAAAAAABAqgenChUqZFu2bInNmjpz5ow1aNAg9vHly5db0aJFAzk1AAAAAAAA0pGApvUpS2ry5MlutT4trZo9e3Zr2LChqzs1fvx4++ijj6xr166p31oAAAAAAABElICCU88884zt3LnTpk2bZjlz5rSXXnrJ3a9bt84FrZo0aWJdunRJ/dYCAAAAAAAgogQUnFIgaty4cbZ37173c+bMmd1+LRf7xRdfWOnSpVO7nQAAAAAAAIhA0YFmTqkIulbo8wJTkjVrVheYWrJkiXXq1Ck12wkAAAAAAID0Gpzy+Xx28uTJ2JtqSv31119x9nm3EydO2HfffWdLly5N+9YDAAAAAAAg8qf1/f3333brrbe6wJN/9pRuibnyyitTp4UAAAAAAABI38Gp4sWL27/+9S/78ccfXRbV7Nmz7ZprrrGSJUuec2x0dLSb7teqVau0aC8AAAAAAADSY0H0e+65x91k27Zt1q1bN6tTp05atg0AAADJcPr0abeK8syZM10/rWDBgtaoUSPr2bOnW7xGtmzZYi+//LL98MMPbvuGG26wPn36WIECBWLPc+bMGXvrrbds1qxZtmfPHqtUqZI99thjVrduXT4HAAAQWgXRp06dSmAKAAAgRLz++uv26quvWpMmTVxw6aGHHnKZ7h06dLCYmBg7dOiQtW3b1rZu3WoDBw60vn372vfff+8WsFFAyjN48GAbM2aMtW7d2kaOHGmFChWyLl262K+//hrU9wcAACJbsjOn4lu3bp199tlnblTNv1PjiYqKcp0fAAAApJ1jx47ZlClTrH379tarVy+3T9nt+fLlc1lPWqRm5cqVtnv3bnv//fddwEmUFXXXXXfZF198Ybfccott377d3nnnHXvyySetXbt27pjrr7/eZc4rUDV27Fg+RgAAEDrBKXVi1NnRSFxiCE4BAACkvYMHD1rz5s2tadOmcfaXK1fO3e/atcsWL15s1atXjw1MyWWXXWalS5e2RYsWueCUMqk0PVDZV/61RBs3bmyjRo1yqzJnzpyZjxQAAIRGcOrNN9+0woUL25AhQ1zHho4KAABAcBQpUsT69+9/zv4FCxbEZkitX7/eBZniU3BKj4nus2bNasWKFTvnmFOnTtmmTZusYsWKF9w+LaZz9OjRC34ewtPx48dj7/ncASDy+Hw+l4wUEsGpv/76y3r37m01a9ZM9QYBAAAgZX755RdXO+rGG2+0KlWquJpTXmF0fzly5LDNmze7n5M6Rg4fPhxQWxTYWrVqVUDPRfjx/j3p74WESn8AAMJf5jTIpA4oOKUVYJKa0gcAAIDgUI0prapcokQJGzRoUOwoZ2K80c+kjvE/7kJlypTJKlSoENBzEX4yZMjg7suWLeuy9gAAkWXdunVpct6AglMqjPnee+9ZixYtYkfTAAAAEFyzZs2yfv36uel3KmCuouiSK1cuO3LkyDnHKxtKjyV1jLfPO+5CKaiVPXv2gJ6L8KOpod49nzsARJ6oNJjSF3BwSrUNlKKtgplaxaVAgQKuYGb8BqtoOgAAAP43bS7QAE9yDB8+3NUFrVevno0YMSLOAKKyWLzpVv60T4XSvWO08p8KqKu2qEe1ppT9VLJkST5GAAAQOsGpZ599Nvbnjz76KMFjCE4BAAD8vzvuuMNlnXft2jXVL4vqSykwdffdd9sLL7xgGTPG7eIpYKVj9uzZ48ozyB9//OECT7169XLbdevWdf03rcrcunVrt09lHObNm2e1atViARwAABBawakvv/wy9VuCOHbs2GH79+/nqoSQjRs3xrlH6MibN68VLVo02M0AgCQpMKRs89Sm7yVlTZUrV84Fv3777bc4j5cqVcpatWpl06ZNs3bt2lmPHj3cSmqvvfaaW3W5adOm7rhLLrnElW4YPHiwy6C69NJLXRmHtWvXuucCAACEVHCqePHiqd8SxAlMtWzRwk6cPMlVCUEDBgwIdhMQT5bMme39GTMIUAEIaVo575NPPrFbb701VWvxzJ8/306fPm0bNmyw++6775zHX3zxRWvevLlNnTrVBg4caH369LEsWbJY/fr13c/+WVb9+/e3PHny2JQpU9w0RBW0VsZVtWrVUq29AAAAAQWn3n//fatTp44befO2k6Nly5bJOg5xKWNKgakWJfZZ4SynuTxAEnadyGgztuZzvzdkTwEIZepHffPNN2763BVXXOGyqLyVzfwpo+lCdOrUyd3Op3z58jZ+/PjzLg391FNPuRsAAEBIBac0ivbKK6/EBqe0rZoE51uWmOBUyigwVTzbqRSeBQAAhAKtnudZtmxZov2nCw1OAQAApIvglFK7Ndrmvw0AAIDkW716NZcLAAAg0OBUzZo1k9xOTUuWLLGhQ4famjVrXM0DrTrTvXv3c1ad8ajGgop0zpw507Zt2+ZWoGnUqJH17NnTcubMGXvcli1b7OWXX7YffvjBbd9www2uzkJaFCYFAAAAAABAGhZE9yxcuNAV4VRQKFOmTFasWDFr2LChuwVixYoVrmaCnq+AlEYYR4wYYYcPH7a+ffsm+JzXX3/dZXJ17tzZatSo4YqB6jnLly+36dOnW3R0tCvo2bZtW8uVK5crBHrkyBF79dVX3WspqJVQvQcAAIDUduDAAXv77bftq6++su3bt7ufs2bN6voyjz76qJUuXZqLDgAA0p2AglMxMTHWu3dv+/zzz13dqdy5c7t93333nX344Yd20003uQCR6iZcCD1H0weHDRvmnqtVZFSYc8iQIdaxY0crUqRInOO1zLE6c+3bt7devXq5fSrcni9fPnvsscds6dKlbltBqt27d7tC7oUKFXLHafWZu+66y7744gu75ZZbArkMAAAAyfbf//7Xrab3999/W8WKFe3k2VV5taCD+lTff/+9vfvuu1auXDmuKgAASFeiA3nShAkTbO7cudaqVSv79ttv3VS5H3/80RYvXuz2LViw4ILrUqmDpmDSzTffHCeo1axZMztz5ow7d3wHDx50SyM3bdo0zn6vU7dr1y53r+dWr149NjAll112mRudXLRo0QW/fwAAgAulsgUKUH3wwQeuL+UtLHPjjTe6gTRtjxw5kgsLAADSnYCCU7NmzXJ1nfr16+dqPHkU/NE+dbLU8boQqgl16tQpK1u2bJz9ypZSuvv69evPeY4e08qBCjT5U3DMy44SPTf+eUXBqYTOCwAAkNo0IPbggw9alSpVzskur1atmj3wwANusA8AACC9CWhanwJJrVu3TvTxevXq2eDBgy/onKoLJf5FzD05cuRwdaKS45dffrExY8a4AJk6f965Ezvv5s2bLSU0ynn06FFLTcePH0/V8wHpgX5vUvt3EUD6o+/1Cy1LkFzK+C5evHiij2vATzWpAAAA0puAglOqMaUi6InZunWrC/xcCNWsSilNC+zWrZuVKFHCBg0aFLvfS5tPSEo7oMr2WrVqlaWmlAbMgPTor7/+clOAASClVO8yLZQqVcoNorVs2TLBx7/55ht3DAAAQHoTUHBKhcrfeecdN7Xv6quvjvPYzz//7Ip5NmnS5IIDXpJQhpT2aaW980011JRCFRgdO3asK4ru0XMTOq9WATzfec9HqxRWqFDBUhOrBwIXTlN3vam8ABCodevWpdnFU51MZZarHIEyvL1Bsj179tibb75pX3/9tVtwBgAAIL0JKDilpY5VZPz++++3mjVrugLkyk7asGGDLVu2zPLnz++OuRAaKVRQJn7W0M6dO910Ha3il5jhw4e7Tp2mE2rFv/hZW/qjNaFsJO1TofSUUKcye/bslppUYwvAhf/epPbvIoD0J62m9Enbtm1t7dq1NnDgwNgM765du9qJEydcP6px48ZuBWIAAID0JqDglAqRz5w501599VX76quv3HQ60R+GWl1Po37FihW74BR6BbrmzZtnnTp1sujo/9Vq16qAGTNmtNq1ayf4PNWXUmDq7rvvthdeeMEdG5+CVjpOI5NeAfc//vjDNm3aZL169QrgCgAAAFy4F1980e644w774osv3CCZpiOrDpWy0Rs0aMAlBQAA6VJAwSlR8Om1115ztaL27dvnRvyUMeUFlQKhelEaVezZs6e1aNHC1qxZ4zKhWrVqZZdccomdPHnSBZWKFi3qbhs3bnRZU8rc0vG//fbbOdlYapOeP23aNGvXrp316NHDZWKp7Uqrb9q0acDtBQAASC5llysTvEaNGu4W3/bt290x//jHP7ioAAAgXQk8kmRme/futc8++8xmzJjhaj59+eWXKVotS5lTo0aNcsXWu3fv7mpXde7c2Z555hn3+K5du1wRUWVtyfz58+306dNuOuF9993nHvO/qT2i+lNTp051GV99+vRxqfTKxBo3blyCmVYAAACprU2bNvaf//wn0cdVMuFf//oXFx4AAKQ7AUdmNJVu9OjRrk6CPxUYf/rpp+3ee+8N6LwNGzZ0t4RoFT5lU3k0/U+35NBI5fjx4wNqEwAAwIXasmWLDRs2LHZbWebK5FZJhPiUif7TTz/FLhADAACQngQUnHrvvffcdDsVE9c0vDJlyrhOlZZynzx5shv1U7aS6icAAACkRyVLlrT9+/fbd999F1tsffny5e4Wn8oiqBTBE088EYSWAgAAhGFwasqUKa5WggJR/jWmqlSpYk2aNLEHHnjA3n77bYJTAAAgXfPP2q5cubK98sordvvttwe1TQAAABFRc0o1oVRIPKHi5xkyZHCdLi2VDAAAgP9RLcybbrqJywEAAJAamVOaxrdq1apEH9+0aZNbzQ8AAAD/U7x4cXe/aNEiW7hwof3999/2+OOPW7Zs2WzJkiV29913W5YsWbhcAAAg3Qkoc+qpp56yTz/99JyC6Cr0+cEHH7jV+/r27Zua7QQAAAhrWmG4R48e9vDDD7uVh1WL6sCBA27A77nnnrPWrVvbwYMHg91MAACA8MicGjVqlFuVTyvQqLaUVtHLmDGjm+536NAhN7WvT58+cZ6jIqBaIhkAACA9GjNmjJvapwG8Bg0a2M033+z2a6pf7969bejQofbWW2+5VY8BAADSk4CCUwo+lS1b1t38XXrppanVLgAAgIgye/Zsu/POO+3BBx+0ffv2xe7PnDmzderUybZs2WILFiwgOAUAANKdgIJTU6dOTf2WAAAARLDt27dbtWrVEn38iiuucAEsAACA9Cag4BQujl0n+HgAfk8ARIoCBQq47KjE/PHHH5Y/f/6L2iYAAIBQQPQjhM3Ymi/YTQAAAKlENaamT59uTZs2jV25TzU5Ze7cuW5RmRYtWnC9AQBAukNwKoS1KLHPCmc5HexmACGfYUggF0A4eOSRR+yHH36w++67z9XtVGBKi8toxb6NGzdayZIlrWfPnsFuJgAAwEVHcCqEKTBVPNupYDcDAACkgpw5c9p7771n48ePt3nz5lmWLFns999/d1lU7du3ty5dulju3Lm51gAAIN0hOAUAQALWrl1rEyZMcBktZcqUccGDihUrcq2QItmyZbMePXq4GwAAAFIpOBUTE2N79+51I31aChkAgHA3ceJE69Sxo+WJirKqPp/Ni4qyV4YMsXHjx1u7du2C3TyEuaNHj9ru3btdHyohmvIHAACQngQcnNJqM6+88ootXrzYTpw44VLUVTvh9ddftz59+lj16tVTt6UAAFykjCkFptrHxNhwZbqY2TEz62VmHTt0sHr16lmFChX4LBBQ3+npp5+2X375JcnjVq1axdUFAADpSsZAO1f33nuvnT592mrVqmVff/212+/z+ezPP/+0hx56yKZOnWpXXXVVarcXAIA0pal8ypgaYWZZz+5TgErbH0ZFucGYQYMG8Snggj333HP266+/2q233uqKn2fIkIGrCAAAEGhw6rXXXrNMmTLZJ5984u6vu+46t79OnTr26aef2oMPPmijRo2y0aNHc5EBAGFFNaY0lW+LAlXaNrMyZtbezKr5fO5xIBDKmOrQoYM99thjXEAAAAA/0YFcje+//94tg1ykSBE3lc+fRgIfeOABW7lyJRcaABB2VPz8B5/PqpjZGDPbefZe20t9Pvc4EIgcOXJY4cKFuXgAAACpEZw6fvy4FShQIMmVaFTsEwCAcNOwYUM76vO5TKmtZrbw7L3KoB/z+eymm24KdhMRplq0aGEffPCBq9UJAACAFE7rK1++vH377bfWqlWrcx5T3am5c+dauXLlAjk1AABBtXDhQssbHW0jYmLi1JwaqZpT0dG2YMECa9SoEZ8SLli3bt1s+fLlLsCpwvoFCxY8JwNd20z7AwAA6U1AwSkto/3UU0+5grBeB/3IkSO2YsUKe/vtt11Nheeffz612woAQJpTTalqfsXQzS9AdfXZx4FAfPTRR/bdd9+5gTz9nBCCUwAAID0KKDj1j3/8w7Zu3eqKnk+ZMsXt69mzp7tXh0ur9TVv3jx1WwoAwEWgmlLzoqLs2NmAlEfby6OirAs1pxCgt956y9Xm7Nu3r5UtW5bV+gAAAFISnPJS02+//XY3vWHz5s125swZK1GihKvVUaFChUBPCwBAULVv395eGTLEepnZiLMBKgWmtH3Q53OrrQGB2L17tz399NPWoEEDLiAAAEBKg1OLFy+2unXrutE/ZUkBABApKlasaOPGj7eOHTrYrKgoq+rzuYwpBaa0nwEYBEr/dhSgAgAAQCoEpzp16uSKeN52221uit9ll10WyGkAAAhJqq2ogtXjx493NaY0lU8ZUwSmkBKPPvqoPf7441a5cmWXaZ4pUyYuKAAAQKDBqcGDB9ucOXNs2rRpNnnyZLcy3x133OGCVZdccgkXFgAQ9hSI0sIfQGqZMGGCZcmSxQWpMmTIYLly5Tqn7pQKoitDHQAAID0JKDilQJRu+/fvty+++MIFqoYNG+Zu11xzjcumatq0qet0AQAAwOz06dOuELpuAAAASIWC6JI3b15r2bKlu+3atcsFqubOnWv9+vWzl156yZYvX56S0wMAAESMqVOnBrsJAAAAISk6NU5y6tQp+/XXX+23336z9evXm8/ns1KlSqXGqQEAAAAAABDBAs6cOnPmjH333Xf273//27788ks7dOiQFSpUyO6++2435U/FPgEA6dO2bdvc9wJCi6bbFy9ePNjNSDfuu+8+69mzp1vh2NtOjvfeey+NWwYAABABwSlN25s3b54dOHDAsmbNao0bN3Z1purUqWPR0amSjAUACFOqR9i8eXOLiYkJdlMQj4pvq06kpuUj7ankwfHjx+NsI3Xt2LHD/Z+D0KEVTv3vERr0/37RokWD3QwASN3g1Icffmi1a9d2GVI333yzZcuWLZDTAAAitAM8c+bMiMic0h9XAwYMcLcyZcpYJGROEZi6eBYuXBhne8GCBQzipXJgqmWLFnbi5MnUPC1Sif7fROjIkjmzvT9jBgEqAJEVnFq0aJGbwgcAQEIibeqYAlNMV0dK3XXXXS6r8MEHH+RipgJlTCkw1aLEPiuc5TTXFEjErhMZbcbWfO53huwpABEVnPICU7t377ajR4/GmbqhWlRHjhyx//znP/bwww+nXksBAADC2IYNGyxz5szBbkbEUWCqeLZTwW4GAAC42MGp7du3W9euXe3PP/9M8rhAglNLliyxoUOH2po1ayxPnjyuwHr37t0tY8bzN3Xnzp12++2327Bhw+y6666L89hLL71kU6ZMOec5vXv3ts6dO19wOwEAAC5E9erVbfHixS57KioqiosHAACQkuDUq6++6gJTt9xyixsB/Oijj6xLly62d+9eVyj9xIkTCQaCzmfFihXWqVMna9iwoQtIrV692kaMGGGHDx+2vn37njdg1qFDB1ekPSE6V7169dyqOf6KFStmoZyCC4DfEwCRoUGDBvbGG2/YTTfdZDVq1LACBQq4IvX+FLR67LHHgtZGAACAYAgo+qHsJhVDf/nll13gaPbs2Xb99dfbtdde67KllO2kop9XXXXVBZ1Xgajy5cu7zCd1zurXr++CX0OGDLGOHTtakSJFznmOphTq9QcPHpzkuRWc0jmqVatmoU7FalW0UHPDAZyffl8o8gwg1Kk/IyqJsG3btgSPITgFAADSo4CCU8pOUmq65MyZ02Uf/fbbby44dckll7h09S+//NIef/zxZJ/z5MmTtnTpUhfc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f353AwAAQOLmzJljd911l/Xu3fucvtTTTz/tCpFr4C+lwSkAAIB0E5z65ptv7NNPP7U9e/a4lPT4lJI+efLklLYPAAAgImil4yuuuCLRx6+55prYVfUAAADSk4CCU1qp74UXXnD1EnLnzs3qLQAAAMkoiTB//nx74IEHEnxcU/409Q4AACC9CSg4pSKZFSpUsLffftuKFy+e+q0CAACIMP/617+sQ4cOruaUVs8rX768ZcqUyTZv3uz6VosXL3Z1qf766684zytbtmzQ2gwAABCywSkVQH/mmWcITAEAACRTs2bN3P3ff//tVujzp2x06dq16znPW7VqFdcYAABEtICCU8qW0vLCAAAASJ7u3bu7mpwAAABIheBUmzZt7M0337Q777zTihQpEsgpAAAA0pWePXsGuwkAAACRE5zau3evK4LeuHFjq1q1qhUoUMCio6PPOe61115LjTYCAAAACdp1IuDFp4F0gd8RAOEgoG/zN954I/bnH374IcFjlLZOcAoAAABpacbWfFxgAADSY3Bq9erVqd8SAAAA4AK1KLHPCmc5zXUDksicIogLINSRBw0AAICwpcBU8Wyngt0MAAAQjOCUVusbNWqUzZ8/37Zv324ZM2a0okWLWsOGDa1bt26WO3fulLQLAAAAAAAA6cC5VcyTYf/+/da8eXObNGmSK4yugFS9evVcUXTtu/fee+3gwYOp31oAAIAwpdWOv//++0QfX7hwod16660XtU0AAABhmzk1YsQI27p1qw0dOtSaNWsW57HPP//cnnjiCZdV9cwzz6RWOwEAAMLK4cOHbffu3XEWkbnxxhtdpnl8MTExLjil/hUAAEB6E1BwasGCBXbfffedE5iSpk2b2rJly9x0P4JTAAAgvTp58qTrL3nZ5FrJeMiQIe6WEJ/PZ3Xr1r3IrQQAAAjT4NTevXutQoUKiT6ux2bOnJmSdgEAAIS1/Pnzu0DUypUrXeBJWeU333yzXXrppeccq9IIOp5pfQAAID0KKDh1ySWX2M8//+xGAxOix4oUKZLStgEAAIS1Bg0auJv8/fffru9UtWrVYDcLAAAg/Aui33bbbfbpp5/amDFjXMq6Rz+PHj3aPvvsM7vllltSs50AAABhbdCgQQkGpn777TdbtWpVUNoEAAAQtplTXbt2dXWlXn/9dXvrrbdcJpXS1TUiePz4catevbp169Yt9VsLAAAQxkaOHGmbN2+2V155xc6cOWMdOnSwpUuXuseuvfZa16/KmTNnsJsJAAAQ+plTmTNntokTJ9pzzz1nNWrUcIEp3fTzgAEDbPLkyZYlS5bUby0AAECYGjdunKs7tX//frc9Z84cW7JkiTVu3Ni6d+9uv/76q7355pvBbiYAAMm2du1atxBaq1at3L22gYuWOeWemDGj3XPPPdaiRQu3+ozs2LHDChYs6B4DAADA//v4449dQXRlT8nnn39uWbNmtZdfftmyZctmR44ccfueeuopLhsAIOQpYaVTx46WJyrKqvp8Ni8qyl4ZMsTGjR9v7dq1C3bzkB4yp7zRPy13vGXLlth9w4YNs9q1a9uMGTNSq30AAAARQdP56tev734+deqUy5pS1rkCU1K+fHnbs2dPkFsJAMD5KUNKgan2MTG29cwZW3j2/qGYGOvYoYOtW7eOy4i0D07NnDnTXn31VbcUsqb4eW6//XarVq2a9e/f37744otATg0AABCRcuTIYYcPH3Y/q87U0aNHrV69erGPa8BPGegAAIS6CRMmuIypEWb2vyGW/91rO3dUlI0fPz7ILUS6CE5NnTrVGjZsaFOmTLGiRYvG7lcmlTKqtGTy2LFjU7OdAAAAYe3yyy+3adOm2bx589yiMtHR0a7elAqjf/nllzZ9+nSrVatWsJsJAMB5bdy40U3lyxpvvwJU1Xw+9ziQ5sEppaXfcMMNiT6ux9avXx/IqQEAACJSnz593HS+Xr162R9//OHqcRQrVsx++OEHVxA9b9687jEAAEJdmTJlbEVUlB2Lt1/by6Oi3OPAhQiocnmePHlsw4YNiT6utPTs2bMHcmoAAICIpJpSn376qX3//fcu81ylEKRy5cr2wgsvWLNmzSxnzpzBbiYAAOfVvn17V/xcQyre1D4FprR90OezDh06cBWR9plTmrb37rvvus5VfD///LO988477hgAAAD8T5cuXWzRokXWtGnT2MCU5MuXz5o3b05gCgAQNipWrOhW5ZsYHW0lMmSwhtHRVjxDBret/RUqVAh2E5EeMqceffRRW7x4sYuW6h+dUvaioqJs06ZN9ueff7oU9ccffzz1WwsAABCmNKiXVFkEAADCiaana2EPFT9XjakuZcq4jCkCU7homVP58+e3jz/+2P3D8/l89u2337qRwBMnTrh/oB9++GHAq81oWeWWLVu6EUVlXw0fPtxOnz6drOfu3LnTatasaf/5z3/OeWzv3r2u1kOdOnXs6quvtq5du7raWQAAABeDOuu///47FxsAEFHfbYMGDXKLeuiewBQuauaU5M6d25544gl3Sy0rVqywTp06uZUAVRh09erVNmLECLfsct++fZN87vbt212w7MCBA+c8plVwOnbsaPv27XPnyZAhg40cOdLatGljn332GWn0AAAgzd1///02cOBAN7qsVfkKFCjg+iTxaZAOAAAgPQk4OJUWFIhSsdBhw4a5aYL169e3zJkz25AhQ1xwqUiRIuc8JyYmxmbPnm2DBw9O9Lyff/65G6nUcVWqVHH7rrnmGrvppptchFcBMQAAgLT07LPPuvsff/zR3RKi/g/BKQAAkN6ETHDq5MmTtnTpUnv44Yddx8yjlWuUHqgaV/fee+85z1uzZo3179/fjUZed9111rlz53OO0XNLliwZG5iSwoULuwCVpiMSnAIAAGltypQpXGQAQKxt27bZoUOHuCIhJleuXFa8ePFgNyPdCZng1JYtW+zUqVNWtmzZOPuVLZU1a1Zbv359gs9T8fX58+e7JZkV3EqInhv/vFK6dGmXVZUSqrl19OjRFJ0D4eH48eOx93zmQPrA7336o+91/0Gy1KS6mEh9u06ETHcWCEn8joSm/fv3u5VaNRMIoUVT7ufMmWN58+YNdlPSlZD5Nvcixjlz5jznsRw5ctiRI0cSfF5y/sHo3CVKlEjwvKpnlRIKqK1atSpF50B48Aro//XXX66OGYDIx+99+qSSAmlp4cKFbmBNI+aZMmVyA22qt6kbkk99wCyZM9uMrfm4bMB56HeFP7RDiz6PmTNnRkTmlGopDhgwwN3KlCljkZA5xe9LOg5OpWXEWKOgiUnp6Kg6laxIkD54RWuVhVepUqVgNwcRSCuOJrSoA4L/e6/7hApXI3jy5MmTYC3KlFq3bp2lZV+nd+/eLmtbfRMtLqN93333nVvpWLUwVX8zrTK3Io2y5t+fMcNlHyB0RNofqZFCf2jrdwahJdKmjul3vnLlysFuBtJTcEqr3Kk2VJ06dRIdEXzttddcKlxyqYMmCWVIaZ+il4HScxM6r7KmUnJeUQcye/bsKToHwoOml3r3fOZIbTt27LC27drZyRMnuLghSCusIbRkzpLFZrz/fqr/sZWWgaEJEybY3LlzXZ3Mbt26WcGCBd3+3bt321tvveUWaVFdqrZt26ZZGyKNPn/+4A5N/JEKAEj14JSCOOo4eX744Qe78cYbE+wMaARQwamtW7deUENKlSrlRqW9KRT+mQSq+aFV/AKlTJdff/31nP16rZScFwBSi0b+FZg6XquCxeTOxoUFkhB98JjZ0nXu9yacAhOzZs2yRo0aWb9+/eLsL1SokNunIPUHH3xAcAoAAKQ7GZO7kt59991nBw8ejB1VHDJkiLslRKnqdevWveD6DioUOm/ePLd6XnR0tNuvEcaMGTNa7dq1LVD16tWzTz75xK3sd+mll7p9u3btsp9++sm6d+8e8HkBILUpMBWT/9zaewDCnxZ/ad26dZL9lcGDB1/UNgEAAIRNcCp//vwuELVy5UoXeBo1apTdfPPNsYEefwoq6fhbb731ghujFHelsvfs2dNatGjhgkmqvdCqVSu75JJLXJDsjz/+uOAU7mbNmtno0aNd0Ovxxx9307J0XrVT5wYAAEhrKmGgIuiJUda5FmsBAABIb5Jdc6pBgwbuJn///bfLpKpatWqqNkaZUwp8KXCkjCbVYujcuXNsdpOynVq2bGk9evRwAawLycqaOHGiqxnywgsvuMyvGjVq2DPPPBNb6woAACAt1a9f39555x03te/qq6+O89jPP/9s7777rjVp0oQPAQAApDsBFUQfNGhQgvt/++03VzeqSpUqATcoqaWUS5Qo4bKpElOrVq1EH9eKPsOHDw+4XQAAACnx6KOP2uLFi11BdA3IlStXzmWkb9iwwZYtW+YyunUMAABAehNQcEpGjhzpCoq/8sordubMGevQoYMtXbrUPXbttde6VWdy5qRuCgAAgDdQNnPmTHv11Vftq6++iu03aQVYlSDo3bu3FStWjIsFAADSnYCCU+PGjXPT766//nq3PWfOHFuyZIlLRa9YsaKNHTvW3nzzTXvqqadSu70AAABh6fTp0y749Nprr7nVjfft2+cyp5Qx5S0EAwAAkB4FFJz6+OOPXUF0ZU/J559/7oqMv/zyy5YtWzY7cuSI20dwCgAA4H80lU8r8t14442ujmeBAgW4NAAAAIEGpzSdr02bNu7nU6dOuawpFRhXYErKly9ve/bs4QIDAACcdeedd7qaU/PmzXOZUldccYULVN1www0pqtcJAACQLoNTWub48OHD7mfVSzh69KgbCfRs2bLFrbQHAACA/+nXr5+737hxo33zzTcuUDV69Gi3SnHhwoVdNpWCVboBAACkJwEFpy6//HKbNm2aFS9e3N5++203+te4cWNXGH3RokU2ffp0t0wyAAAA4ipTpoy7KQv95MmTNnfuXHvjjTdcsXTdVq1axSUDAADpSkDBqT59+thDDz1kvXr1ctvt27d3BT6///576969u5UqVSr2MQAAAPy/vXv32rJly+yHH35wt/Xr17sC6co6V10qAACA9Cag4JRqSn366acuGFW0aFGrVq2a21+5cmV74YUX3HLIOXPmTO22AgAAhK3nnnvOBaUUjPJW6VPNzlatWlmtWrVc/woAACA9Cig41aVLF7vlllvsjjvuiLM/X7581rx589RqGwAAQMRQ2QNRtnnbtm3t3nvvZTAPAADAzKIDuQrKmFIRdAAAACTPyJEj7YEHHrDs2bPbyy+/bLVr17YWLVrYa6+95oqjHzt2jEsJAADSpYAypypUqGC///576rcGAAAgQt18883uJrt377YlS5a4VY/nzZtn48aNswwZMtgVV1xh7733XrCbCgAAEPrBqfvvv98GDhzolkJWjYQCBQq4DlV8LVu2TI02AgAARJRChQrZ7bff7lZAvvTSS+2TTz6xlStX2ooVK4LdNAAAgPAITj377LPu/scff3S3hERFRRGcAgAA8LNz505XHkE3ZU7t2rXLDfBpcZnHH3/cbrjhBq4XAABIdwIKTk2ZMiX1WwIAABDBmjZtaps2bYpdqa9+/frudv3111uuXLlSNQCmrKxhw4bZddddF7t/7969NmTIEPv666/t+PHjLvv9n//8p5UqVSrO8999912bPHmybd++3T2mhXB0PgAAgJAKTtWsWTP1WwIAABDBcuTIYd26dbMGDRrYVVddlSavoYBShw4d7MCBA3H2nzlzxjp27Gj79u2zvn37umwtFWhv06aNffbZZ7GrBioopWLtXbt2terVq9vcuXPtiSeesKxZs8bWywIAAAiJ4JRn4cKFNn/+fNu2bZtlypTJLY3csGFDdwMAXLiog8cCW0YVSGe/J+Howw8/TLNzx8TE2OzZs23w4MEJPv7555+7xWx0TJUqVdy+a665xm666SabPn26derUyWVTjRo1yh588EF75JFH3DHK6lJAa+jQoQSnAABAaAWn1AHq3bu36+goNT13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f1rfqVOn7NVXX3X7rrrqKuvQoYPNnj3bTQXcunVr7HPatWvn9jdr1sy9VtOmTe3jjz+Oc+7Vq1dbjx49XPsvv/xyu/766+2FF16wY8eOxXmfSp9//fXXrV69enbllVfa/fffb7/++qt7fNasWfbss8+6nxs1auReG8D/nDlzxl566SWrUaOGXXvttfbkk0/anj17Yi/PunXrrGvXru7/Av0f0qVLF9uwYUPs4/qd1u/2F198YY899phdc8017lj97H+e+NP69P9Qv379rE6dOu68On7SpEnuXP7P6du3r02YMMH9nuv/ibvuussWL17MxwcgVdBXoq8EJAf9JYQyglMIC5MnT7ZNmza5wM3DDz9sn332md17771uipuCPKo389VXX9mwYcPc8U899ZR98MEHrj6T/iB85plnbO3ate4Px+QWyNQfnHrdBx980EaNGmUFCxa0f/3rX+cc99tvv9lbb73l/vAdPXq0FStWzL2+/hiWXbt22QMPPOACUS+//LILqN166602bdo0mzhx4jnv8/fff7cXX3zRBcZ27Njhglqqi3XDDTe4P6jljTfecKn1AP5HQSUFcvU79vTTT9s333xjnTp1cr87+r/jvvvus507d9qgQYPcTQEnBZm2b98e5xIqAFygQAEXKFYQ/Msvv3S/j4nR7+HcuXPd76n+/zly5IgLjCfUvjlz5ri26fdX9Jz9+/fzEQJIFfSV6CsB50N/CaGMaX0IC9mzZ3fZU5kyZbLrrrvOPvroIxe4ef/99y1PnjzuGP0x+vPPP9vJkyft6NGjLlPhtttuc4/VrFnTZTjoD1f9gVq0aNEkX2/z5s3uNRRkat++vdunbCf9Qfvtt9/GOfbQoUOuHeXLl3fbZcuWtRtvvNEWLlzoUlr//PNPq1y5svvDNVeuXO4YZVmoftQPP/wQJ8ik9/n222+79ykKaOmPWQWsqlataiVLlnT7q1SpYiVKlEjFKwyEt9y5c9v48eMtZ86cbjtfvnwum3LRokX2+eefW8aMGV1Gk/f/hX6fb7rpJhdYfv7552PPU7du3dgMRf1fo+CzgkoJ+f77723p0qU2YsQIa9KkSex59f/O+vXr4xyr/5cUKPdeP0eOHC7w/Z///MduueWWNLoqANIT+kr0lYDzob+EUEZwCmFB02C8gI0oiylLliyxf+hJ3rx53bS9zJkzu+wkUSDqr7/+so0bN7rMKu+PxPPRH5zKsNK0QH/6ozN+cEpt8AJT4gW+vCl7mqKnm6YJKptKWRwKWGkKohes8mj6oP/7LFKkiLtXsA1A4ho0aBAbmPKmuCggtWzZMluyZIkLUCsg5K3Oqf8/FCSO//usqXz+9Pt84sQJi4mJsejouMnGOm+GDBncNFuPjlGwSZlX/vR/hP//V97/E/xuA0gt9JXoKwHnQ38JoYzgFMKC/x+dnmzZsiV6vGq5DBw40NWU0R+kqv+ie0nOtD6vdlX+/Pnj7Nd0n/iyZs0aZ9v7A1Z/zHr3mo74zjvvuD9E9UepglD64zh+WxI7V3KnIgLplQLW8X93lD118OBB27dvn0tjV723+PyDwQn9v+L/+xw/OKXzagRSQbAL/X8iKirK3fO7DSC10FeirwScD/0lhDKCU4g4mpKn6TyaWqcaUJoKpz8EFRxKbgFiL2Ppv//9r0uTjx+0uhBjxoxxtaUGDBjgpv7oj1lRzSwAqePAgQPnFPxU8EgBZmUo1qpVyzp27Jiql1v/T+h1lY3lH6DS/xsAEMroKwHpE/0lhDIKoiPiqEaMpuGoGLKWPPYyFLzAlJfRlBSt1KXpOvPnz4+zf968eRfcnp9++snKlStnzZs3jw1MabqhpvZdaNZE/MwNAP+j2k2aOutRppSCRgpKaUqfakCp9ptWwfRu7777rv373/8O+BLqvPr/REXTPfqdXrBgAR8LgJBGXwlIn+gvIZSROYWIo6k7ymIYOnSoK2auGlOzZs1yhZH9a0ElRdlW99xzjytirgwMFSBXoMqrW3UhQSJN4VNgTBlU1apVczWnlNHlFW6/EF7NGrWlfv36cWpdAemZspV69uxprVu3jl3Zs3bt2q5AeeHChd1qfVq9Uytnaurehx9+6AqdDx48OODXrFGjhiugrlU8lVVZvHhxt0romjVrYoPiABCK6CsB6RP9JYQyglOIOKVLl3ZLuWu59ocfftgFdBQUmjp1qvvD9ccff7TLLrvsvOfRH5ya0qcpeVrpT8WTdb5Ro0bFmep3Pl26dHHTi6ZMmeKeW6xYMbvjjjvcH69amU+PqTZOcqgNuun9aaUwBbwAmLVs2dKOHz/uAlSqI3Xrrbe61Tb1e6aMKWVJKdisfcpuUmBX282aNUvR5VMQXKuAKhimTC0VR2/VqpXNnj2bjwVAyKKvBKRP9JcQyqJ8VGMFzrF//3775ptvXNaFf+BoyJAhLuNCq/kBSN+2bdtmy5cvdwEp/4LnjzzyiKvn8tFHHwW1fQCQlugrAUgO+ktILjKngARo2s9LL73kpvO1bdvWZUrpj1BlXykTCgA0vbdPnz4uOKUFDlSnTlN4VZtOq4UCQCSjrwQgOegvIbnInAISsWrVKjftR0Ep1alScXXVrVHNGurJAJAlS5a46br6/0LT+jRd8KGHHrLbbruNCwQg4tFXApAc9JeQHASnAAAAAAAAEDSsSw8AAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BSDi7N271w4fPmyhLBzaCAAAIlc49EXCoY0AUgfBKQAR5euvv7amTZvazp07LVSFQxsBAEDkCoe+SDi0EUDqITgFIKL8+uuvduDAAQtl4dBGAAAQucKhLxIObQSQeghOAQAAAAAAIGgITgGIGH369LE33njD/XzLLbdY69at3c8LFiywtm3bWo0aNeyKK66w+vXr27/+9S/bv39/7HNnzZpll156qc2dO9eaNGliV155pfXr1889dvr0aXfehg0b2lVXXWXNmze3ZcuW2c033+xe098333xj999/v1WrVs2qV69unTp1st9///28bQQAALgY6C8BCEUZg90AAEgtLVu2dEUz58+fb08++aRVqVLFBZ2eeeYZq1u3rj366KPuuO+++85mzJhhu3fvtrfffjvOOfr27evOU7RoUStVqpTb9/TTT9tnn33mgknXXnut/fDDD9a+fXvLmDHuf6GzZ892Hb5rrrnGHn/8cTt69Kh9+OGH1qpVK5s0aZILViXURgAAgIuF/hKAkOQDgAgyYsQIX6VKlXzr1q1z27fccovvjjvu8J05cybOcS1atPBdfvnlvpiYGLf94Ycfuuf17t07znHLli1z+1988cU4+1944QW3/+mnn3bbhw4d8lWvXt3XtWvXOMdp/4033ui76667Em0jAADAxUR/CUCoYVofgIimbKbJkydbdHR0nGWJc+bMaadOnXI3f7Vr146zrQwn6dixY5z9Xbp0ibP9n//8x2VEaUqgzu/dTp48aQ0aNHBT+1htBgAAhCL6SwCCjWl9ACJapkyZbM2aNfbpp5/ahg0bbPPmzbZr167Yx30+X5zjCxYsGGd706ZNlj17ditSpEic/YUKFbLcuXPHOc6bApiYv//++5zzAAAABBv9JQDBRnAKQER76aWXbMqUKVapUiW7+uqrrVmzZq6o+dSpU+2TTz4553j/DCtRZpU6bAnJkiVL7M8xMTHuXkXUy5Ytm+Dx5cqVS+G7AQAASH30lwAEG8EpABFr27ZtLjClgNTQoUMtKioq9rH//ve/yTpH6dKl7dtvv3VT9PLnzx+7X1P4/M9RvHhxd58nTx677rrr4pxj+fLl7visWbOmwrsCAABIPfSXAIQCak4BiChe5pOm6x04cCA2Y8k/MKX6T1pxT06fPp3k+Ro3buzu33333Tj7p02bFpstJVoNUMGn8ePHuzpTnv3791uvXr3cioEZMmQ4p40AAAAXG/0lAKGGzCkAEcXLbpo4caI1bNjQZTRNmDDBzpw5YyVKlLA///zTPvjgg9hO2ZEjRyxHjhyJnk8F0lXkfOTIkbZx40arXr26rVixwj7//HP3uBf0ypcvn/Xu3dulxd9zzz125513umDUe++952pcvf7665YxY8YE29ioUaM0vy4AAAAe+ksAQg3BKQAR5dZbb7V58+a5elI///yzjR071l5++WWbPn26C1Bdcskl1rVrVytfvrx1797drbKnQFJSXnnlFStZsqQ7p4JSl112mY0ZM8batGkTpx6VtosVK+aypxTM0mOqdaWsKa3Yl1gbCU4BAICLif4SgFAT5WNeCQAk6tChQy7IFL9e1J49e9xUvm7dutkjjzzCFQQAAOkW/SUAKUXNKQBIwpdffmnVqlWz77//Ps7+f//73+5eK/8BAACkZ/SXAKQUmVMAkIR9+/ZZ06ZNXfbU/fffb4UKFbLVq1fb+++/7+pPTZo0KbZ+FQAAQHpEfwlAShGcAoDz2LBhg40aNcqt8KfV91RXqlmzZm5KX5YsWbh+AAAg3aO/BCAlCE4BAAAAAAAgaJiLAgAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQAAAAAAgKAhOAUAAAAAAICgITgFAAAAAACAoCE4BQCIY9asWXbppZfaN998E9CV2bx5M1cUAIAIs3fvXjt8+HDQXl99k8ceeyx2u3Xr1la3bt2gtQdA6iI4BQCIo0aNGjZkyBCrXLnyBV+Zt956yx588EGuKAAAEeTrr7+2pk2b2s6dOy1UdO3a1fr16xfsZgBIJRlT60QAgMhQsmRJdwvEf/7zHztz5kyqtwkAAATPr7/+agcOHAipj4CsKSCykDkFAAAAAACAoCE4BUQYzb9v166dqxd0991321VXXWWNGjWyDz74wGW0vPHGG3b99ddb9erVrUOHDrZly5Y4zz906JC99NJL1qBBA7viiivs5ptvtlGjRtmpU6fiHKfn/fOf/7QbbrjBHXfNNddYmzZtbNmyZefUBxg5cqS988471qRJE3es7rWd3PpFTzzxhF133XV29dVX27333mvz58+Pc8zBgwftxRdfjG2z3u9rr71mx44diz1m69atri0zZ8507+fGG2+0K6+80v7xj3/Y559/fs7rfv/99+46XnvttVarVi3r0qWLrV69Os4xCxYssLZt27ppcHrd+vXr27/+9S/bv39/7CijXlNT3eJ788033WPr16932z6fzyZPnmy33nqra5dGA/v27Wt79uw57zVq2LChu0affPKJNW7c2KpWrWp33XWXffHFF+ccq9fr1auXe096nTvuuMNdk6RqTi1dutRtK6V/4MCBVq9ePffvqmXLlu4x/3b88MMPrs3e5y6aAvDII4+4f3e6Tmrj66+/bsePHz/vewMAID245557XP/In/o7+j7t379/nP3PP/+86xOdPHky9nv2mWeecX0lfc82a9bMxo4dGyeT2fsu13e++ofqA3Tq1Cm2b6Cf69Sp477fb7vtNvf8mJgY93ifPn1c/1FuueUW19dMjL77vT6D+kXVqlWL7Qclt++o1x0zZozrg3r9jRUrVpzzWvFrTiVWg0p1qtQmf7oO6gOpferrqU/8448/Jvq+AKQ9pvUBEWjdunXui1i1f9TZmThxoj377LM2d+5cFzjo3Lmz7dq1yyZMmGBPPvmkvffee+55R48edc9RQOi+++6zUqVK2fLly11H4/fff3dBnaioKFcQs0WLFpYpUyZr1aqVFSxY0P766y93Hn25qzNVpEiR2PZ89NFHduLECXvggQcsT5489u6777qOVYkSJVxAKTFqh9qvToqeW6xYMfv000+tR48eNnToUNdBUmBKbdDrN2/e3HU+1GZ1atTJUMAnc+bMsedUBylDhgzufepe1+bRRx91gZ1KlSq5YxSs0vXT+9e10vucMmWK6/TMmDHDypYt6wI46giqE6Tny3fffece3717t7399tuuQ1WmTBn797//bQ8//HCc9zZnzhy7/PLLrXz58m5bQS0FEG+//XbXtm3btrkA3pIlS9z+fPnyJfmZ//TTT67d999/vxUvXty1T0Gol19+2QWqRJ+hzq3roeN0znnz5rl/Gxs2bLCnn346ydd47rnnLG/evO6aKPA3fvx49/OiRYvcudThVFBQ71/vR5/F6dOnrWPHju7fmzqghQsXtl9++cVGjx5tO3bscLWtAABI79QfUj9L341FixaNHSiT+MEbDR6p/6Hv87///tv1yTS4qO929a2+/fZbe/XVV+23336z4cOHx3muBpkUvFL/KkeOHG5A7aGHHrKMGTO6Plzu3LldYEnPV79Qg0sKDqkQuvp36jdWqVLlvO/nqaeect/76kPVrFnzgvqOAwYMsPfff98FpzRQqH6d7lOL+mXq+2igUm1Rn2batGnuNT7++OPYvhmAi8wHIKI8+OCDvkqVKvnmzJkTu++rr75y++rWres7cuRI7P7HH3/c7T906JDbHjlypK9KlSq+FStWxDnn5MmT3XFffvml2x47dqzbXrlyZZzjpk+f7vZ/8sknsfu0fcUVV/i2bdsWu2/Lli1uv14/KY8++qjv8ssv961ZsyZ234kTJ3yNGzf23XLLLW77tddec+f6+OOP4zx3zJgxbv+kSZPivOZ1113nO3jwYOxxS5Yscftff/11t33mzBl3nfQahw8fjj1u48aN7toMGDDAbev177jjDne8vxYtWrg2x8TEuO1Ro0a5869duzb2mFWrVrl9EydOdNs//PBDnG3Pb7/95l5z0KBBSV6nG2+80T1/9uzZsfuOHj3qa9Soka927dq+U6dOuX0tW7b0XXnllb5NmzbFHqf2d+nSxT1f7ZIPP/zQbX/99ddxrtFtt93mO3nyZOxzvePef//9OP/+dI09+rekY8aNGxenzX369HHHetcJAID0zPu+nDVrVuy+Zs2a+erXr+/279mzx+3bsGGD2545c2acvtyyZcvinE/9Fe2fP39+nO/y++67L85x//73v93+uXPnxu7Td3P79u3j9NNGjBjhjlu3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ixkzZtikSZNs69atVqxYMbv//vutTZs2FhUV5R7fu3evDRkyxL7++muXGV+rVi375z//aaVKlQp20wEAQAQLKDj1999/W7Vq1dzPx44ds2XLllmDBg1cYErU2Tl48GDqthRha9u2bXbo0CELRwUKFLCvc+SwFWfOWBa//SfMbFWGDHZZgQK2evVqC0cKKBcvXjzYzQAAXCQquaCBxS5duljt2rVt+fLlNnjwYDt8+LB1797dzpw5Yx07dnQZ8H379nV1REeOHOmCV5999pnlzJmTzwoAAIROcCpfvny2Z88e9/PixYvt5MmTdv3118c+/ueff1rhwoVTr5UIW/v373f1yGJiYixclbrsMuuSwP7SZvbjjz+GbVF0/dExZ84cy5s3b7CbAgBIY/oeHj16tN1+++322GOPuX116tSxTZs22dSpU11wSpnxv//+uyvXUKVKFXfMNddcYzfddJNNnz7dOnXqxOcEAABCJzh19dVXu0LoWbJksXfeeccyZcrkOi7Kjvnoo49cyniLFi1Sv7UIOwp8aIpnuGZOyaeffmovPP+85cuWzYqVK2fbN2ywfceO2b/69XOd/HClzCkCUwCQPmjanlafzZ49e5z96sNpkNEbcCxZsmRsYEo02KgAlVZkJjgFAABCKjil2gNK+1YqeHR0tPXp08fy58/vskhUEL1q1apuBA6QcJ86VrlyZbvrrrts2LBh7t/47S1a2KOPPsoqfQCAsApOeavL+nw+O3DggKsZqiwpTduT9evXW9myZc95rlZhVlZVoPR6R48eTUHrEU5Uq8y753MHgMjj8/lia1UGPThVpEgR15n5448/3Iiatr0/4rW6meoYKGgFRAp16Hv06OGm8One6+ADABBuVCtUKyzL5Zdfbu3bt3c/K8vZW4nZX44cOVxdqkCdOnXKVq1alYIWI5xs3rzZ3f/111+ujhkAIPJkzpw5NIJTb7zxhjVu3NiuvPLKOPtVKPO6666zX3/91T788EN77rnnUqudAAAASAXKhFKdqR07drg+3T333GMffPCBGwlNTEpGSDV1kEGd9EM1LUVZeJUqVQp2cwAAqWzdunWWFgIOTpUpUybRLxyNyM2aNYvgFAAAQIhRxruX9a5SDBpwVH1I1SI8cuTIOccra0qPBUqBrfi1rhC5smbNGnvP5w4AkScqDab0JTs4tWXLFnvwwQfj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OKXd+TRzavTo0fLZZ58leU4LpL/xxhtSunRpaw4NAAAAAAAAD2JVcEpVrFhRlixZIv/8849ERESYzKnAwEDJkyePbUcIAADgYY4dOybh4eHSvHlz83jVqlUyZ84c8fb2li5dushzzz3n6CECAAA4Pjil4uLi5Pjx4yY45evrKxkyZCA4BQAAkAY///yzdOvWzVz00+DU/v375fXXX5ccOXKIv7+/yVDX5jSWwBUAAIDHBqdWr14t7777runMp1lTSmtNFSlSRN58802pU6eOLccJAADgET744AMpUKCAhIWFmccrV640959++qmUKFFCQkJCZN68eQSnAACAZ3fr27BhgwwdOlSyZMkir732mplEvf/++zJo0CCJiYmR3r17m6t+AAAASJ3ffvtNnn/++YT6nVu2bDFfa81PvRDYuHFjOXToEKcVAAB4dubUjBkzpHz58rJ48WLJlClTkuc6d+4sHTp0kKlTp8r8+fNtNU4AAACPEBsbay4AqiNHjsipU6eke/fuCc9HR0eLn5+fA0cIAADgBJlTR48elTZt2twVmFJZs2aVtm3byu+//26L8QEAAHiUokWLytatW83XeiFQs6WCgoLM45s3b5rSCqVKlXLwKAEAABwcnNI6CKdPn77n81FRUZIrV660jAsAAMAj/fvf/5ZvvvlGnnjiCVm4cKGUK1fOfP3HH39IkyZN5MCBA6buFAAAgEcv6+vXr5/pGlOxYkV55plnkjy3Y8cOWbBggSmKDgAAgNRp166dyUT//PPPzQVBnXcp7dAXEBAgb731ljRo0IDTCgAAPDs49d1330m+fPlMMfQpU6aY1HJfX185efKkKdCpdRCWLFliboklfwwAAIC7NW/e/K5ufFoQXZf5AQAAuBurglOWTnyFChWSuLg4+fPPPxOe020qMjLSVmMEAAAAAACAm7IqOLV582bbjwQAAACmxpQWQX+Q8PBwzhYAAPDc4BQAAADsIzg4+K7g1O3bt+X8+fOmG3JgYKC0bNmS0w8AANwGwSkAAAAnMnny5Hs+p/U9tZufFkoHAABwF96OHgAAAAAeTpEiRUxwatasWak+ZbGxsTJv3jxp0aKFVK1aVRo1aiTjx4+Xq1evJrymT58+UrZs2btua9eu5VcEAADshswpAAAAF+Lv7y+nTp1K9X6TJk2S+fPnS8+ePaV69epy9OhRCQsL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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "\n", + "target_name_map = {0: \"malignant\", 1: \"benign\"}\n", + "\n", + "target_corr = df.drop(columns=[\"target\"]).corrwith(df[\"target\"]).abs().sort_values(ascending=False)\n", + "top_features = target_corr.head(4).index.tolist()\n", + "print(\"Top 4 features by |corr with target|:\")\n", + "print(target_corr.head(8))\n", + "\n", + "fig, axes = plt.subplots(2, 2, figsize=(12, 8))\n", + "for ax, feature in zip(axes.flat, top_features):\n", + " sns.boxplot(\n", + " x=df[\"target\"].map(target_name_map),\n", + " y=df[feature],\n", + " ax=ax,\n", + " palette=[\"#d95f02\", \"#1b9e77\"],\n", + " showfliers=False,\n", + " )\n", + " # highlight outliers beyond 1.5*IQR per class\n", + " for cls in df[\"target\"].unique():\n", + " cls_mask = df[\"target\"] == cls\n", + " values = df.loc[cls_mask, feature]\n", + " q1, q3 = values.quantile([0.25, 0.75])\n", + " iqr = q3 - q1\n", + " lower = q1 - 1.5 * iqr\n", + " upper = q3 + 1.5 * iqr\n", + " outliers = df.loc[cls_mask & ((df[feature] < lower) | (df[feature] > upper))]\n", + " ax.scatter(\n", + " np.full(len(outliers), cls),\n", + " outliers[feature],\n", + " color=\"red\",\n", + " edgecolor=\"black\",\n", + " s=25,\n", + " label=\"Outlier\" if cls == 0 else None,\n", + " )\n", + " ax.set_title(feature)\n", + "\n", + "handles, labels = axes.flat[0].get_legend_handles_labels()\n", + "if handles:\n", + " fig.legend(handles[:1], labels[:1], loc=\"upper right\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ba9e29b1", + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-23T01:21:07.482531Z", + "iopub.status.busy": "2025-11-23T01:21:07.482433Z", + "iopub.status.idle": "2025-11-23T01:21:07.701280Z", + "shell.execute_reply": "2025-11-23T01:21:07.700833Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABF4AAAPUCAYAAACUyP3PAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QmYjeX/x/HvzNj3nSwhlexr9lSklJLSgqL6JYqkon3RoqKQfUurKJWU0kpRiURaRH5IIdmy78bM//rc/Z/zOzNmmGHOPYv367rOdWbOec5zP89zTnI+vvf3joqPj483AAAAAAAApLnotN8lAAAAAAAACF4AAAAAAAAiiIoXAAAAAACACCF4AQAAAAAAiBCCFwAAAAAAgAgheAEAAAAAAIgQghcAAAAAAIAIIXgBAAAAAACIEIIXAAAAAACACCF4AQAgDYwYMcIqV6581Nu7774b0Wu9Zs0ay4h++eUXu//++61ly5ZWvXp1a9y4sfXq1ct+/vlny2j0Hum9+uqrr47r9evWrbPDhw+Hfu/cubM1bdrUfNO4Oo+jHaee1/sSaRn1cwkAgC/ZvI0EAMBJ4NZbb7XTTjstyefq1q0bsXEfffRRW758uU2ZMsUykrFjx9qwYcPs1FNPtXbt2lnJkiXtr7/+srfffttmzZplQ4YMsdatW1tWMHXqVHviiSdswYIFFhMTE/o87N69205WN998sxUoUMCef/759D4UAADSDcELAABpqEmTJtawYUPv1/Sbb76xYsWKWUYyffp094W7ffv29uSTT4bCCLnhhhvs2muvtb59+1q1atWsXLlyltl9//33tn///gSPpUe1S0aiz+Ull1yS3ocBAEC6YqoRAABIc7GxsfbMM8+4QEVVIOGhixQpUsTuvfdeO3TokKt+AQAAyKoIXgAASAcbN260Bx54wFXIqO/JpZdeapMmTTpiu99++83uuusua9asmasMUTWNpq9oWlFAvTo0feenn34K9ZIJengMGjQowf4OHDhwRG8P9QPRbfTo0W46lMb49ttvU3Wcien1W7dutWuuucayZUu6wLZFixb20Ucf2d133x16LC4uzl599VVr06ZNqB/MPffc484v8Wvvu+8+e/zxx61WrVqusmTVqlXuvPTcO++8485D5zNt2jT3ml27dtlTTz1l5557rtt3q1atbNSoUS78OZp//vnH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+fLlCR4rW7bsEY+JigDCCwEiieAFGcbpp5+e3ocAAAAAAECaYqqRZ0rUhg0bZgMHDnRNe+rUqWN9+vSx3bt324QJE6x58+ZWt25dV+60devWBK+dOnWqXXbZZVa9enW33eDBg918tXAzZ860Tp06uf1qu9atW9vEiRNDz69bt84qV65sn376qd11111Wr149N55+3rJlS7LHHbzulVdesUsuucRq1qxpkyZNStGYsn37drvvvvtcSZduOvb4+PgE2ySeaqTxnn/++QTb6Hc9Hr7fu+++25o1a2Y1atRwx6ZjBAAAAAAgI6DiJR28+uqrLnQZMmSILVmyxIUQv/76qxUvXtyefPJJN8+sf//+NnToUHviiSfcaxTKPPfccy7gUICxYsUKF+BoCSzdy+zZs11g06VLF9ck6MCBAy4c0b6qVKli9evXDx3Dww8/bJdffrmNGDHCVq9e7YIgBSEa82g01oMPPmiFChVy+0zJmOoU3bVrV3de9957rxUuXNidzy+//GIlSpQ4oWup0EqB0aOPPmoFCxa0zz//3J555hl3fO3atTuhfQMAAAAAcKIIXtJBnjx5XICRPXt2a9KkiU2bNs11WJ4yZYoLD+Srr76yH374wf2sapiRI0da+/btQ31QVOFRsmRJV6myePFiV22yatUqa9u2rT300EOhsWrXru3muS1YsCBB8NK0aVMXvoiOQQHQjBkzjnnsF110kV199dWh31U5c6wxdS4KWcaOHWvnn3++20bBU1rMp/v+++/t1ltvtQsvvND9rnELFCjgwh0AAAAAANIbwUs60HQchS6BYsWKWc6cOUOhi6hiQ8tbiYKVffv2WcuWLS02Nja0jaYbRUdH29y5c13wcvPNN7vH9+zZ46pYVA2jwEMST0nS9KJwpUqVctUqqk7RPpNz1llnJfg9JWMuXLjQYmJi3PEG8ubNa+ecc04oXDpejRs3dqHUsmXLXJh07rnn2h133HFC+wQAAAAAIK0QvKSDfPnyHfFY7ty5k91+27ZtobXGk7Jx40Z3r54wqohRz5WoqCgrX758qMolcT+VxOMFYcuxghcFJuFSMuaOHTtcFYrCl3CaWnWiNE1La65/9NFH9tlnn7nHNP4jjzxyREgEAAAAACez6GxZe1WjjIrgJRNQaCHqw1KpUqUjng+m1fTt29dWrlxpL730kqtoURWNKmXe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QIRk+uClRYsWNmzYMBs4cKA1atTI6tSpY3369LHdu3fbhAkT3LSYunXrWs+ePW3r1q0JXjt16lS77LLLrHr16m67wYMH28GDBxNsM3PmTOvUqZPbr7Zr3bq1TZw4MfT8unXrrHLlyvbpp5/aXXfdZfXq1XPj6ectW7Yc9dhnzJhhl19+udWqVcsaNmxovXr1stWrV4ee79y5sz344IM2btw4d3zarmvXrrZ582abNm2atWrVyh1Xly5dbO3atQn2/dFHH1n79u3d802bNrVHH33Utm/fnmCbJUuWuP1pbB1z9+7dbfny5aHzuvDCC93PDzzwgLvO4d5//327+OKL3TXRffh0pO+++85dk/nz59stt9xitWvXdmPoGPbu3Zuq90DTnfr162fnnXee20bnPHTo0ARVOMe6jgAAAAAAs6joqAx5y+oyffAir776qv355582ZMgQu+222+zDDz+0q666yubMmWNPPvmk9e3b17788kv3hT2gUEahRv369W3s2LF20003uUDlnnvuCW0ze/ZsF9hUq1bNRo8ebSNHjrRy5cpZ//79beHChQmO4eGHH7aiRYvaiBEjXPAza9Yst11yFi1a5MZq2bKljR8/3oULy5Yts27duiVoZvvJJ5/YV1995c7joYcecmGGApmXX37Z7r33Xvf4L7/8Yo899ljoNTpWBT81a9a04cOHu3NQMKTX7du3z22j/XTo0MEFGOrjopumFumxlStXWokSJVygJbqmOveAgp9Ro0ZZjx49bMyYMVa4cGF3LCtWrEhwjjoGhSXa5sYbb7S33nrLvS4174GOS+ev9/Cll16yK664wgVRuqXmOgIAAAAAsqb58+fbtdde6/7R/9xzz3XfZY/VMkPfT9u0aeNeo2ICtdmIi4uLyPFlieWk8+TJ4y5s9uzZrUmTJq4aRCHClClTrGDBgm4bfXn/4Ycf3M+qhlGQoIoQfVGXZs2aWcmSJV1YsHjxYlcpsmrVKmvbtq0LPAJB9caCBQtcYBBQVYnCF9ExqJpElRjJUWCQM2dOV2WieylVqpQLi/bs2WP58uVzj6n6Q8eqcEM+++wz+/rrr10gU7FiRfeYjvfdd991P+/YscMFHQqegnOTM88806677jp7++23XYWMKkvKli1rL774osXExITOIago0ZhVqlRxj5966qlWtWrV0L70YdTz2qeULl3a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NXd6GefwvNlexsmWN6+Xcerf3cDLOAuHLPAyTrH6hbyMk7twbi/jlG1S2cs4MblyeRknblXC+cCRcrhcPS/jHPppkZdxshct4mWcvbXPi/gYO55/1nwoUqW8l3H2bN/lZZw8l53qZZy45Uu8jGMHD3oZpmi9A17GOThnppdxshcu6GWcMk2rexln2aufeRknV4GclpWUv7ihl3F2Lv/Dyzh+/saLrIbgBQAAAACAkwBTjdIHU40AAAAAAAAihOAFAAAAAAAgQgheAAAAAAAAIoTgBWkiPj6eKwkAAAAAQCIELzgh69evt27dutlff/3FlQQAAAAAIBFWNcIJmTt3rs2ZM4erCAAAAAAZXFQ0tRfpgasOAAAAAABwMgYvLVq0sGHDhtnAgQOtUaNGVqdOHevTp4/t3r3bJkyYYM2bN7e6detaz549bevWrQleO3XqVLvsssusevXqbrvBgwfbwYMHE2wzc+ZM69Spk9uvtmvdurVNnDgx9Py6deuscuXK9umnn9pdd91l9erVc+Pp5y1bthz12Pfs2WNPP/20nXvuuVarVi274oor7LPPPkuwzUcffWTt27d34zdt2tQeffRR2759e+j5ESNGWKtWrWzWrFl26aWXWo0aNezyyy+3H374wX7++We75pprrGbNmu45VZ6Ev07nPHv2bHdOGv/qq6+2efPmJRj/t99+s9tvv91d22rVqtk555xjTz75pO3bty9B7xZdkzZt2rixLrjgAhszZozFxcXZu+++aw8//LDbrmXLlnb//feH3jcdw5AhQ6xZs2buuHWddczhVq5cabfeequ7proG3bt3t99//z3BNjNmzHDnrHNo2LCh9erVy1avXh16fu3ate51Ogcdn67z9OnTj/reAAAAAADgS4YOXuTVV1+1P//8032Jv+222+zDDz+0q666yk1vUUjQt29f+/LLL23o0KGh1yiUefDBB61+/fo2duxYu+mmm1x4cM8994S2USihwEaBw+jRo23kyJFWrlw569+/vy1cuDDBMShcKFq0qAsTFPwoCNF2yVEo0bVrV5s2bZrdfPPN7hiqVKlivXv3tq+//tptozEV4CgsGD58uDsWBTydO3dOEHxs2rTJnnrqKRcuKITauXOn3XHHHXbnnXe60GbUqFEuHLn77rtt7969odft2LHD7rvvPhd46HW5c+e2W265xZYs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YIF17NgxFLrIhRdeaHPmzEnz0EUIXgAAAAAAQKazdu1aO3TokFWsmLCKXFUuuXLlslWrVh3xmuXLl1tcXJwVLVrU7rnnHqtTp467abrRjh07InKcTDUCAAAAAADppmXLlkd9ftasWUk+vmvXrtA0ocTy5s1re/bsOeLxrVu3uvuHH37YTUvSdCNNLxoyZIjrFfPmm29adHTa1qgQvAAAAAAAcBKIispak17i4uJS/RpVyEjVqlVdTxdp3Lix5c+f3+6++243PUkrI6UlgpcIio+PTzDPDAAAAAAApKyi5VgKFCjg7pOqbNFjClOSqoQRVbuEO+ecc9z90qVL0zx4yVpx11Goec4ll1xi1atXd/eRNmXKlKMuX5UcdVZ+/vnnU/UarU+u140YMcL9vm7dOvf722/7Wf0lLaghko7522+/Te9DAQAAAABkAqeeeqprkLtmTcIVIjdu3Gj79+93qx0lVqFChQSVL+Hfq0W9YdLaSRO8DBgwwF34sWPHHlcgklqjRo2y7du3W3ooUaKEC36ONU8uI6lWrZo75po1a6b3oQAAAABA1hQdlTFvx0nLRjdo0MA+++yzBNOOPv74Y8uWLZs1atToiNcojClTpozNmDHDzVIJfPnlv0vT16tXz9LaSTPVSCGIOhU3a9bMsjp9+GrXrm2ZiZohZbZjBgAAAACkrx49etgNN9xgvXr1smuuucatWjR8+HC3XHTp0qXdktOaPlSqVCl3UzuQe++91+68807r3bu3XXvttbZ69WrXXPeCCy6ISDFAqipeWrRoYcOGDXMVI0qOFGT06dPHdu/ebRMmTHBzpOrWrWs9e/YMdQoOTJ061S677DI31UfbDR482F2AcDNnzrROnTq5/Wq71q1b28SJE0PPB1NoPv30U7vrrrtcEqXx9POWLVuSPObgNX/99Zd9+OGH7ud3333X3dRM55133nFhzNlnn21Llixxa32PHz/eLr30UnfBFQZ06NDB5s2bl2C/6np8xx13WMOGDa1+/fp2880322+//Ra6TiptmjZtmhtPxyDff/+9205j6fy0nT4QGjM15s+f7z5QtWrVctdIvyd1zsFUo+Bcf/jhB7v66qutRo0adtFFF7nr/ccff9iNN97o9qUP2fTp0xPsa8OGDe491nlqm+uvv95+/PHHBNtorDfeeMP69esX2k7doLXv8OBLjYp0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kHIEL+lg5syZdu+996b5ftevX2/dunWzv/76K833DQAAAAAAUo+pRungxRdftGzZ0v7Sz5071+bMmZPm+wUAAAAAZH5RUdRepAeuOgAAAAAAQIQQvHjWuXNn++GHH2zBggVWuXJl++6779zjO3bssH79+lnTpk2tRo0aduWVVyaoXvniiy/c9s8//3zosbVr11rdunXtjjvusHfffdcefvhh93jLli3t/vvvdz+3aNHC+vbtm+AY3n77bbevdevWud9HjBhhrVq1stGjR1vDhg2tcePGtnnzZvfc1KlT7bLLLrPq1atb8+bNbfDgwXbw4MFjnuexXpfcmDreZ555xm666SarWbOm3X333W77TZs22YMPPmjnnXeee7x9+/ZuylY4ndPIkSPtqquuctdw0KBBx/EOAQAAAACQdphq5JnCFYUJMTEx7ufTTz/dBRI33nijbdiwwXr37m2nnHKKTZ8+3W699VYbNWqUCyN0u+KKK9w0pUsvvdQqVarkwpX8+fPbE088YXFxcda9e3cbN26cCx8UQqS2P4yCDAUkW7duteLFi9uECRPsueees06dOtl9991nK1assGHDhtmaNWvcfXJS+rqkxpTXX3/dunTpYl27drWcOXPali1bXJiSPXt2u/POO61w4cIuaOrZs6cNGDDAXZfA2LFj3Ta9evWyEiVKHNd7BAAAAABAWiF48UxBS968eV2Pl9q1a4cqUJYuXWqTJk2y+vXru8fOPfdc27lzpw0cONCFLvLQQw/Z/Pnz7bHHHnNVLYsWLbKXX37ZChUq5J4vV66cu69SpYqVLVs2VccVGxvrQhJVn8ju3btdgKPKEgVE0qxZMytZsqTdddddtnjxYqtTp84R+0nN6xKPGdC2ejygEEfBzMcffxw6R10fhVXPPvusq6wJeuZo3wpsAAAAAADICJhqlAHMmzfPVXEoiFEYEdwUuPzxxx+hVYpU3fLUU0/ZwoULXRhx8803uyk6aUWBTUAByb59+1zAE35MmjYUHR3tGvkmJbWvCx8zcNZZZyX4XdOyNL0oCF0Cbdu2dYHMypUrk30tAAAAAOD/RUdlzFsWR8VLBrBt2zZ3q1atWpLPb9y40cqUKeN+VnWIflYYE1TCpJU8efIkOCbp0aNHsseUlNS+LnzM5B5T/5ukApVixYq5+127dh11fwAAAAAApBeClwxAlSyq5ghvnBuuYsWKoZ/HjBnjGs2eccYZ9sgjj9i0adNcH5SjUf+XcHv27DnmMRUoUMDda6qT+skkpgqdtHzd0RQsWND1eUksaAB8PPsEAAAAAMAHphqlAzXWDdegQQPXWFcBglbjCW5a/UjNYjVFR3799Vf3u3qYDBkyxDWrDQ9rgu3C5cuXz+07nPZ7LLVq1XLNbFWhEn5MCom0WtCqVavS9HVHc/bZZ9vPP//sVnEKpwbERYoUSRBMAQAAAACSFhUdnSFvWR0VL+lAVSEKEtTbpWrVqm7paK3k85///MetZKSpROprouqWdu3auekzWvlIDWdPPfVUN40nR44cLoDRKkYXXHCBa8qryhD5/PPPXU8VVZycf/75bhsFNuohM2vWLLfvY1EIpP1r2ee9e/dao0aNXNVJ8Hty06KO93VHo6WlFbKoma5WK9IY77//vms0/OSTTx4RZAEAAAAAkFEQvKSDzp072wMPPGC33HKLPfPMM25VnsmTJ7tllXXTakalS5d2IYO2ES3DrCayWvlIoYsogPn000/dstIKJtRoVzftQ6HO+PHj3RLTakD70ksv2aFDh1xfmP79+7ulmI9FyzJrSWYdm5axVmCkHjN6POivkpavS46WmX7jjTfceT399NN24MABt1y2Vk9q1apVqvcHAAAAAIAvUfHx8fHeRgMygR9X/Ns7JtLO+vUNL+P8t1oHL+PERB32Mk7hw37en8PRfnLpbIcPehnnQDY/jafz7z+yH1MkxMT6uW4xB4/dEystfNX0bi/jnPvNIC/j7MtXwss4+ZfPj/gYsaX9TGeNy370fm1pJfrQAS/jZFu7wss4cSX+XXwg0n47xc8/9FT96RUv4yyrfYOXcbJ5+rtBlPn5OhMb76fKOntUrJdx9sf5+XMnPt7PijV5s+31Mk6VSn7+3ImUvS8+ahlRnpufsKws60+mAgAAAAAASCcELwAAAAAAABFCjxcAAAAAAE4GUX6mfiEhKl4AAAAAAAAihOAFAAAAAAAgQphqBAAAAADAySCa2ov0QPACJFJybG8v1ySubVsv4xQZfruXcQ4f8LO8b+GOV3sZ59BPi7yMs+9vP8tjx+zys8Ri3isu8zLOpgoNvYyzrOVVWWqZ5znN+noZJ0+FXF7Gqf3O8IiPkXv59+ZFnrxehjn43+Vexok7u6mXceJj/CzvW2LEbV7GOXTDf7yMU3RwNy/jxMfFeRkn3x33ehkn77qlXsaxndu9DHNw3Tov4xy4qKOXcQ7H5/AyjlnmXk4a6YO4CwAAAAAAIEIIXgAAAAAAACKE4AUAAAAAACBCCF4AAAAAAAAihOa6J7H4+HiLiopK78MAAAAAAPjA9790QcVLBnH//fdb8+bNvYy1fv1669atm/31119exgMAAAAA4GRFxUsG0aNHD+vSpYuXsebOnWtz5szxMhYAAAAAACczgpcM4tRTT03vQwAAAAAAZGFR0Ux6SQ9c9RRq0aKFDRo0yJ555hk7++yzrUGDBnbPPffYtm3bEmz3ww8/WOfOna127dpuuz59+tjGjRtDz3/33XdWuXJlmzJlittnnTp1bNasWUdMNdJzw4YNs4EDB1qjRo3cdtrX7t27bcKECW7bunXrWs+ePW3r1q0JjmHq1Kl22WWXWfXq1d12gwcPtoMHD7rn3n33XXv44Yfdzy1btnTjpuR1MmLECGvVqpWNHj3aGjZsaI0bN7bNmzcneb127Nhh/fr1s6ZNm1qNGjXsyiuvPKLKRueo63nTTTdZzZo17e677072+si3335r1113ndWrV89df22vaVMBnVvVqlXtnXfesWbNmrnrv2TJkpS+xQAAAAAApDkqXlJBYUD58uVdWKCwQ8HE77//bm+//bZFR0fbokWL7IYbbrD69evbkCFDbNeuXS6suP76623atGmWL1++0L6GDx/uApBDhw65EOHzzz8/YrxXX33VhS7alwIEjffrr79a8eLF7cknn3Q9Wvr3729Dhw61J554wr1Gocxzzz1nnTp1svvuu89WrFjhApw1a9a4+/POO8+6d+9u48aNs5EjR7qQIyWvCyjomDlzpjsWXQMdS2IKa2688UbbsGGD9e7d20455RSbPn263XrrrTZq1CgXqARef/11N8Wqa9euljNnTjt8+HCS1+e9995zx3XxxRe7/jQKvLTNNddc465tcBx6/QsvvOCuj7ZREAMAAAAAQHoheEkFrQD08ssvW/78+d3vRYoUcRUnquQ4//zzXUVMuXLl3Bf/7Nmzu20UGqhKZNKkSS7wCHTo0MGFCEeTJ08eF3poX02aNHEBg8IMBUAFCxZ023z11VeuykZUDaMwpX379q7aRFT5UbJkSbvrrrts8eLFroJExyhVqlSxsmXLpvh1Ehsb6wIQVbwk5/33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EcCqRgAAAAAAnAyiotL7CE5KWbriZenSpda5c2c7++yzrXbt2taxY0f7+uuvQ8+PGDHCWrVqZbNmzbJLL73UatSoYZdffrn98MMP9vPPP9s111xjNWvWdM/NnTs3wb6XLFliXbt2tYYNG1rdunWte/futnz58gTbbNq0yR588EE777zz3H7at29vM2fODD3fokUL27hxo02bNs1NL1q3bl3ouV9++cWuu+46d0zNmjWz559/3g4fPhx6Xtu/8cYb1q9fP3cMtWrVsltuucX++OOPBMegc9E10PnrOvTp08eNGe61116ziy++2B1j06ZN7b777rPNmzen+DomZ+rUqXbZZZdZ9erVrXnz5jZ48GA7ePDgEdd/9OjR7hwaN27sxtV1eeaZZ+ymm25yx3T33Xen6HoG12XkyJF21VVXuWs3aNCgYx4nAAAAAACRkmWDl927d9vNN99shQsXdqGFvuTnypXLbr31Vlu7dm1oO32Zf+qpp1xwMmzYMNu5c6fdcccdduedd7ov9poKpOa3+vK/d+9e95r58+dbhw4dLDY21r1Wtw0bNrjHVq5c6bbZsmWL+/L/3XffuX1p/LJly1rPnj1d0CIKCIoUKWLnnnuu6/VSokSJ0HEpUFEoMX78eBdEjB071m0TTkGGzlPhwuOPP+7ConvuuSf0/KJFi6xLly4WExNjQ4YMsYcffth++uknu/76693rZMaMGfbss8+6Y58wYYILZubMmWN9+/ZN1XVMTPtSSFK/fn137ApRJk6cmOD4ZP369S480bk88MADVrx4cff466+/bmeddZaNGTPGOnXqlKLrGdB4rVu3dte3TZs2qf7sAAAAAACQVrLsVKNVq1bZ1q1bXfCgL/+iygt9KT9w4EBou/3799sjjzxi559/vvtdwYlCgCeeeMKuvfZa95gCF4Ux2qeqKPS8vvS/+OKLLtQQVYooKBk6dKj7wv/yyy+78T/++GMrV66c20YBy4033uiCDlWCVK1a1bJnz+7CF1WShLvrrrtcQCKqBvniiy9s3rx5LoQInHbaae5YAqqYUSChkKJYsWIukNHYL7zwghtHGjRo4I5z0qRJLmxasGCBlSlTxlW0REdHu+cVsqjKRYFTSq9jOIU1ugYKrhQgiap2SpYs6c5r8eLFVqdOHfe4witV2Ogcw2lbPR547rnnjnk9s2X79+Osfasa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UmrbJ+OdjFOgc1cn4xzOnrI+eGcq577NTsY5GZvDzThRCZfR+yl28Qwn4+xb4eZ/db6a4SfC8Nvx82s6GSfmryVOxslxa/g+lhnFwVlxe4KmFzkb32QyM2W8SKLoDcM01WSwXH311Zk+6CIiIiIiIpJppbDtg/hDBV6SKJrX0muGEqWEZikSERERERERkfCU8SKJoskvNxERERERERFJOWW8iIiIiIiIiIhEiAIvIiIiIiIiIiIRosCLiIiIiIiIiEiEqMeLSDyxG1c52Scny1ZzMk7MP262x2TL7macQMDJMAf2/OdknKhoN/Hvg6vXORknV7WcmWra6uNr3Pz9ROdzsz1H/1rpZJzY0qWdjGPyFYz4ENnz5chU0zyv+tzN/4Iy9zoZxuQu5WbK99gta5yMc7B8PSfjxGx28z4wOXM5GeZYwXOcjBMVG+tknJwl3byvD63928k4ptolTobJWqykk3EyPEfHnhKX9rqIiIiIiIiISIQo8CIiIiIiIiIiEiEqNRIRERERERE5CwSiotJ6Fc5KyngREREREREREYkQBV7kNAFHzUtFREREREREMjsFXjKp+fPnm4oVK5o5c+ak6HkjRowwo0ePjth6iYiIiIiIiJxNFHjJpKpWrWo++eQTc8EFFyT7OcePHzfDhg0zhw8fjui6iYiIiIiIiJwt1Fw3k8qdO7epUaNGWq+GiIiIiIiIyFktOr30FPnggw9Mq1atbIbGpZdeat544w1z8uTJ4GN+//13c++995p69eqZWrVqmfvuu8+sXLnytNKaefPmmY4dO9qgA4998sknzcGDB1M01vTp082tt95qatasaapVq2auuOIK+xzP5Zdfbu6///7TtuO2226zN88PP/xgbrjhBjtO/fr1Tf/+/c1///2X6L64/fbbzSOPPGJGjRplGjZsaLe1S5cu5p9//onzuOTuD6/UaPjw4eayyy4zs2fPNtddd52pXr26ad68uRkzZkycLBm89tpr9rk4cuSIXe+mTZvafcEyXn31VZsdk5jVq1ebzp0723VjP7J+a9euDf5+48aNdox3333XXHXVVXYfjR07Nrier7/+ut029tuOHTvMiRMnzLhx48zVV19tLrzwQrs+L774YpzsnD59+pg77rjDPP3003ZcXtujR48mup4iIiIiIiJnjajo9HnL5NLFFr7yyivmueeeM40bNzYjR4407dq1syf/Q4cOtb8nmHLLLbfYk/2BAwfa29atW+19nOCH6tGjhw0QEEy58847zaeffmr7liR3rBkzZpiuXbvaIAQn//yudOnS5tlnnzULFy60j7nmmmtsACM0iLJlyxb7e36HSZMm2eAMzyWYwHpNmzbNBoWSClrMnDnTfP755+bxxx83zzzzjFmxYoXp0KFDMICUkv0RigBGv379zM0332wDOwSnXnjhBTseCGyAYBFlSmDZs2bNssEggjQEbd588017S8j69evtumzbts0MGjTI3nbu3Gn3NfspFPv9rrvuMoMHDzZNmjSx923evNkGv7ivb9++pkiRIjaAxroQLOJ1ad++vV1fgjuhzYB5DTZs2GBf80cffdTExsYmuq9FREREREREMnWpEcELTujJMOndu7e9r0GDBmbPnj1m0aJF9mdOwEuVKmXefvttkyVLFnsf2SBe9gXBEc/1119vHnzwQfs92RJz5861mSe9evVK1lhr1qwxbdq0sUEPj5c9s2DBAnPRRRfZ4Aq9UAiktG3b1j5m4sSJJlu2bObKK6+0gQCyMXgOgR4PGR433XSTmTJlimndunWC+4QAyxdffGHKlCljfz733HNtwGP8+PE2oyYl+yPUoUOHbKDDC3DUrl3bBjjYP9xHJgmKFy8eLFP65Zdf7D7y1rdu3bomZ86cpmDBggmuP4GmmJgYm82SL18+e1+jRo2C2UUEk0Kzh2688cY4zyegxOvD/gPBJAJRvK5ephHbW7RoURtcYf1btGgRfC4ZL+wfEREREREREXO2B16WLl1qjh07ZoMGoR5++OFgEOK3336zmQ1ekAF58+Y1zZo1syfdoSgxCUUQgQyI5IyFe+65x349cOCAWbdunX0u48MrWylZsqSpU6eOzWrxAi8TJkywJ//0VqGkhswOlhWa3UIWDdkbP//8c6KBF4IeXtAFVapUsZkzBH4ILKVkf8RHsMVDNggBFAIyCSF4RQkQGTUETwjQkEmUGDJyCNDkypUruP0EpVjWTz/9FOexlSpVCruMypUrB79nuxF/n1EuRkYMv/cCL3ny5FHQRUREREREJIzAWVDWkx6leeBl9+7d9muhQoXC/p4sFTJICFjEV7hw4dN6puTIkSPOz9HR0cH+LUmNhV27dtmeJmSCREVFmbJly9osF4SWtJD1QvkLj//3339tfxUvgOONQ3kSt/gowUlMsWLFTruPdd67d2+K90d82bNnT3D/hEPfFIJX33zzTbBsiGDJY489FsxIiY/tnzp1arBnTKisWbPG+ZngTDhk1XjYbm/7QpFVU6BAAbNv376wzxMRERERERExZ3vghUwNEMCIH5wgc4R+LQRA6E8SH/flz5/ft7HIBqGXCaUtlCSRPUOmBhkh9IoJRcPdAQMG2AAD2SAEBS655JI44xCIIcsjvoSCDR5Kn+KjRwqlQGR0+LU/koOsmE6dOtkb+4l+L/TGeeCBB2zmTrgeKqwjQRma//rBK1diH4RmApG9RJCH4IuIiIiIiIhIepTmeUbMZkMWBBkmoShv4eSewAfBF/qiMLONh8wOGuGGls6kdizQ64VSJAImjA2CDfEzXigporyFZXk9W7zSH3qykKHCzD3MHuTdCBrQ82XZsmWJrueSJUviBIeYwYhl0deEjA6/9kd8oaVLIODUsmVL20vGy8ShHws9csgy2b9/f9jlUGZErxwyY0K3n2a4lGelFMvz+uiE+vbbb+0+SM02i4iIiIiIiGTqjBd6jDBjD41YKRMi4EGggYwTZhcio4LMEfqlcGO6ZTIdmJWHqYS9gIlfYxGc4YSer5TYEARhBh+yTEKnpfbKjZjqmZP/a6+9Nk4Ag1mMmEGI7wnQ8FwyRegbQ5lOYgh4MPsRy6bXDMGa888/306lDL/2R3xsI9kqixcvtk11KbGivwzNeinroe/Kpk2b7P67+OKLE2ywSwNcZjUiS4bZh9jXNAtmvzKLUkqdd955trkwMxUxvTXZNMuXL7frRa8dppYWERERERERSY/SPPACZhyiZ8lHH31k3nnnHVOiRAk7Ww1BBRAg4X5my+nZs6fNWiEoQL8RZgryc6znn3/elhBxw//+9z87Sw49TryZjzyUFhF8oNQltBksyAwhK2b06NF2Rh4yVSgVYrkEEhJDc12mu2ZmJbJsCNyETo3s5/6Ij2APASICP2Sn0KOGmZDee+89s337dlvKxPowbkLIdCG7hRmWWG+2oXz58vZnZn06E0wlTb8dAjhk4DCjEUEdAk3xM3VERERERERE0ouoQGj9jKQ5AkDMBERgSNLG4a9fczNO2WpOxsm+Km7AMGKyxW3cHDGO/mXtW7DQyTjHDx5xMk62AnmcjJOr2ulNtSMiZ+K9svxyfO1qJ+OYWg2cDHNyTuIz3/kltnRpJ+OYfOEzL/205eMvjQvHDp2aOTHSVn2+zsk4LaY87mScAz/HnS0xUnLVjjtrZqTsKR9+4gK/5f/zVBl9ZvlffazgOU7GiVm5xMk4x/6N248yUo7vP+BkHNPmNifD5Nzh5v9b9hYdTEa2f/4Ekx7lrnequiOzSvMeLyIiIiIiIiIimZUCLyIiIiIiIiIimbnHi/yfDz74QLtDREREREREfBeIUu5FWtBeFxERERERERGJEAVeREREREREREQiRIEXEREREREREZEI0XTSIvEsWbXTyT7JF73XyTgHArmdjBNl3EzzXHbPUifjRB13M7XridicTsY5kj2/k3HyLJ7mZJyogoWdjHOiQFEn42TZuMbJOCeLl3EyzqECJZ2Mk2v53MgPksVRO7x8BUxm8v0VA52M0+KL7k7G+b3irU7GyZbFzWfP8UAWJ+MEAlFOxsmbZZ+TcXKc2O9knBNRbv7vHIp2c4xY9rcvnYyzp1IjJ+MUr1TTZGT/LfjWpEd56rYymZkyXkREREREREREIkSBFxEREREREZGzQVRU+ryl0rx588zNN99satSoYZo0aWKGDh1qjh8/nuDj+d27775rWrVqZZ9z6aWXmkGDBpn9+yOT2abppEVEREREREQkQ1q2bJnp2LGjad68uenatatZsWKFGTZsmA2iPP7442GfM2TIEPP++++bTp06mTp16pi1a9fa5yxdutR89NFHJjra3xwVBV5EREREREREJEMaNmyYKV++vHn11VdNVFSUady4sYmNjTUvvviiuffee02xYsXiPP7QoUM26HL33Xeb7t1P9QqrX7++KVCggOnRo4eZP3++/dlPKjU6iwUCbpqhioiIiIiISDoQFZ0+b2fo6NGjNlBy2WWX2aCL58orrzQnTpwws2fPPu05+/btMzfeeKO54oor4tx/7rnn2q/bt283flPg5Sy1cOFCm1YlIiIiIiIikhH9888/5tixY6ZcuXJx7ifLJXv27GbNmtNnjuR3/fv3N1WqVIlz//Tp0+3X888/3/f1VKnRWerjjz8O+yYUERERERERcalFixaJ/v77778Pe/9///1nv+bOffr06Lly5TIHDhxI1vhLliwxo0aNMs2aNTOVK1c2flPGi4iIiIiIiIhkOCdPnkz1MihVohdMqVKl7MxGkaDASxL+/PNPc/vtt9tOx0wz1a5du2Cd2OrVq03FihXN2LFj4zxn165dplq1avb+jRs32sdMmjTJPPDAA3YZDRo0MCNGjLBdlp944glTu3Zte98LL7wQ7Ltyps/z6txefvll07RpU7seTJH15ZdfBn/fp08fM2HCBLNp0yY7xvjx44PjMaXWVVddZS644AK7/kltX0LYN507dza1atUyNWvWNPfdd5/tFO1JaLzhw4fb+rzXX3/d1KtXzzY12rFjh63PGzdunLn66qvNhRdeaLeNZkmHDx+Os1133HGHefrpp+24TAnGvhAREREREZH06/vvv0/0lpC8efPar+EyW7gvT548iY7LufA999xjypQpYxvu0mA3EhR4SQQBDl4Edv4rr7xigwLUiRFQoJbsvPPOswGRr776Ks7zCGow/VTr1q2D9z355JO2Wc8bb7xhgwl0Xr7hhhtMlixZzGuvvWZatmxpxowZY7799ts4yzqT53Xr1s0GMQgY8byLL77YBiW8QMn9999vLrnkElOkSBHzySef2CCGh/nO77rrLjN48GA7/3lyty/U+vXrzS233GK2bdtmI4bcdu7caYNWW7ZsifPY+ONh8+bNtr6O+/r27WvXk/0wcOBAO0UYQZn27dvbQAyvRWjQid41GzZssAGqRx991HazFhEREREREWMCUVHp8namCJhwbsw5YCjORblIz2xHCeFclPNNLvh/+OGHpnDhwiZS1OMlEfRAIbujQ4cO5qKLLrL3kekxcuRIc+TIEfszQRCyT8jm8LogE6gg2yJfvnzBmjMyU3r27Gm/r1Chgpk4caLJnz+/zc4AwRECGosXL44T0Ejp8+bMmWNmzJhhs2CuvfZa+5hGjRqZ48eP2+m12rZta9+cBJMIShBYwcGDB+3Xyy+/3HZ49iS1feEQoIqJibHZLN5jWAeeQyDomWeeCT42/nhgXXv37m3/ALzsmc8//9w8+OCDNmiEhg0bmqJFi9rgyg8//BCsCeS57BvSxERERERERCTzio2NNXXr1jXTpk0zHTt2tAkCmDx5sj0n5Xw5HPq5cEH/+uuvNwMGDLCPjSRlvCSCQAdRry5dutjgAy9e1qxZbVSMbBdvmqqcOXOar7/+2v68cuVKW57ECxiKchuPF0mjvMbD1FcEKZjaKjXPmzt3rv1KZghBCO/Gzzzm119/TfQNUalSpTg/J3f7Qs2bN8+++Wlm5I2fLVs2m7Hz008/JTqeJ7Sh0YIFC+zX+Bk2lFAR3fR+D1LJFHQRERERERE5O9x///32HJXKj5kzZ9qgCq03qLgoUaKEbT+xdOlSs3XrVvv4v//+22a7kFhw0003md9//93+3ruRfOE3ZbwkgoAD5SxkuHz33Xfms88+s4EXsjSYfop6MronM/83gYmHHnrI9lLhxSVTJVS4Lss5cuRI8gVK6fN2795tv9KTJhxSrhJDsCT++MnZvvjrMHXqVFO1atXTfsf+S2y80H3v2bt3r/0aP/WLqCSZO6HBqtDniYiIiIiISIiozJd7UbduXdtqgrYcXbt2teeNnTp1st9j+/bt5uabb7a9UwnOcG5PcgBVHbTIiO/ZZ589rSojtRR4SULZsmVtjxK6Jf/xxx9mypQptqcKQReCL145Dk15KPchK4ZsEC/FyTUyPuhDQ41aOGeSDZLS7WMdKBOiM7QfvHIl+sRQJuVhvnaCPJFqgCQiIiIiIiLpX/Pmze0toXNgKjc8lCRxcynzhbt8RJCBmjBm1SHQUL16ddOrVy/boIcGsB5mFypXrpztoUJGSWJlOC6ifTQRIoLH+no3mgHTe+XQoUP2cZToJFdKt491oD8OZUSh60D2ELM0nck2gf42oWgozGxHrJ+IiIiIiIhIeqSMl0QwJTEn9vR4IVWJLBemkl61atVp2Rxkhbz00ks2SFC6dOlIv24JYmYgyoxIoWK96UWzfPlyW8NGbxjKhMC2kEFCDVxoP5WEpGT7qLEjZYt9xuxDlEZ98cUXNlBC09+UYhuuu+46mz5GU2OyadgmZnViW0NnZRIRERERERFJT5TxkohixYrZsiJKXfr162fTkQi8MK2xN2OQp1mzZvYrswalJTJzaCZEI9q33nrLTofNfOQEQujaHBpIIQhD3Vv86aLDScn2kelCdgv9XJh1iFo6pvciYyb+fksu9jnLIXhDQIepsQnqjB49OkXZOyIiIiIiIiIuRQUCgYDTETOpd955x06VPGvWLNtjJbPJ7NsXasmqnU7GyRd9qmlwpB0InN6gORKijJt/JWX3LHUyTtTxo07GORHrpiH0kez5nYyTZ/E0J+NEFYzbbDtSThQo6mScLBvXOBnnZPH/65MVSYcKlHQyTq7lp2byi6gsjpKD82WufmXfXzHQyTgtvujuZJzfK97qZJxsWdx89hwPuLloFQhEORknb5a4s4JGSo4T+52McyLKzf+dQ9FujhHL/valk3H2VGrkZJzilf5v1tmMaN/i70x6lLfWZSYzU6lRKpEt8tdff9kMj7vvvjvTBSUy+/aJiIiIiIicLQLGTUBU4lKpUSrRHZmyF0pxOnfubDKbzL59IiIiIiIiIpGkjJdU6t27t71lVpl9+0REREREREQiSYEXERERERERkbNAIEpFL2lBe11EREREREREJEIUeBERERERERERiRCVGonEkyP6sJN9EnvikJNxTmZxE189adxMTRmzf7eTcU6u/N3JOLG5cjkZJ2vZCk7GiSpSzMk4/05yM211vnbtnYxzsqib6ZcDWdz8nTpz8kTEh1j38RTjQs5Cbv4X5C5VNFNN8/x922FOxjlvRRsn48REHTOZyYmAm1ONwvvWORkn+3o3xwbGUSnIsXPKORnnvwr1nIyT7cu3nIxj+r7uZhzJVJTxIiIiIiIiIiISIQq8iIiIiIiIiIhEiEqNRERERERERM4GmtUoTSjjRUREREREREQkQjJ04CUQCKT1KoiIiIiIiIiIRD7wsm3bNnPHHXeYCy64wNSpU8f8/fffJpIWLlxoOnXqlOLn3X777aZdu3Ypfh7P4bme5s2bm0ceecRkJBUrVjSvvPJKWq+GiIiIiIiIyFnDtx4v7777rvnll1/M888/b4oXL25KlSplIunjjz82a9asMWnltddeM7lz5zYZySeffGJfGxERERERERHJYIGXPXv2mEKFCpk2bdqYs0GVKlVMRlOjRo20XgURERERERGRs4ovpUaU3YwfP95s377dlrP06dPHbNy40X5PJsxVV11lS5DGjh1rHz99+nRz6623mpo1a5pq1aqZK664wnzwwQdxlnngwAHz3HPPmSZNmpgLL7zQXHfddWbatGn2dyx/woQJZtOmTXYMxgZjPvroo+aSSy4xVatWNfXr17c/79q1K0Xbw3K6du1qateubRo2bGi3Idw2e6VG3rZOmjTJPPDAAzbA0aBBAzNixAizf/9+88QTT9hlcd8LL7wQpzfN0aNHzcsvv2yaNm1q90WrVq3Ml19+GWcsSpwef/xxM2bMGDsuj2N/zJ49O/gYlkkZ0aWXXmp/z34bMGCA3Y8JlRrxej322GN2bF6ftm3b2tcmFM/56KOPTP/+/U29evXsa9GxY8ckS8lOnjxpRo8ebVq2bGnXh/V6++2342w7ryPlaU8//bSpVauWfQz7gzHJKLrhhhtM9erV7f4BY3bv3t2+vqwH+4WSs9DXLaH3nIiIiIiIyNkuEBWVLm+ZnS8ZL5wkv/rqq+a3334zb7zxhilYsGDwd0OHDrUn9/nz5zeVK1c2M2bMsEGNDh06mG7dupkjR47Yk+Nnn33W/v6iiy6yJ+333nuvWb16tX1MhQoVbKDlwQcfNKNGjTL333+/2bFjh1m5cqUdu0yZMubQoUN2mQUKFLBBgjx58pglS5bY32fNmtUMHDgwWdty8OBBe0KfJUsWG7iIjo42w4YNMxs2bLCBosQ8+eSTNqDUvn178/nnn9vnsd4ELFiPqVOn2uAJQaHWrVvb57B9CxYssAGb888/3+4fAhKsB8vx8NyyZcua3r17m2zZstn9ynNmzpxp9+1bb71lxo0bZ3/P49g3L774ot0vBLDi27lzpw1ssG8eeughu98IYPHaUC5GYMczePBgG8ghAPLvv/+aQYMGmV69epnPPvsswX3Bvvv0009tkIaeP4sWLbLL4fkEwzwETmJiYmyQ6r///jOxsbH2/pEjR9r1Yv8ULVrUvhduuukmu20EoVhvgnUEbgjwEGRL6D0nIiIiIiIikqEDL5TdEGzhZNgrZyH7AJdffrm58cYb4wQQKEfi5NnDcwhOEIAg8EImx+LFi23ggueDE2uWOW/ePNOoUSMbKOAk3RtvxYoV5pxzzrEBlv/973/2vosvvtgsW7bMLje5yDbZsmWL+eqrr0ylSpXsfWROkLmRFDJaevbsab8nWDRx4kR78k9Gh7c+BGLYNgIvc+bMsYEWsmCuvfZa+xi27fjx4zaQRQZK9uzZ7f1kghC0yZcvn/05V65c5rbbbrPLILuDbSSgQzAFBDt4DBk34bzzzjs2E2jy5MmmdOnS9j6CK3feeacN2Fx99dU2IIJzzz3XBk08vA7Dhw+3wZvChQuftmwyU8iSIWhCIAdkDrEtbBeBLV4rsK3sn/g9gQhyEXzzEITh/fX+++/boBrI1GE/sr6hWULx33MiIiIiIiIiGb7HS0K84IXnnnvusV8pgVm3bp3NJCFTxgsueFkQZJy0aNEiznM56U5sHDJnyJbhxH/9+vU2S2Lt2rXB5SYHY5coUSLOevMzJS9JCc2I8QISBG08UVFRNnCyb98++/PcuXPtV8qHCEB4+Jnmwb/++qupW7euva98+fLBoAu8JrlkxniBKQIQt9xyi2nWrJkNooRmrcRHoIZ184IuHoJiffv2tfvO2wfxM328scmmCYfgGCVFvH6h28XPBHD4vbduBFHCNWKO/75hfRs3bhwMuoDAEKVZZBORLZPQc0VERERERIRSI98mNpb0FHgh6yIUWRaUAtFLhEAEpSNkucDr/7F7926TN2/eYMZFcpHFQYkKjX4JfJABkiNHDnP48OFkL2Pv3r02mya+IkWK2PVKTLhZjhg/Id7yyE5JaIpuj5f54mHfhe6zu+++2+5rSpzIKhkyZIgtwXr44YdtD51w2xkuQOEFjEIDGfHHpvwKBLkS265rrrkmye3KmTNn2MfEv5/1DZddE25947/nRERERERERDJt4CU+GtKSTUHZDA1V6VdC5gT9QDxkNZAVQrZEaPCFciKyV0KzSDyU8NCbhFIfyky8PjP0hUkqYBKKoAtZMvGlZBnJxXYS1Pjwww/D/j4lU3ITiCHbhRvr+vPPP9veJwReyFgpVqxYnMeTPUOpUHz0zkG44FNyETTzAmGhGSoeerakVFLrS0lXSpsoi4iIiIiIiESa8zwjmqxedtlltjSGoAtmzZoVJ3uDDJgTJ07Y/iehnnrqKds4FZQixV8uWRL33XdfMOhCORP3J5SZEQ59WOjxQm8YDyf8XjmUnygjIhuHABOlTN7tn3/+sT1UEirlCYeACw2KvaAJvU86d+5sl83sRfGRZUMpE2OF+uabb+z+K1eu3Blvl5fBRCAkdLvYVrJxvGBJSrC+vE9CM1t4j3z77be2x1BCmTMiIiIiIiIiZ1XGC9kqnCzzlV4hzDz05ptv2owNr18JTVPJ0qABL0EDmuXyHIIfZFF4WRUERJjVh5lrWB4NXcl6occJz2P6Yh6TktITymPee+892xiW7BnKh15//fU40yD7hT4sBBQYq0uXLua8884zy5cvt8EltofeMsnFdNVMo0zQhcAHswfR+4QASriZfe666y4bZKGZLuPzvK+//tr2X2FGoviBrZRgSmd6xVBStnnzZrstBHiYyprMFGZvSilmcCLwwsxVnTp1skE7ZjViuZSXiYiIiIiIiKRHzgMvBEY4secGgirMakMQgOwUcNJPmQyNWJlmmMwVTtaZStprNsvsPcx+xKw53bt3t9MWM9vOF198YadVprSGwAbTO/fr18+WKSWn6SozJRF4YQpmMkhYl5tvvtmULFnS9o7xE71S2CZmb2I6aIJElOGQvUKgISV69Ohhy5YInhCIINjETEKUdoXrlUPPGgJV7GO2lWm9CZgQrCEjKbWYcpptY8ppto/ADs11Kf3ypoxOCWaJ4nWldw1TRYOADq9VQj1yRERERERERNJaVCASqRwiGdiKNaemQo+03Cf8DeQl5HAWN82GT5ozz5JKidL//OxknJMrf3cyTrSjZtCBshWcjBN98NSsbZH276RpTsbJ1669k3Gij5zK+Iy0QNaUB77PxOG8p2a/i7Rcf/wU8THWffqdcSFnITf/C3KXSnmftTORq8aFTsb5vu0wJ+Oct2K6k3Fioo6ZzOREwM013qL7VjsZJ/t6N8cGxtGsM8fOOfPWAilxONfpE2REQsw37zkZp0Df101Gtuu3yH92nomC1S8xmZnmkhIRERERERERiRAFXkREREREREREMkuPFxERERERERFxL+ColE3i0l4XEREREREREYkQBV5ERERERERERCJEgRcRERERERERkQhR4EVEREREREREJEKiAoFAIFILF8mIphaq6mScJu93czLOzA7DnYwTHRPlZJyLJ7zgZBwzf4aTYfat3uBknH9XbXMyzv+efdzJOHOimzgZp+qodk7G2fHQKCfjFB3exck4R/YecDLO2ofHR3yMi4/9aFwIRGdxMk7sljVOxvn9vJudjJMnZr+TcVZXutTJOC2+fMjJON9f96qTcaKyujk2aDRjsJNxsvy50Mk4x3bsdDLOlgUrnYxTukdnJ+McyF/GyThFq1xkMrKdv8816VHhavVNZqaMFxERERERERGRCFHgRUREREREREQkQmIitWARERERERERST8CUcq9SAva6xKHWv6IiIiIiIiI+EeBF7E2b95sOnXqZDZt2uR0j7Rr187cfvvtwZ+bN29uHnnkEb0qIiIiIiIikimo1Eisn3/+2cycOTPN98Zrr71mcufOndarISIiIiIiIuILBV4kXalSpUpar4KIiIiIiIiIb1RqlEauu+46W9oTqlWrVqZevXpx+qw89thjpk2bNsGfJ02aZNq2bWtq1qxpGjZsaJ588kmzZ8+e4O+HDx9uLrvsMvP666/bZdWvX9/s2LHD/Pnnn7akp06dOqZGjRq2xGf27Nn2OePHjzdPPPGE/b5FixamT58+Ydd5/vz5pmLFiuaTTz6xJUGsw/fff29/99lnn5nrr7/eLvuCCy4w11xzjV3XUBs3bjRdu3Y1tWvXtuv+7rvvnjZGaKkRj2c8lh2K3/M4zz///GPuu+8+c/HFF9ux2bfffPNNsl4HERERERERkUhSxksaadKkiXnvvffMsWPHTNasWc327dvN6tWr7e9WrlxpKlWqZL8nOEKgBQRThg4dam699Vbz0EMP2YADPy9ZssR8+umnJkeOHMF+LdOnTzeDBw82u3btsvffc889Nujyyiuv2MDOmDFjTOfOnc2UKVNM06ZNbeDizTfftKU+BDsSM2zYMBuoYd3r1q1rxo4da5599lnzwAMPmN69e5u9e/ea0aNH2wDJhRdeaEqWLGkOHjxoAz9ZsmQxAwYMMNHR0XY5GzZssAGcM3Xy5Em77oUKFTLPP/+8yZYtm/n8889Nr169zDnnnGO3WURERERERIwxUVHaDWlAgZc00qxZM/PGG2+YZcuWmYsuusjMmzfPFCtWzJw4ccIsWLDABl5WrFhhAzJkdxDM4PE33HCD6d+/f3A5559/vmnfvr3NCunQoYO97/jx4zYAQsYLGIMADL9nLFSrVs2MHDnSHDlyxJQuXdreULlyZVOqVKlE1/2WW24xV155ZfBnAkB33nmnzWbxEGwhA2bhwoX2+y+//NJs2bLFfPXVV8GgEtkpLVu2TNV+ZLvWrFljgy8EkECwpUiRIjbIIyIiIiIiIpKWFHhJI9WrV7dZGnPmzLHBkLlz59pAyaFDh2zghSAJzW4JIPDYWbNmmaNHj5rWrVvHWQ7PJbDhPcdDAMVToUIFU7hwYdOlSxdz+eWX2zKfRo0amb59+57RuocuG15p0r59+8zatWvN+vXrbVkSWGcQgClRokQw6AJ+ZttSg31I8ImSK7KDLrnkEtO4ceMEy6VEREREREREXFKPlzRCqQ0BAgIvIOOFwAulO7/88ostByLYQhZHVFSUzXgBAZT4uI+gR6icOXPG+X7cuHHm0ksvNd99950tU6IfysMPP3za85IjdNmgXIiMFzJNbrvtNvP222/bMqRQrH+BAgVOWxaBpdRg31A2RSYQwR4yfQi+kAFDyZWIiIiIiIicEjDR6fKW2WX+LUznfV5+++03s3z5chskIPDCjWa5ixYtMkuXLrUlSciXL5/9unPnztOWQ/PccEGNUGXLljWDBg2ymTX0QLnjjjts81t6vqQGPVZoEsx6Ue5Evxka2xL4CMX6/fvvv6c9f/fu3YkGVUD5VSj6xcQP3vTr189mvEycONF0797dBrKeeuqpVG2biIiIiIiISGop8JKGKPchuDBixAhbdkOfFcpmChYsaIYMGWJiYmJMgwYN7GNpUhsbG2sDC6Eo4SFow0xBCZk8ebLNcCFAQ6YN5T00ny1fvnwwK4T7zwSBk3Xr1tl+LvRsoVEwyNbxAjNgfHq80G/GQ7CGwFNCcufObb9u3bo1eB+lS6HPWbx4sd1Hv/76a7CsiqbBjKeMFxEREREREUlr6vGShggs1KpVy5b/MAUyCMRQbsRsQ2S7eDMV5c+f32aWEKQhAMO0z0y3zKxG5cqVC858FA5jkDVCjxeWkTdvXpsdsmrVKnPvvffGyahhXSiBIiiT3B4r9Jj56KOP7FeW/dNPP9kZm0DPGjC9NPd169bN9OzZ0247szSFTp0dH+vEjEeUSZ177rl2H4TOBIUqVaqY7Nmz20ASsyoVLVrUBndYh9BmvyIiIiIiIiJpQRkvacwrJSLY4vFmI/J+5yFowYxGNNIlq4Opn5kV6OOPPza5cuVKcAxmS6IPCoEMSnI6duxoAy8DBw401157rX1M/fr17Y0pqF944YUUbQMBlOLFi9uGtvSPoUSKGZgIlpCRA4JFBE3oA8PU048//niwEW5imCKaDB2mr37sscdsVg19ZDwEXdg2psDmsUyb/cUXX9j1YB+JiIiIiIiIpKWoQGIpByJnoamFqjoZp8n73ZyMM7PDcCfjRMec6skTaRdPSFlg8IzNn+FkmH2rNzgZ599V25yM879nH3cyzpzoJk7GqTqqnZNxdjw0ysk4RYd3cTLOkb0HnIyz9uHxER/j4mM/GhcC0VmcjBO7ZY2TcX4/72Yn4+SJ2e9knNWVLnUyTosvH3IyzvfXvepknKisbo4NGs0Y7GScLH+euqAYacd2nN7TMRK2LFjpZJzSPdxcDD2Qv4yTcYpWuchkZNsdvY/Ptv2aFJUaiYiIiIiIiJwFAv9/AhNxS6VGIiIiIiIiIiIRosCLiIiIiIiIiEiEqNRIRERERERE5CwQiFLuRVrQXhcRERERERERiRAFXkREREREREREIkSBFxERERERERGRCIkKBAKBSC1cJCM69ONYJ+Ms7jnEyTi1Bj/kZBwT7aZl1I6SNZyMU2jHcifjRB8+4GQc46ied1/xSk7G2RVb3Mk4Jff87mSc2LVuxjlWrqrJTNbnj/z/gxIHVxkXjsfkcDLOyegsTsbZEVPCyTg5o938Dy3551Qn43x/3atOxmnxRXcn45iYrE6GOV7oHCfjxOzY6GQcc/Kkm3Gi3RwbHC9c0sk4AUf/3/LUbWUysq0rlpj0qHilmiYzU8aLiIiIiIiIiEiEaFYjERERERERkbNAwESl9SqclZTxIiIiIiIiIiISIQq8nKWS09onUu1/1FZIREREREREzhYKvJxlNm/ebDp16mQ2bdqU4GOOHDliBg4caCZMmOD7+NOnTzePPvqo78sVERERERGRxAWiotPlLbPL/Fsocfz8889m5syZie6VrVu3mvfff98cP37c97339ttv2+WLiIiIiIiInA0UeBERERERERERiRAFXiLsuuuus6U9oVq1amXq1asXp9fJY489Ztq0aRP8edKkSaZt27amZs2apmHDhubJJ580e/bsCf5++PDh5rLLLjOvv/66XVb9+vXNjh07zJ9//mluv/12U6dOHVOjRg3Trl07M3v2bPuc8ePHmyeeeMJ+36JFC9OnT5/T1nfjxo2mZcuW9vu+ffua5s2bB3+3ePFiu2yWy/Iffvhhs23btuDvu3XrZqpVq2ZWr14dJ8OlYsWK5ocffrDPZRkLFiyw982fP9/e+H7OnDlx1oP15vEe1mPQoEHmrrvuMhdccIHp2bOnvX/v3r2mf//+dh9Vr17dXH/99Ulm9IiIiIiIiIi4osBLhDVp0sT88ssv5tixY/bn7du328AEQZSVK1cGH0dwxAtyEEzp0aOHDTAMGzbMdO3a1UydOtUGIg4dOhSnXws9UwYPHmyDJDly5DD33HOPKVCggHnllVdscCZ79uymc+fO5p9//jFNmzY19913n33ua6+9Zu6///7T1rdo0aJm6NCh9vsuXbrYx2HRokWmQ4cOJkuWLGbIkCE2gLNs2TJz2223mf3799vHPP300yZPnjw2SERQ6a+//jKvvvqqDaKwbQRICLJUqVLFfPLJJ6Zq1aop2pcffvihqVSpknnjjTfMrbfeao4ePWruvPNOM23aNBv0YV3LlStnt5dAj4iIiIiIiEhai0nrFcjsmjVrZgMFBCkuuugiM2/ePFOsWDFz4sQJm/lBIGHFihU2IENwggwOHn/DDTfYQIXn/PPPN+3btzefffaZDYCAHiy9e/e2GS9gjF27dtnfMxbIQBk5cqRtmFu6dGl7Q+XKlU2pUqVOW9/Y2Fj7O5QpU8YGSfDyyy/b57711lsma9as9r66devarJuxY8fagE7BggVt8IUgyMcff2w+/fRT+xwvs+a8884zuXLlMjExMTZrJqXYb2yvh31Bhg/je9tLoGvfvn3mhRdeiJOtIyIiIiIiIpIWlPESYZS/FCpUKFhKM3fuXBsooYSIwAsojSlSpIh97NKlS20mR+vWreMsh8BCyZIlg8/xeEESVKhQwRQuXNhmqpCRMnnyZBskIRuGoMeZIsuG9SKoERUVZQM+3FhnslZ++umn4GMpU7r66qvNM888Y1atWmWzcci68QNBqlDsS7J7COJ468SNgMvff/+d6MxNIiIiIiIiZ5tAVFS6vGV2yniJsOjoaNO4cWMbeOnevbvNeKF06ODBg2bEiBG2JGfWrFm2DIigBhkvIIASH/eRzREqZ86ccb4fN26czXD57rvvbEYIgZfLL7/cZs/kzZv3jLaBMU+ePGneeecde4vvf//7X5yf6bPCVNSU/RAM8kvotmL37t32llDJEv1nCFaJiIiIiIiIpBUFXhwgU4RAxPLly21fFjJeCLwMHDjQ9k4hm+Tuu++2j82XL5/9unPnztOCFjTPpe9LYsqWLWub0BIo+eOPP8yUKVPMmDFjbNAltHQpJSgPIihEj5nQBsCh5UkeSpoGDBhg133dunU2CPTAAw8kuGyWC0qvQrF/kgoU0U+GUib62YRD4EdEREREREQkLanUyIFGjRrZAAMZLiVKlLDBAnq20BOFRrX0PGnQoIF97IUXXmgDGRMnToyzjIULF9qgTe3atRMch9Kiiy++2AZoyLShdKlXr16mfPny9rng/qTEf0zu3Lltr5e1a9faZXo3Sn8IrHizJoHtoZEvDXoJJvF7AkAemvPGXza2bt0avI8sFsZKCj1meB7lRqHrxcxJjJucbRURERERETlbBExUurxldjozdYDgQq1atWz5j9cIl0AMgQMyXpgKmhmJkD9/fjv99BdffGEb1dI/hUa1NKwlg4MpphPCGGSO0OOFmX4oa3rppZdsr5Urr7wyTkYN67JmzZqwy/EeQw8VGvaC6Zv5mdmWZsyYYW801OWrV+rD7E3vv/++nVWIYA+ZLpT60FyXvjUgi4VMGJZFWRWzHJ1zzjm2oTDrxCxNbD9ZNkmhpIkGwQR4mCqbqamZyYnGumxD/NIkEREREREREdcUeHE4uxEItni8IIz3Ow9BFsqCaKRLEINpkmlaSwAmsYAEs/5QVkTQoV+/fqZjx442G4WSpmuvvdY+hiAPN5reEqAIh+DIHXfcYYMgLIOpsC+55BLz9ttv22yahx56yDzyyCP2/tGjR9vlURpEE18CLt6U1dmyZbNlRwR+vCmqKVciw4fl0tuGDBimzGYaa4I7rCvNeVu0aJHkPvV62tSpU8duz7333mszhdh/NPcVERERERERSWtRAbq7ikjQoR/HOtkbi3sOcTJOrcEPORnHRLtpGbWjZMqnIj8ThXYsdzJO9OEDTsYxUW7i7PuKx519LFJ2xRZ3Mk7JPb87GSd2rZtxjpUL34w8o1qfP/L/D0ocXGVcOB5zKvM10k5Gxy35jZQdMSWcjJMz2s3/0JJ/TnUyzvfXvepknBZfdHcyjonJ6mSY44XOcTJOzI6NTsYxJ0+6GcdRWf7xwm4muwg4+v+Wp24rk5Ft/MvNMUdKlTq/msnMlPEiIiIiIiIiIhIhmtVIRERERERE5CwQcJQFLXFpr4uIiIiIiIiIRIgCLyIiIiIiIiIiEaJSIxEREREREZGzQMBEpfUqnJWU8SIiIiIiIiIiEiEKvIiIiIiIiIiIRIhKjUTimXXDc072SZP3uzkZZ+aNzzsZJzrGTdpig6+edTLO0ZnTnYyzb91mJ+P8u2ank3EqDOrrZJzlOas4GSfXW286Geffh0c5GafQ4E5Oxjl28IiTcbb1+iLiY5y7d6tx4WTWbE7Gidm8zsk4W6q3N5nJ99e96mScFl90dzLO922HORknSw4313gbTR3kZJxj69Y6Gefov7udjLN1iZvtKfdwZyfjHC5Qwsk4ImdCGS8iIiIiIiIiIhGiwIuIiIiIiIiISISo1EhERERERETkLBCIUu5FWtBezyACgYA5m5xt2ysiIiIiIiKZkwIv6dzmzZtNp06dzKZNm9J0PSpWrGheeeUVJ2NNnz7dPProo07GEhEREREREYkklRqlcz///LOZOXNmWq+G+eSTT0zx4sWdjPX222+bmBi9NUVERERERPwUMG5mIpW4dHYryVKjRg3tKREREREREZEUUqlRPNddd50t7QnVqlUrU69evTh9Rx577DHTpk2b4M+TJk0ybdu2NTVr1jQNGzY0Tz75pNmzZ0/w98OHDzeXXXaZef311+2y6tevb3bs2GH+/PNPc/vtt5s6derY4Ea7du3M7Nmz7XPGjx9vnnjiCft9ixYtTJ8+fcK+iPPnz7elQGTGtG/f3lxwwQV2rLFjx8Z53MmTJ83o0aNNy5YtTbVq1cyll15qs0tCt4sx7rjjDvP000+bWrVq2cccPXo0TqmRNx7ZODz2wgsvNE2bNjWffvqp3abu3bvb/dCkSRMzZsyYOOuwd+9e079/f7uPqlevbq6//vo4GT3si8WLF5sFCxbYMRgrOc9D8+bNzaBBg8xdd91l90HPnj3Dv+tFREREREREHFHgJR6CBb/88os5duyY/Xn79u1m9erVNoiycuXK4OMIjnCiD4IpPXr0sCf7w4YNM127djVTp061QYRDhw7F6ddC/5LBgwebvn37mhw5cph77rnHFChQwAY1CM5kz57ddO7c2fzzzz82mHHffffZ57722mvm/vvvT/TFfOSRR0yVKlXMiBEjbIDimWeeMR988EHw9wMGDLDjXHXVVebNN9+0gSPW5aWXXoqznIULF5oNGzbY5dBrJTY2Nux4Dz/8sGncuLF54403zLnnnmsDI2wz37NP2B8vvPCCDaSAAM6dd95ppk2bZrp162a3qVy5cnZ7f/jhB/sYlkHAhe2gvKlq1arJep7nww8/NJUqVbLrdOuttya6v0REREREREQiTaVG8TRr1syetC9btsxcdNFFZt68eaZYsWLmxIkTNguDk/oVK1bYgAyBFzIxePwNN9xggwae888/32affPbZZ6ZDhw72vuPHj5vevXvbjBcwxq5du+zvGQtkoowcOdIcOXLElC5d2t5QuXJlU6pUqURfTLJTHn/8cft9o0aN7DqybqwHgZSPPvrIBi4IDIHgDIGeV1991QZMzjnnnOB6kvGS1HhkBxE4Qq5cuWwGDIGShx56yN7HviJYsmTJEps98/XXX9sMHzJxvO0l0LVv3z4boGF/nnfeeXZZ9HjxypvYh0k9z8NrxT4WERERERERSQ+U8RIPZSyFChUyc+bMsT/PnTvXBkoonSHwAkpcihQpYh+7dOlSm5HRunXrOMshQFCyZMngczwEUDwVKlQwhQsXNl26dLElRZMnTzZZs2a12TAEIFIqtPQJlBT9+++/Zs2aNTaAREkRJUsEVrwbPxNU4veePHnyJBl0AfvEwz4DWS4eMnlAgMTbl9xHQCV0HQic/P333wnO3JSS5xHsEREREREREUkvlPEST3R0tC2fIfBCrxICEmSIHDx40JbeELyYNWuWLQOKioqyGS8ggBIf93lBB0/OnDnjfD9u3Dib4fLdd9/ZzA4CL5dffrnNnsmbN2+KXkyyPUJ5wRDWcffu3fb7a665Juxzt23bFnYdE5M7d+7T7kvsuawDN7JiEloHglWpeV5y111ERERERORsE4hS7kVaUOAlDMpYJkyYYJYvX277spDxQuBl4MCBZtGiRTbL5e6777aPzZcvn/26c+dOm8ESikazoRkg4ZQtW9Y2hKXx7R9//GGmTJliG9ISdAktXUqO0Ga+INsFBQsWDAZx3nnnHZvREl/RokVNpDEupVNek9746Nvi5/NERERERERE0prCXWHQH4VsFjJcSpQoYU/66dlCAGPIkCG2/0iDBg3sY5nRh+azEydOPK1BLUGb2rVrJ7jzKS26+OKLbYCGTBtKl3r16mXKly9vn2tfoOjkv0TxG80SxCEThGa3Xm8Uesowjnc7fPiw7fHCOkRa3bp1zdatW23ZUOg60HyXrB9vW7NkyXJGzxMRERERERFJb5TxkkAJDc1gKf+hgSwIxBAAIJhBA15mJEL+/Pnt9NMEaQjA0DNl48aNZujQoTYTgymmE8IY9FehxwvLICuF2ZJWrVpl7r333jgZNawLJVAEZRLy7rvv2ma59EKhqe2PP/5oZy0CMwXRA4YsGoI6ZOIwcxJZJGwDgaVIYwpoZh0iW4gZibweODQAvvbaa4NlQuyHX3/91fZ2YXaj5D5PREREREREEhYwUdo9aUCpAgkguAKCLR5vNiLvdx5mCiKgQTCAwADTHdPY9uOPP7Yz9CTWk4WyIoIr/fr1Mx07drSBF0qaCCigfv369kYAhRl8EkNTXp5PIIdyKKa2Dm36S0kTsxDRS4bADr8nUPT+++8nOGW0n7yeNnXq1LHbwzqQKcT+Y+prDzMskVXE/qCfTnKfJyIiIiIiImefefPmmZtvvtkmIdA6hEQIJmTx+zlnKipAt1jJ0ObPn2+npKZ/i1cCJWduaqHwTXz91uT9bk7GmdlhuJNxomPcRM8bfPWsk3GOzpjmZJx9606VFUbav2t2OhmnwqC+TsZZlPP/ppGPpHNfa+9knH8fHuVknEKDOzkZ59jBI07G+bvXFxEfo/6eCcaFk1mzORknZvM6J+Msr+7mbydvlriTGETKiopXOhmnxRfdnYzzfdthTsbJksPNNd5GUwc5Gefkwp+djHP031OTYkTa1iVrnYxT7uHOTsY5XKCEk3EKVr/EZGRr16wx6dG5iVR2JGXZsmXmtttus7PeUnGyYsUKm2TQrl078/jjj/v2nNRQqZGIiIiIiIiIZEjDhg2zLTnoXUqLEFp0UNHx4osv2mqJ+LP/nulzUkOlRiIiIiIiIiKS4Rw9etRWgFx22WU2gOK58sorbT9VWnH48ZzUUsZLJkDvmZUrV6b1aoiIiIiIiIikWIsWLRL9/ffffx/2fiaMOXbsmJ3YJhQZK0w8syZMadWZPCe1FHgREREREREROQsEQjI8MoP//vsvODNxfEx0c+DAAV+ek1oKvIiIiIiIiIhImvk+gYyWpJw8edLJc1JLPV5EREREREREJMPJmzev/RouS4X78uTJ48tzUksZLyIiIiIiIiJngUAgc5UalSlTxmTJksVs2LAhzv3btm0zhw8ftjMX+fGc1FLgRSSe2IKO/iyyxGSq7Tm+74STcU7GxDoZJ2uBfE7Gid25x8k42fNmczLOyRg34xw74SZh8/jho07GiYly8/cTcJRae3jvISfjZMsS+f12Iof/V73CCURncTKOyZkrUx3Ynwi4+YyLyuroRCUmq5NhsuRw8z/0xKGTmerYIKZQQSfjGEf/q3MWOr2/RSScyOFmnKNZ3fx/k/QlNjbW1K1b10ybNs107NjRREef+v82efJkExMTYy6++GJfnpNaKjUSERERERERkQzp/vvvN3/++afp1q2bmTlzphk1apR5+eWXTbt27UyJEiXs9NFLly41W7duTfZz/KbAi4iIiIiIiIhkSHXr1jUjRowwmzZtMl27djXjxo0znTp1Mn379rW/3759u7n55pvNZ599luzn+E2lRiIiIiIiIiKSYTVv3tzewilVqpRZuXJlip7jN2W8SKoEAgHtQREREREREZEEKPAiZ2Tz5s02FYvULBEREREREUn/AiY6Xd4yu8y/hRIRP//8s21CJCIiIiIiIiIJU+BFRERERERERCRCFHjJIK677jpb2hOqVatWpl69enH6rDz22GOmTZs2wZ8nTZpk2rZta2rWrGka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iERIVCAQCERq4SIZ0c7f5zoZ51hMDifjZD+y18k4J7LEOhlne78nnIxTsmE1J+PEFi/mZBwTOOlkmKhYN++DE3vcvK+P1L/CyTibc1ZwMs45h9eazCTXlr8iPsbxPAUjPoYdJ1tuJ+NkOXbIyTjbClVxMk7hfesy1X6LcvW/+uQJJ+OcjHHzmTCrQQ8n41wyyM1nQpacbo4RTx496mScLLlyOhnn8KatTsYp9NRok5EtX7PJpEeVy5c0mZkyXkREREREREREIkSBFxERERERERGRCNGsRiIiIiIiIiJngUAgKq1X4aykjJcIyiztczLLdoiIiIiIiIi4psBLBGzevNl06tTJbNqUPhsXJdeePXtMr169zMKFC4P33X777aZdu3Zpul4iIiIiIiIiGYUCLxHw888/m5kzZ5qM7s8//zTffPONOXnSTYd9ERERERERiZyAiUqXt8xOgRcRERERERERkQjJFIGX6667zpb2hGrVqpWpV69enP4kjz32mGnTpk3w50mTJpm2bduamjVrmoYNG5onn3zSltd4hg8fbi677DLz+uuv22XVr1/f7Nixw2aCUHJTp04dU6NGDVt6M3v2bPuc8ePHmyeeeMJ+36JFC9OnT58E1/v99983V155pbngggvs+L1797bL9zRv3twMHTrUvPDCC+biiy+26/nwww+b/fv3m9GjR5vGjRubWrVqma5du5pdu3YFn3fixAkzbtw4c/XVV5sLL7zQNG3a1Lz44ovm8OHDccafM2eOad++valdu7apW7eu6dmzpy2Twvz5881dd91lv+/QoYPd3lDvvPOOXb/q1avb/U+Wj4d9UKVKFfPrr7+aW2+91W7fJZdcYgYPHmzXzUMmDdvRsmVLU61aNXPppZeat99+O85rxuvBevF8xrrqqqvMu+++m6L9KCIiIiIiIpJWMkXgpUmTJuaXX34xx44dsz9v377drF692p60r1y5Mvg4giMEC0AwpUePHvZkfdiwYTZ4MXXqVBtgOHToUPA5BCKmT59ugwZ9+/Y1OXLkMPfcc48pUKCAeeWVV2xwJnv27KZz587mn3/+sUGO++67zz73tddeM/fff3/Ydf72229tMOSWW26xwQcCKpQnPfLII3Ee995775n169ebIUOGmC5dupiJEyeaG264wT52wIAB9vE//vijefXVV4PPIYA0cOBAu61s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iIiIiIiIpDcKvIiIiIiIiIiIRIgCLyIiIiIiIiIiEZKpmuuKiIiIiIiISHiBgGY1SgvKeBERERERERERiRAFXkREREREREREIkSlRiIiIiIiIiJngZNGpUZpQYEXkXhyL5/jZJ+cLFrSyThRG1a7GSdXHifj5LymsZNxlr83zck4+UvndzJOrmIFnIyTt2oFJ+NE58zhZJwcuzY6Ged4jkpOxsm18U8n4wSy53IyztpyLSM+Rv4RD0d8DDtONTd/O1GxsU7GyVGvjJNxsq//3ck4J/fsdjJOdOGiTsY5tm6tk3FiChV0Ms4lg65wMs5Pfac4GadQrXxOxslXys04RS8s52ScrUvcvK8LORlFMhuVGomIiIiIiIiIRIgCLyIiIiIiIiIiEaLAi4iIiIiIiIhIhCjwkgqBQMC/VyKD074QEREREREROZ0CL2dg8+bNplOnTmbTpk1n8vRM56+//jK33HJLWq+GiIiIiIiIJCJgotLlLbNT4OUM/Pzzz2bmzJn+vxoZ1LfffmuWLl2a1qshIiIiIiIiku5oOmkRERERERGRs0AgkPmzS9KjDJHxct1119nSnlCtWrUy9erVi9Nb5LHHHjNt2rQJ/jxp0iTTtm1bU7NmTdOwYUPz5JNPmj179gR/P3z4cHPZZZeZ119/3S6rfv36ZseOHebPP/80t99+u6lTp46pUaOGadeunZk9e7Z9zvjx480TTzxhv2/RooXp06dPguu9c+dO07dvX9OgQQO7DixnwYIFwd+fOHHCjBs3zlx99dXmwgsvNE2bNjUvvviiOXz4cPAxLP/OO+80n332mV3XCy64wJb1rF271mbdeM+94YYbzB9//BHneYz3xRdfmGbNmtnxO3ToYLct1C+//GLuueceu63VqlUzzZs3N8OGDbPr5jl27Jh57bXXzKWXXmrHv/LKK83HH38c3IcjR46031esWNH+7H3/0Ucfmf79+9t9yzp27NjR/P3333HGX7x4sd3X7GfW4eGHHzbbtm2L85j333/fjsnYvI69e/e2r5MnsddLREREREREJC1liMBLkyZNbICAAAC2b99uVq9ebYMoK1euDD6Ok20CByCY0qNHD3uyTiCha9euZurUqfYE/dChQ3H6tUyfPt0MHjzYBkly5MhhAxEFChQwr7zyig0kZM+e3XTu3Nn8888/Njhy33332ecSjLj//vvDrjNj3HrrrbYsqWfPnvax+fLlM/fee29wnQkEDRw40K4z69u+fXsbiGGs0IDSr7/+at577z0bcHj++efNmjVrbCDq2WeftV9Zz61bt9px4vdeGTJkiHnggQfMSy+9ZPcX2+8FNlasWGGDOvnz57fLeOONN8xFF11kRowYYSZOnBgniDNq1Chz/fXXmzfffNMGYAiofPrpp+bGG2+09+OTTz6xP3vYp/v37zcvv/yyefrpp+129OrVK/j7RYsW2WBQlixZ7HoS0Fq2bJm57bbb7PO8MiaCUQSbRo8ebQMzBJweeeQR+3sel9jrJSIiIiIiIpKWMkSpERkbBAU4KScwMG/ePFOsWDGblUEGSaVKlWwQgYAMQYy9e/fax5MFQoDAc/7559vgBtkjnPDj+PHjNqBBVgYYY9euXfb3jAUyQcjqOHLkiCldurS9oXLlyqZUqVJh1/nLL78069evtxknPB9kZBCkmD9/vg02fP755+bBBx8MBm/I5ihatKh59NFHzQ8//GAzanDgwAEbmGD9wfPJOHn77bfNJZdcYu8jk+SFF16w616wYMFgUIL1ZlwQhCJo8u6779ptZp9dfPHFNigTHR0dXAfGZr9ec801NshDEIbH33333fYxZAYR6GE9brrpJrvOINsk1LnnnmuDL56NGzfawAiZQIULF7YBGfblW2+9ZbJmzWofU7duXZvZM3bsWBvgYj1KlixpA0asI78nyEKWC8Ep1i+x10tEREREREQkLWWIjJfq1aubQoUKmTlz5tif586dawMllM94pTtkQRQpUsQ+lkavR48eNa1bt46zHE7MOYkPLffxAiieChUq2KBAly5dbAbG5MmTbVCAbJjzzjsv2eu8cOFCU6JEiWDQBbGxsTaIQZDAW4f460gJFUGZ0HXMlStXMOgC1g+U73jIWsF///0XvO+cc84JBl1AgCR0n1177bU2eEMmEUGYadOmBcuM2H8g0wgEQ0IRrAkNqoTDWKGKFy8ezAbixutENlNUVJQNgHHjNaxatar56aefgkEegkqsK+u2ZMkS+xwymHieX6+XiIiIiIiIyFkbeCHToXHjxsHACxkvBF7IfiAwQObDrFmzbBkQJ+NkvIQGKEJx3759++LclzNnzjjfU+5DZsh3331nHnroIZsVQolL/OclZvfu3cHMk3ASWseYmBib0RE6Vu7cucMu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yiuvNNWqVTNXXHGF+frrr1M0FsscPHiwadmypV1GrVq1zF133WW3FUuWLLFlRNOnT4+z3H/++cfe/8UXX8QpNZo/f759Pjp06GD319ixY+3vV61aFWcZLDPc/SIiIiIiIiIuKfCSgCZNmphffvnFHDt2zP68fft2s3r1ahtEWblyZfBxBEeaN29uvyeY0qNHD3PBBReYYcOGma5du5qpU6faAMGhQ4fi9GshMEBQgsBFjhw5zD333GMKFChgXnnlFRucyZ49u+ncubMNQhAcue++++xzX3vtNXP//feHXWfGuPXWW21ZUs+ePe1j8+XLZ+69997gOhMIGjhwoF1n1rd9+/Y2EMNYoQGl33//3bzxxhv2/jfffNOcc8455tFHH7X7ILlj8fjPP//cBrDGjBljt5VACPuIsQjWlC1b1nz77bdxtmPChAl2n1x++eVx7q9atWowAMV29O/f3waQsmXLZoNEob788kv7OlSoUCHxvwAREREREZGzRCAQlS5vmZ1KjRLQrFkzG3hYtmyZueiii8y8efNMsWLFbMYIWR2VKlUyK1assAEZghh79+61j7/hhhtsQMBz/vnn2+AGGRtkaeD48eOmd+/eNuMFjLFr1y77e8YCGSIjR440R44cMaVLl7Y3VK5c2ZQqVSrsOhNsWL9+vc0U4fkgg+b666+32SJZsmSxgZAHH3wwGLwhK4c+KgRJfvjhh2Avlf/++8/2Vilfvrz9uVy5cnaf8JjzzjsvybF4/MGDB83jjz9uWrdubX9ft25ds3//fvP888+bbdu2meLFi9tsodGjR9vH5syZ0z5u4sSJdj1y584dJ1uIn731YR24gYwagjUPP/ywiY6OtvuSfjhekEZEREREREQkrSjjJQHVq1c3hQoVMnPmzLE/z5071wZKyNLwymk4uS9SpIh97NKlS83Ro0eDQQYPgZSSJUvGKcHxAigesjIKFy5sunTpYoMFkydPNlmzZrUZIl5wITmY6adEiRLBQIjXI4VABkEdbx3iryMlVARlQteR7BUvyAGCJPAyd5Iai+8JqDAWQRYCVx9//LH58ccf7WPZV7jmmmtsSRIBHVCGtGbNGnPttdcme7sJdjEGrxFYB7aH7RIRERERERFJSwq8JLRjoqNN48aNg4EXAgcEXsjaoASJUplZs2bZMqCoqCib8QICKPFx3759++Lc52V3eN9T7nPppZea7777zjz00EPm4osvthkc8Z+XmN27d5uCBQsm+PuE1jEmJsaWOYWORalT/P0BbzahpMbyyrDoEcN+JMOGHjEEZOCVNZHJU7t2bRssAZkrBLPoG5NcvC4shywcUHZEH508efIkexkiIiIiIiIikaDASxJ9Xn777TezfPly25eFE3xulL8sWrTIZrlQfuNliHgNZ+OjeS6BjcTQ62TQoEE2a4NyoDvuuMM26qXnS3IRaCAgEh+lTPRdSWgd6WPD85Jax5SMtWHDBtvjhlIrgknsr48++ii4v0KR9fLTTz/ZwA/bTN8WMlaSi8AXDY3Jmvnrr7/MH3/8YX8WERERERERSWsKvCSiUaNG9qR+xIgRtqyGrAoCCWR6DBkyxGaKeJkZzBDkldqEoiSHoA1ZHQmhtIgMFwI0ZJZQutSrVy9b6sNzQzNOEkNZ06ZNm4KzBnlBFZrZMvsP2TqIv440t6V3TWLrmNKxaM5Lf5qOHTuaMmXK2P0Ib6YmL3MGZMWwfTQk3rp1qw3EJCSh/UBvGUqWBgwYYEu72J8iIiIiIiIiaU3NdRNBM1emQCZjg+mlQQCBAMaUKVNs9gaz7yB//vx29h6CNARgaA7LVMhDhw61jWYTy8BgDAIf9HhhGXnz5rUBCmYAYpYgeNkqrAulO6H9V0KDDx988IHNNKGBLiVFlDCRmUIGDc9hO1hHgiJk75DNw4xENMalbCq5khqLoBQ3Mnbuvvtu29OFabFnzJhhnx86yxPZMzQo5vk0LeaWEG8/sBy+9x5L4+NLLrnE9t3p1q1bMNAjIiIiIiIipwSMzpPSgjJekuCVxnjZIvBmI4pfNsMJPzMa0aSWaZgJaDDjDk1lc+XKleAYBA2YbplAQr9+/WyWCIEXpn32mszWr1/f3piC+oUXXkgwUPThhx/azBXKlrp3724OHDhg3n///WCghmU+8MADNsuFIA/ZKcy6RCPclJT3JDUWpVOsK01vCSgx/TMI1hAUIRMoFNtJ8CmpproVK1Y0V111lV3vRx55JM7veD3IiPGCZCIiIiIiIiJpLSrgdTkVyeAIdjFVN0Gk1Ng/4lHjQpbK1Z2Mc3Rx3CBXpGTJ/X8NoyMpJl9+J+Os+Xiqk3H2bz/gZJwiFYs4GafE5Y2cjGPyJb8nVaocOzUDW6StqeqmL1X5xWOdjGOyxW3QHilrq14f8TGKvPu4ceHEkWNOxslZsqiTcfa06uhknKJ/fu9knCN/rXQyTraKCWf9+unA4iVOxoktcCpTOdKismZ1Ms7v752ahTPS/l18akKMSDunsZtjgwrX1ncyzn9rNzoZp8QrH5mMbM7y/0x61KBy5p4YRaVGkuG9/vrr5u+//7ZTVb/33ntpvToiIiIiIiLpUiCgUqO0oMCLZHj0e1m7dq2dfltNdUVERERERCQ9UeBFMrxPP/00rVdBREREREREJCw11xURERERERERiRAFXkREREREREREIkSBFxERERERERGRCFGPFxEREREREZGzQMBoVqO0oMCLSDw7Fq1wsk+KV7nQyTjbFq10Mk72fDmdjFOoZmWTmcRkd/NveMuyLU7GKXGlmw/zI8XPdTJO9M9TnYxzuHI2J+Mc3bjRyThRWbM6GedIldiIj5GrXGnjQlSOHE7GObT2bzfjROd2Ms6xc8o5GWfLh984Ged/las4GWfrkrVOxslZyM37oNAF5zkZJ1+pfE7Gic0d+f9t2DJrh5NxKt7kZnvyVvyfk3FEzoQCLyIiIiIiIiJngZOBtF6Ds5N6vIiIiIiIiIiIRIgCLyIiIiIiIiIiEaLAy/8XCCjnKiPR6yUiIiIiIiIZwVkfeNm8ebPp1KmT2bRpU1q/FmedPn36mMaNG6foOXq9REREREREJKXGjRtnLr/8cnPBBReY1q1bmwkTJiT5nN27d5sBAwaYFi1amBo1apirr77aLufkyZMpGvusb677888/m5kzZ6b4RZPUu//++02HDh1S9By9XiIiIiIiIpIS7733nnn++edN586dTa1atczkyZPNI488YrJnz24uu+yysM85fvy46dKli/nnn39M9+7dTZkyZcycOXNsIGbjxo3m0UcfTfb4Z33gRdIOb1wRERERERFxI2CizrpdffjwYTNixAhz2223mQcffNDe16hRI5vN8sorryQYeJk/f75ZsmSJefvtt80ll1xi76tfv77Zt2+f+eCDD2wwhsBNuiw1uu6662xpT6hWrVqZevXqxenb8dhjj5k2bdoEf540aZJp27atqVmzpmnYsKF58sknzZ49e4K/Hz58uN1hr7/+ul0WO2THjh3mzz//NLfffrupU6eOTQ1q166dmT17tn3O+PHjzRNPPGG/J3WI0peE7Ny50/Tt29c0aNDArgPLWbBgQfD3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x7O4eb9tiS4d8TEqbfnOuHAiV34n4xyLzeVknJxrlzgZ578K9ZyMk3PvJifjBKLdzHsRffSwk3FO5MjtZJzopXOcjHN4y3Yn48QWyOdknOjYWCfjzHjgcyfjNB7Sxsk4ebq9ZDKy6b8eMenRpRe4OXZIK8p4ERERERERERGJEAVeREREREREREQixE0+o4iIiIiIiIikKTUaSRvKeMkAzuY2PGfztouIiIiIiEjGp8BLOrZ582bTqVMns2mTm4Zu6c2IESPM6NGj03o1RERERERERM6YAi/p2M8//2xmzpxpzkbHjx83w4YNM4cPu+m6LyIiIiIiIhIJCryIiIiIiIiIiESIAi8hrrvuOlvaE6pVq1amXr16cXqNPPbYY6ZNm/+bJ37SpEmmbdu2pmbNmqZhw4bmySefNHv27An+fvjw4eayyy4zr7/+ul1W/fr1zY4dO8yff/5pbr/9dlOnTh1To0YN065dOzN79mz7nPHjx5snnnjCft+iRQvTp0+fBF/E999/31x55ZXmggsusOP37t3bLh8vvviiqVatmtm7d2+c57z77rumevXqdj299fv+++9N69at7f3XXHONWbx4sfn111/NTTfdZJfN78jCib9dKX0eVq9ebTp37mxq1apl99t9991n1q5dG/x91apV7dfXXnvNVKxYMcH92K9fvyS3T0RERERERCStKPASokmTJuaXX34xx44dsz9v377dBgg4eV+5cmXwcQRHmjdvbr8nCNCjRw8bYKA0pmvXrmbq1Kk2oHLo0KE4/VqmT59uBg8ebPr27Wty5Mhh7rnnHlOgQAHzyiuv2KBC9uzZbTDin3/+MU2bNrXBCC/4cP/994d9Ab/99lsbXLnllltsP5SHH37Ylic98sgj9vcEhNgeHhfqq6++sgGd/PnzB7d14MCBdsyhQ4eaffv2me7du5uHHnrILoN+KwSfevbsaQ4ePBhczpk8b/369XZ9t23bZgYNGmRvO3futIGnLVu22MeMGzfOfr3hhhvMJ598kuB+vPPOO5O1fSIiIiIiIme7gIlKl7fMTtNJh2jWrJl54403zLJly8xFF11k5s2bZ4oVK2ZOnDhhFixYYCpVqmRWrFhhgw0EXsiy4PEEB/r37x9czvnnn2/at29vPvvsM9OhQ4dgzxIyUcjUAGPs2rXL/p6xQObGyJEjzZEjR0zp0qXt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LyIiIiIiIiKSsajeJW0o40VEREREREREJEIUeBERERERERERiRAFXkREREREREREIkSBFxERERERERGRCFHgRUREREREREQkQqICAfU1FhERERERERGJBGW8iIiIiIiIiIhEiAIvIiIiIiIiIiIRosCLiIiIiIiIiEiEKPAiIiIiIiIiIhIhCryIiIiIiIiIiESIAi8iIiIiIiIiIhGiwIuIiIiIiIiISIQo8CIiIiIiIiIiEiEKvIiIiIiIiIiIRIgCLyIiIiIiIiIiEaLAi4iIiIiIiIhIhCjwIiIiIiIiIiISIQq8iIiInIF///1X++0MHD9+PFPtN1fb4+r95mp7Mtv7QEREJDEKvIic5W699Vbz008/pfVqSBgzZ840gUAg0+ybNWvWmMykTZs2ZuLEiREfZ8iQIWbFihURH+fPP/80Llx11VVm+vTpmWa/udoeV+83V9vjapxx48aZzZs3m8xoy5YtZunSpebgwYPm8OHDvi774YcfNosWLTKZ2e+//26mTZtm/vvvP5ORZLbP0n379qX1Kog4EeNmGJHM5ZtvvjH58+c3jRs3NitXrjSPPPKI2bRpk2ndurV54oknTGxsrG9jHT161Pz6669m27Zt5pJLLjGHDh0yxYsX9235y5cvN1mzZjUusO6MxzZ5AQW+ctDIAV7v3r19GYfl5cyZ034/depUe9DdokULU6ZMGeOXhQsXmpiYGFOjRg178Pv0008H3wP33XefL2OwnGLFiplrr73WXH/99aZs2bImUlxsT6tWrcyFF15obrjhBnPllVea3Llzm0jgBGTEiBHmhx9+sO+5kydPxvl9VFSU+fHHH325Yl+wYEETae+++6656KKLTKVKlSI6zl133WX69u1r32+RztyI1GufFvvN1fa4er+52h5X47z44oumaNGipkSJEhEfy8X/UcyYMcO88MIL5u+//7b/zz777DPzxhtvmAIFCtgxo6NTf12VoBj/q13hGIdjAw//t/n/zT697bbbUr38nTt3ml69epm6deuaLl262IDcgAED7DFIoUKFzPvvv2/Kly9v/LBx40Zz5MgRuzyCOq+++qp9H/AZePXVV2eYz1IX2wKObS+77DLTtm1b06BBAxMpvNaffPJJoscGH374YcTGF1HGi0gKvffeezZAQDAEfHDzgX7dddeZb7/91p7w+eWjjz4yjRo1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B7bffvvRaaedVpQviURideODH/xgmWZm+iGID/7Df/gPo//23/5baUlMJLpEEi+JRCKRmEv88z//8+jLX/5y6ds2InK77bYb/af/9J+W+2MlEoke8aIXvahUuvfdd98874lEovi8iQ38pPYVG1TVbyLRJZJ4SSQSiUQikUjMJc4999zRn//5n4/23nvv0dOe9rTRz//8z6/3/5jUkkgk5n+QAHPt6meXSPSNJF4SiUQiMVegcHn/+98/uvXWW0cPP/zwev/O86WOl00kEvMNZMuGYD34xje+0dvnSSQSywP+bl/4wheKaTB/FwQMH7hnP/vZo8022ywvS6JzJPGSSCQSibmCPm3EynOf+9xipNmGk08+uffPlUgk+sG99947etKTnjT66Z/+6dH999+/0f9/88037+VzJRKJ5YchAp/73OdGn//850df+cpXiv/b7/7u7xYSZr/99lvuj5eYYyTxkkgkEom5wo477jh685vfPPrDP/zD5f4oiURiGfCsZz2rmGv/zu/8zuiYY44Z/fEf//HoV3/1V/NaJBKJR+FLX/pSUcjecsstqX5LdI4cJ51IJBKJucIv/uIvjp74xCcu98dIJBLLBNPMHnzwwfLfl1xyyWj//fdP4iWRSIzWrVs3uvnmm0c33XRT+ak1mTL2BS94QSFsE4kukYqXRCKRSMzdKOlrr722jI1EwiQSidWFgw8+uFSwH/vYxxYCxk/tBG1Iz6dEYnVAO9H3v//9sh7ssMMOo5122qmQLU996lOX+6MlVglS8ZJIJBKJuYLq9ic+8YnR8573vNGv//qvj37u535uvUTrf//v/71sny+RSHSLU089dXTOOeeUajbFiwkmv/zLv5ynPZFYxUC4WBN+5md+psQFv/ALv9A65SyR6AqpeEkkEonEXOGoo44aXXbZZaMtttiiBFpt+OhHP9r750okEv2DYSb128amGyUSifnHP/zDP4xuuOGG0fXXX19+fuc73ymtyZQvXkZOJxJdIYmXRCKRSMwVSIiZab72ta9d7o+SSCQSiURiBU84YsR91VVXpbluonNkq1EikUgk5gqbbbbZ6Ld+67eW+2MkEolEIpFYQfj3f//3MkKa4uW6664bfe1rXyt/p3bZfffdl/vjJeYcSbwkEolEYq5AKvyxj31s9MxnPrP0cicSiUQikVjdeP3rX18mGT3yyCPF84kP3EEHHTR6znOek0b8iV6QxEsikUgk5gpM81SzVK+Yao5PNmKu+573vGfZPl8ikUgkEol+8b3vfa8QLWKDbbbZpsQCiUSfSI+XRCKRSMydmeaGINj67Gc/29vnSSQSiUQikUisbiTxkkgkEolEIpFIJBKJRCLREX66qzdOJBKJRCKRSCQSiUQikVjtSOIlkUgkEolEIpFIJBKJRKIjJPGSSCQSiUQikUgkEolEItERknhJJBKJRCKRSCQSiUQikegISbwkEolEIpFIJBKJRCKRSHSEJF4SiUQikUgkEolEIpFIJDpCEi+JRCKRSCQSiUQikUgkEh0hiZdEIpFIJBKJRCKRSCQSiY6QxEsikUgkEolEIpFIJBKJxKgb/H/HrhNouLMzQQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Highly correlated feature pairs (|corr| > 0.9):\n", + "mean radius mean perimeter 0.997855\n", + "worst radius worst perimeter 0.993708\n", + "mean radius mean area 0.987357\n", + "mean perimeter mean area 0.986507\n", + "worst radius worst area 0.984015\n", + "worst perimeter worst area 0.977578\n", + "radius error perimeter error 0.972794\n", + "mean perimeter worst perimeter 0.970387\n", + "mean radius worst radius 0.969539\n", + "mean perimeter worst radius 0.969476\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "corr_matrix = df.drop(columns=[\"target\"]).corr()\n", + "plt.figure(figsize=(12, 10))\n", + "sns.heatmap(corr_matrix, cmap=\"coolwarm\", center=0, square=False)\n", + "plt.title(\"Feature Correlation Heatmap\")\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "high_corr_pairs = corr_matrix.where(np.triu(np.ones(corr_matrix.shape), k=1).astype(bool))\n", + "high_corr_pairs = high_corr_pairs.stack().loc[lambda x: x.abs() > 0.9].sort_values(ascending=False)\n", + "print(\"Highly correlated feature pairs (|corr| > 0.9):\")\n", + "print(high_corr_pairs.head(10))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b4dff92b", + "metadata": { + "execution": { + "iopub.execute_input": "2025-11-23T01:21:07.702435Z", + "iopub.status.busy": "2025-11-23T01:21:07.702346Z", + "iopub.status.idle": "2025-11-23T01:21:08.031698Z", + "shell.execute_reply": "2025-11-23T01:21:08.031004Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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yLCToAHDpKmZAjjz58+vk5702muv2fodp556Kh2FuMzTO3OeMemPtb399ts22DRpkEBTmVHxjRs31hlBN5PnlyxZEnfEHKjNpGKb+h2157uYh6ZmhS3ORc5ISUpxZgjOpAXccccd9o+nd+/eeuedd2wRt1tvvZVoG3X8/Oc/1+WXX26L3Vx44YX2gm1qM1xyySXq1q0bvYW4zNyFK664Qv/4xz/shERzU2eOHTPp2aQ/cpOHI2GWcjaTU029hZtvvtmuhGPOQwUFBfZcBDTEzM00DytMHYZrr73WLhBjKjyboOGmm26i8xy4Yg3NHkJKMKskmZOt+QPatWuXXZrO3BSa1UyAw5njxBwvJp2tY8eO+sEPfmCrPpt0JcCJqdXx9NNP67nnnrNL9Jqh//PPP9+uzkZVeTgxtV9MBed//vOfOu200+qkQpoVbhYtWmQnOp988sl2GU2TOgk0dvysWLHCztNctWqVDRjM8XPLLbcwZ7MBBAwAAAAAHDGHAQAAAIAjAgYAAAAAjggYAAAAADgiYAAAAADgiIABAAAAgCMCBgAAAACOCBgAAAAAOKLSMwCgxdx222168cUX62wzhbbS09NtkcgLLrhAl112mdzuQ8+vTCGll19+2X6eKRC4f/9+de/eXZMmTbKVWXNychy/37Jly2y131dffVXHHXccv1kAaAYEDACAFmeq8JrqzkYsFlNFRYXefPNNW61369at+s1vfmP37d27VzfeeKOWLFmis846S9dcc40CgYCWLl2qOXPmaMGCBbZitKkyfrgtW7bopptusl8fANB8qPQMAGjxEYa33npLRUVFdfZFIhFdfPHF+vzzz7Vw4UJ17txZV111lT7++GPNnj1b48ePr/P++fPn6xe/+IVOPfVU/etf/6qzz3zOzJkztXv3bvv/efPmMcIAAM2EOQwAgDbh8Xg0ZcoUGzgsX77cBhWLFi2yowqHBwvGOeecozPPPFMfffSR1q9ff3D7PffcY9OaMjIydN5557XyTwEA7R8BAwCgzdTMXQiFQpo7d679txl1cDJr1ix9+OGHdUYPvvzyS1155ZV66aWX1Ldv31ZoNQCkFuYwAADazAcffGA/DhkyRPfdd5+d3GxSk5x06dKl3raHH35Yfr+/RdsJAKmMgAEA0OJKS0vthGYjGo2quLhY//3vf/Xuu+9q8uTJdsUkM/9gwIABR/y1CRYAoGURMAAAWpxZPrXeBcjr1bRp0/T73//+YHqSWVIVAJBYCBgAAC3OTEyuWQrV1GHIzs628w3MROUanTp10p49e/htAECCIWAAALS4ESNG1FtW9XAjR460aUo7duyIO1fBeP/99/X444/r6quv1tixY1uotQCA2lglCQCQEMxcBuO5555zfI8JKMxE6dqVoQEALYszLgAgIZjaC6NHj7YVnc1IwuHMsqmvvfaaHa0YM2ZMm7QRAFIRKUkAgITxl7/8xdZUuPbaa3X22WfbAMKsqrR48WK988476tGjh+699962biYApBQCBgBAwjBzF0xKknm9+uqrtsZCeXm5DRSuv/56WwU6KyurrZsJACnFFYvFYm3dCAAAAACJiTkMAAAAABwRMAAAAABwRMAAAAAAwBEBAwAAAABHBAwAAAAAHBEwAAAAAHBEwAAAAADAEQEDAAAAAEcEDAAAAAAcETAAAAAAcETAAAAAAMARAQMAAAAARwQMAAAAAOTk/wM9fsQ29qVszAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Explained variance ratios: [0.44272026 0.18971182]\n" + ] + } + ], + "source": [ + "from sklearn.decomposition import PCA\n", + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "features = df.drop(columns=[\"target\"])\n", + "scaler = StandardScaler()\n", + "X_scaled = scaler.fit_transform(features)\n", + "pca = PCA(n_components=2, random_state=42)\n", + "components = pca.fit_transform(X_scaled)\n", + "pca_df = pd.DataFrame(components, columns=[\"PC1\", \"PC2\"])\n", + "pca_df[\"target\"] = df[\"target\"].map(target_name_map)\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "sns.scatterplot(\n", + " data=pca_df, x=\"PC1\", y=\"PC2\", hue=\"target\", palette=[\"#d95f02\", \"#1b9e77\"], alpha=0.7\n", + ")\n", + "plt.title(\"PCA (2 components) Colored by Diagnosis\")\n", + "plt.legend(title=\"Diagnosis\")\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "print(\"Explained variance ratios:\", pca.explained_variance_ratio_)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.14.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebook/agent.py b/notebook/agent.py new file mode 100644 index 0000000000..0cf2cdec55 --- /dev/null +++ b/notebook/agent.py @@ -0,0 +1,44 @@ +import threading + +from flask import Flask, jsonify, request +from werkzeug.serving import make_server + +app = Flask(__name__) + + +@app.route("/chat", methods=["POST"]) +def chat(): + data = request.get_json() + print(f"NOTEBOOK AGENT SERVER SIDECAR SUCCESSFULLY RECEIVED CHAT PAYLOAD: {data}") # noqa: T201 + return jsonify(data) + + +class AgentServer: + def __init__(self): + self._server = make_server("0.0.0.0", 4242, app, threaded=True) + self._thread = threading.Thread(target=self._server.serve_forever) + + def start(self): + print("Starting agent server...") # noqa: T201 + self._thread.start() + + def stop(self): + print("Stopping agent server...") # noqa: T201 + self._server.shutdown() + self._thread.join() + + +_server_instance = None + + +def run_agent_server(): + global _server_instance + if _server_instance is None: + _server_instance = AgentServer() + _server_instance.start() + + +def stop_agent_server(): + global _server_instance + if _server_instance: + _server_instance.stop() diff --git a/notebook/app.py b/notebook/app.py index 0dd84e9841..de666123a4 100644 --- a/notebook/app.py +++ b/notebook/app.py @@ -4,18 +4,19 @@ import os import re +import sys import typing as t from pathlib import Path +import requests from jupyter_client.utils import ensure_async # type:ignore[attr-defined] -from jupyter_core.application import base_aliases from jupyter_core.paths import jupyter_config_dir from jupyter_server.base.handlers import JupyterHandler from jupyter_server.extension.handler import ( ExtensionHandlerJinjaMixin, ExtensionHandlerMixin, ) -from jupyter_server.serverapp import flags +from jupyter_server.serverapp import ServerApp from jupyter_server.utils import url_escape, url_is_absolute from jupyter_server.utils import url_path_join as ujoin from jupyterlab.commands import ( # type:ignore[import-untyped] @@ -33,6 +34,7 @@ from notebook_shim.shim import NotebookConfigShimMixin # type:ignore[import-untyped] from tornado import web from traitlets import Bool, Unicode, default +from traitlets.config.application import Application from traitlets.config.loader import Config from ._version import __version__ @@ -239,15 +241,12 @@ def get(self) -> t.Any: return self.write(css_f.read()) -aliases = dict(base_aliases) - - class JupyterNotebookApp(NotebookConfigShimMixin, LabServerApp): # type:ignore[misc] """The notebook server extension app.""" name = "notebook" - app_name = "Jupyter Notebook" - description = "Jupyter Notebook - A web-based notebook environment for interactive computing" + app_name = "Thesis Scientific Notebook" + description = "Thesis Notebook - The AI-powered notebook scientific computation notebook" version = version app_version = Unicode(version, help="The version of the application.") extension_url = "/" @@ -271,16 +270,8 @@ class JupyterNotebookApp(NotebookConfigShimMixin, LabServerApp): # type:ignore[ """, ) - flags: Flags = flags # type:ignore[assignment] - flags["expose-app-in-browser"] = ( - {"JupyterNotebookApp": {"expose_app_in_browser": True}}, - "Expose the global app instance to browser via window.jupyterapp.", - ) - - flags["custom-css"] = ( - {"JupyterNotebookApp": {"custom_css": True}}, - "Load custom CSS in template html files. Default is True", - ) + flags = {} # type:ignore[assignment] + aliases = {} # type:ignore[assignment] @default("static_dir") def _default_static_dir(self) -> str: @@ -363,7 +354,104 @@ def initialize(self, argv: list[str] | None = None) -> None: # noqa: ARG002 super().initialize() -main = launch_new_instance = JupyterNotebookApp.launch_instance +class NotebookLauncher(ServerApp): + """Launcher for the notebook.""" + + name = "notebook" + description = "Launch the Thesis scientific notebook web viewer" + + @default("open_browser") + def _default_open_browser(self) -> bool: + return True + + def initialize(self, argv: list[str] | None = None) -> None: + """Initialize the app.""" + # Ensure JupyterNotebookApp configuration is loaded + self.classes.append(JupyterNotebookApp) + # Initialize the ServerApp (this loads config, traits, etc.) + super().initialize(argv) + # Explicitly load our extension + JupyterNotebookApp.load_classic_server_extension(self) + + def start(self) -> None: + """Start the app.""" + from .agent import run_agent_server + + run_agent_server() + super().start() + + def stop(self) -> None: + from .agent import stop_agent_server + + stop_agent_server() + super().stop() + + +class ExecApp(Application): + """Execute a command.""" + + name = "exec" + description = "Execute a command" + + model = Unicode("gpt-5.1-codex", config=True, help="The model to use for execution") + notebook_path = Unicode("./development.ipynb", config=True, help="The path to the notebook") + + aliases = { + "model": "ExecApp.model", + "notebook-path": "ExecApp.notebook_path", + } + + def start(self) -> None: + instructions = "No instructions provided" + if self.extra_args: + instructions = self.extra_args[0] + + response = requests.post( + "http://localhost:4242/chat", + json={ + "name": "A new chat", + "instructions": instructions, + "model": self.model, + "notebook_path": self.notebook_path, + }, + timeout=10, + ) + + if response.status_code != 200: + print(f"Error: Agent API responded with {response.status_code} {response.text}") # noqa: T201 + return None + + data = response.json() + print(f"Thesis v{__version__} (research preview)\n\n--------\n\nworkdir: {Path.cwd()}\n\nmodel: {data['model']}\n\nnotebook path: {data['notebook_path']}\n\nchat id: {data['id']}\n\napproval: never\n\nsandbox: workspace-write\n\nreasoning effort: high\n\nreasoning summaries: auto\n\n--------\n") # noqa: T201 # fmt: skip + return response.json() + + +class ThesisCli(Application): + """thesis: Scientific Computing""" + + name = "thesis" + description = "Thesis: Scientific Computing" + version = __version__ + + subcommands = { + "notebook": (NotebookLauncher, "Launch the Thesis scientific notebook web viewer"), + "exec": (ExecApp, "Run Thesis non-interactively"), + } + + def initialize(self, argv: list[str] | None = None) -> None: + """Initialize the app.""" + if argv is None and len(sys.argv) == 1: + argv = ["notebook"] + super().initialize(argv) + + def start(self) -> None: + if self.subapp is None: + self.print_help() + sys.exit(0) + super().start() + + +main = launch_new_instance = ThesisCli.launch_instance if __name__ == "__main__": main() diff --git a/package.json b/package.json index 240491367a..f7ac9a6c82 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,8 @@ "build:utils": "cd buildutils && npm run build", "clean": "lerna run clean", "deduplicate": "jlpm dlx yarn-berry-deduplicate -s fewerHighest && jlpm install", + "dev": "./scripts/dev.sh", + "dev:rebuild": "./scripts/rebuild.sh; ./scripts/dev.sh", "develop": "jupyter labextension develop . --overwrite && node ./buildutils/lib/develop.js --overwrite", "eslint": "eslint . --ext .ts,.tsx --fix", "eslint:check": "eslint . --ext .ts,.tsx", @@ -42,8 +44,8 @@ "update:dependency": "node ./node_modules/@jupyterlab/buildutils/lib/update-dependency.js --lerna", "upgrade:lab:dependencies": "node ./buildutils/lib/upgrade-lab-dependencies.js", "watch": "run-p watch:lib watch:app", - "watch:app": "lerna exec --stream --scope \"@jupyter-notebook/app\" jlpm watch", - "watch:lib": "lerna exec --stream --scope @jupyter-notebook/metapackage jlpm watch" + "watch:app": "lerna exec --stream --scope \"@jupyter-notebook/app\" ../.venv/bin/jlpm watch", + "watch:lib": "lerna exec --stream --scope @jupyter-notebook/metapackage ../../.venv/bin/jlpm watch" }, "resolutions": { "@types/react": "^18.0.26", diff --git a/packages/application/src/app.ts b/packages/application/src/app.ts index 7d8818b4de..bb3c5f29ad 100644 --- a/packages/application/src/app.ts +++ b/packages/application/src/app.ts @@ -60,7 +60,7 @@ export class NotebookApp extends JupyterFrontEnd { /** * The name of the application. */ - readonly name = 'Jupyter Notebook'; + readonly name = 'Thesis Notebook'; /** * A namespace/prefix plugins may use to denote their provenance. diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index e0fafbb08f..dab0a60fa4 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -8,14 +8,14 @@ import { import { ISessionContext, - DOMUtils, + // DOMUtils, IToolbarWidgetRegistry, ICommandPalette, } from '@jupyterlab/apputils'; import { Cell, CodeCell } from '@jupyterlab/cells'; -import { PageConfig, Text, Time, URLExt } from '@jupyterlab/coreutils'; +import { PageConfig, Text, /* Time, */ URLExt } from '@jupyterlab/coreutils'; import { IDocumentManager } from '@jupyterlab/docmanager'; @@ -104,16 +104,18 @@ const checkpoints: JupyterFrontEndPlugin = { settingRegistry: ISettingRegistry | null ) => { const { shell } = app; - const trans = translator.load('notebook'); - const node = document.createElement('div'); + // const trans = translator.load('notebook'); + // const node = document.createElement('div'); if (toolbarRegistry) { + /* toolbarRegistry.addFactory('TopBar', 'checkpoint', (toolbar) => { const widget = new Widget({ node }); widget.id = DOMUtils.createDomID(); widget.addClass('jp-NotebookCheckpoint'); return widget; }); + */ } const getCurrent = () => { @@ -129,6 +131,9 @@ const checkpoints: JupyterFrontEndPlugin = { }; const updateCheckpointDisplay = async () => { + // Checkpoint display disabled + return; + /* const current = getCurrent(); if (!current) { return; @@ -143,6 +148,7 @@ const checkpoints: JupyterFrontEndPlugin = { 'Last Checkpoint: %1', Time.formatHuman(new Date(checkpoint.last_modified)) ); + */ }; const onSaveState = async ( diff --git a/packages/notebook-extension/style/base.css b/packages/notebook-extension/style/base.css index ac793f9cfd..20098ef398 100644 --- a/packages/notebook-extension/style/base.css +++ b/packages/notebook-extension/style/base.css @@ -225,7 +225,7 @@ body[data-notebook='notebooks'] #jp-title h1 { cursor: pointer; - font-size: 18px; + font-size: 14px; margin: 0; font-weight: normal; color: var(--jp-ui-font-color0); diff --git a/packages/tree-extension/src/fileactions.tsx b/packages/tree-extension/src/fileactions.tsx index 9a0533410f..193ec353f1 100644 --- a/packages/tree-extension/src/fileactions.tsx +++ b/packages/tree-extension/src/fileactions.tsx @@ -34,7 +34,7 @@ export class FilesActionButtons { // Placeholder, when no file is selected. const placeholder = ReactWidget.create(
- {trans.__('Select items to perform actions on them.')} + {trans.__('Select a file or directory')}
); placeholder.id = 'fileAction-placeholder'; diff --git a/packages/tree-extension/src/index.ts b/packages/tree-extension/src/index.ts index 27736bfd37..efd65c8910 100644 --- a/packages/tree-extension/src/index.ts +++ b/packages/tree-extension/src/index.ts @@ -391,7 +391,7 @@ const notebookTreeWidget: JupyterFrontEndPlugin = { if (manager) { const running = new RunningSessions(manager, translator); running.id = 'jp-running-sessions-tree'; - running.title.label = trans.__('Running'); + running.title.label = trans.__('Machine'); running.title.icon = runningIcon; nbTreeWidget.addWidget(running); nbTreeWidget.tabBar.addTab(running.title); diff --git a/packages/tree-extension/style/base.css b/packages/tree-extension/style/base.css index f52480114d..9e1fde58c6 100644 --- a/packages/tree-extension/style/base.css +++ b/packages/tree-extension/style/base.css @@ -8,7 +8,6 @@ .jp-FileBrowser-toolbar .jp-Toolbar-item.jp-ToolbarButton, .jp-FileBrowser-toolbar .jp-Toolbar-item.jp-CommandToolbarButton { border: solid 1px var(--jp-border-color2); - margin: 1px; padding: 0px; } diff --git a/packages/ui-components/style/icons/jupyter.svg b/packages/ui-components/style/icons/jupyter.svg index ca73a3c5ff..59ad5bb71c 100644 --- a/packages/ui-components/style/icons/jupyter.svg +++ b/packages/ui-components/style/icons/jupyter.svg @@ -1,87 +1,16 @@ - - Jupyter + + THESIS - - - - - - - - - - - - + + δ + THESIS + diff --git a/pyproject.toml b/pyproject.toml index 6e8f7cdd52..31612f0f21 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,16 +7,16 @@ build-backend = "hatchling.build" [project] name = "notebook" -description = "Jupyter Notebook - A web-based notebook environment for interactive computing" +description = "Thesis Notebook - A web-based scientific notebook environment for interactive computing" readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.9" authors = [ - { name = "Jupyter Development Team", email = "jupyter@googlegroups.com" }, + { name = "Thesis Team", email = "ask@theislabs.ai" }, ] keywords = [ - "Jupyter", - "JupyterLab", + "Thesis", + "ThesisLab", "Notebook", ] classifiers = [ @@ -39,17 +39,18 @@ dependencies = [ "jupyterlab_server>=2.28.0,<3", "notebook_shim>=0.2,<0.3", "tornado>=6.2.0", + "flask>=3.1.2" ] dynamic = ["version"] [project.scripts] -jupyter-notebook = "notebook.app:main" +thesis = "notebook.app:main" [project.urls] -Documentation = "https://jupyter-notebook.readthedocs.io/" -Homepage = "https://github.com/jupyter/notebook" -Source = "https://github.com/jupyter/notebook" -Tracker = "https://github.com/jupyter/notebook/issues" +Documentation = "https://thesislabs.ai/notebook" +Homepage = "https://github.com/Thesis-Labs/thesis-notebook" +Source = "https://github.com/Thesis-Labs/thesis-notebook" +Tracker = "https://github.com/Thesis-Labs/thesis-notebook/issues" [project.optional-dependencies] test = [ diff --git a/scripts/dev.sh b/scripts/dev.sh new file mode 100755 index 0000000000..78722e937e --- /dev/null +++ b/scripts/dev.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "[thesis] starting notebook development server..."; + +echo " -> running thesis notebook development server..."; +./.venv/bin/thesis notebook; diff --git a/scripts/rebuild.sh b/scripts/rebuild.sh new file mode 100755 index 0000000000..0f4bdba840 --- /dev/null +++ b/scripts/rebuild.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "[thesis] setting up notebook..."; + +echo " * rm py venv"; +rm -rf ./.venv; + +echo " * rm build libs"; +find ./packages -type d -name "lib" -prune -exec rm -rf {} + +rm -rf buildutils/lib + +echo " * rm build tsconfig.tsbuildinfo"; +find ./packages -name "tsconfig.tsbuildinfo" -type f -delete +rm -f buildutils/tsconfig.tsbuildinfo + +echo " * rm node deps"; +rm -rf ./node_modules ./packages/*/node_modules buildutils/node_modules; + +echo " * make py venv"; +python3 -m venv ./.venv; + +echo " * sourcing py venv"; +source ./.venv/bin/activate; + +echo " * upgrade pip"; +pip install --upgrade pip; + +echo " * installing python deps"; +# Install build requirements manually to allow --no-build-isolation +pip install "hatchling>=1.11" "jupyterlab>=4.5.0rc0,<4.6" "hatch-jupyter-builder>=0.5" "editables" + +# Disable build hooks to prevent premature frontend build +export HATCH_BUILD_HOOKS_ENABLE=false +export HATCH_BUILD_NO_HOOKS=true +export JUPYTER_PACKAGING_SKIP_NPM=1 + +pip install --no-build-isolation -e ".[dev,docs,test]" + +unset HATCH_BUILD_HOOKS_ENABLE +unset HATCH_BUILD_NO_HOOKS +unset JUPYTER_PACKAGING_SKIP_NPM + +echo " * build node"; +./.venv/bin/jlpm install + +# Patch lib0 types to fix Uint8Array generic error +echo " * patching lib0 types"; +find . -type f -name "encoding.d.ts" -path "*/lib0/*" -exec perl -pi -e 's/Uint8Array<[^>]+>/Uint8Array/g' {} + + +./.venv/bin/jlpm build; + +echo " * run node develop"; +./.venv/bin/jlpm develop + +echo " * enable jupyter notebook extension"; +./.venv/bin/jupyter server extension enable notebook; + +echo "[thesis] notebook setup complete" diff --git a/scripts/watch.sh b/scripts/watch.sh new file mode 100755 index 0000000000..84eb8c3bb3 --- /dev/null +++ b/scripts/watch.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "[thesis] watching notebook..."; + +yarn watch; + +echo "[done]" \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 835f0bf09c..bdb1293b3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,23 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.0": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 03c04fd526acc64a1f4df22651186f3e5ef0a9d6d6530ce4482ec9841269cf7a11dbb8af79237c282d721c5312024ff17529cd72cc4768c11e999b58e2302079 - languageName: node - linkType: hard - "@antfu/install-pkg@npm:^1.1.0": version: 1.1.0 resolution: "@antfu/install-pkg@npm:1.1.0" @@ -33,9 +16,9 @@ __metadata: linkType: hard "@antfu/utils@npm:^9.2.0": - version: 9.2.1 - resolution: "@antfu/utils@npm:9.2.1" - checksum: 7b5decf2f0bdb4c8170d5d4c59e406ab480e4e247f981768f8349f0a72da5d5fe5236f63018f2ee71ab67d93c96e6ec1931f09ba132d5a15d0306c88a544297c + version: 9.3.0 + resolution: "@antfu/utils@npm:9.3.0" + checksum: 7893a291971f8bf3ffd0d428077fdea3129ba849baf66b9d2f397b9d36f0554dbc12fa484ce8891d747107efe1bc9de29a24309f2194ea685fc0c69e133400d9 languageName: node linkType: hard @@ -48,339 +31,328 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": ^7.25.9 + "@babel/helper-validator-identifier": ^7.27.1 js-tokens: ^4.0.0 - picocolors: ^1.0.0 - checksum: db13f5c42d54b76c1480916485e6900748bbcb0014a8aca87f50a091f70ff4e0d0a6db63cade75eb41fcc3d2b6ba0a7f89e343def4f96f00269b41b8ab8dd7b8 + picocolors: ^1.1.1 + checksum: 5874edc5d37406c4a0bb14cf79c8e51ad412fb0423d176775ac14fc0259831be1bf95bdda9c2aa651126990505e09a9f0ed85deaa99893bc316d2682c5115bdc languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.20, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": - version: 7.22.20 - resolution: "@babel/compat-data@npm:7.22.20" - checksum: efedd1d18878c10fde95e4d82b1236a9aba41395ef798cbb651f58dbf5632dbff475736c507b8d13d4c8f44809d41c0eb2ef0d694283af9ba5dd8339b6dab451 +"@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/compat-data@npm:7.28.5" + checksum: d7bcb3ee713752dc27b89800bfb39f9ac5f3edc46b4f5bb9906e1fe6b6110c7b245dd502602ea66f93790480c228605e9a601f27c07016f24b56772e97bedbdf languageName: node linkType: hard -"@babel/core@npm:^7.10.2, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": - version: 7.23.0 - resolution: "@babel/core@npm:7.23.0" +"@babel/core@npm:^7.10.2, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helpers": ^7.23.0 - "@babel/parser": ^7.23.0 - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 - "@babel/types": ^7.23.0 + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.28.5 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-module-transforms": ^7.28.3 + "@babel/helpers": ^7.28.4 + "@babel/parser": ^7.28.5 + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.28.5 + "@babel/types": ^7.28.5 + "@jridgewell/remapping": ^2.3.5 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2": - version: 7.23.6 - resolution: "@babel/generator@npm:7.23.6" - dependencies: - "@babel/types": ^7.23.6 - "@jridgewell/gen-mapping": ^0.3.2 - "@jridgewell/trace-mapping": ^0.3.17 - jsesc: ^2.5.1 - checksum: 1a1a1c4eac210f174cd108d479464d053930a812798e09fee069377de39a893422df5b5b146199ead7239ae6d3a04697b45fc9ac6e38e0f6b76374390f91fc6c + checksum: 1ee35b20448f73e9d531091ad4f9e8198dc8f0cebb783263fbff1807342209882ddcaf419be04111326b6f0e494222f7055d71da316c437a6a784d230c11ab9f languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" +"@babel/generator@npm:^7.28.5, @babel/generator@npm:^7.7.2": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" dependencies: - "@babel/types": ^7.22.5 - checksum: 53da330f1835c46f26b7bf4da31f7a496dee9fd8696cca12366b94ba19d97421ce519a74a837f687749318f94d1a37f8d1abcbf35e8ed22c32d16373b2f6198d + "@babel/parser": ^7.28.5 + "@babel/types": ^7.28.5 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 + jsesc: ^3.0.2 + checksum: 3e86fa0197bb33394a85a73dbbca92bb1b3f250a30294c7e327359c0978ad90f36f3d71c7f2965a3fc349cfa82becc8f87e7421c75796c8bc48dd9010dd866d1 languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/types": ^7.22.15 - checksum: 639c697a1c729f9fafa2dd4c9af2e18568190299b5907bd4c2d0bc818fcbd1e83ffeecc2af24327a7faa7ac4c34edd9d7940510a5e66296c19bad17001cf5c7a + "@babel/types": ^7.27.3 + checksum: 63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.15 - browserslist: ^4.21.9 + "@babel/compat-data": ^7.27.2 + "@babel/helper-validator-option": ^7.27.1 + browserslist: ^4.24.0 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 + checksum: 7b95328237de85d7af1dea010a4daa28e79f961dda48b652860d5893ce9b136fc8b9ea1f126d8e0a24963b09ba5c6631dcb907b4ce109b04452d34a6ae979807 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" +"@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3": + version: 7.28.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.15 - "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.9 - "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/helper-annotate-as-pure": ^7.27.3 + "@babel/helper-member-expression-to-functions": ^7.28.5 + "@babel/helper-optimise-call-expression": ^7.27.1 + "@babel/helper-replace-supers": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/traverse": ^7.28.5 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 52c500d8d164abb3a360b1b7c4b8fff77bc4a5920d3a2b41ae6e1d30617b0dc0b972c1f5db35b1752007e04a748908b4a99bc872b73549ae837e87dcdde005a3 + checksum: 98f94a27bcde0cf0b847c41e1307057a1caddd131fb5fa0b1566e0c15ccc20b0ebab9667d782bffcd3eac9262226b18e86dcf30ab0f4dc5d14b1e1bf243aba49 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - regexpu-core: ^5.3.1 + "@babel/helper-annotate-as-pure": ^7.27.3 + regexpu-core: ^6.3.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 0243b8d4854f1dc8861b1029a46d3f6393ad72f366a5a08e36a4648aa682044f06da4c6e87a456260e1e1b33c999f898ba591a0760842c1387bcc93fbf2151a6 + checksum: de202103e6ff8cd8da0d62eb269fcceb29857f3fa16173f0ff38188fd514e9ad4901aef1d590ff8ba25381644b42eaf70ad9ba91fda59fe7aa6a5e694cdde267 languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.4.2": - version: 0.4.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.4.2" +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" dependencies: - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-plugin-utils": ^7.22.5 - debug: ^4.1.1 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-plugin-utils": ^7.27.1 + debug: ^4.4.1 lodash.debounce: ^4.0.8 - resolve: ^1.14.2 + resolve: ^1.22.10 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 1f6dec0c5d0876d278fe15b71238eccc5f74c4e2efa2c78aaafa8bc2cc96336b8e68d94cd1a78497356c96e8b91b8c1f4452179820624d1702aee2f9832e6569 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20, @babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": ^7.22.15 - "@babel/types": ^7.23.0 - checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 + checksum: 9fd3b09b209c8ed0d3d8bc1f494f1368b9e1f6e46195af4ce948630fe97d7dafde4882eedace270b319bf6555ddf35e220c77505f6d634f621766cdccbba0aae languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: 394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: d8d7b91c12dad1ee747968af0cb73baf91053b2bcf78634da2c2c4991fb45ede9bd0c8f9b5f3254881242bc0921218fcb7c28ae885477c25177147e978ce4397 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.15": - version: 7.23.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" +"@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: - "@babel/types": ^7.23.0 - checksum: 494659361370c979ada711ca685e2efe9460683c36db1b283b446122596602c901e291e09f2f980ecedfe6e0f2bd5386cb59768285446530df10c14df1024e75 + "@babel/traverse": ^7.28.5 + "@babel/types": ^7.28.5 + checksum: 447d385233bae2eea713df1785f819b5a5ca272950740da123c42d23f491045120f0fbbb5609c091f7a9bbd40f289a442846dde0cb1bf0c59440fa093690cf7c languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/types": ^7.22.15 - checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 + "@babel/traverse": ^7.27.1 + "@babel/types": ^7.27.1 + checksum: 92d01c71c0e4aacdc2babce418a9a1a27a8f7d770a210ffa0f3933f321befab18b655bc1241bebc40767516731de0b85639140c42e45a8210abe1e792f115b28 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-module-transforms@npm:7.23.0" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" dependencies: - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-module-imports": ^7.22.15 - "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.20 + "@babel/helper-module-imports": ^7.27.1 + "@babel/helper-validator-identifier": ^7.27.1 + "@babel/traverse": ^7.28.3 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 + checksum: 7cf7b79da0fa626d6c84bfc7b35c079a2559caecaa2ff645b0f1db0d741507aa4df6b5b98a3283e8ac4e89094af271d805bf5701e5c4f916e622797b7c8cbb18 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" dependencies: - "@babel/types": ^7.22.5 - checksum: c70ef6cc6b6ed32eeeec4482127e8be5451d0e5282d5495d5d569d39eb04d7f1d66ec99b327f45d1d5842a9ad8c22d48567e93fc502003a47de78d122e355f7c + "@babel/types": ^7.27.1 + checksum: 0fb7ee824a384529d6b74f8a58279f9b56bfe3cce332168067dddeab2552d8eeb56dc8eaf86c04a3a09166a316cb92dfc79c4c623cd034ad4c563952c98b464f languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 5d715055301badab62bdb2336075a77f8dc8bd290cad2bc1b37ea3bf1b3efc40594d308082229f239deb4d6b5b80b0a73bce000e595ea74416e0339c11037047 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.22.5, @babel/helper-remap-async-to-generator@npm:^7.22.9": - version: 7.22.20 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-wrap-function": ^7.22.20 + "@babel/helper-annotate-as-pure": ^7.27.1 + "@babel/helper-wrap-function": ^7.27.1 + "@babel/traverse": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2fe6300a6f1b58211dffa0aed1b45d4958506d096543663dba83bd9251fe8d670fa909143a65b45e72acb49e7e20fbdb73eae315d9ddaced467948c3329986e7 + checksum: 0747397ba013f87dbf575454a76c18210d61c7c9af0f697546b4bcac670b54ddc156330234407b397f0c948738c304c228e0223039bc45eab4fbf46966a5e8cc languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": - version: 7.22.20 - resolution: "@babel/helper-replace-supers@npm:7.22.20" +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-member-expression-to-functions": ^7.22.15 - "@babel/helper-optimise-call-expression": ^7.22.5 + "@babel/helper-member-expression-to-functions": ^7.27.1 + "@babel/helper-optimise-call-expression": ^7.27.1 + "@babel/traverse": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: a0008332e24daedea2e9498733e3c39b389d6d4512637e000f96f62b797e702ee24a407ccbcd7a236a551590a38f31282829a8ef35c50a3c0457d88218cae639 + checksum: 3690266c304f21008690ba68062f889a363583cabc13c3d033b94513953147af3e0a3fdb48fa1bb9fa3734b64e221fc65e5222ab70837f02321b7225f487c6ef languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/types": ^7.22.5 - checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 + "@babel/traverse": ^7.27.1 + "@babel/types": ^7.27.1 + checksum: 4f380c5d0e0769fa6942a468b0c2d7c8f0c438f941aaa88f785f8752c103631d0904c7b4e76207a3b0e6588b2dec376595370d92ca8f8f1b422c14a69aa146d4 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: 1012ef2295eb12dc073f2b9edf3425661e9b8432a3387e62a8bc27c42963f1f216ab3124228015c748770b2257b4f1fda882ca8fa34c0bf485e929ae5bc45244 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 0a8464adc4b39b138aedcb443b09f4005d86207d7126e5e079177e05c3116107d856ec08282b365e9a79a9872f40f4092a6127f8d74c8a01c1ef789dacfc25d6 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" - dependencies: - "@babel/types": ^7.22.5 - checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 +"@babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 5a251a6848e9712aea0338f659a1a3bd334d26219d5511164544ca8ec20774f098c3a6661e9da65a0d085c745c00bb62c8fada38a62f08fa1f8053bc0aeb57e4 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 6435ee0849e101681c1849868278b5aee82686ba2c1e27280e5e8aca6233af6810d39f8e4e693d2f2a44a3728a6ccfd66f72d71826a94105b86b731697cdfa99 +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: db73e6a308092531c629ee5de7f0d04390835b21a263be2644276cb27da2384b64676cab9f22cd8d8dbd854c92b1d7d56fc8517cf0070c35d1c14a8c828b0903 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 5b85918cb1a92a7f3f508ea02699e8d2422fe17ea8e82acd445006c0ef7520fbf48e3dbcdaf7b0a1d571fc3a2715a29719e5226636cb6042e15fe6ed2a590944 +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.28.3 + resolution: "@babel/helper-wrap-function@npm:7.28.3" + dependencies: + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.28.3 + "@babel/types": ^7.28.2 + checksum: 0ebdfdc918fdd0c1cf6ff15ba4c664974d0cdf21a017af560d58b00c379df3bf2e55f13a44fe3225668bca169da174f6cb97a96c4e987fb728fdb8f9a39db302 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-validator-option@npm:7.22.15" - checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.4 + checksum: a8706219e0bd60c18bbb8e010aa122e9b14e7e7e67c21cc101e6f1b5e79dcb9a18d674f655997f85daaf421aa138cf284710bb04371a2255a0a3137f097430b4 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-wrap-function@npm:7.22.20" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" dependencies: - "@babel/helper-function-name": ^7.22.5 - "@babel/template": ^7.22.15 - "@babel/types": ^7.22.19 - checksum: 221ed9b5572612aeb571e4ce6a256f2dee85b3c9536f1dd5e611b0255e5f59a3d0ec392d8d46d4152149156a8109f92f20379b1d6d36abb613176e0e33f05fca + "@babel/types": ^7.28.5 + bin: + parser: ./bin/babel-parser.js + checksum: 5c2456e3f26c70d4a3ce1a220b529a91a2df26c54a2894fd0dea2342699ea1067ffdda9f0715eeab61da46ff546fd5661bc70be6d8d11977cbe21f5f0478819a languageName: node linkType: hard -"@babel/helpers@npm:^7.23.0": - version: 7.26.10 - resolution: "@babel/helpers@npm:7.26.10" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" dependencies: - "@babel/template": ^7.26.9 - "@babel/types": ^7.26.10 - checksum: daa3689024a4fc5e024fea382915c6fb0fde15cf1b2f6093435725c79edccbef7646d4a656b199c046ff5c61846d1b3876d6096b7bf0635823de6aaff2a1e1a4 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/traverse": ^7.28.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 749b40a963d5633f554cad0336245cb6c1c1393c70a3fddcf302d86a1a42b35efdd2ed62056b88db66f3900887ae1cee9a3eeec89799c22e0cf65059f0dfd142 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.26.9": - version: 7.26.10 - resolution: "@babel/parser@npm:7.26.10" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/types": ^7.26.10 - bin: - parser: ./bin/babel-parser.js - checksum: 81f9af962aea55a2973d213dffc6191939df7eba0511ba585d23f0d838931f5fca2efb83ae382e4b9bb486f20ae1b2607cb1b8be49af89e9f011fb4355727f47 + "@babel/helper-plugin-utils": ^7.27.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: eb7f4146dc01f1198ce559a90b077e58b951a07521ec414e3c7d4593bf6c4ab5c2af22242a7e9fec085e20299e0ba6ea97f44a45e84ab148141bf9eb959ad25e languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8910ca21a7ec7c06f7b247d4b86c97c5aa15ef321518f44f6f490c5912fdf82c605aaa02b90892e375d82ccbedeadfdeadd922c1b836c9dd4c596871bf654753 + checksum: 621cfddfcc99a81e74f8b6f9101fd260b27500cb1a568e3ceae9cc8afe9aee45ac3bca3900a2b66c612b1a2366d29ef67d4df5a1c975be727eaad6906f98c2c6 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.15" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 - "@babel/plugin-transform-optional-chaining": ^7.22.15 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/plugin-transform-optional-chaining": ^7.27.1 peerDependencies: "@babel/core": ^7.13.0 - checksum: fbefedc0da014c37f1a50a8094ce7dbbf2181ae93243f23d6ecba2499b5b20196c2124d6a4dfe3e9e0125798e80593103e456352a4beb4e5c6f7c75efb80fdac + checksum: f07aa80272bd7a46b7ba11a4644da6c9b6a5a64e848dfaffdad6f02663adefd512e1aaebe664c4dd95f7ed4f80c872c7f8db8d8e34b47aae0930b412a28711a0 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.3" + dependencies: + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/traverse": ^7.28.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c810e5d36030df6861ced35f0adbda7b4b41ac3e984422b32bee906564fd49374435f0a7a1a42eb0a9e6a5170c255f0ab31c163d5fc51fa5a816aa0420311029 languageName: node linkType: hard @@ -415,7 +387,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -437,51 +409,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2b8b5572db04a7bef1e6cd20debf447e4eef7cb012616f5eceb8fa3e23ce469b8f76ee74fd6d1e158ba17a8f58b0aec579d092fb67c5a30e83ccfbc5754916c1 + checksum: fb661d630808d67ecb85eabad25aac4e9696a20464bad4c4a6a0d3d40e4dc22557d47e9be3d591ec06429cf048cfe169b8891c373606344d51c4f3ac0f91d6d0 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.5" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 197b3c5ea2a9649347f033342cb222ab47f4645633695205c0250c6bf2af29e643753b8bb24a2db39948bef08e7c540babfd365591eb57fc110cb30b425ffc47 + checksum: 97973982fff1bbf86b3d1df13380567042887c50e2ae13a400d02a8ff2c9742a60a75e279bfb73019e1cd9710f04be5e6ab81f896e6678dcfcec8b135e8896cf languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -504,17 +454,17 @@ __metadata: linkType: hard "@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce + checksum: c6d1324cff286a369aa95d99b8abd21dd07821b5d3affd5fe7d6058c84cff9190743287826463ee57a7beecd10fa1e4bc99061df532ee14e188c1c8937b13e3a languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -536,7 +486,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -591,7 +541,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -603,13 +553,13 @@ __metadata: linkType: hard "@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/plugin-syntax-typescript@npm:7.22.5" + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8ab7718fbb026d64da93681a57797d60326097fd7cb930380c8bffd9eb101689e90142c760a14b51e8e69c88a73ba3da956cb4520a3b0c65743aee5c71ef360a + checksum: 87836f7e32af624c2914c73cd6b9803cf324e07d43f61dbb973c6a86f75df725e12540d91fac7141c14b697aa9268fd064220998daced156e96ac3062d7afb41 languageName: node linkType: hard @@ -625,673 +575,684 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 35abb6c57062802c7ce8bd96b2ef2883e3124370c688bbd67609f7d2453802fb73944df8808f893b6c67de978eb2bcf87bbfe325e46d6f39b5fcb09ece11d01a + checksum: 62c2cc0ae2093336b1aa1376741c5ed245c0987d9e4b4c5313da4a38155509a7098b5acce582b6781cc0699381420010da2e3086353344abe0a6a0ec38961eb7 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.15" +"@babel/plugin-transform-async-generator-functions@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-remap-async-to-generator": ^7.22.9 - "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-remap-async-to-generator": ^7.27.1 + "@babel/traverse": ^7.28.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: fad98786b446ce63bde0d14a221e2617eef5a7bbca62b49d96f16ab5e1694521234cfba6145b830fbf9af16d60a8a3dbf148e8694830bd91796fe333b0599e73 + checksum: 174aaccd7a8386fd7f32240c3f65a93cf60dcc5f6a2123cfbff44c0d22b424cd41de3a0c6d136b6a2fa60a8ca01550c261677284cb18a0daeab70730b2265f1d languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-module-imports": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-remap-async-to-generator": ^7.22.5 + "@babel/helper-module-imports": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-remap-async-to-generator": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b95f23f99dcb379a9f0a1c2a3bbea3f8dc0e1b16dc1ac8b484fe378370169290a7a63d520959a9ba1232837cf74a80e23f6facbe14fd42a3cda6d3c2d7168e62 + checksum: d79d7a7ae7d416f6a48200017d027a6ba94c09c7617eea8b4e9c803630f00094c1a4fc32bf20ce3282567824ce3fcbda51653aac4003c71ea4e681b331338979 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 416b1341858e8ca4e524dee66044735956ced5f478b2c3b9bc11ec2285b0c25d7dbb96d79887169eb938084c95d0a89338c8b2fe70d473bd9dc92e5d9db1732c + checksum: 7fb4988ca80cf1fc8345310d5edfe38e86b3a72a302675cdd09404d5064fe1d1fe1283ebe658ad2b71445ecef857bfb29a748064306b5f6c628e0084759c2201 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.22.15": - version: 7.23.0 - resolution: "@babel/plugin-transform-block-scoping@npm:7.23.0" +"@babel/plugin-transform-block-scoping@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0cfe925cc3b5a3ad407e2253fab3ceeaa117a4b291c9cb245578880872999bca91bd83ffa0128ae9ca356330702e1ef1dcb26804f28d2cef678239caf629f73e + checksum: 2cbc11c9b61097b61806c279211a4c4f5e85a5ca7fd52228efbf3a729178d330142a00a93695dbacc2898477e5fa9e34e7637f18323247ebebb84f43005560f3 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-class-properties@npm:7.22.5" +"@babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b830152dfc2ff2f647f0abe76e6251babdfbef54d18c4b2c73a6bf76b1a00050a5d998dac80dc901a48514e95604324943a9dd39317073fe0928b559e0e0c579 + checksum: 475a6e5a9454912fe1bdc171941976ca10ea4e707675d671cdb5ce6b6761d84d1791ac61b6bca81a2e5f6430cb7b9d8e4b2392404110e69c28207a754e196294 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-class-static-block@npm:7.22.11" +"@babel/plugin-transform-class-static-block@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.3" dependencies: - "@babel/helper-create-class-features-plugin": ^7.22.11 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/helper-create-class-features-plugin": ^7.28.3 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.12.0 - checksum: 69f040506fad66f1c6918d288d0e0edbc5c8a07c8b4462c1184ad2f9f08995d68b057126c213871c0853ae0c72afc60ec87492049dfacb20902e32346a448bcb + checksum: 9b2feaacbf29637ab35a3aae1df35a1129adec5400a1767443739557fb0d3bf8278bf0ec90aacf43dec9a7dd91428d01375020b70528713e1bc36a72776a104c + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-classes@npm:7.28.4" + dependencies: + "@babel/helper-annotate-as-pure": ^7.27.3 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-globals": ^7.28.0 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-replace-supers": ^7.27.1 + "@babel/traverse": ^7.28.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f412e00c86584a9094cc0a2f3dd181b8108a4dced477d609c5406beddd5bf79d05a7ea74db508dc4dcb37172f042d5ef98d3d6311ade61c7ea6fbbbb70f5ec29 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-transform-classes@npm:7.22.15" +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.9 - "@babel/helper-split-export-declaration": ^7.22.6 - globals: ^11.1.0 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/template": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d3f4d0c107dd8a3557ea3575cc777fab27efa92958b41e4a9822f7499725c1f554beae58855de16ddec0a7b694e45f59a26cea8fbde4275563f72f09c6e039a0 + checksum: 48bd20f7d631b08c51155751bf75b698d4a22cca36f41c22921ab92e53039c9ec5c3544e5282e18692325ef85d2e4a18c27e12c62b5e20c26fb0c92447e35224 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" +"@babel/plugin-transform-destructuring@npm:^7.28.0, @babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/template": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/traverse": ^7.28.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c2a77a0f94ec71efbc569109ec14ea2aa925b333289272ced8b33c6108bdbb02caf01830ffc7e49486b62dec51911924d13f3a76f1149f40daace1898009e131 + checksum: 74a06e55e715cfda0fdd8be53d2655d64dfdc28dffaede329d42548fd5b1449ad26a4ce43a24c3fd277b96f8b2010c7b3915afa8297911cda740cc5cc3a81f38 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.22.15": - version: 7.23.0 - resolution: "@babel/plugin-transform-destructuring@npm:7.23.0" +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cd6dd454ccc2766be551e4f8a04b1acc2aa539fa19e5c7501c56cc2f8cc921dd41a7ffb78455b4c4b2f954fcab8ca4561ba7c9c7bd5af9f19465243603d18cc3 + checksum: 2173e5b13f403538ffc6bd57b190cedf4caf320abc13a99e5b2721864e7148dbd3bd7c82d92377136af80432818f665fdd9a1fd33bc5549a4c91e24e5ce2413c languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 409b658d11e3082c8f69e9cdef2d96e4d6d11256f005772425fb230cc48fd05945edbfbcb709dab293a1a2f01f9c8a5bb7b4131e632b23264039d9f95864b453 + checksum: ef2112d658338e3ff0827f39a53c0cfa211f1cbbe60363bca833a5269df389598ec965e7283600b46533c39cdca82307d0d69c0f518290ec5b00bb713044715b languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2a109613535e6ac79240dced71429e988affd6a5b3d0cd0f563c8d6c208c51ce7bf2c300bc1150502376b26a51f279119b3358f1c0f2d2f8abca3bcd62e1ae46 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bb1280fbabaab6fab2ede585df34900712698210a3bd413f4df5bae6d8c24be36b496c92722ae676a7a67d060a4624f4d6c23b923485f906bfba8773c69f55b4 + checksum: 7a9fbc8d17148b7f11a1d1ca3990d2c2cd44bd08a45dcaf14f20a017721235b9044b20e6168b6940282bb1b48fb78e6afbdfb9dd9d82fde614e15baa7d579932 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.22.11" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 78fc9c532210bf9e8f231747f542318568ac360ee6c27e80853962c984283c73da3f8f8aebe83c2096090a435b356b092ed85de617a156cbe0729d847632be45 + checksum: a44140097ed4854883c426613f4e8763237cd0fdab1c780514f4315f6c148d6b528d7a57fe6fdec4dbce28a21b70393ef3507b72dfec2e30bfc8d7db1ff19474 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" +"@babel/plugin-transform-exponentiation-operator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.5" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f2d660c1b1d51ad5fec1cd5ad426a52187204068c4158f8c4aa977b31535c61b66898d532603eef21c15756827be8277f724c869b888d560f26d7fe848bb5eae + checksum: da9bb5acd35c9fba92b802641f9462b82334158a149c78a739a04576a1e62be41057a201a41c022dda263bb73ac1a26521bbc997c7fc067f54d487af297995f4 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.11" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 73af5883a321ed56a4bfd43c8a7de0164faebe619287706896fc6ee2f7a4e69042adaa1338c0b8b4bdb9f7e5fdceb016fb1d40694cb43ca3b8827429e8aac4bf + checksum: 85082923eca317094f08f4953d8ea2a6558b3117826c0b740676983902b7236df1f4213ad844cb38c2dae104753dbe8f1cc51f01567835d476d32f5f544a4385 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-transform-for-of@npm:7.22.15" +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f395ae7bce31e14961460f56cf751b5d6e37dd27d7df5b1f4e49fec1c11b6f9cf71991c7ffbe6549878591e87df0d66af798cf26edfa4bfa6b4c3dba1fb2f73a + checksum: c9224e08de5d80b2c834383d4359aa9e519db434291711434dd996a4f86b7b664ad67b45d65459b7ec11fa582e3e11a3c769b8a8ca71594bdd4e2f0503f84126 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-function-name@npm:7.22.5" +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-compilation-targets": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-compilation-targets": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/traverse": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cff3b876357999cb8ae30e439c3ec6b0491a53b0aa6f722920a4675a6dd5b53af97a833051df4b34791fe5b3dd326ccf769d5c8e45b322aa50ee11a660b17845 + checksum: 26a2a183c3c52a96495967420a64afc5a09f743a230272a131668abf23001e393afa6371e6f8e6c60f4182bea210ed31d1caf866452d91009c1daac345a52f23 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-json-strings@npm:7.22.11" +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 50665e5979e66358c50e90a26db53c55917f78175127ac2fa05c7888d156d418ffb930ec0a109353db0a7c5f57c756ce01bfc9825d24cbfd2b3ec453f2ed8cba + checksum: 2c05a02f63b49f47069271b3405a66c3c8038de5b995b0700b1bd9a5e2bb3e67abd01e4604629302a521f4d8122a4233944aefa16559fd4373d256cc5d3da57f languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-literals@npm:7.22.5" +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec37cc2ffb32667af935ab32fe28f00920ec8a1eb999aa6dc6602f2bebd8ba205a558aeedcdccdebf334381d5c57106c61f52332045730393e73410892a9735b + checksum: 0a76d12ab19f32dd139964aea7da48cecdb7de0b75e207e576f0f700121fe92367d788f328bf4fb44b8261a0f605c97b44e62ae61cddbb67b14e94c88b411f95 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.11" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c664e9798e85afa7f92f07b867682dee7392046181d82f5d21bae6f2ca26dfe9c8375cdc52b7483c3fc09a983c1989f60eff9fbc4f373b0c0a74090553d05739 + checksum: c76778f4b186cc4f0b7e3658d91c690678bdb2b9d032f189213016d6177f2564709b79b386523b022b7d52e52331fd91f280f7c7bf85d835e0758b4b0d371447 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec4b0e07915ddd4fda0142fd104ee61015c208608a84cfa13643a95d18760b1dc1ceb6c6e0548898b8c49e5959a994e46367260176dbabc4467f729b21868504 + checksum: 804121430a6dcd431e6ffe99c6d1fbbc44b43478113b79c677629e7f877b4f78a06b69c6bfb2747fd84ee91879fe2eb32e4620b53124603086cf5b727593ebe8 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.22.5": - version: 7.23.0 - resolution: "@babel/plugin-transform-modules-amd@npm:7.23.0" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-module-transforms": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5d92875170a37b8282d4bcd805f55829b8fab0f9c8d08b53d32a7a0bfdc62b868e489b52d329ae768ecafc0c993eed0ad7a387baa673ac33211390a9f833ab5d + checksum: 8bb36d448e438d5d30f4faf19120e8c18aa87730269e65d805bf6032824d175ed738057cc392c2c8a650028f1ae0f346cad8d6b723f31a037b586e2092a7be18 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.22.15": - version: 7.23.0 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.0" +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-simple-access": ^7.22.5 + "@babel/helper-module-transforms": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7fb25997194053e167c4207c319ff05362392da841bd9f42ddb3caf9c8798a5d203bd926d23ddf5830fdf05eddc82c2810f40d1287e3a4f80b07eff13d1024b5 + checksum: bc45c1beff9b145c982bd6a614af338893d38bce18a9df7d658c9084e0d8114b286dcd0e015132ae7b15dd966153cb13321e4800df9766d0ddd892d22bf09d2a languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.22.11": - version: 7.23.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.0" +"@babel/plugin-transform-modules-systemjs@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.28.5" dependencies: - "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.20 + "@babel/helper-module-transforms": ^7.28.3 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-identifier": ^7.28.5 + "@babel/traverse": ^7.28.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2d481458b22605046badea2317d5cc5c94ac3031c2293e34c96f02063f5b02af0979c4da6a8fbc67cc249541575dc9c6d710db6b919ede70b7337a22d9fd57a7 + checksum: 646748dcf968c107fedfbff38aa37f7a9ebf2ccdf51fd9f578c6cd323371db36bbc5fe0d995544db168f39be9bca32a85fbf3bfff4742d2bed22e21c2847fa46 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-module-transforms": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 46622834c54c551b231963b867adbc80854881b3e516ff29984a8da989bd81665bd70e8cba6710345248e97166689310f544aee1a5773e262845a8f1b3e5b8b4 + checksum: b007dd89231f2eeccf1c71a85629bcb692573303977a4b1c5f19a835ea6b5142c18ef07849bc6d752b874a11bc0ddf3c67468b77c8ee8310290b688a4f01ef31 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 3ee564ddee620c035b928fdc942c5d17e9c4b98329b76f9cefac65c111135d925eb94ed324064cd7556d4f5123beec79abea1d4b97d1c8a2a5c748887a2eb623 + checksum: a711c92d9753df26cefc1792481e5cbff4fe4f32b383d76b25e36fa865d8023b1b9aa6338cf18f5c0e864c71a7fbe8115e840872ccd61a914d9953849c68de7d languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-new-target@npm:7.22.5" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b72112773487a881a1d6ffa680afde08bad699252020e86122180ee7a88854d5da3f15d9bca3331cf2e025df045604494a8208a2e63b486266b07c14e2ffbf3 + checksum: 32c8078d843bda001244509442d68fd3af088d7348ba883f45c262b2c817a27ffc553b0d78e7f7a763271b2ece7fac56151baad7a91fb21f5bb1d2f38e5acad7 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.11" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 167babecc8b8fe70796a7b7d34af667ebbf43da166c21689502e5e8cc93180b7a85979c77c9f64b7cce431b36718bd0a6df9e5e0ffea4ae22afb22cfef886372 + checksum: 1c6b3730748782d2178cc30f5cc37be7d7666148260f3f2dfc43999908bdd319bdfebaaf19cf04ac1f9dee0f7081093d3fa730cda5ae1b34bcd73ce406a78be7 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.11" +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: af064d06a4a041767ec396a5f258103f64785df290e038bba9f0ef454e6c914f2ac45d862bbdad8fac2c7ad47fa4e95356f29053c60c100a0160b02a995fe2a3 + checksum: 049b958911de86d32408cd78017940a207e49c054ae9534ab53a32a57122cc592c0aae3c166d6f29bd1a7d75cc779d71883582dd76cb28b2fbb493e842d8ffca languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.15" +"@babel/plugin-transform-object-rest-spread@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.4" dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.22.15 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.0 + "@babel/plugin-transform-parameters": ^7.27.7 + "@babel/traverse": ^7.28.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 62197a6f12289c1c1bd57f3bed9f0f765ca32390bfe91e0b5561dd94dd9770f4480c4162dec98da094bc0ba99d2c2ebba68de47c019454041b0b7a68ba2ec66d + checksum: 2063672ba4ac457a64b5c0c982439c7b08b4c70f0e743792b98240db5a05f1c063918d8366c92d4d6b2572e2e3452b300a23980b6668e4f54ff349f60d47ec48 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-object-super@npm:7.22.5" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-replace-supers": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b71887877d74cb64dbccb5c0324fa67e31171e6a5311991f626650e44a4083e5436a1eaa89da78c0474fb095d4ec322d63ee778b202d33aa2e4194e1ed8e62d7 + checksum: 46b819cb9a6cd3cfefe42d07875fee414f18d5e66040366ae856116db560ad4e16f3899a0a7fddd6773e0d1458444f94b208b67c0e3b6977a27ea17a5c13dbf6 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.11" +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f17abd90e1de67c84d63afea29c8021c74abb2794d3a6eeafb0bbe7372d3db32aefca386e392116ec63884537a4a2815d090d26264d259bacc08f6e3ed05294c + checksum: f4356b04cf21a98480f9788ea50f1f13ee88e89bb6393ba4b84d1f39a4a84c7928c9a4328e8f4c5b6deb218da68a8fd17bf4f46faec7653ddc20ffaaa5ba49f4 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.22.15": - version: 7.23.0 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.0" +"@babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f702634f2b97e5260dbec0d4bde05ccb6f4d96d7bfa946481aeacfa205ca846cb6e096a38312f9d51fdbdac1f258f211138c5f7075952e46a5bf8574de6a1329 + checksum: 78c2be52b32e893c992aca52ef84130b3540e2ca0e1ff0e45f8d2ccc213b3c6e2b43f8dd2c86a0976acf3cdff97d4488c23b86d7a3e67daa517013089f44af1d languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/plugin-transform-parameters@npm:7.22.15" +"@babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 541188bb7d1876cad87687b5c7daf90f63d8208ae83df24acb1e2b05020ad1c78786b2723ca4054a83fcb74fb6509f30c4cacc5b538ee684224261ad5fb047c1 + checksum: d51f195e1d6ac5d9fce583e9a70a5bfe403e62386e5eb06db9fbc6533f895a98ff7e7c3dcaa311a8e6fa7a9794466e81cdabcba6af9f59d787fb767bfe7868b4 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-private-methods@npm:7.22.5" +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 321479b4fcb6d3b3ef622ab22fd24001e43d46e680e8e41324c033d5810c84646e470f81b44cbcbef5c22e99030784f7cac92f1829974da7a47a60a7139082c3 + checksum: c76f8f6056946466116e67eb9d8014a2d748ade2062636ab82045c1dac9c233aff10e597777bc5af6f26428beb845ceb41b95007abef7d0484da95789da56662 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.11" +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.22.11 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/helper-annotate-as-pure": ^7.27.1 + "@babel/helper-create-class-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4d029d84901e53c46dead7a46e2990a7bc62470f4e4ca58a0d063394f86652fd58fe4eea1eb941da3669cd536b559b9d058b342b59300026346b7a2a51badac8 + checksum: af539af1bd423aa46b9da83d649be716494ca80783841f47094b6741fa24e11141446027fd152ddff791dede9d4a76d0d5eb467402a2e584d7f5ea90e2673c7e languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 796176a3176106f77fcb8cd04eb34a8475ce82d6d03a88db089531b8f0453a2fb8b0c6ec9a52c27948bc0ea478becec449893741fc546dfc3930ab927e3f9f2e + checksum: 7caec27d5ed8870895c9faf4f71def72745d69da0d8e77903146a4e135fd7bed5778f5f9cebb36c5fba86338e6194dd67a08c033fc84b4299b7eceab6d9630cb languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/plugin-transform-regenerator@npm:7.22.10" +"@babel/plugin-transform-regenerator@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.4" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - regenerator-transform: ^0.15.2 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e13678d62d6fa96f11cb8b863f00e8693491e7adc88bfca3f2820f80cbac8336e7dec3a596eee6a1c4663b7ececc3564f2cd7fb44ed6d4ce84ac2bb7f39ecc6e + checksum: 2aa99b3a7b254a109e913fabbe1fb320ff40723988fde0e225212b7ef20f523a399a6e45077258b176c29715493b2a853cf7c130811692215adf33e5af99782b + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: f6cb385fe0e798bff7e9b20cf5912bf40e180895ff3610b1ccdce260f3c20daaebb3a99dc087c8168a99151cd3e16b94f4689fd5a4b01cf1834b45c133e620b2 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3ffd7dbc425fe8132bfec118b9817572799cab1473113a635d25ab606c1f5a2341a636c04cf6b22df3813320365ed5a965b5eeb3192320a10e4cc2c137bd8bfc + checksum: dea0b66742d2863b369c06c053e11e15ba785892ea19cccf7aef3c1bdaa38b6ab082e19984c5ea7810d275d9445c5400fcc385ad71ce707ed9256fadb102af3b languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5" +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a5ac902c56ea8effa99f681340ee61bac21094588f7aef0bc01dff98246651702e677552fa6d10e548c4ac22a3ffad047dd2f8c8f0540b68316c2c203e56818b + checksum: fbba6e2aef0b69681acb68202aa249c0598e470cc0853d7ff5bd0171fd6a7ec31d77cfabcce9df6360fc8349eded7e4a65218c32551bd3fc0caaa1ac899ac6d4 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-spread@npm:7.22.5" +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5587f0deb60b3dfc9b274e269031cc45ec75facccf1933ea2ea71ced9fd3ce98ed91bb36d6cd26817c14474b90ed998c5078415f0eab531caf301496ce24c95c + checksum: 58b08085ee9c29955ac3b68d61c1a79728d44d19a69cb5eb669794aeaf54c57c6647af7b979c1297e81ede3d08b3ddcb1936ef39a533f28ff3e399a9be54dab1 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 63b2c575e3e7f96c32d52ed45ee098fb7d354b35c2223b8c8e76840b32cc529ee0c0ceb5742fd082e56e91e3d82842a367ce177e82b05039af3d602c9627a729 + checksum: e1414a502efba92c7974681767e365a8cda6c5e9e5f33472a9eaa0ce2e75cea0a9bef881ff8dda37c7810ad902f98d3c00ead92a3ac3b73a79d011df85b5a189 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 27e9bb030654cb425381c69754be4abe6a7c75b45cd7f962cd8d604b841b2f0fb7b024f2efc1c25cc53f5b16d79d5e8cfc47cacbdaa983895b3aeefa3e7e24ff + checksum: 93aad782503b691faef7c0893372d5243df3219b07f1f22cfc32c104af6a2e7acd6102c128439eab15336d048f1b214ca134b87b0630d8cd568bf447f78b25ce languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 82a53a63ffc3010b689ca9a54e5f53b2718b9f4b4a9818f36f9b7dba234f38a01876680553d2716a645a61920b5e6e4aaf8d4a0064add379b27ca0b403049512 + checksum: ed8048c8de72c60969a64cf2273cc6d9275d8fa8db9bd25a1268273a00fb9cbd79931140311411bda1443aa56cb3961fb911d1795abacde7f0482f1d8fdf0356 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.10" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 807f40ed1324c8cb107c45358f1903384ca3f0ef1d01c5a3c5c9b271c8d8eec66936a3dcc8d75ddfceea9421420368c2e77ae3adef0a50557e778dfe296bf382 + checksum: d817154bc10758ddd85b716e0bc1af1a1091e088400289ab6b78a1a4d609907ce3d2f1fd51a6fd0e0c8ecbb5f8e3aab4957e0747776d132d2379e85c3ef0520a languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.5" +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2495e5f663cb388e3d888b4ba3df419ac436a5012144ac170b622ddfc221f9ea9bdba839fa2bc0185cb776b578030666406452ec7791cbf0e7a3d4c88ae9574c + checksum: 5d99c89537d1ebaac3f526c04b162cf95a47d363d4829f78c6701a2c06ab78a48da66a94f853f85f44a3d72153410ba923e072bed4b7166fa097f503eb14131d languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b5d1404c8c623b0ec9bd436c00d885a17d6a34f3f2597996343ddb9d94f6379705b21582dfd4cec2c47fd34068872e74ab6b9580116c0566b3f9447e2a7fa06 + checksum: a34d89a2b75fb78e66d97c3dc90d4877f7e31f43316b52176f95a5dee20e9bb56ecf158eafc42a001676ddf7b393d9e67650bad6b32f5405780f25fb83cd68e3 languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.5" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: c042070f980b139547f8b0179efbc049ac5930abec7fc26ed7a41d89a048d8ab17d362200e204b6f71c3c20d6991a0e74415e1a412a49adc8131c2a40c04822e + checksum: 295126074c7388ab05c82ef3ed0907a1ee4666bbdd763477ead9aba6eb2c74bdf65669416861ac93d337a4a27640963bb214acadc2697275ce95aab14868d57f languageName: node linkType: hard "@babel/preset-env@npm:^7.10.2, @babel/preset-env@npm:^7.12.1": - version: 7.22.20 - resolution: "@babel/preset-env@npm:7.22.20" - dependencies: - "@babel/compat-data": ^7.22.20 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-option": ^7.22.15 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.22.15 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.15 + version: 7.28.5 + resolution: "@babel/preset-env@npm:7.28.5" + dependencies: + "@babel/compat-data": ^7.28.5 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-option": ^7.27.1 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.28.5 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.27.1 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.27.1 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.27.1 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.28.3 "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-import-assertions": ^7.22.5 - "@babel/plugin-syntax-import-attributes": ^7.22.5 - "@babel/plugin-syntax-import-meta": ^7.10.4 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-syntax-import-assertions": ^7.27.1 + "@babel/plugin-syntax-import-attributes": ^7.27.1 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 - "@babel/plugin-transform-arrow-functions": ^7.22.5 - "@babel/plugin-transform-async-generator-functions": ^7.22.15 - "@babel/plugin-transform-async-to-generator": ^7.22.5 - "@babel/plugin-transform-block-scoped-functions": ^7.22.5 - "@babel/plugin-transform-block-scoping": ^7.22.15 - "@babel/plugin-transform-class-properties": ^7.22.5 - "@babel/plugin-transform-class-static-block": ^7.22.11 - "@babel/plugin-transform-classes": ^7.22.15 - "@babel/plugin-transform-computed-properties": ^7.22.5 - "@babel/plugin-transform-destructuring": ^7.22.15 - "@babel/plugin-transform-dotall-regex": ^7.22.5 - "@babel/plugin-transform-duplicate-keys": ^7.22.5 - "@babel/plugin-transform-dynamic-import": ^7.22.11 - "@babel/plugin-transform-exponentiation-operator": ^7.22.5 - "@babel/plugin-transform-export-namespace-from": ^7.22.11 - "@babel/plugin-transform-for-of": ^7.22.15 - "@babel/plugin-transform-function-name": ^7.22.5 - "@babel/plugin-transform-json-strings": ^7.22.11 - "@babel/plugin-transform-literals": ^7.22.5 - "@babel/plugin-transform-logical-assignment-operators": ^7.22.11 - "@babel/plugin-transform-member-expression-literals": ^7.22.5 - "@babel/plugin-transform-modules-amd": ^7.22.5 - "@babel/plugin-transform-modules-commonjs": ^7.22.15 - "@babel/plugin-transform-modules-systemjs": ^7.22.11 - "@babel/plugin-transform-modules-umd": ^7.22.5 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.5 - "@babel/plugin-transform-new-target": ^7.22.5 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.11 - "@babel/plugin-transform-numeric-separator": ^7.22.11 - "@babel/plugin-transform-object-rest-spread": ^7.22.15 - "@babel/plugin-transform-object-super": ^7.22.5 - "@babel/plugin-transform-optional-catch-binding": ^7.22.11 - "@babel/plugin-transform-optional-chaining": ^7.22.15 - "@babel/plugin-transform-parameters": ^7.22.15 - "@babel/plugin-transform-private-methods": ^7.22.5 - "@babel/plugin-transform-private-property-in-object": ^7.22.11 - "@babel/plugin-transform-property-literals": ^7.22.5 - "@babel/plugin-transform-regenerator": ^7.22.10 - "@babel/plugin-transform-reserved-words": ^7.22.5 - "@babel/plugin-transform-shorthand-properties": ^7.22.5 - "@babel/plugin-transform-spread": ^7.22.5 - "@babel/plugin-transform-sticky-regex": ^7.22.5 - "@babel/plugin-transform-template-literals": ^7.22.5 - "@babel/plugin-transform-typeof-symbol": ^7.22.5 - "@babel/plugin-transform-unicode-escapes": ^7.22.10 - "@babel/plugin-transform-unicode-property-regex": ^7.22.5 - "@babel/plugin-transform-unicode-regex": ^7.22.5 - "@babel/plugin-transform-unicode-sets-regex": ^7.22.5 + "@babel/plugin-transform-arrow-functions": ^7.27.1 + "@babel/plugin-transform-async-generator-functions": ^7.28.0 + "@babel/plugin-transform-async-to-generator": ^7.27.1 + "@babel/plugin-transform-block-scoped-functions": ^7.27.1 + "@babel/plugin-transform-block-scoping": ^7.28.5 + "@babel/plugin-transform-class-properties": ^7.27.1 + "@babel/plugin-transform-class-static-block": ^7.28.3 + "@babel/plugin-transform-classes": ^7.28.4 + "@babel/plugin-transform-computed-properties": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.5 + "@babel/plugin-transform-dotall-regex": ^7.27.1 + "@babel/plugin-transform-duplicate-keys": ^7.27.1 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.27.1 + "@babel/plugin-transform-dynamic-import": ^7.27.1 + "@babel/plugin-transform-explicit-resource-management": ^7.28.0 + "@babel/plugin-transform-exponentiation-operator": ^7.28.5 + "@babel/plugin-transform-export-namespace-from": ^7.27.1 + "@babel/plugin-transform-for-of": ^7.27.1 + "@babel/plugin-transform-function-name": ^7.27.1 + "@babel/plugin-transform-json-strings": ^7.27.1 + "@babel/plugin-transform-literals": ^7.27.1 + "@babel/plugin-transform-logical-assignment-operators": ^7.28.5 + "@babel/plugin-transform-member-expression-literals": ^7.27.1 + "@babel/plugin-transform-modules-amd": ^7.27.1 + "@babel/plugin-transform-modules-commonjs": ^7.27.1 + "@babel/plugin-transform-modules-systemjs": ^7.28.5 + "@babel/plugin-transform-modules-umd": ^7.27.1 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.27.1 + "@babel/plugin-transform-new-target": ^7.27.1 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.27.1 + "@babel/plugin-transform-numeric-separator": ^7.27.1 + "@babel/plugin-transform-object-rest-spread": ^7.28.4 + "@babel/plugin-transform-object-super": ^7.27.1 + "@babel/plugin-transform-optional-catch-binding": ^7.27.1 + "@babel/plugin-transform-optional-chaining": ^7.28.5 + "@babel/plugin-transform-parameters": ^7.27.7 + "@babel/plugin-transform-private-methods": ^7.27.1 + "@babel/plugin-transform-private-property-in-object": ^7.27.1 + "@babel/plugin-transform-property-literals": ^7.27.1 + "@babel/plugin-transform-regenerator": ^7.28.4 + "@babel/plugin-transform-regexp-modifiers": ^7.27.1 + "@babel/plugin-transform-reserved-words": ^7.27.1 + "@babel/plugin-transform-shorthand-properties": ^7.27.1 + "@babel/plugin-transform-spread": ^7.27.1 + "@babel/plugin-transform-sticky-regex": ^7.27.1 + "@babel/plugin-transform-template-literals": ^7.27.1 + "@babel/plugin-transform-typeof-symbol": ^7.27.1 + "@babel/plugin-transform-unicode-escapes": ^7.27.1 + "@babel/plugin-transform-unicode-property-regex": ^7.27.1 + "@babel/plugin-transform-unicode-regex": ^7.27.1 + "@babel/plugin-transform-unicode-sets-regex": ^7.27.1 "@babel/preset-modules": 0.1.6-no-external-plugins - "@babel/types": ^7.22.19 - babel-plugin-polyfill-corejs2: ^0.4.5 - babel-plugin-polyfill-corejs3: ^0.8.3 - babel-plugin-polyfill-regenerator: ^0.5.2 - core-js-compat: ^3.31.0 + babel-plugin-polyfill-corejs2: ^0.4.14 + babel-plugin-polyfill-corejs3: ^0.13.0 + babel-plugin-polyfill-regenerator: ^0.6.5 + core-js-compat: ^3.43.0 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 99357a5cb30f53bacdc0d1cd6dff0f052ea6c2d1ba874d969bba69897ef716e87283e84a59dc52fb49aa31fd1b6f55ed756c64c04f5678380700239f6030b881 + checksum: 9e17ba89c5d8cbea0fde564ea29e6dc17ad43f6ebf1c11347af69a04cf69dbc62c3124d2afe46412bfa41dddde3aaabfeffc0d68bed96f6ea0c4d8fbf652e761 languageName: node linkType: hard @@ -1308,58 +1269,46 @@ __metadata: languageName: node linkType: hard -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 89c338fee774770e5a487382170711014d49a68eb281e74f2b5eac88f38300a4ad545516a7786a8dd5702e9cf009c94c2f582d200f077ac5decd74c56b973730 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.8.4": - version: 7.26.10 - resolution: "@babel/runtime@npm:7.26.10" - dependencies: - regenerator-runtime: ^0.14.0 - checksum: 22d2e0abb86e90de489ab16bb578db6fe2b63a88696db431198b24963749820c723f1982298cdbbea187f7b2b80fb4d98a514faf114ddb2fdc14a4b96277b955 +"@babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.20.6": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 934b0a0460f7d06637d93fcd1a44ac49adc33518d17253b5a0b55ff4cb90a45d8fe78bf034b448911dbec7aff2a90b918697559f78d21c99ff8dbadae9565b55 languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3": - version: 7.26.9 - resolution: "@babel/template@npm:7.26.9" +"@babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": ^7.26.2 - "@babel/parser": ^7.26.9 - "@babel/types": ^7.26.9 - checksum: 32259298c775e543ab994daff0c758b3d6a184349b146d6497aa46cec5907bc47a6bc09e7295a81a5eccfbd023d4811a9777cb5d698d582d09a87cabf5b576e7 + "@babel/code-frame": ^7.27.1 + "@babel/parser": ^7.27.2 + "@babel/types": ^7.27.1 + checksum: ff5628bc066060624afd970616090e5bba91c6240c2e4b458d13267a523572cbfcbf549391eec8217b94b064cf96571c6273f0c04b28a8567b96edc675c28e27 languageName: node linkType: hard -"@babel/traverse@npm:^7.23.0": - version: 7.23.6 - resolution: "@babel/traverse@npm:7.23.6" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" dependencies: - "@babel/code-frame": ^7.23.5 - "@babel/generator": ^7.23.6 - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-function-name": ^7.23.0 - "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.6 - "@babel/types": ^7.23.6 + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.28.5 + "@babel/helper-globals": ^7.28.0 + "@babel/parser": ^7.28.5 + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.5 debug: ^4.3.1 - globals: ^11.1.0 - checksum: 48f2eac0e86b6cb60dab13a5ea6a26ba45c450262fccdffc334c01089e75935f7546be195e260e97f6e43cea419862eda095018531a2718fef8189153d479f88 + checksum: e028ee9654f44be7c2a2df268455cee72d5c424c9ae536785f8f7c8680356f7b977c77ad76909d07eeed09ff1e125ce01cf783011f66b56c838791a85fa6af04 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.26.10 - resolution: "@babel/types@npm:7.26.10" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" dependencies: - "@babel/helper-string-parser": ^7.25.9 - "@babel/helper-validator-identifier": ^7.25.9 - checksum: 07340068ea3824dcaccf702dfc9628175c9926912ad6efba182d8b07e20953297d0a514f6fb103a61b9d5c555c8b87fc2237ddb06efebe14794eefc921dfa114 + "@babel/helper-string-parser": ^7.27.1 + "@babel/helper-validator-identifier": ^7.28.5 + checksum: 5bc266af9e55ff92f9ddf33d83a42c9de1a87f9579d0ed62ef94a741a081692dd410a4fbbab18d514b83e135083ff05bc0e37003834801c9514b9d8ad748070d languageName: node linkType: hard @@ -1420,36 +1369,36 @@ __metadata: linkType: hard "@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.18.6, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.7.1": - version: 6.18.6 - resolution: "@codemirror/autocomplete@npm:6.18.6" + version: 6.20.0 + resolution: "@codemirror/autocomplete@npm:6.20.0" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 - checksum: 1d3657d5fbd2bbf983edf7fb14568b1f813a15f03848bef3833835dd3a30985d881e093842f7b3def23789b542db4eb81ec07bfa313d1ee1d54cb1b273027dea + checksum: 0defd46302ab2763d10f3a51ef8f2b607dd7268843aaeec76a272e84723fe17f8a5ee5a7ad06e649066b69d9dad2a81d6a6cfdf7593290bd52b711b96c46518b languageName: node linkType: hard "@codemirror/commands@npm:^6.8.1": - version: 6.8.1 - resolution: "@codemirror/commands@npm:6.8.1" + version: 6.10.0 + resolution: "@codemirror/commands@npm:6.10.0" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.4.0 "@codemirror/view": ^6.27.0 "@lezer/common": ^1.1.0 - checksum: 838365af4f12e985c35f4bc59e38eb809e951fd3e35d5ad43548e61c26deda050276346dd031b9c6ed7fe13a777d59c37b9b1e46609d1d79e622d908340a468e + checksum: 29c2852a67bbdbbc9e6ef8d8cc29119abe0bfd82235fff2762dae00b15c70d678f330ef384e3c6fd19f18d0061791e09c869a355eaad340dd9a2ba6000b786e2 languageName: node linkType: hard "@codemirror/lang-cpp@npm:^6.0.2": - version: 6.0.2 - resolution: "@codemirror/lang-cpp@npm:6.0.2" + version: 6.0.3 + resolution: "@codemirror/lang-cpp@npm:6.0.3" dependencies: "@codemirror/language": ^6.0.0 "@lezer/cpp": ^1.0.0 - checksum: bb9eba482cca80037ce30c7b193cf45eff19ccbb773764fddf2071756468ecc25aa53c777c943635054f89095b0247b9b50c339e107e41e68d34d12a7295f9a9 + checksum: 982b9a9624367a0086520e1d499b7ad2fba2a14bdd57df88520bac279bd980e12154fd281659226fbcfa530edb5dd72edd114481365e6224bf53e97bc972f3b8 languageName: node linkType: hard @@ -1467,8 +1416,8 @@ __metadata: linkType: hard "@codemirror/lang-html@npm:^6.0.0, @codemirror/lang-html@npm:^6.4.9": - version: 6.4.9 - resolution: "@codemirror/lang-html@npm:6.4.9" + version: 6.4.11 + resolution: "@codemirror/lang-html@npm:6.4.11" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/lang-css": ^6.0.0 @@ -1478,24 +1427,24 @@ __metadata: "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 "@lezer/css": ^1.1.0 - "@lezer/html": ^1.3.0 - checksum: ac8c3ceb0396f2e032752c5079bd950124dca708bc64e96fc147dc5fe7133e5cee0814fe951abdb953ec1d11fa540e4b30a712b5149d9a36016a197a28de45d7 + "@lezer/html": ^1.3.12 + checksum: 31a16cc6be4daa58c6765274b9b7ba1bb54a4b0858d33d8ad1c7ec1bcb85920e3715a891f8cb27f5d9dfe87bbe00f0ddfbac5b04011374e15380b9cec7ba3c69 languageName: node linkType: hard "@codemirror/lang-java@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-java@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-java@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/java": ^1.0.0 - checksum: 4679104683cbffcd224ac04c7e5d144b787494697b26470b07017259035b7bb3fa62609d9a61bfbc566f1756d9f972f9f26d96a3c1362dd48881c1172f9a914d + checksum: ed884f5e1a90c0d487bc4e5073c6154f3abf51b0b652c3d015e8cb322e171a38307427a85ecc16d5be82bd3243577e77e202325d84394a9c5ac356ee358c56c9 languageName: node linkType: hard "@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.3": - version: 6.2.3 - resolution: "@codemirror/lang-javascript@npm:6.2.3" + version: 6.2.4 + resolution: "@codemirror/lang-javascript@npm:6.2.4" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.6.0 @@ -1504,23 +1453,23 @@ __metadata: "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 "@lezer/javascript": ^1.0.0 - checksum: c56407ddedc80e417dd105a39f11f837fad6fd4d91fe7934c61e48c54227350e4e8f940f81d26030a6c4ff9da16f734361cd1eaed63ba22aadf71fcf6172cbd5 + checksum: 0350e9ac2df155c4ecf75d556f40b677c284c1d320620dc7228e2aa458e258dd1145c86e5ebf3451347ed6ef528f72c2eb60f5d3f6bd10af8aabb2819109e21a languageName: node linkType: hard "@codemirror/lang-json@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-json@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-json@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/json": ^1.0.0 - checksum: e9e87d50ff7b81bd56a6ab50740b1dd54e9a93f1be585e1d59d0642e2148842ea1528ac7b7221eb4ddc7fe84bbc28065144cc3ab86f6e06c6aeb2d4b4e62acf1 + checksum: ccdf71a4f339b9e40310c40c4677c31b8bf2284291becc056b7d5b30382107cd7ab65f1a3c108331c0fc7b5fc7ec2e3fe6e5029957ff978d7b7bfb759f68d921 languageName: node linkType: hard "@codemirror/lang-markdown@npm:^6.3.2": - version: 6.3.2 - resolution: "@codemirror/lang-markdown@npm:6.3.2" + version: 6.5.0 + resolution: "@codemirror/lang-markdown@npm:6.5.0" dependencies: "@codemirror/autocomplete": ^6.7.1 "@codemirror/lang-html": ^6.0.0 @@ -1529,49 +1478,49 @@ __metadata: "@codemirror/view": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/markdown": ^1.0.0 - checksum: f136d50156f13619d7ceb4fae28fc2342064be371a6cb057ba304658d885cf029d2d0d69b03b3c591c86a2c9b46bb2b3820549d5ff936a9b6aabaf692923c84a + checksum: 15c6bf7eb800b73d77a2e202f08b2282230903d830111699f34a036e0ae334cf5edd65b29f45f138e305fb33a7a11f0ef111c2eaed948b10501e5e8deb7d6c47 languageName: node linkType: hard "@codemirror/lang-php@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-php@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-php@npm:6.0.2" dependencies: "@codemirror/lang-html": ^6.0.0 "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 "@lezer/common": ^1.0.0 "@lezer/php": ^1.0.0 - checksum: c003a29a426486453fdfddbf7302982fa2aa7f059bf6f1ce4cbf08341b0162eee5e2f50e0d71c418dcd358491631780156d846fe352754d042576172c5d86721 + checksum: e0cb6287c5a8898dc5637dadfbbd591ed6c2aaef1fc4db1426646ab0f8e48e4c7254899fc9c1864ee1f1e917d5888e447d1ab87300d896de2b9472f5ad6a888d languageName: node linkType: hard "@codemirror/lang-python@npm:^6.2.0": - version: 6.2.0 - resolution: "@codemirror/lang-python@npm:6.2.0" + version: 6.2.1 + resolution: "@codemirror/lang-python@npm:6.2.1" dependencies: "@codemirror/autocomplete": ^6.3.2 "@codemirror/language": ^6.8.0 "@codemirror/state": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/python": ^1.1.4 - checksum: 2326932a59af8c56dc4e8a621f542a59944b93d4e5f50b23dab65d15486cc7a59a6f5fe11595ac478974270084db4770942621dbd834021247f34f2d34063757 + checksum: 977ce444ab7c68261107c40e8a46d3480a239ac5a093f39fad7da0644fc08cb4b90552c8b7fad396f936e34b5bbac510533ea7b4229d3b8271774a1af1e717aa languageName: node linkType: hard "@codemirror/lang-rust@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-rust@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-rust@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/rust": ^1.0.0 - checksum: 8a439944cb22159b0b3465ca4fa4294c69843219d5d30e278ae6df8e48f30a7a9256129723c025ec9b5e694d31a3560fb004300b125ffcd81c22d13825845170 + checksum: 4cb7528c723ec3f421bd82a5324c56d836f3675e3b28e2b2d3c9d251e8f206bf9d932d52696c310dca51d71644063441fb8330d5ad1278c68002f8598b4bc067 languageName: node linkType: hard "@codemirror/lang-sql@npm:^6.8.0": - version: 6.8.0 - resolution: "@codemirror/lang-sql@npm:6.8.0" + version: 6.10.0 + resolution: "@codemirror/lang-sql@npm:6.10.0" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.0.0 @@ -1579,7 +1528,7 @@ __metadata: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 1b5a3c8129b09f24039d8c0906fc4cb8d0f706a424a1d56721057bd1e647797c2b1240bb53eed9bf2bac5806a4e0363e555a3963f04c478efa05829890c537f7 + checksum: c37ba6778f5f34f174a387ff530f19844fccc1e5ff65c58205b8861c19b6e39e4b3298ec63f50bd6c860befba3491db40d0d20b463a77021a9e9f20979fa2369 languageName: node linkType: hard @@ -1610,8 +1559,8 @@ __metadata: linkType: hard "@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.11.0, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": - version: 6.11.0 - resolution: "@codemirror/language@npm:6.11.0" + version: 6.11.3 + resolution: "@codemirror/language@npm:6.11.3" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.23.0 @@ -1619,38 +1568,38 @@ __metadata: "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 style-mod: ^4.0.0 - checksum: 5556dc163d5bd1d771a4f64e2750d3d1dc1f39030bc6e4b9a4704e4de7501e8d3511002e0f8f96cd8deef782730e0b49b576e30f0ea820e1c632995bd75caddd + checksum: 9ad560fb90ccb8e5660ee162b7ca36323b0cc0fe2c2885a93f052763c177e10118930aae5cdea410e90cf2a6a2b86438a7503fcc6d1f550c8d75a6757e31f3bf languageName: node linkType: hard "@codemirror/legacy-modes@npm:^6.5.1": - version: 6.5.1 - resolution: "@codemirror/legacy-modes@npm:6.5.1" + version: 6.5.2 + resolution: "@codemirror/legacy-modes@npm:6.5.2" dependencies: "@codemirror/language": ^6.0.0 - checksum: ad92399fdd5f7342d2b8d1ef450ac01cee96f2266938ca09de5047998bf6ac7a085dfe9941feb9ef6a924fda80aa7a1dc0ddc5dd6ce9c3ceaa36bcc14c5b2264 + checksum: 2ae75e40d4357e65d0b3b1ebcb28a85a7700f8a39e5ae2dcc8dece00a4070a800d797c9297e7a4beb398d63e4c69c3e69992b4fb20ab84f748625c7590a82636 languageName: node linkType: hard "@codemirror/lint@npm:^6.0.0": - version: 6.4.2 - resolution: "@codemirror/lint@npm:6.4.2" + version: 6.9.2 + resolution: "@codemirror/lint@npm:6.9.2" dependencies: "@codemirror/state": ^6.0.0 - "@codemirror/view": ^6.0.0 + "@codemirror/view": ^6.35.0 crelt: ^1.0.5 - checksum: 5e699960c1b28dbaa584fe091a3201978907bf4b9e52810fb15d3ceaf310e38053435e0b594da0985266ae812039a5cd6c36023284a6f8568664bdca04db137f + checksum: 20f4113df6c8fb8e9f1d44b32aa6e6d1ecb8d289f77294d5c29c7544a6ed5208bc6709acfd3cfbd09a11245c0c3292706a58cc09cea99926aebe933f8279aac6 languageName: node linkType: hard "@codemirror/search@npm:^6.5.10": - version: 6.5.10 - resolution: "@codemirror/search@npm:6.5.10" + version: 6.5.11 + resolution: "@codemirror/search@npm:6.5.11" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: a30048004ce7cc1ee77a7618485ab5399939eab72b64329d57be98245ea39cb68ba54ad944ee679cc2aeac5bf9f202b2073ad0916f0788497fb64a07073399e8 + checksum: 4d418f176bd93705bc51c82a2f1c0e41fecc0368dc43c415635c4dfdd763aa05ebdf7f000bc9ca0083c1887e6d305b89482ec1f4db8b8765c6f38de324187476 languageName: node linkType: hard @@ -1663,15 +1612,15 @@ __metadata: languageName: node linkType: hard -"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.38.1": - version: 6.38.1 - resolution: "@codemirror/view@npm:6.38.1" +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.38.1": + version: 6.38.8 + resolution: "@codemirror/view@npm:6.38.8" dependencies: "@codemirror/state": ^6.5.0 crelt: ^1.0.6 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: a6432f1cf4a9a400eb66619d33b2841d986024677fc95c564b283f7e896fe43b17d7665ca7816b9f6b01a44522d76b928aac8f8778ddd9dfb313b125e2c31643 + checksum: ffbdff6c188d2049fa4b29bfae4f0540331ca8e5a47a0e6fa6798adbdcb332cc883b1ead247cbeae8515060ec9b85a19e961e9b82ebd03c0f562ce281014bbea languageName: node linkType: hard @@ -1709,26 +1658,26 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: - eslint-visitor-keys: ^3.3.0 + eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 + checksum: ae9b98eea006d1354368804b0116b8b45017a4e47b486d1b9cfa048a8ed3dc69b9b074eb2b2acb14034e6897c24048fd42b6a6816d9dc8bb9daad79db7d478d2 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.9.1 - resolution: "@eslint-community/regexpp@npm:4.9.1" - checksum: 06fb839e9c756f6375cc545c2f2e05a0a64576bd6370e8e3c07983fd29a3d6e164ef4aa48a361f7d27e6713ab79c83053ff6a2ccb78748bc955e344279c4a3b6 + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 1770bc81f676a72f65c7200b5675ff7a349786521f30e66125faaf767fde1ba1c19c3790e16ba8508a62a3933afcfc806a893858b3b5906faf693d862b9e4120 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.2": - version: 2.1.2 - resolution: "@eslint/eslintrc@npm:2.1.2" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -1739,14 +1688,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: bc742a1e3b361f06fedb4afb6bf32cbd27171292ef7924f61c62f2aed73048367bcc7ac68f98c06d4245cd3fabc43270f844e3c1699936d4734b3ac5398814a7 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 languageName: node linkType: hard -"@eslint/js@npm:8.51.0": - version: 8.51.0 - resolution: "@eslint/js@npm:8.51.0" - checksum: 0228bf1e1e0414843e56d9ff362a2a72d579c078f93174666f29315690e9e30a8633ad72c923297f7fd7182381b5a476805ff04dac8debe638953eb1ded3ac73 +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 2afb77454c06e8316793d2e8e79a0154854d35e6782a1217da274ca60b5044d2c69d6091155234ed0551a1e408f86f09dd4ece02752c59568fa403e60611e880 languageName: node linkType: hard @@ -1757,14 +1706,21 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.11": - version: 0.11.11 - resolution: "@humanwhocodes/config-array@npm:0.11.11" +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 - debug: ^4.1.1 + "@humanwhocodes/object-schema": ^2.0.3 + debug: ^4.3.1 minimatch: ^3.0.5 - checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19 + checksum: eae69ff9134025dd2924f0b430eb324981494be26f0fddd267a33c28711c4db643242cf9fddf7dadb9d16c96b54b2d2c073e60a56477df86e0173149313bd5d6 languageName: node linkType: hard @@ -1775,10 +1731,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 languageName: node linkType: hard @@ -1812,6 +1768,44 @@ __metadata: languageName: node linkType: hard +"@inquirer/external-editor@npm:^1.0.0, @inquirer/external-editor@npm:^1.0.2": + version: 1.0.3 + resolution: "@inquirer/external-editor@npm:1.0.3" + dependencies: + chardet: ^2.1.1 + iconv-lite: ^0.7.0 + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 9bd7a05247a00408c194648c74046d8a212df1e6b9fe0879b945ebfc35c2524e995e43f7ecd83f14d0bd4e31f985d18819efc31c27810e2c2b838ded7261431f + languageName: node + linkType: hard + +"@inquirer/figures@npm:^1.0.3": + version: 1.0.15 + resolution: "@inquirer/figures@npm:1.0.15" + checksum: bd87a578ab667236cb72bdbb900cb144017dbc306d60e9dc7e665cd7d6b3097e9464cb4d8fe215315083a7820530caf86d7af59e7c41a35a555fb22a881913ad + languageName: node + linkType: hard + +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 102fbc6d2c0d5edf8f6dbf2b3feb21695a21bc850f11bc47c4f06aa83bd8884fde3fe9d6d797d619901d96865fdcb4569ac2a54c937992c48885c5e3d9967fe8 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": ^4.0.1 + checksum: d7a3b8b0ddbf0ccd8eeb1300e29dd0a0c02147e823d8138f248375a365682360620895c66d113e05ee02389318c654379b0e538b996345b83c914941786705b1 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -1826,6 +1820,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -1839,7 +1842,7 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2": +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 @@ -2076,55 +2079,57 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: - "@jridgewell/set-array": ^1.0.1 - "@jridgewell/sourcemap-codec": ^1.4.10 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 4a74944bd31f22354fc01c3da32e83c19e519e3bbadafa114f6da4522ea77dd0c2842607e923a591d60a76699d819a2fbb6f3552e277efdb9b58b081390b60ab + "@jridgewell/sourcemap-codec": ^1.5.0 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: f2105acefc433337145caa3c84bba286de954f61c0bc46279bbd85a9e6a02871089717fa060413cfb6a9d44189fe8313b2d1cabf3a2eb3284d208fd5f75c54ff languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: 4a66a7397c3dc9c6b5c14a0024b1f98c5e1d90a0dbc1e5955b5038f2db339904df2a0ee8a66559fafb4fc23ff33700a2639fd40bbdd2e9e82b58b3bdf83738e3 languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 83b85f72c59d1c080b4cbec0fef84528963a1b5db34e4370fa4bd1e3ff64a0d80e0cee7369d11d73c704e0286fb2865b530acac7a871088fbe92b5edf1000870 languageName: node linkType: hard "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "@jridgewell/source-map@npm:0.3.5" + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1ad4dec0bdafbade57920a50acec6634f88a0eb735851e0dda906fa9894e7f0549c492678aad1a10f8e144bfe87f238307bf2a914a1bc85b7781d345417e9f6f + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 + checksum: c8a0011cc67e701f270fa042e32b312f382c413bcc70ca9c03684687cbf5b64d5eed87d4afa36dddaabe60ab3da6db4935f878febd9cfc7f82724ea1a114d344 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: c2e36e67971f719a8a3a85ef5a5f580622437cc723c35d03ebd0c9c0b06418700ef006f58af742791f71f6a4fc68fcfaf1f6a74ec2f9a3332860e9373459dae7 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.19 - resolution: "@jridgewell/trace-mapping@npm:0.3.19" +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": ^3.1.0 "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 956a6f0f6fec060fb48c6bf1f5ec2064e13cd38c8be3873877d4b92b4a27ba58289a34071752671262a3e3c202abcc3fa2aac64d8447b4b0fa1ba3c9047f1c20 + checksum: af8fda2431348ad507fbddf8e25f5d08c79ecc94594061ce402cf41bc5aba1a7b3e59bf0fd70a619b35f33983a3f488ceeba8faf56bff784f98bb5394a8b7d47 languageName: node linkType: hard @@ -2535,8 +2540,8 @@ __metadata: linkType: hard "@jupyter/ydoc@npm:^3.1.0": - version: 3.1.0 - resolution: "@jupyter/ydoc@npm:3.1.0" + version: 3.3.1 + resolution: "@jupyter/ydoc@npm:3.3.1" dependencies: "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 "@lumino/coreutils": ^1.11.0 || ^2.0.0 @@ -2544,7 +2549,7 @@ __metadata: "@lumino/signaling": ^1.10.0 || ^2.0.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: 7f2423752395ec590ed46754c10c87db4f5b804aa9608ef2869f52872e9a29cb5f9e32908325efb221d9ce4fad642a1f7e0dbb8f2ee40c352b8380e46ccba93d + checksum: 05f4235104a682663b71929a0dd481a6bb16e745b9ea7357282caf562d617a8b4117e6d076b9e12f7c7fbfcbd82a8cdbba9b2157055cc0539c3fd015a9e1bbda languageName: node linkType: hard @@ -2571,7 +2576,7 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/application@npm:^4.3.2, @jupyterlab/application@npm:^4.5.0, @jupyterlab/application@npm:~4.5.0": +"@jupyterlab/application@npm:^4.3.8, @jupyterlab/application@npm:^4.5.0, @jupyterlab/application@npm:~4.5.0": version: 4.5.0 resolution: "@jupyterlab/application@npm:4.5.0" dependencies: @@ -2630,7 +2635,7 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/apputils@npm:^4.4.2, @jupyterlab/apputils@npm:^4.6.0, @jupyterlab/apputils@npm:~4.6.0": +"@jupyterlab/apputils@npm:^4.4.8, @jupyterlab/apputils@npm:^4.6.0, @jupyterlab/apputils@npm:~4.6.0": version: 4.6.0 resolution: "@jupyterlab/apputils@npm:4.6.0" dependencies: @@ -3037,7 +3042,7 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/coreutils@npm:^6.3.2, @jupyterlab/coreutils@npm:^6.5.0, @jupyterlab/coreutils@npm:~6.5.0": +"@jupyterlab/coreutils@npm:^6.5.0, @jupyterlab/coreutils@npm:~6.5.0": version: 6.5.0 resolution: "@jupyterlab/coreutils@npm:6.5.0" dependencies: @@ -3883,7 +3888,7 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/notebook@npm:^4.3.2, @jupyterlab/notebook@npm:^4.5.0, @jupyterlab/notebook@npm:~4.5.0": +"@jupyterlab/notebook@npm:^4.3.8, @jupyterlab/notebook@npm:^4.5.0, @jupyterlab/notebook@npm:~4.5.0": version: 4.5.0 resolution: "@jupyterlab/notebook@npm:4.5.0" dependencies: @@ -4027,7 +4032,7 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/rendermime@npm:^4.3.2, @jupyterlab/rendermime@npm:^4.5.0, @jupyterlab/rendermime@npm:~4.5.0": +"@jupyterlab/rendermime@npm:^4.3.8, @jupyterlab/rendermime@npm:^4.5.0, @jupyterlab/rendermime@npm:~4.5.0": version: 4.5.0 resolution: "@jupyterlab/rendermime@npm:4.5.0" dependencies: @@ -4283,15 +4288,15 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/testing@npm:^4.3.2": - version: 4.3.2 - resolution: "@jupyterlab/testing@npm:4.3.2" +"@jupyterlab/testing@npm:^4.3.8": + version: 4.5.0 + resolution: "@jupyterlab/testing@npm:4.5.0" dependencies: "@babel/core": ^7.10.2 "@babel/preset-env": ^7.10.2 - "@jupyterlab/coreutils": ^6.3.2 - "@lumino/coreutils": ^2.2.0 - "@lumino/signaling": ^2.1.3 + "@jupyterlab/coreutils": ^6.5.0 + "@lumino/coreutils": ^2.2.2 + "@lumino/signaling": ^2.1.5 deepmerge: ^4.2.2 fs-extra: ^10.1.0 identity-obj-proxy: ^3.0.0 @@ -4302,20 +4307,20 @@ __metadata: ts-jest: ^29.1.0 peerDependencies: typescript: ">=4.3" - checksum: ad60608c18dd9d57d81aaa061c3a8061a92099b94c491b48e83c05661fc0a04b5ff3e2380ae642d6d2a1f3e19cadee4af9738a19d2e2e19602a17475d1387630 + checksum: 288d1fc9546ebb956d3da575abbbede1443b8ca766bb24448f7021b52f63ac4f679f4ad391edbbc2f160ecad94bcd112f99511e37c13e38143f7f6cef434b4bd languageName: node linkType: hard "@jupyterlab/testutils@npm:~4.3.2": - version: 4.3.2 - resolution: "@jupyterlab/testutils@npm:4.3.2" + version: 4.3.8 + resolution: "@jupyterlab/testutils@npm:4.3.8" dependencies: - "@jupyterlab/application": ^4.3.2 - "@jupyterlab/apputils": ^4.4.2 - "@jupyterlab/notebook": ^4.3.2 - "@jupyterlab/rendermime": ^4.3.2 - "@jupyterlab/testing": ^4.3.2 - checksum: 4e7b621f6c97fbc60f0954e46d20c8d4c7e299e4f4334cf773392ba0cb6d9b35fc85986d9be319f111e9d12cc7e1530a931c660dd10fd3eada202cd64e6a0203 + "@jupyterlab/application": ^4.3.8 + "@jupyterlab/apputils": ^4.4.8 + "@jupyterlab/notebook": ^4.3.8 + "@jupyterlab/rendermime": ^4.3.8 + "@jupyterlab/testing": ^4.3.8 + checksum: 56c0d2d6b096e7a1b28c8a14633d88d18984edcbcd983846c99e6d5f71dc4a122e59e689a5b03e781f4648ad86bb84c3c1934b10ec9490b30d0211bf29507f8b languageName: node linkType: hard @@ -4616,159 +4621,160 @@ __metadata: languageName: node linkType: hard -"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1": - version: 1.2.1 - resolution: "@lezer/common@npm:1.2.1" - checksum: 0bd092e293a509ce334f4aaf9a4d4a25528f743cd9d7e7948c697e34ac703b805b288b62ad01563488fb206fc34ff05084f7fc5d864be775924b3d0d53ea5dd2 +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1, @lezer/common@npm:^1.3.0": + version: 1.3.0 + resolution: "@lezer/common@npm:1.3.0" + checksum: 55b579ce7ed18e667844954e460f5082f10e833cc6fcb6791f27a2dff1bf63647da477e20c5f857accec25f82c58ed12cd95875af754052e44866bc1be2bd4d4 languageName: node linkType: hard "@lezer/cpp@npm:^1.0.0": - version: 1.1.1 - resolution: "@lezer/cpp@npm:1.1.1" + version: 1.1.3 + resolution: "@lezer/cpp@npm:1.1.3" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: c9e1db19776eafbfe0c3b8448d46c94d9a1d30f7fef630292e63bab82e6d5d6903a043ee8cf341bcbf84c00ee0d79b8c255bab8fd8e0a91355ae912b53c78935 + checksum: 87b48d89f3cd60c5a5c4368ea394fe7e27abb6ec9e6f8b7b4d005e3dd4d5268eb4e1c3a8a58807f63d18043ccfdc864965b9787c1274260999167d447cf562c3 languageName: node linkType: hard "@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": - version: 1.1.9 - resolution: "@lezer/css@npm:1.1.9" + version: 1.3.0 + resolution: "@lezer/css@npm:1.3.0" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 - "@lezer/lr": ^1.0.0 - checksum: 25c63475061a3c9f87961a7f85c5f547f14fb7e81b0864675d2206999a874a0559d676145c74c6ccde39519dbc8aa33e216265f5366d08060507b6c9e875fe0f + "@lezer/lr": ^1.3.0 + checksum: 952cdbee844c1cd6097c3de4ee073861d05ea1edf10815a58c1d29ee8337fd053b7758944bd48dd418c13bc204ab8666554c3be0560ecb31a65cc438e52e0590 languageName: node linkType: hard "@lezer/generator@npm:^1.7.0": - version: 1.7.0 - resolution: "@lezer/generator@npm:1.7.0" + version: 1.8.0 + resolution: "@lezer/generator@npm:1.8.0" dependencies: "@lezer/common": ^1.1.0 "@lezer/lr": ^1.3.0 bin: lezer-generator: src/lezer-generator.cjs - checksum: 69f4c6625446cb65adaa509480ec67502f27651707a8e45e99373e682d7f66f8842205669f174bcb138eade72c64ded0b54d6de6aa5af995ac1f1e805ef021fd + checksum: 2c4e6550bd282efd190100887d107d9e3e4cd87ba47cdb5488f84919f35b2cbb2fb845798017204f2fb3bb5dad6b6300fa45612731f8122960bd7a5346c785a5 languageName: node linkType: hard "@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3, @lezer/highlight@npm:^1.2.0": - version: 1.2.0 - resolution: "@lezer/highlight@npm:1.2.0" + version: 1.2.3 + resolution: "@lezer/highlight@npm:1.2.3" dependencies: - "@lezer/common": ^1.0.0 - checksum: 5b9dfe741f95db13f6124cb9556a43011cb8041ecf490be98d44a86b04d926a66e912bcd3a766f6a3d79e064410f1a2f60ab240b50b645a12c56987bf4870086 + "@lezer/common": ^1.3.0 + checksum: 13b0d22d5dc2f3005baa7eed229bba8a61cee4ddeeb9e6a8cdff25fa3101db779c00b4c5d8f493ab2d60b296945a6cc4fe7e4846fece27b3fd2c2a1bfef79dad languageName: node linkType: hard -"@lezer/html@npm:^1.3.0": - version: 1.3.6 - resolution: "@lezer/html@npm:1.3.6" +"@lezer/html@npm:^1.3.12": + version: 1.3.12 + resolution: "@lezer/html@npm:1.3.12" dependencies: - "@lezer/common": ^1.0.0 + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 1d3af781660968505e5083a34f31ea3549fd5f3949227fa93cc318bca61bce76ffe977bd875624ba938a2039834ec1a33df5d365e94c48131c85dd26f980d92c + checksum: 894b547555cd7d3dbf17c7022c4067a207241d6d493728ae2f79f6b9245803c1acec98fe89e593289ddcce9e9b6a90d8090be1a7090367bdbc38930aa9ee19a0 languageName: node linkType: hard "@lezer/java@npm:^1.0.0": - version: 1.0.4 - resolution: "@lezer/java@npm:1.0.4" + version: 1.1.3 + resolution: "@lezer/java@npm:1.1.3" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 97f5a2c2d733afba5dc57a0da9a97515b19b5e63bb5937717dac4e8c9baed74d15c0cb5c1580858b678931f11d517c56d89f903968fa48931f9c62e2ea67a107 + checksum: a4b8a348ab08465cff6e54ec80e397d2629e0911decb4c6a47fd56cd74f6978fae478879b15a2e239203b9e53aef41ecaeba675f8013e290165249abdab7da74 languageName: node linkType: hard "@lezer/javascript@npm:^1.0.0": - version: 1.4.8 - resolution: "@lezer/javascript@npm:1.4.8" + version: 1.5.4 + resolution: "@lezer/javascript@npm:1.5.4" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.1.3 "@lezer/lr": ^1.3.0 - checksum: d0c1de5dd756c0a64b440984273cf5a9ef0d227d6b059d2db96c62fde869e34427b46389d56401d067c82222f11373e2d20f9280e4c403bf681ec6a35ae16126 + checksum: 0b126907d5850fb2b29d199af67fc9c4864141f4d46b222878609dffb80f2a012028d9b3495d992f30d73fbc7ffe57ed2e35ff9cc1807cb512b807a51d4d0a03 languageName: node linkType: hard "@lezer/json@npm:^1.0.0": - version: 1.0.1 - resolution: "@lezer/json@npm:1.0.1" + version: 1.0.3 + resolution: "@lezer/json@npm:1.0.3" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: fcd17178f6a58e71c83e08fdc047e3708528b28591ba8f08ed35268f370d1ec9b63af0afa9d82a77fec26e9eb477ab3cfdc31c951e080d118ef607f9f9bb52e3 + checksum: 48e7b945fdfa2b5b6f862e27bc31f3991cba93f18df7fed0059b25f119b64dedd50bbc709d279e16e2b3eee10e7758d7d80c6d98d21bc15c284809d268837897 languageName: node linkType: hard "@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.1.0, @lezer/lr@npm:^1.3.0": - version: 1.3.13 - resolution: "@lezer/lr@npm:1.3.13" + version: 1.4.3 + resolution: "@lezer/lr@npm:1.4.3" dependencies: "@lezer/common": ^1.0.0 - checksum: aad0cb8908796a6b49116842fd490093aa0de54b48150a60a4f418815c014f7a1b4355615832e305caea5c0ba8c5ab577f82aebcd0ea04586b8199284ef0fec8 + checksum: 6d824c81291ab92778826107e4524ab005259b16350ab797b95bdff7d0e70a90ca9c048806517135a993e1c416594fbb418f8a3d88f9f9a9aff95cbdb4a26de3 languageName: node linkType: hard "@lezer/markdown@npm:^1.0.0, @lezer/markdown@npm:^1.3.0": - version: 1.3.0 - resolution: "@lezer/markdown@npm:1.3.0" + version: 1.6.0 + resolution: "@lezer/markdown@npm:1.6.0" dependencies: "@lezer/common": ^1.0.0 "@lezer/highlight": ^1.0.0 - checksum: 13eb2720e4cb84278349bad8af116f748813094f99fad02680010c3a8c5985e0358c344487990f87a31ef0d6c1a2be582301f914c0e4a6e9cfa22647b6cd6545 + checksum: 7b19215338760908665bb6dcbd0b8d409d2cec14aa4c3a0622f3efec9dbf54bee91b5a82ce24abf400cff5d65566aef8056497e26653782d50c535cc18beb8f1 languageName: node linkType: hard "@lezer/php@npm:^1.0.0": - version: 1.0.1 - resolution: "@lezer/php@npm:1.0.1" + version: 1.0.5 + resolution: "@lezer/php@npm:1.0.5" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.1.0 - checksum: a847c255c030b4d38913ddf1d5bd7324d83be7ef8d1d244542870be03b9bf7dc71283afeb2415c40dfd188cb99f0cc44bad760b5f3b7c35c3b8e5e00253848fc + checksum: 68375ddc7b8c37165e454d3c5d17c7da9de60866aa0ffa137a76d0c1eadacd1fdeefa793a053e48407d762bc75abd10c828e7d851f18a7fbbcd9b94bd506ae50 languageName: node linkType: hard "@lezer/python@npm:^1.1.4": - version: 1.1.8 - resolution: "@lezer/python@npm:1.1.8" + version: 1.1.18 + resolution: "@lezer/python@npm:1.1.18" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: e4a4e0b0fd871acff25111d4f767944b5015479776504b85c4431859c8a2859fdfa6362f204f3027cf9858c7ea907fd57244852a18b67da9eba3b2fe38d31b03 + checksum: 774d5bee83106b586159e3330452e9a3a72706d98d77929c44480a653ed560a80db2aa8f2f270858d176ac8e7187f0c585109fdac579deca115173dcaee13f9f languageName: node linkType: hard "@lezer/rust@npm:^1.0.0": - version: 1.0.1 - resolution: "@lezer/rust@npm:1.0.1" + version: 1.0.2 + resolution: "@lezer/rust@npm:1.0.2" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 1e02fdf09206979e7d4f87b020589f410c4c5e452a7b7b0296f6772ce3571c1bd7ed37495fbeeecf3d4423000f2efdabd462ba8a949c2b351fd35550327a7613 + checksum: fc5e97852b42beeb44a0ebe316dc64e3cc49ff481c22e3e67d6003fc4a5c257fcd94959cfcc76cd154fa172db9b3b4b28de5c09f10550d6e5f14869ddc274e5b languageName: node linkType: hard "@lezer/xml@npm:^1.0.0": - version: 1.0.2 - resolution: "@lezer/xml@npm:1.0.2" + version: 1.0.6 + resolution: "@lezer/xml@npm:1.0.6" dependencies: + "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: e834bcc5c0dee3eecb5362b3f10187e80908b6a293ebacf5750547a64b57ec710a068497334f109ecf4e5ea05e09e7e9c00e48ebbd30050673ea67b0929e5398 - languageName: node - linkType: hard - -"@ljharb/through@npm:^2.3.9": - version: 2.3.9 - resolution: "@ljharb/through@npm:2.3.9" - checksum: a47ffed12ef4b08d07458db8bff5f7a13a7030fddf7dbfa947a765581a634d42ee90f7b8c249315aad122c21ad061e97a74f65aef3c03d2c09291d11312f0bfb + checksum: 71217d49b9207bd19d69ae98ad406d0c7ff395b6ad118528f3f81455f973e01597cac1ffa2741f2c6739d4ede17edb49573eaa3246f8f5a6da4d97dcb940309d languageName: node linkType: hard @@ -4814,7 +4820,7 @@ __metadata: languageName: node linkType: hard -"@lumino/coreutils@npm:^1.11.0 || ^2.0.0, @lumino/coreutils@npm:^1.11.0 || ^2.2.2, @lumino/coreutils@npm:^2.2.0, @lumino/coreutils@npm:^2.2.2, @lumino/coreutils@npm:~2.2.2": +"@lumino/coreutils@npm:^1.11.0 || ^2.0.0, @lumino/coreutils@npm:^1.11.0 || ^2.2.2, @lumino/coreutils@npm:^2.2.2, @lumino/coreutils@npm:~2.2.2": version: 2.2.2 resolution: "@lumino/coreutils@npm:2.2.2" dependencies: @@ -4901,7 +4907,7 @@ __metadata: languageName: node linkType: hard -"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.3, @lumino/signaling@npm:^2.1.5": +"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.5": version: 2.1.5 resolution: "@lumino/signaling@npm:2.1.5" dependencies: @@ -4974,22 +4980,22 @@ __metadata: languageName: node linkType: hard -"@microsoft/fast-element@npm:^1.12.0": - version: 1.12.0 - resolution: "@microsoft/fast-element@npm:1.12.0" - checksum: bbff4e9c83106d1d74f3eeedc87bf84832429e78fee59c6a4ae8164ee4f42667503f586896bea72341b4d2c76c244a3cb0d4fd0d5d3732755f00357714dd609e +"@microsoft/fast-element@npm:^1.12.0, @microsoft/fast-element@npm:^1.14.0": + version: 1.14.0 + resolution: "@microsoft/fast-element@npm:1.14.0" + checksum: 58765739492997a5c51f7841cf6f334e2d2c4ad2365db4a228c07df1c89d139b026abf6afc6691ac48066070d3c94d09afdea2929bdca25842f778293e19892d languageName: node linkType: hard "@microsoft/fast-foundation@npm:^2.49.4": - version: 2.49.5 - resolution: "@microsoft/fast-foundation@npm:2.49.5" + version: 2.50.0 + resolution: "@microsoft/fast-foundation@npm:2.50.0" dependencies: - "@microsoft/fast-element": ^1.12.0 + "@microsoft/fast-element": ^1.14.0 "@microsoft/fast-web-utilities": ^5.4.1 tabbable: ^5.2.0 tslib: ^1.13.0 - checksum: 8a4729e8193ee93f780dc88fac26561b42f2636e3f0a8e89bb1dfe256f50a01a21ed1d8e4d31ce40678807dc833e25f31ba735cb5d3c247b65219aeb2560c82c + checksum: 651501eb8cd5a3e583638f70a4e7c0ad30952fe12adedd5c4c24861515d0aaeec0e83d1f1cd25dece899d2fa1614b415001c461f76bb84b20e1a8e18a3fcf219 languageName: node linkType: hard @@ -5029,12 +5035,44 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/agent@npm:4.0.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^11.2.1 + socks-proxy-agent: ^8.0.3 + checksum: 89ae20b44859ff8d4de56ade319d8ceaa267a0742d6f7345fe98aa5cd8614ced7db85ea4dc5bfbd6614dbb200a10b134e087143582534c939e8a02219e8665c8 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + languageName: node + linkType: hard + "@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: ^7.3.5 + checksum: d960cab4b93adcb31ce223bfb75c5714edbd55747342efb67dcc2f25e023d930a7af6ece3e75f2f459b6f38fc14d031c766f116cd124fdc937fd33112579e820 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" dependencies: semver: ^7.3.5 - checksum: a50a6818de5fc557d0b0e6f50ec780a7a02ab8ad07e5ac8b16bf519e0ad60a144ac64f97d05c443c3367235d337182e1d012bbac0eb8dbae8dc7b40b193efd0e + checksum: 897dac32eb37e011800112d406b9ea2ebd96f1dab01bb8fbeb59191b86f6825dffed6a89f3b6c824753d10f8735b76d630927bd7610e9e123b129ef2e5f02cb5 languageName: node linkType: hard @@ -5055,14 +5093,24 @@ __metadata: linkType: hard "@npmcli/installed-package-contents@npm:^2.0.1": - version: 2.0.2 - resolution: "@npmcli/installed-package-contents@npm:2.0.2" + version: 2.1.0 + resolution: "@npmcli/installed-package-contents@npm:2.1.0" dependencies: npm-bundled: ^3.0.0 npm-normalize-package-bin: ^3.0.0 bin: - installed-package-contents: lib/index.js - checksum: 60789d5ed209ee5df479232f62d9d38ecec36e95701cae88320b828b8651351b32d7b47d16d4c36cc7ce5000db4bf1f3e6981bed6381bdc5687ff4bc0795682d + installed-package-contents: bin/index.js + checksum: d0f307e0c971a4ffaea44d4f38d53b57e19222413f338bab26d4321c4a7b9098318d74719dd1f8747a6de0575ac0ba29aeb388edf6599ac8299506947f53ffb6 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 languageName: node linkType: hard @@ -5373,32 +5421,31 @@ __metadata: languageName: node linkType: hard -"@polka/url@npm:^1.0.0-next.20": - version: 1.0.0-next.23 - resolution: "@polka/url@npm:1.0.0-next.23" - checksum: 4b0330de1ceecd1002c7e7449094d0c41f2ed0e21765f4835ccc7b003f2f024ac557d503b9ffdf0918cf50b80d5b8c99dfc5a91927e7b3c468b09c6bb42a3c41 +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 69ca11ab15a4ffec7f0b07fcc4e1f01489b3d9683a7e1867758818386575c60c213401259ba3705b8a812228d17e2bfd18e6f021194d943fff4bca389c9d4f28 languageName: node linkType: hard "@rjsf/core@npm:^5.13.4": - version: 5.15.1 - resolution: "@rjsf/core@npm:5.15.1" + version: 5.24.13 + resolution: "@rjsf/core@npm:5.24.13" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 - markdown-to-jsx: ^7.3.2 - nanoid: ^3.3.6 + markdown-to-jsx: ^7.4.1 prop-types: ^15.8.1 peerDependencies: - "@rjsf/utils": ^5.12.x + "@rjsf/utils": ^5.24.x react: ^16.14.0 || >=17 - checksum: d03f05563e7eafbcb3ea72b41867ec1b95547ed95609b10d0af6c09e880f119d50ad3bd76d2c6a903fa7c6c3286007684d43ce0a0c318d910f0e2a35cd7ef8de + checksum: ca48357014bad1e2e64bcce3f1c4a473745c933463db3749f4038143634ca7192a65b1d3194c9f6b999319c4d7ecd6e8244cf5a3f1e23d0500b40f48a0a39c72 languageName: node linkType: hard "@rjsf/utils@npm:^5.13.4": - version: 5.16.1 - resolution: "@rjsf/utils@npm:5.16.1" + version: 5.24.13 + resolution: "@rjsf/utils@npm:5.24.13" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -5407,21 +5454,28 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 0c69527de4ab6f9d6ec4d1a5e05a31a0a38062d40abe2a2da7bc2324b20b08b0e90c188977ac4408f3b004c758c28097444746f3215e21e184c11cad7e9278c1 + checksum: 40bb315a6e0b2e635dd6998a1ce82ce9fda2c8f57206f952006abc80e48d54790fa4298b167c0fdbc28a5a278573dbdb5bc68ec1da99c49a6b6c45fc7b61cdf5 languageName: node linkType: hard "@rjsf/validator-ajv8@npm:^5.13.4": - version: 5.15.1 - resolution: "@rjsf/validator-ajv8@npm:5.15.1" + version: 5.24.13 + resolution: "@rjsf/validator-ajv8@npm:5.24.13" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 lodash: ^4.17.21 lodash-es: ^4.17.21 peerDependencies: - "@rjsf/utils": ^5.12.x - checksum: d32538968d9a9a664a44ffee1b24a835142aaacda3c1ad4671f6d6a4ed564e68e5dea4f37d1c62ee2c03f8a5b55174c0815040eff3c7814260c1181f945adced + "@rjsf/utils": ^5.24.x + checksum: 71efbbd77ed032d724539e979fb9e9b17bf2a1533040a981e8ff8b17f0b6e997cd8da10e78c7c96fc080a0b497e46b7418591c22869be91775938ddd9e9001fd + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:^4.24.4": + version: 4.53.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.3" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -5477,11 +5531,11 @@ __metadata: linkType: hard "@sinonjs/commons@npm:^3.0.0": - version: 3.0.0 - resolution: "@sinonjs/commons@npm:3.0.0" + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" dependencies: type-detect: 4.0.8 - checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 + checksum: a7c3e7cc612352f4004873747d9d8b2d4d90b13a6d483f685598c945a70e734e255f1ca5dc49702515533c403b32725defff148177453b3f3915bcb60e9d4601 languageName: node linkType: hard @@ -5528,50 +5582,50 @@ __metadata: linkType: hard "@types/babel__core@npm:^7.1.14": - version: 7.20.2 - resolution: "@types/babel__core@npm:7.20.2" + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 564fbaa8ff1305d50807ada0ec227c3e7528bebb2f8fe6b2ed88db0735a31511a74ad18729679c43eeed8025ed29d408f53059289719e95ab1352ed559a100bd + checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 languageName: node linkType: hard "@types/babel__generator@npm:*": - version: 7.6.5 - resolution: "@types/babel__generator@npm:7.6.5" + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: "@babel/types": ^7.0.0 - checksum: c7459f5025c4c800eaf58f4db3b24e9d736331fe7df40961d9bc49f31b46e2a3be83dc9276e8688f10a5ed752ae153ad5f1bdd45e2245bac95273730b9115ec2 + checksum: e6739cacfa276c1ad38e1d8a6b4b1f816c2c11564e27f558b68151728489aaf0f4366992107ee4ed7615dfa303f6976dedcdce93df2b247116d1bcd1607ee260 languageName: node linkType: hard "@types/babel__template@npm:*": - version: 7.4.2 - resolution: "@types/babel__template@npm:7.4.2" + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 - checksum: 0fe977b45a3269336c77f3ae4641a6c48abf0fa35ab1a23fb571690786af02d6cec08255a43499b0b25c5633800f7ae882ace450cce905e3060fa9e6995047ae + checksum: d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29 languageName: node linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.2 - resolution: "@types/babel__traverse@npm:7.20.2" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": ^7.20.7 - checksum: 981340286479524436348d32373eaa3bf993c635cbf70307b4b69463eee83406a959ac4844f683911e0db8ab8d9f0025ab630dc7a8c170fee9ee74144c2a528f + "@babel/types": ^7.28.2 + checksum: e3124e6575b2f70de338eab8a9c704d315a86c46a8e395b6ec78a0157ab7b5fd877289556a57dcf28e4ff3543714e359cc1182d4afc4bcb4f3575a0bbafa0dad languageName: node linkType: hard "@types/base16@npm:^1.0.2": - version: 1.0.3 - resolution: "@types/base16@npm:1.0.3" - checksum: a2c314d4a67d02d6c7e42ad1b148299b8e471645fc38a9fc7b742447b37e62d9fa8857725837844c57a2a2953d3687ed0f4b0c48aa089d47257c8856359b5f49 + version: 1.0.5 + resolution: "@types/base16@npm:1.0.5" + checksum: caa391944e9af95d395ad8a489ad7e6bc3b358f73f876215313e8a2f97a18d109d8ab3d6d92bd473d9a1c782639a82921a3c30124922f2492082b550a2e9f6a6 languageName: node linkType: hard @@ -5588,9 +5642,9 @@ __metadata: linkType: hard "@types/d3-array@npm:*": - version: 3.2.1 - resolution: "@types/d3-array@npm:3.2.1" - checksum: 8a41cee0969e53bab3f56cc15c4e6c9d76868d6daecb2b7d8c9ce71e0ececccc5a8239697cc52dadf5c665f287426de5c8ef31a49e7ad0f36e8846889a383df4 + version: 3.2.2 + resolution: "@types/d3-array@npm:3.2.2" + checksum: 72e8e2abe0911cb431d6f3fe0a1f71b915356b679d4d9c826f52941bb30210c0fe8299dde066b08d9986754c620f031b13b13ab6dfc60d404eceab66a075dd5d languageName: node linkType: hard @@ -5644,9 +5698,9 @@ __metadata: linkType: hard "@types/d3-dispatch@npm:*": - version: 3.0.6 - resolution: "@types/d3-dispatch@npm:3.0.6" - checksum: f82076c7d205885480d363c92c19b8e0d6b9e529a3a78ce772f96a7cc4cce01f7941141f148828337035fac9676b13e7440565530491d560fdf12e562cb56573 + version: 3.0.7 + resolution: "@types/d3-dispatch@npm:3.0.7" + checksum: ce7ab5a7d5c64aacf563797c0c61f3862b9ff687cb35470fe462219f09e402185646f51707339beede616586d92ded6974c3958dbeb15e35a85b1ecfafdf13a8 languageName: node linkType: hard @@ -5722,9 +5776,9 @@ __metadata: linkType: hard "@types/d3-path@npm:*": - version: 3.1.0 - resolution: "@types/d3-path@npm:3.1.0" - checksum: 1e81b56ed33ba1ac954a8c42c78c3fcf2716927fe5d01b2003591193ad3b639572a3dfcedd9bf78b6b73215a5cfb01cede8f25c936e95ac18fbe3858f9b62f5c + version: 3.1.1 + resolution: "@types/d3-path@npm:3.1.1" + checksum: fee8f6b0d3b28a3611c7d7fda3bf2f79392ded266f54b03a220f205c42117644bdcd33dcbf4853da3cca02229f1c669d2a60d5d297a24ce459ba8271ccb26c03 languageName: node linkType: hard @@ -5757,11 +5811,11 @@ __metadata: linkType: hard "@types/d3-scale@npm:*": - version: 4.0.8 - resolution: "@types/d3-scale@npm:4.0.8" + version: 4.0.9 + resolution: "@types/d3-scale@npm:4.0.9" dependencies: "@types/d3-time": "*" - checksum: 3b1906da895564f73bb3d0415033d9a8aefe7c4f516f970176d5b2ff7a417bd27ae98486e9a9aa0472001dc9885a9204279a1973a985553bdb3ee9bbc1b94018 + checksum: c44265a38e538983686b1b8d159abfb4e81c09b33316f3a68f0f372d38400fa950ad531644d25230cc7b48ea5adb50270fc54823f088979ade62dcd0225f7aa3 languageName: node linkType: hard @@ -5773,11 +5827,11 @@ __metadata: linkType: hard "@types/d3-shape@npm:*": - version: 3.1.6 - resolution: "@types/d3-shape@npm:3.1.6" + version: 3.1.7 + resolution: "@types/d3-shape@npm:3.1.7" dependencies: "@types/d3-path": "*" - checksum: bd765be021019c43c8dca066a798a1de28a051d1213db6ca25f76c9e577da7ec40a592e3bda7628383ab48cb87164fe60b95eb5ec23761b2012bd0adb30c549a + checksum: 776b982e2c4fc04763782af5100993c02bca338632ff2c76d2423ace398300ba7c48cd745f95b5f51edefabbfd026c45829a146c411f8facde09ef92580b20ce languageName: node linkType: hard @@ -5789,9 +5843,9 @@ __metadata: linkType: hard "@types/d3-time@npm:*": - version: 3.0.1 - resolution: "@types/d3-time@npm:3.0.1" - checksum: 32b0c4d33574df167717f37d5d69f60fa1aeebb0218823239734a48e6a33024a7f5aadd079e94d833b42bfc0c3e2d9fa7d7ac93f75981f59ef2a46838d008a61 + version: 3.0.4 + resolution: "@types/d3-time@npm:3.0.4" + checksum: 0c296884571ce70c4bbd4ea9cd1c93c0c8aee602c6c806b056187dd4ee49daf70c2f41da94b25ba0d796edf8ca83cbb87fe6d1cdda7ca669ab800170ece1c12b languageName: node linkType: hard @@ -5860,36 +5914,36 @@ __metadata: linkType: hard "@types/emscripten@npm:^1.39.6": - version: 1.39.8 - resolution: "@types/emscripten@npm:1.39.8" - checksum: adccdfcec3a9829aaeee580259d21653ef15ae638b88c2e310d1d4184cfc83809b463fabdd0050e018c7b6b966166d973d71f3d59601644947d0235e98b77e64 + version: 1.41.5 + resolution: "@types/emscripten@npm:1.41.5" + checksum: 0751ffb9897d0b3599789307cc4939e46e0dd6c94f5a0128ec90b486debc342b7800598bfe2b3bad167c3daa22132ce81e3e4b35b60e8c1e8c7713ec3aa2a78e languageName: node linkType: hard -"@types/eslint-scope@npm:^3.7.3": - version: 3.7.5 - resolution: "@types/eslint-scope@npm:3.7.5" +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: "@types/eslint": "*" "@types/estree": "*" - checksum: e91ce335c3791c2cf6084caa0073f90d5b7ae3fcf27785ade8422b7d896159fa14a5a3f1efd31ef03e9ebc1ff04983288280dfe8c9a5579a958539f59df8cc9f + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.44.3 - resolution: "@types/eslint@npm:8.44.3" + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 3a0d152785400cb83a887a646d9c8877468e686b6fb439635c64856b70dbe91019e588d2b32bc923cd60642bf5dca7f70b2cf61eb431cf25fbdf2932f6e13dd3 + checksum: c286e79707ab604b577cf8ce51d9bbb9780e3d6a68b38a83febe13fa05b8012c92de17c28532fac2b03d3c460123f5055d603a579685325246ca1c86828223e0 languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": - version: 1.0.2 - resolution: "@types/estree@npm:1.0.2" - checksum: aeedb1b2fe20cbe06f44b99b562bf9703e360bfcdf5bb3d61d248182ee1dd63500f2474e12f098ffe1f5ac3202b43b3e18ec99902d9328d5374f5512fa077e45 +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: bd93e2e415b6f182ec4da1074e1f36c480f1d26add3e696d54fb30c09bc470897e41361c8fd957bf0985024f8fbf1e6e2aff977d79352ef7eb93a5c6dcff6c11 languageName: node linkType: hard @@ -5902,14 +5956,30 @@ __metadata: languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:7946.0.4": +"@types/geojson@npm:*": + version: 7946.0.16 + resolution: "@types/geojson@npm:7946.0.16" + checksum: d66e5e023f43b3e7121448117af1930af7d06410a32a585a8bc9c6bb5d97e0d656cd93d99e31fa432976c32e98d4b780f82bf1fd1acd20ccf952eb6b8e39edf2 + languageName: node + linkType: hard + +"@types/geojson@npm:7946.0.4": version: 7946.0.4 resolution: "@types/geojson@npm:7946.0.4" checksum: 541aea46540c918b9fe21ab73f497fe17b1eaf4d0d3baeb5f5614029b7f488c37f63843b644c024a8178dc2fb66d3d6623c25d9cf61d7b553aa19c8dc7f99047 languageName: node linkType: hard -"@types/glob@npm:*, @types/glob@npm:^7.1.1": +"@types/glob@npm:*": + version: 9.0.0 + resolution: "@types/glob@npm:9.0.0" + dependencies: + glob: "*" + checksum: a9ea3afe1eafbc8fb303d2d39cd786084aece75fd8eeae1bad8febbf6e0323b429145f31e779a3d68fa693b2a53648ec2c639ee4858fb29132f801c74678051c + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" dependencies: @@ -5920,11 +5990,11 @@ __metadata: linkType: hard "@types/graceful-fs@npm:^4.1.3": - version: 4.1.7 - resolution: "@types/graceful-fs@npm:4.1.7" + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" dependencies: "@types/node": "*" - checksum: 8b97e208f85c9efd02a6003a582c77646dd87be0af13aec9419a720771560a8a87a979eaca73ae193d7c73127f34d0a958403a9b5d6246e450289fd8c79adf09 + checksum: 79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256 languageName: node linkType: hard @@ -5936,44 +6006,44 @@ __metadata: linkType: hard "@types/http-cache-semantics@npm:*": - version: 4.0.2 - resolution: "@types/http-cache-semantics@npm:4.0.2" - checksum: 513429786a45d8124f93cc7ea1454b692008190ef743e9fec75a6a3c998309782d216f1e67d7d497ffece9c9212310ae05a8c56e8955492ee400eacdd7620e61 + version: 4.0.4 + resolution: "@types/http-cache-semantics@npm:4.0.4" + checksum: 7f4dd832e618bc1e271be49717d7b4066d77c2d4eed5b81198eb987e532bb3e1c7e02f45d77918185bad936f884b700c10cebe06305f50400f382ab75055f9e8 languageName: node linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 languageName: node linkType: hard "@types/istanbul-lib-report@npm:*": - version: 3.0.1 - resolution: "@types/istanbul-lib-report@npm:3.0.1" + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" dependencies: "@types/istanbul-lib-coverage": "*" - checksum: cfc66de48577bb7b2636a6afded7056483693c3ea70916276518cdfaa0d4b51bf564ded88fb13e75716665c3af3d4d54e9c2de042c0219dcabad7e81c398688b + checksum: b91e9b60f865ff08cb35667a427b70f6c2c63e88105eadd29a112582942af47ed99c60610180aa8dcc22382fa405033f141c119c69b95db78c4c709fbadfeeb4 languageName: node linkType: hard "@types/istanbul-reports@npm:^3.0.0": - version: 3.0.2 - resolution: "@types/istanbul-reports@npm:3.0.2" + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: "@types/istanbul-lib-report": "*" - checksum: f52028d6fe4d28f0085dd7ed66ccfa6af632579e9a4091b90928ffef93d4dbec0bacd49e9caf1b939d05df9eafc5ac1f5939413cdf8ac59fbe4b29602d4d0939 + checksum: 93eb18835770b3431f68ae9ac1ca91741ab85f7606f310a34b3586b5a34450ec038c3eed7ab19266635499594de52ff73723a54a72a75b9f7d6a956f01edee95 languageName: node linkType: hard "@types/jest@npm:^29.2.5": - version: 29.5.5 - resolution: "@types/jest@npm:29.5.5" + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: 56e55cde9949bcc0ee2fa34ce5b7c32c2bfb20e53424aa4ff3a210859eeaaa3fdf6f42f81a3f655238039cdaaaf108b054b7a8602f394e6c52b903659338d8c6 + checksum: 18dba4623f26661641d757c63da2db45e9524c9be96a29ef713c703a9a53792df9ecee9f7365a0858ddbd6440d98fe6b65ca67895ca5884b73cbc7ffc11f3838 languageName: node linkType: hard @@ -5988,10 +6058,10 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.13 - resolution: "@types/json-schema@npm:7.0.13" - checksum: 345df21a678fa72fb389f35f33de77833d09d4a142bb2bcb27c18690efa4cf70fc2876e43843cefb3fbdb9fcb12cd3e970a90936df30f53bbee899865ff605ab +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 languageName: node linkType: hard @@ -6005,13 +6075,22 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.178, @types/lodash@npm:^4.14.191": - version: 4.14.199 - resolution: "@types/lodash@npm:4.14.199" - checksum: e68d1fcbbfce953ed87b296a628573f62939227bcda0c934954e862b421e8a34c5e71cad6fea27b9980567909e6a4698f09025692958e36d64ea9ed99ec6fb2e + version: 4.17.20 + resolution: "@types/lodash@npm:4.17.20" + checksum: dc7bb4653514dd91117a4c4cec2c37e2b5a163d7643445e4757d76a360fabe064422ec7a42dde7450c5e7e0e7e678d5e6eae6d2a919abcddf581d81e63e63839 + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 6.0.0 + resolution: "@types/minimatch@npm:6.0.0" + dependencies: + minimatch: "*" + checksum: 690ce1580571b9d450c552457c689d3ce7531934305767c64dce826c3da64672a08642aac0b477844c130c53bb05cee60c702b50a6a4a036943a2de578ee7c34 languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^3.0.3": +"@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 @@ -6019,52 +6098,60 @@ __metadata: linkType: hard "@types/minimist@npm:^1.2.0": - version: 1.2.3 - resolution: "@types/minimist@npm:1.2.3" - checksum: 666ea4f8c39dcbdfbc3171fe6b3902157c845cc9cb8cee33c10deb706cda5e0cc80f98ace2d6d29f6774b0dc21180c96cd73c592a1cbefe04777247c7ba0e84b + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 477047b606005058ab0263c4f58097136268007f320003c348794f74adedc3166ffc47c80ec3e94687787f2ab7f4e72c468223946e79892cf0fd9e25e9970a90 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 24.10.1 + resolution: "@types/node@npm:24.10.1" + dependencies: + undici-types: ~7.16.0 + checksum: c2f370ae7a97c04991e0eee6b57e588a2abef0814a5f6e41fda5a9200cf02ae6654fad51c8372ee203ae4134bab80f5bf441c586f7f50e0fda3ba422f35eb3c0 languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^22.13.4": - version: 22.13.4 - resolution: "@types/node@npm:22.13.4" +"@types/node@npm:^22.13.4": + version: 22.19.1 + resolution: "@types/node@npm:22.19.1" dependencies: - undici-types: ~6.20.0 - checksum: 39ecbd84fc2c6268c57f0479bc095cd304d2e97fee0b4ed7e6a77508aaadb28dc21be0ec91bf866ab2be822bf6c9749945795dbd6ba60e0851b50a967fd784b5 + undici-types: ~6.21.0 + checksum: 62b72e26a51659e654cfd6791f296a95ebc4b1deb1fa97f7a5cea4032434d1b4f14021f6e52eb9ea0cc1d1a7ab90567797a25c3865e3ea3d2caf6b3ea0ac4c4d languageName: node linkType: hard "@types/normalize-package-data@npm:^2.4.0": - version: 2.4.2 - resolution: "@types/normalize-package-data@npm:2.4.2" - checksum: 2132e4054711e6118de967ae3a34f8c564e58d71fbcab678ec2c34c14659f638a86c35a0fd45237ea35a4a03079cf0a485e3f97736ffba5ed647bfb5da086b03 + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: 65dff72b543997b7be8b0265eca7ace0e34b75c3e5fee31de11179d08fa7124a7a5587265d53d0409532ecb7f7fba662c2012807963e1f9b059653ec2c83ee05 languageName: node linkType: hard "@types/prop-types@npm:*": - version: 15.7.8 - resolution: "@types/prop-types@npm:15.7.8" - checksum: 61dfad79da8b1081c450bab83b77935df487ae1cdd4660ec7df6be8e74725c15fa45cf486ce057addc956ca4ae78300b97091e2a25061133d1b9a1440bc896ae + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 languageName: node linkType: hard "@types/react@npm:^18.0.26": - version: 18.2.25 - resolution: "@types/react@npm:18.2.25" + version: 18.3.27 + resolution: "@types/react@npm:18.3.27" dependencies: "@types/prop-types": "*" - "@types/scheduler": "*" - csstype: ^3.0.2 - checksum: 177515cd44135d56191ec6c5c10edd490c96c175d37624d9c37bc2007c3abcf6cc2d2137d2a073d692cdc5129d5d5785bd60a6ddd315f695da5d8b989fa2afc5 + csstype: ^3.2.2 + checksum: c74d0ab5155226998a52b568f6280536205f8fe4317f77bd5d5258bc131cc9134a2db68dc818cb8e8402a2f229843c4a5bde339faf7e64d441630e569a9e5421 languageName: node linkType: hard "@types/responselike@npm:^1.0.0": - version: 1.0.1 - resolution: "@types/responselike@npm:1.0.1" + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" dependencies: "@types/node": "*" - checksum: ae8c36c9354aaedfa462dab655aa17613529d545a418acc54ba0214145fc1d0454be2ae107031a1b2c24768f19f2af7e4096a85d1e604010becd0bec2355cb0e + checksum: 6ac4b35723429b11b117e813c7acc42c3af8b5554caaf1fc750404c1ae59f9b7376bc69b9e9e194a5a97357a597c2228b7173d317320f0360d617b6425212f58 languageName: node linkType: hard @@ -6078,45 +6165,38 @@ __metadata: languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.16.4 - resolution: "@types/scheduler@npm:0.16.4" - checksum: a57b0f10da1b021e6bd5eeef8a1917dd3b08a8715bd8029e2ded2096d8f091bb1bb1fef2d66e139588a983c4bfbad29b59e48011141725fa83c76e986e1257d7 - languageName: node - linkType: hard - "@types/semver@npm:^7.1.0, @types/semver@npm:^7.3.12, @types/semver@npm:^7.5.8": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: ea6f5276f5b84c55921785a3a27a3cd37afee0111dfe2bcb3e03c31819c197c782598f17f0b150a69d453c9584cd14c4c4d7b9a55d2c5e6cacd4d66fdb3b3663 + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 76d218e414482a398148d5c28f2bfa017108869f3fc18cda379c9d8d062348f8b9653ae2fa8642d3b5b52e211928fe8be34f22da4e1f08245c84e0e51e040673 languageName: node linkType: hard "@types/source-list-map@npm:*": - version: 0.1.3 - resolution: "@types/source-list-map@npm:0.1.3" - checksum: a001098786d75b82eef00a6e4f1f7bb73f9f2fdf3e97333f8b741183c3fbf92db91af8bcfc410c7e6c23c4497523a3210f3eee2077b1be93595206f9baf3d909 + version: 0.1.6 + resolution: "@types/source-list-map@npm:0.1.6" + checksum: 9cd294c121f1562062de5d241fe4d10780b1131b01c57434845fe50968e9dcf67ede444591c2b1ad6d3f9b6bc646ac02cc8f51a3577c795f9c64cf4573dcc6b1 languageName: node linkType: hard "@types/stack-utils@npm:^2.0.0": - version: 2.0.1 - resolution: "@types/stack-utils@npm:2.0.1" - checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 languageName: node linkType: hard "@types/tough-cookie@npm:*": - version: 4.0.3 - resolution: "@types/tough-cookie@npm:4.0.3" - checksum: f201be1bbca2f2d3572032513cdb9825845114d2604a7f4091af848eeee3228a573cdc5e8082b04468a2848bb1d058f1adbb97db822e22c975ebd6fcd851a453 + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: f19409d0190b179331586365912920d192733112a195e870c7f18d20ac8adb7ad0b0ff69dad430dba8bc2be09593453a719cfea92dc3bda19748fd158fe1498d languageName: node linkType: hard "@types/treeify@npm:^1.0.0": - version: 1.0.1 - resolution: "@types/treeify@npm:1.0.1" - checksum: 972022f753b49b16a17cbfc0c6051c64983d333f27dbf456353c8168446fa8948ac11072687be8ba5b2144122bae461481ce7814c7a855ab477fffe45ed7a793 + version: 1.0.3 + resolution: "@types/treeify@npm:1.0.3" + checksum: 777e579b30a916a781e7cbad2b7a76bc5473ff7bfe7167dd6de47f80f4386df5bf3d0dc34170afb75d52e75f6ed61cc109abf2324e093c1f9ecd4e79fec58d0c languageName: node linkType: hard @@ -6128,29 +6208,29 @@ __metadata: linkType: hard "@types/webpack-sources@npm:^0.1.5": - version: 0.1.10 - resolution: "@types/webpack-sources@npm:0.1.10" + version: 0.1.12 + resolution: "@types/webpack-sources@npm:0.1.12" dependencies: "@types/node": "*" "@types/source-list-map": "*" source-map: ^0.6.1 - checksum: 95817c13bc663b1b8b2c9b26d0f8ceadb3b583bb2549b554b660e900245a430dd2ed0b534f14b85153a0121450e01ebdbcefbade9305ed1e80b2190a50659aee + checksum: 75342659a9889478969f7bb7360b998aa084ba11ab523c172ded6a807dac43ab2a9e1212078ef8bbf0f33e4fadd2c8a91b75d38184d8030d96a32fe819c9bb57 languageName: node linkType: hard "@types/yargs-parser@npm:*": - version: 21.0.1 - resolution: "@types/yargs-parser@npm:21.0.1" - checksum: 64e6316c2045e2d460c4fb79572f872f9d2f98fddc6d9d3949c71f0b6ad0ef8a2706cf49db26dfb02a9cb81433abb8f340f015e1d20a9692279abe9477b72c8e + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: ef236c27f9432983e91432d974243e6c4cdae227cb673740320eff32d04d853eed59c92ca6f1142a335cfdc0e17cccafa62e95886a8154ca8891cc2dec4ee6fc languageName: node linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.28 - resolution: "@types/yargs@npm:17.0.28" + version: 17.0.35 + resolution: "@types/yargs@npm:17.0.35" dependencies: "@types/yargs-parser": "*" - checksum: f78c5e5c29903933c0557b4ffcd1d0b8564d66859c8ca4aa51da3714e49109ed7c2644334a1918d033df19028f4cecc91fd2e502651bb8e8451f246c371da847 + checksum: ebf1f5373388cfcbf9cfb5e56ce7a77c0ba2450420f26f3701010ca92df48cce7e14e4245ed1f17178a38ff8702467a6f4047742775b8e2fd06dec8f4f3501ce languageName: node linkType: hard @@ -6275,6 +6355,13 @@ __metadata: languageName: node linkType: hard +"@ungap/structured-clone@npm:^1.2.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 64ed518f49c2b31f5b50f8570a1e37bde3b62f2460042c50f132430b2d869c4a6586f13aa33a58a4722715b8158c68cae2827389d6752ac54da2893c83e480fc + languageName: node + linkType: hard + "@verdaccio/auth@npm:8.0.0-next-8.1": version: 8.0.0-next-8.1 resolution: "@verdaccio/auth@npm:8.0.0-next-8.1" @@ -6509,160 +6596,160 @@ __metadata: linkType: hard "@vscode/debugprotocol@npm:^1.51.0": - version: 1.63.0 - resolution: "@vscode/debugprotocol@npm:1.63.0" - checksum: 084bd8c246da30e3c2099110efbf8beb9f1471ecb5471bb30e834ee041ef375df3076395b13096520ec5f6e531a4a8a5621f26e37da9c8648054340e9b00a273 + version: 1.68.0 + resolution: "@vscode/debugprotocol@npm:1.68.0" + checksum: 6fed2d8372c154731cd6a9d7f51fadfaf92f07d567ab46d182470287fd0fd5e2b167a5c24a1616f7bbca74b9b0a288a05891cfd1409cbfb88c4f0917ab96532a languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/ast@npm:1.11.6" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - checksum: 38ef1b526ca47c210f30975b06df2faf1a8170b1636ce239fc5738fc231ce28389dd61ecedd1bacfc03cbe95b16d1af848c805652080cb60982836eb4ed2c6cf + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + checksum: f9154ad9ea14f6f2374ebe918c221fd69a4d4514126a1acc6fa4966e8d27ab28cb550a5e6880032cf620e19640578658a7e5a55bd2aad1e3db4e9d598b8f2099 languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: e866ec8433f4a70baa511df5e8f2ebcd6c24f4e2cc6274c7c5aabe2bcce3459ea4680e0f35d450e1f3602acf3913b6b8e4f15069c8cfd34ae8609fb9a7d01795 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 48b5df7fd3095bb252f59a139fe2cbd999a62ac9b488123e9a0da3906ad8a2f2da7b2eb21d328c01a90da987380928706395c2897d1f3ed9e2125b6d75a920d0 languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.6" - checksum: b14d0573bf680d22b2522e8a341ec451fddd645d1f9c6bd9012ccb7e587a2973b86ab7b89fe91e1c79939ba96095f503af04369a3b356c8023c13a5893221644 +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: b611e981dfd6a797c3d8fc3a772de29a6e55033737c2c09c31bb66c613bdbb2d25f915df1dee62a602c6acc057ca71128432fa8c3e22a893e1219dc454f14ede languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 "@xtuc/long": 4.2.2 - checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 + checksum: 49e2c9bf9b66997e480f6b44d80f895b3cde4de52ac135921d28e144565edca6903a519f627f4089b5509de1d7f9e5023f0e1a94ff78a36c9e2eb30e7c18ffd2 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 8e059e1c1f0294f4fc3df8e4eaff3c5ef6e2e1358f34ebc118eaf5070ed59e56ed7fc92b28be734ebde17c8d662d5d27e06ade686c282445135da083ae11c128 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - checksum: b2cf751bf4552b5b9999d27bbb7692d0aca75260140195cb58ea6374d7b9c2dc69b61e10b211a0e773f66209c3ddd612137ed66097e3684d7816f854997682e9 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + checksum: 0a08d454a63192cd66abf91b6f060ac4b466cef341262246e9dcc828dd4c8536195dea9b46a1244b1eac65b59b8b502164a771a190052a92ff0a0a2ded0f8f53 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": ^1.2.0 - checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de + checksum: d7e3520baa37a7309fa7db4d73d69fb869878853b1ebd4b168821bd03fcc4c0e1669c06231315b0039035d9a7a462e53de3ad982da4a426a4b0743b5888e8673 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": 4.2.2 - checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 + checksum: 64083507f7cff477a6d71a9e325d95665cea78ec8df99ca7c050e1cfbe300fbcf0842ca3dcf3b4fa55028350135588a4f879398d3dd2b6a8de9913ce7faf5333 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 95ec6052f30eefa8d50c9b2a3394d08b17d53a4aa52821451d41d774c126fa8f39b988fbf5bff56da86852a87c16d676e576775a4071e5e5ccf020cc85a4b281 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.6" +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/helper-wasm-section": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - "@webassemblyjs/wasm-opt": 1.11.6 - "@webassemblyjs/wasm-parser": 1.11.6 - "@webassemblyjs/wast-printer": 1.11.6 - checksum: 29ce75870496d6fad864d815ebb072395a8a3a04dc9c3f4e1ffdc63fc5fa58b1f34304a1117296d8240054cfdbc38aca88e71fb51483cf29ffab0a61ef27b481 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + checksum: 9341c3146bb1b7863f03d6050c2a66990f20384ca137388047bbe1feffacb599e94fca7b7c18287d17e2449ffb4005fdc7f41f674a6975af9ad8522756f8ffff languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.6" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: a645a2eecbea24833c3260a249704a7f554ef4a94c6000984728e94bb2bc9140a68dfd6fd21d5e0bbb09f6dfc98e083a45760a83ae0417b41a0196ff6d45a23a + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 401b12bec7431c4fc29d9414bbe40d3c6dc5be04d25a116657c42329f5481f0129f3b5834c293f26f0e42681ceac9157bf078ce9bdb6a7f78037c650373f98b2 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.6" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - "@webassemblyjs/wasm-parser": 1.11.6 - checksum: b4557f195487f8e97336ddf79f7bef40d788239169aac707f6eaa2fa5fe243557c2d74e550a8e57f2788e70c7ae4e7d32f7be16101afe183d597b747a3bdd528 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + checksum: 60c697a9e9129d8d23573856df0791ba33cea4a3bc2339044cae73128c0983802e5e50a42157b990eeafe1237eb8e7653db6de5f02b54a0ae7b81b02dcdf2ae9 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.6" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 8200a8d77c15621724a23fdabe58d5571415cda98a7058f542e670ea965dd75499f5e34a48675184947c66f3df23adf55df060312e6d72d57908e3f049620d8a + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 93f1fe2676da465b4e824419d9812a3d7218de4c3addd4e916c04bc86055fa134416c1b67e4b7cbde8d728c0dce2721d06cc0bfe7a7db7c093a0898009937405 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wast-printer@npm:1.11.6" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/ast": 1.14.1 "@xtuc/long": 4.2.2 - checksum: d2fa6a4c427325ec81463e9c809aa6572af6d47f619f3091bf4c4a6fc34f1da3df7caddaac50b8e7a457f8784c62cd58c6311b6cb69b0162ccd8d4c072f79cf8 + checksum: 517881a0554debe6945de719d100b2d8883a2d24ddf47552cdeda866341e2bb153cd824a864bc7e2a61190a4b66b18f9899907e0074e9e820d2912ac0789ea60 languageName: node linkType: hard @@ -6699,6 +6786,13 @@ __metadata: languageName: node linkType: hard +"@xmldom/xmldom@npm:0.9.8": + version: 0.9.8 + resolution: "@xmldom/xmldom@npm:0.9.8" + checksum: f8d16ad3c8083312575850fa4f2c13a2b884a37021dbb0146c6b2575bd3ddbf4c900530b49a55a7f62088ecf9809173fd7138985e7e58ddab786578970e09c59 + languageName: node + linkType: hard + "@xterm/addon-canvas@npm:~0.7.0": version: 0.7.0 resolution: "@xterm/addon-canvas@npm:0.7.0" @@ -6766,26 +6860,27 @@ __metadata: linkType: hard "@yarnpkg/core@npm:^4.0.3": - version: 4.0.3 - resolution: "@yarnpkg/core@npm:4.0.3" + version: 4.5.0 + resolution: "@yarnpkg/core@npm:4.5.0" dependencies: "@arcanis/slice-ansi": ^1.1.1 "@types/semver": ^7.1.0 "@types/treeify": ^1.0.0 - "@yarnpkg/fslib": ^3.0.2 - "@yarnpkg/libzip": ^3.0.1 - "@yarnpkg/parsers": ^3.0.0 - "@yarnpkg/shell": ^4.0.0 + "@yarnpkg/fslib": ^3.1.4 + "@yarnpkg/libzip": ^3.2.2 + "@yarnpkg/parsers": ^3.0.3 + "@yarnpkg/shell": ^4.1.3 camelcase: ^5.3.1 - chalk: ^3.0.0 - ci-info: ^3.2.0 + chalk: ^4.1.2 + ci-info: ^4.0.0 clipanion: ^4.0.0-rc.2 - cross-spawn: 7.0.3 + cross-spawn: ^7.0.3 diff: ^5.1.0 dotenv: ^16.3.1 + es-toolkit: ^1.39.7 fast-glob: ^3.2.2 got: ^11.7.0 - lodash: ^4.17.15 + hpagent: ^1.2.0 micromatch: ^4.0.2 p-limit: ^2.2.0 semver: ^7.1.2 @@ -6794,30 +6889,29 @@ __metadata: tinylogic: ^2.0.0 treeify: ^1.1.0 tslib: ^2.4.0 - tunnel: ^0.0.6 - checksum: 811956ab94e9f4b3601f304312baf816322df124cf85754ef3985110c90935b1b761c8266a06c2c5633f6edc39c8a4ceffeff50f08f036d7adf19612ce3761a3 + checksum: 6fb807be7e421ad36df4b5fd9150893d98a9e9ef5751b1bdb3d3d9b179c4a8e3dc7aa14b6155edbfb357bb177705c97b1011c0ce84437fa0a78d20a2796f0997 languageName: node linkType: hard -"@yarnpkg/fslib@npm:^3.0.0, @yarnpkg/fslib@npm:^3.0.2": - version: 3.0.2 - resolution: "@yarnpkg/fslib@npm:3.0.2" +"@yarnpkg/fslib@npm:^3.1.2, @yarnpkg/fslib@npm:^3.1.3, @yarnpkg/fslib@npm:^3.1.4": + version: 3.1.4 + resolution: "@yarnpkg/fslib@npm:3.1.4" dependencies: tslib: ^2.4.0 - checksum: b0795df777e43eb1c2bd8aa1d6c45f88b8a1d3922ee8bf264cdca916cc6f9455551a9499761a9c1f585aa576350d84adcc315e497fc031cdbbbc1a5c71942e1b + checksum: 641b54cdbcfe1e734b3c177af6be0b6cd8e2a9fcfc5d8bb21d6264aa2ef55ea943175ec1ee0620656f075af2f29258220d90a328593d3fc9d434c99349f72809 languageName: node linkType: hard -"@yarnpkg/libzip@npm:^3.0.1": - version: 3.0.1 - resolution: "@yarnpkg/libzip@npm:3.0.1" +"@yarnpkg/libzip@npm:^3.2.2": + version: 3.2.2 + resolution: "@yarnpkg/libzip@npm:3.2.2" dependencies: "@types/emscripten": ^1.39.6 - "@yarnpkg/fslib": ^3.0.2 + "@yarnpkg/fslib": ^3.1.3 tslib: ^2.4.0 peerDependencies: - "@yarnpkg/fslib": ^3.0.2 - checksum: 932b1fc35bb60ca57d033aab7a940f7b1d7bf52a68bfff6c755fe26827c0f1b373fda33e373afabbae98de3ed31ae4f0e9ee2ef24588cd074b75fb814117827d + "@yarnpkg/fslib": ^3.1.3 + checksum: 68736d731ef18f54720ed0b26e24dd0a69adcf26ef5d1f1a2e7ac89c096e2fc50373ff7467158b3a3b3cc7579bbb8ab7e72ee79f2c9044bda0dac52fbf40819b languageName: node linkType: hard @@ -6838,31 +6932,31 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/parsers@npm:^3.0.0": - version: 3.0.0 - resolution: "@yarnpkg/parsers@npm:3.0.0" +"@yarnpkg/parsers@npm:^3.0.0, @yarnpkg/parsers@npm:^3.0.3": + version: 3.0.3 + resolution: "@yarnpkg/parsers@npm:3.0.3" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: fefe5ecafb5bfa2b678ac9ba9259810fdda40142afd9d0b7e0e5cc1cce1fd824dffc52217c5e429807481d8fd18ead074bd317e64fd626335d3c9f1a320bade2 + checksum: d6f78ec15b36732a88aeb090d012756d03a855a301a29f0f4f725ac05186f2d2e26400ea5636016481bdca7d4a013f70d61141bc1add2048cf1c2e5132b9ecf8 languageName: node linkType: hard -"@yarnpkg/shell@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/shell@npm:4.0.0" +"@yarnpkg/shell@npm:^4.1.3": + version: 4.1.3 + resolution: "@yarnpkg/shell@npm:4.1.3" dependencies: - "@yarnpkg/fslib": ^3.0.0 - "@yarnpkg/parsers": ^3.0.0 - chalk: ^3.0.0 + "@yarnpkg/fslib": ^3.1.2 + "@yarnpkg/parsers": ^3.0.3 + chalk: ^4.1.2 clipanion: ^4.0.0-rc.2 - cross-spawn: 7.0.3 + cross-spawn: ^7.0.3 fast-glob: ^3.2.2 micromatch: ^4.0.2 tslib: ^2.4.0 bin: shell: ./lib/cli.js - checksum: 8497e278b1d3d0ffe324a3b9c878ca7165bbbe4d182f5ecb02f1bfaaf4dd18c8aaa54c33ee17bb37eb09173816dc4617b70c3fe0925f5fb99749687e2650b7a2 + checksum: bb5a122b157d6a1652331542b26d07f63b1f796f264708b0126b3c5a87877150927e8e838bcf631f80469799c4b331b02c62b7ecb19325276590e28e2fe45557 languageName: node linkType: hard @@ -6903,6 +6997,13 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: d0344b63d28e763f259b4898c41bdc92c08e9d06d0da5617d0bbe4d78244e46daea88c510a2f9472af59b031d9060ec1a999653144e793fd029a59dae2f56dc8 + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -6932,12 +7033,12 @@ __metadata: languageName: node linkType: hard -"acorn-import-assertions@npm:^1.9.0": - version: 1.9.0 - resolution: "acorn-import-assertions@npm:1.9.0" +"acorn-import-phases@npm:^1.0.3": + version: 1.0.4 + resolution: "acorn-import-phases@npm:1.0.4" peerDependencies: - acorn: ^8 - checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c + acorn: ^8.14.0 + checksum: e669cccfb6711af305150fcbfddcf4485fffdc4547a0ecabebe94103b47124cc02bfd186240061c00ac954cfb0461b4ecc3e203e138e43042b7af32063fa9510 languageName: node linkType: hard @@ -6951,18 +7052,20 @@ __metadata: linkType: hard "acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: ^8.11.0 + checksum: 4ff03f42323e7cf90f1683e08606b0f460e1e6ac263d2730e3df91c7665b6f64e696db6ea27ee4bed18c2599569be61f28a8399fa170c611161a348c402ca19c languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.14.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.14.0 - resolution: "acorn@npm:8.14.0" +"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.8.1, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 + checksum: 309c6b49aedf1a2e34aaf266de06de04aab6eb097c02375c66fdeb0f64556a6a823540409914fb364d9a11bc30d79d485a2eba29af47992d3490e9886c4391c3 languageName: node linkType: hard @@ -6982,12 +7085,19 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 86a7f542af277cfbd77dd61e7df8422f90bac512953709003a1c530171a9d019d072e2400eab2b59f84b49ab9dd237be44315ca663ac73e82b3922d10ea5eafa + languageName: node + linkType: hard + "agentkeepalive@npm:^4.2.1": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" + version: 4.6.0 + resolution: "agentkeepalive@npm:4.6.0" dependencies: humanize-ms: ^1.2.1 - checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481 + checksum: b3cdd10efca04876defda3c7671163523fcbce20e8ef7a8f9f30919a242e32b846791c0f1a8a0269718a585805a2cdcd031779ff7b9927a1a8dd8586f8c2e8c5 languageName: node linkType: hard @@ -7092,9 +7202,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 9b17ce2c6daecc75bcd5966b9ad672c23b184dc3ed9bf3c98a0702f0d2f736c15c10d461913568f2cf527a5e64291c7473358885dd493305c84a1cfed66ba94f languageName: node linkType: hard @@ -7124,9 +7234,9 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: f1b0829cf048cce870a305819f65ce2adcebc097b6d6479e12e955fd6225df9b9eb8b497083b764df796d94383ff20016cc4dbbae5b40f36138fb65a9d33c2e2 languageName: node linkType: hard @@ -7148,9 +7258,9 @@ __metadata: linkType: hard "aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + version: 2.1.0 + resolution: "aproba@npm:2.1.0" + checksum: 667c77755e8dd4c67f0a1a903d6879cac8c11e385758893eba518cced0448e2eba9996f2d93fe5187306ba85bce73d709bce4be809e0f51be0d24ff12db547fe languageName: node linkType: hard @@ -7180,13 +7290,13 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: ^1.0.2 - is-array-buffer: ^3.0.1 - checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + call-bound: ^1.0.3 + is-array-buffer: ^3.0.5 + checksum: 0ae3786195c3211b423e5be8dd93357870e6fb66357d81da968c2c39ef43583ef6eece1f9cb1caccdae4806739c65dea832b44b8593414313cd76a89795fca63 languageName: node linkType: hard @@ -7211,16 +7321,19 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6": - version: 3.1.7 - resolution: "array-includes@npm:3.1.7" +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - is-string: ^1.0.7 - checksum: 06f9e4598fac12a919f7c59a3f04f010ea07f0b7f0585465ed12ef528a60e45f374e79d1bddbb34cdd4338357d00023ddbd0ac18b0be36964f5e726e8965d7fc + call-bind: ^1.0.8 + call-bound: ^1.0.4 + define-properties: ^1.2.1 + es-abstract: ^1.24.0 + es-object-atoms: ^1.1.1 + get-intrinsic: ^1.3.0 + is-string: ^1.1.1 + math-intrinsics: ^1.1.0 + checksum: b58dc526fe415252e50319eaf88336e06e75aa673e3b58d252414739a4612dbe56e7b613fdcc7c90561dc9cf9202bbe5ca029ccd8c08362746459475ae5a8f3e languageName: node linkType: hard @@ -7231,55 +7344,69 @@ __metadata: languageName: node linkType: hard +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-shim-unscopables: ^1.0.2 + checksum: 83ce4ad95bae07f136d316f5a7c3a5b911ac3296c3476abe60225bc4a17938bf37541972fcc37dd5adbc99cbb9c928c70bbbfc1c1ce549d41a415144030bb446 + languageName: node + linkType: hard + "array.prototype.flat@npm:^1.3.1": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 5d5a7829ab2bb271a8d30a1c91e6271cef0ec534593c0fe6d2fb9ebf8bb62c1e5326e2fddcbbcbbe5872ca04f5e6b54a1ecf092e0af704fb538da9b2bfd95b40 languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 11b4de09b1cf008be6031bb507d997ad6f1892e57dc9153583de6ebca0f74ea403fffe0f203461d359de05048d609f3f480d9b46fed4099652d8b62cc972f284 languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.1": - version: 1.1.2 - resolution: "array.prototype.tosorted@npm:1.1.2" +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.2.1 - checksum: 3607a7d6b117f0ffa6f4012457b7af0d47d38cf05e01d50e09682fd2fb782a66093a5e5fbbdbad77c8c824794a9d892a51844041641f719ad41e3a974f0764de + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.3 + es-errors: ^1.3.0 + es-shim-unscopables: ^1.0.2 + checksum: e4142d6f556bcbb4f393c02e7dbaea9af8f620c040450c2be137c9cbbd1a17f216b9c688c5f2c08fbb038ab83f55993fa6efdd9a05881d84693c7bcb5422127a languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.2": - version: 1.0.2 - resolution: "arraybuffer.prototype.slice@npm:1.0.2" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - is-array-buffer: ^3.0.2 - is-shared-array-buffer: ^1.0.2 - checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 + array-buffer-byte-length: ^1.0.1 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 + is-array-buffer: ^3.0.4 + checksum: b1d1fd20be4e972a3779b1569226f6740170dca10f07aa4421d42cefeec61391e79c557cda8e771f5baefe47d878178cd4438f60916ce831813c08132bced765 languageName: node linkType: hard @@ -7313,6 +7440,13 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 9102e246d1ed9b37ac36f57f0a6ca55226876553251a31fc80677e71471f463a54c872dc78d5d7f80740c8ba624395cccbe8b60f7b690c4418f487d8e9fd1106 + languageName: node + linkType: hard + "async@npm:3.2.4": version: 3.2.4 resolution: "async@npm:3.2.4" @@ -7320,22 +7454,13 @@ __metadata: languageName: node linkType: hard -"async@npm:3.2.6, async@npm:^3.2.3": +"async@npm:3.2.6, async@npm:^3.2.6": version: 3.2.6 resolution: "async@npm:3.2.6" checksum: ee6eb8cd8a0ab1b58bd2a3ed6c415e93e773573a91d31df9d5ef559baafa9dab37d3b096fa7993e84585cac3697b2af6ddb9086f45d3ac8cae821bb2aab65682 languageName: node linkType: hard -"asynciterator.prototype@npm:^1.0.0": - version: 1.0.0 - resolution: "asynciterator.prototype@npm:1.0.0" - dependencies: - has-symbols: ^1.0.3 - checksum: e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -7357,10 +7482,12 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: ^1.0.0 + checksum: 1aa3ffbfe6578276996de660848b6e95669d9a95ad149e3dd0c0cda77db6ee1dbd9d1dd723b65b6d277b882dd0c4b91a654ae9d3cf9e1254b7e93e4908d78fd3 languageName: node linkType: hard @@ -7372,27 +7499,32 @@ __metadata: linkType: hard "aws4@npm:^1.8.0": - version: 1.12.0 - resolution: "aws4@npm:1.12.0" - checksum: 68f79708ac7c335992730bf638286a3ee0a645cf12575d557860100767c500c08b30e24726b9f03265d74116417f628af78509e1333575e9f8d52a80edfe8cbc + version: 1.13.2 + resolution: "aws4@npm:1.13.2" + checksum: 9ac924e4a91c088b4928ea86b68d8c4558b0e6289ccabaae0e3e96a611bd75277c2eab6e3965821028768700516f612b929a5ce822f33a8771f74ba2a8cedb9c languageName: node linkType: hard "axios@npm:^1.0.0": - version: 1.8.2 - resolution: "axios@npm:1.8.2" + version: 1.13.2 + resolution: "axios@npm:1.13.2" dependencies: follow-redirects: ^1.15.6 - form-data: ^4.0.0 + form-data: ^4.0.4 proxy-from-env: ^1.1.0 - checksum: c47a43b79a058aa9e53a65bec9ade35c9f6e76a3999c795a79a2d205fb5f803fd4245497a0209a9727cbbe4f558791dd852ad2c168c5fc030259c11598ed8fd7 + checksum: 057d0204d5930e2969f0bccb9f0752745b1524a36994667833195e7e1a82f245d660752ba8517b2dbea17e9e4ed0479f10b80c5fe45edd0b5a0df645c0060386 languageName: node linkType: hard "b4a@npm:^1.6.4": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: afe4e239b49c0ef62236fe0d788ac9bd9d7eac7e9855b0d1835593cd0efcc7be394f9cc28a747a2ed2cdcb0a48c3528a551a196f472eb625457c711169c9efa2 + version: 1.7.3 + resolution: "b4a@npm:1.7.3" + peerDependencies: + react-native-b4a: "*" + peerDependenciesMeta: + react-native-b4a: + optional: true + checksum: b2e5f572bb2024b612eddedfbfce9626e103fd523da3d7bb8267f345bca6d7d4772ed00310527c7a629fc54184d5b1b47b73f8dd976d713aea7e16d2af38aecf languageName: node linkType: hard @@ -7414,17 +7546,17 @@ __metadata: linkType: hard "babel-loader@npm:^8.0.6": - version: 8.3.0 - resolution: "babel-loader@npm:8.3.0" + version: 8.4.1 + resolution: "babel-loader@npm:8.4.1" dependencies: find-cache-dir: ^3.3.1 - loader-utils: ^2.0.0 + loader-utils: ^2.0.4 make-dir: ^3.1.0 schema-utils: ^2.6.5 peerDependencies: "@babel/core": ^7.0.0 webpack: ">=2" - checksum: d48bcf9e030e598656ad3ff5fb85967db2eaaf38af5b4a4b99d25618a2057f9f100e6b231af2a46c1913206db506115ca7a8cbdf52c9c73d767070dae4352ab5 + checksum: fa02db1a7d3ebb7b4aab83e926fb51e627a00427943c9dd1b3302c8099c67fa6a242a2adeed37d95abcd39ba619edf558a1dec369ce0849c5a87dc290c90fe2f languageName: node linkType: hard @@ -7453,61 +7585,64 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.5": - version: 0.4.5 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.5" +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" dependencies: - "@babel/compat-data": ^7.22.6 - "@babel/helper-define-polyfill-provider": ^0.4.2 + "@babel/compat-data": ^7.27.7 + "@babel/helper-define-polyfill-provider": ^0.6.5 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 33a8e06aa54e2858d211c743d179f0487b03222f9ca1bfd7c4865bca243fca942a3358cb75f6bb894ed476cbddede834811fbd6903ff589f055821146f053e1a + checksum: d654334c1b4390d08282416144b7b6f3d74d2cab44b2bfa2b6405c828882c82907b8b67698dce1be046c218d2d4fe5bf7fb6d01879938f3129dad969e8cfc44d languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.8.3": - version: 0.8.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.8.4" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": ^0.4.2 - core-js-compat: ^3.32.2 + "@babel/helper-define-polyfill-provider": ^0.6.5 + core-js-compat: ^3.43.0 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 7243241a5b978b1335d51bcbd1248d6c4df88f6b3726706e71e0392f111c59bbf01118c85bb0ed42dce65e90e8fc768d19eda0a81a321cbe54abd3df9a285dc8 + checksum: cf526031acd97ff2124e7c10e15047e6eeb0620d029c687f1dca99916a8fe6cac0e634b84c913db6cb68b7a024f82492ba8fdcc2a6266e7b05bdac2cba0c2434 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.5.2": - version: 0.5.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.5.2" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - "@babel/helper-define-polyfill-provider": ^0.4.2 + "@babel/helper-define-polyfill-provider": ^0.6.5 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: d962200f604016a9a09bc9b4aaf60a3db7af876bb65bcefaeac04d44ac9d9ec4037cf24ce117760cc141d7046b6394c7eb0320ba9665cb4a2ee64df2be187c93 + checksum: ed1932fa9a31e0752fd10ebf48ab9513a654987cab1182890839523cb898559d24ae0578fdc475d9f995390420e64eeaa4b0427045b56949dace3c725bc66dbb languageName: node linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-bigint": ^7.8.3 - "@babel/plugin-syntax-class-properties": ^7.8.3 - "@babel/plugin-syntax-import-meta": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-import-attributes": ^7.24.7 + "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 "@babel/plugin-syntax-object-rest-spread": ^7.8.3 "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-top-level-await": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 peerDependencies: - "@babel/core": ^7.0.0 - checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 3608fa671cfa46364ea6ec704b8fcdd7514b7b70e6ec09b1199e13ae73ed346c51d5ce2cb6d4d5b295f6a3f2cad1fdeec2308aa9e037002dd7c929194cc838ea languageName: node linkType: hard @@ -7530,10 +7665,15 @@ __metadata: languageName: node linkType: hard -"bare-events@npm:^2.2.0": - version: 2.5.4 - resolution: "bare-events@npm:2.5.4" - checksum: 522a5401caaede9d8c857c2fd346c993bf43995e958e8ebfa79d32b1e086032800e0639f3559d7ad85788fae54f6d9605685de507eec54298ea2aa2c8c9cb2c3 +"bare-events@npm:^2.7.0": + version: 2.8.2 + resolution: "bare-events@npm:2.8.2" + peerDependencies: + bare-abort-controller: "*" + peerDependenciesMeta: + bare-abort-controller: + optional: true + checksum: 97e6fc825bc984363a1f695c9a962b1b9f0ea467baa95d7059565a0aa31f4b5fc0f5eb71c087456ae3a436f39fce14a6147a12dd63aac0ff1d20cc5ad64cd780 languageName: node linkType: hard @@ -7551,6 +7691,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.25": + version: 2.8.30 + resolution: "baseline-browser-mapping@npm:2.8.30" + bin: + baseline-browser-mapping: dist/cli.js + checksum: d10303cea329afc702e6d7cba4ecae234a6c056352c20dbbb23658fa93c233474193d98e10e9d0cc98c171ee465660e93d9bf3374b2e17fdbb3a0be801792a32 + languageName: node + linkType: hard + "bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" @@ -7620,30 +7769,30 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: ^1.0.0 concat-map: 0.0.1 - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 12cb6d6310629e3048cadb003e1aca4d8c9bb5c67c3c321bafdd7e7a50155de081f78ea3e0ed92ecc75a9015e784f301efc8132383132f4f7904ad1ac529c562 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: ^1.0.0 - checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + checksum: 01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488 languageName: node linkType: hard -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range: ^7.0.1 - checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + fill-range: ^7.1.1 + checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69 languageName: node linkType: hard @@ -7656,21 +7805,22 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": - version: 4.22.1 - resolution: "browserslist@npm:4.22.1" +"browserslist@npm:^4.24.0, browserslist@npm:^4.26.3, browserslist@npm:^4.28.0": + version: 4.28.0 + resolution: "browserslist@npm:4.28.0" dependencies: - caniuse-lite: ^1.0.30001541 - electron-to-chromium: ^1.4.535 - node-releases: ^2.0.13 - update-browserslist-db: ^1.0.13 + baseline-browser-mapping: ^2.8.25 + caniuse-lite: ^1.0.30001754 + electron-to-chromium: ^1.5.249 + node-releases: ^2.0.27 + update-browserslist-db: ^1.1.4 bin: browserslist: cli.js - checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 + checksum: c19fe2c6f123851d899d5b207f76de93064e247931e32ca0adcaceb3b48aec65c7c3310c0dc969de96922d488af7de0a0b77b41505e7dfa0a8d3736500748e11 languageName: node linkType: hard -"bs-logger@npm:0.x": +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -7688,7 +7838,7 @@ __metadata: languageName: node linkType: hard -"buffer-equal-constant-time@npm:1.0.1": +"buffer-equal-constant-time@npm:^1.0.1": version: 1.0.1 resolution: "buffer-equal-constant-time@npm:1.0.1" checksum: 80bb945f5d782a56f374b292770901065bad21420e34936ecbe949e57724b4a13874f735850dd1cc61f078773c4fb5493a41391e7bda40d1fa388d6bd80daaab @@ -7730,11 +7880,11 @@ __metadata: linkType: hard "builtins@npm:^5.0.0": - version: 5.0.1 - resolution: "builtins@npm:5.0.1" + version: 5.1.0 + resolution: "builtins@npm:5.1.0" dependencies: semver: ^7.0.0 - checksum: 66d204657fe36522822a95b288943ad11b58f5eaede235b11d8c4edaa28ce4800087d44a2681524c340494aadb120a0068011acabe99d30e8f11a7d826d83515 + checksum: 76327fa85b8e253b26e52f79988148013ea742691b4ab15f7228ebee47dd757832da308c9d4e4fc89763a1773e3f25a9836fff6315df85c7c6c72190436bf11d languageName: node linkType: hard @@ -7752,6 +7902,32 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^2.0.0 + checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 + languageName: node + linkType: hard + "cacache@npm:^17.0.0": version: 17.1.4 resolution: "cacache@npm:17.1.4" @@ -7772,6 +7948,25 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^20.0.1": + version: 20.0.3 + resolution: "cacache@npm:20.0.3" + dependencies: + "@npmcli/fs": ^5.0.0 + fs-minipass: ^3.0.0 + glob: ^13.0.0 + lru-cache: ^11.1.0 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^7.0.2 + ssri: ^13.0.0 + unique-filename: ^5.0.0 + checksum: 595e6b91d72972d596e1e9ccab8ddbf08b773f27240220b1b5b1b7b3f52173cfbcf095212e5d7acd86c3bd453c28e69b116469889c511615ef3589523d542639 + languageName: node + linkType: hard + "cacheable-lookup@npm:^5.0.3": version: 5.0.4 resolution: "cacheable-lookup@npm:5.0.4" @@ -7794,7 +7989,7 @@ __metadata: languageName: node linkType: hard -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: @@ -7804,17 +7999,19 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + call-bind-apply-helpers: ^1.0.0 + es-define-property: ^1.0.0 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.2 + checksum: aa2899bce917a5392fd73bd32e71799c37c0b7ab454e0ed13af7f6727549091182aade8bbb7b55f304a5bc436d543241c14090fb8a3137e9875e23f444f4f5a9 languageName: node linkType: hard -"call-bound@npm:^1.0.2": +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": version: 1.0.4 resolution: "call-bound@npm:1.0.4" dependencies: @@ -7866,10 +8063,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001546 - resolution: "caniuse-lite@npm:1.0.30001546" - checksum: d3ef82f5ee94743002c5b2dd61c84342debcc94b2d5907b64ade3514ecfc4f20bbe86a6bc453fd6436d5fbcf6582e07405d7c2077565675a71c83adc238a11fa +"caniuse-lite@npm:^1.0.30001754": + version: 1.0.30001756 + resolution: "caniuse-lite@npm:1.0.30001756" + checksum: abcbb01eceb921f3462721792ede7ab9dc95eb676e2f6873837ebf5c163f5fe74a629de20b56b8bd10147af2ba255a608d422e72597149e19c91b9b760593bb6 languageName: node linkType: hard @@ -7901,17 +8098,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -7921,13 +8108,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 623922e077b7d1e9dedaea6f8b9e9352921f8ae3afe739132e0e00c275971bdd331268183b2628cf4ab1727c45ea1f28d7e24ac23ce1db1eb653c414ca8a5a80 - languageName: node - linkType: hard - "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -7935,10 +8115,10 @@ __metadata: languageName: node linkType: hard -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d +"chardet@npm:^2.1.1": + version: 2.1.1 + resolution: "chardet@npm:2.1.1" + checksum: 4e3dba2699018b79bb90a9562b5e5be27fcaab55250c12fa72f026b859fb24846396c346968546c14efc69b9f23aca3ef2b9816775012d08a4686ce3c362415c languageName: node linkType: hard @@ -7974,10 +8154,17 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": - version: 1.0.3 - resolution: "chrome-trace-event@npm:1.0.3" - checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: fcbbd9dd0cd5b48444319007cc0c15870fd8612cc0df320908aa9d5e8a244084d48571eb28bf3c58c19327d2c5838f354c2d89fac3956d8e992273437401ac19 languageName: node linkType: hard @@ -7988,10 +8175,17 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^4.0.0": + version: 4.3.1 + resolution: "ci-info@npm:4.3.1" + checksum: 66c159d92648e8a07acab0a3a0681bff6ccc39aa44916263208c4d97bbbeedbbc886d7611fd30c21df1aa624ce3c6fcdfde982e74689e3e014e064e1d0805f94 + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 5ea3cb867a9bb609b6d476cd86590d105f3cfd6514db38ff71f63992ab40939c2feb68967faa15a6d2b1f90daa6416b79ea2de486e9e2485a6f8b66a21b4fb0a + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 221a1661a9ff4944b472c85ac7cd5029b2f2dc7f6c5f4ecf887f261503611110b43a48acb6c07f8f04109c772d1637fdb20b31252bf27058f35aa97bf5ad8b12 languageName: node linkType: hard @@ -8020,13 +8214,20 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:2.6.1, cli-spinners@npm:^2.5.0": +"cli-spinners@npm:2.6.1": version: 2.6.1 resolution: "cli-spinners@npm:2.6.1" checksum: 423409baaa7a58e5104b46ca1745fbfc5888bbd0b0c5a626e052ae1387060839c8efd512fb127e25769b3dc9562db1dc1b5add6e0b93b7ef64f477feb6416a45 languageName: node linkType: hard +"cli-spinners@npm:^2.5.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 1bd588289b28432e4676cb5d40505cfe3e53f2e4e10fbe05c8a710a154d6fe0ce7836844b00d6858f740f2ffe67cdc36e0fce9c7b6a8430e80e6388d5aa4956c + languageName: node + linkType: hard + "cli-width@npm:^3.0.0": version: 3.0.0 resolution: "cli-width@npm:3.0.0" @@ -8123,9 +8324,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: c10f41c39ab84629d16f9f6137bc8a63d332244383fc368caf2d2052b5e04c20cd1fd70f66fcf4e2422b84c8226598b776d39d5f2d2a51867cc1ed5d1982b4da + version: 1.0.3 + resolution: "collect-v8-coverage@npm:1.0.3" + checksum: ed1d1ebc9c05e7263fffa3ad6440031db6a1fdd9f574435aa689effcdfe9f2b93aba8ec600f9c7b99124cd6ff5d9415c17961d84ae829a72251a4fe668a49b63 languageName: node linkType: hard @@ -8147,12 +8348,12 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^3.0.1": - version: 3.1.0 - resolution: "color-convert@npm:3.1.0" +"color-convert@npm:^3.1.3": + version: 3.1.3 + resolution: "color-convert@npm:3.1.3" dependencies: color-name: ^2.0.0 - checksum: 7fdcebff4b5c33596de4b7a14953fdadf17352b217821fa02c84dcb2f5b5da9ab179152e01a4d449027ba4aa02fc5ab587bcb2395a17dd0276be6e2d323b9353 + checksum: 5133952b53c76dfb0f1d9d19b21efa1394cc9a9e0ae8556c6ac366bfe8dd806ddd88448eb23a2dc6f671c85b29290ab547052c6e1c9cb165e14c38a933d327f3 languageName: node linkType: hard @@ -8171,9 +8372,9 @@ __metadata: linkType: hard "color-name@npm:^2.0.0": - version: 2.0.0 - resolution: "color-name@npm:2.0.0" - checksum: 10a1addae41de2987d6b90dbd3cfade266c2e6f680ce21749911df4493b4fae07654862c6b5358bdd13e155461acb4eedaa5e0ba172bf13542cdcca10866cf2b + version: 2.1.0 + resolution: "color-name@npm:2.1.0" + checksum: eb014f71d87408e318e95d3f554f188370d354ba8e0ffa4341d0fd19de391bfe2bc96e563d4f6614644d676bc24f475560dffee3fe310c2d6865d007410a9a2b languageName: node linkType: hard @@ -8187,12 +8388,12 @@ __metadata: languageName: node linkType: hard -"color-string@npm:^2.0.0": - version: 2.0.1 - resolution: "color-string@npm:2.0.1" +"color-string@npm:^2.1.3": + version: 2.1.4 + resolution: "color-string@npm:2.1.4" dependencies: color-name: ^2.0.0 - checksum: a5ab024f78f67c0d5c1c995943ff95dce193beaa981492f6a36c05a9939a9db519e2d821d91df15677a47107fe90e4b12fd345729d755c65b543924db05c3a3f + checksum: f9caa29d529c549febeec813fcc0ecb184ff3dee92cec78f1fd3dfe2c4168fc1b74442efc40e34d2d677470967f570234d11086c3b137d6f9958a8fe12587fde languageName: node linkType: hard @@ -8216,12 +8417,12 @@ __metadata: linkType: hard "color@npm:^5.0.0": - version: 5.0.0 - resolution: "color@npm:5.0.0" + version: 5.0.3 + resolution: "color@npm:5.0.3" dependencies: - color-convert: ^3.0.1 - color-string: ^2.0.0 - checksum: 2985081f00d02dbeb544dc04b287011443d9fe97905cf917b5af9167513acbe1d0ea98fe0614ba7174033fedb2b874a4e35f146832d116da64193c7f4a549ec5 + color-convert: ^3.1.3 + color-string: ^2.1.3 + checksum: 2ad337a520f8d702febc45912d7a27417268ea4c56bdbf8121cdb8dad7309e418a7c78f164d7cb59b68bd9e703b5a3bc046cff80051c30e7561f7e726ca207ac languageName: node linkType: hard @@ -8251,6 +8452,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:13.1.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 8ca2fcb33caf2aa06fba3722d7a9440921331d54019dabf906f3603313e7bf334b009b862257b44083ff65d5a3ab19e83ad73af282bd5319f01dc228bdf87ef0 + languageName: node + linkType: hard + "commander@npm:2, commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" @@ -8265,13 +8473,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:9.2.0": - version: 9.2.0 - resolution: "commander@npm:9.2.0" - checksum: 7c82e4cd969712aa6d7c055b8351807a7230f9f31ef7ec7881e11a1147511de85adf5d6ccfd200240a118eecf693b220caf6865b8efbcea558a70d35aa9ed711 - languageName: node - linkType: hard - "commander@npm:^10.0.1": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -8541,12 +8742,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.32.2": - version: 3.33.0 - resolution: "core-js-compat@npm:3.33.0" +"core-js-compat@npm:^3.43.0": + version: 3.47.0 + resolution: "core-js-compat@npm:3.47.0" dependencies: - browserslist: ^4.22.1 - checksum: 83ae54008c09b8e0ae3c59457039866c342c7e28b0d30eebb638a5b51c01432e63fe97695c90645cbc6a8b073a4f9a8b0e75f0818bbf8b4b054e01f4c17d3181 + browserslist: ^4.28.0 + checksum: 425c8cb4c3277a11f3d7d4752c53e5903892635126ed1cdc326a1cd7d961606c5d2c951493f1c783e624f9cdc1ec791c6db68dc19988d68f112d7d82a4c39c9a languageName: node linkType: hard @@ -8557,13 +8758,20 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": +"core-util-is@npm:1.0.2": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab languageName: node linkType: hard +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + "cors@npm:2.8.5": version: 2.8.5 resolution: "cors@npm:2.8.5" @@ -8633,27 +8841,27 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: ^3.1.0 - shebang-command: ^2.0.0 - which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.5": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" +"cross-spawn@npm:^6.0.5": + version: 6.0.6 + resolution: "cross-spawn@npm:6.0.6" dependencies: nice-try: ^1.0.4 path-key: ^2.0.1 semver: ^5.5.0 shebang-command: ^1.2.0 which: ^1.2.9 - checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + checksum: a6e2e5b04a0e0f806c1df45f92cd079b65f95fbe5a7650ee1ab60318c33a6c156a8a2f8b6898f57764f7363ec599a0625e9855dfa78d52d2d73dbd32eb11c25e + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b languageName: node linkType: hard @@ -8665,20 +8873,26 @@ __metadata: linkType: hard "css-loader@npm:^6.7.1": - version: 6.8.1 - resolution: "css-loader@npm:6.8.1" + version: 6.11.0 + resolution: "css-loader@npm:6.11.0" dependencies: icss-utils: ^5.1.0 - postcss: ^8.4.21 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.3 - postcss-modules-scope: ^3.0.0 + postcss: ^8.4.33 + postcss-modules-extract-imports: ^3.1.0 + postcss-modules-local-by-default: ^4.0.5 + postcss-modules-scope: ^3.2.0 postcss-modules-values: ^4.0.0 postcss-value-parser: ^4.2.0 - semver: ^7.3.8 + semver: ^7.5.4 peerDependencies: + "@rspack/core": 0.x || 1.x webpack: ^5.0.0 - checksum: 7c1784247bdbe76dc5c55fb1ac84f1d4177a74c47259942c9cfdb7a8e6baef11967a0bc85ac285f26bd26d5059decb848af8154a03fdb4f4894f41212f45eef3 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 5c8d35975a7121334905394e88e28f05df72f037dbed2fb8fec4be5f0b313ae73a13894ba791867d4a4190c35896da84a7fd0c54fb426db55d85ba5e714edbe3 languageName: node linkType: hard @@ -8718,9 +8932,9 @@ __metadata: linkType: hard "css-what@npm:^6.0.1": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe + version: 6.2.2 + resolution: "css-what@npm:6.2.2" + checksum: 4d1f07b348a638e1f8b4c72804a1e93881f35e0f541256aec5ac0497c5855df7db7ab02da030de950d4813044f6d029a14ca657e0f92c3987e4b604246235b2b languageName: node linkType: hard @@ -8756,13 +8970,20 @@ __metadata: languageName: node linkType: hard -"csstype@npm:3.0.10, csstype@npm:^3.0.10, csstype@npm:^3.0.2": +"csstype@npm:3.0.10": version: 3.0.10 resolution: "csstype@npm:3.0.10" checksum: 20a8fa324f2b33ddf94aa7507d1b6ab3daa6f3cc308888dc50126585d7952f2471de69b2dbe0635d1fdc31223fef8e070842691877e725caf456e2378685a631 languageName: node linkType: hard +"csstype@npm:^3.0.10, csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: cb882521b3398958a1ce6ca98c011aec0bde1c77ecaf8a1dd4db3b112a189939beae3b1308243b2fe50fc27eb3edeb0f73a5a4d91d928765dc6d5ecc7bda92ee + languageName: node + linkType: hard + "cytoscape-cose-bilkent@npm:^4.1.0": version: 4.1.0 resolution: "cytoscape-cose-bilkent@npm:4.1.0" @@ -8786,9 +9007,9 @@ __metadata: linkType: hard "cytoscape@npm:^3.29.3": - version: 3.31.1 - resolution: "cytoscape@npm:3.31.1" - checksum: 88dabf36caa2fdd01ff6f511989a436424f90f95a5a81b7062574f6dcaf5079bbb91f9b70dc0549ba6dadbea3b96b4ad7538948f2ff6ed866db8a10593597ed6 + version: 3.33.1 + resolution: "cytoscape@npm:3.33.1" + checksum: 4ebb9551ecb868fc6e831f523933bf96bd107d09b984d6d44db45adfd0a0f82f3383d7d0d5bc2053267ab2e8da47ce5ea280159643e818a4f2534affee248db8 languageName: node linkType: hard @@ -8954,11 +9175,11 @@ __metadata: linkType: hard "d3-geo@npm:1.12.0 - 3, d3-geo@npm:3, d3-geo@npm:^3.1.0": - version: 3.1.0 - resolution: "d3-geo@npm:3.1.0" + version: 3.1.1 + resolution: "d3-geo@npm:3.1.1" dependencies: d3-array: 2.5.0 - 3 - checksum: adf82b0c105c0c5951ae0a833d4dfc479a563791ad7938579fa14e1cffd623b469d8aa7a37dc413a327fb6ac56880f3da3f6c43d4abe3c923972dd98f34f37d1 + checksum: 3cc4bb50af5d2d4858d2df1729a1777b7fd361854079d9faab1166186c988d2cba0d11911da0c4598d5e22fae91d79113ed262a9f98cabdbc6dbf7c30e5c0363 languageName: node linkType: hard @@ -9210,6 +9431,39 @@ __metadata: languageName: node linkType: hard +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: ^1.0.3 + es-errors: ^1.3.0 + is-data-view: ^1.0.2 + checksum: 1e1cd509c3037ac0f8ba320da3d1f8bf1a9f09b0be09394b5e40781b8cc15ff9834967ba7c9f843a425b34f9fe14ce44cf055af6662c44263424c1eb8d65659b + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: ^1.0.3 + es-errors: ^1.3.0 + is-data-view: ^1.0.2 + checksum: 3600c91ced1cfa935f19ef2abae11029e01738de8d229354d3b2a172bf0d7e4ed08ff8f53294b715569fdf72dfeaa96aa7652f479c0f60570878d88e7e8bddf6 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: 8dd492cd51d19970876626b5b5169fbb67ca31ec1d1d3238ee6a71820ca8b80cafb141c485999db1ee1ef02f2cc3b99424c5eda8d59e852d9ebb79ab290eb5ee + languageName: node + linkType: hard + "dateformat@npm:^3.0.3": version: 3.0.3 resolution: "dateformat@npm:3.0.3" @@ -9225,9 +9479,16 @@ __metadata: linkType: hard "dayjs@npm:^1.11.18": - version: 1.11.18 - resolution: "dayjs@npm:1.11.18" - checksum: cc90054bad30ab011417a7a474b2ffa70e7a28ca6f834d7e86fe53a408a40a14c174f26155072628670e9eda4c48c4ed0d847d2edf83d47c0bfb78be15bbf2dd + version: 1.11.19 + resolution: "dayjs@npm:1.11.19" + checksum: dfafcca2c67cc6e542fd880d77f1d91667efd323edc28f0487b470b184a11cc97696163ed5be1142ea2a031045b27a0d0555e72f60a63275e0e0401ac24bea5d + languageName: node + linkType: hard + +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e languageName: node linkType: hard @@ -9294,9 +9555,9 @@ __metadata: linkType: hard "decimal.js@npm:^10.4.2": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae + version: 10.6.0 + resolution: "decimal.js@npm:10.6.0" + checksum: 9302b990cd6f4da1c7602200002e40e15d15660374432963421d3cd6d81cc6e27e0a488356b030fee64650947e32e78bdbea245d596dadfeeeb02e146d485999 languageName: node linkType: hard @@ -9317,14 +9578,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" + version: 1.7.0 + resolution: "dedent@npm:1.7.0" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: c3c300a14edf1bdf5a873f9e4b22e839d62490bc5c8d6169c1f15858a1a76733d06a9a56930e963d677a2ceeca4b6b0894cc5ea2f501aa382ca5b92af3413c2a + checksum: e07a21b7ae078f2c6502b46e6e9fb3f5592dc48ad8c6142d501d1a85ee04cd3add5d62260a9b20f87674a80edada2032918ca0718597752c5cb90b36ab5066ec languageName: node linkType: hard @@ -9365,14 +9626,14 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.0.1": - version: 1.1.0 - resolution: "define-data-property@npm:1.1.0" +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" dependencies: - get-intrinsic: ^1.2.1 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - checksum: 7ad4ee84cca8ad427a4831f5693526804b62ce9dfd4efac77214e95a4382aed930072251d4075dc8dc9fc949a353ed51f19f5285a84a788ba9216cc51472a093 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b languageName: node linkType: hard @@ -9383,7 +9644,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -9395,11 +9656,11 @@ __metadata: linkType: hard "delaunator@npm:5": - version: 5.0.0 - resolution: "delaunator@npm:5.0.0" + version: 5.0.1 + resolution: "delaunator@npm:5.0.1" dependencies: - robust-predicates: ^3.0.0 - checksum: d6764188442b7f7c6bcacebd96edc00e35f542a96f1af3ef600e586bfb9849a3682c489c0ab423440c90bc4c7cac77f28761babff76fa29e193e1cf50a95b860 + robust-predicates: ^3.0.2 + checksum: 69ee43ec649b4a13b7f33c8a027fb3e8dfcb09266af324286118da757e04d3d39df619b905dca41421405c311317ccf632ecfa93db44519bacec3303c57c5a0b languageName: node linkType: hard @@ -9474,9 +9735,9 @@ __metadata: linkType: hard "diff@npm:^5.1.0": - version: 5.1.0 - resolution: "diff@npm:5.1.0" - checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 12b63ca9c36c72bafa3effa77121f0581b4015df18bc16bac1f8e263597735649f1a173c26f7eba17fb4162b073fee61788abe49610e6c70a2641fe1895443fd languageName: node linkType: hard @@ -9573,14 +9834,14 @@ __metadata: linkType: hard "dompurify@npm:^3.2.5": - version: 3.2.6 - resolution: "dompurify@npm:3.2.6" + version: 3.3.0 + resolution: "dompurify@npm:3.3.0" dependencies: "@types/trusted-types": ^2.0.7 dependenciesMeta: "@types/trusted-types": optional: true - checksum: 4d002997dbae13f6bdf0e6be014384129c83b1ee8cd3fca9d96f95b9142d1e96256924466a2fc25e7ffb6ede54290e5c4a7d1bd10f9b14cfa07928dd799c3b42 + checksum: 425c181ac531cb15f93be85dc6efb1eb535d7c53ad0752b305043fe43e76c5ef144c2aa3670da2a52bec253c0aa302c06545cd04012396dc81d52cf86529097b languageName: node linkType: hard @@ -9596,13 +9857,13 @@ __metadata: linkType: hard "domutils@npm:^3.0.1": - version: 3.1.0 - resolution: "domutils@npm:3.1.0" + version: 3.2.2 + resolution: "domutils@npm:3.2.2" dependencies: dom-serializer: ^2.0.0 domelementtype: ^2.3.0 domhandler: ^5.0.3 - checksum: e5757456ddd173caa411cfc02c2bb64133c65546d2c4081381a3bafc8a57411a41eed70494551aa58030be9e58574fcc489828bebd673863d39924fb4878f416 + checksum: ae941d56f03d857077d55dde9297e960a625229fc2b933187cc4123084d7c2d2517f58283a7336567127029f1e008449bac8ac8506d44341e29e3bb18e02f906 languageName: node linkType: hard @@ -9632,14 +9893,21 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.3.1, dotenv@npm:~16.3.1": +"dotenv@npm:^16.3.1": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: e8bd63c9a37f57934f7938a9cf35de698097fadf980cb6edb61d33b3e424ceccfe4d10f37130b904a973b9038627c2646a3365a904b4406514ea94d7f1816b69 + languageName: node + linkType: hard + +"dotenv@npm:~16.3.1": version: 16.3.2 resolution: "dotenv@npm:16.3.2" checksum: 917b27eeb654b95846484009326b1c52af7a7c25f7b09e2939ed49de8f98cb9895dcc04f13a39cdb078d247985e21147311ccb5bfbf2fd151afb20fa8f96de15 languageName: node linkType: hard -"dunder-proto@npm:^1.0.1": +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" dependencies: @@ -9670,14 +9938,14 @@ __metadata: linkType: hard "duplexify@npm:^4.1.2": - version: 4.1.2 - resolution: "duplexify@npm:4.1.2" + version: 4.1.3 + resolution: "duplexify@npm:4.1.3" dependencies: end-of-stream: ^1.4.1 inherits: ^2.0.3 readable-stream: ^3.1.1 - stream-shift: ^1.0.0 - checksum: 964376c61c0e92f6ed0694b3ba97c84f199413dc40ab8dfdaef80b7a7f4982fcabf796214e28ed614a5bc1ec45488a29b81e7d46fa3f5ddf65bcb118c20145ad + stream-shift: ^1.0.2 + checksum: 9636a027345de3dd3c801594d01a7c73d9ce260019538beb1ee650bba7544e72f40a4d4902b52e1ab283dc32a06f210d42748773af02ff15e3064a9659deab7f languageName: node linkType: hard @@ -9727,20 +9995,20 @@ __metadata: linkType: hard "ejs@npm:^3.1.7": - version: 3.1.9 - resolution: "ejs@npm:3.1.9" + version: 3.1.10 + resolution: "ejs@npm:3.1.10" dependencies: jake: ^10.8.5 bin: ejs: bin/cli.js - checksum: af6f10eb815885ff8a8cfacc42c6b6cf87daf97a4884f87a30e0c3271fedd85d76a3a297d9c33a70e735b97ee632887f85e32854b9cdd3a2d97edf931519a35f + checksum: ce90637e9c7538663ae023b8a7a380b2ef7cc4096de70be85abf5a3b9641912dde65353211d05e24d56b1f242d71185c6d00e02cb8860701d571786d92c71f05 languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.535": - version: 1.4.544 - resolution: "electron-to-chromium@npm:1.4.544" - checksum: 78e88e4c56fc4faaa9a405de5e0b51305531e9cdf2c71bcc9296c2c59fb68001472e5b924f8701c873bc855ab5174cf0340642712d7af05c1d8e92356529397e +"electron-to-chromium@npm:^1.5.249": + version: 1.5.259 + resolution: "electron-to-chromium@npm:1.5.259" + checksum: 8711e642257f83d3f17b15917389e95a4da047f680976c48fb00eb6a6868e55f2d300eb6359be745a93ef0fe7720e93a72302f199284039bc453bcb1684772e6 languageName: node linkType: hard @@ -9803,21 +10071,21 @@ __metadata: linkType: hard "end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: ^1.4.0 - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0": - version: 5.15.0 - resolution: "enhanced-resolve@npm:5.15.0" +"enhanced-resolve@npm:^5.17.3": + version: 5.18.3 + resolution: "enhanced-resolve@npm:5.18.3" dependencies: graceful-fs: ^4.2.4 tapable: ^2.2.0 - checksum: fbd8cdc9263be71cc737aa8a7d6c57b43d6aa38f6cc75dde6fcd3598a130cc465f979d2f4d01bb3bf475acb43817749c79f8eef9be048683602ca91ab52e4f11 + checksum: e2b2188a7f9b68616984b5ce1f43b97bef3c5fde4d193c24ea4cfdb4eb784a700093f049f14155733a3cb3ae1204550590aa37dda7e742022c8f447f618a4816 languageName: node linkType: hard @@ -9844,6 +10112,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^6.0.0": + version: 6.0.1 + resolution: "entities@npm:6.0.1" + checksum: 937b952e81aca641660a6a07f70001c6821973dea3ae7f6a5013eadce94620f3ed2e9c745832d503c8811ce6e97704d8a0396159580c0e567d815234de7fdecf + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -9851,7 +10126,7 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:7.14.0, envinfo@npm:^7.7.3": +"envinfo@npm:7.14.0": version: 7.14.0 resolution: "envinfo@npm:7.14.0" bin: @@ -9869,6 +10144,15 @@ __metadata: languageName: node linkType: hard +"envinfo@npm:^7.7.3": + version: 7.20.0 + resolution: "envinfo@npm:7.20.0" + bin: + envinfo: dist/cli.js + checksum: 5e7e7a4ec5b445939efd2634a8f2d7f926d6f79ae872acf5d7ebd46387f74b7c700667b2ffa795c109e53e70389e46c38726f24a834448dbddfc53f63376f5cb + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -9877,62 +10161,77 @@ __metadata: linkType: hard "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: ^0.2.1 - checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + checksum: 25136c0984569c8d68417036a9a1624804314296f24675199a391e5d20b2e26fe6d9304d40901293fa86900603a229983c9a8921ea7f1d16f814c2db946ff4ef languageName: node linkType: hard -"es-abstract@npm:^1.22.1": - version: 1.22.2 - resolution: "es-abstract@npm:1.22.2" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" dependencies: - array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.2 - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-set-tostringtag: ^2.0.1 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.1 - get-symbol-description: ^1.0.0 - globalthis: ^1.0.3 - gopd: ^1.0.1 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - is-array-buffer: ^3.0.2 + array-buffer-byte-length: ^1.0.2 + arraybuffer.prototype.slice: ^1.0.4 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.4 + data-view-buffer: ^1.0.2 + data-view-byte-length: ^1.0.2 + data-view-byte-offset: ^1.0.1 + es-define-property: ^1.0.1 + es-errors: ^1.3.0 + es-object-atoms: ^1.1.1 + es-set-tostringtag: ^2.1.0 + es-to-primitive: ^1.3.0 + function.prototype.name: ^1.1.8 + get-intrinsic: ^1.3.0 + get-proto: ^1.0.1 + get-symbol-description: ^1.1.0 + globalthis: ^1.0.4 + gopd: ^1.2.0 + has-property-descriptors: ^1.0.2 + has-proto: ^1.2.0 + has-symbols: ^1.1.0 + hasown: ^2.0.2 + internal-slot: ^1.1.0 + is-array-buffer: ^3.0.5 is-callable: ^1.2.7 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-typed-array: ^1.1.12 - is-weakref: ^1.0.2 - object-inspect: ^1.12.3 + is-data-view: ^1.0.2 + is-negative-zero: ^2.0.3 + is-regex: ^1.2.1 + is-set: ^2.0.3 + is-shared-array-buffer: ^1.0.4 + is-string: ^1.1.1 + is-typed-array: ^1.1.15 + is-weakref: ^1.1.1 + math-intrinsics: ^1.1.0 + object-inspect: ^1.13.4 object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.1 - safe-array-concat: ^1.0.1 - safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.8 - string.prototype.trimend: ^1.0.7 - string.prototype.trimstart: ^1.0.7 - typed-array-buffer: ^1.0.0 - typed-array-byte-length: ^1.0.0 - typed-array-byte-offset: ^1.0.0 - typed-array-length: ^1.0.4 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.11 - checksum: cc70e592d360d7d729859013dee7a610c6b27ed8630df0547c16b0d16d9fe6505a70ee14d1af08d970fdd132b3f88c9ca7815ce72c9011608abf8ab0e55fc515 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.1": + object.assign: ^4.1.7 + own-keys: ^1.0.1 + regexp.prototype.flags: ^1.5.4 + safe-array-concat: ^1.1.3 + safe-push-apply: ^1.0.0 + safe-regex-test: ^1.1.0 + set-proto: ^1.0.0 + stop-iteration-iterator: ^1.1.0 + string.prototype.trim: ^1.2.10 + string.prototype.trimend: ^1.0.9 + string.prototype.trimstart: ^1.0.8 + typed-array-buffer: ^1.0.3 + typed-array-byte-length: ^1.0.3 + typed-array-byte-offset: ^1.0.4 + typed-array-length: ^1.0.7 + unbox-primitive: ^1.1.0 + which-typed-array: ^1.1.19 + checksum: 06b3d605e56e3da9d16d4db2629a42dac1ca31f2961a41d15c860422a266115e865b43e82d6b9da81a0fabbbb65ebc12fb68b0b755bc9dbddacb6bf7450e96df + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": version: 1.0.1 resolution: "es-define-property@npm:1.0.1" checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a @@ -9946,32 +10245,34 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.12": - version: 1.0.15 - resolution: "es-iterator-helpers@npm:1.0.15" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - asynciterator.prototype: ^1.0.0 - call-bind: ^1.0.2 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - es-abstract: ^1.22.1 - es-set-tostringtag: ^2.0.1 - function-bind: ^1.1.1 - get-intrinsic: ^1.2.1 - globalthis: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - iterator.prototype: ^1.1.2 - safe-array-concat: ^1.0.1 - checksum: 50081ae5c549efe62e5c1d244df0194b40b075f7897fc2116b7e1aa437eb3c41f946d2afda18c33f9b31266ec544765932542765af839f76fa6d7b7855d1e0e1 + es-abstract: ^1.23.6 + es-errors: ^1.3.0 + es-set-tostringtag: ^2.0.3 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.6 + globalthis: ^1.0.4 + gopd: ^1.2.0 + has-property-descriptors: ^1.0.2 + has-proto: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + iterator.prototype: ^1.1.4 + safe-array-concat: ^1.1.3 + checksum: 952808dd1df3643d67ec7adf20c30b36e5eecadfbf36354e6f39ed3266c8e0acf3446ce9bc465e38723d613cb1d915c1c07c140df65bdce85da012a6e7bda62b languageName: node linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.3.1 - resolution: "es-module-lexer@npm:1.3.1" - checksum: 3beafa7e171eb1e8cc45695edf8d51638488dddf65294d7911f8d6a96249da6a9838c87529262cc6ea53988d8272cec0f4bff93f476ed031a54ba3afb51a0ed3 + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 7858bb76ae387fdbf8a6fccc951bf18919768309850587553eca34698b9193fbc65fab03d3d9f69163d860321fbf66adf89d5821e7f4148c7cb7d7b997259211 languageName: node linkType: hard @@ -9984,7 +10285,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.1, es-set-tostringtag@npm:^2.1.0": +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" dependencies: @@ -9996,30 +10297,42 @@ __metadata: languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" +"es-shim-unscopables@npm:^1.0.2": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + hasown: ^2.0.2 + checksum: 33cfb1ebcb2f869f0bf528be1a8660b4fe8b6cec8fc641f330e508db2284b58ee2980fad6d0828882d22858c759c0806076427a3673b6daa60f753e3b558ee15 languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + is-callable: ^1.2.7 + is-date-object: ^1.0.5 + is-symbol: ^1.0.4 + checksum: 966965880356486cd4d1fe9a523deda2084c81b3702d951212c098f5f2ee93605d1b7c1840062efb48a07d892641c7ed1bc194db563645c0dd2b919cb6d65b93 languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 +"es-toolkit@npm:^1.39.7": + version: 1.42.0 + resolution: "es-toolkit@npm:1.42.0" + dependenciesMeta: + "@trivago/prettier-plugin-sort-imports@4.3.0": + unplugged: true + prettier-plugin-sort-re-exports@0.0.1: + unplugged: true + checksum: 814de379394d54851decdaf7b9cbbc5dbf1de4614e1027037273fcccd4060c68e4b8d78ef8e8d116b60d1331bde029b448afc77caeb6bfb29170c0684ea89cd8 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 47b029c83de01b0d17ad99ed766347b974b0d628e848de404018f3abee728e987da0d2d370ad4574aa3d5b5bfc368754fd085d69a30f8e75903486ec4b5b709e languageName: node linkType: hard @@ -10051,13 +10364,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e - languageName: node - linkType: hard - "escodegen@npm:^2.0.0": version: 2.1.0 resolution: "escodegen@npm:2.1.0" @@ -10077,23 +10383,23 @@ __metadata: linkType: hard "eslint-config-prettier@npm:^8.7.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" + version: 8.10.2 + resolution: "eslint-config-prettier@npm:8.10.2" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 153266badd477e49b0759816246b2132f1dbdb6c7f313ca60a9af5822fd1071c2bc5684a3720d78b725452bbac04bb130878b2513aea5e72b1b792de5a69fec8 + checksum: a92b7e8a996e65adf79de1579524235687e9d3552d088cfab4f170da60d23762addb4276169c8ca3a9551329dda8408c59f7e414101b238a6385379ac1bc3b16 languageName: node linkType: hard "eslint-plugin-jest@npm:^27.2.1": - version: 27.4.2 - resolution: "eslint-plugin-jest@npm:27.4.2" + version: 27.9.0 + resolution: "eslint-plugin-jest@npm:27.9.0" dependencies: "@typescript-eslint/utils": ^5.10.0 peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 + "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 || ^7.0.0 eslint: ^7.0.0 || ^8.0.0 jest: "*" peerDependenciesMeta: @@ -10101,13 +10407,13 @@ __metadata: optional: true jest: optional: true - checksum: 99a8301ae00c37da97866b8b13c89a077716d2c653b26bc417d242e7300a43237c0017fd488c43966fa38585f19050facdbbc71d03ca36a1ce6f2ba930a9143e + checksum: e2a4b415105408de28ad146818fcc6f4e122f6a39c6b2216ec5c24a80393f1390298b20231b0467bc5fd730f6e24b05b89e1a6a3ce651fc159aa4174ecc233d0 languageName: node linkType: hard "eslint-plugin-prettier@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-plugin-prettier@npm:4.2.1" + version: 4.2.5 + resolution: "eslint-plugin-prettier@npm:4.2.5" dependencies: prettier-linter-helpers: ^1.0.0 peerDependencies: @@ -10116,33 +10422,35 @@ __metadata: peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: b9e839d2334ad8ec7a5589c5cb0f219bded260839a857d7a486997f9870e95106aa59b8756ff3f37202085ebab658de382b0267cae44c3a7f0eb0bcc03a4f6d6 + checksum: 22c29ba685f18516e3b1595e062849ccc108996a759da6067ff5d876519a5f81c8ba92c0c5623a1c62b593d417619ba44ab3b6ec1450ca753c078fd92970b883 languageName: node linkType: hard "eslint-plugin-react@npm:^7.32.2": - version: 7.33.2 - resolution: "eslint-plugin-react@npm:7.33.2" + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" dependencies: - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - array.prototype.tosorted: ^1.1.1 + array-includes: ^3.1.8 + array.prototype.findlast: ^1.2.5 + array.prototype.flatmap: ^1.3.3 + array.prototype.tosorted: ^1.1.4 doctrine: ^2.1.0 - es-iterator-helpers: ^1.0.12 + es-iterator-helpers: ^1.2.1 estraverse: ^5.3.0 + hasown: ^2.0.2 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - object.hasown: ^1.1.2 - object.values: ^1.1.6 + object.entries: ^1.1.9 + object.fromentries: ^2.0.8 + object.values: ^1.2.1 prop-types: ^15.8.1 - resolve: ^2.0.0-next.4 + resolve: ^2.0.0-next.5 semver: ^6.3.1 - string.prototype.matchall: ^4.0.8 + string.prototype.matchall: ^4.0.12 + string.prototype.repeat: ^1.0.0 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: b4c3d76390b0ae6b6f9fed78170604cc2c04b48e6778a637db339e8e3911ec9ef22510b0ae77c429698151d0f1b245f282177f384105b6830e7b29b9c9b26610 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 8675e7558e646e3c2fcb04bb60cfe416000b831ef0b363f0117838f5bfc799156113cb06058ad4d4b39fc730903b7360b05038da11093064ca37caf76b7cf2ca languageName: node linkType: hard @@ -10174,16 +10482,17 @@ __metadata: linkType: hard "eslint@npm:^8.36.0": - version: 8.51.0 - resolution: "eslint@npm:8.51.0" + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.2 - "@eslint/js": 8.51.0 - "@humanwhocodes/config-array": ^0.11.11 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.57.1 + "@humanwhocodes/config-array": ^0.13.0 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 @@ -10216,7 +10525,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 214fa5d1fcb67af1b8992ce9584ccd85e1aa7a482f8b8ea5b96edc28fa838a18a3b69456db45fc1ed3ef95f1e9efa9714f737292dc681e572d471d02fda9649c + checksum: e2489bb7f86dd2011967759a09164e65744ef7688c310bc990612fc26953f34cc391872807486b15c06833bdff737726a23e9b4cdba5de144c311377dc41d91b languageName: node linkType: hard @@ -10249,11 +10558,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: ^5.1.0 - checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 + checksum: 08ec4fe446d9ab27186da274d979558557fbdbbd10968fa9758552482720c54152a5640e08b9009e5a30706b66aba510692054d4129d32d0e12e05bbc0b96fb2 languageName: node linkType: hard @@ -10308,6 +10617,15 @@ __metadata: languageName: node linkType: hard +"events-universal@npm:^1.0.0": + version: 1.0.1 + resolution: "events-universal@npm:1.0.1" + dependencies: + bare-events: ^2.7.0 + checksum: fb8451c98535bde30585004303a368d55c38e5bc3ed6aa9b5d29fecaabaf8ec276a33ff77dcc1d1c05eecf83b8161f184cabc9a03b76a06c10e9a4ce827a6abc + languageName: node + linkType: hard + "events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -10324,7 +10642,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:5.0.0, execa@npm:^5.0.0": +"execa@npm:5.0.0": version: 5.0.0 resolution: "execa@npm:5.0.0" dependencies: @@ -10341,6 +10659,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + "exenv-es6@npm:^1.1.1": version: 1.1.1 resolution: "exenv-es6@npm:1.1.1" @@ -10369,9 +10704,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 471fdb70fd3d2c08a74a026973bdd4105b7832911f610ca67bbb74e39279411c1eed2f2a110c9d41c2edd89459ba58fdaba1c174beed73e7a42d773882dcff82 languageName: node linkType: hard @@ -10461,9 +10796,9 @@ __metadata: linkType: hard "exsolve@npm:^1.0.7": - version: 1.0.7 - resolution: "exsolve@npm:1.0.7" - checksum: 3adce048e4b1b08580aaabf38c7f92f78e1a662a1776fc02d7e9500d5ce4a30cd3f8e62206768821aa2c3bc2411a699146ebc5710ccc3d46e91199dbfff89f54 + version: 1.0.8 + resolution: "exsolve@npm:1.0.8" + checksum: e3a19cde5ffe787b2e970cb8dfadd69cc69a3b5e8b976312d9d8c421bb63b6ac2025cb62356c835bfdd810ea657705ed1db69552506d5f6004a0825480feb256 languageName: node linkType: hard @@ -10474,17 +10809,6 @@ __metadata: languageName: node linkType: hard -"external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" - dependencies: - chardet: ^0.7.0 - iconv-lite: ^0.4.24 - tmp: ^0.0.33 - checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 - languageName: node - linkType: hard - "extra-watch-webpack-plugin@npm:^1.0.3": version: 1.0.3 resolution: "extra-watch-webpack-plugin@npm:1.0.3" @@ -10497,13 +10821,20 @@ __metadata: languageName: node linkType: hard -"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": +"extsprintf@npm:1.3.0": version: 1.3.0 resolution: "extsprintf@npm:1.3.0" checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 languageName: node linkType: hard +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -10526,15 +10857,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9": - version: 3.3.1 - resolution: "fast-glob@npm:3.3.1" + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: b6f3add6403e02cf3a798bfbb1183d0f6da2afd368f27456010c0bc1f9640aea308243d4cb2c0ab142f618276e65ecb8be1661d7c62a7b4e5ba774b9ce5432e5 + micromatch: ^4.0.8 + checksum: 0704d7b85c0305fd2cef37777337dfa26230fdd072dce9fb5c82a4b03156f3ffb8ed3e636033e65d45d2a5805a4e475825369a27404c0307f2db0c8eb3366fbd languageName: node linkType: hard @@ -10574,9 +10905,9 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.6 - resolution: "fast-uri@npm:3.0.6" - checksum: 7161ba2a7944778d679ba8e5f00d6a2bb479a2142df0982f541d67be6c979b17808f7edbb0ce78161c85035974bde3fa52b5137df31da46c0828cb629ba67c4e + version: 3.1.0 + resolution: "fast-uri@npm:3.1.0" + checksum: daab0efd3548cc53d0db38ecc764d125773f8bd70c34552ff21abdc6530f26fa4cb1771f944222ca5e61a0a1a85d01a104848ff88c61736de445d97bd616ea7e languageName: node linkType: hard @@ -10588,11 +10919,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.15.0 - resolution: "fastq@npm:1.15.0" + version: 1.19.1 + resolution: "fastq@npm:1.19.1" dependencies: reusify: ^1.0.4 - checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a + checksum: 7691d1794fb84ad0ec2a185f10e00f0e1713b894e2c9c4d42f0bc0ba5f8c00e6e655a202074ca0b91b9c3d977aab7c30c41a8dc069fb5368576ac0054870a0e6 languageName: node linkType: hard @@ -10605,6 +10936,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: bd537daa9d3cd53887eed35efa0eab2dbb1ca408790e10e024120e7a36c6e9ae2b33710cb8381e35def01bc9c1d7eaba746f886338413e68ff6ebaee07b9a6e8 + languageName: node + linkType: hard + "figures@npm:3.2.0, figures@npm:^3.0.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -10614,16 +10957,6 @@ __metadata: languageName: node linkType: hard -"figures@npm:^5.0.0": - version: 5.0.0 - resolution: "figures@npm:5.0.0" - dependencies: - escape-string-regexp: ^5.0.0 - is-unicode-supported: ^1.2.0 - checksum: e6e8b6d1df2f554d4effae4a5ceff5d796f9449f6d4e912d74dab7d5f25916ecda6c305b9084833157d56485a0c78b37164430ddc5675bcee1330e346710669e - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -10654,12 +10987,12 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: ^5.0.1 - checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798 languageName: node linkType: hard @@ -10726,13 +11059,13 @@ __metadata: linkType: hard "flat-cache@npm:^3.0.4": - version: 3.1.1 - resolution: "flat-cache@npm:3.1.1" + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" dependencies: flatted: ^3.2.9 keyv: ^4.5.3 rimraf: ^3.0.2 - checksum: 4958cfe0f46acf84953d4e16676ef5f0d38eab3a92d532a1e8d5f88f11eea8b36d5d598070ff2aeae15f1fde18f8d7d089eefaf9db10b5a587cc1c9072325c7a + checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec languageName: node linkType: hard @@ -10746,38 +11079,38 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: f14167fbe26a9d20f6fca8d998e8f1f41df72c8e81f9f2c9d61ed2bea058248f5e1cbd05e7f88c0e5087a6a0b822a1e5e2b446e879f3cfbe0b07ba2d7f80b026 + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe languageName: node linkType: hard "follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" peerDependenciesMeta: debug: optional: true - checksum: 859e2bacc7a54506f2bf9aacb10d165df78c8c1b0ceb8023f966621b233717dab56e8d08baadc3ad3b9db58af290413d585c999694b7c146aaf2616340c3d2a6 + checksum: 20bf55e9504f59e6cc3743ba27edb2ebf41edea1baab34799408f2c050f73f0c612728db21c691276296d2795ea8a812dc532a98e8793619fcab91abe06d017f languageName: node linkType: hard -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" dependencies: - is-callable: ^1.1.3 - checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + is-callable: ^1.2.7 + checksum: 3c986d7e11f4381237cc98baa0a2f87eabe74719eee65ed7bed275163082b940ede19268c61d04c6260e0215983b12f8d885e3c8f9aa8c2113bf07c37051745c languageName: node linkType: hard "foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" dependencies: - cross-spawn: ^7.0.0 + cross-spawn: ^7.0.6 signal-exit: ^4.0.1 - checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 + checksum: b2c1a6fc0bf0233d645d9fefdfa999abf37db1b33e5dab172b3cbfb0662b88bfbd2c9e7ab853533d199050ec6b65c03fcf078fc212d26e4990220e98c6930eef languageName: node linkType: hard @@ -10788,15 +11121,16 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0, form-data@npm:~4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" +"form-data@npm:^4.0.0, form-data@npm:^4.0.4, form-data@npm:~4.0.0": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 es-set-tostringtag: ^2.1.0 + hasown: ^2.0.2 mime-types: ^2.1.12 - checksum: e887298b22c13c7c9c5a8ba3716f295a479a13ca78bfd855ef11cbce1bcf22bc0ae2062e94808e21d46e5c667664a1a1a8a7f57d7040193c1fefbfb11af58aab + checksum: af8328413c16d0cded5fccc975a44d227c5120fd46a9e81de8acf619d43ed838414cc6d7792195b30b248f76a65246949a129a4dadd148721948f90cd6d4fb69 languageName: node linkType: hard @@ -10840,13 +11174,13 @@ __metadata: linkType: hard "fs-extra@npm:^11.1.0, fs-extra@npm:^11.1.1": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" + version: 11.3.2 + resolution: "fs-extra@npm:11.3.2" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: b12e42fa40ba47104202f57b8480dd098aa931c2724565e5e70779ab87605665594e76ee5fb00545f772ab9ace167fe06d2ab009c416dc8c842c5ae6df7aa7e8 + checksum: 24a7a6e09668add7f74bf6884086b860ce39c7883d94f564623d4ca5c904ff9e5e33fa6333bd3efbf3528333cdedf974e49fa0723e9debf952f0882e6553d81e languageName: node linkType: hard @@ -10873,7 +11207,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -10917,22 +11251,24 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 functions-have-names: ^1.2.3 - checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 + hasown: ^2.0.2 + is-callable: ^1.2.7 + checksum: 3a366535dc08b25f40a322efefa83b2da3cd0f6da41db7775f2339679120ef63b6c7e967266182609e655b8f0a8f65596ed21c7fd72ad8bd5621c2340edd4010 languageName: node linkType: hard @@ -10959,6 +11295,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 3bf87f7b0230de5d74529677e6c3ceb3b7b5d9618b5a22d92b45ce3876defbaf5a77791b25a61b0fa7d13f95675b5ff67a7769f3b9af33f096e34653519e873d + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -10973,7 +11316,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.0 resolution: "get-intrinsic@npm:1.3.0" dependencies: @@ -11019,7 +11362,7 @@ __metadata: languageName: node linkType: hard -"get-proto@npm:^1.0.1": +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": version: 1.0.1 resolution: "get-proto@npm:1.0.1" dependencies: @@ -11029,7 +11372,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:6.0.0, get-stream@npm:^6.0.0": +"get-stream@npm:6.0.0": version: 6.0.0 resolution: "get-stream@npm:6.0.0" checksum: 587e6a93127f9991b494a566f4971cf7a2645dfa78034818143480a80587027bdd8826cdcf80d0eff4a4a19de0d231d157280f24789fc9cc31492e1dcc1290cf @@ -11045,13 +11388,21 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + call-bound: ^1.0.3 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 + checksum: 655ed04db48ee65ef2ddbe096540d4405e79ba0a7f54225775fef43a7e2afcb93a77d141c5f05fdef0afce2eb93bcbfb3597142189d562ac167ff183582683cd languageName: node linkType: hard @@ -11166,6 +11517,17 @@ __metadata: languageName: node linkType: hard +"glob@npm:*, glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" + dependencies: + minimatch: ^10.1.1 + minipass: ^7.1.2 + path-scurry: ^2.0.0 + checksum: 963730222b0acc85a0d2616c08ba3a5d5b5f33fbf69182791967b8a02245db505577a6fc19836d5d58e1cbbfb414ad4f62f605a0372ab05cd9e6998efe944369 + languageName: node + linkType: hard + "glob@npm:7.1.4": version: 7.1.4 resolution: "glob@npm:7.1.4" @@ -11181,17 +11543,18 @@ __metadata: linkType: hard "glob@npm:^10.2.2": - version: 10.3.10 - resolution: "glob@npm:10.3.10" + version: 10.5.0 + resolution: "glob@npm:10.5.0" dependencies: foreground-child: ^3.1.0 - jackspeak: ^2.3.5 - minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - path-scurry: ^1.10.1 + jackspeak: ^3.1.2 + minimatch: ^9.0.4 + minipass: ^7.1.2 + package-json-from-dist: ^1.0.0 + path-scurry: ^1.11.1 bin: glob: dist/esm/bin.mjs - checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 + checksum: cda96c074878abca9657bd984d2396945cf0d64283f6feeb40d738fe2da642be0010ad5210a1646244a5fc3511b0cab5a374569b3de5a12b8a63d392f18c6043 languageName: node linkType: hard @@ -11208,17 +11571,17 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:~7.1.6": - version: 7.1.7 - resolution: "glob@npm:7.1.7" +"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 - minimatch: ^3.0.4 + minimatch: ^3.1.1 once: ^1.3.0 path-is-absolute: ^1.0.0 - checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 languageName: node linkType: hard @@ -11247,19 +11610,26 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e +"glob@npm:~7.1.6": + version: 7.1.7 + resolution: "glob@npm:7.1.7" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8 languageName: node linkType: hard "globals@npm:^13.19.0": - version: 13.23.0 - resolution: "globals@npm:13.23.0" + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: ^0.20.2 - checksum: 194c97cf8d1ef6ba59417234c2386549c4103b6e5f24b1ff1952de61a4753e5d2069435ba629de711a6480b1b1d114a98e2ab27f85e966d5a10c319c3bbd3dc3 + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c languageName: node linkType: hard @@ -11270,12 +11640,13 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: ^1.1.3 - checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 + define-properties: ^1.2.1 + gopd: ^1.0.1 + checksum: 39ad667ad9f01476474633a1834a70842041f70a55571e8dcef5fb957980a92da5022db5430fca8aecc5d47704ae30618c0bc877a579c70710c904e9ef06108a languageName: node linkType: hard @@ -11335,7 +11706,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 @@ -11388,7 +11759,7 @@ __metadata: languageName: node linkType: hard -"handlebars@npm:4.7.8, handlebars@npm:^4.7.7": +"handlebars@npm:4.7.8, handlebars@npm:^4.7.7, handlebars@npm:^4.7.8": version: 4.7.8 resolution: "handlebars@npm:4.7.8" dependencies: @@ -11420,10 +11791,10 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 79730518ae02c77e4af6a1d1a0b6a2c3e1509785532771f9baf0241e83e36329542c3d7a0e723df8cbc85f74eff4f177828a2265a01ba576adbdc2d40d86538b languageName: node linkType: hard @@ -11441,30 +11812,32 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 languageName: node linkType: hard -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: ^1.0.0 + checksum: f55010cb94caa56308041d77967c72a02ffd71386b23f9afa8447e58bc92d49d15c19bf75173713468e92fe3fb1680b03b115da39c21c32c74886d1d50d3e7ff languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -11480,13 +11853,6 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.4 - resolution: "has@npm:1.0.4" - checksum: 8a11ba062e0627c9578a1d08285401e39f1d071a9692ddf793199070edb5648b21c774dd733e2a181edd635bf6862731885f476f4ccf67c998d7a5ff7cef2550 - languageName: node - linkType: hard - "hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -11506,9 +11872,9 @@ __metadata: linkType: hard "highlight-words-core@npm:^1.2.0": - version: 1.2.2 - resolution: "highlight-words-core@npm:1.2.2" - checksum: 737758a8a572c82919552b031df300016164b7d0db6a819d24bc6c7ca2279d3cd6d03497728930d6402423c7a3fc2f42c628a9b01b025c704a0b56a635377511 + version: 1.2.3 + resolution: "highlight-words-core@npm:1.2.3" + checksum: 1cd522406c5875ba2fdd82d47c1211f5db8df0f78166d2a5d3b6cfb77797e636428d8d79993c77827825cc6d35bbc3252d390e7efaaff5b28b3e5022ee16fd2c languageName: node linkType: hard @@ -11538,11 +11904,18 @@ __metadata: linkType: hard "hosted-git-info@npm:^6.0.0": - version: 6.1.1 - resolution: "hosted-git-info@npm:6.1.1" + version: 6.1.3 + resolution: "hosted-git-info@npm:6.1.3" dependencies: lru-cache: ^7.5.1 - checksum: fcd3ca2eaa05f3201425ccbb8aa47f88cdda4a3a6d79453f8e269f7171356278bd1db08f059d8439eb5eaa91c6a8a20800fc49cca6e9e4e899b202a332d5ba6b + checksum: 7a0fc89c98afd07a2a566139fd18136e6a23002a5af3fdf7e36ad2f5fda31e8c5f2e1814fd9daaf385ae5c1f20e34841b4b2b2b63ab10c98c92992c571c3b993 + languageName: node + linkType: hard + +"hpagent@npm:^1.2.0": + version: 1.2.0 + resolution: "hpagent@npm:1.2.0" + checksum: b029da695edae438cee4da2a437386f9db4ac27b3ceb7306d02e1b586c9c194741ed2e943c8a222e0cfefaf27ee3f863aca7ba1721b0950a2a19bf25bc0d85e2 languageName: node linkType: hard @@ -11555,7 +11928,7 @@ __metadata: languageName: node linkType: hard -"html-escaper@npm:^2.0.0": +"html-escaper@npm:^2.0.0, html-escaper@npm:^2.0.2": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 @@ -11580,8 +11953,8 @@ __metadata: linkType: hard "html-webpack-plugin@npm:^5.6.3": - version: 5.6.3 - resolution: "html-webpack-plugin@npm:5.6.3" + version: 5.6.5 + resolution: "html-webpack-plugin@npm:5.6.5" dependencies: "@types/html-minifier-terser": ^6.0.0 html-minifier-terser: ^6.0.2 @@ -11596,7 +11969,7 @@ __metadata: optional: true webpack: optional: true - checksum: 59e7d971b0cfd9ba34c7acaa3c161e43c62596474dd8cd35d7b690498ff5891f21296de0aa1d2e7810348caa657e938461267155dda47913b5eeca7124406270 + checksum: 74fa9b1a25cb1e5434d22bbc7cce8d7a182f2db9061accf8b535cdb676e251bd0d9f3d7efd6aaab0988157acc8c8349a435c6fd0d4f2c21f5d24c2b3c5c9f611 languageName: node linkType: hard @@ -11624,10 +11997,10 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 7a7246ddfce629f96832791176fd643589d954e6f3b49548dadb4290451961237fab8fcea41cd2008fe819d95b41c1e8b97f47d088afc0a1c81705287b4ddbcc languageName: node linkType: hard @@ -11655,6 +12028,16 @@ __metadata: languageName: node linkType: hard +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: ^7.1.0 + debug: ^4.3.4 + checksum: 670858c8f8f3146db5889e1fa117630910101db601fff7d5a8aa637da0abedf68c899f03d3451cac2f83bcc4c3d2dabf339b3aa00ff8080571cceb02c3ce02f3 + languageName: node + linkType: hard + "http-signature@npm:~1.4.0": version: 1.4.0 resolution: "http-signature@npm:1.4.0" @@ -11700,6 +12083,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: ^7.1.2 + debug: 4 + checksum: b882377a120aa0544846172e5db021fa8afbf83fea2a897d397bd2ddd8095ab268c24bc462f40a15f2a8c600bf4aa05ce52927f70038d4014e68aefecfa94e8d + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -11716,7 +12109,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": +"iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -11734,6 +12127,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:^0.7.0": + version: 0.7.0 + resolution: "iconv-lite@npm:0.7.0" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: f362a8befb95e37f29be1d1290c17e0c9d0d4ad4fa62fcfd813cc9c937ab89401abed9a011f83e10651a267abb2aa231ec7da91d843570bec873bd98489b5bf8 + languageName: node + linkType: hard + "icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": version: 5.1.0 resolution: "icss-utils@npm:5.1.0" @@ -11769,32 +12171,32 @@ __metadata: linkType: hard "ignore-walk@npm:^6.0.0": - version: 6.0.3 - resolution: "ignore-walk@npm:6.0.3" + version: 6.0.5 + resolution: "ignore-walk@npm:6.0.5" dependencies: minimatch: ^9.0.0 - checksum: d8ba534beb3a3fa48ddd32c79bbedb14a831ff7fab548674765d661d8f8d0df4b0827e3ad86e35cb15ff027655bfd6a477bd8d5d0411e229975a7c716f1fc9de + checksum: 06f88a53c412385ca7333276149a7e9461b7fad977c44272d854522b0d456c2aa75d832bd3980a530e2c3881126aa9cc4782b3551ca270fffc0ce7c2b4a2e199 languageName: node linkType: hard "ignore@npm:^5.0.4, ignore@npm:^5.1.1, ignore@npm:^5.2.0": - version: 5.2.4 - resolution: "ignore@npm:5.2.4" - checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be languageName: node linkType: hard "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: ^1.0.0 resolve-from: ^4.0.0 - checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + checksum: a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 languageName: node linkType: hard -"import-local@npm:3.1.0, import-local@npm:^3.0.2": +"import-local@npm:3.1.0": version: 3.1.0 resolution: "import-local@npm:3.1.0" dependencies: @@ -11806,6 +12208,18 @@ __metadata: languageName: node linkType: hard +"import-local@npm:^3.0.2": + version: 3.2.0 + resolution: "import-local@npm:3.2.0" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: 0b0b0b412b2521739fbb85eeed834a3c34de9bc67e670b3d0b86248fc460d990a7b116ad056c084b87a693ef73d1f17268d6a5be626bb43c998a8b1c8a230004 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -11820,6 +12234,13 @@ __metadata: languageName: node linkType: hard +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -11860,14 +12281,14 @@ __metadata: linkType: hard "inquirer@npm:^8.2.4": - version: 8.2.4 - resolution: "inquirer@npm:8.2.4" + version: 8.2.7 + resolution: "inquirer@npm:8.2.7" dependencies: + "@inquirer/external-editor": ^1.0.0 ansi-escapes: ^4.2.1 chalk: ^4.1.1 cli-cursor: ^3.1.0 cli-width: ^3.0.0 - external-editor: ^3.0.3 figures: ^3.0.0 lodash: ^4.17.21 mute-stream: 0.0.8 @@ -11877,23 +12298,19 @@ __metadata: string-width: ^4.1.0 strip-ansi: ^6.0.0 through: ^2.3.6 - wrap-ansi: ^7.0.0 - checksum: dfcb6529d3af443dfea2241cb471508091b51f5121a088fdb8728b23ec9b349ef0a5e13a0ef2c8e19457b0bed22f7cbbcd561f7a4529d084c562a58c605e2655 + wrap-ansi: ^6.0.1 + checksum: b7e39a04da31207826f675e2ff491bd35bb28efbe336e8fb49641d8353d4a312943514452fb0a23702e64f70c7e44188586880c902d67541aae579cd6564c3fb languageName: node linkType: hard "inquirer@npm:^9.1.4": - version: 9.2.11 - resolution: "inquirer@npm:9.2.11" + version: 9.3.8 + resolution: "inquirer@npm:9.3.8" dependencies: - "@ljharb/through": ^2.3.9 + "@inquirer/external-editor": ^1.0.2 + "@inquirer/figures": ^1.0.3 ansi-escapes: ^4.3.2 - chalk: ^5.3.0 - cli-cursor: ^3.1.0 cli-width: ^4.1.0 - external-editor: ^3.1.0 - figures: ^5.0.0 - lodash: ^4.17.21 mute-stream: 1.0.0 ora: ^5.4.1 run-async: ^3.0.0 @@ -11901,22 +12318,30 @@ __metadata: string-width: ^4.2.3 strip-ansi: ^6.0.1 wrap-ansi: ^6.2.0 - checksum: af59b422eb6005dac90f6c5e8295013d0611ac5471ff4fbf4ad3e228136e0f41db73af2d5a68e36770f9e31ac203ae1589d35c3e970acbc6110bb5df905928f9 + yoctocolors-cjs: ^2.1.2 + checksum: 7afda58051660abd72d46a904df5295a16e8936f85fe99cb3138837777e71239591e6ed085f6cbfd28c51962d1d04386d5cc53a399060e30252ef5f991c58c13 languageName: node linkType: hard -"internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: - get-intrinsic: ^1.2.0 - has: ^1.0.3 - side-channel: ^1.0.4 - checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a + es-errors: ^1.3.0 + hasown: ^2.0.2 + side-channel: ^1.1.0 + checksum: 8e0991c2d048cc08dab0a91f573c99f6a4215075887517ea4fa32203ce8aea60fa03f95b177977fa27eb502e5168366d0f3e02c762b799691411d49900611861 + languageName: node + linkType: hard + +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 7ca41ec6aba8f0072fc32fa8a023450a9f44503e2d8e403583c55714b25efd6390c38a87161ec456bf42d7bc83aab62eb28f5aef34876b1ac4e60693d5e1d241 languageName: node linkType: hard -"internmap@npm:1 - 2, internmap@npm:^1.0.0": +"internmap@npm:^1.0.0": version: 1.0.1 resolution: "internmap@npm:1.0.1" checksum: 9d00f8c0cf873a24a53a5a937120dab634c41f383105e066bb318a61864e6292d24eb9516e8e7dccfb4420ec42ca474a0f28ac9a6cc82536898fa09bbbe53813 @@ -11930,10 +12355,10 @@ __metadata: languageName: node linkType: hard -"ip@npm:^2.0.0": - version: 2.0.1 - resolution: "ip@npm:2.0.1" - checksum: d765c9fd212b8a99023a4cde6a558a054c298d640fec1020567494d257afd78ca77e37126b1a3ef0e053646ced79a816bf50621d38d5e768cdde0431fa3b0d35 +"ip-address@npm:^10.0.1": + version: 10.1.0 + resolution: "ip-address@npm:10.1.0" + checksum: 76b1abcdf52a32e2e05ca1f202f3a8ab8547e5651a9233781b330271bd7f1a741067748d71c4cbb9d9906d9f1fa69e7ddc8b4a11130db4534fdab0e908c84e0d languageName: node linkType: hard @@ -11944,14 +12369,14 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 - is-typed-array: ^1.1.10 - checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: f137a2a6e77af682cdbffef1e633c140cf596f72321baf8bba0f4ef22685eb4339dde23dfe9e9ca430b5f961dee4d46577dcf12b792b68518c8449b134fb9156 languageName: node linkType: hard @@ -11963,41 +12388,45 @@ __metadata: linkType: hard "is-arrayish@npm:^0.3.1": - version: 0.3.2 - resolution: "is-arrayish@npm:0.3.2" - checksum: 977e64f54d91c8f169b59afcd80ff19227e9f5c791fa28fa2e5bce355cbaf6c2c356711b734656e80c9dd4a854dd7efcf7894402f1031dfc5de5d620775b4d5f + version: 0.3.4 + resolution: "is-arrayish@npm:0.3.4" + checksum: 09816634eb7b6e357067f6b49c7656b4aff6d8b25486553d086bab53ce0f929c0293906539503b2a317f3137b5a5cd7e9ea01305f6090c0037c4340d9121420d languageName: node linkType: hard "is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + async-function: ^1.0.0 + call-bound: ^1.0.3 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: 9bece45133da26636488ca127d7686b85ad3ca18927e2850cff1937a650059e90be1c71a48623f8791646bb7a241b0cabf602a0b9252dcfa5ab273f2399000e6 languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - has-bigints: ^1.0.1 - checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + has-bigints: ^1.0.2 + checksum: ee1544f0e664f253306786ed1dce494b8cf242ef415d6375d8545b4d8816b0f054bd9f948a8988ae2c6325d1c28260dd02978236b2f7b8fb70dfc4838a6c9fa7 languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 0415b181e8f1bfd5d3f8a20f8108e64d372a72131674eea9c2923f39d065b6ad08d654765553bdbffbd92c3746f1007986c34087db1bd89a31f71be8359ccdaa languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac @@ -12015,21 +12444,33 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - has: ^1.0.3 - checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 + hasown: ^2.0.2 + checksum: 6ec5b3c42d9cbf1ac23f164b16b8a140c3cec338bf8f884c076ca89950c7cc04c33e78f02b8cae7ff4751f3247e3174b2330f1fe4de194c7210deb8b1ea316a7 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 + is-typed-array: ^1.1.13 + checksum: 31600dd19932eae7fd304567e465709ffbfa17fa236427c9c864148e1b54eb2146357fcf3aed9b686dee13c217e1bb5a649cb3b9c479e1004c0648e9febde1b2 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: ^1.0.2 + has-tostringtag: ^1.0.2 + checksum: d6c36ab9d20971d65f3fc64cef940d57a4900a2ac85fb488a46d164c2072a33da1cb51eefcc039e3e5c208acbce343d3480b84ab5ff0983f617512da2742562a languageName: node linkType: hard @@ -12056,12 +12497,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" dependencies: - call-bind: ^1.0.2 - checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + call-bound: ^1.0.3 + checksum: 38c646c506e64ead41a36c182d91639833311970b6b6c6268634f109eef0a1a9d2f1f2e499ef4cb43c744a13443c4cdd2f0812d5afdcee5e9b65b72b28c48557 languageName: node linkType: hard @@ -12080,11 +12521,15 @@ __metadata: linkType: hard "is-generator-function@npm:^1.0.10": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" dependencies: - has-tostringtag: ^1.0.0 - checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + call-bound: ^1.0.4 + generator-function: ^2.0.0 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: 0b81c613752a5e534939e5b3835ff722446837a5b94c3a3934af5ded36a651d9aa31c3f11f8a3453884b9658bf26dbfb7eb855e744d920b07f084bd890a43414 languageName: node linkType: hard @@ -12118,26 +12563,27 @@ __metadata: languageName: node linkType: hard -"is-map@npm:^2.0.1": - version: 2.0.2 - resolution: "is-map@npm:2.0.2" - checksum: ace3d0ecd667bbdefdb1852de601268f67f2db725624b1958f279316e13fecb8fa7df91fd60f690d7417b4ec180712f5a7ee967008e27c65cfd475cc84337728 +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: e6ce5f6380f32b141b3153e6ba9074892bbbbd655e92e7ba5ff195239777e767a976dcd4e22f864accaf30e53ebf961ab1995424aef91af68788f0591b7396cc languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: c1e6b23d2070c0539d7b36022d5a94407132411d01aba39ec549af824231f3804b1aea90b5e4e58e807a65d23ceb538ed6e355ce76b267bdd86edb757ffcbdcd languageName: node linkType: hard -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 6517f0a0e8c4b197a21afb45cd3053dc711e79d45d8878aa3565de38d0102b130ca8732485122c7b336e98c27dacd5236854e3e6526e0eb30cae64956535662f languageName: node linkType: hard @@ -12206,63 +12652,75 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + call-bound: ^1.0.2 + gopd: ^1.2.0 + has-tostringtag: ^1.0.2 + hasown: ^2.0.2 + checksum: 99ee0b6d30ef1bb61fa4b22fae7056c6c9b3c693803c0c284ff7a8570f83075a7d38cda53b06b7996d441215c27895ea5d1af62124562e13d91b3dbec41a5e13 languageName: node linkType: hard -"is-set@npm:^2.0.1": - version: 2.0.2 - resolution: "is-set@npm:2.0.2" - checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 36e3f8c44bdbe9496c9689762cc4110f6a6a12b767c5d74c0398176aa2678d4467e3bf07595556f2dba897751bde1422480212b97d973c7b08a343100b0c0dfe languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + call-bound: ^1.0.3 + checksum: 1611fedc175796eebb88f4dfc393dd969a4a8e6c69cadaff424ee9d4464f9f026399a5f84a90f7c62d6d7ee04e3626a912149726de102b0bd6c1ee6a9868fa5a languageName: node linkType: hard "is-ssh@npm:^1.4.0": - version: 1.4.0 - resolution: "is-ssh@npm:1.4.0" + version: 1.4.1 + resolution: "is-ssh@npm:1.4.1" dependencies: protocols: ^2.0.1 - checksum: 75eaa17b538bee24b661fbeb0f140226ac77e904a6039f787bea418431e2162f1f9c4c4ccad3bd169e036cd701cc631406e8c505d9fa7e20164e74b47f86f40f + checksum: 005b461ac444398eb8b7cd2f489288e49dd18c8b6cbf1eb20767f9b79f330ab6e3308b2dac8ec6ca2a950d2a368912e0e992e2474bc1b5204693abb6226c1431 languageName: node linkType: hard -"is-stream@npm:2.0.0, is-stream@npm:^2.0.0": +"is-stream@npm:2.0.0": version: 2.0.0 resolution: "is-stream@npm:2.0.0" checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 2eeaaff605250f5e836ea3500d33d1a5d3aa98d008641d9d42fb941e929ffd25972326c2ef912987e54c95b6f10416281aaf1b35cdf81992cfb7524c5de8e193 languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + call-bound: ^1.0.2 + has-symbols: ^1.1.0 + safe-regex-test: ^1.1.0 + checksum: bfafacf037af6f3c9d68820b74be4ae8a736a658a3344072df9642a090016e281797ba8edbeb1c83425879aae55d1cb1f30b38bf132d703692b2570367358032 languageName: node linkType: hard @@ -12275,12 +12733,12 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: ^1.1.11 - checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 + which-typed-array: ^1.1.16 + checksum: ea7cfc46c282f805d19a9ab2084fd4542fed99219ee9dbfbc26284728bd713a51eac66daa74eca00ae0a43b61322920ba334793607dc39907465913e921e0892 languageName: node linkType: hard @@ -12298,36 +12756,29 @@ __metadata: languageName: node linkType: hard -"is-unicode-supported@npm:^1.2.0": - version: 1.3.0 - resolution: "is-unicode-supported@npm:1.3.0" - checksum: 20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc - languageName: node - linkType: hard - -"is-weakmap@npm:^2.0.1": - version: 2.0.1 - resolution: "is-weakmap@npm:2.0.1" - checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: f36aef758b46990e0d3c37269619c0a08c5b29428c0bb11ecba7f75203442d6c7801239c2f31314bc79199217ef08263787f3837d9e22610ad1da62970d6616d languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + call-bound: ^1.0.3 + checksum: 1769b9aed5d435a3a989ffc18fc4ad1947d2acdaf530eb2bd6af844861b545047ea51102f75901f89043bed0267ed61d914ee21e6e8b9aa734ec201cdfc0726f languageName: node linkType: hard -"is-weakset@npm:^2.0.1": - version: 2.0.2 - resolution: "is-weakset@npm:2.0.2" +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: 5c6c8415a06065d78bdd5e3a771483aa1cd928df19138aa73c4c51333226f203f22117b4325df55cc8b3085a6716870a320c2d757efee92d7a7091a039082041 languageName: node linkType: hard @@ -12361,6 +12812,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -12383,9 +12841,9 @@ __metadata: linkType: hard "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 2367407a8d13982d8f7a859a35e7f8dd5d8f75aae4bb5484ede3a9ea1b426dc245aff28b976a2af48ee759fdd9be374ce2bd2669b644f31e76c5f46a2e29a831 languageName: node linkType: hard @@ -12403,15 +12861,15 @@ __metadata: linkType: hard "istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.1 - resolution: "istanbul-lib-instrument@npm:6.0.1" + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: - "@babel/core": ^7.12.3 - "@babel/parser": ^7.14.7 - "@istanbuljs/schema": ^0.1.2 + "@babel/core": ^7.23.9 + "@babel/parser": ^7.23.9 + "@istanbuljs/schema": ^0.1.3 istanbul-lib-coverage: ^3.2.0 semver: ^7.5.4 - checksum: fb23472e739cfc9b027cefcd7d551d5e7ca7ff2817ae5150fab99fe42786a7f7b56a29a2aa8309c37092e18297b8003f9c274f50ca4360949094d17fbac81472 + checksum: 74104c60c65c4fa0e97cc76f039226c356123893929f067bfad5f86fe839e08f5d680354a68fead3bc9c1e2f3fa6f3f53cded70778e821d911e851d349f3545a languageName: node linkType: hard @@ -12438,52 +12896,52 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" dependencies: html-escaper: ^2.0.0 istanbul-lib-report: ^3.0.0 - checksum: 44c4c0582f287f02341e9720997f9e82c071627e1e862895745d5f52ec72c9b9f38e1d12370015d2a71dcead794f34c7732aaef3fab80a24bc617a21c3d911d6 + checksum: 72b4c8525276147908d28b0917bc675b1019836b638e50875521ca3b8ec63672681aa98dbab88a6f49ef798c08fe041d428abdcf84f4f3fcff5844eee54af65a languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: ^1.2.1 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - reflect.getprototypeof: ^1.0.4 - set-function-name: ^2.0.1 - checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + define-data-property: ^1.1.4 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.6 + get-proto: ^1.0.0 + has-symbols: ^1.1.0 + set-function-name: ^2.0.2 + checksum: 7db23c42629ba4790e6e15f78b555f41dbd08818c85af306988364bd19d86716a1187cb333444f3a0036bfc078a0e9cb7ec67fef3a61662736d16410d7f77869 languageName: node linkType: hard -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: "@isaacs/cliui": ^8.0.2 "@pkgjs/parseargs": ^0.11.0 dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 + checksum: be31027fc72e7cc726206b9f560395604b82e0fddb46c4cbf9f97d049bcef607491a5afc0699612eaa4213ca5be8fd3e1e7cd187b3040988b65c9489838a7c00 languageName: node linkType: hard "jake@npm:^10.8.5": - version: 10.8.7 - resolution: "jake@npm:10.8.7" + version: 10.9.4 + resolution: "jake@npm:10.9.4" dependencies: - async: ^3.2.3 - chalk: ^4.0.2 + async: ^3.2.6 filelist: ^1.0.4 - minimatch: ^3.1.2 + picocolors: ^1.1.1 bin: jake: bin/cli.js - checksum: a23fd2273fb13f0d0d845502d02c791fd55ef5c6a2d207df72f72d8e1eac6d2b8ffa6caf660bc8006b3242e0daaa88a3ecc600194d72b5c6016ad56e9cd43553 + checksum: 1ca6f6a6fe1f2385ed32df82fcb71f9c7378f7fb591ed0b183e9d79a1801221cfe96f3dd9174db2d1a9705a13ae659f2af7004ad23645c910121fc7086a137ef languageName: node linkType: hard @@ -12884,7 +13342,7 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": +"jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" dependencies: @@ -12977,7 +13435,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": +"js-yaml@npm:4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -12989,14 +13447,25 @@ __metadata: linkType: hard "js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" + version: 3.14.2 + resolution: "js-yaml@npm:3.14.2" dependencies: argparse: ^1.0.7 esprima: ^4.0.0 bin: js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + checksum: 626fc207734a3452d6ba84e1c8c226240e6d431426ed94d0ab043c50926d97c509629c08b1d636f5d27815833b7cfd225865631da9fb33cb957374490bf3e90b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: ea2339c6930fe048ec31b007b3c90be2714ab3e7defcc2c27ebf30c74fd940358f29070b4345af0019ef151875bf3bc3f8644bea1bab0372652b5044813ac02d languageName: node linkType: hard @@ -13046,21 +13515,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d - languageName: node - linkType: hard - -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: b8b44cbfc92f198ad972fba706ee6a1dfa7485321ee8c0b25f5cedd538dcb20cde3197de16a7265430fce8277a12db066219369e3d51055038946039f6e20e17 + checksum: 19c94095ea026725540c0d29da33ab03144f6bcf2d4159e4833d534976e99e0c09c38cefa9a575279a51fc36b31166f8d6d05c9fe2645d5f15851d690b41f17f languageName: node linkType: hard @@ -13086,9 +13546,9 @@ __metadata: linkType: hard "json-parse-even-better-errors@npm:^3.0.0": - version: 3.0.0 - resolution: "json-parse-even-better-errors@npm:3.0.0" - checksum: f1970b5220c7fa23d888565510752c3d5e863f93668a202fcaa719739fa41485dfc6a1db212f702ebd3c873851cc067aebc2917e3f79763cae2fdb95046f38f3 + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 6f04ea6c9ccb783630a59297959247e921cc90b917b8351197ca7fd058fccc7079268fd9362be21ba876fc26aa5039369dd0a2280aae49aae425784794a94927 languageName: node linkType: hard @@ -13140,10 +13600,10 @@ __metadata: languageName: node linkType: hard -"json-stringify-pretty-compact@npm:^3.0.0, json-stringify-pretty-compact@npm:~3.0.0": - version: 3.0.0 - resolution: "json-stringify-pretty-compact@npm:3.0.0" - checksum: 01ab5c5c8260299414868d96db97f53aef93c290fe469edd9a1363818e795006e01c952fa2fd7b47cbbab506d5768998eccc25e1da4fa2ccfebd1788c6098791 +"json-stringify-pretty-compact@npm:^4.0.0, json-stringify-pretty-compact@npm:~4.0.0": + version: 4.0.0 + resolution: "json-stringify-pretty-compact@npm:4.0.0" + checksum: a10d5c423e467872994a49c5c1b56b073f277ce02d899cf567fc625f3783b89406bee6408bfb3b4bdeeff509b6a562f5259227e26754a6186f721809ca895f0c languageName: node linkType: hard @@ -13194,15 +13654,15 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.0 + resolution: "jsonfile@npm:6.2.0" dependencies: graceful-fs: ^4.1.6 universalify: ^2.0.0 dependenciesMeta: graceful-fs: optional: true - checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + checksum: c3028ec5c770bb41290c9bb9ca04bdd0a1b698ddbdf6517c9453d3f90fc9e000c9675959fb46891d317690a93c62de03ff1735d8dbe02be83e51168ce85815d3 languageName: node linkType: hard @@ -13263,13 +13723,13 @@ __metadata: linkType: hard "jwa@npm:^1.4.1": - version: 1.4.1 - resolution: "jwa@npm:1.4.1" + version: 1.4.2 + resolution: "jwa@npm:1.4.2" dependencies: - buffer-equal-constant-time: 1.0.1 + buffer-equal-constant-time: ^1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: ^5.0.1 - checksum: ff30ea7c2dcc61f3ed2098d868bf89d43701605090c5b21b5544b512843ec6fd9e028381a4dda466cbcdb885c2d1150f7c62e7168394ee07941b4098e1035e2f + checksum: fd1a6de6c649a4b16f0775439ac9173e4bc9aa0162c7f3836699af47736ae000fafe89f232a2345170de6c14021029cb94b488f7882c6caf61e6afef5fce6494 languageName: node linkType: hard @@ -13284,13 +13744,13 @@ __metadata: linkType: hard "katex@npm:^0.16.22": - version: 0.16.22 - resolution: "katex@npm:0.16.22" + version: 0.16.25 + resolution: "katex@npm:0.16.25" dependencies: commander: ^8.3.0 bin: katex: cli.js - checksum: 66a609b6f3e1a3e8634a03228dcd31cb88b7f39d057cfe5271417bc8eb64b85f256accdbd68f453b5714e4e9546192bad554f75c8b9adb91d6b0a7a93505376b + checksum: 6c73ffd33018c42656bf220889e30738f84a1e00a0e22300ffbabd559880bb3dad33fd3b5e5fcf62addd79c1b31f7c75fcfa6cc8684de6175ce5e30248cff607 languageName: node linkType: hard @@ -13467,15 +13927,16 @@ __metadata: languageName: node linkType: hard -"lib0@npm:^0.2.74, lib0@npm:^0.2.85": - version: 0.2.86 - resolution: "lib0@npm:0.2.86" +"lib0@npm:^0.2.85, lib0@npm:^0.2.99": + version: 0.2.114 + resolution: "lib0@npm:0.2.114" dependencies: isomorphic.js: ^0.2.4 bin: + 0ecdsa-generate-keypair: bin/0ecdsa-generate-keypair.js 0gentesthtml: bin/gentesthtml.js 0serve: bin/0serve.js - checksum: 0475bed3d559eeca7e8cae5cf3f2afe1eb787e286659063f82f3b53890d2e15ad913054b43893c626b75a6c887f193e90ed7ed314200606c220201c50abae9de + checksum: af6583437c4a29bf015407fc81882009b3f0b916d308d05d93287b20f19f3bd41674e30ea6a98789bcc71cc4e32f748ad5d94ea657d82911003710bbf6018764 languageName: node linkType: hard @@ -13526,9 +13987,9 @@ __metadata: linkType: hard "lines-and-columns@npm:~2.0.3": - version: 2.0.3 - resolution: "lines-and-columns@npm:2.0.3" - checksum: 5955363dfd7d3d7c476d002eb47944dbe0310d57959e2112dce004c0dc76cecfd479cf8c098fd479ff344acdf04ee0e82b455462a26492231ac152f6c48d17a1 + version: 2.0.4 + resolution: "lines-and-columns@npm:2.0.4" + checksum: f5e3e207467d3e722280c962b786dc20ebceb191821dcd771d14ab3146b6744cae28cf305ee4638805bec524ac54800e15698c853fcc53243821f88df37e4975 languageName: node linkType: hard @@ -13556,10 +14017,10 @@ __metadata: languageName: node linkType: hard -"loader-runner@npm:^4.2.0": - version: 4.3.0 - resolution: "loader-runner@npm:4.3.0" - checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569 +"loader-runner@npm:^4.3.1": + version: 4.3.1 + resolution: "loader-runner@npm:4.3.1" + checksum: 14689a39a79b286d3d15f2199384d6132d62ea707abd6c7e50dc8a1f80c20cbfdd5344f7e6b4a7346974696689ab1a96f8ec7d1e8bf206c5264561502658bd3c languageName: node linkType: hard @@ -13574,7 +14035,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.0, loader-utils@npm:~2.0.0": +"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.4, loader-utils@npm:~2.0.0": version: 2.0.4 resolution: "loader-utils@npm:2.0.4" dependencies: @@ -13661,13 +14122,6 @@ __metadata: languageName: node linkType: hard -"lodash.flatten@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flatten@npm:4.4.0" - checksum: 0ac34a393d4b795d4b7421153d27c13ae67e08786c9cbb60ff5b732210d46f833598eee3fb3844bb10070e8488efe390ea53bb567377e0cb47e9e630bf0811cb - languageName: node - linkType: hard - "lodash.includes@npm:^4.3.0": version: 4.3.0 resolution: "lodash.includes@npm:4.3.0" @@ -13675,13 +14129,6 @@ __metadata: languageName: node linkType: hard -"lodash.invokemap@npm:^4.6.0": - version: 4.6.0 - resolution: "lodash.invokemap@npm:4.6.0" - checksum: 646ceebbefbcb6da301f8c2868254680fd0bcdc6ada470495d9ae49c9c32938829c1b38a38c95d0258409a9655f85db404b16e648381c7450b7ed3d9c52d8808 - languageName: node - linkType: hard - "lodash.isboolean@npm:^3.0.3": version: 3.0.3 resolution: "lodash.isboolean@npm:3.0.3" @@ -13724,7 +14171,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 @@ -13752,13 +14199,6 @@ __metadata: languageName: node linkType: hard -"lodash.pullall@npm:^4.2.0": - version: 4.2.0 - resolution: "lodash.pullall@npm:4.2.0" - checksum: 7a5fbaedf186ec197ce1e0b9ba1d88a89773ebaf6a8291c7d273838cac59cb3b339cf36ef00e94172862ee84d2304c38face161846f08f5581d0553dcbdcd090 - languageName: node - linkType: hard - "lodash.uniq@npm:^4.5.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" @@ -13766,14 +14206,7 @@ __metadata: languageName: node linkType: hard -"lodash.uniqby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.uniqby@npm:4.7.0" - checksum: 659264545a95726d1493123345aad8cbf56e17810fa9a0b029852c6d42bc80517696af09d99b23bef1845d10d95e01b8b4a1da578f22aeba7a30d3e0022a4938 - languageName: node - linkType: hard - -"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": +"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -13837,6 +14270,20 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a + languageName: node + linkType: hard + +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": + version: 11.2.2 + resolution: "lru-cache@npm:11.2.2" + checksum: 052b3d0b81a02dd017e8b6d82422bed273732c89c9c63762f538e0a75b7018247896b365c19d9392cc7de9c6a304cde3ac11eb7376f96a4885d0ab32b5c46d5b + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -13855,13 +14302,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.1 - resolution: "lru-cache@npm:10.0.1" - checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 - languageName: node - linkType: hard - "make-dir@npm:4.0.0, make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -13890,14 +14330,38 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x": +"make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 languageName: node linkType: hard -"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.0.3, make-fetch-happen@npm:^11.1.1": +"make-fetch-happen@npm:^10.0.3": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c + languageName: node + linkType: hard + +"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.1.1": version: 11.1.1 resolution: "make-fetch-happen@npm:11.1.1" dependencies: @@ -13920,6 +14384,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^15.0.0": + version: 15.0.3 + resolution: "make-fetch-happen@npm:15.0.3" + dependencies: + "@npmcli/agent": ^4.0.0 + cacache: ^20.0.1 + http-cache-semantics: ^4.1.1 + minipass: ^7.0.2 + minipass-fetch: ^5.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^1.0.0 + proc-log: ^6.0.0 + promise-retry: ^2.0.1 + ssri: ^13.0.0 + checksum: 4fb9dbb739b33565c85dacdcff7eb9388d8f36f326a59dc13375f01af809c42c48aa5d1f4840ee36623b2461a15476e1e79e4548ca1af30b42e1e324705ac8b3 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -13943,41 +14426,44 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:^7.3.2": - version: 7.7.4 - resolution: "markdown-to-jsx@npm:7.7.4" +"markdown-to-jsx@npm:^7.4.1": + version: 7.7.17 + resolution: "markdown-to-jsx@npm:7.7.17" peerDependencies: react: ">= 0.14.0" - checksum: e7aaef2a85a7825c5f4cbf394fbd9ed51c45a29288e7b7e88cde63eef3f233448ecf3b9367f9eba2a5eea35db21b7ec06f96ac4a4c035643059c065ed4e6083b + peerDependenciesMeta: + react: + optional: true + checksum: fd0c50f7ed11d036dd607b48e7d8283f86aea23028e4a0be0051e2717aa9da15967bd219a24b84480c5efb825d33b855f2f972de269720377a63bae810de5df9 languageName: node linkType: hard "marked-gfm-heading-id@npm:^4.1.2": - version: 4.1.2 - resolution: "marked-gfm-heading-id@npm:4.1.2" + version: 4.1.3 + resolution: "marked-gfm-heading-id@npm:4.1.3" dependencies: github-slugger: ^2.0.0 peerDependencies: - marked: ">=13 <17" - checksum: 47020ae9e4433371a6059fecb6698044b95a07232904c59cc2ca52995ade692724cddc2c0ee9c3db42f65ed37ceb6957afce3d9bd0d30b7d17afba45c03cdd1b + marked: ">=13 <18" + checksum: 61cccce4b5d8a75c9d5c4c1c9b6ee4896fa9c34747dd7efe37bb3ff100f0cb8bd93cc0f93eed4ead1c2e6b0d546b4886455e4655ada3c6f1051d122a456c507a languageName: node linkType: hard "marked-mangle@npm:^1.1.11": - version: 1.1.11 - resolution: "marked-mangle@npm:1.1.11" + version: 1.1.12 + resolution: "marked-mangle@npm:1.1.12" peerDependencies: - marked: ">=4 <17" - checksum: e2872cbe62dc60347eaef2494049a3fb65bcef3f1097407dd8e3f946856085d3ce05b516ba0d2307cbf91019fd38ad25704200c9dc601a0da29d64c76c803027 + marked: ">=4 <18" + checksum: 3340af16fb4247142a6cb803e89a8e1650f2f4878da0d05344dd80780abd575288015e3f9ff831e075a0b09cc5947fce39fd68bcdce2fc8ed2f727a603d78ada languageName: node linkType: hard "marked@npm:^16.2.1": - version: 16.3.0 - resolution: "marked@npm:16.3.0" + version: 16.4.2 + resolution: "marked@npm:16.4.2" bin: marked: bin/marked.js - checksum: a20056f643144552a0609d320ebf9fc080eecd840a821e3e315f75f8d306ce083ec62297f7a64fc60bfb073e74a96310a599376349dc26782b684651334dc95a + checksum: 8749bc6228ff59eb63f82c7310750336eb85c42c2b37d0d24f86807cf9e7b441bf8a20ed1bbcadfcd7a2db41d1b6069642286d4403815b90c2ce5be6aa00124c languageName: node linkType: hard @@ -14008,9 +14494,9 @@ __metadata: linkType: hard "memoize-one@npm:^4.0.0": - version: 4.0.3 - resolution: "memoize-one@npm:4.0.3" - checksum: addd18c046542f57440ba70bf8ebd48663d17626cade681f777522ef70900a87ec72c5041bed8ece4f6d40a2cb58803bae388b50a4b740d64f36bcda20c147b7 + version: 4.1.0 + resolution: "memoize-one@npm:4.1.0" + checksum: 5a0c5a0795c4af01649797dc7a417d441edda6e5933510aebd47b57a1ea84d31c42092aee03b0d1d969c102b57d45ba673b593228cd507c82e577a69847dfbae languageName: node linkType: hard @@ -14110,23 +14596,30 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: - braces: ^3.0.2 + braces: ^3.0.3 picomatch: ^2.3.1 - checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc + checksum: 79920eb634e6f400b464a954fcfa589c4e7c7143209488e44baf627f9affc8b1e306f41f4f0deedde97e69cb725920879462d3e750ab3bd3c1aed675bb3a8966 languageName: node linkType: hard -"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": +"mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f languageName: node linkType: hard +"mime-db@npm:>= 1.43.0 < 2": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: e99aaf2f23f5bd607deb08c83faba5dd25cf2fec90a7cc5b92d8260867ee08dab65312e1a589e60093dc7796d41e5fae013268418482f1db4c7d52d0a0960ac9 + languageName: node + linkType: hard + "mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" @@ -14192,13 +14685,14 @@ __metadata: linkType: hard "mini-css-extract-plugin@npm:^2.7.0": - version: 2.7.6 - resolution: "mini-css-extract-plugin@npm:2.7.6" + version: 2.9.4 + resolution: "mini-css-extract-plugin@npm:2.9.4" dependencies: schema-utils: ^4.0.0 + tapable: ^2.2.1 peerDependencies: webpack: ^5.0.0 - checksum: be6f7cefc6275168eb0a6b8fe977083a18c743c9612c9f00e6c1a62c3393ca7960e93fba1a7ebb09b75f36a0204ad087d772c1ef574bc29c90c0e8175a3c0b83 + checksum: 4ec46ebdcb5dae4b1c012debca90fea27b1e8e7790d408154232d77d25f56f839e7b1ec5401a962d6356e7b9301c760d2ef62e1cb0d4d7b6ec8209f812733dda languageName: node linkType: hard @@ -14225,7 +14719,16 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2": +"minimatch@npm:*, minimatch@npm:^10.1.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": ^5.0.0 + checksum: 8820c0be92994f57281f0a7a2cc4268dcc4b610f9a1ab666685716b4efe4b5898b43c835a8f22298875b31c7a278a5e3b7e253eee7c886546bb0b61fb94bca6b + languageName: node + linkType: hard + +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -14234,7 +14737,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.0.5, minimatch@npm:~3.0.4": +"minimatch@npm:3.0.5": version: 3.0.5 resolution: "minimatch@npm:3.0.5" dependencies: @@ -14270,12 +14773,21 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" dependencies: brace-expansion: ^2.0.1 - checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 + checksum: 2c035575eda1e50623c731ec6c14f65a85296268f749b9337005210bb2b34e2705f8ef1a358b188f69892286ab99dc42c8fb98a57bde55c8d81b3023c19cea28 + languageName: node + linkType: hard + +"minimatch@npm:~3.0.4": + version: 3.0.8 + resolution: "minimatch@npm:3.0.8" + dependencies: + brace-expansion: ^1.1.7 + checksum: 850cca179cad715133132693e6963b0db64ab0988c4d211415b087fc23a3e46321e2c5376a01bf5623d8782aba8bdf43c571e2e902e51fdce7175c7215c29f8b languageName: node linkType: hard @@ -14306,9 +14818,33 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: ^7.0.3 + checksum: b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" dependencies: encoding: ^0.1.13 minipass: ^7.0.3 @@ -14317,7 +14853,22 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a + checksum: 8047d273236157aab27ab7cd8eab7ea79e6ecd63e8f80c3366ec076cb9a0fed550a6935bab51764369027c414647fd8256c2a20c5445fb250c483de43350de83 + languageName: node + linkType: hard + +"minipass-fetch@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass-fetch@npm:5.0.0" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^3.0.1 + dependenciesMeta: + encoding: + optional: true + checksum: 416645d1e54c09fdfe64ec1676541ac2f6f2af3abc7ad25f2f22c4518535997c1ecd2c0c586ea8a5c6499ad7d8f97671f50ff38488ada54bf61fde309f731379 languageName: node linkType: hard @@ -14331,12 +14882,12 @@ __metadata: linkType: hard "minipass-json-stream@npm:^1.0.1": - version: 1.0.1 - resolution: "minipass-json-stream@npm:1.0.1" + version: 1.0.2 + resolution: "minipass-json-stream@npm:1.0.2" dependencies: jsonparse: ^1.3.1 minipass: ^3.0.0 - checksum: 791b696a27d1074c4c08dab1bf5a9f3201145c2933e428f45d880467bce12c60de4703203d2928de4b162d0ae77b0bb4b55f96cb846645800aa0eb4919b3e796 + checksum: 24b9c6208b72e47a5a28058642e86f27d17e285e4cd5ba41d698568bb91f0566a7ff31f0e7dfb7ebd3dc603d016ac75b82e3ffe96340aa294048da87489ff18c languageName: node linkType: hard @@ -14358,7 +14909,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1": +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -14381,10 +14932,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 languageName: node linkType: hard @@ -14398,6 +14949,15 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: ^7.1.2 + checksum: a15e6f0128f514b7d41a1c68ce531155447f4669e32d279bba1c1c071ef6c2abd7e4d4579bb59ccc2ed1531346749665968fdd7be8d83eb6b6ae2fe1f3d370a7 + languageName: node + linkType: hard + "mj-context-menu@npm:^0.6.1": version: 0.6.1 resolution: "mj-context-menu@npm:0.6.1" @@ -14426,14 +14986,14 @@ __metadata: linkType: hard "mlly@npm:^1.7.4": - version: 1.7.4 - resolution: "mlly@npm:1.7.4" + version: 1.8.0 + resolution: "mlly@npm:1.8.0" dependencies: - acorn: ^8.14.0 - pathe: ^2.0.1 - pkg-types: ^1.3.0 - ufo: ^1.5.4 - checksum: a290da940d208f9d77ceed7ed1db3397e37ff083d28bf75e3c92097a8e58967a2b2e2bea33fdcdc63005e2987854cd081dd0621461d89eee4b61c977b5fa020c + acorn: ^8.15.0 + pathe: ^2.0.3 + pkg-types: ^1.3.1 + ufo: ^1.6.1 + checksum: cccd626d910f139881cc861bae1af8747a0911c1a5414cca059558b81286e43f271652931eec87ef3c07d9faf4225987ae3219b65a939b94e18b533fa0d22c89 languageName: node linkType: hard @@ -14444,10 +15004,10 @@ __metadata: languageName: node linkType: hard -"mrmime@npm:^1.0.0": - version: 1.0.1 - resolution: "mrmime@npm:1.0.1" - checksum: cc979da44bbbffebaa8eaf7a45117e851f2d4cb46a3ada6ceb78130466a04c15a0de9a9ce1c8b8ba6f6e1b8618866b1352992bf1757d241c0ddca558b9f28a77 +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 455a555009edb2ed6e587e0fcb5e41fcbf8f1dcca28242a57d054f02204ab198bed93ba9de75db06bd3447e8603bc74e10a22440ba99431fc4a751435fba35bf languageName: node linkType: hard @@ -14510,12 +15070,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": - version: 3.3.9 - resolution: "nanoid@npm:3.3.9" +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" bin: nanoid: bin/nanoid.cjs - checksum: 42b1dc3e05d6d4f846e65538dd6fbdf78419d8ef60c531f0faf3264cc90600041ebb53c4276013947e03dc3c9a1ac1fce5bb9e1c3a634db608e95349d7e9d3b6 + checksum: 3be20d8866a57a6b6d218e82549711c8352ed969f9ab3c45379da28f405363ad4c9aeb0b39e9abc101a529ca65a72ff9502b00bf74a912c4b64a9d62dfd26c29 languageName: node linkType: hard @@ -14556,6 +15116,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -14589,7 +15156,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.7, node-fetch@npm:cjs": +"node-fetch@cjs, node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -14603,26 +15170,40 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: d76d2f5edb451a3f05b15115ec89fc6be39de37c6089f1b6368df03b91e1633fd379a7e01b7ab05089a25034b2023d959b47e59759cb38d88341b2459e89d6e5 + languageName: node + linkType: hard + "node-gyp-build@npm:^4.3.0": - version: 4.6.1 - resolution: "node-gyp-build@npm:4.6.1" + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: c3676d337b36803bc7792e35bf7fdcda7cdcb7e289b8f9855a5535702a82498eb976842fefcf487258c58005ca32ce3d537fbed91280b04409161dcd7232a882 + checksum: 8b81ca8ffd5fa257ad8d067896d07908a36918bc84fb04647af09d92f58310def2d2b8614d8606d129d9cd9b48890a5d2bec18abe7fcff54818f72bedd3a7d74 languageName: node linkType: hard -"node-gyp@npm:^9.0.0, node-gyp@npm:latest": - version: 9.4.0 - resolution: "node-gyp@npm:9.4.0" +"node-gyp@npm:^9.0.0": + version: 9.4.1 + resolution: "node-gyp@npm:9.4.1" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 glob: ^7.1.4 graceful-fs: ^4.2.6 - make-fetch-happen: ^11.0.3 + make-fetch-happen: ^10.0.3 nopt: ^6.0.0 npmlog: ^6.0.0 rimraf: ^3.0.2 @@ -14631,7 +15212,27 @@ __metadata: which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 78b404e2e0639d64e145845f7f5a3cb20c0520cdaf6dda2f6e025e9b644077202ea7de1232396ba5bde3fee84cdc79604feebe6ba3ec84d464c85d407bb5da99 + checksum: 8576c439e9e925ab50679f87b7dfa7aa6739e42822e2ad4e26c36341c0ba7163fdf5a946f0a67a476d2f24662bc40d6c97bd9e79ced4321506738e6b760a1577 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.1.0 + resolution: "node-gyp@npm:12.1.0" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + graceful-fs: ^4.2.6 + make-fetch-happen: ^15.0.0 + nopt: ^9.0.0 + proc-log: ^6.0.0 + semver: ^7.3.5 + tar: ^7.5.2 + tinyglobby: ^0.2.12 + which: ^6.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 198d91c535fe9940bcdc0db4e578f94cf9872e0d068e88ef2f4656924248bb67245b270b48eded6634c7513841c0cd42f3da3ac9d77c8e16437fcd90703b9ef3 languageName: node linkType: hard @@ -14649,10 +15250,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 +"node-releases@npm:^2.0.27": + version: 2.0.27 + resolution: "node-releases@npm:2.0.27" + checksum: a9a54079d894704c2ec728a690b41fbc779a710f5d47b46fa3e460acff08a3e7dfa7108e5599b2db390aa31dac062c47c5118317201f12784188dc5b415f692d languageName: node linkType: hard @@ -14667,6 +15268,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: ^4.0.0 + bin: + nopt: bin/nopt.js + checksum: 7a5d9ab0629eaec1944a95438cc4efa6418ed2834aa8eb21a1bea579a7d8ac3e30120131855376a96ef59ab0e23ad8e0bc94d3349770a95e5cb7119339f7c7fb + languageName: node + linkType: hard + "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -14739,11 +15351,11 @@ __metadata: linkType: hard "npm-bundled@npm:^3.0.0": - version: 3.0.0 - resolution: "npm-bundled@npm:3.0.0" + version: 3.0.1 + resolution: "npm-bundled@npm:3.0.1" dependencies: npm-normalize-package-bin: ^3.0.0 - checksum: 110859c2d6dcd7941dac0932a29171cbde123060486a4b6e897aaf5e025abeb3d9ffcdfe9e9271992e6396b2986c2c534f1029a45a7c196f1257fa244305dbf8 + checksum: 1f4f7307d0ff2fbd31638689490f1fd673a4540cd1d027c7c5d15e484c71d63c4b27979944b6f8738035260cf5a5477ebaae75b08818420508e7cf317d71416e languageName: node linkType: hard @@ -14895,9 +15507,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: cab25f7983acec7e23490fec3ef7be608041b460504229770e3bfcf9977c41d6fe58f518994d3bd9aa3a101f501089a3d4a63536f4ff8ae4b8c4ca23bdbfda4e + version: 2.2.22 + resolution: "nwsapi@npm:2.2.22" + checksum: 9491f0396d8aaf7fd1f9ebbbbff5d9bb9090e5d200263cf31b117bbaad7eb79da86b4c9b9bcd64c4b35f6d7e1630d14ee21c0959c01131e89c1c5e22d72530bf languageName: node linkType: hard @@ -14993,7 +15605,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": version: 1.13.4 resolution: "object-inspect@npm:1.13.4" checksum: 582810c6a8d2ef988ea0a39e69e115a138dad8f42dd445383b394877e5816eb4268489f316a6f74ee9c4e0a984b3eab1028e3e79d62b1ed67c726661d55c7a8b @@ -15007,58 +15619,53 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - has-symbols: ^1.0.3 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + has-symbols: ^1.1.0 object-keys: ^1.1.1 - checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 - languageName: node - linkType: hard - -"object.entries@npm:^1.1.6": - version: 1.1.7 - resolution: "object.entries@npm:1.1.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: da287d434e7e32989586cd734382364ba826a2527f2bc82e6acbf9f9bfafa35d51018b66ec02543ffdfa2a5ba4af2b6f1ca6e588c65030cb4fd9c67d6ced594c + checksum: 60e07d2651cf4f5528c485f1aa4dbded9b384c47d80e8187cefd11320abb1aebebf78df5483451dfa549059f8281c21f7b4bf7d19e9e5e97d8d617df0df298de languageName: node linkType: hard -"object.fromentries@npm:^2.0.6": - version: 2.0.7 - resolution: "object.fromentries@npm:2.0.7" +"object.entries@npm:^1.1.9": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 7341ce246e248b39a431b87a9ddd331ff52a454deb79afebc95609f94b1f8238966cf21f52188f2a353f0fdf83294f32f1ebf1f7826aae915ebad21fd0678065 + call-bind: ^1.0.8 + call-bound: ^1.0.4 + define-properties: ^1.2.1 + es-object-atoms: ^1.1.1 + checksum: 0ab2ef331c4d6a53ff600a5d69182948d453107c3a1f7fd91bc29d387538c2aba21d04949a74f57c21907208b1f6fb175567fd1f39f1a7a4046ba1bca762fb41 languageName: node linkType: hard -"object.hasown@npm:^1.1.2": - version: 1.1.3 - resolution: "object.hasown@npm:1.1.3" +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" dependencies: - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 76bc17356f6124542fb47e5d0e78d531eafa4bba3fc2d6fc4b1a8ce8b6878912366c0d99f37ce5c84ada8fd79df7aa6ea1214fddf721f43e093ad2df51f27da1 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: 29b2207a2db2782d7ced83f93b3ff5d425f901945f3665ffda1821e30a7253cd1fd6b891a64279976098137ddfa883d748787a6fea53ecdb51f8df8b8cec0ae1 languageName: node linkType: hard -"object.values@npm:^1.1.6": - version: 1.1.7 - resolution: "object.values@npm:1.1.7" +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: f3e4ae4f21eb1cc7cebb6ce036d4c67b36e1c750428d7b7623c56a0db90edced63d08af8a316d81dfb7c41a3a5fa81b05b7cc9426e98d7da986b1682460f0777 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: f9b9a2a125ccf8ded29414d7c056ae0d187b833ee74919821fc60d7e216626db220d9cb3cf33f965c84aaaa96133626ca13b80f3c158b673976dc8cfcfcd26bb languageName: node linkType: hard @@ -15131,16 +15738,16 @@ __metadata: linkType: hard "optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" + version: 0.9.4 + resolution: "optionator@npm:0.9.4" dependencies: - "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a + word-wrap: ^1.2.5 + checksum: ecbd010e3dc73e05d239976422d9ef54a82a13f37c11ca5911dff41c98a6c7f0f163b27f922c37e7f8340af9d36febd3b6e9cef508f3339d4c393d7276d716bb languageName: node linkType: hard @@ -15161,13 +15768,6 @@ __metadata: languageName: node linkType: hard -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d - languageName: node - linkType: hard - "os@npm:~0.1.1": version: 0.1.2 resolution: "os@npm:0.1.2" @@ -15175,6 +15775,17 @@ __metadata: languageName: node linkType: hard +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.6 + object-keys: ^1.1.1 + safe-push-apply: ^1.0.0 + checksum: cc9dd7d85c4ccfbe8109fce307d581ac7ede7b26de892b537873fbce2dc6a206d89aea0630dbb98e47ce0873517cefeaa7be15fcf94aaf4764a3b34b474a5b61 + languageName: node + linkType: hard + "p-cancelable@npm:^2.0.0": version: 2.1.1 resolution: "p-cancelable@npm:2.1.1" @@ -15259,6 +15870,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.4 + resolution: "p-map@npm:7.0.4" + checksum: 4be2097e942f2fd3a4f4b0c6585c721f23851de8ad6484d20c472b3ea4937d5cd9a59914c832b1bceac7bf9d149001938036b82a52de0bc381f61ff2d35d26a5 + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -15315,6 +15933,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 + languageName: node + linkType: hard + "package-json@npm:^7.0.0": version: 7.0.0 resolution: "package-json@npm:7.0.0" @@ -15328,9 +15953,9 @@ __metadata: linkType: hard "package-manager-detector@npm:^1.3.0": - version: 1.3.0 - resolution: "package-manager-detector@npm:1.3.0" - checksum: 9646354808f83d619cd266505ad0273105cf07f89e5f1876df3acd00e7536d5af56523bb60c452271b9ea649ebc7369d43aeb5d4da3389b30d5ecf315b25aa86 + version: 1.5.0 + resolution: "package-manager-detector@npm:1.5.0" + checksum: 7ed3ced86037c3b9ab1609168bd5b69808c32197bd4e9ff3f6b6157dad404aedcf495e3c5fd0fa480b5af3ef5406a7b8e01f87af3035a843bd31eda13adf5a7d languageName: node linkType: hard @@ -15411,11 +16036,11 @@ __metadata: linkType: hard "parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "parse-path@npm:7.0.0" + version: 7.1.0 + resolution: "parse-path@npm:7.1.0" dependencies: protocols: ^2.0.0 - checksum: 244b46523a58181d251dda9b888efde35d8afb957436598d948852f416d8c76ddb4f2010f9fc94218b4be3e5c0f716aa0d2026194a781e3b8981924142009302 + checksum: 1da6535a967b14911837bba98e5f8d16acb415b28753ff6225e3121dce71167a96c79278fbb631d695210dadae37462a9eff40d93b9c659cf1ce496fd5db9bb6 languageName: node linkType: hard @@ -15436,11 +16061,11 @@ __metadata: linkType: hard "parse5@npm:^7.0.0, parse5@npm:^7.1.1": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" + version: 7.3.0 + resolution: "parse5@npm:7.3.0" dependencies: - entities: ^4.4.0 - checksum: 59465dd05eb4c5ec87b76173d1c596e152a10e290b7abcda1aecf0f33be49646ea74840c69af975d7887543ea45564801736356c568d6b5e71792fd0f4055713 + entities: ^6.0.0 + checksum: ffd040c4695d93f0bc370e3d6d75c1b352178514af41be7afa212475ea5cead1d6e377cd9d4cec6a5e2bcf497ca50daf9e0088eadaa37dbc271f60def08fdfcd languageName: node linkType: hard @@ -15517,13 +16142,23 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1, path-scurry@npm:^1.6.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" +"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" dependencies: - lru-cache: ^9.1.1 || ^10.0.0 + lru-cache: ^10.2.0 minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + checksum: 890d5abcd593a7912dcce7cf7c6bf7a0b5648e3dee6caf0712c126ca0a65c7f3d7b9d769072a4d1baf370f61ce493ab5b038d59988688e0c5f3f646ee3c69023 + languageName: node + linkType: hard + +"path-scurry@npm:^2.0.0": + version: 2.0.1 + resolution: "path-scurry@npm:2.0.1" + dependencies: + lru-cache: ^11.0.0 + minipass: ^7.1.2 + checksum: a022c6c38fed836079d03f96540eafd4cd989acf287b99613c82300107f366e889513ad8b671a2039a9d251122621f9c6fa649f0bd4d50acf95a6943a6692dbf languageName: node linkType: hard @@ -15575,10 +16210,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 languageName: node linkType: hard @@ -15589,6 +16224,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 6817fb74eb745a71445debe1029768de55fd59a42b75606f478ee1d0dc1aa6e78b711d041a7c9d5550e042642029b7f373dc1a43b224c4b7f12d23436735dba0 + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -15703,9 +16345,9 @@ __metadata: linkType: hard "pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 3dcbaff13c8b5bc158416feb6dc9e49e3c6be5fddc1ea078a05a73ef6b85d79324bbb1ef59b954cdeff000dbf000c1d39f32dc69310c7b78fbada5171b583e40 languageName: node linkType: hard @@ -15718,7 +16360,7 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^1.3.0": +"pkg-types@npm:^1.3.1": version: 1.3.1 resolution: "pkg-types@npm:1.3.1" dependencies: @@ -15764,36 +16406,43 @@ __metadata: languageName: node linkType: hard -"postcss-modules-extract-imports@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-extract-imports@npm:3.0.0" +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: cfcd4f05264eee8fd184cd4897a17890561d1d473434b43ab66ad3673d9c9128981ec01e0cb1d65a52cd6b1eebfb2eae1e53e39b2e0eca86afc823ede7a4f41b + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^3.0.0, postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" peerDependencies: postcss: ^8.1.0 - checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 + checksum: b9192e0f4fb3d19431558be6f8af7ca45fc92baaad9b2778d1732a5880cd25c3df2074ce5484ae491e224f0d21345ffc2d419bd51c25b019af76d7a7af88c17f languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.3": - version: 4.0.3 - resolution: "postcss-modules-local-by-default@npm:4.0.3" +"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.5": + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" dependencies: icss-utils: ^5.0.0 - postcss-selector-parser: ^6.0.2 + postcss-selector-parser: ^7.0.0 postcss-value-parser: ^4.1.0 peerDependencies: postcss: ^8.1.0 - checksum: 2f8083687f3d6067885f8863dd32dbbb4f779cfcc7e52c17abede9311d84faf6d3ed8760e7c54c6380281732ae1f78e5e56a28baf3c271b33f450a11c9e30485 + checksum: 720d145453f82ad5f1c1d0ff7386d64722f0812808e4132e573c1a49909745e109fcce3792a0b0cb18770dbeb3d9741867e81c698dc8353a18bc664b7d6d9533 languageName: node linkType: hard -"postcss-modules-scope@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-scope@npm:3.0.0" +"postcss-modules-scope@npm:^3.0.0, postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" dependencies: - postcss-selector-parser: ^6.0.4 + postcss-selector-parser: ^7.0.0 peerDependencies: postcss: ^8.1.0 - checksum: 330b9398dbd44c992c92b0dc612c0626135e2cc840fee41841eb61247a6cfed95af2bd6f67ead9dd9d0bb41f5b0367129d93c6e434fa3e9c58ade391d9a5a138 + checksum: 085f65863bb7d8bf08209a979ceb22b2b07bb466574e0e698d34aaad832d614957bb05f2418348a14e4035f65e23b2be2951369d26ea429dd5762c6a020f0f7c languageName: node linkType: hard @@ -15808,13 +16457,13 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": - version: 6.0.13 - resolution: "postcss-selector-parser@npm:6.0.13" +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" dependencies: cssesc: ^3.0.0 util-deprecate: ^1.0.2 - checksum: f89163338a1ce3b8ece8e9055cd5a3165e79a15e1c408e18de5ad8f87796b61ec2d48a2902d179ae0c4b5de10fccd3a325a4e660596549b040bc5ad1b465f096 + checksum: 1300e7871dd60a5132ee5462cc6e94edd4f3df28462b2495ca9ff025bd83768a908e892a18fde62cae63ff63524641baa6d58c64120f04fe6884b916663ce737 languageName: node linkType: hard @@ -15825,14 +16474,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.4, postcss@npm:^8.3.11, postcss@npm:^8.4.21": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" +"postcss@npm:^8.2.4, postcss@npm:^8.3.11, postcss@npm:^8.4.33": + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: - nanoid: ^3.3.6 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea + nanoid: ^3.3.11 + picocolors: ^1.1.1 + source-map-js: ^1.2.1 + checksum: 20f3b5d673ffeec2b28d65436756d31ee33f65b0a8bedb3d32f556fbd5973be38c3a7fb5b959a5236c60a5db7b91b0a6b14ffaac0d717dce1b903b964ee1c1bb languageName: node linkType: hard @@ -15905,6 +16554,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^6.0.0": + version: 6.0.0 + resolution: "proc-log@npm:6.0.0" + checksum: 005a2aa24b8cbc98ca24fc49ccbdbbefb1f7932fcc96664e1008c59459ea66e8cc8bd463716d6c67e39327d45e8e080eb73bf32be70461425593b0f0d6acb91f + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -15981,9 +16637,9 @@ __metadata: linkType: hard "protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.1 - resolution: "protocols@npm:2.0.1" - checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 + version: 2.0.2 + resolution: "protocols@npm:2.0.2" + checksum: 031cc068eb800468a50eb7c1e1c528bf142fb8314f5df9b9ea3c3f9df1697a19f97b9915b1229cef694d156812393172d9c3051ef7878d26eaa8c6faa5cccec4 languageName: node linkType: hard @@ -16005,9 +16661,11 @@ __metadata: linkType: hard "psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d + version: 1.15.0 + resolution: "psl@npm:1.15.0" + dependencies: + punycode: ^2.3.1 + checksum: 6f777d82eecfe1c2406dadbc15e77467b186fec13202ec887a45d0209a2c6fca530af94a462a477c3c4a767ad892ec9ede7c482d98f61f653dd838b50e89dc15 languageName: node linkType: hard @@ -16022,12 +16680,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.3 + resolution: "pump@npm:3.0.3" dependencies: end-of-stream: ^1.1.0 once: ^1.3.1 - checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + checksum: 52843fc933b838c0330f588388115a1b28ef2a5ffa7774709b142e35431e8ab0c2edec90de3fa34ebb72d59fef854f151eea7dfc211b6dcf586b384556bd2f39 languageName: node linkType: hard @@ -16042,17 +16700,17 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 languageName: node linkType: hard "pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: e1c4e69f8bf7303e5252756d67c3c7551385cd34d94a1f511fe099727ccbab74c898c03a06d4c4a24a89b51858781057b83ebbfe740d984240cdc04fead36068 + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 8d53bc02bed99eca0b65b505090152ee7e9bd67dd74f8ff32ba1c883b87234067c5bf68d2614759fb217d82594d7a92919e6df80f97885e7b12b42af4bd3316a languageName: node linkType: hard @@ -16175,14 +16833,14 @@ __metadata: linkType: hard "react-dom@npm:^18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - scheduler: ^0.23.0 + scheduler: ^0.23.2 peerDependencies: - react: ^18.2.0 - checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc + react: ^18.3.1 + checksum: 298954ecd8f78288dcaece05e88b570014d8f6dce5db6f66e6ee91448debeb59dcd31561dddb354eee47e6c1bb234669459060deb238ed0213497146e555a0b9 languageName: node linkType: hard @@ -16207,9 +16865,9 @@ __metadata: linkType: hard "react-is@npm:^18.0.0, react-is@npm:^18.2.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: e20fe84c86ff172fc8d898251b7cc2c43645d108bf96d0b8edf39b98f9a2cae97b40520ee7ed8ee0085ccc94736c4886294456033304151c3f94978cec03df21 languageName: node linkType: hard @@ -16251,11 +16909,11 @@ __metadata: linkType: hard "react@npm:^18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + checksum: a27bcfa8ff7c15a1e50244ad0d0c1cb2ad4375eeffefd266a64889beea6f6b64c4966c9b37d14ee32d6c9fcd5aa6ba183b6988167ab4d127d13e7cb5b386a376 languageName: node linkType: hard @@ -16377,15 +17035,15 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0": - version: 4.4.2 - resolution: "readable-stream@npm:4.4.2" + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" dependencies: abort-controller: ^3.0.0 buffer: ^6.0.3 events: ^3.3.0 process: ^0.11.10 string_decoder: ^1.3.0 - checksum: 6f4063763dbdb52658d22d3f49ca976420e1fbe16bbd241f744383715845350b196a2f08b8d6330f8e219153dff34b140aeefd6296da828e1041a7eab1f20d5e + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae languageName: node linkType: hard @@ -16422,26 +17080,28 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.4 - resolution: "reflect.getprototypeof@npm:1.0.4" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - globalthis: ^1.0.3 - which-builtin-type: ^1.1.3 - checksum: 16e2361988dbdd23274b53fb2b1b9cefeab876c3941a2543b4cadac6f989e3db3957b07a44aac46cfceb3e06e2871785ec2aac992d824f76292f3b5ee87f66f2 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.9 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.7 + get-proto: ^1.0.1 + which-builtin-type: ^1.2.1 + checksum: ccc5debeb66125e276ae73909cecb27e47c35d9bb79d9cc8d8d055f008c58010ab8cb401299786e505e4aab733a64cba9daf5f312a58e96a43df66adad221870 languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.1 - resolution: "regenerate-unicode-properties@npm:10.1.1" +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" dependencies: regenerate: ^1.4.2 - checksum: b80958ef40f125275824c2c47d5081dfaefebd80bff26c76761e9236767c748a4a95a69c053fe29d2df881177f2ca85df4a71fe70a82360388b31159ef19adcf + checksum: 7ae4c1c32460c4360e3118c45eec0621424908f430fdd6f162c9172067786bf2b1682fbc885a33b26bc85e76e06f4d3f398b52425e801b0bb0cbae147dafb0b2 languageName: node linkType: hard @@ -16452,22 +17112,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.0 - resolution: "regenerator-runtime@npm:0.14.0" - checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3 - languageName: node - linkType: hard - -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" - dependencies: - "@babel/runtime": ^7.8.4 - checksum: 20b6f9377d65954980fe044cfdd160de98df415b4bff38fbade67b3337efaf078308c4fed943067cd759827cc8cfeca9cb28ccda1f08333b85d6a2acbd022c27 - languageName: node - linkType: hard - "regexp-match-indices@npm:^1.0.2": version: 1.0.2 resolution: "regexp-match-indices@npm:1.0.2" @@ -16486,28 +17130,31 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": - version: 1.5.1 - resolution: "regexp.prototype.flags@npm:1.5.1" +"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - set-function-name: ^2.0.0 - checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-errors: ^1.3.0 + get-proto: ^1.0.1 + gopd: ^1.2.0 + set-function-name: ^2.0.2 + checksum: 18cb667e56cb328d2dda569d7f04e3ea78f2683135b866d606538cf7b1d4271f7f749f09608c877527799e6cf350e531368f3c7a20ccd1bb41048a48926bdeeb languageName: node linkType: hard -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" dependencies: - "@babel/regjsgen": ^0.8.0 regenerate: ^1.4.2 - regenerate-unicode-properties: ^10.1.0 - regjsparser: ^0.9.1 + regenerate-unicode-properties: ^10.2.2 + regjsgen: ^0.8.0 + regjsparser: ^0.13.0 unicode-match-property-ecmascript: ^2.0.0 - unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 95bb97088419f5396e07769b7de96f995f58137ad75fac5811fb5fe53737766dfff35d66a0ee66babb1eb55386ef981feaef392f9df6d671f3c124812ba24da2 + unicode-match-property-value-ecmascript: ^2.2.1 + checksum: a316eb988599b7fb9d77f4adb937c41c022504dc91ddd18175c11771addc7f1d9dce550f34e36038395e459a2cf9ffc0d663bfe8d3c6c186317ca000ba79a8cf languageName: node linkType: hard @@ -16529,14 +17176,21 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: a1d925ff14a4b2be774e45775ee6b33b256f89c42d480e6d85152d2133f18bd3d6af662161b226fa57466f7efec367eaf7ccd2a58c0ec2a1306667ba2ad07b0d + languageName: node + linkType: hard + +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" dependencies: - jsesc: ~0.5.0 + jsesc: ~3.1.0 bin: regjsparser: bin/parser - checksum: 5e1b76afe8f1d03c3beaf9e0d935dd467589c3625f6d65fb8ffa14f224d783a0fed4bf49c2c1b8211043ef92b6117313419edf055a098ed8342e340586741afc + checksum: 1cf09f6afde2b2d1c1e89e1ce3034e3ee8d9433912728dbaa48e123f5f43ce34e263b2a8ab228817dce85d676ee0c801a512101b015ac9ab80ed449cf7329d3a languageName: node linkType: hard @@ -16612,61 +17266,61 @@ __metadata: linkType: hard "resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 1c7778ca1b86a94f8ab4055d196c7d87d1874b96df4d7c3e67bbf793140f0717fd506dcafd62785b079cd6086b9264424ad634fb904409764c3509c3df1653f2 + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: abfb9f98278dcd0c19b8a49bb486abfafa23df4636d49128ea270dc982053c3ef230a530aecda1fae1322873fdfa6c97674fc539651ddfdb375ac58e0b8ef6df languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0": - version: 1.22.6 - resolution: "resolve@npm:1.22.6" +"resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.10": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" dependencies: - is-core-module: ^2.13.0 + is-core-module: ^2.16.1 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: d13bf66d4e2ee30d291491f16f2fa44edd4e0cefb85d53249dd6f93e70b2b8c20ec62f01b18662e3cd40e50a7528f18c4087a99490048992a3bb954cf3201a5b + checksum: 6d5baa2156b95a65ac431e7642e21106584e9f4194da50871cae8bc1bbd2b53bb7cee573c92543d83bb999620b224a087f62379d800ed1ccb189da6df5d78d50 languageName: node linkType: hard -"resolve@npm:^2.0.0-next.4": - version: 2.0.0-next.4 - resolution: "resolve@npm:2.0.0-next.4" +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: c438ac9a650f2030fd074219d7f12ceb983b475da2d89ad3d6dd05fbf6b7a0a8cd37d4d10b43cb1f632bc19f22246ab7f36ebda54d84a29bfb2910a0680906d3 + checksum: a73ac69a1c4bd34c56b213d91f5b17ce390688fdb4a1a96ed3025cc7e08e7bfb90b3a06fcce461780cb0b589c958afcb0080ab802c71c01a7ecc8c64feafc89f languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin": - version: 1.22.6 - resolution: "resolve@patch:resolve@npm%3A1.22.6#~builtin::version=1.22.6&hash=c3c19d" +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.10#~builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#~builtin::version=1.22.11&hash=c3c19d" dependencies: - is-core-module: ^2.13.0 + is-core-module: ^2.16.1 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 9d3b3c67aefd12cecbe5f10ca4d1f51ea190891096497c43f301b086883b426466918c3a64f1bbf1788fabb52b579d58809614006c5d0b49186702b3b8fb746a + checksum: 1462da84ac3410d7c2e12e4f5f25c1423d8a174c3b4245c43eafea85e7bbe6af3eb7ec10a4850b5e518e8531608604742b8cbd761e1acd7ad1035108b7c98013 languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.4#~builtin": - version: 2.0.0-next.4 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=c3c19d" +"resolve@patch:resolve@^2.0.0-next.5#~builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 4bf9f4f8a458607af90518ff73c67a4bc1a38b5a23fef2bb0ccbd45e8be89820a1639b637b0ba377eb2be9eedfb1739a84cde24fe4cd670c8207d8fea922b011 + checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c languageName: node linkType: hard @@ -16697,13 +17351,13 @@ __metadata: linkType: hard "reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 64cb3142ac5e9ad689aca289585cb41d22521f4571f73e9488af39f6b1bd62f0cbb3d65e2ecc768ec6494052523f473f1eb4b55c3e9014b3590c17fc6a03e22a languageName: node linkType: hard -"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": +"rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -16736,7 +17390,7 @@ __metadata: languageName: node linkType: hard -"robust-predicates@npm:^3.0.0": +"robust-predicates@npm:^3.0.2": version: 3.0.2 resolution: "robust-predicates@npm:3.0.2" checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a @@ -16786,23 +17440,24 @@ __metadata: linkType: hard "rxjs@npm:^7.5.5, rxjs@npm:^7.8.1": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" dependencies: tslib: ^2.1.0 - checksum: de4b53db1063e618ec2eca0f7965d9137cabe98cf6be9272efe6c86b47c17b987383df8574861bcced18ebd590764125a901d5506082be84a8b8e364bf05f119 + checksum: 2f233d7c832a6c255dabe0759014d7d9b1c9f1cb2f2f0d59690fd11c883c9826ea35a51740c06ab45b6ade0d9087bde9192f165cba20b6730d344b831ef80744 languageName: node linkType: hard -"safe-array-concat@npm:^1.0.1": - version: 1.0.1 - resolution: "safe-array-concat@npm:1.0.1" +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 + call-bind: ^1.0.8 + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 + has-symbols: ^1.1.0 isarray: ^2.0.5 - checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 + checksum: 00f6a68140e67e813f3ad5e73e6dedcf3e42a9fa01f04d44b0d3f7b1f4b257af876832a9bfc82ac76f307e8a6cc652e3cf95876048a26cbec451847cf6ae3707 languageName: node linkType: hard @@ -16820,14 +17475,24 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.0": +"safe-push-apply@npm:^1.0.0": version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: ^1.3.0 + isarray: ^2.0.5 + checksum: 8c11cbee6dc8ff5cc0f3d95eef7052e43494591384015902e4292aef4ae9e539908288520ed97179cee17d6ffb450fe5f05a46ce7a1749685f7524fd568ab5db + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 - is-regex: ^1.1.4 - checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + call-bound: ^1.0.2 + es-errors: ^1.3.0 + is-regex: ^1.2.1 + checksum: 3c809abeb81977c9ed6c869c83aca6873ea0f3ab0f806b8edbba5582d51713f8a6e9757d24d2b4b088f563801475ea946c8e77e7713e8c65cdd02305b6caedab languageName: node linkType: hard @@ -16868,12 +17533,12 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: loose-envify: ^1.1.0 - checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a + checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 languageName: node linkType: hard @@ -16909,7 +17574,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": +"schema-utils@npm:^3.0.0": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" dependencies: @@ -16920,15 +17585,15 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0": - version: 4.2.0 - resolution: "schema-utils@npm:4.2.0" +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.3": + version: 4.3.3 + resolution: "schema-utils@npm:4.3.3" dependencies: "@types/json-schema": ^7.0.9 ajv: ^8.9.0 ajv-formats: ^2.1.1 ajv-keywords: ^5.1.0 - checksum: 26a0463d47683258106e6652e9aeb0823bf0b85843039e068b57da1892f7ae6b6b1094d48e9ed5ba5cbe9f7166469d880858b9d91abe8bd249421eb813850cde + checksum: 4e20404962fd45d5feb5942f7c9ab334a3d3dab94e15001049bd49e2959015f2c59089353953d4976fe664462c79121dea50392968182d4e2c4b75803f822fa3 languageName: node linkType: hard @@ -16952,7 +17617,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.6.3, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3": +"semver@npm:7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -16970,6 +17635,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.3": + version: 7.7.3 + resolution: "semver@npm:7.7.3" + bin: + semver: bin/semver.js + checksum: f013a3ee4607857bcd3503b6ac1d80165f7f8ea94f5d55e2d3e33df82fce487aa3313b987abf9b39e0793c83c9fc67b76c36c067625141a9f6f704ae0ea18db2 + languageName: node + linkType: hard + "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -16991,7 +17665,7 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.1": +"serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" dependencies: @@ -17019,14 +17693,40 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": - version: 2.0.1 - resolution: "set-function-name@npm:2.0.1" +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" dependencies: - define-data-property: ^1.0.1 + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 functions-have-names: ^1.2.3 - has-property-descriptors: ^1.0.0 - checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + has-property-descriptors: ^1.0.2 + checksum: d6229a71527fd0404399fc6227e0ff0652800362510822a291925c9d7b48a1ca1a468b11b281471c34cd5a2da0db4f5d7ff315a61d26655e77f6e971e6d0c80f + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: ^1.0.1 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + checksum: ec27cbbe334598547e99024403e96da32aca3e530583e4dba7f5db1c43cbc4affa9adfbd77c7b2c210b9b8b2e7b2e600bad2a6c44fd62e804d8233f96bbb62f4 languageName: node linkType: hard @@ -17079,9 +17779,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.6.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 languageName: node linkType: hard @@ -17120,7 +17820,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": version: 1.1.0 resolution: "side-channel@npm:1.1.0" dependencies: @@ -17163,11 +17863,11 @@ __metadata: linkType: hard "simple-swizzle@npm:^0.2.2": - version: 0.2.2 - resolution: "simple-swizzle@npm:0.2.2" + version: 0.2.4 + resolution: "simple-swizzle@npm:0.2.4" dependencies: is-arrayish: ^0.3.1 - checksum: a7f3f2ab5c76c4472d5c578df892e857323e452d9f392e1b5cf74b74db66e6294a1e1b8b390b519fa1b96b5b613f2a37db6cffef52c3f1f8f3c5ea64eb2d54c0 + checksum: 9a2f6f39a6b9fab68f96903523bf19953ec21e5e843108154cf47a9cc0f78955dd44f64499ffb71a849ac10c758d9fab7533627c7ca3ab40b5c177117acfdc1b languageName: node linkType: hard @@ -17181,13 +17881,13 @@ __metadata: linkType: hard "sirv@npm:^2.0.3": - version: 2.0.3 - resolution: "sirv@npm:2.0.3" + version: 2.0.4 + resolution: "sirv@npm:2.0.4" dependencies: - "@polka/url": ^1.0.0-next.20 - mrmime: ^1.0.0 + "@polka/url": ^1.0.0-next.24 + mrmime: ^2.0.0 totalist: ^3.0.0 - checksum: e2dfd4c97735a6ad6d842d0eec2cd9e3919ff0e46f0d228248c5753ad4b70b832711e77e1259c031c439cdb08303cc54d923685c92b0e890145cc733af7c5568 + checksum: 6853384a51d6ee9377dd657e2b257e0e98b29abbfbfa6333e105197f0f100c8c56a4520b47028b04ab1833cf2312526206f38fcd4f891c6df453f40da1a15a57 languageName: node linkType: hard @@ -17223,18 +17923,29 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.6.2": - version: 2.7.1 - resolution: "socks@npm:2.7.1" +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - ip: ^2.0.0 - smart-buffer: ^4.2.0 - checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 + agent-base: ^7.1.2 + debug: ^4.3.4 + socks: ^2.8.3 + checksum: b4fbcdb7ad2d6eec445926e255a1fb95c975db0020543fbac8dfa6c47aecc6b3b619b7fb9c60a3f82c9b2969912a5e7e174a056ae4d98cb5322f3524d6036e1d languageName: node linkType: hard -"sonic-boom@npm:3.8.0, sonic-boom@npm:^3.7.0": - version: 3.8.0 +"socks@npm:^2.6.2, socks@npm:^2.8.3": + version: 2.8.7 + resolution: "socks@npm:2.8.7" + dependencies: + ip-address: ^10.0.1 + smart-buffer: ^4.2.0 + checksum: 4bbe2c88cf0eeaf49f94b7f11564a99b2571bde6fd1e714ff95b38f89e1f97858c19e0ab0e6d39eb7f6a984fa67366825895383ed563fe59962a1d57a1d55318 + languageName: node + linkType: hard + +"sonic-boom@npm:3.8.0": + version: 3.8.0 resolution: "sonic-boom@npm:3.8.0" dependencies: atomic-sleep: ^1.0.0 @@ -17251,6 +17962,15 @@ __metadata: languageName: node linkType: hard +"sonic-boom@npm:^3.7.0": + version: 3.8.1 + resolution: "sonic-boom@npm:3.8.1" + dependencies: + atomic-sleep: ^1.0.0 + checksum: 79c90d7a2f928489fd3d4b68d8f8d747a426ca6ccf83c3b102b36f899d4524463dd310982ab7ab6d6bcfd34b7c7c281ad25e495ad71fbff8fd6fa86d6273fc6b + languageName: node + linkType: hard + "sort-keys@npm:^1.0.0": version: 1.1.2 resolution: "sort-keys@npm:1.1.2" @@ -17299,10 +18019,10 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 4eb0cd997cdf228bc253bcaff9340afeb706176e64868ecd20efbe6efea931465f43955612346d6b7318789e5265bdc419bc7669c1cebe3db0eb255f57efa76b languageName: node linkType: hard @@ -17359,9 +18079,9 @@ __metadata: linkType: hard "spdx-exceptions@npm:^2.1.0": - version: 2.3.0 - resolution: "spdx-exceptions@npm:2.3.0" - checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: bb127d6e2532de65b912f7c99fc66097cdea7d64c10d3ec9b5e96524dbbd7d20e01cba818a6ddb2ae75e62bb0c63d5e277a7e555a85cbc8ab40044984fa4ae15 languageName: node linkType: hard @@ -17376,22 +18096,22 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.16 - resolution: "spdx-license-ids@npm:3.0.16" - checksum: 5cdaa85aaa24bd02f9353a2e357b4df0a4f205cb35655f3fd0a5674a4fb77081f28ffd425379214bc3be2c2b7593ce1215df6bcc75884aeee0a9811207feabe2 + version: 3.0.22 + resolution: "spdx-license-ids@npm:3.0.22" + checksum: 3810ce1ddd8c67d7cfa76a0af05157090a2d93e5bb93bd85bf9735f1fd8062c5b510423a4669dc7d8c34b0892b27a924b1c6f8965f85d852aa25062cceff5e29 languageName: node linkType: hard "speech-rule-engine@npm:^4.0.6": - version: 4.0.7 - resolution: "speech-rule-engine@npm:4.0.7" + version: 4.1.2 + resolution: "speech-rule-engine@npm:4.1.2" dependencies: - commander: 9.2.0 + "@xmldom/xmldom": 0.9.8 + commander: 13.1.0 wicked-good-xpath: 1.3.0 - xmldom-sre: 0.1.31 bin: sre: bin/sre - checksum: e5b8a5878be61d0344d5e9e0327e6bdf25a23de8fb66bd1898719d52b5f12f42b7e11a3387b8f293420c5eaab57b3ed9099be0adcc2132177301e81134612f38 + checksum: 437e70f6f6a08b35d5339467427d6a74eecf6c1f4a74e551b2c18ad2315c1f6a89ecb801d02c49e92b30df709a3a8e08ad75ae1095c0224c2cd0fddf5f982de9 languageName: node linkType: hard @@ -17449,15 +18169,24 @@ __metadata: linkType: hard "ssri@npm:^10.0.0, ssri@npm:^10.0.1": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: ^7.0.3 + checksum: 4603d53a05bcd44188747d38f1cc43833b9951b5a1ee43ba50535bdfc5fe4a0897472dbe69837570a5417c3c073377ef4f8c1a272683b401857f72738ee57299 + languageName: node + linkType: hard + +"ssri@npm:^13.0.0": + version: 13.0.0 + resolution: "ssri@npm:13.0.0" dependencies: minipass: ^7.0.3 - checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 + checksum: 9705dff9e686b11f3035fb4c3d44ce690359a15a54adcd6a18951f2763f670877321178dc72c37a2b804dba3287ecaa48726dbd0cff79b2715b1cc24521b3af3 languageName: node linkType: hard -"ssri@npm:^9.0.1": +"ssri@npm:^9.0.0, ssri@npm:^9.0.1": version: 9.0.1 resolution: "ssri@npm:9.0.1" dependencies: @@ -17491,24 +18220,31 @@ __metadata: languageName: node linkType: hard -"stream-shift@npm:^1.0.0": - version: 1.0.1 - resolution: "stream-shift@npm:1.0.1" - checksum: 59b82b44b29ec3699b5519a49b3cedcc6db58c72fb40c04e005525dfdcab1c75c4e0c180b923c380f204bed78211b9bad8faecc7b93dece4d004c3f6ec75737b +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: ^1.3.0 + internal-slot: ^1.1.0 + checksum: be944489d8829fb3bdec1a1cc4a2142c6b6eb317305eeace1ece978d286d6997778afa1ae8cb3bd70e2b274b9aa8c69f93febb1e15b94b1359b11058f9d3c3a1 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0, stream-shift@npm:^1.0.2": + version: 1.0.3 + resolution: "stream-shift@npm:1.0.3" + checksum: a24c0a3f66a8f9024bd1d579a533a53be283b4475d4e6b4b3211b964031447bdf6532dd1f3c2b0ad66752554391b7c62bd7ca4559193381f766534e723d50242 languageName: node linkType: hard "streamx@npm:^2.15.0": - version: 2.22.0 - resolution: "streamx@npm:2.22.0" + version: 2.23.0 + resolution: "streamx@npm:2.23.0" dependencies: - bare-events: ^2.2.0 + events-universal: ^1.0.0 fast-fifo: ^1.3.2 text-decoder: ^1.1.0 - dependenciesMeta: - bare-events: - optional: true - checksum: 9b2772a084281129d402f298bddf8d5f3c09b6b3d9b5c93df942e886b0b963c742a89736415cc53ffb8fc1f6f5b0b3ea171ed0ba86f1b31cde6ed35db5e07f6d + checksum: d57de47db76ffd926842afab562fc8b139d7333269c6db11da5a233e8524cd326161b48bdddd28cefc010cec0b143af04dbb6f5e92d5034839ce7428928dfcae languageName: node linkType: hard @@ -17551,64 +18287,84 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.8": - version: 4.0.10 - resolution: "string.prototype.matchall@npm:4.0.10" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - regexp.prototype.flags: ^1.5.0 - set-function-name: ^2.0.0 - side-channel: ^1.0.4 - checksum: 3c78bdeff39360c8e435d7c4c6ea19f454aa7a63eda95fa6fadc3a5b984446a2f9f2c02d5c94171ce22268a573524263fbd0c8edbe3ce2e9890d7cc036cdc3ed + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 + es-abstract: ^1.23.6 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.6 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + regexp.prototype.flags: ^1.5.3 + set-function-name: ^2.0.2 + side-channel: ^1.1.0 + checksum: 98a09d6af91bfc6ee25556f3d7cd6646d02f5f08bda55d45528ed273d266d55a71af7291fe3fc76854deffb9168cc1a917d0b07a7d5a178c7e9537c99e6d2b57 languageName: node linkType: hard "string.prototype.padend@npm:^3.0.0": - version: 3.1.5 - resolution: "string.prototype.padend@npm:3.1.5" + version: 3.1.6 + resolution: "string.prototype.padend@npm:3.1.6" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: fc915e0b6ae1dce07a9f5088429d84fda2c1c0ac9a05bc14a602f173cc2fdef32e4893dfba5656f8f955450c9c16deebdb8d303d27613a367bc6d8508a94cd5e + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: d9fc23c21bdfb6850756002ef09cebc420882003f29eafbd8322df77a90726bc2a64892d01f94f1fc9fc6f809414fbcbd8615610bb3cddd33512c12b6b3643a2 languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 95dfc514ed7f328d80a066dabbfbbb1615c3e51490351085409db2eb7cbfed7ea29fdadaf277647fbf9f4a1e10e6dd9e95e78c0fd2c4e6bb6723ea6e59401004 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c + call-bind: ^1.0.8 + call-bound: ^1.0.2 + define-data-property: ^1.1.4 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-object-atoms: ^1.0.0 + has-property-descriptors: ^1.0.2 + checksum: 87659cd8561237b6c69f5376328fda934693aedde17bb7a2c57008e9d9ff992d0c253a391c7d8d50114e0e49ff7daf86a362f7961cf92f7564cd01342ca2e385 languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: ^1.0.8 + call-bound: ^1.0.2 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: cb86f639f41d791a43627784be2175daa9ca3259c7cb83e7a207a729909b74f2ea0ec5d85de5761e6835e5f443e9420c6ff3f63a845378e4a61dd793177bc287 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: df1007a7f580a49d692375d996521dc14fd103acda7f3034b3c558a60b82beeed3a64fa91e494e164581793a8ab0ae2f59578a49896a7af6583c1f20472bce96 languageName: node linkType: hard @@ -17640,11 +18396,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" + version: 7.1.2 + resolution: "strip-ansi@npm:7.1.2" dependencies: ansi-regex: ^6.0.1 - checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d + checksum: db0e3f9654e519c8a33c50fc9304d07df5649388e7da06d3aabf66d29e5ad65d5e6315d8519d409c15b32fa82c1df7e11ed6f8cd50b0e4404463f0c9d77c8d0b languageName: node linkType: hard @@ -17718,18 +18474,18 @@ __metadata: linkType: hard "style-loader@npm:~3.3.1": - version: 3.3.3 - resolution: "style-loader@npm:3.3.3" + version: 3.3.4 + resolution: "style-loader@npm:3.3.4" peerDependencies: webpack: ^5.0.0 - checksum: f59c953f56f6a935bd6a1dfa409f1128fed2b66b48ce4a7a75b85862a7156e5e90ab163878962762f528ec4d510903d828da645e143fbffd26f055dc1c094078 + checksum: caac3f2fe2c3c89e49b7a2a9329e1cfa515ecf5f36b9c4885f9b218019fda207a9029939b2c35821dec177a264a007e7c391ccdd3ff7401881ce6287b9c8f38b languageName: node linkType: hard "style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": - version: 4.1.0 - resolution: "style-mod@npm:4.1.0" - checksum: 8402b14ca11113a3640d46b3cf7ba49f05452df7846bc5185a3535d9b6a64a3019e7fb636b59ccbb7816aeb0725b24723e77a85b05612a9360e419958e13b4e6 + version: 4.1.3 + resolution: "style-mod@npm:4.1.3" + checksum: 2372098b8747ea0d662084e88961f48d49796b2aca6f8f7de2546aa73059e869db1149325106eba37267afd9e7f97109be6679a6011c48ae1d5c0b6382a4d163 languageName: node linkType: hard @@ -17800,10 +18556,10 @@ __metadata: languageName: node linkType: hard -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 +"tapable@npm:^2.0.0, tapable@npm:^2.2.0, tapable@npm:^2.2.1, tapable@npm:^2.3.0": + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: ada1194219ad550e3626d15019d87a2b8e77521d8463ab1135f46356e987a4c37eff1e87ffdd5acd573590962e519cc81e8ea6f7ed632c66bb58c0f12bd772a4 languageName: node linkType: hard @@ -17831,7 +18587,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:6.1.11, tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.2": +"tar@npm:6.1.11": version: 6.1.11 resolution: "tar@npm:6.1.11" dependencies: @@ -17845,6 +18601,33 @@ __metadata: languageName: node linkType: hard +"tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^5.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: f1322768c9741a25356c11373bce918483f40fa9a25c69c59410c8a1247632487edef5fe76c5f12ac51a6356d2f1829e96d2bc34098668a2fc34d76050ac2b6c + languageName: node + linkType: hard + +"tar@npm:^7.5.2": + version: 7.5.2 + resolution: "tar@npm:7.5.2" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.1.0 + yallist: ^5.0.0 + checksum: 192559b0e7af17d57c7747592ef22c14d5eba2d9c35996320ccd20c3e2038160fe8d928fc5c08b2aa1b170c4d0a18c119441e81eae8f227ca2028d5bcaa6bf23 + languageName: node + linkType: hard + "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -17852,15 +18635,15 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.7": - version: 5.3.9 - resolution: "terser-webpack-plugin@npm:5.3.9" +"terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.7": + version: 5.3.14 + resolution: "terser-webpack-plugin@npm:5.3.14" dependencies: - "@jridgewell/trace-mapping": ^0.3.17 + "@jridgewell/trace-mapping": ^0.3.25 jest-worker: ^27.4.5 - schema-utils: ^3.1.1 - serialize-javascript: ^6.0.1 - terser: ^5.16.8 + schema-utils: ^4.3.0 + serialize-javascript: ^6.0.2 + terser: ^5.31.1 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -17870,21 +18653,21 @@ __metadata: optional: true uglify-js: optional: true - checksum: 41705713d6f9cb83287936b21e27c658891c78c4392159f5148b5623f0e8c48559869779619b058382a4c9758e7820ea034695e57dc7c474b4962b79f553bc5f + checksum: 13a1e67f1675a473b18d25cb0ce65c3f0a19b5e9a93213a99ea61dc4ca996ea93aa17a221965b526f5788d242836a8249ad00538fbb322e25cb69076eb55feab languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.16.8": - version: 5.36.0 - resolution: "terser@npm:5.36.0" +"terser@npm:^5.10.0, terser@npm:^5.31.1": + version: 5.44.1 + resolution: "terser@npm:5.44.1" dependencies: "@jridgewell/source-map": ^0.3.3 - acorn: ^8.8.2 + acorn: ^8.15.0 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 489afd31901a2b170f7766948a3aa0e25da0acb41e9e35bd9f9b4751dfa2fc846e485f6fb9d34f0839a96af77f675b5fbf0a20c9aa54e0b8d7c219cf0b55e508 + checksum: 1113c5711bb53127f9886e3c906fde8a93a665b532db9c7e36ff7bf287e032ed48ea0e5a3a1a27f6a27c3c0f934e47e7590fcd15c76b7b7bd44ad751b8a9ede4 languageName: node linkType: hard @@ -17958,9 +18741,19 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.1": - version: 1.0.1 - resolution: "tinyexec@npm:1.0.1" - checksum: 40f5219abf891884863b085ebe5e8c8bf95bde802f6480f279588b355835ad1604fa01eada2afe90063b48b53cd4b0be5c37393980e23f06fd10689d92fb9586 + version: 1.0.2 + resolution: "tinyexec@npm:1.0.2" + checksum: af22de2191cc70bb782eef29bbba7cf6ac16664e550b547b0db68804f988eeb2c70e12fbb7d2d688ee994b28ba831d746e9eded98c3d10042fd3a9b8de208514 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: ^6.5.0 + picomatch: ^4.0.3 + checksum: 0e33b8babff966c6ab86e9b825a350a6a98a63700fa0bb7ae6cf36a7770a508892383adc272f7f9d17aaf46a9d622b455e775b9949a3f951eaaf5dfb26331d44 languageName: node linkType: hard @@ -17971,39 +18764,28 @@ __metadata: languageName: node linkType: hard -"tldts-core@npm:^6.1.84": - version: 6.1.84 - resolution: "tldts-core@npm:6.1.84" - checksum: 8828ae497afc717042f2e0ec1b8ca9f60887b53331978d16b044bdfc89016e1f4a17cbecbcfc4a853240a08dd9b770144dc40dcdab366a5addac5530275a6b01 +"tldts-core@npm:^6.1.86": + version: 6.1.86 + resolution: "tldts-core@npm:6.1.86" + checksum: 0a715457e03101deff9b34cf45dcd91b81985ef32d35b8e9c4764dcf76369bf75394304997584080bb7b8897e94e20f35f3e8240a1ec87d6faba3cc34dc5a954 languageName: node linkType: hard "tldts@npm:^6.1.32": - version: 6.1.84 - resolution: "tldts@npm:6.1.84" + version: 6.1.86 + resolution: "tldts@npm:6.1.86" dependencies: - tldts-core: ^6.1.84 + tldts-core: ^6.1.86 bin: tldts: bin/cli.js - checksum: 6861c92000e4ccd725564a531bb60c9e673e0191fb26f43467f1c5ea1fb75344f9b8475050a73d78b6e855485cac12d5fceb7edf48c9b309e48ee5c2e6b1c41e - languageName: node - linkType: hard - -"tmp@npm:^0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: ~1.0.2 - checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 + checksum: e5c57664f73663c6c8f7770db02c0c03d6f877fe837854c72037be8092826f95b8e568962358441ef18431b80b7e40ed88391c70873ee7ec0d4344999a12e3de languageName: node linkType: hard "tmp@npm:~0.2.1": - version: 0.2.1 - resolution: "tmp@npm:0.2.1" - dependencies: - rimraf: ^3.0.0 - checksum: 8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e + version: 0.2.5 + resolution: "tmp@npm:0.2.5" + checksum: 9d18e58060114154939930457b9e198b34f9495bcc05a343bc0a0a29aa546d2c1c2b343dae05b87b17c8fde0af93ab7d8fe8574a8f6dc2cd8fd3f2ca1ad0d8e1 languageName: node linkType: hard @@ -18051,14 +18833,14 @@ __metadata: linkType: hard "tough-cookie@npm:^4.1.2": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" dependencies: psl: ^1.1.33 punycode: ^2.1.1 universalify: ^0.2.0 url-parse: ^1.5.3 - checksum: c9226afff36492a52118432611af083d1d8493a53ff41ec4ea48e5b583aec744b989e4280bcf476c910ec1525a89a4a0f1cae81c08b18fb2ec3a9b3a72b91dcc + checksum: 5815059f014c31179a303c673f753f7899a6fce94ac93712c88ea5f3c26e0c042b5f0c7a599a00f8e0feeca4615dba75c3dffc54f3c1a489978aa8205e09307c languageName: node linkType: hard @@ -18118,35 +18900,42 @@ __metadata: linkType: hard "ts-jest@npm:^29.0.3, ts-jest@npm:^29.1.0": - version: 29.1.1 - resolution: "ts-jest@npm:29.1.1" + version: 29.4.5 + resolution: "ts-jest@npm:29.4.5" dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x - jest-util: ^29.0.0 + bs-logger: ^0.2.6 + fast-json-stable-stringify: ^2.1.0 + handlebars: ^4.7.8 json5: ^2.2.3 - lodash.memoize: 4.x - make-error: 1.x - semver: ^7.5.3 - yargs-parser: ^21.0.1 + lodash.memoize: ^4.1.2 + make-error: ^1.3.6 + semver: ^7.7.3 + type-fest: ^4.41.0 + yargs-parser: ^21.1.1 peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 + "@jest/transform": ^29.0.0 || ^30.0.0 + "@jest/types": ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 typescript: ">=4.3 <6" peerDependenciesMeta: "@babel/core": optional: true + "@jest/transform": + optional: true "@jest/types": optional: true babel-jest: optional: true esbuild: optional: true + jest-util: + optional: true bin: ts-jest: cli.js - checksum: a8c9e284ed4f819526749f6e4dc6421ec666f20ab44d31b0f02b4ed979975f7580b18aea4813172d43e39b29464a71899f8893dd29b06b4a351a3af8ba47b402 + checksum: b2ba677d32bd0024356ab8d43a1b88cb81ecad94be277b111975e626fd37a9ed17fd446a2e3a399a3c8534dcf89ea7c28a4bf4f094b153a4a9972c67b680ad0d languageName: node linkType: hard @@ -18168,10 +18957,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.1, tslib@npm:~2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.8.1, tslib@npm:~2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a languageName: node linkType: hard @@ -18206,13 +18995,6 @@ __metadata: languageName: node linkType: hard -"tunnel@npm:^0.0.6": - version: 0.0.6 - resolution: "tunnel@npm:0.0.6" - checksum: c362948df9ad34b649b5585e54ce2838fa583aa3037091aaed66793c65b423a264e5229f0d7e9a95513a795ac2bd4cb72cda7e89a74313f182c1e9ae0b0994fa - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -18285,6 +19067,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^4.41.0": + version: 4.41.0 + resolution: "type-fest@npm:4.41.0" + checksum: 7055c0e3eb188425d07403f1d5dc175ca4c4f093556f26871fe22041bc93d137d54bef5851afa320638ca1379106c594f5aa153caa654ac1a7f22c71588a4e80 + languageName: node + linkType: hard + "type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -18295,50 +19084,56 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - is-typed-array: ^1.1.10 - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + call-bound: ^1.0.3 + es-errors: ^1.3.0 + is-typed-array: ^1.1.14 + checksum: 3fb91f0735fb413b2bbaaca9fabe7b8fc14a3fa5a5a7546bab8a57e755be0e3788d893195ad9c2b842620592de0e68d4c077d4c2c41f04ec25b8b5bb82fa9a80 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: ^1.0.2 + call-bind: ^1.0.8 for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.14 + checksum: cda9352178ebeab073ad6499b03e938ebc30c4efaea63a26839d89c4b1da9d2640b0d937fc2bd1f049eb0a38def6fbe8a061b601292ae62fe079a410ce56e3a6 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.8 for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.15 + reflect.getprototypeof: ^1.0.9 + checksum: 670b7e6bb1d3c2cf6160f27f9f529e60c3f6f9611c67e47ca70ca5cfa24ad95415694c49d1dbfeda016d3372cab7dfc9e38c7b3e1bb8d692cae13a63d3c144d7 languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: - call-bind: ^1.0.2 + call-bind: ^1.0.7 for-each: ^0.3.3 - is-typed-array: ^1.1.9 - checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + gopd: ^1.0.1 + is-typed-array: ^1.1.13 + possible-typed-array-names: ^1.0.0 + reflect.getprototypeof: ^1.0.6 + checksum: deb1a4ffdb27cd930b02c7030cb3e8e0993084c643208e52696e18ea6dd3953dfc37b939df06ff78170423d353dc8b10d5bae5796f3711c1b3abe52872b3774c languageName: node linkType: hard @@ -18349,7 +19144,17 @@ __metadata: languageName: node linkType: hard -"typescript@npm:>=3 < 6, typescript@npm:~5.5.4": +"typescript@npm:>=3 < 6": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 0d0ffb84f2cd072c3e164c79a2e5a1a1f4f168e84cb2882ff8967b92afe1def6c2a91f6838fb58b168428f9458c57a2ba06a6737711fdd87a256bbe83e9a217f + languageName: node + linkType: hard + +"typescript@npm:~5.5.4": version: 5.5.4 resolution: "typescript@npm:5.5.4" bin: @@ -18359,7 +19164,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@>=3 < 6#~builtin, typescript@patch:typescript@~5.5.4#~builtin": +"typescript@patch:typescript@>=3 < 6#~builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#~builtin::version=5.9.3&hash=85af82" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 8bb8d86819ac86a498eada254cad7fb69c5f74778506c700c2a712daeaff21d3a6f51fd0d534fe16903cb010d1b74f89437a3d02d4d0ff5ca2ba9a4660de8497 + languageName: node + linkType: hard + +"typescript@patch:typescript@~5.5.4#~builtin": version: 5.5.4 resolution: "typescript@patch:typescript@npm%3A5.5.4#~builtin::version=5.5.4&hash=85af82" bin: @@ -18379,45 +19194,52 @@ __metadata: languageName: node linkType: hard -"ufo@npm:^1.5.4": - version: 1.5.4 - resolution: "ufo@npm:1.5.4" - checksum: f244703b7d4f9f0df4f9af23921241ab73410b591f4e5b39c23e3147f3159b139a4b1fb5903189c306129f7a16b55995dac0008e0fbae88a37c3e58cbc34d833 +"ufo@npm:^1.6.1": + version: 1.6.1 + resolution: "ufo@npm:1.6.1" + checksum: 2c401dd45bd98ad00806e044aa8571aa2aa1762fffeae5e78c353192b257ef2c638159789f119e5d8d5e5200e34228cd1bbde871a8f7805de25daa8576fb1633 languageName: node linkType: hard "uglify-js@npm:^3.1.4": - version: 3.17.4 - resolution: "uglify-js@npm:3.17.4" + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" bin: uglifyjs: bin/uglifyjs - checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 + checksum: 7ed6272fba562eb6a3149cfd13cda662f115847865c03099e3995a0e7a910eba37b82d4fccf9e88271bb2bcbe505bb374967450f433c17fa27aa36d94a8d0553 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: ^1.0.2 + call-bound: ^1.0.3 has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + has-symbols: ^1.1.0 + which-boxed-primitive: ^1.1.1 + checksum: 729f13b84a5bfa3fead1d8139cee5c38514e63a8d6a437819a473e241ba87eeb593646568621c7fc7f133db300ef18d65d1a5a60dc9c7beb9000364d93c581df languageName: node linkType: hard -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: b7bc50f012dc6afbcce56c9fd62d7e86b20a62ff21f12b7b5cbf1973b9578d90f22a9c7fe50e638e96905d33893bf2f9f16d98929c4673c2480de05c6c96ea8b +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 46331c7d6016bf85b3e8f20c159d62f5ae471aba1eb3dc52fff35a0259d58dcc7d592d4cc4f00c5f9243fa738a11cfa48bd20203040d4a9e6bc25e807fab7ab3 + languageName: node + linkType: hard + +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 1ef68fc6c5bad200c8b6f17de8e5bc5cfdcadc164ba8d7208cd087cfa8583d922d8316a7fd76c9a658c22b4123d3ff847429185094484fbc65377d695c905857 languageName: node linkType: hard "unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" - checksum: 39be078afd014c14dcd957a7a46a60061bc37c4508ba146517f85f60361acf4c7539552645ece25de840e17e293baa5556268d091ca6762747fdd0c705001a45 + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 3c3dabdb1d22aef4904399f9e810d0b71c0b12b3815169d96fac97e56d5642840c6071cf709adcace2252bc6bb80242396c2ec74b37224eb015c5f7aca40bad7 languageName: node linkType: hard @@ -18431,17 +19253,26 @@ __metadata: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.1.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" - checksum: 8d6f5f586b9ce1ed0e84a37df6b42fdba1317a05b5df0c249962bd5da89528771e2d149837cad11aa26bcb84c35355cb9f58a10c3d41fa3b899181ece6c85220 +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: e6c73e07bb4dc4aa399797a14b170e84a30ed290bcf97cc4305cf67dde8744119721ce17cef03f4f9d4ff48654bfa26eadc7fe1e8dd4b71b8f3b2e9a9742f013 languageName: node linkType: hard "unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.1.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" - checksum: 243524431893649b62cc674d877bd64ef292d6071dd2fd01ab4d5ad26efbc104ffcd064f93f8a06b7e4ec54c172bf03f6417921a0d8c3a9994161fe1f88f815b + version: 2.2.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" + checksum: 0dd0f6e70130c59b4a841bac206758f70227b113145e4afe238161e3e8540e8eb79963e7a228cd90ad13d499e96f7ef4ee8940835404b2181ad9bf9c174818e3 + languageName: node + linkType: hard + +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: ^3.0.0 + checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f languageName: node linkType: hard @@ -18454,6 +19285,24 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" + dependencies: + unique-slug: ^6.0.0 + checksum: a5f67085caef74bdd2a6869a200ed5d68d171f5cc38435a836b5fd12cce4e4eb55e6a190298035c325053a5687ed7a3c96f0a91e82215fd14729769d9ac57d9b + languageName: node + linkType: hard + +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -18463,10 +19312,19 @@ __metadata: languageName: node linkType: hard -"universal-user-agent@npm:^6.0.0": +"unique-slug@npm:^6.0.0": version: 6.0.0 - resolution: "universal-user-agent@npm:6.0.0" - checksum: 5092bbc80dd0d583cef0b62c17df0043193b74f425112ea6c1f69bc5eda21eeec7a08d8c4f793a277eb2202ffe9b44bec852fa3faff971234cd209874d1b79ef + resolution: "unique-slug@npm:6.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: ad6cf238b10292d944521714d31bc9f3ca79fa80cb7a154aad183056493f98e85de669412c6bbfe527ffa9bdeff36d3dd4d5bccaf562c794f2580ab11932b691 + languageName: node + linkType: hard + +"universal-user-agent@npm:^6.0.0": + version: 6.0.1 + resolution: "universal-user-agent@npm:6.0.1" + checksum: fdc8e1ae48a05decfc7ded09b62071f571c7fe0bd793d700704c80cea316101d4eac15cc27ed2bb64f4ce166d2684777c3198b9ab16034f547abea0d3aa1c93c languageName: node linkType: hard @@ -18485,9 +19343,9 @@ __metadata: linkType: hard "universalify@npm:^2.0.0": - version: 2.0.0 - resolution: "universalify@npm:2.0.0" - checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: ecd8469fe0db28e7de9e5289d32bd1b6ba8f7183db34f3bfc4ca53c49891c2d6aa05f3fb3936a81285a905cc509fb641a0c3fc131ec786167eff41236ae32e60 languageName: node linkType: hard @@ -18512,17 +19370,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" +"update-browserslist-db@npm:^1.1.4": + version: 1.1.4 + resolution: "update-browserslist-db@npm:1.1.4" dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 + escalade: ^3.2.0 + picocolors: ^1.1.1 peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322 + checksum: b757805a63d7954985753c97a48e313abd2d35f2bb10d2bffa65d73a4b81ec9e1305a7b06296819bac8a6b4db8e7be88582487fae2ad7e24731e4ee372b919a6 languageName: node linkType: hard @@ -18601,13 +19459,13 @@ __metadata: linkType: hard "v8-to-istanbul@npm:^9.0.1": - version: 9.1.3 - resolution: "v8-to-istanbul@npm:9.1.3" + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" dependencies: "@jridgewell/trace-mapping": ^0.3.12 "@types/istanbul-lib-coverage": ^2.0.1 convert-source-map: ^2.0.0 - checksum: 5d592ab3d186b386065dace8e01c543a922a904b3cfac39667de172455a6b3d0e8e1401574fecb8a12092ad0809b5a8fd15f1cc14d0666139a1bb77cd6ac2cf8 + checksum: ded42cd535d92b7fd09a71c4c67fb067487ef5551cc227bfbf2a1f159a842e4e4acddaef20b955789b8d3b455b9779d036853f4a27ce15007f6364a4d30317ae languageName: node linkType: hard @@ -18621,7 +19479,7 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:5.0.0, validate-npm-package-name@npm:^5.0.0": +"validate-npm-package-name@npm:5.0.0": version: 5.0.0 resolution: "validate-npm-package-name@npm:5.0.0" dependencies: @@ -18639,6 +19497,13 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 0d583a1af23aeffea7748742cf22b6802458736fb8b60323ba5949763824d46f796474b0e1b9206beb716f9d75269e19dbd7795d6b038b29d561be95dd827381 + languageName: node + linkType: hard + "validate.io-array@npm:^1.0.3": version: 1.0.6 resolution: "validate.io-array@npm:1.0.6" @@ -18711,34 +19576,33 @@ __metadata: languageName: node linkType: hard -"vega-dataflow@npm:^5.7.7, vega-dataflow@npm:~5.7.7": - version: 5.7.7 - resolution: "vega-dataflow@npm:5.7.7" +"vega-dataflow@npm:^5.7.7, vega-dataflow@npm:^5.7.8, vega-dataflow@npm:~5.7.7": + version: 5.7.8 + resolution: "vega-dataflow@npm:5.7.8" dependencies: - vega-format: ^1.1.3 - vega-loader: ^4.5.3 - vega-util: ^1.17.3 - checksum: 43c1c039fea007dbca1a7c942821ac734a3068b3ef848f87b3b51265eb2dbd63796f58295313dda9ee8a6d308d9dfb7083530f69a5ffb0f756ce5345544cc60e + vega-format: ^1.1.4 + vega-loader: ^4.5.4 + vega-util: ^1.17.4 + checksum: edc99cc15fbef422171c4bcfbe9e3fe53c1961be1bc87194e5141c176e65853b31448e57b7dede0f9641e75ff83728750a741d63d8fe507146d1d691e4270515 languageName: node linkType: hard "vega-embed@npm:^6.2.1": - version: 6.23.0 - resolution: "vega-embed@npm:6.23.0" + version: 6.29.0 + resolution: "vega-embed@npm:6.29.0" dependencies: fast-json-patch: ^3.1.1 - json-stringify-pretty-compact: ^3.0.0 - semver: ^7.5.4 - tslib: ^2.6.1 + json-stringify-pretty-compact: ^4.0.0 + semver: ^7.6.3 + tslib: ^2.8.1 vega-interpreter: ^1.0.5 vega-schema-url-parser: ^2.2.0 - vega-themes: ^2.14.0 - vega-tooltip: ^0.33.0 - yallist: "*" + vega-themes: ^2.15.0 + vega-tooltip: ^0.35.2 peerDependencies: vega: ^5.21.0 vega-lite: "*" - checksum: 529207859ea34a30a9aa60f57956d9fdc3bd0b3007bda47e1cc14b53960b7846826b1faf2f6e84d5c203e6c9e6de4d96fda32c4b2e908eb18f7ef03e6bfd15c5 + checksum: 0eeef808dd333222b531b8cec01313f09b5b6606b4f98cee497fcbf74ce0e8dbf5477096876e564cfb732f8b9954d1d612665d2de54627429e6d587f2995b7bd languageName: node linkType: hard @@ -18762,23 +19626,23 @@ __metadata: languageName: node linkType: hard -"vega-expression@npm:^5.2.0, vega-expression@npm:~5.2.0": - version: 5.2.0 - resolution: "vega-expression@npm:5.2.0" +"vega-expression@npm:^5.2.0, vega-expression@npm:^5.2.1, vega-expression@npm:~5.2.0": + version: 5.2.1 + resolution: "vega-expression@npm:5.2.1" dependencies: "@types/estree": ^1.0.0 - vega-util: ^1.17.3 - checksum: 38df3b25ea994b28ec59fba869b9cb1e87518cedd3525886dc7aef5205372bac323635cd7be9907e4d71281e129689f475d3a688ea1ed015f4607088a27ca72a + vega-util: ^1.17.4 + checksum: d4331a522405c339c1fd0c8f8c60798d1acbcad0cbe6e5200afcdcefe58793c30d9d4b0d0d9eca937bfcb1fd8a33b335c540d580ae4d27ffa8939267b1fca6ac languageName: node linkType: hard -"vega-expression@npm:~5.1.0": - version: 5.1.0 - resolution: "vega-expression@npm:5.1.0" +"vega-expression@npm:~5.1.1": + version: 5.1.2 + resolution: "vega-expression@npm:5.1.2" dependencies: "@types/estree": ^1.0.0 - vega-util: ^1.17.1 - checksum: 0355ebb6edd8f2ccc2dcf277a29b42b13f971725443212ce8a64cb8a02049f75f0add7ca9afcd3bc6744b93be791b526e7f983d9080d5052e9b0ca55bd488ae5 + vega-util: ^1.17.3 + checksum: bf1b05edc9b290e213b33ad4ab2b581bd752983fb5b126cb8cb9b653c54e12b55b346bb2f85d8d8bccf2113a1d9d4497d99ced837061b6516c41d97624fac959 languageName: node linkType: hard @@ -18793,35 +19657,35 @@ __metadata: languageName: node linkType: hard -"vega-format@npm:^1.1.3, vega-format@npm:~1.1.3": - version: 1.1.3 - resolution: "vega-format@npm:1.1.3" +"vega-format@npm:^1.1.3, vega-format@npm:^1.1.4, vega-format@npm:~1.1.3": + version: 1.1.4 + resolution: "vega-format@npm:1.1.4" dependencies: d3-array: ^3.2.2 d3-format: ^3.1.0 d3-time-format: ^4.1.0 - vega-time: ^2.1.3 - vega-util: ^1.17.3 - checksum: ed46385be98ed837bc23f2578e6e81bfe30be18de0c2bacea8d3d02811d62ca91631f875ffae385be201b669e55f4e1d48cbf926a5377da02ff73f12f8e4f9bf + vega-time: ^2.1.4 + vega-util: ^1.17.4 + checksum: d0967d0aefa8c755c4351e6deefcbdb751ff2a2f920ffadcfcb342f925bfd9b7d570ac0628bbe3de6a648556da5e9cbf134659462237f8c500ea3d6ab55e946f languageName: node linkType: hard -"vega-functions@npm:^5.17.0, vega-functions@npm:~5.17.0": - version: 5.17.0 - resolution: "vega-functions@npm:5.17.0" +"vega-functions@npm:^5.18.0, vega-functions@npm:~5.18.0": + version: 5.18.1 + resolution: "vega-functions@npm:5.18.1" dependencies: d3-array: ^3.2.2 d3-color: ^3.1.0 d3-geo: ^3.1.0 - vega-dataflow: ^5.7.7 - vega-expression: ^5.2.0 - vega-scale: ^7.4.2 - vega-scenegraph: ^4.13.1 - vega-selections: ^5.6.0 + vega-dataflow: ^5.7.8 + vega-expression: ^5.2.1 + vega-scale: ^7.4.3 + vega-scenegraph: ^4.13.2 + vega-selections: ^5.6.1 vega-statistics: ^1.9.0 - vega-time: ^2.1.3 - vega-util: ^1.17.3 - checksum: 0f8011dec621bc3170f9b7b97d34472d27f743388b661a1be3ed419c5c8bc39dfaacce409fd0ae9164511334c9971e4a575c66108e4f353d74ed1d20e5e87429 + vega-time: ^2.1.4 + vega-util: ^1.17.4 + checksum: 9f1e36eba28123c132c4598de0350f4b425bdc3ebf8bcdf07632c37abd4128870f216552c6d75e4b43dcc76efbff443b5b7b81b452ba5e329560e1bede03c2bf languageName: node linkType: hard @@ -18853,9 +19717,11 @@ __metadata: linkType: hard "vega-interpreter@npm:^1.0.5": - version: 1.0.5 - resolution: "vega-interpreter@npm:1.0.5" - checksum: ed54bbeddc7942aa442ddf224b620fe68122ef4b93967376a03b6463feddf3da7a837e7b1e0a8d23fbf55898d3ac4a00a034f07acecb05b2d3e09621609dd19e + version: 1.2.1 + resolution: "vega-interpreter@npm:1.2.1" + dependencies: + vega-util: ^1.17.4 + checksum: 259762ee5710efa894778cad2ce7cae120a573c50ade0fd460d5240f06048d5786d0859f53e17d19e930737b9497f4cc2de49e8d5382e932d36c18a33edba526 languageName: node linkType: hard @@ -18872,13 +19738,13 @@ __metadata: linkType: hard "vega-lite@npm:^5.6.1-next.1": - version: 5.15.1 - resolution: "vega-lite@npm:5.15.1" + version: 5.23.0 + resolution: "vega-lite@npm:5.23.0" dependencies: - json-stringify-pretty-compact: ~3.0.0 - tslib: ~2.6.2 + json-stringify-pretty-compact: ~4.0.0 + tslib: ~2.8.1 vega-event-selector: ~3.0.1 - vega-expression: ~5.1.0 + vega-expression: ~5.1.1 vega-util: ~1.17.2 yargs: ~17.7.2 peerDependencies: @@ -18888,33 +19754,33 @@ __metadata: vl2png: bin/vl2png vl2svg: bin/vl2svg vl2vg: bin/vl2vg - checksum: ad7ad74e8ba5e5573d6ef1d251065ac28ae0be97f829f5e66e1c4c1ca43b9902d9fd95a94818c69f71cac21c29f6240a308725a3867489629cc6782c355511c5 + checksum: 6a52c4f62b4089543af38378db149cd5ee1059d7a4275a0a33ba8a0e00fd5c7b7695abe164348636fdf59529255abfc1253672416f0154a62db900daa2dc31a0 languageName: node linkType: hard -"vega-loader@npm:^4.5.3, vega-loader@npm:~4.5.3": - version: 4.5.3 - resolution: "vega-loader@npm:4.5.3" +"vega-loader@npm:^4.5.4, vega-loader@npm:~4.5.3": + version: 4.5.4 + resolution: "vega-loader@npm:4.5.4" dependencies: d3-dsv: ^3.0.1 node-fetch: ^2.6.7 topojson-client: ^3.1.0 - vega-format: ^1.1.3 - vega-util: ^1.17.3 - checksum: f3b87f12725de843ecd6a44f29800d5aae9966c1b07d632a70fef87cae93f433bc5e47ba25f45f99725f988cb424016453d1b0452ca695401b7b40c47b47b411 + vega-format: ^1.1.4 + vega-util: ^1.17.4 + checksum: 27de0ea61284bdaa83adaa1c9e474380134859962313aa22aeef21864b8de5de0eef6683db301d13fc63d7ea2ee9d5aa3d0307cc01fdc978648ac4952b610934 languageName: node linkType: hard -"vega-parser@npm:~6.5.0": - version: 6.5.0 - resolution: "vega-parser@npm:6.5.0" +"vega-parser@npm:~6.6.0": + version: 6.6.0 + resolution: "vega-parser@npm:6.6.0" dependencies: vega-dataflow: ^5.7.7 vega-event-selector: ^3.0.1 - vega-functions: ^5.17.0 + vega-functions: ^5.18.0 vega-scale: ^7.4.2 vega-util: ^1.17.3 - checksum: f39584a0687a252d85fe3355132421f3036a1fc645bb8b9240d754b03eb8062324af66ad8d0bd8ea94667a3e0fd10f210329a5c85ec99662322c055b6b694513 + checksum: 3f810bddf85b3b3e125e85a774324a0d9a5f7487a9da1936c3137f676df32665fa192d2124d04d5df9de43f2ef8015a4b7f56c9fac0319dc1e9ce20c547ca4a6 languageName: node linkType: hard @@ -18951,31 +19817,31 @@ __metadata: languageName: node linkType: hard -"vega-scale@npm:^7.4.2, vega-scale@npm:~7.4.2": - version: 7.4.2 - resolution: "vega-scale@npm:7.4.2" +"vega-scale@npm:^7.4.2, vega-scale@npm:^7.4.3, vega-scale@npm:~7.4.2": + version: 7.4.3 + resolution: "vega-scale@npm:7.4.3" dependencies: d3-array: ^3.2.2 d3-interpolate: ^3.0.1 d3-scale: ^4.0.2 d3-scale-chromatic: ^3.1.0 - vega-time: ^2.1.3 - vega-util: ^1.17.3 - checksum: 3168ad4e9e80075f8d521947070225906085bdfeafe774c31f7549b3b80d31d5cb3f94e9cd8d408098bfe6431347fa95ae7654b006d7893f33057a789cc75156 + vega-time: ^2.1.4 + vega-util: ^1.17.4 + checksum: 8ea9a93ea36584f402242bf6f3b6adaf39d8e6d605d9c6134449676bd9eb87aaf56c83fcded1b75a6aa8196d62c2c2ebe1bc52f0a22d87169d2b0e336ec42e25 languageName: node linkType: hard -"vega-scenegraph@npm:^4.13.1, vega-scenegraph@npm:~4.13.1": - version: 4.13.1 - resolution: "vega-scenegraph@npm:4.13.1" +"vega-scenegraph@npm:^4.13.1, vega-scenegraph@npm:^4.13.2, vega-scenegraph@npm:~4.13.1": + version: 4.13.2 + resolution: "vega-scenegraph@npm:4.13.2" dependencies: d3-path: ^3.1.0 d3-shape: ^3.2.0 vega-canvas: ^1.2.7 - vega-loader: ^4.5.3 - vega-scale: ^7.4.2 - vega-util: ^1.17.3 - checksum: 66ef0e8fd50f3794aece2f951c2c092518e52448b4ecd334cca944e1161b3c1b9680b8743ca0358c1b3e92e1b81aaa6ce5042dce5c5a20e3bcdd22613378b7d0 + vega-loader: ^4.5.4 + vega-scale: ^7.4.3 + vega-util: ^1.17.4 + checksum: d6bb56485028ea87320fd94202726bb1d6bf85c48163f9fe1063647ab4c03dcfed021d4736172920b075642c2da217471c4d4862bc01eb83d185ee3f6b05eb85 languageName: node linkType: hard @@ -18986,14 +19852,14 @@ __metadata: languageName: node linkType: hard -"vega-selections@npm:^5.6.0": - version: 5.6.0 - resolution: "vega-selections@npm:5.6.0" +"vega-selections@npm:^5.6.1": + version: 5.6.1 + resolution: "vega-selections@npm:5.6.1" dependencies: d3-array: 3.2.4 - vega-expression: ^5.2.0 - vega-util: ^1.17.3 - checksum: 6533b003fbc4cd523ae5c7650e5e905007fe37ac3db01ad6f652b62b3ab6a846441ddd38018a7e13cf275e176d92c193e2100c02aac8f03788f51326aeafd5fd + vega-expression: ^5.2.1 + vega-util: ^1.17.4 + checksum: 6d616bea71d594ea99447429fd03aab70db79a405d6f2011222e52f59ddcf8ba471e9a664aa115f68ec75acdcdd9ec51b3992e47f2ac858db9937e7eb88a5dd7 languageName: node linkType: hard @@ -19006,33 +19872,37 @@ __metadata: languageName: node linkType: hard -"vega-themes@npm:^2.14.0": - version: 2.14.0 - resolution: "vega-themes@npm:2.14.0" +"vega-themes@npm:^2.15.0": + version: 2.15.0 + resolution: "vega-themes@npm:2.15.0" peerDependencies: vega: "*" vega-lite: "*" - checksum: 0da158f62e61f95343c51d20c871eba2606ceb8c800fd5f645715b5f166c4b5ebe206bf0852cbc12cff26ef0924981fb92ad9ea7d7260baba02a6d2235fcb045 + checksum: 7ef06baca0e8ddd915ce0b4d2b94a58ec72c926f43b105c82031b470db28074c4633f4d9654c6365db161c4300049a5d230d9babf92f5a06a1c8260ae0939b62 languageName: node linkType: hard -"vega-time@npm:^2.1.3, vega-time@npm:~2.1.3": - version: 2.1.3 - resolution: "vega-time@npm:2.1.3" +"vega-time@npm:^2.1.3, vega-time@npm:^2.1.4, vega-time@npm:~2.1.3": + version: 2.1.4 + resolution: "vega-time@npm:2.1.4" dependencies: d3-array: ^3.2.2 d3-time: ^3.1.0 - vega-util: ^1.17.3 - checksum: c2a72ac6593ea1fabab95b72ce33b89a6ce2161330bcbaaa6508d61bbcd7edc940a9e76ae6d9a979be9d7c81eef4b26cd3592209bac201eca7356dfea7cc38ac + vega-util: ^1.17.4 + checksum: 344c8aaf23502cd5631a010144c4618f8e756f95e4bda4a86031a6e6c6041d964c1efa181d2648ab656121d1166df5b7cc05177ae2c20804f14f3e776405fd45 languageName: node linkType: hard -"vega-tooltip@npm:^0.33.0": - version: 0.33.0 - resolution: "vega-tooltip@npm:0.33.0" +"vega-tooltip@npm:^0.35.2": + version: 0.35.2 + resolution: "vega-tooltip@npm:0.35.2" dependencies: + "@rollup/rollup-linux-x64-gnu": ^4.24.4 vega-util: ^1.17.2 - checksum: c15a6c4c43290ab21ced2691a2688e52b0975d81817338f1f1dde28fed4230d3a8e45ed35e62f0c347d3f982b99843edd3617a0506b1890183afea3c49c4a0d2 + dependenciesMeta: + "@rollup/rollup-linux-x64-gnu": + optional: true + checksum: 5dfc244212bea209e22732432f6a7765f87699b1b5003703c8d69e9e247c80c69401ede02c687cc6d2121554cbbca39c4c2aa24aee608bfeca75efab8de20b29 languageName: node linkType: hard @@ -19061,10 +19931,10 @@ __metadata: languageName: node linkType: hard -"vega-util@npm:^1.17.1, vega-util@npm:^1.17.2, vega-util@npm:^1.17.3, vega-util@npm:~1.17.2": - version: 1.17.3 - resolution: "vega-util@npm:1.17.3" - checksum: d8bb21e2cb2ffa005bc3d9859d13aca8a0f13d6a143b8e12598c307de011ce1bc947402769e735ceb62d3b4e648214bdc00664aea1d819ad56563090e96d44b5 +"vega-util@npm:^1.17.2, vega-util@npm:^1.17.3, vega-util@npm:^1.17.4, vega-util@npm:~1.17.2": + version: 1.17.4 + resolution: "vega-util@npm:1.17.4" + checksum: 07b4808fc5d43afc20566a15f4d02465c13d20ec8f36859f4be3ffad9ed3b12220c20efaa12aaf9bcc7b0a07003a513f038cbcebc6e3e90e2bfc3456be085bd0 languageName: node linkType: hard @@ -19079,19 +19949,19 @@ __metadata: languageName: node linkType: hard -"vega-view@npm:~5.15.0": - version: 5.15.0 - resolution: "vega-view@npm:5.15.0" +"vega-view@npm:~5.16.0": + version: 5.16.0 + resolution: "vega-view@npm:5.16.0" dependencies: d3-array: ^3.2.2 d3-timer: ^3.0.1 vega-dataflow: ^5.7.7 vega-format: ^1.1.3 - vega-functions: ^5.17.0 + vega-functions: ^5.18.0 vega-runtime: ^6.2.1 vega-scenegraph: ^4.13.1 vega-util: ^1.17.3 - checksum: 2a0674f3bf83b7c0e4e917278f53e5e254093d33332669954a2fd3f35fcebc7e898482e28c8638cee16d44eaee69c1583962e73f18a2f125908a35f90411f9d6 + checksum: e17d2a476969d12e72520bfd32d3fb83cf011655e271fcd8d3640f3903b21c26798d43206961e39f87b9335311fd6324d760fad38c4617fffea65f9774dd3820 languageName: node linkType: hard @@ -19120,8 +19990,8 @@ __metadata: linkType: hard "vega@npm:^5.20.0": - version: 5.32.0 - resolution: "vega@npm:5.32.0" + version: 5.33.0 + resolution: "vega@npm:5.33.0" dependencies: vega-crossfilter: ~4.1.3 vega-dataflow: ~5.7.7 @@ -19130,12 +20000,12 @@ __metadata: vega-expression: ~5.2.0 vega-force: ~4.2.2 vega-format: ~1.1.3 - vega-functions: ~5.17.0 + vega-functions: ~5.18.0 vega-geo: ~4.4.3 vega-hierarchy: ~4.1.3 vega-label: ~1.3.1 vega-loader: ~4.5.3 - vega-parser: ~6.5.0 + vega-parser: ~6.6.0 vega-projection: ~1.6.2 vega-regression: ~1.3.1 vega-runtime: ~6.2.1 @@ -19146,11 +20016,11 @@ __metadata: vega-transforms: ~4.12.1 vega-typings: ~1.5.0 vega-util: ~1.17.2 - vega-view: ~5.15.0 + vega-view: ~5.16.0 vega-view-transforms: ~4.6.1 vega-voronoi: ~4.2.4 vega-wordcloud: ~4.1.6 - checksum: 4230d80cd9b9bd08cc2feb92cf3d9d8cdbafd61fb533b59b1671c035074a7bfad81eff61fdbc0bb667e2fc7cf4958576f43edda949bf6c9034bca55fe45205d2 + checksum: c8adb982b8852d0f5b55d8929302635d51d8155c2bbec477d2ee5635e6705a59f3a4efc472c9e74d6d5ab18c8ff3d3a1304219706a32129ac147e2cca13a4d91 languageName: node linkType: hard @@ -19242,7 +20112,7 @@ __metadata: languageName: node linkType: hard -"vscode-jsonrpc@npm:8.2.0, vscode-jsonrpc@npm:^8.0.2": +"vscode-jsonrpc@npm:8.2.0": version: 8.2.0 resolution: "vscode-jsonrpc@npm:8.2.0" checksum: f302a01e59272adc1ae6494581fa31c15499f9278df76366e3b97b2236c7c53ebfc71efbace9041cfd2caa7f91675b9e56f2407871a1b3c7f760a2e2ee61484a @@ -19256,6 +20126,13 @@ __metadata: languageName: node linkType: hard +"vscode-jsonrpc@npm:^8.0.2": + version: 8.2.1 + resolution: "vscode-jsonrpc@npm:8.2.1" + checksum: 2af2c333d73f6587896a7077978b8d4b430e55c674d5dbb90597a84a6647057c1655a3bff398a9b08f1f8ba57dbd2deabf05164315829c297b0debba3b8bc19e + languageName: node + linkType: hard + "vscode-languageserver-protocol@npm:3.17.5, vscode-languageserver-protocol@npm:^3.17.0": version: 3.17.5 resolution: "vscode-languageserver-protocol@npm:3.17.5" @@ -19344,13 +20221,13 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:^2.4.0": - version: 2.4.0 - resolution: "watchpack@npm:2.4.0" +"watchpack@npm:^2.4.4": + version: 2.4.4 + resolution: "watchpack@npm:2.4.4" dependencies: glob-to-regexp: ^0.4.1 graceful-fs: ^4.1.2 - checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 + checksum: 469514a04bcdd7ea77d4b3c62d1f087eafbce64cbc728c89355d5710ee01311533456122da7c585d3654d5bfcf09e6085db1a6eb274c4762a18e370526d17561 languageName: node linkType: hard @@ -19385,29 +20262,24 @@ __metadata: linkType: hard "webpack-bundle-analyzer@npm:^4.8.0": - version: 4.9.1 - resolution: "webpack-bundle-analyzer@npm:4.9.1" + version: 4.10.2 + resolution: "webpack-bundle-analyzer@npm:4.10.2" dependencies: "@discoveryjs/json-ext": 0.5.7 acorn: ^8.0.4 acorn-walk: ^8.0.0 commander: ^7.2.0 + debounce: ^1.2.1 escape-string-regexp: ^4.0.0 gzip-size: ^6.0.0 - is-plain-object: ^5.0.0 - lodash.debounce: ^4.0.8 - lodash.escape: ^4.0.1 - lodash.flatten: ^4.4.0 - lodash.invokemap: ^4.6.0 - lodash.pullall: ^4.2.0 - lodash.uniqby: ^4.7.0 + html-escaper: ^2.0.2 opener: ^1.5.2 picocolors: ^1.0.0 sirv: ^2.0.3 ws: ^7.3.1 bin: webpack-bundle-analyzer: lib/bin/analyzer.js - checksum: 7e891c28d5a903242893e55ecc714fa01d7ad6bedade143235c07091b235915349812fa048968462781d59187507962f38b6c61ed7d25fb836ba0ac0ee919a39 + checksum: 4f0275e7d87bb6203a618ca5d2d4953943979d986fa2b91be1bf1ad0bcd22bec13398803273d11699f9fbcf106896311208a72d63fe5f8a47b687a226e598dc1 languageName: node linkType: hard @@ -19444,12 +20316,13 @@ __metadata: linkType: hard "webpack-merge@npm:^5.7.3, webpack-merge@npm:^5.8.0": - version: 5.9.0 - resolution: "webpack-merge@npm:5.9.0" + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" dependencies: clone-deep: ^4.0.1 + flat: ^5.0.2 wildcard: ^2.0.0 - checksum: 64fe2c23aacc5f19684452a0e84ec02c46b990423aee6fcc5c18d7d471155bd14e9a6adb02bd3656eb3e0ac2532c8e97d69412ad14c97eeafe32fa6d10050872 + checksum: 1fe8bf5309add7298e1ac72fb3f2090e1dfa80c48c7e79fa48aa60b5961332c7d0d61efa8851acb805e6b91a4584537a347bc106e05e9aec87fa4f7088c62f2f languageName: node linkType: hard @@ -19463,47 +20336,48 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 +"webpack-sources@npm:^3.3.3": + version: 3.3.3 + resolution: "webpack-sources@npm:3.3.3" + checksum: 243d438ec4dfe805cca20fa66d111114b1f277b8ecfa95bb6ee0a6c7d996aee682539952028c2b203a6c170e6ef56f71ecf3e366e90bf1cb58b0ae982176b651 languageName: node linkType: hard "webpack@npm:^5.76.1": - version: 5.88.2 - resolution: "webpack@npm:5.88.2" - dependencies: - "@types/eslint-scope": ^3.7.3 - "@types/estree": ^1.0.0 - "@webassemblyjs/ast": ^1.11.5 - "@webassemblyjs/wasm-edit": ^1.11.5 - "@webassemblyjs/wasm-parser": ^1.11.5 - acorn: ^8.7.1 - acorn-import-assertions: ^1.9.0 - browserslist: ^4.14.5 + version: 5.103.0 + resolution: "webpack@npm:5.103.0" + dependencies: + "@types/eslint-scope": ^3.7.7 + "@types/estree": ^1.0.8 + "@types/json-schema": ^7.0.15 + "@webassemblyjs/ast": ^1.14.1 + "@webassemblyjs/wasm-edit": ^1.14.1 + "@webassemblyjs/wasm-parser": ^1.14.1 + acorn: ^8.15.0 + acorn-import-phases: ^1.0.3 + browserslist: ^4.26.3 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.15.0 + enhanced-resolve: ^5.17.3 es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 - graceful-fs: ^4.2.9 + graceful-fs: ^4.2.11 json-parse-even-better-errors: ^2.3.1 - loader-runner: ^4.2.0 + loader-runner: ^4.3.1 mime-types: ^2.1.27 neo-async: ^2.6.2 - schema-utils: ^3.2.0 - tapable: ^2.1.1 - terser-webpack-plugin: ^5.3.7 - watchpack: ^2.4.0 - webpack-sources: ^3.2.3 + schema-utils: ^4.3.3 + tapable: ^2.3.0 + terser-webpack-plugin: ^5.3.11 + watchpack: ^2.4.4 + webpack-sources: ^3.3.3 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 + checksum: dd73cb519423b4a59088e76f446f6a9c51344c53867609790e46a0bd68325033440e3dff24c1f9acd2fa985b703dc01e208b41b889e58dc5642566a9234f9260 languageName: node linkType: hard @@ -19517,9 +20391,9 @@ __metadata: linkType: hard "whatwg-fetch@npm:^3.0.0": - version: 3.6.19 - resolution: "whatwg-fetch@npm:3.6.19" - checksum: 2896bc9ca867ea514392c73e2a272f65d5c4916248fe0837a9df5b1b92f247047bc76cf7c29c28a01ac6c5fb4314021d2718958c8a08292a96d56f72b2f56806 + version: 3.6.20 + resolution: "whatwg-fetch@npm:3.6.20" + checksum: c58851ea2c4efe5c2235f13450f426824cf0253c1d45da28f45900290ae602a20aff2ab43346f16ec58917d5562e159cd691efa368354b2e82918c2146a519c5 languageName: node linkType: hard @@ -19568,61 +20442,64 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: ^1.0.1 - is-boolean-object: ^1.1.0 - is-number-object: ^1.0.4 - is-string: ^1.0.5 - is-symbol: ^1.0.3 - checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + is-bigint: ^1.1.0 + is-boolean-object: ^1.2.1 + is-number-object: ^1.1.1 + is-string: ^1.1.1 + is-symbol: ^1.1.1 + checksum: ee41d0260e4fd39551ad77700c7047d3d281ec03d356f5e5c8393fe160ba0db53ef446ff547d05f76ffabfd8ad9df7c9a827e12d4cccdbc8fccf9239ff8ac21e languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: - function.prototype.name: ^1.1.5 - has-tostringtag: ^1.0.0 + call-bound: ^1.0.2 + function.prototype.name: ^1.1.6 + has-tostringtag: ^1.0.2 is-async-function: ^2.0.0 - is-date-object: ^1.0.5 - is-finalizationregistry: ^1.0.2 + is-date-object: ^1.1.0 + is-finalizationregistry: ^1.1.0 is-generator-function: ^1.0.10 - is-regex: ^1.1.4 + is-regex: ^1.2.1 is-weakref: ^1.0.2 isarray: ^2.0.5 - which-boxed-primitive: ^1.0.2 - which-collection: ^1.0.1 - which-typed-array: ^1.1.9 - checksum: 43730f7d8660ff9e33d1d3f9f9451c4784265ee7bf222babc35e61674a11a08e1c2925019d6c03154fcaaca4541df43abe35d2720843b9b4cbcebdcc31408f36 + which-boxed-primitive: ^1.1.0 + which-collection: ^1.0.2 + which-typed-array: ^1.1.16 + checksum: 7a3617ba0e7cafb795f74db418df889867d12bce39a477f3ee29c6092aa64d396955bf2a64eae3726d8578440e26777695544057b373c45a8bcf5fbe920bf633 languageName: node linkType: hard -"which-collection@npm:^1.0.1": - version: 1.0.1 - resolution: "which-collection@npm:1.0.1" +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" dependencies: - is-map: ^2.0.1 - is-set: ^2.0.1 - is-weakmap: ^2.0.1 - is-weakset: ^2.0.1 - checksum: c815bbd163107ef9cb84f135e6f34453eaf4cca994e7ba85ddb0d27cea724c623fae2a473ceccfd5549c53cc65a5d82692de418166df3f858e1e5dc60818581c + is-map: ^2.0.3 + is-set: ^2.0.3 + is-weakmap: ^2.0.2 + is-weakset: ^2.0.3 + checksum: c51821a331624c8197916598a738fc5aeb9a857f1e00d89f5e4c03dc7c60b4032822b8ec5696d28268bb83326456a8b8216344fb84270d18ff1d7628051879d9 languageName: node linkType: hard -"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.9": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: 711ffc8ef891ca6597b19539075ec3e08bb9b4c2ca1f78887e3c07a977ab91ac1421940505a197758fb5939aa9524976d0a5bbcac34d07ed6faa75cedbb17206 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.4 + for-each: ^0.3.5 + get-proto: ^1.0.1 + gopd: ^1.2.0 + has-tostringtag: ^1.0.2 + checksum: 162d2a07f68ea323f88ed9419861487ce5d02cb876f2cf9dd1e428d04a63133f93a54f89308f337b27cabd312ee3d027cae4a79002b2f0a85b79b9ef4c190670 languageName: node linkType: hard @@ -19659,6 +20536,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^6.0.0": + version: 6.0.0 + resolution: "which@npm:6.0.0" + dependencies: + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: df19b2cd8aac94b333fa29b42e8e371a21e634a742a3b156716f7752a5afe1d73fb5d8bce9b89326f453d96879e8fe626eb421e0117eb1a3ce9fd8c97f6b7db9 + languageName: node + linkType: hard + "wicked-good-xpath@npm:1.3.0": version: 1.3.0 resolution: "wicked-good-xpath@npm:1.3.0" @@ -19682,6 +20570,13 @@ __metadata: languageName: node linkType: hard +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb + languageName: node + linkType: hard + "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" @@ -19712,7 +20607,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.2.0": +"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" dependencies: @@ -19798,8 +20693,8 @@ __metadata: linkType: hard "ws@npm:^7.3.1": - version: 7.5.9 - resolution: "ws@npm:7.5.9" + version: 7.5.10 + resolution: "ws@npm:7.5.10" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -19808,13 +20703,13 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 + checksum: f9bb062abf54cc8f02d94ca86dcd349c3945d63851f5d07a3a61c2fcb755b15a88e943a63cf580cbdb5b74436d67ef6b67f745b8f7c0814e411379138e1863cb languageName: node linkType: hard "ws@npm:^8.11.0": - version: 8.14.2 - resolution: "ws@npm:8.14.2" + version: 8.18.3 + resolution: "ws@npm:8.18.3" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -19823,7 +20718,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b + checksum: d64ef1631227bd0c5fe21b3eb3646c9c91229402fb963d12d87b49af0a1ef757277083af23a5f85742bae1e520feddfb434cb882ea59249b15673c16dc3f36e0 languageName: node linkType: hard @@ -19848,13 +20743,6 @@ __metadata: languageName: node linkType: hard -"xmldom-sre@npm:0.1.31": - version: 0.1.31 - resolution: "xmldom-sre@npm:0.1.31" - checksum: dbd101600a64c1640b06fb2b5c626ce6d909fd40c966fcae84a2b64c708fe466630766173b5760e0275db2a2c542e048b14a2a6568feece2c315f0cd22a2f642 - languageName: node - linkType: hard - "xtend@npm:^4.0.1, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -19880,34 +20768,48 @@ __metadata: languageName: node linkType: hard -"yallist@npm:*, yallist@npm:^4.0.0": +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 languageName: node linkType: hard -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 languageName: node linkType: hard -"yargs-parser@npm:20.2.4, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": +"yargs-parser@npm:20.2.4": version: 20.2.4 resolution: "yargs-parser@npm:20.2.4" checksum: d251998a374b2743a20271c2fd752b9fbef24eb881d53a3b99a7caa5e8227fcafd9abf1f345ac5de46435821be25ec12189a11030c12ee6481fef6863ed8b924 languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c languageName: node linkType: hard +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + "yargs@npm:16.2.0, yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" @@ -19939,11 +20841,11 @@ __metadata: linkType: hard "yjs@npm:^13.5.40": - version: 13.6.8 - resolution: "yjs@npm:13.6.8" + version: 13.6.27 + resolution: "yjs@npm:13.6.27" dependencies: - lib0: ^0.2.74 - checksum: a2a6fd17a2cce6461b64bedd69f66845b9dfd4702e285be0b5e382840337232e54ba5cf5d48f871263074de625d3902d17ab8a1766695af3fc05a0b4da8d95e0 + lib0: ^0.2.99 + checksum: 3c934464cf28027278fa0d000568148d02af04d89d9debae7781aa50f09e20895de071120f9bd2b40faa115322a7ed8933518537344d78fb2a470e6d06df95a0 languageName: node linkType: hard @@ -19953,3 +20855,10 @@ __metadata: checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard + +"yoctocolors-cjs@npm:^2.1.2": + version: 2.1.3 + resolution: "yoctocolors-cjs@npm:2.1.3" + checksum: 207df586996c3b604fa85903f81cc54676f1f372613a0c7247f0d24b1ca781905685075d06955211c4d5d4f629d7d5628464f8af0a42d286b7a8ff88e9dadcb8 + languageName: node + linkType: hard