From ca8938718ff3a555d6d2caff988798dbf53b7c01 Mon Sep 17 00:00:00 2001 From: "WIN-87ES3P38OPV\\EDY" Date: Tue, 4 Aug 2026 10:06:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=8F=AF=E4=BB=A5=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- .npmrc | 5 + .vs/ProjectSettings.json | 3 + .vs/VSWorkspaceState.json | 7 + ...d3fd8aeb-ed16-44cf-8d07-50a8e0006342.vsidx | Bin 0 -> 461004 bytes .vs/pc.slnx/v18/.wsuo | Bin 0 -> 16896 bytes .vs/pc.slnx/v18/DocumentLayout.json | 12 + .../18.8.1096.64007/CodeChunks.db | Bin 0 -> 200704 bytes .../18.8.1096.64007/SemanticSymbols.db | Bin 0 -> 53248 bytes .vs/slnx.sqlite | Bin 0 -> 90112 bytes README.md | 4 +- forge.config.js | 101 + main.js | 284 +- package-lock.json | 11977 +++++++++++++++- package.json | 13 +- preload.js | 225 +- 16 files changed, 12022 insertions(+), 612 deletions(-) create mode 100644 .npmrc create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/pc.slnx/FileContentIndex/d3fd8aeb-ed16-44cf-8d07-50a8e0006342.vsidx create mode 100644 .vs/pc.slnx/v18/.wsuo create mode 100644 .vs/pc.slnx/v18/DocumentLayout.json create mode 100644 .vs/pc/CopilotIndices/18.8.1096.64007/CodeChunks.db create mode 100644 .vs/pc/CopilotIndices/18.8.1096.64007/SemanticSymbols.db create mode 100644 .vs/slnx.sqlite create mode 100644 forge.config.js diff --git a/.gitignore b/.gitignore index 23f3237..5c983ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules /dist -/.vscode \ No newline at end of file +/.vscode +out/ \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..fb276fd --- /dev/null +++ b/.npmrc @@ -0,0 +1,5 @@ +registry=https://registry.npmmirror.com +electron_mirror=https://npmmirror.com/mirrors/electron/ +electron_custom_dir={{ version }} + +electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/ \ No newline at end of file diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..29dd5a0 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\package.json", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/pc.slnx/FileContentIndex/d3fd8aeb-ed16-44cf-8d07-50a8e0006342.vsidx b/.vs/pc.slnx/FileContentIndex/d3fd8aeb-ed16-44cf-8d07-50a8e0006342.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..5b14e43b7d06a9cb9918900475e7e12c542254ec GIT binary patch literal 461004 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 z

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

l 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 literal 0 HcmV?d00001 diff --git a/.vs/pc.slnx/v18/.wsuo b/.vs/pc.slnx/v18/.wsuo new file mode 100644 index 0000000000000000000000000000000000000000..b14937741b2d49c8c9709b9b95536362d69bfdc5 GIT binary patch literal 16896 zcmeHO-*X(r5gr*E?2tepiINb&7o!kjbeB8*HXvi`Bw5CmCHsVMVY!^WyOq4w-JWW9 zWh|cfS9k!P;e{%SqWqA`E2+Gviu?tsJg0*5eX~2Kx%J)d=uX(V)Qzfdc4ud%r)Ro* zx@TH{{r0)B=T}|gKZ)QF7~ZH|0H@=v~mug13VA-8Q|vtF6%Jh zmjI6GB!Kij73D7>e;V*Y^sf3I|7x}=|M$r(NJ`!wrTkw5-ouvvAEQsM zAZbcVhb{k<$8P0cah=iwlz%0!l>ZZe9|0({lz)CBt;|j2{~6R(IP{!$h5kNxempaf zw*SmySG+3cE{$UUqfV#ZCk5^5#LEuC|0~#^?RW>;`)j~|1n=BmO!2RvF8Q5l zNjTW`x%a!G1WUjbi?9Z2vcxmo|B09TpDBKw{*uJD3tPj%lPikymv$IOu_AVwU)tLu zInYm9)V@uc($W=Fh}5r?V~(d2=<-jwS2}?8DgVrq_J8^a-0P{MXiJb+I9A#P8NhD= zrvR@2MgYG9ybAa|;5EP>0H*=314aQ^Ko0OnKps#4i~+_0syr!w2Oqh& zFsc2YcJ2;F(g5e%fD-uL0wl>k+XKJEtLB|$X=x4>wxdcbg0feG^tlqYG|clT@lrY? z{lu+okTBX>)TNsyr!Q!bi#$(;D#lzN{c?a_2R5e>f6ftV<0R*6Z{O`kQlaI{)+NjC&?i5xh?hAT|ec@WDf)2A;7^(d+F!(*L0_i$&!R5(0H!#8?gNzjG`lBkOOO&t1or z7GPDLM_w!~k*n z_wnyRE~$}gs#)8-oB2rrug;w5A81M9PR<(K4+?XITpx&llM*WQ}#Zh(SlTfwLT%{kmvDx26}%E8b6P} zEXoSd4|#E`IX@3uM{i*L={wM8FvU+_k-iL*8U8hRh09ne>meP?^(S7H!d{bqY5S@5 z*Li#y{ks6}e;(F*Rq6uzzg6J(@P$@Nt0YkWDBR4GF^6A|Ayf2UZCYP`jO*rsk2d%v z;Ou-SaJmcnIST44rV=z26928swFsn-P;Pn%Y*EEL+?JdO`iD-V zLp27y?@rI;eP#b7;eStBVXpK?xg%2!;tBRo6Spb<(^sX>%9Mn^2tEsUg1TmdU1^a+ z@*mGCMgXSxX?rXAGsUlbB>Ez{9Z3Dht(@m1rueCP6@EO*lzso-pFQ*4#3$$d&f?5TgA|GNA3rsEvcYd-^3d(+yj1-F9w&eY8KVlJ@#z_)|IakpAGn)b~l zA4OYvhZ@Pne)Xb^Hs!=#;I2vUoWk4>=;2W+!ra{*7je;Im!No^|crz_V(jnbqBL&8b|n_tqNQwmVy%p0*|{ zlT(E=;}dp%=FH7e)ww>3CCk4ZSmm01xVUa|Q+O&G^YLP%zGHc|cbwQt&WAS6H;)fT zq^@{X$F*wBI-K(p>OAErA3D_J%szd~*>W46U9@}~Oh>n+=cI7!9raSC_hb4@pXLid z5vT1Nkv+#VE!wOZSg#KJNZPI&u%mgh#}f@7un9{dBhQ|E?6wwaWndEqc&?&e1N93y z{n*HpmoIDCvT{1#A~=e!kQVgEMXh4`iq zM_tFz@KqmD;9~{J4gJA2kstBi)aH=a4tV z&8|D(_afbqfb|-|C001_=iIK5} zio0k*k6WH2Lnl$h|1mMee;IY@Eif_ujhH>)n1P O;!g(gBl;>H{Q18$pq&T+ literal 0 HcmV?d00001 diff --git a/.vs/pc.slnx/v18/DocumentLayout.json b/.vs/pc.slnx/v18/DocumentLayout.json new file mode 100644 index 0000000..a0a1ed2 --- /dev/null +++ b/.vs/pc.slnx/v18/DocumentLayout.json @@ -0,0 +1,12 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\company\\bestway\\code\\\u5149\u4F0F\\pc\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [] + } + ] +} \ No newline at end of file diff --git a/.vs/pc/CopilotIndices/18.8.1096.64007/CodeChunks.db b/.vs/pc/CopilotIndices/18.8.1096.64007/CodeChunks.db new file mode 100644 index 0000000000000000000000000000000000000000..c740184e626476c6ad4abb37e5662faa587d007d GIT binary patch literal 200704 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 literal 0 HcmV?d00001 diff --git a/.vs/pc/CopilotIndices/18.8.1096.64007/SemanticSymbols.db b/.vs/pc/CopilotIndices/18.8.1096.64007/SemanticSymbols.db new file mode 100644 index 0000000000000000000000000000000000000000..723d998508df6eec82e0b962bc786aa5f5f900d7 GIT binary patch literal 53248 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 node -v -24.18.0 +16.14.2 diff --git a/forge.config.js b/forge.config.js new file mode 100644 index 0000000..afe799f --- /dev/null +++ b/forge.config.js @@ -0,0 +1,101 @@ +const { FusesPlugin } = require('@electron-forge/plugin-fuses'); +const { MakerSquirrel } = require('@electron-forge/maker-squirrel'); +const { FuseV1Options, FuseVersion } = require('@electron/fuses'); +const { convertVersion, createWindowsInstaller } = require('electron-winstaller'); +const fs = require('fs-extra'); +const os = require('node:os'); +const path = require('node:path'); + +class AsciiOutputSquirrelMaker extends MakerSquirrel { + async make({ dir, makeDir, targetArch, packageJSON, appName, forgeConfig }) { + const finalOutPath = path.resolve(makeDir, `squirrel.windows/${targetArch}`); + await this.ensureDirectory(finalOutPath); + + const tmpAppDir = await fs.mkdtemp(path.join(os.tmpdir(), 'squirrel-maker-app-')); + const tmpOutPath = await fs.mkdtemp(path.join(os.tmpdir(), 'squirrel-maker-out-')); + await fs.copy(dir, tmpAppDir); + + try { + const winstallerConfig = { + name: typeof packageJSON.name === 'string' + ? packageJSON.name.replace(/-/g, '_') + : undefined, + title: appName, + noMsi: true, + exe: `${forgeConfig.packagerConfig.executableName || appName}.exe`, + setupExe: `${appName}-${packageJSON.version} Setup.exe`, + ...this.config, + appDirectory: tmpAppDir, + outputDirectory: tmpOutPath, + }; + + await createWindowsInstaller(winstallerConfig); + await fs.copy(tmpOutPath, finalOutPath, { overwrite: true }); + + const nupkgVersion = convertVersion(packageJSON.version); + const artifacts = [ + path.resolve(finalOutPath, 'RELEASES'), + path.resolve(finalOutPath, winstallerConfig.setupExe || `${appName}Setup.exe`), + path.resolve(finalOutPath, `${winstallerConfig.name}-${nupkgVersion}-full.nupkg`), + ]; + const deltaPath = path.resolve(finalOutPath, `${winstallerConfig.name}-${nupkgVersion}-delta.nupkg`); + if ( + winstallerConfig.remoteReleases && + !winstallerConfig.noDelta && + await fs.pathExists(deltaPath) + ) { + artifacts.push(deltaPath); + } + const msiPath = path.resolve(finalOutPath, winstallerConfig.setupMsi || `${appName}Setup.msi`); + if (!winstallerConfig.noMsi && await fs.pathExists(msiPath)) { + artifacts.push(msiPath); + } + + return artifacts; + } finally { + await fs.remove(tmpAppDir); + await fs.remove(tmpOutPath); + } + } +} + +module.exports = { + packagerConfig: { + asar: true, + }, + rebuildConfig: { + onlyModules: [], + }, + makers: [ + new AsciiOutputSquirrelMaker(), + { + name: '@electron-forge/maker-zip', + platforms: ['darwin'], + }, + { + name: '@electron-forge/maker-deb', + config: {}, + }, + { + name: '@electron-forge/maker-rpm', + config: {}, + }, + ], + plugins: [ + { + name: '@electron-forge/plugin-auto-unpack-natives', + config: {}, + }, + // Fuses are used to enable/disable various Electron functionality + // at package time, before code signing the application + new FusesPlugin({ + version: FuseVersion.V1, + [FuseV1Options.RunAsNode]: false, + [FuseV1Options.EnableCookieEncryption]: true, + [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, + [FuseV1Options.EnableNodeCliInspectArguments]: false, + [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, + [FuseV1Options.OnlyLoadAppFromAsar]: true, + }), + ], +}; diff --git a/main.js b/main.js index cad90fb..dd8ea74 100644 --- a/main.js +++ b/main.js @@ -4,51 +4,172 @@ * @LastEditors: 李皓 hao_li_work@163.com * @LastEditTime: 2026-07-28 16:59:56 * @FilePath: \pc\main.js - * @Description: + * @Description: * @Version: 1.0.0 */ const { app, BrowserWindow, ipcMain } = require('electron') const path = require('path') const fs = require('fs') +const { SerialPort } = require('serialport') const { WitMotionSensor } = require('./sensor') const { UsbSerialBridge } = require('./usb-serial-bridge') +const pkg = require('./package.json') -// 缓存文件路径(存储在应用用户数据目录下) const cacheDir = app.getPath('userData') const cacheFile = path.join(cacheDir, 'app-cache.json') +const fileRoot = path.join(cacheDir, 'files') -// 确保缓存目录存在 -function ensureCacheDir() { +let mainWindow = null +let sensor = null +let usbBridge = null +let sensorOpen = false +let sensorDevices = [] +let lastSensorValues = {} + +function ensureDir(dir) { try { - if (!fs.existsSync(cacheDir)) { - fs.mkdirSync(cacheDir, { recursive: true }) - } - } catch { /* 忽略 */ } + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }) + } catch {} } -// 读取缓存文件 function readCache() { try { - if (fs.existsSync(cacheFile)) { - const raw = fs.readFileSync(cacheFile, 'utf-8') - return JSON.parse(raw) - } - } catch { /* 忽略解析错误 */ } + if (fs.existsSync(cacheFile)) return JSON.parse(fs.readFileSync(cacheFile, 'utf-8')) + } catch {} return {} } -// 写入缓存文件 function writeCache(data) { try { - ensureCacheDir() + ensureDir(cacheDir) fs.writeFileSync(cacheFile, JSON.stringify(data, null, 2), 'utf-8') - } catch { /* 忽略写入错误 */ } + } catch {} } -let sensor = null +function resolveAppFile(inputPath) { + const raw = String(inputPath || '').trim() + if (!raw) return fileRoot + if (path.isAbsolute(raw) && /^[a-zA-Z]:[\\/]/.test(raw)) return raw + const relative = raw.replace(/^[/\\]+/, '') + return path.join(fileRoot, relative) +} + +function fileList(dir) { + try { + const target = resolveAppFile(dir) + if (!fs.existsSync(target)) return '' + const stat = fs.statSync(target) + if (stat.isFile()) return target + return fs.readdirSync(target).map(name => path.join(target, name)).join('\n') + } catch { + return '' + } +} + +function sensorOperations(id) { + return [ + { id: 'read-version', name: '获取当前传感器版本' }, + { id: 'read-temp', name: '获取设备温度' }, + { id: 'read-euler', name: '获取设备角度' }, + { id: 'reset-euler', name: '重置角度传感器基准' }, + { id: 'read-heading-and-vertical', name: '获取朝向和垂直夹角' } + ].map(op => ({ ...op, sensorId: id })) +} + +async function refreshSensorDevices() { + try { + const ports = await SerialPort.list() + sensorDevices = ports + .filter(p => p.path && /^COM\d+$/i.test(p.path)) + .map(p => ({ + id: `HWT6053:${p.path}`, + name: 'HWT6053', + port: p.path, + baudRate: 9600, + isOpen: sensorOpen, + operations: sensorOperations(`HWT6053:${p.path}`) + })) + + for (const device of sensorDevices) { + if (mainWindow && !mainWindow.isDestroyed()) { + mainWindow.webContents.send('sensor-attached', { id: device.id, name: device.name }) + } + } + } catch (err) { + console.error('[sensor] 刷新设备失败:', err.message) + sensorDevices = [] + } +} + +function normalizeSensorData(data) { + if (!data || data.sensor !== 'HWT6053') return data + if (data.method === 'temperature') { + const value = data.value && typeof data.value === 'object' ? data.value.temp : data.value + return { sensor: 'HWT6053', method: 'read-temp', value: String(value ?? '') } + } + if (data.method === 'angle') { + return { sensor: 'HWT6053', method: 'read-euler', value: data.value } + } + if (data.method === 'magnetic') { + return { sensor: 'HWT6053', method: 'read-heading-and-vertical', value: data.value } + } + return data +} -const createWindow = () => { - const win = new BrowserWindow({ +function cacheSensorValue(data) { + const normalized = normalizeSensorData(data) + if (!normalized) return + lastSensorValues[normalized.method] = normalized.value + if (mainWindow && !mainWindow.isDestroyed()) { + mainWindow.webContents.send('sensor-data', normalized) + } +} + +function ensureSensor() { + if (sensor) return sensor + sensor = new WitMotionSensor({ + onData: cacheSensorValue, + onLog: (level, msg) => { + console.log(`[sensor] ${msg}`) + if (mainWindow && !mainWindow.isDestroyed()) { + try { mainWindow.webContents.send('sensor-log', { level, msg }) } catch {} + } + } + }) + return sensor +} + +function openAppSensor() { + sensorOpen = true + refreshSensorDevices() + ensureSensor().connect() + return true +} + +function closeAppSensor() { + sensorOpen = false + if (sensor) sensor.disconnect() + sensor = null + return true +} + +function runSensorOperation(opId) { + if (opId === 'read-version') return pkg.version || '1' + if (opId === 'read-temp') return lastSensorValues['read-temp'] ?? null + if (opId === 'read-euler') { + const value = lastSensorValues['read-euler'] + return value == null ? null : JSON.stringify(value) + } + if (opId === 'read-heading-and-vertical') { + const value = lastSensorValues['read-heading-and-vertical'] + return value == null ? null : JSON.stringify(value) + } + if (opId === 'reset-euler') return '0' + return null +} + +function createWindow() { + mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { @@ -59,37 +180,40 @@ const createWindow = () => { } }) - win.loadFile('./dist/index.html') + mainWindow.loadFile('./dist/index.html') + usbBridge = new UsbSerialBridge(mainWindow) + refreshSensorDevices() +} - // 初始化 USB Serial 桥接模块 - const usbBridge = new UsbSerialBridge(win) +function registerIpc() { + ipcMain.on('app-clear-cache-sync', (event) => { + writeCache({}) + if (mainWindow && !mainWindow.isDestroyed()) mainWindow.reload() + event.returnValue = true + }) - // 窗口创建后连接传感器 - sensor = new WitMotionSensor({ - onData: (data) => { - if (!win.isDestroyed()) { - win.webContents.send('sensor-data', data) - } - }, - onLog: (level, msg) => { - console.log(`[sensor] ${msg}`) - // 也发送到渲染进程,方便静态页面查看日志 - if (win && !win.isDestroyed()) { - try { win.webContents.send('sensor-log', { level, msg }) } catch {} - } - } + ipcMain.on('app-version-code-sync', (event) => { + const major = Number(String(pkg.version || '1').split('.')[0]) || 1 + event.returnValue = major + }) + + ipcMain.on('get-cache-sync', (event, key) => { + const cache = readCache() + event.returnValue = key ? (cache[key] ?? null) : JSON.stringify(cache) + }) + + ipcMain.on('set-cache-sync', (event, key, value) => { + const cache = readCache() + cache[key] = value + writeCache(cache) + event.returnValue = true }) - sensor.connect() -} -app.whenReady().then(() => { - // 注册 IPC 处理器:获取缓存 ipcMain.handle('get-cache', (_event, key) => { const cache = readCache() - return key ? cache[key] : cache + return key ? (cache[key] ?? null) : cache }) - // 注册 IPC 处理器:设置缓存 ipcMain.handle('set-cache', (_event, key, value) => { const cache = readCache() cache[key] = value @@ -97,11 +221,81 @@ app.whenReady().then(() => { return true }) + ipcMain.on('app-offline-page', () => { + if (mainWindow && !mainWindow.isDestroyed()) mainWindow.webContents.send('app-page-mode', 'offline') + }) + + ipcMain.on('app-online-page', () => { + if (mainWindow && !mainWindow.isDestroyed()) mainWindow.webContents.send('app-page-mode', 'online') + }) + + ipcMain.on('app-file-list-sync', (event, dir) => { + event.returnValue = fileList(dir) + }) + + ipcMain.on('app-file-write-string', (event, filePath, content, token) => { + const target = resolveAppFile(filePath) + fs.promises.mkdir(path.dirname(target), { recursive: true }) + .then(() => fs.promises.writeFile(target, String(content ?? ''), 'utf-8')) + .then(() => event.sender.send('app-file-write-callback', token, target, true, '')) + .catch(err => event.sender.send('app-file-write-callback', token, target, false, err.message)) + }) + + ipcMain.on('app-file-read-string', (event, filePath, token) => { + const target = resolveAppFile(filePath) + fs.promises.readFile(target, 'utf-8') + .then(content => event.sender.send('app-file-read-callback', token, target, content)) + .catch(() => event.sender.send('app-file-read-callback', token, target, null)) + }) + + ipcMain.on('app-file-delete', (event, filePath, token) => { + const target = resolveAppFile(filePath) + fs.promises.unlink(target) + .then(() => event.sender.send('app-file-delete-callback', token, target, true)) + .catch(() => event.sender.send('app-file-delete-callback', token, target, false)) + }) + + ipcMain.on('app-sensor-open-sync', (event) => { event.returnValue = openAppSensor() }) + ipcMain.on('app-sensor-close-sync', (event) => { event.returnValue = closeAppSensor() }) + ipcMain.on('app-sensor-is-open-sync', (event) => { event.returnValue = sensorOpen }) + + ipcMain.on('sensor-init-all-sync', (event) => { + refreshSensorDevices() + event.returnValue = true + }) + ipcMain.on('sensor-flush-sync', (event) => { + refreshSensorDevices() + event.returnValue = true + }) + ipcMain.on('sensor-list-sync', (event) => { + event.returnValue = sensorDevices + }) + ipcMain.on('sensor-init-sync', (event, id) => { + event.returnValue = sensorDevices.some(device => device.id === id) + }) + ipcMain.on('sensor-open-sync', (event) => { event.returnValue = openAppSensor() }) + ipcMain.on('sensor-close-sync', (event) => { event.returnValue = closeAppSensor() }) + ipcMain.on('sensor-operation-sync', (event, _id, opId) => { + event.returnValue = runSensorOperation(opId) + }) + ipcMain.on('sensor-operation-async', (event, id, opId) => { + const result = runSensorOperation(opId) + event.sender.send('sensor-operation-callback', id, opId, result) + }) + + ipcMain.on('app-location-is-support-sync', (event) => { event.returnValue = false }) + ipcMain.on('app-location-is-open-sync', (event) => { event.returnValue = false }) + ipcMain.on('app-location-open', (event) => { event.sender.send('app-location-opened', 1) }) + ipcMain.on('app-location-close', () => {}) +} + +app.whenReady().then(() => { + registerIpc() + ensureDir(fileRoot) createWindow() - // 应用退出时清理 app.on('before-quit', () => { if (sensor) sensor.disconnect() - // usbBridge 的 cleanup 由窗口 close 事件触发 + if (usbBridge) usbBridge.disconnectAll() }) }) diff --git a/package-lock.json b/package-lock.json index 94ba018..de6111b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,373 +9,11070 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "electron-squirrel-startup": "^1.0.1", "serialport": "^13.0.0" }, "devDependencies": { + "@electron-forge/cli": "^7.11.2", + "@electron-forge/maker-deb": "^7.11.2", + "@electron-forge/maker-rpm": "^7.11.2", + "@electron-forge/maker-squirrel": "^7.11.2", + "@electron-forge/maker-zip": "^7.11.2", + "@electron-forge/plugin-auto-unpack-natives": "^7.11.2", + "@electron-forge/plugin-fuses": "^7.11.2", + "@electron/fuses": "^1.8.0", "electron": "^43.2.0" } }, - "node_modules/@electron-internal/extract-zip": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.4.tgz", - "integrity": "sha512-Zr1Vs7E9tpCNhZHDAbFVXc2gEVCG9RqPDjrno5+bdgB6LRAuvgyMHJut4NCVyYwtAieapMzc3fiQ3CSTi75ARg==", + "node_modules/@electron-forge/cli": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/cli/-/cli-7.11.2.tgz", + "integrity": "sha512-c+C4ndLfHbxwZuCn9G8iT9wD/woLdaVkoSVjAIbj+0nJhi8UmiVsz/+Gxlj4cvhMRTzBMBxudstLU7RocMikfg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/electron" + } + ], + "dependencies": { + "@electron-forge/core": "7.11.2", + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@electron/get": "^3.0.0", + "@inquirer/prompts": "^6.0.1", + "@listr2/prompt-adapter-inquirer": "^2.0.22", + "chalk": "^4.0.0", + "commander": "^11.1.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^7.0.2", + "log-symbols": "^4.0.0", + "semver": "^7.2.1" + }, + "bin": { + "electron-forge": "dist/electron-forge.js", + "electron-forge-vscode-nix": "script/vscode.sh", + "electron-forge-vscode-win": "script/vscode.cmd" + }, "engines": { - "node": ">=22.12.0" + "node": ">= 16.4.0" } }, - "node_modules/@electron/get": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", - "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", + "node_modules/@electron-forge/cli/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", "dev": true, "dependencies": { "debug": "^4.1.1", - "env-paths": "^3.0.0", - "graceful-fs": "^4.2.11", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", "progress": "^2.0.3", - "semver": "^7.6.3", + "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "engines": { - "node": ">=22.12.0" + "node": ">=14" }, "optionalDependencies": { - "undici": "^7.24.4" + "global-agent": "^3.0.0" } }, - "node_modules/@serialport/binding-mock": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", - "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", + "node_modules/@electron-forge/cli/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "dependencies": { - "@serialport/bindings-interface": "^1.2.1", - "debug": "^4.3.3" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=6 <7 || >=8" } }, - "node_modules/@serialport/bindings-cpp": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-13.0.0.tgz", - "integrity": "sha512-r25o4Bk/vaO1LyUfY/ulR6hCg/aWiN6Wo2ljVlb4Pj5bqWGcSRC4Vse4a9AcapuAu/FeBzHCbKMvRQeCuKjzIQ==", - "hasInstallScript": true, - "dependencies": { - "@serialport/bindings-interface": "1.2.2", - "@serialport/parser-readline": "12.0.0", - "debug": "4.4.0", - "node-addon-api": "8.3.0", - "node-gyp-build": "4.8.4" - }, + "node_modules/@electron-forge/cli/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron-forge/cli/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { - "node": ">=18.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node": ">=6" } }, - "node_modules/@serialport/bindings-cpp/node_modules/@serialport/parser-delimiter": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz", - "integrity": "sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==", + "node_modules/@electron-forge/cli/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron-forge/cli/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node": ">= 4.0.0" } }, - "node_modules/@serialport/bindings-cpp/node_modules/@serialport/parser-readline": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-12.0.0.tgz", - "integrity": "sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==", + "node_modules/@electron-forge/core": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/core/-/core-7.11.2.tgz", + "integrity": "sha512-RbOvlCahSlYBkY1XFgD5QuoifZltEY3ezYGqJYnV1z6RiUK1DfUXwdidmclBLI9d6u8NNr9xWPv79LHVc9ZA3Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/electron" + } + ], "dependencies": { - "@serialport/parser-delimiter": "12.0.0" + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/publisher-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "@electron-forge/template-vite": "7.11.2", + "@electron-forge/template-vite-typescript": "7.11.2", + "@electron-forge/template-webpack": "7.11.2", + "@electron-forge/template-webpack-typescript": "7.11.2", + "@electron-forge/tracer": "7.11.2", + "@electron/get": "^3.0.0", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.7.0", + "@malept/cross-spawn-promise": "^2.0.0", + "@vscode/sudo-prompt": "^9.3.1", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "eta": "^3.5.0", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "global-dirs": "^3.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "jiti": "^2.4.2", + "listr2": "^7.0.2", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "rechoir": "^0.8.0", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "username": "^5.1.0" }, "engines": { - "node": ">=12.0.0" + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/core-utils": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/core-utils/-/core-utils-7.11.2.tgz", + "integrity": "sha512-/Fpwo44an6ulUdq94co5OOcbRCohgYNci/E6eoZZuTO9f72X+PqJkMkghqkMX3iQ8Aq2QRLkGKFwrKWJNTjL7Q==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "@electron/rebuild": "^3.7.0", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "parse-author": "^2.0.0", + "semver": "^7.2.1" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "engines": { + "node": ">= 16.4.0" } }, - "node_modules/@serialport/bindings-cpp/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/@electron-forge/core/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, "dependencies": { - "ms": "^2.1.3" + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" }, "engines": { - "node": ">=6.0" + "node": ">=14" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "optionalDependencies": { + "global-agent": "^3.0.0" } }, - "node_modules/@serialport/bindings-interface": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", - "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==", + "node_modules/@electron-forge/core/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, "engines": { - "node": "^12.22 || ^14.13 || >=16" + "node": ">=6 <7 || >=8" } }, - "node_modules/@serialport/parser-byte-length": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-13.0.0.tgz", - "integrity": "sha512-32yvqeTAqJzAEtX5zCrN1Mej56GJ5h/cVFsCDPbF9S1ZSC9FWjOqNAgtByseHfFTSTs/4ZBQZZcZBpolt8sUng==", - "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node_modules/@electron-forge/core/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@serialport/parser-cctalk": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-13.0.0.tgz", - "integrity": "sha512-RErAe57g9gvnlieVYGIn1xymb1bzNXb2QtUQd14FpmbQQYlcrmuRnJwKa1BgTCujoCkhtaTtgHlbBWOxm8U2uA==", + "node_modules/@electron-forge/core/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node": ">=6" } }, - "node_modules/@serialport/parser-delimiter": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-13.0.0.tgz", - "integrity": "sha512-Qqyb0FX1avs3XabQqNaZSivyVbl/yl0jywImp7ePvfZKLwx7jBZjvL+Hawt9wIG6tfq6zbFM24vzCCK7REMUig==", - "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node_modules/@electron-forge/core/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@serialport/parser-inter-byte-timeout": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-13.0.0.tgz", - "integrity": "sha512-a0w0WecTW7bD2YHWrpTz1uyiWA2fDNym0kjmPeNSwZ2XCP+JbirZt31l43m2ey6qXItTYVuQBthm75sPVeHnGA==", + "node_modules/@electron-forge/core/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node": ">= 4.0.0" } }, - "node_modules/@serialport/parser-packet-length": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-13.0.0.tgz", - "integrity": "sha512-60ZDDIqYRi0Xs2SPZUo4Jr5LLIjtb+rvzPKMJCohrO6tAqSDponcNpcB1O4W21mKTxYjqInSz+eMrtk0LLfZIg==", + "node_modules/@electron-forge/maker-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-base/-/maker-base-7.11.2.tgz", + "integrity": "sha512-9934zYu9WVdgCYQXvtS+eL1oyLagsY8JlWhZmoK8yWTYftSAydH7jb3seVpfy6n85SYmY/yjcAy2lvOTy5dUwA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, "engines": { - "node": ">=8.6.0" + "node": ">= 16.4.0" } }, - "node_modules/@serialport/parser-readline": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-13.0.0.tgz", - "integrity": "sha512-dov3zYoyf0dt1Sudd1q42VVYQ4WlliF0MYvAMA3MOyiU1IeG4hl0J6buBA2w4gl3DOCC05tGgLDN/3yIL81gsA==", + "node_modules/@electron-forge/maker-deb": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-deb/-/maker-deb-7.11.2.tgz", + "integrity": "sha512-MYSdCTsqzKNmsmaq7CIFh2kJdBWUZ4njxnVGrIRClzueVITk5Kots3+eQo+e5QQLvXTVn2XTNDc2nYjvtBh+Mw==", + "dev": true, "dependencies": { - "@serialport/parser-delimiter": "13.0.0" + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" }, "engines": { - "node": ">=20.0.0" + "node": ">= 16.4.0" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "optionalDependencies": { + "electron-installer-debian": "^3.2.0" } }, - "node_modules/@serialport/parser-ready": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-13.0.0.tgz", - "integrity": "sha512-JNUQA+y2Rfs4bU+cGYNqOPnNMAcayhhW+XJZihSLQXOHcZsFnOa2F9YtMg9VXRWIcnHldHYtisp62Etjlw24bw==", + "node_modules/@electron-forge/maker-rpm": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-rpm/-/maker-rpm-7.11.2.tgz", + "integrity": "sha512-BEj/DcW6bSpmOyKUa3UsOgT7Hm3ZuP0Wa6OuQEunjxeCWn7yoDTDtjuYA0xRvzk+T4NCyDO3RBGjy6nYNSPU2Q==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" + }, "engines": { - "node": ">=20.0.0" + "node": ">= 16.4.0" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "optionalDependencies": { + "electron-installer-redhat": "^3.2.0" } }, - "node_modules/@serialport/parser-regex": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-13.0.0.tgz", - "integrity": "sha512-m7HpIf56G5XcuDdA3DB34Z0pJiwxNRakThEHjSa4mG05OnWYv0IG8l2oUyYfuGMowQWaVnQ+8r+brlPxGVH+eA==", + "node_modules/@electron-forge/maker-squirrel": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-squirrel/-/maker-squirrel-7.11.2.tgz", + "integrity": "sha512-4CILo57ZDEQH1mJxjhYCSXuv+WaU7oPq67KqiTLEUOEzmiPg9u9/z7FXE34H/Tn5aKWN3dy+ngAETzv6iERCGg==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "fs-extra": "^10.0.0" + }, "engines": { - "node": ">=20.0.0" + "node": ">= 16.4.0" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "optionalDependencies": { + "electron-winstaller": "^5.3.0" } }, - "node_modules/@serialport/parser-slip-encoder": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-13.0.0.tgz", - "integrity": "sha512-fUHZEExm6izJ7rg0A1yjXwu4sOzeBkPAjDZPfb+XQoqgtKAk+s+HfICiYn7N2QU9gyaeCO8VKgWwi+b/DowYOg==", - "engines": { - "node": ">=20.0.0" + "node_modules/@electron-forge/maker-zip": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-zip/-/maker-zip-7.11.2.tgz", + "integrity": "sha512-FWnOm2MORX/nt8psnEtID3Vnt8Blby1NkzjU3KjXBPF9kave71C3lI8KbBbCeKKyTQ/S00i2FiglKdRWQ1WNTw==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "engines": { + "node": ">= 16.4.0" } }, - "node_modules/@serialport/parser-spacepacket": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-13.0.0.tgz", - "integrity": "sha512-DoXJ3mFYmyD8X/8931agJvrBPxqTaYDsPoly9/cwQSeh/q4EjQND9ySXBxpWz5WcpyCU4jOuusqCSAPsbB30Eg==", - "engines": { - "node": ">=20.0.0" + "node_modules/@electron-forge/plugin-auto-unpack-natives": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.11.2.tgz", + "integrity": "sha512-ktMQxO80vGjqVXVSFha+kWJscBmJaWud4Kqu7rKkbrCphr1zqaG+8EDNbkpGzV/+mhKOLuA5qII1hJ69gFNpdA==", + "dev": true, + "dependencies": { + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "engines": { + "node": ">= 16.4.0" } }, - "node_modules/@serialport/stream": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-13.0.0.tgz", - "integrity": "sha512-F7xLJKsjGo2WuEWMSEO1SimRcOA+WtWICsY13r0ahx8s2SecPQH06338g28OT7cW7uRXI7oEQAk62qh5gHJW3g==", + "node_modules/@electron-forge/plugin-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-base/-/plugin-base-7.11.2.tgz", + "integrity": "sha512-tIFzEE2+D9NnCAn/rLwSkh8H59IqN+G973JNl7xmCzquO6qa7/veitZOQFGO79Zmmgkc8R/fmiCbh7LIdLS9Tg==", + "dev": true, "dependencies": { - "@serialport/bindings-interface": "1.2.2", - "debug": "4.4.0" + "@electron-forge/shared-types": "7.11.2" }, "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "node": ">= 16.4.0" } }, - "node_modules/@serialport/stream/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/@electron-forge/plugin-fuses": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-fuses/-/plugin-fuses-7.11.2.tgz", + "integrity": "sha512-Y65MwTmYY0ytwtUy+u9M77rEe8MeMdRR+V2IsjAozIzAVp/38NJXfF7+AqlqE9M/fDENjPuwKnrg2IOj9P1TRg==", + "dev": true, "dependencies": { - "ms": "^2.1.3" + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" }, "engines": { - "node": ">=6.0" + "node": ">= 16.4.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "@electron/fuses": "^1.0.0" } }, - "node_modules/@types/node": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", - "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "node_modules/@electron-forge/publisher-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/publisher-base/-/publisher-base-7.11.2.tgz", + "integrity": "sha512-YwK4ZF3+uW7PBEV/ho59NVTriP3fCahskORrztUaFIdG0QP3hqMsfmo01euv98FDsBEW9UXo7/EW8t5jpmYZ0Q==", "dev": true, "dependencies": { - "undici-types": "~7.18.0" + "@electron-forge/shared-types": "7.11.2" + }, + "engines": { + "node": ">= 16.4.0" } }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/@electron-forge/shared-types": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/shared-types/-/shared-types-7.11.2.tgz", + "integrity": "sha512-Tcles7y74xy3jN5dEC+Pt1duJYk4c7W2xu98tjWW8RewmfKD2uHkie6I1I3yifPFZXZ/QfTlaFOOoKIQ9ENZjg==", + "dev": true, "dependencies": { - "ms": "^2.1.3" + "@electron-forge/tracer": "7.11.2", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.7.0", + "listr2": "^7.0.2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 16.4.0" } }, - "node_modules/electron": { - "version": "43.2.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-43.2.0.tgz", - "integrity": "sha512-80zvrgG7ZRXD+tD0IyLvrnN9n+veSxadMRsMaC9wKKP3iUbtC7rGM8+dVuCmOb0Rrwwv8ESW4awnUZh9Hbp1fA==", + "node_modules/@electron-forge/template-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-base/-/template-base-7.11.2.tgz", + "integrity": "sha512-l10I+XZRbbxFGiDLMnuXmlOppmLYmimKj6FWjEGUvft4VJFXW2BIDrLIugIGdM1nbrl/0aYjen2xRg0nZlcWzg==", "dev": true, - "license": "MIT", "dependencies": { - "@electron-internal/extract-zip": "^1.0.1", - "@electron/get": "^5.0.0", - "@types/node": "^24.9.0" - }, - "bin": { - "electron": "cli.js", - "install-electron": "install.js" + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "semver": "^7.2.1", + "username": "^5.1.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-vite": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-vite/-/template-vite-7.11.2.tgz", + "integrity": "sha512-yFSDSu3IdyNpgLXzrwODSUyaWniHRSZI82gwcXdnJLx7D7DIDLtbx6KzEoy7QBmWZRULO3F7rLsYG+Ur7orvyA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-vite-typescript": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.11.2.tgz", + "integrity": "sha512-QvvdmO9Gdv+3aISI9+bBLKPBTyKaucs6HhXxz+IDALcdykIL9wVN0/BrWuwwgbwuw4BiJTyXGSPNXuJ+EWnP6g==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-webpack": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-webpack/-/template-webpack-7.11.2.tgz", + "integrity": "sha512-JjG8XIZctrSZvTlii7Hqvt/pHDKigRk4PoLTQCs1TiT05ZWsn40itBm8cbja3L7bfm0ccDd3JTWWOl2G7PhlmA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/template-webpack-typescript": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.11.2.tgz", + "integrity": "sha512-2lwK+OrCeZgYM8WqsUXJzk94rdF0z/kA7WnAf79U3COEmAAMcFIwJtwF8c/n+52UecP3yrEE70LIGmM1sjGZJQ==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0", + "typescript": "~5.4.5", + "webpack": "^5.69.1" + }, + "engines": { + "node": ">= 16.4.0" + } + }, + "node_modules/@electron-forge/tracer": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/tracer/-/tracer-7.11.2.tgz", + "integrity": "sha512-U8j5Hyj2Zt7I5PciJvPJfmEv69Gb/Da9v+k655z3Jj1cuY0UnToEJ61IhXrzlTYqo+jUKC+fgAjDJ6vltJTS0A==", + "dev": true, + "dependencies": { + "chrome-trace-event": "^1.0.3" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-internal/extract-zip": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.4.tgz", + "integrity": "sha512-Zr1Vs7E9tpCNhZHDAbFVXc2gEVCG9RqPDjrno5+bdgB6LRAuvgyMHJut4NCVyYwtAieapMzc3fiQ3CSTi75ARg==", + "dev": true, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/get": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", + "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^3.0.0", + "graceful-fs": "^4.2.11", + "progress": "^2.0.3", + "semver": "^7.6.3", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=22.12.0" + }, + "optionalDependencies": { + "undici": "^7.24.4" + } + }, + "node_modules/@electron/node-gyp": { + "version": "10.2.0-electron.1", + "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-gNdx03u1GztOe15Fm4f75nD/CD+39b/fDQ7DlrORuck2KhwHkVlTsYb2IFRBv8PZfHiUCs1BCZnfvNGjAvP5Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@electron/node-gyp/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/node-gyp/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/packager": { + "version": "18.4.4", + "resolved": "https://registry.npmmirror.com/@electron/packager/-/packager-18.4.4.tgz", + "integrity": "sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.13", + "@electron/get": "^3.0.0", + "@electron/notarize": "^2.1.0", + "@electron/osx-sign": "^1.0.5", + "@electron/universal": "^2.0.1", + "@electron/windows-sign": "^1.0.0", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.0.1", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^11.1.0", + "galactus": "^1.0.0", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "prettier": "^3.4.2", + "resedit": "^2.0.0", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "electron-packager": "bin/electron-packager.js" + }, + "engines": { + "node": ">= 16.13.0" + }, + "funding": { + "url": "https://github.com/electron/packager?sponsor=1" + } + }, + "node_modules/@electron/packager/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/packager/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@electron/packager/node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/packager/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/packager/node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/packager/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@electron/packager/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/rebuild": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/@electron/rebuild/-/rebuild-3.7.2.tgz", + "integrity": "sha512-19/KbIR/DAxbsCkiaGMXIdPnMCJLkcf8AvGnduJtWBs/CBwiAjY1apCqOLVxrXg+rtXFCngbXhBanWjxLUt1Mg==", + "dev": true, + "dependencies": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@inquirer/checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/checkbox/-/checkbox-3.0.1.tgz", + "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/confirm/-/confirm-4.0.1.tgz", + "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmmirror.com/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@types/node": { + "version": "22.20.1", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", + "dev": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@inquirer/core/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true + }, + "node_modules/@inquirer/editor": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/editor/-/editor-3.0.1.tgz", + "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/expand/-/expand-3.0.1.tgz", + "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmmirror.com/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/input/-/input-3.0.1.tgz", + "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/number/-/number-2.0.1.tgz", + "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/password/-/password-3.0.1.tgz", + "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/prompts/-/prompts-6.0.1.tgz", + "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^3.0.1", + "@inquirer/confirm": "^4.0.1", + "@inquirer/editor": "^3.0.1", + "@inquirer/expand": "^3.0.1", + "@inquirer/input": "^3.0.1", + "@inquirer/number": "^2.0.1", + "@inquirer/password": "^3.0.1", + "@inquirer/rawlist": "^3.0.1", + "@inquirer/search": "^2.0.1", + "@inquirer/select": "^3.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/rawlist/-/rawlist-3.0.1.tgz", + "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/search/-/search-2.0.1.tgz", + "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/select/-/select-3.0.1.tgz", + "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "2.0.22", + "resolved": "https://registry.npmmirror.com/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.22.tgz", + "integrity": "sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==", + "dev": true, + "dependencies": { + "@inquirer/type": "^1.5.5" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@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/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@serialport/binding-mock": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", + "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", + "dependencies": { + "@serialport/bindings-interface": "^1.2.1", + "debug": "^4.3.3" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@serialport/bindings-cpp": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-13.0.0.tgz", + "integrity": "sha512-r25o4Bk/vaO1LyUfY/ulR6hCg/aWiN6Wo2ljVlb4Pj5bqWGcSRC4Vse4a9AcapuAu/FeBzHCbKMvRQeCuKjzIQ==", + "hasInstallScript": true, + "dependencies": { + "@serialport/bindings-interface": "1.2.2", + "@serialport/parser-readline": "12.0.0", + "debug": "4.4.0", + "node-addon-api": "8.3.0", + "node-gyp-build": "4.8.4" + }, + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/bindings-cpp/node_modules/@serialport/parser-delimiter": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz", + "integrity": "sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==", + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/bindings-cpp/node_modules/@serialport/parser-readline": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-12.0.0.tgz", + "integrity": "sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==", + "dependencies": { + "@serialport/parser-delimiter": "12.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/bindings-cpp/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@serialport/bindings-interface": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", + "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==", + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/@serialport/parser-byte-length": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-13.0.0.tgz", + "integrity": "sha512-32yvqeTAqJzAEtX5zCrN1Mej56GJ5h/cVFsCDPbF9S1ZSC9FWjOqNAgtByseHfFTSTs/4ZBQZZcZBpolt8sUng==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-cctalk": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-13.0.0.tgz", + "integrity": "sha512-RErAe57g9gvnlieVYGIn1xymb1bzNXb2QtUQd14FpmbQQYlcrmuRnJwKa1BgTCujoCkhtaTtgHlbBWOxm8U2uA==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-delimiter": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-13.0.0.tgz", + "integrity": "sha512-Qqyb0FX1avs3XabQqNaZSivyVbl/yl0jywImp7ePvfZKLwx7jBZjvL+Hawt9wIG6tfq6zbFM24vzCCK7REMUig==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-inter-byte-timeout": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-13.0.0.tgz", + "integrity": "sha512-a0w0WecTW7bD2YHWrpTz1uyiWA2fDNym0kjmPeNSwZ2XCP+JbirZt31l43m2ey6qXItTYVuQBthm75sPVeHnGA==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-packet-length": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-13.0.0.tgz", + "integrity": "sha512-60ZDDIqYRi0Xs2SPZUo4Jr5LLIjtb+rvzPKMJCohrO6tAqSDponcNpcB1O4W21mKTxYjqInSz+eMrtk0LLfZIg==", + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@serialport/parser-readline": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-13.0.0.tgz", + "integrity": "sha512-dov3zYoyf0dt1Sudd1q42VVYQ4WlliF0MYvAMA3MOyiU1IeG4hl0J6buBA2w4gl3DOCC05tGgLDN/3yIL81gsA==", + "dependencies": { + "@serialport/parser-delimiter": "13.0.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-ready": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-13.0.0.tgz", + "integrity": "sha512-JNUQA+y2Rfs4bU+cGYNqOPnNMAcayhhW+XJZihSLQXOHcZsFnOa2F9YtMg9VXRWIcnHldHYtisp62Etjlw24bw==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-regex": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-13.0.0.tgz", + "integrity": "sha512-m7HpIf56G5XcuDdA3DB34Z0pJiwxNRakThEHjSa4mG05OnWYv0IG8l2oUyYfuGMowQWaVnQ+8r+brlPxGVH+eA==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-slip-encoder": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-13.0.0.tgz", + "integrity": "sha512-fUHZEExm6izJ7rg0A1yjXwu4sOzeBkPAjDZPfb+XQoqgtKAk+s+HfICiYn7N2QU9gyaeCO8VKgWwi+b/DowYOg==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/parser-spacepacket": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-13.0.0.tgz", + "integrity": "sha512-DoXJ3mFYmyD8X/8931agJvrBPxqTaYDsPoly9/cwQSeh/q4EjQND9ySXBxpWz5WcpyCU4jOuusqCSAPsbB30Eg==", + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/stream": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-13.0.0.tgz", + "integrity": "sha512-F7xLJKsjGo2WuEWMSEO1SimRcOA+WtWICsY13r0ahx8s2SecPQH06338g28OT7cW7uRXI7oEQAk62qh5gHJW3g==", + "dependencies": { + "@serialport/bindings-interface": "1.2.2", + "debug": "4.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/@serialport/stream/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.1.tgz", + "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmmirror.com/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "dev": true, + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vscode/sudo-prompt": { + "version": "9.3.2", + "resolved": "https://registry.npmmirror.com/@vscode/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "integrity": "sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.10", + "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.9.10.tgz", + "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", + "dev": true, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.6", + "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.6.tgz", + "integrity": "sha512-69D/imtToCsIcAl8WBS2YaRwA4jO/j0HhU+hELqMEu9f54MoUtI6+XH5mrKU8rEFNEk/Ui1I2MK4/JkWacclGw==", + "dev": true, + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.7", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.7.tgz", + "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "baseline-browser-mapping": "^2.10.44", + "caniuse-lite": "^1.0.30001806", + "electron-to-chromium": "^1.5.393", + "node-releases": "^2.0.51", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001806", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", + "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/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/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/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/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/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", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-zip": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/cross-zip/-/cross-zip-4.0.1.tgz", + "integrity": "sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=12.10" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron": { + "version": "43.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-43.2.0.tgz", + "integrity": "sha512-80zvrgG7ZRXD+tD0IyLvrnN9n+veSxadMRsMaC9wKKP3iUbtC7rGM8+dVuCmOb0Rrwwv8ESW4awnUZh9Hbp1fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-internal/extract-zip": "^1.0.1", + "@electron/get": "^5.0.0", + "@types/node": "^24.9.0" + }, + "bin": { + "electron": "cli.js", + "install-electron": "install.js" }, "engines": { "node": ">= 22.12.0" } }, - "node_modules/env-paths": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", - "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "node_modules/electron-installer-common": { + "version": "0.10.4", + "resolved": "https://registry.npmmirror.com/electron-installer-common/-/electron-installer-common-0.10.4.tgz", + "integrity": "sha512-8gMNPXfAqUE5CfXg8RL0vXpLE9HAaPkgLXVoHE3BMUzogMWenf4LmwQ27BdCUrEhkjrKl+igs2IHJibclR3z3Q==", + "dev": true, + "optional": true, + "dependencies": { + "@electron/asar": "^3.2.5", + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "parse-author": "^2.0.0", + "semver": "^7.1.1", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "url": "https://github.com/electron-userland/electron-installer-common?sponsor=1" + }, + "optionalDependencies": { + "@types/fs-extra": "^9.0.1" + } + }, + "node_modules/electron-installer-common/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@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": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-common/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz", + "integrity": "sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==", + "dev": true, + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "get-folder-size": "^2.0.1", + "lodash": "^4.17.4", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-debian": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-debian/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@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": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-debian/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/electron-installer-debian/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "node_modules/electron-installer-debian/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/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/yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-redhat": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@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": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-redhat/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "node_modules/electron-installer-redhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-redhat/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-redhat/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/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/yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-squirrel-startup": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/electron-squirrel-startup/-/electron-squirrel-startup-1.0.1.tgz", + "integrity": "sha512-sTfFIHGku+7PsHLJ7v0dRcZNkALrV+YEozINTW8X1nM//e5O3L+rfYuvSW00lmGHnYmUjARZulD8F2V8ISI9RA==", + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.398", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.398.tgz", + "integrity": "sha512-AsvhAxopJGh6museTDMIjn6JpDYOfgu4RLlygomt87MUwBUqTfd/1EiPtx10/LZE8xpTvkP2E9Gafq7lkLtodQ==", + "dev": true + }, + "node_modules/electron-winstaller": { + "version": "5.4.4", + "resolved": "https://registry.npmmirror.com/electron-winstaller/-/electron-winstaller-5.4.4.tgz", + "integrity": "sha512-j9ETcBGJaXxAY/b6UBpR7LZfjdU4BAO+yvr4ifqHEdyuc3UNCy91PDGkWKY5UQ4coHNYfnwFggrqD6QPeFGAlg==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "semver": "^7.6.3", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron-winstaller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optional": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-winstaller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.24.4", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.24.4.tgz", + "integrity": "sha512-GVoi+ICHocoOIU7qVVM48wOJziRsqrsyqlI0Ce0LdowRn6v3bcH2zUa9kp85ncx0nwIb9/HOCOLS3fdThDG/XQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "dev": true + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eta": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/eta/-/eta-3.5.0.tgz", + "integrity": "sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.4.tgz", + "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/flora-colossus/-/flora-colossus-2.0.0.tgz", + "integrity": "sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fs-extra": "^10.1.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/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/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/galactus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/galactus/-/galactus-1.0.0.tgz", + "integrity": "sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "flora-colossus": "^2.0.0", + "fs-extra": "^10.1.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/gar": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "optional": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/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-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "dev": true, + "optional": true, + "dependencies": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + }, + "bin": { + "get-folder-size": "bin/get-folder-size" + } + }, + "node_modules/get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/get-package-info/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/get-package-info/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmmirror.com/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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmmirror.com/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.2.0", + "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ip-address": { + "version": "10.3.1", + "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-10.3.1.tgz", + "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/listr2": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/listr2/-/listr2-7.0.2.tgz", + "integrity": "sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==", + "dev": true, + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "optional": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimizer-webpack-plugin": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.94.0", + "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.94.0.tgz", + "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz", + "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/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/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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/pe-library": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/pe-library/-/pe-library-1.0.1.tgz", + "integrity": "sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==", + "dev": true, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", + "dev": true, + "dependencies": { + "@xmldom/xmldom": "^0.9.10", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmmirror.com/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/prettier": { + "version": "3.9.6", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.9.6.tgz", + "integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/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/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/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/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/resedit/-/resedit-2.0.3.tgz", + "integrity": "sha512-oTeemxwoMuxxTYxXUwjkrOPfngTQehlv0/HoYFNkB4uzsP1Un1A9nI8JQKGOFkxpqkC7qkMs0lUsGrvUlbLNUA==", + "dev": true, + "dependencies": { + "pe-library": "^1.0.1" + }, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "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.npmmirror.com/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialport": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/serialport/-/serialport-13.0.0.tgz", + "integrity": "sha512-PHpnTd8isMGPfFTZNCzOZp9m4mAJSNWle9Jxu6BPTcWq7YXl5qN7tp8Sgn0h+WIGcD6JFz5QDgixC2s4VW7vzg==", + "dependencies": { + "@serialport/binding-mock": "10.2.2", + "@serialport/bindings-cpp": "13.0.0", + "@serialport/parser-byte-length": "13.0.0", + "@serialport/parser-cctalk": "13.0.0", + "@serialport/parser-delimiter": "13.0.0", + "@serialport/parser-inter-byte-timeout": "13.0.0", + "@serialport/parser-packet-length": "13.0.0", + "@serialport/parser-readline": "13.0.0", + "@serialport/parser-ready": "13.0.0", + "@serialport/parser-regex": "13.0.0", + "@serialport/parser-slip-encoder": "13.0.0", + "@serialport/parser-spacepacket": "13.0.0", + "@serialport/stream": "13.0.0", + "debug": "4.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/serialport/donate" + } + }, + "node_modules/serialport/node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.9", + "resolved": "https://registry.npmmirror.com/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "dev": true, + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "optional": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/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/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/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/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/terser": { + "version": "5.49.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.49.0.tgz", + "integrity": "sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==", + "dev": true, + "optional": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "optional": true, + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tmp-promise/node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/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/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", + "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/username": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "mem": "^4.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.5.2.tgz", + "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.109.2", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.109.2.tgz", + "integrity": "sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.24.4", + "es-module-lexer": "^2.1.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "graceful-fs": "^4.2.11", + "mime-db": "^1.54.0", + "minimizer-webpack-plugin": "^5.6.1", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "watchpack": "^2.5.2", + "webpack-sources": "^3.5.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.5.1", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.5.1.tgz", + "integrity": "sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/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/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "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.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@electron-forge/cli": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/cli/-/cli-7.11.2.tgz", + "integrity": "sha512-c+C4ndLfHbxwZuCn9G8iT9wD/woLdaVkoSVjAIbj+0nJhi8UmiVsz/+Gxlj4cvhMRTzBMBxudstLU7RocMikfg==", + "dev": true, + "requires": { + "@electron-forge/core": "7.11.2", + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@electron/get": "^3.0.0", + "@inquirer/prompts": "^6.0.1", + "@listr2/prompt-adapter-inquirer": "^2.0.22", + "chalk": "^4.0.0", + "commander": "^11.1.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^7.0.2", + "log-symbols": "^4.0.0", + "semver": "^7.2.1" + }, + "dependencies": { + "@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "@electron-forge/core": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/core/-/core-7.11.2.tgz", + "integrity": "sha512-RbOvlCahSlYBkY1XFgD5QuoifZltEY3ezYGqJYnV1z6RiUK1DfUXwdidmclBLI9d6u8NNr9xWPv79LHVc9ZA3Q==", + "dev": true, + "requires": { + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/publisher-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "@electron-forge/template-vite": "7.11.2", + "@electron-forge/template-vite-typescript": "7.11.2", + "@electron-forge/template-webpack": "7.11.2", + "@electron-forge/template-webpack-typescript": "7.11.2", + "@electron-forge/tracer": "7.11.2", + "@electron/get": "^3.0.0", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.7.0", + "@malept/cross-spawn-promise": "^2.0.0", + "@vscode/sudo-prompt": "^9.3.1", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "eta": "^3.5.0", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "global-dirs": "^3.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "jiti": "^2.4.2", + "listr2": "^7.0.2", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "rechoir": "^0.8.0", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "username": "^5.1.0" + }, + "dependencies": { + "@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "@electron-forge/core-utils": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/core-utils/-/core-utils-7.11.2.tgz", + "integrity": "sha512-/Fpwo44an6ulUdq94co5OOcbRCohgYNci/E6eoZZuTO9f72X+PqJkMkghqkMX3iQ8Aq2QRLkGKFwrKWJNTjL7Q==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "@electron/rebuild": "^3.7.0", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "parse-author": "^2.0.0", + "semver": "^7.2.1" + } + }, + "@electron-forge/maker-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-base/-/maker-base-7.11.2.tgz", + "integrity": "sha512-9934zYu9WVdgCYQXvtS+eL1oyLagsY8JlWhZmoK8yWTYftSAydH7jb3seVpfy6n85SYmY/yjcAy2lvOTy5dUwA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + } + }, + "@electron-forge/maker-deb": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-deb/-/maker-deb-7.11.2.tgz", + "integrity": "sha512-MYSdCTsqzKNmsmaq7CIFh2kJdBWUZ4njxnVGrIRClzueVITk5Kots3+eQo+e5QQLvXTVn2XTNDc2nYjvtBh+Mw==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "electron-installer-debian": "^3.2.0" + } + }, + "@electron-forge/maker-rpm": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-rpm/-/maker-rpm-7.11.2.tgz", + "integrity": "sha512-BEj/DcW6bSpmOyKUa3UsOgT7Hm3ZuP0Wa6OuQEunjxeCWn7yoDTDtjuYA0xRvzk+T4NCyDO3RBGjy6nYNSPU2Q==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "electron-installer-redhat": "^3.2.0" + } + }, + "@electron-forge/maker-squirrel": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-squirrel/-/maker-squirrel-7.11.2.tgz", + "integrity": "sha512-4CILo57ZDEQH1mJxjhYCSXuv+WaU7oPq67KqiTLEUOEzmiPg9u9/z7FXE34H/Tn5aKWN3dy+ngAETzv6iERCGg==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "electron-winstaller": "^5.3.0", + "fs-extra": "^10.0.0" + } + }, + "@electron-forge/maker-zip": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/maker-zip/-/maker-zip-7.11.2.tgz", + "integrity": "sha512-FWnOm2MORX/nt8psnEtID3Vnt8Blby1NkzjU3KjXBPF9kave71C3lI8KbBbCeKKyTQ/S00i2FiglKdRWQ1WNTw==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5" + } + }, + "@electron-forge/plugin-auto-unpack-natives": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.11.2.tgz", + "integrity": "sha512-ktMQxO80vGjqVXVSFha+kWJscBmJaWud4Kqu7rKkbrCphr1zqaG+8EDNbkpGzV/+mhKOLuA5qII1hJ69gFNpdA==", + "dev": true, + "requires": { + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" + } + }, + "@electron-forge/plugin-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-base/-/plugin-base-7.11.2.tgz", + "integrity": "sha512-tIFzEE2+D9NnCAn/rLwSkh8H59IqN+G973JNl7xmCzquO6qa7/veitZOQFGO79Zmmgkc8R/fmiCbh7LIdLS9Tg==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2" + } + }, + "@electron-forge/plugin-fuses": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/plugin-fuses/-/plugin-fuses-7.11.2.tgz", + "integrity": "sha512-Y65MwTmYY0ytwtUy+u9M77rEe8MeMdRR+V2IsjAozIzAVp/38NJXfF7+AqlqE9M/fDENjPuwKnrg2IOj9P1TRg==", + "dev": true, + "requires": { + "@electron-forge/plugin-base": "7.11.2", + "@electron-forge/shared-types": "7.11.2" + } + }, + "@electron-forge/publisher-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/publisher-base/-/publisher-base-7.11.2.tgz", + "integrity": "sha512-YwK4ZF3+uW7PBEV/ho59NVTriP3fCahskORrztUaFIdG0QP3hqMsfmo01euv98FDsBEW9UXo7/EW8t5jpmYZ0Q==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2" + } + }, + "@electron-forge/shared-types": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/shared-types/-/shared-types-7.11.2.tgz", + "integrity": "sha512-Tcles7y74xy3jN5dEC+Pt1duJYk4c7W2xu98tjWW8RewmfKD2uHkie6I1I3yifPFZXZ/QfTlaFOOoKIQ9ENZjg==", + "dev": true, + "requires": { + "@electron-forge/tracer": "7.11.2", + "@electron/packager": "^18.3.5", + "@electron/rebuild": "^3.7.0", + "listr2": "^7.0.2" + } + }, + "@electron-forge/template-base": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-base/-/template-base-7.11.2.tgz", + "integrity": "sha512-l10I+XZRbbxFGiDLMnuXmlOppmLYmimKj6FWjEGUvft4VJFXW2BIDrLIugIGdM1nbrl/0aYjen2xRg0nZlcWzg==", + "dev": true, + "requires": { + "@electron-forge/core-utils": "7.11.2", + "@electron-forge/shared-types": "7.11.2", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "semver": "^7.2.1", + "username": "^5.1.0" + } + }, + "@electron-forge/template-vite": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-vite/-/template-vite-7.11.2.tgz", + "integrity": "sha512-yFSDSu3IdyNpgLXzrwODSUyaWniHRSZI82gwcXdnJLx7D7DIDLtbx6KzEoy7QBmWZRULO3F7rLsYG+Ur7orvyA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + } + }, + "@electron-forge/template-vite-typescript": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.11.2.tgz", + "integrity": "sha512-QvvdmO9Gdv+3aISI9+bBLKPBTyKaucs6HhXxz+IDALcdykIL9wVN0/BrWuwwgbwuw4BiJTyXGSPNXuJ+EWnP6g==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + } + }, + "@electron-forge/template-webpack": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-webpack/-/template-webpack-7.11.2.tgz", + "integrity": "sha512-JjG8XIZctrSZvTlii7Hqvt/pHDKigRk4PoLTQCs1TiT05ZWsn40itBm8cbja3L7bfm0ccDd3JTWWOl2G7PhlmA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0" + } + }, + "@electron-forge/template-webpack-typescript": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.11.2.tgz", + "integrity": "sha512-2lwK+OrCeZgYM8WqsUXJzk94rdF0z/kA7WnAf79U3COEmAAMcFIwJtwF8c/n+52UecP3yrEE70LIGmM1sjGZJQ==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "7.11.2", + "@electron-forge/template-base": "7.11.2", + "fs-extra": "^10.0.0", + "typescript": "~5.4.5", + "webpack": "^5.69.1" + } + }, + "@electron-forge/tracer": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/@electron-forge/tracer/-/tracer-7.11.2.tgz", + "integrity": "sha512-U8j5Hyj2Zt7I5PciJvPJfmEv69Gb/Da9v+k655z3Jj1cuY0UnToEJ61IhXrzlTYqo+jUKC+fgAjDJ6vltJTS0A==", + "dev": true, + "requires": { + "chrome-trace-event": "^1.0.3" + } + }, + "@electron-internal/extract-zip": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.4.tgz", + "integrity": "sha512-Zr1Vs7E9tpCNhZHDAbFVXc2gEVCG9RqPDjrno5+bdgB6LRAuvgyMHJut4NCVyYwtAieapMzc3fiQ3CSTi75ARg==", + "dev": true + }, + "@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "requires": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + } + } + }, + "@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "requires": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@electron/get": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", + "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^3.0.0", + "graceful-fs": "^4.2.11", + "progress": "^2.0.3", + "semver": "^7.6.3", + "sumchecker": "^3.0.1", + "undici": "^7.24.4" + } + }, + "@electron/node-gyp": { + "version": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-gNdx03u1GztOe15Fm4f75nD/CD+39b/fDQ7DlrORuck2KhwHkVlTsYb2IFRBv8PZfHiUCs1BCZnfvNGjAvP5Jw==", + "dev": true, + "from": "@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "requires": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^2.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "requires": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + } + }, + "@electron/packager": { + "version": "18.4.4", + "resolved": "https://registry.npmmirror.com/@electron/packager/-/packager-18.4.4.tgz", + "integrity": "sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==", + "dev": true, + "requires": { + "@electron/asar": "^3.2.13", + "@electron/get": "^3.0.0", + "@electron/notarize": "^2.1.0", + "@electron/osx-sign": "^1.0.5", + "@electron/universal": "^2.0.1", + "@electron/windows-sign": "^1.0.0", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.0.1", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^11.1.0", + "galactus": "^1.0.0", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "prettier": "^3.4.2", + "resedit": "^2.0.0", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@electron/rebuild": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/@electron/rebuild/-/rebuild-3.7.2.tgz", + "integrity": "sha512-19/KbIR/DAxbsCkiaGMXIdPnMCJLkcf8AvGnduJtWBs/CBwiAjY1apCqOLVxrXg+rtXFCngbXhBanWjxLUt1Mg==", + "dev": true, + "requires": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + } + }, + "@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "requires": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.2" + } + } + } + }, + "@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "requires": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "dependencies": { + "fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "@inquirer/checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/checkbox/-/checkbox-3.0.1.tgz", + "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + } + }, + "@inquirer/confirm": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/confirm/-/confirm-4.0.1.tgz", + "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + } + }, + "@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmmirror.com/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "requires": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@types/node": { + "version": "22.20.1", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", + "dev": true, + "requires": { + "undici-types": "~6.21.0" + } + }, + "undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true + } + } + }, + "@inquirer/editor": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/editor/-/editor-3.0.1.tgz", + "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "external-editor": "^3.1.0" + } + }, + "@inquirer/expand": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/expand/-/expand-3.0.1.tgz", + "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + } + }, + "@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmmirror.com/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true + }, + "@inquirer/input": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/input/-/input-3.0.1.tgz", + "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + } + }, + "@inquirer/number": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/number/-/number-2.0.1.tgz", + "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + } + }, + "@inquirer/password": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/password/-/password-3.0.1.tgz", + "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2" + } + }, + "@inquirer/prompts": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/prompts/-/prompts-6.0.1.tgz", + "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", + "dev": true, + "requires": { + "@inquirer/checkbox": "^3.0.1", + "@inquirer/confirm": "^4.0.1", + "@inquirer/editor": "^3.0.1", + "@inquirer/expand": "^3.0.1", + "@inquirer/input": "^3.0.1", + "@inquirer/number": "^2.0.1", + "@inquirer/password": "^3.0.1", + "@inquirer/rawlist": "^3.0.1", + "@inquirer/search": "^2.0.1", + "@inquirer/select": "^3.0.1" + } + }, + "@inquirer/rawlist": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/rawlist/-/rawlist-3.0.1.tgz", + "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + } + }, + "@inquirer/search": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/search/-/search-2.0.1.tgz", + "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "yoctocolors-cjs": "^2.1.2" + } + }, + "@inquirer/select": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@inquirer/select/-/select-3.0.1.tgz", + "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", + "dev": true, + "requires": { + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + } + }, + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@listr2/prompt-adapter-inquirer": { + "version": "2.0.22", + "resolved": "https://registry.npmmirror.com/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.22.tgz", + "integrity": "sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==", + "dev": true, + "requires": { + "@inquirer/type": "^1.5.5" + }, + "dependencies": { + "@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } + } + }, + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@serialport/binding-mock": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", + "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", + "requires": { + "@serialport/bindings-interface": "^1.2.1", + "debug": "^4.3.3" + } + }, + "@serialport/bindings-cpp": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-13.0.0.tgz", + "integrity": "sha512-r25o4Bk/vaO1LyUfY/ulR6hCg/aWiN6Wo2ljVlb4Pj5bqWGcSRC4Vse4a9AcapuAu/FeBzHCbKMvRQeCuKjzIQ==", + "requires": { + "@serialport/bindings-interface": "1.2.2", + "@serialport/parser-readline": "12.0.0", + "debug": "4.4.0", + "node-addon-api": "8.3.0", + "node-gyp-build": "4.8.4" + }, + "dependencies": { + "@serialport/parser-delimiter": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz", + "integrity": "sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==" + }, + "@serialport/parser-readline": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-12.0.0.tgz", + "integrity": "sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==", + "requires": { + "@serialport/parser-delimiter": "12.0.0" + } + }, + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "requires": { + "ms": "^2.1.3" + } + } + } + }, + "@serialport/bindings-interface": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", + "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==" + }, + "@serialport/parser-byte-length": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-13.0.0.tgz", + "integrity": "sha512-32yvqeTAqJzAEtX5zCrN1Mej56GJ5h/cVFsCDPbF9S1ZSC9FWjOqNAgtByseHfFTSTs/4ZBQZZcZBpolt8sUng==" + }, + "@serialport/parser-cctalk": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-13.0.0.tgz", + "integrity": "sha512-RErAe57g9gvnlieVYGIn1xymb1bzNXb2QtUQd14FpmbQQYlcrmuRnJwKa1BgTCujoCkhtaTtgHlbBWOxm8U2uA==" + }, + "@serialport/parser-delimiter": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-13.0.0.tgz", + "integrity": "sha512-Qqyb0FX1avs3XabQqNaZSivyVbl/yl0jywImp7ePvfZKLwx7jBZjvL+Hawt9wIG6tfq6zbFM24vzCCK7REMUig==" + }, + "@serialport/parser-inter-byte-timeout": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-13.0.0.tgz", + "integrity": "sha512-a0w0WecTW7bD2YHWrpTz1uyiWA2fDNym0kjmPeNSwZ2XCP+JbirZt31l43m2ey6qXItTYVuQBthm75sPVeHnGA==" + }, + "@serialport/parser-packet-length": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-13.0.0.tgz", + "integrity": "sha512-60ZDDIqYRi0Xs2SPZUo4Jr5LLIjtb+rvzPKMJCohrO6tAqSDponcNpcB1O4W21mKTxYjqInSz+eMrtk0LLfZIg==" + }, + "@serialport/parser-readline": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-13.0.0.tgz", + "integrity": "sha512-dov3zYoyf0dt1Sudd1q42VVYQ4WlliF0MYvAMA3MOyiU1IeG4hl0J6buBA2w4gl3DOCC05tGgLDN/3yIL81gsA==", + "requires": { + "@serialport/parser-delimiter": "13.0.0" + } + }, + "@serialport/parser-ready": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-13.0.0.tgz", + "integrity": "sha512-JNUQA+y2Rfs4bU+cGYNqOPnNMAcayhhW+XJZihSLQXOHcZsFnOa2F9YtMg9VXRWIcnHldHYtisp62Etjlw24bw==" + }, + "@serialport/parser-regex": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-13.0.0.tgz", + "integrity": "sha512-m7HpIf56G5XcuDdA3DB34Z0pJiwxNRakThEHjSa4mG05OnWYv0IG8l2oUyYfuGMowQWaVnQ+8r+brlPxGVH+eA==" + }, + "@serialport/parser-slip-encoder": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-13.0.0.tgz", + "integrity": "sha512-fUHZEExm6izJ7rg0A1yjXwu4sOzeBkPAjDZPfb+XQoqgtKAk+s+HfICiYn7N2QU9gyaeCO8VKgWwi+b/DowYOg==" + }, + "@serialport/parser-spacepacket": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-13.0.0.tgz", + "integrity": "sha512-DoXJ3mFYmyD8X/8931agJvrBPxqTaYDsPoly9/cwQSeh/q4EjQND9ySXBxpWz5WcpyCU4jOuusqCSAPsbB30Eg==" + }, + "@serialport/stream": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-13.0.0.tgz", + "integrity": "sha512-F7xLJKsjGo2WuEWMSEO1SimRcOA+WtWICsY13r0ahx8s2SecPQH06338g28OT7cW7uRXI7oEQAk62qh5gHJW3g==", + "requires": { + "@serialport/bindings-interface": "1.2.2", + "debug": "4.4.0" + }, + "dependencies": { + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "requires": { + "ms": "^2.1.3" + } + } + } + }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.1.tgz", + "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", + "dev": true + }, + "@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true + }, + "@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmmirror.com/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "dev": true, + "requires": { + "undici-types": "~7.18.0" + } + }, + "@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@vscode/sudo-prompt": { + "version": "9.3.2", + "resolved": "https://registry.npmmirror.com/@vscode/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "integrity": "sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "@xmldom/xmldom": { + "version": "0.9.10", + "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.9.10.tgz", + "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "baseline-browser-mapping": { + "version": "2.11.6", + "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.6.tgz", + "integrity": "sha512-69D/imtToCsIcAl8WBS2YaRwA4jO/j0HhU+hELqMEu9f54MoUtI6+XH5mrKU8rEFNEk/Ui1I2MK4/JkWacclGw==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "browserslist": { + "version": "4.28.7", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.7.tgz", + "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "dev": true, + "requires": { + "baseline-browser-mapping": "^2.10.44", + "caniuse-lite": "^1.0.30001806", + "electron-to-chromium": "^1.5.393", + "node-releases": "^2.0.51", + "update-browserslist-db": "^1.2.3" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.3.tgz", + "integrity": "sha512-DRdx5neNsG/QXbniLFWi2YmC/68oeOOmKz6zOjVk6ZS1ZLXgLIKqVEc6hWsmkjBbgii0SwaBTcJ5XKj5gzY/4A==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true + }, + "cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001806", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", + "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "requires": { + "restore-cursor": "^4.0.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + } + }, + "cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true + }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cross-zip": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/cross-zip/-/cross-zip-4.0.1.tgz", + "integrity": "sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ==", + "dev": true + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "requires": { + "ms": "^2.1.3" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "optional": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "optional": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron": { + "version": "43.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-43.2.0.tgz", + "integrity": "sha512-80zvrgG7ZRXD+tD0IyLvrnN9n+veSxadMRsMaC9wKKP3iUbtC7rGM8+dVuCmOb0Rrwwv8ESW4awnUZh9Hbp1fA==", + "dev": true, + "requires": { + "@electron-internal/extract-zip": "^1.0.1", + "@electron/get": "^5.0.0", + "@types/node": "^24.9.0" + } + }, + "electron-installer-common": { + "version": "0.10.4", + "resolved": "https://registry.npmmirror.com/electron-installer-common/-/electron-installer-common-0.10.4.tgz", + "integrity": "sha512-8gMNPXfAqUE5CfXg8RL0vXpLE9HAaPkgLXVoHE3BMUzogMWenf4LmwQ27BdCUrEhkjrKl+igs2IHJibclR3z3Q==", + "dev": true, + "optional": true, + "requires": { + "@electron/asar": "^3.2.5", + "@malept/cross-spawn-promise": "^1.0.0", + "@types/fs-extra": "^9.0.1", + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "parse-author": "^2.0.0", + "semver": "^7.1.1", + "tmp-promise": "^3.0.2" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "electron-installer-debian": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz", + "integrity": "sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "get-folder-size": "^2.0.1", + "lodash": "^4.17.4", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "optional": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true + } + } + }, + "electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "optional": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "optional": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true + } + } + }, + "electron-squirrel-startup": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/electron-squirrel-startup/-/electron-squirrel-startup-1.0.1.tgz", + "integrity": "sha512-sTfFIHGku+7PsHLJ7v0dRcZNkALrV+YEozINTW8X1nM//e5O3L+rfYuvSW00lmGHnYmUjARZulD8F2V8ISI9RA==", + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "electron-to-chromium": { + "version": "1.5.398", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.398.tgz", + "integrity": "sha512-AsvhAxopJGh6museTDMIjn6JpDYOfgu4RLlygomt87MUwBUqTfd/1EiPtx10/LZE8xpTvkP2E9Gafq7lkLtodQ==", + "dev": true + }, + "electron-winstaller": { + "version": "5.4.4", + "resolved": "https://registry.npmmirror.com/electron-winstaller/-/electron-winstaller-5.4.4.tgz", + "integrity": "sha512-j9ETcBGJaXxAY/b6UBpR7LZfjdU4BAO+yvr4ifqHEdyuc3UNCy91PDGkWKY5UQ4coHNYfnwFggrqD6QPeFGAlg==", + "dev": true, + "optional": true, + "requires": { + "@electron/asar": "^3.2.1", + "@electron/windows-sign": "^1.1.2", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "semver": "^7.6.3", + "temp": "^0.9.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "optional": true + } + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.24.4", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.24.4.tgz", + "integrity": "sha512-GVoi+ICHocoOIU7qVVM48wOJziRsqrsyqlI0Ce0LdowRn6v3bcH2zUa9kp85ncx0nwIb9/HOCOLS3fdThDG/XQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + } + }, + "env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "optional": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-module-lexer": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "dev": true + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "eta": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/eta/-/eta-3.5.0.tgz", + "integrity": "sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==", + "dev": true + }, + "eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, + "fast-uri": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.4.tgz", + "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "dev": true + }, + "fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flora-colossus": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/flora-colossus/-/flora-colossus-2.0.0.tgz", + "integrity": "sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "fs-extra": "^10.1.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "galactus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/galactus/-/galactus-1.0.0.tgz", + "integrity": "sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "flora-colossus": "^2.0.0", + "fs-extra": "^10.1.0" + } + }, + "gar": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "dev": true, + "optional": true, + "requires": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + } + }, + "get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + } + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "optional": true + }, + "got": { + "version": "11.8.6", + "resolved": "https://registry.npmmirror.com/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "requires": { + "@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" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "optional": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "ip-address": { + "version": "10.3.1", + "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-10.3.1.tgz", + "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "requires": { + "hasown": "^2.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "listr2": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/listr2/-/listr2-7.0.2.tgz", + "integrity": "sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==", + "dev": true, + "requires": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true + }, + "strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "requires": { + "ansi-regex": "^6.2.2" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "optional": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "requires": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "requires": { + "type-fest": "^1.0.2" + } + }, + "ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true + }, + "strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "requires": { + "ansi-regex": "^6.2.2" + } + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true + } + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minimizer-webpack-plugin": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + } + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true + }, + "negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-abi": { + "version": "3.94.0", + "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.94.0.tgz", + "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "node-addon-api": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz", + "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==" + }, + "node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==" + }, + "node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "dev": true + }, + "nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "requires": { + "abbrev": "^1.0.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "requires": { + "author-regex": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pe-library": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/pe-library/-/pe-library-1.0.1.tgz", + "integrity": "sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "plist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", + "dev": true, + "requires": { + "@xmldom/xmldom": "^0.9.10", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + } + }, + "postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmmirror.com/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "requires": { + "commander": "^9.4.0" + }, + "dependencies": { + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true + } + } + }, + "prettier": { + "version": "3.9.6", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.9.6.tgz", + "integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==", + "dev": true + }, + "proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "pump": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resedit": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/resedit/-/resedit-2.0.3.tgz", + "integrity": "sha512-oTeemxwoMuxxTYxXUwjkrOPfngTQehlv0/HoYFNkB4uzsP1Un1A9nI8JQKGOFkxpqkC7qkMs0lUsGrvUlbLNUA==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "requires": { + "pe-library": "^1.0.1" + } + }, + "resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true }, - "node_modules/node-addon-api": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz", - "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==", - "engines": { - "node": "^18 || ^20 || >= 21" + "rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" } }, - "node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmmirror.com/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "engines": { - "node": ">=0.4.0" + "requires": { + "queue-microtask": "^1.2.2" } }, - "node_modules/semver": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "semver": { "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "optional": true + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" }, - "engines": { - "node": ">=10" + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + } } }, - "node_modules/serialport": { + "serialport": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/serialport/-/serialport-13.0.0.tgz", "integrity": "sha512-PHpnTd8isMGPfFTZNCzOZp9m4mAJSNWle9Jxu6BPTcWq7YXl5qN7tp8Sgn0h+WIGcD6JFz5QDgixC2s4VW7vzg==", - "dependencies": { + "requires": { "@serialport/binding-mock": "10.2.2", "@serialport/bindings-cpp": "13.0.0", "@serialport/parser-byte-length": "13.0.0", @@ -391,319 +11088,673 @@ "@serialport/stream": "13.0.0", "debug": "4.4.0" }, - "engines": { - "node": ">=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/serialport/donate" + "dependencies": { + "debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "requires": { + "ms": "^2.1.3" + } + } } }, - "node_modules/serialport/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "dependencies": { + "ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true } } }, - "node_modules/sumchecker": { + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socks": { + "version": "2.8.9", + "resolved": "https://registry.npmmirror.com/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "dev": true, + "requires": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "dependencies": { - "debug": "^4.1.0" + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "optional": true + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, - "engines": { - "node": ">= 8.0" + "dependencies": { + "ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true + }, + "strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "requires": { + "ansi-regex": "^6.2.2" + } + } } }, - "node_modules/undici": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", - "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "optional": true, - "engines": { - "node": ">=20.18.1" + "requires": { + "ansi-regex": "^5.0.1" } }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true - } - }, - "dependencies": { - "@electron-internal/extract-zip": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.4.tgz", - "integrity": "sha512-Zr1Vs7E9tpCNhZHDAbFVXc2gEVCG9RqPDjrno5+bdgB6LRAuvgyMHJut4NCVyYwtAieapMzc3fiQ3CSTi75ARg==", + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "dev": true }, - "@electron/get": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", - "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, "requires": { - "debug": "^4.1.1", - "env-paths": "^3.0.0", - "graceful-fs": "^4.2.11", - "progress": "^2.0.3", - "semver": "^7.6.3", - "sumchecker": "^3.0.1", - "undici": "^7.24.4" + "escape-string-regexp": "^1.0.2" } }, - "@serialport/binding-mock": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz", - "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==", + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, "requires": { - "@serialport/bindings-interface": "^1.2.1", - "debug": "^4.3.3" + "debug": "^4.1.0" } }, - "@serialport/bindings-cpp": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-13.0.0.tgz", - "integrity": "sha512-r25o4Bk/vaO1LyUfY/ulR6hCg/aWiN6Wo2ljVlb4Pj5bqWGcSRC4Vse4a9AcapuAu/FeBzHCbKMvRQeCuKjzIQ==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { - "@serialport/bindings-interface": "1.2.2", - "@serialport/parser-readline": "12.0.0", - "debug": "4.4.0", - "node-addon-api": "8.3.0", - "node-gyp-build": "4.8.4" + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true + }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + } + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" }, "dependencies": { - "@serialport/parser-delimiter": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz", - "integrity": "sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==" - }, - "@serialport/parser-readline": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-12.0.0.tgz", - "integrity": "sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==", + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "optional": true, "requires": { - "@serialport/parser-delimiter": "12.0.0" + "minimist": "^1.2.6" } }, - "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, "requires": { - "ms": "^2.1.3" + "glob": "^7.1.3" } } } }, - "@serialport/bindings-interface": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz", - "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==" + "terser": { + "version": "5.49.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.49.0.tgz", + "integrity": "sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } }, - "@serialport/parser-byte-length": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-13.0.0.tgz", - "integrity": "sha512-32yvqeTAqJzAEtX5zCrN1Mej56GJ5h/cVFsCDPbF9S1ZSC9FWjOqNAgtByseHfFTSTs/4ZBQZZcZBpolt8sUng==" + "tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==", + "dev": true, + "optional": true }, - "@serialport/parser-cctalk": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-13.0.0.tgz", - "integrity": "sha512-RErAe57g9gvnlieVYGIn1xymb1bzNXb2QtUQd14FpmbQQYlcrmuRnJwKa1BgTCujoCkhtaTtgHlbBWOxm8U2uA==" + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } }, - "@serialport/parser-delimiter": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-13.0.0.tgz", - "integrity": "sha512-Qqyb0FX1avs3XabQqNaZSivyVbl/yl0jywImp7ePvfZKLwx7jBZjvL+Hawt9wIG6tfq6zbFM24vzCCK7REMUig==" + "tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "optional": true, + "requires": { + "tmp": "^0.2.0" + }, + "dependencies": { + "tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "optional": true + } + } }, - "@serialport/parser-inter-byte-timeout": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-13.0.0.tgz", - "integrity": "sha512-a0w0WecTW7bD2YHWrpTz1uyiWA2fDNym0kjmPeNSwZ2XCP+JbirZt31l43m2ey6qXItTYVuQBthm75sPVeHnGA==" + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } }, - "@serialport/parser-packet-length": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-13.0.0.tgz", - "integrity": "sha512-60ZDDIqYRi0Xs2SPZUo4Jr5LLIjtb+rvzPKMJCohrO6tAqSDponcNpcB1O4W21mKTxYjqInSz+eMrtk0LLfZIg==" + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, - "@serialport/parser-readline": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-13.0.0.tgz", - "integrity": "sha512-dov3zYoyf0dt1Sudd1q42VVYQ4WlliF0MYvAMA3MOyiU1IeG4hl0J6buBA2w4gl3DOCC05tGgLDN/3yIL81gsA==", + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, "requires": { - "@serialport/parser-delimiter": "13.0.0" + "escape-string-regexp": "^1.0.2" } }, - "@serialport/parser-ready": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-13.0.0.tgz", - "integrity": "sha512-JNUQA+y2Rfs4bU+cGYNqOPnNMAcayhhW+XJZihSLQXOHcZsFnOa2F9YtMg9VXRWIcnHldHYtisp62Etjlw24bw==" + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true }, - "@serialport/parser-regex": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-13.0.0.tgz", - "integrity": "sha512-m7HpIf56G5XcuDdA3DB34Z0pJiwxNRakThEHjSa4mG05OnWYv0IG8l2oUyYfuGMowQWaVnQ+8r+brlPxGVH+eA==" + "typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true }, - "@serialport/parser-slip-encoder": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-13.0.0.tgz", - "integrity": "sha512-fUHZEExm6izJ7rg0A1yjXwu4sOzeBkPAjDZPfb+XQoqgtKAk+s+HfICiYn7N2QU9gyaeCO8VKgWwi+b/DowYOg==" + "undici": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", + "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", + "dev": true, + "optional": true }, - "@serialport/parser-spacepacket": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-13.0.0.tgz", - "integrity": "sha512-DoXJ3mFYmyD8X/8931agJvrBPxqTaYDsPoly9/cwQSeh/q4EjQND9ySXBxpWz5WcpyCU4jOuusqCSAPsbB30Eg==" + "undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true }, - "@serialport/stream": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-13.0.0.tgz", - "integrity": "sha512-F7xLJKsjGo2WuEWMSEO1SimRcOA+WtWICsY13r0ahx8s2SecPQH06338g28OT7cW7uRXI7oEQAk62qh5gHJW3g==", + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, "requires": { - "@serialport/bindings-interface": "1.2.2", - "debug": "4.4.0" - }, - "dependencies": { - "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "requires": { - "ms": "^2.1.3" - } - } + "unique-slug": "^3.0.0" } }, - "@types/node": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", - "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "dev": true, "requires": { - "undici-types": "~7.18.0" + "imurmurhash": "^0.1.4" } }, - "debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, "requires": { - "ms": "^2.1.3" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, - "electron": { - "version": "43.2.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-43.2.0.tgz", - "integrity": "sha512-80zvrgG7ZRXD+tD0IyLvrnN9n+veSxadMRsMaC9wKKP3iUbtC7rGM8+dVuCmOb0Rrwwv8ESW4awnUZh9Hbp1fA==", + "username": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", "dev": true, "requires": { - "@electron-internal/extract-zip": "^1.0.1", - "@electron/get": "^5.0.0", - "@types/node": "^24.9.0" + "execa": "^1.0.0", + "mem": "^4.3.0" } }, - "env-paths": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", - "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "watchpack": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.5.2.tgz", + "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "webpack": { + "version": "5.109.2", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.109.2.tgz", + "integrity": "sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==", + "dev": true, + "requires": { + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.24.4", + "es-module-lexer": "^2.1.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "graceful-fs": "^4.2.11", + "mime-db": "^1.54.0", + "minimizer-webpack-plugin": "^5.6.1", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "watchpack": "^2.5.2", + "webpack-sources": "^3.5.1" + } }, - "node-addon-api": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz", - "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==" + "webpack-sources": { + "version": "3.5.1", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.5.1.tgz", + "integrity": "sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==", + "dev": true }, - "node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==" + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "optional": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true }, - "serialport": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/serialport/-/serialport-13.0.0.tgz", - "integrity": "sha512-PHpnTd8isMGPfFTZNCzOZp9m4mAJSNWle9Jxu6BPTcWq7YXl5qN7tp8Sgn0h+WIGcD6JFz5QDgixC2s4VW7vzg==", + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "dev": true, "requires": { - "@serialport/binding-mock": "10.2.2", - "@serialport/bindings-cpp": "13.0.0", - "@serialport/parser-byte-length": "13.0.0", - "@serialport/parser-cctalk": "13.0.0", - "@serialport/parser-delimiter": "13.0.0", - "@serialport/parser-inter-byte-timeout": "13.0.0", - "@serialport/parser-packet-length": "13.0.0", - "@serialport/parser-readline": "13.0.0", - "@serialport/parser-ready": "13.0.0", - "@serialport/parser-regex": "13.0.0", - "@serialport/parser-slip-encoder": "13.0.0", - "@serialport/parser-spacepacket": "13.0.0", - "@serialport/stream": "13.0.0", - "debug": "4.4.0" + "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" }, "dependencies": { - "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { - "ms": "^2.1.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } } } }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { - "debug": "^4.1.0" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "undici": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", - "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", - "dev": true, - "optional": true + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true }, - "undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", "dev": true } } diff --git a/package.json b/package.json index 56db820..6527e51 100644 --- a/package.json +++ b/package.json @@ -4,16 +4,27 @@ "description": "光伏pc端应用", "main": "main.js", "scripts": { - "start": "electron .", + "start": "electron-forge start", + "package": "electron-forge package", + "make": "electron-forge make", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "hao_li_work@163.com", "license": "ISC", "devDependencies": { + "@electron-forge/cli": "^7.11.2", + "@electron-forge/maker-deb": "^7.11.2", + "@electron-forge/maker-rpm": "^7.11.2", + "@electron-forge/maker-squirrel": "^7.11.2", + "@electron-forge/maker-zip": "^7.11.2", + "@electron-forge/plugin-auto-unpack-natives": "^7.11.2", + "@electron-forge/plugin-fuses": "^7.11.2", + "@electron/fuses": "^1.8.0", "electron": "^43.2.0" }, "dependencies": { + "electron-squirrel-startup": "^1.0.1", "serialport": "^13.0.0" } } diff --git a/preload.js b/preload.js index 0d4eaed..43280de 100644 --- a/preload.js +++ b/preload.js @@ -4,16 +4,13 @@ * @LastEditors: 李皓 hao_li_work@163.com * @LastEditTime: 2026-07-28 16:44:07 * @FilePath: \pc\preload.js - * @Description: + * @Description: * @Version: 1.0.0 */ const { contextBridge, ipcRenderer } = require('electron') const nodeNet = require('net') const dns = require('dns') -/** - * 尝试通过 TCP 连接指定端口检测主机是否可达 - */ function tryConnect(host, port, timeout) { return new Promise((resolve) => { const socket = new nodeNet.Socket() @@ -25,88 +22,132 @@ function tryConnect(host, port, timeout) { }) } -/** - * 网络检测对象 - */ -const networkUtil = { - /** - * 检测目标主机网络连通性 - * @param {string} host - 目标主机地址 - * @param {number} timeout - 超时时间(毫秒) - * @returns {Promise} - 是否可达 - */ +const net = { async ping(host, timeout) { - // 1. 先检查 DNS 能否解析 try { await dns.promises.resolve(host) } catch { return false } - - // 2. 依次尝试常见端口(443 优先,80 兜底) - const ports = [443, 80] - for (const port of ports) { - const ok = await tryConnect(host, port, timeout) - if (ok) return true + for (const port of [443, 80]) { + if (await tryConnect(host, port, timeout)) return true } - return false } } -/** - * 应用传感器对象 - * 静态页面设置 appSensor.onValueCallback = function(obj) { ... } - * obj 包含: { method, sensor, value } - */ -const sensorCallbacks = { onValueCallback: null } +const appCallbacks = { + onFileWrite: null, + onFileRead: null, + onFileDelete: null, + onPageModeChanged: null +} + +ipcRenderer.on('app-file-write-callback', (_event, token, filePath, success, err) => { + if (typeof appCallbacks.onFileWrite === 'function') appCallbacks.onFileWrite(token, filePath, success, err) +}) +ipcRenderer.on('app-file-read-callback', (_event, token, filePath, content) => { + if (typeof appCallbacks.onFileRead === 'function') appCallbacks.onFileRead(token, filePath, content) +}) +ipcRenderer.on('app-file-delete-callback', (_event, token, filePath, success) => { + if (typeof appCallbacks.onFileDelete === 'function') appCallbacks.onFileDelete(token, filePath, success) +}) +ipcRenderer.on('app-page-mode', (_event, mode) => { + if (typeof appCallbacks.onPageModeChanged === 'function') appCallbacks.onPageModeChanged(mode) +}) + +const app = { + clearCache() { return ipcRenderer.sendSync('app-clear-cache-sync') }, + versionCode() { return ipcRenderer.sendSync('app-version-code-sync') }, + setCache(key, value) { return ipcRenderer.sendSync('set-cache-sync', key, value) }, + getCache(key) { return ipcRenderer.sendSync('get-cache-sync', key) }, + offlinePage() { ipcRenderer.send('app-offline-page') }, + onlinePage() { ipcRenderer.send('app-online-page') }, + fileList(dir) { return ipcRenderer.sendSync('app-file-list-sync', dir) }, + fileWriteString(filePath, content, token) { ipcRenderer.send('app-file-write-string', filePath, content, token) }, + fileReadString(filePath, token) { ipcRenderer.send('app-file-read-string', filePath, token) }, + fileDelete(filePath, token) { ipcRenderer.send('app-file-delete', filePath, token) }, + get onFileWrite() { return appCallbacks.onFileWrite }, + set onFileWrite(fn) { appCallbacks.onFileWrite = fn }, + get onFileRead() { return appCallbacks.onFileRead }, + set onFileRead(fn) { appCallbacks.onFileRead = fn }, + get onFileDelete() { return appCallbacks.onFileDelete }, + set onFileDelete(fn) { appCallbacks.onFileDelete = fn }, + get onPageModeChanged() { return appCallbacks.onPageModeChanged }, + set onPageModeChanged(fn) { appCallbacks.onPageModeChanged = fn } +} + +const sensorCallbacks = { + onSensorAttached: null, + onSensorDetached: null, + onOperationCallback: null +} + +ipcRenderer.on('sensor-attached', (_event, data) => { + if (typeof sensorCallbacks.onSensorAttached === 'function') sensorCallbacks.onSensorAttached(data.id, data.name) +}) +ipcRenderer.on('sensor-detached', (_event, data) => { + if (typeof sensorCallbacks.onSensorDetached === 'function') sensorCallbacks.onSensorDetached(data.id, data.name) +}) +ipcRenderer.on('sensor-operation-callback', (_event, id, opId, result) => { + if (typeof sensorCallbacks.onOperationCallback === 'function') sensorCallbacks.onOperationCallback(id, opId, result) +}) + +const sensor = { + initAll() { return ipcRenderer.sendSync('sensor-init-all-sync') }, + flush() { return ipcRenderer.sendSync('sensor-flush-sync') }, + sensorList() { return ipcRenderer.sendSync('sensor-list-sync') }, + init(id) { return ipcRenderer.sendSync('sensor-init-sync', id) }, + open(id) { return ipcRenderer.sendSync('sensor-open-sync', id) }, + close(id) { return ipcRenderer.sendSync('sensor-close-sync', id) }, + operation(id, opId, args) { return ipcRenderer.sendSync('sensor-operation-sync', id, opId, args) }, + operationAsync(id, opId, args) { ipcRenderer.send('sensor-operation-async', id, opId, args) }, + get onSensorAttached() { return sensorCallbacks.onSensorAttached }, + set onSensorAttached(fn) { sensorCallbacks.onSensorAttached = fn }, + get onSensorDetached() { return sensorCallbacks.onSensorDetached }, + set onSensorDetached(fn) { sensorCallbacks.onSensorDetached = fn }, + get onOperationCallback() { return sensorCallbacks.onOperationCallback }, + set onOperationCallback(fn) { sensorCallbacks.onOperationCallback = fn } +} +const appSensorCallbacks = { onValueCallback: null } const appSensor = { version: '1.0.0', name: 'appSensor', - get onValueCallback() { - return sensorCallbacks.onValueCallback - }, - set onValueCallback(fn) { - sensorCallbacks.onValueCallback = fn - } + open() { return ipcRenderer.sendSync('app-sensor-open-sync') }, + close() { return ipcRenderer.sendSync('app-sensor-close-sync') }, + isOpen() { return ipcRenderer.sendSync('app-sensor-is-open-sync') }, + get onValueCallback() { return appSensorCallbacks.onValueCallback }, + set onValueCallback(fn) { appSensorCallbacks.onValueCallback = fn } } -// 监听主进程发送的传感器数据 ipcRenderer.on('sensor-data', (_event, data) => { - if (sensorCallbacks.onValueCallback) { - sensorCallbacks.onValueCallback(data) - } + if (typeof appSensorCallbacks.onValueCallback === 'function') appSensorCallbacks.onValueCallback(data) }) -/** - * 应用缓存对象(数据持久化到本地文件) - */ -const app = { - /** - * 获取缓存数据 - * @param {string} key - 缓存键名 - * @returns {Promise} 缓存值 - */ - getCache(key) { - return ipcRenderer.invoke('get-cache', key) - }, - /** - * 设置缓存数据 - * @param {string} key - 缓存键名 - * @param {any} value - 缓存值(建议传入 JSON.stringify 后的字符串) - * @returns {Promise} - */ - setCache(key, value) { - return ipcRenderer.invoke('set-cache', key, value) - } +const appLocationCallbacks = { + onOpened: null, + onLocationChanged: null +} + +ipcRenderer.on('app-location-opened', (_event, status) => { + if (typeof appLocationCallbacks.onOpened === 'function') appLocationCallbacks.onOpened(status) +}) +ipcRenderer.on('app-location-changed', (_event, location) => { + if (typeof appLocationCallbacks.onLocationChanged === 'function') appLocationCallbacks.onLocationChanged(location) +}) + +const appLocation = { + isSupport() { return ipcRenderer.sendSync('app-location-is-support-sync') }, + isOpen() { return ipcRenderer.sendSync('app-location-is-open-sync') }, + open() { ipcRenderer.send('app-location-open') }, + close() { ipcRenderer.send('app-location-close') }, + get onOpened() { return appLocationCallbacks.onOpened }, + set onOpened(fn) { appLocationCallbacks.onOpened = fn }, + get onLocationChanged() { return appLocationCallbacks.onLocationChanged }, + set onLocationChanged(fn) { appLocationCallbacks.onLocationChanged = fn } } -/** - * USB Serial JS 桥接对象 - * 静态页面可直接使用 usbSerial 或 window.usbSerial - * 接口规范: docs/webview-usb-serial.md - */ const usbSerialCallbacks = { onDeviceAttached: null, onDeviceDetached: null, @@ -117,31 +158,22 @@ const usbSerialCallbacks = { onDeviceData: null } -// 监听主进程发送的 usb 事件,转换为回调调用 -function setupUsbSerialListeners() { - const events = [ - ['usb-callback-device-attached', 'onDeviceAttached'], - ['usb-callback-device-detached', 'onDeviceDetached'], - ['usb-callback-device-discovered', 'onDeviceDiscovered'], - ['usb-callback-device-probe-result', 'onDeviceProbeResult'], - ['usb-callback-device-opened', 'onDeviceOpened'], - ['usb-callback-device-state', 'onDeviceState'], - ['usb-callback-device-data', 'onDeviceData'] - ] - - for (const [eventName, cbName] of events) { - ipcRenderer.on(eventName, (_event, jsonStr) => { - const cb = usbSerialCallbacks[cbName] - if (typeof cb === 'function') { - cb(jsonStr) - } - }) - } +for (const [eventName, cbName] of [ + ['usb-callback-device-attached', 'onDeviceAttached'], + ['usb-callback-device-detached', 'onDeviceDetached'], + ['usb-callback-device-discovered', 'onDeviceDiscovered'], + ['usb-callback-device-probe-result', 'onDeviceProbeResult'], + ['usb-callback-device-opened', 'onDeviceOpened'], + ['usb-callback-device-state', 'onDeviceState'], + ['usb-callback-device-data', 'onDeviceData'] +]) { + ipcRenderer.on(eventName, (_event, jsonStr) => { + const cb = usbSerialCallbacks[cbName] + if (typeof cb === 'function') cb(jsonStr) + }) } -setupUsbSerialListeners() const usbSerial = { - // --- 回调属性(可读写)--- get onDeviceAttached() { return usbSerialCallbacks.onDeviceAttached }, set onDeviceAttached(fn) { usbSerialCallbacks.onDeviceAttached = fn }, get onDeviceDetached() { return usbSerialCallbacks.onDeviceDetached }, @@ -156,17 +188,9 @@ const usbSerial = { set onDeviceState(fn) { usbSerialCallbacks.onDeviceState = fn }, get onDeviceData() { return usbSerialCallbacks.onDeviceData }, set onDeviceData(fn) { usbSerialCallbacks.onDeviceData = fn }, - - // --- 方法 --- - startDiscovery() { - ipcRenderer.send('usb-start-discovery') - }, - stopDiscovery() { - ipcRenderer.send('usb-stop-discovery') - }, - getDiscoveredDevices() { - return ipcRenderer.invoke('usb-get-discovered') - }, + startDiscovery() { ipcRenderer.send('usb-start-discovery') }, + stopDiscovery() { ipcRenderer.send('usb-stop-discovery') }, + getDiscoveredDevices() { return ipcRenderer.invoke('usb-get-discovered') }, deviceProbe(deviceName, portNumber, baudRate, hexCmd, timeoutMs) { ipcRenderer.send('usb-device-probe', { deviceName, portNumber, baudRate, hexCmd, timeoutMs }) }, @@ -181,8 +205,9 @@ const usbSerial = { } } -// 安全暴露 API 给渲染进程 -contextBridge.exposeInMainWorld('net', networkUtil) -contextBridge.exposeInMainWorld('appSensor', appSensor) contextBridge.exposeInMainWorld('app', app) +contextBridge.exposeInMainWorld('net', net) +contextBridge.exposeInMainWorld('sensor', sensor) +contextBridge.exposeInMainWorld('appSensor', appSensor) +contextBridge.exposeInMainWorld('appLocation', appLocation) contextBridge.exposeInMainWorld('usbSerial', usbSerial)