From 55b20a877877f3c5778dc1109756576dd6e88226 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Wed, 2 Mar 2022 22:09:21 -0300 Subject: [PATCH 01/11] Prevent .deb packages from being opened with archive manager. --- electron/index.js | 26 +- package.json | 1 + static/app-strings.json | 3 +- ui/constants/action_types.js | 2 + ui/index.jsx | 5 + ui/modal/modalDownloading/index.js | 19 +- ui/modal/modalDownloading/view.jsx | 25 +- ui/redux/actions/app.js | 9 + ui/redux/reducers/app.js | 14 + ui/redux/selectors/app.js | 4 + yarn.lock | 1964 +++++++++++++++------------- 11 files changed, 1127 insertions(+), 945 deletions(-) diff --git a/electron/index.js b/electron/index.js index db24617d7..68ee2c946 100644 --- a/electron/index.js +++ b/electron/index.js @@ -22,6 +22,7 @@ import { diskSpaceLinux, diskSpaceWindows, diskSpaceMac } from '../ui/util/disks const { download } = require('electron-dl'); const remote = require('@electron/remote/main'); const os = require('os'); +const sudo = require('sudo-prompt'); remote.initialize(); const filePath = path.join(process.resourcesPath, 'static', 'upgradeDisabled'); @@ -348,16 +349,33 @@ ipcMain.on('download-upgrade', async (event, params) => { }); ipcMain.on('upgrade', (event, installerPath) => { + // what to do if no shutdown in a long time? + console.log('Update downloaded to', installerPath); + console.log('The app will close and you will be prompted to install the latest version of LBRY.'); + console.log('After the install is complete, please reopen the app.'); + + // Prevent .deb package from opening with archive manager (Ubuntu >= 20) + if (process.platform === 'linux' && !process.env.APPIMAGE) { + sudo.exec(`dpkg -i ${installerPath}`, { name: app.name }, (err, stdout, stderr) => { + if (err || stderr) { + rendererWindow.webContents.send('upgrade-installing-error'); + return; + } + + // Re-launch the application when the installation finishes. + app.relaunch(); + app.quit(); + }); + + return; + } + app.on('quit', () => { console.log('Launching upgrade installer at', installerPath); // This gets triggered called after *all* other quit-related events, so // we'll only get here if we're fully prepared and quitting for real. shell.openPath(installerPath); }); - // what to do if no shutdown in a long time? - console.log('Update downloaded to', installerPath); - console.log('The app will close and you will be prompted to install the latest version of LBRY.'); - console.log('After the install is complete, please reopen the app.'); app.quit(); }); diff --git a/package.json b/package.json index 0738592f5..5b647f193 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "remove-markdown": "^0.3.0", "rss": "^1.2.2", "source-map-explorer": "^2.5.2", + "sudo-prompt": "^9.2.1", "tempy": "^0.6.0", "videojs-logo": "^2.1.4" }, diff --git a/static/app-strings.json b/static/app-strings.json index 61bdbd0bd..4a9f60b5a 100644 --- a/static/app-strings.json +++ b/static/app-strings.json @@ -2312,7 +2312,8 @@ "Free --[legend, unused disk space]--": "Free", "Top content in %language%": "Top content in %language%", "Apply": "Apply", - "24-hour clock": "24-hour clock", "Disable background": "Disable background", + "Installing, please wait...": "Installing, please wait...", + "There was an error during installation. Please, try again.": "There was an error during installation. Please, try again.", "--end--": "--end--" } diff --git a/ui/constants/action_types.js b/ui/constants/action_types.js index f3baef23b..37954c7e2 100644 --- a/ui/constants/action_types.js +++ b/ui/constants/action_types.js @@ -45,6 +45,8 @@ export const DOWNLOAD_UPGRADE = 'DOWNLOAD_UPGRADE'; export const UPGRADE_DOWNLOAD_STARTED = 'UPGRADE_DOWNLOAD_STARTED'; export const UPGRADE_DOWNLOAD_COMPLETED = 'UPGRADE_DOWNLOAD_COMPLETED'; export const UPGRADE_DOWNLOAD_PROGRESSED = 'UPGRADE_DOWNLOAD_PROGRESSED'; +export const UPGRADE_INIT_INSTALL = 'UPGRADE_INIT_INSTALL'; +export const UPGRADE_INSTALL_ERROR = 'UPGRADE_INSTALL_ERROR'; export const CHECK_UPGRADE_AVAILABLE = 'CHECK_UPGRADE_AVAILABLE'; export const CHECK_UPGRADE_START = 'CHECK_UPGRADE_START'; export const CHECK_UPGRADE_SUCCESS = 'CHECK_UPGRADE_SUCCESS'; diff --git a/ui/index.jsx b/ui/index.jsx index 1b739aad9..07bed7a94 100644 --- a/ui/index.jsx +++ b/ui/index.jsx @@ -21,6 +21,7 @@ import { doToggle3PAnalytics, doUpdateDownloadProgress, doNotifyUpdateAvailable, + doShowUpgradeInstallationError, } from 'redux/actions/app'; import { isURIValid } from 'util/lbryURI'; import { setSearchApi } from 'redux/actions/search'; @@ -132,6 +133,10 @@ autoUpdater.on('update-available', (e) => { app.store.dispatch(doNotifyUpdateAvailable(e)); }); +ipcRenderer.on('upgrade-installing-error', () => { + app.store.dispatch(doShowUpgradeInstallationError()); +}); + ipcRenderer.on('download-progress-update', (e, p) => { app.store.dispatch(doUpdateDownloadProgress(Math.round(p.percent * 100))); }); diff --git a/ui/modal/modalDownloading/index.js b/ui/modal/modalDownloading/index.js index 1a06ee04d..d9bc96d5e 100644 --- a/ui/modal/modalDownloading/index.js +++ b/ui/modal/modalDownloading/index.js @@ -1,15 +1,23 @@ import { connect } from 'react-redux'; import { doStartUpgrade, doCancelUpgrade, doHideModal } from 'redux/actions/app'; -import { selectDownloadProgress, selectDownloadComplete, selectUpgradeDownloadPath } from 'redux/selectors/app'; +import { + selectDownloadProgress, + selectDownloadComplete, + selectUpgradeDownloadPath, + selectUpgradeInitialized, + selectUpgradeFailedInstallation, +} from 'redux/selectors/app'; import ModalDownloading from './view'; -const select = state => ({ +const select = (state) => ({ downloadProgress: selectDownloadProgress(state), downloadComplete: selectDownloadComplete(state), downloadItem: selectUpgradeDownloadPath(state), + upgradeInitialized: selectUpgradeInitialized(state), + failedInstallation: selectUpgradeFailedInstallation(state), }); -const perform = dispatch => ({ +const perform = (dispatch) => ({ startUpgrade: () => dispatch(doStartUpgrade()), cancelUpgrade: () => { dispatch(doHideModal()); @@ -17,7 +25,4 @@ const perform = dispatch => ({ }, }); -export default connect( - select, - perform -)(ModalDownloading); +export default connect(select, perform)(ModalDownloading); diff --git a/ui/modal/modalDownloading/view.jsx b/ui/modal/modalDownloading/view.jsx index c14ddab27..1b4eb63a5 100644 --- a/ui/modal/modalDownloading/view.jsx +++ b/ui/modal/modalDownloading/view.jsx @@ -10,11 +10,21 @@ type Props = { downloadItem: string, startUpgrade: () => void, cancelUpgrade: () => void, + upgradeInitialized: boolean, + failedInstallation: boolean, }; class ModalDownloading extends React.PureComponent { render() { - const { downloadProgress, downloadComplete, downloadItem, startUpgrade, cancelUpgrade } = this.props; + const { + downloadProgress, + downloadComplete, + downloadItem, + startUpgrade, + cancelUpgrade, + upgradeInitialized, + failedInstallation, + } = this.props; return ( @@ -40,9 +50,18 @@ class ModalDownloading extends React.PureComponent { ) : null} + {failedInstallation &&

{__('There was an error during installation. Please, try again.')}

} +
- {downloadComplete ?
); diff --git a/ui/redux/actions/app.js b/ui/redux/actions/app.js index 44e3941f4..a431a7352 100644 --- a/ui/redux/actions/app.js +++ b/ui/redux/actions/app.js @@ -85,6 +85,15 @@ export function doStartUpgrade() { const upgradeDownloadPath = selectUpgradeDownloadPath(state); ipcRenderer.send('upgrade', upgradeDownloadPath); + dispatch({ + type: ACTIONS.UPGRADE_INIT_INSTALL, + }); + }; +} + +export function doShowUpgradeInstallationError() { + return { + type: ACTIONS.UPGRADE_INSTALL_ERROR, }; } diff --git a/ui/redux/reducers/app.js b/ui/redux/reducers/app.js index 6fbdde650..5426e56b8 100644 --- a/ui/redux/reducers/app.js +++ b/ui/redux/reducers/app.js @@ -67,6 +67,8 @@ const defaultState: AppState = { modalsAllowed: true, hasClickedComment: false, downloadProgress: undefined, + upgradeInitialized: false, + upgradeFailedInstallation: false, upgradeDownloading: undefined, upgradeDownloadComplete: undefined, checkUpgradeTimer: undefined, @@ -162,6 +164,18 @@ reducers[ACTIONS.UPGRADE_DOWNLOAD_STARTED] = (state) => upgradeDownloading: true, }); +reducers[ACTIONS.UPGRADE_INIT_INSTALL] = (state) => + Object.assign({}, state, { + upgradeInitialized: true, + upgradeFailedInstallation: false, + }); + +reducers[ACTIONS.UPGRADE_INSTALL_ERROR] = (state) => + Object.assign({}, state, { + upgradeInitialized: false, + upgradeFailedInstallation: true, + }); + reducers[ACTIONS.CHANGE_MODALS_ALLOWED] = (state, action) => Object.assign({}, state, { modalsAllowed: action.data.modalsAllowed, diff --git a/ui/redux/selectors/app.js b/ui/redux/selectors/app.js index e049b8337..c2e65de7d 100644 --- a/ui/redux/selectors/app.js +++ b/ui/redux/selectors/app.js @@ -25,6 +25,10 @@ export const selectRemoteVersion = createSelector(selectState, (state) => state. export const selectIsUpgradeAvailable = createSelector(selectState, (state) => state.isUpgradeAvailable); +export const selectUpgradeInitialized = createSelector(selectState, (state) => state.upgradeInitialized); + +export const selectUpgradeFailedInstallation = createSelector(selectState, (state) => state.upgradeFailedInstallation); + export const selectUpgradeFilename = createSelector(selectPlatform, selectRemoteVersion, (platform, version) => { switch (platform) { case 'darwin': diff --git a/yarn.lock b/yarn.lock index d70b23c50..fa9e9580f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,11 +22,12 @@ __metadata: linkType: hard "@ampproject/remapping@npm:^2.1.0": - version: 2.1.2 - resolution: "@ampproject/remapping@npm:2.1.2" + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" dependencies: - "@jridgewell/trace-mapping": ^0.3.0 - checksum: e023f92cdd9723f3042cde3b4d922adfeef0e198aa73486b0b6c034ad36af5f96e5c0cc72b335b30b2eb9852d907efc92af6bfcd3f4b4d286177ee32a189cf92 + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 languageName: node linkType: hard @@ -39,44 +40,44 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.0, @babel/compat-data@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/compat-data@npm:7.17.7" - checksum: bf13476676884ce9afc199747ff82f3bcd6d42a9cfb01ce91bdb762b83ea11ec619b6ec532d1a80469ab14f191f33b5d4b9f8796fa8be3bc728d42b0c5e737e3 +"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.17.10": + version: 7.18.5 + resolution: "@babel/compat-data@npm:7.18.5" + checksum: 1baee39fcf0992402ed12d6be43739f3bfb7f0cacddee8959236692ae926bcc3f4fe5abdd907870f4fc8b9fd798c1e6e2999ae97c9b8aedbd834fe03f2765e73 languageName: node linkType: hard "@babel/core@npm:^7.0.0, @babel/core@npm:^7.9.0": - version: 7.17.9 - resolution: "@babel/core@npm:7.17.9" + version: 7.18.5 + resolution: "@babel/core@npm:7.18.5" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.9 - "@babel/helper-compilation-targets": ^7.17.7 - "@babel/helper-module-transforms": ^7.17.7 - "@babel/helpers": ^7.17.9 - "@babel/parser": ^7.17.9 + "@babel/generator": ^7.18.2 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helpers": ^7.18.2 + "@babel/parser": ^7.18.5 "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.9 - "@babel/types": ^7.17.0 + "@babel/traverse": ^7.18.5 + "@babel/types": ^7.18.4 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 2d301e4561a170bb584a735ec412de8fdc40b2052e12380d4a5e36781be5af1fd2a60552e7f0764b0a491a242f20105265bd2a10ff57b30c2842684f02dbb5a2 + checksum: e20c3d69a07eb564408d611b827c2f5db56f05f1ca7cb3046f3823a1cf6b13c032f02d4b8ffe1e4593699e86e0f25ca1aee6228486c1ebea48d21aaeb28e6718 languageName: node linkType: hard -"@babel/generator@npm:^7.17.9": - version: 7.17.9 - resolution: "@babel/generator@npm:7.17.9" +"@babel/generator@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/generator@npm:7.18.2" dependencies: - "@babel/types": ^7.17.0 + "@babel/types": ^7.18.2 + "@jridgewell/gen-mapping": ^0.3.0 jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: afbdd4afbf731ba0a17e7e2d9a2291e6461259af887f88f1178f63514a86e9c18cec462ae8f9cd6df9ba15a18296f47b0e151202bb4f834f7338ac0c07ec8dc8 + checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3 languageName: node linkType: hard @@ -99,23 +100,23 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-compilation-targets@npm:7.17.7" +"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.10, @babel/helper-compilation-targets@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-compilation-targets@npm:7.18.2" dependencies: - "@babel/compat-data": ^7.17.7 + "@babel/compat-data": ^7.17.10 "@babel/helper-validator-option": ^7.16.7 - browserslist: ^4.17.5 + browserslist: ^4.20.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 24bf851539d5ec8e73779304b5d1ad5b0be09a74459ecc7d9baee9a0fa38ad016e9eaf4b5704504ae8da32f91ce0e31857bbbd9686854caeffd38f58226d3760 + checksum: 4f02e79f20c0b3f8db5049ba8c35027c41ccb3fc7884835d04e49886538e0f55702959db1bb75213c94a5708fec2dc81a443047559a4f184abb884c72c0059b4 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.16.10, @babel/helper-create-class-features-plugin@npm:^7.16.7, @babel/helper-create-class-features-plugin@npm:^7.17.6, @babel/helper-create-class-features-plugin@npm:^7.17.9": - version: 7.17.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.17.9" +"@babel/helper-create-class-features-plugin@npm:^7.17.12, @babel/helper-create-class-features-plugin@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.0" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 "@babel/helper-environment-visitor": ^7.16.7 @@ -126,19 +127,19 @@ __metadata: "@babel/helper-split-export-declaration": ^7.16.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: db7be8852096084883dbbd096f925976695e5b34919a888fded9fd359d75d9994960e459f4eeb51ff6700109f83be6c1359e57809deb3fe36fc589b2a208b6d7 + checksum: 9a6ef175350f1cf87abe7a738e8c9b603da7fcdb153c74e49af509183f8705278020baddb62a12c7f9ca059487fef97d75a4adea6a1446598ad9901d010e4296 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.16.7": - version: 7.17.0 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.0" +"@babel/helper-create-regexp-features-plugin@npm:^7.16.7, @babel/helper-create-regexp-features-plugin@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.12" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 regexpu-core: ^5.0.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: eb66d9241544c705e9ce96d2d122b595ef52d926e6e031653e09af8a01050bd9d7e7fee168bf33a863342774d7d6a8cc7e8e9e5a45b955e9c01121c7a2d51708 + checksum: fe49d26b0f6c58d4c1748a4d0e98b343882b428e6db43c4ba5e0aa7ff2296b3a557f0a88de9f000599bb95640a6c47c0b0c9a952b58c11f61aabb06bcc304329 languageName: node linkType: hard @@ -160,12 +161,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-environment-visitor@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: c03a10105d9ebd1fe632a77356b2e6e2f3c44edba9a93b0dc3591b6a66bd7a2e323dd9502f9ce96fc6401234abff1907aa877b6674f7826b61c953f7c8204bbe +"@babel/helper-environment-visitor@npm:^7.16.7, @babel/helper-environment-visitor@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-environment-visitor@npm:7.18.2" + checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9 languageName: node linkType: hard @@ -197,7 +196,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.16.7, @babel/helper-member-expression-to-functions@npm:^7.17.7": +"@babel/helper-member-expression-to-functions@npm:^7.17.7": version: 7.17.7 resolution: "@babel/helper-member-expression-to-functions@npm:7.17.7" dependencies: @@ -225,9 +224,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-module-transforms@npm:7.17.7" +"@babel/helper-module-transforms@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/helper-module-transforms@npm:7.18.0" dependencies: "@babel/helper-environment-visitor": ^7.16.7 "@babel/helper-module-imports": ^7.16.7 @@ -235,9 +234,9 @@ __metadata: "@babel/helper-split-export-declaration": ^7.16.7 "@babel/helper-validator-identifier": ^7.16.7 "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.3 - "@babel/types": ^7.17.0 - checksum: 0b8f023aa7ff82dc4864349d54c4557865ad8ba54d78f6d78a86b05ca40f65c2d60acb4a54c5c309e7a4356beb9a89b876e54af4b3c4801ad25f62ec3721f0ae + "@babel/traverse": ^7.18.0 + "@babel/types": ^7.18.0 + checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523 languageName: node linkType: hard @@ -250,10 +249,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.16.7 - resolution: "@babel/helper-plugin-utils@npm:7.16.7" - checksum: d08dd86554a186c2538547cd537552e4029f704994a9201d41d82015c10ed7f58f9036e8d1527c3760f042409163269d308b0b3706589039c5f1884619c6d4ce +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.17.12 + resolution: "@babel/helper-plugin-utils@npm:7.17.12" + checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d languageName: node linkType: hard @@ -268,25 +267,25 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-replace-supers@npm:7.16.7" +"@babel/helper-replace-supers@npm:^7.16.7, @babel/helper-replace-supers@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-replace-supers@npm:7.18.2" dependencies: - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-member-expression-to-functions": ^7.16.7 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-member-expression-to-functions": ^7.17.7 "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/traverse": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: e5c0b6eb3dad8410a6255f93b580dde9b3c1564646c6ef751de59d5b2a65b5caa80cc9e568155f04bbae895ad0f54305c2e833dbd971a4f641f970c90b3d892b + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + checksum: c0083b7933672dd2aed50b79021c46401c83f41bc2132def19c5414cf8f944251f6d91dd959b2bedada9a7436a80fab629adb486e008566290c82293e89fec05 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-simple-access@npm:7.17.7" +"@babel/helper-simple-access@npm:^7.17.7, @babel/helper-simple-access@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-simple-access@npm:7.18.2" dependencies: - "@babel/types": ^7.17.0 - checksum: 58a9bfd054720024f6ff47fbb113c96061dc2bd31a5e5285756bd3c2e83918c6926900e00150d0fb175d899494fe7d69bf2a8b278c32ef6f6bea8d032e6a3831 + "@babel/types": ^7.18.2 + checksum: c0862b56db7e120754d89273a039b128c27517389f6a4425ff24e49779791e8fe10061579171fb986be81fa076778acb847c709f6f5e396278d9c5e01360c375 languageName: node linkType: hard @@ -334,112 +333,112 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.17.9": - version: 7.17.9 - resolution: "@babel/helpers@npm:7.17.9" +"@babel/helpers@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helpers@npm:7.18.2" dependencies: "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.9 - "@babel/types": ^7.17.0 - checksum: 3c6db861e4c82fff2de3efb4ad12e32658c50c29920597cd0979390659b202e5849acd9542e0e2453167a52ccc30156ee4455d64d0e330f020d991d7551566f8 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + checksum: 94620242f23f6d5f9b83a02b1aa1632ffb05b0815e1bb53d3b46d64aa8e771066bba1db8bd267d9091fb00134cfaeda6a8d69d1d4cc2c89658631adfa077ae70 languageName: node linkType: hard "@babel/highlight@npm:^7.16.7": - version: 7.17.9 - resolution: "@babel/highlight@npm:7.17.9" + version: 7.17.12 + resolution: "@babel/highlight@npm:7.17.12" dependencies: "@babel/helper-validator-identifier": ^7.16.7 chalk: ^2.0.0 js-tokens: ^4.0.0 - checksum: 7bdf10228f2e4d18f48f114411ed584380d356e7c168d7582c14abd8df9909b2fc09e0a7cd334f47c3eb0bc17e639e0c8d9688c6afd5d09a2bdbf0ac193b11fd + checksum: 841a11aa353113bcce662b47085085a379251bf8b09054e37e1e082da1bf0d59355a556192a6b5e9ee98e8ee6f1f2831ac42510633c5e7043e3744dda2d6b9d6 languageName: node linkType: hard -"@babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.9, @babel/parser@npm:^7.7.0": - version: 7.17.9 - resolution: "@babel/parser@npm:7.17.9" +"@babel/parser@npm:^7.16.7, @babel/parser@npm:^7.18.5, @babel/parser@npm:^7.7.0": + version: 7.18.5 + resolution: "@babel/parser@npm:7.18.5" bin: parser: ./bin/babel-parser.js - checksum: ea59c985ebfae7c0299c8ea63ed34903202f51665db8d59c55b4366e20270b74d7367a2c211fdd2db20f25750df89adcc85ab6c8692061c6459a88efb79f43e6 + checksum: 4976349d8681af215fd5771bd5b74568cc95a2e8bf2afcf354bf46f73f3d6f08d54705f354b1d0012f914dd02a524b7d37c5c1204ccaafccb9db3c37dba96a9b languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.16.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0 - checksum: bbb0f82a4cf297bdbb9110eea570addd4b883fd1b61535558d849822b087aa340fe4e9c31f8a39b087595c8310b58d0f5548d6be0b72c410abefb23a5734b7bc + checksum: 6ef739b3a2b0ac0b22b60ff472c118163ceb8d414dd08c8186cc563fddc2be62ad4d8681e02074a1c7f0056a72e7146493a85d12ded02e50904b0009ed85d8bf languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.16.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 - "@babel/plugin-proposal-optional-chaining": ^7.16.7 + "@babel/plugin-proposal-optional-chaining": ^7.17.12 peerDependencies: "@babel/core": ^7.13.0 - checksum: 81b372651a7d886a06596b02df7fb65ea90265a8bd60c9f0d5c1777590a598e6cccbdc3239033ee0719abf904813e69577eeb0ed5960b40e07978df023b17a6a + checksum: 68520a8f26e56bc8d90c22133537a9819e82598e3c82007f30bdaf8898b0e12a7bfa0cd3044aca35a7f362fd6bc04e4cd8052a571fc2eb40ad8f1cf24e0fc45f languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.16.8" +"@babel/plugin-proposal-async-generator-functions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-remap-async-to-generator": ^7.16.8 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: abd2c2c67de262720d37c5509dafe2ce64d6cee2dc9a8e863bbba1796b77387214442f37618373c6a4521ca624bfc7dcdbeb1376300d16f2a474405ee0ca2e69 + checksum: 16a3c7f68a27031b4973b7c64ca009873c91b91afd7b3a4694ec7f1c6d8e91a6ee142eafd950113810fae122faa1031de71140333b2b1bd03d5367b1a05b1d91 languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-class-properties@npm:7.16.7" +"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-class-properties@npm:7.17.12" dependencies: - "@babel/helper-create-class-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3977e841e17b45b47be749b9a5b67b9e8b25ff0840f9fdad3f00cbcb35db4f5ff15f074939fe19b01207a29688c432cc2c682351959350834d62920b7881f803 + checksum: 884df6a4617a18cdc2a630096b2a10954bcc94757c893bb01abd6702fdc73343ca5c611f4884c4634e0608f5e86c3093ea6b973ce00bf21b248ba54de92c837d languageName: node linkType: hard -"@babel/plugin-proposal-class-static-block@npm:^7.16.7": - version: 7.17.6 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.17.6" +"@babel/plugin-proposal-class-static-block@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.0" dependencies: - "@babel/helper-create-class-features-plugin": ^7.17.6 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-class-static-block": ^7.14.5 peerDependencies: "@babel/core": ^7.12.0 - checksum: 0ef00d73b4a7667059f71614669fb5ec989a0a6d5fe58118310c892507f2556a6f3ae66f0c547cd06e50bdf3ff528ef486e611079d41ef321300c967d2c26e1d + checksum: 70fd622fd7c62cca2aa99c70532766340a5c30105e35cb3f1187b450580d43adc78b3fcb1142ed339bcfccf84be95ea03407adf467331b318ce6874432736c89 languageName: node linkType: hard "@babel/plugin-proposal-decorators@npm:^7.3.0": - version: 7.17.9 - resolution: "@babel/plugin-proposal-decorators@npm:7.17.9" + version: 7.18.2 + resolution: "@babel/plugin-proposal-decorators@npm:7.18.2" dependencies: - "@babel/helper-create-class-features-plugin": ^7.17.9 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-replace-supers": ^7.18.2 "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/plugin-syntax-decorators": ^7.17.0 + "@babel/plugin-syntax-decorators": ^7.17.12 charcodes: ^0.2.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a3d177b88843bf73d798e4b21c1b8146bd33fd19ab56e5ab379d6670db84e172570e73bcf5a4e5a83193cfea49fed3db0015454e78f30f46d25d256c6e65a7b3 + checksum: cb40e31afe5c414d748d90943910ff7e8015f89f5845046bcdc8ae9b09882b183c550a6bc32969826680d9c41866d5f39097f1cd7b0a7c2101285ec4e38dbded languageName: node linkType: hard @@ -455,51 +454,51 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-export-namespace-from@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.16.7" +"@babel/plugin-proposal-export-namespace-from@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5016079a5305c1c130fea587b42cdce501574739cfefa5b63469dbc1f32d436df0ff42fabf04089fe8b6a00f4ea7563869e944744b457e186c677995983cb166 + checksum: 41c9cd4c0a5629b65725d2554867c15b199f534cea5538bd1ae379c0d13e7206d8590e23b23cb05a8b243e33e6eb88c1de3fd03a55cdbc6d4cf8634a6bebe43d languageName: node linkType: hard -"@babel/plugin-proposal-json-strings@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-json-strings@npm:7.16.7" +"@babel/plugin-proposal-json-strings@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-json-strings@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-json-strings": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ea6487918f8d88322ac2a4e5273be6163b0d84a34330c31cee346e23525299de3b4f753bc987951300a79f55b8f4b1971b24d04c0cdfcb7ceb4d636975c215e8 + checksum: 8ed4ee3fbc28e44fac17c48bd95b5b8c3ffc852053a9fffd36ab498ec0b0ba069b8b2f5658edc18332748948433b9d3e1e376f564a1d65cb54592ba9943be09b languageName: node linkType: hard -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.16.7" +"@babel/plugin-proposal-logical-assignment-operators@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c4cf18e10f900d40eaa471c4adce4805e67bd845f997a4b9d5653eced4e653187b9950843b2bf7eab6c0c3e753aba222b1d38888e3e14e013f87295c5b014f19 + checksum: 0d48451836219b7beeca4be22a8aeb4a177a4944be4727afb94a4a11f201dde8b0b186dd2ad65b537d61e9af3fa1afda734f7096bec8602debd76d07aa342e21 languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.16.7" +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bfafc2701697b5c763dbbb65dd97b56979bfb0922e35be27733699a837aeff22316313ddfdd0fb45129efa3f86617219b77110d05338bc4dca4385d8ce83dd19 + checksum: 7881d8005d0d4e17a94f3bfbfa4a0d8af016d2f62ed90912fabb8c5f8f0cc0a15fd412f09c230984c40b5c893086987d403c73198ef388ffcb3726ff72efc009 languageName: node linkType: hard @@ -515,18 +514,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.16.7, @babel/plugin-proposal-object-rest-spread@npm:^7.6.2": - version: 7.17.3 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.17.3" +"@babel/plugin-proposal-object-rest-spread@npm:^7.18.0, @babel/plugin-proposal-object-rest-spread@npm:^7.6.2": + version: 7.18.0 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.0" dependencies: - "@babel/compat-data": ^7.17.0 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/compat-data": ^7.17.10 + "@babel/helper-compilation-targets": ^7.17.10 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.16.7 + "@babel/plugin-transform-parameters": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 02810f158db4aaf6883131621b5d2c7d901ea3c034df2c2b78663f8b26813795d78a346c37e56770a720c54773732fd1d7fe40947dbf11d1d8de0e9a38e856d3 + checksum: 2b49bcf9a6b11fd8b6a1d4962a64f3c846a63f8340eca9824c907f75bfcff7422ca35b135607fc3ef2d4e7e77ce6b6d955b772dc3c1c39f7ed24a0d8a560ec78 languageName: node linkType: hard @@ -542,54 +541,54 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.14.5, @babel/plugin-proposal-optional-chaining@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.16.7" +"@babel/plugin-proposal-optional-chaining@npm:^7.14.5, @babel/plugin-proposal-optional-chaining@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e4a6c1ac7e6817b92a673ea52ab0b7dc1fb39d29fb0820cd414e10ae2cd132bd186b4238dcca881a29fc38fe9d38ed24fc111ba22ca20086481682d343f4f130 + checksum: a27b220573441a0ad3eecf8ddcb249556a64de45add236791d76cfa164a8fd34181857528fa7d21d03d6b004e7c043bd929cce068e611ee1ac72aaf4d397aa12 languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.16.11": - version: 7.16.11 - resolution: "@babel/plugin-proposal-private-methods@npm:7.16.11" +"@babel/plugin-proposal-private-methods@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-private-methods@npm:7.17.12" dependencies: - "@babel/helper-create-class-features-plugin": ^7.16.10 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b333e5aa91c265bb394a57b5f4ae1a34fc8ee73a8d75506b12df258d8b5342107cbd9261f95e606bd3264a5b023db77f1f95be30c2e526683916c57f793f7943 + checksum: a1e5bd6a0a541af55d133d7bcf51ff8eb4ac7417a30f518c2f38107d7d033a3d5b7128ea5b3a910b458d7ceb296179b6ff9d972be60d1c686113d25fede8bed3 languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7" +"@babel/plugin-proposal-private-property-in-object@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.17.12" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-create-class-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 666d668f51d8c01aaf0dd87b27a83fc0392884d2c8e9d8e17b3b7011c0d348865dee94b44dc2d7070726e58e3b579728dc2588aaa8140d563f7390743ee90f0a + checksum: 056cb77994b2ee367301cdf8c5b7ed71faf26d60859bbba1368b342977481b0884712a1b97fbd9b091750162923d0265bf901119d46002775aa66e4a9f30f411 languageName: node linkType: hard -"@babel/plugin-proposal-unicode-property-regex@npm:^7.16.7, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": - version: 7.16.7 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.16.7" +"@babel/plugin-proposal-unicode-property-regex@npm:^7.17.12, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": + version: 7.17.12 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.17.12" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-regexp-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2b8a33713d456183f0b7d011011e7bd932c08cc06216399a7b2015ab39284b511993dc10a89bbb15d1d728e6a2ef42ca08c3202619aa148cbd48052422ea3995 + checksum: 0e4194510415ed11849f1617fcb32d996df746ba93cd05ebbabecb63cfc02c0e97b585c97da3dcf68acdd3c8b71cfae964abe5d5baba6bd3977a475d9225ad9e languageName: node linkType: hard @@ -626,14 +625,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.17.0": - version: 7.17.0 - resolution: "@babel/plugin-syntax-decorators@npm:7.17.0" +"@babel/plugin-syntax-decorators@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-decorators@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 745a3553c8ad4d2ea4805eaf50634cf0cb3036f1259fbfa1cd3cb04d685cec68b6f2f0b3ca1856091730e5aca630975283f9f910d87694141e81754fbc074a7a + checksum: cdbb7f92e43a85291845e38910aa1bed0c3e489ae2da187b2e9604d1f2769f72b712a5a8b5e45223c7f5856927557bc314e86f7f1832a47405fdf5e492baa164 languageName: node linkType: hard @@ -659,14 +658,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-syntax-flow@npm:7.16.7" +"@babel/plugin-syntax-flow@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-flow@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b1ab0bd9b78e4aa5fb48714d6514f3d08d72693807c6044a5be4f301a9bb677b5648fbdae11c8bc93923da6b320a1898560c307933021bdb75ee39e577ed74ee + checksum: f92f18c9414478a3f408866c8a3d3f6b83f5369c8b76880245ba05d7ab9166d47c7d4ab1e0ac8b7a69d1d1b448bea836d1b340f823b1e548fec62a563cc9d0ec + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fef25c3247d18dc7b8e432ed07f4afb92d70113fcfc3db0ca52388f8083b4bd60f88fe9ec0085e8a5a6daf18a619042376e76e2b4bd9470cddb7362cd268bea5 languageName: node linkType: hard @@ -681,14 +691,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.12.13, @babel/plugin-syntax-jsx@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.16.7" +"@babel/plugin-syntax-jsx@npm:^7.12.13, @babel/plugin-syntax-jsx@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-jsx@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cd9b0e53c50e8ddb0afaf0f42e0b221a94e4f59aee32a591364266a31195c48cac5fef288d02c1c935686bda982d2e0f1ed61cceb995fc9f6fb09ef5ebecdd2b + checksum: 6acd0bbca8c3e0100ad61f3b7d0b0111cd241a0710b120b298c4aa0e07be02eccbcca61ede1e7678ade1783a0979f20305b62263df6767fa3fbf658670d82af5 languageName: node linkType: hard @@ -780,27 +790,27 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.16.7" +"@babel/plugin-transform-arrow-functions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2a6aa982c6fc80f4de7ccd973507ce5464fab129987cb6661136a7b9b6a020c2b329b912cbc46a68d39b5a18451ba833dcc8d1ca8d615597fec98624ac2add54 + checksum: 48f99e74f523641696d5d9fb3f5f02497eca2e97bc0e9b8230a47f388e37dc5fd84b8b29e9f5a0c82d63403f7ba5f085a28e26939678f6e917d5c01afd884b50 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.16.8" +"@babel/plugin-transform-async-to-generator@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.17.12" dependencies: "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-remap-async-to-generator": ^7.16.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a2e781800e3dea1f526324ed259d1f9064c5ea3c9909c0c22b445d4c648ad489c579f358ae20ada11f7725ba67e0ddeb1e0241efadc734771e87dabd4c6820a + checksum: 052dd56eb3b10bc31f5aaced0f75fc7307713f74049ccfb91cd087bebfc890a6d462b59445c5299faaca9030814172cac290c941c76b731a38dcb267377c9187 languageName: node linkType: hard @@ -815,54 +825,54 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.16.7" +"@babel/plugin-transform-block-scoping@npm:^7.17.12": + version: 7.18.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.18.4" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f93b5441af573fc274655f1707aeb4f67a43e926b58f56d89cc35a27877ae0bf198648603cbc19f442579489138f93c3838905895f109aa356996dbc3ed97a68 + checksum: 5fdc8fd2f56f43e275353123fa1cda3df475daf1e9d92c03d5aa1ae50d3a0ccabf80c6168356947d8eb8e6e29098c875bc27fda8c7d4fbca6ffc6eec5d5faa8d languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-classes@npm:7.16.7" +"@babel/plugin-transform-classes@npm:^7.17.12": + version: 7.18.4 + resolution: "@babel/plugin-transform-classes@npm:7.18.4" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-function-name": ^7.16.7 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-function-name": ^7.17.9 "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-replace-supers": ^7.18.2 "@babel/helper-split-export-declaration": ^7.16.7 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 791526a1bf3c4659b94d619536e3181d3ad54887d50539066628c6e695789a3bb264dc1fbc8540169d62a222f623df54defb490c1811ae63bad1e3557d6b3bb0 + checksum: 968711024c2ed1c08ced754243edde3a663ab40c414ca6fcad1a75f27789f3f52cc78fbafe21c6337c4c6a0dfbeddd1527caff1558ed477790b600a1e6f99cda languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.16.7" +"@babel/plugin-transform-computed-properties@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-computed-properties@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 28b17f7cfe643f45920b76dc040cab40d4e54eccf5074fba2658c484feacda9b4885b3854ffaf26292189783fdecc97211519c61831b6708fcbf739cfbcbf31c + checksum: 5d05418617e0967bec4818556b7febb6f8c40813e32035f0bd6b7dbd7b9d63e9ab7c7c8fd7bd05bab2a599dad58e7b69957d9559b41079d112c219bbc3649aa1 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.16.7": - version: 7.17.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.17.7" +"@babel/plugin-transform-destructuring@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.0" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 767ecf6640fea9a06a4859f0c34daa30ac7d146a96476caa1f77081d5b6e43699f45e14acd52682078f2b7c230ff0814312b41f61b21ca2b5f9c5a2cc93c2b58 + checksum: d85d60737c3b05c4db71bc94270e952122d360bd6ebf91b5f98cf16fb8564558b615d115354fe0ef41e2aae9c4540e6e16144284d881ecaef687693736cd2a79 languageName: node linkType: hard @@ -878,14 +888,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.16.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b96f6e9f7b33a91ad0eb6b793e4da58b7a0108b58269109f391d57078d26e043b3872c95429b491894ae6400e72e44d9b744c9b112b8433c99e6969b767e30ed + checksum: fb6ad550538830b0dc5b1b547734359f2d782209570e9d61fe9b84a6929af570fcc38ab579a67ee7cd6a832147db91a527f4cceb1248974f006fe815980816bb languageName: node linkType: hard @@ -901,26 +911,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.16.7, @babel/plugin-transform-flow-strip-types@npm:^7.2.3": - version: 7.16.7 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.16.7" +"@babel/plugin-transform-flow-strip-types@npm:^7.17.12, @babel/plugin-transform-flow-strip-types@npm:^7.2.3": + version: 7.17.12 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-flow": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-flow": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4b4801c91d805d95957781e537f88e9f34c7f8a4c262c4d230af2ab7a920889c542860e505149a856d4c16916ffb02df4f3af161733adeedb7671555d1510bba + checksum: c37d3cc00aaec2036d1046f5376820f5c6098df493bd9a4d9013c47e0f5ef9c213eb4567ba1ce466269d9771f5cdc76613309c310b696a0489a20e593c8967e2 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-for-of@npm:7.16.7" +"@babel/plugin-transform-for-of@npm:^7.18.1": + version: 7.18.1 + resolution: "@babel/plugin-transform-for-of@npm:7.18.1" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 35c9264ee4bef814818123d70afe8b2f0a85753a0a9dc7b73f93a71cadc5d7de852f1a3e300a7c69a491705805704611de1e2ccceb5686f7828d6bca2e5a7306 + checksum: cdc6e1f1170218cc6ac5b26b4b8f011ec5c36666101e00e0061aaa5772969b093bad5b2af8ce908c184126d5bb0c26b89dd4debb96b2375aba2e20e427a623a8 languageName: node linkType: hard @@ -937,14 +947,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-literals@npm:7.16.7" +"@babel/plugin-transform-literals@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-literals@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a9565d999fc7a72a391ef843cf66028c38ca858537c7014d9ea8ea587a59e5f952d9754bdcca6ca0446e84653e297d417d4faedccb9e4221af1aa30f25d918e0 + checksum: 09280fc1ed23b81deafd4fcd7a35d6c0944668de2317f14c1b8b78c5c201f71a063bb8d174d2fc97d86df480ff23104c8919d3aacf19f33c2b5ada584203bf1c languageName: node linkType: hard @@ -959,79 +969,80 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.16.7" +"@babel/plugin-transform-modules-amd@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-modules-amd@npm:7.18.0" dependencies: - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ac251ee96183b10cf9b4ec8f9e8d52e14ec186a56103f6c07d0c69e99faa60391f6bac67da733412975e487bd36adb403e2fc99bae6b785bf1413e9d928bc71 + checksum: bed3ff5cd81f236981360fc4a6fd2262685c1202772c657ce3ab95b7930437f8fa22361021b481c977b6f47988dfcc07c7782a1c91b90d3a5552c91401f4631a languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.16.8": - version: 7.17.9 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.17.9" +"@babel/plugin-transform-modules-commonjs@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.2" dependencies: - "@babel/helper-module-transforms": ^7.17.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-simple-access": ^7.17.7 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-simple-access": ^7.18.2 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 23f248a28b43978c7ee187a91392510f665db32f2cc869007da4922e5a83da47f27ecd5da37c8f66fe6b89e4b324f1a978a4493ae59edf2b3129387d844fde1b + checksum: 99c1c5ce9c353e29eb680ebb5bdf27c076c6403e133a066999298de642423cc7f38cfbac02372d33ed73278da13be23c4be7d60169c3e27bd900a373e61a599a languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.16.7": - version: 7.17.8 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.17.8" +"@babel/plugin-transform-modules-systemjs@npm:^7.18.0": + version: 7.18.5 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.5" dependencies: "@babel/helper-hoist-variables": ^7.16.7 - "@babel/helper-module-transforms": ^7.17.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-validator-identifier": ^7.16.7 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 058c0e7987aab64c4019bc9eab3f80c5dd05bec737e230e5c60e9222dfb3d01b2dfa3aa1db6cbb75a4095c40af3bba2e3a60170b1570a158d3e781376569ce49 + checksum: 393c14f3258350e6b190bcaead3b30a8fbe12d54b7f52b21db305ae471be4c55709b577cb10343f4e89c613d6dbfda3bd2659f9969fb3eb308e001b9d3edc31c languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.16.7" +"@babel/plugin-transform-modules-umd@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-modules-umd@npm:7.18.0" dependencies: - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d1433f8b0e0b3c9f892aa530f08fe3ba653a5e51fe1ed6034ac7d45d4d6f22c3ba99186b72e41ad9ce5d8dcf964104c3da2419f15fcdcf5ba05c5fda3ea2cefc + checksum: 4081a79cfd4c6fda785c2137f9f2721e35c06a9d2f23c304172838d12e9317a24d3cb5b652a9db61e58319b370c57b1b44991429efe709679f98e114d98597fb languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.16.8" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.17.12" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 + "@babel/helper-create-regexp-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0 - checksum: 73e149f5ff690f5b8e3764a881e8e5240f12f394256e7d5217705d0cbeae074c3faff394783190fe1a41f9fc5a53b960b6021158b7e5174391b5fc38f4ba047a + checksum: cff9d91d0abd87871da6574583e79093ed75d5faecea45b6a13350ba243b1a595d349a6e7d906f5dfdf6c69c643cba9df662c3d01eaa187c5b1a01cb5838e848 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-new-target@npm:7.16.7" +"@babel/plugin-transform-new-target@npm:^7.17.12": + version: 7.18.5 + resolution: "@babel/plugin-transform-new-target@npm:7.18.5" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7410c3e68abc835f87a98d40269e65fb1a05c131decbb6721a80ed49a01bd0c53abb6b8f7f52d5055815509022790e1accca32e975c02f2231ac3cf13d8af768 + checksum: 8c6d1c1ba765bae9a42e94561784d6f18069d1042521a225dd2a0c5d355a74ea3ee709e979d89125721318ccf106240dbb1d2aff6d13267c181298844eaccbdb languageName: node linkType: hard @@ -1047,14 +1058,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-parameters@npm:7.16.7" +"@babel/plugin-transform-parameters@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-parameters@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4d6904376db82d0b35f0a6cce08f630daf8608d94e903d6c7aff5bd742b251651bd1f88cdf9f16cad98aba5fc7c61da8635199364865fad6367d5ae37cf56cc1 + checksum: d9ed5ec61dc460835bade8fa710b42ec9f207bd448ead7e8abd46b87db0afedbb3f51284700fd2a6892fdf6544ec9b949c505c6542c5ba0a41ca4e8749af00f0 languageName: node linkType: hard @@ -1091,68 +1102,69 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.16.7": - version: 7.17.3 - resolution: "@babel/plugin-transform-react-jsx@npm:7.17.3" +"@babel/plugin-transform-react-jsx@npm:^7.16.7, @babel/plugin-transform-react-jsx@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-react-jsx@npm:7.17.12" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-jsx": ^7.16.7 - "@babel/types": ^7.17.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-jsx": ^7.17.12 + "@babel/types": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7e33a3fb78a3b7352b56f48211160ae60dc3654bae314ea0352bfc179d10eaac789792ccb3701172388ec4e4dbdb94952cdf3386980f3af402d99ceadd91149b + checksum: 02e9974d14821173bb8e84db4bdfccd546bfdbf445d91d6345f953591f16306cf5741861d72e0d0910f3ffa7d4084fafed99cedf736e7ba8bed0cf64320c2ea6 languageName: node linkType: hard "@babel/plugin-transform-react-pure-annotations@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.16.7" + version: 7.18.0 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.18.0" dependencies: "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 715fe9c5fd10c5605a6de1d4436d29087878924758969427ba4d0b2bc274a436d3ac8f2777b744c988bdbb90f7e68dc2a82491db333ae7e0079fab776b543fae + checksum: 908b2ee74a13eb16455f77c14ad7ffb1c2c0c44f5e34b05541e82634c56b405d2589b574fbb734edb2012e3dd1b16edbe9d7e80626886108088b4f07f27a231b languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.16.7": - version: 7.17.9 - resolution: "@babel/plugin-transform-regenerator@npm:7.17.9" +"@babel/plugin-transform-regenerator@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.18.0" dependencies: + "@babel/helper-plugin-utils": ^7.17.12 regenerator-transform: ^0.15.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bf92f7228397615f12fa62d1decbe854ee9065d44e55036f99bf312783d51b082981bab38ba61de9858f7e20513484a043bfa958c0ce4a0d4d1710710df029a9 + checksum: ebacf2bbe9e2fb6f2bd7996e19b41bfc9848628950ae06a1a832802a0b8e32a32003c6b89318da6ca521f79045c91324dcb4c97247ed56f86fa58d7401a7316f languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.16.7" +"@babel/plugin-transform-reserved-words@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-reserved-words@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 00218a646e99a97c1f10b77c41c178ca1b91d0e6cf18dd4ca3c59b8a5ad721db04ef508f49be4cd0dcca7742490dbb145307b706a2dbea1917d5e5f7ba2f31b7 + checksum: d8a617cb79ca5852ac2736a9f81c15a3b0760919720c3b9069a864e2288006ebcaab557dbb36a3eba936defd6699f82e3bf894915925aa9185f5d9bcbf3b29fd languageName: node linkType: hard "@babel/plugin-transform-runtime@npm:^7.4.3": - version: 7.17.0 - resolution: "@babel/plugin-transform-runtime@npm:7.17.0" + version: 7.18.5 + resolution: "@babel/plugin-transform-runtime@npm:7.18.5" dependencies: "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 babel-plugin-polyfill-corejs2: ^0.3.0 babel-plugin-polyfill-corejs3: ^0.5.0 babel-plugin-polyfill-regenerator: ^0.3.0 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9a469d4389cb265d50f1e83e6b524ceda7abd24a0bd7cda57e54a1e6103ca7c36efc99eebd485cf0a468f048739e21d940126df40b11db34f4692bdd2d5beacd + checksum: 2a9d9ad0b6393639eeaf3ca3130f52f276f5c3f676f33e29d1b1db5d19308155a5068764e20999fe69331720e83407a400912332e3b4405fa19dfdc54721d00c languageName: node linkType: hard @@ -1167,15 +1179,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-spread@npm:7.16.7" +"@babel/plugin-transform-spread@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-spread@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6e961af1a70586bb72dd85e8296cee857c5dadd73225fccd0fe261c0d98652a82d69c65f3e9dc31ce019a12e9677262678479b96bd2d9140ddf6514618362828 + checksum: 3a95e4f163d598c0efc9d983e5ce3e8716998dd2af62af8102b11cb8d6383c71b74c7106adbce73cda6e48d3d3e927627847d36d76c2eb688cd0e2e07f67fb51 languageName: node linkType: hard @@ -1190,25 +1202,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.16.7" +"@babel/plugin-transform-template-literals@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/plugin-transform-template-literals@npm:7.18.2" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b55a519dd8b957247ebad3cab21918af5adca4f6e6c87819501cfe3d4d4bccda25bc296c7dfc8a30909b4ad905902aeb9d55ad955cb9f5cbc74b42dab32baa18 + checksum: bc0102ed8c789e5bc01053088e2de85b82cebcd4d57af9fdc32ca62f559d3dd19c33e9d26caa71c5fd8e94152e5ce4fc4da19badc2d537620e6dea83bce7eb05 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.16.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 739a8c439dacbd9af62cfbfa0a7cbc3f220849e5fc774e5ef708a09186689a724c41a1d11323e7d36588d24f5481c8b702c86ff7be8da2e2fed69bed0175f625 + checksum: e30bd03c8abc1b095f8b2a10289df6850e3bc3cd0aea1cbc29050aa3b421cbb77d0428b0cd012333632a7a930dc8301cd888e762b2dd601e7dc5dac50f4140c9 languageName: node linkType: hard @@ -1246,35 +1258,36 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.9.0": - version: 7.16.11 - resolution: "@babel/preset-env@npm:7.16.11" + version: 7.18.2 + resolution: "@babel/preset-env@npm:7.18.2" dependencies: - "@babel/compat-data": ^7.16.8 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/compat-data": ^7.17.10 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-validator-option": ^7.16.7 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.16.7 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.16.7 - "@babel/plugin-proposal-async-generator-functions": ^7.16.8 - "@babel/plugin-proposal-class-properties": ^7.16.7 - "@babel/plugin-proposal-class-static-block": ^7.16.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.17.12 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-async-generator-functions": ^7.17.12 + "@babel/plugin-proposal-class-properties": ^7.17.12 + "@babel/plugin-proposal-class-static-block": ^7.18.0 "@babel/plugin-proposal-dynamic-import": ^7.16.7 - "@babel/plugin-proposal-export-namespace-from": ^7.16.7 - "@babel/plugin-proposal-json-strings": ^7.16.7 - "@babel/plugin-proposal-logical-assignment-operators": ^7.16.7 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.7 + "@babel/plugin-proposal-export-namespace-from": ^7.17.12 + "@babel/plugin-proposal-json-strings": ^7.17.12 + "@babel/plugin-proposal-logical-assignment-operators": ^7.17.12 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.17.12 "@babel/plugin-proposal-numeric-separator": ^7.16.7 - "@babel/plugin-proposal-object-rest-spread": ^7.16.7 + "@babel/plugin-proposal-object-rest-spread": ^7.18.0 "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 - "@babel/plugin-proposal-optional-chaining": ^7.16.7 - "@babel/plugin-proposal-private-methods": ^7.16.11 - "@babel/plugin-proposal-private-property-in-object": ^7.16.7 - "@babel/plugin-proposal-unicode-property-regex": ^7.16.7 + "@babel/plugin-proposal-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-private-methods": ^7.17.12 + "@babel/plugin-proposal-private-property-in-object": ^7.17.12 + "@babel/plugin-proposal-unicode-property-regex": ^7.17.12 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 "@babel/plugin-syntax-class-static-block": ^7.14.5 "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-import-assertions": ^7.17.12 "@babel/plugin-syntax-json-strings": ^7.8.3 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 @@ -1284,61 +1297,61 @@ __metadata: "@babel/plugin-syntax-optional-chaining": ^7.8.3 "@babel/plugin-syntax-private-property-in-object": ^7.14.5 "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-transform-arrow-functions": ^7.16.7 - "@babel/plugin-transform-async-to-generator": ^7.16.8 + "@babel/plugin-transform-arrow-functions": ^7.17.12 + "@babel/plugin-transform-async-to-generator": ^7.17.12 "@babel/plugin-transform-block-scoped-functions": ^7.16.7 - "@babel/plugin-transform-block-scoping": ^7.16.7 - "@babel/plugin-transform-classes": ^7.16.7 - "@babel/plugin-transform-computed-properties": ^7.16.7 - "@babel/plugin-transform-destructuring": ^7.16.7 + "@babel/plugin-transform-block-scoping": ^7.17.12 + "@babel/plugin-transform-classes": ^7.17.12 + "@babel/plugin-transform-computed-properties": ^7.17.12 + "@babel/plugin-transform-destructuring": ^7.18.0 "@babel/plugin-transform-dotall-regex": ^7.16.7 - "@babel/plugin-transform-duplicate-keys": ^7.16.7 + "@babel/plugin-transform-duplicate-keys": ^7.17.12 "@babel/plugin-transform-exponentiation-operator": ^7.16.7 - "@babel/plugin-transform-for-of": ^7.16.7 + "@babel/plugin-transform-for-of": ^7.18.1 "@babel/plugin-transform-function-name": ^7.16.7 - "@babel/plugin-transform-literals": ^7.16.7 + "@babel/plugin-transform-literals": ^7.17.12 "@babel/plugin-transform-member-expression-literals": ^7.16.7 - "@babel/plugin-transform-modules-amd": ^7.16.7 - "@babel/plugin-transform-modules-commonjs": ^7.16.8 - "@babel/plugin-transform-modules-systemjs": ^7.16.7 - "@babel/plugin-transform-modules-umd": ^7.16.7 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.16.8 - "@babel/plugin-transform-new-target": ^7.16.7 + "@babel/plugin-transform-modules-amd": ^7.18.0 + "@babel/plugin-transform-modules-commonjs": ^7.18.2 + "@babel/plugin-transform-modules-systemjs": ^7.18.0 + "@babel/plugin-transform-modules-umd": ^7.18.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.17.12 + "@babel/plugin-transform-new-target": ^7.17.12 "@babel/plugin-transform-object-super": ^7.16.7 - "@babel/plugin-transform-parameters": ^7.16.7 + "@babel/plugin-transform-parameters": ^7.17.12 "@babel/plugin-transform-property-literals": ^7.16.7 - "@babel/plugin-transform-regenerator": ^7.16.7 - "@babel/plugin-transform-reserved-words": ^7.16.7 + "@babel/plugin-transform-regenerator": ^7.18.0 + "@babel/plugin-transform-reserved-words": ^7.17.12 "@babel/plugin-transform-shorthand-properties": ^7.16.7 - "@babel/plugin-transform-spread": ^7.16.7 + "@babel/plugin-transform-spread": ^7.17.12 "@babel/plugin-transform-sticky-regex": ^7.16.7 - "@babel/plugin-transform-template-literals": ^7.16.7 - "@babel/plugin-transform-typeof-symbol": ^7.16.7 + "@babel/plugin-transform-template-literals": ^7.18.2 + "@babel/plugin-transform-typeof-symbol": ^7.17.12 "@babel/plugin-transform-unicode-escapes": ^7.16.7 "@babel/plugin-transform-unicode-regex": ^7.16.7 "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.16.8 + "@babel/types": ^7.18.2 babel-plugin-polyfill-corejs2: ^0.3.0 babel-plugin-polyfill-corejs3: ^0.5.0 babel-plugin-polyfill-regenerator: ^0.3.0 - core-js-compat: ^3.20.2 + core-js-compat: ^3.22.1 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c8029c272073df787309d983ae458dd094b57f87152b8ccad95c7c8b1e82b042c1077e169538aae5f98b7659de0632d10708d9c85acf21a5e9406d7dd3656d8c + checksum: f81892a7970cb34643b93917cbbc9b581d5066d892639867521f4a85ec258e69362a37bbb7b899b351e71d26095a97cd2d6e35e5f9ee110715146e0ccc19e700 languageName: node linkType: hard "@babel/preset-flow@npm:^7.12.1": - version: 7.16.7 - resolution: "@babel/preset-flow@npm:7.16.7" + version: 7.17.12 + resolution: "@babel/preset-flow@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-validator-option": ^7.16.7 - "@babel/plugin-transform-flow-strip-types": ^7.16.7 + "@babel/plugin-transform-flow-strip-types": ^7.17.12 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b73c743a6bdfb51fe907adbc425a82469145ea15f32b43096804e28ba30921c4ac3199f86e11d1cefbce95c3a5404aaf3534152f5a12358c57303c05dfc51b4f + checksum: 21b123c21133eb0998f7b847176da392d49e894671c96785c2471d34845bb50cf4d376e1b4ea3edeafb8b258cc884cd3bed5882fe7ba8d7b0522f3829dea39c5 languageName: node linkType: hard @@ -1358,18 +1371,18 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.0.0": - version: 7.16.7 - resolution: "@babel/preset-react@npm:7.16.7" + version: 7.17.12 + resolution: "@babel/preset-react@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-validator-option": ^7.16.7 "@babel/plugin-transform-react-display-name": ^7.16.7 - "@babel/plugin-transform-react-jsx": ^7.16.7 + "@babel/plugin-transform-react-jsx": ^7.17.12 "@babel/plugin-transform-react-jsx-development": ^7.16.7 "@babel/plugin-transform-react-pure-annotations": ^7.16.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d0a052a418891ab6a02df9c75f0202964ad3b936c20bc44c81bcf3f02c057383f2fa329e0cc79baaac1b4e5e5c8924d3df93a2dd9319efe8042e3b33849978b3 + checksum: 369712150d6a152720069db8d024320f3d9d2a6611e9b0be4aa03dcab8502fa0e9efc0693c93ba2d818d5243c9d03b015163d76efe65df600f15b9b0a206f674 languageName: node linkType: hard @@ -1389,21 +1402,21 @@ __metadata: linkType: hard "@babel/runtime-corejs3@npm:^7.10.2": - version: 7.17.9 - resolution: "@babel/runtime-corejs3@npm:7.17.9" + version: 7.18.3 + resolution: "@babel/runtime-corejs3@npm:7.18.3" dependencies: core-js-pure: ^3.20.2 regenerator-runtime: ^0.13.4 - checksum: c0893eb1ba4fd8a5a0e43d0fd5c3ad61c020dc5953bb74a76e9e10a0adfde7a5d8fd7e78d59b08dce3a0774948c6c40c81df0fdd0a1130c414fd3535fae365cb + checksum: 50319e107e4c3dc6662404daf1079ab1ecd1cb232577bf50e645c5051fa8977f6ce48a44aa1d158ce2beaec76a43df4fc404999bf4f03c66719c3f8b8fe50a4e languageName: node linkType: hard "@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.7, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.17.9 - resolution: "@babel/runtime@npm:7.17.9" + version: 7.18.3 + resolution: "@babel/runtime@npm:7.18.3" dependencies: regenerator-runtime: ^0.13.4 - checksum: 4d56bdb82890f386d5a57c40ef985a0ed7f0a78f789377a2d0c3e8826819e0f7f16ba0fe906d9b2241c5f7ca56630ef0653f5bb99f03771f7b87ff8af4bf5fe3 + checksum: db8526226aa02cfa35a5a7ac1a34b5f303c62a1f000c7db48cb06c6290e616483e5036ab3c4e7a84d0f3be6d4e2148d5fe5cec9564bf955f505c3e764b83d7f1 languageName: node linkType: hard @@ -1418,21 +1431,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.16.7, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.17.9, @babel/traverse@npm:^7.7.0": - version: 7.17.9 - resolution: "@babel/traverse@npm:7.17.9" +"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.0, @babel/traverse@npm:^7.18.2, @babel/traverse@npm:^7.18.5, @babel/traverse@npm:^7.7.0": + version: 7.18.5 + resolution: "@babel/traverse@npm:7.18.5" dependencies: "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.9 - "@babel/helper-environment-visitor": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-environment-visitor": ^7.18.2 "@babel/helper-function-name": ^7.17.9 "@babel/helper-hoist-variables": ^7.16.7 "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/parser": ^7.17.9 - "@babel/types": ^7.17.0 + "@babel/parser": ^7.18.5 + "@babel/types": ^7.18.4 debug: ^4.1.0 globals: ^11.1.0 - checksum: d907c71d1617589cc0cddc9837cb27bcb9b8f2117c379e13e72653745abe01da24e8c072bd0c91b9db33323ddb1086722756fbc50b487b2608733baf9dd6fd2c + checksum: cc0470c880e15a748ca3424665c65836dba450fd0331fb28f9d30aa42acd06387b6321996517ab1761213f781fe8d657e2c3ad67c34afcb766d50653b393810f languageName: node linkType: hard @@ -1447,13 +1460,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.16.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": - version: 7.17.0 - resolution: "@babel/types@npm:7.17.0" +"@babel/types@npm:^7.16.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.17.12, @babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2, @babel/types@npm:^7.18.4, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": + version: 7.18.4 + resolution: "@babel/types@npm:7.18.4" dependencies: "@babel/helper-validator-identifier": ^7.16.7 to-fast-properties: ^2.0.0 - checksum: 12e5a287986fe557188e87b2c5202223f1dc83d9239a196ab936fdb9f8c1eb0be717ff19f934b5fad4e29a75586d5798f74bed209bccea1c20376b9952056f0e + checksum: 85df59beb99c1b95e9e41590442f2ffa1e5b1b558d025489db40c9f7c906bd03a17da26c3ec486e5800e80af27c42ca7eee9506d9212ab17766d2d68d30fbf52 languageName: node linkType: hard @@ -1540,16 +1553,16 @@ __metadata: languageName: node linkType: hard -"@emotion/cache@npm:^11.7.1": - version: 11.7.1 - resolution: "@emotion/cache@npm:11.7.1" +"@emotion/cache@npm:^11.7.1, @emotion/cache@npm:^11.9.3": + version: 11.9.3 + resolution: "@emotion/cache@npm:11.9.3" dependencies: "@emotion/memoize": ^0.7.4 - "@emotion/sheet": ^1.1.0 + "@emotion/sheet": ^1.1.1 "@emotion/utils": ^1.0.0 "@emotion/weak-memoize": ^0.2.5 stylis: 4.0.13 - checksum: cf7aa8fe3bacfdedcda94b53e76a7635e122043439715fcfbf7f1a81340cfe6099a59134481a03ec3e0437466566d18528577d1e6ea92f5b98c372b8b38a8f35 + checksum: 6e0aab2fa5b9b6b0b9bf66b5328ed44265c23ced16b46c13d2602c3497fabd95299f6cf2c87cbc02b630452aa3cff599c194c538125d744aa135824129698ccc languageName: node linkType: hard @@ -1560,12 +1573,12 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^1.1.2": - version: 1.1.2 - resolution: "@emotion/is-prop-valid@npm:1.1.2" +"@emotion/is-prop-valid@npm:^1.1.2, @emotion/is-prop-valid@npm:^1.1.3": + version: 1.1.3 + resolution: "@emotion/is-prop-valid@npm:1.1.3" dependencies: "@emotion/memoize": ^0.7.4 - checksum: 58b1f2d429a589f8f5bc2c33a8732cbb7bbcb17131a103511ef9a94ac754d7eeb53d627f947da480cd977f9d419fd92e244991680292f3287204159652745707 + checksum: 511997c3bbaab5a967db65b65a111afc46c4aac8b3b87a436fd9e3dc2891829a9ada1405b77326f407d93934ee3b831e62248b498c071089312c5be080af75dd languageName: node linkType: hard @@ -1577,13 +1590,13 @@ __metadata: linkType: hard "@emotion/react@npm:^11.6.0": - version: 11.9.0 - resolution: "@emotion/react@npm:11.9.0" + version: 11.9.3 + resolution: "@emotion/react@npm:11.9.3" dependencies: "@babel/runtime": ^7.13.10 "@emotion/babel-plugin": ^11.7.1 - "@emotion/cache": ^11.7.1 - "@emotion/serialize": ^1.0.3 + "@emotion/cache": ^11.9.3 + "@emotion/serialize": ^1.0.4 "@emotion/utils": ^1.1.0 "@emotion/weak-memoize": ^0.2.5 hoist-non-react-statics: ^3.3.1 @@ -1595,38 +1608,38 @@ __metadata: optional: true "@types/react": optional: true - checksum: 4ceb004f942fb7557a55ea17aad2c48c4cd48ed5a780ccdc2993e4bded2f94d7c1764bd2f4fbe53f5b26059263599cec64ff66d29447e281a58c60b39c72e5cc + checksum: 19bc7205e85e87cadebbe5a926d45103b836af70ab6972ea4c333c8dd01b463fc9646d4e4097a36f145a05dd4bc388739667437b990f8cf7f7f925f9610d1aa8 languageName: node linkType: hard -"@emotion/serialize@npm:^1.0.2, @emotion/serialize@npm:^1.0.3": - version: 1.0.3 - resolution: "@emotion/serialize@npm:1.0.3" +"@emotion/serialize@npm:^1.0.2, @emotion/serialize@npm:^1.0.4": + version: 1.0.4 + resolution: "@emotion/serialize@npm:1.0.4" dependencies: "@emotion/hash": ^0.8.0 "@emotion/memoize": ^0.7.4 "@emotion/unitless": ^0.7.5 "@emotion/utils": ^1.0.0 csstype: ^3.0.2 - checksum: 99a9053bd98c99d63af542ebee029281eeaf653e3a12e97ee79bad7330c68408104c30be6fc07a528e38bb69aba680655181744b76ec6c6f459c121cb805fac2 + checksum: e8cc342056734e176ea837fe44035126dea174962db40852a7ced499d258c0056b0fd3c298743c446f9ba0f2647cb42dfb623b8e5783c265deb9eb20138d68e7 languageName: node linkType: hard -"@emotion/sheet@npm:^1.1.0": - version: 1.1.0 - resolution: "@emotion/sheet@npm:1.1.0" - checksum: a4b74e16a8fea1157413efe4904f5f679d724323cb605d66d20a0b98744422f5d411fca927ceb52e4de454a0a819c5273ca9496db9f011b4ecd17b9f1b212007 +"@emotion/sheet@npm:^1.1.1": + version: 1.1.1 + resolution: "@emotion/sheet@npm:1.1.1" + checksum: b916ac665735ef6dfda26b09f2d3493789d432d649733db9da18c4db0115e7fdadeb8d45f6490320248916bb13d978bba74c914b711ac96f659b76a5e52d5cd2 languageName: node linkType: hard "@emotion/styled@npm:^11.6.0": - version: 11.8.1 - resolution: "@emotion/styled@npm:11.8.1" + version: 11.9.3 + resolution: "@emotion/styled@npm:11.9.3" dependencies: "@babel/runtime": ^7.13.10 "@emotion/babel-plugin": ^11.7.1 - "@emotion/is-prop-valid": ^1.1.2 - "@emotion/serialize": ^1.0.2 + "@emotion/is-prop-valid": ^1.1.3 + "@emotion/serialize": ^1.0.4 "@emotion/utils": ^1.1.0 peerDependencies: "@babel/core": ^7.0.0 @@ -1637,7 +1650,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 67150fa788785c34e285b90acecc91fe7a63babceaefbeffd053bed0fa31f72a05bfeeb9d15620766e543e007b9ccac2e836812eec2e791f962ec4e52731ae4c + checksum: 16d9ef8c5840b13ec47f91f9963b64ec8a94197fe99bb3bd4e9f7404a09bb65a333e9ab6590af97c0090360816db70e8c920731198c3a30fbb2c2cfd5e8d8a65 languageName: node linkType: hard @@ -1692,27 +1705,65 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0": + version: 0.3.1 + resolution: "@jridgewell/gen-mapping@npm:0.3.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.0.6 - resolution: "@jridgewell/resolve-uri@npm:3.0.6" - checksum: e57cc08d2aaea6bd55e77e7a124beb2fcca87be28c0db6c2d69b7cb2cb4e14109bbef1d57ae6250bf5f4a4ad950f094ed99c8925adaf82336b66dab0ad6906e6 + version: 3.0.7 + resolution: "@jridgewell/resolve-uri@npm:3.0.7" + checksum: 94f454f4cef8f0acaad85745fd3ca6cd0d62ef731cf9f952ecb89b8b2ce5e20998cd52be31311cedc5fa5b28b1708a15f3ad9df0fe1447ee4f42959b036c4b5b + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.0": + version: 1.1.1 + resolution: "@jridgewell/set-array@npm:1.1.1" + checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2 + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/source-map@npm:0.3.2" + dependencies: + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 languageName: node linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.11 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.11" - checksum: 3b2afaf8400fb07a36db60e901fcce6a746cdec587310ee9035939d89878e57b2dec8173b0b8f63176f647efa352294049a53c49739098eb907ff81fec2547c8 + version: 1.4.13 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.13" + checksum: f14449096f60a5f921262322fef65ce0bbbfb778080b3b20212080bcefdeba621c43a58c27065bd536ecb4cc767b18eb9c45f15b6b98a4970139572b60603a1c languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.0": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.13 + resolution: "@jridgewell/trace-mapping@npm:0.3.13" dependencies: "@jridgewell/resolve-uri": ^3.0.3 "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef + checksum: e38254e830472248ca10a6ed1ae75af5e8514f0680245a5e7b53bc3c030fd8691d4d3115d80595b45d3badead68269769ed47ecbbdd67db1343a11f05700e75a languageName: node linkType: hard @@ -1757,17 +1808,17 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-alpha.77": - version: 5.0.0-alpha.77 - resolution: "@mui/base@npm:5.0.0-alpha.77" +"@mui/base@npm:5.0.0-alpha.86": + version: 5.0.0-alpha.86 + resolution: "@mui/base@npm:5.0.0-alpha.86" dependencies: "@babel/runtime": ^7.17.2 "@emotion/is-prop-valid": ^1.1.2 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.6.1 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.4 "@popperjs/core": ^2.11.5 clsx: ^1.1.1 - prop-types: ^15.7.2 + prop-types: ^15.8.1 react-is: ^17.0.2 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -1776,24 +1827,23 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 31bd5f47bf24e46f594a62a4375cc2c289b764d3f73752294d22af8c8a4d521405117b36aae58bb9b998c537b29c3e70dd64ba029b83cae04fdf6d017e82501d + checksum: fea157d932b7230c155ff2cdce167cfe4763ae819367513db551f2cafda89b627a06701ae963b10b9b6a57242480288830f177bc823973eb79c14f26e4be81b0 languageName: node linkType: hard "@mui/material@npm:^5.2.1": - version: 5.6.2 - resolution: "@mui/material@npm:5.6.2" + version: 5.8.5 + resolution: "@mui/material@npm:5.8.5" dependencies: "@babel/runtime": ^7.17.2 - "@mui/base": 5.0.0-alpha.77 - "@mui/system": ^5.6.2 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.6.1 + "@mui/base": 5.0.0-alpha.86 + "@mui/system": ^5.8.5 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.4 "@types/react-transition-group": ^4.4.4 clsx: ^1.1.1 - csstype: ^3.0.11 - hoist-non-react-statics: ^3.3.2 - prop-types: ^15.7.2 + csstype: ^3.1.0 + prop-types: ^15.8.1 react-is: ^17.0.2 react-transition-group: ^4.4.2 peerDependencies: @@ -1809,34 +1859,34 @@ __metadata: optional: true "@types/react": optional: true - checksum: 40b76b13ec068e2b218573a74b1b8ae86278b12c686f4d58a3f43bbb0c8a9f9d3ecf63b5c7e9b1cd9e51e8f852470b422c8980839b179a0bfe3271441f2bcfcb + checksum: c315c5e7ca2eb3a0afce76066f0ba816932d46252ea8ab572895e27a85dcf9952cb2128ce3b87b087ce5e86c844c85cf7876c0112f058111539290b4a387e8e7 languageName: node linkType: hard -"@mui/private-theming@npm:^5.6.2": - version: 5.6.2 - resolution: "@mui/private-theming@npm:5.6.2" +"@mui/private-theming@npm:^5.8.4": + version: 5.8.4 + resolution: "@mui/private-theming@npm:5.8.4" dependencies: "@babel/runtime": ^7.17.2 - "@mui/utils": ^5.6.1 - prop-types: ^15.7.2 + "@mui/utils": ^5.8.4 + prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 6fa6c16c52255203123a83e9c50e9f5eac70c4b749f32157fbd6a2f7c12716dda5128bc830476a7e39e356a4a4cf2343d84c72d72979ab17aa924a4afb6c41a4 + checksum: edcbd7c19ecda62d66712463dda843913119a5b43c4a8223f2aab9cf765ea7a15fe9fb527d2a25912b68737ff49263d5b8468ee275d16d7123ef0dbf952e42eb languageName: node linkType: hard -"@mui/styled-engine@npm:^5.6.1": - version: 5.6.1 - resolution: "@mui/styled-engine@npm:5.6.1" +"@mui/styled-engine@npm:^5.8.0": + version: 5.8.0 + resolution: "@mui/styled-engine@npm:5.8.0" dependencies: "@babel/runtime": ^7.17.2 "@emotion/cache": ^11.7.1 - prop-types: ^15.7.2 + prop-types: ^15.8.1 peerDependencies: "@emotion/react": ^11.4.1 "@emotion/styled": ^11.3.0 @@ -1846,22 +1896,22 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: cd17d05902118d5cab20e321a2a8240de3be00454b7dfbce9cfb81404a7b3d996ad6b7de19dbf5fcfc7ee7a0f7acd80fc779830af1d2787914fb1b42408b4904 + checksum: f1140151cb06b72af774e6c14f537879bee0e699fff05cac5f9b1e4483d5202e161dc6d8e23ff7e31e3f660867056689b2225ab1d7ad69f45dc489d9ed058a92 languageName: node linkType: hard -"@mui/system@npm:^5.6.2": - version: 5.6.2 - resolution: "@mui/system@npm:5.6.2" +"@mui/system@npm:^5.8.5": + version: 5.8.5 + resolution: "@mui/system@npm:5.8.5" dependencies: "@babel/runtime": ^7.17.2 - "@mui/private-theming": ^5.6.2 - "@mui/styled-engine": ^5.6.1 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.6.1 + "@mui/private-theming": ^5.8.4 + "@mui/styled-engine": ^5.8.0 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.4 clsx: ^1.1.1 - csstype: ^3.0.11 - prop-types: ^15.7.2 + csstype: ^3.1.0 + prop-types: ^15.8.1 peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 @@ -1874,34 +1924,34 @@ __metadata: optional: true "@types/react": optional: true - checksum: b7ec38174b6949873b3089b9e1d21ef4feac8aa3e561ec8606b635c6f78fbbfb535e5b9733f579af3c004961279eb46a4e975bd7df83674bf1d6292ee7a89950 + checksum: ffce524a6dcd5cd74b045a36386ebeb35ef0bfc2629ce12e2d630a85e8cdfca0cdc842375b930ea66d7d7588493af96c87320528aca39937c2a645c5a7642cd8 languageName: node linkType: hard -"@mui/types@npm:^7.1.3": - version: 7.1.3 - resolution: "@mui/types@npm:7.1.3" +"@mui/types@npm:^7.1.4": + version: 7.1.4 + resolution: "@mui/types@npm:7.1.4" peerDependencies: "@types/react": "*" peerDependenciesMeta: "@types/react": optional: true - checksum: 4990f505f1058bdd4c01ea21a6a6f788e5d3ff73b50962879d33bbf9c98ef1f18d8b6664025ce1dbd42544a79d7697d0011834f8fd83d12c9705f2c702829bb4 + checksum: 861231bdfbd3e352b3efa200415c2723e14eee60d7f63d7e5755b84255ca8a9be022ecd2585c5bb1b7b029b4f145f675d5952a46914d03355a03e53881cf949b languageName: node linkType: hard -"@mui/utils@npm:^5.6.1": - version: 5.6.1 - resolution: "@mui/utils@npm:5.6.1" +"@mui/utils@npm:^5.8.4": + version: 5.8.4 + resolution: "@mui/utils@npm:5.8.4" dependencies: "@babel/runtime": ^7.17.2 - "@types/prop-types": ^15.7.4 + "@types/prop-types": ^15.7.5 "@types/react-is": ^16.7.1 || ^17.0.0 - prop-types: ^15.7.2 + prop-types: ^15.8.1 react-is: ^17.0.2 peerDependencies: react: ^17.0.0 || ^18.0.0 - checksum: b05c57263e63d4f518ee416760114cfecfe3bdf23491cf277a69fedc47d00db52e799d90a384854a81d936bbaa7ea9907e4978ebd1c181305c5c2d19818d0b7c + checksum: 4d36ff74ee231be7f146bde7bb1f31f717c18f9c2617b5100448d827ac6a4e745645fd035be728ac408604ba58e2b375a96b1d50711801a150b2489c0ff2caf2 languageName: node linkType: hard @@ -2018,21 +2068,21 @@ __metadata: languageName: node linkType: hard -"@octokit/openapi-types@npm:^11.2.0": - version: 11.2.0 - resolution: "@octokit/openapi-types@npm:11.2.0" - checksum: eb373ea496bc96bf0233505a0916eb38cb193d1829cab935e1cf1fd21839c402a1d835d3c0326290c756c0ed980a64d0ae73ad3c5d5decde9000f0828aa7ff52 +"@octokit/openapi-types@npm:^12.4.0": + version: 12.4.0 + resolution: "@octokit/openapi-types@npm:12.4.0" + checksum: 80c45bb8a63acd58c752b366915ed34c79948722eaf8bb018845949b3871ba3eaa7b8f629f4cb0c9e7eb564225a85116ffd6ae470c1cc17683bf707ae361c200 languageName: node linkType: hard "@octokit/plugin-paginate-rest@npm:^2.16.8": - version: 2.17.0 - resolution: "@octokit/plugin-paginate-rest@npm:2.17.0" + version: 2.19.0 + resolution: "@octokit/plugin-paginate-rest@npm:2.19.0" dependencies: - "@octokit/types": ^6.34.0 + "@octokit/types": ^6.36.0 peerDependencies: "@octokit/core": ">=2" - checksum: c8753cda6f7ede79d0e9df43a54e56020aa1c9c6887684e0e0d45cb6ee0dcabf460c3e4b8a18edabef711bb269fd826616e99e78dc29fb30d47c210c562603a0 + checksum: f91a4374addbd6366eab46fbe91bbee9bb24975f1ff35db6b0f570bb24340cb4f2e456f4456c1e92acff68ab09418311414642e960cb2512f3db438b4b9639bf languageName: node linkType: hard @@ -2046,14 +2096,14 @@ __metadata: linkType: hard "@octokit/plugin-rest-endpoint-methods@npm:^5.12.0": - version: 5.13.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:5.13.0" + version: 5.15.0 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:5.15.0" dependencies: - "@octokit/types": ^6.34.0 + "@octokit/types": ^6.36.0 deprecation: ^2.3.1 peerDependencies: "@octokit/core": ">=3" - checksum: f331457e4317130adb456b27df2a99609fb54a4dc2da6f87009e567c7325680c901abf18ad08483535bab4ec1c892e4236f4135a2804603aebb12c0698c678c8 + checksum: 1a2a590c9f8c69ffa6fe9b2aea1b7f4443696be7a9c858e40b13e6aab801edd8c3c913bf01ff8128b3d3227d22dd52039d15a292ce2d15abb7c5772d89d37a2e languageName: node linkType: hard @@ -2094,12 +2144,12 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.34.0": - version: 6.34.0 - resolution: "@octokit/types@npm:6.34.0" +"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.36.0": + version: 6.37.0 + resolution: "@octokit/types@npm:6.37.0" dependencies: - "@octokit/openapi-types": ^11.2.0 - checksum: f122b9aee8f6baddd515e34a0913e73b21d4bc82d6ee59d77a8aaf01b4a02c10867dd013003d087a83dc96db23511893669015af6d30c27cece185e21cf1df89 + "@octokit/openapi-types": ^12.4.0 + checksum: 7de86fbe0de8c3ec72cdf0b95f6abb1f088d5bc76c8a130ec2d139897470821559726b092399f3dd0a3540d97393dd2088a6c12778411129d0879781f314445d languageName: node linkType: hard @@ -2468,9 +2518,9 @@ __metadata: languageName: node linkType: hard -"@sentry/cli@npm:^1.73.0": - version: 1.74.3 - resolution: "@sentry/cli@npm:1.74.3" +"@sentry/cli@npm:^1.74.4": + version: 1.74.4 + resolution: "@sentry/cli@npm:1.74.4" dependencies: https-proxy-agent: ^5.0.0 mkdirp: ^0.5.5 @@ -2481,7 +2531,7 @@ __metadata: which: ^2.0.2 bin: sentry-cli: bin/sentry-cli - checksum: f90f68d9849bcef031389738e467ae1a2aeca8c2a55b66820d816d0e99990864593dbc04d8c58cf8e6a7a5e320879486ddad09ffdcb0ae63da54f1aa3e0d7fe3 + checksum: 6fe63095edbb0f8c250ad813e24fddd65b3266763fbf628cfd865d2f68f7248ec38e600f220d6530a54ebf1a10cc51e1b5fbf203e28fab223d80a5afd4d5dfb2 languageName: node linkType: hard @@ -2538,11 +2588,11 @@ __metadata: linkType: hard "@sentry/webpack-plugin@npm:^1.10.0": - version: 1.18.8 - resolution: "@sentry/webpack-plugin@npm:1.18.8" + version: 1.18.9 + resolution: "@sentry/webpack-plugin@npm:1.18.9" dependencies: - "@sentry/cli": ^1.73.0 - checksum: e159ee1e4b486a6d602bcf04e08ce4f167c9148aa4b612f6871f81954fba0cf607297a77bcda22f6f882266ac715ce8cb7be55858eaebc9fdbb85737ae92eb04 + "@sentry/cli": ^1.74.4 + checksum: ff6edfebddd45a9d77686fe118661428ad309207b0ea6d579e38ea7edd0c390e7c84deb9e755bb0b5b118d628890e5be2146ace8c8ae72444d9d054c9c032a6d languageName: node linkType: hard @@ -2742,16 +2792,16 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 17.0.25 - resolution: "@types/node@npm:17.0.25" - checksum: 6a820bd624e69ea772f52a6cdb326484eff5829443dc981939373929ade109f58c21698b9f0a831bd6ceea799e722a75dc49c5fa7a6bc32a81e1cbdfc6507b64 + version: 18.0.0 + resolution: "@types/node@npm:18.0.0" + checksum: aab2b325727a2599f6d25ebe0dedf58c40fb66a51ce4ca9c0226ceb70fcda2d3afccdca29db5942eb48b158ee8585a274a1e3750c718bbd5399d7f41d62dfdcc languageName: node linkType: hard "@types/node@npm:^14.6.2": - version: 14.18.13 - resolution: "@types/node@npm:14.18.13" - checksum: 307cd26bd6b8135c4ab87c94182111f057e7e7232fd0ffcb2f5de9d3a0523d171bb9a97addfcc29f3ebed94f2a599af7c3622326eaa85907af265616775f0574 + version: 14.18.21 + resolution: "@types/node@npm:14.18.21" + checksum: 4ed35b76609647a4e36a194702e31cdda9ed42174ddaf7937bc5498984e98a99e8a42ea895ea17dd9c5ec18080112c29ab670c34f90eb9f7a4703b85b31e34fa languageName: node linkType: hard @@ -2779,7 +2829,7 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.4": +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5": version: 15.7.5 resolution: "@types/prop-types@npm:15.7.5" checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 @@ -2794,11 +2844,11 @@ __metadata: linkType: hard "@types/react-calendar@npm:^3.0.0": - version: 3.5.0 - resolution: "@types/react-calendar@npm:3.5.0" + version: 3.5.1 + resolution: "@types/react-calendar@npm:3.5.1" dependencies: "@types/react": "*" - checksum: 0dc7eadd0b27c91f0e90372e7aa9392e86dd80f137d13af10cf3692983a8391d85c2287c383ed5281cce10f646f2162ebd49002378a2e525bcd90ea2722b2923 + checksum: b3e8b01c8233266ae7e82862c5de300aaf2564343b1075eb35aaca656d2b8e0007e6a19a02d323fc963dbb56f5e454434a888cc4ad675ccbb17164d3522d3fcb languageName: node linkType: hard @@ -2833,13 +2883,13 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 18.0.6 - resolution: "@types/react@npm:18.0.6" + version: 18.0.14 + resolution: "@types/react@npm:18.0.14" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 368b40176f0dab30a611c3263bf1d9878cebede9ce8015bc5661a396787dbe41f0b667b8d6d448dea7bc8c0557bf3cb329ab2b16ad2dacb18eaa764358bd16d4 + checksum: 608eb57a383eedc54c79949673e5e8314f6b0c61542bff58721c8c47a18c23e2832e77c656050c2c2c004b62cf25582136c7c56fe1b6263a285c065fae31dbcf languageName: node linkType: hard @@ -2860,9 +2910,9 @@ __metadata: linkType: hard "@types/semver@npm:^7.3.6": - version: 7.3.9 - resolution: "@types/semver@npm:7.3.9" - checksum: 60bfcfdfa7f937be2c6f4b37ddb6714fb0f27b05fe4cbdfdd596a97d35ed95d13ee410efdd88e72a66449d0384220bf20055ab7d6b5df10de4990fbd20e5cbe0 + version: 7.3.10 + resolution: "@types/semver@npm:7.3.10" + checksum: 7047c2822b1759b2b950f39cfcf261f2b9dca47b4b55bdebba0905a8553631f1531eb0f59264ffe4834d1198c8331c8e0010a4cd742f4e0b60abbf399d134364 languageName: node linkType: hard @@ -2899,11 +2949,11 @@ __metadata: linkType: hard "@types/uglify-js@npm:*": - version: 3.13.2 - resolution: "@types/uglify-js@npm:3.13.2" + version: 3.16.0 + resolution: "@types/uglify-js@npm:3.16.0" dependencies: source-map: ^0.6.1 - checksum: 361e734404f23c9877edc51430e14e6f731124a4ba7590f0f584de35e3d084ac4f77bbcc5d17a69124d38f94f0d7a59992eb6a2dddaa6f6270df052ce2b6dc06 + checksum: 10b0c4a5f361b1389cdef0b705747586ff7ddd37894e55921b8ed02718bc64ee608f4f5493c571f95ce29a3fe8d3538b7236185974dad93c750d8c05b7bceab4 languageName: node linkType: hard @@ -2929,9 +2979,9 @@ __metadata: linkType: hard "@types/webpack-env@npm:^1.15.1": - version: 1.16.4 - resolution: "@types/webpack-env@npm:1.16.4" - checksum: 97554238364dae6b7369f9e6d409c7eab4b0235f99b16c69e7458afbb9c29cde128b3fd3a79a14b9bbb8b09d9f0ba377b51cc040f0a2bd2c8eddaf22657136be + version: 1.17.0 + resolution: "@types/webpack-env@npm:1.17.0" + checksum: 9ad4d208c4429c9427191d1f4c92e4c43e530384c17a6bc298acb89003fc47fcde1d8372e50acefa3061e9100e57fd9d616e96def875afd06c0c2afe508f298e languageName: node linkType: hard @@ -2983,36 +3033,25 @@ __metadata: languageName: node linkType: hard -"@videojs/http-streaming@npm:2.13.1": - version: 2.13.1 - resolution: "@videojs/http-streaming@npm:2.13.1" +"@videojs/http-streaming@npm:2.14.2": + version: 2.14.2 + resolution: "@videojs/http-streaming@npm:2.14.2" dependencies: "@babel/runtime": ^7.12.5 - "@videojs/vhs-utils": 3.0.4 - aes-decrypter: 3.1.2 + "@videojs/vhs-utils": 3.0.5 + aes-decrypter: 3.1.3 global: ^4.4.0 - m3u8-parser: 4.7.0 - mpd-parser: 0.21.0 + m3u8-parser: 4.7.1 + mpd-parser: 0.21.1 mux.js: 6.0.1 video.js: ^6 || ^7 peerDependencies: video.js: ^6 || ^7 - checksum: 846f85bc634268bf48e7b4c0cd6796f52e52a019aa89ff8251aa5e9314d26f8031383c221ba67ce145bd3a3cd1873175e363466b9781141386005a433e9c77c9 + checksum: 917855c1498ba745d8147297516a8cef0800d8caa3024e4af1f7cb5a6cf087ea0387a031dd7ba5b7d515ba37fe671ec61b0330a17e2cc1854cd2a4b5706fb620 languageName: node linkType: hard -"@videojs/vhs-utils@npm:3.0.4": - version: 3.0.4 - resolution: "@videojs/vhs-utils@npm:3.0.4" - dependencies: - "@babel/runtime": ^7.12.5 - global: ^4.4.0 - url-toolkit: ^2.2.1 - checksum: 1a709b60acdf423ddfb64453c0adc5d84e06c34d8fc44ccc99445a70e823fc5ec319999851307edd090c7a49b4d9ebc694d4fe1ebe9c523009570959b5ffa38b - languageName: node - linkType: hard - -"@videojs/vhs-utils@npm:^3.0.0, @videojs/vhs-utils@npm:^3.0.2, @videojs/vhs-utils@npm:^3.0.4": +"@videojs/vhs-utils@npm:3.0.5, @videojs/vhs-utils@npm:^3.0.4, @videojs/vhs-utils@npm:^3.0.5": version: 3.0.5 resolution: "@videojs/vhs-utils@npm:3.0.5" dependencies: @@ -3302,11 +3341,11 @@ __metadata: linkType: hard "acorn@npm:^8.5.0": - version: 8.7.0 - resolution: "acorn@npm:8.7.0" + version: 8.7.1 + resolution: "acorn@npm:8.7.1" bin: acorn: bin/acorn - checksum: e0f79409d68923fbf1aa6d4166f3eedc47955320d25c89a20cc822e6ba7c48c5963d5bc657bc242d68f7a4ac9faf96eef033e8f73656da6c640d4219935fdfd0 + checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 languageName: node linkType: hard @@ -3317,15 +3356,15 @@ __metadata: languageName: node linkType: hard -"aes-decrypter@npm:3.1.2": - version: 3.1.2 - resolution: "aes-decrypter@npm:3.1.2" +"aes-decrypter@npm:3.1.3": + version: 3.1.3 + resolution: "aes-decrypter@npm:3.1.3" dependencies: "@babel/runtime": ^7.12.5 - "@videojs/vhs-utils": ^3.0.0 + "@videojs/vhs-utils": ^3.0.5 global: ^4.4.0 pkcs7: ^1.0.4 - checksum: e828397e338734443f1226f0f6763854615f427baab05175a270d99aea40773f93bba54668b9db9c198f32b15295d736513d0f5255922427d19256b1c1e5536e + checksum: e634af25c5086894690062a2875d87e80118cd8f7945a162b4f8aaadb4e5c0f0656d2c31c619024c64f935c04938260f30e1531607617ce775430c74a840ca14 languageName: node linkType: hard @@ -3690,16 +3729,16 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.4 - resolution: "array-includes@npm:3.1.4" +"array-includes@npm:^3.1.4, array-includes@npm:^3.1.5": + version: 3.1.5 + resolution: "array-includes@npm:3.1.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 get-intrinsic: ^1.1.1 is-string: ^1.0.7 - checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 + checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 languageName: node linkType: hard @@ -3745,7 +3784,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.5": +"array.prototype.flatmap@npm:^1.3.0": version: 1.3.0 resolution: "array.prototype.flatmap@npm:1.3.0" dependencies: @@ -3757,6 +3796,19 @@ __metadata: languageName: node linkType: hard +"array.prototype.reduce@npm:^1.0.4": + version: 1.0.4 + resolution: "array.prototype.reduce@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.2 + es-array-method-boxes-properly: ^1.0.0 + is-string: ^1.0.7 + checksum: 6a57a1a2d3b77a9543db139cd52211f43a5af8e8271cb3c173be802076e3a6f71204ba8f090f5937ebc0842d5876db282f0f63dffd0e86b153e6e5a45681e4a5 + languageName: node + linkType: hard + "asar@npm:^3.0.3": version: 3.1.0 resolution: "asar@npm:3.1.0" @@ -3872,9 +3924,9 @@ __metadata: linkType: hard "async@npm:^3.2.3": - version: 3.2.3 - resolution: "async@npm:3.2.3" - checksum: c4bee57ab2249af3dc83ca3ef9acfa8e822c0d5e5aa41bae3eaf7f673648343cd64ecd7d26091ffd357f3f044428b17b5f00098494b6cf8b6b3e9681f0636ca1 + version: 3.2.4 + resolution: "async@npm:3.2.4" + checksum: 43d07459a4e1d09b84a20772414aa684ff4de085cbcaec6eea3c7a8f8150e8c62aa6cd4e699fe8ee93c3a5b324e777d34642531875a0817a35697522c1b02e89 languageName: node linkType: hard @@ -3929,9 +3981,9 @@ __metadata: linkType: hard "axe-core@npm:^4.3.5": - version: 4.4.1 - resolution: "axe-core@npm:4.4.1" - checksum: ad14c5b71059dc3d24ef2519b8cd96e98b4a572379396201ce449d1c4262181821d6ca9550df65b22371faf06d28bbe94d391fe5675f2a08e6550f7b5da8416d + version: 4.4.2 + resolution: "axe-core@npm:4.4.2" + checksum: 93fbb36c5ac8ab5e67e49678a6f7be0dc799a9f560edd95cca1f0a8183def8c50205972366b9941a3ea2b20224a1fe230e6d87ef38cb6db70472ed1b694febd1 languageName: node linkType: hard @@ -4262,27 +4314,29 @@ __metadata: linkType: hard "bn.js@npm:^5.0.0, bn.js@npm:^5.1.1": - version: 5.2.0 - resolution: "bn.js@npm:5.2.0" - checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 languageName: node linkType: hard -"body-parser@npm:1.19.2": - version: 1.19.2 - resolution: "body-parser@npm:1.19.2" +"body-parser@npm:1.20.0": + version: 1.20.0 + resolution: "body-parser@npm:1.20.0" dependencies: bytes: 3.1.2 content-type: ~1.0.4 debug: 2.6.9 - depd: ~1.1.2 - http-errors: 1.8.1 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 iconv-lite: 0.4.24 - on-finished: ~2.3.0 - qs: 6.9.7 - raw-body: 2.4.3 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 type-is: ~1.6.18 - checksum: 7f777ea65670e2622ca4a785b5dcb2a68451b3bb8d4d0f41091d307d56b640dba588a9ae04d85dda2cdd5e42788266a783528d5417e5643720fd611fd52522e7 + unpipe: 1.0.0 + checksum: 12fffdeac82fe20dddcab7074215d5156e7d02a69ae90cbe9fee1ca3efa2f28ef52097cbea76685ee0a1509c71d85abd0056a08e612c09077cad6277a644cf88 languageName: node linkType: hard @@ -4496,18 +4550,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.17.5, browserslist@npm:^4.20.2": - version: 4.20.2 - resolution: "browserslist@npm:4.20.2" +"browserslist@npm:^4.0.0, browserslist@npm:^4.20.2, browserslist@npm:^4.20.4": + version: 4.21.0 + resolution: "browserslist@npm:4.21.0" dependencies: - caniuse-lite: ^1.0.30001317 - electron-to-chromium: ^1.4.84 - escalade: ^3.1.1 - node-releases: ^2.0.2 - picocolors: ^1.0.0 + caniuse-lite: ^1.0.30001358 + electron-to-chromium: ^1.4.164 + node-releases: ^2.0.5 + update-browserslist-db: ^1.0.0 bin: browserslist: cli.js - checksum: 18e09beeae32e69fea45fc3642240fb63027b1460d90e24da86377177dca3d82c80f8fa44469d95109e3962f08eb2a23e03037bd5e1f1ec38e4866e2a8572435 + checksum: dfad21090d0a4745f55c4c126172bc4d5743a500440791c731773f215a16f201a0b8a114c040fa5788ce2d1a13076601f751e54ee6c5f9de59f0cee3ce9875e3 languageName: node linkType: hard @@ -4731,9 +4784,9 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^16.0.2": - version: 16.0.6 - resolution: "cacache@npm:16.0.6" +"cacache@npm:^16.1.0": + version: 16.1.1 + resolution: "cacache@npm:16.1.1" dependencies: "@npmcli/fs": ^2.1.0 "@npmcli/move-file": ^2.0.0 @@ -4753,7 +4806,7 @@ __metadata: ssri: ^9.0.0 tar: ^6.1.11 unique-filename: ^1.1.1 - checksum: c9813d4aa0452ecfdb7f796d931d0b8068fc921a3575fb858c26ab12ed41634a995135dbd56afd64ec4de141bd78c7021ce5aeabce83453c7342d3ed126815df + checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a languageName: node linkType: hard @@ -4899,10 +4952,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001317": - version: 1.0.30001332 - resolution: "caniuse-lite@npm:1.0.30001332" - checksum: e54182ea42ab3d2ff1440f9a6480292f7ab23c00c188df7ad65586312e4da567e8bedd5cb5fb8f0ff4193dc027a54e17e0b3c0b6db5d5a3fb61c7726ff9c45b3 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001358": + version: 1.0.30001358 + resolution: "caniuse-lite@npm:1.0.30001358" + checksum: dd8d8e6b1f5e24b97d38bb110c35b96f701f8a303e7066e9d0dc4d0ae99d741e89d56688d4e811e260c5fe573835f2bedd49a6f35f3f43e9fa7e5d154b1fad0e languageName: node linkType: hard @@ -5102,9 +5155,9 @@ __metadata: linkType: hard "ci-info@npm:^3.2.0": - version: 3.3.0 - resolution: "ci-info@npm:3.3.0" - checksum: c3d86fe374938ecda5093b1ba39acb535d8309185ba3f23587747c6a057e63f45419b406d880304dbc0e1d72392c9a33e42fe9a1e299209bc0ded5efaa232b66 + version: 3.3.2 + resolution: "ci-info@npm:3.3.2" + checksum: fd81f1edd2d3b0f6cb077b2e84365136d87b9db8c055928c1ad69da8a76c2c2f19cba8ea51b90238302157ca927f91f92b653e933f2398dde4867500f08d6e62 languageName: node linkType: hard @@ -5309,9 +5362,9 @@ __metadata: linkType: hard "codemirror@npm:^5.39.2, codemirror@npm:^5.63.1": - version: 5.65.3 - resolution: "codemirror@npm:5.65.3" - checksum: 89bc7f99c15a021bfd3671a943e58589cd5108f08738882d79458a4f432a05ff1d50bb664e7d0c02c639ec98241c9840f1fd9de5f458a7b0e15628892839aef0 + version: 5.65.6 + resolution: "codemirror@npm:5.65.6" + checksum: d65aa28af06df5e37fc34a0ae0cd96566411f2c62a157047a2993c2d4db312452e3e5542a64aad66e9bd2114a2dfce448032be71fb382452753d7a6deeaa08dc languageName: node linkType: hard @@ -5495,13 +5548,13 @@ __metadata: languageName: node linkType: hard -"compress-brotli@npm:^1.3.6": - version: 1.3.6 - resolution: "compress-brotli@npm:1.3.6" +"compress-brotli@npm:^1.3.8": + version: 1.3.8 + resolution: "compress-brotli@npm:1.3.8" dependencies: "@types/json-buffer": ~3.0.0 json-buffer: ~3.0.1 - checksum: 9db8e082a3286bd6a0da2b6b2929c62a827c5a1bee8f0d1c777cccfcef14c9e751d93ae46329f1529bfbfab9b6f241465e3a1c895be235c6e923f5017d952d00 + checksum: de7589d692d40eb362f6c91070b5e51bc10b05a89eabb4a7c76c1aa21b625756f8c101c6999e4df0c4dc6199c5ca2e1353573bfdcca5615810f27485394162a5 languageName: node linkType: hard @@ -5688,10 +5741,10 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.2": - version: 0.4.2 - resolution: "cookie@npm:0.4.2" - checksum: a00833c998bedf8e787b4c342defe5fa419abd96b32f4464f718b91022586b8f1bafbddd499288e75c037642493c83083da426c6a9080d309e3bd90fd11baa9b +"cookie@npm:0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 languageName: node linkType: hard @@ -5755,20 +5808,20 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0": - version: 3.22.2 - resolution: "core-js-compat@npm:3.22.2" +"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": + version: 3.23.2 + resolution: "core-js-compat@npm:3.23.2" dependencies: - browserslist: ^4.20.2 + browserslist: ^4.20.4 semver: 7.0.0 - checksum: 4460d99c1e618a543976ebcc329c5e063254d746bf1eeda5e2ab7b43589071e8627b950c10e6189d8d231982788969203dbcdc264a5bb6dcea6ddfb32cce0214 + checksum: cc5e436fd0527bec0135301c65cdc7957fdca038b3ce0a9a17272b43c2158d03a52e60120ae60d3618173922fad91597d749bca8decf92c8fb4ee109a887b72b languageName: node linkType: hard "core-js-pure@npm:^3.20.2": - version: 3.22.2 - resolution: "core-js-pure@npm:3.22.2" - checksum: d0618aa2f45182fbce5feb6b436c72a71e1d2a739ec7546be453460fc9938d30235da4506ea128a22780ca00b84f4f5528da8019719a2fba16da6f44999d3bff + version: 3.23.2 + resolution: "core-js-pure@npm:3.23.2" + checksum: 0be2475c037790073dc40972cd7621481569d23a8e802f46b970f4ecc93170507774d198a7df74cf991acf6826f1e616cdb4782f602d935bd9c1999227684d70 languageName: node linkType: hard @@ -6254,10 +6307,10 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.11, csstype@npm:^3.0.2": - version: 3.0.11 - resolution: "csstype@npm:3.0.11" - checksum: 95e56abfe9ca219ae065acb4e43f61771a03170eed919127f558dfa168240867aba7629c8d98a201a0dd06d9a5ce82686f0570031c928516c61816adbc7c877f +"csstype@npm:^3.0.2, csstype@npm:^3.1.0": + version: 3.1.0 + resolution: "csstype@npm:3.1.0" + checksum: 644e986cefab86525f0b674a06889cfdbb1f117e5b7d1ce0fc55b0423ecc58807a1ea42ecc75c4f18999d14fc42d1d255f84662a45003a52bb5840e977eb2ffd languageName: node linkType: hard @@ -6496,7 +6549,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" dependencies: @@ -6577,6 +6630,13 @@ __metadata: languageName: node linkType: hard +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a + languageName: node + linkType: hard + "depd@npm:^1.1.2, depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" @@ -6601,10 +6661,10 @@ __metadata: languageName: node linkType: hard -"destroy@npm:~1.0.4": - version: 1.0.4 - resolution: "destroy@npm:1.0.4" - checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 languageName: node linkType: hard @@ -7033,13 +7093,13 @@ __metadata: linkType: hard "ejs@npm:^3.1.5, ejs@npm:^3.1.6": - version: 3.1.7 - resolution: "ejs@npm:3.1.7" + version: 3.1.8 + resolution: "ejs@npm:3.1.8" dependencies: jake: ^10.8.5 bin: ejs: bin/cli.js - checksum: fe40764af39955ce8f8b116716fc8b911959946698edb49ecab85df597746c07aa65d5b74ead28a1e2ffa75b0f92d9bedd752f1c29437da6137b3518271e988c + checksum: 1d40d198ad52e315ccf37e577bdec06e24eefdc4e3c27aafa47751a03a0c7f0ec4310254c9277a5f14763c3cd4bbacce27497332b2d87c74232b9b1defef8efc languageName: node linkType: hard @@ -7157,10 +7217,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.84": - version: 1.4.118 - resolution: "electron-to-chromium@npm:1.4.118" - checksum: b1941bdff3ff8cb10a6f75f60527bff37fc43878b2ff4e0c1b5d6aa5062ea97df4e8c75e6d4c6eb97f0bab1cac6f8f1d799b7316e69f66b6a4b9b6773af97de2 +"electron-to-chromium@npm:^1.4.164": + version: 1.4.165 + resolution: "electron-to-chromium@npm:1.4.165" + checksum: dbbb2e825df41cd012401e36b3c0ff934607c5ddee59402763b19093ead6ca20a87656474189de01dafb088e8e73792685bd01f50a62e9b86687d717179dca65 languageName: node linkType: hard @@ -7462,16 +7522,18 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.2, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2": - version: 1.19.5 - resolution: "es-abstract@npm:1.19.5" +"es-abstract@npm:^1.17.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.1": + version: 1.20.1 + resolution: "es-abstract@npm:1.20.1" dependencies: call-bind: ^1.0.2 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 get-intrinsic: ^1.1.1 get-symbol-description: ^1.0.0 has: ^1.0.3 + has-property-descriptors: ^1.0.0 has-symbols: ^1.0.3 internal-slot: ^1.0.3 is-callable: ^1.2.4 @@ -7483,10 +7545,18 @@ __metadata: object-inspect: ^1.12.0 object-keys: ^1.1.1 object.assign: ^4.1.2 - string.prototype.trimend: ^1.0.4 - string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.1 - checksum: 55199b0f179a12b3b0ec9c9f2e3a27a7561686e4f88d46f9ef32c836448a336e367c14d8f792612fc83a64113896e478259e4dffbbcffb3efdd06650f6360324 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 languageName: node linkType: hard @@ -7742,26 +7812,26 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.7.0": - version: 7.29.4 - resolution: "eslint-plugin-react@npm:7.29.4" + version: 7.30.0 + resolution: "eslint-plugin-react@npm:7.30.0" dependencies: - array-includes: ^3.1.4 - array.prototype.flatmap: ^1.2.5 + array-includes: ^3.1.5 + array.prototype.flatmap: ^1.3.0 doctrine: ^2.1.0 estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 object.entries: ^1.1.5 object.fromentries: ^2.0.5 - object.hasown: ^1.1.0 + object.hasown: ^1.1.1 object.values: ^1.1.5 prop-types: ^15.8.1 resolve: ^2.0.0-next.3 semver: ^6.3.0 - string.prototype.matchall: ^4.0.6 + string.prototype.matchall: ^4.0.7 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: bb7d3715ccd7f3e0d7bfaa2125b26d96865695bcfea4a3d510a5763342a74ab5b99a88e13aad9245f9461ad87e4bce69c33fc946888115d576233f9b6e69700d + checksum: 729b7682a0fe6eab068171c159503ac57120ecc7b20067e76300b08879745c16a687e2033378ab45d9a3182da8844d06197a89081be83e1eb21fcceb76e79214 languageName: node linkType: hard @@ -7949,12 +8019,10 @@ __metadata: languageName: node linkType: hard -"eventsource@npm:^1.1.0": - version: 1.1.0 - resolution: "eventsource@npm:1.1.0" - dependencies: - original: ^1.0.0 - checksum: 78338b7e75ec471cb793efb3319e0c4d2bf00fb638a2e3f888ad6d98cd1e3d4492a29f554c0921c7b2ac5130c3a732a1a0056739f6e2f548d714aec685e5da7e +"eventsource@npm:^2.0.2": + version: 2.0.2 + resolution: "eventsource@npm:2.0.2" + checksum: c0072d972753e10c705d9b2285b559184bf29d011bc208973dde9c8b6b8b7b6fdad4ef0846cecb249f7b1585e860fdf324cbd2ac854a76bc53649e797496e99a languageName: node linkType: hard @@ -8061,40 +8129,41 @@ __metadata: linkType: hard "express@npm:^4.16.3, express@npm:^4.17.1": - version: 4.17.3 - resolution: "express@npm:4.17.3" + version: 4.18.1 + resolution: "express@npm:4.18.1" dependencies: accepts: ~1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.2 + body-parser: 1.20.0 content-disposition: 0.5.4 content-type: ~1.0.4 - cookie: 0.4.2 + cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 - depd: ~1.1.2 + depd: 2.0.0 encodeurl: ~1.0.2 escape-html: ~1.0.3 etag: ~1.8.1 - finalhandler: ~1.1.2 + finalhandler: 1.2.0 fresh: 0.5.2 + http-errors: 2.0.0 merge-descriptors: 1.0.1 methods: ~1.1.2 - on-finished: ~2.3.0 + on-finished: 2.4.1 parseurl: ~1.3.3 path-to-regexp: 0.1.7 proxy-addr: ~2.0.7 - qs: 6.9.7 + qs: 6.10.3 range-parser: ~1.2.1 safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 + send: 0.18.0 + serve-static: 1.15.0 setprototypeof: 1.2.0 - statuses: ~1.5.0 + statuses: 2.0.1 type-is: ~1.6.18 utils-merge: 1.0.1 vary: ~1.1.2 - checksum: 967e53b74a37eafdf9789b9938c8df86102928b4985b1ad5e385c709deeab405a364de95ca744bc2cc5d05b5d9cc1efc69ae2ae17688a462038648d5a924bfad + checksum: c3d44c92e48226ef32ec978becfedb0ecf0ca21316bfd33674b3c5d20459840584f2325726a4f17f33d9c99f769636f728982d1c5433a5b6fe6eb95b8cf0c854 languageName: node linkType: hard @@ -8370,11 +8439,11 @@ __metadata: linkType: hard "filelist@npm:^1.0.1": - version: 1.0.3 - resolution: "filelist@npm:1.0.3" + version: 1.0.4 + resolution: "filelist@npm:1.0.4" dependencies: minimatch: ^5.0.1 - checksum: c78048691a31b91d54908ce2eac4731bf108613c7b2e4d1a05a6cbe6739bd067e4c1a3baa4f7d07b7143b8c374c0c0d59864b5c8d9168ec8e2a85f84fb7170ad + checksum: a303573b0821e17f2d5e9783688ab6fbfce5d52aaac842790ae85e704a6f5e4e3538660a63183d6453834dedf1e0f19a9dadcebfa3e926c72397694ea11f5160 languageName: node linkType: hard @@ -8406,18 +8475,18 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.1.2": - version: 1.1.2 - resolution: "finalhandler@npm:1.1.2" +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" dependencies: debug: 2.6.9 encodeurl: ~1.0.2 escape-html: ~1.0.3 - on-finished: ~2.3.0 + on-finished: 2.4.1 parseurl: ~1.3.3 - statuses: ~1.5.0 + statuses: 2.0.1 unpipe: ~1.0.0 - checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e + checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 languageName: node linkType: hard @@ -8562,8 +8631,8 @@ __metadata: linkType: hard "flowgen@npm:^1.10.0": - version: 1.19.0 - resolution: "flowgen@npm:1.19.0" + version: 1.20.0 + resolution: "flowgen@npm:1.20.0" dependencies: "@babel/code-frame": ^7.16.7 "@babel/highlight": ^7.16.7 @@ -8575,7 +8644,7 @@ __metadata: typescript-compiler: ^1.4.1-2 bin: flowgen: lib/cli/index.js - checksum: 36067816577e6c1a0a506bd896f3d78200f40a1ffcec9b30de8847d091b834760993ae0a6e21a2746aa966330b0608c45b59e774c173b61b81cb7ba82d6746ea + checksum: 412e3118b18b553791f34e38b0e30297627ca0a03e2c107c6255e051db8834f313fdc49267c28aa25c87686d346ad6676bb6cd5bb68448d8618a0e1be12e83fc languageName: node linkType: hard @@ -8590,12 +8659,12 @@ __metadata: linkType: hard "follow-redirects@npm:^1.0.0": - version: 1.14.9 - resolution: "follow-redirects@npm:1.14.9" + version: 1.15.1 + resolution: "follow-redirects@npm:1.15.1" peerDependenciesMeta: debug: optional: true - checksum: f5982e0eb481818642492d3ca35a86989c98af1128b8e1a62911a3410621bc15d2b079e8170b35b19d3bdee770b73ed431a257ed86195af773771145baa57845 + checksum: 6aa4e3e3cdfa3b9314801a1cd192ba756a53479d9d8cca65bf4db3a3e8834e62139245cd2f9566147c8dfe2efff1700d3e6aefd103de4004a7b99985e71dd533 languageName: node linkType: hard @@ -8811,6 +8880,18 @@ __metadata: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -8879,13 +8960,13 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": - version: 1.1.1 - resolution: "get-intrinsic@npm:1.1.1" + version: 1.1.2 + resolution: "get-intrinsic@npm:1.1.2" dependencies: function-bind: ^1.1.1 has: ^1.0.3 - has-symbols: ^1.0.1 - checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + has-symbols: ^1.0.3 + checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b languageName: node linkType: hard @@ -9000,30 +9081,29 @@ __metadata: linkType: hard "glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.0.5, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": - version: 7.2.0 - resolution: "glob@npm:7.2.0" + version: 7.2.3 + resolution: "glob@npm:7.2.3" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 - minimatch: ^3.0.4 + minimatch: ^3.1.1 once: ^1.3.0 path-is-absolute: ^1.0.0 - checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 languageName: node linkType: hard "glob@npm:^8.0.1": - version: 8.0.1 - resolution: "glob@npm:8.0.1" + version: 8.0.3 + resolution: "glob@npm:8.0.3" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 minimatch: ^5.0.1 once: ^1.3.0 - path-is-absolute: ^1.0.0 - checksum: 7ac782f3ef1c08005884447479e68ceb0ad56997eb2003e1e9aefae71bad3cb48eb7c49190d3d6736f2ffcd8af4985d53a46831b3d5e0052cc5756822a38b61a + checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 languageName: node linkType: hard @@ -9133,11 +9213,11 @@ __metadata: linkType: hard "globalthis@npm:^1.0.1": - version: 1.0.2 - resolution: "globalthis@npm:1.0.2" + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" dependencies: define-properties: ^1.1.3 - checksum: 5a5f3c7ab94708260a98106b35946b74bb57f6b2013e39668dc9e8770b80a3418103b63a2b4aa01c31af15fdf6a2940398ffc0a408573c34c2304f928895adff + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 languageName: node linkType: hard @@ -9295,7 +9375,7 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1": +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b @@ -9705,16 +9785,16 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:1.8.1": - version: 1.8.1 - resolution: "http-errors@npm:1.8.1" +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" dependencies: - depd: ~1.1.2 + depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 - statuses: ">= 1.5.0 < 2" + statuses: 2.0.1 toidentifier: 1.0.1 - checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 languageName: node linkType: hard @@ -9800,9 +9880,9 @@ __metadata: linkType: hard "humanize-duration@npm:^3.27.0": - version: 3.27.1 - resolution: "humanize-duration@npm:3.27.1" - checksum: dad9f1a1367e6da9ca7568629e689e66c1b28206ff72096b51c6963fd7319f660073201fdb9bd5349427b9ea7c0d5cdf33e787c157cf30f996eaec4795029c30 + version: 3.27.2 + resolution: "humanize-duration@npm:3.27.2" + checksum: 2f9af430ca7dfa0a8c2a1c6323b7eaadc1bd589ec204977f0e9669ce978a1061db8233401a8290773e29f6ffc3d8f3a82bdc699a3034e061fd7299aaf4b9ef87 languageName: node linkType: hard @@ -9961,9 +10041,9 @@ __metadata: linkType: hard "immutable@npm:^3.8.1 || ^4.0.0, immutable@npm:^4.0.0": - version: 4.0.0 - resolution: "immutable@npm:4.0.0" - checksum: 4b5e9181e4d5fa06728a481835ec09c86367e5d03268666c95b522b7644ab891098022e4479a43c4c81a68f2ed82f10751ce5d33e208d7b873b6e7f9dfaf4d87 + version: 4.1.0 + resolution: "immutable@npm:4.1.0" + checksum: b9bc1f14fb18eb382d48339c064b24a1f97ae4cf43102e0906c0a6e186a27afcd18b55ca4a0b63c98eefb58143e2b5ebc7755a5fb4da4a7ad84b7a6096ac5b13 languageName: node linkType: hard @@ -10191,9 +10271,9 @@ __metadata: linkType: hard "ip@npm:^1.1.0, ip@npm:^1.1.5": - version: 1.1.5 - resolution: "ip@npm:1.1.5" - checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb languageName: node linkType: hard @@ -10382,7 +10462,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.2.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": version: 2.9.0 resolution: "is-core-module@npm:2.9.0" dependencies: @@ -11234,24 +11314,24 @@ __metadata: linkType: hard "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": - version: 3.2.2 - resolution: "jsx-ast-utils@npm:3.2.2" + version: 3.3.0 + resolution: "jsx-ast-utils@npm:3.3.0" dependencies: array-includes: ^3.1.4 object.assign: ^4.1.2 - checksum: 88c7ade9e1edb8e27021c9ac194184f47d6ffd3852807c3aac44b1610f7eb33359e1aa872a35008d43ed66b5f7be0f6fd8d6e0574d01cf3a4af3ceb0cd0b5988 + checksum: e3c0667e8979c70600fb0456b19f0ec194994c953678ac2772a819d8d5740df2ed751e49e4f1db7869bf63251585a93b18acd42ef02269fe41cb23941d0d4950 languageName: node linkType: hard "jszip@npm:^3.1.0, jszip@npm:^3.7.1": - version: 3.9.1 - resolution: "jszip@npm:3.9.1" + version: 3.10.0 + resolution: "jszip@npm:3.10.0" dependencies: lie: ~3.3.0 pako: ~1.0.2 readable-stream: ~2.3.6 - set-immediate-shim: ~1.0.1 - checksum: 8c4c3e99beea3dad8a0f965f2f84d3d0f68aa7d936e069f64982fe393745d27ea6aa82c5dbd7376c73f94cfad1a0ecbf240c7a380419d3d1192148c4ef8a381d + setimmediate: ^1.0.5 + checksum: 80cc8e0e466467e9e21447f604f9262509b29a9c65170a3fee415ac0a403beb370840973cdc17f75d2b92ab3e60685f94d267706510d46bed2dd14858a38e459 languageName: node linkType: hard @@ -11272,12 +11352,12 @@ __metadata: linkType: hard "keyv@npm:^4.0.0": - version: 4.2.2 - resolution: "keyv@npm:4.2.2" + version: 4.3.1 + resolution: "keyv@npm:4.3.1" dependencies: - compress-brotli: ^1.3.6 + compress-brotli: ^1.3.8 json-buffer: 3.0.1 - checksum: 1d03674145339cb6d7509fd7791a2ea93c0a9b7ec10e475d621f4443b8bf877c21dc391ae1002dd1bade4f44e2093f850f1da81d08c03812b4592cd5ff028db7 + checksum: 105ae783d204b338772a1e36dbca04894c9ec306c959363d1d384eafd8150e1637a6edb7aed6ba700199913f44e3e0e9c1c65e33196f2cd56c248721547bc7b6 languageName: node linkType: hard @@ -11527,6 +11607,7 @@ __metadata: stream-to-blob-url: ^2.1.1 strip-markdown: ^3.0.3 style-loader: ^0.23.1 + sudo-prompt: ^9.2.1 tempy: ^0.6.0 terser-webpack-plugin: ^4.2.3 three-full: ^28.0.2 @@ -12029,9 +12110,9 @@ __metadata: linkType: hard "lru-cache@npm:^7.7.1": - version: 7.8.1 - resolution: "lru-cache@npm:7.8.1" - checksum: 31ea67388c9774300331d70f4affd5a433869bcf0fae5405f967d19d7b447930b713b0566a2e95362c9082034a8b496f3671ccf8f0c061d8e8048412663f9432 + version: 7.10.1 + resolution: "lru-cache@npm:7.10.1" + checksum: e8b190d71ed0fcd7b29c71a3e9b01f851c92d1ef8865ff06b5581ca991db1e5e006920ed4da8b56da1910664ed51abfd76c46fb55e82ac252ff6c970ff910d72 languageName: node linkType: hard @@ -12044,14 +12125,14 @@ __metadata: languageName: node linkType: hard -"m3u8-parser@npm:4.7.0": - version: 4.7.0 - resolution: "m3u8-parser@npm:4.7.0" +"m3u8-parser@npm:4.7.1": + version: 4.7.1 + resolution: "m3u8-parser@npm:4.7.1" dependencies: "@babel/runtime": ^7.12.5 - "@videojs/vhs-utils": ^3.0.0 + "@videojs/vhs-utils": ^3.0.5 global: ^4.4.0 - checksum: b4fe0183fe30f6fc23069b7c65844aab737a7998848d30e279362b5a4ef0ee89874a5b08e8ddd33a17f50f1a0d487d8cdf01e8467dab361c09f68a755a5561f0 + checksum: 859b5c8701f91687fd9a265a0e188109acaf43f1c99c18f9c256af2bebe0dd6d4f9174991f645f2ddeed6323b90e2a8261c8fa8f73cd865985b6b54fe8baec9b languageName: node linkType: hard @@ -12091,11 +12172,11 @@ __metadata: linkType: hard "make-fetch-happen@npm:^10.0.3": - version: 10.1.2 - resolution: "make-fetch-happen@npm:10.1.2" + version: 10.1.8 + resolution: "make-fetch-happen@npm:10.1.8" dependencies: agentkeepalive: ^4.2.1 - cacache: ^16.0.2 + cacache: ^16.1.0 http-cache-semantics: ^4.1.0 http-proxy-agent: ^5.0.0 https-proxy-agent: ^5.0.0 @@ -12108,9 +12189,9 @@ __metadata: minipass-pipeline: ^1.2.4 negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^6.1.1 + socks-proxy-agent: ^7.0.0 ssri: ^9.0.0 - checksum: 42825d119a7e4f5b1a8e7048a86d328cd36bb1ff875d155ce7079d9a0afdd310c198fb310096af358cfa9ecdf643cecf960380686792457dccb36e17efe89eb0 + checksum: 5fe9fd9da5368a8a4fe9a3ea5b9aa15f1e91c9ab703cd9027a6b33840ecc8a57c182fbe1c767c139330a88c46a448b1f00da5e32065cec373aff2450b3da54ee languageName: node linkType: hard @@ -12189,11 +12270,11 @@ __metadata: linkType: hard "marked@npm:^4.0.10": - version: 4.0.14 - resolution: "marked@npm:4.0.14" + version: 4.0.17 + resolution: "marked@npm:4.0.17" bin: marked: bin/marked.js - checksum: 778bc2fc94c51ae4fbafe5a08bc1f3917799c4dd39e9fccd972a97df4e5bc5aa78664b7143d12d4b4969608fb90c6a2de3f19811a2f9ccf6b7f207022f2842ba + checksum: 33a3c43a20b47bddaf045a59bfc7c3d41cc321931cc663ed231ca3b5b3b195fb2ac2973e687c2afd65b79539c14619baa07d19793f70130160f0af80c06d9b3a languageName: node linkType: hard @@ -12590,7 +12671,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.0, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.0, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -12600,11 +12681,11 @@ __metadata: linkType: hard "minimatch@npm:^5.0.1": - version: 5.0.1 - resolution: "minimatch@npm:5.0.1" + version: 5.1.0 + resolution: "minimatch@npm:5.1.0" dependencies: brace-expansion: ^2.0.1 - checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 + checksum: 15ce53d31a06361e8b7a629501b5c75491bc2b59712d53e802b1987121d91b433d73fcc5be92974fde66b2b51d8fb28d75a9ae900d249feb792bb1ba2a4f0a90 languageName: node linkType: hard @@ -12667,11 +12748,11 @@ __metadata: linkType: hard "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": - version: 3.1.6 - resolution: "minipass@npm:3.1.6" + version: 3.3.3 + resolution: "minipass@npm:3.3.3" dependencies: yallist: ^4.0.0 - checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 + checksum: 523a338f42140c2e62bff3429f236cc44a32ddd29a70d5221e0570ace237057190981cad406fd3a420f03a95cc001ad58a388d902b9519038e27f190bb88a6e7 languageName: node linkType: hard @@ -12761,17 +12842,17 @@ __metadata: languageName: node linkType: hard -"mpd-parser@npm:0.21.0": - version: 0.21.0 - resolution: "mpd-parser@npm:0.21.0" +"mpd-parser@npm:0.21.1": + version: 0.21.1 + resolution: "mpd-parser@npm:0.21.1" dependencies: "@babel/runtime": ^7.12.5 - "@videojs/vhs-utils": ^3.0.2 + "@videojs/vhs-utils": ^3.0.5 "@xmldom/xmldom": ^0.7.2 global: ^4.4.0 bin: mpd-to-m3u8-json: bin/parse.js - checksum: 2b9e9215ca65cfff5ef0931594652faa3d0302c740bbace55eb9c6bb6a8aaa44c0101769743fb9ba9b39a188ff35be8166488212c7cea2c4bd2a2a4afbc10f72 + checksum: 5e8cec29c32dab397eefa1c6c5680e88119bafc69adc0766c16c6212a5e5b2ce297a63071cd3e9545621526fc9abdf6bd0c11ffd0349cc4a13da0ec23963acc9 languageName: node linkType: hard @@ -12835,11 +12916,11 @@ __metadata: linkType: hard "nan@npm:^2.12.1": - version: 2.15.0 - resolution: "nan@npm:2.15.0" + version: 2.16.0 + resolution: "nan@npm:2.16.0" dependencies: node-gyp: latest - checksum: 33e1bb4dfca447fe37d4bb5889be55de154828632c8d38646db67293a21afd61ed9909cdf1b886214a64707d935926c4e60e2b09de9edfc2ad58de31d6ce8f39 + checksum: cb16937273ea55b01ea47df244094c12297ce6b29b36e845d349f1f7c268b8d7c5abd126a102c5678a1e1afd0d36bba35ea0cc959e364928ce60561c9306064a languageName: node linkType: hard @@ -13016,10 +13097,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.2": - version: 2.0.3 - resolution: "node-releases@npm:2.0.3" - checksum: 5e555fbbebb3343a5d1e5f4e10e1737998bedc57472a35027410d17b2678ed9bc0e5fae008f513798a960eb8687159331b1f46f82a3210d39bd7c40d3c9dcead +"node-releases@npm:^2.0.5": + version: 2.0.5 + resolution: "node-releases@npm:2.0.5" + checksum: e85d949addd19f8827f32569d2be5751e7812ccf6cc47879d49f79b5234ff4982225e39a3929315f96370823b070640fb04d79fc0ddec8b515a969a03493a42f languageName: node linkType: hard @@ -13246,11 +13327,11 @@ __metadata: linkType: hard "nth-check@npm:^2.0.1": - version: 2.0.1 - resolution: "nth-check@npm:2.0.1" + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" dependencies: boolbase: ^1.0.0 - checksum: 5386d035c48438ff304fe687704d93886397349d1bed136de97aeae464caba10e8ffac55a04b215b86b3bc8897f33e0a5aa1045a9d8b2f251ae61b2a3ad3e450 + checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 languageName: node linkType: hard @@ -13287,9 +13368,9 @@ __metadata: linkType: hard "object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": - version: 1.12.0 - resolution: "object-inspect@npm:1.12.0" - checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 languageName: node linkType: hard @@ -13354,23 +13435,24 @@ __metadata: linkType: hard "object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0": - version: 2.1.3 - resolution: "object.getownpropertydescriptors@npm:2.1.3" + version: 2.1.4 + resolution: "object.getownpropertydescriptors@npm:2.1.4" dependencies: + array.prototype.reduce: ^1.0.4 call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 1467873456fd367a0eb91350caff359a8f05ceb069b4535a1846aa1f74f477a49ae704f6c89c0c14cc0ae1518ee3a0aa57c7f733a8e7b2b06b34a818e9593d2f + define-properties: ^1.1.4 + es-abstract: ^1.20.1 + checksum: 988c466fe49fc4f19a28d2d1d894c95c6abfe33c94674ec0b14d96eed71f453c7ad16873d430dc2acbb1760de6d3d2affac4b81237a306012cc4dc49f7539e7f languageName: node linkType: hard -"object.hasown@npm:^1.1.0": - version: 1.1.0 - resolution: "object.hasown@npm:1.1.0" +"object.hasown@npm:^1.1.1": + version: 1.1.1 + resolution: "object.hasown@npm:1.1.1" dependencies: - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 5c5d0b1b793514609f7a635f3110fbd346e142c9afd2485b802775e1ef6c90e48ff6e8e8744927933370ba30964e21af9c5fcf782b47f34d650aa6b277565330 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 languageName: node linkType: hard @@ -13401,12 +13483,12 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:~2.3.0": - version: 2.3.0 - resolution: "on-finished@npm:2.3.0" +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" dependencies: ee-first: 1.1.1 - checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 languageName: node linkType: hard @@ -13500,15 +13582,6 @@ __metadata: languageName: node linkType: hard -"original@npm:^1.0.0": - version: 1.0.2 - resolution: "original@npm:1.0.2" - dependencies: - url-parse: ^1.4.3 - checksum: 8dca9311dab50c8953366127cb86b7c07bf547d6aa6dc6873a75964b7563825351440557e5724d9c652c5e99043b8295624f106af077f84bccf19592e421beb9 - languageName: node - linkType: hard - "os-browserify@npm:^0.3.0": version: 0.3.0 resolution: "os-browserify@npm:0.3.0" @@ -13900,7 +13973,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a @@ -14608,11 +14681,11 @@ __metadata: linkType: hard "prettier@npm:^2.2.1, prettier@npm:^2.5.1": - version: 2.6.2 - resolution: "prettier@npm:2.6.2" + version: 2.7.1 + resolution: "prettier@npm:2.7.1" bin: prettier: bin-prettier.js - checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f + checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b languageName: node linkType: hard @@ -14865,14 +14938,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.9.7": - version: 6.9.7 - resolution: "qs@npm:6.9.7" - checksum: 5bbd263332ccf320a1f36d04a2019a5834dc20bcb736431eaccde2a39dcba03fb26d2fd00174f5d7bc26aaad1cad86124b18440883ac042ea2a0fca6170c1bf1 - languageName: node - linkType: hard - -"qs@npm:^6.5.2": +"qs@npm:6.10.3": version: 6.10.3 resolution: "qs@npm:6.10.3" dependencies: @@ -14881,6 +14947,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.5.2": + version: 6.10.5 + resolution: "qs@npm:6.10.5" + dependencies: + side-channel: ^1.0.4 + checksum: b3873189a11bcf48445864b3ba66f7a76db0d9d874955d197779f561addfa604884f7b107971526ce1eca02c99bf7d1e47f28a3e7e6e29204d798fb279164226 + languageName: node + linkType: hard + "qs@npm:~6.5.1": version: 6.5.3 resolution: "qs@npm:6.5.3" @@ -14966,15 +15041,15 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.4.3": - version: 2.4.3 - resolution: "raw-body@npm:2.4.3" +"raw-body@npm:2.5.1": + version: 2.5.1 + resolution: "raw-body@npm:2.5.1" dependencies: bytes: 3.1.2 - http-errors: 1.8.1 + http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - checksum: d2961fa3c71c9c22dc2c3fd60ff377bf36dfed7d7a748f2b25d585934a3e9df565bb9aa5bc2e3a716ea941f4bc2a6ddc795c8b0cf7219fb071029b59b1985394 + checksum: 5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e languageName: node linkType: hard @@ -15000,7 +15075,7 @@ __metadata: languageName: node linkType: hard -"rc@npm:^1.0.1, rc@npm:^1.1.6, rc@npm:^1.2.8": +"rc@npm:1.2.8, rc@npm:^1.0.1, rc@npm:^1.1.6, rc@npm:^1.2.8": version: 1.2.8 resolution: "rc@npm:1.2.8" dependencies: @@ -15282,17 +15357,17 @@ __metadata: linkType: hard "react-modal@npm:^3.1.7": - version: 3.14.4 - resolution: "react-modal@npm:3.14.4" + version: 3.15.1 + resolution: "react-modal@npm:3.15.1" dependencies: exenv: ^1.2.0 prop-types: ^15.7.2 react-lifecycles-compat: ^3.0.0 warning: ^4.0.3 peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16 || ^17 - react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 - checksum: 71457de902d45de390932fb68380c4a72fcd51e64faaf8b96138c3cb402d2e445002220560614ef6035eb349ff933bcbbe35c4cb85fb66c1129e65ad40336b8b + react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 + react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 + checksum: ee99ca312c35bcec9ef0868babf970ce03c52801731e29be336bb6bdc867a1ecf00a73e1fb5bc3b1b1ef66ceb0c9b4a0199fadb85b1b9829f731409951b018f0 languageName: node linkType: hard @@ -15346,25 +15421,25 @@ __metadata: linkType: hard "react-router-dom@npm:^5.1.0": - version: 5.3.1 - resolution: "react-router-dom@npm:5.3.1" + version: 5.3.3 + resolution: "react-router-dom@npm:5.3.3" dependencies: "@babel/runtime": ^7.12.13 history: ^4.9.0 loose-envify: ^1.3.1 prop-types: ^15.6.2 - react-router: 5.3.1 + react-router: 5.3.3 tiny-invariant: ^1.0.2 tiny-warning: ^1.0.0 peerDependencies: react: ">=15" - checksum: efbf80c91d64bf51e61fa5dd9e4b7e9c350a0a560d575992d3ee214e0e48da38210b5d8a03c6b270a21f8fd6fa020d076f2af191db5a722c28a68fcad9cefde6 + checksum: e1998918e391611f09b967bce0cb88bc9794aa3d8dc5f86453467a1226ae2ace648a1f401f5282f19c84a3a61fa6a3207e2a6fdfe8c8efae0b255244631febeb languageName: node linkType: hard -"react-router@npm:5.3.1, react-router@npm:^5.1.0": - version: 5.3.1 - resolution: "react-router@npm:5.3.1" +"react-router@npm:5.3.3, react-router@npm:^5.1.0": + version: 5.3.3 + resolution: "react-router@npm:5.3.3" dependencies: "@babel/runtime": ^7.12.13 history: ^4.9.0 @@ -15378,7 +15453,7 @@ __metadata: tiny-warning: ^1.0.0 peerDependencies: react: ">=15" - checksum: b85c7b4dee5a011f542a654a673489bdedb8cd217e32838d13bc9b2c93f068fd37777bc7ef6cbebd6675cadc4e89add75f5e52e452be6c5b1f92070ad7f7e505 + checksum: 52a9f28fa97577fda18a8ed2922b658704eafe873e444fe07202640d55d9e81e67c03efd2b2a5b80e3a80e8be8352df826a227ce5f42b33b91bef853c74d4841 languageName: node linkType: hard @@ -15765,7 +15840,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.4.1": +"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: @@ -15808,11 +15883,11 @@ __metadata: linkType: hard "registry-auth-token@npm:^4.0.0": - version: 4.2.1 - resolution: "registry-auth-token@npm:4.2.1" + version: 4.2.2 + resolution: "registry-auth-token@npm:4.2.2" dependencies: - rc: ^1.2.8 - checksum: aa72060b573a50607cfd2dee16d0e51e13ca58b6a80442e74545325dc24d2c38896e6bad229bdcc1fc9759fa81b4066be8693d4d6f45927318e7c793a93e9cd0 + rc: 1.2.8 + checksum: c5030198546ecfdcbcb0722cbc3e260c4f5f174d8d07bdfedd4620e79bfdf17a2db735aa230d600bd388fce6edd26c0a9ed2eb7e9b4641ec15213a28a806688b languageName: node linkType: hard @@ -16085,9 +16160,9 @@ __metadata: linkType: hard "reselect@npm:^4.0.0": - version: 4.1.5 - resolution: "reselect@npm:4.1.5" - checksum: 54c13c1e795b2ea70cba8384138aebe78adda00cbea303cc94b64da0a70d74c896cc9a03115ae38b8bff990e7a60dcd6452ab68cbec01b0b38c1afda70714cf0 + version: 4.1.6 + resolution: "reselect@npm:4.1.6" + checksum: 3ea1058422904063ec93c8f4693fe33dcb2178bbf417ace8db5b2c797a5875cf357d9308d11ed3942ee22507dd34ecfbf1f3a21340a4f31c206cab1d36ceef31 languageName: node linkType: hard @@ -16139,48 +16214,54 @@ __metadata: linkType: hard "resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.8.1": - version: 1.22.0 - resolution: "resolve@npm:1.22.0" + version: 1.22.1 + resolution: "resolve@npm:1.22.1" dependencies: - is-core-module: ^2.8.1 + is-core-module: ^2.9.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: a2d14cc437b3a23996f8c7367eee5c7cf8149c586b07ca2ae00e96581ce59455555a1190be9aa92154785cf9f2042646c200d0e00e0bbd2b8a995a93a0ed3e4e + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e languageName: node linkType: hard "resolve@npm:^2.0.0-next.3": - version: 2.0.0-next.3 - resolution: "resolve@npm:2.0.0-next.3" + version: 2.0.0-next.4 + resolution: "resolve@npm:2.0.0-next.4" dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5 - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin": - version: 1.22.0 - resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" - dependencies: - is-core-module: ^2.8.1 + is-core-module: ^2.9.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: c79ecaea36c872ee4a79e3db0d3d4160b593f2ca16e031d8283735acd01715a203607e9ded3f91f68899c2937fa0d49390cddbe0fb2852629212f3cda283f4a7 + checksum: c438ac9a650f2030fd074219d7f12ceb983b475da2d89ad3d6dd05fbf6b7a0a8cd37d4d10b43cb1f632bc19f22246ab7f36ebda54d84a29bfb2910a0680906d3 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b languageName: node linkType: hard "resolve@patch:resolve@^2.0.0-next.3#~builtin": - version: 2.0.0-next.3 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin::version=2.0.0-next.3&hash=07638b" + version: 2.0.0-next.4 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=07638b" dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: 21684b4d99a4877337cdbd5484311c811b3e8910edb5d868eec85c6e6550b0f570d911f9a384f9e176172d6713f2715bd0b0887fa512cb8c6aeece018de6a9f8 + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 4bf9f4f8a458607af90518ff73c67a4bc1a38b5a23fef2bb0ccbd45e8be89820a1639b637b0ba377eb2be9eedfb1739a84cde24fe4cd670c8207d8fea922b011 languageName: node linkType: hard @@ -16445,15 +16526,15 @@ __metadata: linkType: hard "sass@npm:^1.29.0": - version: 1.50.1 - resolution: "sass@npm:1.50.1" + version: 1.52.3 + resolution: "sass@npm:1.52.3" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: c06334dbf8eddd508d90ca529c6ffb88cb5861d18cec285480d212b9dbe0a46441cbfd8aa10565780551c71372617465e6c77298e734180e2da2628ce6c46545 + checksum: 175a073c0e7b67d1baff6d3969431228002ece681886cebc2a354c241134ff120fda5c12a0465989966dacfb1ca518d85507304f4d4cd03d4a91d71dbc77d978 languageName: node linkType: hard @@ -16621,24 +16702,24 @@ __metadata: languageName: node linkType: hard -"send@npm:0.17.2": - version: 0.17.2 - resolution: "send@npm:0.17.2" +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" dependencies: debug: 2.6.9 - depd: ~1.1.2 - destroy: ~1.0.4 + depd: 2.0.0 + destroy: 1.2.0 encodeurl: ~1.0.2 escape-html: ~1.0.3 etag: ~1.8.1 fresh: 0.5.2 - http-errors: 1.8.1 + http-errors: 2.0.0 mime: 1.6.0 ms: 2.1.3 - on-finished: ~2.3.0 + on-finished: 2.4.1 range-parser: ~1.2.1 - statuses: ~1.5.0 - checksum: c28f36deb4ccba9b8d6e6a1e472b8e7c40a1f51575bdf8f67303568cc9e71131faa3adc36fdb72611616ccad1584358bbe4c3ebf419e663ecc5de868ad3d3f03 + statuses: 2.0.1 + checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 languageName: node linkType: hard @@ -16684,15 +16765,15 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.14.2": - version: 1.14.2 - resolution: "serve-static@npm:1.14.2" +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" dependencies: encodeurl: ~1.0.2 escape-html: ~1.0.3 parseurl: ~1.3.3 - send: 0.17.2 - checksum: d97f3183b1dfcd8ce9c0e37e18e87fd31147ed6c8ee0b2c3a089d795e44ee851ca5061db01574f806d54f4e4b70bc694d9ca64578653514e04a28cbc97a1de05 + send: 0.18.0 + checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d languageName: node linkType: hard @@ -16703,13 +16784,6 @@ __metadata: languageName: node linkType: hard -"set-immediate-shim@npm:~1.0.1": - version: 1.0.1 - resolution: "set-immediate-shim@npm:1.0.1" - checksum: 5085c84039d1e5eee73d2bf48ce765fcec76159021d0cc7b40e23bcdf62cb6d450ffb781e3c62c1118425242c48eae96df712cba0a20a437e86b0d4a15d51a11 - languageName: node - linkType: hard - "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -16722,7 +16796,7 @@ __metadata: languageName: node linkType: hard -"setimmediate@npm:^1.0.4": +"setimmediate@npm:^1.0.4, setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd @@ -16950,15 +17024,15 @@ __metadata: linkType: hard "sockjs-client@npm:^1.5.0": - version: 1.6.0 - resolution: "sockjs-client@npm:1.6.0" + version: 1.6.1 + resolution: "sockjs-client@npm:1.6.1" dependencies: debug: ^3.2.7 - eventsource: ^1.1.0 + eventsource: ^2.0.2 faye-websocket: ^0.11.4 inherits: ^2.0.4 url-parse: ^1.5.10 - checksum: e071eafb2a0a3e1ecd5af8b423c01e4c76be703cf13d97ee240b2af297784d57a0a3b398415cbb6506f80a256d1a16c7b4c15da9e58520bf0cc28cc316ccbda4 + checksum: c7623bbc9891f427c1670145550a1c9c2d5379719e174a791606ba4f12c7d92e4cfb9acec6c17f91fda45d910b23c308a1f9fbcad4916ce5db4e982b24079fc7 languageName: node linkType: hard @@ -16973,14 +17047,14 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^6.1.1": - version: 6.2.0 - resolution: "socks-proxy-agent@npm:6.2.0" +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" dependencies: agent-base: ^6.0.2 debug: ^4.3.3 socks: ^2.6.2 - checksum: 6723fd64fb50334e2b340fd0a80fd8488ffc5bc43d85b7cf1d25612044f814dd7d6ea417fd47602159941236f7f4bd15669fa5d7e1f852598a31288e1a43967b + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 languageName: node linkType: hard @@ -17079,7 +17153,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7": +"source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -17093,10 +17167,10 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.7.3, source-map@npm:~0.7.2": - version: 0.7.3 - resolution: "source-map@npm:0.7.3" - checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea +"source-map@npm:^0.7.3": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 languageName: node linkType: hard @@ -17108,9 +17182,9 @@ __metadata: linkType: hard "spawn-command@npm:^0.0.2-1": - version: 0.0.2-1 - resolution: "spawn-command@npm:0.0.2-1" - checksum: 2cac8519332193d1ed37d57298c4a1f73095e9edd20440fbab4aa47f531da83831734f2b51c44bb42b2747bf3485dec3fa2b0a1003f74c67561f2636622e328b + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b languageName: node linkType: hard @@ -17257,11 +17331,11 @@ __metadata: linkType: hard "ssri@npm:^9.0.0": - version: 9.0.0 - resolution: "ssri@npm:9.0.0" + version: 9.0.1 + resolution: "ssri@npm:9.0.1" dependencies: minipass: ^3.1.1 - checksum: bf33174232d07cc64e77ab1c51b55d28352273380c503d35642a19627e88a2c5f160039bb0a28608a353485075dda084dbf0390c7070f9f284559eb71d01b84b + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb languageName: node linkType: hard @@ -17305,7 +17379,14 @@ __metadata: languageName: node linkType: hard -"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c @@ -17436,7 +17517,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.6": +"string.prototype.matchall@npm:^4.0.7": version: 4.0.7 resolution: "string.prototype.matchall@npm:4.0.7" dependencies: @@ -17452,23 +17533,25 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimend@npm:1.0.4" +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 17e5aa45c3983f582693161f972c1c1fa4bbbdf22e70e582b00c91b6575f01680dc34e83005b98e31abe4d5d29e0b21fcc24690239c106c7b2315aade6a898ac + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimstart@npm:1.0.4" +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 3fb06818d3cccac5fa3f5f9873d984794ca0e9f6616fae6fcc745885d9efed4e17fe15f832515d9af5e16c279857fdbffdfc489ca4ed577811b017721b30302f + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 languageName: node linkType: hard @@ -17649,6 +17732,13 @@ __metadata: languageName: node linkType: hard +"sudo-prompt@npm:^9.2.1": + version: 9.2.1 + resolution: "sudo-prompt@npm:9.2.1" + checksum: 50a29eec2f264f2b78d891452a64112d839a30bffbff4ec065dba4af691a35b23cdb8f9107d413e25c1a9f1925644a19994c00602495cab033d53f585fdfd665 + languageName: node + linkType: hard + "sumchecker@npm:^3.0.1": version: 3.0.1 resolution: "sumchecker@npm:3.0.1" @@ -17932,16 +18022,16 @@ __metadata: linkType: hard "terser@npm:^5.3.4": - version: 5.12.1 - resolution: "terser@npm:5.12.1" + version: 5.14.1 + resolution: "terser@npm:5.14.1" dependencies: + "@jridgewell/source-map": ^0.3.2 acorn: ^8.5.0 commander: ^2.20.0 - source-map: ~0.7.2 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: dd33af5d87a1159bcc38f354707505f1449a33d1491c512e9536f11fea7c3474cdc40e2e5fdf75f58658cfaab8ef47cb7454acd6406b2ce487675cb1978c6275 + checksum: 7b0e51f3d193a11cad82f07e3b0c1d62122eec786f809bdf2a54b865aaa1450872c3a7b6c33b5a40e264834060ffc1d4e197f971a76da5b0137997d756eb7548 languageName: node linkType: hard @@ -17960,9 +18050,9 @@ __metadata: linkType: hard "three@npm:*": - version: 0.139.2 - resolution: "three@npm:0.139.2" - checksum: 9e016065b31a2a69bba730a32bd5b61354365bf0f5072121b8695aac38c9585e4e46361275967fbb58d21e001e5189128107c3ecbf24338ca951d11b524df992 + version: 0.141.0 + resolution: "three@npm:0.141.0" + checksum: d161350b5134f2db616c7081d625c84235a1d50658b9f9c6ffe94143ddb77944b1c1b6831ad0be00037f8c744c8c60ee8d740ea4d48844b54f4525ee73a2d44f languageName: node linkType: hard @@ -18385,9 +18475,9 @@ __metadata: linkType: hard "typescript-compiler@npm:^1.4.1-2": - version: 1.4.1-2 - resolution: "typescript-compiler@npm:1.4.1-2" - checksum: e246281595b0e51eb3000a18f5909635464c6e8883e98156ec6f58f882a3c353c1b941ea8ffa79277cf661d43c5764cd6fd037fe68b2fb5c409363a77cec9d73 + version: 1.4.1 + resolution: "typescript-compiler@npm:1.4.1" + checksum: 160c148d263f8feda3777c3043040a61d7f4eccf127c459012ef6a0ad2158dc9888e0dec40e0ea14194edb1a7a5113bc120eef6f71cf36c723319a8345d05238 languageName: node linkType: hard @@ -18418,15 +18508,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.1": - version: 1.0.1 - resolution: "unbox-primitive@npm:1.0.1" +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" dependencies: - function-bind: ^1.1.1 - has-bigints: ^1.0.1 - has-symbols: ^1.0.2 + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 which-boxed-primitive: ^1.0.2 - checksum: 89d950e18fb45672bc6b3c961f1e72c07beb9640c7ceed847b571ba6f7d2af570ae1a2584cfee268b9d9ea1e3293f7e33e0bc29eaeb9f8e8a0bab057ff9e6bba + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 languageName: node linkType: hard @@ -18448,9 +18538,9 @@ __metadata: linkType: hard "underscore@npm:>1.4.4, underscore@npm:^1.13.1": - version: 1.13.2 - resolution: "underscore@npm:1.13.2" - checksum: 6ab156c845ccc757fd01d8b9eb28be18ba89ac68993370dd7397a66a95b124f2ba26947fd53e687c084d334429914fc3dd1620d5123b6e0a7cf112cdcf4e859f + version: 1.13.4 + resolution: "underscore@npm:1.13.4" + checksum: 6b04f66cd454e8793a552dc49c71e24e5208a29b9d9c0af988a96948af79103399c36fb15db43f3629bfed152f8b1fe94f44e1249e9d196069c0fc7edfadb636 languageName: node linkType: hard @@ -18755,6 +18845,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.0.0": + version: 1.0.3 + resolution: "update-browserslist-db@npm:1.0.3" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: 7ffbb87405efddd34d69f7d5929b44a3c4c7d72751542eb9e494536cafb0d57290d261af25986584dabc5b76ddd719061b5efb4ddf26af092bf35b095f20ce90 + languageName: node + linkType: hard + "update-input-width@npm:^1.2.2": version: 1.2.2 resolution: "update-input-width@npm:1.2.2" @@ -18853,7 +18957,7 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.4.3, url-parse@npm:^1.5.10": +"url-parse@npm:^1.5.10": version: 1.5.10 resolution: "url-parse@npm:1.5.10" dependencies: @@ -19071,23 +19175,23 @@ __metadata: linkType: hard "video.js@npm:>=5.20.5, video.js@npm:^6 || ^7, video.js@npm:^7.14.3": - version: 7.18.1 - resolution: "video.js@npm:7.18.1" + version: 7.20.1 + resolution: "video.js@npm:7.20.1" dependencies: "@babel/runtime": ^7.12.5 - "@videojs/http-streaming": 2.13.1 + "@videojs/http-streaming": 2.14.2 "@videojs/vhs-utils": ^3.0.4 "@videojs/xhr": 2.6.0 - aes-decrypter: 3.1.2 + aes-decrypter: 3.1.3 global: ^4.4.0 keycode: ^2.2.0 - m3u8-parser: 4.7.0 - mpd-parser: 0.21.0 + m3u8-parser: 4.7.1 + mpd-parser: 0.21.1 mux.js: 6.0.1 safe-json-parse: 4.0.0 videojs-font: 3.2.0 videojs-vtt.js: ^0.15.3 - checksum: 913d3bb95321e40b17d0157253906eb5f053e3a95d34149fe64a7c6463b5ba7328a27a1d5aa3838324093a2d8a11df32b107545f9f345b1aad8dde3cf0e4fea3 + checksum: 5a764d9791da13fba2ea35b29ee9183eae3f978bf54e167ebea9df3de60255a21a8b313177c876ed2ca1c5270860c307190e05bc5823b7a1f545c03b1eddf783 languageName: node linkType: hard @@ -19909,8 +20013,8 @@ __metadata: linkType: hard "yargs@npm:^17.0.1": - version: 17.4.1 - resolution: "yargs@npm:17.4.1" + version: 17.5.1 + resolution: "yargs@npm:17.5.1" dependencies: cliui: ^7.0.2 escalade: ^3.1.1 @@ -19919,7 +20023,7 @@ __metadata: string-width: ^4.2.3 y18n: ^5.0.5 yargs-parser: ^21.0.0 - checksum: e9012322870d7e4e912a6ae1f63b203e365f911c0cf158be92c36edefddfb3bd38ce17eb9ef0d18858a4777f047c50589ea22dacb44bd949169ba37dc6d34bee + checksum: 00d58a2c052937fa044834313f07910fd0a115dec5ee35919e857eeee3736b21a4eafa8264535800ba8bac312991ce785ecb8a51f4d2cc8c4676d865af1cfbde languageName: node linkType: hard -- 2.45.2 From 412a0c2c365b23e39d9ab7ff80d67bdc43222cb0 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Fri, 4 Mar 2022 12:01:08 -0300 Subject: [PATCH 02/11] Allow to properly cancel download upgrade and prevent multiple downloads. --- electron/index.js | 36 +++++++++++++++++++++++++++--------- ui/redux/actions/app.js | 22 ++-------------------- ui/redux/selectors/app.js | 2 -- 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/electron/index.js b/electron/index.js index 68ee2c946..b7143b87a 100644 --- a/electron/index.js +++ b/electron/index.js @@ -51,11 +51,9 @@ let showingAutoUpdateCloseAlert = false; // https://www.electronjs.org/docs/latest/api/auto-updater#autoupdatercheckforupdates let keepCheckingForUpdates = true; -// Auto updater doesn't support Linux installations (only trough AppImages) -// this is why, for that case, we download a full executable (.deb package) -// as a fallback support. This variable will be used to prevent -// multiple downloads when auto updater isn't supported. -let downloadUpgradeInProgress = false; +let downloadUpgradeInitiated = false; + +let downloadUpgradeItem; // Keep a global reference, if you don't, they will be closed automatically when the JavaScript // object is garbage collected. @@ -328,23 +326,43 @@ ipcMain.on('get-disk-space', async (event) => { } }); +ipcMain.on('cancel-download-upgrade', () => { + if (downloadUpgradeItem) { + // Cancel the download and execute the onCancel + // callback set in the options. + downloadUpgradeItem.cancel(); + } +}); + ipcMain.on('download-upgrade', async (event, params) => { - if (downloadUpgradeInProgress) { + // Prevent downloading multiple times. + if (downloadUpgradeInitiated || downloadUpgradeItem) { return; } - const { url, options } = params; const dir = fs.mkdtempSync(app.getPath('temp') + path.sep); + + downloadUpgradeInitiated = true; + + // Grab the download item's handler to allow + // cancelling the operation if required. + options.onStarted = function(downloadItem) { + downloadUpgradeItem = downloadItem; + }; + options.onCancel = function() { + downloadUpgradeItem = undefined; + downloadUpgradeInitiated = false; + }; options.onProgress = function(p) { rendererWindow.webContents.send('download-progress-update', p); }; options.directory = dir; options.onCompleted = function(c) { - downloadUpgradeInProgress = false; + downloadUpgradeInitiated = false; + downloadUpgradeItem = undefined; rendererWindow.webContents.send('download-update-complete', c); }; const win = BrowserWindow.getFocusedWindow(); - downloadUpgradeInProgress = true; await download(win, url, options).catch(e => console.log('e', e)); }); diff --git a/ui/redux/actions/app.js b/ui/redux/actions/app.js index a431a7352..f8916d36e 100644 --- a/ui/redux/actions/app.js +++ b/ui/redux/actions/app.js @@ -28,7 +28,6 @@ import { import { selectIsUpgradeSkipped, selectUpdateUrl, - selectUpgradeDownloadItem, selectUpgradeDownloadPath, selectAutoUpdateDeclined, selectRemoteVersion, @@ -163,25 +162,8 @@ export function doAutoUpdateDeclined() { } export function doCancelUpgrade() { - return (dispatch, getState) => { - const state = getState(); - const upgradeDownloadItem = selectUpgradeDownloadItem(state); - - if (upgradeDownloadItem) { - /* - * Right now the remote reference to the download item gets garbage collected as soon as the - * the download is over (maybe even earlier), so trying to cancel a finished download may - * throw an error. - */ - try { - upgradeDownloadItem.cancel(); - } catch (err) { - console.error(err); // eslint-disable-line no-console - } - } - - dispatch({ type: ACTIONS.UPGRADE_CANCELLED }); - }; + ipcRenderer.send('cancel-download-upgrade'); + return { type: ACTIONS.UPGRADE_CANCELLED }; } export function doCheckUpgradeAvailable() { diff --git a/ui/redux/selectors/app.js b/ui/redux/selectors/app.js index c2e65de7d..920267b62 100644 --- a/ui/redux/selectors/app.js +++ b/ui/redux/selectors/app.js @@ -50,8 +50,6 @@ export const selectIsUpgradeSkipped = createSelector(selectState, (state) => sta export const selectUpgradeDownloadPath = createSelector(selectState, (state) => state.downloadPath); -export const selectUpgradeDownloadItem = createSelector(selectState, (state) => state.downloadItem); - export const selectAutoUpdateDownloaded = createSelector(selectState, (state) => state.autoUpdateDownloaded); export const selectAutoUpdateDeclined = createSelector(selectState, (state) => state.autoUpdateDeclined); -- 2.45.2 From 0476a547b1e8b47530c4538e0171762f56e72e33 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 21 Jun 2022 23:40:10 -0300 Subject: [PATCH 03/11] Fix missing app-update.yml file for .deb builds. --- electron-builder.json | 4 ++++ static/app-update.yml | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 static/app-update.yml diff --git a/electron-builder.json b/electron-builder.json index 685ab5f85..c8cd0d86e 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -29,6 +29,10 @@ "from": "./static/font", "to": "static/font", "filter": ["**/*"] + }, + { + "from": "./static/app-update.yml", + "to": "app-update.yml" } ], "publish": [ diff --git a/static/app-update.yml b/static/app-update.yml new file mode 100644 index 000000000..cf3596a8f --- /dev/null +++ b/static/app-update.yml @@ -0,0 +1,3 @@ +owner: lbryio +repo: lbry-desktop +provider: github \ No newline at end of file -- 2.45.2 From 207a1ad88c0c3020dfb4f6b5906290226e0956b2 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Wed, 22 Jun 2022 18:34:24 -0300 Subject: [PATCH 04/11] Small fix for allowPrerelease prop in autoUpdater. --- electron/index.js | 1 + ui/index.jsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/electron/index.js b/electron/index.js index b7143b87a..9671a6eb2 100644 --- a/electron/index.js +++ b/electron/index.js @@ -34,6 +34,7 @@ try { upgradeDisabled = false; } autoUpdater.autoDownload = !upgradeDisabled; +autoUpdater.allowPrerelease = false; // This is set to true if an auto update has been downloaded through the Electron // auto-update system and is ready to install. If the user declined an update earlier, diff --git a/ui/index.jsx b/ui/index.jsx index 07bed7a94..b31b4e418 100644 --- a/ui/index.jsx +++ b/ui/index.jsx @@ -213,6 +213,8 @@ function AppWrapper() { const enabled = makeSelectClientSetting(SETTINGS.ENABLE_PRERELEASE_UPDATES)(state); if (enabled) { autoUpdater.allowPrerelease = true; + } else { + autoUpdater.allowPrerelease = false; } } }, [persistDone]); -- 2.45.2 From 7a6ca518931deb20d169dc9ce2ada102ddc76dc8 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 28 Jun 2022 11:35:53 -0300 Subject: [PATCH 05/11] Use release/tags endpoint to get the release details. --- ui/component/lastReleaseChanges/index.js | 10 +++++++++- ui/component/lastReleaseChanges/view.jsx | 7 ++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ui/component/lastReleaseChanges/index.js b/ui/component/lastReleaseChanges/index.js index 2784fe4d6..709215966 100644 --- a/ui/component/lastReleaseChanges/index.js +++ b/ui/component/lastReleaseChanges/index.js @@ -1,3 +1,11 @@ +import { connect } from 'react-redux'; +import { selectRemoteVersion } from 'redux/selectors/app'; import LastReleaseChanges from './view'; -export default LastReleaseChanges; +const select = (state) => ({ + releaseVersion: selectRemoteVersion(state), +}); + +const perform = {}; + +export default connect(select, perform)(LastReleaseChanges); diff --git a/ui/component/lastReleaseChanges/view.jsx b/ui/component/lastReleaseChanges/view.jsx index a41d2c778..a4577b6b8 100644 --- a/ui/component/lastReleaseChanges/view.jsx +++ b/ui/component/lastReleaseChanges/view.jsx @@ -5,11 +5,12 @@ import Button from 'component/button'; import I18nMessage from 'component/i18nMessage'; type Props = { + releaseVersion: string, hideReleaseVersion?: boolean, }; const LastReleaseChanges = (props: Props) => { - const { hideReleaseVersion } = props; + const { hideReleaseVersion, releaseVersion } = props; const [releaseTag, setReleaseTag] = useState(''); const [releaseChanges, setReleaseChanges] = useState(''); const [fetchingReleaseChanges, setFetchingReleaseChanges] = useState(false); @@ -35,7 +36,7 @@ const LastReleaseChanges = (props: Props) => { ); useEffect(() => { - const lastReleaseUrl = 'https://api.github.com/repos/lbryio/lbry-desktop/releases/latest'; + const lastReleaseUrl = `https://api.github.com/repos/lbryio/lbry-desktop/releases/tags/${releaseVersion}`; const options = { method: 'GET', headers: { Accept: 'application/vnd.github.v3+json' }, @@ -54,7 +55,7 @@ const LastReleaseChanges = (props: Props) => { setFetchingReleaseChanges(false); setFetchReleaseFailed(true); }); - }, []); + }, [releaseVersion, setFetchingReleaseChanges, setReleaseTag, setReleaseChanges, setFetchReleaseFailed]); if (fetchingReleaseChanges) { return

{__('Loading...')}

; -- 2.45.2 From 063fd8fe0ac23a32d2fd7a898b5b8ca3bd7e6d3e Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 28 Jun 2022 20:00:24 -0300 Subject: [PATCH 06/11] Handle error case for auto updater. --- electron/index.js | 290 +++++++++++--------- ui/constants/action_types.js | 2 + ui/index.jsx | 15 + ui/modal/modalAutoUpdateDownloaded/index.js | 12 +- ui/modal/modalAutoUpdateDownloaded/view.jsx | 11 +- ui/redux/actions/app.js | 12 + ui/redux/reducers/app.js | 12 + ui/redux/selectors/app.js | 2 + 8 files changed, 213 insertions(+), 143 deletions(-) diff --git a/electron/index.js b/electron/index.js index 9671a6eb2..fda80eac3 100644 --- a/electron/index.js +++ b/electron/index.js @@ -36,26 +36,21 @@ try { autoUpdater.autoDownload = !upgradeDisabled; autoUpdater.allowPrerelease = false; -// This is set to true if an auto update has been downloaded through the Electron -// auto-update system and is ready to install. If the user declined an update earlier, -// it will still install on shutdown. -let autoUpdateDownloaded = false; +const UPDATE_STATE_INIT = 0; +const UPDATE_STATE_CHECKING = 1; +const UPDATE_STATE_UPDATES_FOUND = 2; +const UPDATE_STATE_NO_UPDATES_FOUND = 3; +const UPDATE_STATE_DOWNLOADING = 4; +const UPDATE_STATE_DOWNLOADED = 5; +let updateState = UPDATE_STATE_INIT; +let updateDownloadItem; + +const isAutoUpdateSupported = ['win32', 'darwin'].includes(process.platform) || !!process.env.APPIMAGE; // This is used to keep track of whether we are showing the special dialog // that we show on Windows after you decline an upgrade and close the app later. let showingAutoUpdateCloseAlert = false; -// This is used to prevent downloading updates multiple times when -// using the auto updater API. -// As read in the documentation: -// "Calling autoUpdater.checkForUpdates() twice will download the update two times." -// https://www.electronjs.org/docs/latest/api/auto-updater#autoupdatercheckforupdates -let keepCheckingForUpdates = true; - -let downloadUpgradeInitiated = false; - -let downloadUpgradeItem; - // Keep a global reference, if you don't, they will be closed automatically when the JavaScript // object is garbage collected. let rendererWindow; @@ -243,7 +238,8 @@ app.on('activate', () => { app.on('will-quit', event => { if ( process.platform === 'win32' && - autoUpdateDownloaded && + updateState === UPDATE_STATE_DOWNLOADED && + isAutoUpdateSupported && !appState.autoUpdateAccepted && !showingAutoUpdateCloseAlert ) { @@ -327,124 +323,6 @@ ipcMain.on('get-disk-space', async (event) => { } }); -ipcMain.on('cancel-download-upgrade', () => { - if (downloadUpgradeItem) { - // Cancel the download and execute the onCancel - // callback set in the options. - downloadUpgradeItem.cancel(); - } -}); - -ipcMain.on('download-upgrade', async (event, params) => { - // Prevent downloading multiple times. - if (downloadUpgradeInitiated || downloadUpgradeItem) { - return; - } - const { url, options } = params; - const dir = fs.mkdtempSync(app.getPath('temp') + path.sep); - - downloadUpgradeInitiated = true; - - // Grab the download item's handler to allow - // cancelling the operation if required. - options.onStarted = function(downloadItem) { - downloadUpgradeItem = downloadItem; - }; - options.onCancel = function() { - downloadUpgradeItem = undefined; - downloadUpgradeInitiated = false; - }; - options.onProgress = function(p) { - rendererWindow.webContents.send('download-progress-update', p); - }; - options.directory = dir; - options.onCompleted = function(c) { - downloadUpgradeInitiated = false; - downloadUpgradeItem = undefined; - rendererWindow.webContents.send('download-update-complete', c); - }; - const win = BrowserWindow.getFocusedWindow(); - await download(win, url, options).catch(e => console.log('e', e)); -}); - -ipcMain.on('upgrade', (event, installerPath) => { - // what to do if no shutdown in a long time? - console.log('Update downloaded to', installerPath); - console.log('The app will close and you will be prompted to install the latest version of LBRY.'); - console.log('After the install is complete, please reopen the app.'); - - // Prevent .deb package from opening with archive manager (Ubuntu >= 20) - if (process.platform === 'linux' && !process.env.APPIMAGE) { - sudo.exec(`dpkg -i ${installerPath}`, { name: app.name }, (err, stdout, stderr) => { - if (err || stderr) { - rendererWindow.webContents.send('upgrade-installing-error'); - return; - } - - // Re-launch the application when the installation finishes. - app.relaunch(); - app.quit(); - }); - - return; - } - - app.on('quit', () => { - console.log('Launching upgrade installer at', installerPath); - // This gets triggered called after *all* other quit-related events, so - // we'll only get here if we're fully prepared and quitting for real. - shell.openPath(installerPath); - }); - app.quit(); -}); - -ipcMain.on('check-for-updates', (event, autoDownload) => { - // Prevent downloading the same update multiple times. - if (!keepCheckingForUpdates) { - return; - } - - keepCheckingForUpdates = false; - autoUpdater.autoDownload = autoDownload; - autoUpdater.checkForUpdates(); -}); - -autoUpdater.on('update-downloaded', () => { - autoUpdateDownloaded = true; - - // If this download was trigger by - // autoUpdateAccepted it means, the user - // wants to install the new update but - // needed to downloaded the files first. - if (appState.autoUpdateAccepted) { - autoUpdater.quitAndInstall(); - } -}); - -autoUpdater.on('update-not-available', () => { - keepCheckingForUpdates = true; -}); - -ipcMain.on('autoUpdateAccepted', () => { - appState.autoUpdateAccepted = true; - - // quitAndInstall can only be called if the - // update has been downloaded. Since the user - // can disable auto updates, we have to make - // sure it has been downloaded first. - if (autoUpdateDownloaded) { - autoUpdater.quitAndInstall(); - return; - } - - // If the update hasn't been downloaded, - // start downloading it. After it's done, the - // event 'update-downloaded' will be triggered, - // where we will be able to resume the - // update installation. - autoUpdater.downloadUpdate(); -}); - ipcMain.on('version-info-requested', () => { function formatRc(ver) { // Adds dash if needed to make RC suffix SemVer friendly @@ -537,3 +415,147 @@ process.on('uncaughtException', error => { if (daemon) daemon.quit(); app.exit(1); }); + +// Auto updater +// autoUpdater.on('download-progress', (p) => { +// rendererWindow.webContents.send('download-progress-update', p); +// }); + +autoUpdater.on('update-downloaded', () => { + updateState = UPDATE_STATE_DOWNLOADED; + + // If this download was trigger by + // autoUpdateAccepted it means, the user + // wants to install the new update but + // needed to downloaded the files first. + if (appState.autoUpdateAccepted) { + autoUpdater.quitAndInstall(); + } +}); + +autoUpdater.on('update-not-available', () => { + updateState = UPDATE_STATE_NO_UPDATES_FOUND; +}); + +autoUpdater.on('error', () => { + updateState = UPDATE_STATE_INIT; +}); + +// Manual (.deb) update +ipcMain.on('cancel-download-upgrade', () => { + if (updateDownloadItem) { + // Cancel the download and execute the onCancel + // callback set in the options. + updateDownloadItem.cancel(); + } +}); + +ipcMain.on('download-upgrade', (event, params) => { + if (updateState !== UPDATE_STATE_UPDATES_FOUND) { + return; + } + if (isAutoUpdateSupported) { + updateState = UPDATE_STATE_DOWNLOADING; + autoUpdater.downloadUpdate(); + return; + } + + const { url, options } = params; + const dir = fs.mkdtempSync(app.getPath('temp') + path.sep); + + updateState = UPDATE_STATE_DOWNLOADING; + + // Grab the download item's handler to allow + // cancelling the operation if required. + options.onStarted = function(downloadItem) { + updateDownloadItem = downloadItem; + }; + options.onCancel = function() { + updateState = UPDATE_STATE_UPDATES_FOUND; + updateDownloadItem = undefined; + }; + options.onProgress = function(p) { + rendererWindow.webContents.send('download-progress-update', p); + }; + options.onCompleted = function(c) { + updateState = UPDATE_STATE_DOWNLOADED; + updateDownloadItem = undefined; + rendererWindow.webContents.send('download-update-complete', c); + }; + options.directory = dir; + const win = BrowserWindow.getFocusedWindow(); + download(win, url, options).catch(e => { + updateState = UPDATE_STATE_UPDATES_FOUND; + console.log('e', e); + }); +}); + +// Update behavior +ipcMain.on('autoUpdateAccepted', () => { + appState.autoUpdateAccepted = true; + + // quitAndInstall can only be called if the + // update has been downloaded. Since the user + // can disable auto updates, we have to make + // sure it has been downloaded first. + if (updateState === UPDATE_STATE_DOWNLOADED) { + autoUpdater.quitAndInstall(); + return; + } + + // If the update hasn't been downloaded, + // start downloading it. After it's done, the + // event 'update-downloaded' will be triggered, + // where we will be able to resume the + // update installation. + updateState = UPDATE_STATE_DOWNLOADING; + autoUpdater.downloadUpdate(); +}); + +ipcMain.on('check-for-updates', (event, autoDownload) => { + if (![UPDATE_STATE_INIT, UPDATE_STATE_NO_UPDATES_FOUND].includes(updateState)) { + return; + } + + updateState = UPDATE_STATE_CHECKING; + + // If autoDownload is true, checkForUpdates will begin the + // download automatically. + if (autoDownload) { + updateState = UPDATE_STATE_DOWNLOADING; + } + + autoUpdater.autoDownload = autoDownload; + autoUpdater.checkForUpdates(); +}); + +ipcMain.on('upgrade', (event, installerPath) => { + // what to do if no shutdown in a long time? + console.log('Update downloaded to', installerPath); + console.log('The app will close and you will be prompted to install the latest version of LBRY.'); + console.log('After the install is complete, please reopen the app.'); + + // Prevent .deb package from opening with archive manager (Ubuntu >= 20) + if (process.platform === 'linux' && !process.env.APPIMAGE) { + sudo.exec(`dpkg -i ${installerPath}`, { name: app.name }, (err, stdout, stderr) => { + if (err || stderr) { + rendererWindow.webContents.send('upgrade-installing-error'); + return; + } + + // Re-launch the application when the installation finishes. + app.relaunch(); + app.quit(); + }); + + return; + } + + app.on('quit', () => { + console.log('Launching upgrade installer at', installerPath); + // This gets triggered called after *all* other quit-related events, so + // we'll only get here if we're fully prepared and quitting for real. + shell.openPath(installerPath); + }); + app.quit(); +}); \ No newline at end of file diff --git a/ui/constants/action_types.js b/ui/constants/action_types.js index 37954c7e2..470f44c7f 100644 --- a/ui/constants/action_types.js +++ b/ui/constants/action_types.js @@ -57,6 +57,8 @@ export const UPDATE_REMOTE_VERSION = 'UPDATE_REMOTE_VERSION'; export const SKIP_UPGRADE = 'SKIP_UPGRADE'; export const START_UPGRADE = 'START_UPGRADE'; export const AUTO_UPDATE_DECLINED = 'AUTO_UPDATE_DECLINED'; +export const AUTO_UPDATE_RESET = 'AUTO_UPDATE_RESET'; +export const AUTO_UPDATE_FAILED = 'AUTO_UPDATE_FAILED'; export const AUTO_UPDATE_DOWNLOADED = 'AUTO_UPDATE_DOWNLOADED'; export const CLEAR_UPGRADE_TIMER = 'CLEAR_UPGRADE_TIMER'; diff --git a/ui/index.jsx b/ui/index.jsx index b31b4e418..00b72e6df 100644 --- a/ui/index.jsx +++ b/ui/index.jsx @@ -22,6 +22,8 @@ import { doUpdateDownloadProgress, doNotifyUpdateAvailable, doShowUpgradeInstallationError, + doAutoUpdateReset, + doAutoUpdateFail, } from 'redux/actions/app'; import { isURIValid } from 'util/lbryURI'; import { setSearchApi } from 'redux/actions/search'; @@ -129,10 +131,23 @@ ipcRenderer.on('open-uri-requested', (event, url, newSession) => { handleError(); }); +autoUpdater.on('checking-for-update', () => { + app.store.dispatch(doAutoUpdateReset()); +}); + autoUpdater.on('update-available', (e) => { + app.store.dispatch(doAutoUpdateReset()); app.store.dispatch(doNotifyUpdateAvailable(e)); }); +autoUpdater.on('update-downloaded', () => { + app.store.dispatch(doAutoUpdateReset()); +}); + +autoUpdater.on('error', () => { + app.store.dispatch(doAutoUpdateFail()); +}); + ipcRenderer.on('upgrade-installing-error', () => { app.store.dispatch(doShowUpgradeInstallationError()); }); diff --git a/ui/modal/modalAutoUpdateDownloaded/index.js b/ui/modal/modalAutoUpdateDownloaded/index.js index afe8e8fa4..2b98538dd 100644 --- a/ui/modal/modalAutoUpdateDownloaded/index.js +++ b/ui/modal/modalAutoUpdateDownloaded/index.js @@ -1,13 +1,15 @@ import { connect } from 'react-redux'; import { doAutoUpdateDeclined, doHideModal } from 'redux/actions/app'; +import { selectAutoUpdateFailed } from 'redux/selectors/app'; import ModalAutoUpdateDownloaded from './view'; -const perform = dispatch => ({ +const select = (state, props) => ({ + errorWhileUpdating: selectAutoUpdateFailed(state), +}); + +const perform = (dispatch) => ({ closeModal: () => dispatch(doHideModal()), declineAutoUpdate: () => dispatch(doAutoUpdateDeclined()), }); -export default connect( - null, - perform -)(ModalAutoUpdateDownloaded); +export default connect(select, perform)(ModalAutoUpdateDownloaded); diff --git a/ui/modal/modalAutoUpdateDownloaded/view.jsx b/ui/modal/modalAutoUpdateDownloaded/view.jsx index aecb049b4..7110cfb94 100644 --- a/ui/modal/modalAutoUpdateDownloaded/view.jsx +++ b/ui/modal/modalAutoUpdateDownloaded/view.jsx @@ -7,13 +7,15 @@ import { Modal } from 'modal/modal'; import LastReleaseChanges from 'component/lastReleaseChanges'; type Props = { - closeModal: any => any, + closeModal: (any) => any, declineAutoUpdate: () => any, + errorWhileUpdating: boolean, }; const ModalAutoUpdateDownloaded = (props: Props) => { - const { closeModal, declineAutoUpdate } = props; + const { closeModal, declineAutoUpdate, errorWhileUpdating } = props; const [disabled, setDisabled] = useState(false); + const isDownloading = disabled && !errorWhileUpdating; const handleConfirm = () => { setDisabled(true); @@ -31,13 +33,14 @@ const ModalAutoUpdateDownloaded = (props: Props) => { type="confirm" contentLabel={__('Upgrade Downloaded')} title={__('LBRY leveled up')} - confirmButtonLabel={__('Upgrade Now')} + confirmButtonLabel={isDownloading ? __('Downloading...') : __('Upgrade Now')} abortButtonLabel={__('Not Now')} - confirmButtonDisabled={disabled} + confirmButtonDisabled={isDownloading} onConfirmed={handleConfirm} onAborted={handleAbort} > + {errorWhileUpdating &&

__('There was an error while updating. Please try again.')

} ); }; diff --git a/ui/redux/actions/app.js b/ui/redux/actions/app.js index f8916d36e..f4aaa2c46 100644 --- a/ui/redux/actions/app.js +++ b/ui/redux/actions/app.js @@ -220,6 +220,18 @@ export function doNotifyUpdateAvailable(e) { }; } +export function doAutoUpdateReset() { + return { + type: ACTIONS.AUTO_UPDATE_RESET, + }; +} + +export function doAutoUpdateFail() { + return { + type: ACTIONS.AUTO_UPDATE_FAILED, + }; +} + /* Initiate a timer that will check for an app upgrade every 10 minutes. */ diff --git a/ui/redux/reducers/app.js b/ui/redux/reducers/app.js index 5426e56b8..41ec971b5 100644 --- a/ui/redux/reducers/app.js +++ b/ui/redux/reducers/app.js @@ -27,6 +27,7 @@ export type AppState = { badgeNumber: number, volume: number, autoUpdateDeclined: boolean, + autoUpdateFailed: boolean, modalsAllowed: boolean, downloadProgress: ?number, upgradeDownloading: ?boolean, @@ -64,6 +65,7 @@ const defaultState: AppState = { muted: false, autoUpdateDownloaded: false, autoUpdateDeclined: false, + autoUpdateFailed: false, modalsAllowed: true, hasClickedComment: false, downloadProgress: undefined, @@ -152,6 +154,16 @@ reducers[ACTIONS.AUTO_UPDATE_DECLINED] = (state) => autoUpdateDeclined: true, }); +reducers[ACTIONS.AUTO_UPDATE_RESET] = (state) => + Object.assign({}, state, { + autoUpdateFailed: false, + }); + +reducers[ACTIONS.AUTO_UPDATE_FAILED] = (state) => + Object.assign({}, state, { + autoUpdateFailed: true, + }); + reducers[ACTIONS.UPGRADE_DOWNLOAD_COMPLETED] = (state, action) => Object.assign({}, state, { downloadPath: action.data.path, diff --git a/ui/redux/selectors/app.js b/ui/redux/selectors/app.js index 920267b62..8e1cefeb9 100644 --- a/ui/redux/selectors/app.js +++ b/ui/redux/selectors/app.js @@ -54,6 +54,8 @@ export const selectAutoUpdateDownloaded = createSelector(selectState, (state) => export const selectAutoUpdateDeclined = createSelector(selectState, (state) => state.autoUpdateDeclined); +export const selectAutoUpdateFailed = createSelector(selectState, (state) => state.autoUpdateFailed); + export const selectIsUpdateModalDisplayed = createSelector(selectState, (state) => { return [MODALS.AUTO_UPDATE_DOWNLOADED, MODALS.UPGRADE, MODALS.DOWNLOADING].includes(state.modal); }); -- 2.45.2 From f82231c1944048996b5faa3fc1570296f5d3b75e Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 28 Jun 2022 12:23:56 -0300 Subject: [PATCH 07/11] Make install now button display the upgrade modal. --- ui/component/app/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui/component/app/index.js b/ui/component/app/index.js index 4726fe72c..39bc71e01 100644 --- a/ui/component/app/index.js +++ b/ui/component/app/index.js @@ -7,6 +7,7 @@ import { selectUnclaimedRewards } from 'redux/selectors/rewards'; import { doFetchChannelListMine, doFetchCollectionListMine, doResolveUris } from 'redux/actions/claims'; import { selectMyChannelUrls, selectMyChannelClaimIds } from 'redux/selectors/claims'; import * as SETTINGS from 'constants/settings'; +import * as MODALS from 'constants/modal_types'; import { selectSubscriptions } from 'redux/selectors/subscriptions'; import { makeSelectClientSetting, @@ -24,7 +25,7 @@ import { import { doGetWalletSyncPreference, doSetLanguage } from 'redux/actions/settings'; import { doSyncLoop } from 'redux/actions/sync'; import { - doDownloadUpgradeRequested, + doOpenModal, doSignIn, doGetAndPopulatePreferences, doSetActiveChannel, @@ -60,7 +61,7 @@ const perform = (dispatch) => ({ fetchCollectionListMine: () => dispatch(doFetchCollectionListMine()), setLanguage: (language) => dispatch(doSetLanguage(language)), signIn: () => dispatch(doSignIn()), - requestDownloadUpgrade: () => dispatch(doDownloadUpgradeRequested()), + requestDownloadUpgrade: () => dispatch(doOpenModal(MODALS.UPGRADE)), updatePreferences: () => dispatch(doGetAndPopulatePreferences()), getWalletSyncPref: () => dispatch(doGetWalletSyncPreference()), syncLoop: (noInterval) => dispatch(doSyncLoop(noInterval)), -- 2.45.2 From 5386ec190806f41b81a3463d871fa7cd4afcab12 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 28 Jun 2022 13:10:49 -0300 Subject: [PATCH 08/11] Use GitHub as provider for manual update url. --- ui/redux/selectors/app.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/redux/selectors/app.js b/ui/redux/selectors/app.js index 8e1cefeb9..e6ce5c75b 100644 --- a/ui/redux/selectors/app.js +++ b/ui/redux/selectors/app.js @@ -6,12 +6,20 @@ export const selectState = (state) => state.app || {}; export const selectPlatform = createSelector(selectState, (state) => state.platform); -export const selectUpdateUrl = createSelector(selectPlatform, (platform) => { +export const selectRemoteVersion = createSelector(selectState, (state) => state.remoteVersion); + +export const selectUpdateUrl = createSelector(selectPlatform, selectRemoteVersion, (platform, releaseVersion) => { switch (platform) { case 'darwin': return 'https://lbry.com/get/lbry.dmg'; case 'linux': - return 'https://lbry.com/get/lbry.deb'; + // releaseVersion can be used as the tag name + // Example: v0.53.5-alpha.test7495b + // When downloading, we need to remove the initial + // v, ending up with a file name like + // LBRY_0.53.5-alpha.test7495b.deb + const fileName = 'LBRY_' + (releaseVersion || '').replace('v', '') + '.deb'; + return `https://github.com/lbryio/lbry-desktop/releases/download/${releaseVersion}/${fileName}`; case 'win32': return 'https://lbry.com/get/lbry.exe'; default: @@ -21,8 +29,6 @@ export const selectUpdateUrl = createSelector(selectPlatform, (platform) => { export const selectHasClickedComment = createSelector(selectState, (state) => state.hasClickedComment); -export const selectRemoteVersion = createSelector(selectState, (state) => state.remoteVersion); - export const selectIsUpgradeAvailable = createSelector(selectState, (state) => state.isUpgradeAvailable); export const selectUpgradeInitialized = createSelector(selectState, (state) => state.upgradeInitialized); -- 2.45.2 From d3ed0689114333c266d207ccd91d5d618e275767 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Tue, 28 Jun 2022 20:33:49 -0300 Subject: [PATCH 09/11] Small fixes in updater. --- electron/index.js | 4 ++++ ui/component/app/index.js | 5 ++--- ui/modal/modalAutoUpdateDownloaded/view.jsx | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/electron/index.js b/electron/index.js index fda80eac3..c7f783137 100644 --- a/electron/index.js +++ b/electron/index.js @@ -433,6 +433,10 @@ autoUpdater.on('update-downloaded', () => { } }); +autoUpdater.on('update-available', () => { + updateState = UPDATE_STATE_UPDATES_FOUND; +}); + autoUpdater.on('update-not-available', () => { updateState = UPDATE_STATE_NO_UPDATES_FOUND; }); diff --git a/ui/component/app/index.js b/ui/component/app/index.js index 39bc71e01..4726fe72c 100644 --- a/ui/component/app/index.js +++ b/ui/component/app/index.js @@ -7,7 +7,6 @@ import { selectUnclaimedRewards } from 'redux/selectors/rewards'; import { doFetchChannelListMine, doFetchCollectionListMine, doResolveUris } from 'redux/actions/claims'; import { selectMyChannelUrls, selectMyChannelClaimIds } from 'redux/selectors/claims'; import * as SETTINGS from 'constants/settings'; -import * as MODALS from 'constants/modal_types'; import { selectSubscriptions } from 'redux/selectors/subscriptions'; import { makeSelectClientSetting, @@ -25,7 +24,7 @@ import { import { doGetWalletSyncPreference, doSetLanguage } from 'redux/actions/settings'; import { doSyncLoop } from 'redux/actions/sync'; import { - doOpenModal, + doDownloadUpgradeRequested, doSignIn, doGetAndPopulatePreferences, doSetActiveChannel, @@ -61,7 +60,7 @@ const perform = (dispatch) => ({ fetchCollectionListMine: () => dispatch(doFetchCollectionListMine()), setLanguage: (language) => dispatch(doSetLanguage(language)), signIn: () => dispatch(doSignIn()), - requestDownloadUpgrade: () => dispatch(doOpenModal(MODALS.UPGRADE)), + requestDownloadUpgrade: () => dispatch(doDownloadUpgradeRequested()), updatePreferences: () => dispatch(doGetAndPopulatePreferences()), getWalletSyncPref: () => dispatch(doGetWalletSyncPreference()), syncLoop: (noInterval) => dispatch(doSyncLoop(noInterval)), diff --git a/ui/modal/modalAutoUpdateDownloaded/view.jsx b/ui/modal/modalAutoUpdateDownloaded/view.jsx index 7110cfb94..ed03fe5b3 100644 --- a/ui/modal/modalAutoUpdateDownloaded/view.jsx +++ b/ui/modal/modalAutoUpdateDownloaded/view.jsx @@ -40,7 +40,7 @@ const ModalAutoUpdateDownloaded = (props: Props) => { onAborted={handleAbort} > - {errorWhileUpdating &&

__('There was an error while updating. Please try again.')

} + {errorWhileUpdating &&

{__('There was an error while updating. Please try again.')}

} ); }; -- 2.45.2 From 620126d2558f23f2eefea7e13f24a769e6797065 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Wed, 6 Jul 2022 13:57:31 -0300 Subject: [PATCH 10/11] Fix small lint errors. --- electron/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/electron/index.js b/electron/index.js index c7f783137..3626c0b5d 100644 --- a/electron/index.js +++ b/electron/index.js @@ -463,7 +463,7 @@ ipcMain.on('download-upgrade', (event, params) => { autoUpdater.downloadUpdate(); return; } - + const { url, options } = params; const dir = fs.mkdtempSync(app.getPath('temp') + path.sep); @@ -562,4 +562,4 @@ ipcMain.on('upgrade', (event, installerPath) => { shell.openPath(installerPath); }); app.quit(); -}); \ No newline at end of file +}); -- 2.45.2 From f46d0084ebdec520d23ab970a58cc3b7321e1513 Mon Sep 17 00:00:00 2001 From: Franco Montenegro Date: Wed, 6 Jul 2022 18:06:31 -0300 Subject: [PATCH 11/11] Properly handle auto download on/off. --- electron/index.js | 17 ++++++++++++++--- ui/constants/action_types.js | 1 + ui/index.jsx | 6 +++++- ui/modal/modalAutoUpdateDownloaded/index.js | 4 +++- ui/modal/modalAutoUpdateDownloaded/view.jsx | 19 ++++++++++++------- ui/redux/actions/app.js | 6 ++++++ ui/redux/reducers/app.js | 15 +++++++++++++++ ui/redux/selectors/app.js | 2 ++ 8 files changed, 58 insertions(+), 12 deletions(-) diff --git a/electron/index.js b/electron/index.js index 3626c0b5d..f49eeb6aa 100644 --- a/electron/index.js +++ b/electron/index.js @@ -417,9 +417,9 @@ process.on('uncaughtException', error => { }); // Auto updater -// autoUpdater.on('download-progress', (p) => { -// rendererWindow.webContents.send('download-progress-update', p); -// }); +autoUpdater.on('download-progress', () => { + updateState = UPDATE_STATE_DOWNLOADING; +}); autoUpdater.on('update-downloaded', () => { updateState = UPDATE_STATE_DOWNLOADED; @@ -434,6 +434,9 @@ autoUpdater.on('update-downloaded', () => { }); autoUpdater.on('update-available', () => { + if (updateState === UPDATE_STATE_DOWNLOADING) { + return; + } updateState = UPDATE_STATE_UPDATES_FOUND; }); @@ -442,6 +445,10 @@ autoUpdater.on('update-not-available', () => { }); autoUpdater.on('error', () => { + if (updateState === UPDATE_STATE_DOWNLOADING) { + updateState = UPDATE_STATE_UPDATES_FOUND; + return; + } updateState = UPDATE_STATE_INIT; }); @@ -507,6 +514,10 @@ ipcMain.on('autoUpdateAccepted', () => { return; } + if (updateState !== UPDATE_STATE_UPDATES_FOUND) { + return; + } + // If the update hasn't been downloaded, // start downloading it. After it's done, the // event 'update-downloaded' will be triggered, diff --git a/ui/constants/action_types.js b/ui/constants/action_types.js index 470f44c7f..8846c944a 100644 --- a/ui/constants/action_types.js +++ b/ui/constants/action_types.js @@ -60,6 +60,7 @@ export const AUTO_UPDATE_DECLINED = 'AUTO_UPDATE_DECLINED'; export const AUTO_UPDATE_RESET = 'AUTO_UPDATE_RESET'; export const AUTO_UPDATE_FAILED = 'AUTO_UPDATE_FAILED'; export const AUTO_UPDATE_DOWNLOADED = 'AUTO_UPDATE_DOWNLOADED'; +export const AUTO_UPDATE_DOWNLOADING = 'AUTO_UPDATE_DOWNLOADING'; export const CLEAR_UPGRADE_TIMER = 'CLEAR_UPGRADE_TIMER'; // Wallet diff --git a/ui/index.jsx b/ui/index.jsx index 00b72e6df..75b823b0e 100644 --- a/ui/index.jsx +++ b/ui/index.jsx @@ -22,6 +22,7 @@ import { doUpdateDownloadProgress, doNotifyUpdateAvailable, doShowUpgradeInstallationError, + doAutoUpdateDownloading, doAutoUpdateReset, doAutoUpdateFail, } from 'redux/actions/app'; @@ -131,12 +132,15 @@ ipcRenderer.on('open-uri-requested', (event, url, newSession) => { handleError(); }); +autoUpdater.on('download-progress', () => { + app.store.dispatch(doAutoUpdateDownloading()); +}); + autoUpdater.on('checking-for-update', () => { app.store.dispatch(doAutoUpdateReset()); }); autoUpdater.on('update-available', (e) => { - app.store.dispatch(doAutoUpdateReset()); app.store.dispatch(doNotifyUpdateAvailable(e)); }); diff --git a/ui/modal/modalAutoUpdateDownloaded/index.js b/ui/modal/modalAutoUpdateDownloaded/index.js index 2b98538dd..299565bc6 100644 --- a/ui/modal/modalAutoUpdateDownloaded/index.js +++ b/ui/modal/modalAutoUpdateDownloaded/index.js @@ -1,10 +1,12 @@ import { connect } from 'react-redux'; import { doAutoUpdateDeclined, doHideModal } from 'redux/actions/app'; -import { selectAutoUpdateFailed } from 'redux/selectors/app'; +import { selectAutoUpdateFailed, selectAutoUpdateDownloading, selectIsUpgradeAvailable } from 'redux/selectors/app'; import ModalAutoUpdateDownloaded from './view'; const select = (state, props) => ({ errorWhileUpdating: selectAutoUpdateFailed(state), + isDownloading: selectAutoUpdateDownloading(state), + isUpdateAvailable: selectIsUpgradeAvailable(state), }); const perform = (dispatch) => ({ diff --git a/ui/modal/modalAutoUpdateDownloaded/view.jsx b/ui/modal/modalAutoUpdateDownloaded/view.jsx index ed03fe5b3..bef4b967c 100644 --- a/ui/modal/modalAutoUpdateDownloaded/view.jsx +++ b/ui/modal/modalAutoUpdateDownloaded/view.jsx @@ -1,5 +1,5 @@ // @flow -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; // @if TARGET='app' import { ipcRenderer } from 'electron'; // @endif @@ -10,15 +10,16 @@ type Props = { closeModal: (any) => any, declineAutoUpdate: () => any, errorWhileUpdating: boolean, + isDownloading: boolean, + isUpdateAvailable: boolean, }; const ModalAutoUpdateDownloaded = (props: Props) => { - const { closeModal, declineAutoUpdate, errorWhileUpdating } = props; - const [disabled, setDisabled] = useState(false); - const isDownloading = disabled && !errorWhileUpdating; + const { closeModal, declineAutoUpdate, errorWhileUpdating, isDownloading, isUpdateAvailable } = props; + const [waitingForAutoUpdateResponse, setWaitingForAutoUpdateResponse] = useState(false); const handleConfirm = () => { - setDisabled(true); + setWaitingForAutoUpdateResponse(true); ipcRenderer.send('autoUpdateAccepted'); }; @@ -27,6 +28,10 @@ const ModalAutoUpdateDownloaded = (props: Props) => { closeModal(); }; + useEffect(() => { + setWaitingForAutoUpdateResponse(false); + }, [errorWhileUpdating, isDownloading, isUpdateAvailable]); + return ( { contentLabel={__('Upgrade Downloaded')} title={__('LBRY leveled up')} confirmButtonLabel={isDownloading ? __('Downloading...') : __('Upgrade Now')} - abortButtonLabel={__('Not Now')} - confirmButtonDisabled={isDownloading} + abortButtonLabel={isDownloading ? __('Keep browsing') : __('Not Now')} + confirmButtonDisabled={!isUpdateAvailable || isDownloading || waitingForAutoUpdateResponse} onConfirmed={handleConfirm} onAborted={handleAbort} > diff --git a/ui/redux/actions/app.js b/ui/redux/actions/app.js index f4aaa2c46..359f3a15f 100644 --- a/ui/redux/actions/app.js +++ b/ui/redux/actions/app.js @@ -220,6 +220,12 @@ export function doNotifyUpdateAvailable(e) { }; } +export function doAutoUpdateDownloading() { + return { + type: ACTIONS.AUTO_UPDATE_DOWNLOADING, + }; +} + export function doAutoUpdateReset() { return { type: ACTIONS.AUTO_UPDATE_RESET, diff --git a/ui/redux/reducers/app.js b/ui/redux/reducers/app.js index 41ec971b5..10c25dfaf 100644 --- a/ui/redux/reducers/app.js +++ b/ui/redux/reducers/app.js @@ -26,6 +26,7 @@ export type AppState = { hasSignature: boolean, badgeNumber: number, volume: number, + autoUpdateDownloading: boolean, autoUpdateDeclined: boolean, autoUpdateFailed: boolean, modalsAllowed: boolean, @@ -63,6 +64,7 @@ const defaultState: AppState = { upgradeSkipped: sessionStorage.getItem('upgradeSkipped') === 'true', // @endif muted: false, + autoUpdateDownloading: false, autoUpdateDownloaded: false, autoUpdateDeclined: false, autoUpdateFailed: false, @@ -144,9 +146,18 @@ reducers[ACTIONS.UPGRADE_CANCELLED] = (state) => modal: null, }); +reducers[ACTIONS.AUTO_UPDATE_DOWNLOADING] = (state) => + Object.assign({}, state, { + autoUpdateDownloading: true, + autoUpdateDownloaded: false, + autoUpdateFailed: false, + }); + reducers[ACTIONS.AUTO_UPDATE_DOWNLOADED] = (state) => Object.assign({}, state, { + autoUpdateDownloading: false, autoUpdateDownloaded: true, + autoUpdateFailed: false, }); reducers[ACTIONS.AUTO_UPDATE_DECLINED] = (state) => @@ -157,10 +168,14 @@ reducers[ACTIONS.AUTO_UPDATE_DECLINED] = (state) => reducers[ACTIONS.AUTO_UPDATE_RESET] = (state) => Object.assign({}, state, { autoUpdateFailed: false, + autoUpdateDownloading: false, + autoUpdateDownloaded: false, }); reducers[ACTIONS.AUTO_UPDATE_FAILED] = (state) => Object.assign({}, state, { + autoUpdateDownloading: false, + autoUpdateDownloaded: false, autoUpdateFailed: true, }); diff --git a/ui/redux/selectors/app.js b/ui/redux/selectors/app.js index e6ce5c75b..2d0d75bc0 100644 --- a/ui/redux/selectors/app.js +++ b/ui/redux/selectors/app.js @@ -62,6 +62,8 @@ export const selectAutoUpdateDeclined = createSelector(selectState, (state) => s export const selectAutoUpdateFailed = createSelector(selectState, (state) => state.autoUpdateFailed); +export const selectAutoUpdateDownloading = createSelector(selectState, (state) => state.autoUpdateDownloading); + export const selectIsUpdateModalDisplayed = createSelector(selectState, (state) => { return [MODALS.AUTO_UPDATE_DOWNLOADED, MODALS.UPGRADE, MODALS.DOWNLOADING].includes(state.modal); }); -- 2.45.2