From f24ccfc637a77058febb70509bd641d1d8879e1c Mon Sep 17 00:00:00 2001 From: Andi Kanzler Date: Sat, 10 Feb 2024 18:08:17 -0300 Subject: [PATCH 01/16] Init --- .gitignore | 14 +- .vscode/launch.json | 19 + README.md | 30 +- _config.yml | 1 - eventPage.js | 117 - forge.config.js | 32 + gulpfile.js | 728 -- main.html => index.html | 106 +- js/appUpdater.js | 4 +- js/connection/connection.js | 11 +- js/connection/connectionBle.js | 8 +- js/connection/connectionSerial.js | 188 +- js/connection/connectionTcp.js | 3 +- js/connection/connectionUdp.js | 5 +- js/data_storage.js | 2 +- js/defaults_dialog.js | 361 +- js/fc.js | 18 +- js/gui.js | 12 +- js/libraries/bundle_xml2js.js | 60 +- js/libraries/plotly-latest.min.js | 2 +- js/libraries/three/GLTFLoader.js | 4000 +++++++ js/libraries/three/OrbitControls.js | 1079 ++ js/libraries/three/three.min.js | 6 + js/localization.js | 139 +- js/main.js | 629 ++ js/model.js | 12 +- js/msp.js | 6 +- js/msp/MSPCodes.js | 4 +- js/msp/MSPHelper.js | 137 +- js/periodicStatusUpdater.js | 12 +- js/port_handler.js | 108 +- js/protocols/stm32.js | 9 +- js/protocols/stm32usbdfu.js | 52 +- js/serial_backend.js | 79 +- js/settings.js | 8 +- js/sitl.js | 29 +- js/waypoint.js | 2 +- {_locales => locale}/en/messages.json | 90 +- main.js | 818 +- manifest.json | 58 - package-lock.json | 11314 ++++++++++++-------- package.json | 52 +- post_install_cleanup.ps1 | 31 - src/css/font-awesome/css/font-awesome.css | 12 +- src/css/main.css | 2294 ++++ src/css/opensans_webfontkit/fonts.css | 72 +- src/css/receiver-msp.css | 4 + src/css/styles.css | 40 + src/css/tabs/auxiliary.css | 2 +- src/css/tabs/calibration.css | 26 +- src/css/tabs/cli.css | 18 - src/css/tabs/configuration.css | 6 +- src/css/tabs/failsafe.css | 8 +- src/css/tabs/landing.css | 2 +- src/css/tabs/mission_planer.css | 34 +- src/css/tabs/pid_tuning.css | 2 +- src/css/tabs/receiver.css | 4 +- src/css/tabs/setup.css | 6 +- tabs/adjustments.js | 7 +- tabs/advanced_tuning.html | 27 +- tabs/advanced_tuning.js | 10 +- tabs/auxiliary.js | 54 +- tabs/calibration.js | 33 +- tabs/cli.js | 93 +- tabs/configuration.js | 38 +- tabs/debug_trace.html | 2 +- tabs/ez_tune.js | 9 +- tabs/failsafe.js | 11 +- tabs/firmware_flasher.js | 248 +- tabs/gps.js | 160 +- tabs/landing.html | 2 +- tabs/landing.js | 11 +- tabs/led_strip.js | 7 +- tabs/logging.js | 22 +- tabs/magnetometer.js | 19 +- tabs/mission_control.html | 6 +- tabs/mission_control.js | 228 +- tabs/mixer.html | 8 +- tabs/mixer.js | 49 +- tabs/modes.js | 7 +- tabs/onboard_logging.js | 11 +- tabs/options.html | 5 - tabs/osd.html | 10 - tabs/osd.js | 126 +- tabs/outputs.js | 29 +- tabs/pid_tuning.html | 2 +- tabs/pid_tuning.js | 42 +- tabs/ports.html | 8 +- tabs/ports.js | 33 +- tabs/programming.js | 9 +- tabs/receiver.js | 29 +- tabs/receiver_msp.html | 6 +- tabs/receiver_msp.js | 18 +- tabs/sensors.js | 55 +- tabs/setup.js | 75 +- tabs/sitl.js | 62 +- 96 files changed, 16438 insertions(+), 8058 deletions(-) create mode 100644 .vscode/launch.json delete mode 100644 _config.yml delete mode 100755 eventPage.js create mode 100644 forge.config.js delete mode 100644 gulpfile.js rename main.html => index.html (69%) mode change 100755 => 100644 create mode 100644 js/libraries/three/GLTFLoader.js create mode 100644 js/libraries/three/OrbitControls.js create mode 100644 js/libraries/three/three.min.js create mode 100644 js/main.js rename {_locales => locale}/en/messages.json (98%) mode change 100755 => 100644 delete mode 100644 manifest.json delete mode 100755 post_install_cleanup.ps1 create mode 100644 src/css/main.css create mode 100644 src/css/receiver-msp.css create mode 100644 src/css/styles.css diff --git a/.gitignore b/.gitignore index ec45237d..fc5c7174 100644 --- a/.gitignore +++ b/.gitignore @@ -5,14 +5,6 @@ npm-debug.log .idea/ npm-debug.log inav-configurator.iml -# Generated scripts and styles -/build -# Used by nw-builder to download runtimes -/cache -# Where we put the final app directory structure -/dist -# Path where the NW.js apps get built -/apps -/.vscode/ -.eslintrc.json -/.project +/out +.eslintrc.json +/.project diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..5ee4c6ef --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Electron Main", + "runtimeExecutable": "${workspaceFolder}/node_modules/@electron-forge/cli/script/vscode.sh", + "windows": { + "runtimeExecutable": "${workspaceFolder}/node_modules/@electron-forge/cli/script/vscode.cmd", + + }, + "env": { + "NODE_ENV": "development" + }, + "cwd": "${workspaceFolder}", + "console": "integratedTerminal" + } + ] + } \ No newline at end of file diff --git a/README.md b/README.md index d84f356d..bfbc8f9c 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,8 @@ Depending on the target operating system, _INAV Configurator_ is distributed as ### Linux +### Outdated, TODO: Update for Electron + 1. Visit [release page](https://github.com/iNavFlight/inav-configurator/releases) 2. Download Configurator for Linux platform (linux32 and linux64 are present) * **.rpm** is the Fedora installation file. Just download and install using `sudo dnf localinstall /path/to/INAV-Configurator_linux64-x.y.z-x86_64.rpm` or open it with a package manager (e.g. via Files) @@ -101,29 +103,25 @@ For local development, the **node.js** build system is used. 1. Install node.js 1. From the project folder run `npm install` 1. To build the JS and CSS files and start the configurator: - - With NW.js: Run `npm start`. - - With Chrome: Run `npm run gulp`. Then open `chrome://extensions`, enable - the `Developer mode`, click on the `Load unpacked extension...` button, and select the `inav-configurator` directory. + - Run `npm start`. -Other tasks are also defined in `gulpfile.js`. To run a task, use `node ./node_modules/gulp/bin/gulp.js task-name`. Available ones are: +To build the App run `npm run make` to build for your platform. -- **build**: Generate JS and CSS output files used by the configurator from their sources. It must be run whenever changes are made to any `.js` or `.css` files in order to have those changes appear -in the configurator. If new files are added, they must be included in `gulpfile.js`. See the comments at the top of `gulpfile.js` to learn how to do so. See also the `watch` task. -- **watch**: Watch JS and CSS sources for changes and run the `build` task whenever they're edited. -- **dist**: Create a distribution of the app (valid for packaging both as a Chrome app or NW.js app) -in the `./dist/` directory. -- **release**: Create NW.js apps for each supported platform (win32, osx64 and linux64) in the `./apps` -directory. Running this task on macOS or Linux requires Wine since it's needed to set the icon -for the Windows app. If you don't have Wine installed, you can create a release by running the **release-only-Linux** task. -
`--installer` argument can be added to build installers for a particular OS. NOTE: MacOS Installer can be built with MacOS only. +Options: +* Architecture: --arch - Allowed values are: "ia32", "x64", "armv7l", "arm64", "universal", or "mips64el". -To build a specific release, use the command `release --platform="win64"` for example. +See [Electron Forge CLI Documentation](https://www.electronforge.io/cli#options-2) for details + +Example (note the double -- ): +``` npm start -- --arch="ia32 ``` ### Running with debug | Inspector -To be able to open Inspector, you will need SDK flavours of NW.js +To be able to open Inspector, set envorinment variable `NODE_ENV` to `develpoment` or set the flag directly when run `npm start`: -`npm install nw@0.61.0 --nwjs_build_type=sdk` +``` NODE_ENV=development npm start ``` + +Or use vscode and start a debug session `Electron Main` (Just hit F5!) ## Different map providers diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c7418817..00000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-slate \ No newline at end of file diff --git a/eventPage.js b/eventPage.js deleted file mode 100755 index 2843cdbf..00000000 --- a/eventPage.js +++ /dev/null @@ -1,117 +0,0 @@ -/* - If an id is also specified and a window with a matching id has been shown before, the remembered bounds of the window will be used instead. -*/ -'use strict'; - -function startApplication() { - var applicationStartTime = new Date().getTime(); - - chrome.app.window.create('main.html', { - id: 'main-window', - frame: 'chrome', - innerBounds: { - minWidth: 1024, - minHeight: 550 - } - }, function (createdWindow) { - createdWindow.contentWindow.addEventListener('load', function () { - createdWindow.contentWindow.catch_startup_time(applicationStartTime); - }); - - createdWindow.onClosed.addListener(function () { - // automatically close the port when application closes - // save connectionId in separate variable before createdWindow.contentWindow is destroyed - var connectionId = createdWindow.contentWindow.CONFIGURATOR.connection.connectionId, - valid_connection = createdWindow.contentWindow.CONFIGURATOR.connectionValid, - mincommand = createdWindow.contentWindow.MISC.mincommand; - - console.log("EP:" + connectionId); - if (connectionId && valid_connection) { - // code below is handmade MSP message (without pretty JS wrapper), it behaves exactly like MSP.send_message - // sending exit command just in case the cli tab was open. - // reset motors to default (mincommand) - - var bufferOut = new ArrayBuffer(5), - bufView = new Uint8Array(bufferOut); - - bufView[0] = 0x65; // e - bufView[1] = 0x78; // x - bufView[2] = 0x69; // i - bufView[3] = 0x74; // t - bufView[4] = 0x0D; // enter - - chrome.serial.send(connectionId, bufferOut, function () { console.log('Send exit') }); - - setTimeout(function() { - bufferOut = new ArrayBuffer(22); - bufView = new Uint8Array(bufferOut); - var checksum = 0; - - bufView[0] = 36; // $ - bufView[1] = 77; // M - bufView[2] = 60; // < - bufView[3] = 16; // data length - bufView[4] = 214; // MSP_SET_MOTOR - - checksum = bufView[3] ^ bufView[4]; - - for (var i = 0; i < 16; i += 2) { - bufView[i + 5] = mincommand & 0x00FF; - bufView[i + 6] = mincommand >> 8; - - checksum ^= bufView[i + 5]; - checksum ^= bufView[i + 6]; - } - - bufView[5 + 16] = checksum; - - chrome.serial.send(connectionId, bufferOut, function (sendInfo) { - chrome.serial.disconnect(connectionId, function (result) { - console.log('SERIAL: Connection closed - ' + result); - }); - }); - }, 100); - } else if (connectionId) { - chrome.serial.disconnect(connectionId, function (result) { - console.log('SERIAL: Connection closed - ' + result); - }); - } - }); - }); -} - -chrome.app.runtime.onLaunched.addListener(startApplication); - -chrome.runtime.onInstalled.addListener(function (details) { - if (details.reason == 'update') { - var previousVersionArr = details.previousVersion.split('.'), - currentVersionArr = chrome.runtime.getManifest().version.split('.'); - - // only fire up notification sequence when one of the major version numbers changed - if (currentVersionArr[0] > previousVersionArr[0] || currentVersionArr[1] > previousVersionArr[1]) { - chrome.storage.local.get('update_notify', function (result) { - if (result.update_notify === 'undefined' || result.update_notify) { - var manifest = chrome.runtime.getManifest(); - var options = { - priority: 0, - type: 'basic', - title: manifest.name, - message: chrome.i18n.getMessage('notifications_app_just_updated_to_version', [manifest.version]), - iconUrl: '/images/icon_128.png', - buttons: [{'title': chrome.i18n.getMessage('notifications_click_here_to_start_app')}] - }; - - chrome.notifications.create('baseflight_update', options, function (notificationId) { - // empty - }); - } - }); - } - } -}); - -chrome.notifications.onButtonClicked.addListener(function (notificationId, buttonIndex) { - if (notificationId == 'baseflight_update') { - startApplication(); - } -}); \ No newline at end of file diff --git a/forge.config.js b/forge.config.js new file mode 100644 index 00000000..3339c40e --- /dev/null +++ b/forge.config.js @@ -0,0 +1,32 @@ +module.exports = { + packagerConfig: { + asar: true, + }, + rebuildConfig: {}, + makers: [ + /* + { + name: '@electron-forge/maker-squirrel', + config: {}, + }, + */ + { + name: '@electron-forge/maker-zip', + platforms: ['win32', 'darwin'], + }, + { + name: '@electron-forge/maker-deb', + config: {}, + }, + { + name: '@electron-forge/maker-rpm', + config: {}, + }, + ], + plugins: [ + { + name: '@electron-forge/plugin-auto-unpack-natives', + config: {}, + }, + ], +}; diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index a7db937c..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,728 +0,0 @@ -'use strict'; - -var child_process = require('child_process'); -var fs = require('fs'); -var path = require('path'); -var minimist = require('minimist'); - -var archiver = require('archiver'); -var del = require('del'); -var NwBuilder = require('nw-builder'); -var semver = require('semver'); - -var gulp = require('gulp'); -var concat = require('gulp-concat'); - -const commandExistsSync = require('command-exists').sync; - -// Each key in the *sources* variable must be an array of -// the source files that will be combined into a single -// file and stored in *outputDir*. Each key in *sources* -// must be also present in *output*, whose value indicates -// the filename for the output file which combines the -// contents of the source files. -// -// Keys must be camel cased and end with either 'Css' or -// 'Js' (e.g. someSourcesCss or someSourcesJs). For each -// key, a build task will be generated named by prepending -// 'build-' and converting the key to dash-separated words -// (e.g. someSourcesCss will generate build-some-sources-css). -// -// Tasks with names ending with '-js' will be executed by the -// build-all-js task, while the ones ending with '-css' will -// be done by build-all-css. There's also a build task which -// runs both build-all-css and build-all-js. -// -// The watch task will monitor any files mentioned in the *sources* -// variable and regenerate the corresponding output file when -// they change. -// -// See README.md for details on the other tasks. - -var sources = {}; - -sources.css = [ - './main.css', - './js/libraries/jquery.nouislider.min.css', - './js/libraries/jquery.nouislider.pips.min.css', - './js/libraries/flightindicators.css', - './src/css/tabs/*.css', - './src/css/opensans_webfontkit/fonts.css', - './src/css/font-awesome/css/font-awesome.css', - './src/css/dropdown-lists/css/style_lists.css', - './js/libraries/switchery/switchery.css', - './js/libraries/jbox/jBox.css', - './node_modules/openlayers/dist/ol.css', - './src/css/logic.css', - './src/css/defaults_dialog.css', -]; - -sources.js = [ - './js/libraries/google-analytics-bundle.js', - './node_modules/jquery/dist/jquery.min.js', - './node_modules/jquery-ui-npm/jquery-ui.min.js', - './node_modules/marked/lib/marked.js', - './js/libraries/d3.min.js', - './js/libraries/jquery.nouislider.all.min.js', - './node_modules/three/build/three.min.js', - './node_modules/three/examples/js/loaders/GLTFLoader.js', - './node_modules/three/examples/js/controls/OrbitControls.js', - './js/libraries/nw-dialog.js', - './js/libraries/bundle_xml2js.js', - './js/libraries/Projector.js', - './js/libraries/CanvasRenderer.js', - './js/libraries/jquery.flightindicators.js', - './js/libraries/semver.js', - './js/libraries/jbox/jBox.min.js', - './js/libraries/switchery/switchery.js', - './js/libraries/jquery.ba-throttle-debounce.js', - './js/helpers.js', - './node_modules/inflection/inflection.min.js', - './node_modules/bluebird/js/browser/bluebird.min.js', - './js/injected_methods.js', - './js/intervals.js', - './js/timeouts.js', - './js/pid_controller.js', - './js/simple_smooth_filter.js', - './js/walking_average_filter.js', - './js/gui.js', - './js/msp/MSPCodes.js', - './js/msp/MSPHelper.js', - './js/msp/MSPchainer.js', - './js/port_handler.js', - './js/connection/connection.js', - './js/connection/connectionBle.js', - './js/connection/connectionSerial.js', - './js/connection/connectionTcp.js', - './js/connection/connectionUdp.js', - './js/servoMixRule.js', - './js/motorMixRule.js', - './js/logicCondition.js', - './js/settings.js', - './js/outputMapping.js', - './js/model.js', - './js/serial_backend.js', - './js/data_storage.js', - './js/fc.js', - './js/msp.js', - './js/protocols/stm32.js', - './js/protocols/stm32usbdfu.js', - './js/localization.js', - './js/boards.js', - './js/servoMixerRuleCollection.js', - './js/motorMixerRuleCollection.js', - './js/logicConditionsCollection.js', - './js/logicConditionsStatus.js', - './js/globalVariablesStatus.js', - './js/programmingPid.js', - './js/programmingPidCollection.js', - './js/programmingPidStatus.js', - './js/vtx.js', - './main.js', - './js/tabs.js', - './tabs/*.js', - './js/eventFrequencyAnalyzer.js', - './js/periodicStatusUpdater.js', - './js/serial_queue.js', - './js/msp_balanced_interval.js', - './tabs/advanced_tuning.js', - './tabs/ez_tune.js', - './js/peripherals.js', - './js/appUpdater.js', - './js/feature_framework.js', - './js/defaults_dialog.js', - './js/safehomeCollection.js', - './js/safehome.js', - './js/waypointCollection.js', - './js/waypoint.js', - './node_modules/openlayers/dist/ol.js', - './js/libraries/plotly-latest.min.js', - './js/sitl.js', - './js/CliAutoComplete.js', - './node_modules/jquery-textcomplete/dist/jquery.textcomplete.js' -]; - -sources.receiverCss = [ - './src/css/tabs/receiver_msp.css', - './src/css/opensans_webfontkit/fonts.css', - './js/libraries/jquery.nouislider.min.css', - './js/libraries/jquery.nouislider.pips.min.css', -]; - -sources.receiverJs = [ - './node_modules/jquery/dist/jquery.min.js', - './node_modules/jquery-ui-npm/jquery-ui.min.js', - './js/libraries/jquery.nouislider.all.min.js', - './tabs/receiver_msp.js' -]; - -sources.debugTraceJs = [ - './js/debug_trace.js' -]; - -sources.hexParserJs = [ - './js/workers/hex_parser.js', -]; - -var output = { - css: 'styles.css', - js: 'script.js', - receiverCss: 'receiver-msp.css', - receiverJs: 'receiver-msp.js', - debugTraceJs: 'debug-trace.js', - hexParserJs: 'hex_parser.js', -}; - - -var outputDir = './build/'; -var distDir = './dist/'; -var appsDir = './apps/'; - -function get_task_name(key) { - return 'build-' + key.replace(/([A-Z])/g, function($1){return "-"+$1.toLowerCase();}); -} - -function getArguments() { - return minimist(process.argv.slice(2)); -} - -function getPlatforms() { - const defaultPlatforms = ['win32', 'win64', 'osx64', 'linux32', 'linux64']; - const platform = getArguments().platform; - if (platform) { - if (defaultPlatforms.indexOf(platform) < 0) { - throw new Error(`Invalid platform "${platform}". Available ones are: ${defaultPlatforms}`) - } - return [platform]; - } - return defaultPlatforms; -} - -function execSync() { - const cmd = arguments[0]; - const args = Array.prototype.slice.call(arguments, 1); - const result = child_process.spawnSync(cmd, args, {stdio: 'inherit'}); - if (result.error) { - throw result.error; - } -} - -// Define build tasks dynamically based on the sources -// and output variables. -var buildCssTasks = []; -var buildJsTasks = []; -(function() { - // Convers fooBarBaz to foo-bar-baz - for (var k in output) { - (function (key) { - var name = get_task_name(key); - if (name.endsWith('-css')) { - buildCssTasks.push(name); - } else if (name.endsWith('-js')) { - buildJsTasks.push(name); - } else { - throw 'Invalid task name: "' + name + '": must end with -css or -js'; - } - gulp.task(name, function() { - return gulp.src(sources[key]) - .pipe(concat(output[key])) - .pipe(gulp.dest(outputDir)); - }); - })(k); - } -})(); - -gulp.task('build-all-js', gulp.parallel(buildJsTasks)) -gulp.task('build-all-css', gulp.parallel(buildCssTasks)); -gulp.task('build', gulp.parallel('build-all-css', 'build-all-js')); - -gulp.task('clean', function() { return del(['./build/**', './dist/**'], {force: true}); }); - -// Real work for dist task. Done in another task to call it via -// run-sequence. -gulp.task('dist-build', gulp.series('build', function() { - var distSources = [ - './package.json', // For NW.js - './manifest.json', // For Chrome app - './eventPage.js', - './*.html', - './tabs/*.html', - './images/**/*', - './_locales/**/*', - './build/*', - './src/css/font-awesome/webfonts/*', - './src/css/opensans_webfontkit/*.{eot,svg,ttf,woff,woff2}', - './resources/*.json', - './resources/models/*', - './resources/osd/analogue/*.mcm', - './resources/motor_order/*.svg', - './resources/sitl/windows/*', - './resources/sitl/linux/*' - ]; - return gulp.src(distSources, { base: '.' }) - .pipe(gulp.dest(distDir)); -})); - -gulp.task('dist', gulp.series('clean', 'dist-build')); - -// Create app directories in ./apps -gulp.task('apps', gulp.series('dist', function(done) { - var builder = new NwBuilder({ - files: './dist/**/*', - buildDir: appsDir, - platforms: getPlatforms(), - flavor: 'normal', - macIcns: './images/inav.icns', - winIco: './images/inav.ico', - version: get_nw_version(), - zip: false - }); - builder.on('log', console.log); - builder.build(function (err) { - if (err) { - console.log("Error building NW apps:" + err); - done(); - return; - } - // Package apps as .zip files - done(); - }); -})); - -function get_nw_version() { - return semver.valid(semver.coerce(require('./package.json').dependencies.nw)); -} - -function get_release_filename_base(platform) { - return 'INAV-Configurator_' + platform; -} - -function get_release_filename(platform, ext, addition = '') { - var pkg = require('./package.json'); - return get_release_filename_base(platform) + addition + '_' + pkg.version + '.' + ext; -} - -function build_win_zip(arch) { - return function build_win_zip_proc(done) { - var pkg = require('./package.json'); - - // Create ZIP - console.log(`Creating ${arch} ZIP file...`); - var src = path.join(appsDir, pkg.name, arch); - var output = fs.createWriteStream(path.join(appsDir, get_release_filename(arch, 'zip'))); - var archive = archiver('zip', { - zlib: { level: 9 } - }); - archive.on('warning', function(err) { throw err; }); - archive.on('error', function(err) { throw err; }); - archive.pipe(output); - archive.directory(src, 'INAV Configurator'); - return archive.finalize(); - } -} - -function build_win_iss(arch) { - return function build_win_iss_proc(done) { - if (!getArguments().installer) { - done(); - return null; - } - - // Create Installer - console.log(`Creating ${arch} Installer...`); - const innoSetup = require('@quanle94/innosetup'); - - const APPS_DIR = './apps/'; - const pkg = require('./package.json'); - - // Parameters passed to the installer script - const parameters = []; - - // Extra parameters to replace inside the iss file - parameters.push(`/Dversion=${pkg.version}`); - parameters.push(`/DarchName=${arch}`); - parameters.push(`/DarchAllowed=${(arch === 'win32') ? 'x86 x64' : 'x64'}`); - parameters.push(`/DarchInstallIn64bit=${(arch === 'win32') ? '' : 'x64'}`); - parameters.push(`/DsourceFolder=${APPS_DIR}`); - parameters.push(`/DtargetFolder=${APPS_DIR}`); - - // Show only errors in console - parameters.push(`/Q`); - - // Script file to execute - parameters.push("assets/windows/installer.iss"); - - innoSetup(parameters, {}, - function(error) { - if (error != null) { - console.error(`Installer for platform ${arch} finished with error ${error}`); - } else { - console.log(`Installer for platform ${arch} finished`); - } - done(); - }); - } -} - -gulp.task('release-win32', gulp.series(build_win_zip('win32'), build_win_iss('win32'))); -gulp.task('release-win64', gulp.series(build_win_zip('win64'), build_win_iss('win64'))); - -gulp.task('release-osx64', function(done) { - var pkg = require('./package.json'); - var src = path.join(appsDir, pkg.name, 'osx64', pkg.name + '.app'); - // Check if we want to sign the .app bundle - if (getArguments().codesign) { - // macapptool can be downloaded from - // https://github.com/fiam/macapptool - // - // Make sure the bundle is well formed - execSync('macapptool', '-v', '1', 'fix', src); - // Sign - const codesignArgs = ['macapptool', '-v', '1', 'sign']; - const codesignIdentity = getArguments()['codesign-identity']; - if (codesignIdentity) { - codesignArgs.push('-i', codesignIdentity); - } - codesignArgs.push('-e', 'entitlements.plist'); - codesignArgs.push(src) - execSync.apply(this, codesignArgs); - - // Check if the bundle is signed - const codesignCheckArgs = [ 'codesign', '-vvv', '--deep', '--strict', src ]; - execSync.apply(this, codesignCheckArgs); - } - - // 'old' .zip mode - if (!getArguments().installer) { - const zipFilename = path.join(appsDir, get_release_filename('macOS', 'zip')); - console.log('Creating ZIP file: ' + zipFilename); - var output = fs.createWriteStream(zipFilename); - var archive = archiver('zip', { - zlib: { level: 9 } - }); - archive.on('warning', function(err) { throw err; }); - archive.on('error', function(err) { throw err; }); - archive.pipe(output); - archive.directory(src, 'INAV Configurator.app'); - output.on('close', function() { - if (getArguments().notarize) { - console.log('Notarizing DMG file: ' + zipFilename); - const notarizeArgs = ['macapptool', '-v', '1', 'notarize']; - const notarizationUsername = getArguments()['notarization-username']; - if (notarizationUsername) { - notarizeArgs.push('-u', notarizationUsername) - } - const notarizationPassword = getArguments()['notarization-password']; - if (notarizationPassword) { - notarizeArgs.push('-p', notarizationPassword) - } - notarizeArgs.push(zipFilename) - execSync.apply(this, notarizeArgs); - } - done(); - }); - archive.finalize(); - } - // 'new' .dmg mode - else { - const appdmg = require('appdmg'); - - var target = path.join(appsDir, get_release_filename('macOS', 'dmg')); - console.log('Creating DMG file: ' + target); - var basepath = path.join(appsDir, pkg.name, 'osx64'); - console.log('Base path: ' + basepath); - - if (fs.existsSync(target)) { - fs.unlinkSync(target); - } - - var specs = {}; - - specs["title"] = "INAV Configurator"; - specs["contents"] = [ - { "x": 448, "y": 342, "type": "link", "path": "/Applications" }, - { "x": 192, "y": 344, "type": "file", "path": pkg.name + ".app", "name": "INAV Configurator.app" }, - ]; - specs["background"] = path.join(__dirname, 'assets/osx/dmg-background.png'); - specs["format"] = "UDZO"; - specs["window"] = { - "size": { - "width": 638, - "height": 479, - } - }; - - const codesignIdentity = getArguments()['codesign-identity']; - if (getArguments().codesign) { - specs['code-sign'] = { - 'signing-identity': codesignIdentity, - } - } - - const ee = appdmg({ - target: target, - basepath: basepath, - specification: specs, - }); - - ee.on('progress', function(info) { - //console.log(info); - }); - - ee.on('error', function(err) { - console.log(err); - }); - - ee.on('finish', function() { - if (getArguments().codesign) { - // Check if the bundle is signed - const codesignCheckArgs = [ 'codesign', '-vvv', '--deep', '--strict', target ]; - execSync.apply(this, codesignCheckArgs); - } - if (getArguments().notarize) { - console.log('Notarizing DMG file: ' + target); - const notarizeArgs = ['xcrun', 'notarytool', 'submit']; - notarizeArgs.push(target); - const notarizationUsername = getArguments()['notarization-username']; - if (notarizationUsername) { - notarizeArgs.push('--apple-id', notarizationUsername) - } else { - throw new Error('Missing notarization username'); - } - const notarizationPassword = getArguments()['notarization-password']; - if (notarizationPassword) { - notarizeArgs.push('--password', notarizationPassword) - } else { - throw new Error('Missing notarization password'); - } - const notarizationTeamId = getArguments()['notarization-team-id']; - if (notarizationTeamId) { - notarizeArgs.push('--team-id', notarizationTeamId) - } else { - throw new Error('Missing notarization Team ID'); - } - notarizeArgs.push('--wait'); - - const notarizationWebhook = getArguments()['notarization-webhook']; - if (notarizationWebhook) { - notarizeArgs.push('--webhook', notarizationWebhook); - } - execSync.apply(this, notarizeArgs); - - console.log('Stapling DMG file: ' + target); - const stapleArgs = ['xcrun', 'stapler', 'staple']; - stapleArgs.push(target); - execSync.apply(this, stapleArgs); - - console.log('Checking DMG file: ' + target); - const checkArgs = ['spctl', '-vvv', '--assess', '--type', 'install', target]; - execSync.apply(this, checkArgs); - } - done(); - }); - } -}); - -function post_build(arch, folder) { - return function post_build_linux(done) { - if ((arch === 'linux32') || (arch === 'linux64')) { - const metadata = require('./package.json'); - // Copy Ubuntu launcher scripts to destination dir - const launcherDir = path.join(folder, metadata.name, arch); - console.log(`Copy Ubuntu launcher scripts to ${launcherDir}`); - return gulp.src('assets/linux/**') - .pipe(gulp.dest(launcherDir)); - } - - return done(); - } -} - -// Create the dir directory, with write permissions -function createDirIfNotExists(dir) { - fs.mkdir(dir, '0775', function(err) { - if (err && err.code !== 'EEXIST') { - throw err; - } - }); -} - -function release_deb(arch) { - return function release_deb_proc(done) { - if (!getArguments().installer) { - done(); - return null; - } - - // Check if dpkg-deb exists - if (!commandExistsSync('dpkg-deb')) { - console.warn(`dpkg-deb command not found, not generating deb package for ${arch}`); - done(); - return null; - } - - const deb = require('gulp-debian'); - const LINUX_INSTALL_DIR = '/opt/inav'; - const metadata = require('./package.json'); - - console.log(`Generating deb package for ${arch}`); - - return gulp.src([path.join(appsDir, metadata.name, arch, '*')]) - .pipe(deb({ - package: metadata.name, - version: metadata.version, - section: 'base', - priority: 'optional', - architecture: getLinuxPackageArch('deb', arch), - maintainer: metadata.author, - description: metadata.description, - preinst: [`rm -rf ${LINUX_INSTALL_DIR}/${metadata.name}`], - postinst: [ - `chown root:root ${LINUX_INSTALL_DIR}`, - `chown -R root:root ${LINUX_INSTALL_DIR}/${metadata.name}`, - `xdg-desktop-menu install ${LINUX_INSTALL_DIR}/${metadata.name}/${metadata.name}.desktop`, - ], - prerm: [`xdg-desktop-menu uninstall ${metadata.name}.desktop`], - depends: ['libgconf-2-4', 'libatomic1'], - changelog: [], - _target: `${LINUX_INSTALL_DIR}/${metadata.name}`, - _out: appsDir, - _copyright: 'assets/linux/copyright', - _clean: true, - })); - } -} - -function post_release_deb(arch) { - return function post_release_linux_deb(done) { - if (!getArguments().installer) { - done(); - return null; - } - if ((arch === 'linux32') || (arch === 'linux64')) { - var rename = require("gulp-rename"); - const metadata = require('./package.json'); - const renameFrom = path.join(appsDir, metadata.name + '_' + metadata.version + '_' + getLinuxPackageArch('.deb', arch) + '.deb'); - const renameTo = path.join(appsDir, get_release_filename_base(arch) + '_' + metadata.version + '.deb'); - // Rename .deb build to common naming - console.log(`Renaming .deb installer ${renameFrom} to ${renameTo}`); - return gulp.src(renameFrom) - .pipe(rename(renameTo)) - .pipe(gulp.dest(".")); - } - - return done(); - } -} - -function release_rpm(arch) { - return function release_rpm_proc(done) { - if (!getArguments().installer) { - done(); - return null; - } - - // Check if rpmbuild exists - if (!commandExistsSync('rpmbuild')) { - console.warn(`rpmbuild command not found, not generating rpm package for ${arch}`); - done(); - return; - } - - const buildRpm = require('rpm-builder'); - const NAME_REGEX = /-/g; - const LINUX_INSTALL_DIR = '/opt/inav'; - const metadata = require('./package.json'); - - console.log(`Generating rpm package for ${arch}`); - - // The buildRpm does not generate the folder correctly, manually - createDirIfNotExists(appsDir); - - const options = { - name: get_release_filename_base(arch), // metadata.name, - version: metadata.version.replace(NAME_REGEX, '_'), // RPM does not like release candidate versions - buildArch: getLinuxPackageArch('rpm', arch), - vendor: metadata.author, - summary: metadata.description, - license: 'GNU General Public License v3.0', - requires: ['libatomic1'], - prefix: '/opt', - files: [{ - cwd: path.join(appsDir, metadata.name, arch), - src: '*', - dest: `${LINUX_INSTALL_DIR}/${metadata.name}`, - }], - postInstallScript: [`xdg-desktop-menu install ${LINUX_INSTALL_DIR}/${metadata.name}/${metadata.name}.desktop`], - preUninstallScript: [`xdg-desktop-menu uninstall ${metadata.name}.desktop`], - tempDir: path.join(appsDir, `tmp-rpm-build-${arch}`), - keepTemp: false, - verbose: false, - rpmDest: appsDir, - execOpts: { maxBuffer: 1024 * 1024 * 16 }, - }; - - buildRpm(options, function(err) { - if (err) { - console.error(`Error generating rpm package: ${err}`); - } - done(); - }); - } -} - -function getLinuxPackageArch(type, arch) { - let packArch; - - switch (arch) { - case 'linux32': - packArch = 'i386'; - break; - case 'linux64': - if (type === 'rpm') { - packArch = 'x86_64'; - } else { - packArch = 'amd64'; - } - break; - default: - console.error(`Package error, arch: ${arch}`); - process.exit(1); - break; - } - - return packArch; -} - -function releaseLinux(bits) { - return function() { - console.log(`Generating zip package for linux${bits}`); - var dirname = 'linux' + bits; - var pkg = require('./package.json'); - var src = path.join(appsDir, pkg.name, dirname); - var output = fs.createWriteStream(path.join(appsDir, get_release_filename(dirname, 'tar.gz'))); - var archive = archiver('tar', { - zlib: { level: 9 }, - gzip: true - }); - archive.on('warning', function(err) { throw err; }); - archive.on('error', function(err) { throw err; }); - archive.pipe(output); - archive.directory(src, 'INAV Configurator'); - return archive.finalize(); - } -} - -gulp.task('release-linux32', gulp.series(releaseLinux(32), post_build('linux32', appsDir), release_deb('linux32'), post_release_deb('linux32'))); -gulp.task('release-linux64', gulp.series(releaseLinux(64), post_build('linux64', appsDir), release_deb('linux64'), post_release_deb('linux64'), release_rpm('linux64'))); - -// Create distributable .zip files in ./apps -gulp.task('release', gulp.series('apps', getPlatforms().map(function(v) { return 'release-' + v; }))); - -gulp.task('watch', function () { - for(var k in output) { - gulp.watch(sources[k], gulp.series(get_task_name(k))); - } -}); - -gulp.task('default', gulp.series('build')); diff --git a/main.html b/index.html old mode 100755 new mode 100644 similarity index 69% rename from main.html rename to index.html index 92c89a58..9bee10eb --- a/main.html +++ b/index.html @@ -3,8 +3,110 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/appUpdater.js b/js/appUpdater.js index e4d36ab3..75ebdcf1 100644 --- a/js/appUpdater.js +++ b/js/appUpdater.js @@ -5,7 +5,7 @@ var appUpdater = appUpdater || {}; appUpdater.checkRelease = function (currVersion) { var modalStart; $.get('https://api.github.com/repos/iNavFlight/inav-configurator/releases', function (releaseData) { - GUI.log(chrome.i18n.getMessage('loadedReleaseInfo')); + GUI.log(localization.getMessage('loadedReleaseInfo')); //Git return sorted list, 0 - last release let newVersion = releaseData[0].tag_name; @@ -15,7 +15,7 @@ appUpdater.checkRelease = function (currVersion) { GUI.log(newVersion, chrome.runtime.getManifest().version); GUI.log(currVersion); - GUI.log(chrome.i18n.getMessage('newVersionAvailable')); + GUI.log(localization.getMessage('newVersionAvailable')); modalStart = new jBox('Modal', { width: 400, height: 200, diff --git a/js/connection/connection.js b/js/connection/connection.js index 343a5b9f..0ab77d47 100644 --- a/js/connection/connection.js +++ b/js/connection/connection.js @@ -10,7 +10,7 @@ const ConnectionType = { class Connection { constructor() { - this._connectionId = false; + this._connectionId = 0; this._openRequested = false; this._openCanceled = false; this._bitrate = 0; @@ -145,7 +145,6 @@ class Connection { } else { this._openRequested = false; console.log('Failed to open'); - googleAnalytics.sendException('FailedToOpen', false); if (callback) { callback(false); } @@ -163,13 +162,11 @@ class Connection { this.removeAllListeners(); this.disconnectImplementation(result => { - this.checkChromeLastError(); if (result) { console.log('Connection with ID: ' + this._connectionId + ' closed, Sent: ' + this._bytesSent + ' bytes, Received: ' + this._bytesReceived + ' bytes'); } else { console.log('Failed to close connection with ID: ' + this._connectionId + ' closed, Sent: ' + this._bytesSent + ' bytes, Received: ' + this._bytesReceived + ' bytes'); - googleAnalytics.sendException('Connection: FailedToClose', false); } this._connectionId = false; @@ -240,12 +237,6 @@ class Connection { } } - checkChromeLastError() { - if (chrome.runtime.lastError) { - console.error(chrome.runtime.lastError.message); - } - } - addOnReceiveCallback(callback) { throw new TypeError("Abstract method"); } diff --git a/js/connection/connectionBle.js b/js/connection/connectionBle.js index 92abadf2..c50a956a 100644 --- a/js/connection/connectionBle.js +++ b/js/connection/connectionBle.js @@ -59,7 +59,7 @@ class ConnectionBle extends Connection { await this.openDevice() .then(() => { this.addOnReceiveErrorListener(error => { - GUI.log(chrome.i18n.getMessage('connectionBleInterrupted')); + GUI.log(localization.getMessage('connectionBleInterrupted')); this.abort(); }); @@ -71,7 +71,7 @@ class ConnectionBle extends Connection { }); } }).catch(error => { - GUI.log(chrome.i18n.getMessage('connectionBleError', [error])); + GUI.log(localization.getMessage('connectionBleError', [error])); if (callback) { callback(false); } @@ -119,7 +119,7 @@ class ConnectionBle extends Connection { return device.gatt.connect() .then(server => { console.log("Connect to: " + device.name); - GUI.log(chrome.i18n.getMessage('connectionConnected', [device.name])); + GUI.log(localization.getMessage('connectionConnected', [device.name])); return server.getPrimaryServices(); }).then(services => { let connectedService = services.find(service => { @@ -131,7 +131,7 @@ class ConnectionBle extends Connection { throw new Error("Unsupported device (service UUID mismatch)."); } - GUI.log(chrome.i18n.getMessage('connectionBleType', [this._deviceDescription.name])); + GUI.log(localization.getMessage('connectionBleType', [this._deviceDescription.name])); return connectedService.getCharacteristics(); }).then(characteristics => { characteristics.forEach(characteristic => { diff --git a/js/connection/connectionSerial.js b/js/connection/connectionSerial.js index 7140c5f2..9e11ac0e 100644 --- a/js/connection/connectionSerial.js +++ b/js/connection/connectionSerial.js @@ -1,139 +1,103 @@ 'use strict' +const { SerialPortStream } = require('@serialport/stream'); +const { autoDetect } = require('@serialport/bindings-cpp') +const binding = autoDetect(); + class ConnectionSerial extends Connection { - constructor() { super(); - - this._failed = 0; + this._serialport = null; + this._errorListeners = []; + this._onReceiveListeners = []; + this._onErrorListener = []; } - connectImplementation(path, options, callback) { - chrome.serial.connect(path, options, (connectionInfo) => { - this.checkChromeLastError(); - if (connectionInfo && !this._openCanceled) { - this.addOnReceiveErrorListener(info => { - console.error(info); - googleAnalytics.sendException('Serial: ' + info.error, false); - - switch (info.error) { - case 'system_error': // we might be able to recover from this one - if (!this._failed++) { - chrome.serial.setPaused(this._connectionId, false, function () { - SerialCom.getInfo((info) => { - if (info) { - if (!info.paused) { - console.log('SERIAL: Connection recovered from last onReceiveError'); - googleAnalytics.sendException('Serial: onReceiveError - recovered', false); - - this._failed = 0; - } else { - console.log('SERIAL: Connection did not recover from last onReceiveError, disconnecting'); - GUI.log(chrome.i18n.getMessage('serialPortUnrecoverable')); - googleAnalytics.sendException('Serial: onReceiveError - unrecoverable', false); - - this.abort(); - } - } else { - this.checkChromeLastError(); - } - }); - }); - } - break; - - case 'break': // This occurs on F1 boards with old firmware during reboot - case 'overrun': - case 'frame_error': //Got disconnected - // wait 50 ms and attempt recovery - var error = info.error; - setTimeout(() => { - chrome.serial.setPaused(info.connectionId, false, function() { - SerialCom.getInfo(function (info) { - if (info) { - if (info.paused) { - // assume unrecoverable, disconnect - console.log('SERIAL: Connection did not recover from ' + error + ' condition, disconnecting'); - GUI.log(chrome.i18n.getMessage('serialPortUnrecoverable'));; - googleAnalytics.sendException('Serial: ' + error + ' - unrecoverable', false); - - this.abort(); - } else { - console.log('SERIAL: Connection recovered from ' + error + ' condition'); - googleAnalytics.sendException('Serial: ' + error + ' - recovered', false); - } - } - }); - }); - }, 50); - break; - - case 'timeout': - // TODO - break; - - case 'device_lost': - case 'disconnected': - default: - this.abort(); - } + connectImplementation(path, options, callback) { + this._serialport = new SerialPortStream({binding, path: path, baudRate: options.bitrate, autoOpen: true}, () => { + + this._serialport.on('data', buffer => { + this._onReceiveListeners.forEach(listener => { + listener({ + connectionId: this._connectionId, + data: buffer + }); }); - GUI.log(chrome.i18n.getMessage('connectionConnected', [path])); - } + }) + this._serialport.on('error', error => { + console.log("Serial error: " + error); + this._onReceiveErrorListeners.forEach(listener => { + listener(error); + }); + }); + if (callback) { - callback(connectionInfo); + callback({ + connectionId: ++this._connectionId, + bitrate: options.bitrate + }); } }); } disconnectImplementation(callback) { - chrome.serial.disconnect(this._connectionId, (result) => { - if (callback) { - callback(result); - } - }); + if (this._serialport && this._serialport.isOpen) { + this._serialport.close(error => { + if (error) { + console.log("Unable to close serial: " + error) + } + if (callback) { + callback(error ? false : true); + } + }); + } } sendImplementation(data, callback) { - chrome.serial.send(this._connectionId, data, callback); - } - - addOnReceiveCallback(callback){ - chrome.serial.onReceive.addListener(callback); - } - - removeOnReceiveCallback(callback){ - chrome.serial.onReceive.removeListener(callback); - } - - addOnReceiveErrorCallback(callback) { - chrome.serial.onReceiveError.addListener(callback); - } - - removeOnReceiveErrorCallback(callback) { - chrome.serial.onReceiveError.removeListener(callback); - } - - static getDevices(callback) { - chrome.serial.getDevices((devices_array) => { - var devices = []; - devices_array.forEach((device) => { - devices.push(device.path); - }); - callback(devices); + this._serialport.write(Buffer.from(data), error => { + var result = 0; + if (error) { + result = 1; + console.log("Serial wrire error: " + error) + } + if (callback) { + callback({ + bytesSent: data.byteLength, + resultCode: result + }); + } }); } - static getInfo(connectionId, callback) { - chrome.serial.getInfo(connectionId, callback); + addOnReceiveCallback(callback){ + this._onReceiveErrorListeners.push(callback); } - static getControlSignals(connectionId, callback) { - chrome.serial.getControlSignals(connectionId, callback); + removeOnReceiveCallback(callback){ + this._onReceiveListeners = this._onReceiveErrorListeners.filter(listener => listener !== callback); } - static setControlSignals(connectionId, signals, callback) { - chrome.serial.setControlSignals(connectionId, signals, callback); + addOnReceiveErrorCallback(callback) { + this._onReceiveErrorListeners.push(callback); + } + + removeOnReceiveErrorCallback(callback) { + this._onReceiveErrorListeners = this._onReceiveErrorListeners.filter(listener => listener !== callback); + } + + static async getDevices(callback) { + SerialPort.list().then((ports, error) => { + var devices = []; + if (error) { + GUI.log("Unable to list serial ports."); + } else { + ports.forEach(port => { + devices.push(port.path); + }); + } + if (callback) + callback(devices); + }); } } diff --git a/js/connection/connectionTcp.js b/js/connection/connectionTcp.js index 48253cbf..1650e615 100644 --- a/js/connection/connectionTcp.js +++ b/js/connection/connectionTcp.js @@ -43,7 +43,6 @@ class ConnectionTcp extends Connection { this.addOnReceiveErrorListener(info => { console.error(info); - googleAnalytics.sendException('TCP: ' + info.error, false); let message; switch (info.resultCode) { @@ -79,7 +78,7 @@ class ConnectionTcp extends Connection { this.abort(); }); - GUI.log(chrome.i18n.getMessage('connectionConnected', ["tcp://" + this._connectionIP + ":" + this._connectionPort])); + GUI.log(localization.getMessage('connectionConnected', ["tcp://" + this._connectionIP + ":" + this._connectionPort])); if (callback) { callback({ diff --git a/js/connection/connectionUdp.js b/js/connection/connectionUdp.js index 2f50887f..c99aa551 100644 --- a/js/connection/connectionUdp.js +++ b/js/connection/connectionUdp.js @@ -46,7 +46,7 @@ class ConnectionUdp extends Connection { this._timeoutId = setTimeout(() => { if (!this._isCli) { // Disable timeout for CLI - GUI.log(chrome.i18n.getMessage('connectionUdpTimeout')); + GUI.log(localization.getMessage('connectionUdpTimeout')); this.abort(); } }, 10000); @@ -55,7 +55,6 @@ class ConnectionUdp extends Connection { // Actually useless, but according to chrome documentation also UDP triggers error events ¯\_(ツ)_/¯ this.addOnReceiveErrorListener(info => { console.error(info); - googleAnalytics.sendException('UDP: ' + info.error, false); let message; switch (info.resultCode) { @@ -91,7 +90,7 @@ class ConnectionUdp extends Connection { this.abort(); }); - GUI.log(chrome.i18n.getMessage('connectionConnected', ["udp://" + this._connectionIP + ":" + this._connectionPort])); + GUI.log(localization.getMessage('connectionConnected', ["udp://" + this._connectionIP + ":" + this._connectionPort])); if (callback) { callback({ diff --git a/js/data_storage.js b/js/data_storage.js index a1881b31..d711bb37 100755 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -3,7 +3,7 @@ var CONFIGURATOR = { // all versions are specified and compared using semantic versioning http://semver.org/ 'minfirmwareVersionAccepted': '7.0.0', - 'maxFirmwareVersionAccepted': '9.0.0', // Condition is < (lt) so we accept all in 8.x branch + 'maxFirmwareVersionAccepted': '8.0.0', // Condition is < (lt) so we accept all in 7.x branch 'connectionValid': false, 'connectionValidCliOnly': false, 'cliActive': false, diff --git a/js/defaults_dialog.js b/js/defaults_dialog.js index c7d858c3..00fa46c4 100644 --- a/js/defaults_dialog.js +++ b/js/defaults_dialog.js @@ -39,44 +39,48 @@ helper.defaultsDialog = (function () { value: "DSHOT300" }, /* - Ez Tune setup + Filtering */ { - key: "ez_enabled", - value: "ON" - }, - { - key: "ez_filter_hz", + key: "gyro_main_lpf_hz", value: 90 }, { - key: "ez_axis_ratio", - value: 116 + key: "gyro_main_lpf_type", + value: "PT1" }, { - key: "ez_response", - value: 71 + key: "dterm_lpf_hz", + value: 85 }, { - key: "ez_damping", - value: 103 + key: "dterm_lpf_type", + value: "PT3" }, { - key: "ez_stability", - value: 105 + key: "dynamic_gyro_notch_enabled", + value: "ON" }, { - key: "ez_aggressiveness", - value: 100 + key: "dynamic_gyro_notch_q", + value: 250 }, { - key: "ez_rate", - value: 134 + key: "dynamic_gyro_notch_min_hz", + value: 70 }, { - key: "ez_expo", - value: 118 + key: "setpoint_kalman_enabled", + value: "ON" }, + { + key: "setpoint_kalman_q", + value: 200 + }, + { + key: "smith_predictor_delay", // Enable Smith Predictor + value: 1.5 + }, /* Mechanics */ @@ -108,6 +112,64 @@ helper.defaultsDialog = (function () { key: "antigravity_accelerator", value: 5 }, + /* + Rates + */ + { + key: "rc_yaw_expo", + value: 75 + }, + { + key: "rc_expo", + value: 75 + }, + { + key: "roll_rate", + value: 70 + }, + { + key: "pitch_rate", + value: 70 + }, + { + key: "yaw_rate", + value: 60 + }, + /* + PIDs + */ + { + key: "mc_p_pitch", + value: 32 + }, + { + key: "mc_i_pitch", + value: 90 + }, + { + key: "mc_d_pitch", + value: 25 + }, + { + key: "mc_p_roll", + value: 28 + }, + { + key: "mc_i_roll", + value: 80 + }, + { + key: "mc_d_roll", + value: 23 + }, + { + key: "mc_p_yaw", + value: 30 + }, + { + key: "mc_i_yaw", + value: 80 + }, /* * TPA */ @@ -130,6 +192,11 @@ helper.defaultsDialog = (function () { { key: "failsafe_procedure", value: "DROP" + }, + // Ez Tune + { + key: "ez_filter_hz", + value: 90 } ] }, @@ -160,43 +227,15 @@ helper.defaultsDialog = (function () { value: "DSHOT300" }, /* - Ez Tune setup + Filtering */ { - key: "ez_enabled", - value: "ON" - }, - { - key: "ez_filter_hz", + key: "gyro_main_lpf_hz", value: 110 }, { - key: "ez_axis_ratio", - value: 110 - }, - { - key: "ez_response", - value: 92 - }, - { - key: "ez_damping", - value: 108 - }, - { - key: "ez_stability", - value: 110 - }, - { - key: "ez_aggressiveness", - value: 80 - }, - { - key: "ez_rate", - value: 134 - }, - { - key: "ez_expo", - value: 118 + key: "gyro_main_lpf_type", + value: "PT1" }, /* Dynamic gyro LPF @@ -218,6 +257,41 @@ helper.defaultsDialog = (function () { value: 3 }, /* + D-term + */ + { + key: "dterm_lpf_hz", + value: 110 + }, + { + key: "dterm_lpf_type", + value: "PT3" + }, + { + key: "dynamic_gyro_notch_enabled", + value: "ON" + }, + { + key: "dynamic_gyro_notch_q", + value: 250 + }, + { + key: "dynamic_gyro_notch_min_hz", + value: 100 + }, + { + key: "setpoint_kalman_enabled", + value: "ON" + }, + { + key: "setpoint_kalman_q", + value: 200 + }, + { + key: "smith_predictor_delay", // Enable Smith Predictor + value: 1.5 + }, + /* Mechanics */ { @@ -248,6 +322,64 @@ helper.defaultsDialog = (function () { key: "antigravity_accelerator", value: 5 }, + /* + Rates + */ + { + key: "rc_yaw_expo", + value: 75 + }, + { + key: "rc_expo", + value: 75 + }, + { + key: "roll_rate", + value: 70 + }, + { + key: "pitch_rate", + value: 70 + }, + { + key: "yaw_rate", + value: 60 + }, + /* + PIDs + */ + { + key: "mc_p_pitch", + value: 40 + }, + { + key: "mc_i_pitch", + value: 90 + }, + { + key: "mc_d_pitch", + value: 27 + }, + { + key: "mc_p_roll", + value: 36 + }, + { + key: "mc_i_roll", + value: 80 + }, + { + key: "mc_d_roll", + value: 25 + }, + { + key: "mc_p_yaw", + value: 35 + }, + { + key: "mc_i_yaw", + value: 80 + }, /* * TPA */ @@ -270,6 +402,11 @@ helper.defaultsDialog = (function () { { key: "failsafe_procedure", value: "DROP" + }, + // Ez Tune + { + key: "ez_filter_hz", + value: 110 } ] }, @@ -300,44 +437,52 @@ helper.defaultsDialog = (function () { value: "DSHOT300" }, /* - Ez Tune setup + Filtering */ { - key: "ez_enabled", - value: "ON" - }, - { - key: "ez_filter_hz", + key: "gyro_main_lpf_hz", value: 90 }, { - key: "ez_axis_ratio", - value: 110 + key: "gyro_main_lpf_type", + value: "PT1" }, { - key: "ez_response", - value: 101 + key: "dterm_lpf_hz", + value: 80 }, { - key: "ez_damping", - value: 115 + key: "dterm_lpf_type", + value: "PT3" }, { - key: "ez_stability", - value: 100 + key: "dynamic_gyro_notch_enabled", + value: "ON" }, { - key: "ez_aggressiveness", - value: 100 + key: "dynamic_gyro_notch_mode", + value: "3D" }, { - key: "ez_rate", - value: 134 + key: "dynamic_gyro_notch_q", + value: 250 }, { - key: "ez_expo", - value: 118 - }, + key: "dynamic_gyro_notch_min_hz", + value: 60 + }, + { + key: "setpoint_kalman_enabled", + value: "ON" + }, + { + key: "setpoint_kalman_q", + value: 200 + }, + { + key: "smith_predictor_delay", // Enable Smith Predictor + value: 1.5 + }, /* Mechanics */ @@ -369,6 +514,64 @@ helper.defaultsDialog = (function () { key: "antigravity_accelerator", value: 5 }, + /* + Rates + */ + { + key: "rc_yaw_expo", + value: 75 + }, + { + key: "rc_expo", + value: 75 + }, + { + key: "roll_rate", + value: 70 + }, + { + key: "pitch_rate", + value: 70 + }, + { + key: "yaw_rate", + value: 60 + }, + /* + PIDs + */ + { + key: "mc_p_pitch", + value: 44 + }, + { + key: "mc_i_pitch", + value: 85 + }, + { + key: "mc_d_pitch", + value: 28 + }, + { + key: "mc_p_roll", + value: 40 + }, + { + key: "mc_i_roll", + value: 75 + }, + { + key: "mc_d_roll", + value: 26 + }, + { + key: "mc_p_yaw", + value: 40 + }, + { + key: "mc_i_yaw", + value: 80 + }, /* * TPA */ @@ -391,6 +594,11 @@ helper.defaultsDialog = (function () { { key: "failsafe_procedure", value: "DROP" + }, + // Ez Tune + { + key: "ez_filter_hz", + value: 90 } ] }, @@ -924,7 +1132,7 @@ helper.defaultsDialog = (function () { privateScope.finalize = function (selectedDefaultPreset) { mspHelper.saveToEeprom(function () { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); if (selectedDefaultPreset.reboot) { GUI.tab_switch_cleanup(function () { @@ -933,7 +1141,7 @@ helper.defaultsDialog = (function () { if (typeof savingDefaultsModal !== 'undefined') { savingDefaultsModal.close(); } - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect(); }); }); @@ -958,9 +1166,6 @@ helper.defaultsDialog = (function () { miscSettings.push(input); } }); - - //Save analytics - googleAnalytics.sendEvent('Setting', 'Defaults', selectedDefaultPreset.title); var settingsChainer = MSPChainerClass(); var chain = []; diff --git a/js/fc.js b/js/fc.js index 8337a081..40867ce3 100644 --- a/js/fc.js +++ b/js/fc.js @@ -29,7 +29,6 @@ var CONFIG, MOTOR_DATA, SERVO_DATA, GPS_DATA, - ADSB_VEHICLES, MISSION_PLANNER, ANALOG, ARMING_CONFIG, @@ -66,7 +65,8 @@ var CONFIG, BOARD_ALIGNMENT, CURRENT_METER_CONFIG, FEATURES, - RATE_DYNAMICS; + RATE_DYNAMICS, + EZ_TUNE; var FC = { restartRequired: false, @@ -252,12 +252,6 @@ var FC = { packetCount: 0 }; - ADSB_VEHICLES = { - vehiclesCount: 0, - callsignLength: 0, - vehicles: [] - }; - MISSION_PLANNER = new WaypointCollection(); ANALOG = { @@ -1243,13 +1237,7 @@ var FC = { operandType: "Set Flight Parameter", hasOperand: [true, false], output: "raw" - }, - 54: { - name: "Mag calibration", - operandType: "Set Flight Parameter", - hasOperand: [false, false], - output: "boolean" - }, + }, } }, getOperandTypes: function () { diff --git a/js/gui.js b/js/gui.js index 91856e75..da9bbc9e 100644 --- a/js/gui.js +++ b/js/gui.js @@ -183,7 +183,7 @@ GUI_control.prototype.content_ready = function (callback) { const documentationDiv = $('
').addClass('cf_doc_version_bt'); $('').attr('href', 'https://github.com/iNavFlight/inav/wiki') .attr('target', '_blank').attr('id', 'button-documentation') - .html(chrome.i18n.getMessage('documentation')).appendTo(documentationDiv); + .html(localization.getMessage('documentation')).appendTo(documentationDiv); documentationDiv.insertAfter(tabTitle); // loading tooltip @@ -256,7 +256,7 @@ GUI_control.prototype.updateStatusBar = function() { $('span.i2c-error').text(CONFIG.i2cError); $('span.cycle-time').text(CONFIG.cycleTime); - $('span.cpu-load').text(chrome.i18n.getMessage('statusbar_cpu_load', [CONFIG.cpuload])); + $('span.cpu-load').text(localization.getMessage('statusbar_cpu_load', [CONFIG.cpuload])); $('span.arming-flags').text(activeArmFlags.length ? activeArmFlags.join(', ') : '-'); }; @@ -265,9 +265,9 @@ GUI_control.prototype.updateProfileChange = function(refresh) { $('#profilechange').val(CONFIG.profile); $('#batteryprofilechange').val(CONFIG.battery_profile); if (refresh) { - GUI.log(chrome.i18n.getMessage('loadedMixerProfile', [CONFIG.mixer_profile + 1])); - GUI.log(chrome.i18n.getMessage('pidTuning_LoadedProfile', [CONFIG.profile + 1])); - GUI.log(chrome.i18n.getMessage('loadedBatteryProfile', [CONFIG.battery_profile + 1])); + GUI.log(localization.getMessage('loadedMixerProfile', [CONFIG.mixer_profile + 1])); + GUI.log(localization.getMessage('pidTuning_LoadedProfile', [CONFIG.profile + 1])); + GUI.log(localization.getMessage('loadedBatteryProfile', [CONFIG.battery_profile + 1])); updateActivatedTab(); } }; @@ -379,7 +379,7 @@ GUI_control.prototype.renderOperandValue = function ($container, operandMetadata GUI_control.prototype.renderLogicConditionSelect = function ($container, logicConditions, current, onChange, withAlways, onlyEnabled) { let $select = $container.append(' - -
-
+
@@ -242,16 +238,6 @@
-
- - -
-
-
- - -
-
@@ -479,6 +465,17 @@
+
+ + +
+
+ +
+ + +
+
diff --git a/tabs/advanced_tuning.js b/tabs/advanced_tuning.js index 6c012fbc..485d70e9 100644 --- a/tabs/advanced_tuning.js +++ b/tabs/advanced_tuning.js @@ -6,13 +6,12 @@ TABS.advanced_tuning.initialize = function (callback) { if (GUI.active_tab != 'advanced_tuning') { GUI.active_tab = 'advanced_tuning'; - googleAnalytics.sendAppView('AdvancedTuning'); } loadHtml(); function loadHtml() { - GUI.load("./tabs/advanced_tuning.html", Settings.processHtml(function () { + GUI.load(path.join(__dirname, "tabs/advanced_tuning.html"), Settings.processHtml(function () { if (FC.isAirplane()) { $('.airplaneTuning').show(); @@ -36,7 +35,7 @@ TABS.advanced_tuning.initialize = function (callback) { GUI.simpleBind(); - localize(); + localization.localize();; // Set up required field warnings $('#launchIdleThr').keyup(function() { @@ -78,7 +77,7 @@ TABS.advanced_tuning.initialize = function (callback) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); }); @@ -86,12 +85,11 @@ TABS.advanced_tuning.initialize = function (callback) { function reinitialize() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_advanced_tuning a')); } }; -$incLD = 0; TABS.advanced_tuning.checkRequirements_IdleThrottle = function() { let idleThrottle = $('#launchIdleThr'); diff --git a/tabs/auxiliary.js b/tabs/auxiliary.js index f0485242..d8ecbcfb 100644 --- a/tabs/auxiliary.js +++ b/tabs/auxiliary.js @@ -7,8 +7,6 @@ TABS.auxiliary = {}; TABS.auxiliary.initialize = function (callback) { GUI.active_tab_ref = this; GUI.active_tab = 'auxiliary'; - googleAnalytics.sendAppView('Auxiliary'); - function get_mode_ranges() { MSP.send_message(MSPCodes.MSP_MODE_RANGES, false, false, get_box_ids); } @@ -31,7 +29,7 @@ TABS.auxiliary.initialize = function (callback) { function load_html() { sort_modes_for_display(); - GUI.load("./tabs/auxiliary.html", process_html); + GUI.load(path.join(__dirname, "tabs/auxiliary.html"), process_html); } MSP.send_message(MSPCodes.MSP_BOXNAMES, false, false, get_mode_ranges); @@ -55,7 +53,7 @@ TABS.auxiliary.initialize = function (callback) { var found = false; var sortedID = 0; - for (i=0; i AUX_CONFIG.length) { - for (i=0; i { if (err) { - GUI.log(chrome.i18n.getMessage('ErrorWritingFile')); + GUI.log(localization.getMessage('ErrorWritingFile')); return console.error(err); } - GUI.log(chrome.i18n.getMessage('FileSaved')); + GUI.log(localization.getMessage('FileSaved')); }); }); @@ -250,7 +238,7 @@ TABS.cli.initialize = function (callback) { closeButton: 'title', animation: false, isolateScroll: false, - title: chrome.i18n.getMessage("cliConfirmSnippetDialogTitle"), + title: localization.getMessage("cliConfirmSnippetDialogTitle"), content: $('#snippetpreviewcontent'), onCreated: () => $("#snippetpreviewcontent a.confirm").click(() => executeSnippet()), }); @@ -263,7 +251,7 @@ TABS.cli.initialize = function (callback) { fs.readFile(result, (err, data) => { if (err) { - GUI.log(chrome.i18n.getMessage('ErrorReadingFile')); + GUI.log(localization.getMessage('ErrorReadingFile')); return console.error(err); } @@ -279,19 +267,12 @@ TABS.cli.initialize = function (callback) { if (event.which == tabKeyCode) { // prevent default tabbing behaviour event.preventDefault(); - - if (!CliAutoComplete.isEnabled()) { - const outString = textarea.val(); - const lastCommand = outString.split("\n").pop(); - const command = getCliCommand(lastCommand, self.cliBuffer); - if (command) { - self.sendAutoComplete(command); - textarea.val(''); - } - } - else if (!CliAutoComplete.isOpen() && !CliAutoComplete.isBuilding()) { - // force show autocomplete on Tab - CliAutoComplete.openLater(true); + const outString = textarea.val(); + const lastCommand = outString.split("\n").pop(); + const command = getCliCommand(lastCommand, self.cliBuffer); + if (command) { + self.sendAutoComplete(command); + textarea.val(''); } } }); @@ -301,10 +282,6 @@ TABS.cli.initialize = function (callback) { if (event.which == enterKeyCode) { event.preventDefault(); // prevent the adding of new line - if (CliAutoComplete.isBuilding()) { - return; // silently ignore commands if autocomplete is still building - } - var out_string = textarea.val(); self.history.add(out_string.trim()); @@ -324,10 +301,6 @@ TABS.cli.initialize = function (callback) { var keyUp = {38: true}, keyDown = {40: true}; - if (CliAutoComplete.isOpen()) { - return; // disable history keys if autocomplete is open - } - if (event.keyCode in keyUp) { textarea.val(self.history.prev()); } @@ -359,11 +332,11 @@ TABS.cli.initialize = function (callback) { if (delay > 0) { helper.timeout.add('cli_delay', () => { self.send(getCliCommand("cli_delay " + delay + '\n', TABS.cli.cliBuffer)); - self.send(getCliCommand('# ' + chrome.i18n.getMessage('connectionBleCliEnter') + '\n', TABS.cli.cliBuffer)); + self.send(getCliCommand('# ' + localization.getMessage('connectionBleCliEnter') + '\n', TABS.cli.cliBuffer)); }, 400); } } - + GUI.content_ready(callback); }); }; @@ -398,11 +371,6 @@ function writeToOutput(text) { } function writeLineToOutput(text) { - if (CliAutoComplete.isBuilding()) { - CliAutoComplete.builderParseLine(text); - return; // suppress output if in building state - } - if (text.startsWith("### ERROR: ")) { writeToOutput('' + text + '
'); } else { @@ -477,34 +445,22 @@ TABS.cli.read = function (readInfo) { this.cliBuffer += currentChar; } - if (!CliAutoComplete.isBuilding()) { - // do not include the building dialog into the history - this.outputHistory += currentChar; - } + this.outputHistory += currentChar; if (this.cliBuffer == 'Rebooting') { CONFIGURATOR.cliActive = false; CONFIGURATOR.cliValid = false; - GUI.log(chrome.i18n.getMessage('cliReboot')); - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('cliReboot')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect(); } } if (!CONFIGURATOR.cliValid && validateText.indexOf('CLI') !== -1) { - GUI.log(chrome.i18n.getMessage('cliEnter')); + GUI.log(localization.getMessage('cliEnter')); CONFIGURATOR.cliValid = true; - - if (CliAutoComplete.isEnabled() && !CliAutoComplete.isBuilding()) { - // start building autoComplete - CliAutoComplete.builderStart(); - } - } - - // fallback to native autocomplete - if (!CliAutoComplete.isEnabled()) { - setPrompt(removePromptHash(this.cliBuffer)); + validateText = ""; } setPrompt(removePromptHash(this.cliBuffer)); @@ -543,8 +499,5 @@ TABS.cli.cleanup = function (callback) { if (callback) callback(); }, 1000); // if we dont allow enough time to reboot, CRC of "first" command sent will fail, keep an eye for this one CONFIGURATOR.cliActive = false; - - CliAutoComplete.cleanup(); - $(CliAutoComplete).off(); }); }; diff --git a/tabs/configuration.js b/tabs/configuration.js index 07d05d30..6e7ce972 100644 --- a/tabs/configuration.js +++ b/tabs/configuration.js @@ -7,7 +7,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { if (GUI.active_tab != 'configuration') { GUI.active_tab = 'configuration'; - googleAnalytics.sendAppView('Configuration'); + } var loadChainer = new MSPChainerClass(); @@ -49,7 +49,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); @@ -58,12 +58,12 @@ TABS.configuration.initialize = function (callback, scrollPosition) { function reinitialize() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_configuration a')); } function load_html() { - GUI.load("./tabs/configuration.html", Settings.processHtml(process_html)); + GUI.load(path.join(__dirname, "tabs/configuration.html"), Settings.processHtml(process_html)); } function process_html() { @@ -74,17 +74,17 @@ TABS.configuration.initialize = function (callback, scrollPosition) { var features = FC.getFeatures(); var features_e = $('.features'); - for (i = 0; i < features.length; i++) { + for (let i = 0; i < features.length; i++) { var row_e, tips = [], feature_tip_html = ''; if (features[i].showNameInTip) { - tips.push(chrome.i18n.getMessage("manualEnablingTemplate").replace("{name}", features[i].name)); + tips.push(localization.getMessage("manualEnablingTemplate").replace("{name}", features[i].name)); } if (features[i].haveTip) { - tips.push(chrome.i18n.getMessage("feature" + features[i].name + "Tip")); + tips.push(localization.getMessage("feature" + features[i].name + "Tip")); } if (tips.length > 0) { @@ -111,7 +111,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { helper.features.updateUI($('.tab-configuration'), FEATURES); // translate to user-selected language - localize(); + localization.localize();; // VTX var config_vtx = $('.config-vtx'); @@ -121,7 +121,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { vtx_band.empty(); var vtx_no_band_note = $('#vtx_no_band'); if (VTX_CONFIG.band < VTX.BAND_MIN || VTX_CONFIG.band > VTX.BAND_MAX) { - var noBandName = chrome.i18n.getMessage("configurationNoBand"); + var noBandName = localization.getMessage("configurationNoBand"); $('').appendTo(vtx_band); vtx_no_band_note.show(); } else { @@ -170,7 +170,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { var vtx_low_power_disarm = $('#vtx_low_power_disarm'); vtx_low_power_disarm.empty(); for (var ii = VTX.LOW_POWER_DISARM_MIN; ii <= VTX.LOW_POWER_DISARM_MAX; ii++) { - var name = chrome.i18n.getMessage("configurationVTXLowPowerDisarmValue_" + ii); + var name = localization.getMessage("configurationVTXLowPowerDisarmValue_" + ii); if (!name) { name = ii; } @@ -234,7 +234,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { $i2cSpeedInfo.addClass('info-box'); $i2cSpeedInfo.removeClass('warning-box'); - $i2cSpeedInfo.html(chrome.i18n.getMessage('i2cSpeedSuggested800khz')); + $i2cSpeedInfo.html(localization.getMessage('i2cSpeedSuggested800khz')); $i2cSpeedInfo.show(); } else if (value == "800KHZ") { @@ -246,7 +246,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { $i2cSpeedInfo.removeClass('ok-box'); $i2cSpeedInfo.removeClass('info-box'); $i2cSpeedInfo.addClass('warning-box'); - $i2cSpeedInfo.html(chrome.i18n.getMessage('i2cSpeedTooLow')); + $i2cSpeedInfo.html(localization.getMessage('i2cSpeedTooLow')); $i2cSpeedInfo.show(); } @@ -273,20 +273,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) { MISC.battery_capacity_critical = parseInt($('#battery_capacity_critical').val() * MISC.battery_capacity / 100); MISC.battery_capacity_unit = $('#battery_capacity_unit').val(); - googleAnalytics.sendEvent('Setting', 'I2CSpeed', $('#i2c_speed').children("option:selected").text()); - - googleAnalytics.sendEvent('Board', 'Accelerometer', $('#sensor-acc').children("option:selected").text()); - googleAnalytics.sendEvent('Board', 'Magnetometer', $('#sensor-mag').children("option:selected").text()); - googleAnalytics.sendEvent('Board', 'Barometer', $('#sensor-baro').children("option:selected").text()); - googleAnalytics.sendEvent('Board', 'Pitot', $('#sensor-pitot').children("option:selected").text()); - - for (var i = 0; i < features.length; i++) { - var featureName = features[i].name; - if (FC.isFeatureEnabled(featureName, features)) { - googleAnalytics.sendEvent('Setting', 'Feature', featureName); - } - } - helper.features.reset(); helper.features.fromUI($('.tab-configuration')); helper.features.execute(function () { diff --git a/tabs/debug_trace.html b/tabs/debug_trace.html index a1d031f1..f46969c2 100644 --- a/tabs/debug_trace.html +++ b/tabs/debug_trace.html @@ -1,7 +1,7 @@ Debug Trace - +
diff --git a/tabs/ez_tune.js b/tabs/ez_tune.js index 8128deb5..3133c873 100644 --- a/tabs/ez_tune.js +++ b/tabs/ez_tune.js @@ -34,24 +34,23 @@ TABS.ez_tune.initialize = function (callback) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); }); } function reinitialize() { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_ez_tune a')); } if (GUI.active_tab != 'ez_tune') { GUI.active_tab = 'ez_tune'; - googleAnalytics.sendAppView('Ez Tune'); } function load_html() { - GUI.load("./tabs/ez_tune.html", Settings.processHtml(process_html)); + GUI.load(path.join(__dirname, "tabs/ez_tune.html"), Settings.processHtml(process_html)); } function getYawPidScale(input) { @@ -102,7 +101,7 @@ TABS.ez_tune.initialize = function (callback) { } function process_html() { - localize(); + localization.localize();; helper.tabs.init($('.tab-ez_tune')); helper.features.updateUI($('.tab-ez_tune'), FEATURES); diff --git a/tabs/failsafe.js b/tabs/failsafe.js index 8afd2d21..c486696b 100644 --- a/tabs/failsafe.js +++ b/tabs/failsafe.js @@ -6,7 +6,6 @@ TABS.failsafe.initialize = function (callback, scrollPosition) { if (GUI.active_tab != 'failsafe') { GUI.active_tab = 'failsafe'; - googleAnalytics.sendAppView('Failsafe'); } // Can get rid of this when MSPHelper supports strings (fixed in #7734, awaiting merge) @@ -15,11 +14,11 @@ TABS.failsafe.initialize = function (callback, scrollPosition) { } function load_html() { - GUI.load("./tabs/failsafe.html", Settings.processHtml(function() { + GUI.load(path.join(__dirname, "tabs/failsafe.html"), Settings.processHtml(function() { GUI.simpleBind(); // translate to user-selected language - localize(); + localization.localize();; // for some odd reason chrome 38+ changes scroll according to the touched select element // i am guessing this is a bug, since this wasn't happening on 37 @@ -52,7 +51,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) { switch (FAILSAFE_CONFIG.failsafe_procedure) { default: case 0: - element = $('input[id="land"]'); + let element = $('input[id="land"]'); element.prop('checked', true); element.change(); break; @@ -131,7 +130,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); }); @@ -139,7 +138,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) { function reinitialize() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_failsafe a')); } }; diff --git a/tabs/firmware_flasher.js b/tabs/firmware_flasher.js index f5b2cc5d..dde035f2 100755 --- a/tabs/firmware_flasher.js +++ b/tabs/firmware_flasher.js @@ -1,29 +1,30 @@ /*global $,nwdialog*/ 'use strict'; +const { marked } = require('marked'); + TABS.firmware_flasher = {}; TABS.firmware_flasher.initialize = function (callback) { if (GUI.active_tab != 'firmware_flasher') { GUI.active_tab = 'firmware_flasher'; - googleAnalytics.sendAppView('Firmware Flasher'); } var intel_hex = false, // standard intel hex in string format parsed_hex = false; // parsed raw hex in array format - GUI.load("./tabs/firmware_flasher.html", function () { + GUI.load(path.join(__dirname, "tabs/firmware_flasher.html"), function () { // translate to user-selected language - localize(); + localization.localize(); function enable_load_online_button() { - $(".load_remote_file").text(chrome.i18n.getMessage('firmwareFlasherButtonLoadOnline')).removeClass('disabled'); + $(".load_remote_file").text(localization.getMessage('firmwareFlasherButtonLoadOnline')).removeClass('disabled'); } function parse_hex(str, callback) { // parsing hex in different thread - var worker = new Worker('./build/hex_parser.js'); + var worker = new Worker('/js/workers/hex_parser.js'); // "callback" worker.onmessage = function (event) { @@ -52,9 +53,9 @@ TABS.firmware_flasher.initialize = function (callback) { $('input.show_development_releases').click(function() { let selectedTarget = String($('select[name="board"]').val()); - GUI.log(chrome.i18n.getMessage('selectedTarget') + selectedTarget); + GUI.log(localization.getMessage('selectedTarget') + selectedTarget); buildBoardOptions(); - GUI.log(chrome.i18n.getMessage('toggledRCs')); + GUI.log(localization.getMessage('toggledRCs')); if (selectedTarget === "0") { TABS.firmware_flasher.getTarget(); } else { @@ -86,8 +87,8 @@ TABS.firmware_flasher.initialize = function (callback) { var versions_e = $('select[name="firmware_version"]').empty(); var showDevReleases = ($('input.show_development_releases').is(':checked')); - boards_e.append($("".format(chrome.i18n.getMessage('firmwareFlasherOptionLabelSelectBoard')))); - versions_e.append($("".format(chrome.i18n.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersion')))); + boards_e.append($("".format(localization.getMessage('firmwareFlasherOptionLabelSelectBoard')))); + versions_e.append($("".format(localization.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersion')))); var releases = {}; var sortedTargets = []; @@ -183,16 +184,16 @@ TABS.firmware_flasher.initialize = function (callback) { if (!GUI.connect_lock) { $('.progress').val(0).removeClass('valid invalid'); - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherLoadFirmwareFile')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherLoadFirmwareFile')); $('div.git_info').slideUp(); $('div.release_info').slideUp(); $('a.flash_firmware').addClass('disabled'); var versions_e = $('select[name="firmware_version"]').empty(); if(target == 0) { - versions_e.append($("".format(chrome.i18n.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersion')))); + versions_e.append($("".format(localization.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersion')))); } else { - versions_e.append($("".format(chrome.i18n.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersionFor'), target))); + versions_e.append($("".format(localization.getMessage('firmwareFlasherOptionLabelSelectFirmwareVersionFor'), target))); } TABS.firmware_flasher.releases[target].forEach(function(descriptor) { @@ -243,12 +244,11 @@ TABS.firmware_flasher.initialize = function (callback) { parsed_hex = data; if (parsed_hex) { - googleAnalytics.sendEvent('Flashing', 'Firmware', 'local'); $('a.flash_firmware').removeClass('disabled'); $('span.progressLabel').text('Loaded Local Firmware: (' + parsed_hex.bytes_total + ' bytes)'); } else { - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherHexCorrupted')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherHexCorrupted')); } }); }); @@ -274,7 +274,7 @@ TABS.firmware_flasher.initialize = function (callback) { $('a.load_remote_file').click(function (evt) { if ($('select[name="firmware_version"]').val() == "0") { - GUI.log(chrome.i18n.getMessage('noFirmwareSelectedToLoad')); + GUI.log(localization.getMessage('noFirmwareSelectedToLoad')); return; } @@ -287,7 +287,6 @@ TABS.firmware_flasher.initialize = function (callback) { if (parsed_hex) { var url; - googleAnalytics.sendEvent('Flashing', 'Firmware', 'online'); $('span.progressLabel').html('
Loaded Online Firmware: (' + parsed_hex.bytes_total + ' bytes)'); $('a.flash_firmware').removeClass('disabled'); @@ -317,7 +316,7 @@ TABS.firmware_flasher.initialize = function (callback) { var status_e = $('div.release_info .status'); if (summary.status == 'release-candidate') { - $('div.release_info .status').html(chrome.i18n.getMessage('firmwareFlasherReleaseStatusReleaseCandidate')).show(); + $('div.release_info .status').html(localization.getMessage('firmwareFlasherReleaseStatusReleaseCandidate')).show(); } else { status_e.hide(); } @@ -327,7 +326,7 @@ TABS.firmware_flasher.initialize = function (callback) { $('div.release_info .status').text(summary.status); $('div.release_info .file').text(summary.file).prop('href', summary.url); - var formattedNotes = marked(summary.notes); + var formattedNotes = marked.parse(summary.notes); $('div.release_info .notes').html(formattedNotes); // Make links in the release notes open in a new window $('div.release_info .notes a').each(function () { @@ -337,26 +336,26 @@ TABS.firmware_flasher.initialize = function (callback) { $('div.release_info').slideDown(); } else { - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherHexCorrupted')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherHexCorrupted')); } }); } function failed_to_load() { - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherFailedToLoadOnlineFirmware')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherFailedToLoadOnlineFirmware')); $('a.flash_firmware').addClass('disabled'); enable_load_online_button(); } var summary = $('select[name="firmware_version"] option:selected').data('summary'); if (summary) { // undefined while list is loading or while running offline - $(".load_remote_file").text(chrome.i18n.getMessage('firmwareFlasherButtonLoading')).addClass('disabled'); + $(".load_remote_file").text(localization.getMessage('firmwareFlasherButtonLoading')).addClass('disabled'); $.get(summary.url, function (data) { enable_load_online_button(); process_hex(data, summary); }).fail(failed_to_load); } else { - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherFailedToLoadOnlineFirmware')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherFailedToLoadOnlineFirmware')); } }); @@ -402,13 +401,13 @@ TABS.firmware_flasher.initialize = function (callback) { STM32.connect(port, baud, parsed_hex, options); } else { console.log('Please select valid serial port'); - GUI.log(chrome.i18n.getMessage('selectValidSerialPort')); + GUI.log(localization.getMessage('selectValidSerialPort')); } } else { STM32DFU.connect(usbDevices, parsed_hex, options); } } else { - $('span.progressLabel').text(chrome.i18n.getMessage('firmwareFlasherFirmwareNotLoaded')); + $('span.progressLabel').text(localization.getMessage('firmwareFlasherFirmwareNotLoaded')); } } } @@ -452,39 +451,39 @@ TABS.firmware_flasher.initialize = function (callback) { }); } else { console.log('You don\'t have write permissions for this file, sorry.'); - GUI.log(chrome.i18n.getMessage('writePermissionsForFile')); + GUI.log(localization.getMessage('writePermissionsForFile')); } }); }); }); }); - chrome.storage.local.get('no_reboot_sequence', function (result) { - if (result.no_reboot_sequence) { - $('input.updating').prop('checked', true); + + if (store.get('no_reboot_sequence', false)) { + $('input.updating').prop('checked', true); + $('.flash_on_connect_wrapper').show(); + } else { + $('input.updating').prop('checked', false); + } + + // bind UI hook so the status is saved on change + $('input.updating').change(function() { + var status = $(this).is(':checked'); + + if (status) { $('.flash_on_connect_wrapper').show(); } else { - $('input.updating').prop('checked', false); + $('input.flash_on_connect').prop('checked', false).change(); + $('.flash_on_connect_wrapper').hide(); } - // bind UI hook so the status is saved on change - $('input.updating').change(function() { - var status = $(this).is(':checked'); - - if (status) { - $('.flash_on_connect_wrapper').show(); - } else { - $('input.flash_on_connect').prop('checked', false).change(); - $('.flash_on_connect_wrapper').hide(); - } - - chrome.storage.local.set({'no_reboot_sequence': status}); - }); - - $('input.updating').change(); + store.set('no_reboot_sequence', status); }); - chrome.storage.local.get('flash_manual_baud', function (result) { + $('input.updating').change(); + + + store.get('flash_manual_baud', function (result) { if (result.flash_manual_baud) { $('input.flash_manual_baud').prop('checked', true); } else { @@ -494,80 +493,79 @@ TABS.firmware_flasher.initialize = function (callback) { // bind UI hook so the status is saved on change $('input.flash_manual_baud').change(function() { var status = $(this).is(':checked'); - chrome.storage.local.set({'flash_manual_baud': status}); + store.set('flash_manual_baud', status); }); $('input.flash_manual_baud').change(); }); - chrome.storage.local.get('flash_manual_baud_rate', function (result) { - $('#flash_manual_baud_rate').val(result.flash_manual_baud_rate); + var flash_manual_baud_rate = store.get('flash_manual_baud_rate', ''); + $('#flash_manual_baud_rate').val(flash_manual_baud_rate); - // bind UI hook so the status is saved on change - $('#flash_manual_baud_rate').change(function() { - var baud = parseInt($('#flash_manual_baud_rate').val()); - chrome.storage.local.set({'flash_manual_baud_rate': baud}); - }); - - $('input.flash_manual_baud_rate').change(); + // bind UI hook so the status is saved on change + $('#flash_manual_baud_rate').change(function() { + var baud = parseInt($('#flash_manual_baud_rate').val()); + store.set('flash_manual_baud_rate', baud); }); - chrome.storage.local.get('flash_on_connect', function (result) { - if (result.flash_on_connect) { - $('input.flash_on_connect').prop('checked', true); + $('input.flash_manual_baud_rate').change(); + + + if (store.get('flash_on_connect', false)) { + $('input.flash_on_connect').prop('checked', true); + } else { + $('input.flash_on_connect').prop('checked', false); + } + + $('input.flash_on_connect').change(function () { + var status = $(this).is(':checked'); + + if (status) { + var catch_new_port = function () { + PortHandler.port_detected('flash_detected_device', function (result) { + var port = result[0]; + + if (!GUI.connect_lock) { + GUI.log('Detected: ' + port + ' - triggering flash on connect'); + console.log('Detected: ' + port + ' - triggering flash on connect'); + + // Trigger regular Flashing sequence + helper.timeout.add('initialization_timeout', function () { + $('a.flash_firmware').click(); + }, 100); // timeout so bus have time to initialize after being detected by the system + } else { + GUI.log('Detected ' + port + ' - previous device still flashing, please replug to try again'); + } + + // Since current port_detected request was consumed, create new one + catch_new_port(); + }, false, true); + }; + + catch_new_port(); } else { - $('input.flash_on_connect').prop('checked', false); + PortHandler.flush_callbacks(); } - $('input.flash_on_connect').change(function () { - var status = $(this).is(':checked'); + store.set('flash_on_connect', status); + }).change(); + - if (status) { - var catch_new_port = function () { - PortHandler.port_detected('flash_detected_device', function (result) { - var port = result[0]; + + if (store.get('erase_chip', false)) { + $('input.erase_chip').prop('checked', true); + } else { + $('input.erase_chip').prop('checked', false); + } - if (!GUI.connect_lock) { - GUI.log('Detected: ' + port + ' - triggering flash on connect'); - console.log('Detected: ' + port + ' - triggering flash on connect'); - - // Trigger regular Flashing sequence - helper.timeout.add('initialization_timeout', function () { - $('a.flash_firmware').click(); - }, 100); // timeout so bus have time to initialize after being detected by the system - } else { - GUI.log('Detected ' + port + ' - previous device still flashing, please replug to try again'); - } - - // Since current port_detected request was consumed, create new one - catch_new_port(); - }, false, true); - }; - - catch_new_port(); - } else { - PortHandler.flush_callbacks(); - } - - chrome.storage.local.set({'flash_on_connect': status}); - }).change(); + // bind UI hook so the status is saved on change + $('input.erase_chip').change(function () { + store.set('erase_chip', $(this).is(':checked')); }); - chrome.storage.local.get('erase_chip', function (result) { - if (result.erase_chip) { - $('input.erase_chip').prop('checked', true); - } else { - $('input.erase_chip').prop('checked', false); - } + $('input.erase_chip').change(); - // bind UI hook so the status is saved on change - $('input.erase_chip').change(function () { - chrome.storage.local.set({'erase_chip': $(this).is(':checked')}); - }); - - $('input.erase_chip').change(); - - }); + $(document).keypress(function (e) { if (e.which == 13) { // enter @@ -635,14 +633,14 @@ TABS.firmware_flasher.cleanup = function (callback) { }; TABS.firmware_flasher.getTarget = function() { - GUI.log(chrome.i18n.getMessage('automaticTargetSelect')); + GUI.log(localization.getMessage('automaticTargetSelect')); var selected_baud = parseInt($('#baud').val()); var selected_port = $('#port').find('option:selected').data().isManual ? $('#port-override').val() : String($('#port').val()); if (selected_port !== 'DFU') { - if (selected_port == '0') { - GUI.log(chrome.i18n.getMessage('targetPrefetchFailNoPort')); + if (!selected_port || selected_port == '0') { + GUI.log(localization.getMessage('targetPrefetchFailNoPort')); } else { console.log('Connecting to: ' + selected_port); GUI.connecting_to = selected_port; @@ -654,7 +652,7 @@ TABS.firmware_flasher.getTarget = function() { } } } else { - GUI.log(chrome.i18n.getMessage('targetPrefetchFailDFU')); + GUI.log(localization.getMessage('targetPrefetchFailDFU')); } }; @@ -666,27 +664,27 @@ TABS.firmware_flasher.onOpen = function(openInfo) { GUI.connecting_to = false; // save selected port with chrome.storage if the port differs - chrome.storage.local.get('last_used_port', function (result) { - if (result.last_used_port) { - if (result.last_used_port != GUI.connected_to) { - // last used port doesn't match the one found in local db, we will store the new one - chrome.storage.local.set({'last_used_port': GUI.connected_to}); - } - } else { - // variable isn't stored yet, saving - chrome.storage.local.set({'last_used_port': GUI.connected_to}); + var last_used_port = store.get('last_used_port', ''); + if (last_used_port) { + if (last_used_port != GUI.connected_to) { + // last used port doesn't match the one found in local db, we will store the new one + store.set('last_used_port', GUI.connected_to); } - }); + } else { + // variable isn't stored yet, saving + store.set('last_used_port', GUI.connected_to); + } + - chrome.storage.local.set({last_used_bps: CONFIGURATOR.connection.bitrate}); - chrome.storage.local.set({wireless_mode_enabled: $('#wireless-mode').is(":checked")}); + store.set('last_used_bps', CONFIGURATOR.connection.bitrate); + store.set('wireless_mode_enabled', $('#wireless-mode').is(":checked")); CONFIGURATOR.connection.addOnReceiveListener(read_serial); // disconnect after 10 seconds with error if we don't get IDENT data helper.timeout.add('connecting', function () { if (!CONFIGURATOR.connectionValid) { - GUI.log(chrome.i18n.getMessage('targetPrefetchFail') + chrome.i18n.getMessage('noConfigurationReceived')); + GUI.log(localization.getMessage('targetPrefetchFail') + localization.getMessage('noConfigurationReceived')); TABS.firmware_flasher.closeTempConnection(); } @@ -700,7 +698,7 @@ TABS.firmware_flasher.onOpen = function(openInfo) { MSP.send_message(MSPCodes.MSP_API_VERSION, false, false, function () { if (CONFIG.apiVersion === "0.0.0") { - GUI_control.prototype.log("Cannot prefetch target: " + chrome.i18n.getMessage("illegalStateRestartRequired") + ""); + GUI_control.prototype.log("Cannot prefetch target: " + localization.getMessage("illegalStateRestartRequired") + ""); FC.restartRequired = true; return; } @@ -709,7 +707,7 @@ TABS.firmware_flasher.onOpen = function(openInfo) { if (CONFIG.flightControllerIdentifier == 'INAV') { MSP.send_message(MSPCodes.MSP_FC_VERSION, false, false, function () { if (semver.lt(CONFIG.flightControllerVersion, "5.0.0")) { - GUI.log(chrome.i18n.getMessage('targetPrefetchFailOld')); + GUI.log(localization.getMessage('targetPrefetchFailOld')); TABS.firmware_flasher.closeTempConnection(); } else { mspHelper.getCraftName(function(name) { @@ -721,13 +719,13 @@ TABS.firmware_flasher.onOpen = function(openInfo) { } }); } else { - GUI.log(chrome.i18n.getMessage('targetPrefetchFailNonINAV')); + GUI.log(localization.getMessage('targetPrefetchFailNonINAV')); TABS.firmware_flasher.closeTempConnection(); } }); }); } else { - GUI.log(chrome.i18n.getMessage('targetPrefetchFail') + chrome.i18n.getMessage('serialPortOpenFail')); + GUI.log(localization.getMessage('targetPrefetchFail') + localization.getMessage('serialPortOpenFail')); return; } }; @@ -736,7 +734,7 @@ TABS.firmware_flasher.onValidFirmware = function() { MSP.send_message(MSPCodes.MSP_BUILD_INFO, false, false, function () { MSP.send_message(MSPCodes.MSP_BOARD_INFO, false, false, function () { $('select[name="board"] option[value=' + CONFIG.target + ']').attr("selected", "selected"); - GUI.log(chrome.i18n.getMessage('targetPrefetchsuccessful') + CONFIG.target); + GUI.log(localization.getMessage('targetPrefetchsuccessful') + CONFIG.target); TABS.firmware_flasher.closeTempConnection(); $('select[name="board"]').change(); diff --git a/tabs/gps.js b/tabs/gps.js index e0d9a65c..ec06e375 100644 --- a/tabs/gps.js +++ b/tabs/gps.js @@ -1,4 +1,4 @@ -/*global $,MSPChainerClass,googleAnalytics,mspHelper,MSPCodes,GUI,chrome,MSP,TABS,Settings,helper,ol*/ +/*global $,MSPChainerClass,mspHelper,MSPCodes,GUI,chrome,MSP,TABS,Settings,helper,ol*/ 'use strict'; TABS.gps = {}; @@ -6,35 +6,8 @@ TABS.gps.initialize = function (callback) { if (GUI.active_tab != 'gps') { GUI.active_tab = 'gps'; - googleAnalytics.sendAppView('GPS'); } - // mavlink ADSB_EMITTER_TYPE - const ADSB_VEHICLE_TYPE = { - 0: 'adsb_14.png', // ADSB_EMITTER_TYPE_NO_INFO - 1: 'adsb_1.png', // ADSB_EMITTER_TYPE_LIGHT - 2: 'adsb_1.png', // ADSB_EMITTER_TYPE_SMALL - 3: 'adsb_2.png', // ADSB_EMITTER_TYPE_LARGE - 4: 'adsb_14.png', // ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE - 5: 'adsb_5.png', // ADSB_EMITTER_TYPE_HEAVY - 6: 'adsb_14.png', // ADSB_EMITTER_TYPE_HIGHLY_MANUV - 7: 'adsb_13.png', // ADSB_EMITTER_TYPE_ROTOCRAFT - 8: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSIGNED - 9: 'adsb_6.png', // ADSB_EMITTER_TYPE_GLIDER - 10: 'adsb_7.png', // ADSB_EMITTER_TYPE_LIGHTER_AIR - 11: 'adsb_15.png', // ADSB_EMITTER_TYPE_PARACHUTE - 12: 'adsb_1.png', // ADSB_EMITTER_TYPE_ULTRA_LIGHT - 13: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSIGNED2 - 14: 'adsb_8.png', // ADSB_EMITTER_TYPE_UAV - 15: 'adsb_14.png', // ADSB_EMITTER_TYPE_SPACE - 16: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSGINED3 - 17: 'adsb_9.png', // ADSB_EMITTER_TYPE_EMERGENCY_SURFACE - 18: 'adsb_10.png', // ADSB_EMITTER_TYPE_SERVICE_SURFACE - 19: 'adsb_12.png', // ADSB_EMITTER_TYPE_POINT_OBSTACLE - }; - - - var loadChainer = new MSPChainerClass(); var loadChain = [ @@ -63,19 +36,19 @@ TABS.gps.initialize = function (callback) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_gps a')); }); }); } function load_html() { - GUI.load("./tabs/gps.html", Settings.processHtml(process_html)); + GUI.load(path.join(__dirname, "tabs/gps.html"), Settings.processHtml(process_html)); } let cursorInitialized = false; @@ -84,12 +57,8 @@ TABS.gps.initialize = function (callback) { let iconGeometry; let iconFeature; - let vehicleVectorSource; - let vehiclesCursorInitialized = false; - - function process_html() { - localize(); + localization.localize();; var features = FC.getFeatures(); @@ -100,7 +69,7 @@ TABS.gps.initialize = function (callback) { var gpsSbas = FC.getGpsSbasProviders(); var gps_protocol_e = $('#gps_protocol'); - for (i = 0; i < gpsProtocols.length; i++) { + for (let i = 0; i < gpsProtocols.length; i++) { gps_protocol_e.append(''); } @@ -112,7 +81,7 @@ TABS.gps.initialize = function (callback) { gps_protocol_e.change(); var gps_ubx_sbas_e = $('#gps_ubx_sbas'); - for (i = 0; i < gpsSbas.length; i++) { + for (let i = 0; i < gpsSbas.length; i++) { gps_ubx_sbas_e.append(''); } @@ -161,36 +130,6 @@ TABS.gps.initialize = function (callback) { view: mapView }); - TABS.gps.toolboxAdsbVehicle = new jBox('Mouse', { - position: { - x: "right", - y: "bottom" - }, - offset: { - x: -5, - y: 20, - }, - }); - - mapHandler.on('pointermove', function(evt) { - var feature = mapHandler.forEachFeatureAtPixel(mapHandler.getEventPixel(evt.originalEvent), function(feature, layer) { - return feature; - }); - - if (feature) { - TABS.gps.toolboxAdsbVehicle.setContent( - `icao: ` + feature.get('name') + `
` - + `lat: `+ (feature.get('data').lat / 10000000) + `
` - + `lon: `+ (feature.get('data').lon / 10000000) + `
` - + `ASL: `+ (feature.get('data').altCM ) / 100 + `m
` - + `heading: `+ feature.get('data').headingDegrees + `°
` - + `type: `+ feature.get('data').emitterType + `` - ).open(); - }else{ - TABS.gps.toolboxAdsbVehicle.close(); - } - }); - let center = ol.proj.fromLonLat([0, 0]); mapView.setCenter(center); mapView.setZoom(2); @@ -212,11 +151,11 @@ TABS.gps.initialize = function (callback) { let lat = GPS_DATA.lat / 10000000; let lon = GPS_DATA.lon / 10000000; - let gpsFixType = chrome.i18n.getMessage('gpsFixNone'); + let gpsFixType = localization.getMessage('gpsFixNone'); if (GPS_DATA.fix >= 2) { - gpsFixType = chrome.i18n.getMessage('gpsFix3D'); + gpsFixType = localization.getMessage('gpsFix3D'); } else if (GPS_DATA.fix >= 1) { - gpsFixType = chrome.i18n.getMessage('gpsFix2D'); + gpsFixType = localization.getMessage('gpsFix2D'); } $('.GPS_info td.fix').html(gpsFixType); @@ -253,7 +192,7 @@ TABS.gps.initialize = function (callback) { anchor: [0.5, 1], opacity: 1, scale: 0.5, - src: '../images/icons/cf_icon_position.png' + src: '../../images/icons/cf_icon_position.png' })) }); @@ -281,66 +220,6 @@ TABS.gps.initialize = function (callback) { iconGeometry.setCoordinates(center); } - - if (semver.gte(CONFIG.flightControllerVersion, "7.1.0")) { - MSP.send_message(MSPCodes.MSP2_ADSB_VEHICLE_LIST, false, false, function () { - //ADSB vehicles - - if (vehiclesCursorInitialized) { - vehicleVectorSource.clear(); - } - - for (let key in ADSB_VEHICLES.vehicles) { - let vehicle = ADSB_VEHICLES.vehicles[key]; - - if (!vehiclesCursorInitialized) { - vehiclesCursorInitialized = true; - - vehicleVectorSource = new ol.source.Vector({}); - - let vehicleLayer = new ol.layer.Vector({ - source: vehicleVectorSource - }); - - mapHandler.addLayer(vehicleLayer); - } - - if (vehicle.lat > 0 && vehicle.lon > 0 && vehicle.ttl > 0) { - let vehicleIconStyle = new ol.style.Style({ - image: new ol.style.Icon(({ - opacity: 1, - rotation: vehicle.headingDegrees * (Math.PI / 180), - scale: 0.8, - anchor: [0.5, 0.5], - src: '../resources/adsb/' + ADSB_VEHICLE_TYPE[vehicle.emitterType], - })), - text: new ol.style.Text(({ - text: vehicle.callsign, - textAlign: 'center', - textBaseline: "bottom", - offsetY: +40, - padding: [2, 2, 2, 2], - backgroundFill: '#444444', - fill: new ol.style.Fill({color: '#ffffff'}), - })), - }); - - - let iconGeometry = new ol.geom.Point(ol.proj.fromLonLat([vehicle.lon / 10000000, vehicle.lat / 10000000])); - let iconFeature = new ol.Feature({ - geometry: iconGeometry, - name: vehicle.callsign, - type: 'adsb', - data: vehicle, - }); - - iconFeature.setStyle(vehicleIconStyle); - vehicleVectorSource.addFeature(iconFeature); - } - } - }); - } - } /* @@ -363,20 +242,6 @@ TABS.gps.initialize = function (callback) { $('a.save').on('click', function () { - if (FC.isFeatureEnabled('GPS', features)) { - googleAnalytics.sendEvent('Setting', 'GpsProtocol', gpsProtocols[MISC.gps_type]); - googleAnalytics.sendEvent('Setting', 'GpsSbas', gpsSbas[MISC.gps_ubx_sbas]); - } - - googleAnalytics.sendEvent('Setting', 'GPSEnabled', FC.isFeatureEnabled('GPS', features) ? "true" : "false"); - - for (var i = 0; i < features.length; i++) { - var featureName = features[i].name; - if (FC.isFeatureEnabled(featureName, features)) { - googleAnalytics.sendEvent('Setting', 'Feature', featureName); - } - } - helper.features.reset(); helper.features.fromUI($('.tab-gps')); helper.features.execute(function () { @@ -391,7 +256,4 @@ TABS.gps.initialize = function (callback) { TABS.gps.cleanup = function (callback) { if (callback) callback(); - if(TABS.gps.toolboxAdsbVehicle){ - TABS.gps.toolboxAdsbVehicle.close(); - } }; diff --git a/tabs/landing.html b/tabs/landing.html index 007485a3..4c9526e4 100644 --- a/tabs/landing.html +++ b/tabs/landing.html @@ -2,7 +2,7 @@
- +
diff --git a/tabs/landing.js b/tabs/landing.js index 330dcef4..002cc145 100644 --- a/tabs/landing.js +++ b/tabs/landing.js @@ -1,19 +1,18 @@ 'use strict'; -/*global $,TABS,GUI,googleAnalytics*/ + +/*global $,TABS,GUI*/ TABS.landing = {}; TABS.landing.initialize = function (callback) { if (GUI.active_tab != 'landing') { GUI.active_tab = 'landing'; - googleAnalytics.sendAppView('Landing'); } - - GUI.load("./tabs/landing.html", function () { - localize(); + GUI.load(path.join(__dirname, "tabs/landing.html"), function () { + localization.localize(); $('.tab-landing a').click(function () { - googleAnalytics.sendEvent('ExternalUrls', 'Click', $(this).prop('href')); + // googleAnalytics.sendEvent('ExternalUrls', 'Click', $(this).prop('href')); }); GUI.content_ready(callback); diff --git a/tabs/led_strip.js b/tabs/led_strip.js index bb4d8295..838ff761 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -19,7 +19,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { if (GUI.active_tab != 'led_strip') { GUI.active_tab = 'led_strip'; - googleAnalytics.sendAppView('LED Strip'); } function load_led_config() { @@ -35,7 +34,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function load_html() { - GUI.load("./tabs/led_strip.html", process_html); + GUI.load(path.join(__dirname, "tabs/led_strip.html"), process_html); } load_led_config(); @@ -55,7 +54,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { function process_html() { - localize(); + localization.localize();; // Build Grid var theHTML = []; @@ -539,7 +538,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { function save_to_eeprom() { MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function() { - GUI.log(chrome.i18n.getMessage('ledStripEepromSaved')); + GUI.log(localization.getMessage('ledStripEepromSaved')); }); } diff --git a/tabs/logging.js b/tabs/logging.js index 2b977c92..2b681719 100644 --- a/tabs/logging.js +++ b/tabs/logging.js @@ -10,7 +10,6 @@ TABS.logging.initialize = function (callback) { if (GUI.active_tab != 'logging') { GUI.active_tab = 'logging'; - googleAnalytics.sendAppView('Logging'); } var requested_properties = [], @@ -24,7 +23,7 @@ TABS.logging.initialize = function (callback) { } var load_html = function () { - GUI.load("./tabs/logging.html", process_html); + GUI.load(path.join(__dirname, "tabs/logging.html"), process_html); } MSP.send_message(MSPCodes.MSP_RC, false, false, get_motor_data); @@ -32,7 +31,7 @@ TABS.logging.initialize = function (callback) { function process_html() { // translate to user-selected language - localize(); + localization.localize();; // UI hooks $('a.log_file').click(prepare_file); @@ -85,24 +84,24 @@ TABS.logging.initialize = function (callback) { }, 1000); $('.speed').prop('disabled', true); - $(this).text(chrome.i18n.getMessage('loggingStop')); + $(this).text(localization.getMessage('loggingStop')); $(this).data("clicks", !clicks); } else { - GUI.log(chrome.i18n.getMessage('loggingErrorOneProperty')); + GUI.log(localization.getMessage('loggingErrorOneProperty')); } } else { helper.interval.killAll(['global_data_refresh', 'msp-load-update']); helper.mspBalancedInterval.flush(); $('.speed').prop('disabled', false); - $(this).text(chrome.i18n.getMessage('loggingStart')); + $(this).text(localization.getMessage('loggingStart')); $(this).data("clicks", !clicks); } } else { - GUI.log(chrome.i18n.getMessage('loggingErrorLogFile')); + GUI.log(localization.getMessage('loggingErrorLogFile')); } } else { - GUI.log(chrome.i18n.getMessage('loggingErrorNotConnected')); + GUI.log(localization.getMessage('loggingErrorNotConnected')); } }); @@ -235,10 +234,9 @@ TABS.logging.initialize = function (callback) { nwdialog.saveFileDialog(filename, accepts, '', function(file) { loggingFileName = file; readyToWrite = true; - chrome.storage.local.set({ - 'logging_file_name': loggingFileName, - 'logging_file_ready': readyToWrite - }); + store.set('logging_file_name', loggingFileName); + store.set('logging_file_ready', readyToWrite); + }); } }; diff --git a/tabs/magnetometer.js b/tabs/magnetometer.js index 77e3391c..9d139da0 100644 --- a/tabs/magnetometer.js +++ b/tabs/magnetometer.js @@ -9,7 +9,6 @@ TABS.magnetometer.initialize = function (callback) { if (GUI.active_tab != 'magnetometer') { GUI.active_tab = 'magnetometer'; - googleAnalytics.sendAppView('MAGNETOMETER'); } self.alignmentConfig = { @@ -126,7 +125,7 @@ TABS.magnetometer.initialize = function (callback) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); @@ -134,12 +133,12 @@ TABS.magnetometer.initialize = function (callback) { } function reinitialize() { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_magnetometer a')); } function load_html() { - GUI.load("./tabs/magnetometer.html", process_html); + GUI.load(path.join(__dirname, "tabs/magnetometer.html"), process_html); } function generateRange(min, max, step) { @@ -292,7 +291,7 @@ TABS.magnetometer.initialize = function (callback) { function process_html() { - localize(); + localization.localize();; // initialize 3D self.initialize3D(); @@ -318,7 +317,7 @@ TABS.magnetometer.initialize = function (callback) { self.pitch_e = $('dd.pitch'), self.heading_e = $('dd.heading'); - for (i = 0; i < alignments.length; i++) { + for (let i = 0; i < alignments.length; i++) { self.pageElements.orientation_mag_e.append(''); } self.pageElements.orientation_mag_e.val(SENSOR_ALIGNMENT.align_mag); @@ -518,9 +517,9 @@ TABS.magnetometer.initialize = function (callback) { } MSP.send_message(MSPCodes.MSP_ATTITUDE, false, false, function () { - self.roll_e.text(chrome.i18n.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[0]])); - self.pitch_e.text(chrome.i18n.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[1]])); - self.heading_e.text(chrome.i18n.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[2]])); + self.roll_e.text(localization.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[0]])); + self.pitch_e.text(localization.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[1]])); + self.heading_e.text(localization.getMessage('initialSetupAttitude', [SENSOR_DATA.kinematics[2]])); self.render3D(); }); } @@ -573,7 +572,7 @@ TABS.magnetometer.initialize3D = function () { if (useWebGlRenderer) { if (MIXER_CONFIG.appliedMixerPreset === -1) { model_file = 'custom'; - GUI_control.prototype.log("" + chrome.i18n.getMessage("mixerNotConfigured") + ""); + GUI_control.prototype.log("" + localization.getMessage("mixerNotConfigured") + ""); } else { model_file = helper.mixer.getById(MIXER_CONFIG.appliedMixerPreset).model; diff --git a/tabs/mission_control.html b/tabs/mission_control.html index eb0ec50c..6ba2becd 100644 --- a/tabs/mission_control.html +++ b/tabs/mission_control.html @@ -19,8 +19,8 @@
@@ -166,7 +166,7 @@
diff --git a/tabs/mission_control.js b/tabs/mission_control.js index 01e46b96..3df684c6 100644 --- a/tabs/mission_control.js +++ b/tabs/mission_control.js @@ -80,9 +80,13 @@ TABS.mission_control.initialize = function (callback) { let isOffline = false; let rthUpdateInterval = 0; + var $safehomesTable; + var $safehomesTableBody; + var $waypointOptionsTable; + var $waypointOptionsTableBody; + if (GUI.active_tab != 'mission_control') { GUI.active_tab = 'mission_control'; - googleAnalytics.sendAppView('Mission Control'); } if (CONFIGURATOR.connectionValid) { @@ -101,7 +105,7 @@ TABS.mission_control.initialize = function (callback) { } function loadHtml() { - GUI.load("./tabs/mission_control.html", process_html); + GUI.load(path.join(__dirname, "tabs/mission_control.html"), process_html); } function process_html() { @@ -130,7 +134,7 @@ TABS.mission_control.initialize = function (callback) { $('#missionMap, #missionControls').hide(); $('#notLoadMap').show(); } - localize(); + localization.localize(); function get_raw_gps_data() { MSP.send_message(MSPCodes.MSP_RAW_GPS, false, false, get_comp_gps_data); @@ -167,7 +171,7 @@ TABS.mission_control.initialize = function (callback) { anchor: [0.5, 0.5], opacity: 1, scale: 0.6, - src: '../images/icons/icon_mission_airplane.png' + src: 'images/icons/icon_mission_airplane.png' })) }); @@ -194,7 +198,7 @@ TABS.mission_control.initialize = function (callback) { anchor: [0.5, 1.0], opacity: 1, scale: 0.5, - src: '../images/icons/cf_icon_RTH.png' + src: '/images/icons/cf_icon_RTH.png' })) }); @@ -364,15 +368,24 @@ TABS.mission_control.initialize = function (callback) { ////////////////////////////////////////////////////////////////////////////////////////////// // define & init parameters for default Settings ////////////////////////////////////////////////////////////////////////////////////////////// - var settings = {speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : 0, bingDemModel : false}; - + var vMaxDistSH = 0; + var settings = {}; if (CONFIGURATOR.connectionValid) { mspHelper.getSetting("safehome_max_distance").then(function (s) { if (s) { - settings.maxDistSH = Number(s.value)/100; + vMaxDistSH = Number(s.value)/100; + settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; + } + else { + vMaxDistSH = 0; + settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; } }); } + else { + vMaxDistSH = 0; + settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; + } ////////////////////////////////////////////////////////////////////////////////////////////// // define & init Waypoints parameters @@ -426,16 +439,16 @@ TABS.mission_control.initialize = function (callback) { // ///////////////////////////////////////////// function loadSettings() { - chrome.storage.local.get('missionPlannerSettings', function (result) { - if (result.missionPlannerSettings) { - settings = result.missionPlannerSettings; - } - refreshSettings(); - }); + var missionPlannerSettings = store.get('missionPlannerSettings', false); + if (missionPlannerSettings) { + settings = missionPlannerSettings; + } + refreshSettings(); + } function saveSettings() { - chrome.storage.local.set({'missionPlannerSettings': settings}); + store.set('missionPlannerSettings', settings); } function refreshSettings() { @@ -510,7 +523,7 @@ TABS.mission_control.initialize = function (callback) { } } GUI.switchery(); - localize(); + localization.localize();; } @@ -539,7 +552,7 @@ TABS.mission_control.initialize = function (callback) { anchor: [0.5, 1], opacity: 1, scale: 0.5, - src: '../images/icons/cf_icon_safehome' + (safehome.isUsed() ? '_used' : '')+ '.png' + src: '/images/icons/cf_icon_safehome' + (safehome.isUsed() ? '_used' : '')+ '.png' })), text: new ol.style.Text(({ text: String(Number(safehome.getNumber())+1), @@ -670,7 +683,6 @@ TABS.mission_control.initialize = function (callback) { if (globalSettings.mapProviderType == 'bing') { $('#elevationEarthModelclass').fadeIn(300); - changeSwitchery($('#elevationEarthModel'), settings.bingDemModel); } else { $('#elevationEarthModelclass').fadeOut(300); } @@ -724,7 +736,7 @@ TABS.mission_control.initialize = function (callback) { anchor: [0.5, 1], opacity: 1, scale: 0.5, - src: '../images/icons/cf_icon_home.png' + src: '/images/icons/cf_icon_home.png' })), }); } @@ -875,7 +887,7 @@ TABS.mission_control.initialize = function (callback) { }); mission.reinit(); - tempMissionData = multimission.get().slice(startWPCount, endWPCount + 1); // copy selected single mission from MM + var tempMissionData = multimission.get().slice(startWPCount, endWPCount + 1); // copy selected single mission from MM let i = 0; tempMissionData.forEach(function (element) { // write mission copy to active map mission mission.put(element); @@ -948,7 +960,7 @@ TABS.mission_control.initialize = function (callback) { function fileLoadMultiMissionCheck() { if (singleMissionActive()) { return true; - } else if (confirm(chrome.i18n.getMessage('confirm_overwrite_multimission_file_load_option'))) { + } else if (confirm(localization.getMessage('confirm_overwrite_multimission_file_load_option'))) { nwdialog.setContext(document); nwdialog.openFileDialog(function(result) { loadMissionFile(result); @@ -1029,7 +1041,7 @@ TABS.mission_control.initialize = function (callback) { anchor: [0.5, 1], opacity: 1, scale: 0.5, - src: '../images/icons/cf_icon_position' + (dictofPointIcon[waypoint.getAction()] != '' ? '_'+dictofPointIcon[waypoint.getAction()] : '') + (isEdit ? '_edit' : '')+ '.png' + src: './images/icons/cf_icon_position' + (dictofPointIcon[waypoint.getAction()] != '' ? '_'+dictofPointIcon[waypoint.getAction()] : '') + (isEdit ? '_edit' : '')+ '.png' })), text: new ol.style.Text(({ text: String(Number(waypoint.getLayerNumber()+1)), @@ -1171,7 +1183,7 @@ TABS.mission_control.initialize = function (callback) { featureArrow.setStyle( new ol.style.Style({ image: new ol.style.Icon({ - src: '../images/icons/cf_icon_arrow.png', + src: '/images/icons/cf_icon_arrow.png', scale: 0.3, anchor: [0.5, 0.5], rotateWithView: true, @@ -1308,26 +1320,26 @@ TABS.mission_control.initialize = function (callback) { if ($(this).val() >= 360 || ($(this).val() < 0 && $(this).val() != -1)) { $(this).val(-1); - alert(chrome.i18n.getMessage('MissionPlannerHeadSettingsCheck')); + alert(localization.getMessage('MissionPlannerHeadSettingsCheck')); } } else if (MWNP.WPTYPE.REV[element.getAction()] == "RTH") { if ($(this).val() != 0 && $(this).val() != 1) { $(this).val(0); - alert(chrome.i18n.getMessage('MissionPlannerRTHSettingsCheck')); + alert(localization.getMessage('MissionPlannerRTHSettingsCheck')); } } else if (MWNP.WPTYPE.REV[element.getAction()] == "JUMP") { if ($(this).val() > mission.getNonAttachedList().length || $(this).val() < 1) { $(this).val(1); - alert(chrome.i18n.getMessage('MissionPlannerJumpSettingsCheck')); + alert(localization.getMessage('MissionPlannerJumpSettingsCheck')); } else if (mission.getPoiList().length != 0 && mission.getPoiList()) { if (mission.getPoiList().includes(mission.convertJumpNumberToWaypoint(Number($(this).val())-1))) { $(this).val(1); - alert(chrome.i18n.getMessage('MissionPlannerJump3SettingsCheck')); + alert(localization.getMessage('MissionPlannerJump3SettingsCheck')); } } } @@ -1342,7 +1354,7 @@ TABS.mission_control.initialize = function (callback) { if ($(this).val() > 10 || ($(this).val() < 0 && $(this).val() != -1)) { $(this).val(0); - alert(chrome.i18n.getMessage('MissionPlannerJump2SettingsCheck')); + alert(localization.getMessage('MissionPlannerJump2SettingsCheck')); } } element.setP2(Number($(this).val())); @@ -1355,7 +1367,7 @@ TABS.mission_control.initialize = function (callback) { }); GUI.switchery(); - localize(); + localization.localize();; return waypoint; } @@ -1431,7 +1443,7 @@ TABS.mission_control.initialize = function (callback) { var button = document.createElement('button'); button.innerHTML = ' '; - button.style = 'background: url(\'../images/CF_settings_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; + button.style = 'background: url(\'./images/CF_settings_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; var handleShowSettings = function () { $('#missionPlannerSettings').fadeIn(300); @@ -1463,7 +1475,7 @@ TABS.mission_control.initialize = function (callback) { var button = document.createElement('button'); button.innerHTML = ' '; - button.style = 'background: url(\'../images/icons/cf_icon_safehome_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; + button.style = 'background: url(\'./images/icons/cf_icon_safehome_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; var handleShowSafehome = function () { $('#missionPlannerSafehome').fadeIn(300); @@ -1501,7 +1513,7 @@ TABS.mission_control.initialize = function (callback) { var button = document.createElement('button'); button.innerHTML = ' '; - button.style = 'background: url(\'../images/icons/cf_icon_elevation_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; + button.style = 'background: url(\'./images/icons/cf_icon_elevation_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; var handleShowSettings = function () { $('#missionPlannerHome').fadeIn(300); @@ -1533,12 +1545,12 @@ TABS.mission_control.initialize = function (callback) { // * @param {Object=} opt_options Control options. // */ app.PlannerMultiMissionControl = function (opt_options) { - + var options = opt_options || {}; var button = document.createElement('button'); button.innerHTML = ' '; - button.style = 'background: url(\'../images/icons/cf_icon_multimission_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; + button.style = 'background: url(\'./images/icons/cf_icon_multimission_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; var handleShowSettings = function () { $('#missionPlannerMultiMission').fadeIn(300); @@ -1693,6 +1705,7 @@ TABS.mission_control.initialize = function (callback) { var lon = (GPS_DATA ? (GPS_DATA.lon / 10000000) : 0); let mapLayer; + let control_list; if (globalSettings.mapProviderType == 'bing') { mapLayer = new ol.source.BingMaps({ @@ -1759,20 +1772,20 @@ TABS.mission_control.initialize = function (callback) { // save map view settings when user moves it ////////////////////////////////////////////////////////////////////////// map.on('moveend', function (evt) { - chrome.storage.local.set({'missionPlannerLastValues': { + store.set('missionPlannerLastValues', { center: ol.proj.toLonLat(map.getView().getCenter()), zoom: map.getView().getZoom() - }}); + }); }); ////////////////////////////////////////////////////////////////////////// // load map view settings on startup ////////////////////////////////////////////////////////////////////////// - chrome.storage.local.get('missionPlannerLastValues', function (result) { - if (result.missionPlannerLastValues && result.missionPlannerLastValues.center) { - map.getView().setCenter(ol.proj.fromLonLat(result.missionPlannerLastValues.center)); - map.getView().setZoom(result.missionPlannerLastValues.zoom); - } - }); + var missionPlannerLastValues = store.get('missionPlannerLastValues', false); + if (missionPlannerLastValues && missionPlannerLastValues.zoom && missionPlannerLastValues.center) { + map.getView().setCenter(ol.proj.fromLonLat(missionPlannerLastValues.center)); + map.getView().setZoom(missionPlannerLastValues.zoom); + } + ////////////////////////////////////////////////////////////////////////// // Map on-click behavior definition @@ -1789,7 +1802,7 @@ TABS.mission_control.initialize = function (callback) { clearEditForm(); } catch (e) { console.log(e); - GUI.log(chrome.i18n.getMessage('notAWAYPOINT')); + GUI.log(localization.getMessage('notAWAYPOINT')); } } selectedFeature = map.forEachFeatureAtPixel(evt.pixel, @@ -1839,7 +1852,7 @@ TABS.mission_control.initialize = function (callback) { $('#pointP1').val(selectedMarker.getP1()); $('#pointP2').val(selectedMarker.getP2()); - + // Selection box update depending on choice of type of waypoint for (var j in dictOfLabelParameterPoint[selectedMarker.getAction()]) { if (dictOfLabelParameterPoint[selectedMarker.getAction()][j] != '') { @@ -1856,7 +1869,7 @@ TABS.mission_control.initialize = function (callback) { } else if (selectedFeature && tempMarker.kind == "line" && tempMarker.selection && !disableMarkerEdit) { let tempWpCoord = ol.proj.toLonLat(evt.coordinate); - let tempWp = new Waypoint(tempMarker.number, MWNP.WPTYPE.WAYPOINT, Math.round(tempWpCoord[1] * 10000000), Math.round(tempWpCoord[0] * 10000000), alt=Number(settings.alt), p1=Number(settings.speed)); + let tempWp = new Waypoint(tempMarker.number, MWNP.WPTYPE.WAYPOINT, Math.round(tempWpCoord[1] * 10000000), Math.round(tempWpCoord[0] * 10000000), Number(settings.alt), Number(settings.speed)); if (homeMarkers.length && HOME.getAlt() != "N/A") { (async () => { const elevationAtWP = await tempWp.getElevation(globalSettings); @@ -1891,7 +1904,7 @@ TABS.mission_control.initialize = function (callback) { } else if (!disableMarkerEdit) { let tempWpCoord = ol.proj.toLonLat(evt.coordinate); - let tempWp = new Waypoint(mission.get().length, MWNP.WPTYPE.WAYPOINT, Math.round(tempWpCoord[1] * 10000000), Math.round(tempWpCoord[0] * 10000000), alt=Number(settings.alt), p1=Number(settings.speed)); + let tempWp = new Waypoint(mission.get().length, MWNP.WPTYPE.WAYPOINT, Math.round(tempWpCoord[1] * 10000000), Math.round(tempWpCoord[0] * 10000000), Number(settings.alt), Number(settings.speed)); if (homeMarkers.length && HOME.getAlt() != "N/A") { (async () => { const elevationAtWP = await tempWp.getElevation(globalSettings); @@ -2105,8 +2118,8 @@ TABS.mission_control.initialize = function (callback) { $('#pointP3Alt').on('change', function (event) { if (selectedMarker) { - P3Value = selectedMarker.getP3(); - + var P3Value = selectedMarker.getP3(); + if (disableMarkerEdit) { changeSwitchery($('#pointP3Alt'), TABS.mission_control.isBitSet(P3Value, MWNP.P3.ALT_TYPE)); } @@ -2116,30 +2129,22 @@ TABS.mission_control.initialize = function (callback) { const elevationAtWP = await selectedMarker.getElevation(globalSettings); $('#elevationValueAtWP').text(elevationAtWP); var altitude = Number($('#pointAlt').val()); - if (P3Value != selectedMarker.getP3()) { selectedMarker.setP3(P3Value); - - let groundClearance = 100 * Number($('#groundClearanceValueAtWP').text()); - if (isNaN(groundClearance)) { - groundClearance = settings.alt; // use default altitude if no current ground clearance - } - + if ($('#pointP3Alt').prop("checked")) { - selectedMarker.setAlt(groundClearance + elevationAtWP * 100); - } else { - let elevationAtHome = HOME.getAlt(); - if (isNaN(elevationAtHome)) { - elevationAtHome = elevationAtWP; + if (altitude < 0) { + altitude = settings.alt; } - selectedMarker.setAlt(groundClearance + 100 * (elevationAtWP - elevationAtHome)); + selectedMarker.setAlt(altitude + elevationAtWP * 100); + } else { + selectedMarker.setAlt(altitude - Number(elevationAtWP) * 100); } } - const returnAltitude = checkAltElevSanity(false, selectedMarker.getAlt(), elevationAtWP, selectedMarker.getP3()); selectedMarker.setAlt(returnAltitude); $('#pointAlt').val(selectedMarker.getAlt()); - altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt()); + var altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt()); $('#altitudeInMeters').text(` ${altitudeMeters}m`); mission.updateWaypoint(selectedMarker); @@ -2156,9 +2161,9 @@ TABS.mission_control.initialize = function (callback) { changeSwitchery($('#pointP3UserAction1'), TABS.mission_control.isBitSet(selectedMarker.getP3(), MWNP.P3.USER_ACTION_1)); } - P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_1, $('#pointP3UserAction1').prop("checked")); + var P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_1, $('#pointP3UserAction1').prop("checked")); selectedMarker.setP3(P3Value); - + mission.updateWaypoint(selectedMarker); mission.update(singleMissionActive()); redrawLayer(); @@ -2171,7 +2176,7 @@ TABS.mission_control.initialize = function (callback) { changeSwitchery($('#pointP3UserAction2'), TABS.mission_control.isBitSet(selectedMarker.getP3(), MWNP.P3.USER_ACTION_2)); } - P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_2, $('#pointP3UserAction2').prop("checked")); + var P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_2, $('#pointP3UserAction2').prop("checked")); selectedMarker.setP3(P3Value); mission.updateWaypoint(selectedMarker); @@ -2185,8 +2190,8 @@ TABS.mission_control.initialize = function (callback) { if (disableMarkerEdit) { changeSwitchery($('#pointP3UserAction3'), TABS.mission_control.isBitSet(selectedMarker.getP3(), MWNP.P3.USER_ACTION_3)); } - - P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_3, $('#pointP3UserAction3').prop("checked")); + + var P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_3, $('#pointP3UserAction3').prop("checked")); selectedMarker.setP3(P3Value); mission.updateWaypoint(selectedMarker); @@ -2200,8 +2205,8 @@ TABS.mission_control.initialize = function (callback) { if (disableMarkerEdit) { changeSwitchery($('#pointP3UserAction4'), TABS.mission_control.isBitSet(selectedMarker.getP3(), MWNP.P3.USER_ACTION_4)); } - - P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_4, $('#pointP3UserAction4').prop("checked")); + + var P3Value = TABS.mission_control.setBit(selectedMarker.getP3(), MWNP.P3.USER_ACTION_4, $('#pointP3UserAction4').prop("checked")); selectedMarker.setP3(P3Value); mission.updateWaypoint(selectedMarker); @@ -2259,13 +2264,13 @@ TABS.mission_control.initialize = function (callback) { $('#loadEepromSafehomeButton').on('click', function () { $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startGettingSafehomePoints')); + GUI.log(localization.getMessage('startGettingSafehomePoints')); mspHelper.loadSafehomes(); setTimeout(function(){ renderSafehomesTable(); cleanSafehomeLayers(); renderSafehomesOnMap(); - GUI.log(chrome.i18n.getMessage('endGettingSafehomePoints')); + GUI.log(localization.getMessage('endGettingSafehomePoints')); $('#loadEepromSafehomeButton').removeClass('disabled'); }, 500); @@ -2273,11 +2278,11 @@ TABS.mission_control.initialize = function (callback) { $('#saveEepromSafehomeButton').on('click', function() { $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startSendingSafehomePoints')); + GUI.log(localization.getMessage('startSendingSafehomePoints')); mspHelper.saveSafehomes(); setTimeout(function(){ mspHelper.saveToEeprom(); - GUI.log(chrome.i18n.getMessage('endSendingSafehomePoints')); + GUI.log(localization.getMessage('endSendingSafehomePoints')); $('#saveEepromSafehomeButton').removeClass('disabled'); }, 500); }); @@ -2318,9 +2323,6 @@ TABS.mission_control.initialize = function (callback) { redrawLayer(); plotElevation(); })() - - settings.bingDemModel = $('#elevationEarthModel').prop("checked") ? true : false; - saveSettings(); } }); @@ -2368,7 +2370,7 @@ TABS.mission_control.initialize = function (callback) { // Callback for Remove buttons ///////////////////////////////////////////// $('#removeAllPoints').on('click', function () { - if (markers.length && confirm(chrome.i18n.getMessage('confirm_delete_all_points'))) { + if (markers.length && confirm(localization.getMessage('confirm_delete_all_points'))) { if (removeAllMultiMissionCheck()) { removeAllWaypoints(); updateMultimissionState(); @@ -2381,10 +2383,10 @@ TABS.mission_control.initialize = function (callback) { $('#removePoint').on('click', function () { if (selectedMarker) { if (mission.isJumpTargetAttached(selectedMarker)) { - alert(chrome.i18n.getMessage('MissionPlannerJumpTargetRemoval')); + alert(localization.getMessage('MissionPlannerJumpTargetRemoval')); } else if (mission.getAttachedFromWaypoint(selectedMarker) && mission.getAttachedFromWaypoint(selectedMarker).length != 0) { - if (confirm(chrome.i18n.getMessage('confirm_delete_point_with_options'))) { + if (confirm(localization.getMessage('confirm_delete_point_with_options'))) { mission.getAttachedFromWaypoint(selectedMarker).forEach(function (element) { mission.dropWaypoint(element); mission.update(singleMissionActive()); @@ -2415,7 +2417,7 @@ TABS.mission_control.initialize = function (callback) { $('#loadFileMissionButton').on('click', function () { if (!fileLoadMultiMissionCheck()) return; - if (markers.length && !confirm(chrome.i18n.getMessage('confirm_delete_all_points'))) return; + if (markers.length && !confirm(localization.getMessage('confirm_delete_all_points'))) return; nwdialog.setContext(document); nwdialog.openFileDialog('.mission', function(result) { loadMissionFile(result); @@ -2431,39 +2433,39 @@ TABS.mission_control.initialize = function (callback) { $('#loadMissionButton').on('click', function () { let message = multimissionCount ? 'confirm_overwrite_multimission_file_load_option' : 'confirm_delete_all_points'; - if ((markers.length || multimissionCount) && !confirm(chrome.i18n.getMessage(message))) return; + if ((markers.length || multimissionCount) && !confirm(localization.getMessage(message))) return; removeAllWaypoints(); $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startGetPoint')); + GUI.log(localization.getMessage('startGetPoint')); getWaypointsFromFC(false); }); $('#saveMissionButton').on('click', function () { if (mission.isEmpty()) { - alert(chrome.i18n.getMessage('no_waypoints_to_save')); + alert(localization.getMessage('no_waypoints_to_save')); return; } $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startSendPoint')); + GUI.log(localization.getMessage('startSendPoint')); sendWaypointsToFC(false); }); $('#loadEepromMissionButton').on('click', function () { let message = multimissionCount ? 'confirm_overwrite_multimission_file_load_option' : 'confirm_delete_all_points'; - if ((markers.length || multimissionCount) && !confirm(chrome.i18n.getMessage(message))) return; + if ((markers.length || multimissionCount) && !confirm(localization.getMessage(message))) return; removeAllWaypoints(); $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startGetPoint')); + GUI.log(localization.getMessage('startGetPoint')); getWaypointsFromFC(true); }); $('#saveEepromMissionButton').on('click', function () { if (mission.isEmpty()) { - alert(chrome.i18n.getMessage('no_waypoints_to_save')); + alert(localization.getMessage('no_waypoints_to_save')); return; } $(this).addClass('disabled'); - GUI.log(chrome.i18n.getMessage('startSendPoint')); + GUI.log(localization.getMessage('startSendPoint')); sendWaypointsToFC(true); }); @@ -2472,19 +2474,13 @@ TABS.mission_control.initialize = function (callback) { ///////////////////////////////////////////// $('#saveSettings').on('click', function () { let oldSafeRadiusSH = settings.safeRadiusSH; - - settings.speed = Number($('#MPdefaultPointSpeed').val()); - settings.alt = Number($('#MPdefaultPointAlt').val()); - settings.safeRadiusSH = Number($('#MPdefaultSafeRangeSH').val()); - + settings = { speed: Number($('#MPdefaultPointSpeed').val()), alt: Number($('#MPdefaultPointAlt').val()), safeRadiusSH: Number($('#MPdefaultSafeRangeSH').val()), maxDistSH : vMaxDistSH}; saveSettings(); - if (settings.safeRadiusSH != oldSafeRadiusSH && $('#showHideSafehomeButton').is(":visible")) { cleanSafehomeLayers(); renderSafehomesOnMap(); $('#SafeHomeSafeDistance').text(settings.safeRadiusSH); } - closeSettingsPanel(); }); @@ -2503,17 +2499,17 @@ TABS.mission_control.initialize = function (callback) { ///////////////////////////////////////////// function loadMissionFile(filename) { const fs = require('fs'); - if (!window.xml2js) return GUI.log(chrome.i18n.getMessage('errorReadingFileXml2jsNotFound')); + if (!window.xml2js) return GUI.log(localization.getMessage('errorReadingFileXml2jsNotFound')); fs.readFile(filename, (err, data) => { if (err) { - GUI.log(chrome.i18n.getMessage('errorReadingFile')); + GUI.log(localization.getMessage('errorReadingFile')); return console.error(err); } window.xml2js.Parser({ 'explicitChildren': true, 'preserveChildrenOrder': true }).parseString(data, (err, result) => { if (err) { - GUI.log(chrome.i18n.getMessage('errorParsingFile')); + GUI.log(localization.getMessage('errorParsingFile')); return console.error(err); } @@ -2601,7 +2597,7 @@ TABS.mission_control.initialize = function (callback) { } if (missionEndFlagCount > 1) { - if (multimissionCount && !confirm(chrome.i18n.getMessage('confirm_multimission_file_load'))) { + if (multimissionCount && !confirm(localization.getMessage('confirm_multimission_file_load'))) { mission.flush(); return; } else { @@ -2645,7 +2641,7 @@ TABS.mission_control.initialize = function (callback) { } updateTotalInfo(); let sFilename = String(filename.split('\\').pop().split('/').pop()); - GUI.log(sFilename + chrome.i18n.getMessage('loadedSuccessfully')); + GUI.log(sFilename + localization.getMessage('loadedSuccessfully')); updateFilename(sFilename); }); }); @@ -2653,7 +2649,7 @@ TABS.mission_control.initialize = function (callback) { function saveMissionFile(filename) { const fs = require('fs'); - if (!window.xml2js) return GUI.log(chrome.i18n.getMessage('errorWritingFileXml2jsNotFound')); + if (!window.xml2js) return GUI.log(localization.getMessage('errorWritingFileXml2jsNotFound')); var center = ol.proj.toLonLat(map.getView().getCenter()); var zoom = map.getView().getZoom(); @@ -2702,11 +2698,11 @@ TABS.mission_control.initialize = function (callback) { xml = xml.replace(/missionitem mission/g, 'meta mission'); fs.writeFile(filename, xml, (err) => { if (err) { - GUI.log(chrome.i18n.getMessage('ErrorWritingFile')); + GUI.log(localization.getMessage('ErrorWritingFile')); return console.error(err); } let sFilename = String(filename.split('\\').pop().split('/').pop()); - GUI.log(sFilename + chrome.i18n.getMessage('savedSuccessfully')); + GUI.log(sFilename + localization.getMessage('savedSuccessfully')); updateFilename(sFilename); }); } @@ -2724,15 +2720,15 @@ TABS.mission_control.initialize = function (callback) { function getWaypointData() { mspHelper.loadWaypoints(function() { - GUI.log(chrome.i18n.getMessage('endGetPoint')); + GUI.log(localization.getMessage('endGetPoint')); if (loadEeprom) { - GUI.log(chrome.i18n.getMessage('eeprom_load_ok')); + GUI.log(localization.getMessage('eeprom_load_ok')); $('#loadEepromMissionButton').removeClass('disabled'); } else { $('#loadMissionButton').removeClass('disabled'); } if (!MISSION_PLANNER.getCountBusyPoints()) { - alert(chrome.i18n.getMessage('no_waypoints_to_load')); + alert(localization.getMessage('no_waypoints_to_load')); return; } mission.reinit(); @@ -2766,10 +2762,10 @@ TABS.mission_control.initialize = function (callback) { MISSION_PLANNER.copy(mission); MISSION_PLANNER.update(false, true, true); mspHelper.saveWaypoints(function() { - GUI.log(chrome.i18n.getMessage('endSendPoint')); + GUI.log(localization.getMessage('endSendPoint')); if (saveEeprom) { $('#saveEepromMissionButton').removeClass('disabled'); - GUI.log(chrome.i18n.getMessage('eeprom_saved_ok')); + GUI.log(localization.getMessage('eeprom_saved_ok')); MSP.send_message(MSPCodes.MSP_WP_MISSION_SAVE, [0], false, setMissionIndex); } else { $('#saveMissionButton').removeClass('disabled'); @@ -2789,7 +2785,7 @@ TABS.mission_control.initialize = function (callback) { let activeIndex = singleMissionActive() ? 1 : $('#activeNissionIndex').text(); mspHelper.setSetting("nav_wp_multi_mission_index", activeIndex, function () { MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () { - GUI.log(chrome.i18n.getMessage('multimission_active_index_saved_eeprom')); + GUI.log(localization.getMessage('multimission_active_index_saved_eeprom')); }); }); } @@ -2802,7 +2798,7 @@ TABS.mission_control.initialize = function (callback) { availableWPs = availableWPs - multimission.get().length; } $('#availablePoints').text(availableWPs + '/' + mission.getMaxWaypoints()); - $('#missionValid').html(mission.getValidMission() ? chrome.i18n.getMessage('armingCheckPass') : chrome.i18n.getMessage('armingCheckFail')); + $('#missionValid').html(mission.getValidMission() ? localization.getMessage('armingCheckPass') : localization.getMessage('armingCheckFail')); } } @@ -2828,7 +2824,7 @@ TABS.mission_control.initialize = function (callback) { if (AbsAltCheck) { if (checkAltitude < 100 * elevation) { if (resetAltitude) { - alert(chrome.i18n.getMessage('MissionPlannerAltitudeChangeReset')); + alert(localization.getMessage('MissionPlannerAltitudeChangeReset')); altitude = selectedMarker.getAlt(); } else { altitude = settings.alt + 100 * elevation; @@ -2839,14 +2835,10 @@ TABS.mission_control.initialize = function (callback) { let elevationAtHome = HOME.getAlt(); if ((checkAltitude / 100 + elevationAtHome) < elevation) { if (resetAltitude) { - alert(chrome.i18n.getMessage('MissionPlannerAltitudeChangeReset')); + alert(localization.getMessage('MissionPlannerAltitudeChangeReset')); altitude = selectedMarker.getAlt(); } else { - let currentGroundClearance = 100 * Number($('#groundClearanceValueAtWP').text()); - if (isNaN(currentGroundClearance) || selectedMarker == null) { - currentGroundClearance = settings.alt; // use default altitude if no current ground clearance - } - altitude = currentGroundClearance + 100 * (elevation - elevationAtHome); + altitude = settings.alt + 100 * (elevation - elevationAtHome); } } groundClearance = altitude / 100 + (elevationAtHome - elevation); diff --git a/tabs/mixer.html b/tabs/mixer.html index ae03334a..edcb1aeb 100644 --- a/tabs/mixer.html +++ b/tabs/mixer.html @@ -45,10 +45,10 @@
-
1
-
2
-
3
-
4
+ + + +
diff --git a/tabs/mixer.js b/tabs/mixer.js index 85d1f262..6214084b 100644 --- a/tabs/mixer.js +++ b/tabs/mixer.js @@ -1,4 +1,4 @@ -/*global $,helper,mspHelper,MSP,GUI,SERVO_RULES,MOTOR_RULES,MIXER_CONFIG,googleAnalytics,LOGIC_CONDITIONS,TABS,ServoMixRule*/ +/*global $,helper,mspHelper,MSP,GUI,SERVO_RULES,MOTOR_RULES,MIXER_CONFIG,LOGIC_CONDITIONS,TABS,ServoMixRule*/ 'use strict'; TABS.mixer = {}; @@ -19,7 +19,6 @@ TABS.mixer.initialize = function (callback, scrollPosition) { if (GUI.active_tab != 'mixer') { GUI.active_tab = 'mixer'; - googleAnalytics.sendAppView('Mixer'); } loadChainer.setChain([ @@ -51,7 +50,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { function reboot() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function() { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); @@ -60,12 +59,12 @@ TABS.mixer.initialize = function (callback, scrollPosition) { function reinitialize() { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_mixer a')); } function loadHtml() { - GUI.load("./tabs/mixer.html", Settings.processHtml(processHtml)); + GUI.load(path.join(__dirname, "tabs/mixer.html"), Settings.processHtml(processHtml)); } function renderOutputTable() { @@ -109,7 +108,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { let usedTimers = OUTPUT_MAPPING.getUsedTimerIds(); - for (t of usedTimers) { + for (let t of usedTimers) { var usageMode = OUTPUT_MAPPING.getTimerOverride(t); $container.append( '
' + @@ -389,7 +388,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { rate_inputs.attr("min", -1000); rate_inputs.attr("max", 1000); - localize(); + localization.localize();; } function updateFixedValueVisibility(row, $mixRuleInput) { @@ -433,16 +432,15 @@ TABS.mixer.initialize = function (callback, scrollPosition) { rules = currentMixerPreset.motorMixer; } + if (currentMixerPreset.image != 'quad_x') { + return; + } + for (const i in rules) { if (rules.hasOwnProperty(i)) { const rule = rules[i]; index++; - if (currentMixerPreset.image != 'quad_x') { - $("#motorNumber"+index).css("visibility", "hidden"); - continue; - } - let top_px = 30; let left_px = 28; if (rule.getRoll() < -0.5) { @@ -454,7 +452,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { } $("#motorNumber"+index).css("left", left_px + "px"); $("#motorNumber"+index).css("top", top_px + "px"); - $("#motorNumber"+index).css("visibility", "visible"); + $("#motorNumber"+index).removeClass("is-hidden"); } } } @@ -524,17 +522,10 @@ TABS.mixer.initialize = function (callback, scrollPosition) { } labelMotorNumbers(); - localize(); + localization.localize();; } function saveAndReboot() { - - /* - * Send tracking - */ - googleAnalytics.sendEvent('Mixer', 'Platform type', helper.platform.getById(MIXER_CONFIG.platformType).name); - googleAnalytics.sendEvent('Mixer', 'Mixer preset', helper.mixer.getById(MIXER_CONFIG.appliedMixerPreset).name); - /* * Send mixer rules */ @@ -559,7 +550,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { let mixers = helper.mixer.getByPlatform(MIXER_CONFIG.platformType); $mixerPreset.find("*").remove(); - for (i in mixers) { + for (let i in mixers) { if (mixers.hasOwnProperty(i)) { let m = mixers[i]; $mixerPreset.append(''); @@ -578,7 +569,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { closeButton: 'title', animation: false, attach: $wizardButton, - title: chrome.i18n.getMessage("mixerWizardModalTitle"), + title: localization.getMessage("mixerWizardModalTitle"), content: $('#mixerWizardContent') }); @@ -650,9 +641,9 @@ TABS.mixer.initialize = function (callback, scrollPosition) { if (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER) { if (isReversed) { - motorDirectionCheckbox.parent().find("label span").html(chrome.i18n.getMessage("motor_direction_isInverted")); + motorDirectionCheckbox.parent().find("label span").html(localization.getMessage("motor_direction_isInverted")); } else { - motorDirectionCheckbox.parent().find("label span").html(chrome.i18n.getMessage("motor_direction_inverted")); + motorDirectionCheckbox.parent().find("label span").html(localization.getMessage("motor_direction_inverted")); } } @@ -733,7 +724,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { closeButton: 'title', animation: false, attach: $('#load-and-apply-mixer-button'), - title: chrome.i18n.getMessage("mixerApplyModalTitle"), + title: localization.getMessage("mixerApplyModalTitle"), content: $('#mixerApplyContent') }); @@ -821,7 +812,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { LOGIC_CONDITIONS.init($('#logic-wrapper')); - localize(); + localization.localize();; helper.mspBalancedInterval.add('logic_conditions_pull', 350, 1, getLogicConditionsStatus); @@ -850,8 +841,8 @@ TABS.mixer.initialize = function (callback, scrollPosition) { }; TABS.mixer.cleanup = function (callback) { - delete modal; - delete motorWizardModal; + //delete modal; + //delete motorWizardModal; $('.jBox-wrapper').remove(); if (callback) callback(); }; diff --git a/tabs/modes.js b/tabs/modes.js index d1cb6283..1ae98071 100644 --- a/tabs/modes.js +++ b/tabs/modes.js @@ -8,7 +8,6 @@ TABS.modes.initialize = function (callback) { if (GUI.active_tab != 'modes') { GUI.active_tab = 'modes'; - googleAnalytics.sendAppView('Modes'); } function get_active_box_data() { @@ -24,7 +23,7 @@ TABS.modes.initialize = function (callback) { } function load_html() { - GUI.load("./tabs/modes.html", process_html); + GUI.load(path.join(__dirname, "tabs/modes.html"), process_html); } MSP.send_message(MSPCodes.MSP_BOXNAMES, false, false, get_active_box_data); @@ -45,7 +44,7 @@ TABS.modes.initialize = function (callback) { } // translate to user-selected language - localize(); + localization.localize();; // generate table from the supplied AUX names and AUX data for (var i = 0; i < AUX_CONFIG.length; i++) { @@ -88,7 +87,7 @@ TABS.modes.initialize = function (callback) { function save_to_eeprom() { MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () { - GUI.log(chrome.i18n.getMessage('auxiliaryEepromSaved')); + GUI.log(localization.getMessage('auxiliaryEepromSaved')); }); } diff --git a/tabs/onboard_logging.js b/tabs/onboard_logging.js index 8b460fdd..535b9e77 100644 --- a/tabs/onboard_logging.js +++ b/tabs/onboard_logging.js @@ -30,7 +30,6 @@ TABS.onboard_logging.initialize = function (callback) { if (GUI.active_tab != 'onboard_logging') { GUI.active_tab = 'onboard_logging'; - googleAnalytics.sendAppView('onboard_logging'); } if (CONFIGURATOR.connectionValid) { @@ -55,7 +54,7 @@ TABS.onboard_logging.initialize = function (callback) { } function reboot() { - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function() { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize); @@ -63,14 +62,14 @@ TABS.onboard_logging.initialize = function (callback) { } function reinitialize() { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_onboard_logging a')); } function load_html() { - GUI.load("./tabs/onboard_logging.html", function() { + GUI.load(path.join(__dirname, "tabs/onboard_logging.html"), function() { // translate to user-selected language - localize(); + localization.localize();; var dataflashPresent = DATAFLASH.totalSize > 0, @@ -136,7 +135,7 @@ TABS.onboard_logging.initialize = function (callback) { label.attr("for",FIELD_ID) const span = $(''); - span.html(chrome.i18n.getMessage(FIELD_ID)) + span.html(localization.getMessage(FIELD_ID)) label.append(span); const checkbox = $('
') diff --git a/tabs/options.html b/tabs/options.html index af41f97a..1ef62632 100644 --- a/tabs/options.html +++ b/tabs/options.html @@ -20,11 +20,6 @@
- -
- - -
diff --git a/tabs/osd.html b/tabs/osd.html index f9489d71..99d215b5 100644 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -242,16 +242,6 @@ -
- -
-
diff --git a/tabs/osd.js b/tabs/osd.js index 3467d084..c2b81a69 100644 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -1,6 +1,8 @@ /*global $,nwdialog*/ 'use strict'; +const inflection = require( 'inflection' ); + var SYM = SYM || {}; SYM.LAST_CHAR = 225; // For drawing the font preview SYM.BLANK = 0x20; @@ -114,7 +116,6 @@ SYM.FLIGHT_DIST_REMAINING = 0x167; SYM.GROUND_COURSE = 0xDC; SYM.ALERT = 0xDD; SYM.CROSS_TRACK_ERROR = 0xFC; -SYM.ADSB = 0xFD; SYM.PAN_SERVO_IS_OFFSET_L = 0x1C7; SYM.ODOMETER = 0X168; SYM.PILOT_LOGO_SML_L = 0x1D5; @@ -481,8 +482,6 @@ OSD.initData = function () { imu_temp_alarm_max: null, baro_temp_alarm_min: null, baro_temp_alarm_max: null, - adsb_distance_warning: null, - adsb_distance_alert: null, }, layouts: [], layout_count: 1, // This needs to be 1 for compatibility with < 2.0 @@ -784,24 +783,6 @@ OSD.constants = { min: -55, max: 125 }, - { - name: 'ADSB_MAX_DISTANCE_WARNING', - field: 'adsb_distance_warning', - step: 1, - unit: "meters", - min: 1, - max: 64000, - min_version: '7.1.0', - }, - { - name: 'ADSB_MAX_DISTANCE_ALERT', - field: 'adsb_distance_alert', - step: 1, - unit: "meters", - min: 1, - max: 64000, - min_version: '7.1.0', - }, ], // All display fields, from every version, do not remove elements, only add! @@ -1675,18 +1656,6 @@ OSD.constants = { min_version: '6.0.0', preview: FONT.symbol(SYM.GROUND_COURSE) + '245' + FONT.symbol(SYM.DEGREES) }, - { - name: 'ADSB_WARNING_MESSAGE', - id: 147, - min_version: '7.1.0', - preview: FONT.symbol(SYM.ADSB) + '19.25' + FONT.symbol(SYM.DIR_TO_HOME+1) + '2.75', - }, - { - name: 'ADSB_INFO', - id: 148, - min_version: '7.1.0', - preview: FONT.symbol(SYM.ADSB) + '2', - }, { name: 'CROSS TRACK ERROR', id: 141, @@ -2137,7 +2106,7 @@ OSD.reload = function(callback) { OSD.msp.decodeLayoutCounts(resp); // Get data for all layouts var ids = Array.apply(null, {length: OSD.data.layout_count}).map(Number.call, Number); - var layouts = Promise.mapSeries(ids, function (layoutIndex, ii) { + var layouts = mapSeries(ids, function (layoutIndex, ii) { var data = []; data.push8(layoutIndex); return MSP.promise(MSPCodes.MSP2_INAV_OSD_LAYOUTS, data).then(function (resp) { @@ -2297,8 +2266,6 @@ OSD.msp = { result.push16(OSD.data.alarms.imu_temp_alarm_max); result.push16(OSD.data.alarms.baro_temp_alarm_min); result.push16(OSD.data.alarms.baro_temp_alarm_max); - result.push16(OSD.data.alarms.adsb_distance_warning); - result.push16(OSD.data.alarms.adsb_distance_alert); return result; }, @@ -2318,8 +2285,6 @@ OSD.msp = { OSD.data.alarms.imu_temp_alarm_max = alarms.read16(); OSD.data.alarms.baro_temp_alarm_min = alarms.read16(); OSD.data.alarms.baro_temp_alarm_max = alarms.read16(); - OSD.data.alarms.adsb_distance_warning = alarms.read16(); - OSD.data.alarms.adsb_distance_alert = alarms.read16(); }, encodePreferences: function() { @@ -2576,7 +2541,7 @@ OSD.GUI.updateUnits = function() { if (unitType.min_version && semver.lt(CONFIG.flightControllerVersion, unitType.min_version)) { continue; } - var name = chrome.i18n.getMessage(unitType.name); + var name = localization.getMessage(unitType.name); var $option = $(''); $option.attr('value', name); $option.data('type', unitType.value); @@ -2589,7 +2554,7 @@ OSD.GUI.updateUnits = function() { var unitType = OSD.constants.UNIT_TYPES[OSD.data.preferences.units]; var tip; if (unitType.tip) { - tip = chrome.i18n.getMessage(unitType.tip); + tip = localization.getMessage(unitType.tip); } if (tip) { $unitTip.attr('title', tip); @@ -2630,9 +2595,9 @@ OSD.GUI.updateFields = function() { var groupContainer = $tmpl.clone().addClass('osd_group').show(); groupContainer.attr('id', group.name); var groupTitleContainer = groupContainer.find('.spacer_box_title'); - var groupTitle = chrome.i18n.getMessage(group.name); + var groupTitle = localization.getMessage(group.name); groupTitleContainer.text(groupTitle); - var groupHelp = chrome.i18n.getMessage(group.name + '_HELP'); + var groupHelp = localization.getMessage(group.name + '_HELP'); if (groupHelp) { $('
') .css('margin-top', '1px') @@ -2656,7 +2621,7 @@ OSD.GUI.updateFields = function() { var $field = $('
'); var name = item.name; var nameKey = 'osdElement_' + name; - var nameMessage = chrome.i18n.getMessage(nameKey); + var nameMessage = localization.getMessage(nameKey); if (nameMessage) { name = nameMessage; } else { @@ -2666,7 +2631,7 @@ OSD.GUI.updateFields = function() { if (searchTerm.length > 0 && !name.toLowerCase().includes(searchTerm.toLowerCase())) { continue; } - var help = chrome.i18n.getMessage(nameKey + '_HELP'); + var help = localization.getMessage(nameKey + '_HELP'); if (help) { $('
') .css('margin-top', '1px') @@ -2726,7 +2691,7 @@ OSD.GUI.updateFields = function() { } $displayFields.append($field); } - if (groupContainer.find('.display-fields').children().length > 0) { + if (groupContainer.find('.display-fields').children().size() > 0) { $tmpl.parent().append(groupContainer); } } @@ -2737,7 +2702,7 @@ OSD.GUI.updateFields = function() { .attr('checked', isGuidesChecked) .on('change', function () { OSD.GUI.updateGuidesView(this.checked); - chrome.storage.local.set({'showOSDGuides': this.checked}); + store.set('showOSDGuides', this.checked); OSD.GUI.updatePreviews(); }) ); @@ -2802,7 +2767,7 @@ OSD.GUI.updateDjiMessageElements = function(on) { }; OSD.GUI.updateGuidesView = function(on) { - isHdZero = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'HDZERO'; + let isHdZero = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'HDZERO'; $('.hd_43_margin_left').toggleClass('hdzero_43_left', (isHdZero && on)) $('.hd_43_margin_right').toggleClass('hdzero_43_right', (isHdZero && on)) $('.hd_3016_box_top').toggleClass('hd_3016_top', (isHdZero && on)) @@ -2810,11 +2775,11 @@ OSD.GUI.updateGuidesView = function(on) { $('.hd_3016_box_left').toggleClass('hd_3016_left', (isHdZero && on)) $('.hd_3016_box_right').toggleClass('hd_3016_right', (isHdZero && on)) - isDJIWTF = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'DJIWTF'; + let isDJIWTF = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'DJIWTF'; $('.hd_43_margin_left').toggleClass('dji_hd_43_left', (isDJIWTF && on)) $('.hd_43_margin_right').toggleClass('dji_hd_43_right', (isDJIWTF && on)) - isAvatar = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'AVATAR'; + let isAvatar = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'AVATAR'; $('.hd_43_margin_left').toggleClass('hd_avatar_43_left', (isAvatar && on)) $('.hd_43_margin_right').toggleClass('hd_avatar_43_right', (isAvatar && on)) $('.hd_avatar_bottom_bar').toggleClass('hd_avatar_bottom', (isAvatar && on)) @@ -2823,13 +2788,13 @@ OSD.GUI.updateGuidesView = function(on) { $('.hd_avatar_storage_box_left').toggleClass('hd_avatar_storagebox_l', (isAvatar && on)) $('.hd_avatar_storage_box_right').toggleClass('hd_avatar_storagebox_r', (isAvatar && on)) - isBfHdCompat = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'BFHDCOMPAT'; + let isBfHdCompat = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'BFHDCOMPAT'; $('.hd_43_margin_left').toggleClass('hd_bfhdcompat_43_left', (isBfHdCompat && on)); $('.hd_43_margin_right').toggleClass('hd_bfhdcompat_43_right', (isBfHdCompat && on)); $('.hd_bfhdcompat_bottom_box').toggleClass('hd_bfhdcompat_bottom', (isBfHdCompat && on)); $('.hd_bfhdcompat_storage_box').toggleClass('hd_bfhdcompat_storagebox', (isBfHdCompat && on)); - isPAL = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'PAL' || OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'AUTO'; + let isPAL = OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'PAL' || OSD.constants.VIDEO_TYPES[OSD.data.preferences.video_system] == 'AUTO'; $('.pal_ntsc_box_bottom').toggleClass('ntsc_bottom', (isPAL && on)) }; @@ -2901,7 +2866,7 @@ OSD.GUI.updatePreviews = function() { OSD.data.preview = []; // clear the buffer - for (i = 0; i < OSD.data.display_size.total; i++) { + for (let i = 0; i < OSD.data.display_size.total; i++) { OSD.data.preview.push([null, ' '.charCodeAt(0)]); }; @@ -2938,7 +2903,7 @@ OSD.GUI.updatePreviews = function() { } var x = 0; var y = 0; - for (i = 0; i < preview.length; i++) { + for (let i = 0; i < preview.length; i++) { var charCode = preview.charCodeAt(i); if (charCode == '\n'.charCodeAt(0)) { x = 0; @@ -2980,7 +2945,7 @@ OSD.GUI.updatePreviews = function() { // artificial horizon if ($('input[name="ARTIFICIAL_HORIZON"]').prop('checked')) { - for (i = 0; i < 9; i++) { + for (let i = 0; i < 9; i++) { OSD.GUI.checkAndProcessSymbolPosition(hudCenterPosition - 4 + i, SYM.AH_BAR9_0 + 4); } } @@ -3012,7 +2977,7 @@ OSD.GUI.updatePreviews = function() { if ($('input[name="HORIZON_SIDEBARS"]').prop('checked')) { var hudwidth = OSD.constants.AHISIDEBARWIDTHPOSITION; var hudheight = OSD.constants.AHISIDEBARHEIGHTPOSITION; - for (i = -hudheight; i <= hudheight; i++) { + for (let i = -hudheight; i <= hudheight; i++) { OSD.GUI.checkAndProcessSymbolPosition(hudCenterPosition - hudwidth + (i * FONT.constants.SIZES.LINE), SYM.AH_DECORATION); OSD.GUI.checkAndProcessSymbolPosition(hudCenterPosition + hudwidth + (i * FONT.constants.SIZES.LINE), SYM.AH_DECORATION); } @@ -3028,7 +2993,7 @@ OSD.GUI.updatePreviews = function() { // render var $preview = $('.display-layout .preview').empty(); var $row = $('
'); - for (i = 0; i < OSD.data.display_size.total;) { + for (let i = 0; i < OSD.data.display_size.total;) { var charCode = OSD.data.preview[i]; var colorStyle = ''; @@ -3053,7 +3018,7 @@ OSD.GUI.updatePreviews = function() { $img.find('img').css('pointer-events', 'none'); if (item && item.positionable !== false) { var nameKey = 'osdElement_' + item.name; - var nameMessage = chrome.i18n.getMessage(nameKey); + var nameMessage = localization.getMessage(nameKey); if (!nameMessage) { nameMessage = inflection.titleize(item.name); @@ -3083,7 +3048,7 @@ OSD.GUI.updateAll = function() { if (OSD.data.layout_count > 1) { layouts.empty(); for (var ii = 0; ii < OSD.data.layout_count; ii++) { - var name = ii > 0 ? chrome.i18n.getMessage('osdLayoutAlternative', [ii]) : chrome.i18n.getMessage('osdLayoutDefault'); + var name = ii > 0 ? localization.getMessage('osdLayoutAlternative', [ii]) : localization.getMessage('osdLayoutDefault'); var opt = $(''); @@ -140,7 +139,7 @@ TABS.outputs.initialize = function (callback) { let $servoRate = $('#servo-rate'); - for (i in servoRates) { + for (let i in servoRates) { if (servoRates.hasOwnProperty(i)) { $servoRate.append(''); } @@ -227,7 +226,7 @@ TABS.outputs.initialize = function (callback) { } } while (data[0].length > 40) { - for (i = 0; i < data.length; i++) { + for (let i = 0; i < data.length; i++) { data[i].shift(); } } @@ -378,11 +377,11 @@ TABS.outputs.initialize = function (callback) { $('a.save').click(function () { saveChainer.setExitPoint(function () { //noinspection JSUnresolvedVariable - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect($('.tab_outputs a')); }); }); @@ -555,7 +554,7 @@ TABS.outputs.initialize = function (callback) { $('div.values li').eq(index).text(getMotorOutputValue($(this).val())); - for (i = 0; i < 8; i++) { + for (let i = 0; i < 8; i++) { var val = parseInt($('div.sliders input').eq(i).val()); buffer.push(lowByte(val)); @@ -683,7 +682,7 @@ TABS.outputs.initialize = function (callback) { color, i; - for (i = 0; i < MOTOR_DATA.length; i++) { + for (let i= 0; i < MOTOR_DATA.length; i++) { data = MOTOR_DATA[i] - MISC.mincommand; margin_top = block_height - (data * (block_height / full_block_scale)).clamp(0, block_height); height = (data * (block_height / full_block_scale)).clamp(0, block_height); @@ -694,7 +693,7 @@ TABS.outputs.initialize = function (callback) { } // servo indicators are still using old (not flexible block scale), it will be changed in the future accordingly - for (i = 0; i < SERVO_DATA.length; i++) { + for (let i= 0; i < SERVO_DATA.length; i++) { data = SERVO_DATA[i] - 1000; margin_top = block_height - (data * (block_height / 1000)).clamp(0, block_height); height = (data * (block_height / 1000)).clamp(0, block_height); @@ -727,7 +726,7 @@ TABS.outputs.initialize = function (callback) { } function finalize() { - localize(); + localization.localize();; GUI.content_ready(callback); } diff --git a/tabs/pid_tuning.html b/tabs/pid_tuning.html index 0401edc9..6af07aff 100644 --- a/tabs/pid_tuning.html +++ b/tabs/pid_tuning.html @@ -101,7 +101,7 @@
-
+
diff --git a/tabs/pid_tuning.js b/tabs/pid_tuning.js index 856ad28b..feeaf19e 100644 --- a/tabs/pid_tuning.js +++ b/tabs/pid_tuning.js @@ -27,11 +27,10 @@ TABS.pid_tuning.initialize = function (callback) { if (GUI.active_tab != 'pid_tuning') { GUI.active_tab = 'pid_tuning'; - googleAnalytics.sendAppView('PID Tuning'); } function load_html() { - GUI.load("./tabs/pid_tuning.html", Settings.processHtml(process_html)); + GUI.load(path.join(__dirname, "tabs/pid_tuning.html"), Settings.processHtml(process_html)); } function pid_and_rc_to_form() { @@ -135,7 +134,7 @@ TABS.pid_tuning.initialize = function (callback) { $("#note-wrapper").remove(); } - localize(); + localization.localize();; helper.tabs.init($('.tab-pid_tuning')); helper.features.updateUI($('.tab-pid_tuning'), FEATURES); @@ -156,7 +155,7 @@ TABS.pid_tuning.initialize = function (callback) { $('#resetPIDs').on('click', function() { - if (confirm(chrome.i18n.getMessage('confirm_reset_pid'))) { + if (confirm(localization.getMessage('confirm_reset_pid'))) { MSP.send_message(MSPCodes.MSP_SET_RESET_CURR_PID, false, false, false); updateActivatedTab(); } @@ -164,14 +163,14 @@ TABS.pid_tuning.initialize = function (callback) { $('#resetDefaults').on('click', function() { - if (confirm(chrome.i18n.getMessage('confirm_select_defaults'))) { + if (confirm(localization.getMessage('confirm_select_defaults'))) { mspHelper.setSetting("applied_defaults", 0, function() { mspHelper.saveToEeprom( function () { - GUI.log(chrome.i18n.getMessage('configurationEepromSaved')); + GUI.log(localization.getMessage('configurationEepromSaved')); GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () { - GUI.log(chrome.i18n.getMessage('deviceRebooting')); + GUI.log(localization.getMessage('deviceRebooting')); GUI.handleReconnect(); }); }); @@ -184,25 +183,24 @@ TABS.pid_tuning.initialize = function (callback) { let $theOtherPids = $('#the-other-pids'); let $showAdvancedPids = $('#show-advanced-pids'); - - chrome.storage.local.get('showOtherPids', function (result) { - if (result.showOtherPids) { - $theOtherPids.removeClass("is-hidden"); - $showAdvancedPids.prop('checked', true); - } else { - $theOtherPids.addClass("is-hidden"); - $showAdvancedPids.prop('checked', false); - } - $showAdvancedPids.change(); - }); + + if (store.get('showOtherPids', false) ) { + $theOtherPids.removeClass("is-hidden"); + $showAdvancedPids.prop('checked', true); + } else { + $theOtherPids.addClass("is-hidden"); + $showAdvancedPids.prop('checked', false); + } + $showAdvancedPids.change(); + $showAdvancedPids.on('change', function() { if ($showAdvancedPids.is(':checked')) { $theOtherPids.removeClass("is-hidden"); - chrome.storage.local.set({ showOtherPids: true }); + store.set('showOtherPids', true); } else { $theOtherPids.addClass("is-hidden"); - chrome.storage.local.set({ showOtherPids: false }); + store.set('showOtherPids', false); } }); @@ -277,7 +275,7 @@ TABS.pid_tuning.initialize = function (callback) { $(".tab-pid_tuning").remove(); GUI.tab_switch_cleanup(function () { - GUI.log(chrome.i18n.getMessage('pidTuningDataRefreshed')); + GUI.log(localization.getMessage('pidTuningDataRefreshed')); TABS.pid_tuning.initialize(); }); }); @@ -312,7 +310,7 @@ TABS.pid_tuning.initialize = function (callback) { function save_to_eeprom() { MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () { - GUI.log(chrome.i18n.getMessage('pidTuningEepromSaved')); + GUI.log(localization.getMessage('pidTuningEepromSaved')); }); } diff --git a/tabs/ports.html b/tabs/ports.html index 6ccc7134..28710469 100644 --- a/tabs/ports.html +++ b/tabs/ports.html @@ -44,12 +44,12 @@ -

+

- @@ -57,7 +57,7 @@ diff --git a/tabs/ports.js b/tabs/ports.js index fe9fe394..c7c2881c 100644 --- a/tabs/ports.js +++ b/tabs/ports.js @@ -122,7 +122,7 @@ TABS.ports.initialize = function (callback) { ); for (var i = 0; i < portFunctionRules.length; i++) { - portFunctionRules[i].displayName = chrome.i18n.getMessage('portsFunction_' + portFunctionRules[i].name); + portFunctionRules[i].displayName = localization.getMessage('portsFunction_' + portFunctionRules[i].name); } var mspBaudRates = [ @@ -167,7 +167,6 @@ TABS.ports.initialize = function (callback) { if (GUI.active_tab != 'ports') { GUI.active_tab = 'ports'; - googleAnalytics.sendAppView('Ports'); } load_configuration_from_fc(); @@ -176,7 +175,7 @@ TABS.ports.initialize = function (callback) { MSP.send_message(MSPCodes.MSP2_CF_SERIAL_CONFIG, false, false, on_configuration_loaded_handler); function on_configuration_loaded_handler() { - GUI.load("./tabs/ports.html", on_tab_loaded_handler); + GUI.load(path.join(__dirname, "tabs/ports.html"), on_tab_loaded_handler); } } @@ -202,22 +201,22 @@ TABS.ports.initialize = function (callback) { $elements; $elements = $('select.sensors_baudrate'); - for (i = 0; i < gpsBaudRates.length; i++) { + for (let i = 0; i < gpsBaudRates.length; i++) { $elements.append(''); } $elements = $('select.msp_baudrate'); - for (i = 0; i < mspBaudRates.length; i++) { + for (let i = 0; i < mspBaudRates.length; i++) { $elements.append(''); } $elements = $('select.telemetry_baudrate'); - for (i = 0; i < telemetryBaudRates_post1_6_3.length; i++) { + for (let i = 0; i < telemetryBaudRates_post1_6_3.length; i++) { $elements.append(''); } $elements = $('select.peripherals_baudrate'); - for (i = 0; i < peripheralsBaudRates.length; i++) { + for (let i = 0; i < peripheralsBaudRates.length; i++) { $elements.append(''); } @@ -253,7 +252,7 @@ TABS.ports.initialize = function (callback) { let functions_e_id = "portFunc-" + column + "-" + portIndex; functions_e.attr("id", functions_e_id); - for (i = 0; i < portFunctionRules.length; i++) { + for (let i = 0; i < portFunctionRules.length; i++) { var functionRule = portFunctionRules[i]; var functionName = functionRule.name; @@ -276,11 +275,11 @@ TABS.ports.initialize = function (callback) { var selectElementName = 'function-' + column; var selectElementSelector = 'select[name=' + selectElementName + ']'; select_e = functions_e.find(selectElementSelector); - - if (select_e.length == 0) { + + if (select_e.size() == 0) { functions_e.prepend(' + +
+
@@ -238,6 +242,16 @@
+
+ + +
+
+
+ + +
+
@@ -465,17 +479,6 @@
-
- - -
-
- -
- - -
-
diff --git a/tabs/gps.js b/tabs/gps.js index ec06e375..49ba06fe 100644 --- a/tabs/gps.js +++ b/tabs/gps.js @@ -8,6 +8,30 @@ TABS.gps.initialize = function (callback) { GUI.active_tab = 'gps'; } + // mavlink ADSB_EMITTER_TYPE + const ADSB_VEHICLE_TYPE = { + 0: 'adsb_14.png', // ADSB_EMITTER_TYPE_NO_INFO + 1: 'adsb_1.png', // ADSB_EMITTER_TYPE_LIGHT + 2: 'adsb_1.png', // ADSB_EMITTER_TYPE_SMALL + 3: 'adsb_2.png', // ADSB_EMITTER_TYPE_LARGE + 4: 'adsb_14.png', // ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE + 5: 'adsb_5.png', // ADSB_EMITTER_TYPE_HEAVY + 6: 'adsb_14.png', // ADSB_EMITTER_TYPE_HIGHLY_MANUV + 7: 'adsb_13.png', // ADSB_EMITTER_TYPE_ROTOCRAFT + 8: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSIGNED + 9: 'adsb_6.png', // ADSB_EMITTER_TYPE_GLIDER + 10: 'adsb_7.png', // ADSB_EMITTER_TYPE_LIGHTER_AIR + 11: 'adsb_15.png', // ADSB_EMITTER_TYPE_PARACHUTE + 12: 'adsb_1.png', // ADSB_EMITTER_TYPE_ULTRA_LIGHT + 13: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSIGNED2 + 14: 'adsb_8.png', // ADSB_EMITTER_TYPE_UAV + 15: 'adsb_14.png', // ADSB_EMITTER_TYPE_SPACE + 16: 'adsb_14.png', // ADSB_EMITTER_TYPE_UNASSGINED3 + 17: 'adsb_9.png', // ADSB_EMITTER_TYPE_EMERGENCY_SURFACE + 18: 'adsb_10.png', // ADSB_EMITTER_TYPE_SERVICE_SURFACE + 19: 'adsb_12.png', // ADSB_EMITTER_TYPE_POINT_OBSTACLE + }; + var loadChainer = new MSPChainerClass(); var loadChain = [ @@ -57,6 +81,9 @@ TABS.gps.initialize = function (callback) { let iconGeometry; let iconFeature; + let vehicleVectorSource; + let vehiclesCursorInitialized = false; + function process_html() { localization.localize();; @@ -130,6 +157,36 @@ TABS.gps.initialize = function (callback) { view: mapView }); + TABS.gps.toolboxAdsbVehicle = new jBox('Mouse', { + position: { + x: "right", + y: "bottom" + }, + offset: { + x: -5, + y: 20, + }, + }); + + mapHandler.on('pointermove', function(evt) { + var feature = mapHandler.forEachFeatureAtPixel(mapHandler.getEventPixel(evt.originalEvent), function(feature, layer) { + return feature; + }); + + if (feature) { + TABS.gps.toolboxAdsbVehicle.setContent( + `icao: ` + feature.get('name') + `
` + + `lat: `+ (feature.get('data').lat / 10000000) + `
` + + `lon: `+ (feature.get('data').lon / 10000000) + `
` + + `ASL: `+ (feature.get('data').altCM ) / 100 + `m
` + + `heading: `+ feature.get('data').headingDegrees + `°
` + + `type: `+ feature.get('data').emitterType + `` + ).open(); + }else{ + TABS.gps.toolboxAdsbVehicle.close(); + } + }); + let center = ol.proj.fromLonLat([0, 0]); mapView.setCenter(center); mapView.setZoom(2); @@ -220,6 +277,65 @@ TABS.gps.initialize = function (callback) { iconGeometry.setCoordinates(center); } + + if (semver.gte(CONFIG.flightControllerVersion, "7.1.0")) { + MSP.send_message(MSPCodes.MSP2_ADSB_VEHICLE_LIST, false, false, function () { + //ADSB vehicles + + if (vehiclesCursorInitialized) { + vehicleVectorSource.clear(); + } + + for (let key in ADSB_VEHICLES.vehicles) { + let vehicle = ADSB_VEHICLES.vehicles[key]; + + if (!vehiclesCursorInitialized) { + vehiclesCursorInitialized = true; + + vehicleVectorSource = new ol.source.Vector({}); + + let vehicleLayer = new ol.layer.Vector({ + source: vehicleVectorSource + }); + + mapHandler.addLayer(vehicleLayer); + } + + if (vehicle.lat > 0 && vehicle.lon > 0 && vehicle.ttl > 0) { + let vehicleIconStyle = new ol.style.Style({ + image: new ol.style.Icon(({ + opacity: 1, + rotation: vehicle.headingDegrees * (Math.PI / 180), + scale: 0.8, + anchor: [0.5, 0.5], + src: '../resources/adsb/' + ADSB_VEHICLE_TYPE[vehicle.emitterType], + })), + text: new ol.style.Text(({ + text: vehicle.callsign, + textAlign: 'center', + textBaseline: "bottom", + offsetY: +40, + padding: [2, 2, 2, 2], + backgroundFill: '#444444', + fill: new ol.style.Fill({color: '#ffffff'}), + })), + }); + + + let iconGeometry = new ol.geom.Point(ol.proj.fromLonLat([vehicle.lon / 10000000, vehicle.lat / 10000000])); + let iconFeature = new ol.Feature({ + geometry: iconGeometry, + name: vehicle.callsign, + type: 'adsb', + data: vehicle, + }); + + iconFeature.setStyle(vehicleIconStyle); + vehicleVectorSource.addFeature(iconFeature); + } + } + }); + } } /* @@ -256,4 +372,7 @@ TABS.gps.initialize = function (callback) { TABS.gps.cleanup = function (callback) { if (callback) callback(); + if (TABS.gps.toolboxAdsbVehicle){ + TABS.gps.toolboxAdsbVehicle.close(); + } }; diff --git a/tabs/mission_control.html b/tabs/mission_control.html index 6ba2becd..09d1eb6b 100644 --- a/tabs/mission_control.html +++ b/tabs/mission_control.html @@ -166,7 +166,7 @@
diff --git a/tabs/mission_control.js b/tabs/mission_control.js index 3df684c6..04114afe 100644 --- a/tabs/mission_control.js +++ b/tabs/mission_control.js @@ -80,11 +80,6 @@ TABS.mission_control.initialize = function (callback) { let isOffline = false; let rthUpdateInterval = 0; - var $safehomesTable; - var $safehomesTableBody; - var $waypointOptionsTable; - var $waypointOptionsTableBody; - if (GUI.active_tab != 'mission_control') { GUI.active_tab = 'mission_control'; } @@ -105,7 +100,7 @@ TABS.mission_control.initialize = function (callback) { } function loadHtml() { - GUI.load(path.join(__dirname, "tabs/mission_control.html"), process_html); + GUI.load("tabs/mission_control.html", process_html); } function process_html() { @@ -368,24 +363,15 @@ TABS.mission_control.initialize = function (callback) { ////////////////////////////////////////////////////////////////////////////////////////////// // define & init parameters for default Settings ////////////////////////////////////////////////////////////////////////////////////////////// - var vMaxDistSH = 0; - var settings = {}; + var settings = {speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : 0, bingDemModel : false}; + if (CONFIGURATOR.connectionValid) { mspHelper.getSetting("safehome_max_distance").then(function (s) { if (s) { - vMaxDistSH = Number(s.value)/100; - settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; - } - else { - vMaxDistSH = 0; - settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; + settings.maxDistSH = Number(s.value)/100; } }); } - else { - vMaxDistSH = 0; - settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; - } ////////////////////////////////////////////////////////////////////////////////////////////// // define & init Waypoints parameters @@ -683,6 +669,7 @@ TABS.mission_control.initialize = function (callback) { if (globalSettings.mapProviderType == 'bing') { $('#elevationEarthModelclass').fadeIn(300); + changeSwitchery($('#elevationEarthModel'), settings.bingDemModel); } else { $('#elevationEarthModelclass').fadeOut(300); } @@ -1367,7 +1354,7 @@ TABS.mission_control.initialize = function (callback) { }); GUI.switchery(); - localization.localize();; + localization.localize();; return waypoint; } @@ -2129,22 +2116,30 @@ TABS.mission_control.initialize = function (callback) { const elevationAtWP = await selectedMarker.getElevation(globalSettings); $('#elevationValueAtWP').text(elevationAtWP); var altitude = Number($('#pointAlt').val()); + if (P3Value != selectedMarker.getP3()) { selectedMarker.setP3(P3Value); - + + let groundClearance = 100 * Number($('#groundClearanceValueAtWP').text()); + if (isNaN(groundClearance)) { + groundClearance = settings.alt; // use default altitude if no current ground clearance + } + if ($('#pointP3Alt').prop("checked")) { - if (altitude < 0) { - altitude = settings.alt; - } - selectedMarker.setAlt(altitude + elevationAtWP * 100); + selectedMarker.setAlt(groundClearance + elevationAtWP * 100); } else { - selectedMarker.setAlt(altitude - Number(elevationAtWP) * 100); + let elevationAtHome = HOME.getAlt(); + if (isNaN(elevationAtHome)) { + elevationAtHome = elevationAtWP; + } + selectedMarker.setAlt(groundClearance + 100 * (elevationAtWP - elevationAtHome)); } } + const returnAltitude = checkAltElevSanity(false, selectedMarker.getAlt(), elevationAtWP, selectedMarker.getP3()); selectedMarker.setAlt(returnAltitude); $('#pointAlt').val(selectedMarker.getAlt()); - var altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt()); + altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt()); $('#altitudeInMeters').text(` ${altitudeMeters}m`); mission.updateWaypoint(selectedMarker); @@ -2323,6 +2318,9 @@ TABS.mission_control.initialize = function (callback) { redrawLayer(); plotElevation(); })() + + settings.bingDemModel = $('#elevationEarthModel').prop("checked") ? true : false; + saveSettings(); } }); @@ -2474,13 +2472,19 @@ TABS.mission_control.initialize = function (callback) { ///////////////////////////////////////////// $('#saveSettings').on('click', function () { let oldSafeRadiusSH = settings.safeRadiusSH; - settings = { speed: Number($('#MPdefaultPointSpeed').val()), alt: Number($('#MPdefaultPointAlt').val()), safeRadiusSH: Number($('#MPdefaultSafeRangeSH').val()), maxDistSH : vMaxDistSH}; + + settings.speed = Number($('#MPdefaultPointSpeed').val()); + settings.alt = Number($('#MPdefaultPointAlt').val()); + settings.safeRadiusSH = Number($('#MPdefaultSafeRangeSH').val()); + saveSettings(); + if (settings.safeRadiusSH != oldSafeRadiusSH && $('#showHideSafehomeButton').is(":visible")) { cleanSafehomeLayers(); renderSafehomesOnMap(); $('#SafeHomeSafeDistance').text(settings.safeRadiusSH); } + closeSettingsPanel(); }); @@ -2838,7 +2842,11 @@ TABS.mission_control.initialize = function (callback) { alert(localization.getMessage('MissionPlannerAltitudeChangeReset')); altitude = selectedMarker.getAlt(); } else { - altitude = settings.alt + 100 * (elevation - elevationAtHome); + let currentGroundClearance = 100 * Number($('#groundClearanceValueAtWP').text()); + if (isNaN(currentGroundClearance) || selectedMarker == null) { + currentGroundClearance = settings.alt; // use default altitude if no current ground clearance + } + altitude = currentGroundClearance + 100 * (elevation - elevationAtHome); } } groundClearance = altitude / 100 + (elevationAtHome - elevation); diff --git a/tabs/mixer.js b/tabs/mixer.js index 6214084b..aa5dd403 100644 --- a/tabs/mixer.js +++ b/tabs/mixer.js @@ -424,7 +424,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) { function labelMotorNumbers() { let index = 0; - var rules + var rules; if (currentMixerPreset.id == loadedMixerPresetID) { rules = MOTOR_RULES.get(); diff --git a/tabs/osd.html b/tabs/osd.html index 99d215b5..f9489d71 100644 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -242,6 +242,16 @@ +
+ +
+
diff --git a/tabs/osd.js b/tabs/osd.js index c2b81a69..eb7792f0 100644 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -116,6 +116,7 @@ SYM.FLIGHT_DIST_REMAINING = 0x167; SYM.GROUND_COURSE = 0xDC; SYM.ALERT = 0xDD; SYM.CROSS_TRACK_ERROR = 0xFC; +SYM.ADSB = 0xFD; SYM.PAN_SERVO_IS_OFFSET_L = 0x1C7; SYM.ODOMETER = 0X168; SYM.PILOT_LOGO_SML_L = 0x1D5; @@ -482,6 +483,8 @@ OSD.initData = function () { imu_temp_alarm_max: null, baro_temp_alarm_min: null, baro_temp_alarm_max: null, + adsb_distance_warning: null, + adsb_distance_alert: null, }, layouts: [], layout_count: 1, // This needs to be 1 for compatibility with < 2.0 @@ -783,6 +786,24 @@ OSD.constants = { min: -55, max: 125 }, + { + name: 'ADSB_MAX_DISTANCE_WARNING', + field: 'adsb_distance_warning', + step: 1, + unit: "meters", + min: 1, + max: 64000, + min_version: '7.1.0', + }, + { + name: 'ADSB_MAX_DISTANCE_ALERT', + field: 'adsb_distance_alert', + step: 1, + unit: "meters", + min: 1, + max: 64000, + min_version: '7.1.0', + }, ], // All display fields, from every version, do not remove elements, only add! @@ -1656,6 +1677,18 @@ OSD.constants = { min_version: '6.0.0', preview: FONT.symbol(SYM.GROUND_COURSE) + '245' + FONT.symbol(SYM.DEGREES) }, + { + name: 'ADSB_WARNING_MESSAGE', + id: 147, + min_version: '7.1.0', + preview: FONT.symbol(SYM.ADSB) + '19.25' + FONT.symbol(SYM.DIR_TO_HOME+1) + '2.75', + }, + { + name: 'ADSB_INFO', + id: 148, + min_version: '7.1.0', + preview: FONT.symbol(SYM.ADSB) + '2', + }, { name: 'CROSS TRACK ERROR', id: 141, @@ -2266,6 +2299,8 @@ OSD.msp = { result.push16(OSD.data.alarms.imu_temp_alarm_max); result.push16(OSD.data.alarms.baro_temp_alarm_min); result.push16(OSD.data.alarms.baro_temp_alarm_max); + result.push16(OSD.data.alarms.adsb_distance_warning); + result.push16(OSD.data.alarms.adsb_distance_alert); return result; }, @@ -2285,6 +2320,8 @@ OSD.msp = { OSD.data.alarms.imu_temp_alarm_max = alarms.read16(); OSD.data.alarms.baro_temp_alarm_min = alarms.read16(); OSD.data.alarms.baro_temp_alarm_max = alarms.read16(); + OSD.data.alarms.adsb_distance_warning = alarms.read16(); + OSD.data.alarms.adsb_distance_alert = alarms.read16(); }, encodePreferences: function() { From 017a6553ffae5aeff178aea329102a9614ca7849 Mon Sep 17 00:00:00 2001 From: Andi Kanzler Date: Sun, 11 Feb 2024 14:30:43 -0300 Subject: [PATCH 03/16] CLI --- index.html | 1 - js/connection/connectionBle.js | 5 +- js/data_storage.js | 2 +- js/fc.js | 2 +- js/libraries/nw-dialog.js | 125 ------------------------------ js/main.js | 2 +- package.json | 2 +- tabs/cli.js | 134 +++++++++++++++------------------ 8 files changed, 66 insertions(+), 207 deletions(-) delete mode 100644 js/libraries/nw-dialog.js diff --git a/index.html b/index.html index 9bee10eb..d3cd94b0 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,6 @@ - diff --git a/js/connection/connectionBle.js b/js/connection/connectionBle.js index c50a956a..d95164bf 100644 --- a/js/connection/connectionBle.js +++ b/js/connection/connectionBle.js @@ -95,8 +95,9 @@ class ConnectionBle extends Connection { }); return navigator.bluetooth.requestDevice({ - acceptAllDevices: true, - optionalServices: ids + //acceptAllDevices: true, + //optionalServices: ids + filters: [{ services: ['generic_attribute'] }], }).then(device => { console.log("Found BLE device: " + device.name); this._device = device; diff --git a/js/data_storage.js b/js/data_storage.js index d711bb37..a1881b31 100755 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -3,7 +3,7 @@ var CONFIGURATOR = { // all versions are specified and compared using semantic versioning http://semver.org/ 'minfirmwareVersionAccepted': '7.0.0', - 'maxFirmwareVersionAccepted': '8.0.0', // Condition is < (lt) so we accept all in 7.x branch + 'maxFirmwareVersionAccepted': '9.0.0', // Condition is < (lt) so we accept all in 8.x branch 'connectionValid': false, 'connectionValidCliOnly': false, 'cliActive': false, diff --git a/js/fc.js b/js/fc.js index 412f7e8f..e36b128f 100644 --- a/js/fc.js +++ b/js/fc.js @@ -253,7 +253,7 @@ var FC = { packetCount: 0 }; - DSB_VEHICLES = { + ADSB_VEHICLES = { vehiclesCount: 0, callsignLength: 0, vehicles: [] diff --git a/js/libraries/nw-dialog.js b/js/libraries/nw-dialog.js deleted file mode 100644 index b02f885b..00000000 --- a/js/libraries/nw-dialog.js +++ /dev/null @@ -1,125 +0,0 @@ -'use strict'; - -var nwdialog = { - - _context: (typeof global === 'undefined' || typeof global.DOMDocument === 'undefined') ? document : global.DOMDocument, - - setContext: function(context) { - this._context = context; - }, - - openFileDialog: function(filter, multiple, workdir, callback) { - - var fn = callback; - var node = this._context.createElement('input'); - node.type = 'file'; - node.id = 'open-file-dialog'; - node.style = 'display: none'; - - if (typeof filter === 'function') { - fn = filter; - } else if (typeof filter === 'string') { - node.setAttribute('accept', filter); - } else if (typeof filter === 'boolean' && filter === true) { - node.setAttribute('multiple', ''); - } else if (this.isArray(filter)) { - node.setAttribute('accept', filter.join(',')); - } - - if (typeof multiple === 'function') { - fn = multiple; - } else if (typeof multiple === 'string') { - node.setAttribute('nwworkingdir', multiple); - } else if (typeof multiple === 'boolean' && multiple === true) { - node.setAttribute('multiple', ''); - } - - if (typeof workdir === 'function') { - fn = workdir; - } else if (typeof workdir === 'string') { - node.setAttribute('nwworkingdir', workdir); - } - - this._context.body.appendChild(node); - node.addEventListener('change', function(e) { - fn(node.value); - node.remove(); - }); - node.click(); - - }, - - saveFileDialog: function(name, accept, directory, callback) { - - var fn = callback; - var node = this._context.createElement('input'); - node.type = 'file'; - node.id = 'save-file-dialog'; - node.style = 'display: none'; - node.setAttribute('nwsaveas', ''); - - if (typeof name === 'function') { - fn = name; - } else if (typeof name === 'string') { - node.setAttribute('nwsaveas', name); - } - - if (typeof accept === 'function') { - fn = accept; - } else if (typeof accept === 'string') { - node.setAttribute('accept', accept); - } else if (this.isArray(accept)) { - node.setAttribute('accept', accept.join(',')); - } - - if (typeof directory === 'function') { - fn = directory; - } else if (typeof directory === 'string') { - node.setAttribute('nwworkingdir', directory); - } - - this._context.body.appendChild(node); - node.addEventListener('change', function() { - fn(node.value); - node.remove(); - }); - node.click(); - - }, - - folderBrowserDialog: function(workdir, callback) { - var fn = callback; - var node = this._context.createElement('input'); - node.type = 'file'; - node.id = 'folder-browser-dialog'; - node.style = 'display: none'; - node.nwdirectory= true; - - if (typeof workdir === 'function') { - fn = workdir - } else if (typeof workdir === 'string') { - node.setAttribute('nwworkingdir', workdir); - } - - this._context.body.appendChild(node); - node.addEventListener('change', function() { - fn(node.value); - node.remove(); - }); - node.click(); - }, - - isArray: function(value) { - return Object.prototype.toString.call(value) === '[object Array]'; - } - -} - -if (typeof nw !== 'undefined') { - if (typeof exports == 'undefined') { - nw.Dialog = nwdialog; - window.dialog = nwdialog; - } else { - module.exports = nwdialog; - } -} diff --git a/js/main.js b/js/main.js index 105b4385..03c04ea0 100644 --- a/js/main.js +++ b/js/main.js @@ -2,7 +2,7 @@ window.$ = window.jQuery = require('jquery'), require('jquery-ui-dist/jquery-ui'); const { SerialPort } = require('serialport'); const path = require('path'); -const { app } = require('@electron/remote'); +const { app, dialog } = require('@electron/remote'); const ol = require('openlayers'); const Store = require('electron-store'); const store = new Store(); diff --git a/package.json b/package.json index f674877f..47b12ab6 100755 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "serialport": "^12.0.0", "inflection": "1.12.0", "fs": "0.0.1-security", - "jquery": "2.1.4", + "jquery": "3.7.1", "jquery-ui-dist": "1.12.1", "marked": "^11.2.0", "minimist": "^1.2.0", diff --git a/tabs/cli.js b/tabs/cli.js index 3c59fc4c..bbded4ef 100644 --- a/tabs/cli.js +++ b/tabs/cli.js @@ -68,50 +68,9 @@ function copyToClipboard(text) { function onCopyFailed(ex) { console.warn(ex); } - - function nwCopy(text) { - try { - let clipboard = require('nw.gui').Clipboard.get(); - clipboard.set(text, "text"); - onCopySuccessful(); - } catch (ex) { - onCopyFailed(ex); - } - } - - function webCopy(text) { - navigator.clipboard.writeText(text) - .then(onCopySuccessful, onCopyFailed); - } - - let copyFunc; - try { - let nwGui = require('nw.gui'); - copyFunc = nwCopy; - } catch (e) { - copyFunc = webCopy; - } - copyFunc(text); -} - -function sendLinesWithDelay(outputArray) { - return (delay, line, index) => { - return new Promise((resolve) => { - helper.timeout.add('CLI_send_slowly', () => { - let processingDelay = TABS.cli.lineDelayMs; - if (line.toLowerCase().startsWith('profile')) { - processingDelay = TABS.cli.profileSwitchDelayMs; - } - const isLastCommand = outputArray.length === index + 1; - if (isLastCommand && TABS.cli.cliBuffer) { - line = getCliCommand(line, TABS.cli.cliBuffer); - } - TABS.cli.sendLine(line, () => { - resolve(processingDelay); - }); - }, delay); - }); - }; + + navigator.clipboard.writeText(text) + .then(onCopySuccessful, onCopyFailed); } TABS.cli.initialize = function (callback) { @@ -136,16 +95,35 @@ TABS.cli.initialize = function (callback) { return !(nwGui == null && !navigator.clipboard) })(); + function executeCommands(out_string) { self.history.add(out_string.trim()); var outputArray = out_string.split("\n"); - Promise.reduce(outputArray, sendLinesWithDelay(outputArray), 0); + return outputArray.reduce((p, line, index) => + p.then((delay) => + new Promise((resolve) => { + helper.timeout.add('CLI_send_slowly', () => { + let processingDelay = TABS.cli.lineDelayMs; + if (line.toLowerCase().startsWith('profile')) { + processingDelay = TABS.cli.profileSwitchDelayMs; + } + const isLastCommand = outputArray.length === index + 1; + if (isLastCommand && TABS.cli.cliBuffer) { + line = getCliCommand(line, TABS.cli.cliBuffer); + } + TABS.cli.sendLine(line, () => { + resolve(processingDelay); + }); + }, delay); + }) + ), Promise.resolve(0), + ); } GUI.load(path.join(__dirname, "tabs/cli.html"), function () { // translate to user-selected language - localization.localize();; + localization.localize(); $('.cliDocsBtn').attr('href', globalSettings.docsTreeLocation + 'Settings.md'); @@ -154,24 +132,21 @@ TABS.cli.initialize = function (callback) { var textarea = $('.tab-cli textarea[name="commands"]'); $('.tab-cli .save').click(function() { - var prefix = 'cli'; - var suffix = 'txt'; - - var filename = generateFilename(prefix, suffix); - - var accepts = [{ - description: suffix.toUpperCase() + ' files', extensions: [suffix], - }]; - - nwdialog.setContext(document); - nwdialog.saveFileDialog(filename, accepts, '', function(result) { - if (!result) { + + var options = { + filters: [ + { name: 'CLI', extensions: ['cli'] } , + { name: 'TXT', extensions: ['txt'] } + ], + }; + dialog.showSaveDialog(options).then(result => { + if (result.canceled) { GUI.log(localization.getMessage('cliSaveToFileAborted')); return; } + const fs = require('fs'); - - fs.writeFile(result, self.outputHistory, (err) => { + fs.writeFile(result.filePath , self.outputHistory, (err) => { if (err) { GUI.log(localization.getMessage('ErrorWritingFile')); return console.error(err); @@ -179,6 +154,8 @@ TABS.cli.initialize = function (callback) { GUI.log(localization.getMessage('FileSaved')); }); + }).catch (err => { + console.log(err); }); }); @@ -213,10 +190,15 @@ TABS.cli.initialize = function (callback) { $('.tab-cli .copy').hide(); } - $('.tab-cli .load').click(function() { - nwdialog.setContext(document); - nwdialog.openFileDialog(".txt", false, '', function(result) { - if (!result) { + $('.tab-cli .load').on('click', () => { + var options = { + filters: [ + { name: 'CLI/TXT', extensions: ['cli', 'txt'] }, + { name: 'ALL', extensions: ['*'] } + ], + }; + dialog.showOpenDialog(options).then( result => { + if (result.canceled) { console.log('No file selected'); return; } @@ -247,16 +229,19 @@ TABS.cli.initialize = function (callback) { self.GUI.snippetPreviewWindow.open(); } - const fs = require('fs'); + if (result.filePaths.length == 1) { + const fs = require('fs'); + fs.readFile(result.filePaths[0], (err, data) => { + if (err) { + GUI.log(localization.getMessage('ErrorReadingFile')); + return console.error(err); + } - fs.readFile(result, (err, data) => { - if (err) { - GUI.log(localization.getMessage('ErrorReadingFile')); - return console.error(err); - } - - previewCommands(data); - }); + previewCommands(data); + }); + } + }).catch (err => { + console.log(err); }); }); @@ -289,8 +274,7 @@ TABS.cli.initialize = function (callback) { self.outputHistory = ""; $('.tab-cli .window .wrapper').empty(); } else { - var outputArray = out_string.split("\n"); - Promise.reduce(outputArray, sendLinesWithDelay(outputArray), 0); + executeCommands(out_string); } textarea.val(''); From 21a4169805b3e34ebaa4b857de77682ff6bb3536 Mon Sep 17 00:00:00 2001 From: Andi Kanzler Date: Sun, 11 Feb 2024 17:29:52 -0300 Subject: [PATCH 04/16] CLI --- index.html | 1 + js/main.js | 25 +- package-lock.json | 6447 ++++++++++++++---------------------------- package.json | 1 + src/css/styles.css | 10 +- src/css/tabs/cli.css | 18 + tabs/cli.js | 63 +- tabs/options.html | 4 + 8 files changed, 2295 insertions(+), 4274 deletions(-) diff --git a/index.html b/index.html index d3cd94b0..d2fce930 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,7 @@ + diff --git a/js/main.js b/js/main.js index 03c04ea0..d5e273eb 100644 --- a/js/main.js +++ b/js/main.js @@ -1,5 +1,8 @@ -window.$ = window.jQuery = require('jquery'), - require('jquery-ui-dist/jquery-ui'); +window.$ = window.jQuery = require('jquery'), + require('jquery-ui-dist/jquery-ui'), + require('jquery-textcomplete'); + + const { SerialPort } = require('serialport'); const path = require('path'); const { app, dialog } = require('@electron/remote'); @@ -34,7 +37,7 @@ let globalSettings = { docsTreeLocation: 'master', }; -$(document).on("ready", () => { +$(function() { localization = new Localiziation("en"); localization.localize(); @@ -46,6 +49,11 @@ $(document).on("ready", () => { globalSettings.showProfileParameters = store.get('show_profile_parameters', 1); updateProfilesHighlightColours(); + if (store.get('cli_autocomplete', false)) { + globalSettings.cliAutocomplete = true; + CliAutoComplete.setEnabled(true); + }; + // Resets the OSD units used by the unit coversion when the FC is disconnected. if (!CONFIGURATOR.connectionValid) { globalSettings.osdUnits = null; @@ -233,7 +241,7 @@ $(document).on("ready", () => { el.addClass('active'); el.after('
'); - $('div#options-window').load('/html//options.html', function () { + $('div#options-window').load('./tabs/options.html', function () { // translate to user-selected language localization.localize(); @@ -265,12 +273,21 @@ $(document).on("ready", () => { activeTab.find('a').click(); }); + $('div.cli_autocomplete input').change(function () { + globalSettings.cliAutocomplete = $(this).is(':checked'); + store.set('cli_autocomplete', globalSettings.cliAutocomplete); + + CliAutoComplete.setEnabled($(this).is(':checked')); + }); + $('#ui-unit-type').val(globalSettings.unitType); $('#map-provider-type').val(globalSettings.mapProviderType); $('#map-api-key').val(globalSettings.mapApiKey); $('#proxyurl').val(globalSettings.proxyURL); $('#proxylayer').val(globalSettings.proxyLayer); $('#showProfileParameters').prop('checked', globalSettings.showProfileParameters); + $('#cliAutocomplete').prop('checked', globalSettings.cliAutocomplete); + // Set the value of the unit type // none, OSD, imperial, metric diff --git a/package-lock.json b/package-lock.json index 994613a2..102e3d3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,8 @@ "electron-window-state": "^5.0.3", "fs": "0.0.1-security", "inflection": "1.12.0", - "jquery": "2.1.4", + "jquery": "3.7.1", + "jquery-textcomplete": "^1.8.5", "jquery-ui-dist": "1.12.1", "marked": "^11.2.0", "minimist": "^1.2.0", @@ -72,143 +73,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@electron-forge/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@electron-forge/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@electron-forge/cli/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@electron-forge/cli/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron-forge/cli/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/cli/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/cli/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron-forge/cli/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron-forge/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/cli/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/core": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.2.0.tgz", @@ -286,528 +150,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/core-utils/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron-forge/core-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron-forge/core-utils/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/core-utils/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron-forge/core/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/@electron-forge/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@electron-forge/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@electron-forge/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@electron-forge/core/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron-forge/core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron-forge/core/node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@electron-forge/core/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@electron-forge/core/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/core/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/@electron-forge/core/node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@electron-forge/core/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/core/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron-forge/core/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core/node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@electron-forge/core/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron-forge/core/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/core/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/core/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@electron-forge/maker-base": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.2.0.tgz", @@ -822,56 +164,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/maker-base/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/maker-base/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/maker-base/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/maker-base/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@electron-forge/maker-deb": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.2.0.tgz", @@ -921,41 +213,6 @@ "electron-winstaller": "^5.0.0" } }, - "node_modules/@electron-forge/maker-squirrel/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/maker-squirrel/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/maker-squirrel/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/maker-zip": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.2.0.tgz", @@ -972,75 +229,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/maker-zip/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/maker-zip/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/@electron-forge/maker-zip/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/maker-zip/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/maker-zip/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/plugin-auto-unpack-natives": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.2.0.tgz", @@ -1109,145 +297,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/template-base/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/@electron-forge/template-base/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron-forge/template-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron-forge/template-base/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/template-base/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/template-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron-forge/template-base/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/template-base/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/template-base/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron-forge/template-base/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/template-base/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@electron-forge/template-vite": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.2.0.tgz", @@ -1276,76 +325,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/template-vite-typescript/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/template-vite-typescript/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/template-vite-typescript/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/template-vite/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/template-vite/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/template-vite/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/template-webpack": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.2.0.tgz", @@ -1374,76 +353,6 @@ "node": ">= 16.4.0" } }, - "node_modules/@electron-forge/template-webpack-typescript/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/template-webpack-typescript/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/template-webpack-typescript/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron-forge/template-webpack/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/template-webpack/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron-forge/template-webpack/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/tracer": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.2.0.tgz", @@ -1503,23 +412,6 @@ "global-agent": "^3.0.0" } }, - "node_modules/@electron/get/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@electron/get/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -1534,46 +426,24 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/@electron/get/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@electron/get/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/@electron/get/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/@electron/notarize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.2.1.tgz", @@ -1588,23 +458,6 @@ "node": ">= 10.0.0" } }, - "node_modules/@electron/notarize/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@electron/notarize/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -1632,21 +485,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@electron/notarize/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/notarize/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron/osx-sign": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.5.tgz", @@ -1668,64 +506,6 @@ "node": ">=12.0.0" } }, - "node_modules/@electron/osx-sign/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron/osx-sign/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/osx-sign/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron/osx-sign/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/osx-sign/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron/packager": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.1.3.tgz", @@ -1763,40 +543,6 @@ "url": "https://github.com/electron/packager?sponsor=1" } }, - "node_modules/@electron/packager/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron/packager/node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@electron/packager/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -1823,66 +569,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@electron/packager/node_modules/junk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", - "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/packager/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/packager/node_modules/rcedit": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-4.0.1.tgz", - "integrity": "sha512-bZdaQi34krFWhrDn+O53ccBDw0MkAT2Vhu75SqhtvhQu4OPyFM4RoVheyYiVQYdjhUi6EJMVWQ0tR6bCIYVkUg==", - "dev": true, - "dependencies": { - "cross-spawn-windows-exe": "^1.1.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@electron/packager/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/packager/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron/packager/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@electron/rebuild": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.6.0.tgz", @@ -1911,346 +597,6 @@ "node": ">=12.13.0" } }, - "node_modules/@electron/rebuild/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/@electron/rebuild/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/rebuild/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@electron/rebuild/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron/rebuild/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@electron/rebuild/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/rebuild/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/@electron/rebuild/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron/rebuild/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/rebuild/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/rebuild/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron/rebuild/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron/rebuild/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/rebuild/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/rebuild/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@electron/remote": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.2.tgz", @@ -2277,28 +623,6 @@ "node": ">=16.4" } }, - "node_modules/@electron/universal/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/@electron/universal/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -2308,37 +632,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@electron/universal/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@electron/universal/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@electron/universal/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -2380,66 +673,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@electron/universal/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/universal/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/universal/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/universal/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/universal/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@electron/universal/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@electron/windows-sign": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.1.1.tgz", @@ -2459,23 +692,6 @@ "node": ">=16.0.0" } }, - "node_modules/@electron/windows-sign/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@electron/windows-sign/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -2502,21 +718,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@electron/windows-sign/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@electron/windows-sign/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -2524,7 +725,9 @@ "dev": true }, "node_modules/@malept/cross-spawn-promise": { - "version": "1.1.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", "dev": true, "funding": [ { @@ -2536,66 +739,11 @@ "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" } ], - "license": "Apache-2.0", "dependencies": { "cross-spawn": "^7.0.1" }, "engines": { - "node": ">= 10" - } - }, - "node_modules/@malept/cross-spawn-promise/node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@malept/cross-spawn-promise/node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@malept/cross-spawn-promise/node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@malept/cross-spawn-promise/node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@malept/cross-spawn-promise/node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "node": ">= 12.13.0" } }, "node_modules/@nodelib/fs.scandir": { @@ -2646,21 +794,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/move-file": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", @@ -2687,21 +820,6 @@ "node": ">=10" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@serialport/binding-mock": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", @@ -2714,27 +832,6 @@ "node": ">=12.0.0" } }, - "node_modules/@serialport/binding-mock/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@serialport/binding-mock/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/@serialport/bindings-cpp": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-12.0.1.tgz", @@ -2779,27 +876,6 @@ "url": "https://opencollective.com/serialport/donate" } }, - "node_modules/@serialport/bindings-cpp/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@serialport/bindings-cpp/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/@serialport/bindings-interface": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", @@ -2933,27 +1009,6 @@ "url": "https://opencollective.com/serialport/donate" } }, - "node_modules/@serialport/stream/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@serialport/stream/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -3038,8 +1093,9 @@ "optional": true }, "node_modules/@types/node": { - "version": "20.10.5", - "license": "MIT", + "version": "18.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.15.tgz", + "integrity": "sha512-AMZ2UWx+woHNfM11PyAEQmfSxi05jm9OlkxczuHeEqmvwPkYj6MWv44gbzDPefYOLysTOFyI3ziiy2ONmUZfpA==", "dependencies": { "undici-types": "~5.26.4" } @@ -3059,7 +1115,8 @@ }, "node_modules/@types/yauzl": { "version": "2.10.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "optional": true, "dependencies": { "@types/node": "*" @@ -3067,19 +1124,22 @@ }, "node_modules/@xmldom/xmldom": { "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/abbrev": { "version": "1.1.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { "version": "1.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -3090,7 +1150,8 @@ }, "node_modules/acorn": { "version": "5.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", "bin": { "acorn": "bin/acorn" }, @@ -3100,7 +1161,8 @@ }, "node_modules/after": { "version": "0.8.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==" }, "node_modules/agent-base": { "version": "6.0.2", @@ -3114,29 +1176,6 @@ "node": ">= 6.0.0" } }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/agentkeepalive": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", @@ -3162,6 +1201,21 @@ "node": ">=8" } }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", @@ -3178,29 +1232,10 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, "node_modules/align-text": { "version": "0.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", "optional": true, "dependencies": { "kind-of": "^3.0.2", @@ -3211,20 +1246,10 @@ "node": ">=0.10.0" } }, - "node_modules/align-text/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/amdefine": { "version": "1.0.1", - "license": "BSD-3-Clause OR MIT", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "engines": { "node": ">=0.4.2" } @@ -3257,27 +1282,51 @@ } }, "node_modules/ansi-regex": { - "version": "2.1.1", - "license": "MIT", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/aproba": { - "version": "1.2.0", - "license": "ISC" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true }, "node_modules/are-we-there-yet": { - "version": "1.1.7", - "license": "ISC", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/arraybuffer.slice": { "version": "0.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "node_modules/asar": { "version": "3.2.0", @@ -3314,14 +1363,16 @@ }, "node_modules/asn1": { "version": "0.2.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { - "version": "1.0.0", - "license": "MIT", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", "engines": { "node": ">=0.8" } @@ -3336,16 +1387,22 @@ } }, "node_modules/async": { - "version": "1.5.2", - "license": "MIT" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dependencies": { + "lodash": "^4.14.0" + } }, "node_modules/async-limiter": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, "node_modules/asynckit": { "version": "0.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/at-least-node": { "version": "1.0.0", @@ -3373,13 +1430,23 @@ "node": ">=0.8" } }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", + "engines": { + "node": "*" + } + }, "node_modules/aws4": { "version": "1.12.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/babylon": { "version": "7.0.0-beta.19", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", "bin": { "babylon": "bin/babylon.js" }, @@ -3389,20 +1456,26 @@ }, "node_modules/backo2": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" }, "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-arraybuffer": { "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha512-437oANT9tP582zZMwSvZGy2nmSeAb8DW2me3y+Uv1Wp2Rulr8Mqlyrv3E7MLxmsiaPSMMDmiDVzgE+e8zlMx9g==", "engines": { "node": ">= 0.6.0" } }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -3417,25 +1490,28 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/base64id": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha512-rz8L+d/xByiB/vLVftPkyY215fqNrmasrcJsYkVcm4TgJNz+YXKrFaFAWibSaHkiKoSgMDCb+lipOIRQNGYesw==", "engines": { "node": ">= 0.4.0" } }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/better-assert": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha512-bYeph2DFlpK1XmGs6fvlLRUN29QISM3GBuUwSFsMY2XRx4AvC0WNCS57j4c/xGrK2RS24C1w3YoBOsw9fT46tQ==", "dependencies": { "callsite": "1.0.0" }, @@ -3445,20 +1521,37 @@ }, "node_modules/binary": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", "dependencies": { "buffers": "~0.1.1", "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, "node_modules/blob": { "version": "0.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" }, "node_modules/bluebird": { - "version": "3.4.1", - "dev": true, - "license": "MIT" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "node_modules/boolean": { "version": "3.2.0", @@ -3468,7 +1561,9 @@ }, "node_modules/boom": { "version": "2.10.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dependencies": { "hoek": "2.x.x" }, @@ -3478,14 +1573,29 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -3501,7 +1611,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -3509,25 +1618,30 @@ }, "node_modules/buffer-crc32": { "version": "0.2.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "engines": { "node": "*" } }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/buffers": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", "engines": { "node": ">=0.2.0" } }, "node_modules/builtin-modules": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", "engines": { "node": ">=4" } @@ -3589,15 +1703,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/cacache/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -3622,78 +1727,6 @@ "node": ">=10" } }, - "node_modules/cacache/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/cacache/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -3719,35 +1752,18 @@ "node": ">=8" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { - "version": "1.0.5", - "license": "MIT", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3755,17 +1771,30 @@ }, "node_modules/callsite": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", "engines": { "node": "*" } }, + "node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/caseless": { "version": "0.12.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "node_modules/catharsis": { "version": "0.8.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz", + "integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==", "dependencies": { "lodash": "^4.17.14" }, @@ -3775,7 +1804,8 @@ }, "node_modules/center-align": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", "optional": true, "dependencies": { "align-text": "^0.1.3", @@ -3787,15 +1817,36 @@ }, "node_modules/chainsaw": { "version": "0.1.0", - "license": "MIT/X11", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", "dependencies": { "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/chownr": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -3865,6 +1916,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -3878,8 +1952,9 @@ }, "node_modules/closure-util": { "version": "1.26.0", + "resolved": "https://registry.npmjs.org/closure-util/-/closure-util-1.26.0.tgz", + "integrity": "sha512-zpWABEochWrY48soiEttuqJk/OSYscS9PcvKgHvKUefM29+R8rqx5Bp8KIZHR0Nsq1JrNgxg2VTmJ/IsqN5VOA==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "acorn": "5.2.1", "async": "2.6.0", @@ -3903,25 +1978,57 @@ "closure-util": "bin/closure-util.js" } }, - "node_modules/closure-util/node_modules/async": { - "version": "2.6.0", - "license": "MIT", + "node_modules/closure-util/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/closure-util/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/closure-util/node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dependencies": { - "lodash": "^4.14.0" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "node_modules/closure-util/node_modules/fs-extra": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha512-wYid1zXctNLgas1pZ8q8ChdsnGg4DHZVqMzJ7pOE85q5BppAEXgQGSoOjVgrcw5yI7pzz49p9AfMhM7z5PRuaw==", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, + "node_modules/closure-util/node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, "node_modules/closure-util/node_modules/glob": { "version": "7.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3936,18 +2043,37 @@ }, "node_modules/closure-util/node_modules/graceful-fs": { "version": "4.1.11", - "license": "ISC", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg==", "engines": { "node": ">=0.4.0" } }, + "node_modules/closure-util/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/closure-util/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/closure-util/node_modules/lodash": { "version": "4.17.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha512-6X37Sq9KCpLSXEh8uM12AKYlviHPNNk4RxiGBn4cmKGJinbXBneWIV7iE/nXkM928O7ytHcHb6+X6Svl0f4hXg==" }, "node_modules/closure-util/node_modules/minimatch": { "version": "3.0.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3957,11 +2083,14 @@ }, "node_modules/closure-util/node_modules/minimist": { "version": "0.0.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" }, "node_modules/closure-util/node_modules/mkdirp": { "version": "0.5.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "dependencies": { "minimist": "0.0.8" }, @@ -3969,9 +2098,35 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/closure-util/node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/closure-util/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "node_modules/closure-util/node_modules/rimraf": { "version": "2.6.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dependencies": { "glob": "^7.0.5" }, @@ -3979,12 +2134,50 @@ "rimraf": "bin.js" } }, + "node_modules/closure-util/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/closure-util/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/closure-util/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/closure-util/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/closure-util/node_modules/temp": { "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==", "engines": [ "node >=0.8.0" ], - "license": "MIT", "dependencies": { "os-tmpdir": "^1.0.0", "rimraf": "~2.2.6" @@ -3992,14 +2185,24 @@ }, "node_modules/closure-util/node_modules/temp/node_modules/rimraf": { "version": "2.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", "bin": { "rimraf": "bin.js" } }, + "node_modules/closure-util/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/co": { "version": "4.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -4007,20 +2210,35 @@ }, "node_modules/code-point-at": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "engines": { "node": ">=0.10.0" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/color-support": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, - "license": "ISC", "bin": { "color-support": "bin.js" } @@ -4033,7 +2251,8 @@ }, "node_modules/combined-stream": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4041,6 +2260,15 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/compare-version": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", @@ -4051,14 +2279,24 @@ } }, "node_modules/component-bind": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==" + }, + "node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==" }, "node_modules/component-inherit": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==" }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/conf": { "version": "10.2.0", @@ -4083,54 +2321,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/conf/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/conf/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/conf/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/cookie": { "version": "0.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", "engines": { "node": ">= 0.6" } }, "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cross-dirname": { "version": "0.1.0", @@ -4139,23 +2346,23 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4.8" + "node": ">= 8" } }, "node_modules/cross-spawn-windows-exe": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", "dev": true, "funding": [ { @@ -4167,7 +2374,6 @@ "url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund" } ], - "license": "Apache-2.0", "dependencies": { "@malept/cross-spawn-promise": "^1.1.0", "is-wsl": "^2.2.0", @@ -4177,27 +2383,26 @@ "node": ">= 10" } }, - "node_modules/cross-spawn-windows-exe/node_modules/which": { - "version": "2.0.2", + "node_modules/cross-spawn-windows-exe/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "cross-spawn": "^7.0.1" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">= 10" } }, "node_modules/cross-zip": { @@ -4225,7 +2430,9 @@ }, "node_modules/cryptiles": { "version": "2.0.5", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dependencies": { "boom": "2.x.x" }, @@ -4235,7 +2442,8 @@ }, "node_modules/dashdash": { "version": "1.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { "assert-plus": "^1.0.0" }, @@ -4243,6 +2451,14 @@ "node": ">=0.10" } }, + "node_modules/dashdash/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/debounce-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", @@ -4258,15 +2474,25 @@ } }, "node_modules/debug": { - "version": "2.6.9", - "license": "MIT", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decamelize": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "optional": true, "engines": { "node": ">=0.10.0" @@ -4299,7 +2525,8 @@ }, "node_modules/decompress-zip": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.0.tgz", + "integrity": "sha512-xzje4HUZr/jdpqnggH6QPOXJEkq6Vx7J0ULgJa5WCtoF5s7rDf1BjAebTLDkLAKFwYiU4bCJptTuQxeNb3SAzg==", "dependencies": { "binary": "^0.3.0", "graceful-fs": "^4.1.3", @@ -4318,11 +2545,24 @@ }, "node_modules/decompress-zip/node_modules/isarray": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/decompress-zip/node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } }, "node_modules/decompress-zip/node_modules/readable-stream": { "version": "1.1.14", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -4332,7 +2572,8 @@ }, "node_modules/decompress-zip/node_modules/string_decoder": { "version": "0.10.31", - "license": "MIT" + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" }, "node_modules/defaults": { "version": "1.0.4", @@ -4346,15 +2587,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -4364,12 +2596,14 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "license": "MIT", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", + "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", "dependencies": { - "get-intrinsic": "^1.2.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.2", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -4377,7 +2611,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "optional": true, "dependencies": { "define-data-property": "^1.0.1", @@ -4393,25 +2628,29 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } }, "node_modules/delegates": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/depd": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "engines": { "node": ">= 0.6" } }, "node_modules/destroy": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" }, "node_modules/detect-libc": { "version": "2.0.2", @@ -4454,7 +2693,8 @@ }, "node_modules/ecc-jsbn": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -4462,7 +2702,8 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron": { "version": "28.1.4", @@ -4508,22 +2749,27 @@ "@types/fs-extra": "^9.0.1" } }, - "node_modules/electron-installer-common/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/electron-installer-common/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], "optional": true, "dependencies": { - "ms": "2.1.2" + "cross-spawn": "^7.0.1" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 10" } }, "node_modules/electron-installer-common/node_modules/fs-extra": { @@ -4555,39 +2801,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/electron-installer-common/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - }, - "node_modules/electron-installer-common/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-installer-common/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/electron-installer-debian": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz", @@ -4615,30 +2828,27 @@ "node": ">= 10.0.0" } }, - "node_modules/electron-installer-debian/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-installer-debian/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/electron-installer-debian/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], "optional": true, "dependencies": { - "color-convert": "^2.0.1" + "cross-spawn": "^7.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, "node_modules/electron-installer-debian/node_modules/cliui": { @@ -4653,37 +2863,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/electron-installer-debian/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/electron-installer-debian/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/electron-installer-debian/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -4700,16 +2879,6 @@ "node": ">=10" } }, - "node_modules/electron-installer-debian/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "optional": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/electron-installer-debian/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -4723,64 +2892,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/electron-installer-debian/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - }, - "node_modules/electron-installer-debian/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-installer-debian/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-installer-debian/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/electron-installer-debian/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/electron-installer-debian/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -4836,30 +2947,27 @@ "node": ">= 10.0.0" } }, - "node_modules/electron-installer-redhat/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-installer-redhat/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/electron-installer-redhat/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], "optional": true, "dependencies": { - "color-convert": "^2.0.1" + "cross-spawn": "^7.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, "node_modules/electron-installer-redhat/node_modules/cliui": { @@ -4874,37 +2982,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/electron-installer-redhat/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/electron-installer-redhat/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/electron-installer-redhat/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -4921,16 +2998,6 @@ "node": ">=10" } }, - "node_modules/electron-installer-redhat/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "optional": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/electron-installer-redhat/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -4944,64 +3011,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/electron-installer-redhat/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - }, - "node_modules/electron-installer-redhat/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-installer-redhat/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-installer-redhat/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/electron-installer-redhat/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/electron-installer-redhat/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -5039,6 +3048,19 @@ "debug": "^2.2.0" } }, + "node_modules/electron-squirrel-startup/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/electron-store": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.1.0.tgz", @@ -5081,24 +3103,6 @@ "node": ">=8.0.0" } }, - "node_modules/electron-winstaller/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/electron-winstaller/node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -5114,34 +3118,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/electron-winstaller/node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "optional": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/electron-winstaller/node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "optional": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/electron-winstaller/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "optional": true - }, "node_modules/electron-winstaller/node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -5169,6 +3145,16 @@ "node": ">=6.0.0" } }, + "node_modules/electron-winstaller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/electron/node_modules/@electron/get": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", @@ -5189,30 +3175,6 @@ "global-agent": "^3.0.0" } }, - "node_modules/electron/node_modules/@types/node": { - "version": "18.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.15.tgz", - "integrity": "sha512-AMZ2UWx+woHNfM11PyAEQmfSxi05jm9OlkxczuHeEqmvwPkYj6MWv44gbzDPefYOLysTOFyI3ziiy2ONmUZfpA==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/electron/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/electron/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -5226,50 +3188,31 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/electron/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "node_modules/electron/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/electron/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/electron/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/electron/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { "node": ">= 0.8" } @@ -5286,14 +3229,16 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { "once": "^1.4.0" } }, "node_modules/engine.io": { "version": "3.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", + "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", "dependencies": { "accepts": "~1.3.4", "base64id": "1.0.0", @@ -5308,7 +3253,8 @@ }, "node_modules/engine.io-client": { "version": "3.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", + "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", "dependencies": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", @@ -5323,20 +3269,23 @@ "yeast": "0.1.2" } }, - "node_modules/engine.io-client/node_modules/component-emitter": { - "version": "1.2.1", - "license": "MIT" - }, "node_modules/engine.io-client/node_modules/debug": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dependencies": { "ms": "2.0.0" } }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/engine.io-parser": { "version": "2.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dependencies": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", @@ -5347,11 +3296,17 @@ }, "node_modules/engine.io/node_modules/debug": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dependencies": { "ms": "2.0.0" } }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -5368,12 +3323,21 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -5381,31 +3345,40 @@ "optional": true }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "optional": true, "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/estree-walker": { "version": "0.5.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==" }, "node_modules/etag": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -5428,10 +3401,90 @@ "node": ">=6" } }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/expand-tilde": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, - "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1" }, @@ -5447,11 +3500,13 @@ }, "node_modules/extend": { "version": "3.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/extract-zip": { "version": "2.0.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -5467,48 +3522,18 @@ "@types/yauzl": "^2.9.1" } }, - "node_modules/extract-zip/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, "node_modules/extsprintf": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" - ], - "license": "MIT" + ] }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -5526,76 +3551,6 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-glob/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/fast-glob/node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/fast-glob/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -5607,19 +3562,66 @@ }, "node_modules/fd-slicer": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dependencies": { "pend": "~1.2.0" } }, "node_modules/filename-reserved-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/flora-colossus": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-2.0.0.tgz", @@ -5633,24 +3635,46 @@ "node": ">= 12" } }, - "node_modules/flora-colossus/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, + "node_modules/foreachasync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", + "integrity": "sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw==" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "*" } }, - "node_modules/flora-colossus/node_modules/fs-extra": { + "node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, + "node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", @@ -5664,7 +3688,7 @@ "node": ">=12" } }, - "node_modules/flora-colossus/node_modules/jsonfile": { + "node_modules/fs-extra/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -5676,47 +3700,11 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/flora-colossus/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/flora-colossus/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/foreachasync": { - "version": "3.0.0", - "license": "Apache2" - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs": { - "version": "0.0.1-security", - "license": "ISC" - }, "node_modules/fs-minipass": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -5726,11 +3714,13 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/function-bind": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5749,64 +3739,6 @@ "node": ">= 12" } }, - "node_modules/galactus/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/galactus/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/galactus/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/galactus/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/galactus/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/gar": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", @@ -5815,44 +3747,28 @@ "optional": true }, "node_modules/gauge": { - "version": "2.7.4", - "license": "ISC", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/gaze": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha512-38Jtqi8EsWt2l0x6iiL1NWN3/llOwWEv0NC3HGb/gPHLJkLq0N2c/TtuLrSfRXHwV6VkYmxAJj9YBdF33Et5hg==", "dependencies": { "globule": "^1.0.0" }, @@ -5860,9 +3776,19 @@ "node": ">= 0.10.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-down": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-down/-/get-down-1.2.0.tgz", + "integrity": "sha512-SbpdXn+fNmGN6pp/vBALveh3oCbWYTR3wb5qifauPSFhAfAVQ7TMOnAkVzQm4YZD2KABzJB3sA2kmMLaOylA2A==", "dependencies": { "decompress-zip": "0.3.0", "graceful-fs": "4.1.11", @@ -5876,81 +3802,26 @@ "tmp": "0.0.31" } }, - "node_modules/get-down/node_modules/ajv": { - "version": "4.11.8", - "license": "MIT", - "dependencies": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "node_modules/get-down/node_modules/assert-plus": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/get-down/node_modules/aws-sign2": { - "version": "0.6.0", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/get-down/node_modules/form-data": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/get-down/node_modules/graceful-fs": { "version": "4.1.11", - "license": "ISC", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg==", "engines": { "node": ">=0.4.0" } }, - "node_modules/get-down/node_modules/har-schema": { - "version": "1.0.5", - "license": "ISC", + "node_modules/get-down/node_modules/junk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", + "integrity": "sha512-2jV5ZMGNsLCNrF3yfG58tcbKafDcQT0MvQ0guQBYfQJsIciNBy0PkNSFs0fmEd/jqA2L+KyfMy7q3aH5o8zYUw==", "engines": { "node": ">=4" } }, - "node_modules/get-down/node_modules/har-validator": { - "version": "4.2.1", - "license": "ISC", - "dependencies": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-down/node_modules/http-signature": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/get-down/node_modules/minipass": { "version": "2.9.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5958,67 +3829,17 @@ }, "node_modules/get-down/node_modules/minizlib": { "version": "1.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dependencies": { "minipass": "^2.9.0" } }, - "node_modules/get-down/node_modules/oauth-sign": { - "version": "0.8.2", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/get-down/node_modules/performance-now": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/get-down/node_modules/punycode": { - "version": "1.4.1", - "license": "MIT" - }, - "node_modules/get-down/node_modules/qs": { - "version": "6.4.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/get-down/node_modules/request": { - "version": "2.81.0", - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/get-down/node_modules/tar": { "version": "3.1.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/tar/-/tar-3.1.5.tgz", + "integrity": "sha512-TKJKz1fqBOZBaIQ/MGRKU0EnTGmKMLy4ReTRgP10AgtfOWBbj9PBg4MgY80GFpqGbs2EzcIctW5gbwbP4woDYg==", + "deprecated": "This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.", "dependencies": { "minipass": "^2.0.2", "minizlib": "^1.0.3", @@ -6029,19 +3850,10 @@ "node": ">=4" } }, - "node_modules/get-down/node_modules/tough-cookie": { - "version": "2.3.4", - "license": "BSD-3-Clause", - "dependencies": { - "punycode": "^1.4.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/get-down/node_modules/yallist": { "version": "3.1.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/get-folder-size": { "version": "2.0.1", @@ -6067,14 +3879,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "license": "MIT", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6094,158 +3911,55 @@ "node": ">= 4.0" } }, - "node_modules/get-package-info/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/get-package-info/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" + "ms": "2.0.0" } }, - "node_modules/get-package-info/node_modules/load-json-file": { + "node_modules/get-package-info/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-package-info/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-package-info/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dependencies": { "pump": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/getpass": { "version": "0.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { "assert-plus": "^1.0.0" } }, + "node_modules/getpass/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/glob": { "version": "7.2.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6261,6 +3975,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/global-agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", @@ -6278,25 +4004,11 @@ "node": ">=10.0" } }, - "node_modules/global-agent/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/global-modules": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, - "license": "MIT", "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", @@ -6308,8 +4020,9 @@ }, "node_modules/global-prefix": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, - "license": "MIT", "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", @@ -6321,6 +4034,18 @@ "node": ">=0.10.0" } }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -6338,7 +4063,8 @@ }, "node_modules/globule": { "version": "1.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", "dependencies": { "glob": "~7.1.1", "lodash": "^4.17.21", @@ -6350,7 +4076,8 @@ }, "node_modules/globule/node_modules/glob": { "version": "7.1.7", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6368,7 +4095,8 @@ }, "node_modules/globule/node_modules/minimatch": { "version": "3.0.8", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6378,7 +4106,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6386,13 +4115,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/handlebars": { "version": "4.0.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha512-yrsPfXULrvTP3Aw+zLpett0LUyv2PS/k1jj2UCpYkFElPhMEhspxrCAl4hKGt+vyDjvpxleyYUPF4AMSjCdnhQ==", "dependencies": { "async": "^1.4.0", "optimist": "^0.6.1", @@ -6408,37 +4163,61 @@ "uglify-js": "^2.6" } }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.4.4", - "license": "BSD-3-Clause", + "node_modules/handlebars/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", + "deprecated": "this library is no longer supported", "dependencies": { - "amdefine": ">=0.0.4" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" }, "engines": { - "node": ">=0.8.0" + "node": ">=4" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "node_modules/has-binary2": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "dependencies": { "isarray": "2.0.1" } }, - "node_modules/has-binary2/node_modules/isarray": { - "version": "2.0.1", - "license": "MIT" - }, "node_modules/has-color": { "version": "0.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw==", "engines": { "node": ">=0.10.0" } }, "node_modules/has-cors": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==" }, "node_modules/has-flag": { "version": "4.0.0", @@ -6451,7 +4230,8 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { "get-intrinsic": "^1.2.2" }, @@ -6461,7 +4241,8 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { "node": ">= 0.4" }, @@ -6471,7 +4252,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -6481,11 +4263,13 @@ }, "node_modules/has-unicode": { "version": "2.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/hasown": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", "dependencies": { "function-bind": "^1.1.2" }, @@ -6495,7 +4279,9 @@ }, "node_modules/hawk": { "version": "3.1.3", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", "dependencies": { "boom": "2.x.x", "cryptiles": "2.x.x", @@ -6508,15 +4294,18 @@ }, "node_modules/hoek": { "version": "2.16.3", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "engines": { "node": ">=0.10.40" } }, "node_modules/homedir-polyfill": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, - "license": "MIT", "dependencies": { "parse-passwd": "^1.0.0" }, @@ -6526,8 +4315,9 @@ }, "node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/http-cache-semantics": { "version": "4.1.1", @@ -6536,7 +4326,8 @@ }, "node_modules/http-errors": { "version": "1.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -6549,11 +4340,13 @@ }, "node_modules/http-errors/node_modules/inherits": { "version": "2.0.3", - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "node_modules/http-errors/node_modules/statuses": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "engines": { "node": ">= 0.6" } @@ -6572,29 +4365,20 @@ "node": ">= 6" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", "dependencies": { - "ms": "2.1.2" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -6620,29 +4404,6 @@ "node": ">= 6" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -6667,6 +4428,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -6680,8 +4443,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/imurmurhash": { "version": "0.1.4", @@ -6702,7 +4464,9 @@ } }, "node_modules/indexof": { - "version": "0.0.1" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" }, "node_modules/infer-owner": { "version": "1.0.4", @@ -6712,14 +4476,16 @@ }, "node_modules/inflection": { "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha512-lRy4DxuIFWXlJU7ed8UiTJOSTqStqYdEb4CEbtXfNbkdj3nH1L+reUWiE10VWcJS2yR7tge8Z74pJjtBjNwj0w==", "engines": [ "node >= 0.4.0" - ], - "license": "MIT" + ] }, "node_modules/inflight": { "version": "1.0.6", - "license": "ISC", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6727,12 +4493,23 @@ }, "node_modules/inherits": { "version": "2.0.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=10.13.0" + } }, "node_modules/ip": { "version": "2.0.0", @@ -6742,17 +4519,20 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, "node_modules/is-buffer": { "version": "1.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "optional": true }, "node_modules/is-core-module": { "version": "2.13.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { "hasown": "^2.0.0" }, @@ -6762,8 +4542,9 @@ }, "node_modules/is-docker": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -6776,23 +4557,26 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6817,7 +4601,17 @@ }, "node_modules/is-module": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, "node_modules/is-obj": { "version": "2.0.0", @@ -6829,15 +4623,17 @@ }, "node_modules/is-stream": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-typedarray": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "node_modules/is-unicode-supported": { "version": "0.1.0", @@ -6853,16 +4649,18 @@ }, "node_modules/is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -6871,8 +4669,9 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==" }, "node_modules/isbinaryfile": { "version": "4.0.10", @@ -6888,17 +4687,24 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isstream": { "version": "0.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/jquery": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.1.4.tgz", - "integrity": "sha512-wWR+eCq/T/Qt0NcFyM+QVho0ZVzWxFYANijmSMImXiM5mjr1aOaf4SF0eOEPc92bbK2L2vDpxw3lIszus7eO8Q==" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "node_modules/jquery-textcomplete": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/jquery-textcomplete/-/jquery-textcomplete-1.8.5.tgz", + "integrity": "sha512-WctSUxFk7GF5Tx2gHeVKrpkQ9tsV7mibBJ0AYNwEx+Zx3ZoUQgU5grkBXY3SCqpq/owMAMEvksN96DBSWT4PSg==" }, "node_modules/jquery-ui-dist": { "version": "1.12.1", @@ -6907,18 +4713,21 @@ }, "node_modules/js2xmlparser": { "version": "3.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha512-CSOkdn0/GhRFwxnipmhXfqJ+FG6+wkWBi46kKSsPx6+j65176ZiQcrCYpg6K8x3iLbO4k3zScBnZ7I/L80dAtw==", "dependencies": { "xmlcreate": "^1.0.1" } }, "node_modules/jsbn": { "version": "0.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "node_modules/jsdoc": { "version": "3.5.5", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", "dependencies": { "babylon": "7.0.0-beta.19", "bluebird": "~3.5.0", @@ -6942,7 +4751,16 @@ }, "node_modules/jsdoc/node_modules/bluebird": { "version": "3.5.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } }, "node_modules/jsdoc/node_modules/marked": { "version": "0.3.19", @@ -6962,7 +4780,13 @@ }, "node_modules/json-schema": { "version": "0.4.0", - "license": "(AFL-2.1 OR BSD-3-Clause)" + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-schema-typed": { "version": "7.0.3", @@ -6970,8 +4794,9 @@ "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" }, "node_modules/json-stable-stringify": { - "version": "1.1.0", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", "dependencies": { "call-bind": "^1.0.5", "isarray": "^2.0.5", @@ -6987,29 +4812,34 @@ }, "node_modules/json-stable-stringify/node_modules/isarray": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/jsonfile": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonify": { "version": "0.0.1", - "license": "Public Domain", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jsprim": { "version": "1.4.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -7020,11 +4850,21 @@ "node": ">=0.6.0" } }, - "node_modules/junk": { - "version": "2.1.0", - "license": "MIT", + "node_modules/jsprim/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { - "node": ">=4" + "node": ">=0.8" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/keyv": { @@ -7035,16 +4875,30 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/klaw": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha512-Hx5PvgJKTWpMkNJCYrBUNBLlxYIkxN4FVU/BnZP4CFh5BpiHOgujAPx7iFVz/phD0bP8rsqD48gtqcvNlUt0lQ==", "dependencies": { "graceful-fs": "^4.1.9" } }, "node_modules/lazy-cache": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", "optional": true, "engines": { "node": ">=0.10.0" @@ -7077,84 +4931,19 @@ } } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/listr2/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=4" } }, "node_modules/locate-path": { @@ -7174,12 +4963,14 @@ }, "node_modules/lodash": { "version": "4.17.21", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash._reinterpolate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/lodash.get": { @@ -7188,6 +4979,27 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -7204,61 +5016,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", @@ -7277,42 +5034,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -7330,18 +5051,6 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -7358,25 +5067,34 @@ }, "node_modules/longest": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/magic-string": { "version": "0.22.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dependencies": { "vlq": "^0.2.2" } @@ -7408,15 +5126,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -7452,18 +5161,6 @@ "node": ">=10" } }, - "node_modules/matcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", @@ -7496,23 +5193,39 @@ "node": ">= 8" } }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "bin": { "mime": "cli.js" } }, "node_modules/mime-db": { "version": "1.52.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" }, @@ -7538,7 +5251,8 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -7548,15 +5262,17 @@ }, "node_modules/minimist": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -7631,8 +5347,9 @@ }, "node_modules/minizlib": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -7643,7 +5360,8 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { "minimist": "^1.2.6" }, @@ -7653,19 +5371,23 @@ }, "node_modules/mkpath": { "version": "0.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", + "integrity": "sha512-bauHShmaxVQiEvlrAPWxSPn8spSL8gDVRl11r8vLT4r/KdnknLqtqwQbToZ2Oa8sJkExYY1z6/d+X7pNiqo4yg==" }, "node_modules/mout": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/mout/-/mout-1.0.0.tgz", + "integrity": "sha512-LyMgS0sDVdY+gLXAr51LOGFOulAMq8n08V6cBP1qmKYs1KjBa/xZFuOoSPECs/fteUUO65coMANZL07iJujfWA==" }, "node_modules/ms": { - "version": "2.0.0", - "license": "MIT" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/negotiator": { "version": "0.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } @@ -7688,21 +5410,6 @@ "node": ">=10" } }, - "node_modules/node-abi/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-addon-api": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", @@ -7717,21 +5424,6 @@ "semver": "^7.3.5" } }, - "node_modules/node-api-version/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -7787,48 +5479,54 @@ "node-gyp-build-test": "build-test.js" } }, - "node_modules/node-gyp/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ==", + "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", + "dependencies": { + "chalk": "~0.4.0", + "underscore": "~1.6.0" } }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, + "node_modules/nomnom/node_modules/ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nomnom/node_modules/chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ==", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.8.0" } }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "node_modules/nomnom/node_modules/strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg==", + "bin": { + "strip-ansi": "cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.8.0" } }, - "node_modules/node-gyp/node_modules/nopt": { + "node_modules/nomnom/node_modules/underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ==" + }, + "node_modules/nopt": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", @@ -7843,145 +5541,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/node-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/nomnom": { - "version": "1.8.1", - "dependencies": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" - } - }, - "node_modules/nomnom/node_modules/ansi-styles": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nomnom/node_modules/chalk": { - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nomnom/node_modules/strip-ansi": { - "version": "0.1.1", - "license": "MIT", - "bin": { - "strip-ansi": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nomnom/node_modules/underscore": { - "version": "1.6.0" - }, - "node_modules/nopt": { - "version": "3.0.6", - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -7991,8 +5555,9 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -8020,43 +5585,71 @@ "node": ">=4" } }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/npmlog": { - "version": "4.1.2", - "license": "ISC", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/number-is-nan": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "engines": { "node": ">=0.10.0" } }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "engines": { + "node": "*" + } + }, "node_modules/object-assign": { "version": "4.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } }, "node_modules/object-component": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha512-S0sN3agnVh2SZNEIGc0N1X4Z5K0JeFbGBrnuZpsxuUh5XLF0BnvWkMjRXo/zGKLd/eghvNIKcx1pQkmUjXIyrA==" }, "node_modules/object-keys": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" } }, "node_modules/on-finished": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dependencies": { "ee-first": "1.1.1" }, @@ -8066,7 +5659,8 @@ }, "node_modules/once": { "version": "1.4.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } @@ -8095,8 +5689,10 @@ }, "node_modules/openlayers": { "version": "4.6.5", + "resolved": "https://registry.npmjs.org/openlayers/-/openlayers-4.6.5.tgz", + "integrity": "sha512-RH1jqHJA8/d4ZuMYewBMfbFvmriplQ3GvDSLpqxad3S55PFyMWkbg3lKSt2zHRhijiFq4PpsCsJQLDqmSDGSOQ==", + "deprecated": "Please use the ol package instead", "hasInstallScript": true, - "license": "BSD-2-Clause", "dependencies": { "async": "2.6.0", "closure-util": "1.26.0", @@ -8114,16 +5710,10 @@ "walk": "2.3.9" } }, - "node_modules/openlayers/node_modules/async": { - "version": "2.6.0", - "license": "MIT", - "dependencies": { - "lodash": "^4.14.0" - } - }, "node_modules/openlayers/node_modules/fs-extra": { "version": "4.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -8132,25 +5722,36 @@ }, "node_modules/openlayers/node_modules/rimraf": { "version": "2.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", "bin": { "rimraf": "bin.js" } }, "node_modules/openlayers/node_modules/temp": { "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==", "engines": [ "node >=0.8.0" ], - "license": "MIT", "dependencies": { "os-tmpdir": "^1.0.0", "rimraf": "~2.2.6" } }, + "node_modules/openlayers/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/optimist": { "version": "0.6.1", - "license": "MIT/X11", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", "dependencies": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -8158,7 +5759,8 @@ }, "node_modules/optimist/node_modules/minimist": { "version": "0.0.10", - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==" }, "node_modules/ora": { "version": "5.4.1", @@ -8183,110 +5785,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/os-tmpdir": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "engines": { "node": ">=0.10.0" } @@ -8356,13 +5858,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" } }, "node_modules/parse-author": { @@ -8379,8 +5895,9 @@ }, "node_modules/parse-json": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.2.0" }, @@ -8390,22 +5907,25 @@ }, "node_modules/parse-passwd": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/parseqs": { "version": "0.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha512-B3Nrjw2aL7aI4TDujOzfA4NsEc4u1lVcIRE0xesutH8kjeWF70uk+W5cBlIQx04zUH9NTBvuN36Y9xLRPK6Jjw==", "dependencies": { "better-assert": "~1.0.0" } }, "node_modules/parseuri": { "version": "0.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha512-ijhdxJu6l5Ru12jF0JvzXVPvsC+VibqeaExlNoMhWN6VQ79PGjkmc7oA4W1lp00sFkNyj0fx6ivPLdV51/UMog==", "dependencies": { "better-assert": "~1.0.0" } @@ -8421,27 +5941,42 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, "node_modules/pbf": { "version": "3.1.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.1.0.tgz", + "integrity": "sha512-/hYJmIsTmh7fMkHAWWXJ5b8IKLWdjdlAFb3IHkRBn1XUhIYBChVGfVwmHEAV3UfXTxsP/AKfYTXTS/dCPxJd5w==", "dependencies": { "ieee754": "^1.1.6", "resolve-protobuf-schema": "^2.0.0" @@ -8452,7 +5987,13 @@ }, "node_modules/pend": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8466,9 +6007,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pixelworks": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pixelworks/-/pixelworks-1.1.0.tgz", + "integrity": "sha512-nDqeyp0pvOvCihLsyc9GHWKP4THUtcfQ+qs61uiVaZdlNv0j7y6PWNyPfnTtuxMJ+MTAqff2QbbM/1DyCcRdOQ==" }, "node_modules/pkg-dir": { "version": "4.2.0", @@ -8534,15 +6085,6 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -8602,14 +6144,6 @@ "node": ">=6" } }, - "node_modules/pkg-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, "node_modules/pkg-up/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -8620,8 +6154,9 @@ }, "node_modules/plist": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", "dev": true, - "license": "MIT", "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", @@ -8633,7 +6168,8 @@ }, "node_modules/plotly": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/plotly/-/plotly-1.0.6.tgz", + "integrity": "sha512-9DoPWfLJWxqXg6omu1Oj7qkvyOce0Nv+X+2SOoI9lG9mbvA7S/qGVHypwrGMV3r53ruW1Fl1A9a7ZIPt22FrpA==", "dependencies": { "mkdirp": "~0.5.0" } @@ -8664,11 +6200,13 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/progress": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "engines": { "node": ">=0.4.0" } @@ -8711,31 +6249,40 @@ }, "node_modules/protocol-buffers-schema": { "version": "3.6.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, "node_modules/pump": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "node_modules/q": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", + "integrity": "sha512-VVMcd+HnuWZalHPycK7CsbVJ+sSrrrnCvHcW38YJVK9Tywnb5DUWJjONi81bLUj7aqDjIXnePxBl5t1r/F/ncg==", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, + "node_modules/qs": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", + "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -8769,22 +6316,37 @@ }, "node_modules/quickselect": { "version": "1.1.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==" }, "node_modules/range-parser": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" } }, "node_modules/rbush": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.1.tgz", + "integrity": "sha512-Ofc9SeEwu6dT2JKqiWTktMvy6kU/7f/jN5wYZvCyQjW+PIH/ENpbOE19QsBPho8Sjei1TNGXr9yzNPd1FKpYLg==", "dependencies": { "quickselect": "^1.0.0" } }, + "node_modules/rcedit": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-4.0.1.tgz", + "integrity": "sha512-bZdaQi34krFWhrDn+O53ccBDw0MkAT2Vhu75SqhtvhQu4OPyFM4RoVheyYiVQYdjhUi6EJMVWQ0tR6bCIYVkUg==", + "dev": true, + "dependencies": { + "cross-spawn-windows-exe": "^1.1.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/read-binary-file-arch": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", @@ -8797,65 +6359,181 @@ "read-binary-file-arch": "cli.js" } }, - "node_modules/read-binary-file-arch/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=4" } }, - "node_modules/read-binary-file-arch/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } }, "node_modules/readable-stream": { - "version": "2.3.8", - "license": "MIT", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } }, "node_modules/repeat-string": { "version": "1.6.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "optional": true, "engines": { "node": ">=0.10" } }, + "node_modules/request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/request-progress": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dependencies": { "throttleit": "^1.0.0" } }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8870,14 +6548,16 @@ }, "node_modules/requizzle": { "version": "0.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/resolve": { "version": "1.22.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -8897,8 +6577,9 @@ }, "node_modules/resolve-dir": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, - "license": "MIT", "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" @@ -8922,7 +6603,8 @@ }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", "dependencies": { "protocol-buffers-schema": "^3.3.1" } @@ -8938,14 +6620,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/responselike/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -8961,7 +6635,8 @@ }, "node_modules/retry": { "version": "0.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", "engines": { "node": "*" } @@ -8984,7 +6659,8 @@ }, "node_modules/right-align": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", "optional": true, "dependencies": { "align-text": "^0.1.1" @@ -8993,6 +6669,21 @@ "node": ">=0.10.0" } }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/roarr": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", @@ -9012,14 +6703,16 @@ }, "node_modules/rollup": { "version": "0.52.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.52.3.tgz", + "integrity": "sha512-cw+vb9NqaTXlwJyb8G+Ve+uhhlVTcl1NKBkfANdeQqVcpZFilQgeNnAnNiu7MwfeXrqiKEGz+3R03a3zeFkmEQ==", "bin": { "rollup": "bin/rollup" } }, "node_modules/rollup-plugin-cleanup": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rollup-plugin-cleanup/-/rollup-plugin-cleanup-2.0.1.tgz", + "integrity": "sha512-Z2UpMe3l2Oo8jzoB2gAWcb3UqIyiGxlh8kKlcs/W53yTPtwdF8RGfhuTx+/kjRlkSc5TC03t3sX3Lj3B40k9Eg==", "dependencies": { "acorn": "4.x", "magic-string": "^0.22.4", @@ -9034,7 +6727,8 @@ }, "node_modules/rollup-plugin-cleanup/node_modules/acorn": { "version": "4.0.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==", "bin": { "acorn": "bin/acorn" }, @@ -9044,7 +6738,9 @@ }, "node_modules/rollup-plugin-commonjs": { "version": "8.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz", + "integrity": "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.", "dependencies": { "acorn": "^5.2.1", "estree-walker": "^0.5.0", @@ -9055,7 +6751,9 @@ }, "node_modules/rollup-plugin-node-resolve": { "version": "3.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", + "integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.", "dependencies": { "builtin-modules": "^2.0.0", "is-module": "^1.0.0", @@ -9064,14 +6762,16 @@ }, "node_modules/rollup-pluginutils": { "version": "2.8.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dependencies": { "estree-walker": "^0.6.1" } }, "node_modules/rollup-pluginutils/node_modules/estree-walker": { "version": "0.6.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -9107,6 +6807,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -9120,22 +6822,30 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safer-buffer": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { "version": "1.3.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" }, "node_modules/semver": { - "version": "6.3.0", - "license": "ISC", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver-compare": { @@ -9144,9 +6854,21 @@ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "optional": true }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "0.16.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "dependencies": { "debug": "2.6.9", "depd": "~1.1.1", @@ -9166,6 +6888,19 @@ "node": ">= 0.8.0" } }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -9220,39 +6955,22 @@ "url": "https://opencollective.com/serialport/donate" } }, - "node_modules/serialport/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/serialport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/set-blocking": { "version": "2.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-function-length": { - "version": "1.1.1", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -9260,32 +6978,34 @@ }, "node_modules/setprototypeof": { "version": "1.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/signal-exit": { "version": "3.0.7", - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/slice-ansi": { "version": "3.0.0", @@ -9301,33 +7021,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -9340,6 +7033,9 @@ }, "node_modules/sntp": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", "dependencies": { "hoek": "2.x.x" }, @@ -9349,7 +7045,8 @@ }, "node_modules/socket.io": { "version": "2.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", + "integrity": "sha512-8B/grLCFDGU1jtp6BxAjSFZAXTqnSxqelNJi8n/izlYjZaP0armkGF+BgS2ZJbm9bI5Yq7v9kNCuTbmIHVzuyA==", "dependencies": { "debug": "~2.6.6", "engine.io": "~3.1.0", @@ -9360,11 +7057,13 @@ }, "node_modules/socket.io-adapter": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "node_modules/socket.io-client": { "version": "2.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha512-dy30gOeQu8nitka60xDG1xutwmIiW+0pPBbBBZLgBCO2Sr4BODyxzcPDqiY2ZaV4kpAZguikwvRpo136mU5r0Q==", "dependencies": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", @@ -9381,13 +7080,23 @@ "to-array": "0.1.4" } }, - "node_modules/socket.io-client/node_modules/component-emitter": { - "version": "1.2.1", - "license": "MIT" + "node_modules/socket.io-client/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/socket.io-parser": { "version": "3.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", + "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dependencies": { "component-emitter": "1.2.1", "debug": "~3.1.0", @@ -9395,20 +7104,31 @@ "isarray": "2.0.1" } }, - "node_modules/socket.io-parser/node_modules/component-emitter": { - "version": "1.2.1", - "license": "MIT" - }, "node_modules/socket.io-parser/node_modules/debug": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dependencies": { "ms": "2.0.0" } }, - "node_modules/socket.io-parser/node_modules/isarray": { - "version": "2.0.1", - "license": "MIT" + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/socks": { "version": "2.7.1", @@ -9438,35 +7158,15 @@ "node": ">= 10" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dependencies": { + "amdefine": ">=0.0.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, "node_modules/source-map-support": { @@ -9479,33 +7179,46 @@ "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.16", - "dev": true, - "license": "CC0-1.0" + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.1.3", @@ -9515,7 +7228,8 @@ }, "node_modules/sshpk": { "version": "1.18.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -9536,6 +7250,14 @@ "node": ">=0.10.0" } }, + "node_modules/sshpk/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -9550,25 +7272,25 @@ }, "node_modules/statuses": { "version": "1.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", "engines": { "node": ">= 0.6" } }, "node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -9578,16 +7300,15 @@ "node": ">=8" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" }, - "node_modules/string-width/node_modules/strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -9595,18 +7316,13 @@ "node": ">=8" } }, - "node_modules/stringstream": { - "version": "0.0.6", - "license": "MIT" - }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/strip-eof": { @@ -9620,15 +7336,17 @@ }, "node_modules/strip-json-comments": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/strip-outer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.2" }, @@ -9636,6 +7354,15 @@ "node": ">=0.10.0" } }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/sudo-prompt": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", @@ -9653,30 +7380,22 @@ "node": ">= 8.0" } }, - "node_modules/sumchecker/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "ms": "2.1.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=8" } }, - "node_modules/sumchecker/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" }, @@ -9685,28 +7404,41 @@ } }, "node_modules/taffydb": { - "version": "2.6.2" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==" }, "node_modules/tar": { - "version": "6.1.11", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dev": true, - "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -9716,7 +7448,8 @@ }, "node_modules/temp": { "version": "0.8.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dependencies": { "rimraf": "~2.6.2" }, @@ -9726,7 +7459,8 @@ }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dependencies": { "glob": "^7.1.3" }, @@ -9736,15 +7470,17 @@ }, "node_modules/throttleit": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/tiny-each-async": { "version": "2.0.3", @@ -9755,7 +7491,8 @@ }, "node_modules/tmp": { "version": "0.0.31", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha512-lfyEfOppKvWNeId5CArFLwgwef+iCnbEIy0JWYf1httIEXnx4ndL4Dr1adw7hPgeQfSlTbc/gqn6iaKcROpw5Q==", "dependencies": { "os-tmpdir": "~1.0.1" }, @@ -9773,22 +7510,6 @@ "tmp": "^0.2.0" } }, - "node_modules/tmp-promise/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/tmp-promise/node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -9803,11 +7524,26 @@ } }, "node_modules/to-array": { - "version": "0.1.4" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, "node_modules/touch": { "version": "0.0.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz", + "integrity": "sha512-/LQ54KM9rPf3rGXGo2UPQWx3ol242Zg6Whq27H5DEmZhCJo+pm9N5BzRGepO9vTVhYxpXJdcc1+3uaYt9NyeKg==", "dependencies": { "nopt": "~1.0.10" }, @@ -9817,12 +7553,27 @@ }, "node_modules/touch/node_modules/nopt": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dependencies": { "abbrev": "1" }, "bin": { "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" } }, "node_modules/tr46": { @@ -9833,12 +7584,17 @@ }, "node_modules/traverse": { "version": "0.3.9", - "license": "MIT/X11" + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "engines": { + "node": "*" + } }, "node_modules/trim-repeated": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.2" }, @@ -9846,6 +7602,15 @@ "node": ">=0.10.0" } }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -9854,7 +7619,8 @@ }, "node_modules/tunnel-agent": { "version": "0.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -9864,7 +7630,8 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", - "license": "Unlicense" + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "node_modules/type-fest": { "version": "2.19.0", @@ -9879,7 +7646,8 @@ }, "node_modules/uglify-js": { "version": "2.8.29", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", "optional": true, "dependencies": { "source-map": "~0.5.1", @@ -9895,17 +7663,10 @@ "uglify-to-browserify": "~1.0.0" } }, - "node_modules/uglify-js/node_modules/camelcase": { - "version": "1.2.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/uglify-js/node_modules/cliui": { "version": "2.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", "optional": true, "dependencies": { "center-align": "^0.1.1", @@ -9915,22 +7676,17 @@ }, "node_modules/uglify-js/node_modules/source-map": { "version": "0.5.7", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/uglify-js/node_modules/window-size": { - "version": "0.1.0", - "optional": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/uglify-js/node_modules/wordwrap": { "version": "0.0.2", - "license": "MIT/X11", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", "optional": true, "engines": { "node": ">=0.4.0" @@ -9938,7 +7694,8 @@ }, "node_modules/uglify-js/node_modules/yargs": { "version": "3.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", "optional": true, "dependencies": { "camelcase": "^1.0.2", @@ -9949,20 +7706,24 @@ }, "node_modules/uglify-to-browserify": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", "optional": true }, "node_modules/ultron": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, "node_modules/underscore": { "version": "1.8.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha512-5WsVTFcH1ut/kkhAaHf4PVgI8c7++GiVcpCGxPouI6ZVjsqPnSDf8h/8HtVqc0t4fzRXwnMK70EcZeAs3PIddg==" }, "node_modules/undici-types": { "version": "5.26.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unique-filename": { "version": "2.0.1", @@ -9989,19 +7750,30 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/usb": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/usb/-/usb-2.11.0.tgz", @@ -10031,19 +7803,24 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { "version": "3.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { "uuid": "bin/uuid" } }, "node_modules/uws": { "version": "9.14.0", + "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", + "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", + "deprecated": "New code is available at github.com/uNetworking/uWebSockets.js", "hasInstallScript": true, - "license": "Zlib", "optional": true, "engines": { "node": ">=4" @@ -10051,8 +7828,9 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -10060,26 +7838,34 @@ }, "node_modules/verror": { "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "engines": [ "node >=0.6.0" ], - "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "license": "MIT" + "node_modules/verror/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } }, "node_modules/vlq": { "version": "0.2.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" }, "node_modules/walk": { "version": "2.3.9", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz", + "integrity": "sha512-nEvC/LocusNlMqpnY76juQYCx7H/ZNhtEQ3qTI+Kbh9zw8nc8jp5v0C3g+V1RNTH7TXrp4YC8qtzk6FN03+lMg==", "dependencies": { "foreachasync": "^3.0.0" } @@ -10110,23 +7896,37 @@ } }, "node_modules/which": { - "version": "1.3.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/wide-align": { "version": "1.1.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "optional": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -10139,18 +7939,38 @@ }, "node_modules/wordwrap": { "version": "0.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", "engines": { "node": ">=0.4.0" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { "version": "3.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", @@ -10159,11 +7979,13 @@ }, "node_modules/ws/node_modules/safe-buffer": { "version": "5.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/xml2js": { "version": "0.4.23", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -10174,32 +7996,74 @@ }, "node_modules/xml2js/node_modules/xmlbuilder": { "version": "11.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "engines": { "node": ">=4.0" } }, "node_modules/xmlbuilder": { "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0" } }, "node_modules/xmlcreate": { "version": "1.0.2", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha512-Mbe56Dvj00onbnSo9J0qj/XlY5bfN9KidsOnpd5tRCsR3ekB3hyyNU9fGrTdqNT5ZNvv4BsA2TcQlignsZyVcw==" }, "node_modules/xmlhttprequest-ssl": { "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha512-/bFPLUgJrfGUL10AIv4Y7/CUt6so9CLtB/oFxQSHseSDNNCdC6vwwKEqwLN6wNPBg9YWXAiMu8jkf6RPRS/75Q==", "engines": { "node": ">=0.4.0" } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } }, "node_modules/yarn-or-npm": { "version": "3.0.1", @@ -10218,9 +8082,77 @@ "node": ">=8.6.0" } }, + "node_modules/yarn-or-npm/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/yarn-or-npm/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yarn-or-npm/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/yauzl": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -10228,7 +8160,8 @@ }, "node_modules/yeast": { "version": "0.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==" }, "node_modules/yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index 47b12ab6..d8951e9a 100755 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "fs": "0.0.1-security", "jquery": "3.7.1", "jquery-ui-dist": "1.12.1", + "jquery-textcomplete": "^1.8.5", "marked": "^11.2.0", "minimist": "^1.2.0", "openlayers": "^4.6.5", diff --git a/src/css/styles.css b/src/css/styles.css index 124bea9e..38ed8e3f 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -1,12 +1,12 @@ @import 'main.css'; -@import '../js/libraries/jquery.nouislider.min.css'; -@import '../js/libraries/jquery.nouislider.pips.min.css'; -@import '../js/libraries/flightindicators.css'; +@import '../../js/libraries/jquery.nouislider.min.css'; +@import '../../js/libraries/jquery.nouislider.pips.min.css'; +@import '../../js/libraries/flightindicators.css'; @import 'opensans_webfontkit/fonts.css'; @import 'font-awesome/css/font-awesome.css'; @import 'dropdown-lists/css/style_lists.css'; -@import '../js/libraries/switchery/switchery.css'; -@import '../js/libraries/jbox/jBox.css'; +@import '../../js/libraries/switchery/switchery.css'; +@import '../../js/libraries/jbox/jBox.css'; @import 'logic.css'; @import 'defaults_dialog.css'; @import './../../node_modules/openlayers/dist/ol.css'; diff --git a/src/css/tabs/cli.css b/src/css/tabs/cli.css index d73ff43f..fcb76cb4 100644 --- a/src/css/tabs/cli.css +++ b/src/css/tabs/cli.css @@ -79,6 +79,24 @@ color: white; } +.cli-textcomplete-dropdown { + border: 1px solid black; + background-color: #4f4f4f; + border-radius: 5px; + max-height: 50%; + overflow: auto; + list-style: none; + padding: 5px; + margin: 0; +} +.cli-textcomplete-dropdown a { + color: white; + cursor: pointer; +} +.cli-textcomplete-dropdown .active { + background-color: #000000; +} + @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { .tab-cli .content_wrapper { diff --git a/tabs/cli.js b/tabs/cli.js index bbded4ef..b39386d6 100644 --- a/tabs/cli.js +++ b/tabs/cli.js @@ -130,6 +130,19 @@ TABS.cli.initialize = function (callback) { CONFIGURATOR.cliActive = true; var textarea = $('.tab-cli textarea[name="commands"]'); + CliAutoComplete.initialize(textarea, self.sendLine.bind(self), writeToOutput); + $(CliAutoComplete).on('build:start', function() { + textarea + .val('') + .attr('placeholder', localization.getMessage('cliInputPlaceholderBuilding')) + .prop('disabled', true); + }); + $(CliAutoComplete).on('build:stop', function() { + textarea + .attr('placeholder', localization.getMessage('cliInputPlaceholder')) + .prop('disabled', false) + .focus(); + }); $('.tab-cli .save').click(function() { @@ -252,12 +265,18 @@ TABS.cli.initialize = function (callback) { if (event.which == tabKeyCode) { // prevent default tabbing behaviour event.preventDefault(); - const outString = textarea.val(); - const lastCommand = outString.split("\n").pop(); - const command = getCliCommand(lastCommand, self.cliBuffer); - if (command) { - self.sendAutoComplete(command); - textarea.val(''); + if (!CliAutoComplete.isEnabled()) { + const outString = textarea.val(); + const lastCommand = outString.split("\n").pop(); + const command = getCliCommand(lastCommand, self.cliBuffer); + if (command) { + self.sendAutoComplete(command); + textarea.val(''); + } + } + else if (!CliAutoComplete.isOpen() && !CliAutoComplete.isBuilding()) { + // force show autocomplete on Tab + CliAutoComplete.openLater(true); } } }); @@ -267,6 +286,10 @@ TABS.cli.initialize = function (callback) { if (event.which == enterKeyCode) { event.preventDefault(); // prevent the adding of new line + if (CliAutoComplete.isBuilding()) { + return; // silently ignore commands if autocomplete is still building + } + var out_string = textarea.val(); self.history.add(out_string.trim()); @@ -285,6 +308,10 @@ TABS.cli.initialize = function (callback) { var keyUp = {38: true}, keyDown = {40: true}; + if (CliAutoComplete.isOpen()) { + return; // disable history keys if autocomplete is open + } + if (event.keyCode in keyUp) { textarea.val(self.history.prev()); } @@ -355,6 +382,11 @@ function writeToOutput(text) { } function writeLineToOutput(text) { + if (CliAutoComplete.isBuilding()) { + CliAutoComplete.builderParseLine(text); + return; // suppress output if in building state + } + if (text.startsWith("### ERROR: ")) { writeToOutput('' + text + '
'); } else { @@ -429,7 +461,10 @@ TABS.cli.read = function (readInfo) { this.cliBuffer += currentChar; } - this.outputHistory += currentChar; + if (!CliAutoComplete.isBuilding()) { + // do not include the building dialog into the history + this.outputHistory += currentChar; + } if (this.cliBuffer == 'Rebooting') { CONFIGURATOR.cliActive = false; @@ -444,7 +479,16 @@ TABS.cli.read = function (readInfo) { if (!CONFIGURATOR.cliValid && validateText.indexOf('CLI') !== -1) { GUI.log(localization.getMessage('cliEnter')); CONFIGURATOR.cliValid = true; - validateText = ""; + + if (CliAutoComplete.isEnabled() && !CliAutoComplete.isBuilding()) { + // start building autoComplete + CliAutoComplete.builderStart(); + } + } + + // fallback to native autocomplete + if (!CliAutoComplete.isEnabled()) { + setPrompt(removePromptHash(this.cliBuffer)); } setPrompt(removePromptHash(this.cliBuffer)); @@ -483,5 +527,8 @@ TABS.cli.cleanup = function (callback) { if (callback) callback(); }, 1000); // if we dont allow enough time to reboot, CRC of "first" command sent will fail, keep an eye for this one CONFIGURATOR.cliActive = false; + + CliAutoComplete.cleanup(); + $(CliAutoComplete).off(); }); }; diff --git a/tabs/options.html b/tabs/options.html index 1ef62632..09a0793b 100644 --- a/tabs/options.html +++ b/tabs/options.html @@ -20,6 +20,10 @@
+
+ + +
From 2f880e218d6c5391b97891183ab567489d6ff268 Mon Sep 17 00:00:00 2001 From: Andi Kanzler Date: Mon, 12 Feb 2024 08:45:46 -0300 Subject: [PATCH 05/16] OSD Tab --- js/connection/connectionSerial.js | 77 +- js/libraries/jbox/jBox.css | 882 +++++++++--------- js/libraries/jbox/jBox.min.js | 3 +- js/libraries/jbox/themes/ModalBorder.css | 46 - js/libraries/jbox/themes/NoticeBorder.css | 45 - js/libraries/jbox/themes/TooltipBorder.css | 33 - js/libraries/jbox/themes/jBox.NoticeFancy.css | 49 + .../jbox/themes/jBox.NoticeFancy.min.css | 1 + .../jbox/themes/jBox.TooltipBorder.css | 39 + .../jbox/themes/jBox.TooltipBorder.min.css | 1 + .../jbox/themes/jBox.TooltipBorderThick.css | 32 + .../themes/jBox.TooltipBorderThick.min.css | 1 + .../{TooltipDark.css => jBox.TooltipDark.css} | 31 +- .../jbox/themes/jBox.TooltipDark.min.css | 1 + .../jbox/themes/jBox.TooltipError.css | 54 ++ .../jbox/themes/jBox.TooltipError.min.css | 1 + .../jbox/themes/jBox.TooltipSmall.css | 49 + .../jbox/themes/jBox.TooltipSmall.min.css | 1 + .../jbox/themes/jBox.TooltipSmallGray.css | 53 ++ .../jbox/themes/jBox.TooltipSmallGray.min.css | 1 + main.css | 6 +- src/css/main.css | 4 +- src/css/tabs/osd.css | 2 +- tabs/configuration.html | 8 +- tabs/configuration.js | 6 +- tabs/firmware_flasher.js | 2 +- tabs/mixer.js | 2 +- tabs/osd.js | 36 +- tabs/ports.js | 2 +- 29 files changed, 821 insertions(+), 647 deletions(-) delete mode 100755 js/libraries/jbox/themes/ModalBorder.css delete mode 100755 js/libraries/jbox/themes/NoticeBorder.css delete mode 100755 js/libraries/jbox/themes/TooltipBorder.css create mode 100644 js/libraries/jbox/themes/jBox.NoticeFancy.css create mode 100644 js/libraries/jbox/themes/jBox.NoticeFancy.min.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipBorder.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipBorder.min.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipBorderThick.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipBorderThick.min.css rename js/libraries/jbox/themes/{TooltipDark.css => jBox.TooltipDark.css} (58%) mode change 100755 => 100644 create mode 100644 js/libraries/jbox/themes/jBox.TooltipDark.min.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipError.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipError.min.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipSmall.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipSmall.min.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipSmallGray.css create mode 100644 js/libraries/jbox/themes/jBox.TooltipSmallGray.min.css diff --git a/js/connection/connectionSerial.js b/js/connection/connectionSerial.js index 9e11ac0e..5cdbd581 100644 --- a/js/connection/connectionSerial.js +++ b/js/connection/connectionSerial.js @@ -14,31 +14,36 @@ class ConnectionSerial extends Connection { } connectImplementation(path, options, callback) { - this._serialport = new SerialPortStream({binding, path: path, baudRate: options.bitrate, autoOpen: true}, () => { - - this._serialport.on('data', buffer => { - this._onReceiveListeners.forEach(listener => { - listener({ - connectionId: this._connectionId, - data: buffer + try { + this._serialport = new SerialPortStream({binding, path: path, baudRate: options.bitrate, autoOpen: true}, () => { + + this._serialport.on('data', buffer => { + this._onReceiveListeners.forEach(listener => { + listener({ + connectionId: this._connectionId, + data: buffer + }); + }); + }) + + this._serialport.on('error', error => { + console.log("Serial error: " + error); + this._onReceiveErrorListeners.forEach(listener => { + listener(error); }); }); - }) - - this._serialport.on('error', error => { - console.log("Serial error: " + error); - this._onReceiveErrorListeners.forEach(listener => { - listener(error); - }); + + if (callback) { + callback({ + connectionId: ++this._connectionId, + bitrate: options.bitrate + }); + } }); - - if (callback) { - callback({ - connectionId: ++this._connectionId, - bitrate: options.bitrate - }); - } - }); + } catch (error) { + console.log(error); + callback(false); + } } disconnectImplementation(callback) { @@ -55,19 +60,21 @@ class ConnectionSerial extends Connection { } sendImplementation(data, callback) { - this._serialport.write(Buffer.from(data), error => { - var result = 0; - if (error) { - result = 1; - console.log("Serial wrire error: " + error) - } - if (callback) { - callback({ - bytesSent: data.byteLength, - resultCode: result - }); - } - }); + if (this._serialport && this._serialport.isOpen) { + this._serialport.write(Buffer.from(data), error => { + var result = 0; + if (error) { + result = 1; + console.log("Serial wrire error: " + error) + } + if (callback) { + callback({ + bytesSent: data.byteLength, + resultCode: result + }); + } + }); + } } addOnReceiveCallback(callback){ diff --git a/js/libraries/jbox/jBox.css b/js/libraries/jbox/jBox.css index 97580cdc..d3c1d23a 100755 --- a/js/libraries/jbox/jBox.css +++ b/js/libraries/jbox/jBox.css @@ -1,572 +1,572 @@ - -/* Global */ - .jBox-wrapper { - text-align: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + text-align: left; + box-sizing: border-box; } .jBox-title, .jBox-content, .jBox-container { - position: relative; - word-break: break-word; + position: relative; + word-break: break-word; + box-sizing: border-box; } .jBox-container { - background: #fff; - border:1px solid #37a8db; - /*max-width:180px;*/ - font-size:11px; - line-height:13px; - color:#525352; + background: #fff; } .jBox-content { - padding: 4px 5px; - overflow: auto; - -webkit-transition: opacity .15s; - transition: opacity .15s; + padding: 8px 12px; + overflow-x: hidden; + overflow-y: auto; + transition: opacity .2s; } -/* jBox Tooltip */ +.jBox-footer { + box-sizing: border-box; +} .jBox-Tooltip .jBox-container, .jBox-Mouse .jBox-container { - border-radius: 3px; - box-shadow: 0 0 5px rgba(0, 0, 0, .3); + border-radius: 4px; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); } .jBox-Tooltip .jBox-title, .jBox-Mouse .jBox-title { - padding: 8px 10px 0; - font-weight: bold; + padding: 8px 10px 0; + font-weight: bold; } -.jBox-hasTitle.jBox-Tooltip .jBox-content, -.jBox-hasTitle.jBox-Mouse .jBox-content { - padding-top: 5px; +.jBox-Tooltip.jBox-hasTitle .jBox-content, +.jBox-Mouse.jBox-hasTitle .jBox-content { + padding-top: 5px; } -/* Pointer */ +.jBox-Mouse { + pointer-events: none; +} .jBox-pointer { - position: absolute; - overflow: hidden; -} - -.jBox-pointer-top { top: 0; } -.jBox-pointer-bottom { bottom: 0; } -.jBox-pointer-left { left: 0; } -.jBox-pointer-right { right: 0; } - -.jBox-pointer-top, -.jBox-pointer-bottom { - width: 22px; - height: 10px; -} - -.jBox-pointer-left, -.jBox-pointer-right { - width: 10px; - height: 20px; + position: absolute; + overflow: hidden; + box-sizing: border-box; } .jBox-pointer:after { - content: ''; - width: 10px; - height: 9px; - position: absolute; - background: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - border:1px solid #37a8db; + content: ''; + width: 20px; + height: 20px; + position: absolute; + background: #fff; + transform: rotate(45deg); + box-sizing: border-box; +} +.jBox-pointer-top { + top: 0; } .jBox-pointer-top:after { - left: 5px; - top: 6px; - box-shadow: -1px -1px 4px rgba(0, 0, 0, .2); + left: 5px; + top: 6px; + box-shadow: -1px -1px 2px rgba(0, 0, 0, 0.15); +} + +.jBox-pointer-right { + right: 0; } .jBox-pointer-right:after { - top: 5px; - right: 6px; - box-shadow: 1px -1px 4px rgba(0, 0, 0, .2); + top: 5px; + right: 6px; + box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.15); } -.jBox-pointer-bottom:after { - left: 5px; - bottom: 6px; - box-shadow: 1px 1px 4px rgba(0, 0, 0, .2); +.jBox-pointer-left { + left: 0; } .jBox-pointer-left:after { - top: 5px; - left: 6px; - box-shadow: -1px 1px 4px rgba(0, 0, 0, .2); + top: 5px; + left: 6px; + box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.15); } -/* jBox Modal & jBox Confirm */ - -.jBox-Modal .jBox-container, -.jBox-Confirm .jBox-container { - border-radius: 3px; - box-shadow: 0 3px 15px rgba(0, 0, 0, .4), 0 0 5px rgba(0, 0, 0, .4); +.jBox-pointer-bottom { + bottom: 0; } -.jBox-Modal .jBox-title, -.jBox-Confirm .jBox-title { - border-radius: 3px 3px 0 0; - padding: 10px 15px; - background: #f4f5f6; - border-bottom: 1px solid #ddd; - text-shadow: 0 1px 1px #fff; +.jBox-pointer-bottom:after { + left: 5px; + bottom: 6px; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15); } -.jBox-Modal.jBox-closeButton-title .jBox-title, -.jBox-Confirm.jBox-closeButton-title .jBox-title { - padding-right: 55px; +.jBox-pointer-top, .jBox-pointer-bottom { + width: 30px; + height: 12px; } -.jBox-Modal.jBox-closeButton-box:before, -.jBox-Confirm.jBox-closeButton-box:before { - box-shadow: 0 3px 15px rgba(0, 0, 0, .4), 0 0 5px rgba(0, 0, 0, .4); +.jBox-pointer-left, .jBox-pointer-right { + width: 12px; + height: 30px; } -/* jBox Modal */ +.jBox-Modal .jBox-container { + border-radius: 4px; +} + +.jBox-Modal .jBox-container, .jBox-Modal.jBox-closeButton-box:before { + box-shadow: 0 3px 15px rgba(0, 0, 0, 0.4), 0 0 5px rgba(0, 0, 0, 0.4); +} .jBox-Modal .jBox-content { - padding: 12px 15px; + padding: 15px 20px; } -/* jBox Confirm */ - -.jBox-Confirm .jBox-content { - text-align: center; - padding: 45px 35px; +.jBox-Modal .jBox-title { + border-radius: 4px 4px 0 0; + padding: 15px 20px; + background: #fafafa; + border-bottom: 1px solid #eee; } -.jBox-Confirm-footer { - border-top: 1px solid #e2e2e2; - background: #fafafa; - border-radius: 0 0 3px 3px; - text-align: center; - padding: 10px 0; +.jBox-Modal.jBox-closeButton-title .jBox-title { + padding-right: 65px; } -.jBox-Confirm-button { - display: inline-block; - cursor: pointer; - font-size: 15px; - line-height: 30px; - height: 30px; - border-radius: 3px; - padding: 0 20px; - -webkit-transition: color .2s, background-color .2s; - transition: color .2s, background-color .2s; +.jBox-Modal .jBox-footer { + border-radius: 0 0 4px 4px; } -.jBox-Confirm-button-cancel { - text-shadow: 0 1px 1px rgba(255, 255, 255, .6); - background: #ddd; - color: #999; - margin-right: 25px; -} - -.jBox-Confirm-button-cancel:hover { - background: #ccc; - color: #666; -} - -.jBox-Confirm-button-submit { - text-shadow: 0 -1px 1px rgba(0, 0, 0, .2); - background: #5fc04c; - color: #fff; -} - -.jBox-Confirm-button-submit:hover { - background: #53a642; -} - -.jBox-Confirm-button-cancel:active, -.jBox-Confirm-button-submit:active { - box-shadow: inset 0 1px 3px rgba(0, 0, 0, .26); -} - -/* jBox Notice */ - -.jBox-Notice { - -webkit-transition: margin .2s; - transition: margin .2s; -} - -.jBox-Notice .jBox-container { - border-radius: 3px; - box-shadow: 0 0 3px rgba(0, 0, 0, .2); - color: #fff; - text-shadow: 0 -1px 1px #000; - background: #333; - background-image: linear-gradient(to bottom, #444, #222); -} - -.jBox-Notice .jBox-content { - border-radius: 3px; - padding: 12px 20px; -} - -.jBox-Notice .jBox-title { - padding: 8px 20px 0; - font-weight: bold; -} - -.jBox-hasTitle.jBox-Notice .jBox-content { - padding-top: 5px; -} - -.jBox-Notice-color .jBox-container { - text-shadow: 0 -1px 1px rgba(0, 0, 0, .3); -} - -.jBox-Notice-gray .jBox-container { - color: #666; - text-shadow: 0 1px 1px #fff; - background: #f4f4f4; - background-image: linear-gradient(to bottom, #fafafa, #f0f0f0); -} - -.jBox-Notice-red .jBox-container { - background: #b02222; - background-image: linear-gradient(to bottom, #ee2222, #b02222); -} - -.jBox-Notice-green .jBox-container { - background: #70a800; - background-image: linear-gradient(to bottom, #95cc2a, #70a800); -} - -.jBox-Notice-blue .jBox-container { - background: #2b91d9; - background-image: linear-gradient(to bottom, #5abaff, #2b91d9); -} - -.jBox-Notice-yellow .jBox-container { - color: #744700; - text-shadow: 0 1px 1px rgba(255, 255, 255, .6); - background: #ffb11f; - background-image: linear-gradient(to bottom, #ffd665, #ffb11f); -} - -/* jBox Image */ - -.jBox-Image { - background: #fff; - padding: 8px 8px 45px; - border-radius: 5px; -} - -.jBox-Image .jBox-content { - padding: 0; - width: 100%; - height: 100%; -} - -.jBox-image-container { - border-radius: 5px; - background: #fff center center no-repeat; - position: absolute; - width: 100%; - height: 100%; - opacity: 0; -} - -.jBox-image-label { - box-sizing: border-box; - position: absolute; - background: #fff; - top: 100%; - left: 0; - width: 100%; - color: #333; - margin-top: -35px; - padding: 0 90px 5px 10px; - border-radius: 0 0 5px 5px; - -webkit-transition: opacity .3s; - transition: opacity .3s; - opacity: 0; -} - -.jBox-image-label.active { - opacity: 1; -} - -.jBox-image-pointer-next, -.jBox-image-pointer-prev { - position: absolute; - bottom: 0px; - width: 22px; - height: 45px; - background: no-repeat center center url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijc0LjcgMjI0IDE4LjcgMzIiPg0KPHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTTkzLDIyNy40TDgwLjQsMjQwTDkzLDI1Mi42YzAuNCwwLjQsMC40LDEuMSwwLDEuNWwtMS42LDEuNmMtMC40LDAuNC0xLDAuNS0xLjUsMEw3NSwyNDAuN2MtMC40LTAuNC0wLjUtMSwwLTEuNWwxNC45LTE0LjljMC40LTAuNCwxLTAuNCwxLjUsMGwxLjYsMS42QzkzLjUsMjI2LjQsOTMuNCwyMjcsOTMsMjI3LjR6Ii8+DQo8L3N2Zz4=); - background-size: 11px auto; - cursor: pointer; - opacity: .6; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: opacity .2s; - transition: opacity .2s; -} - -.jBox-image-pointer-next:hover, -.jBox-image-pointer-prev:hover { - opacity: 1; -} - -.jBox-image-pointer-next { - right: 8px; - -webkit-transform: scaleX(-1); - transform: scaleX(-1); -} - -.jBox-image-pointer-prev { - right: 30px; -} - -.jBox-image-open #jBox-overlay { - background-color: rgba(0, 0, 0, .86); -} - -.jBox-Image.jBox-loading .jBox-container:before { - left: auto; - top: auto; - bottom: -33px; - right: 55px; - margin-top: -9px; - margin-left: -9px; -} - -/* Close button */ - .jBox-closeButton { - cursor: pointer; - position: absolute; + z-index: 1; + cursor: pointer; + position: absolute; + box-sizing: border-box; } .jBox-closeButton svg { - position: absolute; - top: 50%; - right: 50%; + position: absolute; + top: 50%; + right: 50%; } .jBox-closeButton path { - -webkit-transition: fill .2s; - transition: fill .2s; -} - -.jBox-closeButton path { - fill: #aaa; + fill: #aaa; + transition: fill .2s; } .jBox-closeButton:hover path { - fill: #888; + fill: #888; } -.jBox-closeButton:active path { - fill: #666; +.jBox-overlay .jBox-closeButton { + top: 0; + right: 0; + width: 40px; + height: 40px; } -/* Close button in overlay */ - -#jBox-overlay .jBox-closeButton { - top: 0; - right: 0; - width: 40px; - height: 40px; +.jBox-overlay .jBox-closeButton svg { + width: 20px; + height: 20px; + margin-top: -10px; + margin-right: -10px; } -#jBox-overlay .jBox-closeButton svg { - width: 20px; - height: 20px; - margin-top: -10px; - margin-right: -10px; +.jBox-overlay .jBox-closeButton path { + fill: #ddd; } -#jBox-overlay .jBox-closeButton path { - fill: #d2d4d6; +.jBox-overlay .jBox-closeButton:hover path { + fill: #fff; } -#jBox-overlay .jBox-closeButton:hover path { - fill: #fff; -} - -#jBox-overlay .jBox-closeButton:active path { - fill: #b2b4b6; -} - -/* Close button in title */ - .jBox-closeButton-title .jBox-closeButton { - top: 0; - right: 0; - bottom: 0; - width: 40px; + top: 0; + right: 0; + bottom: 0; + width: 50px; } -.jBox-closeButton-title .jBox-closeButton svg { - width: 12px; - height: 12px; - margin-top: -6px; - margin-right: -6px; +.jBox-closeButton-title svg { + width: 12px; + height: 12px; + margin-top: -6px; + margin-right: -6px; } -/* Close button in box */ +.jBox-closeButton-box { + box-sizing: border-box; +} .jBox-closeButton-box .jBox-closeButton { - top: -8px; - right: -10px; - width: 24px; - height: 24px; - background: #fff; - border-radius: 50%; + top: -8px; + right: -10px; + width: 24px; + height: 24px; + background: #fff; + border-radius: 50%; } .jBox-closeButton-box .jBox-closeButton svg { - width: 10px; - height: 10px; - margin-top: -5px; - margin-right: -5px; -} - -.jBox-hasTitle.jBox-Modal.jBox-closeButton-box .jBox-closeButton { - background: #f4f5f6; + width: 10px; + height: 10px; + margin-top: -5px; + margin-right: -5px; } .jBox-closeButton-box:before { - content: ''; - position: absolute; - top: -8px; - right: -10px; - width: 24px; - height: 24px; - border-radius: 50%; - box-shadow: 0 0 5px rgba(0, 0, 0, .3); + content: ''; + position: absolute; + top: -8px; + right: -10px; + width: 24px; + height: 24px; + border-radius: 50%; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } -.jBox-pointerPosition-top.jBox-closeButton-box:before { - top: 4px; +.jBox-closeButton-box.jBox-pointerPosition-top:before { + top: 5px; } -.jBox-pointerPosition-right.jBox-closeButton-box:before { - right: 2px; +.jBox-closeButton-box.jBox-pointerPosition-right:before { + right: 2px; } -/* Overlay */ - -#jBox-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - background-color: rgba(0, 0, 0, .6); +.jBox-Modal.jBox-hasTitle.jBox-closeButton-box .jBox-closeButton { + background: #fafafa; } -/* Block scrolling */ +.jBox-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.82); +} + +.jBox-footer { + background: #fafafa; + border-top: 1px solid #eee; + padding: 8px 10px; + border-radius: 0 0 3px 3px; +} body[class^="jBox-blockScroll-"], body[class*=" jBox-blockScroll-"] { - overflow: hidden; + overflow: hidden; } -/* Draggable */ - .jBox-draggable { - cursor: move; + cursor: move; } -/* Spinner */ - @keyframes jBoxLoading { - to {transform: rotate(360deg);} -} - -@-webkit-keyframes jBoxLoading { - to {-webkit-transform: rotate(360deg);} + to { + transform: rotate(360deg); + } } .jBox-loading .jBox-content { - min-height: 32px; - min-width: 38px; - opacity: 0; + opacity: .2; +} + +.jBox-loading-spinner .jBox-content { + min-height: 38px !important; + min-width: 38px !important; + opacity: 0; } .jBox-spinner { - position: absolute; - top: 50%; - left: 50%; - width: 20px; - height: 20px; - margin-top: -10px; - margin-left: -10px; + box-sizing: border-box; + position: absolute; + top: 50%; + left: 50%; + width: 24px; + height: 24px; + margin-top: -12px; + margin-left: -12px; } - + .jBox-spinner:before { - content: 'Loading…'; - display: block; - width: 20px; - height: 20px; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.jBox-spinner:not(:required):before { - content: ''; - border-radius: 50%; - border: 2px solid rgba(0, 0, 0, .3); - border-top-color: rgba(0, 0, 0, .6); - animation: jBoxLoading .6s linear infinite; - -webkit-animation: jBoxLoading .6s linear infinite; + display: block; + box-sizing: border-box; + content: ''; + width: 24px; + height: 24px; + border-radius: 50%; + border: 2px solid rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.8); + animation: jBoxLoading .6s linear infinite; } -/* IE8 fixes */ - -.jBox-IE8.jBox-Tooltip .jBox-container, -.jBox-IE8.jBox-Mouse .jBox-container { - border: 1px solid #aaa; +.jBox-countdown { + border-radius: 4px 4px 0 0; + z-index: 0; + background: #000; + opacity: .2; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + overflow: hidden; } -.jBox-IE8 .jBox-pointer:after { - display: none; +.jBox-countdown-inner { + top: 0; + right: 0; + width: 100%; + height: 3px; + position: absolute; + background: #fff; } -.jBox-IE8 .jBox-pointer { - border: 0; - background: no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUeNq01l0OwyAIAGAlvY+n8ZJ6Gk/EqqkNtf7ApCQ+LM34iuCmRUQzihjj6FH+kjWL8N4/Ph9GHpiTnC9SwDbhLGyvspSScc71KkOa/HpuuRhIK+psE2pjONouCQg7kBSEXUgC2tHo52mTTBpnaEATWlaYK6MrhIAaceWpOcsCrYp6FV4H/90zTWjUQ/gSevVQq0ecHqoOxWpYoO7p5O9ku2fnVtp7QAik2rsK3fnpWfjynJWpbw+1BkghurrYDjiCptg/4AxaYhJwBbEwDsiB2NgM5EIirAdKIDFGQSmU1+NaIPjJYt2I25vxT4ABAMhWvtle2YvmAAAAAElFTkSuQmCC); +[class^="jBox-animated-"], +[class*=" jBox-animated-"] { + animation-fill-mode: both; } -.jBox-IE8 .jBox-pointer-top { background-position: center top; } -.jBox-IE8 .jBox-pointer-bottom { background-position: center bottom; } -.jBox-IE8 .jBox-pointer-left { background-position: left center; } -.jBox-IE8 .jBox-pointer-right { background-position: right center; } - -.jBox-IE8.jBox-Modal .jBox-container { - border: 3px solid #aaa; +@keyframes jBox-tada { + 0% { + transform: scale(1); + } + 10%, + 20% { + transform: scale(0.8) rotate(-4deg); + } + 30%, + 50%, + 70%, + 90% { + transform: scale(1.2) rotate(4deg); + } + 40%, + 60%, + 80% { + transform: scale(1.2) rotate(-4deg); + } + 100% { + transform: scale(1) rotate(0); + } } -/* No SVG support fixes */ - -.jBox-nosvg .jBox-closeButton:before { - font-family: Verdana, sans-serif; - content: 'x'; - text-align: center; - font-size: 18px; - color: #888; +.jBox-animated-tada { + animation: jBox-tada 1s; } + +@keyframes jBox-tadaSmall { + 0% { + transform: scale(1); + } + 10%, + 20% { + transform: scale(0.9) rotate(-2deg); + } + 30%, + 50%, + 70%, + 90% { + transform: scale(1.1) rotate(2deg); + } + 40%, + 60%, + 80% { + transform: scale(1.1) rotate(-2deg); + } + 100% { + transform: scale(1) rotate(0); + } +} + +.jBox-animated-tadaSmall { + animation: jBox-tadaSmall 1s; +} + +@keyframes jBox-flash { + 0%, + 50%, + 100% { + opacity: 1; + } + 25%, + 75% { + opacity: 0; + } +} + +.jBox-animated-flash { + animation: jBox-flash .5s; +} + +@keyframes jBox-shake { + 0%, + 100% { + transform: translateX(0); + } + 20%, + 60% { + transform: translateX(-6px); + } + 40%, + 80% { + transform: translateX(6px); + } +} + +.jBox-animated-shake { + animation: jBox-shake .4s; +} + +@keyframes jBox-pulseUp { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.15); + } + 100% { + transform: scale(1); + } +} + +.jBox-animated-pulseUp { + animation: jBox-pulseUp .25s; +} + +@keyframes jBox-pulseDown { + 0% { + transform: scale(1); + } + 50% { + transform: scale(0.85); + } + 100% { + transform: scale(1); + } +} + +.jBox-animated-pulseDown { + animation: jBox-pulseDown .25s; +} + +@keyframes jBox-popIn { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } +} + +.jBox-animated-popIn { + animation: jBox-popIn .25s; +} + +@keyframes jBox-popOut { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(0); + } +} + +.jBox-animated-popOut { + animation: jBox-popOut .25s; +} + +@keyframes jBox-fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +.jBox-animated-fadeIn { + animation: jBox-fadeIn .2s; +} + +@keyframes jBox-fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +.jBox-animated-fadeOut { + animation: jBox-fadeOut .2s; +} + +@keyframes jBox-slideUp { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(-300px); + opacity: 0; + } +} + +.jBox-animated-slideUp { + animation: jBox-slideUp .4s; +} + +@keyframes jBox-slideRight { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(300px); + opacity: 0; + } +} + +.jBox-animated-slideRight { + animation: jBox-slideRight .4s; +} + +@keyframes jBox-slideDown { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(300px); + opacity: 0; + } +} + +.jBox-animated-slideDown { + animation: jBox-slideDown .4s; +} + +@keyframes jBox-slideLeft { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(-300px); + opacity: 0; + } +} + +.jBox-animated-slideLeft { + animation: jBox-slideLeft .4s; +} + +/*# sourceMappingURL=jBox.css.map */ diff --git a/js/libraries/jbox/jBox.min.js b/js/libraries/jbox/jBox.min.js index e756b340..cc74d86b 100755 --- a/js/libraries/jbox/jBox.min.js +++ b/js/libraries/jbox/jBox.min.js @@ -1,2 +1 @@ -function jBox(type,options){this.options={id:null,width:"auto",height:"auto",minWidth:null,maxHeight:null,minWidth:null,maxHeight:null,attach:null,trigger:"click",preventDefault:!1,title:null,content:null,getTitle:null,getContent:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getData:"data-ajax",setContent:!0,spinner:!0},target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},adjustPosition:!1,adjustTracker:!1,adjustDistance:5,fixed:!1,reposition:!1,repositionOnOpen:!0,repositionOnContent:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:"",overlay:!1,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,constructOnInit:!1,blockScroll:!1,appendTo:jQuery("body"),draggable:null,dragOver:!0,onInit:null,onBeforeInit:null,onAttach:null,onCreated:null,onOpen:null,onClose:null,onCloseComplete:null,confirmButton:"Submit",cancelButton:"Cancel",confirm:null,cancel:null,autoClose:7e3,color:null,stack:!0,audio:!1,volume:100,src:"href",gallery:"data-jbox-image",imageLabel:"title",imageFade:600,imageSize:"contain"},this.defaultOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0,adjustPosition:!0,reposition:!0},Mouse:{target:"mouse",position:{x:"right",y:"bottom"},offset:15,trigger:"mouseenter",adjustPosition:"flip"},Modal:{target:jQuery(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomOut"},Confirm:{target:jQuery(window),fixed:!0,attach:jQuery("[data-confirm]"),getContent:"data-confirm",content:"Do you really want to do this?",minWidth:320,maxWidth:460,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomOut",preventDefault:!0,_onAttach:function(t){if(!this.options.confirm){var i=t.attr("onclick")?t.attr("onclick"):t.attr("href")?t.attr("target")?'window.open("'+t.attr("href")+'", "'+t.attr("target")+'");':'window.location.href = "'+t.attr("href")+'";':"";t.prop("onclick",null).data("jBox-Confirm-submit",i)}},_onCreated:function(){this.footer=jQuery('