From c106819fbeb8e318f898d37aeb2895b3205adbce Mon Sep 17 00:00:00 2001 From: GhzHost Date: Thu, 5 Jun 2025 23:24:18 -0300 Subject: [PATCH 1/2] Commit inicial local --- .gitignore | 138 ++ README.md | 73 + index.html | 139 ++ launcher_log.json | 37 + logo.png | Bin 0 -> 35211 bytes main.js | 166 ++ package-lock.json | 4174 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 56 + preload.js | 8 + splash.html | 76 + 10 files changed, 4867 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 index.html create mode 100644 launcher_log.json create mode 100644 logo.png create mode 100644 main.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 preload.js create mode 100644 splash.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6953d03 --- /dev/null +++ b/.gitignore @@ -0,0 +1,138 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + + +.env \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..bd71b12 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# GHZHost Desktop App + +Um aplicativo desktop elegante e moderno para acessar os serviços da GHZHost. + +## Características + +- Interface moderna e responsiva +- Navegação por abas para diferentes serviços +- Animações suaves e efeitos visuais +- Indicador de status de conexão +- Tela de splash durante o carregamento +- Partículas animadas no background + +## Serviços Integrados + +- Home GHZHost +- MCP (Minecraft Control Panel) +- GCP (Game Control Panel) +- WCP (Web Control Panel) + +## Tecnologias Utilizadas + +- Electron +- HTML5 +- CSS3 +- JavaScript +- Canvas para animações + +## Requisitos + +- Node.js +- npm + +## Instalação + +1. Clone o repositório: +```bash +git clone https://github.com/ghzhost/Electron_Desktop +``` + +2. Instale as dependências: +```bash +npm install +``` + +3. Execute o aplicativo: +```bash +npm start +``` + +## Desenvolvimento + +Para iniciar o aplicativo em modo de desenvolvimento: + +```bash +npm start +``` + +## Build + +Para criar uma build do aplicativo: + +```bash +npm run build +``` + +## Licença + +ISC + +## Autor + +GHZHost Team diff --git a/index.html b/index.html new file mode 100644 index 0000000..cbdd93c --- /dev/null +++ b/index.html @@ -0,0 +1,139 @@ + + + + .:: GhzhHost Desktop APP ::. + + + + +
+
+
+ +
Carregando...
+
+
+
+ + + + \ No newline at end of file diff --git a/launcher_log.json b/launcher_log.json new file mode 100644 index 0000000..d8ff6ea --- /dev/null +++ b/launcher_log.json @@ -0,0 +1,37 @@ +[ + { + "timestamp": "2025-06-06T01:12:29.057Z", + "event": "launcher_start", + "version": "1.0.0", + "platform": "win32", + "arch": "x64" + }, + { + "timestamp": "2025-06-06T01:13:27.719Z", + "event": "launcher_start", + "version": "1.0.0", + "platform": "win32", + "arch": "x64" + }, + { + "timestamp": "2025-06-06T01:14:12.777Z", + "event": "launcher_start", + "version": "1.0.0", + "platform": "win32", + "arch": "x64" + }, + { + "timestamp": "2025-06-06T01:52:44.158Z", + "event": "launcher_start", + "version": "1.0.0", + "platform": "win32", + "arch": "x64" + }, + { + "timestamp": "2025-06-06T01:54:33.816Z", + "event": "launcher_start", + "version": "1.0.0", + "platform": "win32", + "arch": "x64" + } +] \ No newline at end of file diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0aff1a9b8f5ade84349fdec142186118dd635a63 GIT binary patch literal 35211 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 bh^NID!`=2mnL_FS00000NkvXXu0mjfEAJNz literal 0 HcmV?d00001 diff --git a/main.js b/main.js new file mode 100644 index 0000000..80fad8b --- /dev/null +++ b/main.js @@ -0,0 +1,166 @@ +const { app, BrowserWindow, BrowserView, session, Menu, globalShortcut } = require('electron'); +const path = require('path'); +const fs = require('fs'); +require('dotenv').config(); + +let mainWindow; +let splashWindow; +let currentView = null; + +function logLauncherStart() { + const logPath = path.join(__dirname, 'launcher_log.json'); + const timestamp = new Date().toISOString(); + const logEntry = { + timestamp, + event: 'launcher_start', + version: app.getVersion(), + platform: process.platform, + arch: process.arch + }; + + let logs = []; + try { + if (fs.existsSync(logPath)) { + const fileContent = fs.readFileSync(logPath, 'utf8'); + logs = JSON.parse(fileContent); + if (!Array.isArray(logs)) logs = []; + } + } catch (error) { + console.error('Erro ao ler arquivo de log:', error); + logs = []; + } + + logs.push(logEntry); + + try { + fs.writeFileSync(logPath, JSON.stringify(logs, null, 2), 'utf8'); + } catch (error) { + console.error('Erro ao escrever arquivo de log:', error); + } +} + +Menu.setApplicationMenu(null); + +function createSplashWindow() { + splashWindow = new BrowserWindow({ + width: 800, + height: 400, + transparent: true, + frame: false, + alwaysOnTop: true, + webPreferences: { + nodeIntegration: true, + contextIsolation: true + } + }); + + splashWindow.loadFile('splash.html'); + splashWindow.center(); +} + +async function createWindow() { + mainWindow = new BrowserWindow({ + width: 1200, + height: 800, + minWidth: 800, + minHeight: 600, + webPreferences: { + nodeIntegration: true, + contextIsolation: true, + preload: path.join(__dirname, 'preload.js'), + webSecurity: false, + allowRunningInsecureContent: true + }, + frame: true, + fullscreenable: true, + show: false, + fullscreen: true + }); + + session.defaultSession.webRequest.onHeadersReceived((details, callback) => { + callback({ + responseHeaders: { + ...details.responseHeaders, + 'Content-Security-Policy': ["default-src 'self' 'unsafe-inline' 'unsafe-eval' https: http: data: blob:"] + } + }); + }); + + mainWindow.loadFile('index.html'); + + const view = new BrowserView({ + webPreferences: { + nodeIntegration: true, + contextIsolation: false, + webSecurity: false, + allowRunningInsecureContent: true + } + }); + + mainWindow.addBrowserView(view); + currentView = view; + + const bounds = mainWindow.getBounds(); + view.setBounds({ + x: 0, + y: 0, + width: bounds.width, + height: bounds.height + }); + + view.webContents.loadURL('https://verseweb.ghzhost.com'); + + mainWindow.once('ready-to-show', () => { + setTimeout(() => { + splashWindow.destroy(); + mainWindow.setFullScreen(true); + mainWindow.show(); + }, 2000); + }); + + mainWindow.on('resize', () => { + if (currentView) { + const bounds = mainWindow.getBounds(); + currentView.setBounds({ + x: 0, + y: 0, + width: bounds.width, + height: bounds.height + }); + } + }); + + globalShortcut.register('F11', () => { + mainWindow.setFullScreen(!mainWindow.isFullScreen()); + }); + + globalShortcut.register('Alt+Enter', () => { + mainWindow.setFullScreen(!mainWindow.isFullScreen()); + }); + + mainWindow.on('closed', () => { + globalShortcut.unregisterAll(); + }); + + view.webContents.on('did-finish-load', () => { + mainWindow.webContents.send('view-loaded'); + }); +} + +app.whenReady().then(() => { + logLauncherStart(); + createSplashWindow(); + createWindow(); +}); + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } +}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..42af200 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4174 @@ +{ + "name": "ghzhost-verseweb-electron-app", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ghzhost-verseweb-electron-app", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@google/generative-ai": "^0.1.3", + "cors": "^2.8.5", + "dotenv": "^16.5.0", + "express": "^4.21.2", + "lowdb": "^7.0.1", + "uuid": "^11.1.0" + }, + "devDependencies": { + "electron": "^28.1.0", + "electron-builder": "^24.9.1", + "nodemon": "^3.1.0" + } + }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@develar/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@develar/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "dev": true, + "license": "MIT", + "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/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "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/@electron/get": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "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": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/get/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/notarize": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "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/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "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.0.5", + "dev": true, + "license": "BSD-2-Clause", + "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/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/universal": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^3.0.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@electron/universal/node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "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/@google/generative-ai": { + "version": "0.1.3", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "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/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "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/@malept/cross-spawn-promise": { + "version": "1.1.1", + "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" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "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/@tootallnate/once": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/http-cache-semantics": { + "dev": true + }, + "node_modules/@types/ms": { + "dev": true + }, + "node_modules/@types/node": { + "dev": true + }, + "node_modules/app-builder-lib": { + "version": "24.13.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/notarize": "2.2.1", + "@electron/osx-sign": "1.0.5", + "@electron/universal": "1.5.1", + "@malept/flatpak-bundler": "^0.4.0", + "@types/fs-extra": "9.0.13", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "electron-publish": "24.13.1", + "form-data": "^4.0.0", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "is-ci": "^3.0.0", + "isbinaryfile": "^5.0.0", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "minimatch": "^5.1.1", + "read-config-file": "6.3.2", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.8", + "tar": "^6.1.12", + "temp-file": "^3.4.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "24.13.3", + "electron-builder-squirrel-windows": "24.13.3" + } + }, + "node_modules/app-builder-lib/node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/app-builder-lib/node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/app-builder-lib/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "peer": 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/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/archiver/node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird-lst": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.5" + } + }, + "node_modules/bluebird-lst/node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/boolean": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/brace-expansion/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/braces": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/buffer/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/builder-util": { + "version": "24.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "4.0.0", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/builder-util/node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util/node_modules/app-builder-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", + "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "dev": true, + "license": "MIT", + "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/call-bind-apply-helpers": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "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/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "3.9.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/config-file-ts": { + "version": "0.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.3.10", + "typescript": "^5.3.3" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal": "^1.0.0", + "minimatch": "^3.0.4" + } + }, + "node_modules/dmg-builder": { + "version": "24.13.3", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "24.13.3", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dotenv": { + "version": "16.5.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "28.3.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "24.13.3", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "24.13.3", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "dmg-builder": "24.13.3", + "fs-extra": "^10.1.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "read-config-file": "6.3.2", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-24.13.3.tgz", + "integrity": "sha512-oHkV0iogWfyK+ah9ZIvMDpei1m9ZRpdXcvde1wTpra2U8AFDNNpqJdnin5z+PM1GbQ5BoaKCWas2HSjtR0HwMg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "24.13.3", + "archiver": "^5.3.1", + "builder-util": "24.13.1", + "fs-extra": "^10.1.0" + } + }, + "node_modules/electron-publish": { + "version": "24.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "24.13.1", + "builder-util-runtime": "9.2.4", + "chalk": "^4.1.2", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/electron-publish/node_modules/mime": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/electron/node_modules/@types/node": { + "version": "18.19.111", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.111.tgz", + "integrity": "sha512-90sGdgA+QLJr1F9X79tQuEut0gEYIfkX9pydI4XGRgvFo9g2JWswefI+WUSUHPYVBHYSEfTEqBxA5hQvAZB3Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.21.2", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "dev": true, + "license": "BSD-2-Clause", + "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/extract-zip/node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/forwarded": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "dev": true, + "license": "BSD-3-Clause", + "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/globalthis": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "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", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "dev": true, + "license": "MIT", + "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/got/node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/got/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/got/node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/got/node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/got/node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/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" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-binary-path/node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/isbinaryfile": { + "version": "5.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jackspeak/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lowdb": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "steno": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimatch/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nodemon": { + "version": "3.1.10", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/plist/node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/plist/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/progress": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-config-file": { + "version": "6.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "config-file-ts": "^0.2.4", + "dotenv": "^9.0.2", + "dotenv-expand": "^5.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "lazy-val": "^1.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/read-config-file/node_modules/dotenv": { + "version": "9.0.2", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "dev": true, + "license": "BSD-3-Clause", + "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/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.4.1", + "dev": true, + "license": "ISC" + }, + "node_modules/semver": { + "version": "7.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/send": { + "version": "0.19.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/steno": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/sumchecker/node_modules/debug": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "dev": true, + "license": "ISC", + "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-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "11.1.0", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "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/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "license": "MIT", + "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/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "peer": 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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..037ecb6 --- /dev/null +++ b/package.json @@ -0,0 +1,56 @@ +{ + "name": "ghzhost-verseweb-electron-app", + "version": "1.0.0", + "description": "Aplicativo Electron GhzHost VerseWEB - Cliente desktop para os serviços GhzHost VerseWEB", + "main": "main.js", + "scripts": { + "start": "electron .", + "build": "electron-builder", + "dev": "nodemon --watch main.js --watch gemini-api.js --exec electron ." + }, + "keywords": [ + "electron", + "ghzhost", + "verseweb", + "desktop", + "hospedagem", + "painel-de-controle" + ], + "author": "Equipe GhzHost VerseWEB", + "license": "ISC", + "dependencies": { + "@google/generative-ai": "^0.1.3", + "cors": "^2.8.5", + "dotenv": "^16.5.0", + "express": "^4.21.2", + "lowdb": "^7.0.1", + "uuid": "^11.1.0" + }, + "devDependencies": { + "electron": "^28.1.0", + "electron-builder": "^24.9.1", + "nodemon": "^3.1.0" + }, + "build": { + "appId": "com.ghzhost.verseweb.desktop", + "productName": "GhzHost VerseWEB Desktop", + "directories": { + "output": "dist" + }, + "files": [ + "**/*" + ], + "win": { + "target": ["nsis"], + "icon": "logo.png" + }, + "nsis": { + "oneClick": false, + "allowToChangeInstallationDirectory": true, + "createDesktopShortcut": true, + "createStartMenuShortcut": true, + "shortcutName": "GhzHost VerseWEB Desktop" + } + } + } + \ No newline at end of file diff --git a/preload.js b/preload.js new file mode 100644 index 0000000..7c78608 --- /dev/null +++ b/preload.js @@ -0,0 +1,8 @@ +const { contextBridge, ipcRenderer } = require('electron'); + +// No need for IPC handlers since we're only loading verseweb.ghzhost.com +contextBridge.exposeInMainWorld('electronAPI', { + onViewLoaded: (callback) => { + ipcRenderer.on('view-loaded', (event) => callback(event)); + } +}); \ No newline at end of file diff --git a/splash.html b/splash.html new file mode 100644 index 0000000..10e5cc5 --- /dev/null +++ b/splash.html @@ -0,0 +1,76 @@ + + + + Loading... + + + +
+ +
+
Iniciando...
+
+ + \ No newline at end of file From aec8aaeeca9cea56a948563307c85d6e796f8378 Mon Sep 17 00:00:00 2001 From: GhzHost Date: Thu, 5 Jun 2025 23:42:15 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20dos=20arquivos=20lo?= =?UTF-8?q?cais?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 73 ----------------------------------------------- index.html | 2 +- launcher_log.json | 14 +++++++++ 3 files changed, 15 insertions(+), 74 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index bd71b12..0000000 --- a/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# GHZHost Desktop App - -Um aplicativo desktop elegante e moderno para acessar os serviços da GHZHost. - -## Características - -- Interface moderna e responsiva -- Navegação por abas para diferentes serviços -- Animações suaves e efeitos visuais -- Indicador de status de conexão -- Tela de splash durante o carregamento -- Partículas animadas no background - -## Serviços Integrados - -- Home GHZHost -- MCP (Minecraft Control Panel) -- GCP (Game Control Panel) -- WCP (Web Control Panel) - -## Tecnologias Utilizadas - -- Electron -- HTML5 -- CSS3 -- JavaScript -- Canvas para animações - -## Requisitos - -- Node.js -- npm - -## Instalação - -1. Clone o repositório: -```bash -git clone https://github.com/ghzhost/Electron_Desktop -``` - -2. Instale as dependências: -```bash -npm install -``` - -3. Execute o aplicativo: -```bash -npm start -``` - -## Desenvolvimento - -Para iniciar o aplicativo em modo de desenvolvimento: - -```bash -npm start -``` - -## Build - -Para criar uma build do aplicativo: - -```bash -npm run build -``` - -## Licença - -ISC - -## Autor - -GHZHost Team diff --git a/index.html b/index.html index cbdd93c..3c1737c 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - .:: GhzhHost Desktop APP ::. + .:: GhzhHost Desktop VERSEWEB ::.