Get working with irc framework
This commit is contained in:
		
							parent
							
								
									13c4356cfc
								
							
						
					
					
						commit
						372bc39559
					
				
							
								
								
									
										60
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								index.js
									
									
									
									
									
								
							@ -1,34 +1,28 @@
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
//IRC bot that responds to !chat, queries the chatgpt api, and prints the response line by line
 | 
			
		||||
const fs = require('fs');
 | 
			
		||||
const irc = require('irc');
 | 
			
		||||
const irc = require('irc-framework');
 | 
			
		||||
const axios = require('axios');
 | 
			
		||||
const config = require('./config.json');
 | 
			
		||||
 | 
			
		||||
const seed_messages = [{role: 'system', content: config.initialSystemMessage}];
 | 
			
		||||
const seed_messages = [{ role: 'system', content: config.initialSystemMessage }];
 | 
			
		||||
 | 
			
		||||
// context is a list of strings that are used to seed the chatgpt api and it's responses
 | 
			
		||||
class Context {
 | 
			
		||||
 | 
			
		||||
    currentResponse = '';
 | 
			
		||||
 | 
			
		||||
    constructor(messages = seed_messages) {
 | 
			
		||||
        this.messages = messages;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    add_user_prompt(message) {
 | 
			
		||||
        this.messages.push({ role: 'user', content: message });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    add_assistant_message(message) {
 | 
			
		||||
        this.messages.push({ role: 'assistant', content: message });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    end_line(line) {
 | 
			
		||||
        this.currentResponse += `${line}\n\n`;
 | 
			
		||||
        return line;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    finish_current_response() {
 | 
			
		||||
        this.add_assistant_message(this.currentResponse);
 | 
			
		||||
        const theLine = this.currentLine;
 | 
			
		||||
@ -36,22 +30,18 @@ class Context {
 | 
			
		||||
        this.save_history();
 | 
			
		||||
        return theLine;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    save_history() {
 | 
			
		||||
        const prettyData = JSON.stringify(this.messages, null, 2);
 | 
			
		||||
        fs.writeFileSync('./messages.json', prettyData);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    is_response_in_progress() {
 | 
			
		||||
        return this.currentResponse !== '';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    clear() {
 | 
			
		||||
        this.messages = [];
 | 
			
		||||
        this.messages = [...seed_messages];
 | 
			
		||||
        this.currentResponse = '';
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let context = null;
 | 
			
		||||
if (fs.existsSync('./messages.json')) {
 | 
			
		||||
    const savedMessages = require('./messages.json');
 | 
			
		||||
@ -60,46 +50,56 @@ if (fs.existsSync('./messages.json')) {
 | 
			
		||||
    context = new Context(seed_messages);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const client = new irc.Client(config.server, config.nick, {
 | 
			
		||||
	showErrors: false,
 | 
			
		||||
    debug: true,
 | 
			
		||||
const client = new irc.Client();
 | 
			
		||||
 | 
			
		||||
client.connect({
 | 
			
		||||
    host: config.server,
 | 
			
		||||
    nick: config.nick,
 | 
			
		||||
    username: config.userName,
 | 
			
		||||
    tls: config.secure,
 | 
			
		||||
    port: config.port,
 | 
			
		||||
    secure: config.secure,
 | 
			
		||||
    channels: config.channels,
 | 
			
		||||
    sasl: config.sasl,
 | 
			
		||||
    userName: config.userName,
 | 
			
		||||
    password: config.password,
 | 
			
		||||
    account: {
 | 
			
		||||
        account: config.userName,
 | 
			
		||||
        password: config.password,
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
client.on('debug', console.log);
 | 
			
		||||
client.on('raw', console.log);
 | 
			
		||||
 | 
			
		||||
client.on('registered', () => {
 | 
			
		||||
    client.join(config.channels);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// listen for messages that start with !chat and call the chatgpt api with a callback that prints the response line by line
 | 
			
		||||
client.addListener('message', async (from, to, message) => {
 | 
			
		||||
client.on('message', async (event) => {
 | 
			
		||||
    const chatCmd = config.newChatCmd;
 | 
			
		||||
    const contCmd = config.contChatCmd;
 | 
			
		||||
    let is_chat_cmd = message.startsWith(chatCmd);
 | 
			
		||||
    let is_cont_cmd = contCmd.length > 0 && message.startsWith(contCmd);
 | 
			
		||||
    let is_chat_cmd = event.message.startsWith(chatCmd);
 | 
			
		||||
    let is_cont_cmd = contCmd.length > 0 && event.message.startsWith(contCmd);
 | 
			
		||||
 | 
			
		||||
    if (is_chat_cmd || is_cont_cmd) {
 | 
			
		||||
        if (context.is_response_in_progress()) {
 | 
			
		||||
            message(`(chat from ${from} ignored, response in progress)`)
 | 
			
		||||
            client.say(event.target, `(chat from ${event.nick} ignored, response in progress)`)
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if(is_chat_cmd && !config.alwaysRemember) {
 | 
			
		||||
        if (is_chat_cmd && !config.alwaysRemember) {
 | 
			
		||||
            context.clear();
 | 
			
		||||
        }
 | 
			
		||||
        context.add_user_prompt(message);
 | 
			
		||||
        const query = message.slice(chatCmd.length + 1);
 | 
			
		||||
        const query = event.message.slice(chatCmd.length + 1);
 | 
			
		||||
        context.add_user_prompt(query);
 | 
			
		||||
        try {
 | 
			
		||||
            await chatgpt(query, context.messages, handleChatGPTResponseLine);
 | 
			
		||||
            context.finish_current_response();
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
            console.log(e);
 | 
			
		||||
            client.say(to, 'Error: ' + e);
 | 
			
		||||
            client.say(event.target, 'Error: ' + e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function handleChatGPTResponseLine(line) {
 | 
			
		||||
        context.end_line(line);
 | 
			
		||||
        client.say(to, line);
 | 
			
		||||
        client.say(event.target, line);
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										753
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										753
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -10,7 +10,7 @@
 | 
			
		||||
      "license": "MDGPL",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "axios": "^1.3.4",
 | 
			
		||||
        "irc": "^0.5.2"
 | 
			
		||||
        "irc-framework": "^4.13.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/asynckit": {
 | 
			
		||||
@ -18,6 +18,17 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/available-typed-arrays": {
 | 
			
		||||
      "version": "1.0.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
 | 
			
		||||
      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/axios": {
 | 
			
		||||
      "version": "1.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz",
 | 
			
		||||
@ -28,6 +39,60 @@
 | 
			
		||||
        "proxy-from-env": "^1.1.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/base64-js": {
 | 
			
		||||
      "version": "1.5.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 | 
			
		||||
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/buffer": {
 | 
			
		||||
      "version": "6.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "base64-js": "^1.3.1",
 | 
			
		||||
        "ieee754": "^1.2.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/call-bind": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "function-bind": "^1.1.1",
 | 
			
		||||
        "get-intrinsic": "^1.0.2"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/combined-stream": {
 | 
			
		||||
      "version": "1.0.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 | 
			
		||||
@ -39,6 +104,16 @@
 | 
			
		||||
        "node": ">= 0.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/core-js": {
 | 
			
		||||
      "version": "3.29.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz",
 | 
			
		||||
      "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==",
 | 
			
		||||
      "hasInstallScript": true,
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "type": "opencollective",
 | 
			
		||||
        "url": "https://opencollective.com/core-js"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/delayed-stream": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
			
		||||
@ -47,6 +122,16 @@
 | 
			
		||||
        "node": ">=0.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/eventemitter3": {
 | 
			
		||||
      "version": "5.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/fast-text-encoding": {
 | 
			
		||||
      "version": "1.0.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz",
 | 
			
		||||
      "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/follow-redirects": {
 | 
			
		||||
      "version": "1.15.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
 | 
			
		||||
@ -66,6 +151,14 @@
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/for-each": {
 | 
			
		||||
      "version": "0.3.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
 | 
			
		||||
      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "is-callable": "^1.1.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/form-data": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
 | 
			
		||||
@ -79,42 +172,211 @@
 | 
			
		||||
        "node": ">= 6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/iconv": {
 | 
			
		||||
      "version": "2.2.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz",
 | 
			
		||||
      "integrity": "sha512-evIiYeKdt5nEGYKNkQcGPQy781sYgbBKi3gEkt1s4CwteCdOHSjGGRyyp6lP8inYFZwvzG3lgjXEvGUC8nqQ5A==",
 | 
			
		||||
      "hasInstallScript": true,
 | 
			
		||||
      "optional": true,
 | 
			
		||||
    "node_modules/function-bind": {
 | 
			
		||||
      "version": "1.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/get-intrinsic": {
 | 
			
		||||
      "version": "1.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "nan": "^2.3.5"
 | 
			
		||||
        "function-bind": "^1.1.1",
 | 
			
		||||
        "has": "^1.0.3",
 | 
			
		||||
        "has-symbols": "^1.0.3"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.8.0"
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/irc": {
 | 
			
		||||
      "version": "0.5.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz",
 | 
			
		||||
      "integrity": "sha512-KnrvkV05Y71SWmRWHtnlWEIH7LA/YeDul6l7tncCGLNEw4B6Obtmkatb3ACnSLj0kOJ6UBiuhss9e+eRG3zlxw==",
 | 
			
		||||
    "node_modules/gopd": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "irc-colors": "^1.1.0"
 | 
			
		||||
        "get-intrinsic": "^1.1.3"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/grapheme-splitter": {
 | 
			
		||||
      "version": "1.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/has": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "function-bind": "^1.1.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/has-symbols": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/has-tostringtag": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "has-symbols": "^1.0.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/iconv-lite": {
 | 
			
		||||
      "version": "0.6.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
			
		||||
      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "safer-buffer": ">= 2.1.2 < 3.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.10.0"
 | 
			
		||||
      },
 | 
			
		||||
      "optionalDependencies": {
 | 
			
		||||
        "iconv": "~2.2.1",
 | 
			
		||||
        "node-icu-charset-detector": "~0.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/irc-colors": {
 | 
			
		||||
      "version": "1.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc-colors/-/irc-colors-1.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-HtszKchBQTcqw1DC09uD7i7vvMayHGM1OCo6AHt5pkgZEyo99ClhHTMJdf+Ezc9ovuNNxcH89QfyclGthjZJOw==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6"
 | 
			
		||||
    "node_modules/ieee754": {
 | 
			
		||||
      "version": "1.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/inherits": {
 | 
			
		||||
      "version": "2.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ip": {
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/irc-framework": {
 | 
			
		||||
      "version": "4.13.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc-framework/-/irc-framework-4.13.1.tgz",
 | 
			
		||||
      "integrity": "sha512-oUdNyc5CLwYjsp5AP479EgdMMTepwYK9kury7sWzMV6IeMyKc6fExk6tnhN/jTWpiDKsYtbPAb01wE7yVtLcsQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "buffer": "^6.0.3",
 | 
			
		||||
        "core-js": "^3.27.2",
 | 
			
		||||
        "eventemitter3": "^5.0.0",
 | 
			
		||||
        "grapheme-splitter": "^1.0.4",
 | 
			
		||||
        "iconv-lite": "^0.6.3",
 | 
			
		||||
        "isomorphic-textencoder": "^1.0.1",
 | 
			
		||||
        "lodash": "^4.17.21",
 | 
			
		||||
        "middleware-handler": "^0.2.0",
 | 
			
		||||
        "regenerator-runtime": "^0.13.11",
 | 
			
		||||
        "socks": "^2.7.1",
 | 
			
		||||
        "stream-browserify": "^3.0.0",
 | 
			
		||||
        "util": "^0.12.5"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/is-arguments": {
 | 
			
		||||
      "version": "1.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/is-callable": {
 | 
			
		||||
      "version": "1.2.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
 | 
			
		||||
      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/is-generator-function": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/is-typed-array": {
 | 
			
		||||
      "version": "1.1.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
 | 
			
		||||
      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "available-typed-arrays": "^1.0.5",
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "for-each": "^0.3.3",
 | 
			
		||||
        "gopd": "^1.0.1",
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/isomorphic-textencoder": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/isomorphic-textencoder/-/isomorphic-textencoder-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-676hESgHullDdHDsj469hr+7t3i/neBKU9J7q1T4RHaWwLAsaQnywC0D1dIUId0YZ+JtVrShzuBk1soo0+GVcQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "fast-text-encoding": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lodash": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/middleware-handler": {
 | 
			
		||||
      "version": "0.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/middleware-handler/-/middleware-handler-0.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Qz4B0yWndSokapr3Kl7fpMRysS0DaBlOuATrExFuZbr+oXZ3rsAPufdLe8mUJXiG5A4aJGW6GfKS4PDfQwu7Mg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mime-db": {
 | 
			
		||||
      "version": "1.52.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
 | 
			
		||||
@ -134,29 +396,127 @@
 | 
			
		||||
        "node": ">= 0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/nan": {
 | 
			
		||||
      "version": "2.17.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
 | 
			
		||||
      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/node-icu-charset-detector": {
 | 
			
		||||
      "version": "0.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-DYOFJ3NfKdxEi9hPbmoCss6WydGhJsxpSleUlZfAWEbZt3AU7JuxailgA9tnqQdsHiujfUY9VtDfWD9m0+ThtQ==",
 | 
			
		||||
      "hasInstallScript": true,
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "nan": "^2.3.3"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/proxy-from-env": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/readable-stream": {
 | 
			
		||||
      "version": "3.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "inherits": "^2.0.3",
 | 
			
		||||
        "string_decoder": "^1.1.1",
 | 
			
		||||
        "util-deprecate": "^1.0.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/regenerator-runtime": {
 | 
			
		||||
      "version": "0.13.11",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
 | 
			
		||||
      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/safe-buffer": {
 | 
			
		||||
      "version": "5.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/safer-buffer": {
 | 
			
		||||
      "version": "2.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/smart-buffer": {
 | 
			
		||||
      "version": "4.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 6.0.0",
 | 
			
		||||
        "npm": ">= 3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/socks": {
 | 
			
		||||
      "version": "2.7.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
 | 
			
		||||
      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ip": "^2.0.0",
 | 
			
		||||
        "smart-buffer": "^4.2.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 10.13.0",
 | 
			
		||||
        "npm": ">= 3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/stream-browserify": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "inherits": "~2.0.4",
 | 
			
		||||
        "readable-stream": "^3.5.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/string_decoder": {
 | 
			
		||||
      "version": "1.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 | 
			
		||||
      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "safe-buffer": "~5.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/util": {
 | 
			
		||||
      "version": "0.12.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
 | 
			
		||||
      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "inherits": "^2.0.3",
 | 
			
		||||
        "is-arguments": "^1.0.4",
 | 
			
		||||
        "is-generator-function": "^1.0.7",
 | 
			
		||||
        "is-typed-array": "^1.1.3",
 | 
			
		||||
        "which-typed-array": "^1.1.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/util-deprecate": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/which-typed-array": {
 | 
			
		||||
      "version": "1.1.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
 | 
			
		||||
      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "available-typed-arrays": "^1.0.5",
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "for-each": "^0.3.3",
 | 
			
		||||
        "gopd": "^1.0.1",
 | 
			
		||||
        "has-tostringtag": "^1.0.0",
 | 
			
		||||
        "is-typed-array": "^1.1.10"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.4"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
@ -165,6 +525,11 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "available-typed-arrays": {
 | 
			
		||||
      "version": "1.0.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
 | 
			
		||||
      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
 | 
			
		||||
    },
 | 
			
		||||
    "axios": {
 | 
			
		||||
      "version": "1.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz",
 | 
			
		||||
@ -175,6 +540,29 @@
 | 
			
		||||
        "proxy-from-env": "^1.1.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "base64-js": {
 | 
			
		||||
      "version": "1.5.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 | 
			
		||||
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
 | 
			
		||||
    },
 | 
			
		||||
    "buffer": {
 | 
			
		||||
      "version": "6.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "base64-js": "^1.3.1",
 | 
			
		||||
        "ieee754": "^1.2.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "call-bind": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "function-bind": "^1.1.1",
 | 
			
		||||
        "get-intrinsic": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "combined-stream": {
 | 
			
		||||
      "version": "1.0.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 | 
			
		||||
@ -183,16 +571,39 @@
 | 
			
		||||
        "delayed-stream": "~1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "core-js": {
 | 
			
		||||
      "version": "3.29.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz",
 | 
			
		||||
      "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg=="
 | 
			
		||||
    },
 | 
			
		||||
    "delayed-stream": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "eventemitter3": {
 | 
			
		||||
      "version": "5.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg=="
 | 
			
		||||
    },
 | 
			
		||||
    "fast-text-encoding": {
 | 
			
		||||
      "version": "1.0.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz",
 | 
			
		||||
      "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="
 | 
			
		||||
    },
 | 
			
		||||
    "follow-redirects": {
 | 
			
		||||
      "version": "1.15.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
 | 
			
		||||
      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
 | 
			
		||||
    },
 | 
			
		||||
    "for-each": {
 | 
			
		||||
      "version": "0.3.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
 | 
			
		||||
      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "is-callable": "^1.1.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "form-data": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
 | 
			
		||||
@ -203,29 +614,148 @@
 | 
			
		||||
        "mime-types": "^2.1.12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "iconv": {
 | 
			
		||||
      "version": "2.2.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz",
 | 
			
		||||
      "integrity": "sha512-evIiYeKdt5nEGYKNkQcGPQy781sYgbBKi3gEkt1s4CwteCdOHSjGGRyyp6lP8inYFZwvzG3lgjXEvGUC8nqQ5A==",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
    "function-bind": {
 | 
			
		||||
      "version": "1.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
 | 
			
		||||
    },
 | 
			
		||||
    "get-intrinsic": {
 | 
			
		||||
      "version": "1.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "nan": "^2.3.5"
 | 
			
		||||
        "function-bind": "^1.1.1",
 | 
			
		||||
        "has": "^1.0.3",
 | 
			
		||||
        "has-symbols": "^1.0.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "irc": {
 | 
			
		||||
      "version": "0.5.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz",
 | 
			
		||||
      "integrity": "sha512-KnrvkV05Y71SWmRWHtnlWEIH7LA/YeDul6l7tncCGLNEw4B6Obtmkatb3ACnSLj0kOJ6UBiuhss9e+eRG3zlxw==",
 | 
			
		||||
    "gopd": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "iconv": "~2.2.1",
 | 
			
		||||
        "irc-colors": "^1.1.0",
 | 
			
		||||
        "node-icu-charset-detector": "~0.2.0"
 | 
			
		||||
        "get-intrinsic": "^1.1.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "irc-colors": {
 | 
			
		||||
      "version": "1.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc-colors/-/irc-colors-1.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-HtszKchBQTcqw1DC09uD7i7vvMayHGM1OCo6AHt5pkgZEyo99ClhHTMJdf+Ezc9ovuNNxcH89QfyclGthjZJOw=="
 | 
			
		||||
    "grapheme-splitter": {
 | 
			
		||||
      "version": "1.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "has": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "function-bind": "^1.1.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "has-symbols": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
 | 
			
		||||
    },
 | 
			
		||||
    "has-tostringtag": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "has-symbols": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "iconv-lite": {
 | 
			
		||||
      "version": "0.6.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
			
		||||
      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "safer-buffer": ">= 2.1.2 < 3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "ieee754": {
 | 
			
		||||
      "version": "1.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
 | 
			
		||||
    },
 | 
			
		||||
    "inherits": {
 | 
			
		||||
      "version": "2.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "ip": {
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "irc-framework": {
 | 
			
		||||
      "version": "4.13.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/irc-framework/-/irc-framework-4.13.1.tgz",
 | 
			
		||||
      "integrity": "sha512-oUdNyc5CLwYjsp5AP479EgdMMTepwYK9kury7sWzMV6IeMyKc6fExk6tnhN/jTWpiDKsYtbPAb01wE7yVtLcsQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "buffer": "^6.0.3",
 | 
			
		||||
        "core-js": "^3.27.2",
 | 
			
		||||
        "eventemitter3": "^5.0.0",
 | 
			
		||||
        "grapheme-splitter": "^1.0.4",
 | 
			
		||||
        "iconv-lite": "^0.6.3",
 | 
			
		||||
        "isomorphic-textencoder": "^1.0.1",
 | 
			
		||||
        "lodash": "^4.17.21",
 | 
			
		||||
        "middleware-handler": "^0.2.0",
 | 
			
		||||
        "regenerator-runtime": "^0.13.11",
 | 
			
		||||
        "socks": "^2.7.1",
 | 
			
		||||
        "stream-browserify": "^3.0.0",
 | 
			
		||||
        "util": "^0.12.5"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "is-arguments": {
 | 
			
		||||
      "version": "1.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "is-callable": {
 | 
			
		||||
      "version": "1.2.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
 | 
			
		||||
      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
 | 
			
		||||
    },
 | 
			
		||||
    "is-generator-function": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "is-typed-array": {
 | 
			
		||||
      "version": "1.1.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
 | 
			
		||||
      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "available-typed-arrays": "^1.0.5",
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "for-each": "^0.3.3",
 | 
			
		||||
        "gopd": "^1.0.1",
 | 
			
		||||
        "has-tostringtag": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "isomorphic-textencoder": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/isomorphic-textencoder/-/isomorphic-textencoder-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-676hESgHullDdHDsj469hr+7t3i/neBKU9J7q1T4RHaWwLAsaQnywC0D1dIUId0YZ+JtVrShzuBk1soo0+GVcQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "fast-text-encoding": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "lodash": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
			
		||||
    },
 | 
			
		||||
    "middleware-handler": {
 | 
			
		||||
      "version": "0.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/middleware-handler/-/middleware-handler-0.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Qz4B0yWndSokapr3Kl7fpMRysS0DaBlOuATrExFuZbr+oXZ3rsAPufdLe8mUJXiG5A4aJGW6GfKS4PDfQwu7Mg=="
 | 
			
		||||
    },
 | 
			
		||||
    "mime-db": {
 | 
			
		||||
      "version": "1.52.0",
 | 
			
		||||
@ -240,25 +770,96 @@
 | 
			
		||||
        "mime-db": "1.52.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nan": {
 | 
			
		||||
      "version": "2.17.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
 | 
			
		||||
      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "node-icu-charset-detector": {
 | 
			
		||||
      "version": "0.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-DYOFJ3NfKdxEi9hPbmoCss6WydGhJsxpSleUlZfAWEbZt3AU7JuxailgA9tnqQdsHiujfUY9VtDfWD9m0+ThtQ==",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "nan": "^2.3.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "proxy-from-env": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
 | 
			
		||||
    },
 | 
			
		||||
    "readable-stream": {
 | 
			
		||||
      "version": "3.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "inherits": "^2.0.3",
 | 
			
		||||
        "string_decoder": "^1.1.1",
 | 
			
		||||
        "util-deprecate": "^1.0.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "regenerator-runtime": {
 | 
			
		||||
      "version": "0.13.11",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
 | 
			
		||||
      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
 | 
			
		||||
    },
 | 
			
		||||
    "safe-buffer": {
 | 
			
		||||
      "version": "5.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "safer-buffer": {
 | 
			
		||||
      "version": "2.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
			
		||||
    },
 | 
			
		||||
    "smart-buffer": {
 | 
			
		||||
      "version": "4.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
 | 
			
		||||
    },
 | 
			
		||||
    "socks": {
 | 
			
		||||
      "version": "2.7.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
 | 
			
		||||
      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "ip": "^2.0.0",
 | 
			
		||||
        "smart-buffer": "^4.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "stream-browserify": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "inherits": "~2.0.4",
 | 
			
		||||
        "readable-stream": "^3.5.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "string_decoder": {
 | 
			
		||||
      "version": "1.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 | 
			
		||||
      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "safe-buffer": "~5.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "util": {
 | 
			
		||||
      "version": "0.12.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
 | 
			
		||||
      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "inherits": "^2.0.3",
 | 
			
		||||
        "is-arguments": "^1.0.4",
 | 
			
		||||
        "is-generator-function": "^1.0.7",
 | 
			
		||||
        "is-typed-array": "^1.1.3",
 | 
			
		||||
        "which-typed-array": "^1.1.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "util-deprecate": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
 | 
			
		||||
    },
 | 
			
		||||
    "which-typed-array": {
 | 
			
		||||
      "version": "1.1.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
 | 
			
		||||
      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "available-typed-arrays": "^1.0.5",
 | 
			
		||||
        "call-bind": "^1.0.2",
 | 
			
		||||
        "for-each": "^0.3.3",
 | 
			
		||||
        "gopd": "^1.0.1",
 | 
			
		||||
        "has-tostringtag": "^1.0.0",
 | 
			
		||||
        "is-typed-array": "^1.1.10"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,6 @@
 | 
			
		||||
  "license": "MDGPL",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "axios": "^1.3.4",
 | 
			
		||||
    "irc": "^0.5.2"
 | 
			
		||||
    "irc-framework": "^4.13.1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user