├── .env-example ├── .gitignore ├── Dockerfile ├── INSTALL.bat ├── LICENSE ├── NOTICE ├── README.md ├── START.bat ├── bot ├── config │ └── config.js ├── core │ └── generator.js └── utils │ ├── TldLogger.js │ ├── logger.js │ ├── luncher.js │ └── sleep.js ├── convertedSessions └── .gitkeep ├── docker-compose.yml ├── index.js ├── install.sh ├── package-lock.json ├── package.json └── sessions └── .gitkeep /.env-example: -------------------------------------------------------------------------------- 1 | API_ID= 2 | API_HASH= 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore all files in the sessions folder 2 | sessions/* 3 | 4 | # Allow the sessions folder 5 | !sessions/.gitkeep 6 | 7 | # Ignore all files in the sessions folder 8 | convertedSessions/* 9 | 10 | # Allow the sessions folder 11 | !convertedSessions/.gitkeep 12 | 13 | # Ignore the dist folder 14 | dist/ 15 | 16 | # Ignore the .env file 17 | .env 18 | 19 | # Ignore the node_modules folder 20 | node_modules/ 21 | 22 | # Ignore the session_user_agents.json file 23 | session_user_agents.json 24 | 25 | simulate_device.json 26 | 27 | # Ignore the Push.bat 28 | Push.bat 29 | 30 | # Ignore all files ending with .session 31 | *.session -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:18-alpine 2 | 3 | # Set the working directory 4 | WORKDIR /app 5 | 6 | # Copy package.json and package-lock.json (if available) 7 | COPY package*.json ./ 8 | 9 | # Install dependencies 10 | RUN npm install 11 | 12 | # Copy the rest of the application code 13 | COPY . . 14 | 15 | # Command to run the application 16 | CMD ["node", "index.js"] 17 | -------------------------------------------------------------------------------- /INSTALL.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Copying .env-example to .env... 3 | copy .env-example .env 4 | echo Please edit the .env file to add your API_ID and API_HASH after installation. 5 | echo Installing dependencies... 6 | npm install 7 | pause -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Terms and Conditions for Copying, Distribution, and Modification 2 | 3 | 1. Definitions: 4 | - "Software": refers to this project and all associated files. 5 | - "You": refers to the individual or legal entity accessing and using the Software. 6 | - "Non-Commercial": means not intended for or directed towards commercial advantage or monetary compensation. 7 | 2. Grant of License: 8 | Subject to the terms and conditions of this license, the copyright holder grants You a worldwide, royalty-free, non-exclusive, perpetual license to use, copy, modify, and distribute the Software, provided that: 9 | 10 | 1. You do not sell the Software or any modified versions of it. 11 | 2. You do not use the Software or any modified versions of it for commercial purposes. 12 | 13 | 3. Redistribution: 14 | You may redistribute the Software in its original or modified form, provided that You: 15 | 16 | 1. Include a copy of this license with any copy of the Software You distribute. 17 | 2. Clearly state any modifications made to the original Software. 18 | 19 | 4. Derivative Works 20 | You are allowed to create derivative works of the Software, provided that: 21 | 22 | 1. Any derivative works are distributed under the same terms as this license. 23 | 2. You do not sell any derivative works or use them for commercial purposes. 24 | 25 | 5. Disclaimer of Warranty 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 | 28 | 6. Limitation of Liability 29 | IN NO EVENT WILL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 30 | 31 | 7. Termination 32 | This license is effective until terminated. You may terminate it at any time by destroying all copies of the Software in your possession or control. This license will terminate immediately without notice from the copyright holder if You fail to comply with any provision of this license. 33 | 34 | 8. Miscellaneous 35 | If any provision of this license is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. 36 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Freddywhest/SessionConvertor/f06fd5ad63b60d1e30a18f047d753a59a76ce5c9/NOTICE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Session Convertor

2 | 3 | Session Convertor is a simple, yet powerful tool that facilitates the conversion of session strings between Pyrogram and Telethon sessions. This tool is designed to streamline the session handling process, enabling quickly and easily convert sessions for use in various Telegram bot frameworks. Whether you're switching between frameworks or simply need a one-time conversion, Session Convertor makes it effortless with its intuitive CLI interface and support for multiple sessions. 4 | 5 | ### Table of Contents 6 | 7 | - [Requirements](#requirements) 8 | - [Functionalities](#functionalities) 9 | - [Settings](#settings) 10 | - [Installation](#installation) 11 | - [Usage](#usage) 12 | - [Limitations](#limitations) 13 | - [License](#license) 14 | 15 | ### Requirements 16 | 17 | - [Node.js 18.x or 20.x](https://nodejs.org) 18 | - Must meet all Node.js requirements. [Read more about system requirements](https://docs.contrastsecurity.com/en/node-js-system-requirements.html) 19 | 20 | ### Functionalities 21 | 22 | | Feature | Supported | 23 | | -------------------------------------------- | :-------: | 24 | | Convert Pyrogram and Telethon sessions | ✅ | 25 | | Simultaneous conversion of multiple sessions | ✅ | 26 | 27 | ### [Settings](https://github.com/FreddyWhest/SessionConvertor/blob/main/.env-example) 28 | 29 | | Setting | Description | 30 | | --------------------- | ------------------------------------------------------ | 31 | | **API_ID / API_HASH** | Telegram API ID and Hash obtained from my.telegram.org | 32 | 33 | ### Installation 34 | 35 | To install the tool, you can clone the repository and install the necessary dependencies: 36 | 37 | ```shell 38 | ~ >>> git clone https://github.com/FreddyWhest/SessionConvertor.git 39 | ~ >>> cd SessionConvertor 40 | 41 | # Linux and MacOS 42 | ~/SessionConvertor >>> chmod +x check_node.sh 43 | ~/SessionConvertor >>> ./check_node.sh 44 | 45 | OR 46 | 47 | ~/SessionConvertor >>> npm install 48 | ~/SessionConvertor >>> cp .env-example .env 49 | ~/SessionConvertor >>> nano .env # Specify your API_ID and API_HASH; the rest will use default settings 50 | ~/SessionConvertor >>> node index.js 51 | 52 | # Windows 53 | 1. Double-click on INSTALL.bat in the SessionConvertor directory to install the dependencies. 54 | 2. Double-click on START.bat in the SessionConvertor directory to start the bot. 55 | 56 | OR 57 | 58 | ~/SessionConvertor >>> npm install 59 | ~/SessionConvertor >>> cp .env-example .env 60 | ~/SessionConvertor >>> # Specify your API_ID and API_HASH; the rest will use default settings 61 | ~/SessionConvertor >>> node index.js 62 | ``` 63 | 64 | Alternatively, for a quicker launch, you can use command-line arguments: 65 | 66 | ```shell 67 | ~/SessionConvertor >>> node index.js --action=1 68 | 69 | OR 70 | 71 | ~/SessionConvertor >>> node index.js --action=2 72 | 73 | # 1 - Create session 74 | # 2 - Run clicker 75 | ``` 76 | 77 | ### Usage 78 | 79 | - Place your Pyrogram or Telethon session files in the `sessions` folder. 80 | - Start the script by running `node index.js`. 81 | - Follow the prompts to convert the sessions. 82 | - Check the `convertedSessions` folder for the converted files. 83 | - You can then use these converted sessions in any of `Freddy Bots` or bots built with GramJs. 84 | - Enjoy! 85 | 86 | ### Limitations 87 | 88 | - Currently, it only supports converting sessions from Pyrogram and Telethon. 89 | - It does not support converting sessions to Pyrogram or Telethon. 90 | 91 | ### License 92 | 93 | For more information, please see the [License File](LICENSE). 94 | -------------------------------------------------------------------------------- /START.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Starting the bot... 3 | node index.js 4 | pause -------------------------------------------------------------------------------- /bot/config/config.js: -------------------------------------------------------------------------------- 1 | require("dotenv").config(); 2 | const settings = { 3 | API_ID: 4 | process.env.API_ID && /^\d+$/.test(process.env.API_ID) 5 | ? parseInt(process.env.API_ID) 6 | : process.env.API_ID && !/^\d+$/.test(process.env.API_ID) 7 | ? "N/A" 8 | : undefined, 9 | API_HASH: process.env.API_HASH || "", 10 | }; 11 | 12 | module.exports = settings; 13 | -------------------------------------------------------------------------------- /bot/core/generator.js: -------------------------------------------------------------------------------- 1 | const FdyConvertor = require("fdy-convertor"); 2 | const settings = require("../config/config"); 3 | const logger = require("../utils/logger"); 4 | const path = require("path"); 5 | const _ = require("lodash"); 6 | 7 | class Generator { 8 | /**@type {FdyConvertor} */ 9 | #fdyCovertor = null; 10 | constructor() { 11 | this.#fdyCovertor = new FdyConvertor({ 12 | path: process.cwd() + "/sessions", 13 | savePath: process.cwd() + "/convertedSessions", 14 | fileExt: ".sessions", 15 | }); 16 | } 17 | 18 | async convert(files, all = false) { 19 | try { 20 | if (_.size(files) > 0 && all == false) { 21 | const converted = await this.#fdyCovertor.convert(files); 22 | const results = converted.save({ 23 | apiHash: settings.API_HASH, 24 | apiId: settings.API_ID, 25 | }); 26 | 27 | logger.paragraph( 28 | `Sessions converted successfully\n
Converted sessions
${results?.new.join( 29 | "
" 30 | )}
\n\nLocation\n${path.join( 31 | process.cwd(), 32 | "convertedSessions" 33 | )}` 34 | ); 35 | } else if (all == true) { 36 | const converted = await this.#fdyCovertor.convert(); 37 | const results = converted.save({ 38 | apiHash: settings.API_HASH, 39 | apiId: settings.API_ID, 40 | }); 41 | 42 | logger.paragraph( 43 | `Sessions converted successfully\n
Converted sessions
${results?.new.join( 44 | "
" 45 | )}
\n\nLocation\n${path.join( 46 | process.cwd(), 47 | "convertedSessions" 48 | )}` 49 | ); 50 | } 51 | } catch (error) { 52 | logger.error(`Error while converting sessions: ${error}`); 53 | process.exit(1); 54 | } 55 | } 56 | } 57 | 58 | module.exports = Generator; 59 | -------------------------------------------------------------------------------- /bot/utils/TldLogger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const logger = require("./logger"); 4 | 5 | exports.Logger = exports.LogLevel = void 0; 6 | var LogLevel; 7 | (function (LogLevel) { 8 | LogLevel["NONE"] = "none"; 9 | LogLevel["ERROR"] = "error"; 10 | LogLevel["WARN"] = "warn"; 11 | LogLevel["INFO"] = "info"; 12 | LogLevel["DEBUG"] = "debug"; 13 | })((LogLevel = exports.LogLevel || (exports.LogLevel = {}))); 14 | class Logger { 15 | constructor(level) { 16 | this.levels = ["error", "warn", "info", "debug"]; 17 | // if (!_level) { 18 | // _level = level || "info"; // defaults to info 19 | // } 20 | this._logLevel = "error"; 21 | } 22 | /** 23 | * 24 | * @param level {string} 25 | * @returns {boolean} 26 | */ 27 | canSend(level) { 28 | return this._logLevel 29 | ? this.levels.indexOf(this._logLevel) >= this.levels.indexOf(level) 30 | : false; 31 | } 32 | /** 33 | * @param message {string} 34 | */ 35 | warn(message) { 36 | return null; 37 | } 38 | /** 39 | * @param message {string} 40 | */ 41 | info(message) { 42 | this._log( 43 | LogLevel.INFO, 44 | message 45 | .replace(/gramJS/i, "FreddyBot") 46 | .replace(/(version\s+)[\d.]+/, "$11.0.0") 47 | ); 48 | } 49 | /** 50 | * @param message {string} 51 | */ 52 | debug(message) { 53 | this._log(LogLevel.DEBUG, message); 54 | } 55 | /** 56 | * @param message {string} 57 | */ 58 | error(message) { 59 | this._log(LogLevel.ERROR, message); 60 | } 61 | 62 | get logLevel() { 63 | return this._logLevel; 64 | } 65 | setLevel(level) { 66 | this._logLevel = level; 67 | } 68 | static setLevel(level) { 69 | console.log( 70 | "Logger.setLevel is deprecated, it will has no effect. Please, use client.setLogLevel instead." 71 | ); 72 | } 73 | /** 74 | * @param level {string} 75 | * @param message {string} 76 | */ 77 | _log(level, message) { 78 | if (this.canSend(level)) { 79 | this.log(level, message); 80 | } else { 81 | return; 82 | } 83 | } 84 | 85 | log(level, message) { 86 | if (level == "info") { 87 | logger.info(message); 88 | } else if (level == "debug") { 89 | logger.debug(message); 90 | } else if (level == "error") { 91 | logger.error(message); 92 | } else if (level == "warn") { 93 | logger.warning(message); 94 | } 95 | } 96 | } 97 | const logger2 = new Logger(); 98 | module.exports = logger2; 99 | -------------------------------------------------------------------------------- /bot/utils/logger.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | 3 | class Logger { 4 | constructor() { 5 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 6 | this.GREEN = "\u001b[32m"; 7 | this.RED = "\u001b[31m"; 8 | this.YELLOW = "\u001b[33m"; 9 | this.BLUE = "\u001b[34m"; 10 | this.VOILET = "\u001b[35m"; 11 | this.LIGHT_BLUE = "\u001b[36m"; 12 | this.WHITE = "\u001b[37m"; 13 | this.PINK = "\u001b[38;5;201m"; 14 | this.LAVENDER = "\u001b[38;5;147m"; 15 | 16 | //Background colors 17 | this.BG_WHITE_CYAN = "\u001b[37;46m"; 18 | this.BG_RED = "\u001b[37;41m"; 19 | this.BG_GREEN = "\u001b[37;42m"; 20 | this.BG_YELLOW = "\u001b[37;43m"; 21 | this.BG_BLUE = "\u001b[37;44m"; 22 | this.BG_LIGHT_BLUE = "\u001b[37;45m"; 23 | this.BG_WHITE = "\u001b[47;45m"; 24 | 25 | this.RESET = "\u001b[0m"; 26 | this.BOLD = "\u001b[1m"; 27 | this.ITALICIZE = "\u001b[3m"; 28 | this.UNDERLINE = "\u001b[4m"; 29 | } 30 | 31 | #convertHtmlElementToAnsiColor(message) { 32 | if (!message) { 33 | return message; 34 | } 35 | 36 | return ( 37 | message 38 | // Text colors 39 | .replace(//g, this.BLUE) 40 | .replace(/<\/bl>/g, this.RESET) 41 | .replace(//g, this.RED) 42 | .replace(/<\/re>/g, this.RESET) 43 | .replace(//g, this.GREEN) 44 | .replace(/<\/gr>/g, this.RESET) 45 | .replace(//g, this.YELLOW) 46 | .replace(/<\/ye>/g, this.RESET) 47 | .replace(//g, this.PINK) 48 | .replace(/<\/pi>/g, this.RESET) 49 | .replace(//g, this.WHITE) 50 | .replace(/<\/wh>/g, this.RESET) 51 | .replace(//g, this.VOILET) 52 | .replace(/<\/vo>/g, this.RESET) 53 | .replace(//g, this.LAVENDER) 54 | .replace(/<\/la>/g, this.RESET) 55 | .replace(//g, this.LIGHT_BLUE) 56 | .replace(/<\/lb>/g, this.RESET) 57 | 58 | // Text styles 59 | .replace(//g, this.BOLD) 60 | .replace(/<\/b>/g, this.RESET) 61 | .replace(//g, this.ITALICIZE) 62 | .replace(/<\/i>/g, this.RESET) 63 | .replace(//g, this.UNDERLINE) 64 | .replace(/<\/u>/g, this.RESET) 65 | 66 | // Background colors 67 | .replace(//g, this.BG_WHITE_CYAN) 68 | .replace(/<\/wcb>/g, this.RESET) 69 | .replace(//g, this.BG_RED) 70 | .replace(/<\/reb>/g, this.RESET) 71 | .replace(//g, this.BG_GREEN) 72 | .replace(/<\/grb>/g, this.RESET) 73 | .replace(//g, this.BG_YELLOW) 74 | .replace(/<\/yeb>/g, this.RESET) 75 | .replace(//g, this.BG_BLUE) 76 | .replace(/<\/blb>/g, this.RESET) 77 | .replace(//g, this.BG_LIGHT_BLUE) 78 | .replace(/<\/lbb>/g, this.RESET) 79 | .replace(//g, this.BG_WHITE) 80 | .replace(/<\/whb>/g, this.RESET) 81 | 82 | // HTML tags 83 | .replace(/
/g, "\n") 84 | .replace(/
/g, "\n") 85 | ); 86 | } 87 | 88 | info(message) { 89 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 90 | console.log( 91 | this.#convertHtmlElementToAnsiColor( 92 | `${this.prefix} | INFO | ${message}` 93 | ) 94 | ); 95 | } 96 | 97 | warning(message) { 98 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 99 | console.log( 100 | this.#convertHtmlElementToAnsiColor( 101 | `${this.prefix} | WARN | ${message}` 102 | ) 103 | ); 104 | } 105 | 106 | error(message) { 107 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 108 | console.log( 109 | this.#convertHtmlElementToAnsiColor( 110 | `${this.prefix} | ERROR | ${message}` 111 | ) 112 | ); 113 | } 114 | 115 | debug(message) { 116 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 117 | console.log( 118 | this.#convertHtmlElementToAnsiColor( 119 | `${this.prefix} | DEBUG | ${message}` 120 | ) 121 | ); 122 | } 123 | 124 | success(message) { 125 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 126 | console.log( 127 | this.#convertHtmlElementToAnsiColor( 128 | `${this.prefix} | SUCCESS | ${message}` 129 | ) 130 | ); 131 | } 132 | 133 | #stripAnsiCodes(text) { 134 | const ansiRegex = /\x1b\[[0-9;]*m/g; 135 | return text.replace(ansiRegex, ""); 136 | } 137 | 138 | #addRoundedBorder(logText) { 139 | const lines = logText.split("\n"); 140 | 141 | const maxLength = lines.reduce( 142 | (max, line) => Math.max(max, this.#stripAnsiCodes(line).length), 143 | 0 144 | ); 145 | 146 | const topBorder = `${this.BLUE}╭${"─".repeat(maxLength + 2)}╮${this.RESET}`; 147 | const bottomBorder = `${this.BLUE}╰${"─".repeat(maxLength + 2)}╯${ 148 | this.RESET 149 | }`; 150 | console.log(topBorder); 151 | lines.forEach((line) => { 152 | const strippedLineLength = this.#stripAnsiCodes(line).length; 153 | console.log( 154 | `${this.BLUE}│${this.RESET} ${line}${" ".repeat( 155 | maxLength - strippedLineLength 156 | )} ${this.BLUE}│${this.RESET}` 157 | ); 158 | }); 159 | console.log(bottomBorder); 160 | } 161 | 162 | paragraph(message) { 163 | this.prefix = `[${moment().format("YYYY-MM-DD HH:mm:ss")}]`; 164 | this.#addRoundedBorder( 165 | this.#convertHtmlElementToAnsiColor( 166 | `${this.prefix}
167 | ${message}` 168 | ) 169 | ); 170 | } 171 | } 172 | 173 | const logger = new Logger(); 174 | 175 | module.exports = logger; 176 | -------------------------------------------------------------------------------- /bot/utils/luncher.js: -------------------------------------------------------------------------------- 1 | function a0_0xba2b(_0x73d6d2,_0x3789ca){const _0x34ff55=a0_0x34ff();return a0_0xba2b=function(_0xba2bf9,_0x41eb55){_0xba2bf9=_0xba2bf9-0xc4;let _0x147279=_0x34ff55[_0xba2bf9];return _0x147279;},a0_0xba2b(_0x73d6d2,_0x3789ca);}const a0_0x4c963b=a0_0xba2b;(function(_0x5c20de,_0x4cda40){const _0x18eee6=a0_0xba2b,_0x15d96c=_0x5c20de();while(!![]){try{const _0x49865d=parseInt(_0x18eee6(0xdb))/0x1*(-parseInt(_0x18eee6(0xf8))/0x2)+-parseInt(_0x18eee6(0xfd))/0x3*(parseInt(_0x18eee6(0xc5))/0x4)+-parseInt(_0x18eee6(0xdd))/0x5+parseInt(_0x18eee6(0xcc))/0x6+-parseInt(_0x18eee6(0xc9))/0x7*(parseInt(_0x18eee6(0xfa))/0x8)+-parseInt(_0x18eee6(0xdf))/0x9*(-parseInt(_0x18eee6(0xe2))/0xa)+parseInt(_0x18eee6(0xd1))/0xb;if(_0x49865d===_0x4cda40)break;else _0x15d96c['push'](_0x15d96c['shift']());}catch(_0x3b294f){_0x15d96c['push'](_0x15d96c['shift']());}}}(a0_0x34ff,0xd7231));const logger=require(a0_0x4c963b(0xde)),{select,input}=require(a0_0x4c963b(0xc8)),fs=require('fs'),path=require('path'),settings=require(a0_0x4c963b(0xd3)),{program,Option}=require(a0_0x4c963b(0xe9)),Generator=require(a0_0x4c963b(0xd4)),_=require(a0_0x4c963b(0xd9));class Luncher{#start_text;constructor(){const _0x1ace23=a0_0x4c963b;this.#start_text=_0x1ace23(0xce);}#printStartText(){const _0x4df93b=a0_0x4c963b;logger['paragraph'](_0x4df93b(0xcd)),console[_0x4df93b(0xfe)](this.#start_text);}async[a0_0x4c963b(0xea)](){const _0x21a1a9=a0_0x4c963b;let _0x545afe;program[_0x21a1a9(0xcf)](new Option(_0x21a1a9(0xe7),_0x21a1a9(0xe3))[_0x21a1a9(0xd7)](['1','2']))['showHelpAfterError'](!![]),program[_0x21a1a9(0xc4)]();const _0x55803b=program[_0x21a1a9(0xc7)]();_0x545afe=_0x55803b?parseInt(_0x55803b['action']):null;if(!_0x545afe){this.#printStartText();let _0x56e1f7='';while(!![]){_0x56e1f7=await select({'message':'What\x20would\x20you\x20like\x20to\x20do:\x0a','choices':[{'name':_0x21a1a9(0xdc),'value':'1','description':_0x21a1a9(0xe4)},{'name':_0x21a1a9(0xe0),'value':'2','description':_0x21a1a9(0xcb)}]});if(!_0x56e1f7[_0x21a1a9(0xfc)]()[_0x21a1a9(0xd6)](/^[1-2]$/))logger['warning'](_0x21a1a9(0xf7));else break;}_0x545afe=parseInt(_0x56e1f7['trim']());}if(_0x545afe===0x1)this.#run_tasks();else _0x545afe===0x2&&process[_0x21a1a9(0xd0)](0x0);}#check_sessions(_0x3a1655=[]){const _0x4cc187=a0_0x4c963b,_0x41f05e=path[_0x4cc187(0xca)](process[_0x4cc187(0xf5)](),_0x4cc187(0xeb));for(const _0x48210d of _0x3a1655){!fs[_0x4cc187(0xd8)](path[_0x4cc187(0xca)](_0x41f05e,_0x48210d))&&(logger[_0x4cc187(0xf4)](_0x4cc187(0xee)+_0x48210d+_0x4cc187(0xfb)),process[_0x4cc187(0xd0)](0x0));}}#check_sessions_folder(){const _0x5b44d8=a0_0x4c963b,_0x5370ac=path[_0x5b44d8(0xca)](process[_0x5b44d8(0xf5)](),'sessions');!fs[_0x5b44d8(0xd8)](_0x5370ac)&&fs[_0x5b44d8(0xc6)](_0x5370ac,{'recursive':!![]});}async #run_tasks(){const _0x407dbd=a0_0x4c963b;let _0x640621='',_0x195cf6,_0x383973;const _0x597858=path[_0x407dbd(0xca)](process[_0x407dbd(0xf5)](),'sessions');this.#check_sessions_folder();while(!![]){_0x640621=await select({'message':'Which\x20method\x20would\x20you\x20like\x20to\x20use:\x0a','choices':[{'name':_0x407dbd(0xf2),'value':'1','description':_0x407dbd(0xf6)},{'name':_0x407dbd(0xe1),'value':'2','description':_0x407dbd(0xf0)}]});if(!_0x640621[_0x407dbd(0xfc)]()[_0x407dbd(0xd6)](/^[1-2]$/))logger[_0x407dbd(0xf3)](_0x407dbd(0xf7));else break;}_0x195cf6=parseInt(_0x640621[_0x407dbd(0xfc)]());let _0x235c4a=[];if(_0x195cf6===0x1)_0x235c4a=fs[_0x407dbd(0xef)](_0x597858),_0x235c4a=_0x235c4a['filter'](_0x26a6e9=>_0x26a6e9[_0x407dbd(0xed)]('.session')),_0x235c4a[_0x407dbd(0xf9)]<0x1&&(logger[_0x407dbd(0xf4)](_0x407dbd(0xe8)),process[_0x407dbd(0xd0)](0x0)),this.#check_sessions(_0x235c4a),_0x383973=!![];else{if(_0x195cf6===0x2){let _0x2cc190=await input({'message':'Enter\x20the\x20session\x20file(s)\x20you\x20want\x20to\x20convert\x20(separated\x20by\x20comma[,]):\x20','validate':_0x2fc672=>{const _0xfe205c=_0x407dbd;if(_0x2fc672[_0xfe205c(0xfc)]()[_0xfe205c(0xe5)](',')['length']<0x1)return _0xfe205c(0xec);if(!_0x2fc672['split'](',')[_0xfe205c(0xd5)](_0x21e16d=>fs['existsSync'](path['join'](_0x597858,_0x21e16d))))return _0xfe205c(0xf1);if(!_0x2fc672[_0xfe205c(0xe5)](',')['every'](_0x5db465=>_0x5db465['endsWith'](_0xfe205c(0xda))))return'One\x20or\x20more\x20session\x20file(s)\x20does\x20not\x20have\x20.session\x20extension.\x20Rename\x20or\x20add\x20.session\x20extension\x20to\x20each\x20file.';return!![];},'required':!![]});this.#check_sessions(_0x235c4a),_0x235c4a=_0x2cc190[_0x407dbd(0xe5)](',')[_0x407dbd(0xd2)](_0x535cc3=>_0x535cc3[_0x407dbd(0xfc)]()),_0x383973=![];}}await new Generator()[_0x407dbd(0xe6)](_0x235c4a,_0x383973);}}const luncher=new Luncher();module['exports']=luncher;function a0_0x34ff(){const _0x44029a=['../config/config','../core/generator','every','match','choices','existsSync','lodash','.session','1726379jijMvQ','Convert\x20sessions','5999985TuSGiE','./logger','9UdgkNT','Exit\x20bot','Convert\x20a\x20specific\x20session\x20file?','2744530wHIGbE','Action\x20type','\x0aConvert\x20your\x20sessions\x20from\x20telethon\x20or\x20pyrogram','split','convert','--action\x20','[session-convertor]\x20|\x20No\x20session\x20files\x20found\x20in\x20the\x20sessions\x20folder.','commander','process','sessions','Please\x20enter\x20at\x20least\x20one\x20session\x20file.','endsWith','[session-convertor]\x20|\x20Session\x20file\x20','readdirSync','\x0aThis\x20will\x20convert\x20specific\x20session\x20file(s)\x20you\x20choose','One\x20or\x20more\x20session\x20file(s)\x20does\x20not\x20exist.','Convert\x20all\x20sessions\x20files\x20in\x20sessions\x20folder?','warning','error','cwd','\x0aThis\x20will\x20convert\x20all\x20sessions\x20files\x20in\x20the\x20sessions\x20folder','Action\x20must\x20be\x201\x20or\x202','2ayKGfA','length','8Aqhhkj','\x20not\x20found!\x20Check\x20the\x20file\x20name\x20and\x20try\x20again.','trim','115638uFFPQr','log','parse','52OKRrLD','mkdirSync','opts','@inquirer/prompts','10891398kVHJTs','join','\x0aExit\x20the\x20bot','9268830qZXZbj','Welcome\x20to\x20Freddy\x20Bots.\x0aSession\x20Convertor\x20v1.0.0\x0a\x0aFor\x20updates\x20and\x20more\x20bots\x20join\x20us:\x20\x0ahttps://t.me/freddy_bots\x0a','\x0a╔═══╗\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20╔╗\x20\x20\x20\x20\x20\x20\x20\x20╔══╗\x20\x20\x20\x20\x20\x20╔╗\x20\x0a║╔═╗║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20╔╝╚╗\x20\x20\x20\x20\x20\x20\x20║╔╗║\x20\x20\x20\x20\x20╔╝╚╗\x0a║║\x20╚╝╔══╗╔═╗\x20╔╗╔╗╔══╗╔═╗╚╗╔╝╔══╗╔═╗║╚╝╚╗╔══╗╚╗╔╝\x0a║║\x20╔╗║╔╗║║╔╗╗║╚╝║║╔╗║║╔╝\x20║║\x20║╔╗║║╔╝║╔═╗║║╔╗║\x20║║\x20\x0a║╚═╝║║╚╝║║║║║╚╗╔╝║║═╣║║\x20\x20║╚╗║╚╝║║║\x20║╚═╝║║╚╝║\x20║╚╗\x0a╚═══╝╚══╝╚╝╚╝\x20╚╝\x20╚══╝╚╝\x20\x20╚═╝╚══╝╚╝\x20╚═══╝╚══╝\x20╚═╝\x0a\x0a©\x20Freddy\x20Bots\x0a','addOption','exit','44498641OntrTb','map'];a0_0x34ff=function(){return _0x44029a;};return a0_0x34ff();} -------------------------------------------------------------------------------- /bot/utils/sleep.js: -------------------------------------------------------------------------------- 1 | function sleep(seconds) { 2 | return new Promise((resolve) => setTimeout(resolve, seconds * 1000)); 3 | } 4 | 5 | module.exports = sleep; 6 | -------------------------------------------------------------------------------- /convertedSessions/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Freddywhest/SessionConvertor/f06fd5ad63b60d1e30a18f047d753a59a76ce5c9/convertedSessions/.gitkeep -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | services: 3 | bot: 4 | container_name: "BunnyAppBot-Bot" 5 | build: 6 | context: . 7 | stop_signal: SIGINT 8 | restart: unless-stopped 9 | command: "node index.js" 10 | volumes: 11 | - .:/app 12 | - ./sessions:/app/sessions 13 | env_file: 14 | - .env 15 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const logger = require("./bot/utils/logger"); 2 | const luncher = require("./bot/utils/luncher"); 3 | 4 | const main = async () => { 5 | const nodeVersion = process.version; 6 | const major = process.versions 7 | ? parseInt(nodeVersion.split(".")[0].replace("v", ""), 10) 8 | : 0; 9 | if (major < 18 || major > 20 || isNaN(major) || major === 0) { 10 | return logger.error( 11 | "To run this bot, Node.js version 18.x or 20.x is required.\n Current version: " + 12 | nodeVersion + 13 | "" 14 | ); 15 | } 16 | await luncher.process(); 17 | }; 18 | 19 | // Wrap main function execution in an async context to handle asynchronous operations 20 | (async () => { 21 | try { 22 | await main(); 23 | } catch (error) { 24 | throw error; 25 | } 26 | })(); 27 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Function to check if a command exists 4 | command_exists() { 5 | command -v "$1" >/dev/null 2>&1 6 | } 7 | 8 | # Check if Node.js is installed 9 | if command_exists node; then 10 | echo "Preparing to install npm packages..." 11 | else 12 | echo "Node.js is not installed. Installing Node.js..." 13 | 14 | # Install Node.js (This assumes a Debian-based system like Ubuntu) 15 | curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - 16 | sudo apt-get install -y nodejs 17 | 18 | # Verify installation 19 | if command_exists node; then 20 | echo "Node.js successfully installed." 21 | else 22 | echo "Failed to install Node.js. Exiting." 23 | exit 1 24 | fi 25 | fi 26 | 27 | # Install npm packages 28 | echo "Installing npm packages..." 29 | npm install 30 | 31 | # Verify installation of npm packages 32 | if [ $? -eq 0 ]; then 33 | echo "npm packages successfully installed." 34 | else 35 | echo "Failed to install npm packages. Exiting." 36 | exit 1 37 | fi 38 | 39 | echo "Copying .env-example to .env..." 40 | cp .env-example .env 41 | 42 | echo "Please edit the .env file to add your API_ID and API_HASH." 43 | read -p "Press any key to continue..." 44 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "session-bot", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "session-bot", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@inquirer/prompts": "^5.3.2", 13 | "commander": "^12.1.0", 14 | "dotenv": "^16.4.5", 15 | "fdy-convertor": "^1.0.4", 16 | "lodash": "^4.17.21", 17 | "moment": "^2.30.1", 18 | "strip-ansi": "^7.1.0", 19 | "telegram": "^2.22.2" 20 | } 21 | }, 22 | "node_modules/@cryptography/aes": { 23 | "version": "0.1.1", 24 | "resolved": "https://registry.npmjs.org/@cryptography/aes/-/aes-0.1.1.tgz", 25 | "integrity": "sha512-PcYz4FDGblO6tM2kSC+VzhhK62vml6k6/YAkiWtyPvrgJVfnDRoHGDtKn5UiaRRUrvUTTocBpvc2rRgTCqxjsg==" 26 | }, 27 | "node_modules/@gar/promisify": { 28 | "version": "1.1.3", 29 | "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", 30 | "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", 31 | "optional": true 32 | }, 33 | "node_modules/@inquirer/checkbox": { 34 | "version": "2.5.0", 35 | "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.5.0.tgz", 36 | "integrity": "sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==", 37 | "dependencies": { 38 | "@inquirer/core": "^9.1.0", 39 | "@inquirer/figures": "^1.0.5", 40 | "@inquirer/type": "^1.5.3", 41 | "ansi-escapes": "^4.3.2", 42 | "yoctocolors-cjs": "^2.1.2" 43 | }, 44 | "engines": { 45 | "node": ">=18" 46 | } 47 | }, 48 | "node_modules/@inquirer/confirm": { 49 | "version": "3.2.0", 50 | "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz", 51 | "integrity": "sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==", 52 | "dependencies": { 53 | "@inquirer/core": "^9.1.0", 54 | "@inquirer/type": "^1.5.3" 55 | }, 56 | "engines": { 57 | "node": ">=18" 58 | } 59 | }, 60 | "node_modules/@inquirer/core": { 61 | "version": "9.2.1", 62 | "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", 63 | "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", 64 | "dependencies": { 65 | "@inquirer/figures": "^1.0.6", 66 | "@inquirer/type": "^2.0.0", 67 | "@types/mute-stream": "^0.0.4", 68 | "@types/node": "^22.5.5", 69 | "@types/wrap-ansi": "^3.0.0", 70 | "ansi-escapes": "^4.3.2", 71 | "cli-width": "^4.1.0", 72 | "mute-stream": "^1.0.0", 73 | "signal-exit": "^4.1.0", 74 | "strip-ansi": "^6.0.1", 75 | "wrap-ansi": "^6.2.0", 76 | "yoctocolors-cjs": "^2.1.2" 77 | }, 78 | "engines": { 79 | "node": ">=18" 80 | } 81 | }, 82 | "node_modules/@inquirer/core/node_modules/@inquirer/type": { 83 | "version": "2.0.0", 84 | "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", 85 | "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", 86 | "dependencies": { 87 | "mute-stream": "^1.0.0" 88 | }, 89 | "engines": { 90 | "node": ">=18" 91 | } 92 | }, 93 | "node_modules/@inquirer/core/node_modules/ansi-regex": { 94 | "version": "5.0.1", 95 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 96 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 97 | "engines": { 98 | "node": ">=8" 99 | } 100 | }, 101 | "node_modules/@inquirer/core/node_modules/strip-ansi": { 102 | "version": "6.0.1", 103 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 104 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 105 | "dependencies": { 106 | "ansi-regex": "^5.0.1" 107 | }, 108 | "engines": { 109 | "node": ">=8" 110 | } 111 | }, 112 | "node_modules/@inquirer/editor": { 113 | "version": "2.2.0", 114 | "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", 115 | "integrity": "sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==", 116 | "dependencies": { 117 | "@inquirer/core": "^9.1.0", 118 | "@inquirer/type": "^1.5.3", 119 | "external-editor": "^3.1.0" 120 | }, 121 | "engines": { 122 | "node": ">=18" 123 | } 124 | }, 125 | "node_modules/@inquirer/expand": { 126 | "version": "2.3.0", 127 | "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz", 128 | "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==", 129 | "dependencies": { 130 | "@inquirer/core": "^9.1.0", 131 | "@inquirer/type": "^1.5.3", 132 | "yoctocolors-cjs": "^2.1.2" 133 | }, 134 | "engines": { 135 | "node": ">=18" 136 | } 137 | }, 138 | "node_modules/@inquirer/figures": { 139 | "version": "1.0.6", 140 | "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz", 141 | "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==", 142 | "engines": { 143 | "node": ">=18" 144 | } 145 | }, 146 | "node_modules/@inquirer/input": { 147 | "version": "2.3.0", 148 | "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.3.0.tgz", 149 | "integrity": "sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==", 150 | "dependencies": { 151 | "@inquirer/core": "^9.1.0", 152 | "@inquirer/type": "^1.5.3" 153 | }, 154 | "engines": { 155 | "node": ">=18" 156 | } 157 | }, 158 | "node_modules/@inquirer/number": { 159 | "version": "1.1.0", 160 | "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.1.0.tgz", 161 | "integrity": "sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==", 162 | "dependencies": { 163 | "@inquirer/core": "^9.1.0", 164 | "@inquirer/type": "^1.5.3" 165 | }, 166 | "engines": { 167 | "node": ">=18" 168 | } 169 | }, 170 | "node_modules/@inquirer/password": { 171 | "version": "2.2.0", 172 | "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.2.0.tgz", 173 | "integrity": "sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==", 174 | "dependencies": { 175 | "@inquirer/core": "^9.1.0", 176 | "@inquirer/type": "^1.5.3", 177 | "ansi-escapes": "^4.3.2" 178 | }, 179 | "engines": { 180 | "node": ">=18" 181 | } 182 | }, 183 | "node_modules/@inquirer/prompts": { 184 | "version": "5.5.0", 185 | "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.5.0.tgz", 186 | "integrity": "sha512-BHDeL0catgHdcHbSFFUddNzvx/imzJMft+tWDPwTm3hfu8/tApk1HrooNngB2Mb4qY+KaRWF+iZqoVUPeslEog==", 187 | "dependencies": { 188 | "@inquirer/checkbox": "^2.5.0", 189 | "@inquirer/confirm": "^3.2.0", 190 | "@inquirer/editor": "^2.2.0", 191 | "@inquirer/expand": "^2.3.0", 192 | "@inquirer/input": "^2.3.0", 193 | "@inquirer/number": "^1.1.0", 194 | "@inquirer/password": "^2.2.0", 195 | "@inquirer/rawlist": "^2.3.0", 196 | "@inquirer/search": "^1.1.0", 197 | "@inquirer/select": "^2.5.0" 198 | }, 199 | "engines": { 200 | "node": ">=18" 201 | } 202 | }, 203 | "node_modules/@inquirer/rawlist": { 204 | "version": "2.3.0", 205 | "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.3.0.tgz", 206 | "integrity": "sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==", 207 | "dependencies": { 208 | "@inquirer/core": "^9.1.0", 209 | "@inquirer/type": "^1.5.3", 210 | "yoctocolors-cjs": "^2.1.2" 211 | }, 212 | "engines": { 213 | "node": ">=18" 214 | } 215 | }, 216 | "node_modules/@inquirer/search": { 217 | "version": "1.1.0", 218 | "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.1.0.tgz", 219 | "integrity": "sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==", 220 | "dependencies": { 221 | "@inquirer/core": "^9.1.0", 222 | "@inquirer/figures": "^1.0.5", 223 | "@inquirer/type": "^1.5.3", 224 | "yoctocolors-cjs": "^2.1.2" 225 | }, 226 | "engines": { 227 | "node": ">=18" 228 | } 229 | }, 230 | "node_modules/@inquirer/select": { 231 | "version": "2.5.0", 232 | "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.5.0.tgz", 233 | "integrity": "sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==", 234 | "dependencies": { 235 | "@inquirer/core": "^9.1.0", 236 | "@inquirer/figures": "^1.0.5", 237 | "@inquirer/type": "^1.5.3", 238 | "ansi-escapes": "^4.3.2", 239 | "yoctocolors-cjs": "^2.1.2" 240 | }, 241 | "engines": { 242 | "node": ">=18" 243 | } 244 | }, 245 | "node_modules/@inquirer/type": { 246 | "version": "1.5.5", 247 | "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", 248 | "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", 249 | "dependencies": { 250 | "mute-stream": "^1.0.0" 251 | }, 252 | "engines": { 253 | "node": ">=18" 254 | } 255 | }, 256 | "node_modules/@npmcli/fs": { 257 | "version": "1.1.1", 258 | "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", 259 | "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", 260 | "optional": true, 261 | "dependencies": { 262 | "@gar/promisify": "^1.0.1", 263 | "semver": "^7.3.5" 264 | } 265 | }, 266 | "node_modules/@npmcli/move-file": { 267 | "version": "1.1.2", 268 | "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", 269 | "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", 270 | "deprecated": "This functionality has been moved to @npmcli/fs", 271 | "optional": true, 272 | "dependencies": { 273 | "mkdirp": "^1.0.4", 274 | "rimraf": "^3.0.2" 275 | }, 276 | "engines": { 277 | "node": ">=10" 278 | } 279 | }, 280 | "node_modules/@tootallnate/once": { 281 | "version": "1.1.2", 282 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 283 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 284 | "optional": true, 285 | "engines": { 286 | "node": ">= 6" 287 | } 288 | }, 289 | "node_modules/@types/mute-stream": { 290 | "version": "0.0.4", 291 | "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", 292 | "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", 293 | "dependencies": { 294 | "@types/node": "*" 295 | } 296 | }, 297 | "node_modules/@types/node": { 298 | "version": "22.5.5", 299 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", 300 | "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", 301 | "dependencies": { 302 | "undici-types": "~6.19.2" 303 | } 304 | }, 305 | "node_modules/@types/wrap-ansi": { 306 | "version": "3.0.0", 307 | "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", 308 | "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==" 309 | }, 310 | "node_modules/abbrev": { 311 | "version": "1.1.1", 312 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 313 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 314 | "optional": true 315 | }, 316 | "node_modules/agent-base": { 317 | "version": "6.0.2", 318 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 319 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 320 | "optional": true, 321 | "dependencies": { 322 | "debug": "4" 323 | }, 324 | "engines": { 325 | "node": ">= 6.0.0" 326 | } 327 | }, 328 | "node_modules/agentkeepalive": { 329 | "version": "4.5.0", 330 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", 331 | "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", 332 | "optional": true, 333 | "dependencies": { 334 | "humanize-ms": "^1.2.1" 335 | }, 336 | "engines": { 337 | "node": ">= 8.0.0" 338 | } 339 | }, 340 | "node_modules/aggregate-error": { 341 | "version": "3.1.0", 342 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 343 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 344 | "optional": true, 345 | "dependencies": { 346 | "clean-stack": "^2.0.0", 347 | "indent-string": "^4.0.0" 348 | }, 349 | "engines": { 350 | "node": ">=8" 351 | } 352 | }, 353 | "node_modules/ansi-escapes": { 354 | "version": "4.3.2", 355 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 356 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 357 | "dependencies": { 358 | "type-fest": "^0.21.3" 359 | }, 360 | "engines": { 361 | "node": ">=8" 362 | }, 363 | "funding": { 364 | "url": "https://github.com/sponsors/sindresorhus" 365 | } 366 | }, 367 | "node_modules/ansi-regex": { 368 | "version": "6.1.0", 369 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 370 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 371 | "engines": { 372 | "node": ">=12" 373 | }, 374 | "funding": { 375 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 376 | } 377 | }, 378 | "node_modules/ansi-styles": { 379 | "version": "4.3.0", 380 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 381 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 382 | "dependencies": { 383 | "color-convert": "^2.0.1" 384 | }, 385 | "engines": { 386 | "node": ">=8" 387 | }, 388 | "funding": { 389 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 390 | } 391 | }, 392 | "node_modules/aproba": { 393 | "version": "2.0.0", 394 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", 395 | "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", 396 | "optional": true 397 | }, 398 | "node_modules/are-we-there-yet": { 399 | "version": "3.0.1", 400 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", 401 | "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", 402 | "deprecated": "This package is no longer supported.", 403 | "optional": true, 404 | "dependencies": { 405 | "delegates": "^1.0.0", 406 | "readable-stream": "^3.6.0" 407 | }, 408 | "engines": { 409 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 410 | } 411 | }, 412 | "node_modules/async-mutex": { 413 | "version": "0.3.2", 414 | "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.3.2.tgz", 415 | "integrity": "sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==", 416 | "dependencies": { 417 | "tslib": "^2.3.1" 418 | } 419 | }, 420 | "node_modules/balanced-match": { 421 | "version": "1.0.2", 422 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 423 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 424 | "optional": true 425 | }, 426 | "node_modules/base64-js": { 427 | "version": "1.5.1", 428 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 429 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 430 | "funding": [ 431 | { 432 | "type": "github", 433 | "url": "https://github.com/sponsors/feross" 434 | }, 435 | { 436 | "type": "patreon", 437 | "url": "https://www.patreon.com/feross" 438 | }, 439 | { 440 | "type": "consulting", 441 | "url": "https://feross.org/support" 442 | } 443 | ] 444 | }, 445 | "node_modules/big-integer": { 446 | "version": "1.6.52", 447 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", 448 | "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", 449 | "engines": { 450 | "node": ">=0.6" 451 | } 452 | }, 453 | "node_modules/bindings": { 454 | "version": "1.5.0", 455 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 456 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 457 | "dependencies": { 458 | "file-uri-to-path": "1.0.0" 459 | } 460 | }, 461 | "node_modules/bl": { 462 | "version": "4.1.0", 463 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 464 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 465 | "dependencies": { 466 | "buffer": "^5.5.0", 467 | "inherits": "^2.0.4", 468 | "readable-stream": "^3.4.0" 469 | } 470 | }, 471 | "node_modules/brace-expansion": { 472 | "version": "1.1.11", 473 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 474 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 475 | "optional": true, 476 | "dependencies": { 477 | "balanced-match": "^1.0.0", 478 | "concat-map": "0.0.1" 479 | } 480 | }, 481 | "node_modules/buffer": { 482 | "version": "5.7.1", 483 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 484 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 485 | "funding": [ 486 | { 487 | "type": "github", 488 | "url": "https://github.com/sponsors/feross" 489 | }, 490 | { 491 | "type": "patreon", 492 | "url": "https://www.patreon.com/feross" 493 | }, 494 | { 495 | "type": "consulting", 496 | "url": "https://feross.org/support" 497 | } 498 | ], 499 | "dependencies": { 500 | "base64-js": "^1.3.1", 501 | "ieee754": "^1.1.13" 502 | } 503 | }, 504 | "node_modules/bufferutil": { 505 | "version": "4.0.8", 506 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", 507 | "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", 508 | "hasInstallScript": true, 509 | "dependencies": { 510 | "node-gyp-build": "^4.3.0" 511 | }, 512 | "engines": { 513 | "node": ">=6.14.2" 514 | } 515 | }, 516 | "node_modules/cacache": { 517 | "version": "15.3.0", 518 | "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", 519 | "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", 520 | "optional": true, 521 | "dependencies": { 522 | "@npmcli/fs": "^1.0.0", 523 | "@npmcli/move-file": "^1.0.1", 524 | "chownr": "^2.0.0", 525 | "fs-minipass": "^2.0.0", 526 | "glob": "^7.1.4", 527 | "infer-owner": "^1.0.4", 528 | "lru-cache": "^6.0.0", 529 | "minipass": "^3.1.1", 530 | "minipass-collect": "^1.0.2", 531 | "minipass-flush": "^1.0.5", 532 | "minipass-pipeline": "^1.2.2", 533 | "mkdirp": "^1.0.3", 534 | "p-map": "^4.0.0", 535 | "promise-inflight": "^1.0.1", 536 | "rimraf": "^3.0.2", 537 | "ssri": "^8.0.1", 538 | "tar": "^6.0.2", 539 | "unique-filename": "^1.1.1" 540 | }, 541 | "engines": { 542 | "node": ">= 10" 543 | } 544 | }, 545 | "node_modules/chardet": { 546 | "version": "0.7.0", 547 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 548 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 549 | }, 550 | "node_modules/chownr": { 551 | "version": "2.0.0", 552 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 553 | "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 554 | "engines": { 555 | "node": ">=10" 556 | } 557 | }, 558 | "node_modules/clean-stack": { 559 | "version": "2.2.0", 560 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 561 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 562 | "optional": true, 563 | "engines": { 564 | "node": ">=6" 565 | } 566 | }, 567 | "node_modules/cli-width": { 568 | "version": "4.1.0", 569 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", 570 | "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", 571 | "engines": { 572 | "node": ">= 12" 573 | } 574 | }, 575 | "node_modules/color-convert": { 576 | "version": "2.0.1", 577 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 578 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 579 | "dependencies": { 580 | "color-name": "~1.1.4" 581 | }, 582 | "engines": { 583 | "node": ">=7.0.0" 584 | } 585 | }, 586 | "node_modules/color-name": { 587 | "version": "1.1.4", 588 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 589 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 590 | }, 591 | "node_modules/color-support": { 592 | "version": "1.1.3", 593 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 594 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 595 | "optional": true, 596 | "bin": { 597 | "color-support": "bin.js" 598 | } 599 | }, 600 | "node_modules/commander": { 601 | "version": "12.1.0", 602 | "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", 603 | "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", 604 | "engines": { 605 | "node": ">=18" 606 | } 607 | }, 608 | "node_modules/concat-map": { 609 | "version": "0.0.1", 610 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 611 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 612 | "optional": true 613 | }, 614 | "node_modules/console-control-strings": { 615 | "version": "1.1.0", 616 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 617 | "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 618 | "optional": true 619 | }, 620 | "node_modules/d": { 621 | "version": "1.0.2", 622 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", 623 | "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", 624 | "dependencies": { 625 | "es5-ext": "^0.10.64", 626 | "type": "^2.7.2" 627 | }, 628 | "engines": { 629 | "node": ">=0.12" 630 | } 631 | }, 632 | "node_modules/debug": { 633 | "version": "4.3.7", 634 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 635 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 636 | "optional": true, 637 | "dependencies": { 638 | "ms": "^2.1.3" 639 | }, 640 | "engines": { 641 | "node": ">=6.0" 642 | }, 643 | "peerDependenciesMeta": { 644 | "supports-color": { 645 | "optional": true 646 | } 647 | } 648 | }, 649 | "node_modules/decompress-response": { 650 | "version": "6.0.0", 651 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 652 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 653 | "dependencies": { 654 | "mimic-response": "^3.1.0" 655 | }, 656 | "engines": { 657 | "node": ">=10" 658 | }, 659 | "funding": { 660 | "url": "https://github.com/sponsors/sindresorhus" 661 | } 662 | }, 663 | "node_modules/deep-extend": { 664 | "version": "0.6.0", 665 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 666 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 667 | "engines": { 668 | "node": ">=4.0.0" 669 | } 670 | }, 671 | "node_modules/delegates": { 672 | "version": "1.0.0", 673 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 674 | "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 675 | "optional": true 676 | }, 677 | "node_modules/detect-libc": { 678 | "version": "2.0.3", 679 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", 680 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", 681 | "engines": { 682 | "node": ">=8" 683 | } 684 | }, 685 | "node_modules/dom-serializer": { 686 | "version": "1.4.1", 687 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", 688 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 689 | "dependencies": { 690 | "domelementtype": "^2.0.1", 691 | "domhandler": "^4.2.0", 692 | "entities": "^2.0.0" 693 | }, 694 | "funding": { 695 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 696 | } 697 | }, 698 | "node_modules/domelementtype": { 699 | "version": "2.3.0", 700 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 701 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 702 | "funding": [ 703 | { 704 | "type": "github", 705 | "url": "https://github.com/sponsors/fb55" 706 | } 707 | ] 708 | }, 709 | "node_modules/domhandler": { 710 | "version": "4.3.1", 711 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 712 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 713 | "dependencies": { 714 | "domelementtype": "^2.2.0" 715 | }, 716 | "engines": { 717 | "node": ">= 4" 718 | }, 719 | "funding": { 720 | "url": "https://github.com/fb55/domhandler?sponsor=1" 721 | } 722 | }, 723 | "node_modules/domutils": { 724 | "version": "2.8.0", 725 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 726 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 727 | "dependencies": { 728 | "dom-serializer": "^1.0.1", 729 | "domelementtype": "^2.2.0", 730 | "domhandler": "^4.2.0" 731 | }, 732 | "funding": { 733 | "url": "https://github.com/fb55/domutils?sponsor=1" 734 | } 735 | }, 736 | "node_modules/dotenv": { 737 | "version": "16.4.5", 738 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", 739 | "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", 740 | "engines": { 741 | "node": ">=12" 742 | }, 743 | "funding": { 744 | "url": "https://dotenvx.com" 745 | } 746 | }, 747 | "node_modules/emoji-regex": { 748 | "version": "8.0.0", 749 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 750 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 751 | }, 752 | "node_modules/encoding": { 753 | "version": "0.1.13", 754 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", 755 | "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", 756 | "optional": true, 757 | "dependencies": { 758 | "iconv-lite": "^0.6.2" 759 | } 760 | }, 761 | "node_modules/encoding/node_modules/iconv-lite": { 762 | "version": "0.6.3", 763 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 764 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 765 | "optional": true, 766 | "dependencies": { 767 | "safer-buffer": ">= 2.1.2 < 3.0.0" 768 | }, 769 | "engines": { 770 | "node": ">=0.10.0" 771 | } 772 | }, 773 | "node_modules/end-of-stream": { 774 | "version": "1.4.4", 775 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 776 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 777 | "dependencies": { 778 | "once": "^1.4.0" 779 | } 780 | }, 781 | "node_modules/entities": { 782 | "version": "2.2.0", 783 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 784 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 785 | "funding": { 786 | "url": "https://github.com/fb55/entities?sponsor=1" 787 | } 788 | }, 789 | "node_modules/env-paths": { 790 | "version": "2.2.1", 791 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", 792 | "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", 793 | "optional": true, 794 | "engines": { 795 | "node": ">=6" 796 | } 797 | }, 798 | "node_modules/err-code": { 799 | "version": "2.0.3", 800 | "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", 801 | "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", 802 | "optional": true 803 | }, 804 | "node_modules/es5-ext": { 805 | "version": "0.10.64", 806 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", 807 | "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", 808 | "hasInstallScript": true, 809 | "dependencies": { 810 | "es6-iterator": "^2.0.3", 811 | "es6-symbol": "^3.1.3", 812 | "esniff": "^2.0.1", 813 | "next-tick": "^1.1.0" 814 | }, 815 | "engines": { 816 | "node": ">=0.10" 817 | } 818 | }, 819 | "node_modules/es6-iterator": { 820 | "version": "2.0.3", 821 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 822 | "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", 823 | "dependencies": { 824 | "d": "1", 825 | "es5-ext": "^0.10.35", 826 | "es6-symbol": "^3.1.1" 827 | } 828 | }, 829 | "node_modules/es6-symbol": { 830 | "version": "3.1.4", 831 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", 832 | "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", 833 | "dependencies": { 834 | "d": "^1.0.2", 835 | "ext": "^1.7.0" 836 | }, 837 | "engines": { 838 | "node": ">=0.12" 839 | } 840 | }, 841 | "node_modules/esniff": { 842 | "version": "2.0.1", 843 | "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", 844 | "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", 845 | "dependencies": { 846 | "d": "^1.0.1", 847 | "es5-ext": "^0.10.62", 848 | "event-emitter": "^0.3.5", 849 | "type": "^2.7.2" 850 | }, 851 | "engines": { 852 | "node": ">=0.10" 853 | } 854 | }, 855 | "node_modules/event-emitter": { 856 | "version": "0.3.5", 857 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 858 | "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", 859 | "dependencies": { 860 | "d": "1", 861 | "es5-ext": "~0.10.14" 862 | } 863 | }, 864 | "node_modules/expand-template": { 865 | "version": "2.0.3", 866 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 867 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 868 | "engines": { 869 | "node": ">=6" 870 | } 871 | }, 872 | "node_modules/ext": { 873 | "version": "1.7.0", 874 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", 875 | "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", 876 | "dependencies": { 877 | "type": "^2.7.2" 878 | } 879 | }, 880 | "node_modules/external-editor": { 881 | "version": "3.1.0", 882 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 883 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 884 | "dependencies": { 885 | "chardet": "^0.7.0", 886 | "iconv-lite": "^0.4.24", 887 | "tmp": "^0.0.33" 888 | }, 889 | "engines": { 890 | "node": ">=4" 891 | } 892 | }, 893 | "node_modules/fdy-convertor": { 894 | "version": "1.0.4", 895 | "resolved": "https://registry.npmjs.org/fdy-convertor/-/fdy-convertor-1.0.4.tgz", 896 | "integrity": "sha512-JKpxUpN88QPnIud90I8UgsAfdFbw9/O4r4gv2+VbUCZiwAZbr36Vzp3sdNBdne/eOe2OZsjNnM6LavqsPtYd0g==", 897 | "dependencies": { 898 | "sqlite": "^5.1.1", 899 | "sqlite3": "^5.1.7", 900 | "telegram": "^2.25.4" 901 | }, 902 | "engines": { 903 | "node": ">=18" 904 | } 905 | }, 906 | "node_modules/file-uri-to-path": { 907 | "version": "1.0.0", 908 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 909 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" 910 | }, 911 | "node_modules/fs-constants": { 912 | "version": "1.0.0", 913 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 914 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 915 | }, 916 | "node_modules/fs-minipass": { 917 | "version": "2.1.0", 918 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 919 | "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 920 | "dependencies": { 921 | "minipass": "^3.0.0" 922 | }, 923 | "engines": { 924 | "node": ">= 8" 925 | } 926 | }, 927 | "node_modules/fs.realpath": { 928 | "version": "1.0.0", 929 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 930 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 931 | "optional": true 932 | }, 933 | "node_modules/gauge": { 934 | "version": "4.0.4", 935 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", 936 | "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", 937 | "deprecated": "This package is no longer supported.", 938 | "optional": true, 939 | "dependencies": { 940 | "aproba": "^1.0.3 || ^2.0.0", 941 | "color-support": "^1.1.3", 942 | "console-control-strings": "^1.1.0", 943 | "has-unicode": "^2.0.1", 944 | "signal-exit": "^3.0.7", 945 | "string-width": "^4.2.3", 946 | "strip-ansi": "^6.0.1", 947 | "wide-align": "^1.1.5" 948 | }, 949 | "engines": { 950 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 951 | } 952 | }, 953 | "node_modules/gauge/node_modules/ansi-regex": { 954 | "version": "5.0.1", 955 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 956 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 957 | "optional": true, 958 | "engines": { 959 | "node": ">=8" 960 | } 961 | }, 962 | "node_modules/gauge/node_modules/signal-exit": { 963 | "version": "3.0.7", 964 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 965 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 966 | "optional": true 967 | }, 968 | "node_modules/gauge/node_modules/strip-ansi": { 969 | "version": "6.0.1", 970 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 971 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 972 | "optional": true, 973 | "dependencies": { 974 | "ansi-regex": "^5.0.1" 975 | }, 976 | "engines": { 977 | "node": ">=8" 978 | } 979 | }, 980 | "node_modules/github-from-package": { 981 | "version": "0.0.0", 982 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 983 | "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" 984 | }, 985 | "node_modules/glob": { 986 | "version": "7.2.3", 987 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 988 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 989 | "deprecated": "Glob versions prior to v9 are no longer supported", 990 | "optional": true, 991 | "dependencies": { 992 | "fs.realpath": "^1.0.0", 993 | "inflight": "^1.0.4", 994 | "inherits": "2", 995 | "minimatch": "^3.1.1", 996 | "once": "^1.3.0", 997 | "path-is-absolute": "^1.0.0" 998 | }, 999 | "engines": { 1000 | "node": "*" 1001 | }, 1002 | "funding": { 1003 | "url": "https://github.com/sponsors/isaacs" 1004 | } 1005 | }, 1006 | "node_modules/graceful-fs": { 1007 | "version": "4.2.11", 1008 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1009 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 1010 | }, 1011 | "node_modules/has-unicode": { 1012 | "version": "2.0.1", 1013 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1014 | "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 1015 | "optional": true 1016 | }, 1017 | "node_modules/htmlparser2": { 1018 | "version": "6.1.0", 1019 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 1020 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 1021 | "funding": [ 1022 | "https://github.com/fb55/htmlparser2?sponsor=1", 1023 | { 1024 | "type": "github", 1025 | "url": "https://github.com/sponsors/fb55" 1026 | } 1027 | ], 1028 | "dependencies": { 1029 | "domelementtype": "^2.0.1", 1030 | "domhandler": "^4.0.0", 1031 | "domutils": "^2.5.2", 1032 | "entities": "^2.0.0" 1033 | } 1034 | }, 1035 | "node_modules/http-cache-semantics": { 1036 | "version": "4.1.1", 1037 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 1038 | "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 1039 | "optional": true 1040 | }, 1041 | "node_modules/http-proxy-agent": { 1042 | "version": "4.0.1", 1043 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 1044 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 1045 | "optional": true, 1046 | "dependencies": { 1047 | "@tootallnate/once": "1", 1048 | "agent-base": "6", 1049 | "debug": "4" 1050 | }, 1051 | "engines": { 1052 | "node": ">= 6" 1053 | } 1054 | }, 1055 | "node_modules/https-proxy-agent": { 1056 | "version": "5.0.1", 1057 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 1058 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 1059 | "optional": true, 1060 | "dependencies": { 1061 | "agent-base": "6", 1062 | "debug": "4" 1063 | }, 1064 | "engines": { 1065 | "node": ">= 6" 1066 | } 1067 | }, 1068 | "node_modules/humanize-ms": { 1069 | "version": "1.2.1", 1070 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 1071 | "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", 1072 | "optional": true, 1073 | "dependencies": { 1074 | "ms": "^2.0.0" 1075 | } 1076 | }, 1077 | "node_modules/iconv-lite": { 1078 | "version": "0.4.24", 1079 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1080 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1081 | "dependencies": { 1082 | "safer-buffer": ">= 2.1.2 < 3" 1083 | }, 1084 | "engines": { 1085 | "node": ">=0.10.0" 1086 | } 1087 | }, 1088 | "node_modules/ieee754": { 1089 | "version": "1.2.1", 1090 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1091 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1092 | "funding": [ 1093 | { 1094 | "type": "github", 1095 | "url": "https://github.com/sponsors/feross" 1096 | }, 1097 | { 1098 | "type": "patreon", 1099 | "url": "https://www.patreon.com/feross" 1100 | }, 1101 | { 1102 | "type": "consulting", 1103 | "url": "https://feross.org/support" 1104 | } 1105 | ] 1106 | }, 1107 | "node_modules/imurmurhash": { 1108 | "version": "0.1.4", 1109 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1110 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1111 | "engines": { 1112 | "node": ">=0.8.19" 1113 | } 1114 | }, 1115 | "node_modules/indent-string": { 1116 | "version": "4.0.0", 1117 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1118 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1119 | "optional": true, 1120 | "engines": { 1121 | "node": ">=8" 1122 | } 1123 | }, 1124 | "node_modules/infer-owner": { 1125 | "version": "1.0.4", 1126 | "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", 1127 | "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", 1128 | "optional": true 1129 | }, 1130 | "node_modules/inflight": { 1131 | "version": "1.0.6", 1132 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1133 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1134 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 1135 | "optional": true, 1136 | "dependencies": { 1137 | "once": "^1.3.0", 1138 | "wrappy": "1" 1139 | } 1140 | }, 1141 | "node_modules/inherits": { 1142 | "version": "2.0.4", 1143 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1144 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1145 | }, 1146 | "node_modules/ini": { 1147 | "version": "1.3.8", 1148 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1149 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 1150 | }, 1151 | "node_modules/ip-address": { 1152 | "version": "9.0.5", 1153 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", 1154 | "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", 1155 | "dependencies": { 1156 | "jsbn": "1.1.0", 1157 | "sprintf-js": "^1.1.3" 1158 | }, 1159 | "engines": { 1160 | "node": ">= 12" 1161 | } 1162 | }, 1163 | "node_modules/is-fullwidth-code-point": { 1164 | "version": "3.0.0", 1165 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1166 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1167 | "engines": { 1168 | "node": ">=8" 1169 | } 1170 | }, 1171 | "node_modules/is-lambda": { 1172 | "version": "1.0.1", 1173 | "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", 1174 | "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", 1175 | "optional": true 1176 | }, 1177 | "node_modules/is-typedarray": { 1178 | "version": "1.0.0", 1179 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1180 | "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" 1181 | }, 1182 | "node_modules/isexe": { 1183 | "version": "2.0.0", 1184 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1185 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1186 | "optional": true 1187 | }, 1188 | "node_modules/jsbn": { 1189 | "version": "1.1.0", 1190 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", 1191 | "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" 1192 | }, 1193 | "node_modules/lodash": { 1194 | "version": "4.17.21", 1195 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1196 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1197 | }, 1198 | "node_modules/lru-cache": { 1199 | "version": "6.0.0", 1200 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1201 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1202 | "optional": true, 1203 | "dependencies": { 1204 | "yallist": "^4.0.0" 1205 | }, 1206 | "engines": { 1207 | "node": ">=10" 1208 | } 1209 | }, 1210 | "node_modules/make-fetch-happen": { 1211 | "version": "9.1.0", 1212 | "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", 1213 | "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", 1214 | "optional": true, 1215 | "dependencies": { 1216 | "agentkeepalive": "^4.1.3", 1217 | "cacache": "^15.2.0", 1218 | "http-cache-semantics": "^4.1.0", 1219 | "http-proxy-agent": "^4.0.1", 1220 | "https-proxy-agent": "^5.0.0", 1221 | "is-lambda": "^1.0.1", 1222 | "lru-cache": "^6.0.0", 1223 | "minipass": "^3.1.3", 1224 | "minipass-collect": "^1.0.2", 1225 | "minipass-fetch": "^1.3.2", 1226 | "minipass-flush": "^1.0.5", 1227 | "minipass-pipeline": "^1.2.4", 1228 | "negotiator": "^0.6.2", 1229 | "promise-retry": "^2.0.1", 1230 | "socks-proxy-agent": "^6.0.0", 1231 | "ssri": "^8.0.0" 1232 | }, 1233 | "engines": { 1234 | "node": ">= 10" 1235 | } 1236 | }, 1237 | "node_modules/mime": { 1238 | "version": "3.0.0", 1239 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 1240 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 1241 | "bin": { 1242 | "mime": "cli.js" 1243 | }, 1244 | "engines": { 1245 | "node": ">=10.0.0" 1246 | } 1247 | }, 1248 | "node_modules/mimic-response": { 1249 | "version": "3.1.0", 1250 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 1251 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 1252 | "engines": { 1253 | "node": ">=10" 1254 | }, 1255 | "funding": { 1256 | "url": "https://github.com/sponsors/sindresorhus" 1257 | } 1258 | }, 1259 | "node_modules/minimatch": { 1260 | "version": "3.1.2", 1261 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1262 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1263 | "optional": true, 1264 | "dependencies": { 1265 | "brace-expansion": "^1.1.7" 1266 | }, 1267 | "engines": { 1268 | "node": "*" 1269 | } 1270 | }, 1271 | "node_modules/minimist": { 1272 | "version": "1.2.8", 1273 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1274 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1275 | "funding": { 1276 | "url": "https://github.com/sponsors/ljharb" 1277 | } 1278 | }, 1279 | "node_modules/minipass": { 1280 | "version": "3.3.6", 1281 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 1282 | "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 1283 | "dependencies": { 1284 | "yallist": "^4.0.0" 1285 | }, 1286 | "engines": { 1287 | "node": ">=8" 1288 | } 1289 | }, 1290 | "node_modules/minipass-collect": { 1291 | "version": "1.0.2", 1292 | "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", 1293 | "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", 1294 | "optional": true, 1295 | "dependencies": { 1296 | "minipass": "^3.0.0" 1297 | }, 1298 | "engines": { 1299 | "node": ">= 8" 1300 | } 1301 | }, 1302 | "node_modules/minipass-fetch": { 1303 | "version": "1.4.1", 1304 | "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", 1305 | "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", 1306 | "optional": true, 1307 | "dependencies": { 1308 | "minipass": "^3.1.0", 1309 | "minipass-sized": "^1.0.3", 1310 | "minizlib": "^2.0.0" 1311 | }, 1312 | "engines": { 1313 | "node": ">=8" 1314 | }, 1315 | "optionalDependencies": { 1316 | "encoding": "^0.1.12" 1317 | } 1318 | }, 1319 | "node_modules/minipass-flush": { 1320 | "version": "1.0.5", 1321 | "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", 1322 | "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", 1323 | "optional": true, 1324 | "dependencies": { 1325 | "minipass": "^3.0.0" 1326 | }, 1327 | "engines": { 1328 | "node": ">= 8" 1329 | } 1330 | }, 1331 | "node_modules/minipass-pipeline": { 1332 | "version": "1.2.4", 1333 | "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", 1334 | "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", 1335 | "optional": true, 1336 | "dependencies": { 1337 | "minipass": "^3.0.0" 1338 | }, 1339 | "engines": { 1340 | "node": ">=8" 1341 | } 1342 | }, 1343 | "node_modules/minipass-sized": { 1344 | "version": "1.0.3", 1345 | "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", 1346 | "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", 1347 | "optional": true, 1348 | "dependencies": { 1349 | "minipass": "^3.0.0" 1350 | }, 1351 | "engines": { 1352 | "node": ">=8" 1353 | } 1354 | }, 1355 | "node_modules/minizlib": { 1356 | "version": "2.1.2", 1357 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 1358 | "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 1359 | "dependencies": { 1360 | "minipass": "^3.0.0", 1361 | "yallist": "^4.0.0" 1362 | }, 1363 | "engines": { 1364 | "node": ">= 8" 1365 | } 1366 | }, 1367 | "node_modules/mkdirp": { 1368 | "version": "1.0.4", 1369 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1370 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1371 | "bin": { 1372 | "mkdirp": "bin/cmd.js" 1373 | }, 1374 | "engines": { 1375 | "node": ">=10" 1376 | } 1377 | }, 1378 | "node_modules/mkdirp-classic": { 1379 | "version": "0.5.3", 1380 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1381 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 1382 | }, 1383 | "node_modules/moment": { 1384 | "version": "2.30.1", 1385 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", 1386 | "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", 1387 | "engines": { 1388 | "node": "*" 1389 | } 1390 | }, 1391 | "node_modules/ms": { 1392 | "version": "2.1.3", 1393 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1394 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1395 | "optional": true 1396 | }, 1397 | "node_modules/mute-stream": { 1398 | "version": "1.0.0", 1399 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", 1400 | "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", 1401 | "engines": { 1402 | "node": "^14.17.0 || ^16.13.0 || >=18.0.0" 1403 | } 1404 | }, 1405 | "node_modules/napi-build-utils": { 1406 | "version": "1.0.2", 1407 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 1408 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" 1409 | }, 1410 | "node_modules/negotiator": { 1411 | "version": "0.6.3", 1412 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1413 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 1414 | "optional": true, 1415 | "engines": { 1416 | "node": ">= 0.6" 1417 | } 1418 | }, 1419 | "node_modules/next-tick": { 1420 | "version": "1.1.0", 1421 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", 1422 | "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" 1423 | }, 1424 | "node_modules/node-abi": { 1425 | "version": "3.68.0", 1426 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.68.0.tgz", 1427 | "integrity": "sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==", 1428 | "dependencies": { 1429 | "semver": "^7.3.5" 1430 | }, 1431 | "engines": { 1432 | "node": ">=10" 1433 | } 1434 | }, 1435 | "node_modules/node-addon-api": { 1436 | "version": "7.1.1", 1437 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", 1438 | "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" 1439 | }, 1440 | "node_modules/node-gyp": { 1441 | "version": "8.4.1", 1442 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", 1443 | "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", 1444 | "optional": true, 1445 | "dependencies": { 1446 | "env-paths": "^2.2.0", 1447 | "glob": "^7.1.4", 1448 | "graceful-fs": "^4.2.6", 1449 | "make-fetch-happen": "^9.1.0", 1450 | "nopt": "^5.0.0", 1451 | "npmlog": "^6.0.0", 1452 | "rimraf": "^3.0.2", 1453 | "semver": "^7.3.5", 1454 | "tar": "^6.1.2", 1455 | "which": "^2.0.2" 1456 | }, 1457 | "bin": { 1458 | "node-gyp": "bin/node-gyp.js" 1459 | }, 1460 | "engines": { 1461 | "node": ">= 10.12.0" 1462 | } 1463 | }, 1464 | "node_modules/node-gyp-build": { 1465 | "version": "4.8.2", 1466 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", 1467 | "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", 1468 | "bin": { 1469 | "node-gyp-build": "bin.js", 1470 | "node-gyp-build-optional": "optional.js", 1471 | "node-gyp-build-test": "build-test.js" 1472 | } 1473 | }, 1474 | "node_modules/node-localstorage": { 1475 | "version": "2.2.1", 1476 | "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-2.2.1.tgz", 1477 | "integrity": "sha512-vv8fJuOUCCvSPjDjBLlMqYMHob4aGjkmrkaE42/mZr0VT+ZAU10jRF8oTnX9+pgU9/vYJ8P7YT3Vd6ajkmzSCw==", 1478 | "dependencies": { 1479 | "write-file-atomic": "^1.1.4" 1480 | }, 1481 | "engines": { 1482 | "node": ">=0.12" 1483 | } 1484 | }, 1485 | "node_modules/nopt": { 1486 | "version": "5.0.0", 1487 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", 1488 | "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", 1489 | "optional": true, 1490 | "dependencies": { 1491 | "abbrev": "1" 1492 | }, 1493 | "bin": { 1494 | "nopt": "bin/nopt.js" 1495 | }, 1496 | "engines": { 1497 | "node": ">=6" 1498 | } 1499 | }, 1500 | "node_modules/npmlog": { 1501 | "version": "6.0.2", 1502 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", 1503 | "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", 1504 | "deprecated": "This package is no longer supported.", 1505 | "optional": true, 1506 | "dependencies": { 1507 | "are-we-there-yet": "^3.0.0", 1508 | "console-control-strings": "^1.1.0", 1509 | "gauge": "^4.0.3", 1510 | "set-blocking": "^2.0.0" 1511 | }, 1512 | "engines": { 1513 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 1514 | } 1515 | }, 1516 | "node_modules/once": { 1517 | "version": "1.4.0", 1518 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1519 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1520 | "dependencies": { 1521 | "wrappy": "1" 1522 | } 1523 | }, 1524 | "node_modules/os-tmpdir": { 1525 | "version": "1.0.2", 1526 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1527 | "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", 1528 | "engines": { 1529 | "node": ">=0.10.0" 1530 | } 1531 | }, 1532 | "node_modules/p-map": { 1533 | "version": "4.0.0", 1534 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1535 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1536 | "optional": true, 1537 | "dependencies": { 1538 | "aggregate-error": "^3.0.0" 1539 | }, 1540 | "engines": { 1541 | "node": ">=10" 1542 | }, 1543 | "funding": { 1544 | "url": "https://github.com/sponsors/sindresorhus" 1545 | } 1546 | }, 1547 | "node_modules/pako": { 1548 | "version": "2.1.0", 1549 | "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", 1550 | "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" 1551 | }, 1552 | "node_modules/path-browserify": { 1553 | "version": "1.0.1", 1554 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 1555 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" 1556 | }, 1557 | "node_modules/path-is-absolute": { 1558 | "version": "1.0.1", 1559 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1560 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1561 | "optional": true, 1562 | "engines": { 1563 | "node": ">=0.10.0" 1564 | } 1565 | }, 1566 | "node_modules/prebuild-install": { 1567 | "version": "7.1.2", 1568 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", 1569 | "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", 1570 | "dependencies": { 1571 | "detect-libc": "^2.0.0", 1572 | "expand-template": "^2.0.3", 1573 | "github-from-package": "0.0.0", 1574 | "minimist": "^1.2.3", 1575 | "mkdirp-classic": "^0.5.3", 1576 | "napi-build-utils": "^1.0.1", 1577 | "node-abi": "^3.3.0", 1578 | "pump": "^3.0.0", 1579 | "rc": "^1.2.7", 1580 | "simple-get": "^4.0.0", 1581 | "tar-fs": "^2.0.0", 1582 | "tunnel-agent": "^0.6.0" 1583 | }, 1584 | "bin": { 1585 | "prebuild-install": "bin.js" 1586 | }, 1587 | "engines": { 1588 | "node": ">=10" 1589 | } 1590 | }, 1591 | "node_modules/promise-inflight": { 1592 | "version": "1.0.1", 1593 | "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 1594 | "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", 1595 | "optional": true 1596 | }, 1597 | "node_modules/promise-retry": { 1598 | "version": "2.0.1", 1599 | "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", 1600 | "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", 1601 | "optional": true, 1602 | "dependencies": { 1603 | "err-code": "^2.0.2", 1604 | "retry": "^0.12.0" 1605 | }, 1606 | "engines": { 1607 | "node": ">=10" 1608 | } 1609 | }, 1610 | "node_modules/pump": { 1611 | "version": "3.0.2", 1612 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", 1613 | "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", 1614 | "dependencies": { 1615 | "end-of-stream": "^1.1.0", 1616 | "once": "^1.3.1" 1617 | } 1618 | }, 1619 | "node_modules/rc": { 1620 | "version": "1.2.8", 1621 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1622 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1623 | "dependencies": { 1624 | "deep-extend": "^0.6.0", 1625 | "ini": "~1.3.0", 1626 | "minimist": "^1.2.0", 1627 | "strip-json-comments": "~2.0.1" 1628 | }, 1629 | "bin": { 1630 | "rc": "cli.js" 1631 | } 1632 | }, 1633 | "node_modules/readable-stream": { 1634 | "version": "3.6.2", 1635 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1636 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1637 | "dependencies": { 1638 | "inherits": "^2.0.3", 1639 | "string_decoder": "^1.1.1", 1640 | "util-deprecate": "^1.0.1" 1641 | }, 1642 | "engines": { 1643 | "node": ">= 6" 1644 | } 1645 | }, 1646 | "node_modules/real-cancellable-promise": { 1647 | "version": "1.2.0", 1648 | "resolved": "https://registry.npmjs.org/real-cancellable-promise/-/real-cancellable-promise-1.2.0.tgz", 1649 | "integrity": "sha512-FYhmx1FVSgoPRjneoTjh+EKZcNb8ijl/dyatTzase5eujYhVrLNDOiIY6AgQq7GU1kOoLgEd9jLVbhFg8k8dOQ==" 1650 | }, 1651 | "node_modules/retry": { 1652 | "version": "0.12.0", 1653 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 1654 | "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 1655 | "optional": true, 1656 | "engines": { 1657 | "node": ">= 4" 1658 | } 1659 | }, 1660 | "node_modules/rimraf": { 1661 | "version": "3.0.2", 1662 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1663 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1664 | "deprecated": "Rimraf versions prior to v4 are no longer supported", 1665 | "optional": true, 1666 | "dependencies": { 1667 | "glob": "^7.1.3" 1668 | }, 1669 | "bin": { 1670 | "rimraf": "bin.js" 1671 | }, 1672 | "funding": { 1673 | "url": "https://github.com/sponsors/isaacs" 1674 | } 1675 | }, 1676 | "node_modules/safe-buffer": { 1677 | "version": "5.2.1", 1678 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1679 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1680 | "funding": [ 1681 | { 1682 | "type": "github", 1683 | "url": "https://github.com/sponsors/feross" 1684 | }, 1685 | { 1686 | "type": "patreon", 1687 | "url": "https://www.patreon.com/feross" 1688 | }, 1689 | { 1690 | "type": "consulting", 1691 | "url": "https://feross.org/support" 1692 | } 1693 | ] 1694 | }, 1695 | "node_modules/safer-buffer": { 1696 | "version": "2.1.2", 1697 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1698 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1699 | }, 1700 | "node_modules/semver": { 1701 | "version": "7.6.3", 1702 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 1703 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 1704 | "bin": { 1705 | "semver": "bin/semver.js" 1706 | }, 1707 | "engines": { 1708 | "node": ">=10" 1709 | } 1710 | }, 1711 | "node_modules/set-blocking": { 1712 | "version": "2.0.0", 1713 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1714 | "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", 1715 | "optional": true 1716 | }, 1717 | "node_modules/signal-exit": { 1718 | "version": "4.1.0", 1719 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1720 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1721 | "engines": { 1722 | "node": ">=14" 1723 | }, 1724 | "funding": { 1725 | "url": "https://github.com/sponsors/isaacs" 1726 | } 1727 | }, 1728 | "node_modules/simple-concat": { 1729 | "version": "1.0.1", 1730 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 1731 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 1732 | "funding": [ 1733 | { 1734 | "type": "github", 1735 | "url": "https://github.com/sponsors/feross" 1736 | }, 1737 | { 1738 | "type": "patreon", 1739 | "url": "https://www.patreon.com/feross" 1740 | }, 1741 | { 1742 | "type": "consulting", 1743 | "url": "https://feross.org/support" 1744 | } 1745 | ] 1746 | }, 1747 | "node_modules/simple-get": { 1748 | "version": "4.0.1", 1749 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 1750 | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 1751 | "funding": [ 1752 | { 1753 | "type": "github", 1754 | "url": "https://github.com/sponsors/feross" 1755 | }, 1756 | { 1757 | "type": "patreon", 1758 | "url": "https://www.patreon.com/feross" 1759 | }, 1760 | { 1761 | "type": "consulting", 1762 | "url": "https://feross.org/support" 1763 | } 1764 | ], 1765 | "dependencies": { 1766 | "decompress-response": "^6.0.0", 1767 | "once": "^1.3.1", 1768 | "simple-concat": "^1.0.0" 1769 | } 1770 | }, 1771 | "node_modules/slide": { 1772 | "version": "1.1.6", 1773 | "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", 1774 | "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", 1775 | "engines": { 1776 | "node": "*" 1777 | } 1778 | }, 1779 | "node_modules/smart-buffer": { 1780 | "version": "4.2.0", 1781 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 1782 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 1783 | "engines": { 1784 | "node": ">= 6.0.0", 1785 | "npm": ">= 3.0.0" 1786 | } 1787 | }, 1788 | "node_modules/socks": { 1789 | "version": "2.8.3", 1790 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", 1791 | "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", 1792 | "dependencies": { 1793 | "ip-address": "^9.0.5", 1794 | "smart-buffer": "^4.2.0" 1795 | }, 1796 | "engines": { 1797 | "node": ">= 10.0.0", 1798 | "npm": ">= 3.0.0" 1799 | } 1800 | }, 1801 | "node_modules/socks-proxy-agent": { 1802 | "version": "6.2.1", 1803 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", 1804 | "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", 1805 | "optional": true, 1806 | "dependencies": { 1807 | "agent-base": "^6.0.2", 1808 | "debug": "^4.3.3", 1809 | "socks": "^2.6.2" 1810 | }, 1811 | "engines": { 1812 | "node": ">= 10" 1813 | } 1814 | }, 1815 | "node_modules/sprintf-js": { 1816 | "version": "1.1.3", 1817 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 1818 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" 1819 | }, 1820 | "node_modules/sqlite": { 1821 | "version": "5.1.1", 1822 | "resolved": "https://registry.npmjs.org/sqlite/-/sqlite-5.1.1.tgz", 1823 | "integrity": "sha512-oBkezXa2hnkfuJwUo44Hl9hS3er+YFtueifoajrgidvqsJRQFpc5fKoAkAor1O5ZnLoa28GBScfHXs8j0K358Q==" 1824 | }, 1825 | "node_modules/sqlite3": { 1826 | "version": "5.1.7", 1827 | "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", 1828 | "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", 1829 | "hasInstallScript": true, 1830 | "dependencies": { 1831 | "bindings": "^1.5.0", 1832 | "node-addon-api": "^7.0.0", 1833 | "prebuild-install": "^7.1.1", 1834 | "tar": "^6.1.11" 1835 | }, 1836 | "optionalDependencies": { 1837 | "node-gyp": "8.x" 1838 | }, 1839 | "peerDependencies": { 1840 | "node-gyp": "8.x" 1841 | }, 1842 | "peerDependenciesMeta": { 1843 | "node-gyp": { 1844 | "optional": true 1845 | } 1846 | } 1847 | }, 1848 | "node_modules/ssri": { 1849 | "version": "8.0.1", 1850 | "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", 1851 | "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", 1852 | "optional": true, 1853 | "dependencies": { 1854 | "minipass": "^3.1.1" 1855 | }, 1856 | "engines": { 1857 | "node": ">= 8" 1858 | } 1859 | }, 1860 | "node_modules/store2": { 1861 | "version": "2.14.3", 1862 | "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz", 1863 | "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==" 1864 | }, 1865 | "node_modules/string_decoder": { 1866 | "version": "1.3.0", 1867 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1868 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1869 | "dependencies": { 1870 | "safe-buffer": "~5.2.0" 1871 | } 1872 | }, 1873 | "node_modules/string-width": { 1874 | "version": "4.2.3", 1875 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1876 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1877 | "dependencies": { 1878 | "emoji-regex": "^8.0.0", 1879 | "is-fullwidth-code-point": "^3.0.0", 1880 | "strip-ansi": "^6.0.1" 1881 | }, 1882 | "engines": { 1883 | "node": ">=8" 1884 | } 1885 | }, 1886 | "node_modules/string-width/node_modules/ansi-regex": { 1887 | "version": "5.0.1", 1888 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1889 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1890 | "engines": { 1891 | "node": ">=8" 1892 | } 1893 | }, 1894 | "node_modules/string-width/node_modules/strip-ansi": { 1895 | "version": "6.0.1", 1896 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1897 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1898 | "dependencies": { 1899 | "ansi-regex": "^5.0.1" 1900 | }, 1901 | "engines": { 1902 | "node": ">=8" 1903 | } 1904 | }, 1905 | "node_modules/strip-ansi": { 1906 | "version": "7.1.0", 1907 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 1908 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 1909 | "dependencies": { 1910 | "ansi-regex": "^6.0.1" 1911 | }, 1912 | "engines": { 1913 | "node": ">=12" 1914 | }, 1915 | "funding": { 1916 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 1917 | } 1918 | }, 1919 | "node_modules/strip-json-comments": { 1920 | "version": "2.0.1", 1921 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1922 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 1923 | "engines": { 1924 | "node": ">=0.10.0" 1925 | } 1926 | }, 1927 | "node_modules/tar": { 1928 | "version": "6.2.1", 1929 | "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", 1930 | "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", 1931 | "dependencies": { 1932 | "chownr": "^2.0.0", 1933 | "fs-minipass": "^2.0.0", 1934 | "minipass": "^5.0.0", 1935 | "minizlib": "^2.1.1", 1936 | "mkdirp": "^1.0.3", 1937 | "yallist": "^4.0.0" 1938 | }, 1939 | "engines": { 1940 | "node": ">=10" 1941 | } 1942 | }, 1943 | "node_modules/tar-fs": { 1944 | "version": "2.1.1", 1945 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 1946 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 1947 | "dependencies": { 1948 | "chownr": "^1.1.1", 1949 | "mkdirp-classic": "^0.5.2", 1950 | "pump": "^3.0.0", 1951 | "tar-stream": "^2.1.4" 1952 | } 1953 | }, 1954 | "node_modules/tar-fs/node_modules/chownr": { 1955 | "version": "1.1.4", 1956 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 1957 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 1958 | }, 1959 | "node_modules/tar-stream": { 1960 | "version": "2.2.0", 1961 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 1962 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 1963 | "dependencies": { 1964 | "bl": "^4.0.3", 1965 | "end-of-stream": "^1.4.1", 1966 | "fs-constants": "^1.0.0", 1967 | "inherits": "^2.0.3", 1968 | "readable-stream": "^3.1.1" 1969 | }, 1970 | "engines": { 1971 | "node": ">=6" 1972 | } 1973 | }, 1974 | "node_modules/tar/node_modules/minipass": { 1975 | "version": "5.0.0", 1976 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", 1977 | "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", 1978 | "engines": { 1979 | "node": ">=8" 1980 | } 1981 | }, 1982 | "node_modules/telegram": { 1983 | "version": "2.25.11", 1984 | "resolved": "https://registry.npmjs.org/telegram/-/telegram-2.25.11.tgz", 1985 | "integrity": "sha512-OgkbBZNooaPbO8TG7+qhhjCoUhRfvsnU+6Tx9+8v07mkcNNcR+2CQ0TiHz3TF4oAmZUf+x418WREDOqbuNlZ6w==", 1986 | "dependencies": { 1987 | "@cryptography/aes": "^0.1.1", 1988 | "async-mutex": "^0.3.0", 1989 | "big-integer": "^1.6.48", 1990 | "buffer": "^6.0.3", 1991 | "htmlparser2": "^6.1.0", 1992 | "mime": "^3.0.0", 1993 | "node-localstorage": "^2.2.1", 1994 | "pako": "^2.0.3", 1995 | "path-browserify": "^1.0.1", 1996 | "real-cancellable-promise": "^1.1.1", 1997 | "socks": "^2.6.2", 1998 | "store2": "^2.13.0", 1999 | "ts-custom-error": "^3.2.0", 2000 | "websocket": "^1.0.34" 2001 | }, 2002 | "optionalDependencies": { 2003 | "bufferutil": "^4.0.3", 2004 | "utf-8-validate": "^5.0.5" 2005 | } 2006 | }, 2007 | "node_modules/telegram/node_modules/buffer": { 2008 | "version": "6.0.3", 2009 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 2010 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 2011 | "funding": [ 2012 | { 2013 | "type": "github", 2014 | "url": "https://github.com/sponsors/feross" 2015 | }, 2016 | { 2017 | "type": "patreon", 2018 | "url": "https://www.patreon.com/feross" 2019 | }, 2020 | { 2021 | "type": "consulting", 2022 | "url": "https://feross.org/support" 2023 | } 2024 | ], 2025 | "dependencies": { 2026 | "base64-js": "^1.3.1", 2027 | "ieee754": "^1.2.1" 2028 | } 2029 | }, 2030 | "node_modules/tmp": { 2031 | "version": "0.0.33", 2032 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 2033 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 2034 | "dependencies": { 2035 | "os-tmpdir": "~1.0.2" 2036 | }, 2037 | "engines": { 2038 | "node": ">=0.6.0" 2039 | } 2040 | }, 2041 | "node_modules/ts-custom-error": { 2042 | "version": "3.3.1", 2043 | "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz", 2044 | "integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==", 2045 | "engines": { 2046 | "node": ">=14.0.0" 2047 | } 2048 | }, 2049 | "node_modules/tslib": { 2050 | "version": "2.7.0", 2051 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", 2052 | "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" 2053 | }, 2054 | "node_modules/tunnel-agent": { 2055 | "version": "0.6.0", 2056 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2057 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 2058 | "dependencies": { 2059 | "safe-buffer": "^5.0.1" 2060 | }, 2061 | "engines": { 2062 | "node": "*" 2063 | } 2064 | }, 2065 | "node_modules/type": { 2066 | "version": "2.7.3", 2067 | "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", 2068 | "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" 2069 | }, 2070 | "node_modules/type-fest": { 2071 | "version": "0.21.3", 2072 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 2073 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 2074 | "engines": { 2075 | "node": ">=10" 2076 | }, 2077 | "funding": { 2078 | "url": "https://github.com/sponsors/sindresorhus" 2079 | } 2080 | }, 2081 | "node_modules/typedarray-to-buffer": { 2082 | "version": "3.1.5", 2083 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 2084 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 2085 | "dependencies": { 2086 | "is-typedarray": "^1.0.0" 2087 | } 2088 | }, 2089 | "node_modules/undici-types": { 2090 | "version": "6.19.8", 2091 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 2092 | "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" 2093 | }, 2094 | "node_modules/unique-filename": { 2095 | "version": "1.1.1", 2096 | "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", 2097 | "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", 2098 | "optional": true, 2099 | "dependencies": { 2100 | "unique-slug": "^2.0.0" 2101 | } 2102 | }, 2103 | "node_modules/unique-slug": { 2104 | "version": "2.0.2", 2105 | "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", 2106 | "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", 2107 | "optional": true, 2108 | "dependencies": { 2109 | "imurmurhash": "^0.1.4" 2110 | } 2111 | }, 2112 | "node_modules/utf-8-validate": { 2113 | "version": "5.0.10", 2114 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", 2115 | "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", 2116 | "hasInstallScript": true, 2117 | "dependencies": { 2118 | "node-gyp-build": "^4.3.0" 2119 | }, 2120 | "engines": { 2121 | "node": ">=6.14.2" 2122 | } 2123 | }, 2124 | "node_modules/util-deprecate": { 2125 | "version": "1.0.2", 2126 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2127 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2128 | }, 2129 | "node_modules/websocket": { 2130 | "version": "1.0.35", 2131 | "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", 2132 | "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", 2133 | "dependencies": { 2134 | "bufferutil": "^4.0.1", 2135 | "debug": "^2.2.0", 2136 | "es5-ext": "^0.10.63", 2137 | "typedarray-to-buffer": "^3.1.5", 2138 | "utf-8-validate": "^5.0.2", 2139 | "yaeti": "^0.0.6" 2140 | }, 2141 | "engines": { 2142 | "node": ">=4.0.0" 2143 | } 2144 | }, 2145 | "node_modules/websocket/node_modules/debug": { 2146 | "version": "2.6.9", 2147 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2148 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2149 | "dependencies": { 2150 | "ms": "2.0.0" 2151 | } 2152 | }, 2153 | "node_modules/websocket/node_modules/ms": { 2154 | "version": "2.0.0", 2155 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2156 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 2157 | }, 2158 | "node_modules/which": { 2159 | "version": "2.0.2", 2160 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2161 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2162 | "optional": true, 2163 | "dependencies": { 2164 | "isexe": "^2.0.0" 2165 | }, 2166 | "bin": { 2167 | "node-which": "bin/node-which" 2168 | }, 2169 | "engines": { 2170 | "node": ">= 8" 2171 | } 2172 | }, 2173 | "node_modules/wide-align": { 2174 | "version": "1.1.5", 2175 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 2176 | "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 2177 | "optional": true, 2178 | "dependencies": { 2179 | "string-width": "^1.0.2 || 2 || 3 || 4" 2180 | } 2181 | }, 2182 | "node_modules/wrap-ansi": { 2183 | "version": "6.2.0", 2184 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 2185 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 2186 | "dependencies": { 2187 | "ansi-styles": "^4.0.0", 2188 | "string-width": "^4.1.0", 2189 | "strip-ansi": "^6.0.0" 2190 | }, 2191 | "engines": { 2192 | "node": ">=8" 2193 | } 2194 | }, 2195 | "node_modules/wrap-ansi/node_modules/ansi-regex": { 2196 | "version": "5.0.1", 2197 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2198 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2199 | "engines": { 2200 | "node": ">=8" 2201 | } 2202 | }, 2203 | "node_modules/wrap-ansi/node_modules/strip-ansi": { 2204 | "version": "6.0.1", 2205 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2206 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2207 | "dependencies": { 2208 | "ansi-regex": "^5.0.1" 2209 | }, 2210 | "engines": { 2211 | "node": ">=8" 2212 | } 2213 | }, 2214 | "node_modules/wrappy": { 2215 | "version": "1.0.2", 2216 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2217 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2218 | }, 2219 | "node_modules/write-file-atomic": { 2220 | "version": "1.3.4", 2221 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", 2222 | "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", 2223 | "dependencies": { 2224 | "graceful-fs": "^4.1.11", 2225 | "imurmurhash": "^0.1.4", 2226 | "slide": "^1.1.5" 2227 | } 2228 | }, 2229 | "node_modules/yaeti": { 2230 | "version": "0.0.6", 2231 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", 2232 | "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", 2233 | "engines": { 2234 | "node": ">=0.10.32" 2235 | } 2236 | }, 2237 | "node_modules/yallist": { 2238 | "version": "4.0.0", 2239 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2240 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2241 | }, 2242 | "node_modules/yoctocolors-cjs": { 2243 | "version": "2.1.2", 2244 | "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", 2245 | "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", 2246 | "engines": { 2247 | "node": ">=18" 2248 | }, 2249 | "funding": { 2250 | "url": "https://github.com/sponsors/sindresorhus" 2251 | } 2252 | } 2253 | } 2254 | } 2255 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "session-bot", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "keywords": [], 9 | "author": "", 10 | "license": "ISC", 11 | "description": "", 12 | "dependencies": { 13 | "@inquirer/prompts": "^5.3.2", 14 | "commander": "^12.1.0", 15 | "dotenv": "^16.4.5", 16 | "fdy-convertor": "^1.0.4", 17 | "lodash": "^4.17.21", 18 | "moment": "^2.30.1", 19 | "strip-ansi": "^7.1.0", 20 | "telegram": "^2.22.2" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /sessions/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Freddywhest/SessionConvertor/f06fd5ad63b60d1e30a18f047d753a59a76ce5c9/sessions/.gitkeep --------------------------------------------------------------------------------