Repository: jupyterlab/retrolab (language: python)

Issue:
Exiting terminal doesn't close window tab
### Problem

When exiting a terminal by entering `exit`, it would be nice for the window tab to close as well.
Currently, the user is left with an empty page:

![image](https://user-images.githubusercontent.com/4711805/144869953-8deb1733-54a3-4ff3-8703-bf337707067b.png)

### Proposed Solution

Maybe use:
```javascript
window.close();
```

### Additional context

That would match JupyterLab's behavior (for which the tab is closed).


Discussion / hints:
Thanks @davidbrochart.



> Maybe use:
> 
> ```js
> window.close();
> ```

Right there could be small plugin in the `terminal-extension` package that listens to `widget.disposed` and performs this action.

For reference the classic notebook keeps the terminal widget displayed, and appends `[CLOSED]`:

https://user-images.githubusercontent.com/591645/144883622-9b2f9434-e909-4e09-80aa-9601242790b1.mp4

Thinking about this more, I'm wondering if automatically closing the tab might be a bit too aggressive.

For example we could imagine someone running something in the terminal, and expecting to keep the output of a command displayed on the screen. Ideally we would find a way to replicate the behavior of the classic notebook and keep the terminal widget displayed on the page after `exit`. Although it's true that in JupyterLab the terminal widget is just disposed.
Yes, I agree that we should try and keep as close as possible to the classic notebook.

Fix patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e0c158db..8c4c6e41 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -67,11 +67,11 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu, macos, windows]
-        python: ['3.6', '3.9']
+        python: ['3.7', '3.10']
         include:
-          - python: '3.6'
+          - python: '3.7'
             dist: 'retrolab*.tar.gz'
-          - python: '3.9'
+          - python: '3.10'
             dist: 'retrolab*.whl'
           - os: windows
             py_cmd: python
diff --git a/.github/workflows/buildutils.yml b/.github/workflows/buildutils.yml
index 7ef15cfa..39a118aa 100644
--- a/.github/workflows/buildutils.yml
+++ b/.github/workflows/buildutils.yml
@@ -22,7 +22,7 @@ jobs:
 
     - name: Install dependencies
       run: |
-        python -m pip install -U jupyterlab~=3.0 jupyter_packaging~=0.10
+        python -m pip install -U "jupyterlab>=4.0.0a18,<5" jupyter_packaging~=0.10
         jlpm
         jlpm run build
 
@@ -75,6 +75,6 @@ jobs:
 
     - name: Install dependencies
       run: |
-        python -m pip install -U jupyterlab~=3.0 jupyter_packaging~=0.10 pip
+        python -m pip install -U "jupyterlab>=4.0.0a18,<5" jupyter_packaging~=0.10 pip
         jlpm
         jlpm run build
diff --git a/app/index.js b/app/index.js
index 0cf92499..7e6d972c 100644
--- a/app/index.js
+++ b/app/index.js
@@ -84,7 +84,9 @@ async function main() {
         '@jupyterlab/apputils-extension:settings',
         '@jupyterlab/apputils-extension:state',
         '@jupyterlab/apputils-extension:themes',
-        '@jupyterlab/apputils-extension:themes-palette-menu'
+        '@jupyterlab/apputils-extension:themes-palette-menu',
+        // TODO: rename to @jupyterlab/ when fixed and released upstream
+        '@jupyter/apputils-extension:toolbar-registry'
       ].includes(id)
     ),
     require('@jupyterlab/codemirror-extension').default.filter(({ id }) =>
@@ -131,6 +133,7 @@ async function main() {
     require('@jupyterlab/theme-dark-extension'),
     require('@jupyterlab/translation-extension'),
     // Add the "Hub Control Panel" menu option when running in JupyterHub
+    require('@jupyterlab/user-extension'),
     require('@jupyterlab/hub-extension')
   ];
 
diff --git a/app/package.json b/app/package.json
index c2ce6905..0b61be8c 100644
--- a/app/package.json
+++ b/app/package.json
@@ -11,71 +11,73 @@
     "watch": "webpack --config ./webpack.config.watch.js"
   },
   "resolutions": {
-    "@jupyterlab/application": "~3.2.6",
-    "@jupyterlab/application-extension": "~3.2.6",
-    "@jupyterlab/apputils": "~3.2.6",
-    "@jupyterlab/apputils-extension": "~3.2.6",
-    "@jupyterlab/celltags": "~3.2.6",
-    "@jupyterlab/codeeditor": "~3.2.6",
-    "@jupyterlab/codemirror-extension": "~3.2.6",
-    "@jupyterlab/completer": "~3.2.6",
-    "@jupyterlab/completer-extension": "~3.2.6",
-    "@jupyterlab/console": "~3.2.6",
-    "@jupyterlab/console-extension": "~3.2.6",
-    "@jupyterlab/coreutils": "~5.2.6",
-    "@jupyterlab/docmanager": "~3.2.6",
-    "@jupyterlab/docmanager-extension": "~3.2.6",
-    "@jupyterlab/docprovider": "~3.2.6",
-    "@jupyterlab/docprovider-extension": "~3.2.6",
-    "@jupyterlab/documentsearch": "~3.2.6",
-    "@jupyterlab/documentsearch-extension": "~3.2.6",
-    "@jupyterlab/filebrowser": "~3.2.6",
-    "@jupyterlab/filebrowser-extension": "~3.2.6",
-    "@jupyterlab/fileeditor": "~3.2.6",
-    "@jupyterlab/fileeditor-extension": "~3.2.6",
-    "@jupyterlab/hub-extension": "~3.2.6",
-    "@jupyterlab/javascript-extension": "~3.2.6",
-    "@jupyterlab/json-extension": "~3.2.6",
-    "@jupyterlab/mainmenu": "~3.2.6",
-    "@jupyterlab/mainmenu-extension": "~3.2.6",
-    "@jupyterlab/mathjax2-extension": "~3.2.6",
-    "@jupyterlab/notebook": "~3.2.6",
-    "@jupyterlab/notebook-extension": "~3.2.6",
-    "@jupyterlab/observables": "~4.2.6",
-    "@jupyterlab/outputarea": "~3.2.6",
-    "@jupyterlab/pdf-extension": "~3.2.6",
-    "@jupyterlab/rendermime": "~3.2.6",
-    "@jupyterlab/rendermime-extension": "~3.2.6",
-    "@jupyterlab/rendermime-interfaces": "~3.2.6",
-    "@jupyterlab/running-extension": "~3.2.6",
-    "@jupyterlab/services": "~6.2.6",
-    "@jupyterlab/settingregistry": "~3.2.6",
-    "@jupyterlab/shared-models": "~3.2.6",
-    "@jupyterlab/shortcuts-extension": "~3.2.6",
-    "@jupyterlab/statedb": "~3.2.6",
-    "@jupyterlab/statusbar": "~3.2.6",
-    "@jupyterlab/terminal": "~3.2.6",
-    "@jupyterlab/terminal-extension": "~3.2.6",
-    "@jupyterlab/theme-dark-extension": "~3.2.6",
-    "@jupyterlab/theme-light-extension": "~3.2.6",
-    "@jupyterlab/tooltip": "~3.2.6",
-    "@jupyterlab/tooltip-extension": "~3.2.6",
-    "@jupyterlab/translation": "~3.2.6",
-    "@jupyterlab/translation-extension": "~3.2.6",
-    "@jupyterlab/ui-components": "~3.2.6",
-    "@jupyterlab/vega5-extension": "~3.2.6",
-    "@lumino/algorithm": "~1.6.0",
-    "@lumino/application": "~1.20.0",
-    "@lumino/commands": "~1.15.0",
-    "@lumino/coreutils": "~1.8.0",
-    "@lumino/disposable": "~1.7.0",
-    "@lumino/domutils": "~1.5.0",
-    "@lumino/dragdrop": "~1.10.0",
-    "@lumino/messaging": "~1.7.0",
-    "@lumino/properties": "~1.5.0",
-    "@lumino/signaling": "~1.7.0",
-    "@lumino/virtualdom": "~1.11.0",
-    "@lumino/widgets": "~1.23.0",
+    "@jupyterlab/application": "~4.0.0-alpha.4",
+    "@jupyterlab/application-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/apputils": "~4.0.0-alpha.4",
+    "@jupyterlab/apputils-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/celltags": "~4.0.0-alpha.4",
+    "@jupyterlab/codeeditor": "~4.0.0-alpha.4",
+    "@jupyterlab/codemirror-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/completer": "~4.0.0-alpha.4",
+    "@jupyterlab/completer-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/console": "~4.0.0-alpha.4",
+    "@jupyterlab/console-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "~6.0.0-alpha.4",
+    "@jupyterlab/docmanager": "~4.0.0-alpha.4",
+    "@jupyterlab/docmanager-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/docprovider": "~4.0.0-alpha.4",
+    "@jupyterlab/docprovider-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/documentsearch": "~4.0.0-alpha.4",
+    "@jupyterlab/documentsearch-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/filebrowser": "~4.0.0-alpha.4",
+    "@jupyterlab/filebrowser-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/fileeditor": "~4.0.0-alpha.4",
+    "@jupyterlab/fileeditor-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/hub-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/javascript-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/json-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/mainmenu": "~4.0.0-alpha.4",
+    "@jupyterlab/mainmenu-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/mathjax2-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/notebook": "~4.0.0-alpha.4",
+    "@jupyterlab/notebook-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/observables": "~5.0.0-alpha.4",
+    "@jupyterlab/outputarea": "~4.0.0-alpha.4",
+    "@jupyterlab/pdf-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/rendermime": "~4.0.0-alpha.4",
+    "@jupyterlab/rendermime-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/rendermime-interfaces": "~4.0.0-alpha.4",
+    "@jupyterlab/running-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/services": "~7.0.0-alpha.4",
+    "@jupyterlab/settingregistry": "~4.0.0-alpha.4",
+    "@jupyterlab/shared-models": "~4.0.0-alpha.4",
+    "@jupyterlab/shortcuts-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/statedb": "~4.0.0-alpha.4",
+    "@jupyterlab/statusbar": "~4.0.0-alpha.4",
+    "@jupyterlab/terminal": "~4.0.0-alpha.4",
+    "@jupyterlab/terminal-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/theme-dark-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/theme-light-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/tooltip": "~4.0.0-alpha.4",
+    "@jupyterlab/tooltip-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/translation": "~4.0.0-alpha.4",
+    "@jupyterlab/translation-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/ui-components": "~4.0.0-alpha.19",
+    "@jupyterlab/user": "~4.0.0-alpha.4",
+    "@jupyterlab/user-extension": "~4.0.0-alpha.4",
+    "@jupyterlab/vega5-extension": "~4.0.0-alpha.4",
+    "@lumino/algorithm": "~1.9.1",
+    "@lumino/application": "~1.27.1",
+    "@lumino/commands": "~1.19.1",
+    "@lumino/coreutils": "~1.11.1",
+    "@lumino/disposable": "~1.10.1",
+    "@lumino/domutils": "~1.8.1",
+    "@lumino/dragdrop": "~1.13.1",
+    "@lumino/messaging": "~1.10.1",
+    "@lumino/properties": "~1.8.1",
+    "@lumino/signaling": "~1.10.1",
+    "@lumino/virtualdom": "~1.14.1",
+    "@lumino/widgets": "~1.30.1",
     "@retrolab/application": "~0.3.16",
     "@retrolab/application-extension": "~0.3.16",
     "@retrolab/console-extension": "~0.3.16",
@@ -91,48 +93,49 @@
     "yjs": "~13.5.23"
   },
   "dependencies": {
-    "@jupyterlab/application-extension": "^3.2.6",
-    "@jupyterlab/apputils-extension": "^3.2.6",
-    "@jupyterlab/celltags": "^3.2.6",
-    "@jupyterlab/codemirror-extension": "^3.2.6",
-    "@jupyterlab/completer-extension": "^3.2.6",
-    "@jupyterlab/console-extension": "^3.2.6",
-    "@jupyterlab/coreutils": "~5.2.6",
-    "@jupyterlab/docmanager-extension": "^3.2.6",
-    "@jupyterlab/docprovider-extension": "^3.2.6",
-    "@jupyterlab/documentsearch-extension": "^3.2.6",
-    "@jupyterlab/filebrowser-extension": "^3.2.6",
-    "@jupyterlab/fileeditor-extension": "^3.2.6",
-    "@jupyterlab/hub-extension": "^3.2.6",
-    "@jupyterlab/javascript-extension": "^3.2.6",
-    "@jupyterlab/json-extension": "^3.2.6",
-    "@jupyterlab/mainmenu-extension": "^3.2.6",
-    "@jupyterlab/mathjax2-extension": "^3.2.6",
-    "@jupyterlab/notebook-extension": "^3.2.6",
-    "@jupyterlab/pdf-extension": "^3.2.6",
-    "@jupyterlab/rendermime-extension": "^3.2.6",
-    "@jupyterlab/running-extension": "^3.2.6",
-    "@jupyterlab/shortcuts-extension": "^3.2.6",
-    "@jupyterlab/terminal-extension": "^3.2.6",
-    "@jupyterlab/theme-dark-extension": "^3.2.6",
-    "@jupyterlab/theme-light-extension": "^3.2.6",
-    "@jupyterlab/tooltip-extension": "^3.2.6",
-    "@jupyterlab/translation-extension": "^3.2.6",
-    "@jupyterlab/vega5-extension": "^3.2.6",
-    "@retrolab/application": "^0.3.16",
-    "@retrolab/application-extension": "^0.3.16",
-    "@retrolab/console-extension": "^0.3.16",
-    "@retrolab/docmanager-extension": "^0.3.16",
-    "@retrolab/documentsearch-extension": "^0.3.16",
-    "@retrolab/help-extension": "^0.3.16",
-    "@retrolab/notebook-extension": "^0.3.16",
-    "@retrolab/terminal-extension": "^0.3.16",
-    "@retrolab/tree-extension": "^0.3.16",
-    "@retrolab/ui-components": "^0.3.16"
+    "@jupyterlab/application-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/celltags": "^4.0.0-alpha.4",
+    "@jupyterlab/codemirror-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/completer-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/console-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "~6.0.0-alpha.4",
+    "@jupyterlab/docmanager-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/docprovider-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/documentsearch-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/filebrowser-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/fileeditor-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/hub-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/javascript-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/json-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/mainmenu-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/mathjax2-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/notebook-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/pdf-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/rendermime-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/running-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/shortcuts-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/terminal-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/theme-dark-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/theme-light-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/tooltip-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/translation-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/user-extension": "^4.0.0-alpha.4",
+    "@jupyterlab/vega5-extension": "^4.0.0-alpha.4",
+    "@retrolab/application": "^0.3.15",
+    "@retrolab/application-extension": "^0.3.15",
+    "@retrolab/console-extension": "^0.3.15",
+    "@retrolab/docmanager-extension": "^0.3.15",
+    "@retrolab/documentsearch-extension": "^0.3.15",
+    "@retrolab/help-extension": "^0.3.15",
+    "@retrolab/notebook-extension": "^0.3.15",
+    "@retrolab/terminal-extension": "^0.3.15",
+    "@retrolab/tree-extension": "^0.3.15",
+    "@retrolab/ui-components": "^0.3.15"
   },
   "devDependencies": {
-    "@jupyterlab/builder": "^3.2.6",
-    "@jupyterlab/buildutils": "^3.2.6",
+    "@jupyterlab/builder": "^4.0.0-alpha.4",
+    "@jupyterlab/buildutils": "^4.0.0-alpha.4",
     "@types/rimraf": "^3.0.0",
     "css-loader": "~5.0.1",
     "file-loader": "~5.0.2",
@@ -183,7 +186,8 @@
       "@jupyterlab/theme-dark-extension",
       "@jupyterlab/theme-light-extension",
       "@jupyterlab/tooltip-extension",
-      "@jupyterlab/translation-extension"
+      "@jupyterlab/translation-extension",
+      "@jupyterlab/user-extension"
     ],
     "singletonPackages": [
       "@jupyterlab/application",
@@ -212,6 +216,7 @@
       "@jupyterlab/terminal",
       "@jupyterlab/tooltip",
       "@jupyterlab/translation",
+      "@jupyterlab/user",
       "@jupyterlab/ui-components",
       "@lumino/algorithm",
       "@lumino/application",
diff --git a/binder/postBuild b/binder/postBuild
index 82203ae5..e9d10abb 100644
--- a/binder/postBuild
+++ b/binder/postBuild
@@ -1,8 +1,8 @@
 #!/bin/bash
 set -euo pipefail
 
-jlpm && jlpm run build
 python -m pip install -e .
+jlpm && jlpm run build
 jlpm run develop
 jupyter server extension enable retrolab
 jupyter serverextension enable retrolab
\ No newline at end of file
diff --git a/buildutils/package.json b/buildutils/package.json
index ca5bfd05..d035891c 100644
--- a/buildutils/package.json
+++ b/buildutils/package.json
@@ -30,7 +30,7 @@
     "watch": "tsc -w --listEmittedFiles"
   },
   "dependencies": {
-    "@jupyterlab/buildutils": "^3.2.6",
+    "@jupyterlab/buildutils": "^4.0.0-alpha.4",
     "commander": "^6.2.0",
     "fs-extra": "^9.1.0",
     "typescript": "~4.1.3"
diff --git a/jupyter_config.json b/jupyter_config.json
index b782e2f0..35f78f04 100644
--- a/jupyter_config.json
+++ b/jupyter_config.json
@@ -1,4 +1,4 @@
 {
-  "RetroApp": { "collaborative": true },
+  "RetroApp": { "collaborative": true, "expose_app_in_browser": true },
   "LabApp": { "collaborative": true, "expose_app_in_browser": true }
 }
diff --git a/package.json b/package.json
index f4114d4f..109223e7 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
     }
   },
   "devDependencies": {
-    "@jupyterlab/buildutils": "^3.2.6",
+    "@jupyterlab/buildutils": "^4.0.0-alpha.4",
     "@typescript-eslint/eslint-plugin": "^4.2.0",
     "@typescript-eslint/parser": "^4.2.0",
     "eslint": "^7.10.0",
diff --git a/packages/application-extension/package.json b/packages/application-extension/package.json
index dab458c1..a173ef79 100644
--- a/packages/application-extension/package.json
+++ b/packages/application-extension/package.json
@@ -39,23 +39,23 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/apputils": "^3.2.6",
-    "@jupyterlab/celltags": "^3.2.6",
-    "@jupyterlab/codeeditor": "^3.2.6",
-    "@jupyterlab/codemirror": "^3.2.6",
-    "@jupyterlab/console": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/docmanager": "^3.2.6",
-    "@jupyterlab/docregistry": "^3.2.6",
-    "@jupyterlab/mainmenu": "^3.2.6",
-    "@jupyterlab/settingregistry": "^3.2.6",
-    "@jupyterlab/translation": "^3.2.6",
-    "@lumino/coreutils": "^1.8.0",
-    "@lumino/disposable": "^1.7.0",
-    "@lumino/widgets": "^1.23.0",
-    "@retrolab/application": "^0.3.16",
-    "@retrolab/ui-components": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils": "^4.0.0-alpha.4",
+    "@jupyterlab/celltags": "^4.0.0-alpha.4",
+    "@jupyterlab/codeeditor": "^4.0.0-alpha.4",
+    "@jupyterlab/codemirror": "^4.0.0-alpha.4",
+    "@jupyterlab/console": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/docmanager": "^4.0.0-alpha.4",
+    "@jupyterlab/docregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/mainmenu": "^4.0.0-alpha.4",
+    "@jupyterlab/settingregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/translation": "^4.0.0-alpha.4",
+    "@lumino/coreutils": "^1.11.1",
+    "@lumino/disposable": "^1.10.1",
+    "@lumino/widgets": "^1.30.1",
+    "@retrolab/application": "^0.3.15",
+    "@retrolab/ui-components": "^0.3.15"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/application-extension/src/index.ts b/packages/application-extension/src/index.ts
index 93c0a355..fac2a0af 100644
--- a/packages/application-extension/src/index.ts
+++ b/packages/application-extension/src/index.ts
@@ -159,10 +159,12 @@ const opener: JupyterFrontEndPlugin<void> = {
   id: '@retrolab/application-extension:opener',
   autoStart: true,
   requires: [IRouter, IDocumentManager],
+  optional: [ISettingRegistry],
   activate: (
     app: JupyterFrontEnd,
     router: IRouter,
-    docManager: IDocumentManager
+    docManager: IDocumentManager,
+    settingRegistry: ISettingRegistry | null
   ): void => {
     const { commands } = app;
 
@@ -178,9 +180,12 @@ const opener: JupyterFrontEndPlugin<void> = {
 
         const file = decodeURIComponent(path);
         const ext = PathExt.extname(file);
-        app.restored.then(() => {
+        app.restored.then(async () => {
           // TODO: get factory from file type instead?
           if (ext === '.ipynb') {
+            // TODO: fix upstream?
+            await settingRegistry?.load('@jupyterlab/notebook-extension:panel');
+            await Promise.resolve();
             docManager.open(file, NOTEBOOK_FACTORY, undefined, {
               ref: '_noref'
             });
@@ -341,7 +346,9 @@ const shell: JupyterFrontEndPlugin<IRetroShell> = {
 };
 
 /**
- * A plugin to provide a spacer at rank 10000 for flex panels
+ * A plugin to provide a spacer at rank 900 for flex panels
+ * TODO: reuse upstream @jupyterlab/application-extension:top-spacer plugin when fixed
+ * in https://github.com/jupyterlab/jupyterlab/pull/11900
  */
 const spacer: JupyterFrontEndPlugin<void> = {
   id: '@retrolab/application-extension:spacer',
@@ -350,12 +357,12 @@ const spacer: JupyterFrontEndPlugin<void> = {
     const top = new Widget();
     top.id = DOMUtils.createDomID();
     top.addClass('jp-RetroSpacer');
-    app.shell.add(top, 'top', { rank: 10000 });
+    app.shell.add(top, 'top', { rank: 900 });
 
     const menu = new Widget();
     menu.id = DOMUtils.createDomID();
     menu.addClass('jp-RetroSpacer');
-    app.shell.add(menu, 'menu', { rank: 10000 });
+    app.shell.add(menu, 'menu', { rank: 900 });
   }
 };
 
diff --git a/packages/application/package.json b/packages/application/package.json
index e51b6c0a..5320e4af 100644
--- a/packages/application/package.json
+++ b/packages/application/package.json
@@ -43,22 +43,22 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/docregistry": "^3.2.6",
-    "@jupyterlab/rendermime-interfaces": "^3.2.6",
-    "@jupyterlab/ui-components": "^3.2.6",
-    "@lumino/algorithm": "^1.6.0",
-    "@lumino/coreutils": "^1.8.0",
-    "@lumino/messaging": "^1.7.0",
-    "@lumino/polling": "^1.6.0",
-    "@lumino/signaling": "^1.7.0",
-    "@lumino/widgets": "^1.23.0"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/docregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/rendermime-interfaces": "^4.0.0-alpha.4",
+    "@jupyterlab/ui-components": "^4.0.0-alpha.19",
+    "@lumino/algorithm": "^1.9.1",
+    "@lumino/coreutils": "^1.11.1",
+    "@lumino/messaging": "^1.10.1",
+    "@lumino/polling": "^1.9.1",
+    "@lumino/signaling": "^1.10.1",
+    "@lumino/widgets": "^1.30.1"
   },
   "devDependencies": {
     "@babel/core": "^7.11.6",
     "@babel/preset-env": "^7.12.1",
-    "@jupyterlab/testutils": "^3.2.6",
+    "@jupyterlab/testutils": "^4.0.0-alpha.4",
     "@types/jest": "^26.0.10",
     "jest": "^26.4.2",
     "rimraf": "~3.0.0",
diff --git a/packages/console-extension/package.json b/packages/console-extension/package.json
index 3096f89f..44dd4ccf 100644
--- a/packages/console-extension/package.json
+++ b/packages/console-extension/package.json
@@ -39,10 +39,10 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/console": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@lumino/algorithm": "^1.6.0"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/console": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@lumino/algorithm": "^1.9.1"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/docmanager-extension/package.json b/packages/docmanager-extension/package.json
index a3dad302..e0bf070d 100644
--- a/packages/docmanager-extension/package.json
+++ b/packages/docmanager-extension/package.json
@@ -39,12 +39,12 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/docmanager": "^3.2.6",
-    "@jupyterlab/docregistry": "^3.2.6",
-    "@jupyterlab/services": "^6.2.6",
-    "@lumino/algorithm": "^1.6.0"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/docmanager": "^4.0.0-alpha.4",
+    "@jupyterlab/docregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/services": "^7.0.0-alpha.4",
+    "@lumino/algorithm": "^1.9.1"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/documentsearch-extension/package.json b/packages/documentsearch-extension/package.json
index 6ff6d273..af04ec59 100644
--- a/packages/documentsearch-extension/package.json
+++ b/packages/documentsearch-extension/package.json
@@ -39,10 +39,10 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/documentsearch": "^3.2.6",
-    "@lumino/widgets": "^1.23.0",
-    "@retrolab/application": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/documentsearch": "^4.0.0-alpha.4",
+    "@lumino/widgets": "^1.30.1",
+    "@retrolab/application": "^0.3.15"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/help-extension/package.json b/packages/help-extension/package.json
index 2bb996d1..f4efa3c4 100644
--- a/packages/help-extension/package.json
+++ b/packages/help-extension/package.json
@@ -39,11 +39,11 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/apputils": "^3.2.6",
-    "@jupyterlab/mainmenu": "^3.2.6",
-    "@jupyterlab/translation": "^3.2.6",
-    "@retrolab/ui-components": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils": "^4.0.0-alpha.4",
+    "@jupyterlab/mainmenu": "^4.0.0-alpha.4",
+    "@jupyterlab/translation": "^4.0.0-alpha.4",
+    "@retrolab/ui-components": "^0.3.15"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/lab-extension/package.json b/packages/lab-extension/package.json
index be8c11e9..875a54bd 100644
--- a/packages/lab-extension/package.json
+++ b/packages/lab-extension/package.json
@@ -43,19 +43,19 @@
     "watch:src": "tsc -w"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/apputils": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/docregistry": "^3.2.6",
-    "@jupyterlab/mainmenu": "^3.2.6",
-    "@jupyterlab/notebook": "^3.2.6",
-    "@jupyterlab/translation": "^3.2.6",
-    "@lumino/commands": "^1.15.0",
-    "@lumino/disposable": "^1.7.0",
-    "@retrolab/application": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/docregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/mainmenu": "^4.0.0-alpha.4",
+    "@jupyterlab/notebook": "^4.0.0-alpha.4",
+    "@jupyterlab/translation": "^4.0.0-alpha.4",
+    "@lumino/commands": "^1.19.1",
+    "@lumino/disposable": "^1.10.1",
+    "@retrolab/application": "^0.3.15"
   },
   "devDependencies": {
-    "@jupyterlab/builder": "^3.2.6",
+    "@jupyterlab/builder": "^4.0.0-alpha.4",
     "rimraf": "~3.0.0",
     "typescript": "~4.1.3"
   },
diff --git a/packages/notebook-extension/package.json b/packages/notebook-extension/package.json
index 41b348b7..726144c8 100644
--- a/packages/notebook-extension/package.json
+++ b/packages/notebook-extension/package.json
@@ -39,16 +39,16 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/apputils": "^3.2.6",
-    "@jupyterlab/cells": "^3.2.6",
-    "@jupyterlab/docmanager": "^3.2.6",
-    "@jupyterlab/notebook": "^3.2.6",
-    "@jupyterlab/settingregistry": "^3.2.6",
-    "@jupyterlab/translation": "^3.2.6",
-    "@lumino/polling": "^1.6.0",
-    "@lumino/widgets": "^1.23.0",
-    "@retrolab/application": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils": "^4.0.0-alpha.4",
+    "@jupyterlab/cells": "^4.0.0-alpha.4",
+    "@jupyterlab/docmanager": "^4.0.0-alpha.4",
+    "@jupyterlab/notebook": "^4.0.0-alpha.4",
+    "@jupyterlab/settingregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/translation": "^4.0.0-alpha.4",
+    "@lumino/polling": "^1.9.1",
+    "@lumino/widgets": "^1.30.1",
+    "@retrolab/application": "^0.3.15"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/terminal-extension/package.json b/packages/terminal-extension/package.json
index e55974dc..e64c55bd 100644
--- a/packages/terminal-extension/package.json
+++ b/packages/terminal-extension/package.json
@@ -39,10 +39,10 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/terminal": "^3.2.6",
-    "@lumino/algorithm": "^1.6.0"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/terminal": "^4.0.0-alpha.4",
+    "@lumino/algorithm": "^1.9.1"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/terminal-extension/src/index.ts b/packages/terminal-extension/src/index.ts
index 08d4193b..d9f665c2 100644
--- a/packages/terminal-extension/src/index.ts
+++ b/packages/terminal-extension/src/index.ts
@@ -18,9 +18,13 @@ import { find } from '@lumino/algorithm';
  */
 const opener: JupyterFrontEndPlugin<void> = {
   id: '@retrolab/terminal-extension:opener',
-  requires: [IRouter],
+  requires: [IRouter, ITerminalTracker],
   autoStart: true,
-  activate: (app: JupyterFrontEnd, router: IRouter) => {
+  activate: (
+    app: JupyterFrontEnd,
+    router: IRouter,
+    tracker: ITerminalTracker
+  ) => {
     const { commands } = app;
     const terminalPattern = new RegExp('/terminals/(.*)');
 
@@ -37,6 +41,9 @@ const opener: JupyterFrontEndPlugin<void> = {
           return;
         }
 
+        tracker.widgetAdded.connect((send, terminal) => {
+          terminal.content.setOption('closeOnExit', false);
+        });
         commands.execute('terminal:open', { name });
       }
     });
diff --git a/packages/tree-extension/package.json b/packages/tree-extension/package.json
index abafd942..1667cab3 100644
--- a/packages/tree-extension/package.json
+++ b/packages/tree-extension/package.json
@@ -39,21 +39,21 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/application": "^3.2.6",
-    "@jupyterlab/apputils": "^3.2.6",
-    "@jupyterlab/coreutils": "^5.2.6",
-    "@jupyterlab/docmanager": "^3.2.6",
-    "@jupyterlab/filebrowser": "^3.2.6",
-    "@jupyterlab/mainmenu": "^3.2.6",
-    "@jupyterlab/services": "^6.2.6",
-    "@jupyterlab/settingregistry": "^3.2.6",
-    "@jupyterlab/statedb": "^3.2.6",
-    "@jupyterlab/translation": "^3.2.6",
-    "@jupyterlab/ui-components": "^3.2.6",
-    "@lumino/algorithm": "^1.6.0",
-    "@lumino/commands": "^1.15.0",
-    "@lumino/widgets": "^1.23.0",
-    "@retrolab/application": "^0.3.16"
+    "@jupyterlab/application": "^4.0.0-alpha.4",
+    "@jupyterlab/apputils": "^4.0.0-alpha.4",
+    "@jupyterlab/coreutils": "^6.0.0-alpha.4",
+    "@jupyterlab/docmanager": "^4.0.0-alpha.4",
+    "@jupyterlab/filebrowser": "^4.0.0-alpha.4",
+    "@jupyterlab/mainmenu": "^4.0.0-alpha.4",
+    "@jupyterlab/services": "^7.0.0-alpha.4",
+    "@jupyterlab/settingregistry": "^4.0.0-alpha.4",
+    "@jupyterlab/statedb": "^4.0.0-alpha.4",
+    "@jupyterlab/translation": "^4.0.0-alpha.4",
+    "@jupyterlab/ui-components": "^4.0.0-alpha.19",
+    "@lumino/algorithm": "^1.9.1",
+    "@lumino/commands": "^1.19.1",
+    "@lumino/widgets": "^1.30.1",
+    "@retrolab/application": "^0.3.15"
   },
   "devDependencies": {
     "rimraf": "~3.0.0",
diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json
index ad3abdf0..95df1f6c 100644
--- a/packages/ui-components/package.json
+++ b/packages/ui-components/package.json
@@ -43,14 +43,14 @@
     "watch": "tsc -b --watch"
   },
   "dependencies": {
-    "@jupyterlab/ui-components": "^3.2.6",
+    "@jupyterlab/ui-components": "^4.0.0-alpha.19",
     "react": "^17.0.1",
     "react-dom": "^17.0.1"
   },
   "devDependencies": {
     "@babel/core": "^7.10.2",
     "@babel/preset-env": "^7.10.2",
-    "@jupyterlab/testutils": "^3.2.6",
+    "@jupyterlab/testutils": "^4.0.0-alpha.4",
     "@types/jest": "^26.0.10",
     "babel-loader": "^8.0.6",
     "jest": "^26.4.2",
diff --git a/pyproject.toml b/pyproject.toml
index 3c669e26..22b1a840 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,5 +1,5 @@
 [build-system]
-requires = ["jupyter_packaging~=0.10", "jupyterlab~=3.2"]
+requires = ["jupyter_packaging~=0.10", "jupyterlab>=4.0.0a19,<5"]
 build-backend = "jupyter_packaging.build_api"
 
 [license]
diff --git a/setup.cfg b/setup.cfg
index 7325574e..fc3862e4 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -16,19 +16,19 @@ classifiers =
     Intended Audience :: Science/Research
     License :: OSI Approved :: BSD License
     Programming Language :: Python
-    Programming Language :: Python :: 3.6
     Programming Language :: Python :: 3.7
     Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
+    Programming Language :: Python :: 3.10
     Framework :: Jupyter
 
 [options]
 zip_safe = False
 include_package_data = True
 packages = find:
-python_requires = >=3.6
+python_requires = >=3.7
 install_requires =
-    jupyterlab~=3.2
+    jupyterlab>=4.0.0a19,<5
 	jupyterlab_server~=2.3
 	jupyter_server~=1.4
 	nbclassic~=0.2
diff --git a/yarn.lock b/yarn.lock
index d5e716ec..93ce74fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -851,7 +851,7 @@
     "@babel/types" "^7.4.4"
     esutils "^2.0.2"
 
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.8.4":
   version "7.14.0"
   resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
   integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
@@ -894,40 +894,6 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@blueprintjs/core@^3.36.0", "@blueprintjs/core@^3.44.3":
-  version "3.44.3"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/core/-/core-3.44.3.tgz#112364fe9cbf5b943cf7571d9a5caa50b6304958"
-  integrity sha512-95BYF5xI7d47jKJKQFXJ+UkJ8pS6qT6/U4Hj/UCuHPJhtBTfUQKaCeHYroA+LtCAEEb9p9oFkQwlXI+QHMmZeA==
-  dependencies:
-    "@blueprintjs/icons" "^3.26.1"
-    "@types/dom4" "^2.0.1"
-    classnames "^2.2"
-    dom4 "^2.1.5"
-    normalize.css "^8.0.1"
-    popper.js "^1.16.1"
-    react-lifecycles-compat "^3.0.4"
-    react-popper "^1.3.7"
-    react-transition-group "^2.9.0"
-    resize-observer-polyfill "^1.5.1"
-    tslib "~1.13.0"
-
-"@blueprintjs/icons@^3.26.1":
-  version "3.26.1"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/icons/-/icons-3.26.1.tgz#90cef070264c4c0b6ae0302663755abeb991aee5"
-  integrity sha512-qxAnqhzt5WqYuWN+7p3Pk7bOrhj56YXzD8n79Met8+VIQ14IpKnxr7YAYmNB5X/dVweqXpEk6tKyUjnDjBhulw==
-  dependencies:
-    classnames "^2.2"
-    tslib "~1.13.0"
-
-"@blueprintjs/select@^3.15.0":
-  version "3.16.3"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/select/-/select-3.16.3.tgz#68ded04dde20b174d4478a6be68c8916a885035a"
-  integrity sha512-V7agrVgvWVFyRXUv8OFjTJB5ZfUnYAAqzxvpdx6WQcdQTkMjRD0B7pWcZol+grbP1MJGFVAXP1Mqj2PW3BVCbg==
-  dependencies:
-    "@blueprintjs/core" "^3.44.3"
-    classnames "^2.2"
-    tslib "~1.13.0"
-
 "@cnakazawa/watch@^1.0.3":
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@@ -1035,14 +1001,6 @@
   resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz#c36ffa64a2a239bf948541a97b6ae8d729e09a9a"
   integrity sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w==
 
-"@hypnosphi/create-react-context@^0.3.1":
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6"
-  integrity sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==
-  dependencies:
-    gud "^1.0.0"
-    warning "^4.0.3"
-
 "@istanbuljs/load-nyc-config@^1.0.0":
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -1230,133 +1188,131 @@
     "@types/yargs" "^15.0.0"
     chalk "^4.0.0"
 
-"@jupyterlab/application-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/application-extension/-/application-extension-3.2.6.tgz#6d20fe6f1fb0bb3e726b31cc098296ce7dd61a3a"
-  integrity sha512-Lef5/JA7tGe1yJW2c+/haop1moCNRtYuMPnVjciTN2WbQ3QnXdaco4uNA+VG95BunS/PdNP/xwlKD9j7UQrVhQ==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/property-inspector" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/application-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/application-extension/-/application-extension-4.0.0-alpha.4.tgz#bb521378d713fe6308f9204178bf38f18dad7eec"
+  integrity sha512-aK3SUSA+5zW7cMCxQ9gCcnaR16G/OS0Q1oiZNXPDgVfOQG4Vt7FFXvhWUB02k0o4iRbulgxRpgGCh+W3NI/tRQ==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/property-inspector" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/application@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-3.2.6.tgz#93c815a90742d8c9e812c9e97be73a9a3db58014"
-  integrity sha512-PUmAWDRG0qyQ+bI5GpnQHLgRYZmn4cE251PE6lVu6BTHAjBYMgJIxXV96KLUDc4NhswlDOaC75FPrevCBkjjUQ==
+"@jupyterlab/application@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-4.0.0-alpha.4.tgz#b65f868fbcbbff4d30bd17cdf849448a0e29425a"
+  integrity sha512-2pT8bFxdSf6y1K8Z2VJmb6Vp20hbfUe1OqVGE5aYN/MffGliviWxM0hrEMZ2dasuheqOVkMRXLaxldSo5i+uJQ==
   dependencies:
     "@fortawesome/fontawesome-free" "^5.12.0"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/application" "^1.16.0"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/apputils-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils-extension/-/apputils-extension-3.2.6.tgz#a638a5bdb935f8ac8515d0ee673621e69f9a7cd8"
-  integrity sha512-rL7E50fq8WG12AB6JZ1ky4W9kDRTHzpWGKsqIJEOWkGg1z4OF5zvoBr9i0jMCx4bVnz0Zoyc6ILYeB8LqNbN1Q==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/widgets" "^1.19.0"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/application" "^1.27.0"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/apputils-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils-extension/-/apputils-extension-4.0.0-alpha.4.tgz#b82d21bbfef37ee7961af1f1199150619798534c"
+  integrity sha512-04qdpqZ5CA3dTj9cGTPEqidzNaLuhvvYNrssQsiv58R+YK3fLfZ0CJtJ93f7+w0jmODEuyrxifUuFjGJBYlG+w==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/widgets" "^1.30.0"
     es6-promise "~4.2.8"
 
-"@jupyterlab/apputils@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-3.2.6.tgz#4cc2e59822d1c727fa36181f14920064f7b1e9e8"
-  integrity sha512-i+dyKrz41onnO5w8qKUfAFsaRlS0kvTZU5j8nCGrVz/UVPP4jNrTKlRoajZu4/th5T2mKS31ML6Pd8ABIsORUA==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/apputils@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-4.0.0-alpha.4.tgz#10513e6be47892a3f7fb52272e40fab62eab34a5"
+  integrity sha512-RMktRgvLkJd6YhSRJAomXSDNhUKW2W8m1euhfxX0j8ppx9bWBmrnjYfdbu/fSEhA4bl1/v3CP+kPDSxGzK8fRQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     "@types/react" "^17.0.0"
     react "^17.0.1"
-    react-dom "^17.0.1"
     sanitize-html "~2.5.3"
     url "^0.11.0"
 
-"@jupyterlab/attachments@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-3.2.6.tgz#3076ce130ffa1959ca84f0e95249d4e2906a4122"
-  integrity sha512-xdF1hcOkeg/S8iwHEZgfSuawNoIzyvDVNUB4Vmq2BWCtHajTPJ9dIpvAapC6YHowhsXlX9ONUeZLPrN26ZHGaQ==
-  dependencies:
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/builder@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/builder/-/builder-3.2.6.tgz#400b82aec84a2fa68d931dc4f5cbc6fab51c457c"
-  integrity sha512-7j/zTQNbS/jHg/gH12itIY4EqaK2FYNO1oBXAUWg8sTTI9crFTdaZf0dXFQLZ2xKV44vHO30RldNRKs++iOi0A==
-  dependencies:
-    "@jupyterlab/buildutils" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/application" "^1.16.0"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/attachments@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-4.0.0-alpha.4.tgz#fd504b4610132aadc77c0eb9fd56b575d655d5f3"
+  integrity sha512-qKS/TFY8icOieMFFuJJ4IQJwYF0Z0CKobjdpsLxwhqsjDXR+upy4hNegJT2xp1d7zgxGvTp9S0xm9foaFsktYA==
+  dependencies:
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/builder@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/builder/-/builder-4.0.0-alpha.4.tgz#6746a0c62ab69892d0259542518d55caf5687fdc"
+  integrity sha512-Br54Qi6PY9D7Ty5sH3H9WiwA7++Jlall58r70GUy0R6eJK+GV4gYLh34UKGbArMJ7yctpHr1dPR+3+nAReNnAQ==
+  dependencies:
+    "@jupyterlab/buildutils" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/application" "^1.27.0"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     ajv "^6.12.3"
     commander "~6.0.0"
     css-loader "^5.0.1"
@@ -1375,17 +1331,17 @@
     terser-webpack-plugin "^4.1.0"
     to-string-loader "^1.1.6"
     url-loader "~4.1.0"
-    webpack "^5.41.1"
-    webpack-cli "^4.1.0"
-    webpack-merge "^5.1.2"
+    webpack "^5.55.1"
+    webpack-cli "^4.8.0"
+    webpack-merge "^5.8.0"
     worker-loader "^3.0.2"
 
-"@jupyterlab/buildutils@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/buildutils/-/buildutils-3.2.6.tgz#f6f9e84b3dc5c7d8bc8ac01799c578afeefad43f"
-  integrity sha512-EW9X6B1YoUxUiSNyFf5LQq8zpq5oHBoM3WvKo8ID3qsCsyXLbPkTJkvwkvbmQfdu6KbrpAdbzI2ayce1m2ItJQ==
+"@jupyterlab/buildutils@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/buildutils/-/buildutils-4.0.0-alpha.4.tgz#7824c49c155dd068309f97c09bcc88fd7ecbf2a0"
+  integrity sha512-4F/e6g0fugPAuXpLQ7HAws9epq7+ysykS8afR8ppz7pYdHCHUA7t2MErGjTf74LHx0tODO+2kYvb/08+ppVU5w==
   dependencies:
-    "@lumino/coreutils" "^1.5.3"
+    "@lumino/coreutils" "^1.11.1"
     "@yarnpkg/lockfile" "^1.1.0"
     child_process "~1.0.2"
     commander "~6.0.0"
@@ -1400,859 +1356,871 @@
     prettier "~2.1.1"
     process "^0.11.10"
     semver "^7.3.2"
-    sort-package-json "~1.44.0"
-    typescript "~4.1.3"
-    verdaccio "^5.1.1"
-
-"@jupyterlab/cells@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-3.2.6.tgz#3e04d9939dcad4d264cefccb6ffea4436f511aa0"
-  integrity sha512-XyYwmsh2BHnOSOcde9s3zC9xizYvki4KbsAikUTbBRZXFwZBXQmLoBl9yCHT3eQCIDFKpOi3kI0NNRPTBFl2PQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/attachments" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/outputarea" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+    sort-package-json "~1.53.1"
+    typescript "~4.5.2"
+    verdaccio "^5.2.2"
+
+"@jupyterlab/cells@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-4.0.0-alpha.4.tgz#293bb20de61c9f3d443aa5ff973ce2ccfadd73df"
+  integrity sha512-jaPozuUMc7ReSXpz4CcE9cFEBNbe2bj3ZPFfDQK/NMZJ5jAlkIykUcfbiWDdwBmcuqUjUBwKL2LyRd7z6d7zuw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/attachments" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/outputarea" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     marked "^2.0.0"
     react "^17.0.1"
 
-"@jupyterlab/celltags@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/celltags/-/celltags-3.2.6.tgz#64747a064727fc0e821a9d601cde9bb15ba2643d"
-  integrity sha512-/Q35uS2FGhaqCwd96xndQo9UnbVgt28hsBnxXMyNyqzBhQLX7TynO2lcxouEQ3Ysgsn0FGe0wCatIhK//ruhtQ==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/codeeditor@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-3.2.6.tgz#c561d6aeb0f0b6602822794360983fd207e21e3b"
-  integrity sha512-v2B3tKpuVGkLjDxTHxWE1snOqFSI6DpSZFPtVEDGVsquJFiUFckvjf4hFM40zdCSDn4uptfuXzBzuVAomtxtUA==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/codemirror-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror-extension/-/codemirror-extension-3.2.6.tgz#3b9717238784c8a8b500999dbcedc08daea2df4a"
-  integrity sha512-IUS77/1r+CeFffIOiewHgWYlFmTDwVK7ao8O1EZo6AFs4gfqLMK6+4mEHf3G5dSZgiiX18/QorioL6FzRGzKqA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/fileeditor" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
+"@jupyterlab/celltags@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/celltags/-/celltags-4.0.0-alpha.4.tgz#08699c8c588e2bebec2069594c1f73e21da33236"
+  integrity sha512-YEEnFMKW+j6MJPU6lZWA+Tx7dvsFpv5z5242Z7SKGAWlA/YudB6QG+rcV2zc9Sn2V1fAEzHfRekP2avZvV1omA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/codeeditor@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-4.0.0-alpha.4.tgz#5f4372e01f60cb6a17410a9f629e9806f96a0afd"
+  integrity sha512-3blnulQ2V+mPlxCkEpZ/38ia//SeoOwdsEOS8u3TQ0uaCfliStbBR/K5F6/g37wUkuN2fO9Z3I9oKID300CnpQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/codemirror-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror-extension/-/codemirror-extension-4.0.0-alpha.4.tgz#6d6ea68707a4304280f5280239c705b2869bbb53"
+  integrity sha512-zFElZrxgkYKpkAek8IjgMu8z95nqeGxn9kdWqrVMszPryR+YFnT0E/t1ZA7uA+mU61snkrhAS2aCTQBaNsTyXA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/fileeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/widgets" "^1.30.0"
     codemirror "~5.61.0"
 
-"@jupyterlab/codemirror@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-3.2.6.tgz#8a75677d08ef828721291e6ae164e414572afee9"
-  integrity sha512-N8XAsCCYkmlrBRSag8Du53W/MnovYujP4yoNF+D2X2SV8ZCGkBM+0vBgL0GrKNzlSXqFodeQ7BtCJ7qebWU67Q==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/codemirror@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-4.0.0-alpha.4.tgz#66ab34532adcdf16d08899d74aff552b645fb425"
+  integrity sha512-ggJT72T8dMZ94eHBl0gcfZhAm9JZGTOPJwqVfjqttIF/kgelrdq8dmxdCP/jsaoHZ2m6/ExR4swCnBX2TAo5lA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     codemirror "~5.61.0"
     react "^17.0.1"
     y-codemirror "^3.0.1"
 
-"@jupyterlab/completer-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/completer-extension/-/completer-extension-3.2.6.tgz#9c66f5de05e7b781e5b24f347de0ed0c8b2f246e"
-  integrity sha512-ldmBiCsvUv/R/JtOIB+GTGdzARegcAUJUVT8nOO/Y4s3ptW31ZlF/Y8MtuINK2objtMhivdY5yj14m1muMaE2A==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/completer" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/fileeditor" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/completer@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/completer/-/completer-3.2.6.tgz#8ae1831c98bdfb9085299d8222f5fdf2f04cb761"
-  integrity sha512-tRceKdjzGd5ozPGZVV3jO3EfNGEU7EkbiWOdVEQdayjQBZk93Le1vwYEoenUlaCmMEfBKZohmSrYspYqvQBvmA==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/console-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/console-extension/-/console-extension-3.2.6.tgz#081e3ef8b4240bf6ae02417bf82e57a805c08687"
-  integrity sha512-+ZqW7XTRT9zv7anLLmN/A7cS8d1qaOhqVcufFJAswfG2hq0cOaa3xYCiytmDJNPLO/sXrQzlwjpPMNwQMjSsag==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/launcher" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/console@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/console/-/console-3.2.6.tgz#110f47a693ba2c6572217ec41ad6ed8a76c99099"
-  integrity sha512-f86FHcpc7PgYX7tl+HZfw6Llc5rMGxMDcTLcEeUN9jOi4XXpwnIj4wcqvoF+1LeCjnZQWqozAYY7XdRiIwzW3Q==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/coreutils@^5.2.6", "@jupyterlab/coreutils@~5.2.6":
-  version "5.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-5.2.6.tgz#4d4dd4a8a95e85c0e029c8053b1f5ed7a2ee20ce"
-  integrity sha512-wb4L8jIUiL2bNWG09N5kJ/s7Xu60nRd4E+1PAWzFAqX46fOFdBBFTnncOSSk8uY4OQK9tro8i6UqSpv/zwMf8w==
-  dependencies:
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+"@jupyterlab/completer-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/completer-extension/-/completer-extension-4.0.0-alpha.4.tgz#f321413cd8f0defd746e878dac14feb27388b836"
+  integrity sha512-v4LUQ0htVQxH/0DJe79/btPKaMll/9a8AWpord8O7zXWPpO8Bz00g07qAE8azRQBoNCYrgYjYvB4uF7o7+jhgA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/completer" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/fileeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/completer@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/completer/-/completer-4.0.0-alpha.4.tgz#cc51ea052f3dc38542480d9f18d137b534e92db2"
+  integrity sha512-IeWVCGAXRyRN84ZljUMpjZlyyQ1yRfqqJ4ydBjMajc4QMwOlQTtN9vZiLoRfqELOujOhHrydsunvnWBt8e2B5g==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/console-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/console-extension/-/console-extension-4.0.0-alpha.4.tgz#804495e2c0527730ef603b41adb8e85cd7b26dec"
+  integrity sha512-seqVQ4+qgpZXgqWdppvy133fRSodhx/qAUFa2Qe7SvZi3ByJdx7wB7+vH6n+4iXRggluZx5Q1HpZT0Ivq8pfLA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/launcher" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/console@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/console/-/console-4.0.0-alpha.4.tgz#b5d4ce99612d6be32354669eb1a52951a77d0db1"
+  integrity sha512-D9b9xy9w2zTQ9HeYJRSs6P0nQ9iaBfxcv00s2T6G4sRvEMS3ovq8rC0HNJWUTvPjoX6hjgS6TJBtGsaft8NqFw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/coreutils@^6.0.0-alpha.4", "@jupyterlab/coreutils@~6.0.0-alpha.4":
+  version "6.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-6.0.0-alpha.4.tgz#8e11bebb6f9850b1c4a159c7e98178606ac5759e"
+  integrity sha512-9/BnesahQeplQGdGfDBlcj4deW1B9cHXi2GPqgEBjg4E8fDYz6xOr0opM792If1Rak18RoVQQKHCPnpOGKW5DA==
+  dependencies:
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     minimist "~1.2.0"
     moment "^2.24.0"
     path-browserify "^1.0.0"
-    url-parse "~1.5.1"
-
-"@jupyterlab/docmanager-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager-extension/-/docmanager-extension-3.2.6.tgz#a7e59571b2e15ac421a8c9860d4872a32f863be5"
-  integrity sha512-y//MosZSJXV+xWqhdIgn/vjwJuQ6pJRtCgYGqo87DqbWfgxHuMhGv/zGGzAeR+UXFrSGDSoR2rY0YULQuy+VNQ==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/docprovider" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/docmanager@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-3.2.6.tgz#6b35a18a275321911e3dedad5a6c28423aea8987"
-  integrity sha512-XXXfLX8GA+ccvVQ5UyhOv7Al2J21xokZHmMOVh2wCkluyUqGBblELJw/yTXruZB1Vd7xcGUPGwrTaX7xsaW6/A==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docprovider" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+    url-parse "~1.5.4"
+
+"@jupyterlab/docmanager-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager-extension/-/docmanager-extension-4.0.0-alpha.4.tgz#2a2f31e98e5c1608bf5753d7528be1db844ffe7d"
+  integrity sha512-RT1gfS4SYA2nI9JYQKybIwJg4qCPheWnHyOZDglbhhb8+4TanOf0HfIHgRJ0aYBYN0H12OaX7yyHnl6JQEc1sw==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/docprovider-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider-extension/-/docprovider-extension-3.2.6.tgz#ce757db24aa0c9741d92c29f0ef534787a00b7e9"
-  integrity sha512-bTXkYV4aFhnac8xiSZ6ysVTl80NEr1gU+8wSX2RQSM2mEqqftCofMi4Ady0cVcfdw/EL3wX8L7HE4abpCCk4Vg==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docprovider" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
+"@jupyterlab/docmanager@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-4.0.0-alpha.4.tgz#143a28e0cc4f282b4c13b96fefb51430ac8c72ca"
+  integrity sha512-g1NDg+HlSGkHyrMvkkWWq8ZzDrvCXg2iqGWC5igQXAxCa9hMMWinNpzACD227DmP0e4fvlrngIcnbXlUAGmjjA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+    react "^17.0.1"
 
-"@jupyterlab/docprovider@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-3.2.6.tgz#11c1fb65185be31a1593259fce612b744e0af1ac"
-  integrity sha512-OsIcauu/DSIzs5sCIoPXZVtnZolzow6pEzHR+IWD7N9n1PVfOlhMLV8uWxYs8ZWmAg6nPkPGWfleiH1crS8k+A==
-  dependencies:
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
+"@jupyterlab/docprovider-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider-extension/-/docprovider-extension-4.0.0-alpha.4.tgz#c6fb3acb9b5cb8f11de62d020d56dc4818e80624"
+  integrity sha512-4XL5/qJCJoVwxLzofw0NbbJO+yDBZ3y3g2jXzcUz4rtSt+SoIvlw54J7ApQmvcl6WqewTVVkiZ13ygf+Jlx5Hg==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/user" "^4.0.0-alpha.4"
+
+"@jupyterlab/docprovider@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-4.0.0-alpha.4.tgz#9f727f386e0b29a5036df38571b79583efd03c51"
+  integrity sha512-KOUKWIRYmDLr2W/ybQQ807qj47uLcWUgmFsswu9cRU+7Ufm6hO1BbK3Q5oveW0lOhqx9LRKZFxXQqwNS6zfdBw==
+  dependencies:
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/user" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
     lib0 "^0.2.42"
     y-websocket "^1.3.15"
     yjs "^13.5.17"
 
-"@jupyterlab/docregistry@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-3.2.6.tgz#11f534921752e1065852dbb977ef15c785d820fe"
-  integrity sha512-IgEFG822XWsEJ4KcmkbdlqZCWDvbwpdtHWdleNRrS91AwgZ0ws0fOaXJEmWOtzyrvJNMggn1e+Yuxxj6/4jxwQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docprovider" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/docregistry@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-4.0.0-alpha.4.tgz#d94f1e2b6f23279cb425b4a81aceb6a006c580a3"
+  integrity sha512-54Ajf8bAjUSXbqzWYoAfULj/OxRCyMsijj3ZyT1hoPPmHXMeTXEmDWEnM3EdtrETPDqWSmjKvciLeVoLjW8iKw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     yjs "^13.5.17"
 
-"@jupyterlab/documentsearch-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/documentsearch-extension/-/documentsearch-extension-3.2.6.tgz#861308c49a5cff98ed2830436330b94c53203370"
-  integrity sha512-XzP96G1Wd/utmv8oJCOZfwYbKu3bwOyopcJSODwUSiCCT4gA9jbOwZ7npcqocxz9t9u+qFhbzsQcxRKJbWrEdw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/documentsearch" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/documentsearch@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/documentsearch/-/documentsearch-3.2.6.tgz#a37ce070fc76802ed46ebe883eddff3a2c2e3cbe"
-  integrity sha512-xtxNCUM4OD4GZrKQtrdWnqZ5XsJWdqyi6rfEnVbjhb0hhusRHTQjB811RVYawYxUqIEyXT9D6Wa2+fSz6clVXg==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/fileeditor" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/documentsearch-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/documentsearch-extension/-/documentsearch-extension-4.0.0-alpha.4.tgz#d680106cf43f2503940dda9bd1a65af309d98f6f"
+  integrity sha512-mQqkpVEjcKihnzl1Dg64SfzZDmLTGNvukz4SL4ov7Fvk50piPXJfeKsLXUgT6V7ikfTpK8i5XIcmBB0qQBaxUw==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/documentsearch" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/documentsearch@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/documentsearch/-/documentsearch-4.0.0-alpha.4.tgz#72f2890cf8aa8636c21964c69a4b42915dead1d1"
+  integrity sha512-t82zGHsAlop1xJ+wlEkJu7HExbV1HG8HY3cuKTLiiL0ovGkpXHNV5XCNyNqe5SIDRqlAfyFHwYYGcNE/xx2Uig==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/fileeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     codemirror "~5.61.0"
     react "^17.0.1"
 
-"@jupyterlab/filebrowser-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser-extension/-/filebrowser-extension-3.2.6.tgz#274bc9a94fca8b268bd144cac6caa38384f7962c"
-  integrity sha512-6uoZ7uQuPY3PST4lYhxQkR2e0w2K6juIHbLwzdwVPuvkgP551M+FuVrd0+nX1nKrezVgJ3dxZRKE4i8c5XErQQ==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/launcher" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/filebrowser@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-3.2.6.tgz#7f3487a895a2425ae9e80d49e20f82e055494570"
-  integrity sha512-VCHj4cj+agfAoain1P0Hdei2s3XRVQv9zK9hFQPM6wM/mGoZHoNxmwrN5s+Xa/Omr13rZswolIa/a98B5TZS3w==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/filebrowser-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser-extension/-/filebrowser-extension-4.0.0-alpha.4.tgz#2bcf824ea0a315d20d4c1a120883d78809705294"
+  integrity sha512-+NFqSSELuguh9NuY8A+njXB8GU+BrvD/GM8PW0OxIg50+EEuW5c07IN6BloHDXPZlaIZecGrY3/jbdrNb7J2jA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/launcher" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/filebrowser@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-4.0.0-alpha.4.tgz#09d22596b717001ac6379f6e14285468a20b8ace"
+  integrity sha512-1rnEg1WNTxKg5F0kUWdcQoVNyR/ptZ+3jfGP2Z9bPOFYzjwrNlnpNQZZMmZktY2Tfi4hAppBHCaITyqmKbX5Zw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/fileeditor-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/fileeditor-extension/-/fileeditor-extension-3.2.6.tgz#75726627e8962733a31f8cf14b78bee98cc92635"
-  integrity sha512-wlPj1arlez1YHSff/ZHGIhbvbZlKWZ3CQ0FCD/BdjGAe8EA9iw8RbE52yM2dQTXIkBxRHLD/aIVyZbHgNSTzjA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/fileeditor" "^3.2.6"
-    "@jupyterlab/launcher" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/fileeditor@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/fileeditor/-/fileeditor-3.2.6.tgz#a86e92cacbe1f0bdfad72f5034aa5c1f53875fbe"
-  integrity sha512-eAM2CfOshldLjVGI6METf/T/jy1FT2+m1UgG90LV59km/yTbCSXfdfU61Y1+PP1N6LSPRxUt8i3uhy8pxXWAfg==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/fileeditor-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/fileeditor-extension/-/fileeditor-extension-4.0.0-alpha.4.tgz#926c55afcb61b29a748be003018f3c9e802caead"
+  integrity sha512-EDyQMvbXStsKxAmfwsfUEO9sTJi33KOaAdPeBAU9pydiABOoz8EFkh9wGkEgzTjaQq7ULoVi0I3cH+1jmu0nNg==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/fileeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/launcher" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/fileeditor@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/fileeditor/-/fileeditor-4.0.0-alpha.4.tgz#e5f3be14ff2056591da5faed8f3c1a065ee041b0"
+  integrity sha512-2pkZ6ecFM1BuMhzN+I9Wpsspo8a/W28XzQQMuh3BPFhCGJSlkyEfqgQ217zslXmfjgPp8zxMhoelAJkSpkQLxg==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/hub-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/hub-extension/-/hub-extension-3.2.6.tgz#46c8fc8537176f402659bfde367578502332eace"
-  integrity sha512-hTja48dx+WsC3wC0Qw+NfRwMVlNr7geo/37LNFRaR0VzdMqBdNw8Okz+lst9//Wv0dlbImiz6DRoqjEmMgUuNQ==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-
-"@jupyterlab/javascript-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/javascript-extension/-/javascript-extension-3.2.6.tgz#44bd189624d0f2adf88ea0ccb685f434fcf850a2"
-  integrity sha512-XTre/88loBcwHb/p9p7JM2v7KLmqVz53/Dcdd3S7jh/e/2Ece3QM57oeb+SeRafn3Mqo/cQsr+/ZH7l6Am/THw==
-  dependencies:
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-
-"@jupyterlab/json-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/json-extension/-/json-extension-3.2.6.tgz#f11cb48441b3b93e76e2b7822696ad86ee5ff312"
-  integrity sha512-mV0PnGowtAbfYZNRi+ud/L4bnben4FjjLc32dmBNmTxfDkE9ci00P/y1jAW32gKFxvD7JDyU5yWc+ExDOwiC4A==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/hub-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/hub-extension/-/hub-extension-4.0.0-alpha.4.tgz#059c3daf0494d96b246001323ef6dcc86380e00a"
+  integrity sha512-wXdjWGwBFWcUZwxCHfHTUdE9FKUazk/ZphPO0GrdY7Cu98foq6Du3mODMN1GPIGxOFgso9agxR8uObGdiMJNxg==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+
+"@jupyterlab/javascript-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/javascript-extension/-/javascript-extension-4.0.0-alpha.4.tgz#9eea5948705aa4356c48a9ba3b8cc3965c04a7ee"
+  integrity sha512-6Wd4vpkpVDl964RjyCkb5JtJmuBo8v+AGL6YQe3qUCImDxyUMlROY247i8xIm/bfuWdulGaOan5c7ok/8TZDTw==
+  dependencies:
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+
+"@jupyterlab/json-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/json-extension/-/json-extension-4.0.0-alpha.4.tgz#016136a65980fa1566d22195455f7a0d39a7059e"
+  integrity sha512-lrdf0hirDstEwu60DazY7TcgCOkdkd9NvN2kBZ7pAJTK2eOAf3UvVQUp1c6s/K2kv7H2OB77XnEe/IhcmKj6bA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
     react-dom "^17.0.1"
     react-highlighter "^0.4.3"
     react-json-tree "^0.15.0"
 
-"@jupyterlab/launcher@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/launcher/-/launcher-3.2.6.tgz#66cb2d80ea134d8b968665fd97bb1fc60c22d5da"
-  integrity sha512-Co7vKcTYReVOKcPKg99ccSdFvVdOIqC8WmBRtyD3PWGIEqPz3vceFNhkEQ9pcqBQDi4TFiXGvHofqAEmchFNkQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/launcher@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/launcher/-/launcher-4.0.0-alpha.4.tgz#3bad945d177b3be5e9993a3af2d9afbd153250a5"
+  integrity sha512-M1eS16Qpy7W0wzdsvm+IqfoPsH7WS23Tui+n/gT7bp7pDQRbJSRMWcnCl8jk4s/iPhTGmj0WnR+ERoTzoPHMuQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/logconsole@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/logconsole/-/logconsole-3.2.6.tgz#4ec4d3a347b7e7c73791a09216b30095f0827c77"
-  integrity sha512-fto2hqde1NJjodr0B7CbuA69BYZPeMPnWQLJMA6ESLE5y63vBkDjWd6IZ4MKETslDk+u88+IqVVpixLlQ3aqHw==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/outputarea" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/mainmenu-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/mainmenu-extension/-/mainmenu-extension-3.2.6.tgz#1f8510540bff2dac6ad6446998f49bd3fbe2b68b"
-  integrity sha512-53byd4qnTmfiCYGObTZ5nUPZ9xXys+aNaHpJjyR7ew59XRFpjzDWtCUz6P9rWJ+gTRM2VDUHhPal0BytbLhTrw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/mainmenu@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/mainmenu/-/mainmenu-3.2.6.tgz#329fc7ce9f888649b333e5c43514055e5a6d11ac"
-  integrity sha512-18z2wXrnGgqieJB97Y0dXk97QBzVpTMkeEf8qHSnak1tnx3vB7iut7L4Fsi3xxhfM3Q4Hx7rR2q38wDfyhv7zA==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/mathjax2-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/mathjax2-extension/-/mathjax2-extension-3.2.6.tgz#3dd1decd996183eb0f3ed808ab5c9a64ae0135ee"
-  integrity sha512-RF0EXV3Z2mtm61fs7RLl5SsJ27mn7WcS93y9l9Pc3+IozdchAuxfQpXvihLn4FsGT7otyX0WIrbn93b10MXgwg==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/mathjax2" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-
-"@jupyterlab/mathjax2@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/mathjax2/-/mathjax2-3.2.6.tgz#e8c079e33c2c911d45162c5f6229c732ab27a360"
-  integrity sha512-SRxTUGNK76RHO6T0NLJ2WL0flZGyM4udyqb5m9DhUn5WpQUHtotP492eGyGUIQ/DELLd2LxB+9oYXK4ilabDJg==
-  dependencies:
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-
-"@jupyterlab/nbformat@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.2.6.tgz#c6c17aa5da99636543c88fc3235b690717eacf47"
-  integrity sha512-DdXLABN+zVHDWr65FtqmRASzXwEXhMOryi/5GymSKQxEleiRnsMLlyocs043xCydjkSv8wnm/U2X/RqCROURCQ==
-  dependencies:
-    "@lumino/coreutils" "^1.5.3"
-
-"@jupyterlab/notebook-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook-extension/-/notebook-extension-3.2.6.tgz#217aafd95154c219cf7cb78ecbc01f9d98bc5b56"
-  integrity sha512-QGysUrt2GnCpkRyVoS6W1a31zjjvGmScOuhG+jvYizPMxW/fjNnfLYRdInWWxp+Ig+c3+Xq4UoisGweKU10Llg==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/launcher" "^3.2.6"
-    "@jupyterlab/logconsole" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/property-inspector" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/notebook@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-3.2.6.tgz#9115552ba6a423a7046fdf3a20f35156f65798c4"
-  integrity sha512-/Ff4RdgNKlZYkCfBYsvm7IRYISgk/7iqMz3ltwWK3RpbpShbZD0gzBRplKShYWf65BYF6om98rOeSyr+7x1Ung==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/shared-models" "^3.2.6"
-    "@jupyterlab/statusbar" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/logconsole@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/logconsole/-/logconsole-4.0.0-alpha.4.tgz#0470c122cc421a96a895dd084aaabaafae73a14f"
+  integrity sha512-QwFYwWQAHE1X5DkaKR5XmulddhxDJtDAgWB7nXDiuo9vgMVawv6R+Qfl+Jd6c2uH7nG64XB9YbpS3bEaxlsRPQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/outputarea" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/mainmenu-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/mainmenu-extension/-/mainmenu-extension-4.0.0-alpha.4.tgz#8a48393853d9c08903291e643dcc5163f671d7c2"
+  integrity sha512-YYc7pG+yClTrWL96tul3kkon19pAbWuJTCHesn6ywxZD88ufL2dkyB+/1P1nQmfM3vgwggFUujQucmcoGndD0Q==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/mainmenu@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/mainmenu/-/mainmenu-4.0.0-alpha.4.tgz#465f4cb995bad51fde5645b17e05109fe5de42f4"
+  integrity sha512-tghpUSCBXkrnA1wKW158isFpM1Hy2X0uT6/SQq+No3cseIirPUd6xO69xGX67izdTV3G5Wr4ZmFTmTy2GIuGjg==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/mathjax2-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/mathjax2-extension/-/mathjax2-extension-4.0.0-alpha.4.tgz#1d9730965f77bb7962f81db15d1404fe38a414c9"
+  integrity sha512-0p0Liy4irRF1lDhnBYg9W7uqoS/KGFix4pJN6ZwX804eLHUxGQiwysp+Piv0g9/YfFNh8oJ4eyVCOvRbc6Kpmw==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/mathjax2" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+
+"@jupyterlab/mathjax2@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/mathjax2/-/mathjax2-4.0.0-alpha.4.tgz#5fb07db043c228381bb911bc56325ca87c394651"
+  integrity sha512-F3rUWMFE86IRcHxXxVPl3hjPsm9BZL35brhE/bkPbSaSPkhXCqvN0g2REnXxgshT9MOGsug5st6e4xZEwyVT/w==
+  dependencies:
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+
+"@jupyterlab/nbformat@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-4.0.0-alpha.4.tgz#0d25a7dfcee04fda0416193cce8afc5b2195d0dd"
+  integrity sha512-TfO9rKaI8B38BjCbu4S21BtL8EtczQN8edXwDq16Q4j/sCY43Tl2T/bubOu5jHhtEStjJck6lrV9KoI6vGY1sw==
+  dependencies:
+    "@lumino/coreutils" "^1.11.1"
+
+"@jupyterlab/notebook-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook-extension/-/notebook-extension-4.0.0-alpha.4.tgz#ba868cf5e77c74e6eab4bf1210da04ae199648aa"
+  integrity sha512-p2N4veToIt8xzD11rOM5sfmyoaQniJzwI9MxuIKfQ8qSSanXzqs9qypJ0xN3MkizLepxkmMqj68/ZJc415ie5Q==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docmanager-extension" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/launcher" "^4.0.0-alpha.4"
+    "@jupyterlab/logconsole" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/property-inspector" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/notebook@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-4.0.0-alpha.4.tgz#cd7a699f131e63b3f9809d109d2f551da7ec0032"
+  integrity sha512-6IoQqiYuqGg8tObc36pYpuE9VXe9wq15z/9X8P61E9xRS8kB63jn7sfp0SF3RK/Vvm4aAA/WXfm8uQod4b4M+g==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/observables@^4.2.6":
-  version "4.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-4.2.6.tgz#4f779a558c22538399224ec7a52481db371e6fee"
-  integrity sha512-/9FcAobRmeSeB2FbqC2rixVVHZZMze5/iQ2y8Li0GD2rkR91m6kCq4WiHhfXaPoXaj2GoeVnjAArG4PQZoBnCg==
-  dependencies:
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/outputarea@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-3.2.6.tgz#be7d04ee41273ece5089dff71420946d25140162"
-  integrity sha512-8NX7nXunMCRCI2UE9oDBFCYavc+Cg7hLwIn5Yg+0biAmLllYToYT1linImMKOmae9iu9kyfoJlHt9vGWjlwr/g==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-    resize-observer-polyfill "^1.5.1"
-
-"@jupyterlab/pdf-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/pdf-extension/-/pdf-extension-3.2.6.tgz#bb8c20d874fa437bace03d657a3dad7ba9befd56"
-  integrity sha512-1OmIyNdx/4Ttb4NhQbhonTuwVRO7GxYBVRuwrKbZC79oCVGfA/IEBjQ8dUrkH2kSu3uRv9BDbHKj/PtiWb5CUA==
-  dependencies:
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/property-inspector@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/property-inspector/-/property-inspector-3.2.6.tgz#b27c08ecd6dc640e897be411e49b1826c9ea2fb4"
-  integrity sha512-I8LFAgEVca5fyUJHLLf4qccDBUXzsDRbVeGnSikmXCQZnoIrG++tMoVYvLJP0Evj7YsA9C04sfvxveVzUUAnTA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/observables@^5.0.0-alpha.4":
+  version "5.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-5.0.0-alpha.4.tgz#e5bb98dd7cb752338c94fe7b663e7fbb4b3dbe4e"
+  integrity sha512-L4mHq5qdkyJqKQq9aRKEIfrtvWqUVW/jBuuj1H4iPXyPEvYoH+tanV+aUejAO4T2xerEwF3bUkmwpUzuShodHA==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/outputarea@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-4.0.0-alpha.4.tgz#41932b9ede6be01c8673b6b6f2b938417758cde1"
+  integrity sha512-n6ltIVNdVafmsgpEDznzk/q/LGzP2Qc49k9YIEKA/r/XkcPWBF7Qo6p4ElUDltXuVfRCwp+QQlfLNbF5jcsBhQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/pdf-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/pdf-extension/-/pdf-extension-4.0.0-alpha.4.tgz#53e1a00b7c430db314a867f7081c59ffa2916337"
+  integrity sha512-C496KePgYal4534kUfWmtLoiS4uamCpg1Z57cbvanDzmXOcOeatvRu4SCjl7zs9jYHU1r+MEJcWcZXKlVNkF0g==
+  dependencies:
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/property-inspector@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/property-inspector/-/property-inspector-4.0.0-alpha.4.tgz#b8228baa2f0668bd33d39ad0177fccf8730e2df3"
+  integrity sha512-RP6PWm767LUSQR8FDkTj3sIwIE24NappVXKOKVj18JJ8UiwO0YDkXA2FMD39mlYI3nCLzBHUhCyHHTSxKoJ7XQ==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/rendermime-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-extension/-/rendermime-extension-3.2.6.tgz#9760cc74273da47534f50c0b0e79589a8ce33ffc"
-  integrity sha512-mDoHeESuOPalQtMBB8P7jW4IEJm7qrGfSx5934cTwmZAw3ze4Hw3JdKvNwopqGKduR63P+ounfEzc7zmbgWXSA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-
-"@jupyterlab/rendermime-interfaces@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-3.2.6.tgz#7dfb09f3cf7ed5092b4e189be9641b0576c7f373"
-  integrity sha512-SaH9Ri+VI3+CNg9skrYjGOK6AQrZ3kNr1UW11wTaiitGzZtN4Wn7bSVGyFUjJKMSPeie68QIp/svYzpi1x/8Sg==
-  dependencies:
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/rendermime@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-3.2.6.tgz#9bf1cc088cff95280da3363e6eea73bcac545a84"
-  integrity sha512-IhmFen0ffpB8V2UMd3GDOr9AJIMq44c9vKlakd5m03Hc4g1tWDvIz392ZjOW9J/nHC6FtQW9l0g73Pm1grAJdQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/rendermime-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-extension/-/rendermime-extension-4.0.0-alpha.4.tgz#808c640cebe20d17c8c59652407a99edd66872ae"
+  integrity sha512-K+mGLUM2usM66q1yz5t10I3Ucxwi/yMSFOl5Nvnc2nbD9vzC0KYe3s/Fi9P0SxfJkdKFH1Lu4qCkqqPzGcztgQ==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+
+"@jupyterlab/rendermime-interfaces@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-4.0.0-alpha.4.tgz#989324876aa68b4b1b6617c03af8b4eee0f1c1fd"
+  integrity sha512-9B6aUdZ+w1b3CTio0vf2U+3dufEH4o2NoE9anrG8dJ4XyYvOIGS59aoWFfU8FfGlKhNlvn7XEANBQ0V1sMXjKw==
+  dependencies:
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/rendermime@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-4.0.0-alpha.4.tgz#5aae7164d47862542a89f61ac6c01fbc0623744c"
+  integrity sha512-76Hy5Netd1tRAdolS+TBRW6pQUgV81Ak47wjzdiy9w75EFyU0RCYUZAUxgtSjSf+a40BpP8/ctjwPhZLgxgYgQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     lodash.escape "^4.0.1"
     marked "^2.0.0"
 
-"@jupyterlab/running-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/running-extension/-/running-extension-3.2.6.tgz#714765cca0655358695f488abea7c3cd8596efc7"
-  integrity sha512-HrfAWW8eJDR0nFSqN5eSx8WjWz4OuF1zOcUzhmMrPR7PJkHZSTye/kAhHdlIMpFA/EtyF6wKGZOqXNDQsAxp4w==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/running" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/running@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/running/-/running-3.2.6.tgz#5ba76a4fe4700c5f298c1779e04d7e7d5b5af5b6"
-  integrity sha512-j5orjVSyjidkDDJ++dyXJNBJi4KiQ0sjQuO+GEkenAFEQ8vKF9Izj+n/W/CeNxGND5R3bH9f6aGWAbjQQ8hRZQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+"@jupyterlab/running-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/running-extension/-/running-extension-4.0.0-alpha.4.tgz#26a30c34eb021b88e152be8a20769c959e917706"
+  integrity sha512-eeWtQZt8ku3VenS/1qFC7z8+a3/zmzlYVzEu8STC5EYS3a0S3+WwGq7tEA/me9KSxD+0jm+bv2KRoOc0JEUQRg==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/running" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/running@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/running/-/running-4.0.0-alpha.4.tgz#b332e48724fc7921a3f81a9c9ad7b16fe85cf48b"
+  integrity sha512-KVBruwrBiKFmdKVHXz9SFH1F6D5ghV1YgnSAQSlSzZ1Karzil64NG7BUfRvFvnwWxQRMDs2ViOlEC5Nife4mRA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     react "^17.0.1"
 
-"@jupyterlab/services@^6.2.6":
-  version "6.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-6.2.6.tgz#311bd8dd483fecc799a313efdab2904ed9414712"
-  integrity sha512-wUneMCdv5RXheJWu86Y3PHOwG/t4lj6lpRZfI2gJ8M/XoTemW3nW01Avp2JiAQpO3xarQlloSPVZyf0GGGmzhQ==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/observables" "^4.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
+"@jupyterlab/services@^7.0.0-alpha.4":
+  version "7.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-7.0.0-alpha.4.tgz#814d2a8264aec7549c9ff0cceb2accd1a83f4609"
+  integrity sha512-xHct7fuvHrwY05sSExZKFE0Vy9yvnh6npbkCycAPruyZy8tLDQDRVkplQe7IKqw/0VSdQzUh7nZeva49ZIZXEQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
     node-fetch "^2.6.0"
     ws "^7.4.6"
 
-"@jupyterlab/settingregistry@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.2.6.tgz#ba2e7c8a2ecacde3f8031153a21055003c351096"
-  integrity sha512-WLQ158+rrccpqIXGTCvbB5u830+U0vLlMDpGQ1Et+3ljV9OfvAWL5EmfrnDqkgnr4rYdXGPPggbqf7UaHIPCkQ==
+"@jupyterlab/settingregistry@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-4.0.0-alpha.4.tgz#5d0455d99bbc2671960d6ea06d31855c31ecda90"
+  integrity sha512-BjLyNNJU1W3rdl4Bj6vPSrxrTQ0Pt/Z2bFn4yZYznp/mNAHpR91inHKD2n0ceSqjKALGeX9UKKfQkZMuEqoIqg==
   dependencies:
-    "@jupyterlab/statedb" "^3.2.6"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     ajv "^6.12.3"
     json5 "^2.1.1"
 
-"@jupyterlab/shared-models@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-3.2.6.tgz#2c103e772f5803bdc155959907a0d56edff21a0c"
-  integrity sha512-fktq7TWIOzsAHjMVGZxd/E7oRcmdKf5rD4MLeyszX/g5cr6DeaTM9bmvb1Ai0w49Sxt/kF/T3FcOueX185Fulw==
+"@jupyterlab/shared-models@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-4.0.0-alpha.4.tgz#076d4eb60ca35f6c809927ffa9e0d725612d72b7"
+  integrity sha512-Q6Z4svxkeXSVEfKaWMdiwWlqMC+A9mWEm4niTC7RYnkY6D4i5TGbuHrv/7vL72xldI9EUP412HgrLaO+73bU/g==
   dependencies:
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     y-protocols "^1.0.5"
     yjs "^13.5.17"
 
-"@jupyterlab/shortcuts-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/shortcuts-extension/-/shortcuts-extension-3.2.6.tgz#5b182d7f2abc326cc223d2ed1ddb88723a9aa3a9"
-  integrity sha512-HX4XdiC+eXjhNPo4pnT/FDdbIQQgbYqJAiojEYLsL0vnmrztj3LaJoyxJ/JOelileAemNWLBs/DKxnuJ9vM3rA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-
-"@jupyterlab/statedb@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-3.2.6.tgz#5e98cb2d6ac7ee684f72d225f0e2b48b682f5970"
-  integrity sha512-QtPXIWAvnUO2pPwIz26NuVQEdj57znI4sZFS7wdJ5Epmto/qOnvU7Y63G1IDGWY33hL/ndF9K6UcQByqSLu2vA==
-  dependencies:
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/statusbar@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-3.2.6.tgz#a7519fc6726d7cc45e9152f0ec842d7a8ae59a95"
-  integrity sha512-KTPwztzFstJTkpXNNJpctiJUICOePF6Eq5iGCrkjeWposgTfXsNyM93yzPovcbIObAHs8mtKEdPmZNq1PW/opA==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/shortcuts-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/shortcuts-extension/-/shortcuts-extension-4.0.0-alpha.4.tgz#03230a29e0da441a957b3022cacc85f92baefc9e"
+  integrity sha512-uwO4UFOtLKnps/ttsnCb3jnqfF9/ZuDEe02c9hsp9yNiFN0ZNk7bfXB4mM171aTkwRpkmygLUUqTojL42iU3RQ==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+
+"@jupyterlab/statedb@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-4.0.0-alpha.4.tgz#70d5fe7e504c339b9fc0771f08ea9913c8eee562"
+  integrity sha512-S0SeCbtsfr79q4yRuQD7gesD3ZyMMl6vnw+jGGXYbmqepcJbWnxnz8KhDBrd5faSVNB+8mKHbLRqA+YuUJOEQQ==
+  dependencies:
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/statusbar@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-4.0.0-alpha.4.tgz#7dba882b9a7ae509eea4b59ba1756748fa4e5666"
+  integrity sha512-Qvhpzr7r5h/kzQzH58Nrs4VhRXgQy7jsHUpvp9hEZc5FYZQ7JyJCReQafogTZ7SIvubA2EkbsKfSkmWBa4U1AQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     csstype "~3.0.3"
     react "^17.0.1"
     typestyle "^2.0.4"
 
-"@jupyterlab/terminal-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/terminal-extension/-/terminal-extension-3.2.6.tgz#340e7a8c13714100f6c6672461ebf9c7026c9630"
-  integrity sha512-i/Q7XPcwNXP3Yxl/bImf0puYiKky018+uo3hJyhDwzcDDYArV2Lx0MP77RYWdfDy0/ro0b6s+sPRQX4Mjy464A==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/launcher" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/running" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/terminal" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/terminal@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/terminal/-/terminal-3.2.6.tgz#bb071a820892a00fd759e0cbd2cf0bfeb5f8592f"
-  integrity sha512-nAaSCJ6YULbjchEATGNwKBYZ8rSWUzTCGJC0oXbJ/YSrfCaSLSiPlEv3PATfMlb2P+87pQXxCBOq+ilyEIzVdw==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/terminal-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/terminal-extension/-/terminal-extension-4.0.0-alpha.4.tgz#d3b1dca4dddb61a92093c64a698cc1de74f7b624"
+  integrity sha512-Qic2EFSzc07WGJGb2dHIJZWNICZid9ypNXs+/qGiq2KpZ7c4gYIxCOidM1YoUur3G10DhEUmewnEQvTS6hjO9Q==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/launcher" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/running" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/terminal" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/terminal@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/terminal/-/terminal-4.0.0-alpha.4.tgz#2da0aad461f9d190aab8400e4ba1f15540cdad56"
+  integrity sha512-av1jwr+gzLzPB72jUa4KpRRiELV9cSpSPsLqdufQ/Yu1jmVUlj3Nrv9Bl6fbJhi8fCap7wftPoPncZ4eSfcxCA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     xterm "~4.8.1"
     xterm-addon-fit "~0.4.0"
 
-"@jupyterlab/testutils@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/testutils/-/testutils-3.2.6.tgz#e824f971b3365c826b537e797cde5c82e504fd0f"
-  integrity sha512-k0NZdQGlD3MFFsmGh9I+x3dD7utXBUlX+tWb3FGu1UkDQtORliMEcdsoaaeCC8Q9Oju4RjhEM/v/1IdSDWl/lg==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/nbformat" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
+"@jupyterlab/testutils@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/testutils/-/testutils-4.0.0-alpha.4.tgz#4d588de149177642f8589765116d60036a6f69c2"
+  integrity sha512-zAeSVZ+oaA7nkY/vLDXuFmk2/E7N6AEqJzobnRpIgy1wXn2us6da1KFzGt8V1PURHIkwu/7ihDiYfWyHpsme7Q==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
     child_process "~1.0.2"
     deepmerge "^4.2.2"
     fs-extra "^9.0.1"
@@ -2267,103 +2235,129 @@
     simulate-event "~1.4.0"
     ts-jest "^26.3.0"
 
-"@jupyterlab/theme-dark-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/theme-dark-extension/-/theme-dark-extension-3.2.6.tgz#9062fd584c465ae1b3f4081abe526143e97ce5e9"
-  integrity sha512-8qtXHFjEF5fXoB+l/QzYA0bFdJUtTLywcvlO0DYlzW6HUnVhVixJYsqsfN0u+LZl3KPEKRLjy100DW7UHSfPyw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-
-"@jupyterlab/theme-light-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/theme-light-extension/-/theme-light-extension-3.2.6.tgz#14bdfcac1c49623b9405aab214bab9106361425f"
-  integrity sha512-K0LyRrVX3LrBN1jwZZlmOHoKWyFFqqw6DFafTwrMV3yXI6AtKpw1ihJt29WmQNn+LNEUQhNs7JSHPk3NmL6nZw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-
-"@jupyterlab/tooltip-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/tooltip-extension/-/tooltip-extension-3.2.6.tgz#f1a6487897fd2249453aa67a6254ca3b78f82a6d"
-  integrity sha512-WuyyqqPbZjTNTpffVpIdPWrgJ2aI2+gnhMwdIlrid23ubvKqih6en0eUoVE9Qq2LzwxH3GWx3DQAJQAKTwf7Yw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/fileeditor" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/tooltip" "^3.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/tooltip@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/tooltip/-/tooltip-3.2.6.tgz#5cb728c930c264ab04cf206f2a6e2a18628ccbd2"
-  integrity sha512-Txox20lNQevlGUNn+lCBm46JLHnsjXVFGl1Zup3MjfmS64bQ4Bh4YZ4WYSXs2XZxwnnuBS/Dulkac3sQqSEcNw==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/rendermime" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/translation-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/translation-extension/-/translation-extension-3.2.6.tgz#8ded11fe622f5843be9e2c56052bdd77967a2eff"
-  integrity sha512-NWmB7L6/RYO0B5FEOaJKLa/DjExN4yWB7baDWKN9pmmRj+GHH2u611fSHHr3M30usNnI+Yk0KRhhM5mcpuHpOA==
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-
-"@jupyterlab/translation@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-3.2.6.tgz#85acb6c4be4064eab949e90dc081a6062ad4a5c2"
-  integrity sha512-HtOc17fbd7SK3MsaQ8zbqGgZQXw9r4Z6e2EQUfctKxQvKKHWugFLNd/5Uk9XBwV98FK1MVMYoD8X5kE1kLt+Kw==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-
-"@jupyterlab/ui-components@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-3.2.6.tgz#be75db1e6dc1da980223d139a4743b7314e7bbac"
-  integrity sha512-mfpxdE88FZKLR+1aCtfQ3zj1Zy5wRL6eUZ/1xIT+dw6WPavEGn/RoqpLqAx/XpEKw9g7kn3pZX54NCDOfFOSyw==
-  dependencies:
-    "@blueprintjs/core" "^3.36.0"
-    "@blueprintjs/select" "^3.15.0"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/theme-dark-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/theme-dark-extension/-/theme-dark-extension-4.0.0-alpha.4.tgz#6e754dbc614ae01119bdd32edc3b6e300eb637ae"
+  integrity sha512-5M5/yWBPBXiSrGH3AkTzRBr5/UOZSwbEyJzT08LNMZVVgpMtWSlJbgAF37gI91iLj0ewnQFoz9K1Qiy9+3MWJw==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+
+"@jupyterlab/theme-light-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/theme-light-extension/-/theme-light-extension-4.0.0-alpha.4.tgz#3c037f0f1584ebf156cd51e96ce54ae5ef27283a"
+  integrity sha512-SK0rVOn86JngMFEt+iAEufU3jNtxETyO58C8dJnV3n6J2xTsxZXX4gWCszY8QBlVlCbISyO0JDAXeMyanA3cbw==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+
+"@jupyterlab/tooltip-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/tooltip-extension/-/tooltip-extension-4.0.0-alpha.4.tgz#e8c0e2af941333724257f9d7085f54115476caab"
+  integrity sha512-tWm29ohD33fHbQd8s+ysEGOOU26LEII+Dpzg9mwrwHwmKny7l2qbDT6cAg4WShSRxAQFCLD8mb5gP4O+eGBxdA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/fileeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/tooltip" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/tooltip@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/tooltip/-/tooltip-4.0.0-alpha.4.tgz#ad67fb7d112d8429021e0dc47b9d6c0fb9c82bf2"
+  integrity sha512-fxIsdORNclP9rdmUPE6DaE8p80L93zkqMZUsPlZszlfW5YCfsF4RF+ciVOL72R7ra67vnxxKIr4nxdQQTlWQEQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/translation-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/translation-extension/-/translation-extension-4.0.0-alpha.4.tgz#aea37d071a44f0498add166cee825108afa42fca"
+  integrity sha512-+caDomgbMuXBTlj78lsSy1EPSnf3LcwIc048/2qZsxNEOKQScXAHVnsxKl4BufUpxkSuYvaHKvjgWOEJyiz/xA==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+
+"@jupyterlab/translation@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-4.0.0-alpha.4.tgz#7125ce27433e1dbb7118bb9dbdb1b6e7fa5400fb"
+  integrity sha512-L6jAJRNg421ZP8NHyelAB8ahYuAelIAIIBAZkfXgEiz/XPs9lbJh6J9GnA2wrN0+aSd5oAM691snYcz9Ii23mw==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+
+"@jupyterlab/ui-components@^4.0.0-alpha.19":
+  version "4.0.0-alpha.19"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-4.0.0-alpha.19.tgz#bab959a370b0902ea50964543e45af679b4b0bdb"
+  integrity sha512-wtr+S4kJmyxz8aQOk2DYFU6TYq5aqh+9Mx1GGHgck9W+ueCkWb+zfBfRNdfvLovJBlUx/sAALFPKj4e1Pqje5w==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
     react-dom "^17.0.1"
     typestyle "^2.0.4"
 
-"@jupyterlab/vega5-extension@^3.2.6":
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/vega5-extension/-/vega5-extension-3.2.6.tgz#78c4ca83be4272ecd33e56edd56c8f1bbd9e63ab"
-  integrity sha512-iSRfMcPIyKdUCcJECZkxBvuSCkOJC21gl4MkD3MPysjxg+HcOtPkC74RwiVaTgi9z5A9/ltsK5qZMXCtaYvagg==
+"@jupyterlab/user-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/user-extension/-/user-extension-4.0.0-alpha.4.tgz#dad7b0297d257dcc137380ede15b3a524c6dfd0f"
+  integrity sha512-fToh5Vlxt23xmwFDJ0VdUlZHXC6Abi2EKAb8wPmtpPaB8BvavbdswCbjNF7susV/kpU5uZeqlI8BTOIS9Y8/pQ==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/user" "^4.0.0-alpha.4"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/user@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/user/-/user-4.0.0-alpha.4.tgz#d7869568c136a236fd98619b671f131c8004f153"
+  integrity sha512-puvChNYyI9PlJEl71Fw70137UdCStMH6jSrM2E7zjPMHm5SIoBt3zUV9E/DYpTR99RO/+JhGM54/j9sFpnqUkg==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
+    lib0 "^0.2.42"
+
+"@jupyterlab/vega5-extension@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/vega5-extension/-/vega5-extension-4.0.0-alpha.4.tgz#5fa8142608d724de50cf029ca3bf0e2d633989e3"
+  integrity sha512-vo2QSEsZwC/NKieZ6D0j1UBloz94ZmmCmi2TBLb+66mHuS5XCboNP4Tplu/8QQtBoyQ3sjGC+Cpp0+fkIPfK6A==
   dependencies:
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
     vega "^5.20.0"
     vega-embed "^6.2.1"
     vega-lite "^5.1.0"
@@ -3053,123 +3047,123 @@
     npmlog "^4.1.2"
     write-file-atomic "^2.3.0"
 
-"@lumino/algorithm@^1.3.3", "@lumino/algorithm@^1.6.0":
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.6.0.tgz#771e7896cd94e660f9b58a52f80e1bb255de1d41"
-  integrity sha512-NMOcm5Yr9nXz5gokS/K4jHBbUMQYBkvDXl1n51XWdcz0LY+oGuIKPhjazhUgmbNRehzdZBj5hMMd1+htYWeVKQ==
-
-"@lumino/application@^1.16.0":
-  version "1.20.0"
-  resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.20.0.tgz#b50ca4180bc400589fdfcfcaab08c4af937fccd0"
-  integrity sha512-FAoQcq4L3ZswTK0lWfLKnG1ecG26cwqjzg2fyoBeuWGBi1TG9BYjFBdV7ErTFMxW8jE1CLOLuxsZaKFLNErcKA==
-  dependencies:
-    "@lumino/commands" "^1.15.0"
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/widgets" "^1.23.0"
+"@lumino/algorithm@^1.9.1":
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.9.1.tgz#a870598e031f5ee85e20e77ce7bfffbb0dffd7f5"
+  integrity sha512-d0rj7IYRzYj6WbWSrbJbKvrfO4H0NUnXT2yjSWS/sCklpTpSp0IGmndK/X4r6gG+ev5lb5+wBg9ofUDBvoAlAw==
 
-"@lumino/collections@^1.6.0":
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/@lumino/collections/-/collections-1.6.0.tgz#7d3e94cee26409b0cd719c1934bdda471e6a5662"
-  integrity sha512-ZETm0/xF0oUHV03sOXNOfFI1EEpS317HvN5n+fZBJvCNZIrJkWmKD8QuxcfwHb7AChKUhXlVHhDbWlb1LKnd7g==
+"@lumino/application@^1.27.0":
+  version "1.27.1"
+  resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.27.1.tgz#fc6d8eaac955426f2da7f25baee3c02489911688"
+  integrity sha512-jEQweb3bxt1kBLUjcw3A787xjdMbe8TbOFOug9H53Ld/VftVitrt2ETALTB+RugX8Mhp+nZ/Sb8glko/fHJ2IA==
   dependencies:
-    "@lumino/algorithm" "^1.6.0"
+    "@lumino/commands" "^1.19.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.1"
 
-"@lumino/commands@^1.12.0", "@lumino/commands@^1.15.0":
-  version "1.15.0"
-  resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.15.0.tgz#06eb94fb4b34cad59f35b1fcaf473e8d2047f779"
-  integrity sha512-JOE68KfbR9xw5YTfcwo+9E0PSWidifEMAcOC/aXd7iSzfsCRknMTcMQIUGL277IU7J7CJvoe10DUE5QKwTmX+g==
+"@lumino/collections@^1.9.1":
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@lumino/collections/-/collections-1.9.1.tgz#268f1ec6850d5e131cfc8db232c7e1e106144aa0"
+  integrity sha512-5RaRGUY7BJ/1j173sc9DCfiVf70Z0hopRnBV8/AeAaK9bJJRAYjDhlZ9O8xTyouegh6krkOfiDyjl3pwogLrQw==
   dependencies:
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/disposable" "^1.7.0"
-    "@lumino/domutils" "^1.5.0"
-    "@lumino/keyboard" "^1.5.0"
-    "@lumino/signaling" "^1.7.0"
-    "@lumino/virtualdom" "^1.11.0"
+    "@lumino/algorithm" "^1.9.1"
 
-"@lumino/coreutils@^1.5.3", "@lumino/coreutils@^1.8.0":
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.8.0.tgz#4feb3ccbfbc3efc8e395a90f22b5a938fbad959a"
-  integrity sha512-OvCsaASUqOE7R6Dxngyk4/b5QMOjyRUNxuZuuL+fx+JvGKZFZ/B2c9LYtAJ9mDmQ1BQiGNV/qSpL4o7x8PCfjw==
+"@lumino/commands@^1.19.0", "@lumino/commands@^1.19.1":
+  version "1.19.1"
+  resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.19.1.tgz#fa124bdbe0acfe3e3e09fce21049b5ee8f71e8f4"
+  integrity sha512-jWNvwpOEPnWLP1i1cgzJr/ZCqzitLYIRW5n+xJgvSd3T9I+lraWl44uXvg2DDHs4QdfRTu2tnMafl0ynFg1Hfg==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/keyboard" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+
+"@lumino/coreutils@^1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.11.1.tgz#6d89c6325d7adb5f2179dfe3660f0aec8f3c4546"
+  integrity sha512-TbXeYnUChSMN8SmuOwT+bADS3kMhsVaQC0sZie0ZeGaLYxVqvd7NEDRZATDtjdw7QGHK0TwH5+XzuSdNkAXpFw==
 
-"@lumino/disposable@^1.4.3", "@lumino/disposable@^1.7.0":
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.7.0.tgz#539463490cb42e8d2dc46b5ff7cc291f4f1a8d07"
-  integrity sha512-3mWi11ko3XVY63BPwvys7MXrbFddA2i+gp72d0wAKM2NDDUopVPikMHhJpjGJcw+otjahzXYiTewxPDEau9dYg==
+"@lumino/disposable@^1.10.1":
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.10.1.tgz#58fddc619cf89335802d168564b76ff5315d5a84"
+  integrity sha512-mZQILc8sVGZC7mJNOGVmehDRO9/u3sIRdjZ+pCYjDgXKcINLd6HoPhZDquKCWiRBfHTL1B3tOHjnBhahBc2N/Q==
   dependencies:
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/signaling" "^1.7.0"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
 
-"@lumino/domutils@^1.2.3", "@lumino/domutils@^1.5.0":
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.5.0.tgz#fdba0cfe404b4817e63aa064f63b3c965655e76e"
-  integrity sha512-dZ0Aa+/qhvfPc1aa5kX4LLGE3B6BW1XmJa0R1XVCEpAFY3cZiujuQWmhYHJtZPrOiqn0UtioT2OpqnWdtCWc0A==
+"@lumino/domutils@^1.8.1":
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.8.1.tgz#cf118e4eba90c3bf1e3edf7f19cce8846ec7875c"
+  integrity sha512-QUVXwmDMIfcHC3yslhmyGK4HYBKaJ3xX5MTwDrjsSX7J7AZ4jwL4zfsxyF9ntdqEKraoJhLQ6BaUBY+Ur1cnYw==
 
-"@lumino/dragdrop@^1.10.0", "@lumino/dragdrop@^1.7.1":
-  version "1.10.0"
-  resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.10.0.tgz#2fddacfee055e660dd33dd9a3cfbd8fbba811673"
-  integrity sha512-A3cNLcp09zygOprWmLTkLZCQYNq3dJfN+mhni4IZizqCTkKbTCEzo2/IwoCWvy+ABKft8d/A9Y40wFW6yJ9OyA==
+"@lumino/dragdrop@^1.13.1":
+  version "1.13.1"
+  resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.13.1.tgz#a8f8ae4262dcbba4ef85900f6081c90bd47df2b5"
+  integrity sha512-78tvTLwUkGbxrVentok7J4M1y+QHml3+Z+N5urxpXZMqVaLCeLxXfQO5QbWKiQjRWuPSoXhCB/PNBrlZeqzK+A==
   dependencies:
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/disposable" "^1.7.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
 
-"@lumino/keyboard@^1.5.0":
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.5.0.tgz#c12213822dd2645c412e8689aecd4a2726113ac6"
-  integrity sha512-/uF9xqHYVbIkser2Q6UIv7VWrzThr1fxAmSOShjSoKGocL0XHeaBaCOMezSaVxnJ1wm1ciNdhMsjscVM8Inp7g==
+"@lumino/keyboard@^1.8.1":
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.8.1.tgz#e7850e2fb973fbb4c6e737ca8d9307f2dc3eb74b"
+  integrity sha512-8x0y2ZQtEvOsblpI2gfTgf+gboftusP+5aukKEsgNQtzFl28RezQXEOSVd8iD3K6+Q1MaPQF0OALYP0ASqBjBg==
 
-"@lumino/messaging@^1.4.3", "@lumino/messaging@^1.7.0":
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.7.0.tgz#32542f9e9a266fd5b3f71842f70cfe141e016d93"
-  integrity sha512-QYWf9QGIGD0Oes104zw7mVln4S8yRije2mZhNNRBjkYcDuQlPW+eRSuC5LwAMsFnGymBlUPwPbKOUEO2RbhAtg==
+"@lumino/messaging@^1.10.1":
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.1.tgz#b29575cca46e2f23b84626b793ec8e2be46a53ba"
+  integrity sha512-XZSdt9ih94rdeeLL0cryUw6HHD51D7TP8c+MFf+YRF6VKwOFB9RoajfQWadeqpmH+schTs3EsrFfA9KHduzC7w==
   dependencies:
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/collections" "^1.6.0"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/collections" "^1.9.1"
 
-"@lumino/polling@^1.3.3", "@lumino/polling@^1.6.0":
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.6.0.tgz#64f40bba4602fe9eceb9f3fae8f3647831e5b7e9"
-  integrity sha512-jG1nqw6UO5XEN7QamOr6iDW8WvYeZQcBVRjM38fszz62dwJ/VGPvO2hlNl6QWWIfCynbJudms0LQm+z0BT1EdA==
+"@lumino/polling@^1.9.1":
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.9.1.tgz#38d5f31b16ecdf95af0f48b9b67f0444b3de2df8"
+  integrity sha512-eZbkLcEJmx+1ABekXchiWbZGKuaEfBvCYb0swWHFrHYi48dtmVsJtyLMDmLGPDZC7cOxoQ3YoSCYiCKmgSIQCA==
   dependencies:
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/disposable" "^1.7.0"
-    "@lumino/signaling" "^1.7.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
 
-"@lumino/properties@^1.2.3", "@lumino/properties@^1.5.0":
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/@lumino/properties/-/properties-1.5.0.tgz#7e8638e84c51bb110c5a69f91ca8b0e40b2c3fca"
-  integrity sha512-YqpJE6/1Wkjrie0E+ypu+yzd55B5RlvKYMnQs3Ox+SrJsnNBhA6Oj44EhVf8SUTuHgn1t/mm+LvbswKN5RM4+g==
+"@lumino/properties@^1.8.1":
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/@lumino/properties/-/properties-1.8.1.tgz#47eb8516e92c987dcb2c404db83a258159efec3d"
+  integrity sha512-O+CCcAqP64Di32DUZ4Jqq0DtUyE5RJREN5vbkgGZGu+WauJ/RYoiLDe1ubbAeSaHk71OrS60ZBV7QyC8ZaBVsA==
 
-"@lumino/signaling@^1.4.3", "@lumino/signaling@^1.7.0":
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.7.0.tgz#76da4738bf8f19e7da6de1d457a54220e2140670"
-  integrity sha512-a5kd11Sf04jTfpzxCr7TOBD2o5YvItA4IGwiOoG+QR6sPR0Rwmcf47fPItqXo5st58iNIblC3F+c264N+Me+gg==
+"@lumino/signaling@^1.10.1":
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.10.1.tgz#c8a1cb5b661b6744ea817c99c758fdc897847c26"
+  integrity sha512-GZVbX4cfk/ZqLwkemPD/NwqToaTL/6q7qdLpEhgkiPlaH1S5/V7fDpP7N1uFy4n3BDITId8cpYgH/Ds32Mdp3A==
   dependencies:
-    "@lumino/algorithm" "^1.6.0"
+    "@lumino/algorithm" "^1.9.1"
 
-"@lumino/virtualdom@^1.11.0", "@lumino/virtualdom@^1.8.0":
-  version "1.11.0"
-  resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.11.0.tgz#468b4d28a07e2b8988dc583b4aab40e37dc6955e"
-  integrity sha512-G0sIx4pLYbgJ4w+SIgsCYQgKP/GBrWgjh8wcumD6XpaYZNivJv4c01xITYYlh7FU61jZmMWMrxtZztArNRDSqg==
-  dependencies:
-    "@lumino/algorithm" "^1.6.0"
-
-"@lumino/widgets@^1.19.0", "@lumino/widgets@^1.23.0":
-  version "1.23.0"
-  resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.23.0.tgz#096c7574de75fa67b32bcb914c5dae290fbee6f3"
-  integrity sha512-0Akt9ESgc06SJ3EJG3VK1Liw+AAjRWkKMfm8VUTwT/1QJYYGZ8kfHNO97mkBLv+0EkLEkZIeaQb8fIoU6vh7bw==
-  dependencies:
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/commands" "^1.15.0"
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/disposable" "^1.7.0"
-    "@lumino/domutils" "^1.5.0"
-    "@lumino/dragdrop" "^1.10.0"
-    "@lumino/keyboard" "^1.5.0"
-    "@lumino/messaging" "^1.7.0"
-    "@lumino/properties" "^1.5.0"
-    "@lumino/signaling" "^1.7.0"
-    "@lumino/virtualdom" "^1.11.0"
+"@lumino/virtualdom@^1.14.1":
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.14.1.tgz#2551b146cbe87c48d23754f370c1331a60c9fe62"
+  integrity sha512-imIJd/wtRkoR1onEiG5nxPEaIrf70nn4PgD/56ri3/Lo6AJEX2CusF6iIA27GVB8yl/7CxgTHUnzzCwTFPypcA==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+
+"@lumino/widgets@^1.30.0", "@lumino/widgets@^1.30.1":
+  version "1.30.1"
+  resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.30.1.tgz#eab0d048d52dd8b828c5245befa0ade721eefaaf"
+  integrity sha512-d0YfV1bKTQKJdEZgqkWLVQ0EXsLjPyu1HFW/pMflvge/alimT8Dn2DNIPSYu7VfsMAzspxyZv9n2Gm49qYNjtA==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/keyboard" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
 
 "@mrmlnc/readdir-enhanced@^2.2.1":
   version "2.2.1"
@@ -3331,135 +3325,135 @@
   integrity sha512-6RglhutqrGFMO1MNUXp95RBuYIuc8wTnMAV5MUhLmjTOy78ncwOw7RgeQ/HeymkKXRhZd0s2DNrM1rL7unk3MQ==
 
 "@retrolab/application-extension@file:packages/application-extension":
-  version "0.3.15"
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/celltags" "^3.2.6"
-    "@jupyterlab/codeeditor" "^3.2.6"
-    "@jupyterlab/codemirror" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/disposable" "^1.7.0"
-    "@lumino/widgets" "^1.23.0"
+  version "0.3.16"
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/celltags" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/widgets" "^1.30.1"
     "@retrolab/application" "^0.3.15"
     "@retrolab/ui-components" "^0.3.15"
 
 "@retrolab/application@file:packages/application":
-  version "0.3.15"
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/rendermime-interfaces" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/coreutils" "^1.8.0"
-    "@lumino/messaging" "^1.7.0"
-    "@lumino/polling" "^1.6.0"
-    "@lumino/signaling" "^1.7.0"
-    "@lumino/widgets" "^1.23.0"
+  version "0.3.16"
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.1"
 
 "@retrolab/console-extension@file:packages/console-extension":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/console" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@lumino/algorithm" "^1.6.0"
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/console" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
 
 "@retrolab/docmanager-extension@file:packages/docmanager-extension":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@lumino/algorithm" "^1.6.0"
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
 
 "@retrolab/documentsearch-extension@file:packages/documentsearch-extension":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/documentsearch" "^3.2.6"
-    "@lumino/widgets" "^1.23.0"
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/documentsearch" "^4.0.0-alpha.4"
+    "@lumino/widgets" "^1.30.1"
     "@retrolab/application" "^0.3.15"
 
 "@retrolab/help-extension@file:packages/help-extension":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
     "@retrolab/ui-components" "^0.3.15"
 
 "@retrolab/lab-extension@file:packages/lab-extension":
-  version "0.3.15"
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docregistry" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/commands" "^1.15.0"
-    "@lumino/disposable" "^1.7.0"
+  version "0.3.16"
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/commands" "^1.19.1"
+    "@lumino/disposable" "^1.10.1"
     "@retrolab/application" "^0.3.15"
 
 "@retrolab/notebook-extension@file:packages/notebook-extension":
-  version "0.3.15"
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/cells" "^3.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/notebook" "^3.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@lumino/polling" "^1.6.0"
-    "@lumino/widgets" "^1.23.0"
+  version "0.3.16"
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/widgets" "^1.30.1"
     "@retrolab/application" "^0.3.15"
 
 "@retrolab/terminal-extension@file:packages/terminal-extension":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/terminal" "^3.2.6"
-    "@lumino/algorithm" "^1.6.0"
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/terminal" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
 
 "@retrolab/tree-extension@file:packages/tree-extension":
-  version "0.3.15"
-  dependencies:
-    "@jupyterlab/application" "^3.2.6"
-    "@jupyterlab/apputils" "^3.2.6"
-    "@jupyterlab/coreutils" "^5.2.6"
-    "@jupyterlab/docmanager" "^3.2.6"
-    "@jupyterlab/filebrowser" "^3.2.6"
-    "@jupyterlab/mainmenu" "^3.2.6"
-    "@jupyterlab/services" "^6.2.6"
-    "@jupyterlab/settingregistry" "^3.2.6"
-    "@jupyterlab/statedb" "^3.2.6"
-    "@jupyterlab/translation" "^3.2.6"
-    "@jupyterlab/ui-components" "^3.2.6"
-    "@lumino/algorithm" "^1.6.0"
-    "@lumino/commands" "^1.15.0"
-    "@lumino/widgets" "^1.23.0"
+  version "0.3.16"
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/mainmenu" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.1"
+    "@lumino/widgets" "^1.30.1"
     "@retrolab/application" "^0.3.15"
 
 "@retrolab/ui-components@file:packages/ui-components":
-  version "0.3.15"
+  version "0.3.16"
   dependencies:
-    "@jupyterlab/ui-components" "^3.2.6"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
     react "^17.0.1"
     react-dom "^17.0.1"
 
@@ -3532,11 +3526,6 @@
   resolved "https://registry.yarnpkg.com/@types/clone/-/clone-2.1.1.tgz#9b880d0ce9b1f209b5e0bd6d9caa38209db34024"
   integrity sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg==
 
-"@types/dom4@^2.0.1":
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/@types/dom4/-/dom4-2.0.1.tgz#506d5781b9bcab81bd9a878b198aec7dee2a6033"
-  integrity sha512-kSkVAvWmMZiCYtvqjqQEwOmvKwcH+V4uiv3qPQ8pAh1Xl39xggGEo8gHUqV4waYGHezdFw0rKBR8Jt0CrQSDZA==
-
 "@types/eslint-scope@^3.7.0":
   version "3.7.0"
   resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86"
@@ -3617,6 +3606,11 @@
   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
   integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
 
+"@types/json-schema@^7.0.8":
+  version "7.0.9"
+  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
+  integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
+
 "@types/lodash.curry@^4.1.6":
   version "4.1.6"
   resolved "https://registry.yarnpkg.com/@types/lodash.curry/-/lodash.curry-4.1.6.tgz#f26c490c80c92d7cbaa2300d542e89781d44b1ff"
@@ -3792,53 +3786,53 @@
     "@typescript-eslint/types" "4.24.0"
     eslint-visitor-keys "^2.0.0"
 
-"@verdaccio/commons-api@10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.0.0.tgz#2d7de8722f94181f1a71891fe91198a7c14e6dea"
-  integrity sha512-UC8wrRI9FvqjfDeB1RijF7aVI0JJhCOI8RkEDibCT/JD8zVngphrNmgSWcjo8Es3lRiu7NugWXDSuggCCeCfUg==
+"@verdaccio/commons-api@10.1.0":
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.1.0.tgz#08b21185f41659fff0fc810d0cd7f9a1e2c22f7a"
+  integrity sha512-7xidrFzpyS4QVqVSFK+2lJn3mefpAPvk2pPe4SbiCibjRBFTXdj2KaeaqMEh2ROGzag4+tbx7l4hZ1qkB/1mkA==
   dependencies:
-    http-errors "1.8.0"
+    http-errors "1.8.1"
     http-status-codes "1.4.0"
 
-"@verdaccio/file-locking@10.0.0", "@verdaccio/file-locking@^10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.0.0.tgz#3d476a6ba28207c795d49828438e7335166c1cfc"
-  integrity sha512-2tQUbJF3tQ3CY9grAlpovaF/zu8G56CBYMaeHwMBHo9rAmsJI9i7LfliHGS6Jygbs8vd0cOCPT7vl2CL9T8upw==
+"@verdaccio/file-locking@10.1.0":
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.1.0.tgz#e47935d197d186f619363f465d67b52d8841a355"
+  integrity sha512-PULcFqfj8S8shY/Ry+v+q6aYhhJBG517Pfzf9DYgJW5AcAHk6SpLB+0XyjfBtJ66ic0jlVnx/Y0FanQXrJDkig==
   dependencies:
     lockfile "1.0.4"
 
-"@verdaccio/local-storage@10.0.6":
-  version "10.0.6"
-  resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.0.6.tgz#be485a8107ad84206cf80702d325ca47b7f22f68"
-  integrity sha512-YEImOMUL56lziS/N3o1YzoOcVGZXpyZclGSonw7XQ1lKQEvEhU06V2+tIdjPgtqIOuH9ZKdPeBsBuN7ILa2qzQ==
+"@verdaccio/local-storage@10.1.0":
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.1.0.tgz#ff294227c600a779aeccb41b0d1a1e6e33eec0fa"
+  integrity sha512-NSW7uLOCLaqTpvPsHkMyir0G0EgaywsUyLHpEs4CeEVR5QIKBklQPx1zATL+KqsPH8yQSlMQFbDYkNylxSCB3A==
   dependencies:
-    "@verdaccio/commons-api" "10.0.0"
-    "@verdaccio/file-locking" "10.0.0"
-    "@verdaccio/streams" "10.0.0"
-    async "3.2.0"
-    debug "4.3.1"
+    "@verdaccio/commons-api" "10.1.0"
+    "@verdaccio/file-locking" "10.1.0"
+    "@verdaccio/streams" "10.1.0"
+    async "3.2.2"
+    debug "4.3.3"
     lodash "4.17.21"
     lowdb "1.0.0"
     mkdirp "1.0.4"
 
-"@verdaccio/readme@10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.0.0.tgz#f9627c32b309ace311318b98b2c42226823f6cd7"
-  integrity sha512-OD3dMnRC8SvhgytEzczMBleN+K/3lMqyWw/epeXvolCpCd7mW/Dl5zSR25GiHh/2h3eTKP/HMs4km8gS1MMLgA==
+"@verdaccio/readme@10.2.0":
+  version "10.2.0"
+  resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.2.0.tgz#934bcb183c6ef3010cd575f660f1d3a8ae42a9ca"
+  integrity sha512-M+yXLGSazt9lPJKhZwCL/UsY0+/wGjyYsYZBmAPTbxuBtcjjcRHpGxkN/eRtr6HMIgBiuP/V7+8OInAtgb+ZiA==
   dependencies:
     dompurify "^2.2.6"
     jsdom "15.2.1"
     marked "^2.0.1"
 
-"@verdaccio/streams@10.0.0":
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.0.0.tgz#8b06e1d6f06e906ebda0f1d4089cdb651a533541"
-  integrity sha512-PqxxY11HhweN6z1lwfn9ydLCdnOkCPpthMZs+SGCDz8Rt6gOyrjJVslV7o4uobDipjD9+hUPpJHDeO33Qt24uw==
+"@verdaccio/streams@10.1.0":
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.1.0.tgz#574fa404bec59fd34324a1b7ffca6510f7f19aff"
+  integrity sha512-19FebNvwNiJkk68fFEq/kNOcPNKYX/NoPFqOlZH6mGUGUo3htHh4tD5k2WepAZpBeK9SC868UiPbMizdIXquSg==
 
-"@verdaccio/ui-theme@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-3.1.0.tgz#21108f3c1b97e6db5901509d935e1f4ce475950a"
-  integrity sha512-NmJOcv25/OtF84YrmYxi31beFde7rt+/y2qlnq0wYR4ZCFRE5TsuqisTVTe1OyJ8D8JwwPMyMSMSMtlMwUfqIQ==
+"@verdaccio/ui-theme@3.4.1":
+  version "3.4.1"
+  resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-3.4.1.tgz#2b75f50b48d42954272212bc52fffa56c8e0a96c"
+  integrity sha512-klOiYS/C7zOjZ7d/sq1kvJ9JEMLacPdJNfIibblRamzRam/fjjSRx6h4grTglgf6jcik4DYVEN/XXM83GD1vAw==
 
 "@webassemblyjs/ast@1.11.0":
   version "1.11.0"
@@ -4087,6 +4081,11 @@
   resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9"
   integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw==
 
+"@webpack-cli/configtest@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043"
+  integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==
+
 "@webpack-cli/info@^1.2.4":
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573"
@@ -4094,11 +4093,23 @@
   dependencies:
     envinfo "^7.7.3"
 
+"@webpack-cli/info@^1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223"
+  integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==
+  dependencies:
+    envinfo "^7.7.3"
+
 "@webpack-cli/serve@^1.4.0":
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e"
   integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg==
 
+"@webpack-cli/serve@^1.6.0":
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2"
+  integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==
+
 "@xtuc/ieee754@^1.2.0":
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -4187,6 +4198,11 @@ acorn-globals@^6.0.0:
     acorn "^7.1.1"
     acorn-walk "^7.1.1"
 
+acorn-import-assertions@^1.7.6:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
+  integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
+
 acorn-jsx@^5.3.1:
   version "5.3.1"
   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
@@ -4234,6 +4250,13 @@ agent-base@4, agent-base@^4.3.0:
   dependencies:
     es6-promisify "^5.0.0"
 
+agent-base@6:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  dependencies:
+    debug "4"
+
 agent-base@~4.2.1:
   version "4.2.1"
   resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
@@ -4358,10 +4381,10 @@ anymatch@^3.0.3:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
-apache-md5@1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.2.tgz#ee49736b639b4f108b6e9e626c6da99306b41692"
-  integrity sha1-7klza2ObTxCLbp5ibG2pkwa0FpI=
+apache-md5@1.1.7:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.7.tgz#dcef1802700cc231d60c5e08fd088f2f9b36375a"
+  integrity sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==
 
 aproba@^1.0.3, aproba@^1.1.1:
   version "1.2.0"
@@ -4523,10 +4546,10 @@ async-limiter@~1.0.0:
   resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
   integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
 
-async@3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
-  integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
+async@3.2.2:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd"
+  integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==
 
 asynckit@^0.4.0:
   version "0.4.0"
@@ -4741,6 +4764,22 @@ body-parser@1.19.0:
     raw-body "2.4.0"
     type-is "~1.6.17"
 
+body-parser@1.19.1:
+  version "1.19.1"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4"
+  integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
+  dependencies:
+    bytes "3.1.1"
+    content-type "~1.0.4"
+    debug "2.6.9"
+    depd "~1.1.2"
+    http-errors "1.8.1"
+    iconv-lite "0.4.24"
+    on-finished "~2.3.0"
+    qs "6.9.6"
+    raw-body "2.4.2"
+    type-is "~1.6.18"
+
 brace-expansion@^1.1.7:
   version "1.1.11"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -4850,6 +4889,11 @@ bytes@3.1.0:
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
   integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
 
+bytes@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a"
+  integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
+
 cacache@^12.0.0, cacache@^12.0.3:
   version "12.0.4"
   resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
@@ -5097,11 +5141,6 @@ class-utils@^0.3.5:
     isobject "^3.0.0"
     static-extend "^0.1.1"
 
-classnames@^2.2:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
-  integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
-
 clean-css@4.2.x:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
@@ -5146,10 +5185,10 @@ cli-width@^3.0.0:
   resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
   integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
 
-clipanion@3.0.0-rc.12:
-  version "3.0.0-rc.12"
-  resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.0.0-rc.12.tgz#8c235961feb4851c437fc4f23a4c4c1387622a4a"
-  integrity sha512-eCixNguza61+8MXXTu6sYzpA8gPZHZzvay4lpFFpr4KSy+43wsugdiKMNejLS9PVcnSuGf0fy9kYs5R2c7Ejmw==
+clipanion@3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.1.0.tgz#3e217dd6476bb9236638b07eb4673f7309839819"
+  integrity sha512-v025Hz+IDQ15FpOyK8p02h5bFznMu6rLFsJSyOPR+7WrbSnZ1Ek6pblPukV7K5tC/dsWfncQPIrJ4iUy2PXkbw==
   dependencies:
     typanion "^3.3.1"
 
@@ -5279,6 +5318,11 @@ colorette@^1.2.1, colorette@^1.2.2:
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
   integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
 
+colorette@^2.0.14:
+  version "2.0.16"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
+  integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
+
 columnify@^1.5.4:
   version "1.5.4"
   resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
@@ -5407,6 +5451,13 @@ content-disposition@0.5.3:
   dependencies:
     safe-buffer "5.1.2"
 
+content-disposition@0.5.4:
+  version "0.5.4"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+  integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+  dependencies:
+    safe-buffer "5.2.1"
+
 content-type@~1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
@@ -5512,6 +5563,11 @@ cookie@0.4.0:
   resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
   integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
 
+cookie@0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+
 cookies@0.8.0:
   version "0.8.0"
   resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"
@@ -5859,10 +5915,10 @@ dateformat@^3.0.0:
   resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
   integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
 
-dayjs@1.10.4:
-  version "1.10.4"
-  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2"
-  integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==
+dayjs@1.10.7:
+  version "1.10.7"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468"
+  integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==
 
 debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
   version "2.6.9"
@@ -5878,10 +5934,10 @@ debug@3.1.0:
   dependencies:
     ms "2.0.0"
 
-debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0:
-  version "4.3.1"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
-  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+debug@4, debug@4.3.3, debug@^4.3.2:
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
   dependencies:
     ms "2.1.2"
 
@@ -5892,10 +5948,10 @@ debug@^3.1.0:
   dependencies:
     ms "^2.1.1"
 
-debug@^4.3.1:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
+  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
   dependencies:
     ms "2.1.2"
 
@@ -5939,18 +5995,6 @@ dedent@^0.7.0:
   resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
   integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
 
-deep-equal@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
-  integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
-  dependencies:
-    is-arguments "^1.0.4"
-    is-date-object "^1.0.1"
-    is-regex "^1.0.4"
-    object-is "^1.0.1"
-    object-keys "^1.1.1"
-    regexp.prototype.flags "^1.2.0"
-
 deep-extend@^0.6.0:
   version "0.6.0"
   resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@@ -6111,13 +6155,6 @@ doctrine@^3.0.0:
   dependencies:
     esutils "^2.0.2"
 
-dom-helpers@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
-  integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==
-  dependencies:
-    "@babel/runtime" "^7.1.2"
-
 dom-serializer@^1.0.1:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
@@ -6127,11 +6164,6 @@ dom-serializer@^1.0.1:
     domhandler "^4.2.0"
     entities "^2.0.0"
 
-dom4@^2.1.5:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/dom4/-/dom4-2.1.6.tgz#c90df07134aa0dbd81ed4d6ba1237b36fc164770"
-  integrity sha512-JkCVGnN4ofKGbjf5Uvc8mmxaATIErKQKSgACdBXpsQ3fY6DlIpAyWfiBSrGkttATssbDCp3psiAKWXk5gmjycA==
-
 domelementtype@^2.0.1, domelementtype@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
@@ -6298,6 +6330,14 @@ enhanced-resolve@^5.8.0:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
 
+enhanced-resolve@^5.8.3:
+  version "5.8.3"
+  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0"
+  integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==
+  dependencies:
+    graceful-fs "^4.2.4"
+    tapable "^2.2.0"
+
 enquirer@^2.3.5, enquirer@^2.3.6:
   version "2.3.6"
   resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -6366,10 +6406,10 @@ es-module-lexer@^0.4.0:
   resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e"
   integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==
 
-es-module-lexer@^0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d"
-  integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==
+es-module-lexer@^0.9.0:
+  version "0.9.3"
+  resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
+  integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
 
 es-to-primitive@^1.2.1:
   version "1.2.1"
@@ -6756,6 +6796,11 @@ expect@^26.6.2:
     jest-message-util "^26.6.2"
     jest-regex-util "^26.0.0"
 
+express-rate-limit@5.5.1:
+  version "5.5.1"
+  resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2"
+  integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==
+
 express@4.17.1:
   version "4.17.1"
   resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
@@ -6792,6 +6837,42 @@ express@4.17.1:
     utils-merge "1.0.1"
     vary "~1.1.2"
 
+express@4.17.2:
+  version "4.17.2"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3"
+  integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
+  dependencies:
+    accepts "~1.3.7"
+    array-flatten "1.1.1"
+    body-parser "1.19.1"
+    content-disposition "0.5.4"
+    content-type "~1.0.4"
+    cookie "0.4.1"
+    cookie-signature "1.0.6"
+    debug "2.6.9"
+    depd "~1.1.2"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    finalhandler "~1.1.2"
+    fresh "0.5.2"
+    merge-descriptors "1.0.1"
+    methods "~1.1.2"
+    on-finished "~2.3.0"
+    parseurl "~1.3.3"
+    path-to-regexp "0.1.7"
+    proxy-addr "~2.0.7"
+    qs "6.9.6"
+    range-parser "~1.2.1"
+    safe-buffer "5.2.1"
+    send "0.17.2"
+    serve-static "1.14.2"
+    setprototypeof "1.2.0"
+    statuses "~1.5.0"
+    type-is "~1.6.18"
+    utils-merge "1.0.1"
+    vary "~1.1.2"
+
 ext@^1.1.2:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
@@ -6916,16 +6997,26 @@ fast-redact@^3.0.0:
   resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92"
   integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw==
 
-fast-safe-stringify@^2.0.7:
-  version "2.0.7"
-  resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
-  integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==
+fast-safe-stringify@2.0.8:
+  version "2.0.8"
+  resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f"
+  integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==
+
+fast-safe-stringify@^2.0.8:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
+  integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
 
 fastest-levenshtein@^1.0.12:
   version "1.0.12"
   resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
   integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
 
+fastify-warning@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f"
+  integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==
+
 fastparse@^1.1.1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
@@ -7502,11 +7593,6 @@ growly@^1.3.0:
   resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
   integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
 
-gud@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
-  integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
-
 gzip-size@^6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
@@ -7703,16 +7789,16 @@ http-errors@1.7.2:
     statuses ">= 1.5.0 < 2"
     toidentifier "1.0.0"
 
-http-errors@1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"
-  integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
+http-errors@1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
+  integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
   dependencies:
     depd "~1.1.2"
     inherits "2.0.4"
     setprototypeof "1.2.0"
     statuses ">= 1.5.0 < 2"
-    toidentifier "1.0.0"
+    toidentifier "1.0.1"
 
 http-errors@~1.7.2:
   version "1.7.3"
@@ -7747,6 +7833,14 @@ http-status-codes@1.4.0:
   resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-1.4.0.tgz#6e4c15d16ff3a9e2df03b89f3a55e1aae05fb477"
   integrity sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ==
 
+https-proxy-agent@5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  dependencies:
+    agent-base "6"
+    debug "4"
+
 https-proxy-agent@^2.2.3:
   version "2.2.4"
   resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
@@ -8029,13 +8123,6 @@ is-accessor-descriptor@^1.0.0:
   dependencies:
     kind-of "^6.0.0"
 
-is-arguments@^1.0.4:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"
-  integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==
-  dependencies:
-    call-bind "^1.0.0"
-
 is-arrayish@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -8251,7 +8338,7 @@ is-promise@^2.1.0, is-promise@^2.2.2:
   resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
   integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
 
-is-regex@^1.0.4, is-regex@^1.1.2:
+is-regex@^1.1.2:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
   integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
@@ -9490,7 +9577,7 @@ log-update@^4.0.0:
     slice-ansi "^4.0.0"
     wrap-ansi "^6.2.0"
 
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
+loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
   integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -9668,10 +9755,10 @@ markdown-loader@^2.0.1:
     loader-utils "^1.1.0"
     marked "^0.3.9"
 
-marked@2.0.5:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.5.tgz#2d15c759b9497b0e7b5b57f4c2edabe1002ef9e7"
-  integrity sha512-yfCEUXmKhBPLOzEC7c+tc4XZdIeTdGoRCZakFMkCxodr7wDXqoapIME4wjcpBPJLNyUnKJ3e8rb8wlAgnLnaDw==
+marked@2.1.3, marked@^2.0.1:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753"
+  integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==
 
 marked@^0.3.9:
   version "0.3.19"
@@ -9683,11 +9770,6 @@ marked@^2.0.0:
   resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.3.tgz#3551c4958c4da36897bda2a16812ef1399c8d6b0"
   integrity sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==
 
-marked@^2.0.1:
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753"
-  integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==
-
 media-typer@0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -9841,7 +9923,12 @@ mime@1.6.0:
   resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
   integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
 
-mime@2.5.2, mime@^2.3.1:
+mime@2.6.0:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+  integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
+mime@^2.3.1:
   version "2.5.2"
   resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
   integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
@@ -10045,7 +10132,7 @@ ms@2.1.2:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
-ms@^2.0.0, ms@^2.1.1:
+ms@2.1.3, ms@^2.0.0, ms@^2.1.1:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
   integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -10171,6 +10258,13 @@ node-fetch-npm@^2.0.2:
     json-parse-better-errors "^1.0.0"
     safe-buffer "^5.1.1"
 
+node-fetch@2.6.6:
+  version "2.6.6"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89"
+  integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==
+  dependencies:
+    whatwg-url "^5.0.0"
+
 node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1:
   version "2.6.1"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
@@ -10285,11 +10379,6 @@ normalize-url@^4.1.0:
   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
   integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
 
-normalize.css@^8.0.1:
-  version "8.0.1"
-  resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
-  integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
-
 npm-bundled@^1.0.1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
@@ -10417,14 +10506,6 @@ object-inspect@^1.9.0:
   resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369"
   integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==
 
-object-is@^1.0.1:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
-  integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
-  dependencies:
-    call-bind "^1.0.2"
-    define-properties "^1.1.3"
-
 object-keys@^1.0.12, object-keys@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -10944,13 +11025,14 @@ pino-std-serializers@^3.1.0:
   resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671"
   integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==
 
-pino@6.11.3:
-  version "6.11.3"
-  resolved "https://registry.yarnpkg.com/pino/-/pino-6.11.3.tgz#0c02eec6029d25e6794fdb6bbea367247d74bc29"
-  integrity sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw==
+pino@6.13.3:
+  version "6.13.3"
+  resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.3.tgz#60b93bcda1541f92fb37b3f2be0a25cf1d05b6fe"
+  integrity sha512-tJy6qVgkh9MwNgqX1/oYi3ehfl2Y9H0uHyEEMsBe74KinESIjdMrMQDWpcZPpPicg3VV35d/GLQZmo4QgU2Xkg==
   dependencies:
     fast-redact "^3.0.0"
-    fast-safe-stringify "^2.0.7"
+    fast-safe-stringify "^2.0.8"
+    fastify-warning "^0.2.0"
     flatstr "^1.0.12"
     pino-std-serializers "^3.1.0"
     quick-format-unescaped "^4.0.3"
@@ -10994,11 +11076,6 @@ pn@^1.1.0:
   resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
   integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
 
-popper.js@^1.14.4, popper.js@^1.16.1:
-  version "1.16.1"
-  resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
-  integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
-
 posix-character-classes@^0.1.0:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -11115,10 +11192,10 @@ pretty-format@^26.0.0, pretty-format@^26.6.2:
     ansi-styles "^4.0.0"
     react-is "^17.0.1"
 
-pretty-ms@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.1.0.tgz#b906bdd1ec9e9799995c372e2b1c34f073f95384"
-  integrity sha512-4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw==
+pretty-ms@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8"
+  integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==
   dependencies:
     parse-ms "^2.1.0"
 
@@ -11170,7 +11247,7 @@ promzard@^0.3.0:
   dependencies:
     read "1"
 
-prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.6.0, prop-types@^15.7.2:
   version "15.7.2"
   resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
   integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -11196,7 +11273,7 @@ protoduck@^5.0.1:
   dependencies:
     genfun "^5.0.0"
 
-proxy-addr@~2.0.5:
+proxy-addr@~2.0.5, proxy-addr@~2.0.7:
   version "2.0.7"
   resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
   integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
@@ -11264,6 +11341,11 @@ qs@6.7.0:
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
   integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
 
+qs@6.9.6:
+  version "6.9.6"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
+  integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+
 qs@^6.9.4:
   version "6.10.1"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
@@ -11346,6 +11428,16 @@ raw-body@2.4.0:
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
+raw-body@2.4.2:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32"
+  integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==
+  dependencies:
+    bytes "3.1.1"
+    http-errors "1.8.1"
+    iconv-lite "0.4.24"
+    unpipe "1.0.0"
+
 raw-loader@~4.0.0:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6"
@@ -11414,34 +11506,6 @@ react-json-tree@^0.15.0:
     prop-types "^15.7.2"
     react-base16-styling "^0.8.0"
 
-react-lifecycles-compat@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
-  integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-
-react-popper@^1.3.7:
-  version "1.3.11"
-  resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd"
-  integrity sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==
-  dependencies:
-    "@babel/runtime" "^7.1.2"
-    "@hypnosphi/create-react-context" "^0.3.1"
-    deep-equal "^1.1.1"
-    popper.js "^1.14.4"
-    prop-types "^15.6.1"
-    typed-styles "^0.0.7"
-    warning "^4.0.2"
-
-react-transition-group@^2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
-  integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==
-  dependencies:
-    dom-helpers "^3.4.0"
-    loose-envify "^1.4.0"
-    prop-types "^15.6.2"
-    react-lifecycles-compat "^3.0.4"
-
 react@^17.0.1:
   version "17.0.2"
   resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
@@ -11641,7 +11705,7 @@ regex-not@^1.0.0, regex-not@^1.0.2:
     extend-shallow "^3.0.2"
     safe-regex "^1.1.0"
 
-regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1:
+regexp.prototype.flags@^1.3.1:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
   integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
@@ -11761,7 +11825,7 @@ request@2.88.0:
     tunnel-agent "^0.6.0"
     uuid "^3.3.2"
 
-request@2.88.2, request@^2.88.0, request@^2.88.2:
+request@^2.88.0, request@^2.88.2:
   version "2.88.2"
   resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
   integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -11807,11 +11871,6 @@ requires-port@^1.0.0:
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
   integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
 
-resize-observer-polyfill@^1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
-  integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
-
 resolve-cwd@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@@ -11967,7 +12026,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
   version "5.2.1"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -12068,6 +12127,15 @@ schema-utils@^3.0.0:
     ajv "^6.12.5"
     ajv-keywords "^3.5.2"
 
+schema-utils@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
+  integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+  dependencies:
+    "@types/json-schema" "^7.0.8"
+    ajv "^6.12.5"
+    ajv-keywords "^3.5.2"
+
 semver-compare@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -12114,6 +12182,25 @@ send@0.17.1:
     range-parser "~1.2.1"
     statuses "~1.5.0"
 
+send@0.17.2:
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
+  integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
+  dependencies:
+    debug "2.6.9"
+    depd "~1.1.2"
+    destroy "~1.0.4"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    fresh "0.5.2"
+    http-errors "1.8.1"
+    mime "1.6.0"
+    ms "2.1.3"
+    on-finished "~2.3.0"
+    range-parser "~1.2.1"
+    statuses "~1.5.0"
+
 serialize-javascript@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
@@ -12138,6 +12225,16 @@ serve-static@1.14.1:
     parseurl "~1.3.3"
     send "0.17.1"
 
+serve-static@1.14.2:
+  version "1.14.2"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
+  integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
+  dependencies:
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    parseurl "~1.3.3"
+    send "0.17.2"
+
 set-blocking@^2.0.0, set-blocking@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -12357,10 +12454,10 @@ sort-object-keys@^1.1.3:
   resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45"
   integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==
 
-sort-package-json@~1.44.0:
-  version "1.44.0"
-  resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-1.44.0.tgz#470330be868f8a524a4607b26f2a0233e93d8b6d"
-  integrity sha512-u9GUZvpavUCXV5SbEqXu9FRbsJrYU6WM10r3zA0gymGPufK5X82MblCLh9GW9l46pXKEZvK+FA3eVTqC4oMp4A==
+sort-package-json@~1.53.1:
+  version "1.53.1"
+  resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-1.53.1.tgz#8f2672b06314cf04d9a6bcefc75a5f38d600b811"
+  integrity sha512-ltLORrQuuPMpy23YkWCA8fO7zBOxM4P1j9LcGxci4K2Fk8jmSyCA/ATU6CFyy8qR2HQRx4RBYWzoi78FU/Anuw==
   dependencies:
     detect-indent "^6.0.0"
     detect-newline "3.1.0"
@@ -13081,6 +13178,11 @@ toidentifier@1.0.0:
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
   integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
 
+toidentifier@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+  integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
 topojson-client@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-3.1.0.tgz#22e8b1ed08a2b922feeb4af6f53b6ef09a467b99"
@@ -13141,6 +13243,11 @@ tr46@^2.0.2:
   dependencies:
     punycode "^2.1.1"
 
+tr46@~0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+  integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+
 trim-newlines@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
@@ -13187,11 +13294,6 @@ tslib@^2.2.0:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
   integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
 
-tslib@~1.13.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
-  integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
-
 tslib@~2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
@@ -13293,11 +13395,6 @@ type@^2.0.0:
   resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
   integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==
 
-typed-styles@^0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9"
-  integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==
-
 typedarray-to-buffer@^3.1.5:
   version "3.1.5"
   resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -13315,6 +13412,11 @@ typescript@~4.1.3:
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72"
   integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==
 
+typescript@~4.5.2:
+  version "4.5.4"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8"
+  integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==
+
 typestyle@^2.0.4:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/typestyle/-/typestyle-2.1.0.tgz#7c5cc567de72cd8bfb686813150b92791aaa7636"
@@ -13481,10 +13583,10 @@ url-parse-lax@^3.0.0:
   dependencies:
     prepend-http "^2.0.0"
 
-url-parse@~1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
-  integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
+url-parse@~1.5.4:
+  version "1.5.4"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd"
+  integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==
   dependencies:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
@@ -13558,10 +13660,10 @@ validate-npm-package-name@^3.0.0:
   dependencies:
     builtins "^1.0.3"
 
-validator@13.6.0:
-  version "13.6.0"
-  resolved "https://registry.yarnpkg.com/validator/-/validator-13.6.0.tgz#1e71899c14cdc7b2068463cb24c1cc16f6ec7059"
-  integrity sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==
+validator@13.7.0:
+  version "13.7.0"
+  resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857"
+  integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==
 
 vary@^1, vary@~1.1.2:
   version "1.1.2"
@@ -13988,71 +14090,74 @@ vega@^5.20.0:
     vega-voronoi "~4.1.5"
     vega-wordcloud "~4.1.3"
 
-verdaccio-audit@10.0.0:
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.0.0.tgz#d3304d923c7f2c28c173a02425208c941f25217b"
-  integrity sha512-Epsh+C7ZEdq39PR9QeDBTWktbeqc0zOQjMzWte6Ut5Jh6fPLZzxGF8VK8O67B6mnTwLvGy50A1aPVM97Ysh5Rw==
+verdaccio-audit@10.1.0:
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.1.0.tgz#b01a137b893807bd73c48ac5ef72e5a5b402c239"
+  integrity sha512-lu2rpicM7PeVQ+7dlupP92Ddp7v+Rqae4gFfzd9GTxgzS7wWm7USM88GalEPTJtcn4zDh4nC3nbjE7eEQTVFKg==
   dependencies:
+    body-parser "1.19.0"
     express "4.17.1"
-    request "2.88.2"
+    https-proxy-agent "5.0.0"
+    node-fetch "2.6.6"
 
-verdaccio-htpasswd@10.0.0:
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.0.0.tgz#7a7f44e8ed4db40c53deef0f5101f2a16dce4ff1"
-  integrity sha512-3TKwiLwl8/fbaTDawHvjSYcsyMmdARg58keP/1plv74x+Jw0sC66HbbRwQ/tPO5mqoG0UwoWW+lkO8h/OiWi9w==
+verdaccio-htpasswd@10.1.0:
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.1.0.tgz#a3509461344e29d8a2244cde0896e5d69265ca60"
+  integrity sha512-HPpAJ62Y3FRA19Vp47VSeeeur5mqPUU4E/W4N914vUFw63iZqDBqhMQI5g99SqnlB97HplYsS5CpXj6cRv4hmw==
   dependencies:
-    "@verdaccio/file-locking" "^10.0.0"
-    apache-md5 "1.1.2"
+    "@verdaccio/file-locking" "10.1.0"
+    apache-md5 "1.1.7"
     bcryptjs "2.4.3"
-    http-errors "1.8.0"
+    http-errors "1.8.1"
     unix-crypt-td-js "1.1.4"
 
-verdaccio@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.1.1.tgz#83c1893ede39e9ad181b2c5822a3ca1d683ad5cd"
-  integrity sha512-jLuBgykjMGS+kOI0cU16DqF/skSBlRUdAaArjXj20o3N/bnzhrLQRjEBCaXqoDMhlPR3RaY1kz3fWxNJQ4Anug==
-  dependencies:
-    "@verdaccio/commons-api" "10.0.0"
-    "@verdaccio/local-storage" "10.0.6"
-    "@verdaccio/readme" "10.0.0"
-    "@verdaccio/streams" "10.0.0"
-    "@verdaccio/ui-theme" "3.1.0"
+verdaccio@^5.2.2:
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.4.0.tgz#08bbfe8323c1fc8c1681a0da8ea8924d34c5a941"
+  integrity sha512-OlG5IL1dsBDWVFFmuXYMWqnfg0LfhLiMYbsc6tRHSh57M3UanyI2/DKVBEvoe7WiSpv8valRG4mpS12mjeyNsA==
+  dependencies:
+    "@verdaccio/commons-api" "10.1.0"
+    "@verdaccio/local-storage" "10.1.0"
+    "@verdaccio/readme" "10.2.0"
+    "@verdaccio/streams" "10.1.0"
+    "@verdaccio/ui-theme" "3.4.1"
     JSONStream "1.3.5"
-    async "3.2.0"
-    body-parser "1.19.0"
-    clipanion "3.0.0-rc.12"
+    async "3.2.2"
+    body-parser "1.19.1"
+    clipanion "3.1.0"
     compression "1.7.4"
     cookies "0.8.0"
     cors "2.8.5"
-    dayjs "1.10.4"
-    debug "^4.3.1"
+    dayjs "1.10.7"
+    debug "^4.3.2"
     envinfo "7.8.1"
     eslint-import-resolver-node "0.3.4"
-    express "4.17.1"
-    fast-safe-stringify "^2.0.7"
+    express "4.17.2"
+    express-rate-limit "5.5.1"
+    fast-safe-stringify "2.0.8"
     handlebars "4.7.7"
-    http-errors "1.8.0"
+    http-errors "1.8.1"
     js-yaml "4.1.0"
     jsonwebtoken "8.5.1"
     kleur "4.1.4"
     lodash "4.17.21"
     lru-cache "6.0.0"
     lunr-mutable-indexes "2.3.2"
-    marked "2.0.5"
+    marked "2.1.3"
     memoizee "0.4.15"
-    mime "2.5.2"
+    mime "2.6.0"
     minimatch "3.0.4"
     mkdirp "1.0.4"
     mv "2.1.1"
-    pino "6.11.3"
+    pino "6.13.3"
     pkginfo "0.4.1"
     prettier-bytes "^1.0.4"
-    pretty-ms "^5.0.0"
+    pretty-ms "^7.0.1"
     request "2.88.0"
     semver "7.3.5"
-    validator "13.6.0"
-    verdaccio-audit "10.0.0"
-    verdaccio-htpasswd "10.0.0"
+    validator "13.7.0"
+    verdaccio-audit "10.1.0"
+    verdaccio-htpasswd "10.1.0"
 
 verror@1.10.0:
   version "1.10.0"
@@ -14093,13 +14198,6 @@ walker@^1.0.7, walker@~1.0.5:
   dependencies:
     makeerror "1.0.x"
 
-warning@^4.0.2, warning@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
-  integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
-  dependencies:
-    loose-envify "^1.0.0"
-
 watch@~1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c"
@@ -14108,7 +14206,7 @@ watch@~1.0.2:
     exec-sh "^0.2.0"
     minimist "^1.2.0"
 
-watchpack@^2.0.0, watchpack@^2.2.0:
+watchpack@^2.0.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce"
   integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==
@@ -14116,6 +14214,14 @@ watchpack@^2.0.0, watchpack@^2.2.0:
     glob-to-regexp "^0.4.1"
     graceful-fs "^4.1.2"
 
+watchpack@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25"
+  integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==
+  dependencies:
+    glob-to-regexp "^0.4.1"
+    graceful-fs "^4.1.2"
+
 wcwidth@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -14123,6 +14229,11 @@ wcwidth@^1.0.0:
   dependencies:
     defaults "^1.0.3"
 
+webidl-conversions@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+  integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+
 webidl-conversions@^4.0.2:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -14153,7 +14264,7 @@ webpack-bundle-analyzer@^4.1.0:
     sirv "^1.0.7"
     ws "^7.3.1"
 
-webpack-cli@^4.1.0, webpack-cli@^4.2.0:
+webpack-cli@^4.2.0:
   version "4.7.0"
   resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.0.tgz#3195a777f1f802ecda732f6c95d24c0004bc5a35"
   integrity sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g==
@@ -14172,6 +14283,24 @@ webpack-cli@^4.1.0, webpack-cli@^4.2.0:
     v8-compile-cache "^2.2.0"
     webpack-merge "^5.7.3"
 
+webpack-cli@^4.8.0:
+  version "4.9.1"
+  resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3"
+  integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==
+  dependencies:
+    "@discoveryjs/json-ext" "^0.5.0"
+    "@webpack-cli/configtest" "^1.1.0"
+    "@webpack-cli/info" "^1.4.0"
+    "@webpack-cli/serve" "^1.6.0"
+    colorette "^2.0.14"
+    commander "^7.0.0"
+    execa "^5.0.0"
+    fastest-levenshtein "^1.0.12"
+    import-local "^3.0.2"
+    interpret "^2.2.0"
+    rechoir "^0.7.0"
+    webpack-merge "^5.7.3"
+
 webpack-merge@^5.1.2, webpack-merge@^5.7.3:
   version "5.7.3"
   resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213"
@@ -14180,6 +14309,14 @@ webpack-merge@^5.1.2, webpack-merge@^5.7.3:
     clone-deep "^4.0.1"
     wildcard "^2.0.0"
 
+webpack-merge@^5.8.0:
+  version "5.8.0"
+  resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61"
+  integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
+  dependencies:
+    clone-deep "^4.0.1"
+    wildcard "^2.0.0"
+
 webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.4.3:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
@@ -14196,18 +14333,15 @@ webpack-sources@^2.1.1:
     source-list-map "^2.0.1"
     source-map "^0.6.1"
 
-webpack-sources@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.0.tgz#9ed2de69b25143a4c18847586ad9eccb19278cfa"
-  integrity sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==
-  dependencies:
-    source-list-map "^2.0.1"
-    source-map "^0.6.1"
+webpack-sources@^3.2.2:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260"
+  integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==
 
-webpack@^5.41.1:
-  version "5.44.0"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.44.0.tgz#97b13a02bd79fb71ac6301ce697920660fa214a1"
-  integrity sha512-I1S1w4QLoKmH19pX6YhYN0NiSXaWY8Ou00oA+aMcr9IUGeF5azns+IKBkfoAAG9Bu5zOIzZt/mN35OffBya8AQ==
+webpack@^5.55.1:
+  version "5.65.0"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be"
+  integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==
   dependencies:
     "@types/eslint-scope" "^3.7.0"
     "@types/estree" "^0.0.50"
@@ -14215,10 +14349,11 @@ webpack@^5.41.1:
     "@webassemblyjs/wasm-edit" "1.11.1"
     "@webassemblyjs/wasm-parser" "1.11.1"
     acorn "^8.4.1"
+    acorn-import-assertions "^1.7.6"
     browserslist "^4.14.5"
     chrome-trace-event "^1.0.2"
-    enhanced-resolve "^5.8.0"
-    es-module-lexer "^0.7.1"
+    enhanced-resolve "^5.8.3"
+    es-module-lexer "^0.9.0"
     eslint-scope "5.1.1"
     events "^3.2.0"
     glob-to-regexp "^0.4.1"
@@ -14227,11 +14362,11 @@ webpack@^5.41.1:
     loader-runner "^4.2.0"
     mime-types "^2.1.27"
     neo-async "^2.6.2"
-    schema-utils "^3.0.0"
+    schema-utils "^3.1.0"
     tapable "^2.1.1"
     terser-webpack-plugin "^5.1.3"
-    watchpack "^2.2.0"
-    webpack-sources "^2.3.0"
+    watchpack "^2.3.1"
+    webpack-sources "^3.2.2"
 
 webpack@^5.7.0:
   version "5.37.1"
@@ -14279,6 +14414,14 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
   resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
   integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
 
+whatwg-url@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+  integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+  dependencies:
+    tr46 "~0.0.3"
+    webidl-conversions "^3.0.0"
+
 whatwg-url@^7.0.0:
   version "7.1.0"
   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"


Test patch:
diff --git a/ui-tests/package.json b/ui-tests/package.json
index 19d2f9cd..be8c3f74 100644
--- a/ui-tests/package.json
+++ b/ui-tests/package.json
@@ -14,6 +14,6 @@
     "test:update": "playwright test --update-snapshots"
   },
   "dependencies": {
-    "@jupyterlab/galata": "~4.0.2"
+    "@jupyterlab/galata": "~5.0.0-alpha.4"
   }
 }
diff --git a/ui-tests/test/menus.spec.ts b/ui-tests/test/menus.spec.ts
index f2a8464a..a6ba4325 100644
--- a/ui-tests/test/menus.spec.ts
+++ b/ui-tests/test/menus.spec.ts
@@ -31,6 +31,10 @@ test.describe('Notebook Menus', () => {
     );
   });
 
+  test.afterEach(async ({ page, tmpPath }) => {
+    await page.kernel.shutdownAll();
+  });
+
   MENU_PATHS.forEach(menuPath => {
     test(`Open menu item ${menuPath}`, async ({ page, tmpPath }) => {
       await page.goto(`notebooks/${tmpPath}/${NOTEBOOK}`);
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-chromium-linux.png
index 07dd6565..1cd1e074 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png
index ece51d03..1e0421ee 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-edit-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-chromium-linux.png
index f2fb814b..006fef07 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-firefox-linux.png
index be06040a..37f38717 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-chromium-linux.png
index 04b6330d..a89c3320 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-firefox-linux.png
index 3a2a755a..ab16c3a1 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-file-new-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-chromium-linux.png
index c805166c..ac9ec08e 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-firefox-linux.png
index bed6e38e..7cf8056d 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-help-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png
index 5b79bb34..95c627b6 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png
index 0e4bf87f..5e3d3edc 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-kernel-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png
index 405dcbd7..8c5564ad 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-firefox-linux.png
index 50191e69..da7d127b 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-chromium-linux.png
index b9a98a38..52a7dece 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-firefox-linux.png
index 2abad7f0..86afaabd 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-chromium-linux.png
index d8ffb490..fa45ffa6 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-firefox-linux.png
index 215536d8..274bfe67 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-settings-theme-firefox-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png
index f2efde38..26d28847 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-chromium-linux.png differ
diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png
index d9a2f58a..36a9e1a0 100644
Binary files a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png and b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-view-firefox-linux.png differ
diff --git a/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png
index e18f9117..e6ed2983 100644
Binary files a/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png and b/ui-tests/test/mobile.spec.ts-snapshots/notebook-chromium-linux.png differ
diff --git a/ui-tests/test/mobile.spec.ts-snapshots/notebook-firefox-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/notebook-firefox-linux.png
index 540fc47d..e524a7bb 100644
Binary files a/ui-tests/test/mobile.spec.ts-snapshots/notebook-firefox-linux.png and b/ui-tests/test/mobile.spec.ts-snapshots/notebook-firefox-linux.png differ
diff --git a/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png
index 80430721..a8afa5cb 100644
Binary files a/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png and b/ui-tests/test/mobile.spec.ts-snapshots/tree-chromium-linux.png differ
diff --git a/ui-tests/test/mobile.spec.ts-snapshots/tree-firefox-linux.png b/ui-tests/test/mobile.spec.ts-snapshots/tree-firefox-linux.png
index 0a50ac81..23dd00a9 100644
Binary files a/ui-tests/test/mobile.spec.ts-snapshots/tree-firefox-linux.png and b/ui-tests/test/mobile.spec.ts-snapshots/tree-firefox-linux.png differ
diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-chromium-linux.png b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-chromium-linux.png
index dcd8a855..80d6553f 100644
Binary files a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-chromium-linux.png and b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-chromium-linux.png differ
diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-firefox-linux.png b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-firefox-linux.png
index 61f5d777..de2c473a 100644
Binary files a/ui-tests/test/settings.spec.ts-snapshots/top-hidden-firefox-linux.png and b/ui-tests/test/settings.spec.ts-snapshots/top-hidden-firefox-linux.png differ
diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-visible-chromium-linux.png b/ui-tests/test/settings.spec.ts-snapshots/top-visible-chromium-linux.png
index 82e42656..921dc4a6 100644
Binary files a/ui-tests/test/settings.spec.ts-snapshots/top-visible-chromium-linux.png and b/ui-tests/test/settings.spec.ts-snapshots/top-visible-chromium-linux.png differ
diff --git a/ui-tests/test/settings.spec.ts-snapshots/top-visible-firefox-linux.png b/ui-tests/test/settings.spec.ts-snapshots/top-visible-firefox-linux.png
index f75727de..2808c481 100644
Binary files a/ui-tests/test/settings.spec.ts-snapshots/top-visible-firefox-linux.png and b/ui-tests/test/settings.spec.ts-snapshots/top-visible-firefox-linux.png differ
diff --git a/ui-tests/test/smoke.spec.ts b/ui-tests/test/smoke.spec.ts
index fc1aa628..2f0efe42 100644
--- a/ui-tests/test/smoke.spec.ts
+++ b/ui-tests/test/smoke.spec.ts
@@ -1,6 +1,8 @@
+import { expect } from '@playwright/test';
+
 import { test } from './fixtures';
 
-import { expect } from '@playwright/test';
+import { runAndAdvance } from './utils';
 
 test.use({ autoGoto: false });
 
@@ -27,10 +29,6 @@ test.describe('Smoke', () => {
       page.click('text="New Notebook"')
     ]);
 
-    // Choose the kernel
-    await notebook.click('text="Select"');
-    await notebook.click('pre[role="presentation"]');
-
     // Enter code in the first cell
     await notebook.fill('//textarea', 'import math');
     await notebook.press('//textarea', 'Enter');
@@ -38,9 +36,7 @@ test.describe('Smoke', () => {
     await notebook.fill('//textarea', 'math.pi');
 
     // Run the cell
-    await notebook.click(
-      "//button[normalize-space(@title)='Run the selected cells and advance']"
-    );
+    runAndAdvance(notebook);
 
     // Enter code in the next cell
     await notebook.fill(
@@ -49,9 +45,7 @@ test.describe('Smoke', () => {
     );
 
     // Run the cell
-    await notebook.click(
-      '//button[normalize-space(@title)=\'Run the selected cells and advance\']/span/span/*[local-name()="svg"]'
-    );
+    runAndAdvance(notebook);
 
     // Save the notebook
     // TODO: re-enable after fixing the name on save dialog?
diff --git a/ui-tests/test/utils.ts b/ui-tests/test/utils.ts
index 1e71ac4e..9a71749c 100644
--- a/ui-tests/test/utils.ts
+++ b/ui-tests/test/utils.ts
@@ -1,14 +1,14 @@
 import { IJupyterLabPageFixture } from '@jupyterlab/galata';
 
+import { Page } from '@playwright/test';
+
 /**
  * Run the selected cell and advance.
  */
 export async function runAndAdvance(
-  page: IJupyterLabPageFixture
+  page: IJupyterLabPageFixture | Page
 ): Promise<void> {
-  await page.click(
-    "//button[normalize-space(@title)='Run the selected cells and advance']"
-  );
+  await page.click(".jp-Toolbar-item [data-icon='ui-components:run']");
 }
 
 /**
diff --git a/ui-tests/yarn.lock b/ui-tests/yarn.lock
index 8a2e97d8..a991c348 100644
--- a/ui-tests/yarn.lock
+++ b/ui-tests/yarn.lock
@@ -387,13 +387,6 @@
     "@babel/helper-validator-option" "^7.14.5"
     "@babel/plugin-transform-typescript" "^7.16.0"
 
-"@babel/runtime@^7.1.2":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz#e27b977f2e2088ba24748bf99b5e1dece64e4f0b"
-  integrity sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==
-  dependencies:
-    regenerator-runtime "^0.13.4"
-
 "@babel/template@^7.16.0":
   version "7.16.0"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6"
@@ -426,59 +419,11 @@
     "@babel/helper-validator-identifier" "^7.15.7"
     to-fast-properties "^2.0.0"
 
-"@blueprintjs/colors@^4.0.0-alpha.1":
-  version "4.0.0-alpha.1"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/colors/-/colors-4.0.0-alpha.1.tgz#370684b404e5400494169c54cc3a31385fc6db6a"
-  integrity sha512-i95xW/cAIijJAMIBDrXw1WLbGVXVaRDRG1Ga0CxOtMVwL20zvdXlQj7EMqhkgVEJo9LaKNIDliPI+jsh7h5Lag==
-
-"@blueprintjs/core@^3.36.0", "@blueprintjs/core@^3.51.3":
-  version "3.51.3"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/core/-/core-3.51.3.tgz#d74dd9ac299c0d8f635f04a81c8bda7ef534f069"
-  integrity sha512-Z3xGWBMBuboKFx19uxWNAUjITsCmpm+594R/KEAM578uT6yoydT6s5S7N12APAsFe8w3H1Yu2hbWHlHTvRfOhA==
-  dependencies:
-    "@blueprintjs/colors" "^4.0.0-alpha.1"
-    "@blueprintjs/icons" "^3.31.0"
-    "@types/dom4" "^2.0.1"
-    classnames "^2.2"
-    dom4 "^2.1.5"
-    normalize.css "^8.0.1"
-    popper.js "^1.16.1"
-    react-lifecycles-compat "^3.0.4"
-    react-popper "^1.3.7"
-    react-transition-group "^2.9.0"
-    resize-observer-polyfill "^1.5.1"
-    tslib "~1.13.0"
-
-"@blueprintjs/icons@^3.31.0":
-  version "3.31.0"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/icons/-/icons-3.31.0.tgz#9b3075a45e93dacaf4363390e9985263d2999c6e"
-  integrity sha512-6pXhHC8zEvoDKN5KNsIHNuCRKsemmRbXNv1jweB95VaFzR1M+Mik+Qi+13Wd+VtZrzes2ZcWttIeyuK91NoLCw==
-  dependencies:
-    classnames "^2.2"
-    tslib "~1.13.0"
-
-"@blueprintjs/select@^3.15.0":
-  version "3.18.10"
-  resolved "https://registry.yarnpkg.com/@blueprintjs/select/-/select-3.18.10.tgz#6f71a070da17e478701a0417f138e4b18e051b1f"
-  integrity sha512-0G3ZHTGi+FJeXdE7nn5UPxZyEWgRR/jE+LckHiq9Aqmh62JweLUDwMmofBP9o72k+zvMVtTyn78QLAxfHJN5Xw==
-  dependencies:
-    "@blueprintjs/core" "^3.51.3"
-    classnames "^2.2"
-    tslib "~1.13.0"
-
 "@fortawesome/fontawesome-free@^5.12.0":
   version "5.15.4"
   resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz#ecda5712b61ac852c760d8b3c79c96adca5554e5"
   integrity sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==
 
-"@hypnosphi/create-react-context@^0.3.1":
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6"
-  integrity sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==
-  dependencies:
-    gud "^1.0.0"
-    warning "^4.0.3"
-
 "@jest/types@^27.2.5":
   version "27.2.5"
   resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132"
@@ -490,255 +435,258 @@
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
 
-"@jupyterlab/application@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-3.2.2.tgz#0f75bd8fc64bb0e8a91cf2f8725c177a981f2f08"
-  integrity sha512-B+yeVY1ie7OHJbAVmgUNb7MOklzXZPUX9uWokOxSjd7oSV9uLEPKnhvEV0vlPf4L1iZT1ocROxdBoY4uQUNbuA==
+"@jupyterlab/application@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-4.0.0-alpha.4.tgz#b65f868fbcbbff4d30bd17cdf849448a0e29425a"
+  integrity sha512-2pT8bFxdSf6y1K8Z2VJmb6Vp20hbfUe1OqVGE5aYN/MffGliviWxM0hrEMZ2dasuheqOVkMRXLaxldSo5i+uJQ==
   dependencies:
     "@fortawesome/fontawesome-free" "^5.12.0"
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docregistry" "^3.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/rendermime-interfaces" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/statedb" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/application" "^1.16.0"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/apputils@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-3.2.2.tgz#aede9f1ad2a00a9a8dd47748fb746e6000a837d7"
-  integrity sha512-ulgI6uG8x5o56PYOkfnEMriRBNyIcI3Lcr55nnulBwUsWpjZDjcog7f/aWwW1cyc8b0v7y6tyVXmADTiqmrjVg==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/settingregistry" "^3.2.2"
-    "@jupyterlab/statedb" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/application" "^1.27.0"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/apputils@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-4.0.0-alpha.4.tgz#10513e6be47892a3f7fb52272e40fab62eab34a5"
+  integrity sha512-RMktRgvLkJd6YhSRJAomXSDNhUKW2W8m1euhfxX0j8ppx9bWBmrnjYfdbu/fSEhA4bl1/v3CP+kPDSxGzK8fRQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     "@types/react" "^17.0.0"
     react "^17.0.1"
-    react-dom "^17.0.1"
-    sanitize-html "~2.3.3"
+    sanitize-html "~2.5.3"
     url "^0.11.0"
 
-"@jupyterlab/attachments@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-3.2.2.tgz#253dcea43eb953a41a04fd14ceadbe678a92a30d"
-  integrity sha512-hoAcNKY0TIdJcjnI0MMoStP4oLocmFiJ5NZsqLacP/nGeihUWX8m/vDZP5JJmX9+K3EPAO/FKtOWEMBjPIqhGQ==
-  dependencies:
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/rendermime-interfaces" "^3.2.2"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/cells@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-3.2.2.tgz#8ba1d79125068315f5531de698b3573ae1fc9585"
-  integrity sha512-GcIpv9eCM0geiontTv5YafrR6uiK4YmUao1toYq0eJcIbHtK7CLaw3IgCd5JkzQ8EHBhR6eEnrzLY83nTeS6lA==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/attachments" "^3.2.2"
-    "@jupyterlab/codeeditor" "^3.2.2"
-    "@jupyterlab/codemirror" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/filebrowser" "^3.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/outputarea" "^3.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/attachments@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-4.0.0-alpha.4.tgz#fd504b4610132aadc77c0eb9fd56b575d655d5f3"
+  integrity sha512-qKS/TFY8icOieMFFuJJ4IQJwYF0Z0CKobjdpsLxwhqsjDXR+upy4hNegJT2xp1d7zgxGvTp9S0xm9foaFsktYA==
+  dependencies:
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/cells@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-4.0.0-alpha.4.tgz#293bb20de61c9f3d443aa5ff973ce2ccfadd73df"
+  integrity sha512-jaPozuUMc7ReSXpz4CcE9cFEBNbe2bj3ZPFfDQK/NMZJ5jAlkIykUcfbiWDdwBmcuqUjUBwKL2LyRd7z6d7zuw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/attachments" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/filebrowser" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/outputarea" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     marked "^2.0.0"
     react "^17.0.1"
 
-"@jupyterlab/codeeditor@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-3.2.2.tgz#6d9b0e69e3af5f57b9bb554e5c912e1a809627c1"
-  integrity sha512-+KLmTwuNArkbhVBQRZRR/tYUT1PQdZ7erJx1UiBkfGE8TBtVTlmzHQfGg7tBbg0vcrzsngEft45GvbhHoUVaEw==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/codemirror@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-3.2.2.tgz#723ef5eee0f78a7796eda7997a8c4d062d549cdd"
-  integrity sha512-usxKPETY80gdMy9RpoSQiWgUPP/wr7lOTBvlRnuwDhDUSvZkSAB9JGr0XxMKuQMuFG7RZrY8FLjVyrCeuRUdxw==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/codeeditor" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@jupyterlab/statusbar" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/codeeditor@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-4.0.0-alpha.4.tgz#5f4372e01f60cb6a17410a9f629e9806f96a0afd"
+  integrity sha512-3blnulQ2V+mPlxCkEpZ/38ia//SeoOwdsEOS8u3TQ0uaCfliStbBR/K5F6/g37wUkuN2fO9Z3I9oKID300CnpQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/codemirror@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-4.0.0-alpha.4.tgz#66ab34532adcdf16d08899d74aff552b645fb425"
+  integrity sha512-ggJT72T8dMZ94eHBl0gcfZhAm9JZGTOPJwqVfjqttIF/kgelrdq8dmxdCP/jsaoHZ2m6/ExR4swCnBX2TAo5lA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     codemirror "~5.61.0"
     react "^17.0.1"
-    y-codemirror "^2.1.1"
+    y-codemirror "^3.0.1"
 
-"@jupyterlab/coreutils@^5.2.2":
-  version "5.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-5.2.2.tgz#54c50586576fac8adcf3a4d65399d19112cc6a18"
-  integrity sha512-7lOMZm4e48piGVwKlvjuMSI0+4+Q5/DA33t0dGoD++lKLEelVVKmgBm8dsGp/nqtwxGyupEWcC5Fqw08gxtJUg==
+"@jupyterlab/coreutils@^6.0.0-alpha.4":
+  version "6.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-6.0.0-alpha.4.tgz#8e11bebb6f9850b1c4a159c7e98178606ac5759e"
+  integrity sha512-9/BnesahQeplQGdGfDBlcj4deW1B9cHXi2GPqgEBjg4E8fDYz6xOr0opM792If1Rak18RoVQQKHCPnpOGKW5DA==
   dependencies:
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     minimist "~1.2.0"
     moment "^2.24.0"
     path-browserify "^1.0.0"
-    url-parse "~1.5.1"
-
-"@jupyterlab/docmanager@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-3.2.2.tgz#c45680ac5179e784885f0730cbe03760760bc3c7"
-  integrity sha512-/BBaoN/jCancKyP6Te46kGi7t0miP4EEEe2u6821SOQmj/f4y/4Xjr0NpTsNTckSxksP0DWbbQNg+aaIkbP36w==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docprovider" "^3.2.2"
-    "@jupyterlab/docregistry" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/statusbar" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+    url-parse "~1.5.4"
+
+"@jupyterlab/docmanager@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-4.0.0-alpha.4.tgz#143a28e0cc4f282b4c13b96fefb51430ac8c72ca"
+  integrity sha512-g1NDg+HlSGkHyrMvkkWWq8ZzDrvCXg2iqGWC5igQXAxCa9hMMWinNpzACD227DmP0e4fvlrngIcnbXlUAGmjjA==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/docprovider@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-3.2.2.tgz#201ea0834a8fac6d89c8d682948e5e6f3ec3b71e"
-  integrity sha512-9tSBpWbwX/bfxMq1JfPvw9k0VH4R32aAV3QrcgochbGJG6/wtj84OvQuXKCZoFa/MJmhrG3NF15yJPOCyyR59w==
+"@jupyterlab/docprovider@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-4.0.0-alpha.4.tgz#9f727f386e0b29a5036df38571b79583efd03c51"
+  integrity sha512-KOUKWIRYmDLr2W/ybQQ807qj47uLcWUgmFsswu9cRU+7Ufm6hO1BbK3Q5oveW0lOhqx9LRKZFxXQqwNS6zfdBw==
   dependencies:
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@lumino/coreutils" "^1.5.3"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/user" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
     lib0 "^0.2.42"
     y-websocket "^1.3.15"
-    yjs "^13.5.6"
-
-"@jupyterlab/docregistry@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-3.2.2.tgz#e2a4f1a747953caaccc060c5b173afab017f7ec3"
-  integrity sha512-Zkm5+QYdN6gl1uWG0dsfoHxpkW9g/18GXqOcLAvWFvMPsQuoCpeC+2GC44upVT5XAgrS826A3nzMdWjOWNxKaA==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/codeeditor" "^3.2.2"
-    "@jupyterlab/codemirror" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docprovider" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/rendermime-interfaces" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-    yjs "^13.5.6"
-
-"@jupyterlab/filebrowser@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-3.2.2.tgz#36a66595c210df0545c76332fa3c2462efdb88ee"
-  integrity sha512-doK3+U1fAxmSlidGNaBcMpp7+8Tu8Jjx3kqDzzJWJBaPdQ0reUuGRmMYkznAJVp/4C53X+U4OjLzhfOYWsq9Kw==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docmanager" "^3.2.2"
-    "@jupyterlab/docregistry" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/statedb" "^3.2.2"
-    "@jupyterlab/statusbar" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+    yjs "^13.5.17"
+
+"@jupyterlab/docregistry@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-4.0.0-alpha.4.tgz#d94f1e2b6f23279cb425b4a81aceb6a006c580a3"
+  integrity sha512-54Ajf8bAjUSXbqzWYoAfULj/OxRCyMsijj3ZyT1hoPPmHXMeTXEmDWEnM3EdtrETPDqWSmjKvciLeVoLjW8iKw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docprovider" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+    yjs "^13.5.17"
+
+"@jupyterlab/filebrowser@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-4.0.0-alpha.4.tgz#09d22596b717001ac6379f6e14285468a20b8ace"
+  integrity sha512-1rnEg1WNTxKg5F0kUWdcQoVNyR/ptZ+3jfGP2Z9bPOFYzjwrNlnpNQZZMmZktY2Tfi4hAppBHCaITyqmKbX5Zw==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/galata@~4.0.2":
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/galata/-/galata-4.0.2.tgz#126b638d9b1f7d70f6c77c2c2ded7d0db28cd6e1"
-  integrity sha512-iEwFCUh9RdL+o5JjJZi40AaoprHeJDQlVd1UJPeu2Re75LSF5BOQ5xUvxYynFghIbo/itIjSKz+narMnMZ6Inw==
-  dependencies:
-    "@jupyterlab/application" "^3.2.2"
-    "@jupyterlab/cells" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docmanager" "^3.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/notebook" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/settingregistry" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
+"@jupyterlab/galata@~5.0.0-alpha.4":
+  version "5.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/galata/-/galata-5.0.0-alpha.4.tgz#c5229ccce8116e6ab917204e9c2fd14a2ac22fd5"
+  integrity sha512-ShpOvvUOtxsfCl/IeeDk6sCO33ojWmjcD6jbjINSWhej/K6kkidujJXTYz9u7meAGCA5hWNCqVuu6CbltGxzNg==
+  dependencies:
+    "@jupyterlab/application" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docmanager" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/notebook" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
     "@playwright/test" "^1.16.2"
+    "@stdlib/stats" "~0.0.13"
     canvas "^2.6.1"
     fs-extra "^9.0.1"
     http-server "^13.0.0"
@@ -750,219 +698,235 @@
     vega-lite "^5.1.0"
     vega-statistics "^1.7.9"
 
-"@jupyterlab/nbformat@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.2.2.tgz#af8b72f333e88b2627e678eef2fbe62ba8db9e9f"
-  integrity sha512-qt4hTExji1DreX47+x7P3uWBTYyFtyl/rbrO3joniTVirpuucrOHISfT7yYVWd+d2yXy7/27At8ypdHcz5+fQw==
-  dependencies:
-    "@lumino/coreutils" "^1.5.3"
-
-"@jupyterlab/notebook@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-3.2.2.tgz#1f2b9eb380afb7ce246dbde6ed0c2c810c943e89"
-  integrity sha512-F2Krt2EMrOh5m4P4tsBEes6cNGkmnKwcb7/e0DmyJaP9eAVBihwhcmrgHyDlHTC3jpmPqnYGlT6GXdCvco7cAw==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/cells" "^3.2.2"
-    "@jupyterlab/codeeditor" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/docregistry" "^3.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/shared-models" "^3.2.2"
-    "@jupyterlab/statusbar" "^3.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/domutils" "^1.2.3"
-    "@lumino/dragdrop" "^1.7.1"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/nbformat@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-4.0.0-alpha.4.tgz#0d25a7dfcee04fda0416193cce8afc5b2195d0dd"
+  integrity sha512-TfO9rKaI8B38BjCbu4S21BtL8EtczQN8edXwDq16Q4j/sCY43Tl2T/bubOu5jHhtEStjJck6lrV9KoI6vGY1sw==
+  dependencies:
+    "@lumino/coreutils" "^1.11.1"
+
+"@jupyterlab/notebook@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-4.0.0-alpha.4.tgz#cd7a699f131e63b3f9809d109d2f551da7ec0032"
+  integrity sha512-6IoQqiYuqGg8tObc36pYpuE9VXe9wq15z/9X8P61E9xRS8kB63jn7sfp0SF3RK/Vvm4aAA/WXfm8uQod4b4M+g==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/cells" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/docregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/shared-models" "^4.0.0-alpha.4"
+    "@jupyterlab/statusbar" "^4.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.13.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
 
-"@jupyterlab/observables@^4.2.2":
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-4.2.2.tgz#f6f56542cf80d16e0e35636d79867e700f86066b"
-  integrity sha512-ljV4wXSwyASdp20ii3DetfRDpx565X2U1PTvEz8JMz+CAxGYjnAKSfTs/HZ6yDe4pzhqzf+qwPhXjoyY1l0KQA==
-  dependencies:
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/outputarea@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-3.2.2.tgz#f350a8bea7d1c5b154388de747e73be4fde29f08"
-  integrity sha512-ICOHMcMi0tpfr0NPb3sY69reVVKijC4yezdklcY4z3eawIrE/vEsnNebA27p6Bz1PmMITMrzmd4ke5xfG4T1Yg==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/rendermime" "^3.2.2"
-    "@jupyterlab/rendermime-interfaces" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
-    resize-observer-polyfill "^1.5.1"
-
-"@jupyterlab/rendermime-interfaces@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-3.2.2.tgz#f948d65f319dfef49dccef34aa06623fdef8a7b1"
-  integrity sha512-oSe2vrWPc9c/ynwc6MX7cj/tV3lIGjdayiUhLaePT0UqWW5BvD1BAhD3DxEu0gP+wDPCfF6oQAIGILmRSfqIXQ==
-  dependencies:
-    "@jupyterlab/translation" "^3.2.2"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/widgets" "^1.19.0"
-
-"@jupyterlab/rendermime@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-3.2.2.tgz#638ec042434433282d83b8530998b119dbb42733"
-  integrity sha512-exDTSrnufMG2HFRAUErbv4Atm+5jEYgUBS+63h1EHq9hTuVj7onyhW4VlXTTqzZ5W2oYXlskS4ajR7ynFnfABg==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/codemirror" "^3.2.2"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/rendermime-interfaces" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/observables@^5.0.0-alpha.4":
+  version "5.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-5.0.0-alpha.4.tgz#e5bb98dd7cb752338c94fe7b663e7fbb4b3dbe4e"
+  integrity sha512-L4mHq5qdkyJqKQq9aRKEIfrtvWqUVW/jBuuj1H4iPXyPEvYoH+tanV+aUejAO4T2xerEwF3bUkmwpUzuShodHA==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/outputarea@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-4.0.0-alpha.4.tgz#41932b9ede6be01c8673b6b6f2b938417758cde1"
+  integrity sha512-n6ltIVNdVafmsgpEDznzk/q/LGzP2Qc49k9YIEKA/r/XkcPWBF7Qo6p4ElUDltXuVfRCwp+QQlfLNbF5jcsBhQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime" "^4.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/rendermime-interfaces@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-4.0.0-alpha.4.tgz#989324876aa68b4b1b6617c03af8b4eee0f1c1fd"
+  integrity sha512-9B6aUdZ+w1b3CTio0vf2U+3dufEH4o2NoE9anrG8dJ4XyYvOIGS59aoWFfU8FfGlKhNlvn7XEANBQ0V1sMXjKw==
+  dependencies:
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/widgets" "^1.30.0"
+
+"@jupyterlab/rendermime@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-4.0.0-alpha.4.tgz#5aae7164d47862542a89f61ac6c01fbc0623744c"
+  integrity sha512-76Hy5Netd1tRAdolS+TBRW6pQUgV81Ak47wjzdiy9w75EFyU0RCYUZAUxgtSjSf+a40BpP8/ctjwPhZLgxgYgQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codemirror" "^4.0.0-alpha.4"
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/rendermime-interfaces" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     lodash.escape "^4.0.1"
     marked "^2.0.0"
 
-"@jupyterlab/services@^6.2.2":
-  version "6.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-6.2.2.tgz#44fd109ed0e4c4b3acb73b7eb9a049d5b4d6462a"
-  integrity sha512-ZTg1ySlfm/hYg4B5YK/cUXVqblI+5c0oIto9lRMpRKZWLyacMMgwToPR1U4iLFnZtWvOXIkTP2gGk/ggdmTTdQ==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@jupyterlab/observables" "^4.2.2"
-    "@jupyterlab/settingregistry" "^3.2.2"
-    "@jupyterlab/statedb" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/polling" "^1.3.3"
-    "@lumino/signaling" "^1.4.3"
+"@jupyterlab/services@^7.0.0-alpha.4":
+  version "7.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-7.0.0-alpha.4.tgz#814d2a8264aec7549c9ff0cceb2accd1a83f4609"
+  integrity sha512-xHct7fuvHrwY05sSExZKFE0Vy9yvnh6npbkCycAPruyZy8tLDQDRVkplQe7IKqw/0VSdQzUh7nZeva49ZIZXEQ==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@jupyterlab/observables" "^5.0.0-alpha.4"
+    "@jupyterlab/settingregistry" "^4.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/signaling" "^1.10.1"
     node-fetch "^2.6.0"
     ws "^7.4.6"
 
-"@jupyterlab/settingregistry@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.2.2.tgz#de935405bc11e52584924181cb925797369ce847"
-  integrity sha512-nGjccIOj0phCkkjDPVbJPZ1M1tZ3lfN9256zEmEhK1snU5hY02kjwcjpceRMqGJkGfUfzxFvJFVqQjfaTbs09A==
+"@jupyterlab/settingregistry@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-4.0.0-alpha.4.tgz#5d0455d99bbc2671960d6ea06d31855c31ecda90"
+  integrity sha512-BjLyNNJU1W3rdl4Bj6vPSrxrTQ0Pt/Z2bFn4yZYznp/mNAHpR91inHKD2n0ceSqjKALGeX9UKKfQkZMuEqoIqg==
   dependencies:
-    "@jupyterlab/statedb" "^3.2.2"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     ajv "^6.12.3"
     json5 "^2.1.1"
 
-"@jupyterlab/shared-models@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-3.2.2.tgz#9e178b3e24b53dba76a02768b15a7e938389b070"
-  integrity sha512-xYzu4mlYfh8r63HfU/NKFAWVMzzQzBvvBeH1iAoUy0icR+UAdMUucC1Y/zQ4zgZJluWYIbgWlPkueyY5FC0lGg==
+"@jupyterlab/shared-models@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-4.0.0-alpha.4.tgz#076d4eb60ca35f6c809927ffa9e0d725612d72b7"
+  integrity sha512-Q6Z4svxkeXSVEfKaWMdiwWlqMC+A9mWEm4niTC7RYnkY6D4i5TGbuHrv/7vL72xldI9EUP412HgrLaO+73bU/g==
   dependencies:
-    "@jupyterlab/nbformat" "^3.2.2"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
+    "@jupyterlab/nbformat" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
     y-protocols "^1.0.5"
-    yjs "^13.5.6"
-
-"@jupyterlab/statedb@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-3.2.2.tgz#b6d3c06d93df35cb0bedc02a3d3c7405d28e60f4"
-  integrity sha512-TM8CBNU7qTmz/35iHkuH67dokQ3+iKAX7eaN16yW7ZHZAxTUp1cW/28CRRL/l5VnrbFr6nvvgVVqMZMCfA5T+A==
-  dependencies:
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/properties" "^1.2.3"
-    "@lumino/signaling" "^1.4.3"
-
-"@jupyterlab/statusbar@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-3.2.2.tgz#71be9bc300e4a73ffcb4a06b3d75f440e5bb5660"
-  integrity sha512-SyI+IEhOfuCyaBlxd9SQOLqRuEVNQ+VwLz7ByTQmMgRJgKsXSZVHsQs3GccxpsONDWnphNfENoX976M4NLETmQ==
-  dependencies:
-    "@jupyterlab/apputils" "^3.2.2"
-    "@jupyterlab/codeeditor" "^3.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/translation" "^3.2.2"
-    "@jupyterlab/ui-components" "^3.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/messaging" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/widgets" "^1.19.0"
+    yjs "^13.5.17"
+
+"@jupyterlab/statedb@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-4.0.0-alpha.4.tgz#70d5fe7e504c339b9fc0771f08ea9913c8eee562"
+  integrity sha512-S0SeCbtsfr79q4yRuQD7gesD3ZyMMl6vnw+jGGXYbmqepcJbWnxnz8KhDBrd5faSVNB+8mKHbLRqA+YuUJOEQQ==
+  dependencies:
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+
+"@jupyterlab/statusbar@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-4.0.0-alpha.4.tgz#7dba882b9a7ae509eea4b59ba1756748fa4e5666"
+  integrity sha512-Qvhpzr7r5h/kzQzH58Nrs4VhRXgQy7jsHUpvp9hEZc5FYZQ7JyJCReQafogTZ7SIvubA2EkbsKfSkmWBa4U1AQ==
+  dependencies:
+    "@jupyterlab/apputils" "^4.0.0-alpha.4"
+    "@jupyterlab/codeeditor" "^4.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/widgets" "^1.30.0"
     csstype "~3.0.3"
     react "^17.0.1"
     typestyle "^2.0.4"
 
-"@jupyterlab/translation@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-3.2.2.tgz#92dcd1af65b2594f9577cea349a28efe2b5403a3"
-  integrity sha512-qqZtvXPAkR0PB3aiXhk7HGA0r1Evru2KHEU24y4Ss0oUBrXVT7/tqIIM3/1REEDhuQEWxxs2anruPjcN30yiPQ==
-  dependencies:
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@jupyterlab/services" "^6.2.2"
-    "@jupyterlab/statedb" "^3.2.2"
-    "@lumino/coreutils" "^1.5.3"
-
-"@jupyterlab/ui-components@^3.2.2":
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-3.2.2.tgz#5361a12201669343e21e58dba1398c02c012db0d"
-  integrity sha512-/rcUHij2VTewuo1pSBE5aEiMzb20RLzFwT78QHVX3mduT8d08pvYrCbu4+/CqLFyGVIHJLKXrIZST0tJfKyFBw==
-  dependencies:
-    "@blueprintjs/core" "^3.36.0"
-    "@blueprintjs/select" "^3.15.0"
-    "@jupyterlab/coreutils" "^5.2.2"
-    "@lumino/algorithm" "^1.3.3"
-    "@lumino/commands" "^1.12.0"
-    "@lumino/coreutils" "^1.5.3"
-    "@lumino/disposable" "^1.4.3"
-    "@lumino/signaling" "^1.4.3"
-    "@lumino/virtualdom" "^1.8.0"
-    "@lumino/widgets" "^1.19.0"
+"@jupyterlab/translation@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-4.0.0-alpha.4.tgz#7125ce27433e1dbb7118bb9dbdb1b6e7fa5400fb"
+  integrity sha512-L6jAJRNg421ZP8NHyelAB8ahYuAelIAIIBAZkfXgEiz/XPs9lbJh6J9GnA2wrN0+aSd5oAM691snYcz9Ii23mw==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/statedb" "^4.0.0-alpha.4"
+    "@lumino/coreutils" "^1.11.1"
+
+"@jupyterlab/ui-components@^4.0.0-alpha.19":
+  version "4.0.0-alpha.19"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-4.0.0-alpha.19.tgz#bab959a370b0902ea50964543e45af679b4b0bdb"
+  integrity sha512-wtr+S4kJmyxz8aQOk2DYFU6TYq5aqh+9Mx1GGHgck9W+ueCkWb+zfBfRNdfvLovJBlUx/sAALFPKj4e1Pqje5w==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/translation" "^4.0.0-alpha.4"
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.19.0"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/polling" "^1.9.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
     react "^17.0.1"
     react-dom "^17.0.1"
     typestyle "^2.0.4"
 
-"@lumino/algorithm@^1.3.3", "@lumino/algorithm@^1.9.1":
+"@jupyterlab/user@^4.0.0-alpha.4":
+  version "4.0.0-alpha.4"
+  resolved "https://registry.yarnpkg.com/@jupyterlab/user/-/user-4.0.0-alpha.4.tgz#d7869568c136a236fd98619b671f131c8004f153"
+  integrity sha512-puvChNYyI9PlJEl71Fw70137UdCStMH6jSrM2E7zjPMHm5SIoBt3zUV9E/DYpTR99RO/+JhGM54/j9sFpnqUkg==
+  dependencies:
+    "@jupyterlab/coreutils" "^6.0.0-alpha.4"
+    "@jupyterlab/services" "^7.0.0-alpha.4"
+    "@jupyterlab/ui-components" "^4.0.0-alpha.19"
+    "@lumino/coreutils" "^1.11.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+    "@lumino/widgets" "^1.30.0"
+    lib0 "^0.2.42"
+
+"@lumino/algorithm@^1.9.1":
   version "1.9.1"
   resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.9.1.tgz#a870598e031f5ee85e20e77ce7bfffbb0dffd7f5"
   integrity sha512-d0rj7IYRzYj6WbWSrbJbKvrfO4H0NUnXT2yjSWS/sCklpTpSp0IGmndK/X4r6gG+ev5lb5+wBg9ofUDBvoAlAw==
 
-"@lumino/application@^1.16.0":
-  version "1.27.0"
-  resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.27.0.tgz#4d17725ed209e04e840102ff67c892d87ffac2a2"
-  integrity sha512-QSS2UG0s7n0gM80FTThl3Xax6CBuVxxyr4ex0LMoiM94lYUMmXHXvEkRp5D/FXfke6hhn2295hYE6mUJdGnXcw==
+"@lumino/application@^1.27.0":
+  version "1.28.1"
+  resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.28.1.tgz#dfefe82ad414f51659e5931e3d07989364d7625e"
+  integrity sha512-BRRtWJ3mG2abZ9XwB/olGJWXeJjtflDGB/uW6ZsG53Pfu7ekyXKv0wUcijvW+HM9o3bMR+PwM7ELyXtHKkodig==
   dependencies:
-    "@lumino/commands" "^1.19.0"
-    "@lumino/coreutils" "^1.11.1"
-    "@lumino/widgets" "^1.30.0"
+    "@lumino/commands" "^1.20.0"
+    "@lumino/coreutils" "^1.12.0"
+    "@lumino/widgets" "^1.31.1"
 
 "@lumino/collections@^1.9.1":
   version "1.9.1"
@@ -971,7 +935,7 @@
   dependencies:
     "@lumino/algorithm" "^1.9.1"
 
-"@lumino/commands@^1.12.0", "@lumino/commands@^1.19.0":
+"@lumino/commands@^1.19.0":
   version "1.19.0"
   resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.19.0.tgz#9349c34b900653ac9d654e47831e7204e0c3476f"
   integrity sha512-DMX5TTvgmRAIhQpsSRgctYrnTNpIWgwmvmEjX37L+uKwUgZpBQUrprjfVblqv3kpwUugY2bQWy9Uza/P4muo1Q==
@@ -984,12 +948,30 @@
     "@lumino/signaling" "^1.10.1"
     "@lumino/virtualdom" "^1.14.1"
 
-"@lumino/coreutils@^1.11.1", "@lumino/coreutils@^1.5.3":
+"@lumino/commands@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.20.0.tgz#44c797134bb33946141a490c506420bd5f12ce0f"
+  integrity sha512-xyrzDIJ9QEbcbRAwmXrjb7A7/E5MDNbnLANKwqmFVNF+4LSnF62obdvY4On3Rify3HmfX0u16Xr9gfoWPX9wLQ==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/coreutils" "^1.12.0"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/keyboard" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+
+"@lumino/coreutils@^1.11.1":
   version "1.11.1"
   resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.11.1.tgz#6d89c6325d7adb5f2179dfe3660f0aec8f3c4546"
   integrity sha512-TbXeYnUChSMN8SmuOwT+bADS3kMhsVaQC0sZie0ZeGaLYxVqvd7NEDRZATDtjdw7QGHK0TwH5+XzuSdNkAXpFw==
 
-"@lumino/disposable@^1.10.1", "@lumino/disposable@^1.4.3":
+"@lumino/coreutils@^1.12.0":
+  version "1.12.0"
+  resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.12.0.tgz#fbdef760f736eaf2bd396a5c6fc3a68a4b449b15"
+  integrity sha512-DSglh4ylmLi820CNx9soJmDJCpUgymckdWeGWuN0Ash5g60oQvrQDfosVxEhzmNvtvXv45WZEqSBzDP6E5SEmQ==
+
+"@lumino/disposable@^1.10.1":
   version "1.10.1"
   resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.10.1.tgz#58fddc619cf89335802d168564b76ff5315d5a84"
   integrity sha512-mZQILc8sVGZC7mJNOGVmehDRO9/u3sIRdjZ+pCYjDgXKcINLd6HoPhZDquKCWiRBfHTL1B3tOHjnBhahBc2N/Q==
@@ -997,12 +979,12 @@
     "@lumino/algorithm" "^1.9.1"
     "@lumino/signaling" "^1.10.1"
 
-"@lumino/domutils@^1.2.3", "@lumino/domutils@^1.8.1":
+"@lumino/domutils@^1.8.1":
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.8.1.tgz#cf118e4eba90c3bf1e3edf7f19cce8846ec7875c"
   integrity sha512-QUVXwmDMIfcHC3yslhmyGK4HYBKaJ3xX5MTwDrjsSX7J7AZ4jwL4zfsxyF9ntdqEKraoJhLQ6BaUBY+Ur1cnYw==
 
-"@lumino/dragdrop@^1.13.1", "@lumino/dragdrop@^1.7.1":
+"@lumino/dragdrop@^1.13.1":
   version "1.13.1"
   resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.13.1.tgz#a8f8ae4262dcbba4ef85900f6081c90bd47df2b5"
   integrity sha512-78tvTLwUkGbxrVentok7J4M1y+QHml3+Z+N5urxpXZMqVaLCeLxXfQO5QbWKiQjRWuPSoXhCB/PNBrlZeqzK+A==
@@ -1010,12 +992,20 @@
     "@lumino/coreutils" "^1.11.1"
     "@lumino/disposable" "^1.10.1"
 
+"@lumino/dragdrop@^1.14.0":
+  version "1.14.0"
+  resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.14.0.tgz#48baacc190518d0cb563698daa0d5b976d6fe5c3"
+  integrity sha512-hO8sgF0BkpihKIP6UZgVJgiOEhz89i7Oxtp9FR9Jqw5alGocxSXt7q3cteMvqpcL6o2/s3CafZNRkVLRXmepNw==
+  dependencies:
+    "@lumino/coreutils" "^1.12.0"
+    "@lumino/disposable" "^1.10.1"
+
 "@lumino/keyboard@^1.8.1":
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.8.1.tgz#e7850e2fb973fbb4c6e737ca8d9307f2dc3eb74b"
   integrity sha512-8x0y2ZQtEvOsblpI2gfTgf+gboftusP+5aukKEsgNQtzFl28RezQXEOSVd8iD3K6+Q1MaPQF0OALYP0ASqBjBg==
 
-"@lumino/messaging@^1.10.1", "@lumino/messaging@^1.4.3":
+"@lumino/messaging@^1.10.1":
   version "1.10.1"
   resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.1.tgz#b29575cca46e2f23b84626b793ec8e2be46a53ba"
   integrity sha512-XZSdt9ih94rdeeLL0cryUw6HHD51D7TP8c+MFf+YRF6VKwOFB9RoajfQWadeqpmH+schTs3EsrFfA9KHduzC7w==
@@ -1023,35 +1013,35 @@
     "@lumino/algorithm" "^1.9.1"
     "@lumino/collections" "^1.9.1"
 
-"@lumino/polling@^1.3.3":
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.9.1.tgz#38d5f31b16ecdf95af0f48b9b67f0444b3de2df8"
-  integrity sha512-eZbkLcEJmx+1ABekXchiWbZGKuaEfBvCYb0swWHFrHYi48dtmVsJtyLMDmLGPDZC7cOxoQ3YoSCYiCKmgSIQCA==
+"@lumino/polling@^1.9.1":
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.10.0.tgz#94a92811edf4c2534c741510b30f500d8c16a395"
+  integrity sha512-ZNXObJQfugnS41Yrlr7yWcFiRK+xAGGOXO08JJ0Mctsg5mT30UEGFVWJY2AjZ6N5aQuLyGed/pMkBzLzrzt8OA==
   dependencies:
-    "@lumino/coreutils" "^1.11.1"
+    "@lumino/coreutils" "^1.12.0"
     "@lumino/disposable" "^1.10.1"
     "@lumino/signaling" "^1.10.1"
 
-"@lumino/properties@^1.2.3", "@lumino/properties@^1.8.1":
+"@lumino/properties@^1.8.1":
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/@lumino/properties/-/properties-1.8.1.tgz#47eb8516e92c987dcb2c404db83a258159efec3d"
   integrity sha512-O+CCcAqP64Di32DUZ4Jqq0DtUyE5RJREN5vbkgGZGu+WauJ/RYoiLDe1ubbAeSaHk71OrS60ZBV7QyC8ZaBVsA==
 
-"@lumino/signaling@^1.10.1", "@lumino/signaling@^1.4.3":
+"@lumino/signaling@^1.10.1":
   version "1.10.1"
   resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.10.1.tgz#c8a1cb5b661b6744ea817c99c758fdc897847c26"
   integrity sha512-GZVbX4cfk/ZqLwkemPD/NwqToaTL/6q7qdLpEhgkiPlaH1S5/V7fDpP7N1uFy4n3BDITId8cpYgH/Ds32Mdp3A==
   dependencies:
     "@lumino/algorithm" "^1.9.1"
 
-"@lumino/virtualdom@^1.14.1", "@lumino/virtualdom@^1.8.0":
+"@lumino/virtualdom@^1.14.1":
   version "1.14.1"
   resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.14.1.tgz#2551b146cbe87c48d23754f370c1331a60c9fe62"
   integrity sha512-imIJd/wtRkoR1onEiG5nxPEaIrf70nn4PgD/56ri3/Lo6AJEX2CusF6iIA27GVB8yl/7CxgTHUnzzCwTFPypcA==
   dependencies:
     "@lumino/algorithm" "^1.9.1"
 
-"@lumino/widgets@^1.19.0", "@lumino/widgets@^1.30.0":
+"@lumino/widgets@^1.30.0":
   version "1.30.0"
   resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.30.0.tgz#fdf96ffab9a018523b932afd5727317c3a360b4f"
   integrity sha512-0nYFoaZrUzJHa1uWvPGHtRjz9TItwQIK0m2hT1IS6fyPv9QKdDELjEMBGUgXHX5Do5h3TWrou0tgdviKZ0KNrg==
@@ -1068,6 +1058,23 @@
     "@lumino/signaling" "^1.10.1"
     "@lumino/virtualdom" "^1.14.1"
 
+"@lumino/widgets@^1.31.1":
+  version "1.31.1"
+  resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.31.1.tgz#c9c0b8c7940b412e55369fa277392bf86c6e4136"
+  integrity sha512-4RzAMqWwWHa5IiaQaeIbiZdIBm/FOg6ub0w8dG3km0k+zIQyA4LFq2dbB1w6SHT1d06N+L/ebYfgvMFswPENag==
+  dependencies:
+    "@lumino/algorithm" "^1.9.1"
+    "@lumino/commands" "^1.20.0"
+    "@lumino/coreutils" "^1.12.0"
+    "@lumino/disposable" "^1.10.1"
+    "@lumino/domutils" "^1.8.1"
+    "@lumino/dragdrop" "^1.14.0"
+    "@lumino/keyboard" "^1.8.1"
+    "@lumino/messaging" "^1.10.1"
+    "@lumino/properties" "^1.8.1"
+    "@lumino/signaling" "^1.10.1"
+    "@lumino/virtualdom" "^1.14.1"
+
 "@mapbox/node-pre-gyp@^1.0.0":
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.6.tgz#f859d601a210537e27530f363028cde56e0cf962"
@@ -1122,16 +1129,340 @@
     source-map-support "^0.4.18"
     stack-utils "^2.0.3"
 
+"@stdlib/array@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/array/-/array-0.0.12.tgz#12f40ab95bb36d424cdad991f29fc3cb491ee29e"
+  integrity sha512-nDksiuvRC1dSTHrf5yOGQmlRwAzSKV8MdFQwFSvLbZGGhi5Y4hExqea5HloLgNVouVs8lnAFi2oubSM4Mc7YAg==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/blas" "^0.0.x"
+    "@stdlib/complex" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/assert@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/assert/-/assert-0.0.12.tgz#1648c9016e5041291f55a6464abcc4069c5103ce"
+  integrity sha512-38FxFf+ZoQZbdc+m09UsWtaCmzd/2e7im0JOaaFYE7icmRfm+4KiE9BRvBT4tIn7ioLB2f9PsBicKjIsf+tY1w==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/complex" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/ndarray" "^0.0.x"
+    "@stdlib/number" "^0.0.x"
+    "@stdlib/os" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/regexp" "^0.0.x"
+    "@stdlib/streams" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/bigint@^0.0.x":
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/@stdlib/bigint/-/bigint-0.0.11.tgz#c416a1d727001c55f4897e6424124199d638f2fd"
+  integrity sha512-uz0aYDLABAYyqxaCSHYbUt0yPkXYUCR7TrVvHN+UUD3i8FZ02ZKcLO+faKisDyxKEoSFTNtn3Ro8Ir5ebOlVXQ==
+  dependencies:
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/blas@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/blas/-/blas-0.0.12.tgz#7e93e42b4621fc6903bf63264f045047333536c2"
+  integrity sha512-nWY749bWceuoWQ7gz977blCwR7lyQ/rsIXVO4b600h+NFpeA2i/ea7MYC680utIbeu2cnDWHdglBPoK535VAzA==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/number" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/buffer@^0.0.x":
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/@stdlib/buffer/-/buffer-0.0.11.tgz#6137b00845e6c905181cc7ebfae9f7e47c01b0ce"
+  integrity sha512-Jeie5eDDa1tVuRcuU+cBXI/oOXSmMxUUccZpqXzgYe0IO8QSNtNxv9mUTzJk/m5wH+lmLoDvNxzPpOH9TODjJg==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/cli@^0.0.x":
+  version "0.0.10"
+  resolved "https://registry.yarnpkg.com/@stdlib/cli/-/cli-0.0.10.tgz#28e2fbe6865d7f5cd15b7dc5846c99bd3b91674f"
+  integrity sha512-OITGaxG46kwK799+NuOd/+ccosJ9koVuQBC610DDJv0ZJf8mD7sbjGXrmue9C4EOh8MP7Vm/6HN14BojX8oTCg==
+  dependencies:
+    "@stdlib/utils" "^0.0.x"
+    minimist "^1.2.0"
+
+"@stdlib/complex@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/complex/-/complex-0.0.12.tgz#3afbc190cd0a9b37fc7c6e508c3aa9fda9106944"
+  integrity sha512-UbZBdaUxT2G+lsTIrVlRZwx2IRY6GXnVILggeejsIVxHSuK+oTyapfetcAv0FJFLP+Rrr+ZzrN4b9G3hBw6NHA==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/constants@^0.0.x":
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/@stdlib/constants/-/constants-0.0.11.tgz#78cd56d6c2982b30264843c3d75bde7125e90cd2"
+  integrity sha512-cWKy0L9hXHUQTvFzdPkTvZnn/5Pjv7H4UwY0WC1rLt+A5CxFDJKjvnIi9ypSzJS3CAiGl1ZaHCdadoqXhNdkUg==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/number" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/fs@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/fs/-/fs-0.0.12.tgz#662365fd5846a51f075724b4f2888ae88441b70d"
+  integrity sha512-zcDLbt39EEM3M3wJW6luChS53B8T+TMJkjs2526UpKJ71O0/0adR57cI7PfCpkMd33d05uM7GM+leEj4eks4Cw==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+    debug "^2.6.9"
+
+"@stdlib/math@^0.0.x":
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/@stdlib/math/-/math-0.0.11.tgz#eb6638bc03a20fbd6727dd5b977ee0170bda4649"
+  integrity sha512-qI78sR1QqGjHj8k/aAqkZ51Su2fyBvaR/jMKQqcB/ML8bpYpf+QGlGvTty5Qdru/wpqds4kVFOVbWGcNFIV2+Q==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/ndarray" "^0.0.x"
+    "@stdlib/number" "^0.0.x"
+    "@stdlib/strided" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+    debug "^2.6.9"
+
+"@stdlib/ndarray@^0.0.x":
+  version "0.0.13"
+  resolved "https://registry.yarnpkg.com/@stdlib/ndarray/-/ndarray-0.0.13.tgz#2e8fc645e10f56a645a0ab81598808c0e8f43b82"
+  integrity sha512-Z+U9KJP4U2HWrLtuAXSPvhNetAdqaNLMcliR6S/fz+VPlFDeymRK7omRFMgVQ+1zcAvIgKZGJxpLC3vjiPUYEw==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/bigint" "^0.0.x"
+    "@stdlib/buffer" "^0.0.x"
+    "@stdlib/complex" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/number" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/nlp@^0.0.x":
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/@stdlib/nlp/-/nlp-0.0.11.tgz#532ec0f7267b8d639e4c20c6de864e8de8a09054"
+  integrity sha512-D9avYWANm0Db2W7RpzdSdi5GxRYALGAqUrNnRnnKIO6sMEfr/DvONoAbWruda4QyvSC+0MJNwcEn7+PHhRwYhw==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/random" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/number@^0.0.x":
+  version "0.0.10"
+  resolved "https://registry.yarnpkg.com/@stdlib/number/-/number-0.0.10.tgz#4030ad8fc3fac19a9afb415c443cee6deea0e65c"
+  integrity sha512-RyfoP9MlnX4kccvg8qv7vYQPbLdzfS1Mnp/prGOoWhvMG3pyBwFAan34kwFb5IS/zHC3W5EmrgXCV2QWyLg/Kg==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/os" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/os@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/os/-/os-0.0.12.tgz#08bbf013c62a7153099fa9cbac086ca1349a4677"
+  integrity sha512-O7lklZ/9XEzoCmYvzjPh7jrFWkbpOSHGI71ve3dkSvBy5tyiSL3TtivfKsIC+9ZxuEJZ3d3lIjc9e+yz4HVbqQ==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/process@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/process/-/process-0.0.12.tgz#123325079d89a32f4212f72fb694f8fe3614cf18"
+  integrity sha512-P0X0TMvkissBE1Wr877Avi2/AxmP7X5Toa6GatHbpJdDg6jQmN4SgPd+NZNp98YtZUyk478c8XSIzMr1krQ20g==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/buffer" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/streams" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/random@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/random/-/random-0.0.12.tgz#e819c3abd602ed5559ba800dba751e49c633ff85"
+  integrity sha512-c5yND4Ahnm9Jx0I+jsKhn4Yrz10D53ALSrIe3PG1qIz3kNFcIPnmvCuNGd+3V4ch4Mbrez55Y8z/ZC5RJh4vJQ==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/blas" "^0.0.x"
+    "@stdlib/buffer" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/stats" "^0.0.x"
+    "@stdlib/streams" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+    debug "^2.6.9"
+    readable-stream "^2.1.4"
+
+"@stdlib/regexp@^0.0.x":
+  version "0.0.13"
+  resolved "https://registry.yarnpkg.com/@stdlib/regexp/-/regexp-0.0.13.tgz#80b98361dc7a441b47bc3fa964bb0c826759e971"
+  integrity sha512-3JT5ZIoq/1nXY+dY+QtkU8/m7oWDeekyItEEXMx9c/AOf0ph8fmvTUGMDNfUq0RetcznFe3b66kFz6Zt4XHviA==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/stats@^0.0.x", "@stdlib/stats@~0.0.13":
+  version "0.0.13"
+  resolved "https://registry.yarnpkg.com/@stdlib/stats/-/stats-0.0.13.tgz#87c973f385379d794707c7b5196a173dba8b07e1"
+  integrity sha512-hm+t32dKbx/L7+7WlQ1o4NDEzV0J4QSnwFBCsIMIAO8+VPxTZ4FxyNERl4oKlS3hZZe4AVKjoOVhBDtgEWrS4g==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/blas" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/ndarray" "^0.0.x"
+    "@stdlib/random" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/streams@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/streams/-/streams-0.0.12.tgz#07f5ceae5852590afad8e1cb7ce94174becc8739"
+  integrity sha512-YLUlXwjJNknHp92IkJUdvn5jEQjDckpawKhDLLCoxyh3h5V+w/8+61SH7TMTfKx5lBxKJ8vvtchZh90mIJOAjQ==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/buffer" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+    debug "^2.6.9"
+    readable-stream "^2.1.4"
+
+"@stdlib/strided@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/strided/-/strided-0.0.12.tgz#86ac48e660cb7f64a45cf07e80cbbfe58be21ae1"
+  integrity sha512-1NINP+Y7IJht34iri/bYLY7TVxrip51f6Z3qWxGHUCH33kvk5H5QqV+RsmFEGbbyoGtdeHrT2O+xA+7R2e3SNg==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/ndarray" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/string@^0.0.x":
+  version "0.0.13"
+  resolved "https://registry.yarnpkg.com/@stdlib/string/-/string-0.0.13.tgz#37457ca49e8d1dff0e523c68f5673c655c79eb2d"
+  integrity sha512-nGMHi7Qk9LBW0+Y+e3pSePQEBqyWH7+7DjFR1APcbsYccJE0p4aCaQdhPhx9Tp7j3uRGBmqPFek8wpcvIuC+CQ==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/nlp" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/regexp" "^0.0.x"
+    "@stdlib/streams" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/symbol@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/symbol/-/symbol-0.0.12.tgz#b9f396b0bf269c2985bb7fe99810a8e26d7288c3"
+  integrity sha512-2IDhpzWVGeLHgsvIsX12RXvf78r7xBkc4QLoRUv3k7Cp61BisR1Ym1p0Tq9PbxT8fknlvLToh9n5RpmESi2d4w==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/time@^0.0.x":
+  version "0.0.14"
+  resolved "https://registry.yarnpkg.com/@stdlib/time/-/time-0.0.14.tgz#ea6daa438b1d3b019b99f5091117ee4bcef55d60"
+  integrity sha512-1gMFCQTabMVIgww+k4g8HHHIhyy1tIlvwT8mC0BHW7Q7TzDAgobwL0bvor+lwvCb5LlDAvNQEpaRgVT99QWGeQ==
+  dependencies:
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/utils" "^0.0.x"
+
+"@stdlib/types@^0.0.x":
+  version "0.0.13"
+  resolved "https://registry.yarnpkg.com/@stdlib/types/-/types-0.0.13.tgz#4cf4666286294a48c589a37c2b0b48c9076128f9"
+  integrity sha512-8aPkDtaJM/XZENqhoj7BYuwENLGyxz1xfLIcf2zct7kLZMi0rODzks3n65LEMIR9Rh3rFDXlwc35XvzEkTpmZQ==
+
+"@stdlib/utils@^0.0.x":
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/@stdlib/utils/-/utils-0.0.12.tgz#670de5a7b253f04f11a4cba38f790e82393bcb46"
+  integrity sha512-+JhFpl6l7RSq/xGnbWRQ5dAL90h9ONj8MViqlb7teBZFtePZLMwoRA1wssypFcJ8SFMRWQn7lPmpYVUkGwRSOg==
+  dependencies:
+    "@stdlib/array" "^0.0.x"
+    "@stdlib/assert" "^0.0.x"
+    "@stdlib/blas" "^0.0.x"
+    "@stdlib/buffer" "^0.0.x"
+    "@stdlib/cli" "^0.0.x"
+    "@stdlib/constants" "^0.0.x"
+    "@stdlib/fs" "^0.0.x"
+    "@stdlib/math" "^0.0.x"
+    "@stdlib/os" "^0.0.x"
+    "@stdlib/process" "^0.0.x"
+    "@stdlib/random" "^0.0.x"
+    "@stdlib/regexp" "^0.0.x"
+    "@stdlib/streams" "^0.0.x"
+    "@stdlib/string" "^0.0.x"
+    "@stdlib/symbol" "^0.0.x"
+    "@stdlib/time" "^0.0.x"
+    "@stdlib/types" "^0.0.x"
+    debug "^2.6.9"
+
 "@types/clone@~2.1.1":
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/@types/clone/-/clone-2.1.1.tgz#9b880d0ce9b1f209b5e0bd6d9caa38209db34024"
   integrity sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg==
 
-"@types/dom4@^2.0.1":
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/@types/dom4/-/dom4-2.0.2.tgz#6495303f049689ce936ed328a3e5ede9c51408ee"
-  integrity sha512-Rt4IC1T7xkCWa0OG1oSsPa0iqnxlDeQqKXZAHrQGLb7wFGncWm85MaxKUjAGejOrUynOgWlFi4c6S6IyJwoK4g==
-
 "@types/estree@^0.0.50":
   version "0.0.50"
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
@@ -1373,7 +1704,7 @@ buffer@^5.5.0, buffer@^5.6.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-call-bind@^1.0.0, call-bind@^1.0.2:
+call-bind@^1.0.0:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
   integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
@@ -1417,11 +1748,6 @@ chownr@^2.0.0:
   resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
   integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
 
-classnames@^2.2:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
-  integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
-
 cliui@^7.0.2:
   version "7.0.4"
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
@@ -1502,6 +1828,11 @@ convert-source-map@^1.7.0:
   dependencies:
     safe-buffer "~5.1.1"
 
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
 corser@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
@@ -1647,6 +1978,13 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
   dependencies:
     ms "2.1.2"
 
+debug@^2.6.9:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  dependencies:
+    ms "2.0.0"
+
 debug@^3.1.1:
   version "3.2.7"
   resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
@@ -1661,18 +1999,6 @@ decompress-response@^4.2.0:
   dependencies:
     mimic-response "^2.0.0"
 
-deep-equal@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
-  integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
-  dependencies:
-    is-arguments "^1.0.4"
-    is-date-object "^1.0.1"
-    is-regex "^1.0.4"
-    object-is "^1.0.1"
-    object-keys "^1.1.1"
-    regexp.prototype.flags "^1.2.0"
-
 deepmerge@^4.2.2:
   version "4.2.2"
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
@@ -1718,13 +2044,6 @@ diff-sequences@^27.0.6:
   resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723"
   integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==
 
-dom-helpers@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
-  integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==
-  dependencies:
-    "@babel/runtime" "^7.1.2"
-
 dom-serializer@^1.0.1:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
@@ -1734,11 +2053,6 @@ dom-serializer@^1.0.1:
     domhandler "^4.2.0"
     entities "^2.0.0"
 
-dom4@^2.1.5:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/dom4/-/dom4-2.1.6.tgz#c90df07134aa0dbd81ed4d6ba1237b36fc164770"
-  integrity sha512-JkCVGnN4ofKGbjf5Uvc8mmxaATIErKQKSgACdBXpsQ3fY6DlIpAyWfiBSrGkttATssbDCp3psiAKWXk5gmjycA==
-
 domelementtype@^2.0.1, domelementtype@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
@@ -1971,11 +2285,6 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
   integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
 
-gud@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
-  integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
-
 has-flag@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -1986,18 +2295,11 @@ has-flag@^4.0.0:
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-has-symbols@^1.0.1, has-symbols@^1.0.2:
+has-symbols@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
   integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
 
-has-tostringtag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
-  integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
-  dependencies:
-    has-symbols "^1.0.2"
-
 has-unicode@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -2085,7 +2387,7 @@ inflight@^1.0.4:
     once "^1.3.0"
     wrappy "1"
 
-inherits@2, inherits@^2.0.3, inherits@^2.0.4:
+inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -2105,14 +2407,6 @@ ip@^1.1.5:
   resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
   integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
 
-is-arguments@^1.0.4:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
-  integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
-  dependencies:
-    call-bind "^1.0.2"
-    has-tostringtag "^1.0.0"
-
 is-core-module@^2.2.0:
   version "2.8.0"
   resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
@@ -2120,13 +2414,6 @@ is-core-module@^2.2.0:
   dependencies:
     has "^1.0.3"
 
-is-date-object@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
-  integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
-  dependencies:
-    has-tostringtag "^1.0.0"
-
 is-docker@^2.0.0, is-docker@^2.1.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
@@ -2152,14 +2439,6 @@ is-plain-object@^5.0.0:
   resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
   integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
 
-is-regex@^1.0.4:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
-  integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
-  dependencies:
-    call-bind "^1.0.2"
-    has-tostringtag "^1.0.0"
-
 is-wsl@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
@@ -2167,6 +2446,11 @@ is-wsl@^2.2.0:
   dependencies:
     is-docker "^2.0.0"
 
+isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
 isomorphic.js@^0.2.4:
   version "0.2.4"
   resolved "https://registry.yarnpkg.com/isomorphic.js/-/isomorphic.js-0.2.4.tgz#24ca374163ae54a7ce3b86ce63b701b91aa84969"
@@ -2268,11 +2552,6 @@ jsonfile@^6.0.1:
   optionalDependencies:
     graceful-fs "^4.1.6"
 
-klona@^2.0.3:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
-  integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
-
 level-codec@^9.0.0:
   version "9.0.2"
   resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc"
@@ -2355,13 +2634,20 @@ levelup@^4.3.2:
     level-supports "~1.0.0"
     xtend "~4.0.0"
 
-lib0@^0.2.31, lib0@^0.2.41, lib0@^0.2.42:
+lib0@^0.2.31, lib0@^0.2.42:
   version "0.2.42"
   resolved "https://registry.yarnpkg.com/lib0/-/lib0-0.2.42.tgz#6d8bf1fb8205dec37a953c521c5ee403fd8769b0"
   integrity sha512-8BNM4MiokEKzMvSxTOC3gnCBisJH+jL67CnSnqzHv3jli3pUvGC8wz+0DQ2YvGr4wVQdb2R2uNNPw9LEpVvJ4Q==
   dependencies:
     isomorphic.js "^0.2.4"
 
+lib0@^0.2.43:
+  version "0.2.43"
+  resolved "https://registry.yarnpkg.com/lib0/-/lib0-0.2.43.tgz#1c2ed1fb2e9fe136e92abef7ca56875f2ee66b07"
+  integrity sha512-MJ1KLoz5p3gljIUBfdjjNuL/wlWHHK6+DrcIRhzSRLvtAu1XNdRtRGATYM51KSTI0P2nxJZFQM8rwCH6ga9KUw==
+  dependencies:
+    isomorphic.js "^0.2.4"
+
 lodash.debounce@^4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -2377,7 +2663,7 @@ lodash@^4.17.14:
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
 
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.1.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
   integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -2438,7 +2724,7 @@ minimatch@^3.0.3, minimatch@^3.0.4:
   dependencies:
     brace-expansion "^1.1.7"
 
-minimist@^1.2.5, minimist@~1.2.0:
+minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.0:
   version "1.2.5"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
   integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -2475,6 +2761,11 @@ moment@^2.24.0:
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
   integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
 
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
 ms@2.1.2:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -2529,11 +2820,6 @@ nopt@^5.0.0:
   dependencies:
     abbrev "1"
 
-normalize.css@^8.0.1:
-  version "8.0.1"
-  resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
-  integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
-
 npmlog@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
@@ -2554,14 +2840,6 @@ object-inspect@^1.9.0:
   resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
   integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==
 
-object-is@^1.0.1:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
-  integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
-  dependencies:
-    call-bind "^1.0.2"
-    define-properties "^1.1.3"
-
 object-keys@^1.0.12, object-keys@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -2687,11 +2965,6 @@ pngjs@^5.0.0:
   resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
   integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
 
-popper.js@^1.14.4, popper.js@^1.16.1:
-  version "1.16.1"
-  resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
-  integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
-
 portfinder@^1.0.25:
   version "1.0.28"
   resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
@@ -2701,14 +2974,14 @@ portfinder@^1.0.25:
     debug "^3.1.1"
     mkdirp "^0.5.5"
 
-postcss@^8.0.2:
-  version "8.3.11"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858"
-  integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==
+postcss@^8.3.11:
+  version "8.4.5"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95"
+  integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
   dependencies:
     nanoid "^3.1.30"
     picocolors "^1.0.0"
-    source-map-js "^0.6.2"
+    source-map-js "^1.0.1"
 
 pretty-format@^27.2.5, pretty-format@^27.3.1:
   version "27.3.1"
@@ -2720,6 +2993,11 @@ pretty-format@^27.2.5, pretty-format@^27.3.1:
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
 
+process-nextick-args@~2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
 process@^0.11.1:
   version "0.11.10"
   resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
@@ -2730,15 +3008,6 @@ progress@^2.0.3:
   resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
   integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
 
-prop-types@^15.6.1, prop-types@^15.6.2:
-  version "15.7.2"
-  resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
-  integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
-  dependencies:
-    loose-envify "^1.4.0"
-    object-assign "^4.1.1"
-    react-is "^16.8.1"
-
 proper-lockfile@^4.1.1:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f"
@@ -2802,44 +3071,11 @@ react-dom@^17.0.1:
     object-assign "^4.1.1"
     scheduler "^0.20.2"
 
-react-is@^16.8.1:
-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
-  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
 react-is@^17.0.1:
   version "17.0.2"
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
   integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
 
-react-lifecycles-compat@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
-  integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-
-react-popper@^1.3.7:
-  version "1.3.11"
-  resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd"
-  integrity sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==
-  dependencies:
-    "@babel/runtime" "^7.1.2"
-    "@hypnosphi/create-react-context" "^0.3.1"
-    deep-equal "^1.1.1"
-    popper.js "^1.14.4"
-    prop-types "^15.6.1"
-    typed-styles "^0.0.7"
-    warning "^4.0.2"
-
-react-transition-group@^2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
-  integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==
-  dependencies:
-    dom-helpers "^3.4.0"
-    loose-envify "^1.4.0"
-    prop-types "^15.6.2"
-    react-lifecycles-compat "^3.0.4"
-
 react@^17.0.1:
   version "17.0.2"
   resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
@@ -2848,6 +3084,19 @@ react@^17.0.1:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
 
+readable-stream@^2.1.4:
+  version "2.3.7"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+  integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~2.0.0"
+    safe-buffer "~5.1.1"
+    string_decoder "~1.1.1"
+    util-deprecate "~1.0.1"
+
 readable-stream@^3.4.0, readable-stream@^3.6.0:
   version "3.6.0"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
@@ -2857,19 +3106,6 @@ readable-stream@^3.4.0, readable-stream@^3.6.0:
     string_decoder "^1.1.1"
     util-deprecate "^1.0.1"
 
-regenerator-runtime@^0.13.4:
-  version "0.13.9"
-  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
-  integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-
-regexp.prototype.flags@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
-  integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
-  dependencies:
-    call-bind "^1.0.2"
-    define-properties "^1.1.3"
-
 require-directory@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -2880,11 +3116,6 @@ requires-port@^1.0.0:
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
   integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
 
-resize-observer-polyfill@^1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
-  integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
-
 resolve@^1.1.10:
   version "1.20.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
@@ -2910,7 +3141,7 @@ rw@1:
   resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
   integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
 
-safe-buffer@~5.1.1:
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
@@ -2925,18 +3156,17 @@ safe-buffer@~5.2.0:
   resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
   integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
-sanitize-html@~2.3.3:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.3.3.tgz#3db382c9a621cce4c46d90f10c64f1e9da9e8353"
-  integrity sha512-DCFXPt7Di0c6JUnlT90eIgrjs6TsJl/8HYU3KLdmrVclFN4O0heTcVbJiMa23OKVr6aR051XYtsgd8EWwEBwUA==
+sanitize-html@~2.5.3:
+  version "2.5.3"
+  resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.5.3.tgz#91aa3dc760b072cdf92f9c6973747569b1ba1cd8"
+  integrity sha512-DGATXd1fs/Rm287/i5FBKVYSBBUL0iAaztOA1/RFhEs4yqo39/X52i/q/CwsfCUG5cilmXSBmnQmyWfnKhBlOg==
   dependencies:
     deepmerge "^4.2.2"
     escape-string-regexp "^4.0.0"
     htmlparser2 "^6.0.0"
     is-plain-object "^5.0.0"
-    klona "^2.0.3"
     parse-srcset "^1.0.2"
-    postcss "^8.0.2"
+    postcss "^8.3.11"
 
 scheduler@^0.20.2:
   version "0.20.2"
@@ -3023,10 +3253,10 @@ socks@^2.6.1:
     ip "^1.1.5"
     smart-buffer "^4.1.0"
 
-source-map-js@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
-  integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
+source-map-js@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
 
 source-map-support@^0.4.18:
   version "0.4.18"
@@ -3071,6 +3301,13 @@ string_decoder@^1.1.1:
   dependencies:
     safe-buffer "~5.2.0"
 
+string_decoder@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  dependencies:
+    safe-buffer "~5.1.0"
+
 "strip-ansi@^3.0.1 || ^4.0.0", strip-ansi@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
@@ -3140,21 +3377,11 @@ tr46@~0.0.3:
   resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
   integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
 
-tslib@~1.13.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
-  integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
-
 tslib@~2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
   integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
 
-typed-styles@^0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9"
-  integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==
-
 typestyle@^2.0.4:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/typestyle/-/typestyle-2.1.0.tgz#7c5cc567de72cd8bfb686813150b92791aaa7636"
@@ -3187,10 +3414,10 @@ url-join@^2.0.5:
   resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728"
   integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=
 
-url-parse@~1.5.1:
-  version "1.5.3"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
-  integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==
+url-parse@~1.5.4:
+  version "1.5.4"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd"
+  integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==
   dependencies:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
@@ -3203,7 +3430,7 @@ url@^0.11.0:
     punycode "1.3.2"
     querystring "0.2.0"
 
-util-deprecate@^1.0.1:
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
   integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
@@ -3562,13 +3789,6 @@ vega@^5.20.0:
     vega-voronoi "~4.1.5"
     vega-wordcloud "~4.1.3"
 
-warning@^4.0.2, warning@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
-  integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
-  dependencies:
-    loose-envify "^1.0.0"
-
 webidl-conversions@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
@@ -3620,12 +3840,12 @@ xtend@^4.0.2, xtend@~4.0.0:
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
   integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
 
-y-codemirror@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/y-codemirror/-/y-codemirror-2.1.1.tgz#e841fc3001b719d7fa457dd7a9748205e2874fe9"
-  integrity sha512-QXHaOkvEJs3pB82dkW1aGfWUd4S1RA1ORtXWtprHClbqBiCOY19VKiojScSTyl8rTaOZ/zblEq+SNH2sd3Umiw==
+y-codemirror@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/y-codemirror/-/y-codemirror-3.0.1.tgz#d8a4e43cf46b5b557e0f03b7bbb65773ff436278"
+  integrity sha512-TsLSoouAZxkxOKbmTj7qdwZNS0lZMVqIdp7/j9EgUUqYj0remZYDGl6VBABrmp9UX1QvX6RoXXqzbNhftgfCbA==
   dependencies:
-    lib0 "^0.2.41"
+    lib0 "^0.2.42"
 
 y-leveldb@^0.1.0:
   version "0.1.0"
@@ -3697,9 +3917,9 @@ yazl@^2.5.1:
   dependencies:
     buffer-crc32 "~0.2.3"
 
-yjs@^13.5.6:
-  version "13.5.18"
-  resolved "https://registry.yarnpkg.com/yjs/-/yjs-13.5.18.tgz#4151f381b170726b69be26296fd84b2efdc82e6e"
-  integrity sha512-6LcTL8gRe12fy89OvXG6Xs/uhsl7iwE4Wh106H1NItkcqcUaY2waTje1NVWmOZNXHXWVAzdf/fBQqB4Phq9sGA==
+yjs@^13.5.17:
+  version "13.5.24"
+  resolved "https://registry.yarnpkg.com/yjs/-/yjs-13.5.24.tgz#6d97c186897e0aaffd0d7eac1d6af6305ea242b3"
+  integrity sha512-f6DqRfnhjihj4+iQv5zjhsYqOpkcM9SGroqluq6J6eEUTq7ipbgECKf+h5W4P+LU4fKawWFdQH8mxgJ7baZPJw==
   dependencies:
-    lib0 "^0.2.42"
+    lib0 "^0.2.43"