diff --git a/build/index.js b/build/index.js index 8cd2472..c36a6f7 100644 --- a/build/index.js +++ b/build/index.js @@ -1,130 +1,11 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var child_process_1 = require("child_process"); -var MongoMemoryServer_1 = require("mongodb-memory-server-core/lib/MongoMemoryServer"); -var core = __importStar(require("@actions/core")); -var memory_server_factory_1 = require("./factory/memory-server-factory"); -function runCommand(command, connectionString) { - return __awaiter(this, void 0, void 0, function () { - var connectionStringEnvVar, mongoMsDebug, output; - return __generator(this, function (_a) { - console.info("--- Executing the target script: \"" + command + "\""); - connectionStringEnvVar = core.getInput('db-connection-env-var'); - mongoMsDebug = core.getInput('mongoms-debug'); - process.env[connectionStringEnvVar] = connectionString; - if (mongoMsDebug) { - process.env['MONGOMS_DEBUG'] = '1'; - } - try { - output = child_process_1.execSync(command, { - env: process.env, - cwd: process.env.githubRepository, - stdio: 'inherit', - }); - return [2 /*return*/, output ? output.toString() : '--- Child process executed synchronously and returned null.']; - } - catch (err) { - console.error(err); - throw err; - } - return [2 /*return*/]; - }); - }); -} -function run() { - return __awaiter(this, void 0, void 0, function () { - var mongodb, dbName, port, storageEngine, version, maxPoolInput, maxPoolSize, connectionString, command, stdOut, err_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 4, 5, 8]); - dbName = core.getInput('instance-dbName'); - port = Number.parseInt(core.getInput('instance-port')); - storageEngine = core.getInput('instance-storageEngine'); - version = core.getInput('binary-version'); - maxPoolInput = core.getInput('max-pool-size'); - maxPoolSize = maxPoolInput ? Number.parseInt(maxPoolInput) : undefined; - return [4 /*yield*/, memory_server_factory_1.MemoryServerFactory.generateMemoryServer(dbName, port, storageEngine, version)]; - case 1: - mongodb = _a.sent(); - return [4 /*yield*/, memory_server_factory_1.MemoryServerFactory.verifyMemoryServer(mongodb, maxPoolSize)]; - case 2: - connectionString = _a.sent(); - command = core.getInput('run-command'); - return [4 /*yield*/, runCommand(command, connectionString)]; - case 3: - stdOut = _a.sent(); - console.info(stdOut); - return [3 /*break*/, 8]; - case 4: - err_1 = _a.sent(); - core.setFailed(err_1.message); - return [3 /*break*/, 8]; - case 5: - if (!((mongodb === null || mongodb === void 0 ? void 0 : mongodb.state) === MongoMemoryServer_1.MongoMemoryServerStates.running)) return [3 /*break*/, 7]; - return [4 /*yield*/, mongodb.stop()]; - case 6: - _a.sent(); - _a.label = 7; - case 7: return [7 /*endfinally*/]; - case 8: return [2 /*return*/]; - } - }); - }); -} -run(); +(()=>{var __webpack_modules__={924:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};var o=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,o,s,i;return i={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function verb(e){return function(t){return step([e,t])}}function step(i){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(s=i[0]&2?o["return"]:i[0]?o["throw"]||((s=o["return"])&&s.call(o),0):o.next)&&!(s=s.call(o,i[1])).done)return s;if(o=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:r.label++;return{value:i[1],done:false};case 5:r.label++;o=i[1];i=[0];continue;case 7:i=r.ops.pop();r.trys.pop();continue;default:if(!(s=r.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]0&&s[s.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${A}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var i=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(7351);const A=r(717);const c=r(6321);const l=s(r(2037));const u=s(r(1017));const h=r(8041);var d;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(d=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=c.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return A.issueFileCommand("ENV",A.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){A.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${u.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return A.issueFileCommand("OUTPUT",A.prepareKeyValueMessage(e,t))}process.stdout.write(l.EOL);a.issueCommand("set-output",{name:e},c.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=d.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",c.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",c.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",c.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+l.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return i(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return A.issueFileCommand("STATE",A.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},c.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return i(this,void 0,void 0,(function*(){return yield h.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var g=r(1327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return g.summary}});var p=r(1327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return p.markdownSummary}});var E=r(2981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return E.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return E.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return E.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const i=s(r(7147));const a=s(r(2037));const A=r(5840);const c=r(6321);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!i.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}i.appendFileSync(r,`${c.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${A.v4()}`;const n=c.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(6255);const s=r(5526);const i=r(2186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new s.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}i.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);i.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},2981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const i=s(r(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,i.sep)}t.toPlatformPath=toPlatformPath},1327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(2037);const s=r(7147);const{access:i,appendFile:a,writeFile:A}=s.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield i(e,s.constants.R_OK|s.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?A:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const s=t?"th":"td";const i=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(s,r,i)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const s=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const i=this.wrap("img",null,Object.assign({src:e,alt:t},s));return this.addRaw(i).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const c=new Summary;t.markdownSummary=c;t.summary=c},6321:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},5526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var i=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=s(r(3685));const A=s(r(5687));const c=s(r(9835));const l=s(r(4294));const u=r(1773);var h;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(h||(t.HttpCodes=h={}));var d;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(d||(t.Headers=d={}));var g;(function(e){e["ApplicationJson"]="application/json"})(g||(t.MediaTypes=g={}));function getProxyUrl(e){const t=c.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const p=[h.MovedPermanently,h.ResourceMoved,h.SeeOther,h.TemporaryRedirect,h.PermanentRedirect];const E=[h.BadGateway,h.ServiceUnavailable,h.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const C=10;const I=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}readBodyBuffer(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){const t=[];this.message.on("data",(e=>{t.push(e)}));this.message.on("end",(()=>{e(Buffer.concat(t))}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return i(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return i(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return i(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return i(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return i(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return i(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return i(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return i(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return i(this,void 0,void 0,(function*(){t[d.Accept]=this._getExistingOrDefaultHeader(t,d.Accept,g.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return i(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[d.Accept]=this._getExistingOrDefaultHeader(r,d.Accept,g.ApplicationJson);r[d.ContentType]=this._getExistingOrDefaultHeader(r,d.ContentType,g.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return i(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[d.Accept]=this._getExistingOrDefaultHeader(r,d.Accept,g.ApplicationJson);r[d.ContentType]=this._getExistingOrDefaultHeader(r,d.ContentType,g.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return i(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[d.Accept]=this._getExistingOrDefaultHeader(r,d.Accept,g.ApplicationJson);r[d.ContentType]=this._getExistingOrDefaultHeader(r,d.ContentType,g.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return i(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let s=this._prepareRequest(e,o,n);const i=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let A;do{A=yield this.requestRaw(s,r);if(A&&A.message&&A.message.statusCode===h.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(A)){e=t;break}}if(e){return e.handleAuthentication(this,s,r)}else{return A}}let t=this._maxRedirects;while(A.message.statusCode&&p.includes(A.message.statusCode)&&this._allowRedirects&&t>0){const i=A.message.headers["location"];if(!i){break}const a=new URL(i);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield A.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}s=this._prepareRequest(e,a,n);A=yield this.requestRaw(s,r);t--}if(!A.message.statusCode||!E.includes(A.message.statusCode)){return A}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let s;o.on("socket",(e=>{s=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(s){s.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const r=c.getProxyUrl(t);const n=r&&r.hostname;if(!n){return}return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?A:a;const s=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):s;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=c.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let s=100;if(this.requestOptions){s=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:s,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const i=r.protocol==="https:";if(o){n=i?l.httpsOverHttps:l.httpsOverHttp}else{n=i?l.httpOverHttps:l.httpOverHttp}t=n(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:s};t=o?new A.Agent(e):new a.Agent(e);this._agent=t}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive){r=this._proxyAgentDispatcher}if(r){return r}const n=e.protocol==="https:";r=new u.ProxyAgent(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`${t.username}:${t.password}`}));this._proxyAgentDispatcher=r;if(n&&this._ignoreSslError){r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:false})}return r}_performExponentialBackoff(e){return i(this,void 0,void 0,(function*(){e=Math.min(C,e);const t=I*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return i(this,void 0,void 0,(function*(){return new Promise(((r,n)=>i(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const s={statusCode:o,result:null,headers:{}};if(o===h.NotFound){r(s)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let i;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){i=JSON.parse(a,dateTimeDeserializer)}else{i=JSON.parse(a)}s.result=i}s.headers=e.message.headers}catch(e){}if(o>299){let e;if(i&&i.message){e=i.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=s.result;n(t)}else{r(s)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},9835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){try{return new URL(r)}catch(e){if(!r.startsWith("http://")&&!r.startsWith("https://"))return new URL(`http://${r}`)}}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},9690:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const o=r(2361);const s=n(r(8237));const i=n(r(6570));const a=s.default("agent-base");function isAgent(e){return Boolean(e)&&typeof e.addRequest==="function"}function isSecureEndpoint(){const{stack:e}=new Error;if(typeof e!=="string")return false;return e.split("\n").some((e=>e.indexOf("(https.js:")!==-1||e.indexOf("node:https:")!==-1))}function createAgent(e,t){return new createAgent.Agent(e,t)}(function(e){class Agent extends o.EventEmitter{constructor(e,t){super();let r=t;if(typeof e==="function"){this.callback=e}else if(e){r=e}this.timeout=null;if(r&&typeof r.timeout==="number"){this.timeout=r.timeout}this.maxFreeSockets=1;this.maxSockets=1;this.maxTotalSockets=Infinity;this.sockets={};this.freeSockets={};this.requests={};this.options={}}get defaultPort(){if(typeof this.explicitDefaultPort==="number"){return this.explicitDefaultPort}return isSecureEndpoint()?443:80}set defaultPort(e){this.explicitDefaultPort=e}get protocol(){if(typeof this.explicitProtocol==="string"){return this.explicitProtocol}return isSecureEndpoint()?"https:":"http:"}set protocol(e){this.explicitProtocol=e}callback(e,t,r){throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`')}addRequest(e,t){const r=Object.assign({},t);if(typeof r.secureEndpoint!=="boolean"){r.secureEndpoint=isSecureEndpoint()}if(r.host==null){r.host="localhost"}if(r.port==null){r.port=r.secureEndpoint?443:80}if(r.protocol==null){r.protocol=r.secureEndpoint?"https:":"http:"}if(r.host&&r.path){delete r.path}delete r.agent;delete r.hostname;delete r._defaultAgent;delete r.defaultPort;delete r.createConnection;e._last=true;e.shouldKeepAlive=false;let n=false;let o=null;const s=r.timeout||this.timeout;const onerror=t=>{if(e._hadError)return;e.emit("error",t);e._hadError=true};const ontimeout=()=>{o=null;n=true;const e=new Error(`A "socket" was not created for HTTP request before ${s}ms`);e.code="ETIMEOUT";onerror(e)};const callbackError=e=>{if(n)return;if(o!==null){clearTimeout(o);o=null}onerror(e)};const onsocket=t=>{if(n)return;if(o!=null){clearTimeout(o);o=null}if(isAgent(t)){a("Callback returned another Agent instance %o",t.constructor.name);t.addRequest(e,r);return}if(t){t.once("free",(()=>{this.freeSocket(t,r)}));e.onSocket(t);return}const s=new Error(`no Duplex stream was returned to agent-base for \`${e.method} ${e.path}\``);onerror(s)};if(typeof this.callback!=="function"){onerror(new Error("`callback` is not defined"));return}if(!this.promisifiedCallback){if(this.callback.length>=3){a("Converting legacy callback function to promise");this.promisifiedCallback=i.default(this.callback)}else{this.promisifiedCallback=this.callback}}if(typeof s==="number"&&s>0){o=setTimeout(ontimeout,s)}if("port"in r&&typeof r.port!=="number"){r.port=Number(r.port)}try{a("Resolving socket for %o request: %o",r.protocol,`${e.method} ${e.path}`);Promise.resolve(this.promisifiedCallback(e,r)).then(onsocket,callbackError)}catch(e){Promise.reject(e).catch(callbackError)}}freeSocket(e,t){a("Freeing socket %o %o",e.constructor.name,t);e.destroy()}destroy(){a("Destroying agent %o",this.constructor.name)}}e.Agent=Agent;e.prototype=e.Agent.prototype})(createAgent||(createAgent={}));e.exports=createAgent},6570:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function promisify(e){return function(t,r){return new Promise(((n,o)=>{e.call(this,t,r,((e,t)=>{if(e){o(e)}else{n(t)}}))}))}}t["default"]=promisify},4855:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=r(4351);var o=r(6006);var s=function(){function Mutex(e){this._semaphore=new o.default(1,e)}Mutex.prototype.acquire=function(){return(0,n.__awaiter)(this,void 0,void 0,(function(){var e,t;return(0,n.__generator)(this,(function(r){switch(r.label){case 0:return[4,this._semaphore.acquire()];case 1:e=r.sent(),t=e[1];return[2,t]}}))}))};Mutex.prototype.runExclusive=function(e){return this._semaphore.runExclusive((function(){return e()}))};Mutex.prototype.isLocked=function(){return this._semaphore.isLocked()};Mutex.prototype.waitForUnlock=function(){return this._semaphore.waitForUnlock()};Mutex.prototype.release=function(){this._semaphore.release()};Mutex.prototype.cancel=function(){return this._semaphore.cancel()};return Mutex}();t["default"]=s},6006:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});var n=r(4351);var o=r(6984);var s=function(){function Semaphore(e,t){if(t===void 0){t=o.E_CANCELED}this._maxConcurrency=e;this._cancelError=t;this._queue=[];this._waiters=[];if(e<=0){throw new Error("semaphore must be initialized to a positive value")}this._value=e}Semaphore.prototype.acquire=function(){var e=this;var t=this.isLocked();var r=new Promise((function(t,r){return e._queue.push({resolve:t,reject:r})}));if(!t)this._dispatch();return r};Semaphore.prototype.runExclusive=function(e){return(0,n.__awaiter)(this,void 0,void 0,(function(){var t,r,o;return(0,n.__generator)(this,(function(n){switch(n.label){case 0:return[4,this.acquire()];case 1:t=n.sent(),r=t[0],o=t[1];n.label=2;case 2:n.trys.push([2,,4,5]);return[4,e(r)];case 3:return[2,n.sent()];case 4:o();return[7];case 5:return[2]}}))}))};Semaphore.prototype.waitForUnlock=function(){return(0,n.__awaiter)(this,void 0,void 0,(function(){var e;var t=this;return(0,n.__generator)(this,(function(r){if(!this.isLocked()){return[2,Promise.resolve()]}e=new Promise((function(e){return t._waiters.push({resolve:e})}));return[2,e]}))}))};Semaphore.prototype.isLocked=function(){return this._value<=0};Semaphore.prototype.release=function(){if(this._maxConcurrency>1){throw new Error("this method is unavailable on semaphores with concurrency > 1; use the scoped release returned by acquire instead")}if(this._currentReleaser){var e=this._currentReleaser;this._currentReleaser=undefined;e()}};Semaphore.prototype.cancel=function(){var e=this;this._queue.forEach((function(t){return t.reject(e._cancelError)}));this._queue=[]};Semaphore.prototype._dispatch=function(){var e=this;var t=this._queue.shift();if(!t)return;var r=false;this._currentReleaser=function(){if(r)return;r=true;e._value++;e._resolveWaiters();e._dispatch()};t.resolve([this._value--,this._currentReleaser])};Semaphore.prototype._resolveWaiters=function(){this._waiters.forEach((function(e){return e.resolve()}));this._waiters=[]};return Semaphore}();t["default"]=s},6984:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.E_CANCELED=t.E_ALREADY_LOCKED=t.E_TIMEOUT=void 0;t.E_TIMEOUT=new Error("timeout while waiting for mutex to become available");t.E_ALREADY_LOCKED=new Error("mutex already locked");t.E_CANCELED=new Error("request for lock canceled")},4038:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.tryAcquire=t.withTimeout=t.Semaphore=t.Mutex=void 0;var n=r(4351);var o=r(4855);Object.defineProperty(t,"Mutex",{enumerable:true,get:function(){return o.default}});var s=r(6006);Object.defineProperty(t,"Semaphore",{enumerable:true,get:function(){return s.default}});var i=r(5124);Object.defineProperty(t,"withTimeout",{enumerable:true,get:function(){return i.withTimeout}});var a=r(2621);Object.defineProperty(t,"tryAcquire",{enumerable:true,get:function(){return a.tryAcquire}});(0,n.__exportStar)(r(6984),t)},2621:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.tryAcquire=void 0;var n=r(6984);var o=r(5124);function tryAcquire(e,t){if(t===void 0){t=n.E_ALREADY_LOCKED}return(0,o.withTimeout)(e,0,t)}t.tryAcquire=tryAcquire},5124:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.withTimeout=void 0;var n=r(4351);var o=r(6984);function withTimeout(e,t,r){var s=this;if(r===void 0){r=o.E_TIMEOUT}return{acquire:function(){return new Promise((function(o,i){return(0,n.__awaiter)(s,void 0,void 0,(function(){var s,a,A,c,l;return(0,n.__generator)(this,(function(n){switch(n.label){case 0:s=false;a=setTimeout((function(){s=true;i(r)}),t);n.label=1;case 1:n.trys.push([1,3,,4]);return[4,e.acquire()];case 2:A=n.sent();if(s){c=Array.isArray(A)?A[1]:A;c()}else{clearTimeout(a);o(A)}return[3,4];case 3:l=n.sent();if(!s){clearTimeout(a);i(l)}return[3,4];case 4:return[2]}}))}))}))},runExclusive:function(e){return(0,n.__awaiter)(this,void 0,void 0,(function(){var t,r;return(0,n.__generator)(this,(function(n){switch(n.label){case 0:t=function(){return undefined};n.label=1;case 1:n.trys.push([1,,7,8]);return[4,this.acquire()];case 2:r=n.sent();if(!Array.isArray(r))return[3,4];t=r[1];return[4,e(r[0])];case 3:return[2,n.sent()];case 4:t=r;return[4,e()];case 5:return[2,n.sent()];case 6:return[3,8];case 7:t();return[7];case 8:return[2]}}))}))},release:function(){e.release()},cancel:function(){return e.cancel()},waitForUnlock:function(){return e.waitForUnlock()},isLocked:function(){return e.isLocked()}}}t.withTimeout=withTimeout},9417:e=>{"use strict";e.exports=balanced;function balanced(e,t,r){if(e instanceof RegExp)e=maybeMatch(e,r);if(t instanceof RegExp)t=maybeMatch(t,r);var n=range(e,t,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+e.length,n[1]),post:r.slice(n[1]+t.length)}}function maybeMatch(e,t){var r=t.match(e);return r?r[0]:null}balanced.range=range;function range(e,t,r){var n,o,s,i,a;var A=r.indexOf(e);var c=r.indexOf(t,A+1);var l=A;if(A>=0&&c>0){if(e===t){return[A,c]}n=[];s=r.length;while(l>=0&&!a){if(l==A){n.push(l);A=r.indexOf(e,l+1)}else if(n.length==1){a=[n.pop(),c]}else{o=n.pop();if(o=0?A:c}if(n.length){a=[s,i]}}return a}},336:(e,t,r)=>{"use strict";var n=r(1642).Duplex,o=r(3837),s=r(1867).Buffer;function BufferList(e){if(!(this instanceof BufferList))return new BufferList(e);this._bufs=[];this.length=0;if(typeof e=="function"){this._callback=e;var t=function piper(e){if(this._callback){this._callback(e);this._callback=null}}.bind(this);this.on("pipe",(function onPipe(e){e.on("error",t)}));this.on("unpipe",(function onUnpipe(e){e.removeListener("error",t)}))}else{this.append(e)}n.call(this)}o.inherits(BufferList,n);BufferList.prototype._offset=function _offset(e){var t=0,r=0,n;if(e===0)return[0,0];for(;rthis.length||e<0){return undefined}var t=this._offset(e);return this._bufs[t[0]][t[1]]};BufferList.prototype.slice=function slice(e,t){if(typeof e=="number"&&e<0)e+=this.length;if(typeof t=="number"&&t<0)t+=this.length;return this.copy(null,0,e,t)};BufferList.prototype.copy=function copy(e,t,r,n){if(typeof r!="number"||r<0)r=0;if(typeof n!="number"||n>this.length)n=this.length;if(r>=this.length)return e||s.alloc(0);if(n<=0)return e||s.alloc(0);var copy=!!e,o=this._offset(r),i=n-r,a=i,A=copy&&t||0,c=o[1],l,u;if(r===0&&n==this.length){if(!copy){return this._bufs.length===1?this._bufs[0]:s.concat(this._bufs,this.length)}for(u=0;ul){this._bufs[u].copy(e,A,c);A+=l}else{this._bufs[u].copy(e,A,c,c+a);A+=l;break}a-=l;if(c)c=0}if(e.length>A)return e.slice(0,A);return e};BufferList.prototype.shallowSlice=function shallowSlice(e,t){e=e||0;t=typeof t!=="number"?this.length:t;if(e<0)e+=this.length;if(t<0)t+=this.length;if(e===t){return new BufferList}var r=this._offset(e),n=this._offset(t),o=this._bufs.slice(r[0],n[0]+1);if(n[1]==0)o.pop();else o[o.length-1]=o[o.length-1].slice(0,n[1]);if(r[1]!=0)o[0]=o[0].slice(r[1]);return new BufferList(o)};BufferList.prototype.toString=function toString(e,t,r){return this.slice(t,r).toString(e)};BufferList.prototype.consume=function consume(e){e=Math.trunc(e);if(Number.isNaN(e)||e<=0)return this;while(this._bufs.length){if(e>=this._bufs[0].length){e-=this._bufs[0].length;this.length-=this._bufs[0].length;this._bufs.shift()}else{this._bufs[0]=this._bufs[0].slice(e);this.length-=e;break}}return this};BufferList.prototype.duplicate=function duplicate(){var e=0,t=new BufferList;for(;ethis.length?this.length:t}var n=this._offset(t);var o=n[0];var i=n[1];for(o;o=e.length){var c=a.indexOf(e,i);if(c!==-1){return this._reverseOffset([o,c])}i=a.length-e.length+1}else{var l=this._reverseOffset([o,i]);if(this._match(l,e)){return l}i++}}i=0}return-1};BufferList.prototype._match=function(e,t){if(this.length-e{var n=r(6891);var o=r(9417);e.exports=expandTop;var s="\0SLASH"+Math.random()+"\0";var i="\0OPEN"+Math.random()+"\0";var a="\0CLOSE"+Math.random()+"\0";var A="\0COMMA"+Math.random()+"\0";var c="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(s).split("\\{").join(i).split("\\}").join(a).split("\\,").join(A).split("\\.").join(c)}function unescapeBraces(e){return e.split(s).join("\\").split(i).join("{").split(a).join("}").split(A).join(",").split(c).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var r=o("{","}",e);if(!r)return e.split(",");var n=r.pre;var s=r.body;var i=r.post;var a=n.split(",");a[a.length-1]+="{"+s+"}";var A=parseCommaParts(i);if(i.length){a[a.length-1]+=A.shift();a.push.apply(a,A)}t.push.apply(t,a);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var r=[];var s=o("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var i=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var A=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var c=i||A;var l=s.body.indexOf(",")>=0;if(!c&&!l){if(s.post.match(/,.*\}/)){e=s.pre+"{"+s.body+a+s.post;return expand(e)}return[e]}var u;if(c){u=s.body.split(/\.\./)}else{u=parseCommaParts(s.body);if(u.length===1){u=expand(u[0],false).map(embrace);if(u.length===1){var h=s.post.length?expand(s.post,false):[""];return h.map((function(e){return s.pre+u[0]+e}))}}}var d=s.pre;var h=s.post.length?expand(s.post,false):[""];var g;if(c){var p=numeric(u[0]);var E=numeric(u[1]);var m=Math.max(u[0].length,u[1].length);var C=u.length==3?Math.abs(numeric(u[2])):1;var I=lte;var y=E0){var S=new Array(w+1).join("0");if(Q<0)b="-"+S+b.slice(1);else b=S+b}}}g.push(b)}}else{g=n(u,(function(e){return expand(e,false)}))}for(var v=0;v{var n=r(6800),o=r(5497),s=r(7113),i=r(3797),a=r(414),A=r(972),c=r(6142),l=r(8522),u=r(3639),h=r(5846),d=r(5325),g=r(9502),p=r(4636),E=r(2259),m=r(1031);n.BSON_INT32_MAX=2147483647;n.BSON_INT32_MIN=-2147483648;n.BSON_INT64_MAX=Math.pow(2,63)-1;n.BSON_INT64_MIN=-Math.pow(2,63);n.JS_INT_MAX=9007199254740992;n.JS_INT_MIN=-9007199254740992;n.Binary=o;n.Code=s;n.DBRef=i;n.Decimal128=a;n.Double=A;n.Int32=c;n.Long=l;n.Map=u;n.MaxKey=h;n.MinKey=d;n.ObjectId=g;n.ObjectID=g;n.BSONRegExp=p;n.Symbol=E;n.Timestamp=m;e.exports=n},5497:(e,t,r)=>{if(typeof global!=="undefined"){var n=r(4300).Buffer}var o=r(2863);function Binary(e,t){if(!(this instanceof Binary))return new Binary(e,t);if(e!=null&&!(typeof e==="string")&&!n.isBuffer(e)&&!(e instanceof Uint8Array)&&!Array.isArray(e)){throw new Error("only String, Buffer, Uint8Array or Array accepted")}this._bsontype="Binary";if(e instanceof Number){this.sub_type=e;this.position=0}else{this.sub_type=t==null?s:t;this.position=0}if(e!=null&&!(e instanceof Number)){if(typeof e==="string"){if(typeof n!=="undefined"){this.buffer=o.toBuffer(e)}else if(typeof Uint8Array!=="undefined"||Object.prototype.toString.call(e)==="[object Array]"){this.buffer=writeStringToArray(e)}else{throw new Error("only String, Buffer, Uint8Array or Array accepted")}}else{this.buffer=e}this.position=e.length}else{if(typeof n!=="undefined"){this.buffer=o.allocBuffer(Binary.BUFFER_SIZE)}else if(typeof Uint8Array!=="undefined"){this.buffer=new Uint8Array(new ArrayBuffer(Binary.BUFFER_SIZE))}else{this.buffer=new Array(Binary.BUFFER_SIZE)}this.position=0}}Binary.prototype.put=function put(e){if(e["length"]!=null&&typeof e!=="number"&&e.length!==1)throw new Error("only accepts single character String, Uint8Array or Array");if(typeof e!=="number"&&e<0||e>255)throw new Error("only accepts number in a valid unsigned byte range 0-255");var t=null;if(typeof e==="string"){t=e.charCodeAt(0)}else if(e["length"]!=null){t=e[0]}else{t=e}if(this.buffer.length>this.position){this.buffer[this.position++]=t}else{if(typeof n!=="undefined"&&n.isBuffer(this.buffer)){var r=o.allocBuffer(Binary.BUFFER_SIZE+this.buffer.length);this.buffer.copy(r,0,0,this.buffer.length);this.buffer=r;this.buffer[this.position++]=t}else{r=null;if(Object.prototype.toString.call(this.buffer)==="[object Uint8Array]"){r=new Uint8Array(new ArrayBuffer(Binary.BUFFER_SIZE+this.buffer.length))}else{r=new Array(Binary.BUFFER_SIZE+this.buffer.length)}for(var s=0;sthis.position?t+e.length:this.position}else if(typeof n!=="undefined"&&typeof e==="string"&&n.isBuffer(this.buffer)){this.buffer.write(e,t,"binary");this.position=t+e.length>this.position?t+e.length:this.position}else if(Object.prototype.toString.call(e)==="[object Uint8Array]"||Object.prototype.toString.call(e)==="[object Array]"&&typeof e!=="string"){for(s=0;sthis.position?t:this.position}else if(typeof e==="string"){for(s=0;sthis.position?t:this.position}};Binary.prototype.read=function read(e,t){t=t&&t>0?t:this.position;if(this.buffer["slice"]){return this.buffer.slice(e,e+t)}else{var r=typeof Uint8Array!=="undefined"?new Uint8Array(new ArrayBuffer(t)):new Array(t);for(var n=0;n{"use strict";var n=r(3639),o=r(8522),s=r(972),i=r(1031),a=r(9502),A=r(4636),c=r(2259),l=r(6142),u=r(7113),h=r(414),d=r(5325),g=r(5846),p=r(3797),E=r(5497);var m=r(2139),C=r(9290),I=r(1273),y=r(2863);var B=1024*1024*17;var Q=y.allocBuffer(B);var BSON=function(){};BSON.prototype.serialize=function serialize(e,t){t=t||{};var r=typeof t.checkKeys==="boolean"?t.checkKeys:false;var n=typeof t.serializeFunctions==="boolean"?t.serializeFunctions:false;var o=typeof t.ignoreUndefined==="boolean"?t.ignoreUndefined:true;var s=typeof t.minInternalBufferSize==="number"?t.minInternalBufferSize:B;if(Q.length{var t=function Code(e,t){if(!(this instanceof Code))return new Code(e,t);this._bsontype="Code";this.code=e;this.scope=t};t.prototype.toJSON=function(){return{scope:this.scope,code:this.code}};e.exports=t;e.exports.Code=t},3797:e=>{function DBRef(e,t,r){if(!(this instanceof DBRef))return new DBRef(e,t,r);this._bsontype="DBRef";this.namespace=e;this.oid=t;this.db=r}DBRef.prototype.toJSON=function(){return{$ref:this.namespace,$id:this.oid,$db:this.db==null?"":this.db}};e.exports=DBRef;e.exports.DBRef=DBRef},414:(e,t,r)=>{"use strict";var n=r(8522);var o=/^(\+|-)?(\d+|(\d*\.\d*))?(E|e)?([-+])?(\d+)?$/;var s=/^(\+|-)?(Infinity|inf)$/i;var i=/^(\+|-)?NaN$/i;var a=6111;var A=-6176;var c=6176;var l=34;var u=[124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse();var h=[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse();var d=[120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].reverse();var g=/^([-+])?(\d+)?$/;var p=r(2863);var isDigit=function(e){return!isNaN(parseInt(e,10))};var divideu128=function(e){var t=n.fromNumber(1e3*1e3*1e3);var r=n.fromNumber(0);var o=0;if(!e.parts[0]&&!e.parts[1]&&!e.parts[2]&&!e.parts[3]){return{quotient:e,rem:r}}for(o=0;o<=3;o++){r=r.shiftLeft(32);r=r.add(new n(e.parts[o],0));e.parts[o]=r.div(t).low_;r=r.modulo(t)}return{quotient:e,rem:r}};var multiply64x2=function(e,t){if(!e&&!t){return{high:n.fromNumber(0),low:n.fromNumber(0)}}var r=e.shiftRightUnsigned(32);var o=new n(e.getLowBits(),0);var s=t.shiftRightUnsigned(32);var i=new n(t.getLowBits(),0);var a=r.multiply(s);var A=r.multiply(i);var c=o.multiply(s);var l=o.multiply(i);a=a.add(A.shiftRightUnsigned(32));A=new n(A.getLowBits(),0).add(c).add(l.shiftRightUnsigned(32));a=a.add(A.shiftRightUnsigned(32));l=A.shiftLeft(32).add(new n(l.getLowBits(),0));return{high:a,low:l}};var lessThan=function(e,t){var r=e.high_>>>0;var n=t.high_>>>0;if(r>>0;var s=t.low_>>>0;if(o=7e3){throw new Error(""+e+" not a valid Decimal128 string")}var _=e.match(o);var M=e.match(s);var L=e.match(i);if(!_&&!M&&!L||e.length===0){throw new Error(""+e+" not a valid Decimal128 string")}if(_&&_[4]&&_[2]===undefined){throw new Error(""+e+" not a valid Decimal128 string")}if(e[O]==="+"||e[O]==="-"){t=e[O++]==="-"}if(!isDigit(e[O])&&e[O]!=="."){if(e[O]==="i"||e[O]==="I"){return new Decimal128(p.toBuffer(t?h:d))}else if(e[O]==="N"){return new Decimal128(p.toBuffer(u))}}while(isDigit(e[O])||e[O]==="."){if(e[O]==="."){if(r){return new Decimal128(p.toBuffer(u))}r=true;O=O+1;continue}if(b<34){if(e[O]!=="0"||E){if(!E){B=C}E=true;Q[w++]=parseInt(e[O],10);b=b+1}}if(E){I=I+1}if(r){y=y+1}C=C+1;O=O+1}if(r&&!C){throw new Error(""+e+" not a valid Decimal128 string")}if(e[O]==="e"||e[O]==="E"){var F=e.substr(++O).match(g);if(!F||!F[2]){return new Decimal128(p.toBuffer(u))}R=parseInt(F[0],10);O=O+F[0].length}if(e[O]){return new Decimal128(p.toBuffer(u))}S=0;if(!b){S=0;v=0;Q[0]=0;I=1;b=1;m=0}else{v=b-1;m=I;if(R!==0&&m!==1){while(e[B+m-1]==="0"){m=m-1}}}if(R<=y&&y-R>1<<14){R=A}else{R=R-y}while(R>a){v=v+1;if(v-S>l){var U=Q.join("");if(U.match(/^0+$/)){R=a;break}else{return new Decimal128(p.toBuffer(t?h:d))}}R=R-1}while(R=5){Y=1;if(G===5){Y=Q[v]%2===1;for(k=B+v+2;k=0;V--){if(++Q[V]>9){Q[V]=0;if(V===0){if(R>8&255;q[O++]=J.low.low_>>16&255;q[O++]=J.low.low_>>24&255;q[O++]=J.low.high_&255;q[O++]=J.low.high_>>8&255;q[O++]=J.low.high_>>16&255;q[O++]=J.low.high_>>24&255;q[O++]=J.high.low_&255;q[O++]=J.high.low_>>8&255;q[O++]=J.high.low_>>16&255;q[O++]=J.high.low_>>24&255;q[O++]=J.high.high_&255;q[O++]=J.high.high_>>8&255;q[O++]=J.high.high_>>16&255;q[O++]=J.high.high_>>24&255;return new Decimal128(q)};var E=31;var m=16383;var C=30;var I=31;c=6176;Decimal128.prototype.toString=function(){var e;var t;var r;var o;var s;var i;var a=0;var A=new Array(36);for(var l=0;l>26&E;if(s>>3===3){if(s===C){return b.join("")+"Infinity"}else if(s===I){return"NaN"}else{i=e>>15&m;p=8+(e>>14&1)}}else{p=e>>14&7;i=e>>17&m}h=i-c;y.parts[0]=(e&16383)+((p&15)<<14);y.parts[1]=t;y.parts[2]=r;y.parts[3]=o;if(y.parts[0]===0&&y.parts[1]===0&&y.parts[2]===0&&y.parts[3]===0){g=true}else{for(Q=3;Q>=0;Q--){var v=0;var R=divideu128(y);y=R.quotient;v=R.rem.low_;if(!v)continue;for(B=8;B>=0;B--){A[Q*9+B]=v%10;v=Math.floor(v/10)}}}if(g){a=1;A[u]=0}else{a=36;l=0;while(!A[u]){l++;a=a-1;u=u+1}}d=a-1+h;if(d>=34||d<=-7||h>0){b.push(A[u++]);a=a-1;if(a){b.push(".")}for(l=0;l0){b.push("+"+d)}else{b.push(d)}}else{if(h>=0){for(l=0;l0){for(l=0;l{function Double(e){if(!(this instanceof Double))return new Double(e);this._bsontype="Double";this.value=e}Double.prototype.valueOf=function(){return this.value};Double.prototype.toJSON=function(){return this.value};e.exports=Double;e.exports.Double=Double},7998:(e,t)=>{var r;var readIEEE754=function(e,t,r,n,o){var s,i,a=r==="big",A=o*8-n-1,c=(1<>1,u=-7,h=a?0:o-1,d=a?1:-1,g=e[t+h];h+=d;s=g&(1<<-u)-1;g>>=-u;u+=A;for(;u>0;s=s*256+e[t+h],h+=d,u-=8);i=s&(1<<-u)-1;s>>=-u;u+=n;for(;u>0;i=i*256+e[t+h],h+=d,u-=8);if(s===0){s=1-l}else if(s===c){return i?NaN:(g?-1:1)*Infinity}else{i=i+Math.pow(2,n);s=s-l}return(g?-1:1)*i*Math.pow(2,s-n)};var writeIEEE754=function(e,t,r,n,o,s){var i,a,A,c=n==="big",l=s*8-o-1,u=(1<>1,d=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=c?s-1:0,p=c?-1:1,E=t<0||t===0&&1/t<0?1:0;t=Math.abs(t);if(isNaN(t)||t===Infinity){a=isNaN(t)?1:0;i=u}else{i=Math.floor(Math.log(t)/Math.LN2);if(t*(A=Math.pow(2,-i))<1){i--;A*=2}if(i+h>=1){t+=d/A}else{t+=d*Math.pow(2,1-h)}if(t*A>=2){i++;A/=2}if(i+h>=u){a=0;i=u}else if(i+h>=1){a=(t*A-1)*Math.pow(2,o);i=i+h}else{a=t*Math.pow(2,h-1)*Math.pow(2,o);i=0}}for(;o>=8;e[r+g]=a&255,g+=p,a/=256,o-=8);i=i<0;e[r+g]=i&255,g+=p,i/=256,l-=8);e[r+g-p]|=E*128};r=readIEEE754;t.P=writeIEEE754},6142:e=>{var Int32=function(e){if(!(this instanceof Int32))return new Int32(e);this._bsontype="Int32";this.value=e};Int32.prototype.valueOf=function(){return this.value};Int32.prototype.toJSON=function(){return this.value};e.exports=Int32;e.exports.Int32=Int32},8522:e=>{function Long(e,t){if(!(this instanceof Long))return new Long(e,t);this._bsontype="Long";this.low_=e|0;this.high_=t|0}Long.prototype.toInt=function(){return this.low_};Long.prototype.toNumber=function(){return this.high_*Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()};Long.prototype.toBigInt=function(){return BigInt(this.toString())};Long.prototype.toJSON=function(){return this.toString()};Long.prototype.toString=function(e){var t=e||10;if(t<2||36=0?this.low_:Long.TWO_PWR_32_DBL_+this.low_};Long.prototype.getNumBitsAbs=function(){if(this.isNegative()){if(this.equals(Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var e=this.high_!==0?this.high_:this.low_;for(var t=31;t>0;t--){if((e&1<0};Long.prototype.greaterThanOrEqual=function(e){return this.compare(e)>=0};Long.prototype.compare=function(e){if(this.equals(e)){return 0}var t=this.isNegative();var r=e.isNegative();if(t&&!r){return-1}if(!t&&r){return 1}if(this.subtract(e).isNegative()){return-1}else{return 1}};Long.prototype.negate=function(){if(this.equals(Long.MIN_VALUE)){return Long.MIN_VALUE}else{return this.not().add(Long.ONE)}};Long.prototype.add=function(e){var t=this.high_>>>16;var r=this.high_&65535;var n=this.low_>>>16;var o=this.low_&65535;var s=e.high_>>>16;var i=e.high_&65535;var a=e.low_>>>16;var A=e.low_&65535;var c=0,l=0,u=0,h=0;h+=o+A;u+=h>>>16;h&=65535;u+=n+a;l+=u>>>16;u&=65535;l+=r+i;c+=l>>>16;l&=65535;c+=t+s;c&=65535;return Long.fromBits(u<<16|h,c<<16|l)};Long.prototype.subtract=function(e){return this.add(e.negate())};Long.prototype.multiply=function(e){if(this.isZero()){return Long.ZERO}else if(e.isZero()){return Long.ZERO}if(this.equals(Long.MIN_VALUE)){return e.isOdd()?Long.MIN_VALUE:Long.ZERO}else if(e.equals(Long.MIN_VALUE)){return this.isOdd()?Long.MIN_VALUE:Long.ZERO}if(this.isNegative()){if(e.isNegative()){return this.negate().multiply(e.negate())}else{return this.negate().multiply(e).negate()}}else if(e.isNegative()){return this.multiply(e.negate()).negate()}if(this.lessThan(Long.TWO_PWR_24_)&&e.lessThan(Long.TWO_PWR_24_)){return Long.fromNumber(this.toNumber()*e.toNumber())}var t=this.high_>>>16;var r=this.high_&65535;var n=this.low_>>>16;var o=this.low_&65535;var s=e.high_>>>16;var i=e.high_&65535;var a=e.low_>>>16;var A=e.low_&65535;var c=0,l=0,u=0,h=0;h+=o*A;u+=h>>>16;h&=65535;u+=n*A;l+=u>>>16;u&=65535;u+=o*a;l+=u>>>16;u&=65535;l+=r*A;c+=l>>>16;l&=65535;l+=n*a;c+=l>>>16;l&=65535;l+=o*i;c+=l>>>16;l&=65535;c+=t*A+r*a+n*i+o*s;c&=65535;return Long.fromBits(u<<16|h,c<<16|l)};Long.prototype.div=function(e){if(e.isZero()){throw Error("division by zero")}else if(this.isZero()){return Long.ZERO}if(this.equals(Long.MIN_VALUE)){if(e.equals(Long.ONE)||e.equals(Long.NEG_ONE)){return Long.MIN_VALUE}else if(e.equals(Long.MIN_VALUE)){return Long.ONE}else{var t=this.shiftRight(1);var r=t.div(e).shiftLeft(1);if(r.equals(Long.ZERO)){return e.isNegative()?Long.ONE:Long.NEG_ONE}else{var n=this.subtract(e.multiply(r));var o=r.add(n.div(e));return o}}}else if(e.equals(Long.MIN_VALUE)){return Long.ZERO}if(this.isNegative()){if(e.isNegative()){return this.negate().div(e.negate())}else{return this.negate().div(e).negate()}}else if(e.isNegative()){return this.div(e.negate()).negate()}var s=Long.ZERO;n=this;while(n.greaterThanOrEqual(e)){r=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));var i=Math.ceil(Math.log(r)/Math.LN2);var a=i<=48?1:Math.pow(2,i-48);var A=Long.fromNumber(r);var c=A.multiply(e);while(c.isNegative()||c.greaterThan(n)){r-=a;A=Long.fromNumber(r);c=A.multiply(e)}if(A.isZero()){A=Long.ONE}s=s.add(A);n=n.subtract(c)}return s};Long.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))};Long.prototype.not=function(){return Long.fromBits(~this.low_,~this.high_)};Long.prototype.and=function(e){return Long.fromBits(this.low_&e.low_,this.high_&e.high_)};Long.prototype.or=function(e){return Long.fromBits(this.low_|e.low_,this.high_|e.high_)};Long.prototype.xor=function(e){return Long.fromBits(this.low_^e.low_,this.high_^e.high_)};Long.prototype.shiftLeft=function(e){e&=63;if(e===0){return this}else{var t=this.low_;if(e<32){var r=this.high_;return Long.fromBits(t<>>32-e)}else{return Long.fromBits(0,t<>>e|t<<32-e,t>>e)}else{return Long.fromBits(t>>e-32,t>=0?0:-1)}}};Long.prototype.shiftRightUnsigned=function(e){e&=63;if(e===0){return this}else{var t=this.high_;if(e<32){var r=this.low_;return Long.fromBits(r>>>e|t<<32-e,t>>>e)}else if(e===32){return Long.fromBits(t,0)}else{return Long.fromBits(t>>>e-32,0)}}};Long.fromInt=function(e){if(-128<=e&&e<128){var t=Long.INT_CACHE_[e];if(t){return t}}var r=new Long(e|0,e<0?-1:0);if(-128<=e&&e<128){Long.INT_CACHE_[e]=r}return r};Long.fromNumber=function(e){if(isNaN(e)||!isFinite(e)){return Long.ZERO}else if(e<=-Long.TWO_PWR_63_DBL_){return Long.MIN_VALUE}else if(e+1>=Long.TWO_PWR_63_DBL_){return Long.MAX_VALUE}else if(e<0){return Long.fromNumber(-e).negate()}else{return new Long(e%Long.TWO_PWR_32_DBL_|0,e/Long.TWO_PWR_32_DBL_|0)}};Long.fromBigInt=function(e){return Long.fromString(e.toString(10),10)};Long.fromBits=function(e,t){return new Long(e,t)};Long.fromString=function(e,t){if(e.length===0){throw Error("number format error: empty string")}var r=t||10;if(r<2||36=0){throw Error('number format error: interior "-" character: '+e)}var n=Long.fromNumber(Math.pow(r,8));var o=Long.ZERO;for(var s=0;s{"use strict";if(typeof global.Map!=="undefined"){e.exports=global.Map;e.exports.Map=global.Map}else{var Map=function(e){this._keys=[];this._values={};for(var t=0;t{function MaxKey(){if(!(this instanceof MaxKey))return new MaxKey;this._bsontype="MaxKey"}e.exports=MaxKey;e.exports.MaxKey=MaxKey},5325:e=>{function MinKey(){if(!(this instanceof MinKey))return new MinKey;this._bsontype="MinKey"}e.exports=MinKey;e.exports.MinKey=MinKey},9502:(e,t,r)=>{var n="inspect";var o=r(2863);var s=parseInt(Math.random()*16777215,10);var i=new RegExp("^[0-9a-fA-F]{24}$");try{if(Buffer&&Buffer.from){var a=true;n=r(3837).inspect.custom||"inspect"}}catch(e){a=false}var A=function ObjectID(e){if(e instanceof ObjectID)return e;if(!(this instanceof ObjectID))return new ObjectID(e);this._bsontype="ObjectID";if(e==null||typeof e==="number"){this.id=this.generate(e);if(ObjectID.cacheHexString)this.__id=this.toString("hex");return}var t=ObjectID.isValid(e);if(!t&&e!=null){throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}else if(t&&typeof e==="string"&&e.length===24&&a){return new ObjectID(o.toBuffer(e,"hex"))}else if(t&&typeof e==="string"&&e.length===24){return ObjectID.createFromHexString(e)}else if(e!=null&&e.length===12){this.id=e}else if(e!=null&&typeof e.toHexString==="function"){return e}else{throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}if(ObjectID.cacheHexString)this.__id=this.toString("hex")};var c=[];for(var l=0;l<256;l++){c[l]=(l<=15?"0":"")+l.toString(16)}A.prototype.toHexString=function(){if(A.cacheHexString&&this.__id)return this.__id;var e="";if(!this.id||!this.id.length){throw new Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is ["+JSON.stringify(this.id)+"]")}if(this.id instanceof h){e=convertToHex(this.id);if(A.cacheHexString)this.__id=e;return e}for(var t=0;t>8&255;n[1]=e>>16&255;n[0]=e>>24&255;n[6]=s&255;n[5]=s>>8&255;n[4]=s>>16&255;n[8]=t&255;n[7]=t>>8&255;n[11]=r&255;n[10]=r>>8&255;n[9]=r>>16&255;return n};A.prototype.toString=function(e){if(this.id&&this.id.copy){return this.id.toString(typeof e==="string"?e:"hex")}return this.toHexString()};A.prototype[n]=A.prototype.toString;A.prototype.toJSON=function(){return this.toHexString()};A.prototype.equals=function equals(e){if(e instanceof A){return this.toString()===e.toString()}else if(typeof e==="string"&&A.isValid(e)&&e.length===12&&this.id instanceof h){return e===this.id.toString("binary")}else if(typeof e==="string"&&A.isValid(e)&&e.length===24){return e.toLowerCase()===this.toHexString()}else if(typeof e==="string"&&A.isValid(e)&&e.length===12){return e===this.id}else if(e!=null&&(e instanceof A||e.toHexString)){return e.toHexString()===this.toHexString()}else{return false}};A.prototype.getTimestamp=function(){var e=new Date;var t=this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24;e.setTime(Math.floor(t)*1e3);return e};A.index=~~(Math.random()*16777215);A.createPk=function createPk(){return new A};A.createFromTime=function createFromTime(e){var t=o.toBuffer([0,0,0,0,0,0,0,0,0,0,0,0]);t[3]=e&255;t[2]=e>>8&255;t[1]=e>>16&255;t[0]=e>>24&255;return new A(t)};var u=[];l=0;while(l<10)u[48+l]=l++;while(l<16)u[65-10+l]=u[97-10+l]=l++;var h=Buffer;var convertToHex=function(e){return e.toString("hex")};A.createFromHexString=function createFromHexString(e){if(typeof e==="undefined"||e!=null&&e.length!==24){throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}if(a)return new A(o.toBuffer(e,"hex"));var t=new h(12);var r=0;var n=0;while(n<24){t[r++]=u[e.charCodeAt(n++)]<<4|u[e.charCodeAt(n++)]}return new A(t)};A.isValid=function isValid(e){if(e==null)return false;if(typeof e==="number"){return true}if(typeof e==="string"){return e.length===12||e.length===24&&i.test(e)}if(e instanceof A){return true}if(e instanceof h){return true}if(typeof e.toHexString==="function"&&(e.id instanceof h||typeof e.id==="string")){return e.id.length===12||e.id.length===24&&i.test(e.id)}return false};Object.defineProperty(A.prototype,"generationTime",{enumerable:true,get:function(){return this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24},set:function(e){this.id[3]=e&255;this.id[2]=e>>8&255;this.id[1]=e>>16&255;this.id[0]=e>>24&255}});e.exports=A;e.exports.ObjectID=A;e.exports.ObjectId=A},1273:(e,t,r)=>{"use strict";var n=r(8522).Long,o=r(972).Double,s=r(1031).Timestamp,i=r(9502).ObjectID,a=r(2259).Symbol,A=r(4636).BSONRegExp,c=r(7113).Code,l=r(414),u=r(5325).MinKey,h=r(5846).MaxKey,d=r(3797).DBRef,g=r(5497).Binary;var p=r(2863).normalizedFunctionString;var E=function isDate(e){return typeof e==="object"&&Object.prototype.toString.call(e)==="[object Date]"};var m=function calculateObjectSize(e,t,r){var n=4+1;if(Array.isArray(e)){for(var o=0;o=C.JS_INT_MIN&&t<=C.JS_INT_MAX){if(t>=C.BSON_INT32_MIN&&t<=C.BSON_INT32_MAX){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(4+1)}else{return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(8+1)}}else{return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(8+1)}case"undefined":if(I||!y)return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1;return 0;case"boolean":return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(1+1);case"object":if(t==null||t instanceof u||t instanceof h||t["_bsontype"]==="MinKey"||t["_bsontype"]==="MaxKey"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1}else if(t instanceof i||t["_bsontype"]==="ObjectID"||t["_bsontype"]==="ObjectId"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(12+1)}else if(t instanceof Date||E(t)){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(8+1)}else if(typeof Buffer!=="undefined"&&Buffer.isBuffer(t)){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(1+4+1)+t.length}else if(t instanceof n||t instanceof o||t instanceof s||t["_bsontype"]==="Long"||t["_bsontype"]==="Double"||t["_bsontype"]==="Timestamp"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(8+1)}else if(t instanceof l||t["_bsontype"]==="Decimal128"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(16+1)}else if(t instanceof c||t["_bsontype"]==="Code"){if(t.scope!=null&&Object.keys(t.scope).length>0){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+4+4+Buffer.byteLength(t.code.toString(),"utf8")+1+m(t.scope,r,y)}else{return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+4+Buffer.byteLength(t.code.toString(),"utf8")+1}}else if(t instanceof g||t["_bsontype"]==="Binary"){if(t.sub_type===g.SUBTYPE_BYTE_ARRAY){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(t.position+1+4+1+4)}else{return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+(t.position+1+4+1)}}else if(t instanceof a||t["_bsontype"]==="Symbol"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+Buffer.byteLength(t.value,"utf8")+4+1+1}else if(t instanceof d||t["_bsontype"]==="DBRef"){var B={$ref:t.namespace,$id:t.oid};if(null!=t.db){B["$db"]=t.db}return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+m(B,r,y)}else if(t instanceof RegExp||Object.prototype.toString.call(t)==="[object RegExp]"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+Buffer.byteLength(t.source,"utf8")+1+(t.global?1:0)+(t.ignoreCase?1:0)+(t.multiline?1:0)+1}else if(t instanceof A||t["_bsontype"]==="BSONRegExp"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+Buffer.byteLength(t.pattern,"utf8")+1+Buffer.byteLength(t.options,"utf8")+1}else{return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+m(t,r,y)+1}case"function":if(t instanceof RegExp||Object.prototype.toString.call(t)==="[object RegExp]"||String.call(t)==="[object RegExp]"){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+Buffer.byteLength(t.source,"utf8")+1+(t.global?1:0)+(t.ignoreCase?1:0)+(t.multiline?1:0)+1}else{if(r&&t.scope!=null&&Object.keys(t.scope).length>0){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+4+4+Buffer.byteLength(p(t),"utf8")+1+m(t.scope,r,y)}else if(r){return(e!=null?Buffer.byteLength(e,"utf8")+1:0)+1+4+Buffer.byteLength(p(t),"utf8")+1}}}return 0}var C={};C.BSON_INT32_MAX=2147483647;C.BSON_INT32_MIN=-2147483648;C.JS_INT_MAX=9007199254740992;C.JS_INT_MIN=-9007199254740992;e.exports=m},2139:(module,__unused_webpack_exports,__nccwpck_require__)=>{"use strict";var Long=__nccwpck_require__(8522).Long,Double=__nccwpck_require__(972).Double,Timestamp=__nccwpck_require__(1031).Timestamp,ObjectID=__nccwpck_require__(9502).ObjectID,Symbol=__nccwpck_require__(2259).Symbol,Code=__nccwpck_require__(7113).Code,MinKey=__nccwpck_require__(5325).MinKey,MaxKey=__nccwpck_require__(5846).MaxKey,Decimal128=__nccwpck_require__(414),Int32=__nccwpck_require__(6142),DBRef=__nccwpck_require__(3797).DBRef,BSONRegExp=__nccwpck_require__(4636).BSONRegExp,Binary=__nccwpck_require__(5497).Binary;var utils=__nccwpck_require__(2863);var deserialize=function(e,t,r){t=t==null?{}:t;var n=t&&t.index?t.index:0;var o=e[n]|e[n+1]<<8|e[n+2]<<16|e[n+3]<<24;if(o<5||e.lengthe.length){throw new Error("corrupt bson message")}if(e[n+o-1]!==0){throw new Error("One object, sized correctly, with a spot for an EOO, but the EOO isn't 0x00")}return deserializeObject(e,n,t,r)};var deserializeObject=function(e,t,r,n){var o=r["evalFunctions"]==null?false:r["evalFunctions"];var s=r["cacheFunctions"]==null?false:r["cacheFunctions"];var i=r["cacheFunctionsCrc32"]==null?false:r["cacheFunctionsCrc32"];if(!i)var a=null;var A=r["fieldsAsRaw"]==null?null:r["fieldsAsRaw"];var c=r["raw"]==null?false:r["raw"];var l=typeof r["bsonRegExp"]==="boolean"?r["bsonRegExp"]:false;var u=r["promoteBuffers"]==null?false:r["promoteBuffers"];var h=r["promoteLongs"]==null?true:r["promoteLongs"];var d=r["promoteValues"]==null?true:r["promoteValues"];var g=t;if(e.length<5)throw new Error("corrupt bson message < 5 bytes long");var p=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(p<5||p>e.length)throw new Error("corrupt bson message");var E=n?[]:{};var m=0;var C=false;while(!C){var I=e[t++];if(I===0)break;var y=t;while(e[y]!==0&&y=e.length)throw new Error("Bad BSON Document: illegal CString");var B=n?m++:e.toString("utf8",t,y);t=y+1;if(I===BSON.BSON_DATA_STRING){var Q=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(Q<=0||Q>e.length-t||e[t+Q-1]!==0)throw new Error("bad string length in bson");E[B]=e.toString("utf8",t,t+Q-1);t=t+Q}else if(I===BSON.BSON_DATA_OID){var b=utils.allocBuffer(12);e.copy(b,0,t,t+12);E[B]=new ObjectID(b);t=t+12}else if(I===BSON.BSON_DATA_INT&&d===false){E[B]=new Int32(e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24)}else if(I===BSON.BSON_DATA_INT){E[B]=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}else if(I===BSON.BSON_DATA_NUMBER&&d===false){E[B]=new Double(e.readDoubleLE(t));t=t+8}else if(I===BSON.BSON_DATA_NUMBER){E[B]=e.readDoubleLE(t);t=t+8}else if(I===BSON.BSON_DATA_DATE){var w=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;var S=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;E[B]=new Date(new Long(w,S).toNumber())}else if(I===BSON.BSON_DATA_BOOLEAN){if(e[t]!==0&&e[t]!==1)throw new Error("illegal boolean type value");E[B]=e[t++]===1}else if(I===BSON.BSON_DATA_OBJECT){var v=t;var R=e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;if(R<=0||R>e.length-t)throw new Error("bad embedded document length in bson");if(c){E[B]=e.slice(t,t+R)}else{E[B]=deserializeObject(e,v,r,false)}t=t+R}else if(I===BSON.BSON_DATA_ARRAY){v=t;R=e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;var k=r;var D=t+R;if(A&&A[B]){k={};for(var N in r)k[N]=r[N];k["raw"]=true}E[B]=deserializeObject(e,v,k,true);t=t+R;if(e[t-1]!==0)throw new Error("invalid array terminator byte");if(t!==D)throw new Error("corrupted array bson")}else if(I===BSON.BSON_DATA_UNDEFINED){E[B]=undefined}else if(I===BSON.BSON_DATA_NULL){E[B]=null}else if(I===BSON.BSON_DATA_LONG){w=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;S=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;var T=new Long(w,S);if(h&&d===true){E[B]=T.lessThanOrEqual(JS_INT_MAX_LONG)&&T.greaterThanOrEqual(JS_INT_MIN_LONG)?T.toNumber():T}else{E[B]=T}}else if(I===BSON.BSON_DATA_DECIMAL128){var O=utils.allocBuffer(16);e.copy(O,0,t,t+16);t=t+16;var _=new Decimal128(O);E[B]=_.toObject?_.toObject():_}else if(I===BSON.BSON_DATA_BINARY){var M=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;var L=M;var F=e[t++];if(M<0)throw new Error("Negative binary type element size found");if(M>e.length)throw new Error("Binary type size larger than document size");if(e["slice"]!=null){if(F===Binary.SUBTYPE_BYTE_ARRAY){M=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(M<0)throw new Error("Negative binary type element size found for subtype 0x02");if(M>L-4)throw new Error("Binary type with subtype 0x02 contains to long binary size");if(ML-4)throw new Error("Binary type with subtype 0x02 contains to long binary size");if(M=e.length)throw new Error("Bad BSON Document: illegal CString");var P=e.toString("utf8",t,y);t=y+1;y=t;while(e[y]!==0&&y=e.length)throw new Error("Bad BSON Document: illegal CString");var G=e.toString("utf8",t,y);t=y+1;var Y=new Array(G.length);for(y=0;y=e.length)throw new Error("Bad BSON Document: illegal CString");P=e.toString("utf8",t,y);t=y+1;y=t;while(e[y]!==0&&y=e.length)throw new Error("Bad BSON Document: illegal CString");G=e.toString("utf8",t,y);t=y+1;E[B]=new BSONRegExp(P,G)}else if(I===BSON.BSON_DATA_SYMBOL){Q=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(Q<=0||Q>e.length-t||e[t+Q-1]!==0)throw new Error("bad string length in bson");E[B]=new Symbol(e.toString("utf8",t,t+Q-1));t=t+Q}else if(I===BSON.BSON_DATA_TIMESTAMP){w=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;S=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;E[B]=new Timestamp(w,S)}else if(I===BSON.BSON_DATA_MIN_KEY){E[B]=new MinKey}else if(I===BSON.BSON_DATA_MAX_KEY){E[B]=new MaxKey}else if(I===BSON.BSON_DATA_CODE){Q=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(Q<=0||Q>e.length-t||e[t+Q-1]!==0)throw new Error("bad string length in bson");var V=e.toString("utf8",t,t+Q-1);if(o){if(s){var W=i?a(V):V;E[B]=isolateEvalWithHash(functionCache,W,V,E)}else{E[B]=isolateEval(V)}}else{E[B]=new Code(V)}t=t+Q}else if(I===BSON.BSON_DATA_CODE_W_SCOPE){var J=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(J<4+4+4+1){throw new Error("code_w_scope total size shorter minimum expected length")}Q=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(Q<=0||Q>e.length-t||e[t+Q-1]!==0)throw new Error("bad string length in bson");V=e.toString("utf8",t,t+Q-1);t=t+Q;v=t;R=e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;var q=deserializeObject(e,v,r,false);t=t+R;if(J<4+4+R+Q){throw new Error("code_w_scope total size is to short, truncating scope")}if(J>4+4+R+Q){throw new Error("code_w_scope total size is to long, clips outer document")}if(o){if(s){W=i?a(V):V;E[B]=isolateEvalWithHash(functionCache,W,V,E)}else{E[B]=isolateEval(V)}E[B].scope=q}else{E[B]=new Code(V,q)}}else if(I===BSON.BSON_DATA_DBPOINTER){Q=e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24;if(Q<=0||Q>e.length-t||e[t+Q-1]!==0)throw new Error("bad string length in bson");var j=e.toString("utf8",t,t+Q-1);t=t+Q;var z=utils.allocBuffer(12);e.copy(z,0,t,t+12);b=new ObjectID(z);t=t+12;var $=j.split(".");var K=$.shift();var X=$.join(".");E[B]=new DBRef(X,b,K)}else{throw new Error("Detected unknown BSON type "+I.toString(16)+' for fieldname "'+B+'", are you using the latest BSON parser')}}if(p!==t-g){if(n)throw new Error("corrupt array bson");throw new Error("corrupt object bson")}if(E["$id"]!=null)E=new DBRef(E["$ref"],E["$id"],E["$db"]);return E};var isolateEvalWithHash=function(functionCache,hash,functionString,object){var value=null;if(functionCache[hash]==null){eval("value = "+functionString);functionCache[hash]=value}return functionCache[hash].bind(object)};var isolateEval=function(functionString){var value=null;eval("value = "+functionString);return value};var BSON={};var functionCache=BSON.functionCache={};BSON.BSON_DATA_NUMBER=1;BSON.BSON_DATA_STRING=2;BSON.BSON_DATA_OBJECT=3;BSON.BSON_DATA_ARRAY=4;BSON.BSON_DATA_BINARY=5;BSON.BSON_DATA_UNDEFINED=6;BSON.BSON_DATA_OID=7;BSON.BSON_DATA_BOOLEAN=8;BSON.BSON_DATA_DATE=9;BSON.BSON_DATA_NULL=10;BSON.BSON_DATA_REGEXP=11;BSON.BSON_DATA_DBPOINTER=12;BSON.BSON_DATA_CODE=13;BSON.BSON_DATA_SYMBOL=14;BSON.BSON_DATA_CODE_W_SCOPE=15;BSON.BSON_DATA_INT=16;BSON.BSON_DATA_TIMESTAMP=17;BSON.BSON_DATA_LONG=18;BSON.BSON_DATA_DECIMAL128=19;BSON.BSON_DATA_MIN_KEY=255;BSON.BSON_DATA_MAX_KEY=127;BSON.BSON_BINARY_SUBTYPE_DEFAULT=0;BSON.BSON_BINARY_SUBTYPE_FUNCTION=1;BSON.BSON_BINARY_SUBTYPE_BYTE_ARRAY=2;BSON.BSON_BINARY_SUBTYPE_UUID=3;BSON.BSON_BINARY_SUBTYPE_MD5=4;BSON.BSON_BINARY_SUBTYPE_USER_DEFINED=128;BSON.BSON_INT32_MAX=2147483647;BSON.BSON_INT32_MIN=-2147483648;BSON.BSON_INT64_MAX=Math.pow(2,63)-1;BSON.BSON_INT64_MIN=-Math.pow(2,63);BSON.JS_INT_MAX=9007199254740992;BSON.JS_INT_MIN=-9007199254740992;var JS_INT_MAX_LONG=Long.fromNumber(9007199254740992);var JS_INT_MIN_LONG=Long.fromNumber(-9007199254740992);module.exports=deserialize},9290:(e,t,r)=>{"use strict";var n=r(7998).P,o=r(8522).Long,s=r(3639),i=r(5497).Binary;var a=r(2863).normalizedFunctionString;var A=/\x00/;var c=["$db","$ref","$id","$clusterTime"];var l=function isDate(e){return typeof e==="object"&&Object.prototype.toString.call(e)==="[object Date]"};var u=function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"};var serializeString=function(e,t,r,n,o){e[n++]=d.BSON_DATA_STRING;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s+1;e[n-1]=0;var i=e.write(r,n+4,"utf8");e[n+3]=i+1>>24&255;e[n+2]=i+1>>16&255;e[n+1]=i+1>>8&255;e[n]=i+1&255;n=n+4+i;e[n++]=0;return n};var serializeNumber=function(e,t,r,s,i){if(Math.floor(r)===r&&r>=d.JS_INT_MIN&&r<=d.JS_INT_MAX){if(r>=d.BSON_INT32_MIN&&r<=d.BSON_INT32_MAX){e[s++]=d.BSON_DATA_INT;var a=!i?e.write(t,s,"utf8"):e.write(t,s,"ascii");s=s+a;e[s++]=0;e[s++]=r&255;e[s++]=r>>8&255;e[s++]=r>>16&255;e[s++]=r>>24&255}else if(r>=d.JS_INT_MIN&&r<=d.JS_INT_MAX){e[s++]=d.BSON_DATA_NUMBER;a=!i?e.write(t,s,"utf8"):e.write(t,s,"ascii");s=s+a;e[s++]=0;n(e,r,s,"little",52,8);s=s+8}else{e[s++]=d.BSON_DATA_LONG;a=!i?e.write(t,s,"utf8"):e.write(t,s,"ascii");s=s+a;e[s++]=0;var A=o.fromNumber(r);var c=A.getLowBits();var l=A.getHighBits();e[s++]=c&255;e[s++]=c>>8&255;e[s++]=c>>16&255;e[s++]=c>>24&255;e[s++]=l&255;e[s++]=l>>8&255;e[s++]=l>>16&255;e[s++]=l>>24&255}}else{e[s++]=d.BSON_DATA_NUMBER;a=!i?e.write(t,s,"utf8"):e.write(t,s,"ascii");s=s+a;e[s++]=0;n(e,r,s,"little",52,8);s=s+8}return s};var serializeNull=function(e,t,r,n,o){e[n++]=d.BSON_DATA_NULL;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;return n};var serializeBoolean=function(e,t,r,n,o){e[n++]=d.BSON_DATA_BOOLEAN;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;e[n++]=r?1:0;return n};var serializeDate=function(e,t,r,n,s){e[n++]=d.BSON_DATA_DATE;var i=!s?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+i;e[n++]=0;var a=o.fromNumber(r.getTime());var A=a.getLowBits();var c=a.getHighBits();e[n++]=A&255;e[n++]=A>>8&255;e[n++]=A>>16&255;e[n++]=A>>24&255;e[n++]=c&255;e[n++]=c>>8&255;e[n++]=c>>16&255;e[n++]=c>>24&255;return n};var serializeRegExp=function(e,t,r,n,o){e[n++]=d.BSON_DATA_REGEXP;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;if(r.source&&r.source.match(A)!=null){throw Error("value "+r.source+" must not contain null bytes")}n=n+e.write(r.source,n,"utf8");e[n++]=0;if(r.global)e[n++]=115;if(r.ignoreCase)e[n++]=105;if(r.multiline)e[n++]=109;e[n++]=0;return n};var serializeBSONRegExp=function(e,t,r,n,o){e[n++]=d.BSON_DATA_REGEXP;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;if(r.pattern.match(A)!=null){throw Error("pattern "+r.pattern+" must not contain null bytes")}n=n+e.write(r.pattern,n,"utf8");e[n++]=0;n=n+e.write(r.options.split("").sort().join(""),n,"utf8");e[n++]=0;return n};var serializeMinMax=function(e,t,r,n,o){if(r===null){e[n++]=d.BSON_DATA_NULL}else if(r._bsontype==="MinKey"){e[n++]=d.BSON_DATA_MIN_KEY}else{e[n++]=d.BSON_DATA_MAX_KEY}var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;return n};var serializeObjectId=function(e,t,r,n,o){e[n++]=d.BSON_DATA_OID;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;if(typeof r.id==="string"){e.write(r.id,n,"binary")}else if(r.id&&r.id.copy){r.id.copy(e,n,0,12)}else{throw new Error("object ["+JSON.stringify(r)+"] is not a valid ObjectId")}return n+12};var serializeBuffer=function(e,t,r,n,o){e[n++]=d.BSON_DATA_BINARY;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;var i=r.length;e[n++]=i&255;e[n++]=i>>8&255;e[n++]=i>>16&255;e[n++]=i>>24&255;e[n++]=d.BSON_BINARY_SUBTYPE_DEFAULT;r.copy(e,n,0,i);n=n+i;return n};var serializeObject=function(e,t,r,n,o,s,i,a,A,c){for(var l=0;l>8&255;e[n++]=i>>16&255;e[n++]=i>>24&255;e[n++]=a&255;e[n++]=a>>8&255;e[n++]=a>>16&255;e[n++]=a>>24&255;return n};var serializeInt32=function(e,t,r,n,o){e[n++]=d.BSON_DATA_INT;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;e[n++]=r&255;e[n++]=r>>8&255;e[n++]=r>>16&255;e[n++]=r>>24&255;return n};var serializeDouble=function(e,t,r,o,s){e[o++]=d.BSON_DATA_NUMBER;var i=!s?e.write(t,o,"utf8"):e.write(t,o,"ascii");o=o+i;e[o++]=0;n(e,r,o,"little",52,8);o=o+8;return o};var serializeFunction=function(e,t,r,n,o,s,i){e[n++]=d.BSON_DATA_CODE;var A=!i?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+A;e[n++]=0;var c=a(r);var l=e.write(c,n+4,"utf8")+1;e[n]=l&255;e[n+1]=l>>8&255;e[n+2]=l>>16&255;e[n+3]=l>>24&255;n=n+4+l-1;e[n++]=0;return n};var serializeCode=function(e,t,r,n,o,s,i,a,A){if(r.scope&&typeof r.scope==="object"){e[n++]=d.BSON_DATA_CODE_W_SCOPE;var c=!A?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+c;e[n++]=0;var l=n;var u=typeof r.code==="string"?r.code:r.code.toString();n=n+4;var g=e.write(u,n+4,"utf8")+1;e[n]=g&255;e[n+1]=g>>8&255;e[n+2]=g>>16&255;e[n+3]=g>>24&255;e[n+4+g-1]=0;n=n+g+4;var p=h(e,r.scope,o,n,s+1,i,a);n=p-1;var E=p-l;e[l++]=E&255;e[l++]=E>>8&255;e[l++]=E>>16&255;e[l++]=E>>24&255;e[n++]=0}else{e[n++]=d.BSON_DATA_CODE;c=!A?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+c;e[n++]=0;u=r.code.toString();var m=e.write(u,n+4,"utf8")+1;e[n]=m&255;e[n+1]=m>>8&255;e[n+2]=m>>16&255;e[n+3]=m>>24&255;n=n+4+m-1;e[n++]=0}return n};var serializeBinary=function(e,t,r,n,o){e[n++]=d.BSON_DATA_BINARY;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;var a=r.value(true);var A=r.position;if(r.sub_type===i.SUBTYPE_BYTE_ARRAY)A=A+4;e[n++]=A&255;e[n++]=A>>8&255;e[n++]=A>>16&255;e[n++]=A>>24&255;e[n++]=r.sub_type;if(r.sub_type===i.SUBTYPE_BYTE_ARRAY){A=A-4;e[n++]=A&255;e[n++]=A>>8&255;e[n++]=A>>16&255;e[n++]=A>>24&255}a.copy(e,n,0,r.position);n=n+r.position;return n};var serializeSymbol=function(e,t,r,n,o){e[n++]=d.BSON_DATA_SYMBOL;var s=!o?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+s;e[n++]=0;var i=e.write(r.value,n+4,"utf8")+1;e[n]=i&255;e[n+1]=i>>8&255;e[n+2]=i>>16&255;e[n+3]=i>>24&255;n=n+4+i-1;e[n++]=0;return n};var serializeDBRef=function(e,t,r,n,o,s,i){e[n++]=d.BSON_DATA_OBJECT;var a=!i?e.write(t,n,"utf8"):e.write(t,n,"ascii");n=n+a;e[n++]=0;var A=n;var c;if(null!=r.db){c=h(e,{$ref:r.namespace,$id:r.oid,$db:r.db},false,n,o+1,s)}else{c=h(e,{$ref:r.namespace,$id:r.oid},false,n,o+1,s)}var l=c-A;e[A++]=l&255;e[A++]=l>>8&255;e[A++]=l>>16&255;e[A++]=l>>24&255;return c};var h=function serializeInto(e,t,r,n,o,i,a,h){n=n||0;h=h||[];h.push(t);var d=n+4;if(Array.isArray(t)){for(var g=0;g>8&255;e[n++]=B>>16&255;e[n++]=B>>24&255;return d};var d={};d.BSON_DATA_NUMBER=1;d.BSON_DATA_STRING=2;d.BSON_DATA_OBJECT=3;d.BSON_DATA_ARRAY=4;d.BSON_DATA_BINARY=5;d.BSON_DATA_UNDEFINED=6;d.BSON_DATA_OID=7;d.BSON_DATA_BOOLEAN=8;d.BSON_DATA_DATE=9;d.BSON_DATA_NULL=10;d.BSON_DATA_REGEXP=11;d.BSON_DATA_CODE=13;d.BSON_DATA_SYMBOL=14;d.BSON_DATA_CODE_W_SCOPE=15;d.BSON_DATA_INT=16;d.BSON_DATA_TIMESTAMP=17;d.BSON_DATA_LONG=18;d.BSON_DATA_DECIMAL128=19;d.BSON_DATA_MIN_KEY=255;d.BSON_DATA_MAX_KEY=127;d.BSON_BINARY_SUBTYPE_DEFAULT=0;d.BSON_BINARY_SUBTYPE_FUNCTION=1;d.BSON_BINARY_SUBTYPE_BYTE_ARRAY=2;d.BSON_BINARY_SUBTYPE_UUID=3;d.BSON_BINARY_SUBTYPE_MD5=4;d.BSON_BINARY_SUBTYPE_USER_DEFINED=128;d.BSON_INT32_MAX=2147483647;d.BSON_INT32_MIN=-2147483648;d.BSON_INT64_MAX=Math.pow(2,63)-1;d.BSON_INT64_MIN=-Math.pow(2,63);d.JS_INT_MAX=9007199254740992;d.JS_INT_MIN=-9007199254740992;e.exports=h},2863:e=>{"use strict";function normalizedFunctionString(e){return e.toString().replace(/function *\(/,"function (")}function newBuffer(e,t){return new Buffer(e,t)}function allocBuffer(){return Buffer.alloc.apply(Buffer,arguments)}function toBuffer(){return Buffer.from.apply(Buffer,arguments)}e.exports={normalizedFunctionString:normalizedFunctionString,allocBuffer:typeof Buffer.alloc==="function"?allocBuffer:newBuffer,toBuffer:typeof Buffer.from==="function"?toBuffer:newBuffer}},4636:e=>{function BSONRegExp(e,t){if(!(this instanceof BSONRegExp))return new BSONRegExp;this._bsontype="BSONRegExp";this.pattern=e||"";this.options=t||"";for(var r=0;r{var n=Buffer?r(3837).inspect.custom||"inspect":"inspect";function Symbol(e){if(!(this instanceof Symbol))return new Symbol(e);this._bsontype="Symbol";this.value=e}Symbol.prototype.valueOf=function(){return this.value};Symbol.prototype.toString=function(){return this.value};Symbol.prototype[n]=function(){return this.value};Symbol.prototype.toJSON=function(){return this.value};e.exports=Symbol;e.exports.Symbol=Symbol},1031:e=>{function Timestamp(e,t){if(!(this instanceof Timestamp))return new Timestamp(e,t);this._bsontype="Timestamp";this.low_=e|0;this.high_=t|0}Timestamp.prototype.toInt=function(){return this.low_};Timestamp.prototype.toNumber=function(){return this.high_*Timestamp.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()};Timestamp.prototype.toJSON=function(){return this.toString()};Timestamp.prototype.toString=function(e){var t=e||10;if(t<2||36=0?this.low_:Timestamp.TWO_PWR_32_DBL_+this.low_};Timestamp.prototype.getNumBitsAbs=function(){if(this.isNegative()){if(this.equals(Timestamp.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var e=this.high_!==0?this.high_:this.low_;for(var t=31;t>0;t--){if((e&1<0};Timestamp.prototype.greaterThanOrEqual=function(e){return this.compare(e)>=0};Timestamp.prototype.compare=function(e){if(this.equals(e)){return 0}var t=this.isNegative();var r=e.isNegative();if(t&&!r){return-1}if(!t&&r){return 1}if(this.subtract(e).isNegative()){return-1}else{return 1}};Timestamp.prototype.negate=function(){if(this.equals(Timestamp.MIN_VALUE)){return Timestamp.MIN_VALUE}else{return this.not().add(Timestamp.ONE)}};Timestamp.prototype.add=function(e){var t=this.high_>>>16;var r=this.high_&65535;var n=this.low_>>>16;var o=this.low_&65535;var s=e.high_>>>16;var i=e.high_&65535;var a=e.low_>>>16;var A=e.low_&65535;var c=0,l=0,u=0,h=0;h+=o+A;u+=h>>>16;h&=65535;u+=n+a;l+=u>>>16;u&=65535;l+=r+i;c+=l>>>16;l&=65535;c+=t+s;c&=65535;return Timestamp.fromBits(u<<16|h,c<<16|l)};Timestamp.prototype.subtract=function(e){return this.add(e.negate())};Timestamp.prototype.multiply=function(e){if(this.isZero()){return Timestamp.ZERO}else if(e.isZero()){return Timestamp.ZERO}if(this.equals(Timestamp.MIN_VALUE)){return e.isOdd()?Timestamp.MIN_VALUE:Timestamp.ZERO}else if(e.equals(Timestamp.MIN_VALUE)){return this.isOdd()?Timestamp.MIN_VALUE:Timestamp.ZERO}if(this.isNegative()){if(e.isNegative()){return this.negate().multiply(e.negate())}else{return this.negate().multiply(e).negate()}}else if(e.isNegative()){return this.multiply(e.negate()).negate()}if(this.lessThan(Timestamp.TWO_PWR_24_)&&e.lessThan(Timestamp.TWO_PWR_24_)){return Timestamp.fromNumber(this.toNumber()*e.toNumber())}var t=this.high_>>>16;var r=this.high_&65535;var n=this.low_>>>16;var o=this.low_&65535;var s=e.high_>>>16;var i=e.high_&65535;var a=e.low_>>>16;var A=e.low_&65535;var c=0,l=0,u=0,h=0;h+=o*A;u+=h>>>16;h&=65535;u+=n*A;l+=u>>>16;u&=65535;u+=o*a;l+=u>>>16;u&=65535;l+=r*A;c+=l>>>16;l&=65535;l+=n*a;c+=l>>>16;l&=65535;l+=o*i;c+=l>>>16;l&=65535;c+=t*A+r*a+n*i+o*s;c&=65535;return Timestamp.fromBits(u<<16|h,c<<16|l)};Timestamp.prototype.div=function(e){if(e.isZero()){throw Error("division by zero")}else if(this.isZero()){return Timestamp.ZERO}if(this.equals(Timestamp.MIN_VALUE)){if(e.equals(Timestamp.ONE)||e.equals(Timestamp.NEG_ONE)){return Timestamp.MIN_VALUE}else if(e.equals(Timestamp.MIN_VALUE)){return Timestamp.ONE}else{var t=this.shiftRight(1);var r=t.div(e).shiftLeft(1);if(r.equals(Timestamp.ZERO)){return e.isNegative()?Timestamp.ONE:Timestamp.NEG_ONE}else{var n=this.subtract(e.multiply(r));var o=r.add(n.div(e));return o}}}else if(e.equals(Timestamp.MIN_VALUE)){return Timestamp.ZERO}if(this.isNegative()){if(e.isNegative()){return this.negate().div(e.negate())}else{return this.negate().div(e).negate()}}else if(e.isNegative()){return this.div(e.negate()).negate()}var s=Timestamp.ZERO;n=this;while(n.greaterThanOrEqual(e)){r=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));var i=Math.ceil(Math.log(r)/Math.LN2);var a=i<=48?1:Math.pow(2,i-48);var A=Timestamp.fromNumber(r);var c=A.multiply(e);while(c.isNegative()||c.greaterThan(n)){r-=a;A=Timestamp.fromNumber(r);c=A.multiply(e)}if(A.isZero()){A=Timestamp.ONE}s=s.add(A);n=n.subtract(c)}return s};Timestamp.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))};Timestamp.prototype.not=function(){return Timestamp.fromBits(~this.low_,~this.high_)};Timestamp.prototype.and=function(e){return Timestamp.fromBits(this.low_&e.low_,this.high_&e.high_)};Timestamp.prototype.or=function(e){return Timestamp.fromBits(this.low_|e.low_,this.high_|e.high_)};Timestamp.prototype.xor=function(e){return Timestamp.fromBits(this.low_^e.low_,this.high_^e.high_)};Timestamp.prototype.shiftLeft=function(e){e&=63;if(e===0){return this}else{var t=this.low_;if(e<32){var r=this.high_;return Timestamp.fromBits(t<>>32-e)}else{return Timestamp.fromBits(0,t<>>e|t<<32-e,t>>e)}else{return Timestamp.fromBits(t>>e-32,t>=0?0:-1)}}};Timestamp.prototype.shiftRightUnsigned=function(e){e&=63;if(e===0){return this}else{var t=this.high_;if(e<32){var r=this.low_;return Timestamp.fromBits(r>>>e|t<<32-e,t>>>e)}else if(e===32){return Timestamp.fromBits(t,0)}else{return Timestamp.fromBits(t>>>e-32,0)}}};Timestamp.fromInt=function(e){if(-128<=e&&e<128){var t=Timestamp.INT_CACHE_[e];if(t){return t}}var r=new Timestamp(e|0,e<0?-1:0);if(-128<=e&&e<128){Timestamp.INT_CACHE_[e]=r}return r};Timestamp.fromNumber=function(e){if(isNaN(e)||!isFinite(e)){return Timestamp.ZERO}else if(e<=-Timestamp.TWO_PWR_63_DBL_){return Timestamp.MIN_VALUE}else if(e+1>=Timestamp.TWO_PWR_63_DBL_){return Timestamp.MAX_VALUE}else if(e<0){return Timestamp.fromNumber(-e).negate()}else{return new Timestamp(e%Timestamp.TWO_PWR_32_DBL_|0,e/Timestamp.TWO_PWR_32_DBL_|0)}};Timestamp.fromBits=function(e,t){return new Timestamp(e,t)};Timestamp.fromString=function(e,t){if(e.length===0){throw Error("number format error: empty string")}var r=t||10;if(r<2||36=0){throw Error('number format error: interior "-" character: '+e)}var n=Timestamp.fromNumber(Math.pow(r,8));var o=Timestamp.ZERO;for(var s=0;s{var n=r(4300).Buffer;var o=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];if(typeof Int32Array!=="undefined"){o=new Int32Array(o)}function ensureBuffer(e){if(n.isBuffer(e)){return e}var t=typeof n.alloc==="function"&&typeof n.from==="function";if(typeof e==="number"){return t?n.alloc(e):new n(e)}else if(typeof e==="string"){return t?n.from(e):new n(e)}else{throw new Error("input must be buffer, number, or string, received "+typeof e)}}function bufferizeInt(e){var t=ensureBuffer(4);t.writeInt32BE(e,0);return t}function _crc32(e,t){e=ensureBuffer(e);if(n.isBuffer(t)){t=t.readUInt32BE(0)}var r=~~t^-1;for(var s=0;s>>8}return r^-1}function crc32(){return bufferizeInt(_crc32.apply(null,arguments))}crc32.signed=function(){return _crc32.apply(null,arguments)};crc32.unsigned=function(){return _crc32.apply(null,arguments)>>>0};e.exports=crc32},1362:e=>{"use strict";const t=/[\p{Lu}]/u;const r=/[\p{Ll}]/u;const n=/^[\p{Lu}](?![\p{Lu}])/gu;const o=/([\p{Alpha}\p{N}_]|$)/u;const s=/[_.\- ]+/;const i=new RegExp("^"+s.source);const a=new RegExp(s.source+o.source,"gu");const A=new RegExp("\\d+"+o.source,"gu");const preserveCamelCase=(e,n,o)=>{let s=false;let i=false;let a=false;for(let A=0;A{n.lastIndex=0;return e.replace(n,(e=>t(e)))};const postProcess=(e,t)=>{a.lastIndex=0;A.lastIndex=0;return e.replace(a,((e,r)=>t(r))).replace(A,(e=>t(e)))};const camelCase=(e,t)=>{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}t={pascalCase:false,preserveConsecutiveUppercase:false,...t};if(Array.isArray(e)){e=e.map((e=>e.trim())).filter((e=>e.length)).join("-")}else{e=e.trim()}if(e.length===0){return""}const r=t.locale===false?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale);const n=t.locale===false?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);if(e.length===1){return t.pascalCase?n(e):r(e)}const o=e!==r(e);if(o){e=preserveCamelCase(e,r,n)}e=e.replace(i,"");if(t.preserveConsecutiveUppercase){e=preserveConsecutiveUppercase(e,r)}else{e=r(e)}if(t.pascalCase){e=n(e.charAt(0))+e.slice(1)}return postProcess(e,n)};e.exports=camelCase;e.exports["default"]=camelCase},9930:(e,t,r)=>{var n=r(1017);e.exports=function(e,t){if(t){var r=t.map((function(t){return n.resolve(e,t)}))}else{var r=e}var o=r.slice(1).reduce((function(e,t){if(!t.match(/^([A-Za-z]:)?\/|\\/)){throw new Error("relative path without a basedir")}var r=t.split(/\/+|\\+/);for(var n=0;e[n]===r[n]&&n1?o.join("/"):"/"}},6891:e=>{e.exports=function(e,r){var n=[];for(var o=0;o{t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.storage=localstorage();t.destroy=(()=>{let e=false;return()=>{if(!e){e=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(t){t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0;let o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{if(e==="%%"){return}n++;if(e==="%c"){o=n}}));t.splice(o,0,r)}t.log=console.debug||console.log||(()=>{});function save(e){try{if(e){t.storage.setItem("debug",e)}else{t.storage.removeItem("debug")}}catch(e){}}function load(){let e;try{e=t.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=r(6243)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},6243:(e,t,r)=>{function setup(e){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=r(900);createDebug.destroy=destroy;Object.keys(e).forEach((t=>{createDebug[t]=e[t]}));createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(e){let t=0;for(let r=0;r{if(t==="%%"){return"%"}s++;const o=createDebug.formatters[n];if(typeof o==="function"){const n=e[s];t=o.call(r,n);e.splice(s,1);s--}return t}));createDebug.formatArgs.call(r,e);const i=r.log||createDebug.log;i.apply(r,e)}debug.namespace=e;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(e);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>r===null?createDebug.enabled(e):r,set:e=>{r=e}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(e,t){const r=createDebug(this.namespace+(typeof t==="undefined"?":":t)+e);r.log=this.log;return r}function enable(e){createDebug.save(e);createDebug.names=[];createDebug.skips=[];let t;const r=(typeof e==="string"?e:"").split(/[\s,]+/);const n=r.length;for(t=0;t"-"+e))].join(",");createDebug.enable("");return e}function enabled(e){if(e[e.length-1]==="*"){return true}let t;let r;for(t=0,r=createDebug.skips.length;t{if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=r(8222)}else{e.exports=r(5332)}},5332:(e,t,r)=>{const n=r(6224);const o=r(3837);t.init=init;t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.destroy=o.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");t.colors=[6,2,3,4,5,1];try{const e=r(9318);if(e&&(e.stderr||e).level>=2){t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}t.inspectOpts=Object.keys(process.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=process.env[t];if(/^(yes|on|true|enabled)$/i.test(n)){n=true}else if(/^(no|off|false|disabled)$/i.test(n)){n=false}else if(n==="null"){n=null}else{n=Number(n)}e[r]=n;return e}),{});function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(process.stderr.fd)}function formatArgs(t){const{namespace:r,useColors:n}=this;if(n){const n=this.color;const o="[3"+(n<8?n:"8;5;"+n);const s=` ${o};1m${r} `;t[0]=s+t[0].split("\n").join("\n"+s);t.push(o+"m+"+e.exports.humanize(this.diff)+"")}else{t[0]=getDate()+r+" "+t[0]}}function getDate(){if(t.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...e){return process.stderr.write(o.format(...e)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;ne.trim())).join(" ")};s.O=function(e){this.inspectOpts.colors=this.useColors;return o.inspect(e,this.inspectOpts)}},2342:e=>{"use strict";function Denque(e,t){var t=t||{};this._head=0;this._tail=0;this._capacity=t.capacity;this._capacityMask=3;this._list=new Array(4);if(Array.isArray(e)){this._fromArray(e)}}Denque.prototype.peekAt=function peekAt(e){var t=e;if(t!==(t|0)){return void 0}var r=this.size();if(t>=r||t<-r)return undefined;if(t<0)t+=r;t=this._head+t&this._capacityMask;return this._list[t]};Denque.prototype.get=function get(e){return this.peekAt(e)};Denque.prototype.peek=function peek(){if(this._head===this._tail)return undefined;return this._list[this._head]};Denque.prototype.peekFront=function peekFront(){return this.peek()};Denque.prototype.peekBack=function peekBack(){return this.peekAt(-1)};Object.defineProperty(Denque.prototype,"length",{get:function length(){return this.size()}});Denque.prototype.size=function size(){if(this._head===this._tail)return 0;if(this._headthis._capacity)this.pop();if(this._head1e4&&this._tail<=this._list.length>>>2)this._shrinkArray();return t};Denque.prototype.push=function push(e){if(e===undefined)return this.size();var t=this._tail;this._list[t]=e;this._tail=t+1&this._capacityMask;if(this._tail===this._head){this._growArray()}if(this._capacity&&this.size()>this._capacity){this.shift()}if(this._head1e4&&e<=t>>>2)this._shrinkArray();return r};Denque.prototype.removeOne=function removeOne(e){var t=e;if(t!==(t|0)){return void 0}if(this._head===this._tail)return void 0;var r=this.size();var n=this._list.length;if(t>=r||t<-r)return void 0;if(t<0)t+=r;t=this._head+t&this._capacityMask;var o=this._list[t];var s;if(e0;s--){this._list[t]=this._list[t=t-1+n&this._capacityMask]}this._list[t]=void 0;this._head=this._head+1+n&this._capacityMask}else{for(s=r-1-e;s>0;s--){this._list[t]=this._list[t=t+1+n&this._capacityMask]}this._list[t]=void 0;this._tail=this._tail-1+n&this._capacityMask}return o};Denque.prototype.remove=function remove(e,t){var r=e;var n;var o=t;if(r!==(r|0)){return void 0}if(this._head===this._tail)return void 0;var s=this.size();var i=this._list.length;if(r>=s||r<-s||t<1)return void 0;if(r<0)r+=s;if(t===1||!t){n=new Array(1);n[0]=this.removeOne(r);return n}if(r===0&&r+t>=s){n=this.toArray();this.clear();return n}if(r+t>s)t=s-r;var a;n=new Array(t);for(a=0;a0;a--){this._list[r=r+1+i&this._capacityMask]=void 0}return n}if(e===0){this._head=this._head+t+i&this._capacityMask;for(a=t-1;a>0;a--){this._list[r=r+1+i&this._capacityMask]=void 0}return n}if(r0;a--){this.unshift(this._list[r=r-1+i&this._capacityMask])}r=this._head-1+i&this._capacityMask;while(o>0){this._list[r=r-1+i&this._capacityMask]=void 0;o--}if(e<0)this._tail=r}else{this._tail=r;r=r+t+i&this._capacityMask;for(a=s-(t+e);a>0;a--){this.push(this._list[r++])}r=this._tail;while(o>0){this._list[r=r+1+i&this._capacityMask]=void 0;o--}}if(this._head<2&&this._tail>1e4&&this._tail<=i>>>2)this._shrinkArray();return n};Denque.prototype.splice=function splice(e,t){var r=e;if(r!==(r|0)){return void 0}var n=this.size();if(r<0)r+=n;if(r>n)return void 0;if(arguments.length>2){var o;var s;var i;var a=arguments.length;var A=this._list.length;var c=2;if(!n||r0){this._head=this._head+r+A&this._capacityMask}}else{i=this.remove(r,t);this._head=this._head+r+A&this._capacityMask}while(a>c){this.unshift(arguments[--a])}for(o=r;o>0;o--){this.unshift(s[o-1])}}else{s=new Array(n-(r+t));var l=s.length;for(o=0;othis._tail){for(o=this._head;o>>=1;this._capacityMask>>>=1};e.exports=Denque},1205:(e,t,r)=>{var n=r(1223);var noop=function(){};var isRequest=function(e){return e.setHeader&&typeof e.abort==="function"};var isChildProcess=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3};var eos=function(e,t,r){if(typeof t==="function")return eos(e,null,t);if(!t)t={};r=n(r||noop);var o=e._writableState;var s=e._readableState;var i=t.readable||t.readable!==false&&e.readable;var a=t.writable||t.writable!==false&&e.writable;var A=false;var onlegacyfinish=function(){if(!e.writable)onfinish()};var onfinish=function(){a=false;if(!i)r.call(e)};var onend=function(){i=false;if(!a)r.call(e)};var onexit=function(t){r.call(e,t?new Error("exited with error code: "+t):null)};var onerror=function(t){r.call(e,t)};var onclose=function(){process.nextTick(onclosenexttick)};var onclosenexttick=function(){if(A)return;if(i&&!(s&&(s.ended&&!s.destroyed)))return r.call(e,new Error("premature close"));if(a&&!(o&&(o.ended&&!o.destroyed)))return r.call(e,new Error("premature close"))};var onrequest=function(){e.req.on("finish",onfinish)};if(isRequest(e)){e.on("complete",onfinish);e.on("abort",onclose);if(e.req)onrequest();else e.on("request",onrequest)}else if(a&&!o){e.on("end",onlegacyfinish);e.on("close",onlegacyfinish)}if(isChildProcess(e))e.on("exit",onexit);e.on("end",onend);e.on("finish",onfinish);if(t.error!==false)e.on("error",onerror);e.on("close",onclose);return function(){A=true;e.removeListener("complete",onfinish);e.removeListener("abort",onclose);e.removeListener("request",onrequest);if(e.req)e.req.removeListener("finish",onfinish);e.removeListener("end",onlegacyfinish);e.removeListener("close",onlegacyfinish);e.removeListener("finish",onfinish);e.removeListener("exit",onexit);e.removeListener("end",onend);e.removeListener("error",onerror);e.removeListener("close",onclose)}};e.exports=eos},5010:(e,t,r)=>{var n=r(7147);var o=r(3837);var s=r(2781);var i=s.Readable;var a=s.Writable;var A=s.PassThrough;var c=r(4833);var l=r(2361).EventEmitter;t.createFromBuffer=createFromBuffer;t.createFromFd=createFromFd;t.BufferSlicer=BufferSlicer;t.FdSlicer=FdSlicer;o.inherits(FdSlicer,l);function FdSlicer(e,t){t=t||{};l.call(this);this.fd=e;this.pend=new c;this.pend.max=1;this.refCount=0;this.autoClose=!!t.autoClose}FdSlicer.prototype.read=function(e,t,r,o,s){var i=this;i.pend.go((function(a){n.read(i.fd,e,t,r,o,(function(e,t,r){a();s(e,t,r)}))}))};FdSlicer.prototype.write=function(e,t,r,o,s){var i=this;i.pend.go((function(a){n.write(i.fd,e,t,r,o,(function(e,t,r){a();s(e,t,r)}))}))};FdSlicer.prototype.createReadStream=function(e){return new ReadStream(this,e)};FdSlicer.prototype.createWriteStream=function(e){return new WriteStream(this,e)};FdSlicer.prototype.ref=function(){this.refCount+=1};FdSlicer.prototype.unref=function(){var e=this;e.refCount-=1;if(e.refCount>0)return;if(e.refCount<0)throw new Error("invalid unref");if(e.autoClose){n.close(e.fd,onCloseDone)}function onCloseDone(t){if(t){e.emit("error",t)}else{e.emit("close")}}};o.inherits(ReadStream,i);function ReadStream(e,t){t=t||{};i.call(this,t);this.context=e;this.context.ref();this.start=t.start||0;this.endOffset=t.end;this.pos=this.start;this.destroyed=false}ReadStream.prototype._read=function(e){var t=this;if(t.destroyed)return;var r=Math.min(t._readableState.highWaterMark,e);if(t.endOffset!=null){r=Math.min(r,t.endOffset-t.pos)}if(r<=0){t.destroyed=true;t.push(null);t.context.unref();return}t.context.pend.go((function(e){if(t.destroyed)return e();var o=new Buffer(r);n.read(t.context.fd,o,0,r,t.pos,(function(r,n){if(r){t.destroy(r)}else if(n===0){t.destroyed=true;t.push(null);t.context.unref()}else{t.pos+=n;t.push(o.slice(0,n))}e()}))}))};ReadStream.prototype.destroy=function(e){if(this.destroyed)return;e=e||new Error("stream destroyed");this.destroyed=true;this.emit("error",e);this.context.unref()};o.inherits(WriteStream,a);function WriteStream(e,t){t=t||{};a.call(this,t);this.context=e;this.context.ref();this.start=t.start||0;this.endOffset=t.end==null?Infinity:+t.end;this.bytesWritten=0;this.pos=this.start;this.destroyed=false;this.on("finish",this.destroy.bind(this))}WriteStream.prototype._write=function(e,t,r){var o=this;if(o.destroyed)return;if(o.pos+e.length>o.endOffset){var s=new Error("maximum file length exceeded");s.code="ETOOBIG";o.destroy();r(s);return}o.context.pend.go((function(t){if(o.destroyed)return t();n.write(o.context.fd,e,0,e.length,o.pos,(function(e,n){if(e){o.destroy();t();r(e)}else{o.bytesWritten+=n;o.pos+=n;o.emit("progress");t();r()}}))}))};WriteStream.prototype.destroy=function(){if(this.destroyed)return;this.destroyed=true;this.context.unref()};o.inherits(BufferSlicer,l);function BufferSlicer(e,t){l.call(this);t=t||{};this.refCount=0;this.buffer=e;this.maxChunkSize=t.maxChunkSize||Number.MAX_SAFE_INTEGER}BufferSlicer.prototype.read=function(e,t,r,n,o){var s=n+r;var i=s-this.buffer.length;var a=i>0?i:r;this.buffer.copy(e,t,n,s);setImmediate((function(){o(null,a)}))};BufferSlicer.prototype.write=function(e,t,r,n,o){e.copy(this.buffer,n,t,t+r);setImmediate((function(){o(null,r,e)}))};BufferSlicer.prototype.createReadStream=function(e){e=e||{};var t=new A(e);t.destroyed=false;t.start=e.start||0;t.endOffset=e.end;t.pos=t.endOffset||this.buffer.length;var r=this.buffer.slice(t.start,t.pos);var n=0;while(true){var o=n+this.maxChunkSize;if(o>=r.length){if(nr.endOffset){var i=new Error("maximum file length exceeded");i.code="ETOOBIG";r.destroyed=true;o(i);return}e.copy(t.buffer,r.pos,0,e.length);r.bytesWritten+=e.length;r.pos=s;r.emit("progress");o()};r.destroy=function(){r.destroyed=true};return r};BufferSlicer.prototype.ref=function(){this.refCount+=1};BufferSlicer.prototype.unref=function(){this.refCount-=1;if(this.refCount<0){throw new Error("invalid unref")}};function createFromBuffer(e,t){return new BufferSlicer(e,t)}function createFromFd(e,t){return new FdSlicer(e,t)}},7281:(e,t,r)=>{"use strict";const n=r(1017);const o=r(7147);const s=r(9930);const i=r(8098);const a=r(9126);const{env:A,cwd:c}=process;const isWritable=e=>{try{o.accessSync(e,o.constants.W_OK);return true}catch(e){return false}};function useDirectory(e,t){if(t.create){a.sync(e)}if(t.thunk){return(...t)=>n.join(e,...t)}return e}function getNodeModuleDirectory(e){const t=n.join(e,"node_modules");if(!isWritable(t)&&(o.existsSync(t)||!isWritable(n.join(e)))){return}return t}e.exports=(e={})=>{if(A.CACHE_DIR&&!["true","false","1","0"].includes(A.CACHE_DIR)){return useDirectory(n.join(A.CACHE_DIR,e.name),e)}let{cwd:t=c()}=e;if(e.files){t=s(t,e.files)}t=i.sync(t);if(!t){return}const r=getNodeModuleDirectory(t);if(!r){return undefined}return useDirectory(n.join(t,"node_modules",".cache",e.name),e)}},3186:(e,t,r)=>{e.exports=r(7147).constants||r(2057)},6863:(e,t,r)=>{e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=r(7147);var o=n.realpath;var s=n.realpathSync;var i=process.version;var a=/^v[0-5]\./.test(i);var A=r(1734);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,t,r){if(a){return o(e,t,r)}if(typeof t==="function"){r=t;t=null}o(e,t,(function(n,o){if(newError(n)){A.realpath(e,t,r)}else{r(n,o)}}))}function realpathSync(e,t){if(a){return s(e,t)}try{return s(e,t)}catch(r){if(newError(r)){return A.realpathSync(e,t)}else{throw r}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=o;n.realpathSync=s}},1734:(e,t,r)=>{var n=r(1017);var o=process.platform==="win32";var s=r(7147);var i=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var e;if(i){var t=new Error;e=debugCallback}else e=missingCallback;return e;function debugCallback(e){if(e){t.message=e.message;e=t;missingCallback(e)}}function missingCallback(e){if(e){if(process.throwDeprecation)throw e;else if(!process.noDeprecation){var t="fs: missing callback "+(e.stack||e.message);if(process.traceDeprecation)console.trace(t);else console.error(t)}}}}function maybeCallback(e){return typeof e==="function"?e:rethrow()}var a=n.normalize;if(o){var A=/(.*?)(?:[\/\\]+|$)/g}else{var A=/(.*?)(?:[\/]+|$)/g}if(o){var c=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var c=/^[\/]*/}t.realpathSync=function realpathSync(e,t){e=n.resolve(e);if(t&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}var r=e,i={},a={};var l;var u;var h;var d;start();function start(){var t=c.exec(e);l=t[0].length;u=t[0];h=t[0];d="";if(o&&!a[h]){s.lstatSync(h);a[h]=true}}while(l=e.length){if(t)t[i]=e;return r(null,e)}A.lastIndex=u;var n=A.exec(e);g=h;h+=n[0];d=g+n[1];u=A.lastIndex;if(l[d]||t&&t[d]===d){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,d)){return gotResolvedLink(t[d])}return s.lstat(d,gotStat)}function gotStat(e,n){if(e)return r(e);if(!n.isSymbolicLink()){l[d]=true;if(t)t[d]=d;return process.nextTick(LOOP)}if(!o){var i=n.dev.toString(32)+":"+n.ino.toString(32);if(a.hasOwnProperty(i)){return gotTarget(null,a[i],d)}}s.stat(d,(function(e){if(e)return r(e);s.readlink(d,(function(e,t){if(!o)a[i]=t;gotTarget(e,t)}))}))}function gotTarget(e,o,s){if(e)return r(e);var i=n.resolve(g,o);if(t)t[s]=i;gotResolvedLink(i)}function gotResolvedLink(t){e=n.resolve(t,e.slice(u));start()}}},3002:(e,t,r)=>{"use strict";const n=r(1808);class Locked extends Error{constructor(e){super(`${e} is locked`)}}const o={old:new Set,young:new Set};const s=1e3*15;let i;const getAvailablePort=e=>new Promise(((t,r)=>{const o=n.createServer();o.unref();o.on("error",r);o.listen(e,(()=>{const{port:e}=o.address();o.close((()=>{t(e)}))}))}));const portCheckSequence=function*(e){if(e){yield*e}yield 0};e.exports=async e=>{let t;if(e){t=typeof e.port==="number"?[e.port]:e.port}if(i===undefined){i=setInterval((()=>{o.old=o.young;o.young=new Set}),s);if(i.unref){i.unref()}}for(const r of portCheckSequence(t)){try{let t=await getAvailablePort({...e,port:r});while(o.old.has(t)||o.young.has(t)){if(r!==0){throw new Locked(r)}t=await getAvailablePort({...e,port:r})}o.young.add(t);return t}catch(e){if(!["EADDRINUSE","EACCES"].includes(e.code)&&!(e instanceof Locked)){throw e}}}throw new Error("No available ports found")};e.exports.makeRange=(e,t)=>{if(!Number.isInteger(e)||!Number.isInteger(t)){throw new TypeError("`from` and `to` must be integer numbers")}if(e<1024||e>65535){throw new RangeError("`from` must be between 1024 and 65535")}if(t<1024||t>65536){throw new RangeError("`to` must be between 1024 and 65536")}if(t{t.setopts=setopts;t.ownProp=ownProp;t.makeAbs=makeAbs;t.finish=finish;t.mark=mark;t.isIgnored=isIgnored;t.childrenIgnored=childrenIgnored;function ownProp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var n=r(1017);var o=r(3973);var s=r(8714);var i=o.Minimatch;function alphasort(e,t){return e.localeCompare(t,"en")}function setupIgnores(e,t){e.ignore=t.ignore||[];if(!Array.isArray(e.ignore))e.ignore=[e.ignore];if(e.ignore.length){e.ignore=e.ignore.map(ignoreMap)}}function ignoreMap(e){var t=null;if(e.slice(-3)==="/**"){var r=e.replace(/(\/\*\*)+$/,"");t=new i(r,{dot:true})}return{matcher:new i(e,{dot:true}),gmatcher:t}}function setopts(e,t,r){if(!r)r={};if(r.matchBase&&-1===t.indexOf("/")){if(r.noglobstar){throw new Error("base matching requires globstar")}t="**/"+t}e.silent=!!r.silent;e.pattern=t;e.strict=r.strict!==false;e.realpath=!!r.realpath;e.realpathCache=r.realpathCache||Object.create(null);e.follow=!!r.follow;e.dot=!!r.dot;e.mark=!!r.mark;e.nodir=!!r.nodir;if(e.nodir)e.mark=true;e.sync=!!r.sync;e.nounique=!!r.nounique;e.nonull=!!r.nonull;e.nosort=!!r.nosort;e.nocase=!!r.nocase;e.stat=!!r.stat;e.noprocess=!!r.noprocess;e.absolute=!!r.absolute;e.maxLength=r.maxLength||Infinity;e.cache=r.cache||Object.create(null);e.statCache=r.statCache||Object.create(null);e.symlinks=r.symlinks||Object.create(null);setupIgnores(e,r);e.changedCwd=false;var o=process.cwd();if(!ownProp(r,"cwd"))e.cwd=o;else{e.cwd=n.resolve(r.cwd);e.changedCwd=e.cwd!==o}e.root=r.root||n.resolve(e.cwd,"/");e.root=n.resolve(e.root);if(process.platform==="win32")e.root=e.root.replace(/\\/g,"/");e.cwdAbs=s(e.cwd)?e.cwd:makeAbs(e,e.cwd);if(process.platform==="win32")e.cwdAbs=e.cwdAbs.replace(/\\/g,"/");e.nomount=!!r.nomount;r.nonegate=true;r.nocomment=true;e.minimatch=new i(t,r);e.options=e.minimatch.options}function finish(e){var t=e.nounique;var r=t?[]:Object.create(null);for(var n=0,o=e.matches.length;n{e.exports=glob;var n=r(7147);var o=r(6863);var s=r(3973);var i=s.Minimatch;var a=r(4124);var A=r(2361).EventEmitter;var c=r(1017);var l=r(9491);var u=r(8714);var h=r(9010);var d=r(7625);var g=d.setopts;var p=d.ownProp;var E=r(2492);var m=r(3837);var C=d.childrenIgnored;var I=d.isIgnored;var y=r(1223);function glob(e,t,r){if(typeof t==="function")r=t,t={};if(!t)t={};if(t.sync){if(r)throw new TypeError("callback provided to sync glob");return h(e,t)}return new Glob(e,t,r)}glob.sync=h;var B=glob.GlobSync=h.GlobSync;glob.glob=glob;function extend(e,t){if(t===null||typeof t!=="object"){return e}var r=Object.keys(t);var n=r.length;while(n--){e[r[n]]=t[r[n]]}return e}glob.hasMagic=function(e,t){var r=extend({},t);r.noprocess=true;var n=new Glob(e,r);var o=n.minimatch.set;if(!e)return false;if(o.length>1)return true;for(var s=0;sthis.maxLength)return t();if(!this.stat&&p(this.cache,r)){var s=this.cache[r];if(Array.isArray(s))s="DIR";if(!o||s==="DIR")return t(null,s);if(o&&s==="FILE")return t()}var i;var a=this.statCache[r];if(a!==undefined){if(a===false)return t(null,a);else{var A=a.isDirectory()?"DIR":"FILE";if(o&&A==="FILE")return t();else return t(null,A,a)}}var c=this;var l=E("stat\0"+r,lstatcb_);if(l)n.lstat(r,l);function lstatcb_(o,s){if(s&&s.isSymbolicLink()){return n.stat(r,(function(n,o){if(n)c._stat2(e,r,null,s,t);else c._stat2(e,r,n,o,t)}))}else{c._stat2(e,r,o,s,t)}}};Glob.prototype._stat2=function(e,t,r,n,o){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[t]=false;return o()}var s=e.slice(-1)==="/";this.statCache[t]=n;if(t.slice(-1)==="/"&&n&&!n.isDirectory())return o(null,false,n);var i=true;if(n)i=n.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||i;if(s&&i==="FILE")return o();return o(null,i,n)}},9010:(e,t,r)=>{e.exports=globSync;globSync.GlobSync=GlobSync;var n=r(7147);var o=r(6863);var s=r(3973);var i=s.Minimatch;var a=r(1957).Glob;var A=r(3837);var c=r(1017);var l=r(9491);var u=r(8714);var h=r(7625);var d=h.setopts;var g=h.ownProp;var p=h.childrenIgnored;var E=h.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);d(this,e,t);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var n=0;nthis.maxLength)return false;if(!this.stat&&g(this.cache,t)){var o=this.cache[t];if(Array.isArray(o))o="DIR";if(!r||o==="DIR")return o;if(r&&o==="FILE")return false}var s;var i=this.statCache[t];if(!i){var a;try{a=n.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(a&&a.isSymbolicLink()){try{i=n.statSync(t)}catch(e){i=a}}else{i=a}}this.statCache[t]=i;var o=true;if(i)o=i.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||o;if(r&&o==="FILE")return false;return o};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},1621:e=>{"use strict";e.exports=(e,t=process.argv)=>{const r=e.startsWith("-")?"":e.length===1?"-":"--";const n=t.indexOf(r+e);const o=t.indexOf("--");return n!==-1&&(o===-1||n{h("replaying proxy buffer for failed request");A.default(e.listenerCount("data")>0);e.push(C);e.push(null)}));return I}))}}t["default"]=HttpsProxyAgent;function resume(e){e.resume()}function isDefaultPort(e,t){return Boolean(!t&&e===80||t&&e===443)}function isHTTPS(e){return typeof e==="string"?/^https:?$/i.test(e):false}function omit(e,...t){const r={};let n;for(n in e){if(!t.includes(n)){r[n]=e[n]}}return r}},7219:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const o=n(r(3734));function createHttpsProxyAgent(e){return new o.default(e)}(function(e){e.HttpsProxyAgent=o.default;e.prototype=o.default.prototype})(createHttpsProxyAgent||(createHttpsProxyAgent={}));e.exports=createHttpsProxyAgent},595:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});const o=n(r(8237));const s=o.default("https-proxy-agent:parse-proxy-response");function parseProxyResponse(e){return new Promise(((t,r)=>{let n=0;const o=[];function read(){const t=e.read();if(t)ondata(t);else e.once("readable",read)}function cleanup(){e.removeListener("end",onend);e.removeListener("error",onerror);e.removeListener("close",onclose);e.removeListener("readable",read)}function onclose(e){s("onclose had error %o",e)}function onend(){s("onend")}function onerror(e){cleanup();s("onerror %o",e);r(e)}function ondata(e){o.push(e);n+=e.length;const r=Buffer.concat(o,n);const i=r.indexOf("\r\n\r\n");if(i===-1){s("have not received end of HTTP headers yet...");read();return}const a=r.toString("ascii",0,r.indexOf("\r\n"));const A=+a.split(" ")[1];s("got proxy server response: %o",a);t({statusCode:A,buffered:r})}e.on("error",onerror);e.on("close",onclose);e.on("end",onend);read()}))}t["default"]=parseProxyResponse},2492:(e,t,r)=>{var n=r(2940);var o=Object.create(null);var s=r(1223);e.exports=n(inflight);function inflight(e,t){if(o[e]){o[e].push(t);return null}else{o[e]=[t];return makeres(e)}}function makeres(e){return s((function RES(){var t=o[e];var r=t.length;var n=slice(arguments);try{for(var s=0;sr){t.splice(0,r);process.nextTick((function(){RES.apply(null,n)}))}else{delete o[e]}}}))}function slice(e){var t=e.length;var r=[];for(var n=0;n{try{var n=r(3837);if(typeof n.inherits!=="function")throw"";e.exports=n.inherits}catch(t){e.exports=r(8544)}},8544:e=>{if(typeof Object.create==="function"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},9126:(e,t,r)=>{"use strict";const n=r(7147);const o=r(1017);const{promisify:s}=r(3837);const i=r(1383);const a=i.satisfies(process.version,">=10.12.0");const checkPath=e=>{if(process.platform==="win32"){const t=/[<>:"|?*]/.test(e.replace(o.parse(e).root,""));if(t){const t=new Error(`Path contains invalid characters: ${e}`);t.code="EINVAL";throw t}}};const processOptions=e=>{const t={mode:511,fs:n};return{...t,...e}};const permissionError=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);t.code="EPERM";t.errno=-4048;t.path=e;t.syscall="mkdir";return t};const makeDir=async(e,t)=>{checkPath(e);t=processOptions(t);const r=s(t.fs.mkdir);const i=s(t.fs.stat);if(a&&t.fs.mkdir===n.mkdir){const n=o.resolve(e);await r(n,{mode:t.mode,recursive:true});return n}const make=async e=>{try{await r(e,t.mode);return e}catch(t){if(t.code==="EPERM"){throw t}if(t.code==="ENOENT"){if(o.dirname(e)===e){throw permissionError(e)}if(t.message.includes("null bytes")){throw t}await make(o.dirname(e));return make(e)}try{const t=await i(e);if(!t.isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw t}return e}};return make(o.resolve(e))};e.exports=makeDir;e.exports.sync=(e,t)=>{checkPath(e);t=processOptions(t);if(a&&t.fs.mkdirSync===n.mkdirSync){const r=o.resolve(e);n.mkdirSync(r,{mode:t.mode,recursive:true});return r}const make=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(r){if(r.code==="EPERM"){throw r}if(r.code==="ENOENT"){if(o.dirname(e)===e){throw permissionError(e)}if(r.message.includes("null bytes")){throw r}make(o.dirname(e));return make(e)}try{if(!t.fs.statSync(e).isDirectory()){throw new Error("The path is not a directory")}}catch(e){throw r}}return e};return make(o.resolve(e))}},1446:(e,t,r)=>{const n=r(6113);const o=r(7147);const s=8192;function md5FileSync(e){const t=o.openSync(e,"r");const r=n.createHash("md5");const i=Buffer.alloc(s);try{let e;do{e=o.readSync(t,i,0,s);r.update(i.slice(0,e))}while(e===s)}finally{o.closeSync(t)}return r.digest("hex")}function md5File(e){return new Promise(((t,r)=>{const s=n.createHash("md5");const i=o.createReadStream(e);i.on("error",(e=>{r(e)}));s.once("readable",(()=>{t(s.read().toString("hex"))}));i.pipe(s)}))}e.exports=md5File;e.exports.sync=md5FileSync},1529:e=>{e.exports=Pager;function Pager(e,t){if(!(this instanceof Pager))return new Pager(e,t);this.length=0;this.updates=[];this.path=new Uint16Array(4);this.pages=new Array(32768);this.maxPages=this.pages.length;this.level=0;this.pageSize=e||1024;this.deduplicate=t?t.deduplicate:null;this.zeros=this.deduplicate?alloc(this.deduplicate.length):null}Pager.prototype.updated=function(e){while(this.deduplicate&&e.buffer[e.deduplicate]===this.deduplicate[e.deduplicate]){e.deduplicate++;if(e.deduplicate===this.deduplicate.length){e.deduplicate=0;if(e.buffer.equals&&e.buffer.equals(this.deduplicate))e.buffer=this.deduplicate;break}}if(e.updated||!this.updates)return;e.updated=true;this.updates.push(e)};Pager.prototype.lastUpdate=function(){if(!this.updates||!this.updates.length)return null;var e=this.updates.pop();e.updated=false;return e};Pager.prototype._array=function(e,t){if(e>=this.maxPages){if(t)return;grow(this,e)}factor(e,this.path);var r=this.pages;for(var n=this.level;n>0;n--){var o=this.path[n];var s=r[o];if(!s){if(t)return;s=r[o]=new Array(32768)}r=s}return r};Pager.prototype.get=function(e,t){var r=this._array(e,t);var n=this.path[0];var o=r&&r[n];if(!o&&!t){o=r[n]=new Page(e,alloc(this.pageSize));if(e>=this.length)this.length=e+1}if(o&&o.buffer===this.deduplicate&&this.deduplicate&&!t){o.buffer=copy(o.buffer);o.deduplicate=0}return o};Pager.prototype.set=function(e,t){var r=this._array(e,false);var n=this.path[0];if(e>=this.length)this.length=e+1;if(!t||this.zeros&&t.equals&&t.equals(this.zeros)){r[n]=undefined;return}if(this.deduplicate&&t.equals&&t.equals(this.deduplicate)){t=this.deduplicate}var o=r[n];var s=truncate(t,this.pageSize);if(o)o.buffer=s;else r[n]=new Page(e,s)};Pager.prototype.toBuffer=function(){var e=new Array(this.length);var t=alloc(this.pageSize);var r=0;while(rt)return e.slice(0,t);var r=alloc(t);e.copy(r);return r}function alloc(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);t.fill(0);return t}function copy(e){var t=Buffer.allocUnsafe?Buffer.allocUnsafe(e.length):new Buffer(e.length);e.copy(t);return t}function Page(e,t){this.offset=e*t.length;this.buffer=t;this.updated=false;this.deduplicate=0}function factor(e,t){e=(e-(t[0]=e&32767))/32768;e=(e-(t[1]=e&32767))/32768;t[3]=(e-(t[2]=e&32767))/32768&32767}},3973:(e,t,r)=>{e.exports=minimatch;minimatch.Minimatch=Minimatch;var n=function(){try{return r(1017)}catch(e){}}()||{sep:"/"};minimatch.sep=n.sep;var o=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var s=r(3717);var i={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var a="[^/]";var A=a+"*?";var c="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var u=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce((function(e,t){e[t]=true;return e}),{})}var h=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(r,n,o){return minimatch(r,e,t)}}function ext(e,t){t=t||{};var r={};Object.keys(e).forEach((function(t){r[t]=e[t]}));Object.keys(t).forEach((function(e){r[e]=t[e]}));return r}minimatch.defaults=function(e){if(!e||typeof e!=="object"||!Object.keys(e).length){return minimatch}var t=minimatch;var r=function minimatch(r,n,o){return t(r,n,ext(e,o))};r.Minimatch=function Minimatch(r,n){return new t.Minimatch(r,ext(e,n))};r.Minimatch.defaults=function defaults(r){return t.defaults(ext(e,r)).Minimatch};r.filter=function filter(r,n){return t.filter(r,ext(e,n))};r.defaults=function defaults(r){return t.defaults(ext(e,r))};r.makeRe=function makeRe(r,n){return t.makeRe(r,ext(e,n))};r.braceExpand=function braceExpand(r,n){return t.braceExpand(r,ext(e,n))};r.match=function(r,n,o){return t.match(r,n,ext(e,o))};return r};Minimatch.defaults=function(e){return minimatch.defaults(e).Minimatch};function minimatch(e,t,r){assertValidPattern(t);if(!r)r={};if(!r.nocomment&&t.charAt(0)==="#"){return false}return new Minimatch(t,r).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}assertValidPattern(e);if(!t)t={};e=e.trim();if(!t.allowWindowsEscape&&n.sep!=="/"){e=e.split(n.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.partial=!!t.partial;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(t.debug)this.debug=function debug(){console.error.apply(console,arguments)};this.debug(this.pattern,r);r=this.globParts=r.map((function(e){return e.split(h)}));this.debug(this.pattern,r);r=r.map((function(e,t,r){return e.map(this.parse,this)}),this);this.debug(this.pattern,r);r=r.filter((function(e){return e.indexOf(false)===-1}));this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var r=this.options;var n=0;if(r.nonegate)return;for(var o=0,s=e.length;od){throw new TypeError("pattern is too long")}};Minimatch.prototype.parse=parse;var g={};function parse(e,t){assertValidPattern(e);var r=this.options;if(e==="**"){if(!r.noglobstar)return o;else e="*"}if(e==="")return"";var n="";var s=!!r.nocase;var c=false;var l=[];var h=[];var d;var p=false;var E=-1;var m=-1;var C=e.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var I=this;function clearStateChar(){if(d){switch(d){case"*":n+=A;s=true;break;case"?":n+=a;s=true;break;default:n+="\\"+d;break}I.debug("clearStateChar %j %j",d,n);d=false}}for(var y=0,B=e.length,Q;y-1;D--){var N=h[D];var T=n.slice(0,N.reStart);var O=n.slice(N.reStart,N.reEnd-8);var _=n.slice(N.reEnd-8,N.reEnd);var M=n.slice(N.reEnd);_+=M;var L=T.split("(").length-1;var F=M;for(y=0;y=0;i--){s=e[i];if(s)break}for(i=0;i>> no match, partial?",e,u,t,h);if(u===a)return true}return false}var g;if(typeof c==="string"){g=l===c;this.debug("string match",c,l,g)}else{g=l.match(c);this.debug("pattern match",c,l,g)}if(!g)return false}if(s===a&&i===A){return true}else if(s===a){return r}else if(i===A){return s===a-1&&e[s]===""}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},1257:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MongoMemoryServer=t.MongoMemoryServerStates=t.MongoMemoryServerEvents=void 0;const n=r(4351);const o=(0,n.__importStar)(r(8517));const s=(0,n.__importDefault)(r(3002));const i=r(1978);const a=r(843);const A=(0,n.__importDefault)(r(8237));const c=r(2361);const l=r(7147);const u=r(5517);const h=r(1383);const d=r(3386);const g=(0,A.default)("MongoMS:MongoMemoryServer");o.setGracefulCleanup();var p;(function(e){e["stateChange"]="stateChange"})(p=t.MongoMemoryServerEvents||(t.MongoMemoryServerEvents={}));var E;(function(e){e["new"]="new";e["starting"]="starting";e["running"]="running";e["stopped"]="stopped"})(E=t.MongoMemoryServerStates||(t.MongoMemoryServerStates={}));class MongoMemoryServer extends c.EventEmitter{constructor(e){super();this._state=E.new;this.opts=Object.assign({},e);if(!(0,i.isNullOrUndefined)(this.opts.auth)){this.auth=(0,i.authDefault)(this.opts.auth)}}static create(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){g("create: Called .create() method");const t=new MongoMemoryServer(Object.assign({},e));yield t.start();return t}))}start(e=false){var t;return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("start: Called .start() method");switch(this._state){case E.new:case E.stopped:break;case E.running:case E.starting:default:throw new d.StateError([E.new,E.stopped],this.state)}(0,i.assertion)((0,i.isNullOrUndefined)((t=this._instanceInfo)===null||t===void 0?void 0:t.instance.mongodProcess),new Error('Cannot start because "instance.mongodProcess" is already defined!'));this.stateChange(E.starting);yield this._startUpInstance(e).catch((e=>(0,n.__awaiter)(this,void 0,void 0,(function*(){if(!A.default.enabled("MongoMS:MongoMemoryServer")){console.warn("Starting the MongoMemoryServer Instance failed, enable debug log for more information. Error:\n",e)}this.debug("_startUpInstance threw a Error: ",e);yield this.stop({doCleanup:false,force:false});this.stateChange(E.stopped);throw e}))));this.stateChange(E.running);this.debug("start: Instance fully Started")}))}stateChange(e){this._state=e;this.emit(p.stateChange,e)}debug(e,...t){var r,n;const o=(n=(r=this._instanceInfo)===null||r===void 0?void 0:r.port)!==null&&n!==void 0?n:"unknown";g(`Mongo[${o}]: ${e}`,...t)}getNewPort(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){const t=yield(0,s.default)({port:e});if(e!=t&&typeof e==="number"){this.debug(`getNewPort: starting with port "${t}", since "${e}" was locked`)}return t}))}getStartOptions(e=false){var t,r,s;return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug(`getStartOptions: forceSamePort: ${e}`);const n=(t=this.opts.instance)!==null&&t!==void 0?t:{};let a=true;let A=typeof n.port==="number"?n.port:undefined;if(!e||(0,i.isNullOrUndefined)(A)){A=yield this.getNewPort(A)}const c={port:A,dbName:(0,i.generateDbName)(n.dbName),ip:(r=n.ip)!==null&&r!==void 0?r:"127.0.0.1",storageEngine:(s=n.storageEngine)!==null&&s!==void 0?s:"ephemeralForTest",replSet:n.replSet,dbPath:n.dbPath,tmpDir:undefined};if((0,i.isNullOrUndefined)(this._instanceInfo)){if(!c.dbPath){c.tmpDir=o.dirSync({mode:493,prefix:"mongo-mem-",unsafeCleanup:true});c.dbPath=c.tmpDir.name;a=true}else{this.debug(`getStartOptions: Checking if "${c.dbPath}}" (no new tmpDir) already has data`);const e=yield l.promises.readdir(c.dbPath);a=e.length===0}}else{a=false}const u=(typeof n.auth==="boolean"?n.auth:true)&&!(0,i.isNullOrUndefined)(this.auth)&&!this.auth.disable&&(this.auth.force||a)&&!n.replSet;return{data:c,createAuth:u,mongodOptions:{instance:Object.assign(Object.assign({},c),{args:n.args,auth:u?false:n.auth}),binary:this.opts.binary,spawn:this.opts.spawn}}}))}_startUpInstance(e=false){var t;return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("_startUpInstance: Called MongoMemoryServer._startUpInstance() method");if(!(0,i.isNullOrUndefined)(this._instanceInfo)){this.debug('_startUpInstance: "instanceInfo" already defined, reusing instance');if(!e){const e=yield this.getNewPort(this._instanceInfo.port);this._instanceInfo.instance.instanceOpts.port=e;this._instanceInfo.port=e}yield this._instanceInfo.instance.start();return}const{mongodOptions:r,createAuth:n,data:o}=yield this.getStartOptions(e);this.debug(`_startUpInstance: Creating new MongoDB instance with options:`,r);const s=yield a.MongoInstance.create(r);this.debug(`_startUpInstance: Instance Started, createAuth: "${n}"`);if(!(0,i.isNullOrUndefined)(this.auth)&&n){this.debug(`_startUpInstance: Running "createAuth" (force: "${this.auth.force}")`);yield this.createAuth(o);if(o.storageEngine!=="ephemeralForTest"){this.debug("_startUpInstance: Killing No-Auth instance");yield s.stop();this.debug("_startUpInstance: Starting Auth Instance");s.instanceOpts.auth=true;yield s.start()}else{console.warn("Not Restarting MongoInstance for Auth\n"+'Storage engine is "ephemeralForTest", which does not write data on shutdown, and mongodb does not allow changing "auth" runtime')}}else{if((t=this.opts.auth)===null||t===void 0?void 0:t.disable){this.debug('_startUpInstance: AutomaticAuth.disable is set to "true" skipping "createAuth"')}}this._instanceInfo=Object.assign(Object.assign({},o),{dbPath:o.dbPath,instance:s})}))}stop(e){var t,r;return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("stop: Called .stop() method");let n={doCleanup:true,force:false};if(typeof e==="boolean"){n.doCleanup=e}if(typeof e==="object"){n=e}if((0,i.isNullOrUndefined)(this._instanceInfo)){this.debug('stop: "instanceInfo" is not defined (never ran?)');return false}if(this._state===E.stopped){this.debug('stop: state is "stopped", trying to stop / kill anyway')}this.debug(`stop: Stopping MongoDB server on port ${this._instanceInfo.port} with pid ${(r=(t=this._instanceInfo.instance)===null||t===void 0?void 0:t.mongodProcess)===null||r===void 0?void 0:r.pid}`);yield this._instanceInfo.instance.stop();this.stateChange(E.stopped);if(n.doCleanup){yield this.cleanup(n)}return true}))}cleanup(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){assertionIsMMSState(E.stopped,this.state);let t={doCleanup:true,force:false};if(typeof e==="boolean"){t.force=e}if(typeof e==="object"){t=e}this.debug(`cleanup:`,t);if(!t.doCleanup){this.debug('cleanup: "doCleanup" is set to false');return}if((0,i.isNullOrUndefined)(this._instanceInfo)){this.debug('cleanup: "instanceInfo" is undefined');return}(0,i.assertion)((0,i.isNullOrUndefined)(this._instanceInfo.instance.mongodProcess),new Error('Cannot cleanup because "instance.mongodProcess" is still defined'));const r=this._instanceInfo.tmpDir;if(!(0,i.isNullOrUndefined)(r)){this.debug(`cleanup: removing tmpDir at ${r.name}`);r.removeCallback()}if(t.force){const e=this._instanceInfo.dbPath;const t=yield(0,i.statPath)(e);if((0,i.isNullOrUndefined)(t)){this.debug(`cleanup: force is true, but path "${e}" dosnt exist anymore`)}else{(0,i.assertion)(t.isDirectory(),new Error("Defined dbPath is not an directory"));if((0,h.lt)(process.version,"14.14.0")){yield l.promises.rmdir(e,{recursive:true,maxRetries:1})}else{yield l.promises.rm(e,{recursive:true,maxRetries:1})}}}this.stateChange(E.new);this._instanceInfo=undefined}))}get instanceInfo(){return this._instanceInfo}get state(){return this._state}ensureInstance(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("ensureInstance: Called .ensureInstance() method");switch(this._state){case E.running:if(this._instanceInfo){return this._instanceInfo}throw new d.EnsureInstanceError(true);case E.new:case E.stopped:break;case E.starting:return new Promise(((e,t)=>this.once(p.stateChange,(r=>{if(r!=E.running){t(new Error(`"ensureInstance" waited for "running" but got an different state: "${r}"`));return}(0,i.assertion)(!(0,i.isNullOrUndefined)(this._instanceInfo),new Error("InstanceInfo is undefined!"));e(this._instanceInfo)}))));default:throw new d.StateError([E.running,E.new,E.stopped,E.starting],this.state)}this.debug('ensureInstance: no running instance, calling "start()" command');yield this.start();this.debug('ensureInstance: "start()" command was succesfully resolved');if(!this._instanceInfo){throw new d.EnsureInstanceError(false)}return this._instanceInfo}))}getUri(e,t){this.debug("getUri:",this.state,e,t);switch(this.state){case E.running:case E.starting:break;case E.stopped:default:throw new d.StateError([E.running,E.starting],this.state)}assertionInstanceInfo(this._instanceInfo);return(0,i.uriTemplate)(t||"127.0.0.1",this._instanceInfo.port,(0,i.generateDbName)(e))}createAuth(e){var t,r,o;return(0,n.__awaiter)(this,void 0,void 0,(function*(){(0,i.assertion)(!(0,i.isNullOrUndefined)(this.auth),new Error('"createAuth" got called, but "this.auth" is undefined!'));this.debug("createAuth: options:",this.auth);const n=yield u.MongoClient.connect((0,i.uriTemplate)(e.ip,e.port,"admin"),{});try{let e=n.db("admin");this.debug(`createAuth: Creating Root user, name: "${this.auth.customRootName}"`);yield e.command({createUser:this.auth.customRootName,pwd:this.auth.customRootPwd,mechanisms:["SCRAM-SHA-256"],customData:{createdBy:"mongodb-memory-server",as:"ROOTUSER"},roles:["root"],writeConcern:{w:"majority"}});if(this.auth.extraUsers.length>0){this.debug(`createAuth: Creating "${this.auth.extraUsers.length}" Custom Users`);this.auth.extraUsers.sort(((e,t)=>{if(e.database==="admin"){return-1}return e.database===t.database?0:1}));for(const s of this.auth.extraUsers){s.database=(0,i.isNullOrUndefined)(s.database)?"admin":s.database;if(s.database!==e.databaseName){e=n.db(s.database)}this.debug("createAuth: Creating User: ",s);yield e.command({createUser:s.createUser,pwd:s.pwd,customData:Object.assign(Object.assign({},s.customData),{createdBy:"mongodb-memory-server",as:"EXTRAUSER"}),roles:s.roles,authenticationRestrictions:(t=s.authenticationRestrictions)!==null&&t!==void 0?t:[],mechanisms:(r=s.mechanisms)!==null&&r!==void 0?r:["SCRAM-SHA-256"],digestPassword:(o=s.digestPassword)!==null&&o!==void 0?o:true})}}}finally{yield n.close()}}))}}t.MongoMemoryServer=MongoMemoryServer;t["default"]=MongoMemoryServer;function assertionInstanceInfo(e){(0,i.assertion)(!(0,i.isNullOrUndefined)(e),new Error('"instanceInfo" is undefined'))}function assertionIsMMSState(e,t){(0,i.assertion)(t===e,new d.StateError([e],t))}},8919:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DryMongoBinary=void 0;const n=r(4351);const o=(0,n.__importDefault)(r(8237));const s=r(8730);const i=r(1978);const a=(0,n.__importStar)(r(1017));const A=r(2037);const c=(0,n.__importDefault)(r(7281));const l=r(8278);const u=r(3386);const h=r(1);const d=(0,o.default)("MongoMS:DryMongoBinary");class DryMongoBinary{static locateBinary(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){d(`locateBinary: Trying to locate Binary for version "${e.version}"`);const t=yield this.generateOptions(e);if(!!t.systemBinary){d(`locateBinary: env "SYSTEM_BINARY" was provided with value: "${t.systemBinary}"`);const e=yield this.getSystemPath(t.systemBinary);if((0,i.isNullOrUndefined)(e)){throw new u.NoSystemBinaryFoundError(t.systemBinary)}return e}if(this.binaryCache.has(e.version)){const t=this.binaryCache.get(e.version);d(`locateBinary: Requested Version found in cache: "[${e.version}, ${t}]"`);return t}d("locateBinary: running generateDownloadPath");const r=yield this.generateDownloadPath(t);if(!r[0]){d("locateBinary: could not find a existing binary");return undefined}d(`locateBinary: found binary at "${r[1]}"`);this.binaryCache.set(e.version,r[1]);return r[1]}))}static generateOptions(e){var t,r;return(0,n.__awaiter)(this,void 0,void 0,(function*(){d("generateOptions");const n=(t=(0,s.resolveConfig)(s.ResolveConfigVariables.VERSION))!==null&&t!==void 0?t:s.DEFAULT_VERSION;const o=(0,i.isNullOrUndefined)(e)?{version:n}:e;const c={version:o.version||n,downloadDir:(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_DIR)||o.downloadDir||"",os:(r=o.os)!==null&&r!==void 0?r:yield(0,l.getOS)(),platform:o.platform||(0,A.platform)(),arch:o.arch||(0,A.arch)(),systemBinary:(0,s.resolveConfig)(s.ResolveConfigVariables.SYSTEM_BINARY)||o.systemBinary||""};c.downloadDir=a.dirname((yield this.generateDownloadPath(c))[1]);if((0,s.resolveConfig)(s.ResolveConfigVariables.ARCHIVE_NAME)||(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_URL)){const e=(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_URL)||(0,s.resolveConfig)(s.ResolveConfigVariables.ARCHIVE_NAME);d(`generateOptions: ARCHIVE_NAME or DOWNLOAD_URL defined, generating options based on that (input: "${e}")`);return this.parseArchiveNameRegex(e,c)}return c}))}static parseArchiveNameRegex(e,t){d(`parseArchiveNameRegex (input: "${e}")`);const r=/mongodb-(?linux|win32|osx|macos)(?:-ssl-|-)(?\w{4,})(?:-(?\w+)|)(?:-ssl-|-)(?:v|)(?[\d.]+(?:-latest|))\./gim.exec(e);(0,i.assertion)(!(0,i.isNullOrUndefined)(r),new u.NoRegexMatchError("input"));(0,i.assertion)(!(0,i.isNullOrUndefined)(r.groups),new u.NoRegexMatchError("input","groups"));const n=r.groups;(0,i.assertion)(typeof n.version==="string"&&n.version.length>1,new u.ParseArchiveRegexError("version"));(0,i.assertion)(typeof n.platform==="string"&&n.platform.length>1,new u.ParseArchiveRegexError("platform"));(0,i.assertion)(typeof n.arch==="string"&&n.arch.length>=4,new u.ParseArchiveRegexError("arch"));t.version=n.version;t.arch=n.arch;if(n.platform==="linux"){const e=!!n.dist?/([a-z]+)(\d*)/gim.exec(n.dist):null;t.os={os:"linux",dist:typeof(e===null||e===void 0?void 0:e[1])==="string"?e[1]:"unknown",release:""}}else{t.os={os:n.platform}}return t}static getBinaryName(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){d("getBinaryName");let t;if((0,s.envToBool)((0,s.resolveConfig)(s.ResolveConfigVariables.USE_ARCHIVE_NAME_FOR_BINARY_NAME))){const r=yield new h.MongoBinaryDownloadUrl(e).getArchiveName();t=a.parse(r).name}else{const r=e.platform==="win32"?".exe":"";const n=(0,l.isLinuxOS)(e.os)?e.os.dist:e.os.os;t=`mongod-${e.arch}-${n}-${e.version}${r}`}return t}))}static combineBinaryName(e,t){d("combineBinaryName");return a.resolve(e,t)}static getSystemPath(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){d("getSystempath");try{yield(0,i.checkBinaryPermissions)(e);d(`getSystemPath: found system binary path at "${e}"`);return e}catch(t){d(`getSystemPath: can't find system binary at "${e}".\n${t instanceof Error?t.message:t}`)}return undefined}))}static generatePaths(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){d("generatePaths",e);const t={legacyHomeCache:"",modulesCache:"",relative:"",resolveConfig:""};const r=yield this.getBinaryName(e);let n=process.env["INIT_CWD"]||process.cwd();while(n.includes(`node_modules${a.sep}mongodb-memory-server`)){n=a.resolve(n,"..","..")}const o=(0,c.default)({name:"mongodb-memory-server",cwd:n});if(!(0,i.isNullOrUndefined)(o)){t.modulesCache=this.combineBinaryName(a.resolve(o),r)}const A=a.resolve(this.homedir(),".cache/mongodb-binaries");t.legacyHomeCache=this.combineBinaryName(A,r);const l=e.downloadDir||(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_DIR);if(!(0,i.isNullOrUndefined)(l)&&l.length>0){d(`generatePaths: resolveConfigValue is not empty`);t.resolveConfig=this.combineBinaryName(l,r)}t.relative=this.combineBinaryName(a.resolve(process.cwd(),"mongodb-binaries"),r);return t}))}static generateDownloadPath(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){const t=(0,s.envToBool)((0,s.resolveConfig)(s.ResolveConfigVariables.PREFER_GLOBAL_PATH));d(`generateDownloadPath: Generating Download Path, preferGlobal: "${t}"`);const r=yield this.generatePaths(e);d("generateDownloadPath: Paths:",r,e.systemBinary);if(!!e.systemBinary&&(yield(0,i.pathExists)(e.systemBinary))){const t=yield this.getSystemPath(e.systemBinary);if(!(0,i.isNullOrUndefined)(t)){return[true,t]}}if(yield(0,i.pathExists)(r.resolveConfig)){d(`generateDownloadPath: Found binary in resolveConfig (DOWNLOAD_DIR): "${r.resolveConfig}"`);return[true,r.resolveConfig]}if(yield(0,i.pathExists)(r.legacyHomeCache)){d(`generateDownloadPath: Found binary in legacyHomeCache: "${r.legacyHomeCache}"`);return[true,r.legacyHomeCache]}if(yield(0,i.pathExists)(r.modulesCache)){d(`generateDownloadPath: Found binary in modulesCache: "${r.modulesCache}"`);return[true,r.modulesCache]}if(yield(0,i.pathExists)(r.relative)){d(`generateDownloadPath: Found binary in relative: "${r.relative}"`);return[true,r.relative]}d(`generateDownloadPath: no existing binary for version "${e.version}" was found`);if(r.resolveConfig.length>0){d(`generateDownloadPath: using resolveConfig (DOWNLOAD_DIR) "${r.resolveConfig}"`);return[false,r.resolveConfig]}if(t&&!!r.legacyHomeCache){d(`generateDownloadPath: using global (preferGlobal) "${r.legacyHomeCache}"`);return[false,r.legacyHomeCache]}if(r.modulesCache.length>0){d(`generateDownloadPath: using modulesCache "${r.modulesCache}"`);return[false,r.modulesCache]}d(`generateDownloadPath: using relative "${r.relative}"`);return[false,r.relative]}))}static homedir(){return(0,A.homedir)()}}t.DryMongoBinary=DryMongoBinary;DryMongoBinary.binaryCache=new Map},9125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MongoBinary=void 0;const n=r(4351);const o=(0,n.__importDefault)(r(2037));const s=(0,n.__importDefault)(r(1017));const i=(0,n.__importDefault)(r(229));const a=(0,n.__importStar)(r(8730));const A=(0,n.__importDefault)(r(8237));const c=(0,n.__importStar)(r(1383));const l=r(1978);const u=r(2081);const h=r(4908);const d=r(8919);const g=(0,A.default)("MongoMS:MongoBinary");class MongoBinary{static download(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){g("download");const{downloadDir:t,version:r}=e;yield(0,l.mkdir)(t);const n=s.default.resolve(t,`${r}.lock`);g(`download: Waiting to acquire Download lock for file "${n}"`);const o=yield h.LockFile.lock(n);g("download: Download lock acquired");try{if(!d.DryMongoBinary.binaryCache.has(r)){g(`download: Adding version ${r} to cache`);const t=new i.default(e);d.DryMongoBinary.binaryCache.set(r,yield t.getMongodPath())}}finally{g("download: Removing Download lock");yield o.unlock();g("download: Download lock removed")}const a=d.DryMongoBinary.binaryCache.get(r);(0,l.assertion)(typeof a==="string",new Error(`No Cache Path for version "${r}" found (and download failed silently?)`));return a}))}static getPath(e={}){return(0,n.__awaiter)(this,void 0,void 0,(function*(){g("getPath");const t=Object.assign(Object.assign({},yield d.DryMongoBinary.generateOptions(e)),{platform:e.platform||(0,a.default)(a.ResolveConfigVariables.PLATFORM)||o.default.platform(),checkMD5:e.checkMD5||(0,a.envToBool)((0,a.default)(a.ResolveConfigVariables.MD5_CHECK))});g(`getPath: MongoBinary options:`,JSON.stringify(t,null,2));let r=yield d.DryMongoBinary.locateBinary(t);if(!!t.systemBinary){if(!(0,l.isNullOrUndefined)(r)){g(`getPath: Spawning binaryPath "${r}" to get version`);const e=(0,u.spawnSync)(r,["--version"]).stdout.toString().match(/^\s*db\s+version\s+v?(\d+\.\d+\.\d+)(-\d*)?(-[a-zA-Z0-9].*)?\s*$/im);(0,l.assertion)(!(0,l.isNullOrUndefined)(e),new Error("Couldnt find an version from system binary output!"));if((0,a.envToBool)((0,a.default)(a.ResolveConfigVariables.SYSTEM_BINARY_VERSION_CHECK))){g("getPath: Checking & Warning about version conflicts");const r=e[1];if(c.neq(t.version,r)){console.warn("getPath: MongoMemoryServer: Possible version conflict\n"+` SystemBinary version: "${r}"\n`+` Requested version: "${t.version}"\n\n`+" Using SystemBinary!")}}}else{throw new Error('Option "SYSTEM_BINARY" was set, but binaryPath was empty! (system binary could not be found?) [This Error should normally not be thrown, please report this]')}}(0,l.assertion)(typeof t.version==="string",new Error('"MongoBinary.options.version" is not an string!'));if(!r){if((0,a.envToBool)((0,a.default)(a.ResolveConfigVariables.RUNTIME_DOWNLOAD))){g('getPath: "RUNTIME_DOWNLOAD" is "true", trying to download');r=yield this.download(t)}else{g('getPath: "RUNTIME_DOWNLOAD" is "false", not downloading')}}if(!r){const e=(0,a.envToBool)((0,a.default)(a.ResolveConfigVariables.RUNTIME_DOWNLOAD));throw new Error(`MongoBinary.getPath: could not find an valid binary path! (Got: "${r}", RUNTIME_DOWNLOAD: "${e}")`)}g(`getPath: Mongod binary path: "${r}"`);return r}))}}t.MongoBinary=MongoBinary;t["default"]=MongoBinary},229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MongoBinaryDownload=void 0;const n=r(4351);const o=(0,n.__importDefault)(r(2037));const s=r(7310);const i=(0,n.__importDefault)(r(1017));const a=r(7147);const A=(0,n.__importDefault)(r(1446));const c=(0,n.__importDefault)(r(5687));const l=r(9796);const u=(0,n.__importDefault)(r(2283));const h=(0,n.__importDefault)(r(8781));const d=(0,n.__importDefault)(r(1));const g=r(7219);const p=(0,n.__importStar)(r(8730));const E=(0,n.__importDefault)(r(8237));const m=r(1978);const C=r(8919);const I=r(4521);const y=r(3386);const B=(0,E.default)("MongoMS:MongoBinaryDownload");class MongoBinaryDownload{constructor(e){var t,r,n,s,i,a;(0,m.assertion)(typeof e.downloadDir==="string",new Error("An DownloadDir must be specified!"));const A=(t=e.version)!==null&&t!==void 0?t:(0,p.default)(p.ResolveConfigVariables.VERSION);(0,m.assertion)(typeof A==="string",new Error("An MongoDB Binary version must be specified!"));this.binaryOpts={platform:(r=e.platform)!==null&&r!==void 0?r:o.default.platform(),arch:(n=e.arch)!==null&&n!==void 0?n:o.default.arch(),version:A,downloadDir:e.downloadDir,checkMD5:(s=e.checkMD5)!==null&&s!==void 0?s:(0,p.envToBool)((0,p.default)(p.ResolveConfigVariables.MD5_CHECK)),systemBinary:(i=e.systemBinary)!==null&&i!==void 0?i:"",os:(a=e.os)!==null&&a!==void 0?a:{os:"unknown"}};this.dlProgress={current:0,length:0,totalMb:0,lastPrintedAt:0}}get checkMD5(){return this.binaryOpts.checkMD5}set checkMD5(e){this.binaryOpts.checkMD5=e}get downloadDir(){return this.binaryOpts.downloadDir}set downloadDir(e){this.binaryOpts.downloadDir=e}get arch(){return this.binaryOpts.arch}set arch(e){this.binaryOpts.arch=e}get version(){return this.binaryOpts.version}set version(e){this.binaryOpts.version=e}get platform(){return this.binaryOpts.platform}set platform(e){this.binaryOpts.platform=e}getPath(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){const e=yield C.DryMongoBinary.generateOptions(this.binaryOpts);return C.DryMongoBinary.combineBinaryName(this.downloadDir,yield C.DryMongoBinary.getBinaryName(e))}))}getMongodPath(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("getMongodPath");const e=yield this.getPath();if(yield(0,m.pathExists)(e)){B(`getMongodPath: mongod path "${e}" already exists, using this`);return e}const t=yield this.startDownload();yield this.extract(t);yield a.promises.unlink(t);if(yield(0,m.pathExists)(e)){return e}throw new Error(`Cannot find downloaded mongod binary by path "${e}"`)}))}startDownload(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("startDownload");const e=new d.default(this.binaryOpts);yield(0,m.mkdir)(this.downloadDir);try{yield a.promises.access(this.downloadDir,a.constants.X_OK|a.constants.W_OK)}catch(e){console.error(`Download Directory at "${this.downloadDir}" does not have sufficient permissions to be used by this process\n`+"Needed Permissions: Write & Execute (-wx)\n");throw e}const t=yield e.getDownloadUrl();const r=yield this.download(t);yield this.makeMD5check(`${t}.md5`,r);return r}))}makeMD5check(e,t){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("makeMD5check: Checking MD5 of downloaded binary...");if(!this.checkMD5){B("makeMD5check: checkMD5 is disabled");return undefined}const r=yield this.download(e);const n=(yield a.promises.readFile(r)).toString("utf-8");const o=n.match(/^\s*([\w\d]+)\s*/i);const s=o?o[1]:null;const i=A.default.sync(t);B(`makeMD5check: Local MD5: ${i}, Remote MD5: ${s}`);if(s!==i){throw new y.Md5CheckFailedError(i,s||"unknown")}yield a.promises.unlink(r);return true}))}download(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("download");const t=process.env["yarn_https-proxy"]||process.env.yarn_proxy||process.env["npm_config_https-proxy"]||process.env.npm_config_proxy||process.env.https_proxy||process.env.http_proxy||process.env.HTTPS_PROXY||process.env.HTTP_PROXY;const r=process.env.npm_config_strict_ssl==="true";const n=new s.URL(e);n.port=n.port||"443";const o={method:"GET",rejectUnauthorized:r,protocol:(0,p.envToBool)((0,p.default)(p.ResolveConfigVariables.USE_HTTP))?"http:":"https:",agent:t?new g.HttpsProxyAgent(t):undefined};const a=n.pathname.split("/").pop();if(!a){throw new Error(`MongoBinaryDownload: missing filename for url "${e}"`)}const A=i.default.resolve(this.downloadDir,a);const c=i.default.resolve(this.downloadDir,`${a}.downloading`);B(`download: Downloading${t?` via proxy "${t}"`:""}: "${e}"`);if(yield(0,m.pathExists)(A)){B("download: Already downloaded archive found, skipping download");return A}this.assignDownloadingURL(n);const l=yield this.httpDownload(n,o,A,c);return l}))}extract(e){var t,r;return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("extract");const n=yield this.getPath();B(`extract: archive: "${e}" final: "${n}"`);yield(0,m.mkdir)(i.default.dirname(n));const filter=e=>/(?:bin\/(?:mongod(?:\.exe)?)|(?:.*\.dll))$/i.test(e);if(/(.tar.gz|.tgz)$/.test(e)){yield this.extractTarGz(e,n,filter)}else if(/.zip$/.test(e)){yield this.extractZip(e,n,filter)}else{throw new Error(`MongoBinaryDownload: unsupported archive "${e}" (downloaded from "${(t=this._downloadingUrl)!==null&&t!==void 0?t:"unknown"}"). Broken archive from MongoDB Provider?`)}if(!(yield(0,m.pathExists)(n))){throw new Error(`MongoBinaryDownload: missing mongod binary in "${e}" (downloaded from "${(r=this._downloadingUrl)!==null&&r!==void 0?r:"unknown"}"). Broken archive from MongoDB Provider?`)}return n}))}extractTarGz(e,t,r){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("extractTarGz");const n=u.default.extract();n.on("entry",((e,n,o)=>{if(r(e.name)){n.pipe((0,a.createWriteStream)(t,{mode:509}))}n.on("end",(()=>o()));n.resume()}));return new Promise(((t,r)=>{(0,a.createReadStream)(e).on("error",(t=>{r("Unable to open tarball "+e+": "+t)})).pipe((0,l.createUnzip)()).on("error",(t=>{r("Error during unzip for "+e+": "+t)})).pipe(n).on("error",(t=>{r("Error during untar for "+e+": "+t)})).on("finish",(e=>{t(e)}))}))}))}extractZip(e,t,r){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("extractZip");return new Promise(((n,o)=>{h.default.open(e,{lazyEntries:true},((e,s)=>{if(e||!s){return o(e)}s.readEntry();s.on("end",(()=>n()));s.on("entry",(e=>{if(!r(e.fileName)){return s.readEntry()}s.openReadStream(e,((e,r)=>{if(e||!r){return o(e)}r.on("end",(()=>s.readEntry()));r.pipe((0,a.createWriteStream)(t,{mode:509}))}))}))}))}))}))}httpDownload(e,t,r,o){return(0,n.__awaiter)(this,void 0,void 0,(function*(){B("httpDownload");const s=this.assignDownloadingURL(e);return new Promise(((i,A)=>{B(`httpDownload: trying to download "${s}"`);c.default.get(e,t,(e=>{if(e.statusCode!=200){if(e.statusCode===403){A(new Error("Status Code is 403 (MongoDB's 404)\n"+"This means that the requested version-platform combination doesn't exist\n"+` Used Url: "${s}"\n`+"Try to use different version 'new MongoMemoryServer({ binary: { version: 'X.Y.Z' } })'\n"+"List of available versions can be found here:\n"+" https://www.mongodb.org/dl/linux for Linux\n"+" https://www.mongodb.org/dl/osx for OSX\n"+" https://www.mongodb.org/dl/win32 for Windows"));return}A(new Error("Status Code isnt 200!"));return}if(typeof e.headers["content-length"]!="string"){A(new Error('Response header "content-length" is empty!'));return}this.dlProgress.current=0;this.dlProgress.length=parseInt(e.headers["content-length"],10);this.dlProgress.totalMb=Math.round(this.dlProgress.length/1048576*10)/10;const c=(0,a.createWriteStream)(o);e.pipe(c);c.on("finish",(()=>(0,n.__awaiter)(this,void 0,void 0,(function*(){var e;if(this.dlProgress.current{this.printDownloadProgress(e)}))})).on("error",(e=>{console.error(`Couldnt download "${s}"!`,e.message);A(e)}))}))}))}printDownloadProgress(e,t=false){this.dlProgress.current+=e.length;const r=Date.now();if(r-this.dlProgress.lastPrintedAt<2e3&&!t){return}this.dlProgress.lastPrintedAt=r;const n=Math.round(100*this.dlProgress.current/this.dlProgress.length*10)/10;const o=Math.round(this.dlProgress.current/1048576*10)/10;const s=this.platform==="win32"?"":"\r";const i=`Downloading MongoDB "${this.version}": ${n}% (${o}mb / ${this.dlProgress.totalMb}mb)${s}`;if(process.stdout.isTTY){(0,I.clearLine)(process.stdout,0);process.stdout.write(i)}else{console.log(i)}}assignDownloadingURL(e){this._downloadingUrl=e.href;return this._downloadingUrl}}t.MongoBinaryDownload=MongoBinaryDownload;t["default"]=MongoBinaryDownload},1:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MongoBinaryDownloadUrl=void 0;const n=r(4351);const o=r(8278);const s=r(8730);const i=(0,n.__importDefault)(r(8237));const a=(0,n.__importStar)(r(1383));const A=r(1978);const c=r(7310);const l=r(3386);const u=r(3837);const h=(0,i.default)("MongoMS:MongoBinaryDownloadUrl");class MongoBinaryDownloadUrl{constructor(e){this.version=e.version;this.platform=this.translatePlatform(e.platform);this.arch=MongoBinaryDownloadUrl.translateArch(e.arch,this.platform);this.os=e.os}getDownloadUrl(){var e;return(0,n.__awaiter)(this,void 0,void 0,(function*(){const t=(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_URL);if(t){h(`Using "${t}" as the Download-URL`);const e=new c.URL(t);return e.toString()}const r=yield this.getArchiveName();h(`Using "${r}" as the Archive String`);const n=(e=(0,s.resolveConfig)(s.ResolveConfigVariables.DOWNLOAD_MIRROR))!==null&&e!==void 0?e:"https://fastdl.mongodb.org";h(`Using "${n}" as the mirror`);const o=new c.URL(n);if(!o.pathname.endsWith("/")){o.pathname=o.pathname+"/"}o.pathname=`${o.pathname}${this.platform}/${r}`;return o.toString()}))}getArchiveName(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){const e=(0,s.resolveConfig)(s.ResolveConfigVariables.ARCHIVE_NAME);if(!!e){return e}switch(this.platform){case"osx":return this.getArchiveNameOsx();case"win32":case"windows":return this.getArchiveNameWin();case"linux":return this.getArchiveNameLinux();default:throw new l.UnknownPlatformError(this.platform)}}))}getArchiveNameWin(){let e=`mongodb-${this.platform}-${this.arch}`;if(!(0,A.isNullOrUndefined)(a.coerce(this.version))){if(a.satisfies(this.version,"4.2.x")){e+="-2012plus"}else if(a.lt(this.version,"4.1.0")){e+="-2008plus-ssl"}}e+=`-${this.version}.zip`;return e}getArchiveNameOsx(){let e=`mongodb-osx`;const t=a.coerce(this.version);if(!(0,A.isNullOrUndefined)(t)&&a.gte(t,"3.2.0")){e+="-ssl"}if((0,A.isNullOrUndefined)(t)||a.gte(t,"4.2.0")){e=`mongodb-macos`}if(this.arch==="arm64"){h('getArchiveNameOsx: Arch is "arm64", using x64 binary');this.arch="x86_64"}e+=`-${this.arch}-${this.version}.tgz`;return e}getArchiveNameLinux(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){let e;if(this.arch!=="i686"){if(!this.os){this.os=yield(0,o.getOS)()}e=this.getLinuxOSVersionString(this.os)}let t=`mongodb-linux-${this.arch}`;if(!!e){t+=`-${e}`}t+=`-${this.version}.tgz`;return t}))}getLinuxOSVersionString(e){var t;if(regexHelper(/ubuntu/i,e)){return this.getUbuntuVersionString(e)}else if(regexHelper(/amzn/i,e)){return this.getAmazonVersionString(e)}else if(regexHelper(/suse/i,e)){return this.getSuseVersionString(e)}else if(regexHelper(/(rhel|centos|scientific)/i,e)){return this.getRhelVersionString(e)}else if(regexHelper(/fedora/i,e)){return this.getFedoraVersionString(e)}else if(regexHelper(/debian/i,e)){return this.getDebianVersionString(e)}else if(regexHelper(/alpine/i,e)){console.warn("There is no offical build of MongoDB for Alpine!")}else if(regexHelper(/(arch|manjaro|arco)(?:linux)?$/i,e)){console.warn(`There is no official build of MongoDB for ArchLinux (${e.dist}). Falling back to Ubuntu 20.04 release.`);return this.getUbuntuVersionString({os:"linux",dist:"Ubuntu Linux",release:"20.04"})}else if(regexHelper(/gentoo/i,e)){console.warn(`There is no official build of MongoDB for Gentoo (${e.dist}). Falling back to Debian.`);return this.getDebianVersionString({os:"linux",dist:"Debian",release:"11"})}else if(regexHelper(/unknown/i,e)){console.warn("Couldnt parse dist information, please report this to https://github.com/nodkz/mongodb-memory-server/issues")}console.warn(`Unknown/unsupported linux "${e.dist}(${(t=e.id_like)===null||t===void 0?void 0:t.join(", ")})". Falling back to legacy MongoDB build!`);return this.getLegacyVersionString()}getDebianVersionString(e){let t="debian";const r=parseFloat(e.release);if(r>=11||["unstable","testing"].includes(e.release)){if(a.lt(this.version,"5.0.8")){h("debian11 detected, but version below 5.0.8 requested, using debian10");t+="10"}else{t+="11"}}else if(r>=10){t+="10"}else if(r>=9){t+="92"}else if(r>=8.1){t+="81"}else if(r>=7.1){t+="71"}if(r>=10){if(a.lt(this.version,"4.2.1")){throw new l.KnownVersionIncompatibilityError(`Debian ${r}`,this.version,">=4.2.1","Mongodb does not provide binaries for versions before 4.2.1 for Debian 10+ and also cannot be mapped to a previous Debian release")}}return t}getFedoraVersionString(e){let t="rhel";const r=parseInt(e.release,10);if(r>=34){t+="80"}if(r<34&&r>=19){t+="70"}if(r<19&&r>=12){t+="62"}if(r<12&&r>=6){t+="55"}return t}getRhelVersionString(e){let t="rhel";const{release:r}=e;if(r){if(/^8/.test(r)){t+="80"}else if(/^7/.test(r)){t+="70"}else if(/^6/.test(r)){t+="62"}else if(/^5/.test(r)){t+="55"}}if(t==="rhel"){h('getRhelVersionString: falling back to "70"');t+="70"}return t}getAmazonVersionString(e){let t="amazon";const r=parseInt(e.release,10);if(r>=2&&r<=3){t+="2"}return t}getLegacyVersionString(){return""}getSuseVersionString(e){const t=e.release.match(/(^11|^12|^15)/);return t?`suse${t[0]}`:""}getUbuntuVersionString(e){let t=undefined;{if(/^linux\s?mint\s*$/i.test(e.dist)){const r={17:"14.04",18:"16.04",19:"18.04",20:"20.04"};t={os:"linux",dist:"ubuntu",release:r[parseInt(e.release.split(".")[0])]||r[20]}}if(/^elementary\s?os\s*$/i.test(e.dist)){const r={3:"14.04",4:"16.04",5:"18.04",6:"20.04"};const[n,o]=e.release.split(".").map((e=>parseInt(e)));const s=n||o;t={os:"linux",dist:"ubuntu",release:r[s]||r[6]}}}if((0,A.isNullOrUndefined)(t)){if(!/^ubuntu(?:| linux)\s*$/i.test(e.dist)){console.warn(`Unmapped distro "${e.dist}" with ID_LIKE "ubuntu", defaulting to highest ubuntu version!\n`+'This means that your distro does not have a internal mapping in MMS or does not have a upstream release file (like "/etc/upstream-release/lsb-release"), but has set a ID_LIKE');t={os:"linux",dist:"ubuntu",release:"20.04"}}else{t=e}}const r=parseInt(t.release.split(".")[0],10);if(this.arch==="arm64"){if(a.satisfies(this.version,"<4.1.10")){this.arch="arm64";return"ubuntu1604"}if(a.satisfies(this.version,">=4.1.10")){this.arch="aarch64";if(a.satisfies(this.version,"<4.4.0")){return"ubuntu1804"}return`ubuntu${r||18}04`}}if(t.release==="14.10"){return"ubuntu1410-clang"}if(r>=18&&a.satisfies(this.version,"3.x.x")){h(`getUbuntuVersionString: ubuntuYear is "${r}", which dosnt have an 3.x.x version, defaulting to "1604"`);return"ubuntu1604"}if(r>18&&a.satisfies(this.version,"<=4.3.x")){h(`getUbuntuVersionString: ubuntuYear is "${r}", which dosnt have an "<=4.3.x" version, defaulting to "1804"`);return"ubuntu1804"}if(r>=21){return"ubuntu2004"}return`ubuntu${r||14}04`}translatePlatform(e){switch(e){case"darwin":return"osx";case"win32":const t=a.coerce(this.version);if((0,A.isNullOrUndefined)(t)){return"windows"}return a.gte(t,"4.3.0")?"windows":"win32";case"linux":case"elementary OS":return"linux";case"sunos":return"sunos5";default:throw new l.UnknownPlatformError(e)}}static translateArch(e,t){switch(e){case"ia32":(0,u.deprecate)((()=>{}),"mongodb-memory-server will fully drop support for ia32 in 9.0","MMS001")();if(t==="linux"){return"i686"}else if(t==="win32"){return"i386"}throw new l.UnknownArchitectureError(e,t);case"x86_64":case"x64":return"x86_64";case"arm64":return"arm64";case"aarch64":return"aarch64";default:throw new l.UnknownArchitectureError(e)}}}t.MongoBinaryDownloadUrl=MongoBinaryDownloadUrl;t["default"]=MongoBinaryDownloadUrl;function regexHelper(e,t){return e.test(t.dist)||(!(0,A.isNullOrUndefined)(t.id_like)?t.id_like.filter((t=>e.test(t))).length>=1:false)}},843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MongoInstance=t.MongoInstanceEvents=void 0;const n=r(4351);const o=r(2081);const s=(0,n.__importStar)(r(1017));const i=r(9125);const a=(0,n.__importDefault)(r(8237));const A=r(1978);const c=r(1383);const l=r(2361);const u=r(5517);const h=r(3386);if((0,c.lt)(process.version,"12.22.0")){console.warn("Using NodeJS below 12.22.0")}const d=(0,a.default)("MongoMS:MongoInstance");var g;(function(e){e["instanceReplState"]="instanceReplState";e["instancePrimary"]="instancePrimary";e["instanceReady"]="instanceReady";e["instanceSTDOUT"]="instanceSTDOUT";e["instanceSTDERR"]="instanceSTDERR";e["instanceClosed"]="instanceClosed";e["instanceRawError"]="instanceRawError";e["instanceError"]="instanceError";e["killerLaunched"]="killerLaunched";e["instanceLaunched"]="instanceLaunched";e["instanceStarted"]="instanceStarted"})(g=t.MongoInstanceEvents||(t.MongoInstanceEvents={}));class MongoInstance extends l.EventEmitter{constructor(e){super();this.isInstancePrimary=false;this.isInstanceReady=false;this.isReplSet=false;this.instanceOpts=Object.assign({},e.instance);this.binaryOpts=Object.assign({},e.binary);this.spawnOpts=Object.assign({},e.spawn);this.on(g.instanceReady,(()=>{this.isInstanceReady=true;this.debug("constructor: Instance is ready!")}));this.on(g.instanceError,(e=>(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug(`constructor: Instance has thrown an Error: ${e.toString()}`);this.isInstanceReady=false;this.isInstancePrimary=false;yield this.stop()}))))}debug(e,...t){var r;const n=(r=this.instanceOpts.port)!==null&&r!==void 0?r:"unknown";d(`Mongo[${n}]: ${e}`,...t)}static create(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){d("create: Called .create() method");const t=new this(e);yield t.start();return t}))}prepareCommandArgs(){var e;this.debug("prepareCommandArgs");(0,A.assertion)(!(0,A.isNullOrUndefined)(this.instanceOpts.port),new Error('"instanceOpts.port" is required to be set!'));(0,A.assertion)(!(0,A.isNullOrUndefined)(this.instanceOpts.dbPath),new Error('"instanceOpts.dbPath" is required to be set!'));const t=[];t.push("--port",this.instanceOpts.port.toString());t.push("--dbpath",this.instanceOpts.dbPath);if(!!this.instanceOpts.replSet){this.isReplSet=true;t.push("--replSet",this.instanceOpts.replSet)}if(!!this.instanceOpts.storageEngine){t.push("--storageEngine",this.instanceOpts.storageEngine)}if(!!this.instanceOpts.ip){t.push("--bind_ip",this.instanceOpts.ip)}if(this.instanceOpts.auth){t.push("--auth");if(this.isReplSet){(0,A.assertion)(!(0,A.isNullOrUndefined)(this.instanceOpts.keyfileLocation),new h.KeyFileMissingError);t.push("--keyFile",this.instanceOpts.keyfileLocation)}}else{t.push("--noauth")}const r=t.concat((e=this.instanceOpts.args)!==null&&e!==void 0?e:[]);this.debug("prepareCommandArgs: final argument array:"+JSON.stringify(r));return r}start(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("start");this.isInstancePrimary=false;this.isInstanceReady=false;this.isReplSet=false;const e=new Promise(((e,t)=>{this.once(g.instanceReady,e);this.once(g.instanceError,t);this.once(g.instanceClosed,(()=>{t(new Error("Instance Exited before being ready and without throwing an error!"))}))}));const t=yield i.MongoBinary.getPath(this.binaryOpts);yield(0,A.checkBinaryPermissions)(t);this.debug("start: Starting Processes");this.mongodProcess=this._launchMongod(t);(0,A.assertion)(!(0,A.isNullOrUndefined)(this.mongodProcess.pid),new Error("MongoD Process failed to spawn"));this.killerProcess=this._launchKiller(process.pid,this.mongodProcess.pid);yield e;this.emit(g.instanceStarted);this.debug("start: Processes Started")}))}stop(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){this.debug("stop");if(!this.mongodProcess&&!this.killerProcess){this.debug("stop: nothing to shutdown, returning");return false}if(!(0,A.isNullOrUndefined)(this.mongodProcess)){if(this.isReplSet){let e;try{this.debug("stop: trying shutdownServer");const t=this.instanceOpts.port;const r=this.instanceOpts.ip;(0,A.assertion)(!(0,A.isNullOrUndefined)(t),new Error('Cannot shutdown replset gracefully, no "port" is provided'));(0,A.assertion)(!(0,A.isNullOrUndefined)(r),new Error('Cannot shutdown replset gracefully, no "ip" is provided'));e=yield u.MongoClient.connect((0,A.uriTemplate)(r,t,"admin"),Object.assign(Object.assign({},this.extraConnectionOptions),{directConnection:true}));const n=e.db("admin");yield n.command({shutdown:1,force:true,timeoutSecs:1});this.debug("stop: after admin shutdown command")}catch(e){if(!(e instanceof u.MongoNetworkError&&/^connection \d+ to [\d.]+:\d+ closed$/i.test(e.message))){console.warn(e)}}finally{if(!(0,A.isNullOrUndefined)(e)){yield e.close()}}}yield(0,A.killProcess)(this.mongodProcess,"mongodProcess",this.instanceOpts.port);this.mongodProcess=undefined}else{this.debug("stop: mongodProcess: nothing to shutdown, skipping")}if(!(0,A.isNullOrUndefined)(this.killerProcess)){yield(0,A.killProcess)(this.killerProcess,"killerProcess",this.instanceOpts.port);this.killerProcess=undefined}else{this.debug("stop: killerProcess: nothing to shutdown, skipping")}this.debug("stop: Instance Finished Shutdown");return true}))}_launchMongod(e){var t,r;this.debug("_launchMongod: Launching Mongod Process");const n=(0,o.spawn)(s.resolve(e),this.prepareCommandArgs(),Object.assign(Object.assign({},this.spawnOpts),{stdio:"pipe"}));(t=n.stderr)===null||t===void 0?void 0:t.on("data",this.stderrHandler.bind(this));(r=n.stdout)===null||r===void 0?void 0:r.on("data",this.stdoutHandler.bind(this));n.on("close",this.closeHandler.bind(this));n.on("error",this.errorHandler.bind(this));if((0,A.isNullOrUndefined)(n.pid)){throw new h.StartBinaryFailedError(s.resolve(e))}this.emit(g.instanceLaunched);return n}_launchKiller(e,t){this.debug(`_launchKiller: Launching Killer Process (parent: ${e}, child: ${t})`);const r=(0,o.fork)(s.resolve(__dirname,"../../scripts/mongo_killer.js"),[e.toString(),t.toString()],{detached:true,stdio:"ignore"});r.unref();this.emit(g.killerLaunched);return r}errorHandler(e){this.emit(g.instanceRawError,e);this.emit(g.instanceError,e)}closeHandler(e,t){if(process.platform==="win32"&&e!=12&&e!=0||e!=0){this.debug("closeHandler: Mongod instance closed with an non-0 (or non 12 on windows) code!")}this.debug(`closeHandler: "${e}" "${t}"`);this.emit(g.instanceClosed,e,t)}stderrHandler(e){const t=e.toString().trim();this.debug(`stderrHandler: ""${t}""`);this.emit(g.instanceSTDERR,t);this.checkErrorInLine(t)}stdoutHandler(e){var t,r;const n=e.toString().trim();this.debug(`stdoutHandler: ""${n}""`);this.emit(g.instanceSTDOUT,n);if(/waiting for connections/i.test(n)){this.emit(g.instanceReady)}this.checkErrorInLine(n);if(/transition to \w+ from \w+/i.test(n)){const e=(r=(t=/transition to (\w+) from \w+/i.exec(n))===null||t===void 0?void 0:t[1])!==null&&r!==void 0?r:"UNKNOWN";this.emit(g.instanceReplState,e);if(e!=="PRIMARY"){this.isInstancePrimary=false}}if(/transition to primary complete; database writes are now permitted/i.test(n)){this.isInstancePrimary=true;this.debug('stdoutHandler: emitting "instancePrimary"');this.emit(g.instancePrimary)}}checkErrorInLine(e){var t,r;if(/address already in use/i.test(e)){this.emit(g.instanceError,new h.StdoutInstanceError(`Port "${this.instanceOpts.port}" already in use`))}if(/exception in initAndListen: \w+[^:]: .+[^,], terminating/i.test(e)){const t=/exception in initAndListen: (\w+[^:]): (.+[^,]), terminating/i.exec(e);const{1:r,2:n}=t||[];this.emit(g.instanceError,new h.StdoutInstanceError(`Instance Failed to start with "${r}". Original Error:\n`+n))}if(/CURL_OPENSSL_3['\s]+not found/i.test(e)){this.emit(g.instanceError,new h.StdoutInstanceError("libcurl3 is not available on your system. Mongod requires it and cannot be started without it.\n"+"You should manually install libcurl3 or try to use an newer version of MongoDB"))}if(/CURL_OPENSSL_4['\s]+not found/i.test(e)){this.emit(g.instanceError,new h.StdoutInstanceError("libcurl4 is not available on your system. Mongod requires it and cannot be started without it.\n"+"You need to manually install libcurl4"))}if(/lib[^:]+(?=: cannot open shared object)/i.test(e)){const n=(r=(t=e.match(/(lib[^:]+)(?=: cannot open shared object)/i))===null||t===void 0?void 0:t[1].toLocaleLowerCase())!==null&&r!==void 0?r:"unknown";this.emit(g.instanceError,new h.StdoutInstanceError(`Instance failed to start because a library is missing or cannot be opened: "${n}"`))}if(/\*\*\*aborting after/i.test(e)){this.emit(g.instanceError,new h.StdoutInstanceError("Mongod internal error"))}}}t.MongoInstance=MongoInstance;t["default"]=MongoInstance},3386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StdoutInstanceError=t.KnownVersionIncompatibilityError=t.NoRegexMatchError=t.ParseArchiveRegexError=t.ReplsetCountLowError=t.AssertionFallbackError=t.BinaryNotFoundError=t.InsufficientPermissionsError=t.AuthNotObjectError=t.KeyFileMissingError=t.InstanceInfoError=t.StartBinaryFailedError=t.Md5CheckFailedError=t.NoSystemBinaryFoundError=t.EnsureInstanceError=t.WaitForPrimaryTimeoutError=t.UnknownArchitectureError=t.UnknownPlatformError=t.UnableToUnlockLockfileError=t.UnknownLockfileStatusError=t.StateError=void 0;const n=r(1978);class StateError extends Error{constructor(e,t){super(`Incorrect State for operation: "${t}", allowed States: "[${e.join(",")}]"\n`+"This may be because of using a v6.x way of calling functions, look at the following guide if anything applies:\n"+"https://nodkz.github.io/mongodb-memory-server/docs/guides/migration/migrate7#no-function-other-than-start-create-ensureinstance-will-be-starting-anything");this.wantedStates=e;this.gotState=t}}t.StateError=StateError;class UnknownLockfileStatusError extends Error{constructor(e){super(`Unknown LockFile Status: "${e}"`);this.status=e}}t.UnknownLockfileStatusError=UnknownLockfileStatusError;class UnableToUnlockLockfileError extends Error{constructor(e,t){super(`Cannot unlock file "${t}", because it is not locked by this ${e?"instance":"process"}`);this.thisInstance=e;this.file=t}}t.UnableToUnlockLockfileError=UnableToUnlockLockfileError;class UnknownPlatformError extends Error{constructor(e){super(`Unknown Platform: "${e}"`);this.platform=e}}t.UnknownPlatformError=UnknownPlatformError;class UnknownArchitectureError extends Error{constructor(e,t){super();this.arch=e;this.platform=t;if(!(0,n.isNullOrUndefined)(t)){this.message=`Unsupported Architecture-Platform combination: arch: "${e}", platform: "${t}"`}else{this.message=`Unsupported Architecture: "${e}"`}}}t.UnknownArchitectureError=UnknownArchitectureError;class WaitForPrimaryTimeoutError extends Error{constructor(e,t){super(`Timed out after ${e}ms while waiting for a Primary (where: "${t}")`);this.timeout=e;this.where=t}}t.WaitForPrimaryTimeoutError=WaitForPrimaryTimeoutError;class EnsureInstanceError extends Error{constructor(e){super();this.isRunning=e;const t='"ensureInstance" failed, because';if(e){this.message=`${t} state was "running" but "instanceInfo" was undefined!`}else{this.message=`${t} "instanceInfo" was undefined after running "start"`}}}t.EnsureInstanceError=EnsureInstanceError;class NoSystemBinaryFoundError extends Error{constructor(e){super(`Config option "SYSTEM_BINARY" was provided with value "${e}", but no binary could be found!`);this.binaryPath=e}}t.NoSystemBinaryFoundError=NoSystemBinaryFoundError;class Md5CheckFailedError extends Error{constructor(e,t){super(`MD5 check failed! Binary MD5 is "${e}", Checkfile MD5 is "${t}"`);this.binarymd5=e;this.checkfilemd5=t}}t.Md5CheckFailedError=Md5CheckFailedError;class StartBinaryFailedError extends Error{constructor(e){super(`Starting the Binary Failed (PID is undefined)! Binary: "${e}"`);this.binary=e}}t.StartBinaryFailedError=StartBinaryFailedError;class InstanceInfoError extends Error{constructor(e){super(`"instanceInfo" was undefined when expected to be defined! (where: "${e}")`);this.where=e}}t.InstanceInfoError=InstanceInfoError;class KeyFileMissingError extends Error{constructor(){super(`"keyfileLocation" was undefined when expected!`)}}t.KeyFileMissingError=KeyFileMissingError;class AuthNotObjectError extends Error{constructor(){super('"auth" was not a object when it was expected!')}}t.AuthNotObjectError=AuthNotObjectError;class InsufficientPermissionsError extends Error{constructor(e){super(`File "${e}" does not have the required Permissions, required Permissions: "--x"`);this.path=e}}t.InsufficientPermissionsError=InsufficientPermissionsError;class BinaryNotFoundError extends Error{constructor(e){super(`No Binary at path "${e}" was found! (ENOENT)`);this.path=e}}t.BinaryNotFoundError=BinaryNotFoundError;class AssertionFallbackError extends Error{constructor(){super("Assert failed - no custom error")}}t.AssertionFallbackError=AssertionFallbackError;class ReplsetCountLowError extends Error{constructor(e){super(`ReplSet Count needs to be 1 or higher! (specified count: "${e}")`);this.count=e}}t.ReplsetCountLowError=ReplsetCountLowError;class ParseArchiveRegexError extends Error{constructor(e){super(`Expected "${e}" to be found in regex groups`);this.key=e}}t.ParseArchiveRegexError=ParseArchiveRegexError;class NoRegexMatchError extends Error{constructor(e,t){super();this.name=e;this.extra=t;const r=!!t?`(${t})`:"";this.message=`Expected "${e}" to have Regex Matches${r}`}}t.NoRegexMatchError=NoRegexMatchError;class KnownVersionIncompatibilityError extends Error{constructor(e,t,r,n){super();this.dist=e;this.requested_version=t;this.available_versions=r;this.extra=n;const o=!!n?`\n${n}`:"";this.message=`Requested Version "${t}" is not available for "${e}"! Available Versions: "${r}"${o}`}}t.KnownVersionIncompatibilityError=KnownVersionIncompatibilityError;class StdoutInstanceError extends Error{constructor(e){super(e)}}t.StdoutInstanceError=StdoutInstanceError},8278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseOS=t.parseLSB=t.getOS=t.isLinuxOS=void 0;const n=r(4351);const o=r(2037);const s=(0,n.__importDefault)(r(8237));const i=r(1978);const a=(0,s.default)("MongoMS:getos");const A={name:/^(?:distributor id:|DISTRIB_ID=)\s*(.*)$/im,codename:/^(?:codename:|DISTRIB_CODENAME=)\s*(.*)$/im,release:/^(?:release:|DISTRIB_RELEASE=)\s*(.*)$/im};const c={name:/^id\s*=\s*"?(\w*)"?$/im,codename:/^version_codename\s*=\s*(.*)$/im,release:/^version_id\s*=\s*"?(\d*(?:\.\d*)?)"?$/im,id_like:/^id_like\s*=\s*"?([\w\s]*)"?$/im};function isLinuxOS(e){return e.os==="linux"}t.isLinuxOS=isLinuxOS;let l;function getOS(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){if(!l){const e=(0,o.platform)();if(e==="linux"){l=yield getLinuxInformation()}else{l={os:e}}}return l}))}t.getOS=getOS;function getLinuxInformation(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){const e=yield(0,i.tryReleaseFile)("/etc/upstream-release/lsb-release",parseLSB);if(!(0,i.isNullOrUndefined)(e)){a("getLinuxInformation: Using UpstreamLSB");return e}const t=yield(0,i.tryReleaseFile)("/etc/os-release",parseOS);if(!(0,i.isNullOrUndefined)(t)){a("getLinuxInformation: Using etcOsRelease");return t}const r=yield(0,i.tryReleaseFile)("/usr/lib/os-release",parseOS);if(!(0,i.isNullOrUndefined)(r)){a("getLinuxInformation: Using usrOsRelease");return r}const n=yield(0,i.tryReleaseFile)("/etc/lsb-release",parseLSB);if(!(0,i.isNullOrUndefined)(n)){a("getLinuxInformation: Using etcLSBRelease");return n}console.warn("Could not find any Release File, using fallback binary");return{os:"linux",dist:"unknown",release:""}}))}function parseLSB(e){var t,r,n,o,s;return{os:"linux",dist:(r=(t=e.match(A.name))===null||t===void 0?void 0:t[1].toLocaleLowerCase())!==null&&r!==void 0?r:"unknown",codename:(n=e.match(A.codename))===null||n===void 0?void 0:n[1].toLocaleLowerCase(),release:(s=(o=e.match(A.release))===null||o===void 0?void 0:o[1].toLocaleLowerCase())!==null&&s!==void 0?s:""}}t.parseLSB=parseLSB;function parseOS(e){var t,r,n,o,s,i;return{os:"linux",dist:(r=(t=e.match(c.name))===null||t===void 0?void 0:t[1].toLocaleLowerCase())!==null&&r!==void 0?r:"unknown",codename:(n=e.match(c.codename))===null||n===void 0?void 0:n[1].toLocaleLowerCase(),release:(s=(o=e.match(c.release))===null||o===void 0?void 0:o[1].toLocaleLowerCase())!==null&&s!==void 0?s:"",id_like:(i=e.match(c.id_like))===null||i===void 0?void 0:i[1].toLocaleLowerCase().split(" ")}}t.parseOS=parseOS},4908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LockFile=t.LockFileEvents=t.LockFileStatus=void 0;const n=r(4351);const o=r(2361);const s=(0,n.__importStar)(r(1978));const i=(0,n.__importDefault)(r(8237));const a=(0,n.__importStar)(r(1017));const A=r(7147);const c=r(4038);const l=r(5840);const u=r(3386);const h=(0,i.default)("MongoMS:LockFile");class RepeatError extends Error{constructor(e){super();this.repeat=e}}var d;(function(e){e[e["available"]=0]="available";e[e["availableInstance"]=1]="availableInstance";e[e["lockedSelf"]=2]="lockedSelf";e[e["lockedDifferent"]=3]="lockedDifferent"})(d=t.LockFileStatus||(t.LockFileStatus={}));var g;(function(e){e["lock"]="lock";e["unlock"]="unlock"})(g=t.LockFileEvents||(t.LockFileEvents={}));class LockFileEventsClass extends o.EventEmitter{}class LockFile{constructor(e,t){this.file=e;this.uuid=t}static lock(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){yield s.ensureAsync();h(`lock: Locking file "${e}"`);const t=a.resolve(e.trim());s.assertion(t.length>0,new Error("Provided Path for lock file is length of 0"));const r=yield this.checkLock(t);switch(r){case d.lockedDifferent:case d.lockedSelf:return this.waitForLock(t);case d.available:return this.createLock(t);default:throw new u.UnknownLockfileStatusError(r)}}))}static checkLock(e,t){return(0,n.__awaiter)(this,void 0,void 0,(function*(){h(`checkLock: for file "${e}" with uuid: "${t}"`);if(!(yield s.pathExists(e))){return d.available}try{const r=(yield A.promises.readFile(e)).toString().trim().split(" ");const n=parseInt(r[0]);if(n===process.pid){h(`checkLock: Lock File Already exists, and is for *this* process, with uuid: "${r[1]}"`);if(!this.files.has(e)){return d.available}if(!s.isNullOrUndefined(t)){return t===r[1]?d.availableInstance:d.lockedSelf}return d.lockedSelf}h(`checkLock: Lock File Aready exists, for a different process: "${n}"`);return s.isAlive(n)?d.lockedDifferent:d.available}catch(e){if(s.errorWithCode(e)&&e.code==="ENOENT"){h("checkLock: reading file failed with ENOENT");return d.available}throw e}}))}static waitForLock(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){h(`waitForLock: Starting to wait for file "${e}"`);let t=undefined;let r=undefined;yield new Promise((o=>{r=t=>{if(t===e){o()}};t=setInterval((()=>(0,n.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.checkLock(e);h(`waitForLock: Interval for file "${e}" with status "${t}"`);if(t===d.available){o()}}))),1e3*3);this.events.on(g.unlock,r)}));if(t){clearInterval(t)}if(r){this.events.removeListener(g.unlock,r)}h(`waitForLock: File became available "${e}"`);yield s.ensureAsync();const o=yield this.checkLock(e);h(`waitForLock: Lock File Status reassessment for file "${e}": ${o}`);switch(o){case d.lockedDifferent:case d.lockedSelf:return this.waitForLock(e);case d.available:return this.createLock(e);default:throw new u.UnknownLockfileStatusError(o)}}))}static createLock(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){h(`createLock: trying to create a lock file for "${e}"`);const t=(0,l.v4)();try{yield this.mutex.runExclusive((()=>(0,n.__awaiter)(this,void 0,void 0,(function*(){if(this.files.has(e)){h(`createLock: Map already has file "${e}"`);throw new RepeatError(true)}yield s.mkdir(a.dirname(e));yield A.promises.writeFile(e,`${process.pid.toString()} ${t}`);this.files.add(e);this.events.emit(g.lock,e)}))))}catch(t){if(t instanceof RepeatError&&t.repeat){return this.waitForLock(e)}}h(`createLock: Lock File Created for file "${e}"`);return new this(e,t)}))}unlock(){var e;return(0,n.__awaiter)(this,void 0,void 0,(function*(){yield s.ensureAsync();h(`unlock: Unlocking file "${this.file}"`);if(s.isNullOrUndefined(this.file)||((e=this.file)===null||e===void 0?void 0:e.length)<=0){h("unlock: invalid file, returning");return}switch(yield LockFile.checkLock(this.file,this.uuid)){case d.available:h(`unlock: Lock Status was already "available" for file "${this.file}"`);yield this.unlockCleanup(false);return;case d.availableInstance:h(`unlock: Lock Status was "availableInstance" for file "${this.file}"`);yield this.unlockCleanup(true);return;case d.lockedSelf:throw new u.UnableToUnlockLockfileError(true,this.file);default:throw new u.UnableToUnlockLockfileError(false,this.file)}}))}unlockCleanup(e=true){return(0,n.__awaiter)(this,void 0,void 0,(function*(){return yield LockFile.mutex.runExclusive((()=>(0,n.__awaiter)(this,void 0,void 0,(function*(){h(`unlockCleanup: for file "${this.file}"`);if(s.isNullOrUndefined(this.file)){return}if(e){yield A.promises.unlink(this.file).catch((e=>{h(`unlockCleanup: lock file unlink failed: "${e}"`)}))}LockFile.files.delete(this.file);LockFile.events.emit(g.unlock,this.file);this.file=undefined;this.uuid=undefined}))))}))}}t.LockFile=LockFile;LockFile.files=new Set;LockFile.events=new LockFileEventsClass;LockFile.mutex=new c.Mutex},8730:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.envToBool=t.envName=t.resolveConfig=t.processConfigOption=t.findPackageJson=t.setDefaultValue=t.defaultValues=t.DEFAULT_VERSION=t.ENV_CONFIG_PREFIX=t.ResolveConfigVariables=void 0;const n=r(4351);const o=(0,n.__importDefault)(r(1362));const s=r(1156);const i=(0,n.__importDefault)(r(8237));const a=(0,n.__importStar)(r(1017));const A=r(7147);const c=r(1978);const l=(0,i.default)("MongoMS:ResolveConfig");var u;(function(e){e["DOWNLOAD_DIR"]="DOWNLOAD_DIR";e["PLATFORM"]="PLATFORM";e["ARCH"]="ARCH";e["VERSION"]="VERSION";e["DEBUG"]="DEBUG";e["DOWNLOAD_MIRROR"]="DOWNLOAD_MIRROR";e["DOWNLOAD_URL"]="DOWNLOAD_URL";e["PREFER_GLOBAL_PATH"]="PREFER_GLOBAL_PATH";e["DISABLE_POSTINSTALL"]="DISABLE_POSTINSTALL";e["SYSTEM_BINARY"]="SYSTEM_BINARY";e["MD5_CHECK"]="MD5_CHECK";e["ARCHIVE_NAME"]="ARCHIVE_NAME";e["RUNTIME_DOWNLOAD"]="RUNTIME_DOWNLOAD";e["USE_HTTP"]="USE_HTTP";e["SYSTEM_BINARY_VERSION_CHECK"]="SYSTEM_BINARY_VERSION_CHECK";e["USE_ARCHIVE_NAME_FOR_BINARY_NAME"]="USE_ARCHIVE_NAME_FOR_BINARY_NAME"})(u=t.ResolveConfigVariables||(t.ResolveConfigVariables={}));t.ENV_CONFIG_PREFIX="MONGOMS_";t.DEFAULT_VERSION="5.0.8";t.defaultValues=new Map([[u.VERSION,t.DEFAULT_VERSION],[u.PREFER_GLOBAL_PATH,"true"],[u.RUNTIME_DOWNLOAD,"true"],[u.USE_HTTP,"false"],[u.SYSTEM_BINARY_VERSION_CHECK,"true"],[u.USE_ARCHIVE_NAME_FOR_BINARY_NAME,"false"]]);function setDefaultValue(e,r){t.defaultValues.set(e,r)}t.setDefaultValue=setDefaultValue;let h=undefined;function findPackageJson(e){var t;for(const r of(0,s.findSync)(e||process.cwd())){l(`findPackageJson: Found package.json at "${r}"`);const e=JSON.parse((0,A.readFileSync)(r).toString());const n=(t=e===null||e===void 0?void 0:e.config)===null||t===void 0?void 0:t.mongodbMemoryServer;if(!(0,c.isNullOrUndefined)(n)&&Object.keys(n!==null&&n!==void 0?n:{}).length>0){l(`findPackageJson: Found package with non-empty config field at "${r}"`);const e=a.dirname(r);h={filePath:e,config:processConfigOption(n,e)};break}}return h}t.findPackageJson=findPackageJson;function processConfigOption(e,t){l("processConfigOption",e,t);if(typeof e!=="object"){l("processConfigOptions: input was not a object");return{}}const r=e;const n=(0,o.default)(u.DOWNLOAD_DIR);const s=(0,o.default)(u.SYSTEM_BINARY);if(n in r){r[n]=a.resolve(t,r[n])}if(s in r){r[s]=a.resolve(t,r[s])}return r}t.processConfigOption=processConfigOption;function resolveConfig(e){var r,n,s;return(s=(n=(r=process.env[envName(e)])!==null&&r!==void 0?r:h===null||h===void 0?void 0:h.config[(0,o.default)(e)])!==null&&n!==void 0?n:t.defaultValues.get(e))===null||s===void 0?void 0:s.toString()}t.resolveConfig=resolveConfig;t["default"]=resolveConfig;function envName(e){return`${t.ENV_CONFIG_PREFIX}${e}`}t.envName=envName;function envToBool(e=""){if(typeof e!=="string"){l("envToBool: input was not a string!");return false}return["1","on","yes","true"].indexOf(e.toLowerCase())!==-1}t.envToBool=envToBool;if(envToBool(resolveConfig(u.DEBUG))){i.default.enable("MongoMS:*");l("Debug Mode Enabled, through Environment Variable")}findPackageJson();if(envToBool(resolveConfig(u.DEBUG))){i.default.enable("MongoMS:*");l("Debug Mode Enabled, through package.json")}},1978:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.mkdir=t.checkBinaryPermissions=t.ManagerAdvanced=t.ManagerBase=t.tryReleaseFile=t.pathExists=t.statPath=t.authDefault=t.ensureAsync=t.isAlive=t.killProcess=t.assertion=t.isNullOrUndefined=t.uriTemplate=t.getHost=t.generateDbName=t.errorWithCode=void 0;const n=r(4351);const o=(0,n.__importDefault)(r(8237));const s=r(7147);const i=r(3386);const a=(0,o.default)("MongoMS:utils");function errorWithCode(e){return e instanceof Error&&"code"in e}t.errorWithCode=errorWithCode;function generateDbName(e){return e||""}t.generateDbName=generateDbName;function getHost(e){return e.replace(/(?:^mongodb:\/{2})|(?:\/.*$)|(?:.*@)/gim,"")}t.getHost=getHost;function uriTemplate(e,t,r,n){const o=!isNullOrUndefined(t)?`${e}:${t}`:e;return`mongodb://${o}/${r}`+(!isNullOrUndefined(n)?`?${n.join("&")}`:"")}t.uriTemplate=uriTemplate;function isNullOrUndefined(e){return e===null||e===undefined}t.isNullOrUndefined=isNullOrUndefined;function assertion(e,t){if(!e){throw t!==null&&t!==void 0?t:new i.AssertionFallbackError}}t.assertion=assertion;function killProcess(e,t,r){return(0,n.__awaiter)(this,void 0,void 0,(function*(){function ilog(e){a(`Mongo[${r||"unknown"}] killProcess: ${e}`)}if(!isAlive(e.pid)){ilog("given childProcess's PID was not alive anymore");return}const n=1e3*10;yield new Promise(((r,s)=>{let i=setTimeout((()=>{ilog("killProcess: timeout triggered, trying SIGKILL");if(!o.default.enabled("MongoMS:utils")){console.warn('An Process didnt exit with signal "SIGINT" within 10 seconds, using "SIGKILL"!\n'+"Enable debug logs for more information")}e.kill("SIGKILL");i=setTimeout((()=>{ilog("killProcess: timeout triggered again, rejecting");s(new Error(`Process "${t}" didnt exit, enable debug for more information.`))}),n)}),n);e.once(`exit`,((e,n)=>{ilog(`killProcess: ${t}: got exit signal, Code: ${e}, Signal: ${n}`);clearTimeout(i);r()}));ilog(`killProcess: ${t}: sending "SIGINT"`);e.kill("SIGINT")}))}))}t.killProcess=killProcess;function isAlive(e){if(isNullOrUndefined(e)){return false}try{process.kill(e,0);return true}catch(e){return false}}t.isAlive=isAlive;function ensureAsync(){return(0,n.__awaiter)(this,void 0,void 0,(function*(){return new Promise((e=>process.nextTick(e)))}))}t.ensureAsync=ensureAsync;function authDefault(e){return Object.assign({force:false,disable:false,customRootName:"mongodb-memory-server-root",customRootPwd:"rootuser",extraUsers:[],keyfileContent:"0123456789"},e)}t.authDefault=authDefault;function statPath(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){return s.promises.stat(e).catch((e=>{if(["ENOENT","EACCES"].includes(e.code)){return undefined}throw e}))}))}t.statPath=statPath;function pathExists(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){return!isNullOrUndefined(yield statPath(e))}))}t.pathExists=pathExists;function tryReleaseFile(e,t){return(0,n.__awaiter)(this,void 0,void 0,(function*(){try{const r=yield s.promises.readFile(e);return t(r.toString())}catch(t){if(errorWithCode(t)&&!["ENOENT","EACCES"].includes(t.code)){throw t}a(`tryReleaseFile: "${e}" does not exist`);return undefined}}))}t.tryReleaseFile=tryReleaseFile;class ManagerBase{}t.ManagerBase=ManagerBase;class ManagerAdvanced extends ManagerBase{}t.ManagerAdvanced=ManagerAdvanced;function checkBinaryPermissions(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){try{yield s.promises.access(e,s.constants.X_OK)}catch(t){if(errorWithCode(t)){if(t.code==="EACCES"){throw new i.InsufficientPermissionsError(e)}if(t.code==="ENOENT"){throw new i.BinaryNotFoundError(e)}}throw t}}))}t.checkBinaryPermissions=checkBinaryPermissions;function mkdir(e){return(0,n.__awaiter)(this,void 0,void 0,(function*(){yield s.promises.mkdir(e,{recursive:true})}))}t.mkdir=mkdir},5517:(e,t,r)=>{"use strict";const n=r(3994);const o=r(2138);const s=r(1545).connect;s.MongoError=n.MongoError;s.MongoNetworkError=n.MongoNetworkError;s.MongoTimeoutError=n.MongoTimeoutError;s.MongoServerSelectionError=n.MongoServerSelectionError;s.MongoParseError=n.MongoParseError;s.MongoWriteConcernError=n.MongoWriteConcernError;s.MongoBulkWriteError=r(4239).BulkWriteError;s.BulkWriteError=s.MongoBulkWriteError;s.ServerApiVersion=n.ServerApiVersion;s.Admin=r(3238);s.MongoClient=r(1545);s.Db=r(6662);s.Collection=r(5193);s.Server=r(8421);s.ReplSet=r(382);s.Mongos=r(2048);s.ReadPreference=n.ReadPreference;s.GridStore=r(9406);s.Chunk=r(3890);s.Logger=n.Logger;s.AggregationCursor=r(7429);s.CommandCursor=r(538);s.Cursor=r(7159);s.GridFSBucket=r(2573);s.CoreServer=n.Server;s.CoreConnection=n.Connection;s.Binary=n.BSON.Binary;s.Code=n.BSON.Code;s.Map=n.BSON.Map;s.DBRef=n.BSON.DBRef;s.Double=n.BSON.Double;s.Int32=n.BSON.Int32;s.Long=n.BSON.Long;s.MinKey=n.BSON.MinKey;s.MaxKey=n.BSON.MaxKey;s.ObjectID=n.BSON.ObjectID;s.ObjectId=n.BSON.ObjectID;s.Symbol=n.BSON.Symbol;s.Timestamp=n.BSON.Timestamp;s.BSONRegExp=n.BSON.BSONRegExp;s.Decimal128=n.BSON.Decimal128;s.connect=s;s.instrument=function(e,t){if(typeof e==="function"){t=e;e={}}const r=new o;r.instrument(s.MongoClient,t);return r};e.exports=s},3238:(e,t,r)=>{"use strict";const n=r(1371).applyWriteConcern;const o=r(7057);const s=r(1681);const i=r(1969);const a=r(9263);const A=r(9929);const c=r(2548);function Admin(e,t,r){if(!(this instanceof Admin))return new Admin(e,t);this.s={db:e,topology:t,promiseLibrary:r}}Admin.prototype.command=function(e,t,r){const n=Array.prototype.slice.call(arguments,1);r=typeof n[n.length-1]==="function"?n.pop():undefined;t=n.length?n.shift():{};const o=new s(this.s.db,e,t);return c(this.s.db.s.topology,o,r)};Admin.prototype.buildInfo=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r={buildinfo:1};const n=new s(this.s.db,r,e);return c(this.s.db.s.topology,n,t)};Admin.prototype.serverInfo=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r={buildinfo:1};const n=new s(this.s.db,r,e);return c(this.s.db.s.topology,n,t)};Admin.prototype.serverStatus=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new s(this.s.db,{serverStatus:1},e);return c(this.s.db.s.topology,r,t)};Admin.prototype.ping=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r={ping:1};const n=new s(this.s.db,r,e);return c(this.s.db.s.topology,n,t)};Admin.prototype.addUser=function(e,t,r,s){const i=Array.prototype.slice.call(arguments,2);s=typeof i[i.length-1]==="function"?i.pop():undefined;if(typeof e==="string"&&t!=null&&typeof t==="object"){r=t;t=null}r=i.length?i.shift():{};r=Object.assign({},r);r=n(r,{db:this.s.db});r.dbName="admin";const a=new o(this.s.db,e,t,r);return c(this.s.db.s.topology,a,s)};Admin.prototype.removeUser=function(e,t,r){const o=Array.prototype.slice.call(arguments,1);r=typeof o[o.length-1]==="function"?o.pop():undefined;t=o.length?o.shift():{};t=Object.assign({},t);t=n(t,{db:this.s.db});t.dbName="admin";const s=new i(this.s.db,e,t);return c(this.s.db.s.topology,s,r)};Admin.prototype.validateCollection=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new a(this,e,t);return c(this.s.db.s.topology,n,r)};Admin.prototype.listDatabases=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};return c(this.s.db.s.topology,new A(this.s.db,e),t)};Admin.prototype.replSetGetStatus=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new s(this.s.db,{replSetGetStatus:1},e);return c(this.s.db.s.topology,r,t)};e.exports=Admin},7429:(e,t,r)=>{"use strict";const n=r(3994).MongoError;const o=r(7159);const s=r(4847).CursorState;class AggregationCursor extends o{constructor(e,t,r){super(e,t,r)}batchSize(e){if(this.s.state===s.CLOSED||this.isDead()){throw n.create({message:"Cursor is closed",driver:true})}if(typeof e!=="number"){throw n.create({message:"batchSize requires an integer",driver:true})}this.operation.options.batchSize=e;this.setCursorBatchSize(e);return this}geoNear(e){this.operation.addToPipeline({$geoNear:e});return this}group(e){this.operation.addToPipeline({$group:e});return this}limit(e){this.operation.addToPipeline({$limit:e});return this}match(e){this.operation.addToPipeline({$match:e});return this}maxTimeMS(e){this.operation.options.maxTimeMS=e;return this}out(e){this.operation.addToPipeline({$out:e});return this}project(e){this.operation.addToPipeline({$project:e});return this}lookup(e){this.operation.addToPipeline({$lookup:e});return this}redact(e){this.operation.addToPipeline({$redact:e});return this}skip(e){this.operation.addToPipeline({$skip:e});return this}sort(e){this.operation.addToPipeline({$sort:e});return this}unwind(e){this.operation.addToPipeline({$unwind:e});return this}getLogger(){return this.logger}}AggregationCursor.prototype.get=AggregationCursor.prototype.toArray;e.exports=AggregationCursor},2138:(e,t,r)=>{"use strict";const n=r(2361).EventEmitter;class Instrumentation extends n{constructor(){super()}instrument(e,t){this.$MongoClient=e;const r=this.$prototypeConnect=e.prototype.connect;const n=this;e.prototype.connect=function(e){this.s.options.monitorCommands=true;this.on("commandStarted",(e=>n.emit("started",e)));this.on("commandSucceeded",(e=>n.emit("succeeded",e)));this.on("commandFailed",(e=>n.emit("failed",e)));return r.call(this,e)};if(typeof t==="function")t(null,this)}uninstrument(){this.$MongoClient.prototype.connect=this.$prototypeConnect}}e.exports=Instrumentation},1749:(e,t)=>{"use strict";function asyncIterator(){const e=this;return{next:function(){return Promise.resolve().then((()=>e.next())).then((t=>{if(!t){return e.close().then((()=>({value:t,done:true})))}return{value:t,done:false}}))}}}t.asyncIterator=asyncIterator},4239:(e,t,r)=>{"use strict";const n=r(3994).BSON.Long;const o=r(3994).MongoError;const s=r(3994).BSON.ObjectID;const i=r(3994).BSON;const a=r(3994).MongoWriteConcernError;const A=r(1371).emitWarningOnce;const c=r(1371).toError;const l=r(1371).handleCallback;const u=r(1371).applyRetryableWrites;const h=r(1371).applyWriteConcern;const d=r(1371).executeLegacyOperation;const g=r(1371).isPromiseLike;const p=r(1371).hasAtomicOperators;const E=r(1178).maxWireVersion;const m=64;const C=1;const I=2;const y=3;const B=new i([i.Binary,i.Code,i.DBRef,i.Decimal128,i.Double,i.Int32,i.Long,i.Map,i.MaxKey,i.MinKey,i.ObjectId,i.BSONRegExp,i.Symbol,i.Timestamp]);class Batch{constructor(e,t){this.originalZeroIndex=t;this.currentIndex=0;this.originalIndexes=[];this.batchType=e;this.operations=[];this.size=0;this.sizeBytes=0}}const Q=Symbol("upsertedIds");const b=Symbol("insertedIds");class BulkWriteResult{constructor(e){this.result=e;this[Q]=undefined;this[b]=undefined}get insertedCount(){return typeof this.result.nInserted!=="number"?0:this.result.nInserted}get matchedCount(){return typeof this.result.nMatched!=="number"?0:this.result.nMatched}get modifiedCount(){return typeof this.result.nModified!=="number"?0:this.result.nModified}get deletedCount(){return typeof this.result.nRemoved!=="number"?0:this.result.nRemoved}get upsertedCount(){return!this.result.upserted?0:this.result.upserted.length}get upsertedIds(){if(this[Q]){return this[Q]}this[Q]={};for(const e of this.result.upserted||[]){this[Q][e.index]=e._id}return this[Q]}get insertedIds(){if(this[b]){return this[b]}this[b]={};for(const e of this.result.insertedIds||[]){this[b][e.index]=e._id}return this[b]}get n(){return this.result.insertedCount}get ok(){return this.result.ok}get nInserted(){return this.result.nInserted}get nUpserted(){return this.result.nUpserted}get nMatched(){return this.result.nMatched}get nModified(){return this.result.nModified}get nRemoved(){return this.result.nRemoved}getInsertedIds(){return this.result.insertedIds}getUpsertedIds(){return this.result.upserted}getUpsertedIdAt(e){return this.result.upserted[e]}getRawResponse(){return this.result}hasWriteErrors(){return this.result.writeErrors.length>0}getWriteErrorCount(){return this.result.writeErrors.length}getWriteErrorAt(e){if(ee.multi))}if(e.batch.batchType===y){r.retryWrites=r.retryWrites&&!e.batch.operations.some((e=>e.limit===0))}}try{if(e.batch.batchType===C){this.s.topology.insert(this.s.namespace,e.batch.operations,r,e.resultHandler)}else if(e.batch.batchType===I){this.s.topology.update(this.s.namespace,e.batch.operations,r,e.resultHandler)}else if(e.batch.batchType===y){this.s.topology.remove(this.s.namespace,e.batch.operations,r,e.resultHandler)}}catch(r){r.ok=0;l(t,null,mergeBatchResults(e.batch,this.s.bulkResult,r,null))}}handleWriteError(e,t){if(this.s.bulkResult.writeErrors.length>0){const r=this.s.bulkResult.writeErrors[0].errmsg?this.s.bulkResult.writeErrors[0].errmsg:"write operation failed";l(e,new BulkWriteError(c({message:r,code:this.s.bulkResult.writeErrors[0].code,writeErrors:this.s.bulkResult.writeErrors}),t),null);return true}if(t.getWriteConcernError()){l(e,new BulkWriteError(c(t.getWriteConcernError()),t),null);return true}}}Object.defineProperty(BulkOperationBase.prototype,"length",{enumerable:true,get:function(){return this.s.currentIndex}});e.exports={Batch:Batch,BulkOperationBase:BulkOperationBase,mergeBatchResults:mergeBatchResults,bson:B,INSERT:C,UPDATE:I,REMOVE:y,BulkWriteError:BulkWriteError,BulkWriteResult:BulkWriteResult}},5035:(e,t,r)=>{"use strict";const n=r(4239);const o=n.BulkOperationBase;const s=n.Batch;const i=n.bson;const a=r(1371);const A=a.toError;function addToOperationsList(e,t,r){const o=i.calculateObjectSize(r,{checkKeys:false,ignoreUndefined:false});if(o>=e.s.maxBsonObjectSize)throw A("document is larger than the maximum size "+e.s.maxBsonObjectSize);if(e.s.currentBatch==null)e.s.currentBatch=new s(t,e.s.currentIndex);const a=e.s.maxKeySize;if(e.s.currentBatchSize+1>=e.s.maxWriteBatchSize||e.s.currentBatchSize>0&&e.s.currentBatchSizeBytes+a+o>=e.s.maxBatchSizeBytes||e.s.currentBatch.batchType!==t){e.s.batches.push(e.s.currentBatch);e.s.currentBatch=new s(t,e.s.currentIndex);e.s.currentBatchSize=0;e.s.currentBatchSizeBytes=0}if(t===n.INSERT){e.s.bulkResult.insertedIds.push({index:e.s.currentIndex,_id:r._id})}if(Array.isArray(r)){throw A("operation passed in cannot be an Array")}e.s.currentBatch.originalIndexes.push(e.s.currentIndex);e.s.currentBatch.operations.push(r);e.s.currentBatchSize+=1;e.s.currentBatchSizeBytes+=a+o;e.s.currentIndex+=1;return e}class OrderedBulkOperation extends o{constructor(e,t,r){r=r||{};r=Object.assign(r,{addToOperationsList:addToOperationsList});super(e,t,r,true)}}function initializeOrderedBulkOp(e,t,r){return new OrderedBulkOperation(e,t,r)}initializeOrderedBulkOp.OrderedBulkOperation=OrderedBulkOperation;e.exports=initializeOrderedBulkOp;e.exports.Bulk=OrderedBulkOperation},325:(e,t,r)=>{"use strict";const n=r(4239);const o=n.BulkOperationBase;const s=n.Batch;const i=n.bson;const a=r(1371);const A=a.toError;function addToOperationsList(e,t,r){const o=i.calculateObjectSize(r,{checkKeys:false,ignoreUndefined:false});if(o>=e.s.maxBsonObjectSize)throw A("document is larger than the maximum size "+e.s.maxBsonObjectSize);e.s.currentBatch=null;if(t===n.INSERT){e.s.currentBatch=e.s.currentInsertBatch}else if(t===n.UPDATE){e.s.currentBatch=e.s.currentUpdateBatch}else if(t===n.REMOVE){e.s.currentBatch=e.s.currentRemoveBatch}const a=e.s.maxKeySize;if(e.s.currentBatch==null)e.s.currentBatch=new s(t,e.s.currentIndex);if(e.s.currentBatch.size+1>=e.s.maxWriteBatchSize||e.s.currentBatch.size>0&&e.s.currentBatch.sizeBytes+a+o>=e.s.maxBatchSizeBytes||e.s.currentBatch.batchType!==t){e.s.batches.push(e.s.currentBatch);e.s.currentBatch=new s(t,e.s.currentIndex)}if(Array.isArray(r)){throw A("operation passed in cannot be an Array")}e.s.currentBatch.operations.push(r);e.s.currentBatch.originalIndexes.push(e.s.currentIndex);e.s.currentIndex=e.s.currentIndex+1;if(t===n.INSERT){e.s.currentInsertBatch=e.s.currentBatch;e.s.bulkResult.insertedIds.push({index:e.s.bulkResult.insertedIds.length,_id:r._id})}else if(t===n.UPDATE){e.s.currentUpdateBatch=e.s.currentBatch}else if(t===n.REMOVE){e.s.currentRemoveBatch=e.s.currentBatch}e.s.currentBatch.size+=1;e.s.currentBatch.sizeBytes+=a+o;return e}class UnorderedBulkOperation extends o{constructor(e,t,r){r=r||{};r=Object.assign(r,{addToOperationsList:addToOperationsList});super(e,t,r,false)}handleWriteError(e,t){if(this.s.batches.length){return false}return super.handleWriteError(e,t)}}function initializeUnorderedBulkOp(e,t,r){return new UnorderedBulkOperation(e,t,r)}initializeUnorderedBulkOp.UnorderedBulkOperation=UnorderedBulkOperation;e.exports=initializeUnorderedBulkOp;e.exports.Bulk=UnorderedBulkOperation},1117:(e,t,r)=>{"use strict";const n=r(2342);const o=r(2361);const s=r(9386).isResumableError;const i=r(3994).MongoError;const a=r(7159);const A=r(1178).relayEvents;const c=r(1178).maxWireVersion;const l=r(1371).maybePromise;const u=r(1371).now;const h=r(1371).calculateDurationInMs;const d=r(1554);const g=Symbol("resumeQueue");const p=["resumeAfter","startAfter","startAtOperationTime","fullDocument"];const E=["batchSize","maxAwaitTimeMS","collation","readPreference"].concat(p);const m={COLLECTION:Symbol("Collection"),DATABASE:Symbol("Database"),CLUSTER:Symbol("Cluster")};class ChangeStream extends o{constructor(e,t,o){super();const s=r(5193);const i=r(6662);const a=r(1545);this.pipeline=t||[];this.options=o||{};this.parent=e;this.namespace=e.s.namespace;if(e instanceof s){this.type=m.COLLECTION;this.topology=e.s.db.serverConfig}else if(e instanceof i){this.type=m.DATABASE;this.topology=e.serverConfig}else if(e instanceof a){this.type=m.CLUSTER;this.topology=e.topology}else{throw new TypeError("parent provided to ChangeStream constructor is not an instance of Collection, Db, or MongoClient")}this.promiseLibrary=e.s.promiseLibrary;if(!this.options.readPreference&&e.s.readPreference){this.options.readPreference=e.s.readPreference}this[g]=new n;this.cursor=createChangeStreamCursor(this,o);this.closed=false;this.on("newListener",(e=>{if(e==="change"&&this.cursor&&this.listenerCount("change")===0){this.cursor.on("data",(e=>processNewChange(this,e)))}}));this.on("removeListener",(e=>{if(e==="change"&&this.listenerCount("change")===0&&this.cursor){this.cursor.removeAllListeners("data")}}))}get resumeToken(){return this.cursor.resumeToken}hasNext(e){return l(this.parent,e,(e=>{getCursor(this,((t,r)=>{if(t)return e(t);r.hasNext(e)}))}))}next(e){return l(this.parent,e,(e=>{getCursor(this,((t,r)=>{if(t)return e(t);r.next(((t,r)=>{if(t){this[g].push((()=>this.next(e)));processError(this,t,e);return}processNewChange(this,r,e)}))}))}))}isClosed(){return this.closed||this.cursor&&this.cursor.isClosed()}close(e){return l(this.parent,e,(e=>{if(this.closed)return e();this.closed=true;if(!this.cursor)return e();const t=this.cursor;return t.close((r=>{["data","close","end","error"].forEach((e=>t.removeAllListeners(e)));this.cursor=undefined;return e(r)}))}))}pipe(e,t){if(!this.pipeDestinations){this.pipeDestinations=[]}this.pipeDestinations.push(e);return this.cursor.pipe(e,t)}unpipe(e){if(this.pipeDestinations&&this.pipeDestinations.indexOf(e)>-1){this.pipeDestinations.splice(this.pipeDestinations.indexOf(e),1)}return this.cursor.unpipe(e)}stream(e){this.streamOptions=e;return this.cursor.stream(e)}pause(){return this.cursor.pause()}resume(){return this.cursor.resume()}}class ChangeStreamCursor extends a{constructor(e,t,r){super(e,t,r);r=r||{};this._resumeToken=null;this.startAtOperationTime=r.startAtOperationTime;if(r.startAfter){this.resumeToken=r.startAfter}else if(r.resumeAfter){this.resumeToken=r.resumeAfter}}set resumeToken(e){this._resumeToken=e;this.emit("resumeTokenChanged",e)}get resumeToken(){return this._resumeToken}get resumeOptions(){const e={};for(const t of E){if(this.options[t])e[t]=this.options[t]}if(this.resumeToken||this.startAtOperationTime){["resumeAfter","startAfter","startAtOperationTime"].forEach((t=>delete e[t]));if(this.resumeToken){const t=this.options.startAfter&&!this.hasReceived?"startAfter":"resumeAfter";e[t]=this.resumeToken}else if(this.startAtOperationTime&&c(this.server)>=7){e.startAtOperationTime=this.startAtOperationTime}}return e}cacheResumeToken(e){if(this.bufferedCount()===0&&this.cursorState.postBatchResumeToken){this.resumeToken=this.cursorState.postBatchResumeToken}else{this.resumeToken=e}this.hasReceived=true}_processBatch(e,t){const r=t.cursor;if(r.postBatchResumeToken){this.cursorState.postBatchResumeToken=r.postBatchResumeToken;if(r[e].length===0){this.resumeToken=r.postBatchResumeToken}}}_initializeCursor(e){super._initializeCursor(((t,r)=>{if(t||r==null){e(t,r);return}const n=r.documents[0];if(this.startAtOperationTime==null&&this.resumeAfter==null&&this.startAfter==null&&c(this.server)>=7){this.startAtOperationTime=n.operationTime}this._processBatch("firstBatch",n);this.emit("init",r);this.emit("response");e(t,r)}))}_getMore(e){super._getMore(((t,r)=>{if(t){e(t);return}this._processBatch("nextBatch",r);this.emit("more",r);this.emit("response");e(t,r)}))}}function createChangeStreamCursor(e,t){const r={fullDocument:t.fullDocument||"default"};applyKnownOptions(r,t,p);if(e.type===m.CLUSTER){r.allChangesForCluster=true}const n=[{$changeStream:r}].concat(e.pipeline);const o=applyKnownOptions({},t,E);const s=new ChangeStreamCursor(e.topology,new d(e.parent,n,t),o);A(s,e,["resumeTokenChanged","end","close"]);if(e.listenerCount("change")>0){s.on("data",(function(t){processNewChange(e,t)}))}s.on("error",(function(t){processError(e,t)}));if(e.pipeDestinations){const t=s.stream(e.streamOptions);for(let r of e.pipeDestinations){t.pipe(r)}}return s}function applyKnownOptions(e,t,r){r.forEach((r=>{if(t[r]){e[r]=t[r]}}));return e}const C=3e4;function waitForTopologyConnected(e,t,r){setTimeout((()=>{if(t&&t.start==null){t.start=u()}const n=t.start||u();const o=t.timeout||C;const s=t.readPreference;if(e.isConnected({readPreference:s})){return r()}if(h(n)>o){return r(new i("Timed out waiting for connection"))}waitForTopologyConnected(e,t,r)}),500)}function processNewChange(e,t,r){const n=e.cursor;if(t==null){e.closed=true}if(e.closed){if(r)r(new i("ChangeStream is closed"));return}if(t&&!t._id){const t=new Error("A change stream document has been received that lacks a resume token (_id).");if(!r)return e.emit("error",t);return r(t)}n.cacheResumeToken(t._id);e.options.startAtOperationTime=undefined;if(!r)return e.emit("change",t);return r(undefined,t)}function processError(e,t,r){const n=e.topology;const o=e.cursor;if(e.closed){if(r)r(new i("ChangeStream is closed"));return}function resumeWithCursor(t){e.cursor=t;processResumeQueue(e)}function unresumableError(t){if(!r){e.emit("error",t);e.emit("close")}processResumeQueue(e,t);e.closed=true}if(o&&s(t,c(o.server))){e.cursor=undefined;["data","close","end","error"].forEach((e=>o.removeAllListeners(e)));o.close();waitForTopologyConnected(n,{readPreference:o.options.readPreference},(t=>{if(t)return unresumableError(t);const n=createChangeStreamCursor(e,o.resumeOptions);if(!r)return resumeWithCursor(n);n.hasNext((e=>{if(e)return unresumableError(e);resumeWithCursor(n)}))}));return}if(!r)return e.emit("error",t);return r(t)}function getCursor(e,t){if(e.isClosed()){t(new i("ChangeStream is closed."));return}if(e.cursor){t(undefined,e.cursor);return}e[g].push(t)}function processResumeQueue(e,t){while(e[g].length){const r=e[g].pop();if(e.isClosed()&&!t){r(new i("Change Stream is not open."));return}r(t,e.cursor)}}e.exports=ChangeStream},9820:(e,t,r)=>{"use strict";const n=r(2361);const o=r(2425);const s=r(3111).MongoError;const i=r(3111).MongoNetworkError;const a=r(3111).MongoNetworkTimeoutError;const A=r(3111).MongoWriteConcernError;const c=r(2337);const l=r(6292).StreamDescription;const u=r(9206);const h=r(9815);const d=r(5474).updateSessionFromResponse;const g=r(1178).uuidV4;const p=r(1371).now;const E=r(1371).calculateDurationInMs;const m=Symbol("stream");const C=Symbol("queue");const I=Symbol("messageStream");const y=Symbol("generation");const B=Symbol("lastUseTime");const Q=Symbol("clusterTime");const b=Symbol("description");const w=Symbol("ismaster");const S=Symbol("autoEncrypter");class Connection extends n{constructor(e,t){super(t);this.id=t.id;this.address=streamIdentifier(e);this.bson=t.bson;this.socketTimeout=typeof t.socketTimeout==="number"?t.socketTimeout:0;this.host=t.host||"localhost";this.port=t.port||27017;this.monitorCommands=typeof t.monitorCommands==="boolean"?t.monitorCommands:false;this.serverApi=t.serverApi;this.closed=false;this.destroyed=false;this[b]=new l(this.address,t);this[y]=t.generation;this[B]=p();if(t.autoEncrypter){this[S]=t.autoEncrypter}this[C]=new Map;this[I]=new o(t);this[I].on("message",messageHandler(this));this[m]=e;e.on("error",(()=>{}));this[I].on("error",(e=>this.handleIssue({destroy:e})));e.on("close",(()=>this.handleIssue({isClose:true})));e.on("timeout",(()=>this.handleIssue({isTimeout:true,destroy:true})));e.pipe(this[I]);this[I].pipe(e)}get description(){return this[b]}get ismaster(){return this[w]}set ismaster(e){this[b].receiveResponse(e);this[w]=e}get generation(){return this[y]||0}get idleTime(){return E(this[B])}get clusterTime(){return this[Q]}get stream(){return this[m]}markAvailable(){this[B]=p()}handleIssue(e){if(this.closed){return}if(e.destroy){this[m].destroy(typeof e.destroy==="boolean"?undefined:e.destroy)}this.closed=true;for(const t of this[C]){const r=t[1];if(e.isTimeout){r.cb(new a(`connection ${this.id} to ${this.address} timed out`,{beforeHandshake:this.ismaster==null}))}else if(e.isClose){r.cb(new i(`connection ${this.id} to ${this.address} closed`))}else{r.cb(typeof e.destroy==="boolean"?undefined:e.destroy)}}this[C].clear();this.emit("close")}destroy(e,t){if(typeof e==="function"){t=e;e={}}e=Object.assign({force:false},e);if(this[m]==null||this.destroyed){this.destroyed=true;if(typeof t==="function"){t()}return}if(e.force){this[m].destroy();this.destroyed=true;if(typeof t==="function"){t()}return}this[m].end((e=>{this.destroyed=true;if(typeof t==="function"){t(e)}}))}applyApiVersion(e){if(this.serverApi){e.serverApi=this.serverApi}return e}command(e,t,r,n){if(typeof r==="function"){n=r;r={}}u.command(makeServerTrampoline(this),e,t,this.applyApiVersion(r),n)}query(e,t,r,n,o){u.query(makeServerTrampoline(this),e,t,r,this.applyApiVersion(n),o)}getMore(e,t,r,n,o){u.getMore(makeServerTrampoline(this),e,t,r,this.applyApiVersion(n),o)}killCursors(e,t,r){u.killCursors(makeServerTrampoline(this),e,t,this.applyApiVersion({}),r)}insert(e,t,r,n){u.insert(makeServerTrampoline(this),e,t,this.applyApiVersion(r),n)}update(e,t,r,n){u.update(makeServerTrampoline(this),e,t,this.applyApiVersion(r),n)}remove(e,t,r,n){u.remove(makeServerTrampoline(this),e,t,this.applyApiVersion(r),n)}}function makeServerTrampoline(e){const t={description:e.description,clusterTime:e[Q],s:{bson:e.bson,pool:{write:write.bind(e),isConnected:()=>true}}};if(e[S]){t.autoEncrypter=e[S]}return t}function messageHandler(e){return function messageHandler(t){e.emit("message",t);if(!e[C].has(t.responseTo)){return}const r=e[C].get(t.responseTo);const n=r.cb;e[C].delete(t.responseTo);if(t.moreToCome){e[C].set(t.requestId,r)}else if(r.socketTimeoutOverride){e[m].setTimeout(e.socketTimeout)}try{t.parse(r)}catch(e){n(new s(e));return}if(t.documents[0]){const o=t.documents[0];const i=r.session;if(i){d(i,o)}if(o.$clusterTime){e[Q]=o.$clusterTime;e.emit("clusterTimeReceived",o.$clusterTime)}if(r.command){if(o.writeConcernError){n(new A(o.writeConcernError,o));return}if(o.ok===0||o.$err||o.errmsg||o.code){n(new s(o));return}}}n(undefined,new c(r.fullResult?t:t.documents[0],e,t))}}function streamIdentifier(e){if(typeof e.address==="function"){return`${e.remoteAddress}:${e.remotePort}`}return g().toString("hex")}function write(e,t,r){if(typeof t==="function"){r=t}t=t||{};const n={requestId:e.requestId,cb:r,session:t.session,fullResult:typeof t.fullResult==="boolean"?t.fullResult:false,noResponse:typeof t.noResponse==="boolean"?t.noResponse:false,documentsReturnedIn:t.documentsReturnedIn,command:!!t.command,promoteLongs:typeof t.promoteLongs==="boolean"?t.promoteLongs:true,promoteValues:typeof t.promoteValues==="boolean"?t.promoteValues:true,promoteBuffers:typeof t.promoteBuffers==="boolean"?t.promoteBuffers:false,bsonRegExp:typeof t.bsonRegExp==="boolean"?t.bsonRegExp:false,raw:typeof t.raw==="boolean"?t.raw:false};if(this[b]&&this[b].compressor){n.agreedCompressor=this[b].compressor;if(this[b].zlibCompressionLevel){n.zlibCompressionLevel=this[b].zlibCompressionLevel}}if(typeof t.socketTimeout==="number"){n.socketTimeoutOverride=true;this[m].setTimeout(t.socketTimeout)}if(this.monitorCommands){this.emit("commandStarted",new h.CommandStartedEvent(this,e));n.started=p();n.cb=(t,o)=>{if(t){this.emit("commandFailed",new h.CommandFailedEvent(this,e,t,n.started))}else{if(o&&o.result&&(o.result.ok===0||o.result.$err)){this.emit("commandFailed",new h.CommandFailedEvent(this,e,o.result,n.started))}else{this.emit("commandSucceeded",new h.CommandSucceededEvent(this,e,o,n.started))}}if(typeof r==="function"){r(t,o)}}}if(!n.noResponse){this[C].set(n.requestId,n)}try{this[I].writeCommand(e,n)}catch(e){if(!n.noResponse){this[C].delete(n.requestId);n.cb(e);return}}if(n.noResponse){n.cb()}}e.exports={Connection:Connection}},2529:(e,t,r)=>{"use strict";const n=r(2342);const o=r(2361).EventEmitter;const s=r(104);const i=r(1371).makeCounter;const a=r(3111).MongoError;const A=r(9820).Connection;const c=r(1178).eachAsync;const l=r(6573);const u=r(1178).relayEvents;const h=r(2926);const d=h.PoolClosedError;const g=h.WaitQueueTimeoutError;const p=r(897);const E=p.ConnectionPoolCreatedEvent;const m=p.ConnectionPoolClosedEvent;const C=p.ConnectionCreatedEvent;const I=p.ConnectionReadyEvent;const y=p.ConnectionClosedEvent;const B=p.ConnectionCheckOutStartedEvent;const Q=p.ConnectionCheckOutFailedEvent;const b=p.ConnectionCheckedOutEvent;const w=p.ConnectionCheckedInEvent;const S=p.ConnectionPoolClearedEvent;const v=Symbol("logger");const R=Symbol("connections");const k=Symbol("permits");const D=Symbol("minPoolSizeTimer");const N=Symbol("generation");const T=Symbol("connectionCounter");const O=Symbol("cancellationToken");const _=Symbol("waitQueue");const M=Symbol("cancelled");const L=new Set(["ssl","bson","connectionType","serverApi","monitorCommands","socketTimeout","credentials","compression","host","port","localAddress","localPort","family","hints","lookup","path","ca","cert","sigalgs","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","privateKeyEngine","privateKeyIdentifier","maxVersion","minVersion","passphrase","pfx","secureOptions","secureProtocol","sessionIdContext","allowHalfOpen","rejectUnauthorized","pskCallback","ALPNProtocols","servername","checkServerIdentity","session","minDHSize","secureContext","maxPoolSize","minPoolSize","maxIdleTimeMS","waitQueueTimeoutMS"]);function resolveOptions(e,t){const r=Array.from(L).reduce(((t,r)=>{if(Object.prototype.hasOwnProperty.call(e,r)){t[r]=e[r]}return t}),{});return Object.freeze(Object.assign({},t,r))}class ConnectionPool extends o{constructor(e){super();e=e||{};this.closed=false;this.options=resolveOptions(e,{connectionType:A,maxPoolSize:typeof e.maxPoolSize==="number"?e.maxPoolSize:100,minPoolSize:typeof e.minPoolSize==="number"?e.minPoolSize:0,maxIdleTimeMS:typeof e.maxIdleTimeMS==="number"?e.maxIdleTimeMS:0,waitQueueTimeoutMS:typeof e.waitQueueTimeoutMS==="number"?e.waitQueueTimeoutMS:0,autoEncrypter:e.autoEncrypter,metadata:e.metadata,useUnifiedTopology:e.useUnifiedTopology});if(e.minSize>e.maxSize){throw new TypeError("Connection pool minimum size must not be greater than maximum pool size")}this[v]=s("ConnectionPool",e);this[R]=new n;this[k]=this.options.maxPoolSize;this[D]=undefined;this[N]=0;this[T]=i(1);this[O]=new o;this[O].setMaxListeners(Infinity);this[_]=new n;process.nextTick((()=>{this.emit("connectionPoolCreated",new E(this));ensureMinPoolSize(this)}))}get address(){return`${this.options.host}:${this.options.port}`}get generation(){return this[N]}get totalConnectionCount(){return this[R].length+(this.options.maxPoolSize-this[k])}get availableConnectionCount(){return this[R].length}get waitQueueSize(){return this[_].length}checkOut(e){this.emit("connectionCheckOutStarted",new B(this));if(this.closed){this.emit("connectionCheckOutFailed",new Q(this,"poolClosed"));e(new d(this));return}const t={callback:e};const r=this;const n=this.options.waitQueueTimeoutMS;if(n){t.timer=setTimeout((()=>{t[M]=true;t.timer=undefined;r.emit("connectionCheckOutFailed",new Q(r,"timeout"));t.callback(new g(r))}),n)}this[_].push(t);process.nextTick((()=>processWaitQueue(this)))}checkIn(e){const t=this.closed;const r=connectionIsStale(this,e);const n=!!(t||r||e.closed);if(!n){e.markAvailable();this[R].push(e)}this.emit("connectionCheckedIn",new w(this,e));if(n){const r=e.closed?"error":t?"poolClosed":"stale";destroyConnection(this,e,r)}process.nextTick((()=>processWaitQueue(this)))}clear(){this[N]+=1;this.emit("connectionPoolCleared",new S(this))}close(e,t){if(typeof e==="function"){t=e}e=Object.assign({force:false},e);if(this.closed){return t()}this[O].emit("cancel");while(this.waitQueueSize){const e=this[_].pop();clearTimeout(e.timer);if(!e[M]){e.callback(new a("connection pool closed"))}}if(this[D]){clearTimeout(this[D])}if(typeof this[T].return==="function"){this[T].return()}this.closed=true;c(this[R].toArray(),((t,r)=>{this.emit("connectionClosed",new y(this,t,"poolClosed"));t.destroy(e,r)}),(e=>{this[R].clear();this.emit("connectionPoolClosed",new m(this));t(e)}))}withConnection(e,t){this.checkOut(((r,n)=>{e(r,n,((e,r)=>{if(typeof t==="function"){if(e){t(e)}else{t(undefined,r)}}if(n){this.checkIn(n)}}))}))}}function ensureMinPoolSize(e){if(e.closed||e.options.minPoolSize===0){return}const t=e.options.minPoolSize;for(let r=e.totalConnectionCount;rensureMinPoolSize(e)),10)}function connectionIsStale(e,t){return t.generation!==e[N]}function connectionIsIdle(e,t){return!!(e.options.maxIdleTimeMS&&t.idleTime>e.options.maxIdleTimeMS)}function createConnection(e,t){const r=Object.assign({id:e[T].next().value,generation:e[N]},e.options);e[k]--;l(r,e[O],((r,n)=>{if(r){e[k]++;e[v].debug(`connection attempt failed with error [${JSON.stringify(r)}]`);if(typeof t==="function"){t(r)}return}if(e.closed){n.destroy({force:true});return}u(n,e,["commandStarted","commandFailed","commandSucceeded","clusterTimeReceived"]);e.emit("connectionCreated",new C(e,n));n.markAvailable();e.emit("connectionReady",new I(e,n));if(typeof t==="function"){t(undefined,n);return}e[R].push(n);process.nextTick((()=>processWaitQueue(e)))}))}function destroyConnection(e,t,r){e.emit("connectionClosed",new y(e,t,r));e[k]++;process.nextTick((()=>t.destroy()))}function processWaitQueue(e){if(e.closed){return}while(e.waitQueueSize){const t=e[_].peekFront();if(t[M]){e[_].shift();continue}if(!e.availableConnectionCount){break}const r=e[R].shift();const n=connectionIsStale(e,r);const o=connectionIsIdle(e,r);if(!n&&!o&&!r.closed){e.emit("connectionCheckedOut",new b(e,r));clearTimeout(t.timer);e[_].shift();t.callback(undefined,r);return}const s=r.closed?"error":n?"stale":"idle";destroyConnection(e,r,s)}const t=e.options.maxPoolSize;if(e.waitQueueSize&&(t<=0||e.totalConnectionCount{const n=e[_].shift();if(n==null||n[M]){if(t==null){e[R].push(r)}return}if(t){e.emit("connectionCheckOutFailed",new Q(e,t))}else{e.emit("connectionCheckedOut",new b(e,r))}clearTimeout(n.timer);n.callback(t,r)}));return}}e.exports={ConnectionPool:ConnectionPool}},2926:(e,t,r)=>{"use strict";const n=r(3111).MongoError;class PoolClosedError extends n{constructor(e){super("Attempted to check out a connection from closed connection pool");this.name="MongoPoolClosedError";this.address=e.address}}class WaitQueueTimeoutError extends n{constructor(e){super("Timed out while checking out a connection from connection pool");this.name="MongoWaitQueueTimeoutError";this.address=e.address}}e.exports={PoolClosedError:PoolClosedError,WaitQueueTimeoutError:WaitQueueTimeoutError}},897:e=>{"use strict";class ConnectionPoolMonitoringEvent{constructor(e){this.time=new Date;this.address=e.address}}class ConnectionPoolCreatedEvent extends ConnectionPoolMonitoringEvent{constructor(e){super(e);this.options=e.options}}class ConnectionPoolClosedEvent extends ConnectionPoolMonitoringEvent{constructor(e){super(e)}}class ConnectionCreatedEvent extends ConnectionPoolMonitoringEvent{constructor(e,t){super(e);this.connectionId=t.id}}class ConnectionReadyEvent extends ConnectionPoolMonitoringEvent{constructor(e,t){super(e);this.connectionId=t.id}}class ConnectionClosedEvent extends ConnectionPoolMonitoringEvent{constructor(e,t,r){super(e);this.connectionId=t.id;this.reason=r||"unknown"}}class ConnectionCheckOutStartedEvent extends ConnectionPoolMonitoringEvent{constructor(e){super(e)}}class ConnectionCheckOutFailedEvent extends ConnectionPoolMonitoringEvent{constructor(e,t){super(e);this.reason=t}}class ConnectionCheckedOutEvent extends ConnectionPoolMonitoringEvent{constructor(e,t){super(e);this.connectionId=t.id}}class ConnectionCheckedInEvent extends ConnectionPoolMonitoringEvent{constructor(e,t){super(e);this.connectionId=t.id}}class ConnectionPoolClearedEvent extends ConnectionPoolMonitoringEvent{constructor(e){super(e)}}const t=["connectionPoolCreated","connectionPoolClosed","connectionCreated","connectionReady","connectionClosed","connectionCheckOutStarted","connectionCheckOutFailed","connectionCheckedOut","connectionCheckedIn","connectionPoolCleared"];e.exports={CMAP_EVENT_NAMES:t,ConnectionPoolCreatedEvent:ConnectionPoolCreatedEvent,ConnectionPoolClosedEvent:ConnectionPoolClosedEvent,ConnectionCreatedEvent:ConnectionCreatedEvent,ConnectionReadyEvent:ConnectionReadyEvent,ConnectionClosedEvent:ConnectionClosedEvent,ConnectionCheckOutStartedEvent:ConnectionCheckOutStartedEvent,ConnectionCheckOutFailedEvent:ConnectionCheckOutFailedEvent,ConnectionCheckedOutEvent:ConnectionCheckedOutEvent,ConnectionCheckedInEvent:ConnectionCheckedInEvent,ConnectionPoolClearedEvent:ConnectionPoolClearedEvent}},2425:(e,t,r)=>{"use strict";const n=r(2781).Duplex;const o=r(336);const s=r(3111).MongoParseError;const i=r(7793).decompress;const a=r(9814).Response;const A=r(8988).BinMsg;const c=r(3111).MongoError;const l=r(7272).opcodes.OP_COMPRESSED;const u=r(7272).opcodes.OP_MSG;const h=r(7272).MESSAGE_HEADER_SIZE;const d=r(7272).COMPRESSION_DETAILS_SIZE;const g=r(7272).opcodes;const p=r(7793).compress;const E=r(7793).compressorIDs;const m=r(7793).uncompressibleCommands;const C=r(8988).Msg;const I=1024*1024*16*4;const y=Symbol("buffer");class MessageStream extends n{constructor(e){e=e||{};super(e);this.bson=e.bson;this.maxBsonMessageSize=e.maxBsonMessageSize||I;this[y]=new o}_write(e,t,r){const n=this[y];n.append(e);processIncomingData(this,r)}_read(){return}writeCommand(e,t){const r=t&&!!t.agreedCompressor;if(!r||!canCompress(e)){const t=e.toBin();this.push(Array.isArray(t)?Buffer.concat(t):t);return}const n=Buffer.concat(e.toBin());const o=n.slice(h);const s=n.readInt32LE(12);p({options:t},o,((r,n)=>{if(r){t.cb(r,null);return}const i=Buffer.alloc(h);i.writeInt32LE(h+d+n.length,0);i.writeInt32LE(e.requestId,4);i.writeInt32LE(0,8);i.writeInt32LE(g.OP_COMPRESSED,12);const a=Buffer.alloc(d);a.writeInt32LE(s,0);a.writeInt32LE(o.length,4);a.writeUInt8(E[t.agreedCompressor],8);this.push(Buffer.concat([i,a,n]))}))}}function canCompress(e){const t=e instanceof C?e.command:e.query;const r=Object.keys(t)[0];return!m.has(r)}function processIncomingData(e,t){const r=e[y];if(r.length<4){t();return}const n=r.readInt32LE(0);if(n<0){t(new s(`Invalid message size: ${n}`));return}if(n>e.maxBsonMessageSize){t(new s(`Invalid message size: ${n}, max allowed: ${e.maxBsonMessageSize}`));return}if(n>r.length){t();return}const o=r.slice(0,n);r.consume(n);const d={length:o.readInt32LE(0),requestId:o.readInt32LE(4),responseTo:o.readInt32LE(8),opCode:o.readInt32LE(12)};let g=d.opCode===u?A:a;const p=e.responseOptions;if(d.opCode!==l){const n=o.slice(h);e.emit("message",new g(e.bson,o,d,n,p));if(r.length>=4){processIncomingData(e,t)}else{t()}return}d.fromCompressed=true;d.opCode=o.readInt32LE(h);d.length=o.readInt32LE(h+4);const E=o[h+8];const m=o.slice(h+9);g=d.opCode===u?A:a;i(E,m,((n,s)=>{if(n){t(n);return}if(s.length!==d.length){t(new c("Decompressing a compressed message from the server failed. The message is corrupt."));return}e.emit("message",new g(e.bson,o,d,s,p));if(r.length>=4){processIncomingData(e,t)}else{t()}}))}e.exports=MessageStream},6292:(e,t,r)=>{"use strict";const n=r(750).parseServerType;const o=["minWireVersion","maxWireVersion","maxBsonObjectSize","maxMessageSizeBytes","maxWriteBatchSize","__nodejs_mock_server__"];class StreamDescription{constructor(e,t){this.address=e;this.type=n(null);this.minWireVersion=undefined;this.maxWireVersion=undefined;this.maxBsonObjectSize=16777216;this.maxMessageSizeBytes=48e6;this.maxWriteBatchSize=1e5;this.compressors=t&&t.compression&&Array.isArray(t.compression.compressors)?t.compression.compressors:[]}receiveResponse(e){this.type=n(e);o.forEach((t=>{if(typeof e[t]!=="undefined"){this[t]=e[t]}}));if(e.compression){this.compressor=this.compressors.filter((t=>e.compression.indexOf(t)!==-1))[0]}}}e.exports={StreamDescription:StreamDescription}},5193:(e,t,r)=>{"use strict";const n=r(3837).deprecate;const o=r(1371).deprecateOptions;const s=r(1371).emitWarningOnce;const i=r(1371).checkCollectionName;const a=r(3994).BSON.ObjectID;const A=r(3994).MongoError;const c=r(1371).normalizeHintField;const l=r(1371).decorateCommand;const u=r(1371).decorateWithCollation;const h=r(1371).decorateWithReadConcern;const d=r(1371).formattedOrderClause;const g=r(3994).ReadPreference;const p=r(325);const E=r(5035);const m=r(1117);const C=r(1371).executeLegacyOperation;const I=r(2481);const y=r(7289);const B=r(1371).MongoDBNamespace;const Q=r(7429);const b=r(538);const w=r(6716).ensureIndex;const S=r(6716).group;const v=r(6716).parallelCollectionScan;const R=r(2296).removeDocuments;const k=r(6716).save;const D=r(2296).updateDocuments;const N=r(1554);const T=r(6976);const O=r(5131);const _=r(6394);const M=r(323);const L=r(6352);const F=r(6469);const U=r(2360).DropCollectionOperation;const P=r(3560);const G=r(5328);const Y=r(4451);const V=r(9961);const W=r(4497);const J=r(711);const q=r(5841);const j=r(4316);const z=r(1925);const $=r(8169);const K=r(4218);const X=r(7809);const Z=r(4245);const ee=r(3592);const te=r(9915);const re=r(4956);const ne=r(28);const oe=r(2779);const se=r(43);const ie=r(2808);const ae=r(6331);const Ae=r(2508);const ce=r(968);const le=r(9350);const ue=r(9068);const fe=r(2548);const he=["ignoreUndefined"];function Collection(e,t,r,n,o,s){i(n);const A=null;const c=s==null||s.slaveOk==null?e.slaveOk:s.slaveOk;const l=s==null||s.serializeFunctions==null?e.s.options.serializeFunctions:s.serializeFunctions;const u=s==null||s.raw==null?e.s.options.raw:s.raw;const h=s==null||s.promoteLongs==null?e.s.options.promoteLongs:s.promoteLongs;const d=s==null||s.promoteValues==null?e.s.options.promoteValues:s.promoteValues;const p=s==null||s.promoteBuffers==null?e.s.options.promoteBuffers:s.promoteBuffers;const E=s==null||s.bsonRegExp==null?e.s.options.bsonRegExp:s.bsonRegExp;const m=null;const C=new B(r,n);const Q=s.promiseLibrary||Promise;o=o==null?a:o;this.s={pkFactory:o,db:e,topology:t,options:s,namespace:C,readPreference:g.fromOptions(s),slaveOk:c,serializeFunctions:l,raw:u,promoteLongs:h,promoteValues:d,promoteBuffers:p,bsonRegExp:E,internalHint:A,collectionHint:m,promiseLibrary:Q,readConcern:y.fromOptions(s),writeConcern:I.fromOptions(s)}}Object.defineProperty(Collection.prototype,"dbName",{enumerable:true,get:function(){return this.s.namespace.db}});Object.defineProperty(Collection.prototype,"collectionName",{enumerable:true,get:function(){return this.s.namespace.collection}});Object.defineProperty(Collection.prototype,"namespace",{enumerable:true,get:function(){return this.s.namespace.toString()}});Object.defineProperty(Collection.prototype,"readConcern",{enumerable:true,get:function(){if(this.s.readConcern==null){return this.s.db.readConcern}return this.s.readConcern}});Object.defineProperty(Collection.prototype,"readPreference",{enumerable:true,get:function(){if(this.s.readPreference==null){return this.s.db.readPreference}return this.s.readPreference}});Object.defineProperty(Collection.prototype,"writeConcern",{enumerable:true,get:function(){if(this.s.writeConcern==null){return this.s.db.writeConcern}return this.s.writeConcern}});Object.defineProperty(Collection.prototype,"hint",{enumerable:true,get:function(){return this.s.collectionHint},set:function(e){this.s.collectionHint=c(e)}});const de=["maxScan","fields","snapshot","oplogReplay"];Collection.prototype.find=o({name:"collection.find",deprecatedOptions:de,optionsIndex:1},(function(e,t,r){if(typeof r==="object"){s("Third parameter to `find()` must be a callback or undefined")}let n=e;if(typeof r!=="function"){if(typeof t==="function"){r=t;t=undefined}else if(t==null){r=typeof n==="function"?n:undefined;n=typeof n==="object"?n:undefined}}n=n==null?{}:n;const o=n;if(Buffer.isBuffer(o)){const e=o[0]|o[1]<<8|o[2]<<16|o[3]<<24;if(e!==o.length){const t=new Error("query selector raw message size does not match message header size ["+o.length+"] != ["+e+"]");t.name="MongoError";throw t}}if(n!=null&&n._bsontype==="ObjectID"){n={_id:n}}if(!t)t={};let i=t.projection||t.fields;if(i&&!Buffer.isBuffer(i)&&Array.isArray(i)){i=i.length?i.reduce(((e,t)=>{e[t]=1;return e}),{}):{_id:1}}let a=Object.assign({},t);for(let e in this.s.options){if(he.indexOf(e)!==-1){a[e]=this.s.options[e]}}a.skip=t.skip?t.skip:0;a.limit=t.limit?t.limit:0;a.raw=typeof t.raw==="boolean"?t.raw:this.s.raw;a.hint=t.hint!=null?c(t.hint):this.s.collectionHint;a.timeout=typeof t.timeout==="undefined"?undefined:t.timeout;a.slaveOk=t.slaveOk!=null?t.slaveOk:this.s.db.slaveOk;a.readPreference=g.resolve(this,a);if(a.readPreference!=null&&(a.readPreference!=="primary"||a.readPreference.mode!=="primary")){a.slaveOk=true}if(n!=null&&typeof n!=="object"){throw A.create({message:"query selector must be an object",driver:true})}const p={find:this.s.namespace.toString(),limit:a.limit,skip:a.skip,query:n};if(typeof t.allowDiskUse==="boolean"){p.allowDiskUse=t.allowDiskUse}if(typeof a.awaitdata==="boolean"){a.awaitData=a.awaitdata}if(typeof a.timeout==="boolean")a.noCursorTimeout=!a.timeout;l(p,a,["session","collation"]);if(i)p.fields=i;a.db=this.s.db;a.promiseLibrary=this.s.promiseLibrary;if(a.raw==null&&typeof this.s.raw==="boolean")a.raw=this.s.raw;if(a.promoteLongs==null&&typeof this.s.promoteLongs==="boolean")a.promoteLongs=this.s.promoteLongs;if(a.promoteValues==null&&typeof this.s.promoteValues==="boolean")a.promoteValues=this.s.promoteValues;if(a.promoteBuffers==null&&typeof this.s.promoteBuffers==="boolean")a.promoteBuffers=this.s.promoteBuffers;if(a.bsonRegExp==null&&typeof this.s.bsonRegExp==="boolean")a.bsonRegExp=this.s.bsonRegExp;if(p.sort){p.sort=d(p.sort)}h(p,this,t);try{u(p,this,t)}catch(e){if(typeof r==="function")return r(e,null);throw e}const E=this.s.topology.cursor(new V(this,this.s.namespace,p,a),a);if(typeof r==="function"){r(null,E);return}return E}));Collection.prototype.insertOne=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}const n=new te(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.insertMany=function(e,t,r){if(typeof t==="function")r=t,t={};t=t?Object.assign({},t):{ordered:true};const n=new ee(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.bulkWrite=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{ordered:true};if(!Array.isArray(e)){throw A.create({message:"operations must be an array of documents",driver:true})}const n=new T(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.insert=n((function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{ordered:false};e=!Array.isArray(e)?[e]:e;if(t.keepGoing===true){t.ordered=false}return this.insertMany(e,t,r)}),"collection.insert is deprecated. Use insertOne, insertMany or bulkWrite instead.");Collection.prototype.updateOne=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=Object.assign({},r);if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new ue(this,e,t,r),n)};Collection.prototype.replaceOne=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=Object.assign({},r);if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new Ae(this,e,t,r),n)};Collection.prototype.updateMany=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=Object.assign({},r);if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new le(this,e,t,r),n)};Collection.prototype.update=n((function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return C(this.s.topology,D,[this,e,t,r,n])}),"collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.");Collection.prototype.deleteOne=function(e,t,r){if(typeof t==="function")r=t,t={};t=Object.assign({},t);if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}const n=new L(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.removeOne=Collection.prototype.deleteOne;Collection.prototype.deleteMany=function(e,t,r){if(typeof t==="function")r=t,t={};t=Object.assign({},t);if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}const n=new M(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.removeMany=Collection.prototype.deleteMany;Collection.prototype.remove=n((function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}return C(this.s.topology,R,[this,e,t,r])}),"collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.");Collection.prototype.save=n((function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}return C(this.s.topology,k,[this,e,t,r])}),"collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead.");Collection.prototype.findOne=o({name:"collection.find",deprecatedOptions:de,optionsIndex:1},(function(e,t,r){if(typeof r==="object"){s("Third parameter to `findOne()` must be a callback or undefined")}if(typeof e==="function")r=e,e={},t={};if(typeof t==="function")r=t,t={};e=e||{};t=t||{};const n=new W(this,e,t);return fe(this.s.topology,n,r)}));Collection.prototype.rename=function(e,t,r){if(typeof t==="function")r=t,t={};t=Object.assign({},t,{readPreference:g.PRIMARY});const n=new ie(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.drop=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new U(this.s.db,this.collectionName,e);return fe(this.s.topology,r,t)};Collection.prototype.options=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new se(this,e);return fe(this.s.topology,r,t)};Collection.prototype.isCapped=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new re(this,e);return fe(this.s.topology,r,t)};Collection.prototype.createIndex=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new _(this,this.collectionName,e,t);return fe(this.s.topology,n,r)};Collection.prototype.createIndexes=function(e,t,r){if(typeof t==="function")r=t,t={};t=t?Object.assign({},t):{};if(typeof t.maxTimeMS!=="number")delete t.maxTimeMS;const n=new _(this,this.collectionName,e,t);return fe(this.s.topology,n,r)};Collection.prototype.dropIndex=function(e,t,r){const n=Array.prototype.slice.call(arguments,1);r=typeof n[n.length-1]==="function"?n.pop():undefined;t=n.length?n.shift()||{}:{};t.readPreference=g.PRIMARY;const o=new P(this,e,t);return fe(this.s.topology,o,r)};Collection.prototype.dropIndexes=function(e,t){if(typeof e==="function")t=e,e={};e=e?Object.assign({},e):{};if(typeof e.maxTimeMS!=="number")delete e.maxTimeMS;const r=new G(this,e);return fe(this.s.topology,r,t)};Collection.prototype.dropAllIndexes=n(Collection.prototype.dropIndexes,"collection.dropAllIndexes is deprecated. Use dropIndexes instead.");Collection.prototype.reIndex=n((function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new ae(this,e);return fe(this.s.topology,r,t)}),"collection.reIndex is deprecated. Use db.command instead.");Collection.prototype.listIndexes=function(e){const t=new b(this.s.topology,new ne(this,e),e);return t};Collection.prototype.ensureIndex=n((function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};return C(this.s.topology,w,[this,e,t,r])}),"collection.ensureIndex is deprecated. Use createIndexes instead.");Collection.prototype.indexExists=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new X(this,e,t);return fe(this.s.topology,n,r)};Collection.prototype.indexInformation=function(e,t){const r=Array.prototype.slice.call(arguments,0);t=typeof r[r.length-1]==="function"?r.pop():undefined;e=r.length?r.shift()||{}:{};const n=new Z(this.s.db,this.collectionName,e);return fe(this.s.topology,n,t)};Collection.prototype.count=n((function(e,t,r){const n=Array.prototype.slice.call(arguments,0);r=typeof n[n.length-1]==="function"?n.pop():undefined;e=n.length?n.shift()||{}:{};t=n.length?n.shift()||{}:{};if(typeof t==="function")r=t,t={};t=t||{};return fe(this.s.topology,new Y(this,Object.assign({query:e},t)),r)}),"collection.count is deprecated, and will be removed in a future version."+" Use Collection.countDocuments or Collection.estimatedDocumentCount instead");Collection.prototype.estimatedDocumentCount=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new Y(this,e);return fe(this.s.topology,r,t)};Collection.prototype.countDocuments=function(e,t,r){const n=Array.prototype.slice.call(arguments,0);r=typeof n[n.length-1]==="function"?n.pop():undefined;e=n.length?n.shift()||{}:{};t=n.length?n.shift()||{}:{};const o=new O(this,e,t);return fe(this.s.topology,o,r)};Collection.prototype.distinct=function(e,t,r,n){const o=Array.prototype.slice.call(arguments,1);n=typeof o[o.length-1]==="function"?o.pop():undefined;const s=o.length?o.shift()||{}:{};const i=o.length?o.shift()||{}:{};const a=new F(this,e,s,i);return fe(this.s.topology,a,n)};Collection.prototype.indexes=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new K(this,e);return fe(this.s.topology,r,t)};Collection.prototype.stats=function(e,t){const r=Array.prototype.slice.call(arguments,0);t=typeof r[r.length-1]==="function"?r.pop():undefined;e=r.length?r.shift()||{}:{};const n=new ce(this,e);return fe(this.s.topology,n,t)};Collection.prototype.findOneAndDelete=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};if(this.s.options.ignoreUndefined){t=Object.assign({},t);t.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new q(this,e,t),r)};Collection.prototype.findOneAndReplace=o({name:"collection.findOneAndReplace",deprecatedOptions:["returnOriginal"],optionsIndex:2},(function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new j(this,e,t,r),n)}));Collection.prototype.findOneAndUpdate=o({name:"collection.findOneAndUpdate",deprecatedOptions:["returnOriginal"],optionsIndex:2},(function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};if(this.s.options.ignoreUndefined){r=Object.assign({},r);r.ignoreUndefined=this.s.options.ignoreUndefined}return fe(this.s.topology,new z(this,e,t,r),n)}));Collection.prototype.findAndModify=n(_findAndModify,"collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.");Collection.prototype._findAndModify=_findAndModify;function _findAndModify(e,t,r,n,o){const s=Array.prototype.slice.call(arguments,1);o=typeof s[s.length-1]==="function"?s.pop():undefined;t=s.length?s.shift()||[]:[];r=s.length?s.shift():null;n=s.length?s.shift()||{}:{};n=Object.assign({},n);n.readPreference=g.PRIMARY;return fe(this.s.topology,new J(this,e,t,r,n),o)}Collection.prototype.findAndRemove=n((function(e,t,r,n){const o=Array.prototype.slice.call(arguments,1);n=typeof o[o.length-1]==="function"?o.pop():undefined;t=o.length?o.shift()||[]:[];r=o.length?o.shift()||{}:{};r.remove=true;return fe(this.s.topology,new J(this,e,t,null,r),n)}),"collection.findAndRemove is deprecated. Use findOneAndDelete instead.");Collection.prototype.aggregate=function(e,t,r){if(Array.isArray(e)){if(typeof t==="function"){r=t;t={}}if(t==null&&r==null){t={}}}else{const n=Array.prototype.slice.call(arguments,0);r=n.pop();const o=n[n.length-1];t=o&&(o.readPreference||o.explain||o.cursor||o.out||o.maxTimeMS||o.hint||o.allowDiskUse)?n.pop():{};e=n}const n=new Q(this.s.topology,new N(this,e,t),t);if(typeof r==="function"){r(null,n);return}return n};Collection.prototype.watch=function(e,t){e=e||[];t=t||{};if(!Array.isArray(e)){t=e;e=[]}return new m(this,e,t)};Collection.prototype.parallelCollectionScan=n((function(e,t){if(typeof e==="function")t=e,e={numCursors:1};e.numCursors=e.numCursors||1;e.batchSize=e.batchSize||1e3;e=Object.assign({},e);e.readPreference=g.resolve(this,e);e.promiseLibrary=this.s.promiseLibrary;if(e.session){e.session=undefined}return C(this.s.topology,v,[this,e,t],{skipSessions:true})}),"parallelCollectionScan is deprecated in MongoDB v4.1");Collection.prototype.geoHaystackSearch=n((function(e,t,r,n){const o=Array.prototype.slice.call(arguments,2);n=typeof o[o.length-1]==="function"?o.pop():undefined;r=o.length?o.shift()||{}:{};const s=new $(this,e,t,r);return fe(this.s.topology,s,n)}),"geoHaystackSearch is deprecated, and will be removed in a future version.");Collection.prototype.group=n((function(e,t,r,n,o,s,i,a){const A=Array.prototype.slice.call(arguments,3);a=typeof A[A.length-1]==="function"?A.pop():undefined;n=A.length?A.shift():null;o=A.length?A.shift():null;s=A.length?A.shift():null;i=A.length?A.shift()||{}:{};if(!(typeof o==="function")){s=o;o=null}if(!Array.isArray(e)&&e instanceof Object&&typeof e!=="function"&&!(e._bsontype==="Code")){e=Object.keys(e)}if(typeof n==="function"){n=n.toString()}if(typeof o==="function"){o=o.toString()}s=s==null?true:s;return C(this.s.topology,S,[this,e,t,r,n,o,s,i,a])}),"MongoDB 3.6 or higher no longer supports the group command. We recommend rewriting using the aggregation framework.");Collection.prototype.mapReduce=function(e,t,r,n){if("function"===typeof r)n=r,r={};if(null==r.out){throw new Error("the out option parameter must be defined, see mongodb docs for possible values")}if("function"===typeof e){e=e.toString()}if("function"===typeof t){t=t.toString()}if("function"===typeof r.finalize){r.finalize=r.finalize.toString()}const o=new oe(this,e,t,r);return fe(this.s.topology,o,n)};Collection.prototype.initializeUnorderedBulkOp=function(e){e=e||{};if(e.ignoreUndefined==null){e.ignoreUndefined=this.s.options.ignoreUndefined}e.promiseLibrary=this.s.promiseLibrary;return p(this.s.topology,this,e)};Collection.prototype.initializeOrderedBulkOp=function(e){e=e||{};if(e.ignoreUndefined==null){e.ignoreUndefined=this.s.options.ignoreUndefined}e.promiseLibrary=this.s.promiseLibrary;return E(this.s.topology,this,e)};Collection.prototype.getLogger=function(){return this.s.db.s.logger};e.exports=Collection},538:(e,t,r)=>{"use strict";const n=r(3994).ReadPreference;const o=r(3994).MongoError;const s=r(7159);const i=r(4847).CursorState;class CommandCursor extends s{constructor(e,t,r,n){super(e,t,r,n)}setReadPreference(e){if(this.s.state===i.CLOSED||this.isDead()){throw o.create({message:"Cursor is closed",driver:true})}if(this.s.state!==i.INIT){throw o.create({message:"cannot change cursor readPreference after cursor has been accessed",driver:true})}if(e instanceof n){this.options.readPreference=e}else if(typeof e==="string"){this.options.readPreference=new n(e)}else{throw new TypeError("Invalid read preference: "+e)}return this}batchSize(e){if(this.s.state===i.CLOSED||this.isDead()){throw o.create({message:"Cursor is closed",driver:true})}if(typeof e!=="number"){throw o.create({message:"batchSize requires an integer",driver:true})}if(this.cmd.cursor){this.cmd.cursor.batchSize=e}this.setCursorBatchSize(e);return this}maxTimeMS(e){if(this.topology.lastIsMaster().minWireVersion>2){this.cmd.maxTimeMS=e}return this}getLogger(){return this.logger}}CommandCursor.prototype.get=CommandCursor.prototype.toArray;e.exports=CommandCursor},7703:(e,t,r)=>{"use strict";const n=r(8988).Msg;const o=r(9814).KillCursor;const s=r(9814).GetMore;const i=r(1371).deepCopy;const a=new Set(["authenticate","saslStart","saslContinue","getnonce","createUser","updateUser","copydbgetnonce","copydbsaslstart","copydb"]);const A=new Set(["hello","ismaster","isMaster"]);const c={$query:"filter",$orderby:"sort",$hint:"hint",$comment:"comment",$maxScan:"maxScan",$max:"max",$min:"min",$returnKey:"returnKey",$showDiskLoc:"showRecordId",$maxTimeMS:"maxTimeMS",$snapshot:"snapshot"};const l={numberToSkip:"skip",numberToReturn:"batchSize",returnFieldsSelector:"projection"};const u=["tailable","oplogReplay","noCursorTimeout","awaitData","partial","exhaust"];const collectionName=e=>e.ns.split(".")[1];const shouldRedactCommand=(e,t)=>a.has(e)||A.has(e)&&!!t.speculativeAuthenticate;const extractCommand=e=>{let t;if(e instanceof s){t={getMore:i(e.cursorId),collection:collectionName(e),batchSize:e.numberToReturn}}else if(e instanceof o){t={killCursors:collectionName(e),cursors:i(e.cursorIds)}}else if(e instanceof n){t=i(e.command)}else if(e.query&&e.query.$query){let r;if(e.ns==="admin.$cmd"){r=Object.assign({},e.query.$query)}else{r={find:collectionName(e)};Object.keys(c).forEach((t=>{if(typeof e.query[t]!=="undefined")r[c[t]]=i(e.query[t])}))}Object.keys(l).forEach((t=>{if(typeof e[t]!=="undefined")r[l[t]]=i(e[t])}));u.forEach((t=>{if(e[t])r[t]=e[t]}));if(typeof e.pre32Limit!=="undefined"){r.limit=e.pre32Limit}if(e.query.$explain){t={explain:r}}else{t=r}}else{t=i(e.query||e)}const r=Object.keys(t)[0];return{cmd:t,name:r,shouldRedact:shouldRedactCommand(r,t)}};e.exports={extractCommand:extractCommand}},147:e=>{"use strict";e.exports={SYSTEM_NAMESPACE_COLLECTION:"system.namespaces",SYSTEM_INDEX_COLLECTION:"system.indexes",SYSTEM_PROFILE_COLLECTION:"system.profile",SYSTEM_USER_COLLECTION:"system.users",SYSTEM_COMMAND_COLLECTION:"$cmd",SYSTEM_JS_COLLECTION:"system.js"}},557:e=>{"use strict";class AuthContext{constructor(e,t,r){this.connection=e;this.credentials=t;this.options=r}}class AuthProvider{constructor(e){this.bson=e}prepare(e,t,r){r(undefined,e)}auth(e,t){t(new TypeError("`auth` method must be overridden by subclass"))}}e.exports={AuthContext:AuthContext,AuthProvider:AuthProvider}},2192:(e,t,r)=>{"use strict";const n=r(4228);const o=r(7324);const s=r(8728);const i=r(2640);const a=r(864).ScramSHA1;const A=r(864).ScramSHA256;const c=r(8857);function defaultAuthProviders(e){return{"mongodb-aws":new c(e),mongocr:new n(e),x509:new o(e),plain:new s(e),gssapi:new i(e),"scram-sha-1":new a(e),"scram-sha-256":new A(e)}}e.exports={defaultAuthProviders:defaultAuthProviders}},2640:(e,t,r)=>{"use strict";const n=r(7578);const o=r(557).AuthProvider;const s=r(1178).retrieveKerberos;const i=r(3111).MongoError;let a;class GSSAPI extends o{auth(e,t){const r=e.connection;const n=e.credentials;if(n==null)return t(new i("credentials required"));const o=n.username;function externalCommand(e,t){return r.command("$external.$cmd",e,t)}makeKerberosClient(e,((e,r)=>{if(e)return t(e);if(r==null)return t(new i("gssapi client missing"));r.step("",((e,n)=>{if(e)return t(e);externalCommand(saslStart(n),((e,n)=>{if(e)return t(e);const s=n.result;negotiate(r,10,s.payload,((e,n)=>{if(e)return t(e);externalCommand(saslContinue(n,s.conversationId),((e,n)=>{if(e)return t(e);const s=n.result;finalize(r,o,s.payload,((e,r)=>{if(e)return t(e);externalCommand({saslContinue:1,conversationId:s.conversationId,payload:r},((e,r)=>{if(e)return t(e);t(undefined,r)}))}))}))}))}))}))}))}}e.exports=GSSAPI;function makeKerberosClient(e,t){const r=e.options.host;const n=e.options.port;const o=e.credentials;if(!r||!n||!o){return t(new i(`Connection must specify: ${r?"host":""}, ${n?"port":""}, ${o?"host":"credentials"}.`))}if(a==null){try{a=s()}catch(e){return t(e)}}const A=o.username;const c=o.password;const l=o.mechanismProperties;const u=l["gssapiservicename"]||l["gssapiServiceName"]||"mongodb";performGssapiCanonicalizeHostName(r,l,((e,r)=>{if(e)return t(e);const n={};if(c!=null){Object.assign(n,{user:A,password:c})}a.initializeClient(`${u}${process.platform==="win32"?"/":"@"}${r}`,n,((e,r)=>{if(e)return t(new i(e));t(null,r)}))}))}function saslStart(e){return{saslStart:1,mechanism:"GSSAPI",payload:e,autoAuthorize:1}}function saslContinue(e,t){return{saslContinue:1,conversationId:t,payload:e}}function negotiate(e,t,r,n){e.step(r,((o,s)=>{if(o&&t===0)return n(o);if(o)return negotiate(e,t-1,r,n);n(undefined,s||"")}))}function finalize(e,t,r,n){e.unwrap(r,((r,o)=>{if(r)return n(r);e.wrap(o||"",{user:t},((e,t)=>{if(e)return n(e);n(undefined,t)}))}))}function performGssapiCanonicalizeHostName(e,t,r){const o=typeof t.gssapiCanonicalizeHostName==="boolean"?t.gssapiCanonicalizeHostName:false;if(!o)return r(undefined,e);n.resolveCname(e,((t,n)=>{if(t)return r(t);if(Array.isArray(n)&&n.length>0){return r(undefined,n[0])}r(undefined,e)}))}},2222:e=>{"use strict";function getDefaultAuthMechanism(e){if(e){if(Array.isArray(e.saslSupportedMechs)){return e.saslSupportedMechs.indexOf("SCRAM-SHA-256")>=0?"scram-sha-256":"scram-sha-1"}if(e.maxWireVersion>=3){return"scram-sha-1"}}return"mongocr"}class MongoCredentials{constructor(e){e=e||{};this.username=e.username;this.password=e.password;this.source=e.source||e.db;this.mechanism=e.mechanism||"default";this.mechanismProperties=e.mechanismProperties||{};if(/MONGODB-AWS/i.test(this.mechanism)){if(!this.username&&process.env.AWS_ACCESS_KEY_ID){this.username=process.env.AWS_ACCESS_KEY_ID}if(!this.password&&process.env.AWS_SECRET_ACCESS_KEY){this.password=process.env.AWS_SECRET_ACCESS_KEY}if(this.mechanismProperties.AWS_SESSION_TOKEN==null&&process.env.AWS_SESSION_TOKEN!=null){this.mechanismProperties.AWS_SESSION_TOKEN=process.env.AWS_SESSION_TOKEN}}Object.freeze(this.mechanismProperties);Object.freeze(this)}equals(e){return this.mechanism===e.mechanism&&this.username===e.username&&this.password===e.password&&this.source===e.source}resolveAuthMechanism(e){if(/DEFAULT/i.test(this.mechanism)){return new MongoCredentials({username:this.username,password:this.password,source:this.source,mechanism:getDefaultAuthMechanism(e),mechanismProperties:this.mechanismProperties})}return this}}e.exports={MongoCredentials:MongoCredentials}},4228:(e,t,r)=>{"use strict";const n=r(6113);const o=r(557).AuthProvider;class MongoCR extends o{auth(e,t){const r=e.connection;const o=e.credentials;const s=o.username;const i=o.password;const a=o.source;r.command(`${a}.$cmd`,{getnonce:1},((e,o)=>{let A=null;let c=null;if(e==null){const e=o.result;A=e.nonce;let t=n.createHash("md5");t.update(s+":mongo:"+i,"utf8");const r=t.digest("hex");t=n.createHash("md5");t.update(A+s+r,"utf8");c=t.digest("hex")}const l={authenticate:1,user:s,nonce:A,key:c};r.command(`${a}.$cmd`,l,t)}))}}e.exports=MongoCR},8857:(e,t,r)=>{"use strict";const n=r(557).AuthProvider;const o=r(2222).MongoCredentials;const s=r(3111).MongoError;const i=r(6113);const a=r(3685);const A=r(1178).maxWireVersion;const c=r(7310);let l;try{l=r(3847)}catch(e){}const u=110;const h="http://169.254.170.2";const d="http://169.254.169.254";const g="/latest/meta-data/iam/security-credentials";class MongoDBAWS extends n{auth(e,t){const r=e.connection;const n=e.credentials;if(A(r)<9){t(new s("MONGODB-AWS authentication requires MongoDB version 4.4 or later"));return}if(l==null){t(new s("MONGODB-AWS authentication requires the `aws4` module, please install it as a dependency of your project"));return}if(n.username==null){makeTempCredentials(n,((r,n)=>{if(r)return t(r);e.credentials=n;this.auth(e,t)}));return}const o=n.source;const a=this.bson;const c=n.username;const h=n.password;const d=n.mechanismProperties.AWS_SESSION_TOKEN;const g=c&&h&&d?{accessKeyId:c,secretAccessKey:h,sessionToken:d}:c&&h?{accessKeyId:c,secretAccessKey:h}:undefined;i.randomBytes(32,((e,n)=>{if(e){t(e);return}const i={saslStart:1,mechanism:"MONGODB-AWS",payload:a.serialize({r:n,p:u})};r.command(`${o}.$cmd`,i,((e,i)=>{if(e)return t(e);const A=i.result;const c=a.deserialize(A.payload.buffer);const u=c.h;const h=c.s.buffer;if(h.length!==64){t(new s(`Invalid server nonce length ${h.length}, expected 64`));return}if(h.compare(n,0,n.length,0,n.length)!==0){t(new s("Server nonce does not begin with client nonce"));return}if(u.length<1||u.length>255||u.indexOf("..")!==-1){t(new s(`Server returned an invalid host: "${u}"`));return}const p="Action=GetCallerIdentity&Version=2011-06-15";const E=l.sign({method:"POST",host:u,region:deriveRegion(c.h),service:"sts",headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Length":p.length,"X-MongoDB-Server-Nonce":h.toString("base64"),"X-MongoDB-GS2-CB-Flag":"n"},path:"/",body:p},g);const m=E.headers.Authorization;const C=E.headers["X-Amz-Date"];const I={a:m,d:C};if(d){I.t=d}const y={saslContinue:1,conversationId:1,payload:a.serialize(I)};r.command(`${o}.$cmd`,y,(e=>{if(e)return t(e);t()}))}))}))}}function makeTempCredentials(e,t){function done(r){if(r.AccessKeyId==null||r.SecretAccessKey==null||r.Token==null){t(new s("Could not obtain temporary MONGODB-AWS credentials"));return}t(undefined,new o({username:r.AccessKeyId,password:r.SecretAccessKey,source:e.source,mechanism:"MONGODB-AWS",mechanismProperties:{AWS_SESSION_TOKEN:r.Token}}))}if(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI){request(`${h}${process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}`,undefined,((e,r)=>{if(e)return t(e);done(r)}));return}request(`${d}/latest/api/token`,{method:"PUT",json:false,headers:{"X-aws-ec2-metadata-token-ttl-seconds":30}},((e,r)=>{if(e)return t(e);request(`${d}/${g}`,{json:false,headers:{"X-aws-ec2-metadata-token":r}},((e,n)=>{if(e)return t(e);request(`${d}/${g}/${n}`,{headers:{"X-aws-ec2-metadata-token":r}},((e,r)=>{if(e)return t(e);done(r)}))}))}))}function deriveRegion(e){const t=e.split(".");if(t.length===1||t[1]==="amazonaws"){return"us-east-1"}return t[1]}function request(e,t,r){t=Object.assign({method:"GET",timeout:1e4,json:true},c.parse(e),t);const n=a.request(t,(e=>{e.setEncoding("utf8");let n="";e.on("data",(e=>n+=e));e.on("end",(()=>{if(t.json===false){r(undefined,n);return}try{const e=JSON.parse(n);r(undefined,e)}catch(e){r(new s(`Invalid JSON response: "${n}"`))}}))}));n.on("error",(e=>r(e)));n.end()}e.exports=MongoDBAWS},8728:(e,t,r)=>{"use strict";const n=r(7746).retrieveBSON;const o=r(557).AuthProvider;const s=n();const i=s.Binary;class Plain extends o{auth(e,t){const r=e.connection;const n=e.credentials;const o=n.username;const s=n.password;const a=new i(`\0${o}\0${s}`);const A={saslStart:1,mechanism:"PLAIN",payload:a,autoAuthorize:1};r.command("$external.$cmd",A,t)}}e.exports=Plain},864:(e,t,r)=>{"use strict";const n=r(6113);const o=r(1867).Buffer;const s=r(7746).retrieveBSON;const i=r(3111).MongoError;const a=r(557).AuthProvider;const A=r(1371).emitWarning;const c=s();const l=c.Binary;let u;try{u=r(9178)}catch(e){}class ScramSHA extends a{constructor(e,t){super(e);this.cryptoMethod=t||"sha1"}prepare(e,t,r){const o=this.cryptoMethod;if(o==="sha256"&&typeof u!=="function"){A("Warning: no saslprep library specified. Passwords will not be sanitized")}n.randomBytes(24,((n,s)=>{if(n){return r(n)}Object.assign(t,{nonce:s});const i=t.credentials;const a=Object.assign({},e,{speculativeAuthenticate:Object.assign(makeFirstMessage(o,i,s),{db:i.source})});r(undefined,a)}))}auth(e,t){const r=e.response;if(r&&r.speculativeAuthenticate){continueScramConversation(this.cryptoMethod,r.speculativeAuthenticate,e,t);return}executeScram(this.cryptoMethod,e,t)}}function cleanUsername(e){return e.replace("=","=3D").replace(",","=2C")}function clientFirstMessageBare(e,t){return o.concat([o.from("n=","utf8"),o.from(e,"utf8"),o.from(",r=","utf8"),o.from(t.toString("base64"),"utf8")])}function makeFirstMessage(e,t,r){const n=cleanUsername(t.username);const s=e==="sha1"?"SCRAM-SHA-1":"SCRAM-SHA-256";return{saslStart:1,mechanism:s,payload:new l(o.concat([o.from("n,,","utf8"),clientFirstMessageBare(n,r)])),autoAuthorize:1,options:{skipEmptyExchange:true}}}function executeScram(e,t,r){const n=t.connection;const o=t.credentials;const s=t.nonce;const i=o.source;const a=makeFirstMessage(e,o,s);n.command(`${i}.$cmd`,a,((n,o)=>{const s=resolveError(n,o);if(s){return r(s)}continueScramConversation(e,o.result,t,r)}))}function continueScramConversation(e,t,r,n){const s=r.connection;const a=r.credentials;const A=r.nonce;const c=a.source;const h=cleanUsername(a.username);const d=a.password;let g;if(e==="sha256"){g=typeof u==="function"?u(d):d}else{try{g=passwordDigest(h,d)}catch(e){return n(e)}}const p=o.isBuffer(t.payload)?new l(t.payload):t.payload;const E=parsePayload(p.value());const m=parseInt(E.i,10);if(m&&m<4096){n(new i(`Server returned an invalid iteration count ${m}`),false);return}const C=E.s;const I=E.r;if(I.startsWith("nonce")){n(new i(`Server returned an invalid nonce: ${I}`),false);return}const y=`c=biws,r=${I}`;const B=HI(g,o.from(C,"base64"),m,e);const Q=HMAC(e,B,"Client Key");const b=HMAC(e,B,"Server Key");const w=H(e,Q);const S=[clientFirstMessageBare(h,A),p.value().toString("base64"),y].join(",");const v=HMAC(e,w,S);const R=`p=${xor(Q,v)}`;const k=[y,R].join(",");const D=HMAC(e,b,S);const N={saslContinue:1,conversationId:t.conversationId,payload:new l(o.from(k))};s.command(`${c}.$cmd`,N,((e,t)=>{const r=resolveError(e,t);if(r){return n(r)}const a=t.result;const A=parsePayload(a.payload.value());if(!compareDigest(o.from(A.v,"base64"),D)){n(new i("Server returned an invalid signature"));return}if(!a||a.done!==false){return n(r,a)}const l={saslContinue:1,conversationId:a.conversationId,payload:o.alloc(0)};s.command(`${c}.$cmd`,l,n)}))}function parsePayload(e){const t={};const r=e.split(",");for(let e=0;e=200){_hiCachePurge()}h[s]=i;d+=1;return i}function compareDigest(e,t){if(e.length!==t.length){return false}if(typeof n.timingSafeEqual==="function"){return n.timingSafeEqual(e,t)}let r=0;for(let n=0;n{"use strict";const n=r(557).AuthProvider;class X509 extends n{prepare(e,t,r){const n=t.credentials;Object.assign(e,{speculativeAuthenticate:x509AuthenticateCommand(n)});r(undefined,e)}auth(e,t){const r=e.connection;const n=e.credentials;const o=e.response;if(o.speculativeAuthenticate){return t()}r.command("$external.$cmd",x509AuthenticateCommand(n),t)}}function x509AuthenticateCommand(e){const t={authenticate:1,mechanism:"MONGODB-X509"};if(e.username){Object.assign(t,{user:e.username})}return t}e.exports=X509},9815:(e,t,r)=>{"use strict";const n=r(9814).KillCursor;const o=r(9814).GetMore;const s=r(1371).calculateDurationInMs;const i=r(7703).extractCommand;const namespace=e=>e.ns;const databaseName=e=>e.ns.split(".")[0];const generateConnectionId=e=>e.options?`${e.options.host}:${e.options.port}`:e.address;const isLegacyPool=e=>e.s&&e.queue;const extractReply=(e,t)=>{if(e instanceof o){return{ok:1,cursor:{id:t.message.cursorId,ns:namespace(e),nextBatch:t.message.documents}}}if(e instanceof n){return{ok:1,cursorsUnknown:e.cursorIds}}if(e.query&&typeof e.query.$query!=="undefined"){return{ok:1,cursor:{id:t.message.cursorId,ns:namespace(e),firstBatch:t.message.documents}}}return t&&t.result?t.result:t};const extractConnectionDetails=e=>{if(isLegacyPool(e)){return{connectionId:generateConnectionId(e)}}const t=e;return{address:t.address,connectionId:t.id}};class CommandStartedEvent{constructor(e,t){const r=i(t);const n=r.name;const o=extractConnectionDetails(e);Object.assign(this,o,{requestId:t.requestId,databaseName:databaseName(t),commandName:n,command:r.shouldRedact?{}:r.cmd})}}class CommandSucceededEvent{constructor(e,t,r,n){const o=i(t);const a=o.name;const A=extractConnectionDetails(e);Object.assign(this,A,{requestId:t.requestId,commandName:a,duration:s(n),reply:o.shouldRedact?{}:extractReply(t,r)})}}class CommandFailedEvent{constructor(e,t,r,n){const o=i(t);const a=o.name;const A=extractConnectionDetails(e);Object.assign(this,A,{requestId:t.requestId,commandName:a,duration:s(n),failure:o.shouldRedact?{}:r})}}e.exports={CommandStartedEvent:CommandStartedEvent,CommandSucceededEvent:CommandSucceededEvent,CommandFailedEvent:CommandFailedEvent}},2337:e=>{"use strict";var CommandResult=function(e,t,r){this.result=e;this.connection=t;this.message=r};CommandResult.prototype.toJSON=function(){let e=Object.assign({},this,this.result);delete e.message;return e};CommandResult.prototype.toString=function(){return JSON.stringify(this.toJSON())};e.exports=CommandResult},9814:(e,t,r)=>{"use strict";var n=r(7746).retrieveBSON;var o=n();var s=o.Long;const i=r(1867).Buffer;var a=0;var A=r(7272).opcodes;var c=2;var l=4;var u=8;var h=16;var d=32;var g=64;var p=128;var E=1;var m=2;var C=4;var I=8;var Query=function(e,t,r,n){var o=this;if(t==null)throw new Error("ns must be specified for query");if(r==null)throw new Error("query must be specified for query");if(t.indexOf("\0")!==-1){throw new Error("namespace cannot contain a null character")}this.bson=e;this.ns=t;this.query=r;this.numberToSkip=n.numberToSkip||0;this.numberToReturn=n.numberToReturn||0;this.returnFieldSelector=n.returnFieldSelector||null;this.requestId=Query.getRequestId();this.pre32Limit=n.pre32Limit;this.serializeFunctions=typeof n.serializeFunctions==="boolean"?n.serializeFunctions:false;this.ignoreUndefined=typeof n.ignoreUndefined==="boolean"?n.ignoreUndefined:false;this.maxBsonSize=n.maxBsonSize||1024*1024*16;this.checkKeys=typeof n.checkKeys==="boolean"?n.checkKeys:true;this.batchSize=o.numberToReturn;this.tailable=false;this.slaveOk=typeof n.slaveOk==="boolean"?n.slaveOk:false;this.oplogReplay=false;this.noCursorTimeout=false;this.awaitData=false;this.exhaust=false;this.partial=false};Query.prototype.incRequestId=function(){this.requestId=a++};Query.nextRequestId=function(){return a+1};Query.prototype.toBin=function(){var e=this;var t=[];var r=null;var n=0;if(this.tailable){n|=c}if(this.slaveOk){n|=l}if(this.oplogReplay){n|=u}if(this.noCursorTimeout){n|=h}if(this.awaitData){n|=d}if(this.exhaust){n|=g}if(this.partial){n|=p}if(e.batchSize!==e.numberToReturn)e.numberToReturn=e.batchSize;var o=i.alloc(4*4+4+i.byteLength(e.ns)+1+4+4);t.push(o);var s=e.bson.serialize(this.query,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined});t.push(s);if(e.returnFieldSelector&&Object.keys(e.returnFieldSelector).length>0){r=e.bson.serialize(this.returnFieldSelector,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined});t.push(r)}var a=o.length+s.length+(r?r.length:0);var E=4;o[3]=a>>24&255;o[2]=a>>16&255;o[1]=a>>8&255;o[0]=a&255;o[E+3]=this.requestId>>24&255;o[E+2]=this.requestId>>16&255;o[E+1]=this.requestId>>8&255;o[E]=this.requestId&255;E=E+4;o[E+3]=0>>24&255;o[E+2]=0>>16&255;o[E+1]=0>>8&255;o[E]=0&255;E=E+4;o[E+3]=A.OP_QUERY>>24&255;o[E+2]=A.OP_QUERY>>16&255;o[E+1]=A.OP_QUERY>>8&255;o[E]=A.OP_QUERY&255;E=E+4;o[E+3]=n>>24&255;o[E+2]=n>>16&255;o[E+1]=n>>8&255;o[E]=n&255;E=E+4;E=E+o.write(this.ns,E,"utf8")+1;o[E-1]=0;o[E+3]=this.numberToSkip>>24&255;o[E+2]=this.numberToSkip>>16&255;o[E+1]=this.numberToSkip>>8&255;o[E]=this.numberToSkip&255;E=E+4;o[E+3]=this.numberToReturn>>24&255;o[E+2]=this.numberToReturn>>16&255;o[E+1]=this.numberToReturn>>8&255;o[E]=this.numberToReturn&255;E=E+4;return t};Query.getRequestId=function(){return++a};var GetMore=function(e,t,r,n){n=n||{};this.numberToReturn=n.numberToReturn||0;this.requestId=a++;this.bson=e;this.ns=t;this.cursorId=r};GetMore.prototype.toBin=function(){var e=4+i.byteLength(this.ns)+1+4+8+4*4;var t=0;var r=i.alloc(e);r[t+3]=e>>24&255;r[t+2]=e>>16&255;r[t+1]=e>>8&255;r[t]=e&255;t=t+4;r[t+3]=this.requestId>>24&255;r[t+2]=this.requestId>>16&255;r[t+1]=this.requestId>>8&255;r[t]=this.requestId&255;t=t+4;r[t+3]=0>>24&255;r[t+2]=0>>16&255;r[t+1]=0>>8&255;r[t]=0&255;t=t+4;r[t+3]=A.OP_GETMORE>>24&255;r[t+2]=A.OP_GETMORE>>16&255;r[t+1]=A.OP_GETMORE>>8&255;r[t]=A.OP_GETMORE&255;t=t+4;r[t+3]=0>>24&255;r[t+2]=0>>16&255;r[t+1]=0>>8&255;r[t]=0&255;t=t+4;t=t+r.write(this.ns,t,"utf8")+1;r[t-1]=0;r[t+3]=this.numberToReturn>>24&255;r[t+2]=this.numberToReturn>>16&255;r[t+1]=this.numberToReturn>>8&255;r[t]=this.numberToReturn&255;t=t+4;r[t+3]=this.cursorId.getLowBits()>>24&255;r[t+2]=this.cursorId.getLowBits()>>16&255;r[t+1]=this.cursorId.getLowBits()>>8&255;r[t]=this.cursorId.getLowBits()&255;t=t+4;r[t+3]=this.cursorId.getHighBits()>>24&255;r[t+2]=this.cursorId.getHighBits()>>16&255;r[t+1]=this.cursorId.getHighBits()>>8&255;r[t]=this.cursorId.getHighBits()&255;t=t+4;return r};var KillCursor=function(e,t,r){this.ns=t;this.requestId=a++;this.cursorIds=r};KillCursor.prototype.toBin=function(){var e=4+4+4*4+this.cursorIds.length*8;var t=0;var r=i.alloc(e);r[t+3]=e>>24&255;r[t+2]=e>>16&255;r[t+1]=e>>8&255;r[t]=e&255;t=t+4;r[t+3]=this.requestId>>24&255;r[t+2]=this.requestId>>16&255;r[t+1]=this.requestId>>8&255;r[t]=this.requestId&255;t=t+4;r[t+3]=0>>24&255;r[t+2]=0>>16&255;r[t+1]=0>>8&255;r[t]=0&255;t=t+4;r[t+3]=A.OP_KILL_CURSORS>>24&255;r[t+2]=A.OP_KILL_CURSORS>>16&255;r[t+1]=A.OP_KILL_CURSORS>>8&255;r[t]=A.OP_KILL_CURSORS&255;t=t+4;r[t+3]=0>>24&255;r[t+2]=0>>16&255;r[t+1]=0>>8&255;r[t]=0&255;t=t+4;r[t+3]=this.cursorIds.length>>24&255;r[t+2]=this.cursorIds.length>>16&255;r[t+1]=this.cursorIds.length>>8&255;r[t]=this.cursorIds.length&255;t=t+4;for(var n=0;n>24&255;r[t+2]=this.cursorIds[n].getLowBits()>>16&255;r[t+1]=this.cursorIds[n].getLowBits()>>8&255;r[t]=this.cursorIds[n].getLowBits()&255;t=t+4;r[t+3]=this.cursorIds[n].getHighBits()>>24&255;r[t+2]=this.cursorIds[n].getHighBits()>>16&255;r[t+1]=this.cursorIds[n].getHighBits()>>8&255;r[t]=this.cursorIds[n].getHighBits()&255;t=t+4}return r};var Response=function(e,t,r,n,o){o=o||{promoteLongs:true,promoteValues:true,promoteBuffers:false,bsonRegExp:false};this.parsed=false;this.raw=t;this.data=n;this.bson=e;this.opts=o;this.length=r.length;this.requestId=r.requestId;this.responseTo=r.responseTo;this.opCode=r.opCode;this.fromCompressed=r.fromCompressed;this.responseFlags=n.readInt32LE(0);this.cursorId=new s(n.readInt32LE(4),n.readInt32LE(8));this.startingFrom=n.readInt32LE(12);this.numberReturned=n.readInt32LE(16);this.documents=new Array(this.numberReturned);this.cursorNotFound=(this.responseFlags&E)!==0;this.queryFailure=(this.responseFlags&m)!==0;this.shardConfigStale=(this.responseFlags&C)!==0;this.awaitCapable=(this.responseFlags&I)!==0;this.promoteLongs=typeof o.promoteLongs==="boolean"?o.promoteLongs:true;this.promoteValues=typeof o.promoteValues==="boolean"?o.promoteValues:true;this.promoteBuffers=typeof o.promoteBuffers==="boolean"?o.promoteBuffers:false;this.bsonRegExp=typeof o.bsonRegExp==="boolean"?o.bsonRegExp:false};Response.prototype.isParsed=function(){return this.parsed};Response.prototype.parse=function(e){if(this.parsed)return;e=e||{};var t=e.raw||false;var r=e.documentsReturnedIn||null;var n=typeof e.promoteLongs==="boolean"?e.promoteLongs:this.opts.promoteLongs;var o=typeof e.promoteValues==="boolean"?e.promoteValues:this.opts.promoteValues;var s=typeof e.promoteBuffers==="boolean"?e.promoteBuffers:this.opts.promoteBuffers;var i=typeof e.bsonRegExp==="boolean"?e.bsonRegExp:this.opts.bsonRegExp;var a,A;A={promoteLongs:n,promoteValues:o,promoteBuffers:s,bsonRegExp:i};this.index=20;for(var c=0;c{"use strict";const n=r(1808);const o=r(4404);const s=r(6096);const i=r(3111).MongoError;const a=r(3111).MongoNetworkError;const A=r(3111).MongoNetworkTimeoutError;const c=r(2192).defaultAuthProviders;const l=r(557).AuthContext;const u=r(7161);const h=r(1178).makeClientMetadata;const d=u.MAX_SUPPORTED_WIRE_VERSION;const g=u.MAX_SUPPORTED_SERVER_VERSION;const p=u.MIN_SUPPORTED_WIRE_VERSION;const E=u.MIN_SUPPORTED_SERVER_VERSION;let m;function connect(e,t,r){if(typeof t==="function"){r=t;t=undefined}const n=e&&e.connectionType?e.connectionType:s;if(m==null){m=c(e.bson)}const o=e.family!==void 0?e.family:0;makeConnection(o,e,t,((t,o)=>{if(t){r(t,o);return}performInitialHandshake(new n(o,e),e,r)}))}function isModernConnectionType(e){return!(e instanceof s)}function checkSupportedServer(e,t){const r=e&&typeof e.maxWireVersion==="number"&&e.maxWireVersion>=p;const n=e&&typeof e.minWireVersion==="number"&&e.minWireVersion<=d;if(r){if(n){return null}const r=`Server at ${t.host}:${t.port} reports minimum wire version ${e.minWireVersion}, but this version of the Node.js Driver requires at most ${d} (MongoDB ${g})`;return new i(r)}const o=`Server at ${t.host}:${t.port} reports maximum wire version ${e.maxWireVersion||0}, but this version of the Node.js Driver requires at least ${p} (MongoDB ${E})`;return new i(o)}function performInitialHandshake(e,t,r){const callback=function(t,n){if(t&&e){e.destroy()}r(t,n)};const n=t.credentials;if(n){if(!n.mechanism.match(/DEFAULT/i)&&!m[n.mechanism]){callback(new i(`authMechanism '${n.mechanism}' not supported`));return}}const o=new l(e,n,t);prepareHandshakeDocument(o,((r,s)=>{if(r){return callback(r)}const a=Object.assign({},t);if(t.connectTimeoutMS||t.connectionTimeout){a.socketTimeout=t.connectTimeoutMS||t.connectionTimeout}s.helloOk=!!t.useUnifiedTopology;const A=(new Date).getTime();e.command("admin.$cmd",s,a,((r,a)=>{if(r){callback(r);return}const c=a.result;if(c.ok===0){callback(new i(c));return}if("isWritablePrimary"in c){c.ismaster=c.isWritablePrimary}if(t.useUnifiedTopology&&c.helloOk){e.helloOk=true}const l=checkSupportedServer(c,t);if(l){callback(l);return}if(!isModernConnectionType(e)){if(c.compression){const r=s.compression.filter((e=>c.compression.indexOf(e)!==-1));if(r.length){e.agreedCompressor=r[0]}if(t.compression&&t.compression.zlibCompressionLevel){e.zlibCompressionLevel=t.compression.zlibCompressionLevel}}}e.ismaster=c;e.lastIsMasterMS=(new Date).getTime()-A;if(!c.arbiterOnly&&n){Object.assign(o,{response:c});const t=n.resolveAuthMechanism(c);const r=m[t.mechanism];r.auth(o,(t=>{if(t)return callback(t);callback(undefined,e)}));return}callback(undefined,e)}))}))}function prepareHandshakeDocument(e,t){const r=e.options;const n=e.connection.serverApi;const o=r.compression&&r.compression.compressors?r.compression.compressors:[];const s={[n?"hello":"ismaster"]:true,client:r.metadata||h(r),compression:o};const a=e.credentials;if(a){if(a.mechanism.match(/DEFAULT/i)&&a.username){Object.assign(s,{saslSupportedMechs:`${a.source}.${a.username}`});m["scram-sha-256"].prepare(s,e,t);return}const r=m[a.mechanism];if(r==null){return t(new i(`No AuthProvider for ${a.mechanism} defined.`))}r.prepare(s,e,t);return}t(undefined,s)}const C=["pfx","key","passphrase","cert","ca","ciphers","NPNProtocols","ALPNProtocols","servername","ecdhCurve","secureProtocol","secureContext","session","minDHSize","crl","rejectUnauthorized"];function parseConnectOptions(e,t){const r=typeof t.host==="string"?t.host:"localhost";if(r.indexOf("/")!==-1){return{path:r}}const n={family:e,host:r,port:typeof t.port==="number"?t.port:27017,rejectUnauthorized:false};return n}function parseSslOptions(e,t){const r=parseConnectOptions(e,t);for(const e in t){if(t[e]!=null&&C.indexOf(e)!==-1){r[e]=t[e]}}if(t.checkServerIdentity===false){r.checkServerIdentity=function(){return undefined}}else if(typeof t.checkServerIdentity==="function"){r.checkServerIdentity=t.checkServerIdentity}if(r.servername==null&&!n.isIP(r.host)){r.servername=r.host}return r}const I=new Set(["error","close","timeout","parseError"]);function makeConnection(e,t,r,s){const i=typeof t.ssl==="boolean"?t.ssl:false;const a=typeof t.keepAlive==="boolean"?t.keepAlive:true;let A=typeof t.keepAliveInitialDelay==="number"?t.keepAliveInitialDelay:12e4;const c=typeof t.noDelay==="boolean"?t.noDelay:true;const l=typeof t.connectionTimeout==="number"?t.connectionTimeout:typeof t.connectTimeoutMS==="number"?t.connectTimeoutMS:3e4;const u=typeof t.socketTimeoutMS==="number"?t.socketTimeoutMS:typeof t.socketTimeout==="number"?t.socketTimeout:0;const h=typeof t.rejectUnauthorized==="boolean"?t.rejectUnauthorized:true;if(A>u){A=Math.round(u/2)}let d;const callback=function(e,t){if(e&&d){d.destroy()}s(e,t)};try{if(i){d=o.connect(parseSslOptions(e,t));if(typeof d.disableRenegotiation==="function"){d.disableRenegotiation()}}else{d=n.createConnection(parseConnectOptions(e,t))}}catch(e){return callback(e)}d.setKeepAlive(a,A);d.setTimeout(l);d.setNoDelay(c);const g=i?"secureConnect":"connect";let p;function errorHandler(e){return t=>{I.forEach((e=>d.removeAllListeners(e)));if(p){r.removeListener("cancel",p)}d.removeListener(g,connectHandler);callback(connectionFailureError(e,t))}}function connectHandler(){I.forEach((e=>d.removeAllListeners(e)));if(p){r.removeListener("cancel",p)}if(d.authorizationError&&h){return callback(d.authorizationError)}d.setTimeout(u);callback(null,d)}I.forEach((e=>d.once(e,errorHandler(e))));if(r){p=errorHandler("cancel");r.once("cancel",p)}d.once(g,connectHandler)}function connectionFailureError(e,t){switch(e){case"error":return new a(t);case"timeout":return new A(`connection timed out`);case"close":return new a(`connection closed`);case"cancel":return new a(`connection establishment was cancelled`);default:return new a(`unknown network error`)}}e.exports=connect},6096:(e,t,r)=>{"use strict";const n=r(2361).EventEmitter;const o=r(6113);const s=r(7746).debugOptions;const i=r(7272).parseHeader;const a=r(7793).decompress;const A=r(9814).Response;const c=r(8988).BinMsg;const l=r(3111).MongoNetworkError;const u=r(3111).MongoNetworkTimeoutError;const h=r(3111).MongoError;const d=r(104);const g=r(7272).opcodes.OP_COMPRESSED;const p=r(7272).opcodes.OP_MSG;const E=r(7272).MESSAGE_HEADER_SIZE;const m=r(1867).Buffer;const C=r(9814).Query;const I=r(2337);let y=0;const B=1024*1024*16*4;const Q=["host","port","size","keepAlive","keepAliveInitialDelay","noDelay","connectionTimeout","socketTimeout","ssl","ca","crl","cert","rejectUnauthorized","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","checkServerIdentity"];let b=undefined;let w=false;let S={};class Connection extends n{constructor(e,t){super();t=t||{};if(!t.bson){throw new TypeError("must pass in valid bson parser")}this.id=y++;this.options=t;this.logger=d("Connection",t);this.bson=t.bson;this.tag=t.tag;this.maxBsonMessageSize=t.maxBsonMessageSize||B;this.helloOk=undefined;this.port=t.port||27017;this.host=t.host||"localhost";this.socketTimeout=typeof t.socketTimeout==="number"?t.socketTimeout:0;this.keepAlive=typeof t.keepAlive==="boolean"?t.keepAlive:true;this.keepAliveInitialDelay=typeof t.keepAliveInitialDelay==="number"?t.keepAliveInitialDelay:12e4;this.connectionTimeout=typeof t.connectionTimeout==="number"?t.connectionTimeout:3e4;if(this.keepAliveInitialDelay>this.socketTimeout){this.keepAliveInitialDelay=Math.round(this.socketTimeout/2)}if(this.logger.isDebug()){this.logger.debug(`creating connection ${this.id} with options [${JSON.stringify(s(Q,t))}]`)}this.responseOptions={promoteLongs:typeof t.promoteLongs==="boolean"?t.promoteLongs:true,promoteValues:typeof t.promoteValues==="boolean"?t.promoteValues:true,promoteBuffers:typeof t.promoteBuffers==="boolean"?t.promoteBuffers:false,bsonRegExp:typeof t.bsonRegExp==="boolean"?t.bsonRegExp:false};this.flushing=false;this.queue=[];this.writeStream=null;this.destroyed=false;this.timedOut=false;const r=o.createHash("sha1");r.update(this.address);this.hashedName=r.digest("hex");this.workItems=[];this.socket=e;this.socket.once("error",errorHandler(this));this.socket.once("timeout",timeoutHandler(this));this.socket.once("close",closeHandler(this));this.socket.on("data",dataHandler(this));if(w){addConnection(this.id,this)}}setSocketTimeout(e){if(this.socket){this.socket.setTimeout(e)}}resetSocketTimeout(){if(this.socket){this.socket.setTimeout(this.socketTimeout)}}static enableConnectionAccounting(e){if(e){b=e}w=true;S={}}static disableConnectionAccounting(){w=false;b=undefined}static connections(){return S}get address(){return`${this.host}:${this.port}`}unref(){if(this.socket==null){this.once("connect",(()=>this.socket.unref()));return}this.socket.unref()}flush(e){while(this.workItems.length>0){const t=this.workItems.shift();if(t.cb){t.cb(e)}}}destroy(e,t){if(typeof e==="function"){t=e;e={}}e=Object.assign({force:false},e);if(w){deleteConnection(this.id)}if(this.socket==null){this.destroyed=true;return}if(e.force||this.timedOut){this.socket.destroy();this.destroyed=true;if(typeof t==="function")t(null,null);return}this.socket.end((e=>{this.destroyed=true;if(typeof t==="function")t(e,null)}))}write(e){if(this.logger.isDebug()){if(!Array.isArray(e)){this.logger.debug(`writing buffer [ ${e.length} ] to ${this.address}`)}else{for(let t=0;t{};function _callback(e,t){n(e,t);n=noop}function errorHandler(e){o.resetSocketTimeout();v.forEach((e=>o.removeListener(e,errorHandler)));o.removeListener("message",messageHandler);if(e==null){e=new h(`runCommand failed for connection to '${o.address}'`)}o.on("error",noop);_callback(e)}function messageHandler(e){if(e.responseTo!==a.requestId){return}o.resetSocketTimeout();v.forEach((e=>o.removeListener(e,errorHandler)));o.removeListener("message",messageHandler);e.parse({promoteValues:true});const t=e.documents[0];if(t.ok===0||t.$err||t.errmsg||t.code){_callback(new h(t));return}_callback(undefined,new I(t,this,e))}o.setSocketTimeout(s);v.forEach((e=>o.once(e,errorHandler)));o.on("message",messageHandler);o.write(a.toBin())}}const v=["error","close","timeout","parseError"];function deleteConnection(e){delete S[e];if(b){b.deleteConnection(e)}}function addConnection(e,t){S[e]=t;if(b){b.addConnection(e,t)}}function errorHandler(e){return function(t){if(w)deleteConnection(e.id);if(e.logger.isDebug()){e.logger.debug(`connection ${e.id} for [${e.address}] errored out with [${JSON.stringify(t)}]`)}e.emit("error",new l(t),e)}}function timeoutHandler(e){return function(){if(w)deleteConnection(e.id);if(e.logger.isDebug()){e.logger.debug(`connection ${e.id} for [${e.address}] timed out`)}e.timedOut=true;e.emit("timeout",new u(`connection ${e.id} to ${e.address} timed out`,{beforeHandshake:e.ismaster==null}),e)}}function closeHandler(e){return function(t){if(w)deleteConnection(e.id);if(e.logger.isDebug()){e.logger.debug(`connection ${e.id} with for [${e.address}] closed`)}if(!t){e.emit("close",new l(`connection ${e.id} to ${e.address} closed`),e)}}}function processMessage(e,t){const r=i(t);if(r.opCode!==g){const n=r.opCode===p?c:A;e.emit("message",new n(e.bson,t,r,t.slice(E),e.responseOptions),e);return}r.fromCompressed=true;let n=E;r.opCode=t.readInt32LE(n);n+=4;r.length=t.readInt32LE(n);n+=4;const o=t[n];n++;a(o,t.slice(n),((n,o)=>{if(n){e.emit("error",n);return}if(o.length!==r.length){e.emit("error",new h("Decompressing a compressed message from the server failed. The message is corrupt."));return}const s=r.opCode===p?c:A;e.emit("message",new s(e.bson,t,r,o,e.responseOptions),e)}))}function dataHandler(e){return function(t){while(t.length>0){if(e.bytesRead>0&&e.sizeOfMessage>0){const r=e.sizeOfMessage-e.bytesRead;if(r>t.length){t.copy(e.buffer,e.bytesRead);e.bytesRead=e.bytesRead+t.length;t=m.alloc(0)}else{t.copy(e.buffer,e.bytesRead,0,r);t=t.slice(r);const n=e.buffer;e.buffer=null;e.sizeOfMessage=0;e.bytesRead=0;e.stubBuffer=null;processMessage(e,n)}}else{if(e.stubBuffer!=null&&e.stubBuffer.length>0){if(e.stubBuffer.length+t.length>4){const r=m.alloc(e.stubBuffer.length+t.length);e.stubBuffer.copy(r,0);t.copy(r,e.stubBuffer.length);t=r;e.buffer=null;e.sizeOfMessage=0;e.bytesRead=0;e.stubBuffer=null}else{const r=m.alloc(e.stubBuffer.length+t.length);e.stubBuffer.copy(r,0);t.copy(r,e.stubBuffer.length);t=m.alloc(0)}}else{if(t.length>4){const r=t[0]|t[1]<<8|t[2]<<16|t[3]<<24;if(r<0||r>e.maxBsonMessageSize){const t={err:"socketHandler",trace:"",bin:e.buffer,parseState:{sizeOfMessage:r,bytesRead:e.bytesRead,stubBuffer:e.stubBuffer}};e.emit("parseError",t,e);return}if(r>4&&rt.length){e.buffer=m.alloc(r);t.copy(e.buffer,0);e.bytesRead=t.length;e.sizeOfMessage=r;e.stubBuffer=null;t=m.alloc(0)}else if(r>4&&re.maxBsonMessageSize){const n={err:"socketHandler",trace:null,bin:t,parseState:{sizeOfMessage:r,bytesRead:0,buffer:null,stubBuffer:null}};e.emit("parseError",n,e);e.buffer=null;e.sizeOfMessage=0;e.bytesRead=0;e.stubBuffer=null;t=m.alloc(0)}else{const n=t.slice(0,r);e.buffer=null;e.sizeOfMessage=0;e.bytesRead=0;e.stubBuffer=null;t=t.slice(r);processMessage(e,n)}}else{e.stubBuffer=m.alloc(t.length);t.copy(e.stubBuffer,0);t=m.alloc(0)}}}}}}e.exports=Connection},104:(e,t,r)=>{"use strict";var n=r(3837).format,o=r(3111).MongoError;var s={};var i={};var a=null;var A=process.pid;var c=null;var Logger=function(e,t){if(!(this instanceof Logger))return new Logger(e,t);t=t||{};this.className=e;if(t.logger){c=t.logger}else if(c==null){c=console.log}if(t.loggerLevel){a=t.loggerLevel||"error"}if(i[this.className]==null)s[this.className]=true};Logger.prototype.debug=function(e,t){if(this.isDebug()&&(Object.keys(i).length>0&&i[this.className]||Object.keys(i).length===0&&s[this.className])){var r=(new Date).getTime();var o=n("[%s-%s:%s] %s %s","DEBUG",this.className,A,r,e);var a={type:"debug",message:e,className:this.className,pid:A,date:r};if(t)a.meta=t;c(o,a)}};Logger.prototype.warn=function(e,t){if(this.isWarn()&&(Object.keys(i).length>0&&i[this.className]||Object.keys(i).length===0&&s[this.className])){var r=(new Date).getTime();var o=n("[%s-%s:%s] %s %s","WARN",this.className,A,r,e);var a={type:"warn",message:e,className:this.className,pid:A,date:r};if(t)a.meta=t;c(o,a)}},Logger.prototype.info=function(e,t){if(this.isInfo()&&(Object.keys(i).length>0&&i[this.className]||Object.keys(i).length===0&&s[this.className])){var r=(new Date).getTime();var o=n("[%s-%s:%s] %s %s","INFO",this.className,A,r,e);var a={type:"info",message:e,className:this.className,pid:A,date:r};if(t)a.meta=t;c(o,a)}},Logger.prototype.error=function(e,t){if(this.isError()&&(Object.keys(i).length>0&&i[this.className]||Object.keys(i).length===0&&s[this.className])){var r=(new Date).getTime();var o=n("[%s-%s:%s] %s %s","ERROR",this.className,A,r,e);var a={type:"error",message:e,className:this.className,pid:A,date:r};if(t)a.meta=t;c(o,a)}},Logger.prototype.isInfo=function(){return a==="info"||a==="debug"},Logger.prototype.isError=function(){return a==="error"||a==="info"||a==="debug"},Logger.prototype.isWarn=function(){return a==="error"||a==="warn"||a==="info"||a==="debug"},Logger.prototype.isDebug=function(){return a==="debug"};Logger.reset=function(){a="error";i={}};Logger.currentLogger=function(){return c};Logger.setCurrentLogger=function(e){if(typeof e!=="function")throw new o("current logger must be a function");c=e};Logger.filter=function(e,t){if(e==="class"&&Array.isArray(t)){i={};t.forEach((function(e){i[e]=true}))}};Logger.setLevel=function(e){if(e!=="info"&&e!=="error"&&e!=="debug"&&e!=="warn"){throw new Error(n("%s is an illegal logging level",e))}a=e};e.exports=Logger},8988:(e,t,r)=>{"use strict";const n=r(1867).Buffer;const o=r(7272).opcodes;const s=r(7272).databaseNamespace;const i=r(4485);const a=r(3111).MongoError;let A=0;const c=1;const l=2;const u=1<<16;class Msg{constructor(e,t,r,n){if(r==null)throw new Error("query must be specified for query");this.bson=e;this.ns=t;this.command=r;this.command.$db=s(t);if(n.readPreference&&n.readPreference.mode!==i.PRIMARY){this.command.$readPreference=n.readPreference.toJSON()}this.options=n||{};this.requestId=n.requestId?n.requestId:Msg.getRequestId();this.serializeFunctions=typeof n.serializeFunctions==="boolean"?n.serializeFunctions:false;this.ignoreUndefined=typeof n.ignoreUndefined==="boolean"?n.ignoreUndefined:false;this.checkKeys=typeof n.checkKeys==="boolean"?n.checkKeys:false;this.maxBsonSize=n.maxBsonSize||1024*1024*16;this.checksumPresent=false;this.moreToCome=n.moreToCome||false;this.exhaustAllowed=typeof n.exhaustAllowed==="boolean"?n.exhaustAllowed:false}toBin(){const e=[];let t=0;if(this.checksumPresent){t|=c}if(this.moreToCome){t|=l}if(this.exhaustAllowed){t|=u}const r=n.alloc(4*4+4);e.push(r);let s=r.length;const i=this.command;s+=this.makeDocumentSegment(e,i);r.writeInt32LE(s,0);r.writeInt32LE(this.requestId,4);r.writeInt32LE(0,8);r.writeInt32LE(o.OP_MSG,12);r.writeUInt32LE(t,16);return e}makeDocumentSegment(e,t){const r=n.alloc(1);r[0]=0;const o=this.serializeBson(t);e.push(r);e.push(o);return r.length+o.length}serializeBson(e){return this.bson.serialize(e,{checkKeys:this.checkKeys,serializeFunctions:this.serializeFunctions,ignoreUndefined:this.ignoreUndefined})}}Msg.getRequestId=function(){A=A+1&2147483647;return A};class BinMsg{constructor(e,t,r,n,o){o=o||{promoteLongs:true,promoteValues:true,promoteBuffers:false,bsonRegExp:false};this.parsed=false;this.raw=t;this.data=n;this.bson=e;this.opts=o;this.length=r.length;this.requestId=r.requestId;this.responseTo=r.responseTo;this.opCode=r.opCode;this.fromCompressed=r.fromCompressed;this.responseFlags=n.readInt32LE(0);this.checksumPresent=(this.responseFlags&c)!==0;this.moreToCome=(this.responseFlags&l)!==0;this.exhaustAllowed=(this.responseFlags&u)!==0;this.promoteLongs=typeof o.promoteLongs==="boolean"?o.promoteLongs:true;this.promoteValues=typeof o.promoteValues==="boolean"?o.promoteValues:true;this.promoteBuffers=typeof o.promoteBuffers==="boolean"?o.promoteBuffers:false;this.bsonRegExp=typeof o.bsonRegExp==="boolean"?o.bsonRegExp:false;this.documents=[]}isParsed(){return this.parsed}parse(e){if(this.parsed)return;e=e||{};this.index=4;const t=e.raw||false;const r=e.documentsReturnedIn||null;const n=typeof e.promoteLongs==="boolean"?e.promoteLongs:this.opts.promoteLongs;const o=typeof e.promoteValues==="boolean"?e.promoteValues:this.opts.promoteValues;const s=typeof e.promoteBuffers==="boolean"?e.promoteBuffers:this.opts.promoteBuffers;const i=typeof e.bsonRegExp==="boolean"?e.bsonRegExp:this.opts.bsonRegExp;const A={promoteLongs:n,promoteValues:o,promoteBuffers:s,bsonRegExp:i};while(this.index{"use strict";const n=r(3837).inherits;const o=r(2361).EventEmitter;const s=r(3111).MongoError;const i=r(3111).MongoTimeoutError;const a=r(3111).MongoWriteConcernError;const A=r(104);const c=r(3837).format;const l=r(8988).Msg;const u=r(2337);const h=r(7272).MESSAGE_HEADER_SIZE;const d=r(7272).COMPRESSION_DETAILS_SIZE;const g=r(7272).opcodes;const p=r(7793).compress;const E=r(7793).compressorIDs;const m=r(7793).uncompressibleCommands;const C=r(9815);const I=r(1867).Buffer;const y=r(6573);const B=r(5474).updateSessionFromResponse;const Q=r(1178).eachAsync;const b=r(1178).makeStateMachine;const w=r(1371).now;const S="disconnected";const v="connecting";const R="connected";const k="draining";const D="destroying";const N="destroyed";const T=b({[S]:[v,k,S],[v]:[v,R,k,S],[R]:[R,S,k],[k]:[k,D,N],[D]:[D,N],[N]:[N]});const O=new Set(["error","close","timeout","parseError","connect","message"]);var _=0;var Pool=function(e,t){o.call(this);this.topology=e;this.s={state:S,cancellationToken:new o};this.s.cancellationToken.setMaxListeners(Infinity);this.options=Object.assign({host:"localhost",port:27017,size:5,minSize:0,connectionTimeout:3e4,socketTimeout:0,keepAlive:true,keepAliveInitialDelay:12e4,noDelay:true,ssl:false,checkServerIdentity:true,ca:null,crl:null,cert:null,key:null,passphrase:null,rejectUnauthorized:false,promoteLongs:true,promoteValues:true,promoteBuffers:false,bsonRegExp:false,reconnect:true,reconnectInterval:1e3,reconnectTries:30,domainsEnabled:false,legacyCompatMode:true},t);this.id=_++;this.retriesLeft=this.options.reconnectTries;this.reconnectId=null;this.reconnectError=null;if(!t.bson||t.bson&&(typeof t.bson.serialize!=="function"||typeof t.bson.deserialize!=="function")){throw new Error("must pass in valid bson parser")}this.logger=A("Pool",t);this.availableConnections=[];this.inUseConnections=[];this.connectingConnections=0;this.executing=false;this.queue=[];this.numberOfConsecutiveTimeouts=0;this.connectionIndex=0;const r=this;this._messageHandler=messageHandler(this);this._connectionCloseHandler=function(e){const t=this;connectionFailureHandler(r,"close",e,t)};this._connectionErrorHandler=function(e){const t=this;connectionFailureHandler(r,"error",e,t)};this._connectionTimeoutHandler=function(e){const t=this;connectionFailureHandler(r,"timeout",e,t)};this._connectionParseErrorHandler=function(e){const t=this;connectionFailureHandler(r,"parseError",e,t)}};n(Pool,o);Object.defineProperty(Pool.prototype,"size",{enumerable:true,get:function(){return this.options.size}});Object.defineProperty(Pool.prototype,"minSize",{enumerable:true,get:function(){return this.options.minSize}});Object.defineProperty(Pool.prototype,"connectionTimeout",{enumerable:true,get:function(){return this.options.connectionTimeout}});Object.defineProperty(Pool.prototype,"socketTimeout",{enumerable:true,get:function(){return this.options.socketTimeout}});Object.defineProperty(Pool.prototype,"state",{enumerable:true,get:function(){return this.s.state}});function resetPoolState(e){e.inUseConnections=[];e.availableConnections=[];e.connectingConnections=0;e.executing=false;e.numberOfConsecutiveTimeouts=0;e.connectionIndex=0;e.retriesLeft=e.options.reconnectTries;e.reconnectId=null}function connectionFailureHandler(e,t,r,n){if(n){if(n._connectionFailHandled){return}n._connectionFailHandled=true;n.destroy();removeConnection(e,n);n.flush(r)}if(t==="timeout"){e.numberOfConsecutiveTimeouts=e.numberOfConsecutiveTimeouts+1;if(e.numberOfConsecutiveTimeouts>e.options.reconnectTries){e.numberOfConsecutiveTimeouts=0;e.destroy(true);return e.emit("close",e)}}if(e.socketCount()===0){if(e.state!==N&&e.state!==D&&e.state!==k){if(e.options.reconnect){T(e,S)}}t=t==="error"?"close":t;e.emit(t,r)}if(!e.reconnectId&&e.options.reconnect){e.reconnectError=r;e.reconnectId=setTimeout(attemptReconnect(e),e.options.reconnectInterval)}const o=totalConnectionCount(e);if(o{if(r==null){e.reconnectId=null;e.retriesLeft=e.options.reconnectTries;e.emit("reconnect",e)}if(typeof t==="function"){t(r,n)}}))}}function moveConnectionBetween(e,t,r){var n=t.indexOf(e);if(n!==-1){t.splice(n,1);r.push(e)}}function messageHandler(e){return function(t,r){var n=null;for(var o=0;o{if(t){if(typeof e==="function"){this.destroy();e(t);return}if(this.state===v){this.emit("error",t)}this.destroy();return}T(this,R);if(this.minSize){for(let e=0;e{for(const t of O){e.removeAllListeners(t)}e.on("error",(()=>{}));e.destroy(r,t)}),(t=>{if(t){if(typeof n==="function")n(t,null);return}resetPoolState(e);e.queue=[];T(e,N);if(typeof n==="function")n(null,null)}))}Pool.prototype.destroy=function(e,t){var r=this;if(typeof e==="function"){t=e;e=false}if(this.state===N||r.state===D){if(typeof t==="function")t(null,null);return}T(this,k);if(e){var n=r.availableConnections.concat(r.inUseConnections);while(r.queue.length>0){var o=r.queue.shift();if(typeof o.cb==="function"){o.cb(new s("Pool was force destroyed"))}}return destroy(r,n,{force:true},t)}if(this.reconnectId){clearTimeout(this.reconnectId)}function checkStatus(){if(r.state===N||r.state===D){if(typeof t==="function"){t()}return}flushMonitoringOperations(r.queue);if(r.queue.length===0){var e=r.availableConnections.concat(r.inUseConnections);for(var n=0;n0){return setTimeout(checkStatus,1)}}destroy(r,e,{force:false},t)}else{_execute(r)();setTimeout(checkStatus,1)}}checkStatus()};Pool.prototype.reset=function(e){if(this.s.state!==R){if(typeof e==="function"){e(new s("pool is not connected, reset aborted"))}return}this.s.cancellationToken.emit("cancel");const t=this.availableConnections.concat(this.inUseConnections);Q(t,((e,t)=>{for(const t of O){e.removeAllListeners(t)}e.destroy({force:true},t)}),(t=>{if(t){if(typeof e==="function"){e(t,null);return}}resetPoolState(this);createConnection(this,(()=>{if(typeof e==="function"){e(null,null)}}))}))};function serializeCommand(e,t,r){const n=t.toBin();const o=!!e.options.agreedCompressor;if(!o||!canCompress(t)){return r(null,n)}const s=I.concat(n);const i=s.slice(h);const a=s.readInt32LE(12);p(e,i,(function(n,o){if(n)return r(n,null);const s=I.alloc(h);s.writeInt32LE(h+d+o.length,0);s.writeInt32LE(t.requestId,4);s.writeInt32LE(0,8);s.writeInt32LE(g.OP_COMPRESSED,12);const A=I.alloc(d);A.writeInt32LE(a,0);A.writeInt32LE(i.length,4);A.writeUInt8(E[e.options.agreedCompressor],8);return r(null,[s,A,o])}))}Pool.prototype.write=function(e,t,r){var n=this;if(typeof t==="function"){r=t}t=t||{};if(!(typeof r==="function")&&!t.noResponse){throw new s("write method must provide a callback")}if(this.state===N||this.state===D){r(new s("pool destroyed"));return}if(this.state===k){r(new s("pool is draining, new operations prohibited"));return}if(this.options.domainsEnabled&&process.domain&&typeof r==="function"){var o=r;r=process.domain.bind((function(){var e=new Array(arguments.length);for(var t=0;t{if(t){n.emit("commandFailed",new C.CommandFailedEvent(this,e,t,i.started))}else{if(o&&o.result&&(o.result.ok===0||o.result.$err)){n.emit("commandFailed",new C.CommandFailedEvent(this,e,o.result,i.started))}else{n.emit("commandSucceeded",new C.CommandSucceededEvent(this,e,o,i.started))}}if(typeof r==="function")r(t,o)}}serializeCommand(n,e,((e,r)=>{if(e)throw e;i.buffer=r;if(t.monitoring){n.queue.unshift(i)}else{n.queue.push(i)}if(!n.executing){process.nextTick((function(){_execute(n)()}))}}))};function canCompress(e){const t=e instanceof l?e.command:e.query;const r=Object.keys(t)[0];return!m.has(r)}function remove(e,t){for(var r=0;r{e.connectingConnections--;if(r){if(e.logger.isDebug()){e.logger.debug(`connection attempt failed with error [${JSON.stringify(r)}]`)}if(!e.reconnectId&&e.options.reconnect){if(e.state===v&&e.options.legacyCompatMode){t(r);return}e.reconnectError=r;e.reconnectId=setTimeout(attemptReconnect(e,t),e.options.reconnectInterval);return}if(typeof t==="function"){t(r)}return}if(e.state===N||e.state===D){if(typeof t==="function"){t(new s("Pool was destroyed after connection creation"))}n.destroy();return}n.on("error",e._connectionErrorHandler);n.on("close",e._connectionCloseHandler);n.on("timeout",e._connectionTimeoutHandler);n.on("parseError",e._connectionParseErrorHandler);n.on("message",e._messageHandler);e.availableConnections.push(n);if(typeof t==="function"){t(null,n)}_execute(e)()}))}function flushMonitoringOperations(e){for(var t=0;t0){e.executing=false;return}while(true){const i=totalConnectionCount(e);if(e.availableConnections.length===0){flushMonitoringOperations(e.queue);if(i0){createConnection(e)}break}if(e.queue.length===0){break}var t=null;const a=e.availableConnections.filter((e=>e.workItems.length===0));if(a.length===0){t=e.availableConnections[e.connectionIndex++%e.availableConnections.length]}else{t=a[e.connectionIndex++%a.length]}if(!t.isConnected()){removeConnection(e,t);flushMonitoringOperations(e.queue);break}var r=e.queue.shift();if(r.monitoring){var n=false;for(let r=0;r0){createConnection(e)}setTimeout((()=>_execute(e)()),10);break}}if(i0){e.queue.unshift(r);createConnection(e);break}}var o=r.buffer;if(r.monitoring){moveConnectionBetween(t,e.availableConnections,e.inUseConnections)}if(!r.noResponse){t.workItems.push(r)}if(!r.immediateRelease&&typeof r.socketTimeout==="number"){t.setSocketTimeout(r.socketTimeout)}var s=true;if(Array.isArray(o)){for(let e=0;e{"use strict";const n=r(1371).parsePackageVersion;const o=r(3111).MongoError;const s=r(3182)(require);function debugOptions(e,t){const r={};e.forEach((function(e){r[e]=t[e]}));return r}function retrieveBSON(){const e=r(4044);e.native=false;const t=s("bson-ext");const i=n(s("bson-ext/package.json")||{version:"0.0.0"});if(t){if(i.major>=4){throw new o("bson-ext version 4 and above does not work with the 3.x version of the mongodb driver")}t.native=true;return t}return e}function noSnappyWarning(){throw new Error("Attempted to use Snappy compression, but Snappy is not installed. Install or disable Snappy compression and try again.")}const i=Symbol("kPkgVersion");function retrieveSnappy(){const e=s("snappy");if(!e){return{compress:noSnappyWarning,uncompress:noSnappyWarning,compressSync:noSnappyWarning,uncompressSync:noSnappyWarning}}const t=s("snappy/package.json")||{version:"0.0.0"};const r=n(t);e[i]=r;if(r.major>=7){const t=e.compress;const r=e.uncompress;e.compress=(e,r)=>{t(e).then((e=>r(undefined,e))).catch((e=>r(e)))};e.uncompress=(e,t)=>{r(e).then((e=>t(undefined,e))).catch((e=>t(e)))}}return e}e.exports={PKG_VERSION:i,debugOptions:debugOptions,retrieveBSON:retrieveBSON,retrieveSnappy:retrieveSnappy}},4847:(e,t,r)=>{"use strict";const n=r(104);const o=r(7746).retrieveBSON;const s=r(3111).MongoError;const i=r(3111).MongoNetworkError;const a=r(1178).collationNotSupported;const A=r(4485);const c=r(1178).isUnifiedTopology;const l=r(2548);const u=r(2781).Readable;const h=r(1371).SUPPORTS;const d=r(1371).MongoDBNamespace;const g=r(1371).mergeOptions;const p=r(1018).OperationBase;const E=o();const m=E.Long;const C={INIT:0,OPEN:1,CLOSED:2,GET_MORE:3};function handleCallback(e,t,r){try{e(t,r)}catch(t){process.nextTick((function(){throw t}))}}class CoreCursor extends u{constructor(e,t,r,o){super({objectMode:true});o=o||{};if(t instanceof p){this.operation=t;t=this.operation.ns.toString();o=this.operation.options;r=this.operation.cmd?this.operation.cmd:{}}this.pool=null;this.server=null;this.disconnectHandler=o.disconnectHandler;this.bson=e.s.bson;this.ns=t;this.namespace=d.fromString(t);this.cmd=r;this.options=o;this.topology=e;this.cursorState={cursorId:null,cmd:r,documents:o.documents||[],cursorIndex:0,dead:false,killed:false,init:false,notified:false,limit:o.limit||r.limit||0,skip:o.skip||r.skip||0,batchSize:o.batchSize||r.batchSize||1e3,currentLimit:0,transforms:o.transforms,raw:o.raw||r&&r.raw};if(typeof o.session==="object"){this.cursorState.session=o.session}const s=e.s.options;if(typeof s.promoteLongs==="boolean"){this.cursorState.promoteLongs=s.promoteLongs}else if(typeof o.promoteLongs==="boolean"){this.cursorState.promoteLongs=o.promoteLongs}if(typeof s.promoteValues==="boolean"){this.cursorState.promoteValues=s.promoteValues}else if(typeof o.promoteValues==="boolean"){this.cursorState.promoteValues=o.promoteValues}if(typeof s.promoteBuffers==="boolean"){this.cursorState.promoteBuffers=s.promoteBuffers}else if(typeof o.promoteBuffers==="boolean"){this.cursorState.promoteBuffers=o.promoteBuffers}if(typeof s.bsonRegExp==="boolean"){this.cursorState.bsonRegExp=s.bsonRegExp}else if(typeof o.bsonRegExp==="boolean"){this.cursorState.bsonRegExp=o.bsonRegExp}if(s.reconnect){this.cursorState.reconnect=s.reconnect}this.logger=n("Cursor",s);if(typeof r==="number"){this.cursorState.cursorId=m.fromNumber(r);this.cursorState.lastCursorId=this.cursorState.cursorId}else if(r instanceof m){this.cursorState.cursorId=r;this.cursorState.lastCursorId=r}if(this.operation){this.operation.cursorState=this.cursorState}}setCursorBatchSize(e){this.cursorState.batchSize=e}cursorBatchSize(){return this.cursorState.batchSize}setCursorLimit(e){this.cursorState.limit=e}cursorLimit(){return this.cursorState.limit}setCursorSkip(e){this.cursorState.skip=e}cursorSkip(){return this.cursorState.skip}_next(e){nextFunction(this,e)}clone(){const e=g({},this.options);delete e.session;return this.topology.cursor(this.ns,this.cmd,e)}isDead(){return this.cursorState.dead===true}isKilled(){return this.cursorState.killed===true}isNotified(){return this.cursorState.notified===true}bufferedCount(){return this.cursorState.documents.length-this.cursorState.cursorIndex}readBufferedDocuments(e){const t=this.cursorState.documents.length-this.cursorState.cursorIndex;const r=e0&&this.cursorState.currentLimit+n.length>this.cursorState.limit){n=n.slice(0,this.cursorState.limit-this.cursorState.currentLimit);this.kill()}this.cursorState.currentLimit=this.cursorState.currentLimit+n.length;this.cursorState.cursorIndex=this.cursorState.cursorIndex+n.length;return n}kill(e){this.cursorState.dead=true;this.cursorState.killed=true;this.cursorState.documents=[];if(this.cursorState.cursorId==null||this.cursorState.cursorId.isZero()||this.cursorState.init===false){if(e)e(null,null);return}this.server.killCursors(this.ns,this.cursorState,e)}rewind(){if(this.cursorState.init){if(!this.cursorState.dead){this.kill()}this.cursorState.currentLimit=0;this.cursorState.init=false;this.cursorState.dead=false;this.cursorState.killed=false;this.cursorState.notified=false;this.cursorState.documents=[];this.cursorState.cursorId=null;this.cursorState.cursorIndex=0}}_read(){if(this.s&&this.s.state===C.CLOSED||this.isDead()){return this.push(null)}this._next(((e,t)=>{if(e){if(this.listeners("error")&&this.listeners("error").length>0){this.emit("error",e)}if(!this.isDead())this.close();this.emit("end");return this.emit("finish")}if(this.cursorState.streamOptions&&typeof this.cursorState.streamOptions.transform==="function"&&t!=null){return this.push(this.cursorState.streamOptions.transform(t))}this.push(t);if(t===null&&this.isDead()){this.once("end",(()=>{this.close();this.emit("finish")}))}}))}_endSession(e,t){if(typeof e==="function"){t=e;e={}}e=e||{};const r=this.cursorState.session;if(r&&(e.force||r.owner===this)){this.cursorState.session=undefined;if(this.operation){this.operation.clearSession()}r.endSession(t);return true}if(t){t()}return false}_getMore(e){if(this.logger.isDebug()){this.logger.debug(`schedule getMore call for query [${JSON.stringify(this.query)}]`)}let t=this.cursorState.batchSize;if(this.cursorState.limit>0&&this.cursorState.currentLimit+t>this.cursorState.limit){t=this.cursorState.limit-this.cursorState.currentLimit}const r=this.cursorState;this.server.getMore(this.ns,r,t,this.options,((t,n,o)=>{if(t||r.cursorId&&r.cursorId.isZero()){this._endSession()}e(t,n,o)}))}_initializeCursor(e){const t=this;if(c(t.topology)&&t.topology.shouldCheckForSessionSupport()){t.topology.selectServer(A.primaryPreferred,(t=>{if(t){e(t);return}this._initializeCursor(e)}));return}function done(r,n){const o=t.cursorState;if(r||o.cursorId&&o.cursorId.isZero()){t._endSession()}if(o.documents.length===0&&o.cursorId&&o.cursorId.isZero()&&!t.cmd.tailable&&!t.cmd.awaitData){return setCursorNotified(t,e)}e(r,n)}const queryCallback=(e,r)=>{if(e){return done(e)}const n=r.message;if(Array.isArray(n.documents)&&n.documents.length===1){const e=n.documents[0];if(n.queryFailure){return done(new s(e),null)}if(!t.cmd.find||t.cmd.find&&t.cmd.virtual===false){if(e.$err||e.errmsg){return done(new s(e),null)}if(e.cursor!=null&&typeof e.cursor!=="string"){const r=e.cursor.id;if(e.cursor.ns){t.ns=e.cursor.ns}t.cursorState.cursorId=typeof r==="number"?m.fromNumber(r):r;t.cursorState.lastCursorId=t.cursorState.cursorId;t.cursorState.operationTime=e.operationTime;if(Array.isArray(e.cursor.firstBatch)){t.cursorState.documents=e.cursor.firstBatch}return done(null,n)}}}const o=n.cursorId||0;t.cursorState.cursorId=o instanceof m?o:m.fromNumber(o);t.cursorState.documents=n.documents;t.cursorState.lastCursorId=n.cursorId;if(t.cursorState.transforms&&typeof t.cursorState.transforms.query==="function"){t.cursorState.documents=t.cursorState.transforms.query(n)}done(null,n)};if(t.operation){if(t.logger.isDebug()){t.logger.debug(`issue initial query [${JSON.stringify(t.cmd)}] with flags [${JSON.stringify(t.query)}]`)}l(t.topology,t.operation,((e,r)=>{if(e){done(e);return}t.server=t.operation.server;t.cursorState.init=true;if(t.cursorState.cursorId!=null){return done()}queryCallback(e,r)}));return}const r={};if(t.cursorState.session){r.session=t.cursorState.session}if(t.operation){r.readPreference=t.operation.readPreference}else if(t.options.readPreference){r.readPreference=t.options.readPreference}return t.topology.selectServer(r,((r,n)=>{if(r){const n=t.disconnectHandler;if(n!=null){return n.addObjectAndMethod("cursor",t,"next",[e],e)}return e(r)}t.server=n;t.cursorState.init=true;if(a(t.server,t.cmd)){return e(new s(`server ${t.server.name} does not support collation`))}if(t.cursorState.cursorId!=null){return done()}if(t.logger.isDebug()){t.logger.debug(`issue initial query [${JSON.stringify(t.cmd)}] with flags [${JSON.stringify(t.query)}]`)}if(t.cmd.find!=null){n.query(t.ns,t.cmd,t.cursorState,t.options,queryCallback);return}const o=Object.assign({session:t.cursorState.session},t.options);n.command(t.ns,t.cmd,o,queryCallback)}))}}if(h.ASYNC_ITERATOR){CoreCursor.prototype[Symbol.asyncIterator]=r(1749).asyncIterator}function isConnectionDead(e,t){if(e.pool&&e.pool.isDestroyed()){e.cursorState.killed=true;const r=new i(`connection to host ${e.pool.host}:${e.pool.port} was destroyed`);_setCursorNotifiedImpl(e,(()=>t(r)));return true}return false}function isCursorDeadButNotkilled(e,t){if(e.cursorState.dead&&!e.cursorState.killed){e.cursorState.killed=true;setCursorNotified(e,t);return true}return false}function isCursorDeadAndKilled(e,t){if(e.cursorState.dead&&e.cursorState.killed){handleCallback(t,new s("cursor is dead"));return true}return false}function isCursorKilled(e,t){if(e.cursorState.killed){setCursorNotified(e,t);return true}return false}function setCursorDeadAndNotified(e,t){e.cursorState.dead=true;setCursorNotified(e,t)}function setCursorNotified(e,t){_setCursorNotifiedImpl(e,(()=>handleCallback(t,null,null)))}function _setCursorNotifiedImpl(e,t){e.cursorState.notified=true;e.cursorState.documents=[];e.cursorState.cursorIndex=0;if(e.cursorState.session){e._endSession(t);return}return t()}function nextFunction(e,t){if(e.cursorState.notified){return t(new Error("cursor is exhausted"))}if(isCursorKilled(e,t))return;if(isCursorDeadButNotkilled(e,t))return;if(isCursorDeadAndKilled(e,t))return;if(!e.cursorState.init){if(!e.topology.isConnected(e.options)){if(e.topology._type==="server"&&!e.topology.s.options.reconnect){return t(new s("no connection available"))}if(e.disconnectHandler!=null){if(e.topology.isDestroyed()){return t(new s("Topology was destroyed"))}e.disconnectHandler.addObjectAndMethod("cursor",e,"next",[t],t);return}}e._initializeCursor(((r,n)=>{if(r||n===null){t(r,n);return}nextFunction(e,t)}));return}if(e.cursorState.limit>0&&e.cursorState.currentLimit>=e.cursorState.limit){e.kill((()=>setCursorDeadAndNotified(e,t)))}else if(e.cursorState.cursorIndex===e.cursorState.documents.length&&!m.ZERO.equals(e.cursorState.cursorId)){e.cursorState.documents=[];e.cursorState.cursorIndex=0;if(e.topology.isDestroyed())return t(new i("connection destroyed, not possible to instantiate cursor"));if(isConnectionDead(e,t))return;e._getMore((function(r,n,o){if(r){return handleCallback(t,r)}e.connection=o;if(e.cursorState.documents.length===0&&e.cmd.tailable&&m.ZERO.equals(e.cursorState.cursorId)){return handleCallback(t,new s({message:"No more documents in tailed cursor",tailable:e.cmd.tailable,awaitData:e.cmd.awaitData}))}else if(e.cursorState.documents.length===0&&e.cmd.tailable&&!m.ZERO.equals(e.cursorState.cursorId)){return nextFunction(e,t)}if(e.cursorState.limit>0&&e.cursorState.currentLimit>=e.cursorState.limit){return setCursorDeadAndNotified(e,t)}nextFunction(e,t)}))}else if(e.cursorState.documents.length===e.cursorState.cursorIndex&&e.cmd.tailable&&m.ZERO.equals(e.cursorState.cursorId)){return handleCallback(t,new s({message:"No more documents in tailed cursor",tailable:e.cmd.tailable,awaitData:e.cmd.awaitData}))}else if(e.cursorState.documents.length===e.cursorState.cursorIndex&&m.ZERO.equals(e.cursorState.cursorId)){setCursorDeadAndNotified(e,t)}else{if(e.cursorState.limit>0&&e.cursorState.currentLimit>=e.cursorState.limit){e.kill((()=>setCursorDeadAndNotified(e,t)));return}e.cursorState.currentLimit+=1;let r=e.cursorState.documents[e.cursorState.cursorIndex++];if(!r||r.$err){e.kill((()=>setCursorDeadAndNotified(e,(function(){handleCallback(t,new s(r?r.$err:undefined))}))));return}if(e.cursorState.transforms&&typeof e.cursorState.transforms.doc==="function"){r=e.cursorState.transforms.doc(r)}handleCallback(t,null,r)}}e.exports={CursorState:C,CoreCursor:CoreCursor}},3111:(e,t,r)=>{"use strict";const n=r(8072).MONGODB_ERROR_CODES;const o=Symbol("errorLabels");class MongoError extends Error{constructor(e){if(e instanceof Error){super(e.message);this.stack=e.stack}else{if(typeof e==="string"){super(e)}else{super(e.message||e.errmsg||e.$err||"n/a");if(e.errorLabels){this[o]=new Set(e.errorLabels)}for(var t in e){if(t==="errorLabels"||t==="errmsg"){continue}this[t]=e[t]}}Error.captureStackTrace(this,this.constructor)}this.name="MongoError"}get errmsg(){return this.message}static create(e){return new MongoError(e)}hasErrorLabel(e){if(this[o]==null){return false}return this[o].has(e)}addErrorLabel(e){if(this[o]==null){this[o]=new Set}this[o].add(e)}get errorLabels(){return this[o]?Array.from(this[o]):[]}}const s=Symbol("beforeHandshake");function isNetworkErrorBeforeHandshake(e){return e[s]===true}class MongoNetworkError extends MongoError{constructor(e,t){super(e);this.name="MongoNetworkError";if(t&&typeof t.beforeHandshake==="boolean"){this[s]=t.beforeHandshake}}}class MongoNetworkTimeoutError extends MongoNetworkError{constructor(e,t){super(e,t);this.name="MongoNetworkTimeoutError"}}class MongoParseError extends MongoError{constructor(e){super(e);this.name="MongoParseError"}}class MongoTimeoutError extends MongoError{constructor(e,t){if(t&&t.error){super(t.error.message||t.error)}else{super(e)}this.name="MongoTimeoutError";if(t){this.reason=t}}}class MongoServerSelectionError extends MongoTimeoutError{constructor(e,t){super(e,t);this.name="MongoServerSelectionError"}}function makeWriteConcernResultObject(e){const t=Object.assign({},e);if(t.ok===0){t.ok=1;delete t.errmsg;delete t.code;delete t.codeName}return t}class MongoWriteConcernError extends MongoError{constructor(e,t){super(e);this.name="MongoWriteConcernError";if(t&&Array.isArray(t.errorLabels)){this[o]=new Set(t.errorLabels)}if(t!=null){this.result=makeWriteConcernResultObject(t)}}}const i=new Set([n.HostUnreachable,n.HostNotFound,n.NetworkTimeout,n.ShutdownInProgress,n.PrimarySteppedDown,n.SocketException,n.NotMaster,n.InterruptedAtShutdown,n.InterruptedDueToReplStateChange,n.NotMasterNoSlaveOk,n.NotMasterOrSecondary]);const a=new Set([n.InterruptedAtShutdown,n.InterruptedDueToReplStateChange,n.NotMaster,n.NotMasterNoSlaveOk,n.NotMasterOrSecondary,n.PrimarySteppedDown,n.ShutdownInProgress,n.HostNotFound,n.HostUnreachable,n.NetworkTimeout,n.SocketException,n.ExceededTimeLimit]);function isRetryableEndTransactionError(e){return e.hasErrorLabel("RetryableWriteError")}function isRetryableWriteError(e){if(e instanceof MongoWriteConcernError){return a.has(e.code)||a.has(e.result.code)}return a.has(e.code)}function isRetryableError(e){return i.has(e.code)||e instanceof MongoNetworkError||e.message.match(/not master/)||e.message.match(/node is recovering/)}const A=new Set([n.ShutdownInProgress,n.PrimarySteppedDown,n.InterruptedAtShutdown,n.InterruptedDueToReplStateChange,n.NotMasterOrSecondary]);const c=new Set([n.NotMaster,n.NotMasterNoSlaveOk,n.LegacyNotPrimary]);const l=new Set([n.InterruptedAtShutdown,n.ShutdownInProgress]);function isRecoveringError(e){if(typeof e.code==="number"){return A.has(e.code)}return/not master or secondary/.test(e.message)||/node is recovering/.test(e.message)}function isNotMasterError(e){if(typeof e.code==="number"){return c.has(e.code)}if(isRecoveringError(e)){return false}return/not master/.test(e.message)}function isNodeShuttingDownError(e){return e.code&&l.has(e.code)}function isSDAMUnrecoverableError(e){if(e instanceof MongoParseError||e==null){return true}return isRecoveringError(e)||isNotMasterError(e)}e.exports={MongoError:MongoError,MongoNetworkError:MongoNetworkError,MongoNetworkTimeoutError:MongoNetworkTimeoutError,MongoParseError:MongoParseError,MongoTimeoutError:MongoTimeoutError,MongoServerSelectionError:MongoServerSelectionError,MongoWriteConcernError:MongoWriteConcernError,isRetryableError:isRetryableError,isSDAMUnrecoverableError:isSDAMUnrecoverableError,isNodeShuttingDownError:isNodeShuttingDownError,isRetryableWriteError:isRetryableWriteError,isNetworkErrorBeforeHandshake:isNetworkErrorBeforeHandshake,isRetryableEndTransactionError:isRetryableEndTransactionError}},3994:(e,t,r)=>{"use strict";let n=r(4044);const o=r(3182)(require);const s=r(1178).retrieveEJSON();try{const e=o("bson-ext");if(e){n=e}}catch(e){}const i=Object.freeze({v1:"1"});const a=Object.keys(i).map((e=>i[e]));e.exports={ServerApiVersion:i,ValidServerApiVersions:a,MongoError:r(3111).MongoError,MongoNetworkError:r(3111).MongoNetworkError,MongoParseError:r(3111).MongoParseError,MongoTimeoutError:r(3111).MongoTimeoutError,MongoServerSelectionError:r(3111).MongoServerSelectionError,MongoWriteConcernError:r(3111).MongoWriteConcernError,Connection:r(6096),Server:r(6495),ReplSet:r(1134),Mongos:r(8175),Logger:r(104),Cursor:r(4847).CoreCursor,ReadPreference:r(4485),Sessions:r(5474),BSON:n,EJSON:s,Topology:r(4149).Topology,Query:r(9814).Query,MongoCredentials:r(2222).MongoCredentials,defaultAuthProviders:r(2192).defaultAuthProviders,MongoCR:r(4228),X509:r(7324),Plain:r(8728),GSSAPI:r(2640),ScramSHA1:r(864).ScramSHA1,ScramSHA256:r(864).ScramSHA256,parseConnectionString:r(8767)}},2291:e=>{"use strict";const t="closing";const r="closed";const n="connecting";const o="connected";const s={Single:"Single",ReplicaSetNoPrimary:"ReplicaSetNoPrimary",ReplicaSetWithPrimary:"ReplicaSetWithPrimary",Sharded:"Sharded",Unknown:"Unknown"};const i={Standalone:"Standalone",Mongos:"Mongos",PossiblePrimary:"PossiblePrimary",RSPrimary:"RSPrimary",RSSecondary:"RSSecondary",RSArbiter:"RSArbiter",RSOther:"RSOther",RSGhost:"RSGhost",Unknown:"Unknown"};function serverType(e){let t=e.s.description||e.s.serverDescription;if(t.topologyType===s.Single)return t.servers[0].type;return t.type}const a={useUnifiedTopology:true,localThresholdMS:15,serverSelectionTimeoutMS:3e4,heartbeatFrequencyMS:1e4,minHeartbeatFrequencyMS:500};function drainTimerQueue(e){e.forEach(clearTimeout);e.clear()}function clearAndRemoveTimerFrom(e,t){clearTimeout(e);return t.delete(e)}e.exports={STATE_CLOSING:t,STATE_CLOSED:r,STATE_CONNECTING:n,STATE_CONNECTED:o,TOPOLOGY_DEFAULTS:a,TopologyType:s,ServerType:i,serverType:serverType,drainTimerQueue:drainTimerQueue,clearAndRemoveTimerFrom:clearAndRemoveTimerFrom}},2785:e=>{"use strict";class ServerDescriptionChangedEvent{constructor(e,t,r,n){Object.assign(this,{topologyId:e,address:t,previousDescription:r,newDescription:n})}}class ServerOpeningEvent{constructor(e,t){Object.assign(this,{topologyId:e,address:t})}}class ServerClosedEvent{constructor(e,t){Object.assign(this,{topologyId:e,address:t})}}class TopologyDescriptionChangedEvent{constructor(e,t,r){Object.assign(this,{topologyId:e,previousDescription:t,newDescription:r})}}class TopologyOpeningEvent{constructor(e){Object.assign(this,{topologyId:e})}}class TopologyClosedEvent{constructor(e){Object.assign(this,{topologyId:e})}}class ServerHeartbeatStartedEvent{constructor(e){Object.assign(this,{connectionId:e})}}class ServerHeartbeatSucceededEvent{constructor(e,t,r){Object.assign(this,{connectionId:r,duration:e,reply:t})}}class ServerHeartbeatFailedEvent{constructor(e,t,r){Object.assign(this,{connectionId:r,duration:e,failure:t})}}e.exports={ServerDescriptionChangedEvent:ServerDescriptionChangedEvent,ServerOpeningEvent:ServerOpeningEvent,ServerClosedEvent:ServerClosedEvent,TopologyDescriptionChangedEvent:TopologyDescriptionChangedEvent,TopologyOpeningEvent:TopologyOpeningEvent,TopologyClosedEvent:TopologyClosedEvent,ServerHeartbeatStartedEvent:ServerHeartbeatStartedEvent,ServerHeartbeatSucceededEvent:ServerHeartbeatSucceededEvent,ServerHeartbeatFailedEvent:ServerHeartbeatFailedEvent}},1203:(e,t,r)=>{"use strict";const n=r(2291).ServerType;const o=r(2361);const s=r(6573);const i=r(9820).Connection;const a=r(2291);const A=r(1178).makeStateMachine;const c=r(3111).MongoNetworkError;const l=r(7746).retrieveBSON();const u=r(1371).makeInterruptableAsyncInterval;const h=r(1371).calculateDurationInMs;const d=r(1371).now;const g=r(2785);const p=g.ServerHeartbeatStartedEvent;const E=g.ServerHeartbeatSucceededEvent;const m=g.ServerHeartbeatFailedEvent;const C=Symbol("server");const I=Symbol("monitorId");const y=Symbol("connection");const B=Symbol("cancellationToken");const Q=Symbol("rttPinger");const b=Symbol("roundTripTime");const w=a.STATE_CLOSED;const S=a.STATE_CLOSING;const v="idle";const R="monitoring";const k=A({[S]:[S,v,w],[w]:[w,R],[v]:[v,R,S],[R]:[R,v,S]});const D=new Set([S,w,R]);function isInCloseState(e){return e.s.state===w||e.s.state===S}class Monitor extends o{constructor(e,t){super(t);this[C]=e;this[y]=undefined;this[B]=new o;this[B].setMaxListeners(Infinity);this[I]=null;this.s={state:w};this.address=e.description.address;this.options=Object.freeze({connectTimeoutMS:typeof t.connectionTimeout==="number"?t.connectionTimeout:typeof t.connectTimeoutMS==="number"?t.connectTimeoutMS:1e4,heartbeatFrequencyMS:typeof t.heartbeatFrequencyMS==="number"?t.heartbeatFrequencyMS:1e4,minHeartbeatFrequencyMS:typeof t.minHeartbeatFrequencyMS==="number"?t.minHeartbeatFrequencyMS:500,useUnifiedTopology:t.useUnifiedTopology});const r=Object.assign({id:"",host:e.description.host,port:e.description.port,bson:e.s.bson,connectionType:i},e.s.options,this.options,{raw:false,promoteLongs:true,promoteValues:true,promoteBuffers:true,bsonRegExp:true});delete r.credentials;delete r.autoEncrypter;this.connectOptions=Object.freeze(r)}connect(){if(this.s.state!==w){return}const e=this.options.heartbeatFrequencyMS;const t=this.options.minHeartbeatFrequencyMS;this[I]=u(monitorServer(this),{interval:e,minInterval:t,immediate:true})}requestCheck(){if(D.has(this.s.state)){return}this[I].wake()}reset(){const e=this[C].description.topologyVersion;if(isInCloseState(this)||e==null){return}k(this,S);resetMonitorState(this);k(this,v);const t=this.options.heartbeatFrequencyMS;const r=this.options.minHeartbeatFrequencyMS;this[I]=u(monitorServer(this),{interval:t,minInterval:r})}close(){if(isInCloseState(this)){return}k(this,S);resetMonitorState(this);this.emit("close");k(this,w)}}function resetMonitorState(e){if(e[I]){e[I].stop();e[I]=null}if(e[Q]){e[Q].close();e[Q]=undefined}e[B].emit("cancel");if(e[I]){clearTimeout(e[I]);e[I]=undefined}if(e[y]){e[y].destroy({force:true})}}function checkServer(e,t){let r=d();e.emit("serverHeartbeatStarted",new p(e.address));function failureHandler(n){if(e[y]){e[y].destroy({force:true});e[y]=undefined}e.emit("serverHeartbeatFailed",new m(h(r),n,e.address));e.emit("resetServer",n);e.emit("resetConnectionPool");t(n)}if(e[y]!=null&&!e[y].closed){const n=e.options.connectTimeoutMS;const o=e.options.heartbeatFrequencyMS;const s=e[C].description.topologyVersion;const i=s!=null;const a=e[y].serverApi;const A=e[y].helloOk;const c={[a||A?"hello":"ismaster"]:true};if(A)c.helloOk=A;const l={socketTimeout:n};if(i){c.maxAwaitTimeMS=o;c.topologyVersion=makeTopologyVersion(s);if(n){l.socketTimeout=n+o}l.exhaustAllowed=true;if(e[Q]==null){e[Q]=new RTTPinger(e[B],e.connectOptions)}}e[y].command("admin.$cmd",c,l,((n,o)=>{if(n){failureHandler(n);return}const s=o.result;const a=e[Q];if("isWritablePrimary"in s){s.ismaster=s.isWritablePrimary}const A=i&&a?a.roundTripTime:h(r);e.emit("serverHeartbeatSucceeded",new E(A,s,e.address));if(i&&s.topologyVersion){e.emit("serverHeartbeatStarted",new p(e.address));r=d()}else{if(e[Q]){e[Q].close();e[Q]=undefined}t(undefined,s)}}));return}s(e.connectOptions,e[B],((n,o)=>{if(o&&isInCloseState(e)){o.destroy({force:true});return}if(n){e[y]=undefined;if(!(n instanceof c)){e.emit("resetConnectionPool")}failureHandler(n);return}e[y]=o;e.emit("serverHeartbeatSucceeded",new E(h(r),o.ismaster,e.address));t(undefined,o.ismaster)}))}function monitorServer(e){return t=>{k(e,R);function done(){if(!isInCloseState(e)){k(e,v)}t()}process.nextTick((()=>e.emit("monitoring",e[C])));checkServer(e,((t,r)=>{if(t){if(e[C].description.type===n.Unknown){e.emit("resetServer",t);return done()}}if(r&&r.topologyVersion){setTimeout((()=>{if(!isInCloseState(e)){e[I].wake()}}))}done()}))}}function makeTopologyVersion(e){return{processId:e.processId,counter:l.Long.fromNumber(e.counter)}}class RTTPinger{constructor(e,t){this[y]=null;this[B]=e;this[b]=0;this.closed=false;const r=t.heartbeatFrequencyMS;this[I]=setTimeout((()=>measureRoundTripTime(this,t)),r)}get roundTripTime(){return this[b]}close(){this.closed=true;clearTimeout(this[I]);this[I]=undefined;if(this[y]){this[y].destroy({force:true})}}}function measureRoundTripTime(e,t){const r=d();const n=e[B];const o=t.heartbeatFrequencyMS;if(e.closed){return}function measureAndReschedule(n){if(e.closed){n.destroy({force:true});return}if(e[y]==null){e[y]=n}e[b]=h(r);e[I]=setTimeout((()=>measureRoundTripTime(e,t)),o)}if(e[y]==null){s(t,n,((t,r)=>{if(t){e[y]=undefined;e[b]=0;return}measureAndReschedule(r)}));return}e[y].command("admin.$cmd",{ismaster:1},(t=>{if(t){e[y]=undefined;e[b]=0;return}measureAndReschedule()}))}e.exports={Monitor:Monitor}},7062:(e,t,r)=>{"use strict";const n=r(2361);const o=r(2529).ConnectionPool;const s=r(897).CMAP_EVENT_NAMES;const i=r(3111).MongoError;const a=r(1178).relayEvents;const A=r(7746).retrieveBSON();const c=r(104);const l=r(750).ServerDescription;const u=r(750).compareTopologyVersion;const h=r(4485);const d=r(1203).Monitor;const g=r(3111).MongoNetworkError;const p=r(3111).MongoNetworkTimeoutError;const E=r(1178).collationNotSupported;const m=r(7746).debugOptions;const C=r(3111).isSDAMUnrecoverableError;const I=r(3111).isRetryableWriteError;const y=r(3111).isNodeShuttingDownError;const B=r(3111).isNetworkErrorBeforeHandshake;const Q=r(1178).maxWireVersion;const b=r(1178).makeStateMachine;const w=r(7703).extractCommand;const S=r(2291);const v=S.ServerType;const R=r(1707).isTransactionCommand;const k=["reconnect","reconnectTries","reconnectInterval","emitError","cursorFactory","host","port","size","keepAlive","keepAliveInitialDelay","noDelay","connectionTimeout","checkServerIdentity","socketTimeout","ssl","ca","crl","cert","key","rejectUnauthorized","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","servername"];const D=S.STATE_CLOSING;const N=S.STATE_CLOSED;const T=S.STATE_CONNECTING;const O=S.STATE_CONNECTED;const _=b({[N]:[N,T],[T]:[T,D,O,N],[O]:[O,D,N],[D]:[D,N]});const M=Symbol("monitor");class Server extends n{constructor(e,t,r){super();this.s={description:e,options:t,logger:c("Server",t),bson:t.bson||new A([A.Binary,A.Code,A.DBRef,A.Decimal128,A.Double,A.Int32,A.Long,A.Map,A.MaxKey,A.MinKey,A.ObjectId,A.BSONRegExp,A.Symbol,A.Timestamp]),state:N,credentials:t.credentials,topology:r};this.serverApi=t.serverApi;const n=Object.assign({host:this.description.host,port:this.description.port,bson:this.s.bson},t);this.s.pool=new o(n);a(this.s.pool,this,["commandStarted","commandSucceeded","commandFailed"].concat(s));this.s.pool.on("clusterTimeReceived",(e=>{this.clusterTime=e}));this[M]=new d(this,this.s.options);a(this[M],this,["serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","monitoring"]);this[M].on("resetConnectionPool",(()=>{this.s.pool.clear()}));this[M].on("resetServer",(e=>markServerUnknown(this,e)));this[M].on("serverHeartbeatSucceeded",(e=>{this.emit("descriptionReceived",new l(this.description.address,e.reply,{roundTripTime:calculateRoundTripTime(this.description.roundTripTime,e.duration)}));if(this.s.state===T){_(this,O);this.emit("connect",this)}}))}get description(){return this.s.description}get supportsRetryableWrites(){return supportsRetryableWrites(this)}get name(){return this.s.description.address}get autoEncrypter(){if(this.s.options&&this.s.options.autoEncrypter){return this.s.options.autoEncrypter}return null}connect(){if(this.s.state!==N){return}_(this,T);this[M].connect()}destroy(e,t){if(typeof e==="function")t=e,e={};e=Object.assign({},{force:false},e);if(this.s.state===N){if(typeof t==="function"){t()}return}_(this,D);this[M].close();this.s.pool.close(e,(e=>{_(this,N);this.emit("closed");if(typeof t==="function"){t(e)}}))}requestCheck(){this[M].requestCheck()}command(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}r.serverApi=this.serverApi;if(this.s.state===D||this.s.state===N){n(new i("server is closed"));return}const o=basicReadValidations(this,r);if(o){return n(o)}r=Object.assign({},r,{wireProtocolCommand:false});if(this.s.logger.isDebug()){const n=w(t);this.s.logger.debug(`executing command [${JSON.stringify({ns:e,cmd:n.shouldRedact?`${n.name} details REDACTED`:t,options:m(k,r)})}] against ${this.name}`)}if(E(this,t)){n(new i(`server ${this.name} does not support collation`));return}this.s.pool.withConnection(((n,o,s)=>{if(n){markServerUnknown(this,n);return s(n)}o.command(e,t,r,makeOperationHandler(this,o,t,r,s))}),n)}query(e,t,r,n,o){if(this.s.state===D||this.s.state===N){o(new i("server is closed"));return}this.s.pool.withConnection(((o,s,i)=>{if(o){markServerUnknown(this,o);return i(o)}s.query(e,t,r,n,makeOperationHandler(this,s,t,n,i))}),o)}getMore(e,t,r,n,o){if(this.s.state===D||this.s.state===N){o(new i("server is closed"));return}this.s.pool.withConnection(((o,s,i)=>{if(o){markServerUnknown(this,o);return i(o)}s.getMore(e,t,r,n,makeOperationHandler(this,s,null,n,i))}),o)}killCursors(e,t,r){if(this.s.state===D||this.s.state===N){if(typeof r==="function"){r(new i("server is closed"))}return}this.s.pool.withConnection(((r,n,o)=>{if(r){markServerUnknown(this,r);return o(r)}n.killCursors(e,t,makeOperationHandler(this,n,null,undefined,o))}),r)}insert(e,t,r,n){executeWriteOperation({server:this,op:"insert",ns:e,ops:t},r,n)}update(e,t,r,n){executeWriteOperation({server:this,op:"update",ns:e,ops:t},r,n)}remove(e,t,r,n){executeWriteOperation({server:this,op:"remove",ns:e,ops:t},r,n)}}Object.defineProperty(Server.prototype,"clusterTime",{get:function(){return this.s.topology.clusterTime},set:function(e){this.s.topology.clusterTime=e}});function supportsRetryableWrites(e){return e.description.maxWireVersion>=6&&e.description.logicalSessionTimeoutMinutes&&e.description.type!==v.Standalone}function calculateRoundTripTime(e,t){if(e===-1){return t}const r=.2;return r*t+(1-r)*e}function basicReadValidations(e,t){if(t.readPreference&&!(t.readPreference instanceof h)){return new i("readPreference must be an instance of ReadPreference")}}function executeWriteOperation(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=e.server;const o=e.op;const s=e.ns;const a=Array.isArray(e.ops)?e.ops:[e.ops];if(n.s.state===D||n.s.state===N){r(new i("server is closed"));return}if(E(n,t)){r(new i(`server ${n.name} does not support collation`));return}const A=t.writeConcern&&t.writeConcern.w===0;if(A||Q(n)<5){if((o==="update"||o==="remove")&&a.find((e=>e.hint))){r(new i(`servers < 3.4 do not support hint on ${o}`));return}}n.s.pool.withConnection(((e,r,i)=>{if(e){markServerUnknown(n,e);return i(e)}r[o](s,a,t,makeOperationHandler(n,r,a,t,i))}),r)}function markServerUnknown(e,t){if(t instanceof g&&!(t instanceof p)){e[M].reset()}e.emit("descriptionReceived",new l(e.description.address,null,{error:t,topologyVersion:t&&t.topologyVersion?t.topologyVersion:e.description.topologyVersion}))}function connectionIsStale(e,t){return t.generation!==e.generation}function shouldHandleStateChangeError(e,t){const r=t.topologyVersion;const n=e.description.topologyVersion;return u(n,r)<0}function inActiveTransaction(e,t){return e&&e.inTransaction()&&!R(t)}function makeOperationHandler(e,t,r,n,o){const s=n&&n.session;return function handleOperationResult(n,i){if(n&&!connectionIsStale(e.s.pool,t)){if(n instanceof g){if(s&&!s.hasEnded){s.serverSession.isDirty=true}if(supportsRetryableWrites(e)&&!inActiveTransaction(s,r)){n.addErrorLabel("RetryableWriteError")}if(!(n instanceof p)||B(n)){markServerUnknown(e,n);e.s.pool.clear()}}else{if(Q(e)<9&&I(n)&&!inActiveTransaction(s,r)){n.addErrorLabel("RetryableWriteError")}if(C(n)){if(shouldHandleStateChangeError(e,n)){if(Q(e)<=7||y(n)){e.s.pool.clear()}markServerUnknown(e,n);process.nextTick((()=>e.requestCheck()))}}}}o(n,i)}}e.exports={Server:Server}},750:(e,t,r)=>{"use strict";const n=r(1178).arrayStrictEqual;const o=r(1178).tagsStrictEqual;const s=r(1178).errorStrictEqual;const i=r(2291).ServerType;const a=r(1371).now;const A=new Set([i.RSPrimary,i.Standalone,i.Mongos]);const c=new Set([i.RSPrimary,i.RSSecondary,i.Mongos,i.Standalone]);const l=["minWireVersion","maxWireVersion","maxBsonObjectSize","maxMessageSizeBytes","maxWriteBatchSize","compression","me","hosts","passives","arbiters","tags","setName","setVersion","electionId","primary","logicalSessionTimeoutMinutes","saslSupportedMechs","__nodejs_mock_server__","$clusterTime"];class ServerDescription{constructor(e,t,r){r=r||{};t=Object.assign({minWireVersion:0,maxWireVersion:0,hosts:[],passives:[],arbiters:[],tags:[]},t);if(t.isWritablePrimary!=null){t.ismaster=t.isWritablePrimary}this.address=e;this.error=r.error;this.roundTripTime=r.roundTripTime||-1;this.lastUpdateTime=a();this.lastWriteDate=t.lastWrite?t.lastWrite.lastWriteDate:null;this.opTime=t.lastWrite?t.lastWrite.opTime:null;this.type=parseServerType(t);this.topologyVersion=r.topologyVersion||t.topologyVersion;l.forEach((e=>{if(typeof t[e]!=="undefined")this[e]=t[e]}));if(this.me)this.me=this.me.toLowerCase();this.hosts=this.hosts.map((e=>e.toLowerCase()));this.passives=this.passives.map((e=>e.toLowerCase()));this.arbiters=this.arbiters.map((e=>e.toLowerCase()))}get allHosts(){return this.hosts.concat(this.arbiters).concat(this.passives)}get isReadable(){return this.type===i.RSSecondary||this.isWritable}get isDataBearing(){return c.has(this.type)}get isWritable(){return A.has(this.type)}get host(){const e=`:${this.port}`.length;return this.address.slice(0,-e)}get port(){const e=this.address.split(":").pop();return e?Number.parseInt(e,10):e}equals(e){const t=this.topologyVersion===e.topologyVersion||compareTopologyVersion(this.topologyVersion,e.topologyVersion)===0;return e!=null&&s(this.error,e.error)&&this.type===e.type&&this.minWireVersion===e.minWireVersion&&this.me===e.me&&n(this.hosts,e.hosts)&&o(this.tags,e.tags)&&this.setName===e.setName&&this.setVersion===e.setVersion&&(this.electionId?e.electionId&&this.electionId.equals(e.electionId):this.electionId===e.electionId)&&this.primary===e.primary&&this.logicalSessionTimeoutMinutes===e.logicalSessionTimeoutMinutes&&t}}function parseServerType(e){if(!e||!e.ok){return i.Unknown}if(e.isreplicaset){return i.RSGhost}if(e.msg&&e.msg==="isdbgrid"){return i.Mongos}if(e.setName){if(e.hidden){return i.RSOther}else if(e.ismaster){return i.RSPrimary}else if(e.secondary){return i.RSSecondary}else if(e.arbiterOnly){return i.RSArbiter}else{return i.RSOther}}return i.Standalone}function compareTopologyVersion(e,t){if(e==null||t==null){return-1}if(e.processId.equals(t.processId)){if(e.counter===t.counter){return 0}else if(e.counter{"use strict";const n=r(2291).ServerType;const o=r(2291).TopologyType;const s=r(4485);const i=r(3111).MongoError;const a=1e4;const A=90;function writableServerSelector(){return function(e,t){return latencyWindowReducer(e,t.filter((e=>e.isWritable)))}}function maxStalenessReducer(e,t,r){if(e.maxStalenessSeconds==null||e.maxStalenessSeconds<0){return r}const n=e.maxStalenessSeconds;const s=(t.heartbeatFrequencyMS+a)/1e3;if(n{const s=o.lastUpdateTime-o.lastWriteDate-(n.lastUpdateTime-n.lastWriteDate)+t.heartbeatFrequencyMS;const i=s/1e3;if(i<=e.maxStalenessSeconds)r.push(o);return r}),[])}if(t.type===o.ReplicaSetNoPrimary){if(r.length===0){return r}const n=r.reduce(((e,t)=>t.lastWriteDate>e.lastWriteDate?t:e));return r.reduce(((r,o)=>{const s=n.lastWriteDate-o.lastWriteDate+t.heartbeatFrequencyMS;const i=s/1e3;if(i<=e.maxStalenessSeconds)r.push(o);return r}),[])}return r}function tagSetMatch(e,t){const r=Object.keys(e);const n=Object.keys(t);for(let o=0;o{if(tagSetMatch(n,t.tags))e.push(t);return e}),[]);if(o.length){return o}}return[]}function latencyWindowReducer(e,t){const r=t.reduce(((e,t)=>e===-1?t.roundTripTime:Math.min(t.roundTripTime,e)),-1);const n=r+e.localThresholdMS;return t.reduce(((e,t)=>{if(t.roundTripTime<=n&&t.roundTripTime>=r)e.push(t);return e}),[])}function primaryFilter(e){return e.type===n.RSPrimary}function secondaryFilter(e){return e.type===n.RSSecondary}function nearestFilter(e){return e.type===n.RSSecondary||e.type===n.RSPrimary}function knownFilter(e){return e.type!==n.Unknown}function readPreferenceServerSelector(e){if(!e.isValid()){throw new TypeError("Invalid read preference specified")}return function(t,r){const n=t.commonWireVersion;if(n&&e.minWireVersion&&e.minWireVersion>n){throw new i(`Minimum wire version '${e.minWireVersion}' required, but found '${n}'`)}if(t.type===o.Unknown){return[]}if(t.type===o.Single||t.type===o.Sharded){return latencyWindowReducer(t,r.filter(knownFilter))}const a=e.mode;if(a===s.PRIMARY){return r.filter(primaryFilter)}if(a===s.PRIMARY_PREFERRED){const e=r.filter(primaryFilter);if(e.length){return e}}const A=a===s.NEAREST?nearestFilter:secondaryFilter;const c=latencyWindowReducer(t,tagSetReducer(e,maxStalenessReducer(e,t,r.filter(A))));if(a===s.SECONDARY_PREFERRED&&c.length===0){return r.filter(primaryFilter)}return c}}e.exports={writableServerSelector:writableServerSelector,readPreferenceServerSelector:readPreferenceServerSelector}},9663:(e,t,r)=>{"use strict";var n;const o=r(104);const s=r(2361).EventEmitter;const i=r(7578);function matchesParentDomain(e,t){const r=/^.*?\./;const n=`.${e.replace(r,"")}`;const o=`.${t.replace(r,"")}`;return n.endsWith(o)}class SrvPollingEvent{constructor(e){this.srvRecords=e}addresses(){return new Set(this.srvRecords.map((e=>`${e.name}:${e.port}`)))}}class SrvPoller extends s{constructor(e){super();if(!e||!e.srvHost){throw new TypeError("options for SrvPoller must exist and include srvHost")}this.srvHost=e.srvHost;this.rescanSrvIntervalMS=6e4;this.heartbeatFrequencyMS=e.heartbeatFrequencyMS||1e4;this.logger=o("srvPoller",e);this.haMode=false;this.generation=0;this._timeout=null}get srvAddress(){return`_mongodb._tcp.${this.srvHost}`}get intervalMS(){return this.haMode?this.heartbeatFrequencyMS:this.rescanSrvIntervalMS}start(){if(!this._timeout){this.schedule()}}stop(){if(this._timeout){clearTimeout(this._timeout);this.generation+=1;this._timeout=null}}schedule(){clearTimeout(this._timeout);this._timeout=setTimeout((()=>this._poll()),this.intervalMS)}success(e){this.haMode=false;this.schedule();this.emit("srvRecordDiscovery",new SrvPollingEvent(e))}failure(e,t){this.logger.warn(e,t);this.haMode=true;this.schedule()}parentDomainMismatch(e){this.logger.warn(`parent domain mismatch on SRV record (${e.name}:${e.port})`,e)}_poll(){const e=this.generation;i.resolveSrv(this.srvAddress,((t,r)=>{if(e!==this.generation){return}if(t){this.failure("DNS error",t);return}const n=[];r.forEach((e=>{if(matchesParentDomain(e.name,this.srvHost)){n.push(e)}else{this.parentDomainMismatch(e)}}));if(!n.length){this.failure("No valid addresses found at host");return}this.success(n)}))}}n=SrvPollingEvent;e.exports.D=SrvPoller},4149:(e,t,r)=>{"use strict";const n=r(2342);const o=r(2361);const s=r(750).ServerDescription;const i=r(2291).ServerType;const a=r(7962).TopologyDescription;const A=r(2291).TopologyType;const c=r(2785);const l=r(7062).Server;const u=r(1178).relayEvents;const h=r(4485);const d=r(4847).CoreCursor;const g=r(3837).deprecate;const p=r(7746).retrieveBSON();const E=r(2306).createCompressionInfo;const m=r(5474).ClientSession;const C=r(3111).MongoError;const I=r(3111).MongoServerSelectionError;const y=r(2306).resolveClusterTime;const B=r(9663).D;const Q=r(2306).getMMAPError;const b=r(1178).makeStateMachine;const w=r(1178).eachAsync;const S=r(1371).emitDeprecationWarning;const v=r(5474).ServerSessionPool;const R=r(1178).makeClientMetadata;const k=r(897).CMAP_EVENT_NAMES;const D=r(750).compareTopologyVersion;const N=r(1371).emitWarning;const T=r(2291);const O=T.drainTimerQueue;const _=T.clearAndRemoveTimerFrom;const M=r(4547);const L=M.readPreferenceServerSelector;const F=M.writableServerSelector;let U=0;const P=["serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","commandStarted","commandSucceeded","commandFailed","monitoring"].concat(k);const G=["connect","descriptionReceived","close","ended"];const Y=T.STATE_CLOSING;const V=T.STATE_CLOSED;const W=T.STATE_CONNECTING;const J=T.STATE_CONNECTED;const q=b({[V]:[V,W],[W]:[W,Y,J,V],[J]:[J,Y,V],[Y]:[Y,V]});const j=new Set(["autoReconnect","reconnectTries","reconnectInterval","bufferMaxEntries"]);const z=Symbol("cancelled");const $=Symbol("waitQueue");class Topology extends o{constructor(e,t){super();if(typeof t==="undefined"&&typeof e!=="string"){t=e;e=[];if(t.host){e.push({host:t.host,port:t.port})}}e=e||[];if(typeof e==="string"){e=parseStringSeedlist(e)}t=Object.assign({},T.TOPOLOGY_DEFAULTS,t);t=Object.freeze(Object.assign(t,{metadata:R(t),compression:{compressors:E(t)}}));j.forEach((e=>{if(t[e]){S(`The option \`${e}\` is incompatible with the unified topology, please read more by visiting http://bit.ly/2D8WfT6`,"DeprecationWarning")}}));const r=topologyTypeFromSeedlist(e,t);const o=U++;const i=e.reduce(((e,t)=>{if(t.domain_socket)t.host=t.domain_socket;const r=t.port?`${t.host}:${t.port}`:`${t.host}:27017`;e.set(r,new s(r));return e}),new Map);this[$]=new n;this.s={id:o,options:t,seedlist:e,state:V,description:new a(r,i,t.replicaSet,null,null,null,t),serverSelectionTimeoutMS:t.serverSelectionTimeoutMS,heartbeatFrequencyMS:t.heartbeatFrequencyMS,minHeartbeatFrequencyMS:t.minHeartbeatFrequencyMS,Cursor:t.cursorFactory||d,bson:t.bson||new p([p.Binary,p.Code,p.DBRef,p.Decimal128,p.Double,p.Int32,p.Long,p.Map,p.MaxKey,p.MinKey,p.ObjectId,p.BSONRegExp,p.Symbol,p.Timestamp]),servers:new Map,sessionPool:new v(this),sessions:new Set,promiseLibrary:t.promiseLibrary||Promise,credentials:t.credentials,clusterTime:null,connectionTimers:new Set};this.serverApi=t.serverApi;if(t.srvHost){this.s.srvPoller=t.srvPoller||new B({heartbeatFrequencyMS:this.s.heartbeatFrequencyMS,srvHost:t.srvHost,logger:t.logger,loggerLevel:t.loggerLevel});this.s.detectTopologyDescriptionChange=e=>{const t=e.previousDescription.type;const r=e.newDescription.type;if(t!==A.Sharded&&r===A.Sharded){this.s.handleSrvPolling=srvPollingHandler(this);this.s.srvPoller.on("srvRecordDiscovery",this.s.handleSrvPolling);this.s.srvPoller.start()}};this.on("topologyDescriptionChanged",this.s.detectTopologyDescriptionChange)}this.setMaxListeners(Infinity)}get description(){return this.s.description}get parserType(){return p.native?"c++":"js"}connect(e,t){if(typeof e==="function")t=e,e={};e=e||{};if(this.s.state===J){if(typeof t==="function"){t()}return}q(this,W);this.emit("topologyOpening",new c.TopologyOpeningEvent(this.s.id));this.emit("topologyDescriptionChanged",new c.TopologyDescriptionChangedEvent(this.s.id,new a(A.Unknown),this.s.description));connectServers(this,Array.from(this.s.description.servers.values()));h.translate(e);const r=e.readPreference||h.primary;const connectHandler=e=>{if(e){this.close();if(typeof t==="function"){t(e)}else{this.emit("error",e)}return}q(this,J);this.emit("open",e,this);this.emit("connect",this);if(typeof t==="function")t(e,this)};if(this.s.credentials){this.command("admin.$cmd",{ping:1},{readPreference:r},connectHandler);return}this.selectServer(L(r),e,connectHandler)}close(e,t){if(typeof e==="function"){t=e;e={}}if(typeof e==="boolean"){e={force:e}}e=e||{};if(this.s.state===V||this.s.state===Y){if(typeof t==="function"){t()}return}q(this,Y);drainWaitQueue(this[$],new C("Topology closed"));O(this.s.connectionTimers);if(this.s.srvPoller){this.s.srvPoller.stop();if(this.s.handleSrvPolling){this.s.srvPoller.removeListener("srvRecordDiscovery",this.s.handleSrvPolling);delete this.s.handleSrvPolling}}if(this.s.detectTopologyDescriptionChange){this.removeListener("topologyDescriptionChanged",this.s.detectTopologyDescriptionChange);delete this.s.detectTopologyDescriptionChange}this.s.sessions.forEach((e=>e.endSession()));this.s.sessionPool.endAllPooledSessions((()=>{w(Array.from(this.s.servers.values()),((t,r)=>destroyServer(t,this,e,r)),(e=>{this.s.servers.clear();this.emit("topologyClosed",new c.TopologyClosedEvent(this.s.id));q(this,V);if(typeof t==="function"){t(e)}}))}))}selectServer(e,t,r){if(typeof t==="function"){r=t;if(typeof e!=="function"){t=e;let r;if(e instanceof h){r=e}else if(typeof e==="string"){r=new h(e)}else{h.translate(t);r=t.readPreference||h.primary}e=L(r)}else{t={}}}t=Object.assign({},{serverSelectionTimeoutMS:this.s.serverSelectionTimeoutMS},t);const n=this.description.type===A.Sharded;const o=t.session;const s=o&&o.transaction;if(n&&s&&s.server){r(undefined,s.server);return}let i=e;if(typeof e==="object"){const t=e.readPreference?e.readPreference:h.primary;i=L(t)}const a={serverSelector:i,transaction:s,callback:r};const c=t.serverSelectionTimeoutMS;if(c){a.timer=setTimeout((()=>{a[z]=true;a.timer=undefined;const e=new I(`Server selection timed out after ${c} ms`,this.description);a.callback(e)}),c)}this[$].push(a);processWaitQueue(this)}shouldCheckForSessionSupport(){if(this.description.type===A.Single){return!this.description.hasKnownServers}return!this.description.hasDataBearingServers}hasSessionSupport(){return this.description.logicalSessionTimeoutMinutes!=null}startSession(e,t){const r=new m(this,this.s.sessionPool,e,t);r.once("ended",(()=>{this.s.sessions.delete(r)}));this.s.sessions.add(r);return r}endSessions(e,t){if(!Array.isArray(e)){e=[e]}this.command("admin.$cmd",{endSessions:e},{readPreference:h.primaryPreferred,noResponse:true,serverApi:this.serverApi},(()=>{if(typeof t==="function")t()}))}serverUpdateHandler(e){if(!this.s.description.hasServer(e.address)){return}if(isStaleServerDescription(this.s.description,e)){return}const t=this.s.description;const r=this.s.description.servers.get(e.address);const n=e.$clusterTime;if(n){y(this,n)}const o=r&&r.equals(e);this.s.description=this.s.description.update(e);if(this.s.description.compatibilityError){this.emit("error",new C(this.s.description.compatibilityError));return}if(!o){this.emit("serverDescriptionChanged",new c.ServerDescriptionChangedEvent(this.s.id,e.address,r,this.s.description.servers.get(e.address)))}updateServers(this,e);if(this[$].length>0){processWaitQueue(this)}if(!o){this.emit("topologyDescriptionChanged",new c.TopologyDescriptionChangedEvent(this.s.id,t,this.s.description))}}auth(e,t){if(typeof e==="function")t=e,e=null;if(typeof t==="function")t(null,true)}logout(e){if(typeof e==="function")e(null,true)}insert(e,t,r,n){executeWriteOperation({topology:this,op:"insert",ns:e,ops:t},r,n)}update(e,t,r,n){executeWriteOperation({topology:this,op:"update",ns:e,ops:t},r,n)}remove(e,t,r,n){executeWriteOperation({topology:this,op:"remove",ns:e,ops:t},r,n)}command(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}h.translate(r);const o=r.readPreference||h.primary;this.selectServer(L(o),r,((o,s)=>{if(o){n(o);return}const i=!r.retrying;const a=!!r.retryWrites;const A=!!r.session;const c=s.supportsRetryableWrites;const l=!A||!r.session.inTransaction();const u=i&&a&&A&&c&&l&&isWriteCommand(t);const cb=(o,s)=>{if(!o)return n(null,s);if(!shouldRetryOperation(o)){return n(o)}if(u){const o=Object.assign({},r,{retrying:true});return this.command(e,t,o,n)}return n(o)};if(u){r.session.incrementTransactionNumber();r.willRetryWrite=u}s.command(e,t,r,cb)}))}cursor(e,t,r){r=r||{};const n=r.topology||this;const o=r.cursorFactory||this.s.Cursor;h.translate(r);return new o(n,e,t,r)}get clientMetadata(){return this.s.options.metadata}isConnected(){return this.s.state===J}isDestroyed(){return this.s.state===V}unref(){N("`unref` is a noop and will be removed in the next major version")}lastIsMaster(){const e=Array.from(this.description.servers.values());if(e.length===0)return{};const t=e.filter((e=>e.type!==i.Unknown))[0];const r=t||{maxWireVersion:this.description.commonWireVersion};return r}get logicalSessionTimeoutMinutes(){return this.description.logicalSessionTimeoutMinutes}get bson(){return this.s.bson}}Object.defineProperty(Topology.prototype,"clusterTime",{enumerable:true,get:function(){return this.s.clusterTime},set:function(e){this.s.clusterTime=e}});Topology.prototype.destroy=g(Topology.prototype.close,"destroy() is deprecated, please use close() instead");const K=["findAndModify","insert","update","delete"];function isWriteCommand(e){return K.some((t=>e[t]))}function isStaleServerDescription(e,t){const r=e.servers.get(t.address);const n=r.topologyVersion;return D(n,t.topologyVersion)>0}function destroyServer(e,t,r,n){r=r||{};G.forEach((t=>e.removeAllListeners(t)));e.destroy(r,(()=>{t.emit("serverClosed",new c.ServerClosedEvent(t.s.id,e.description.address));P.forEach((t=>e.removeAllListeners(t)));if(typeof n==="function"){n()}}))}function parseStringSeedlist(e){return e.split(",").map((e=>({host:e.split(":")[0],port:e.split(":")[1]||27017})))}function topologyTypeFromSeedlist(e,t){if(t.directConnection){return A.Single}const r=t.replicaSet||t.setName||t.rs_name;if(r==null){return A.Unknown}return A.ReplicaSetNoPrimary}function randomSelection(e){return e[Math.floor(Math.random()*e.length)]}function createAndConnectServer(e,t,r){e.emit("serverOpening",new c.ServerOpeningEvent(e.s.id,t.address));const n=new l(t,e.s.options,e);u(n,e,P);n.on("descriptionReceived",e.serverUpdateHandler.bind(e));if(r){const t=setTimeout((()=>{_(t,e.s.connectionTimers);n.connect()}),r);e.s.connectionTimers.add(t);return n}n.connect();return n}function connectServers(e,t){e.s.servers=t.reduce(((t,r)=>{const n=createAndConnectServer(e,r);t.set(r.address,n);return t}),new Map)}function updateServers(e,t){if(t&&e.s.servers.has(t.address)){const r=e.s.servers.get(t.address);r.s.description=t}for(const t of e.description.servers.values()){if(!e.s.servers.has(t.address)){const r=createAndConnectServer(e,t);e.s.servers.set(t.address,r)}}for(const t of e.s.servers){const r=t[0];if(e.description.hasServer(r)){continue}const n=e.s.servers.get(r);e.s.servers.delete(r);destroyServer(n,e)}}function executeWriteOperation(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=e.topology;const o=e.op;const s=e.ns;const i=e.ops;n.selectServer(F(),t,((n,a)=>{if(n){r(n,null);return}const A=!e.retrying;const c=!!t.retryWrites;const l=!!t.session;const u=a.supportsRetryableWrites;const h=!l||!t.session.inTransaction();const d=t.explain===undefined;const g=A&&c&&l&&u&&h&&d;const handler=(n,o)=>{if(!n)return r(null,o);if(!shouldRetryOperation(n)){n=Q(n);return r(n)}if(g){const n=Object.assign({},e,{retrying:true});return executeWriteOperation(n,t,r)}return r(n)};if(r.operationId){handler.operationId=r.operationId}if(g){t.session.incrementTransactionNumber();t.willRetryWrite=g}a[o](s,i,t,handler)}))}function shouldRetryOperation(e){return e instanceof C&&e.hasErrorLabel("RetryableWriteError")}function srvPollingHandler(e){return function handleSrvPolling(t){const r=e.s.description;e.s.description=e.s.description.updateFromSrvPollingEvent(t);if(e.s.description===r){return}updateServers(e);e.emit("topologyDescriptionChanged",new c.TopologyDescriptionChangedEvent(e.s.id,r,e.s.description))}}function drainWaitQueue(e,t){while(e.length){const r=e.shift();clearTimeout(r.timer);if(!r[z]){r.callback(t)}}}function processWaitQueue(e){if(e.s.state===V){drainWaitQueue(e[$],new C("Topology is closed, please connect"));return}const t=Array.from(e.description.servers.values());const r=e[$].length;for(let n=0;n0){e.s.servers.forEach((e=>process.nextTick((()=>e.requestCheck()))))}}e.exports={Topology:Topology}},7962:(e,t,r)=>{"use strict";const n=r(2291).ServerType;const o=r(750).ServerDescription;const s=r(7161);const i=r(2291).TopologyType;const a=s.MIN_SUPPORTED_SERVER_VERSION;const A=s.MAX_SUPPORTED_SERVER_VERSION;const c=s.MIN_SUPPORTED_WIRE_VERSION;const l=s.MAX_SUPPORTED_WIRE_VERSION;class TopologyDescription{constructor(e,t,r,o,s,u,h){h=h||{};this.type=e||i.Unknown;this.setName=r||null;this.maxSetVersion=o||null;this.maxElectionId=s||null;this.servers=t||new Map;this.stale=false;this.compatible=true;this.compatibilityError=null;this.logicalSessionTimeoutMinutes=null;this.heartbeatFrequencyMS=h.heartbeatFrequencyMS||0;this.localThresholdMS=h.localThresholdMS||0;this.commonWireVersion=u||null;Object.defineProperty(this,"options",{value:h,enumberable:false});for(const e of this.servers.values()){if(e.type===n.Unknown)continue;if(e.minWireVersion>l){this.compatible=false;this.compatibilityError=`Server at ${e.address} requires wire version ${e.minWireVersion}, but this version of the driver only supports up to ${l} (MongoDB ${A})`}if(e.maxWireVersion=0){u.delete(t)}if(l===n.RSPrimary){const t=updateRsFromPrimary(u,s,e,a,A);r=t[0],s=t[1],a=t[2],A=t[3]}else if([n.RSSecondary,n.RSArbiter,n.RSOther].indexOf(l)>=0){const t=updateRsNoPrimaryFromMember(u,s,e);r=t[0],s=t[1]}}if(r===i.ReplicaSetWithPrimary){if([n.Standalone,n.Mongos].indexOf(l)>=0){u.delete(t);r=checkHasPrimary(u)}else if(l===n.RSPrimary){const t=updateRsFromPrimary(u,s,e,a,A);r=t[0],s=t[1],a=t[2],A=t[3]}else if([n.RSSecondary,n.RSArbiter,n.RSOther].indexOf(l)>=0){r=updateRsWithPrimaryFromMember(u,s,e)}else{r=checkHasPrimary(u)}}return new TopologyDescription(r,u,s,a,A,c,this.options)}get error(){const e=Array.from(this.servers.values()).filter((e=>e.error));if(e.length>0){return e[0].error}return undefined}get hasKnownServers(){return Array.from(this.servers.values()).some((e=>e.type!==n.Unknown))}get hasDataBearingServers(){return Array.from(this.servers.values()).some((e=>e.isDataBearing))}hasServer(e){return this.servers.has(e)}}function topologyTypeForServerType(e){if(e===n.Standalone){return i.Single}if(e===n.Mongos){return i.Sharded}if(e===n.RSPrimary){return i.ReplicaSetWithPrimary}if(e===n.RSGhost||e===n.Unknown){return i.Unknown}return i.ReplicaSetNoPrimary}function compareObjectId(e,t){if(e==null){return-1}if(t==null){return 1}if(e.id instanceof Buffer&&t.id instanceof Buffer){const r=e.id;const n=t.id;return r.compare(n)}const r=e.toString();const n=t.toString();return r.localeCompare(n)}function updateRsFromPrimary(e,t,r,s,i){t=t||r.setName;if(t!==r.setName){e.delete(r.address);return[checkHasPrimary(e),t,s,i]}const a=r.electionId?r.electionId:null;if(r.setVersion&&a){if(s&&i){if(s>r.setVersion||compareObjectId(i,a)>0){e.set(r.address,new o(r.address));return[checkHasPrimary(e),t,s,i]}}i=r.electionId}if(r.setVersion!=null&&(s==null||r.setVersion>s)){s=r.setVersion}for(const t of e.keys()){const s=e.get(t);if(s.type===n.RSPrimary&&s.address!==r.address){e.set(t,new o(s.address));break}}r.allHosts.forEach((t=>{if(!e.has(t)){e.set(t,new o(t))}}));const A=Array.from(e.keys());const c=r.allHosts;A.filter((e=>c.indexOf(e)===-1)).forEach((t=>{e.delete(t)}));return[checkHasPrimary(e),t,s,i]}function updateRsWithPrimaryFromMember(e,t,r){if(t==null){throw new TypeError("setName is required")}if(t!==r.setName||r.me&&r.address!==r.me){e.delete(r.address)}return checkHasPrimary(e)}function updateRsNoPrimaryFromMember(e,t,r){let n=i.ReplicaSetNoPrimary;t=t||r.setName;if(t!==r.setName){e.delete(r.address);return[n,t]}r.allHosts.forEach((t=>{if(!e.has(t)){e.set(t,new o(t))}}));if(r.me&&r.address!==r.me){e.delete(r.address)}return[n,t]}function checkHasPrimary(e){for(const t of e.keys()){if(e.get(t).type===n.RSPrimary){return i.ReplicaSetWithPrimary}}return i.ReplicaSetNoPrimary}e.exports={TopologyDescription:TopologyDescription}},5474:(e,t,r)=>{"use strict";const n=r(7746).retrieveBSON;const o=r(2361);const s=n();const i=s.Binary;const a=r(1178).uuidV4;const A=r(3111).MongoError;const c=r(3111).isRetryableError;const l=r(3111).isRetryableEndTransactionError;const u=r(3111).MongoNetworkError;const h=r(3111).MongoWriteConcernError;const d=r(1707).Transaction;const g=r(1707).TxnState;const p=r(1178).isPromiseLike;const E=r(4485);const m=r(1371).maybePromise;const C=r(1707).isTransactionCommand;const I=r(2306).resolveClusterTime;const y=r(7272).isSharded;const B=r(1178).maxWireVersion;const Q=r(1371).now;const b=r(1371).calculateDurationInMs;const w=8;function assertAlive(e,t){if(e.serverSession==null){const e=new A("Cannot use a session that has ended");if(typeof t==="function"){t(e,null);return false}throw e}return true}const S=Symbol("serverSession");class ClientSession extends o{constructor(e,t,r,n){super();if(e==null){throw new Error("ClientSession requires a topology")}if(t==null||!(t instanceof ServerSessionPool)){throw new Error("ClientSession requires a ServerSessionPool")}r=r||{};n=n||{};this.topology=e;this.sessionPool=t;this.hasEnded=false;this.clientOptions=n;this[S]=undefined;this.supports={causalConsistency:typeof r.causalConsistency!=="undefined"?r.causalConsistency:true};this.clusterTime=r.initialClusterTime;this.operationTime=null;this.explicit=!!r.explicit;this.owner=r.owner;this.defaultTransactionOptions=Object.assign({},r.defaultTransactionOptions);this.transaction=new d}get id(){return this.serverSession.id}get serverSession(){if(this[S]==null){this[S]=this.sessionPool.acquire()}return this[S]}endSession(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=this;return m(this,t,(e=>{if(r.hasEnded){return e()}function completeEndSession(){r.sessionPool.release(r.serverSession);r[S]=undefined;r.hasEnded=true;r.emit("ended",r);e()}if(r.serverSession&&r.inTransaction()){r.abortTransaction((t=>{if(t)return e(t);completeEndSession()}));return}completeEndSession()}))}advanceOperationTime(e){if(this.operationTime==null){this.operationTime=e;return}if(e.greaterThan(this.operationTime)){this.operationTime=e}}equals(e){if(!(e instanceof ClientSession)){return false}return this.id.id.buffer.equals(e.id.id.buffer)}incrementTransactionNumber(){this.serverSession.txnNumber++}inTransaction(){return this.transaction.isActive}startTransaction(e){assertAlive(this);if(this.inTransaction()){throw new A("Transaction already in progress")}const t=B(this.topology);if(y(this.topology)&&t!=null&&tendTransaction(this,"commitTransaction",e)))}abortTransaction(e){return m(this,e,(e=>endTransaction(this,"abortTransaction",e)))}toBSON(){throw new Error("ClientSession cannot be serialized to BSON.")}withTransaction(e,t){const r=Q();return attemptTransaction(this,r,e,t)}}const v=12e4;const R=100;const k=79;const D=50;const N=new Set(["CannotSatisfyWriteConcern","UnknownReplWriteConcern","UnsatisfiableWriteConcern"]);function hasNotTimedOut(e,t){return b(e){if(o instanceof A&&hasNotTimedOut(t,v)&&!isMaxTimeMSExpiredError(o)){if(o.hasErrorLabel("UnknownTransactionCommitResult")){return attemptTransactionCommit(e,t,r,n)}if(o.hasErrorLabel("TransientTransactionError")){return attemptTransaction(e,t,r,n)}}throw o}))}const T=new Set([g.NO_TRANSACTION,g.TRANSACTION_COMMITTED,g.TRANSACTION_ABORTED]);function userExplicitlyEndedTransaction(e){return T.has(e.transaction.state)}function attemptTransaction(e,t,r,n){e.startTransaction(n);let o;try{o=r(e)}catch(e){o=Promise.reject(e)}if(!p(o)){e.abortTransaction();throw new TypeError("Function provided to `withTransaction` must return a Promise")}return o.then((()=>{if(userExplicitlyEndedTransaction(e)){return}return attemptTransactionCommit(e,t,r,n)})).catch((o=>{function maybeRetryOrThrow(o){if(o instanceof A&&o.hasErrorLabel("TransientTransactionError")&&hasNotTimedOut(t,v)){return attemptTransaction(e,t,r,n)}if(isMaxTimeMSExpiredError(o)){o.addErrorLabel("UnknownTransactionCommitResult")}throw o}if(e.transaction.isActive){return e.abortTransaction().then((()=>maybeRetryOrThrow(o)))}return maybeRetryOrThrow(o)}))}function endTransaction(e,t,r){if(!assertAlive(e,r)){return}let n=e.transaction.state;if(n===g.NO_TRANSACTION){r(new A("No transaction started"));return}if(t==="commitTransaction"){if(n===g.STARTING_TRANSACTION||n===g.TRANSACTION_COMMITTED_EMPTY){e.transaction.transition(g.TRANSACTION_COMMITTED_EMPTY);r(null,null);return}if(n===g.TRANSACTION_ABORTED){r(new A("Cannot call commitTransaction after calling abortTransaction"));return}}else{if(n===g.STARTING_TRANSACTION){e.transaction.transition(g.TRANSACTION_ABORTED);r(null,null);return}if(n===g.TRANSACTION_ABORTED){r(new A("Cannot call abortTransaction twice"));return}if(n===g.TRANSACTION_COMMITTED||n===g.TRANSACTION_COMMITTED_EMPTY){r(new A("Cannot call abortTransaction after calling commitTransaction"));return}}const o={[t]:1};let s;if(e.transaction.options.writeConcern){s=Object.assign({},e.transaction.options.writeConcern)}else if(e.clientOptions&&e.clientOptions.w){s={w:e.clientOptions.w}}if(n===g.TRANSACTION_COMMITTED){s=Object.assign({wtimeout:1e4},s,{w:"majority"})}if(s){Object.assign(o,{writeConcern:s})}if(t==="commitTransaction"&&e.transaction.options.maxTimeMS){Object.assign(o,{maxTimeMS:e.transaction.options.maxTimeMS})}function commandHandler(n,o){if(t==="commitTransaction"){e.transaction.transition(g.TRANSACTION_COMMITTED);if(n){if(n instanceof u||n instanceof h||c(n)||isMaxTimeMSExpiredError(n)){if(isUnknownTransactionCommitResult(n)){n.addErrorLabel("UnknownTransactionCommitResult");e.transaction.unpinServer()}}else if(n.hasErrorLabel("TransientTransactionError")){e.transaction.unpinServer()}}}else{e.transaction.transition(g.TRANSACTION_ABORTED)}r(n,o)}function transactionError(e){return t==="commitTransaction"?e:null}if(e.transaction.recoveryToken&&supportsRecoveryToken(e)){o.recoveryToken=e.transaction.recoveryToken}e.topology.command("admin.$cmd",o,{session:e},((t,r)=>{if(t&&l(t)){if(o.commitTransaction){e.transaction.unpinServer();o.writeConcern=Object.assign({wtimeout:1e4},o.writeConcern,{w:"majority"})}return e.topology.command("admin.$cmd",o,{session:e},((e,t)=>commandHandler(transactionError(e),t)))}commandHandler(transactionError(t),r)}))}function supportsRecoveryToken(e){const t=e.topology;return!!t.s.options.useRecoveryToken}class ServerSession{constructor(){this.id={id:new i(a(),i.SUBTYPE_UUID)};this.lastUse=Q();this.txnNumber=0;this.isDirty=false}hasTimedOut(e){const t=Math.round(b(this.lastUse)%864e5%36e5/6e4);return t>e-1}}class ServerSessionPool{constructor(e){if(e==null){throw new Error("ServerSessionPool requires a topology")}this.topology=e;this.sessions=[]}endAllPooledSessions(e){if(this.sessions.length){this.topology.endSessions(this.sessions.map((e=>e.id)),(()=>{this.sessions=[];if(typeof e==="function"){e()}}));return}if(typeof e==="function"){e()}}acquire(){const e=this.topology.logicalSessionTimeoutMinutes;while(this.sessions.length){const t=this.sessions.shift();if(!t.hasTimedOut(e)){return t}}return new ServerSession}release(e){const t=this.topology.logicalSessionTimeoutMinutes;while(this.sessions.length){const e=this.sessions[this.sessions.length-1];if(e.hasTimedOut(t)){this.sessions.pop()}else{break}}if(!e.hasTimedOut(t)){if(e.isDirty){return}this.sessions.unshift(e)}}}function commandSupportsReadConcern(e,t){if(e.aggregate||e.count||e.distinct||e.find||e.parallelCollectionScan||e.geoNear||e.geoSearch){return true}if(e.mapReduce&&t&&t.out&&(t.out.inline===1||t.out==="inline")){return true}return false}function applySession(e,t,r){if(e.hasEnded){return new A("Cannot use a session that has ended")}if(r&&r.writeConcern&&r.writeConcern.w===0){return}const n=e.serverSession;n.lastUse=Q();t.lsid=n.id;const o=e.inTransaction()||C(t);const i=r.willRetryWrite;const a=commandSupportsReadConcern(t,r);if(n.txnNumber&&(i||o)){t.txnNumber=s.Long.fromNumber(n.txnNumber)}if(!o){if(e.transaction.state!==g.NO_TRANSACTION){e.transaction.transition(g.NO_TRANSACTION)}if(e.supports.causalConsistency&&e.operationTime&&a){t.readConcern=t.readConcern||{};Object.assign(t.readConcern,{afterClusterTime:e.operationTime})}return}if(r.readPreference&&!r.readPreference.equals(E.primary)){return new A(`Read preference in a transaction must be primary, not: ${r.readPreference.mode}`)}t.autocommit=false;if(e.transaction.state===g.STARTING_TRANSACTION){e.transaction.transition(g.TRANSACTION_IN_PROGRESS);t.startTransaction=true;const r=e.transaction.options.readConcern||e.clientOptions.readConcern;if(r){t.readConcern=r}if(e.supports.causalConsistency&&e.operationTime){t.readConcern=t.readConcern||{};Object.assign(t.readConcern,{afterClusterTime:e.operationTime})}}}function updateSessionFromResponse(e,t){if(t.$clusterTime){I(e,t.$clusterTime)}if(t.operationTime&&e&&e.supports.causalConsistency){e.advanceOperationTime(t.operationTime)}if(t.recoveryToken&&e&&e.inTransaction()){e.transaction._recoveryToken=t.recoveryToken}}e.exports={ClientSession:ClientSession,ServerSession:ServerSession,ServerSessionPool:ServerSessionPool,TxnState:g,applySession:applySession,updateSessionFromResponse:updateSessionFromResponse,commandSupportsReadConcern:commandSupportsReadConcern}},8175:(e,t,r)=>{"use strict";const n=r(3837).inherits;const o=r(3837).format;const s=r(2361).EventEmitter;const i=r(4847).CoreCursor;const a=r(104);const A=r(7746).retrieveBSON;const c=r(3111).MongoError;const l=r(6495);const u=r(2306).diff;const h=r(2306).cloneOptions;const d=r(2306).SessionMixins;const g=r(2306).isRetryableWritesSupported;const p=r(1178).relayEvents;const E=A();const m=r(2306).getMMAPError;const C=r(1178).makeClientMetadata;const I=r(2306).legacyIsRetryableWriteError;var y="disconnected";var B="connecting";var Q="connected";var b="unreferenced";var w="destroying";var S="destroyed";function stateTransition(e,t){var r={disconnected:[B,w,S,y],connecting:[B,w,S,Q,y],connected:[Q,y,w,S,b],unreferenced:[b,w,S],destroyed:[S]};var n=r[e.state];if(n&&n.indexOf(t)!==-1){e.state=t}else{e.s.logger.error(o("Mongos with id [%s] failed attempted illegal state transition from [%s] to [%s] only following state allowed [%s]",e.id,e.state,t,n))}}var v=1;var R=["connect","close","error","timeout","parseError"];var Mongos=function(e,t){t=t||{};this.id=v++;if(Array.isArray(e)){e=e.reduce(((e,t)=>{if(e.find((e=>e.host===t.host&&e.port===t.port))){return e}e.push(t);return e}),[])}this.s={options:Object.assign({metadata:C(t)},t),bson:t.bson||new E([E.Binary,E.Code,E.DBRef,E.Decimal128,E.Double,E.Int32,E.Long,E.Map,E.MaxKey,E.MinKey,E.ObjectId,E.BSONRegExp,E.Symbol,E.Timestamp]),Cursor:t.cursorFactory||i,logger:a("Mongos",t),seedlist:e,haInterval:t.haInterval?t.haInterval:1e4,disconnectHandler:t.disconnectHandler,index:0,connectOptions:{},debug:typeof t.debug==="boolean"?t.debug:false,localThresholdMS:t.localThresholdMS||15};if(this.s.logger.isWarn()&&this.s.options.socketTimeout!==0&&this.s.options.socketTimeout0){e.emit(t,r)}}const k=["serverDescriptionChanged","error","close","timeout","parseError"];function destroyServer(e,t,r){t=t||{};k.forEach((t=>e.removeAllListeners(t)));e.destroy(t,r)}Mongos.prototype.connect=function(e){var t=this;this.s.connectOptions=e||{};stateTransition(this,B);var r=this.s.seedlist.map((function(r){const n=new l(Object.assign({},t.s.options,r,e,{reconnect:false,monitoring:false,parent:t}));p(n,t,["serverDescriptionChanged"]);return n}));emitSDAMEvent(this,"topologyOpening",{topologyId:this.id});connectProxies(t,r)};Mongos.prototype.auth=function(e,t){if(typeof t==="function")t(null,null)};function handleEvent(e){return function(){if(e.state===S||e.state===w){return}moveServerFrom(e.connectedProxies,e.disconnectedProxies,this);emitTopologyDescriptionChanged(e);e.emit("left","mongos",this);e.emit("serverClosed",{topologyId:e.id,address:this.name})}}function handleInitialConnectEvent(e,t){return function(){var r=this;if(e.state===S){emitTopologyDescriptionChanged(e);moveServerFrom(e.connectingProxies,e.disconnectedProxies,this);return this.destroy()}if(t==="connect"){e.ismaster=r.lastIsMaster();if(e.ismaster.msg==="isdbgrid"){for(let t=0;t0&&e.state===B){stateTransition(e,Q);e.emit("connect",e);e.emit("fullsetup",e);e.emit("all",e)}else if(e.disconnectedProxies.length===0){if(e.s.logger.isWarn()){e.s.logger.warn(o("no mongos proxies found in seed list, did you mean to connect to a replicaset"))}return e.emit("error",new c("no mongos proxies found in seed list"))}topologyMonitor(e,{firstConnect:true})}}}function connectProxies(e,t){e.connectingProxies=e.connectingProxies.concat(t);var r=0;function connect(t,r){setTimeout((function(){e.emit("serverOpening",{topologyId:e.id,address:t.name});emitTopologyDescriptionChanged(e);t.once("close",handleInitialConnectEvent(e,"close"));t.once("timeout",handleInitialConnectEvent(e,"timeout"));t.once("parseError",handleInitialConnectEvent(e,"parseError"));t.once("error",handleInitialConnectEvent(e,"error"));t.once("connect",handleInitialConnectEvent(e,"connect"));p(t,e,["commandStarted","commandSucceeded","commandFailed"]);t.connect(e.s.connectOptions)}),r)}t.forEach((e=>connect(e,r++)))}function pickProxy(e,t){const r=t&&t.transaction;if(r&&r.server){if(r.server.isConnected()){return r.server}else{r.unpinServer()}}var n=e.connectedProxies.slice(0);var o=Number.MAX_VALUE;for(var s=0;s0&&e.state===B){e.emit("error",new c("no mongos proxy available"))}else{e.emit("close",e)}return reconnectProxies(e,e.disconnectedProxies,(function(){if(e.state===S||e.state===w||e.state===b){return}if(e.state===B&&t.firstConnect){e.emit("connect",e);e.emit("fullsetup",e);e.emit("all",e)}else if(e.isConnected()){e.emit("reconnect",e)}else if(!e.isConnected()&&e.listeners("close").length>0){e.emit("close",e)}topologyMonitor(e)}))}for(var o=0;o{n--;if(n>0){return}emitTopologyDescriptionChanged(this);emitSDAMEvent(this,"topologyClosed",{topologyId:this.id});stateTransition(this,S);if(typeof t==="function"){t(null,null)}};if(n===0){serverDestroyed();return}r.forEach((t=>{this.emit("serverClosed",{topologyId:this.id,address:t.name});destroyServer(t,e,serverDestroyed);moveServerFrom(this.connectedProxies,this.disconnectedProxies,t)}))};Mongos.prototype.isConnected=function(){return this.connectedProxies.length>0};Mongos.prototype.isDestroyed=function(){return this.state===S};function executeWriteOperation(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=e.self;const o=e.op;const s=e.ns;const i=e.ops;let a=pickProxy(n,t.session);if(!a)return r(new c("no mongos proxy available"));const A=!e.retrying&&!!t.retryWrites&&t.session&&g(n)&&!t.session.inTransaction()&&t.explain===undefined;const handler=(o,s)=>{if(!o)return r(null,s);if(!I(o,n)||!A){o=m(o);return r(o)}a=pickProxy(n,t.session);if(!a){return r(o)}const i=Object.assign({},e,{retrying:true});return executeWriteOperation(i,t,r)};if(r.operationId){handler.operationId=r.operationId}if(A){t.session.incrementTransactionNumber();t.willRetryWrite=A}a[o](s,i,t,handler)}Mongos.prototype.insert=function(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}if(this.state===S){return n(new c(o("topology was destroyed")))}if(!this.isConnected()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("insert",e,t,r,n)}if(!this.isConnected()){return n(new c("no mongos proxy available"))}executeWriteOperation({self:this,op:"insert",ns:e,ops:t},r,n)};Mongos.prototype.update=function(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}if(this.state===S){return n(new c(o("topology was destroyed")))}if(!this.isConnected()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("update",e,t,r,n)}if(!this.isConnected()){return n(new c("no mongos proxy available"))}executeWriteOperation({self:this,op:"update",ns:e,ops:t},r,n)};Mongos.prototype.remove=function(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}if(this.state===S){return n(new c(o("topology was destroyed")))}if(!this.isConnected()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("remove",e,t,r,n)}if(!this.isConnected()){return n(new c("no mongos proxy available"))}executeWriteOperation({self:this,op:"remove",ns:e,ops:t},r,n)};const D=["findAndModify","insert","update","delete"];function isWriteCommand(e){return D.some((t=>e[t]))}Mongos.prototype.command=function(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}if(this.state===S){return n(new c(o("topology was destroyed")))}var s=this;var i=pickProxy(s,r.session);if((i==null||!i.isConnected())&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("command",e,t,r,n)}if(i==null){return n(new c("no mongos proxy available"))}var a=h(r);a.topology=s;const A=!r.retrying&&r.retryWrites&&r.session&&g(s)&&!r.session.inTransaction()&&isWriteCommand(t);const cb=(r,o)=>{if(!r)return n(null,o);if(!I(r,s)){return n(r)}if(A){const r=Object.assign({},a,{retrying:true});return this.command(e,t,r,n)}return n(r)};if(A){a.session.incrementTransactionNumber();a.willRetryWrite=A}i.command(e,t,a,cb)};Mongos.prototype.cursor=function(e,t,r){r=r||{};const n=r.topology||this;var o=r.cursorFactory||this.s.Cursor;return new o(n,e,t,r)};Mongos.prototype.selectServer=function(e,t,r){if(typeof e==="function"&&typeof r==="undefined")r=e,e=undefined,t={};if(typeof t==="function")r=t,t=e,e=undefined;t=t||{};const n=pickProxy(this,t.session);if(n==null){r(new c("server selection failed"));return}if(this.s.debug)this.emit("pickedServer",null,n);r(null,n)};Mongos.prototype.connections=function(){var e=[];for(var t=0;t0){var t="Unknown";if(e.connectedProxies.length>0){t="Sharded"}var r={topologyType:t,servers:[]};var n=e.disconnectedProxies.concat(e.connectingProxies);r.servers=r.servers.concat(n.map((function(e){var t=e.getDescription();t.type="Unknown";return t})));r.servers=r.servers.concat(e.connectedProxies.map((function(e){var t=e.getDescription();t.type="Mongos";return t})));var o=u(e.topologyDescription,r);var s={topologyId:e.id,previousDescription:e.topologyDescription,newDescription:r,diff:o};if(o.servers.length>0){e.emit("topologyDescriptionChanged",s)}e.topologyDescription=r}}e.exports=Mongos},4485:(e,t,r)=>{"use strict";const n=r(1371).emitWarningOnce;const ReadPreference=function(e,t,r){if(!ReadPreference.isValid(e)){throw new TypeError(`Invalid read preference mode ${e}`)}if(t&&!Array.isArray(t)){n("ReadPreference tags must be an array, this will change in the next major version");const e=typeof t.maxStalenessSeconds!=="undefined";const o=typeof t.hedge!=="undefined";const s=e||o;if(s){r=t;t=undefined}else{t=[t]}}this.mode=e;this.tags=t;this.hedge=r&&r.hedge;r=r||{};if(r.maxStalenessSeconds!=null){if(r.maxStalenessSeconds<=0){throw new TypeError("maxStalenessSeconds must be a positive integer")}this.maxStalenessSeconds=r.maxStalenessSeconds;this.minWireVersion=5}if(this.mode===ReadPreference.PRIMARY){if(this.tags&&Array.isArray(this.tags)&&this.tags.length>0){throw new TypeError("Primary read preference cannot be combined with tags")}if(this.maxStalenessSeconds){throw new TypeError("Primary read preference cannot be combined with maxStalenessSeconds")}if(this.hedge){throw new TypeError("Primary read preference cannot be combined with hedge")}}};Object.defineProperty(ReadPreference.prototype,"preference",{enumerable:true,get:function(){return this.mode}});ReadPreference.PRIMARY="primary";ReadPreference.PRIMARY_PREFERRED="primaryPreferred";ReadPreference.SECONDARY="secondary";ReadPreference.SECONDARY_PREFERRED="secondaryPreferred";ReadPreference.NEAREST="nearest";const o=[ReadPreference.PRIMARY,ReadPreference.PRIMARY_PREFERRED,ReadPreference.SECONDARY,ReadPreference.SECONDARY_PREFERRED,ReadPreference.NEAREST,null];ReadPreference.fromOptions=function(e){if(!e)return null;const t=e.readPreference;if(!t)return null;const r=e.readPreferenceTags;const n=e.maxStalenessSeconds;if(typeof t==="string"){return new ReadPreference(t,r)}else if(!(t instanceof ReadPreference)&&typeof t==="object"){const e=t.mode||t.preference;if(e&&typeof e==="string"){return new ReadPreference(e,t.tags,{maxStalenessSeconds:t.maxStalenessSeconds||n,hedge:t.hedge})}}return t};ReadPreference.resolve=function(e,t){t=t||{};const r=t.session;const n=e&&e.readPreference;let o;if(t.readPreference){o=ReadPreference.fromOptions(t)}else if(r&&r.inTransaction()&&r.transaction.options.readPreference){o=r.transaction.options.readPreference}else if(n!=null){o=n}else{o=ReadPreference.primary}return typeof o==="string"?new ReadPreference(o):o};ReadPreference.translate=function(e){if(e.readPreference==null)return e;const t=e.readPreference;if(typeof t==="string"){e.readPreference=new ReadPreference(t)}else if(t&&!(t instanceof ReadPreference)&&typeof t==="object"){const r=t.mode||t.preference;if(r&&typeof r==="string"){e.readPreference=new ReadPreference(r,t.tags,{maxStalenessSeconds:t.maxStalenessSeconds})}}else if(!(t instanceof ReadPreference)){throw new TypeError("Invalid read preference: "+t)}return e};ReadPreference.isValid=function(e){return o.indexOf(e)!==-1};ReadPreference.prototype.isValid=function(e){return ReadPreference.isValid(typeof e==="string"?e:this.mode)};const s=["primaryPreferred","secondary","secondaryPreferred","nearest"];ReadPreference.prototype.slaveOk=function(){return s.indexOf(this.mode)!==-1};ReadPreference.prototype.equals=function(e){return e.mode===this.mode};ReadPreference.prototype.toJSON=function(){const e={mode:this.mode};if(Array.isArray(this.tags))e.tags=this.tags;if(this.maxStalenessSeconds)e.maxStalenessSeconds=this.maxStalenessSeconds;if(this.hedge)e.hedge=this.hedge;return e};ReadPreference.primary=new ReadPreference("primary");ReadPreference.primaryPreferred=new ReadPreference("primaryPreferred");ReadPreference.secondary=new ReadPreference("secondary");ReadPreference.secondaryPreferred=new ReadPreference("secondaryPreferred");ReadPreference.nearest=new ReadPreference("nearest");e.exports=ReadPreference},1134:(e,t,r)=>{"use strict";const n=r(3837).inherits;const o=r(3837).format;const s=r(2361).EventEmitter;const i=r(4485);const a=r(4847).CoreCursor;const A=r(7746).retrieveBSON;const c=r(104);const l=r(3111).MongoError;const u=r(6495);const h=r(8742);const d=r(2306).Timeout;const g=r(2306).Interval;const p=r(2306).SessionMixins;const E=r(2306).isRetryableWritesSupported;const m=r(1178).relayEvents;const C=A();const I=r(2306).getMMAPError;const y=r(1178).makeClientMetadata;const B=r(2306).legacyIsRetryableWriteError;const Q=r(1371).now;const b=r(1371).calculateDurationInMs;var w="disconnected";var S="connecting";var v="connected";var R="unreferenced";var k="destroyed";function stateTransition(e,t){var r={disconnected:[S,k,w],connecting:[S,k,v,w],connected:[v,w,k,R],unreferenced:[R,k],destroyed:[k]};var n=r[e.state];if(n&&n.indexOf(t)!==-1){e.state=t}else{e.s.logger.error(o("Pool with id [%s] failed attempted illegal state transition from [%s] to [%s] only following state allowed [%s]",e.id,e.state,t,n))}}var D=1;var N=["connect","close","error","timeout","parseError"];var ReplSet=function(e,t){var r=this;t=t||{};if(!Array.isArray(e))throw new l("seedlist must be an array");if(e.length===0)throw new l("seedlist must contain at least one entry");e.forEach((function(e){if(typeof e.host!=="string"||typeof e.port!=="number")throw new l("seedlist entry must contain a host and port")}));s.call(this);this.id=D++;var n=t.localThresholdMS||15;if(t.acceptableLatency)n=t.acceptableLatency;var i=c("ReplSet",t);this.s={options:Object.assign({metadata:y(t)},t),bson:t.bson||new C([C.Binary,C.Code,C.DBRef,C.Decimal128,C.Double,C.Int32,C.Long,C.Map,C.MaxKey,C.MinKey,C.ObjectId,C.BSONRegExp,C.Symbol,C.Timestamp]),Cursor:t.cursorFactory||a,logger:i,seedlist:e,replicaSetState:new h({id:this.id,setName:t.setName,acceptableLatency:n,heartbeatFrequencyMS:t.haInterval?t.haInterval:1e4,logger:i}),connectingServers:[],haInterval:t.haInterval?t.haInterval:1e4,minHeartbeatFrequencyMS:500,disconnectHandler:t.disconnectHandler,index:0,connectOptions:{},debug:typeof t.debug==="boolean"?t.debug:false};this.s.replicaSetState.on("topologyDescriptionChanged",(function(e){r.emit("topologyDescriptionChanged",e)}));if(this.s.logger.isWarn()&&this.s.options.socketTimeout!==0&&this.s.options.socketTimeoute.name===t));if(r>=0){const t=e.s.connectingServers[r];t.destroy({force:true});e.s.connectingServers.splice(r,1);return done()}var n=new u(Object.assign({},e.s.options,{host:t.split(":")[0],port:parseInt(t.split(":")[1],10),reconnect:false,monitoring:false,parent:e}));n.once("connect",_handleEvent(e,"connect"));n.once("close",_handleEvent(e,"close"));n.once("timeout",_handleEvent(e,"timeout"));n.once("error",_handleEvent(e,"error"));n.once("parseError",_handleEvent(e,"parseError"));n.on("serverOpening",(t=>e.emit("serverOpening",t)));n.on("serverDescriptionChanged",(t=>e.emit("serverDescriptionChanged",t)));n.on("serverClosed",(t=>e.emit("serverClosed",t)));m(n,e,["commandStarted","commandSucceeded","commandFailed"]);e.s.connectingServers.push(n);n.connect(e.s.connectOptions)}),r)}for(var s=0;se.emit("serverOpening",t)));t.on("serverDescriptionChanged",(t=>e.emit("serverDescriptionChanged",t)));t.on("serverClosed",(t=>e.emit("serverClosed",t)));m(t,e,["commandStarted","commandSucceeded","commandFailed"]);t.connect(e.s.connectOptions)}),r)}while(t.length>0){connect(t.shift(),r++)}}function emitSDAMEvent(e,t,r){if(e.listeners(t).length>0){e.emit(t,r)}}ReplSet.prototype.connect=function(e){var t=this;this.s.connectOptions=e||{};stateTransition(this,S);var r=this.s.seedlist.map((function(r){return new u(Object.assign({},t.s.options,r,e,{reconnect:false,monitoring:false,parent:t}))}));if(this.s.options.socketTimeout>0&&this.s.options.socketTimeout<=this.s.options.haInterval){return t.emit("error",new l(o("haInterval [%s] MS must be set to less than socketTimeout [%s] MS",this.s.options.haInterval,this.s.options.socketTimeout)))}emitSDAMEvent(this,"topologyOpening",{topologyId:this.id});connectServers(t,r)};ReplSet.prototype.auth=function(e,t){if(typeof t==="function")t(null,null)};ReplSet.prototype.destroy=function(e,t){if(typeof e==="function"){t=e;e={}}e=e||{};let r=this.s.connectingServers.length+1;const serverDestroyed=()=>{r--;if(r>0){return}emitSDAMEvent(this,"topologyClosed",{topologyId:this.id});if(typeof t==="function"){t(null,null)}};if(this.state===k){if(typeof t==="function")t(null,null);return}stateTransition(this,k);if(this.haTimeoutId)clearTimeout(this.haTimeoutId);for(var n=0;n{if(b(s)>=T){if(o!=null){r(o,null)}else{r(new l("Server selection timed out"))}return}const e=this.s.replicaSetState.pickServer(n);if(e==null){setTimeout(_selectServer,O);return}if(!(e instanceof u)){o=e;setTimeout(_selectServer,O);return}if(this.s.debug)this.emit("pickedServer",t.readPreference,e);r(null,e)};_selectServer()};ReplSet.prototype.getServers=function(){return this.s.replicaSetState.allServers()};function executeWriteOperation(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=e.self;const s=e.op;const i=e.ns;const a=e.ops;if(n.state===k){return r(new l(o("topology was destroyed")))}const A=!e.retrying&&!!t.retryWrites&&t.session&&E(n)&&!t.session.inTransaction()&&t.explain===undefined;if(!n.s.replicaSetState.hasPrimary()){if(n.s.disconnectHandler){return n.s.disconnectHandler.add(s,i,a,t,r)}else if(!A){return r(new l("no primary server found"))}}const handler=(o,s)=>{if(!o)return r(null,s);if(!B(o,n)){o=I(o);return r(o)}if(A){const n=Object.assign({},e,{retrying:true});return executeWriteOperation(n,t,r)}if(n.s.replicaSetState.primary){n.s.replicaSetState.primary.destroy();n.s.replicaSetState.remove(n.s.replicaSetState.primary,{force:true})}return r(o)};if(r.operationId){handler.operationId=r.operationId}if(A){t.session.incrementTransactionNumber();t.willRetryWrite=A}n.s.replicaSetState.primary[s](i,a,t,handler)}ReplSet.prototype.insert=function(e,t,r,n){executeWriteOperation({self:this,op:"insert",ns:e,ops:t},r,n)};ReplSet.prototype.update=function(e,t,r,n){executeWriteOperation({self:this,op:"update",ns:e,ops:t},r,n)};ReplSet.prototype.remove=function(e,t,r,n){executeWriteOperation({self:this,op:"remove",ns:e,ops:t},r,n)};const _=["findAndModify","insert","update","delete"];function isWriteCommand(e){return _.some((t=>e[t]))}ReplSet.prototype.command=function(e,t,r,n){if(typeof r==="function"){n=r,r={},r=r||{}}if(this.state===k)return n(new l(o("topology was destroyed")));var s=this;var a=r.readPreference?r.readPreference:i.primary;if(a.preference==="primary"&&!this.s.replicaSetState.hasPrimary()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("command",e,t,r,n)}else if(a.preference==="secondary"&&!this.s.replicaSetState.hasSecondary()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("command",e,t,r,n)}else if(a.preference!=="primary"&&!this.s.replicaSetState.hasSecondary()&&!this.s.replicaSetState.hasPrimary()&&this.s.disconnectHandler!=null){return this.s.disconnectHandler.add("command",e,t,r,n)}var A=this.s.replicaSetState.pickServer(a);if(!(A instanceof u))return n(A);if(s.s.debug)s.emit("pickedServer",i.primary,A);if(A==null){return n(new l(o("no server found that matches the provided readPreference %s",a)))}const c=!r.retrying&&!!r.retryWrites&&r.session&&E(s)&&!r.session.inTransaction()&&isWriteCommand(t);const cb=(o,i)=>{if(!o)return n(null,i);if(!B(o,s)){return n(o)}if(c){const o=Object.assign({},r,{retrying:true});return this.command(e,t,o,n)}if(this.s.replicaSetState.primary){this.s.replicaSetState.primary.destroy();this.s.replicaSetState.remove(this.s.replicaSetState.primary,{force:true})}return n(o)};if(c){r.session.incrementTransactionNumber();r.willRetryWrite=c}A.command(e,t,r,cb)};ReplSet.prototype.cursor=function(e,t,r){r=r||{};const n=r.topology||this;var o=r.cursorFactory||this.s.Cursor;return new o(n,e,t,r)};e.exports=ReplSet},8742:(e,t,r)=>{"use strict";var n=r(3837).inherits,o=r(3837).format,s=r(2306).diff,i=r(2361).EventEmitter,a=r(104),A=r(4485),c=r(3111).MongoError,l=r(1867).Buffer;var u={Single:"Single",ReplicaSetNoPrimary:"ReplicaSetNoPrimary",ReplicaSetWithPrimary:"ReplicaSetWithPrimary",Sharded:"Sharded",Unknown:"Unknown"};var h={Standalone:"Standalone",Mongos:"Mongos",PossiblePrimary:"PossiblePrimary",RSPrimary:"RSPrimary",RSSecondary:"RSSecondary",RSArbiter:"RSArbiter",RSOther:"RSOther",RSGhost:"RSGhost",Unknown:"Unknown"};var ReplSetState=function(e){e=e||{};i.call(this);this.topologyType=e.setName?u.ReplicaSetNoPrimary:u.Unknown;this.setName=e.setName;this.set={};this.id=e.id;this.setName=e.setName;this.logger=e.logger||a("ReplSet",e);this.index=0;this.acceptableLatency=e.acceptableLatency||15;this.heartbeatFrequencyMS=e.heartbeatFrequencyMS||1e4;this.primary=null;this.secondaries=[];this.arbiters=[];this.passives=[];this.ghosts=[];this.unknownServers=[];this.set={};this.maxElectionId=null;this.maxSetVersion=0;this.replicasetDescription={topologyType:"Unknown",servers:[]};this.logicalSessionTimeoutMinutes=undefined};n(ReplSetState,i);ReplSetState.prototype.hasPrimaryAndSecondary=function(){return this.primary!=null&&this.secondaries.length>0};ReplSetState.prototype.hasPrimaryOrSecondary=function(){return this.hasPrimary()||this.hasSecondary()};ReplSetState.prototype.hasPrimary=function(){return this.primary!=null};ReplSetState.prototype.hasSecondary=function(){return this.secondaries.length>0};ReplSetState.prototype.get=function(e){var t=this.allServers();for(var r=0;r{n--;if(n>0){return}this.secondaries=[];this.arbiters=[];this.passives=[];this.ghosts=[];this.unknownServers=[];this.set={};this.primary=null;emitTopologyDescriptionChanged(this);if(typeof t==="function"){t(null,null)}};if(n===0){serverDestroyed();return}r.forEach((t=>t.destroy(e,serverDestroyed)))};ReplSetState.prototype.remove=function(e,t){t=t||{};var r=e.name.toLowerCase();var n=this.primary?[this.primary]:[];n=n.concat(this.secondaries);n=n.concat(this.arbiters);n=n.concat(this.passives);for(var o=0;oe.arbiterOnly&&e.setName;ReplSetState.prototype.update=function(e){var t=this;const r=e.lastIsMaster();if(r&&r.isWritablePrimary)r.ismaster=r.isWritablePrimary;var n=e.name.toLowerCase();if(r){var s=Array.isArray(r.hosts)?r.hosts:[];s=s.concat(Array.isArray(r.arbiters)?r.arbiters:[]);s=s.concat(Array.isArray(r.passives)?r.passives:[]);s=s.map((function(e){return e.toLowerCase()}));for(var i=0;il){return false}}else if(!p&&a&&l){if(l=5&&e.ismaster.secondary&&this.hasPrimary()){e.staleness=e.lastUpdateTime-e.lastWriteDate-(this.primary.lastUpdateTime-this.primary.lastWriteDate)+t}else if(e.ismaster.maxWireVersion>=5&&e.ismaster.secondary){e.staleness=r-e.lastWriteDate+t}};ReplSetState.prototype.updateSecondariesMaxStaleness=function(e){for(var t=0;t0&&e.maxStalenessSeconds==null){var o=pickNearest(this,e);if(o){return o}}else if(n.length>0&&e.maxStalenessSeconds!=null){o=pickNearestMaxStalenessSeconds(this,e);if(o){return o}}if(e.equals(A.secondaryPreferred)){return this.primary}return null}if(e.equals(A.primaryPreferred)){o=null;if(this.primary){return this.primary}if(n.length>0&&e.maxStalenessSeconds==null){o=pickNearest(this,e)}else if(n.length>0&&e.maxStalenessSeconds!=null){o=pickNearestMaxStalenessSeconds(this,e)}if(o)return o}return this.primary};var filterByTags=function(e,t){if(e.tags==null)return t;var r=[];var n=Array.isArray(e.tags)?e.tags:[e.tags];for(var o=0;o0?r[0].lastIsMasterMS:0;r=r.filter((function(t){return t.lastIsMasterMS<=o+e.acceptableLatency}));if(r.length===0){return null}e.index=e.index%r.length;var s=r[e.index];e.index=e.index+1;return s}function inList(e,t,r){for(var n=0;n0){var t="Unknown";var r=e.setName;if(e.hasPrimaryAndSecondary()){t="ReplicaSetWithPrimary"}else if(!e.hasPrimary()&&e.hasSecondary()){t="ReplicaSetNoPrimary"}var n={topologyType:t,setName:r,servers:[]};if(e.hasPrimary()){var o=e.primary.getDescription();o.type="RSPrimary";n.servers.push(o)}n.servers=n.servers.concat(e.secondaries.map((function(e){var t=e.getDescription();t.type="RSSecondary";return t})));n.servers=n.servers.concat(e.arbiters.map((function(e){var t=e.getDescription();t.type="RSArbiter";return t})));n.servers=n.servers.concat(e.passives.map((function(e){var t=e.getDescription();t.type="RSSecondary";return t})));var i=s(e.replicasetDescription,n);var a={topologyId:e.id,previousDescription:e.replicasetDescription,newDescription:n,diff:i};e.emit("topologyDescriptionChanged",a);e.replicasetDescription=n}}e.exports=ReplSetState},6495:(e,t,r)=>{"use strict";var n=r(3837).inherits,o=r(3837).format,s=r(2361).EventEmitter,i=r(4485),a=r(104),A=r(7746).debugOptions,c=r(7746).retrieveBSON,l=r(5500),u=r(3111).MongoError,h=r(3111).MongoNetworkError,d=r(9206),g=r(4847).CoreCursor,p=r(2306),E=r(2306).createCompressionInfo,m=r(2306).resolveClusterTime,C=r(2306).SessionMixins,I=r(7703).extractCommand,y=r(1178).relayEvents;const B=r(1178).collationNotSupported;const Q=r(1178).makeClientMetadata;var b=["reconnect","reconnectTries","reconnectInterval","emitError","cursorFactory","host","port","size","keepAlive","keepAliveInitialDelay","noDelay","connectionTimeout","checkServerIdentity","socketTimeout","ssl","ca","crl","cert","key","rejectUnauthorized","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","servername"];var w=0;var S=false;var v={};var R=c();function topologyId(e){return e.s.parent==null?e.id:e.s.parent.id}var Server=function(e){e=e||{};s.call(this);this.id=w++;this.s={options:Object.assign({metadata:Q(e)},e),logger:a("Server",e),Cursor:e.cursorFactory||g,bson:e.bson||new R([R.Binary,R.Code,R.DBRef,R.Decimal128,R.Double,R.Int32,R.Long,R.Map,R.MaxKey,R.MinKey,R.ObjectId,R.BSONRegExp,R.Symbol,R.Timestamp]),pool:null,disconnectHandler:e.disconnectHandler,monitoring:typeof e.monitoring==="boolean"?e.monitoring:true,inTopology:!!e.parent,monitoringInterval:typeof e.monitoringInterval==="number"?e.monitoringInterval:5e3,compression:{compressors:E(e)},parent:e.parent};if(!this.s.parent){this.s.clusterTime=null}this.ismaster=null;this.lastIsMasterMS=-1;this.monitoringProcessId=null;this.initialConnect=true;this._type="server";this.lastUpdateTime=0;this.lastWriteDate=0;this.staleness=0};n(Server,s);Object.assign(Server.prototype,C);Object.defineProperty(Server.prototype,"type",{enumerable:true,get:function(){return this._type}});Object.defineProperty(Server.prototype,"parserType",{enumerable:true,get:function(){return R.native?"c++":"js"}});Object.defineProperty(Server.prototype,"logicalSessionTimeoutMinutes",{enumerable:true,get:function(){if(!this.ismaster)return null;return this.ismaster.logicalSessionTimeoutMinutes||null}});Object.defineProperty(Server.prototype,"clientMetadata",{enumerable:true,get:function(){return this.s.options.metadata}});Object.defineProperty(Server.prototype,"clusterTime",{enumerable:true,set:function(e){const t=this.s.parent?this.s.parent:this.s;m(t,e)},get:function(){const e=this.s.parent?this.s.parent:this.s;return e.clusterTime||null}});Server.enableServerAccounting=function(){S=true;v={}};Server.disableServerAccounting=function(){S=false};Server.servers=function(){return v};Object.defineProperty(Server.prototype,"name",{enumerable:true,get:function(){return this.s.options.host+":"+this.s.options.port}});function disconnectHandler(e,t,r,n,s,i){if(!e.s.pool.isConnected()&&e.s.options.reconnect&&e.s.disconnectHandler!=null&&!s.monitoring){e.s.disconnectHandler.add(t,r,n,s,i);return true}if(!e.s.pool.isConnected()){i(new u(o("no connection available to server %s",e.name)));return true}}function monitoringProcess(e){return function(){if(e.s.pool.isDestroyed())return;e.emit("monitoring",e);var t=(new Date).getTime();e.command("admin.$cmd",{ismaster:true},{socketTimeout:typeof e.s.options.connectionTimeout!=="number"?2e3:e.s.options.connectionTimeout,monitoring:true},((r,n)=>{e.lastIsMasterMS=(new Date).getTime()-t;if(e.s.pool.isDestroyed())return;if(n){e.ismaster=n.result}e.monitoringProcessId=setTimeout(monitoringProcess(e),e.s.monitoringInterval)}))}}var eventHandler=function(e,t){return function(r,n){if(e.s.logger.isInfo()){var s=r instanceof u?JSON.stringify(r):{};e.s.logger.info(o("server %s fired event %s out with message %s",e.name,t,s))}if(t==="connect"){e.initialConnect=false;e.ismaster=n.ismaster;e.lastIsMasterMS=n.lastIsMasterMS;if(n.agreedCompressor){e.s.pool.options.agreedCompressor=n.agreedCompressor}if(n.zlibCompressionLevel){e.s.pool.options.zlibCompressionLevel=n.zlibCompressionLevel}if(n.ismaster.$clusterTime){const t=n.ismaster.$clusterTime;e.clusterTime=t}if(e.ismaster.msg==="isdbgrid"){e._type="mongos"}if(e.s.monitoring){e.monitoringProcessId=setTimeout(monitoringProcess(e),e.s.monitoringInterval)}p.emitServerDescriptionChanged(e,{address:e.name,arbiters:[],hosts:[],passives:[],type:p.getTopologyType(e)});if(!e.s.inTopology){p.emitTopologyDescriptionChanged(e,{topologyType:"Single",servers:[{address:e.name,arbiters:[],hosts:[],passives:[],type:p.getTopologyType(e)}]})}if(e.s.logger.isInfo()){e.s.logger.info(o("server %s connected with ismaster [%s]",e.name,JSON.stringify(e.ismaster)))}e.emit("connect",e)}else if(t==="error"||t==="parseError"||t==="close"||t==="timeout"||t==="reconnect"||t==="attemptReconnect"||t==="reconnectFailed"){if(S&&["close","timeout","error","parseError","reconnectFailed"].indexOf(t)!==-1){if(!e.s.inTopology){e.emit("topologyOpening",{topologyId:e.id})}delete v[e.id]}if(t==="close"){p.emitServerDescriptionChanged(e,{address:e.name,arbiters:[],hosts:[],passives:[],type:"Unknown"})}if(t==="reconnectFailed"){e.emit("reconnectFailed",r);if(e.listeners("error").length>0){e.emit("error",r)}return}if(["disconnected","connecting"].indexOf(e.s.pool.state)!==-1&&e.initialConnect&&["close","timeout","error","parseError"].indexOf(t)!==-1){e.initialConnect=false;return e.emit("error",new h(o("failed to connect to server [%s] on first connect [%s]",e.name,r)))}if(t==="reconnect"){p.emitServerDescriptionChanged(e,{address:e.name,arbiters:[],hosts:[],passives:[],type:p.getTopologyType(e)});return e.emit(t,e)}e.emit(t,r)}}};Server.prototype.connect=function(e){var t=this;e=e||{};if(S)v[this.id]=this;if(t.s.pool&&!t.s.pool.isDisconnected()&&!t.s.pool.isDestroyed()){throw new u(o("server instance in invalid state %s",t.s.pool.state))}t.s.pool=new l(this,Object.assign(t.s.options,e,{bson:this.s.bson}));t.s.pool.on("close",eventHandler(t,"close"));t.s.pool.on("error",eventHandler(t,"error"));t.s.pool.on("timeout",eventHandler(t,"timeout"));t.s.pool.on("parseError",eventHandler(t,"parseError"));t.s.pool.on("connect",eventHandler(t,"connect"));t.s.pool.on("reconnect",eventHandler(t,"reconnect"));t.s.pool.on("reconnectFailed",eventHandler(t,"reconnectFailed"));y(t.s.pool,t,["commandStarted","commandSucceeded","commandFailed"]);if(!t.s.inTopology){this.emit("topologyOpening",{topologyId:topologyId(t)})}t.emit("serverOpening",{topologyId:topologyId(t),address:t.name});t.s.pool.connect()};Server.prototype.auth=function(e,t){if(typeof t==="function")t(null,null)};Server.prototype.getDescription=function(){var e=this.ismaster||{};var t={type:p.getTopologyType(this),address:this.name};if(e.hosts)t.hosts=e.hosts;if(e.arbiters)t.arbiters=e.arbiters;if(e.passives)t.passives=e.passives;if(e.setName)t.setName=e.setName;return t};Server.prototype.lastIsMaster=function(){return this.ismaster};Server.prototype.unref=function(){this.s.pool.unref()};Server.prototype.isConnected=function(){if(!this.s.pool)return false;return this.s.pool.isConnected()};Server.prototype.isDestroyed=function(){if(!this.s.pool)return false;return this.s.pool.isDestroyed()};function basicWriteValidations(e){if(!e.s.pool)return new u("server instance is not connected");if(e.s.pool.isDestroyed())return new u("server instance pool was destroyed")}function basicReadValidations(e,t){basicWriteValidations(e,t);if(t.readPreference&&!(t.readPreference instanceof i)){throw new Error("readPreference must be an instance of ReadPreference")}}Server.prototype.command=function(e,t,r,n){var s=this;if(typeof r==="function"){n=r,r={},r=r||{}}var i=basicReadValidations(s,r);if(i)return n(i);r=Object.assign({},r,{wireProtocolCommand:false});if(s.s.logger.isDebug()){const n=I(t);s.s.logger.debug(o("executing command [%s] against %s",JSON.stringify({ns:e,cmd:n.shouldRedact?`${n.name} details REDACTED`:t,options:A(b,r)}),s.name))}if(disconnectHandler(s,"command",e,t,r,n))return;if(B(this,t)){return n(new u(`server ${this.name} does not support collation`))}d.command(s,e,t,r,n)};Server.prototype.query=function(e,t,r,n,o){d.query(this,e,t,r,n,o)};Server.prototype.getMore=function(e,t,r,n,o){d.getMore(this,e,t,r,n,o)};Server.prototype.killCursors=function(e,t,r){d.killCursors(this,e,t,r)};Server.prototype.insert=function(e,t,r,n){var o=this;if(typeof r==="function"){n=r,r={},r=r||{}}var s=basicWriteValidations(o,r);if(s)return n(s);if(disconnectHandler(o,"insert",e,t,r,n))return;t=Array.isArray(t)?t:[t];return d.insert(o,e,t,r,n)};Server.prototype.update=function(e,t,r,n){var o=this;if(typeof r==="function"){n=r,r={},r=r||{}}var s=basicWriteValidations(o,r);if(s)return n(s);if(disconnectHandler(o,"update",e,t,r,n))return;if(B(this,r)){return n(new u(`server ${this.name} does not support collation`))}t=Array.isArray(t)?t:[t];return d.update(o,e,t,r,n)};Server.prototype.remove=function(e,t,r,n){var o=this;if(typeof r==="function"){n=r,r={},r=r||{}}var s=basicWriteValidations(o,r);if(s)return n(s);if(disconnectHandler(o,"remove",e,t,r,n))return;if(B(this,r)){return n(new u(`server ${this.name} does not support collation`))}t=Array.isArray(t)?t:[t];return d.remove(o,e,t,r,n)};Server.prototype.cursor=function(e,t,r){r=r||{};const n=r.topology||this;var o=r.cursorFactory||this.s.Cursor;return new o(n,e,t,r)};Server.prototype.equals=function(e){if(typeof e==="string")return this.name.toLowerCase()===e.toLowerCase();if(e.name)return this.name.toLowerCase()===e.name.toLowerCase();return false};Server.prototype.connections=function(){return this.s.pool.allConnections()};Server.prototype.selectServer=function(e,t,r){if(typeof e==="function"&&typeof r==="undefined")r=e,e=undefined,t={};if(typeof t==="function")r=t,t=e,e=undefined;r(null,this)};var k=["close","error","timeout","parseError","connect"];Server.prototype.destroy=function(e,t){if(this._destroyed){if(typeof t==="function")t(null,null);return}if(typeof e==="function"){t=e;e={}}e=e||{};var r=this;if(S)delete v[this.id];if(this.monitoringProcessId){clearTimeout(this.monitoringProcessId)}if(!r.s.pool||this._destroyed){this._destroyed=true;if(typeof t==="function")t(null,null);return}this._destroyed=true;if(e.emitClose){r.emit("close",r)}if(e.emitDestroy){r.emit("destroy",r)}k.forEach((function(e){r.s.pool.removeAllListeners(e)}));if(r.listeners("serverClosed").length>0)r.emit("serverClosed",{topologyId:topologyId(r),address:r.name});if(r.listeners("topologyClosed").length>0&&!r.s.inTopology){r.emit("topologyClosed",{topologyId:topologyId(r)})}if(r.s.logger.isDebug()){r.s.logger.debug(o("destroy called on server %s",r.name))}this.s.pool.destroy(e.force,t)};e.exports=Server},2306:(e,t,r)=>{"use strict";const n=r(8072).MONGODB_ERROR_CODES;const o=r(4485);const s=r(2291).TopologyType;const i=r(3111).MongoError;const a=r(3111).isRetryableWriteError;const A=r(1178).maxWireVersion;const c=r(3111).MongoNetworkError;const l=n.IllegalOperation;function emitSDAMEvent(e,t,r){if(e.listeners(t).length>0){e.emit(t,r)}}function createCompressionInfo(e){if(!e.compression||!e.compression.compressors){return[]}e.compression.compressors.forEach((function(e){if(e!=="snappy"&&e!=="zlib"){throw new Error("compressors must be at least one of snappy or zlib")}}));return e.compression.compressors}function clone(e){return JSON.parse(JSON.stringify(e))}var getPreviousDescription=function(e){if(!e.s.serverDescription){e.s.serverDescription={address:e.name,arbiters:[],hosts:[],passives:[],type:"Unknown"}}return e.s.serverDescription};var emitServerDescriptionChanged=function(e,t){if(e.listeners("serverDescriptionChanged").length>0){e.emit("serverDescriptionChanged",{topologyId:e.s.topologyId!==-1?e.s.topologyId:e.id,address:e.name,previousDescription:getPreviousDescription(e),newDescription:t});e.s.serverDescription=t}};var getPreviousTopologyDescription=function(e){if(!e.s.topologyDescription){e.s.topologyDescription={topologyType:"Unknown",servers:[{address:e.name,arbiters:[],hosts:[],passives:[],type:"Unknown"}]}}return e.s.topologyDescription};var emitTopologyDescriptionChanged=function(e,t){if(e.listeners("topologyDescriptionChanged").length>0){e.emit("topologyDescriptionChanged",{topologyId:e.s.topologyId!==-1?e.s.topologyId:e.id,address:e.name,previousDescription:getPreviousTopologyDescription(e),newDescription:t});e.s.serverDescription=t}};var changedIsMaster=function(e,t,r){var n=getTopologyType(e,t);var o=getTopologyType(e,r);if(o!==n)return true;return false};var getTopologyType=function(e,t){if(!t){t=e.ismaster}if(!t)return"Unknown";if(t.ismaster&&t.msg==="isdbgrid")return"Mongos";if(t.ismaster&&!t.hosts)return"Standalone";if(t.ismaster)return"RSPrimary";if(t.secondary)return"RSSecondary";if(t.arbiterOnly)return"RSArbiter";return"Unknown"};var inquireServerState=function(e){return function(t){if(e.s.state==="destroyed")return;var r=(new Date).getTime();emitSDAMEvent(e,"serverHeartbeatStarted",{connectionId:e.name});e.command("admin.$cmd",{ismaster:true},{monitoring:true},(function(n,o){if(!n){e.emit("ismaster",o,e);var s=(new Date).getTime()-r;emitSDAMEvent(e,"serverHeartbeatSucceeded",{durationMS:s,reply:o.result,connectionId:e.name});if(changedIsMaster(e,e.s.ismaster,o.result)){emitServerDescriptionChanged(e,{address:e.name,arbiters:[],hosts:[],passives:[],type:!e.s.inTopology?"Standalone":getTopologyType(e)})}e.s.ismaster=o.result;e.s.isMasterLatencyMS=s}else{emitSDAMEvent(e,"serverHeartbeatFailed",{durationMS:s,failure:n,connectionId:e.name})}if(typeof t==="function"){return t(n,o)}e.s.inquireServerStateTimeout=setTimeout(inquireServerState(e),e.s.haInterval)}))}};var cloneOptions=function(e){var t={};for(var r in e){t[r]=e[r]}return t};function Interval(e,t){var r=false;this.start=function(){if(!this.isRunning()){r=setInterval(e,t)}return this};this.stop=function(){clearInterval(r);r=false;return this};this.isRunning=function(){return r!==false}}function Timeout(e,t){var r=false;var func=()=>{if(r){clearTimeout(r);r=false;e()}};this.start=function(){if(!this.isRunning()){r=setTimeout(func,t)}return this};this.stop=function(){clearTimeout(r);r=false;return this};this.isRunning=function(){return r!==false}}function diff(e,t){var r={servers:[]};if(!e){e={servers:[]}}for(var n=0;n{if(typeof t==="function")t()}))}};function topologyType(e){if(e.description){return e.description.type}if(e.type==="mongos"){return s.Sharded}else if(e.type==="replset"){return s.ReplicaSetWithPrimary}return s.Single}const h=6;const isRetryableWritesSupported=function(e){const t=e.lastIsMaster().maxWireVersion;if(t{"use strict";const n=r(3111).MongoError;const o=r(4485);const s=r(7289);const i=r(2481);let a;let A;(()=>{const e="NO_TRANSACTION";const t="STARTING_TRANSACTION";const r="TRANSACTION_IN_PROGRESS";const n="TRANSACTION_COMMITTED";const o="TRANSACTION_COMMITTED_EMPTY";const s="TRANSACTION_ABORTED";a={NO_TRANSACTION:e,STARTING_TRANSACTION:t,TRANSACTION_IN_PROGRESS:r,TRANSACTION_COMMITTED:n,TRANSACTION_COMMITTED_EMPTY:o,TRANSACTION_ABORTED:s};A={[e]:[e,t],[t]:[r,n,o,s],[r]:[r,n,s],[n]:[n,o,t,e],[s]:[t,e],[o]:[o,e]}})();class Transaction{constructor(e){e=e||{};this.state=a.NO_TRANSACTION;this.options={};const t=i.fromOptions(e);if(t){if(t.w<=0){throw new n("Transactions do not support unacknowledged write concern")}this.options.writeConcern=t}if(e.readConcern){this.options.readConcern=s.fromOptions(e)}if(e.readPreference){this.options.readPreference=o.fromOptions(e)}if(e.maxCommitTimeMS){this.options.maxTimeMS=e.maxCommitTimeMS}this._pinnedServer=undefined;this._recoveryToken=undefined}get server(){return this._pinnedServer}get recoveryToken(){return this._recoveryToken}get isPinned(){return!!this.server}get isActive(){return[a.STARTING_TRANSACTION,a.TRANSACTION_IN_PROGRESS].indexOf(this.state)!==-1}transition(e){const t=A[this.state];if(t&&t.indexOf(e)!==-1){this.state=e;if(this.state===a.NO_TRANSACTION||this.state===a.STARTING_TRANSACTION||this.state===a.TRANSACTION_ABORTED){this.unpinServer()}return}throw new n(`Attempted illegal state transition from [${this.state}] to [${e}]`)}pinServer(e){if(this.isActive){this._pinnedServer=e}}unpinServer(){this._pinnedServer=undefined}}function isTransactionCommand(e){return!!(e.commitTransaction||e.abortTransaction)}e.exports={TxnState:a,Transaction:Transaction,isTransactionCommand:isTransactionCommand}},8767:(e,t,r)=>{"use strict";const n=r(7310);const o=r(3477);const s=r(7578);const i=r(3111).MongoParseError;const a=r(4485);const A=r(1371).emitWarningOnce;const c=/(mongodb(?:\+srv|)):\/\/(?: (?:[^:]*) (?: : ([^@]*) )? @ )?([^/?]*)(?:\/|)(.*)/;const l=new Set(["sslCA","sslCert","sslKey","tlsCAFile","tlsCertificateKeyFile"].map((e=>e.toLowerCase())));function matchesParentDomain(e,t){const r=/^.*?\./;const n=`.${e.replace(r,"")}`;const o=`.${t.replace(r,"")}`;return n.endsWith(o)}function parseSrvConnectionString(e,t,r){const a=n.parse(e,true);if(t.directConnection||t.directconnection){return r(new i("directConnection not supported with SRV URI"))}if(a.hostname.split(".").length<3){return r(new i("URI does not have hostname, domain name and tld"))}a.domainLength=a.hostname.split(".").length;const A=e.substring("mongodb+srv://".length).split("/")[0];if(A.match(",")){return r(new i("Invalid URI, cannot contain multiple hostnames"))}if(a.port){return r(new i(`Ports not accepted with '${m}' URIs`))}const c=a.host;s.resolveSrv(`_mongodb._tcp.${c}`,((e,A)=>{if(e)return r(e);if(A.length===0){return r(new i("No addresses found at host"))}for(let e=0;e`${e.name}:${e.port}`)).join(",");if(!("ssl"in t)&&(!a.search||!("ssl"in a.query)||a.query.ssl===null)){a.query.ssl=true}s.resolveTxt(c,((e,s)=>{if(e){if(e.code!=="ENODATA"&&e.code!=="ENOTFOUND"){return r(e)}s=null}if(s){if(s.length>1){return r(new i("Multiple text records not allowed"))}s=o.parse(s[0].join(""));if(Object.keys(s).some((e=>e.toLowerCase()==="loadbalanced"))){return r(new i("Load balancer mode requires driver version 4+"))}if(Object.keys(s).some((e=>e!=="authSource"&&e!=="replicaSet"))){return r(new i("Text record must only set `authSource` or `replicaSet`"))}a.query=Object.assign({},s,a.query)}a.search=o.stringify(a.query);const A=n.format(a);parseConnectionString(A,t,((e,t)=>{if(e){r(e);return}r(null,Object.assign({},t,{srvHost:c}))}))}))}))}function parseQueryStringItemValue(e,t){if(Array.isArray(t)){t=t.filter(((e,r)=>t.indexOf(e)===r));if(t.length===1)t=t[0]}else if(t.indexOf(":")>0){t=t.split(",").reduce(((t,r)=>{const n=r.split(":");t[n[0]]=parseQueryStringItemValue(e,n[1]);return t}),{})}else if(t.indexOf(",")>0){t=t.split(",").map((t=>parseQueryStringItemValue(e,t)))}else if(t.toLowerCase()==="true"||t.toLowerCase()==="false"){t=t.toLowerCase()==="true"}else if(!Number.isNaN(t)&&!h.has(e)){const e=parseFloat(t);if(!Number.isNaN(e)){t=parseFloat(t)}}return t}const u=new Set(["slaveok","slave_ok","sslvalidate","fsync","safe","retrywrites","j"]);const h=new Set(["authsource","replicaset"]);const d=new Set(["GSSAPI","MONGODB-AWS","MONGODB-X509","MONGODB-CR","DEFAULT","SCRAM-SHA-1","SCRAM-SHA-256","PLAIN"]);const g={replicaset:"replicaSet",connecttimeoutms:"connectTimeoutMS",sockettimeoutms:"socketTimeoutMS",maxpoolsize:"maxPoolSize",minpoolsize:"minPoolSize",maxidletimems:"maxIdleTimeMS",waitqueuemultiple:"waitQueueMultiple",waitqueuetimeoutms:"waitQueueTimeoutMS",wtimeoutms:"wtimeoutMS",readconcern:"readConcern",readconcernlevel:"readConcernLevel",readpreference:"readPreference",maxstalenessseconds:"maxStalenessSeconds",readpreferencetags:"readPreferenceTags",authsource:"authSource",authmechanism:"authMechanism",authmechanismproperties:"authMechanismProperties",gssapiservicename:"gssapiServiceName",localthresholdms:"localThresholdMS",serverselectiontimeoutms:"serverSelectionTimeoutMS",serverselectiontryonce:"serverSelectionTryOnce",heartbeatfrequencyms:"heartbeatFrequencyMS",retrywrites:"retryWrites",uuidrepresentation:"uuidRepresentation",zlibcompressionlevel:"zlibCompressionLevel",tlsallowinvalidcertificates:"tlsAllowInvalidCertificates",tlsallowinvalidhostnames:"tlsAllowInvalidHostnames",tlsinsecure:"tlsInsecure",tlscafile:"tlsCAFile",tlscertificatekeyfile:"tlsCertificateKeyFile",tlscertificatekeyfilepassword:"tlsCertificateKeyFilePassword",wtimeout:"wTimeoutMS",j:"journal",directconnection:"directConnection"};function applyConnectionStringOption(e,t,r,n){if(t==="journal"){t="j"}else if(t==="wtimeoutms"){t="wtimeout"}if(u.has(t)){r=r==="true"||r===true}else if(t==="appname"){r=decodeURIComponent(r)}else if(t==="readconcernlevel"){e["readConcernLevel"]=r;t="readconcern";r={level:r}}if(t==="compressors"){r=Array.isArray(r)?r:[r];if(!r.every((e=>e==="snappy"||e==="zlib"))){throw new i("Value for `compressors` must be at least one of: `snappy`, `zlib`")}}if(t==="authmechanism"&&!d.has(r)){throw new i(`Value for authMechanism must be one of: ${Array.from(d).join(", ")}, found: ${r}`)}if(t==="readpreference"&&!a.isValid(r)){throw new i("Value for `readPreference` must be one of: `primary`, `primaryPreferred`, `secondary`, `secondaryPreferred`, `nearest`")}if(t==="zlibcompressionlevel"&&(r<-1||r>9)){throw new i("zlibCompressionLevel must be an integer between -1 and 9")}if(t==="compressors"||t==="zlibcompressionlevel"){e.compression=e.compression||{};e=e.compression}if(t==="authmechanismproperties"){if(typeof r.SERVICE_NAME==="string")e.gssapiServiceName=r.SERVICE_NAME;if(typeof r.SERVICE_REALM==="string")e.gssapiServiceRealm=r.SERVICE_REALM;if(typeof r.CANONICALIZE_HOST_NAME!=="undefined"){e.gssapiCanonicalizeHostName=r.CANONICALIZE_HOST_NAME}}if(t==="readpreferencetags"){r=Array.isArray(r)?splitArrayOfMultipleReadPreferenceTags(r):[r]}if(n.caseTranslate&&g[t]){e[g[t]]=r;return}e[t]=r}const p=new Set(["GSSAPI","MONGODB-CR","PLAIN","SCRAM-SHA-1","SCRAM-SHA-256"]);function splitArrayOfMultipleReadPreferenceTags(e){const t=[];for(let r=0;r{const n=e.split(":");t[r][n[0]]=n[1]}))}return t}function applyAuthExpectations(e){if(e.options==null){return}const t=e.options;const r=t.authsource||t.authSource;if(r!=null){e.auth=Object.assign({},e.auth,{db:r})}const n=t.authmechanism||t.authMechanism;if(n!=null){if(p.has(n)&&(!e.auth||e.auth.username==null)){throw new i(`Username required for mechanism \`${n}\``)}if(n==="GSSAPI"){if(r!=null&&r!=="$external"){throw new i(`Invalid source \`${r}\` for mechanism \`${n}\` specified.`)}e.auth=Object.assign({},e.auth,{db:"$external"})}if(n==="MONGODB-AWS"){if(r!=null&&r!=="$external"){throw new i(`Invalid source \`${r}\` for mechanism \`${n}\` specified.`)}e.auth=Object.assign({},e.auth,{db:"$external"})}if(n==="MONGODB-X509"){if(e.auth&&e.auth.password!=null){throw new i(`Password not allowed for mechanism \`${n}\``)}if(r!=null&&r!=="$external"){throw new i(`Invalid source \`${r}\` for mechanism \`${n}\` specified.`)}e.auth=Object.assign({},e.auth,{db:"$external"})}if(n==="PLAIN"){if(e.auth&&e.auth.db==null){e.auth=Object.assign({},e.auth,{db:"$external"})}}}if(e.auth&&e.auth.db==null){e.auth=Object.assign({},e.auth,{db:"admin"})}return e}function parseQueryString(e,t){const r={};let n=o.parse(e);checkTLSOptions(n);for(const e in n){const o=n[e];if(o===""||o==null){throw new i("Incomplete key value pair for option")}const s=e.toLowerCase();if(s==="serverapi"){throw new i("URI cannot contain `serverApi`, it can only be passed to the client")}const a=l.has(s)?o:parseQueryStringItemValue(s,o);applyConnectionStringOption(r,s,a,t)}if(r.wtimeout&&r.wtimeoutms){delete r.wtimeout;A("Unsupported option `wtimeout` specified")}return Object.keys(r).length?r:null}function translateTLSOptions(e){if(e.tls){e.ssl=e.tls}if(e.tlsInsecure){e.checkServerIdentity=false;e.sslValidate=false}else{Object.assign(e,{checkServerIdentity:e.tlsAllowInvalidHostnames?false:true,sslValidate:e.tlsAllowInvalidCertificates?false:true})}if(e.tlsCAFile){e.ssl=true;e.sslCA=e.tlsCAFile}if(e.tlsCertificateKeyFile){e.ssl=true;if(e.tlsCertificateFile){e.sslCert=e.tlsCertificateFile;e.sslKey=e.tlsCertificateKeyFile}else{e.sslKey=e.tlsCertificateKeyFile;e.sslCert=e.tlsCertificateKeyFile}}if(e.tlsCertificateKeyFilePassword){e.ssl=true;e.sslPass=e.tlsCertificateKeyFilePassword}return e}function checkTLSOptions(e){const t=Object.keys(e);if(t.indexOf("tlsInsecure")!==-1&&(t.indexOf("tlsAllowInvalidCertificates")!==-1||t.indexOf("tlsAllowInvalidHostnames")!==-1)){throw new i("The `tlsInsecure` option cannot be used with `tlsAllowInvalidCertificates` or `tlsAllowInvalidHostnames`.")}const r=assertTlsOptionsAreEqual("tls",e,t);const n=assertTlsOptionsAreEqual("ssl",e,t);if(r!=null&&n!=null){if(r!==n){throw new i("All values of `tls` and `ssl` must be the same.")}}}function assertTlsOptionsAreEqual(e,t,r){const n=r.indexOf(e)!==-1;let o;if(Array.isArray(t[e])){o=t[e][0]}else{o=t[e]}if(n){if(Array.isArray(t[e])){const r=t[e][0];t[e].forEach((t=>{if(t!==r){throw new i(`All values of ${e} must be the same.`)}}))}}return o}const E="mongodb";const m="mongodb+srv";const C=[E,m];function parseConnectionString(e,t,r){if(typeof t==="function")r=t,t={};t=Object.assign({},{caseTranslate:true},t);try{n.parse(e)}catch(e){return r(new i("URI malformed, cannot be parsed"))}const s=e.match(c);if(!s){return r(new i("Invalid connection string"))}const a=s[1];if(C.indexOf(a)===-1){return r(new i("Invalid protocol provided"))}const A=s[4].split("?");const l=A.length>0?A[0]:null;const u=A.length>1?A[1]:null;let h;try{h=parseQueryString(u,t)}catch(e){return r(e)}h=Object.assign({},h,t);if(Object.keys(h).some((e=>e.toLowerCase()==="loadbalanced"))){return r(new i("Load balancer mode requires driver version 4+"))}if(a===m){return parseSrvConnectionString(e,h,r)}const d={username:null,password:null,db:l&&l!==""?o.unescape(l):null};if(h.auth){if(h.auth.username)d.username=h.auth.username;if(h.auth.user)d.username=h.auth.user;if(h.auth.password)d.password=h.auth.password}else{if(h.username)d.username=h.username;if(h.user)d.username=h.user;if(h.password)d.password=h.password}if(s[4].split("?")[0].indexOf("@")!==-1){return r(new i("Unescaped slash in userinfo section"))}const g=s[3].split("@");if(g.length>2){return r(new i("Unescaped at-sign in authority section"))}if(g[0]==null||g[0]===""){return r(new i("No username provided in authority section"))}if(g.length>1){const e=g.shift().split(":");if(e.length>2){return r(new i("Unescaped colon in authority section"))}if(e[0]===""){return r(new i("Invalid empty username provided"))}if(!d.username)d.username=o.unescape(e[0]);if(!d.password)d.password=e[1]?o.unescape(e[1]):null}let p=null;const E=g.shift().split(",").map((e=>{let t=n.parse(`mongodb://${e}`);if(t.path==="/:"){p=new i("Double colon in host identifier");return null}if(e.match(/\.sock/)){t.hostname=o.unescape(e);t.port=null}if(Number.isNaN(t.port)){p=new i("Invalid port (non-numeric string)");return}const r={host:t.hostname,port:t.port?parseInt(t.port):27017};if(r.port===0){p=new i("Invalid port (zero) with hostname");return}if(r.port>65535){p=new i("Invalid port (larger than 65535) with hostname");return}if(r.port<0){p=new i("Invalid port (negative number)");return}return r})).filter((e=>!!e));if(p){return r(p)}if(E.length===0||E[0].host===""||E[0].host===null){return r(new i("No hostname or hostnames provided in connection string"))}const I=!!h.directConnection;if(I&&E.length!==1){return r(new i("directConnection option requires exactly one host"))}if(h.directConnection==null&&E.length===1&&h.replicaSet==null){h.directConnection=true}const y={hosts:E,auth:d.db||d.username?d:null,options:Object.keys(h).length?h:null};if(y.auth&&y.auth.db){y.defaultDatabase=y.auth.db}else{y.defaultDatabase="test"}y.options=translateTLSOptions(y.options);try{applyAuthExpectations(y)}catch(e){return r(e)}r(null,y)}e.exports=parseConnectionString},1178:(e,t,r)=>{"use strict";const n=r(2037);const o=r(6113);const s=r(3182)(require);const uuidV4=()=>{const e=o.randomBytes(16);e[6]=e[6]&15|64;e[8]=e[8]&63|128;return e};function relayEvents(e,t,r){r.forEach((r=>e.on(r,(e=>t.emit(r,e)))))}function retrieveKerberos(){let e;try{e=s("kerberos")}catch(e){if(e.code==="MODULE_NOT_FOUND"){throw new Error("The `kerberos` module was not found. Please install it and try again.")}throw e}return e}const noEJSONError=function(){throw new Error("The `mongodb-extjson` module was not found. Please install it and try again.")};function retrieveEJSON(){let e=s("mongodb-extjson");if(!e){e={parse:noEJSONError,deserialize:noEJSONError,serialize:noEJSONError,stringify:noEJSONError,setBSONModule:noEJSONError,BSON:noEJSONError}}return e}function maxWireVersion(e){if(e){if(e.ismaster){return e.ismaster.maxWireVersion}if(typeof e.lastIsMaster==="function"){const t=e.lastIsMaster();if(t){return t.maxWireVersion}}if(e.description){return e.description.maxWireVersion}}return 0}function collationNotSupported(e,t){return t&&t.collation&&maxWireVersion(e)<5}function isPromiseLike(e){return e&&typeof e.then==="function"}function eachAsync(e,t,r){e=e||[];let n=0;let o=0;for(n=0;ne===t[r]))}function tagsStrictEqual(e,t){const r=Object.keys(e);const n=Object.keys(t);return r.length===n.length&&r.every((r=>t[r]===e[r]))}function errorStrictEqual(e,t){if(e===t){return true}if(e==null&&t!=null||e!=null&&t==null){return false}if(e.constructor.name!==t.constructor.name){return false}if(e.message!==t.message){return false}return true}function makeStateMachine(e){return function stateTransition(t,r){const n=e[t.s.state];if(n&&n.indexOf(r)<0){throw new TypeError(`illegal state transition from [${t.s.state}] => [${r}], allowed: [${n}]`)}t.emit("stateChanged",t.s.state,r);t.s.state=r}}function makeClientMetadata(e){e=e||{};const t={driver:{name:"nodejs",version:r(1693).i8},os:{type:n.type(),name:process.platform,architecture:process.arch,version:n.release()},platform:`'Node.js ${process.version}, ${n.endianness} (${e.useUnifiedTopology?"unified":"legacy"})`};if(e.driverInfo){if(e.driverInfo.name){t.driver.name=`${t.driver.name}|${e.driverInfo.name}`}if(e.driverInfo.version){t.version=`${t.driver.version}|${e.driverInfo.version}`}if(e.driverInfo.platform){t.platform=`${t.platform}|${e.driverInfo.platform}`}}if(e.appname){const r=Buffer.from(e.appname);t.application={name:r.length>128?r.slice(0,128).toString("utf8"):e.appname}}return t}const noop=()=>{};e.exports={uuidV4:uuidV4,relayEvents:relayEvents,collationNotSupported:collationNotSupported,retrieveEJSON:retrieveEJSON,retrieveKerberos:retrieveKerberos,maxWireVersion:maxWireVersion,isPromiseLike:isPromiseLike,eachAsync:eachAsync,eachAsyncSeries:eachAsyncSeries,isUnifiedTopology:isUnifiedTopology,arrayStrictEqual:arrayStrictEqual,tagsStrictEqual:tagsStrictEqual,errorStrictEqual:errorStrictEqual,makeStateMachine:makeStateMachine,makeClientMetadata:makeClientMetadata,noop:noop}},7276:(e,t,r)=>{"use strict";const n=r(9814).Query;const o=r(8988).Msg;const s=r(3111).MongoError;const i=r(7272).getReadPreference;const a=r(7272).isSharded;const A=r(7272).databaseNamespace;const c=r(1707).isTransactionCommand;const l=r(5474).applySession;const u=r(3111).MongoNetworkError;const h=r(1178).maxWireVersion;function isClientEncryptionEnabled(e){const t=h(e);return t&&e.autoEncrypter}function command(e,t,r,n,o){if(typeof n==="function")o=n,n={};n=n||{};if(r==null){return o(new s(`command ${JSON.stringify(r)} does not return a cursor`))}if(!isClientEncryptionEnabled(e)){_command(e,t,r,n,o);return}const i=h(e);if(typeof i!=="number"||i<8){o(new s("Auto-encryption requires a minimum MongoDB version of 4.2"));return}_cryptCommand(e,t,r,n,o)}function _command(e,t,r,h,d){const g=e.s.bson;const p=e.s.pool;const E=i(r,h);const m=supportsOpMsg(e);const C=h.session;const I=e.clusterTime;let y=I;let B=Object.assign({},r);const Q=h.serverApi;if(Q){B.apiVersion=Q.version||Q;if(Q.strict!=null){B.apiStrict=Q.strict}if(Q.deprecationErrors!=null){B.apiDeprecationErrors=Q.deprecationErrors}}if(hasSessionSupport(e)&&C){const e=C.clusterTime;if(I&&I.clusterTime&&e&&e.clusterTime&&e.clusterTime.greaterThan(I.clusterTime)){y=e}if(!C.transaction.isActive&&C.transaction.isPinned&&!B.startTransaction&&!B.commitTransaction){C.transaction.unpinServer()}const t=l(C,B,h);if(t){return d(t)}}if(y){B.$clusterTime=y}if(a(e)&&!m&&E&&E.mode!=="primary"){B={$query:B,$readPreference:E.toJSON()}}const b=Object.assign({command:true,numberToSkip:0,numberToReturn:-1,checkKeys:false},h);b.slaveOk=E.slaveOk();const w=`${A(t)}.$cmd`;const S=m?new o(g,w,B,b):new n(g,w,B,b);const v=C&&(C.inTransaction()||c(B));const R=v?function(e){if(e&&e instanceof u&&!e.hasErrorLabel("TransientTransactionError")){e.addErrorLabel("TransientTransactionError")}if(!r.commitTransaction&&e&&e instanceof s&&e.hasErrorLabel("TransientTransactionError")){C.transaction.unpinServer()}return d.apply(null,arguments)}:d;try{p.write(S,b,R)}catch(e){R(e)}}function hasSessionSupport(e){if(e==null)return false;if(e.description){return e.description.maxWireVersion>=6}return e.ismaster==null?false:e.ismaster.maxWireVersion>=6}function supportsOpMsg(e){const t=e.ismaster?e.ismaster:e.description;if(t==null){return false}return t.maxWireVersion>=6&&t.__nodejs_mock_server__==null}function _cryptCommand(e,t,r,n,o){const s=e.autoEncrypter;function commandResponseHandler(e,t){if(e||t==null){o(e,t);return}s.decrypt(t.result,n,((e,r)=>{if(e){o(e,null);return}t.result=r;t.message.documents=[r];o(null,t)}))}s.encrypt(t,r,n,((r,s)=>{if(r){o(r,null);return}_command(e,t,s,n,commandResponseHandler)}))}e.exports=command},7793:(e,t,r)=>{"use strict";const n=r(7746).retrieveSnappy();const o=r(9796);const s={snappy:1,zlib:2};const i=new Set(["ismaster","saslStart","saslContinue","getnonce","authenticate","createUser","updateUser","copydbSaslStart","copydbgetnonce","copydb"]);function compress(e,t,r){switch(e.options.agreedCompressor){case"snappy":n.compress(t,r);break;case"zlib":var s={};if(e.options.zlibCompressionLevel){s.level=e.options.zlibCompressionLevel}o.deflate(t,s,r);break;default:throw new Error('Attempt to compress message using unknown compressor "'+e.options.agreedCompressor+'".')}}function decompress(e,t,r){if(e<0||e>s.length){throw new Error("Server sent message compressed using an unsupported compressor. (Received compressor ID "+e+")")}switch(e){case s.snappy:n.uncompress(t,r);break;case s.zlib:o.inflate(t,r);break;default:r(null,t)}}e.exports={compressorIDs:s,uncompressibleCommands:i,compress:compress,decompress:decompress}},7161:e=>{"use strict";const t="2.6";const r="5.0";const n=2;const o=13;e.exports={MIN_SUPPORTED_SERVER_VERSION:t,MAX_SUPPORTED_SERVER_VERSION:r,MIN_SUPPORTED_WIRE_VERSION:n,MAX_SUPPORTED_WIRE_VERSION:o}},1971:(e,t,r)=>{"use strict";const n=r(9814).GetMore;const o=r(7746).retrieveBSON;const s=r(3111).MongoError;const i=r(3111).MongoNetworkError;const a=o();const A=a.Long;const c=r(7272).collectionNamespace;const l=r(1178).maxWireVersion;const u=r(7272).applyCommonQueryOptions;const h=r(7276);function getMore(e,t,r,o,a,d){a=a||{};const g=l(e);function queryCallback(e,t){if(e)return d(e);const n=t.message;if(n.cursorNotFound){return d(new i("cursor killed or timed out"),null)}if(g<4){const e=typeof n.cursorId==="number"?A.fromNumber(n.cursorId):n.cursorId;r.documents=n.documents;r.cursorId=e;d(null,null,n.connection);return}if(n.documents[0].ok===0){return d(new s(n.documents[0]))}const o=typeof n.documents[0].cursor.id==="number"?A.fromNumber(n.documents[0].cursor.id):n.documents[0].cursor.id;r.documents=n.documents[0].cursor.nextBatch;r.cursorId=o;d(null,n.documents[0],n.connection)}if(g<4){const s=e.s.bson;const i=new n(s,t,r.cursorId,{numberToReturn:o});const a=u({},r);e.s.pool.write(i,a,queryCallback);return}const p=r.cursorId instanceof A?r.cursorId:A.fromNumber(r.cursorId);const E={getMore:p,collection:c(t),batchSize:Math.abs(o)};if(r.cmd.tailable&&typeof r.cmd.maxAwaitTimeMS==="number"){E.maxTimeMS=r.cmd.maxAwaitTimeMS}const m=Object.assign({returnFieldSelector:null,documentsReturnedIn:"nextBatch"},a);if(r.session){m.session=r.session}h(e,t,E,m,queryCallback)}e.exports=getMore},9206:(e,t,r)=>{"use strict";const n=r(779);e.exports={insert:function insert(e,t,r,o,s){n(e,"insert","documents",t,r,o,s)},update:function update(e,t,r,o,s){n(e,"update","updates",t,r,o,s)},remove:function remove(e,t,r,o,s){n(e,"delete","deletes",t,r,o,s)},killCursors:r(6044),getMore:r(1971),query:r(1820),command:r(7276)}},6044:(e,t,r)=>{"use strict";const n=r(9814).KillCursor;const o=r(3111).MongoError;const s=r(3111).MongoNetworkError;const i=r(7272).collectionNamespace;const a=r(1178).maxWireVersion;const A=r(1178).emitWarning;const c=r(7276);function killCursors(e,t,r,l,u){if(typeof l==="function"){u=l;l={}}u=typeof u==="function"?u:()=>{};const h=r.cursorId;if(a(e)<4){const o=e.s.bson;const s=e.s.pool;const i=new n(o,t,[h]);const a={immediateRelease:true,noResponse:true};if(typeof r.session==="object"){a.session=r.session}if(s&&s.isConnected()){try{s.write(i,a,u)}catch(e){if(typeof u==="function"){u(e,null)}else{A(e)}}}return}const d={killCursors:i(t),cursors:[h]};const g=l||{};if(typeof r.session==="object")g.session=r.session;c(e,t,d,g,((e,t)=>{if(e){return u(e)}const r=t.message;if(r.cursorNotFound){return u(new s("cursor killed or timed out"),null)}if(!Array.isArray(r.documents)||r.documents.length===0){return u(new o(`invalid killCursors result returned for cursor id ${h}`))}u(null,r.documents[0])}))}e.exports=killCursors},1820:(e,t,r)=>{"use strict";const n=r(9814).Query;const o=r(3111).MongoError;const s=r(7272).getReadPreference;const i=r(7272).collectionNamespace;const a=r(7272).isSharded;const A=r(1178).maxWireVersion;const c=r(7272).applyCommonQueryOptions;const l=r(7276);const u=r(1371).decorateWithExplain;const h=r(5293).Explain;function query(e,t,r,n,i,a){i=i||{};if(n.cursorId!=null){return a()}if(r==null){return a(new o(`command ${JSON.stringify(r)} does not return a cursor`))}if(A(e)<4){const o=prepareLegacyFindQuery(e,t,r,n,i);const s=c({},n);if(typeof o.documentsReturnedIn==="string"){s.documentsReturnedIn=o.documentsReturnedIn}e.s.pool.write(o,s,a);return}const d=s(r,i);let g=prepareFindCommand(e,t,r,n,i);try{const e=h.fromOptions(i);if(e){g=u(g,e)}}catch(e){return a(e)}r.virtual=false;const p=Object.assign({documentsReturnedIn:"firstBatch",numberToReturn:1,slaveOk:d.slaveOk()},i);if(r.readPreference){p.readPreference=d}if(n.session){p.session=n.session}l(e,t,g,p,a)}function prepareFindCommand(e,t,r,n){n.batchSize=r.batchSize||n.batchSize;const o={find:i(t)};if(r.query){if(r.query["$query"]){o.filter=r.query["$query"]}else{o.filter=r.query}}let s=r.sort;if(Array.isArray(s)){const e={};if(s.length>0&&!Array.isArray(s[0])){let t=s[1];if(t==="asc"){t=1}else if(t==="desc"){t=-1}e[s[0]]=t}else{for(let t=0;t0&&i.batchSize===0){u=i.limit}else{u=i.batchSize}const h=i.skip||0;const d={};if(a(e)&&l){d["$readPreference"]=l.toJSON()}if(r.sort)d["$orderby"]=r.sort;if(r.hint)d["$hint"]=r.hint;if(r.snapshot)d["$snapshot"]=r.snapshot;if(typeof r.returnKey!=="undefined")d["$returnKey"]=r.returnKey;if(r.maxScan)d["$maxScan"]=r.maxScan;if(r.min)d["$min"]=r.min;if(r.max)d["$max"]=r.max;if(typeof r.showDiskLoc!=="undefined")d["$showDiskLoc"]=r.showDiskLoc;if(r.comment)d["$comment"]=r.comment;if(r.maxTimeMS)d["$maxTimeMS"]=r.maxTimeMS;if(A.explain!==undefined){u=-Math.abs(r.limit||0);d["$explain"]=true}d["$query"]=r.query;if(r.readConcern&&r.readConcern.level!=="local"){throw new o(`server find command does not support a readConcern level of ${r.readConcern.level}`)}if(r.readConcern){r=Object.assign({},r);delete r["readConcern"]}const g=typeof A.serializeFunctions==="boolean"?A.serializeFunctions:false;const p=typeof A.ignoreUndefined==="boolean"?A.ignoreUndefined:false;const E=new n(c,t,d,{numberToSkip:h,numberToReturn:u,pre32Limit:typeof r.limit!=="undefined"?r.limit:undefined,checkKeys:false,returnFieldSelector:r.fields,serializeFunctions:g,ignoreUndefined:p});if(typeof r.tailable==="boolean")E.tailable=r.tailable;if(typeof r.oplogReplay==="boolean")E.oplogReplay=r.oplogReplay;if(typeof r.noCursorTimeout==="boolean")E.noCursorTimeout=r.noCursorTimeout;if(typeof r.awaitData==="boolean")E.awaitData=r.awaitData;if(typeof r.partial==="boolean")E.partial=r.partial;E.slaveOk=l.slaveOk();return E}e.exports=query},7272:(e,t,r)=>{"use strict";const n=r(4485);const o=r(3111).MongoError;const s=r(2291).ServerType;const i=r(7962).TopologyDescription;const a=16;const A=9;var c={OP_REPLY:1,OP_UPDATE:2001,OP_INSERT:2002,OP_QUERY:2004,OP_GETMORE:2005,OP_DELETE:2006,OP_KILL_CURSORS:2007,OP_COMPRESSED:2012,OP_MSG:2013};var getReadPreference=function(e,t){var r=e.readPreference||new n("primary");if(t.readPreference){r=t.readPreference}if(typeof r==="string"){r=new n(r)}if(!(r instanceof n)){throw new o("read preference must be a ReadPreference instance")}return r};var parseHeader=function(e){return{length:e.readInt32LE(0),requestId:e.readInt32LE(4),responseTo:e.readInt32LE(8),opCode:e.readInt32LE(12)}};function applyCommonQueryOptions(e,t){Object.assign(e,{raw:typeof t.raw==="boolean"?t.raw:false,promoteLongs:typeof t.promoteLongs==="boolean"?t.promoteLongs:true,promoteValues:typeof t.promoteValues==="boolean"?t.promoteValues:true,promoteBuffers:typeof t.promoteBuffers==="boolean"?t.promoteBuffers:false,bsonRegExp:typeof t.bsonRegExp==="boolean"?t.bsonRegExp:false,monitoring:typeof t.monitoring==="boolean"?t.monitoring:false,fullResult:typeof t.fullResult==="boolean"?t.fullResult:false});if(typeof t.socketTimeout==="number"){e.socketTimeout=t.socketTimeout}if(t.session){e.session=t.session}if(typeof t.documentsReturnedIn==="string"){e.documentsReturnedIn=t.documentsReturnedIn}return e}function isSharded(e){if(e.type==="mongos")return true;if(e.description&&e.description.type===s.Mongos){return true}if(e.description&&e.description instanceof i){const t=Array.from(e.description.servers.values());return t.some((e=>e.type===s.Mongos))}return false}function databaseNamespace(e){return e.split(".")[0]}function collectionNamespace(e){return e.split(".").slice(1).join(".")}e.exports={getReadPreference:getReadPreference,MESSAGE_HEADER_SIZE:a,COMPRESSION_DETAILS_SIZE:A,opcodes:c,parseHeader:parseHeader,applyCommonQueryOptions:applyCommonQueryOptions,isSharded:isSharded,databaseNamespace:databaseNamespace,collectionNamespace:collectionNamespace}},779:(e,t,r)=>{"use strict";const n=r(3111).MongoError;const o=r(7272).collectionNamespace;const s=r(7276);const i=r(1371).decorateWithExplain;const a=r(5293).Explain;function writeCommand(e,t,r,A,c,l,u){if(c.length===0)throw new n(`${t} must contain at least one document`);if(typeof l==="function"){u=l;l={}}l=l||{};const h=typeof l.ordered==="boolean"?l.ordered:true;const d=l.writeConcern;let g={};g[t]=o(A);g[r]=c;g.ordered=h;if(d&&Object.keys(d).length>0){g.writeConcern=d}if(l.collation){for(let e=0;e{"use strict";const n=r(2781).Transform;const o=r(2781).PassThrough;const s=r(3837).deprecate;const i=r(1371).handleCallback;const a=r(3994).ReadPreference;const A=r(3994).MongoError;const c=r(4847).CoreCursor;const l=r(4847).CursorState;const u=r(3994).BSON.Map;const h=r(1371).maybePromise;const d=r(2548);const g=r(1371).formattedOrderClause;const p=r(5293).Explain;const E=r(1018).Aspect;const m=r(3554).each;const C=r(7885);const I=["tailable","oplogReplay","noCursorTimeout","awaitData","exhaust","partial"];const y=["numberOfRetries","tailableRetryInterval"];class Cursor extends c{constructor(e,t,r,n){super(e,t,r,n);if(this.operation){n=this.operation.options}const o=n.numberOfRetries||5;const s=n.tailableRetryInterval||500;const i=o;const a=n.promiseLibrary||Promise;this.s={numberOfRetries:o,tailableRetryInterval:s,currentNumberOfRetries:i,state:l.INIT,promiseLibrary:a,explicitlyIgnoreSession:!!n.explicitlyIgnoreSession};if(!n.explicitlyIgnoreSession&&n.session){this.cursorState.session=n.session}if(this.options.noCursorTimeout===true){this.addCursorFlag("noCursorTimeout",true)}let A=1e3;if(this.cmd.cursor&&this.cmd.cursor.batchSize){A=this.cmd.cursor.batchSize}else if(n.cursor&&n.cursor.batchSize){A=n.cursor.batchSize}else if(typeof n.batchSize==="number"){A=n.batchSize}this.setCursorBatchSize(A)}get readPreference(){if(this.operation){return this.operation.readPreference}return this.options.readPreference}get sortValue(){return this.cmd.sort}set session(e){this.cursorState.session=e}_initializeCursor(e){if(this.operation&&this.operation.session!=null){this.cursorState.session=this.operation.session}else{if(!this.s.explicitlyIgnoreSession&&!this.cursorState.session&&this.topology.hasSessionSupport()){this.cursorState.session=this.topology.startSession({owner:this});if(this.operation){this.operation.session=this.cursorState.session}}}super._initializeCursor(e)}hasNext(e){if(this.s.state===l.CLOSED||this.isDead&&this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}return h(this,e,(e=>{const t=this;if(t.isNotified()){return e(null,false)}t._next(((r,n)=>{if(r)return e(r);if(n==null||t.s.state===Cursor.CLOSED||t.isDead()){return e(null,false)}t.s.state=l.OPEN;t.cursorState.cursorIndex--;if(t.cursorState.limit>0){t.cursorState.currentLimit--}e(null,true)}))}))}next(e){return h(this,e,(e=>{const t=this;if(t.s.state===l.CLOSED||t.isDead&&t.isDead()){e(A.create({message:"Cursor is closed",driver:true}));return}if(t.s.state===l.INIT&&t.cmd.sort){try{t.cmd.sort=g(t.cmd.sort)}catch(t){return e(t)}}t._next(((r,n)=>{if(r)return e(r);t.s.state=l.OPEN;e(null,n)}))}))}filter(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.query=e;return this}maxScan(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.maxScan=e;return this}hint(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.hint=e;return this}min(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.min=e;return this}max(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.max=e;return this}returnKey(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.returnKey=e;return this}showRecordId(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.showDiskLoc=e;return this}snapshot(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.snapshot=e;return this}setCursorOption(e,t){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(y.indexOf(e)===-1){throw A.create({message:`option ${e} is not a supported option ${y}`,driver:true})}this.s[e]=t;if(e==="numberOfRetries")this.s.currentNumberOfRetries=t;return this}addCursorFlag(e,t){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(I.indexOf(e)===-1){throw A.create({message:`flag ${e} is not a supported flag ${I}`,driver:true})}if(typeof t!=="boolean"){throw A.create({message:`flag ${e} must be a boolean value`,driver:true})}this.cmd[e]=t;return this}addQueryModifier(e,t){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(e[0]!=="$"){throw A.create({message:`${e} is not a valid query modifier`,driver:true})}const r=e.substr(1);this.cmd[r]=t;if(r==="orderby")this.cmd.sort=this.cmd[r];return this}comment(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.comment=e;return this}maxAwaitTimeMS(e){if(typeof e!=="number"){throw A.create({message:"maxAwaitTimeMS must be a number",driver:true})}if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.maxAwaitTimeMS=e;return this}maxTimeMS(e){if(typeof e!=="number"){throw A.create({message:"maxTimeMS must be a number",driver:true})}if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.maxTimeMS=e;return this}project(e){if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}this.cmd.fields=e;return this}sort(e,t){if(this.options.tailable){throw A.create({message:"Tailable cursor doesn't support sorting",driver:true})}if(this.s.state===l.CLOSED||this.s.state===l.OPEN||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}let r=e;if(Array.isArray(r)&&Array.isArray(r[0])){r=new u(r.map((e=>{const t=[e[0],null];if(e[1]==="asc"){t[1]=1}else if(e[1]==="desc"){t[1]=-1}else if(e[1]===1||e[1]===-1||e[1].$meta){t[1]=e[1]}else{throw new A("Illegal sort clause, must be of the form [['field1', '(ascending|descending)'], ['field2', '(ascending|descending)']]")}return t})))}if(t!=null){r=[[e,t]]}this.cmd.sort=r;return this}batchSize(e){if(this.options.tailable){throw A.create({message:"Tailable cursor doesn't support batchSize",driver:true})}if(this.s.state===l.CLOSED||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(typeof e!=="number"){throw A.create({message:"batchSize requires an integer",driver:true})}this.cmd.batchSize=e;this.setCursorBatchSize(e);return this}collation(e){this.cmd.collation=e;return this}limit(e){if(this.options.tailable){throw A.create({message:"Tailable cursor doesn't support limit",driver:true})}if(this.s.state===l.OPEN||this.s.state===l.CLOSED||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(typeof e!=="number"){throw A.create({message:"limit requires an integer",driver:true})}this.cmd.limit=e;this.setCursorLimit(e);return this}skip(e){if(this.options.tailable){throw A.create({message:"Tailable cursor doesn't support skip",driver:true})}if(this.s.state===l.OPEN||this.s.state===l.CLOSED||this.isDead()){throw A.create({message:"Cursor is closed",driver:true})}if(typeof e!=="number"){throw A.create({message:"skip requires an integer",driver:true})}this.cmd.skip=e;this.setCursorSkip(e);return this}each(e){this.rewind();this.s.state=l.INIT;m(this,e)}forEach(e,t){this.rewind();this.s.state=l.INIT;if(typeof t==="function"){m(this,((r,n)=>{if(r){t(r);return false}if(n!=null){try{e(n)}catch(e){t(e);return false}return true}if(n==null&&t){const e=t;t=null;e(null);return false}}))}else{return new this.s.promiseLibrary(((t,r)=>{m(this,((n,o)=>{if(n){r(n);return false}else if(o==null){t(null);return false}else{try{e(o)}catch(e){r(e);return false}return true}}))}))}}setReadPreference(e){if(this.s.state!==l.INIT){throw A.create({message:"cannot change cursor readPreference after cursor has been accessed",driver:true})}if(e instanceof a){this.options.readPreference=e}else if(typeof e==="string"){this.options.readPreference=new a(e)}else{throw new TypeError("Invalid read preference: "+e)}return this}toArray(e){if(this.options.tailable){throw A.create({message:"Tailable cursor cannot be converted to array",driver:true})}return h(this,e,(e=>{const t=this;const r=[];t.rewind();t.s.state=l.INIT;const fetchDocs=()=>{t._next(((n,o)=>{if(n){return i(e,n)}if(o==null){return t.close({skipKillCursors:true},(()=>i(e,null,r)))}r.push(o);if(t.bufferedCount()>0){let e=t.readBufferedDocuments(t.bufferedCount());Array.prototype.push.apply(r,e)}fetchDocs()}))};fetchDocs()}))}count(e,t,r){if(this.cmd.query==null)throw A.create({message:"count can only be used with find command",driver:true});if(typeof t==="function")r=t,t={};t=t||{};if(typeof e==="function"){r=e;e=true}if(this.cursorState.session){t=Object.assign({},t,{session:this.cursorState.session})}const n=new C(this,e,t);return d(this.topology,n,r)}close(e,t){if(typeof e==="function")t=e,e={};e=Object.assign({},{skipKillCursors:false},e);return h(this,t,(t=>{this.s.state=l.CLOSED;if(!e.skipKillCursors){this.kill()}this._endSession((()=>{this.emit("close");t(null,this)}))}))}map(e){if(this.cursorState.transforms&&this.cursorState.transforms.doc){const t=this.cursorState.transforms.doc;this.cursorState.transforms.doc=r=>e(t(r))}else{this.cursorState.transforms={doc:e}}return this}isClosed(){return this.isDead()}destroy(e){if(e)this.emit("error",e);this.pause();this.close()}stream(e){this.cursorState.streamOptions=e||{};return this}transformStream(e){const t=e||{};if(typeof t.transform==="function"){const e=new n({objectMode:true,transform:function(e,r,n){this.push(t.transform(e));n()}});return this.pipe(e)}return this.pipe(new o({objectMode:true}))}explain(e,t){if(typeof e==="function")t=e,e=true;if(e===undefined)e=true;if(!this.operation||!this.operation.hasAspect(E.EXPLAINABLE)){throw new A("This command cannot be explained")}this.operation.explain=new p(e);return h(this,t,(e=>{c.prototype._next.apply(this,[e])}))}getLogger(){return this.logger}}Cursor.prototype.maxTimeMs=Cursor.prototype.maxTimeMS;s(Cursor.prototype.each,"Cursor.each is deprecated. Use Cursor.forEach instead.");s(Cursor.prototype.maxScan,"Cursor.maxScan is deprecated, and will be removed in a later version");s(Cursor.prototype.snapshot,"Cursor Snapshot is deprecated, and will be removed in a later version");e.exports=Cursor},6662:(e,t,r)=>{"use strict";const n=r(2361).EventEmitter;const o=r(3837).inherits;const s=r(1371).getSingleProperty;const i=r(538);const a=r(1371).handleCallback;const A=r(1371).filterOptions;const c=r(1371).toError;const l=r(3994).ReadPreference;const u=r(3994).MongoError;const h=r(3994).ObjectID;const d=r(3994).Logger;const g=r(5193);const p=r(1371).conditionallyMergeWriteConcern;const E=r(1371).executeLegacyOperation;const m=r(1117);const C=r(3837).deprecate;const I=r(1371).deprecateOptions;const y=r(1371).MongoDBNamespace;const B=r(147);const Q=r(2481);const b=r(7289);const w=r(7429);const S=r(2226).createListener;const v=r(2226).ensureIndex;const R=r(2226).evaluate;const k=r(2226).profilingInfo;const D=r(2226).validateDatabaseName;const N=r(1554);const T=r(7057);const O=r(286);const _=r(499);const M=r(1363);const L=r(5561);const F=r(6394);const U=r(2360).DropCollectionOperation;const P=r(2360).DropDatabaseOperation;const G=r(1681);const Y=r(4245);const V=r(840);const W=r(3969);const J=r(1969);const q=r(2808);const j=r(6301);const z=r(2548);const $=["w","wtimeout","fsync","j","writeConcern","readPreference","readPreferenceTags","native_parser","forceServerObjectId","pkFactory","serializeFunctions","raw","bufferMaxEntries","authSource","ignoreUndefined","promiseLibrary","readConcern","retryMiliSeconds","numberOfRetries","parentDb","noListener","loggerLevel","logger","promoteBuffers","promoteLongs","promoteValues","bsonRegExp","compression","retryWrites"];function Db(e,t,r){r=r||{};if(!(this instanceof Db))return new Db(e,t,r);n.call(this);const o=r.promiseLibrary||Promise;r=A(r,$);r.promiseLibrary=o;this.s={dbCache:{},children:[],topology:t,options:r,logger:d("Db",r),bson:t?t.bson:null,readPreference:l.fromOptions(r),bufferMaxEntries:typeof r.bufferMaxEntries==="number"?r.bufferMaxEntries:-1,parentDb:r.parentDb||null,pkFactory:r.pkFactory||h,nativeParser:r.nativeParser||r.native_parser,promiseLibrary:o,noListener:typeof r.noListener==="boolean"?r.noListener:false,readConcern:b.fromOptions(r),writeConcern:Q.fromOptions(r),namespace:new y(e)};D(e);s(this,"serverConfig",this.s.topology);s(this,"bufferMaxEntries",this.s.bufferMaxEntries);s(this,"databaseName",this.s.namespace.db);if(r.parentDb)return;if(this.s.noListener)return;t.on("error",S(this,"error",this));t.on("timeout",S(this,"timeout",this));t.on("close",S(this,"close",this));t.on("parseError",S(this,"parseError",this));t.once("open",S(this,"open",this));t.once("fullsetup",S(this,"fullsetup",this));t.once("all",S(this,"all",this));t.on("reconnect",S(this,"reconnect",this))}o(Db,n);Db.prototype.on=C((function(){return Db.super_.prototype.on.apply(this,arguments)}),"Listening to events on the Db class has been deprecated and will be removed in the next major version.");Db.prototype.once=C((function(){return Db.super_.prototype.once.apply(this,arguments)}),"Listening to events on the Db class has been deprecated and will be removed in the next major version.");Object.defineProperty(Db.prototype,"topology",{enumerable:true,get:function(){return this.s.topology}});Object.defineProperty(Db.prototype,"options",{enumerable:true,get:function(){return this.s.options}});Object.defineProperty(Db.prototype,"slaveOk",{enumerable:true,get:function(){if(this.s.options.readPreference!=null&&(this.s.options.readPreference!=="primary"||this.s.options.readPreference.mode!=="primary")){return true}return false}});Object.defineProperty(Db.prototype,"readConcern",{enumerable:true,get:function(){return this.s.readConcern}});Object.defineProperty(Db.prototype,"readPreference",{enumerable:true,get:function(){if(this.s.readPreference==null){return l.primary}return this.s.readPreference}});Object.defineProperty(Db.prototype,"writeConcern",{enumerable:true,get:function(){return this.s.writeConcern}});Object.defineProperty(Db.prototype,"namespace",{enumerable:true,get:function(){return this.s.namespace.toString()}});Db.prototype.command=function(e,t,r){if(typeof t==="function")r=t,t={};t=Object.assign({},t);const n=new M(this,e,t);return z(this.s.topology,n,r)};Db.prototype.aggregate=function(e,t,r){if(typeof t==="function"){r=t;t={}}if(t==null&&r==null){t={}}const n=new w(this.s.topology,new N(this,e,t),t);if(typeof r==="function"){r(null,n);return}return n};Db.prototype.admin=function(){const e=r(3238);return new e(this,this.s.topology,this.s.promiseLibrary)};const K=["pkFactory","readPreference","serializeFunctions","strict","readConcern","ignoreUndefined","promoteValues","promoteBuffers","promoteLongs","bsonRegExp"];Db.prototype.collection=I({name:"Db.collection",deprecatedOptions:["strict"],optionsIndex:1},(function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};t=Object.assign({},t);t.promiseLibrary=this.s.promiseLibrary;t.readConcern=t.readConcern?new b(t.readConcern.level):this.readConcern;if(this.s.options.ignoreUndefined){t.ignoreUndefined=this.s.options.ignoreUndefined}for(const e of K){if(!(e in t)&&this.s.options[e]!==undefined){t[e]=this.s.options[e]}}t=p(t,this.s.options);if(t==null||!t.strict){try{const n=new g(this,this.s.topology,this.databaseName,e,this.s.pkFactory,t);if(r)r(null,n);return n}catch(e){if(e instanceof u&&r)return r(e);throw e}}if(typeof r!=="function"){throw c(`A callback is required in strict mode. While getting collection ${e}`)}if(this.serverConfig&&this.serverConfig.isDestroyed()){return r(new u("topology was destroyed"))}const n=Object.assign({},t,{nameOnly:true});this.listCollections({name:e},n).toArray(((n,o)=>{if(n!=null)return a(r,n,null);if(o.length===0)return a(r,c(`Collection ${e} does not exist. Currently in strict mode.`),null);try{return a(r,null,new g(this,this.s.topology,this.databaseName,e,this.s.pkFactory,t))}catch(n){return a(r,n,null)}}))}));Db.prototype.createCollection=I({name:"Db.createCollection",deprecatedOptions:["autoIndexId","strict","w","wtimeout","j"],optionsIndex:1},(function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};t.promiseLibrary=t.promiseLibrary||this.s.promiseLibrary;t.readConcern=t.readConcern?new b(t.readConcern.level):this.readConcern;const n=new L(this,e,t);return z(this.s.topology,n,r)}));Db.prototype.stats=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r={dbStats:true};if(e["scale"]!=null)r["scale"]=e["scale"];if(e.readPreference==null&&this.s.readPreference){e.readPreference=this.s.readPreference}const n=new _(this,e,null,r);return z(this.s.topology,n,t)};Db.prototype.listCollections=function(e,t){e=e||{};t=t||{};return new i(this.s.topology,new V(this,e,t),t)};Db.prototype.eval=C((function(e,t,r,n){const o=Array.prototype.slice.call(arguments,1);n=typeof o[o.length-1]==="function"?o.pop():undefined;t=o.length?o.shift():t;r=o.length?o.shift()||{}:{};return E(this.s.topology,R,[this,e,t,r,n])}),"Db.eval is deprecated as of MongoDB version 3.2");Db.prototype.renameCollection=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=Object.assign({},r,{readPreference:l.PRIMARY});r.new_collection=true;const o=new q(this.collection(e),t,r);return z(this.s.topology,o,n)};Db.prototype.dropCollection=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new U(this,e,t);return z(this.s.topology,n,r)};Db.prototype.dropDatabase=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new P(this,e);return z(this.s.topology,r,t)};Db.prototype.collections=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new O(this,e);return z(this.s.topology,r,t)};Db.prototype.executeDbAdminCommand=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};t.readPreference=l.resolve(this,t);const n=new G(this,e,t);return z(this.s.topology,n,r)};Db.prototype.createIndex=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r?Object.assign({},r):{};const o=new F(this,e,t,r);return z(this.s.topology,o,n)};Db.prototype.ensureIndex=C((function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};return E(this.s.topology,v,[this,e,t,r,n])}),"Db.ensureIndex is deprecated as of MongoDB version 3.0 / driver version 2.0");Db.prototype.addChild=function(e){if(this.s.parentDb)return this.s.parentDb.addChild(e);this.s.children.push(e)};Db.prototype.addUser=function(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};if(typeof e==="string"&&t!=null&&typeof t==="object"){r=t;t=null}const o=new T(this,e,t,r);return z(this.s.topology,o,n)};Db.prototype.removeUser=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new J(this,e,t);return z(this.s.topology,n,r)};Db.prototype.setProfilingLevel=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new j(this,e,t);return z(this.s.topology,n,r)};Db.prototype.profilingInfo=C((function(e,t){if(typeof e==="function")t=e,e={};e=e||{};return E(this.s.topology,k,[this,e,t])}),"Db.profilingInfo is deprecated. Query the system.profile collection directly.");Db.prototype.profilingLevel=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};const r=new W(this,e);return z(this.s.topology,r,t)};Db.prototype.indexInformation=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};const n=new Y(this,e,t);return z(this.s.topology,n,r)};Db.prototype.unref=function(){this.s.topology.unref()};Db.prototype.watch=function(e,t){e=e||[];t=t||{};if(!Array.isArray(e)){t=e;e=[]}return new m(this,e,t)};Db.prototype.getLogger=function(){return this.s.logger};Db.SYSTEM_NAMESPACE_COLLECTION=B.SYSTEM_NAMESPACE_COLLECTION;Db.SYSTEM_INDEX_COLLECTION=B.SYSTEM_INDEX_COLLECTION;Db.SYSTEM_PROFILE_COLLECTION=B.SYSTEM_PROFILE_COLLECTION;Db.SYSTEM_USER_COLLECTION=B.SYSTEM_USER_COLLECTION;Db.SYSTEM_COMMAND_COLLECTION=B.SYSTEM_COMMAND_COLLECTION;Db.SYSTEM_JS_COLLECTION=B.SYSTEM_JS_COLLECTION;e.exports=Db},8275:(e,t,r)=>{"use strict";let n;let o;let s;function loadCollection(){if(!n){n=r(5193)}return n}function loadCursor(){if(!o){o=r(7159)}return o}function loadDb(){if(!s){s=r(6662)}return s}e.exports={loadCollection:loadCollection,loadCursor:loadCursor,loadDb:loadDb}},3012:(e,t,r)=>{"use strict";const n=r(1545);const o=r(7746).retrieveBSON();const s=r(3111).MongoError;let i=undefined;try{i=r(5764)}catch(e){throw new s("Auto-encryption requested, but the module is not installed. "+"Please add `mongodb-client-encryption` as a dependency of your project")}if(i===undefined||typeof i.extension!=="function"){throw new s("loaded version of `mongodb-client-encryption` does not have property `extension`. "+"Please make sure you are loading the correct version of `mongodb-client-encryption`")}const a=i.extension(r(5517)).AutoEncrypter;const A=Symbol("internalClient");class Encrypter{constructor(e,t){this.bypassAutoEncryption=!!t.autoEncryption.bypassAutoEncryption;this.needsConnecting=false;if(t.maxPoolSize===0&&t.autoEncryption.keyVaultClient==null){t.autoEncryption.keyVaultClient=e}else if(t.autoEncryption.keyVaultClient==null){t.autoEncryption.keyVaultClient=this.getInternalClient(e)}if(this.bypassAutoEncryption){t.autoEncryption.metadataClient=undefined}else if(t.maxPoolSize===0){t.autoEncryption.metadataClient=e}else{t.autoEncryption.metadataClient=this.getInternalClient(e)}t.autoEncryption.bson=Encrypter.makeBSON(t);this.autoEncrypter=new a(e,t.autoEncryption)}getInternalClient(e){if(!this[A]){const t={};for(const r of Object.keys(e.s.options)){if(["autoEncryption","minPoolSize","servers","caseTranslate","dbName"].indexOf(r)!==-1)continue;t[r]=e.s.options[r]}t.minPoolSize=0;const r=["commandStarted","commandSucceeded","commandFailed","serverOpening","serverClosed","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","topologyOpening","topologyClosed","topologyDescriptionChanged","joined","left","ping","ha","connectionPoolCreated","connectionPoolClosed","connectionCreated","connectionReady","connectionClosed","connectionCheckOutStarted","connectionCheckOutFailed","connectionCheckedOut","connectionCheckedIn","connectionPoolCleared"];this[A]=new n(e.s.url,t);for(const t of r){for(const r of e.listeners(t)){this[A].on(t,r)}}e.on("newListener",((e,t)=>{this[A].on(e,t)}));this.needsConnecting=true}return this[A]}connectInternalClient(e){if(this.needsConnecting){this.needsConnecting=false;return this[A].connect(e)}return e()}close(e,t,r){this.autoEncrypter.teardown((n=>{if(this[A]&&e!==this[A]){return this[A].close(t,r)}r(n)}))}static makeBSON(e){return(e||{}).bson||new o([o.Binary,o.Code,o.DBRef,o.Decimal128,o.Double,o.Int32,o.Long,o.Map,o.MaxKey,o.MinKey,o.ObjectId,o.BSONRegExp,o.Symbol,o.Timestamp])}}e.exports={Encrypter:Encrypter}},9386:(e,t,r)=>{"use strict";const n=r(3994).MongoNetworkError;const o=r(8072).MONGODB_ERROR_CODES;const s=new Set([o.HostUnreachable,o.HostNotFound,o.NetworkTimeout,o.ShutdownInProgress,o.PrimarySteppedDown,o.ExceededTimeLimit,o.SocketException,o.NotMaster,o.InterruptedAtShutdown,o.InterruptedDueToReplStateChange,o.NotMasterNoSlaveOk,o.NotMasterOrSecondary,o.StaleShardVersion,o.StaleEpoch,o.StaleConfig,o.RetryChangeStream,o.FailedToSatisfyReadPreference,o.CursorNotFound]);function isResumableError(e,t){if(e instanceof n){return true}if(t>=9){if(e.code===o.CursorNotFound){return true}return e.hasErrorLabel("ResumableChangeStreamError")}return s.has(e.code)}e.exports={GET_MORE_RESUMABLE_CODES:s,isResumableError:isResumableError,MONGODB_ERROR_CODES:o}},8072:e=>{"use strict";const t=Object.freeze({HostUnreachable:6,HostNotFound:7,NetworkTimeout:89,ShutdownInProgress:91,PrimarySteppedDown:189,ExceededTimeLimit:262,SocketException:9001,NotMaster:10107,InterruptedAtShutdown:11600,InterruptedDueToReplStateChange:11602,NotMasterNoSlaveOk:13435,NotMasterOrSecondary:13436,StaleShardVersion:63,StaleEpoch:150,StaleConfig:13388,RetryChangeStream:234,FailedToSatisfyReadPreference:133,CursorNotFound:43,LegacyNotPrimary:10058,WriteConcernFailed:64,NamespaceNotFound:26,IllegalOperation:20,MaxTimeMSExpired:50,UnknownReplWriteConcern:79,UnsatisfiableWriteConcern:100,DuplicateKey:11e3,CannotCreateIndex:67,IndexOptionsConflict:85,IndexKeySpecsConflict:86,InvalidIndexSpecificationOption:197});e.exports=Object.freeze({MONGODB_ERROR_CODES:t})},5293:(e,t,r)=>{"use strict";const n=r(3111).MongoError;class Explain{constructor(e){if(typeof e==="boolean"){this.verbosity=e?"allPlansExecution":"queryPlanner"}else{this.verbosity=e}}static fromOptions(e){if(e==null||e.explain===undefined){return}const t=e.explain;if(typeof t==="boolean"||typeof t==="string"){return new Explain(e.explain)}throw new n(`explain must be a string or a boolean`)}}e.exports={Explain:Explain}},4190:(e,t,r)=>{"use strict";var n=r(2781),o=r(3837);e.exports=GridFSBucketReadStream;function GridFSBucketReadStream(e,t,r,o,s){this.s={bytesRead:0,chunks:e,cursor:null,expected:0,files:t,filter:o,init:false,expectedEnd:0,file:null,options:s,readPreference:r};n.Readable.call(this)}o.inherits(GridFSBucketReadStream,n.Readable);GridFSBucketReadStream.prototype._read=function(){var e=this;if(this.destroyed){return}waitForFile(e,(function(){doRead(e)}))};GridFSBucketReadStream.prototype.start=function(e){throwIfInitialized(this);this.s.options.start=e;return this};GridFSBucketReadStream.prototype.end=function(e){throwIfInitialized(this);this.s.options.end=e;return this};GridFSBucketReadStream.prototype.abort=function(e){var t=this;this.push(null);this.destroyed=true;if(this.s.cursor){this.s.cursor.close((function(r){t.emit("close");e&&e(r)}))}else{if(!this.s.init){t.emit("close")}e&&e()}};function throwIfInitialized(e){if(e.s.init){throw new Error("You cannot change options after the stream has entered"+"flowing mode!")}}function doRead(e){if(e.destroyed){return}e.s.cursor.next((function(t,r){if(e.destroyed){return}if(t){return __handleError(e,t)}if(!r){e.push(null);process.nextTick((()=>{e.s.cursor.close((function(t){if(t){__handleError(e,t);return}e.emit("close")}))}));return}var n=e.s.file.length-e.s.bytesRead;var o=e.s.expected++;var s=Math.min(e.s.file.chunkSize,n);if(r.n>o){var i="ChunkIsMissing: Got unexpected n: "+r.n+", expected: "+o;return __handleError(e,new Error(i))}if(r.n0){i["n"]={$gte:a}}}e.s.cursor=e.s.chunks.find(i).sort({n:1});if(e.s.readPreference){e.s.cursor.setReadPreference(e.s.readPreference)}e.s.expectedEnd=Math.ceil(r.length/r.chunkSize);e.s.file=r;try{e.s.bytesToTrim=handleEndOption(e,r,e.s.cursor,e.s.options)}catch(t){return __handleError(e,t)}e.emit("file",r)}))}function waitForFile(e,t){if(e.s.file){return t()}if(!e.s.init){init(e);e.s.init=true}e.once("file",(function(){t()}))}function handleStartOption(e,t,r){if(r&&r.start!=null){if(r.start>t.length){throw new Error("Stream start ("+r.start+") must not be "+"more than the length of the file ("+t.length+")")}if(r.start<0){throw new Error("Stream start ("+r.start+") must not be "+"negative")}if(r.end!=null&&r.endt.length){throw new Error("Stream end ("+n.end+") must not be "+"more than the length of the file ("+t.length+")")}if(n.start<0){throw new Error("Stream end ("+n.end+") must not be "+"negative")}var o=n.start!=null?Math.floor(n.start/t.chunkSize):0;r.limit(Math.ceil(n.end/t.chunkSize)-o);e.s.expectedEnd=Math.ceil(n.end/t.chunkSize);return Math.ceil(n.end/t.chunkSize)*t.chunkSize-n.end}}function __handleError(e,t){e.emit("error",t)}},2573:(e,t,r)=>{"use strict";var n=r(2361).EventEmitter;var o=r(4190);var s=r(1413);var i=r(1371).shallowClone;var a=r(1371).toError;var A=r(3837);var c=r(1371).executeLegacyOperation;const l=r(1371).deprecateOptions;var u={bucketName:"fs",chunkSizeBytes:255*1024};e.exports=GridFSBucket;function GridFSBucket(e,t){n.apply(this);this.setMaxListeners(0);if(t&&typeof t==="object"){t=i(t);var r=Object.keys(u);for(var o=0;o=0){r={uploadDate:1};n=t.revision}else{n=-t.revision-1}}var s={filename:e};t={sort:r,skip:n,start:t&&t.start,end:t&&t.end};return new o(this.s._chunksCollection,this.s._filesCollection,this.s.options.readPreference,s,t)};GridFSBucket.prototype.rename=function(e,t,r){return c(this.s.db.s.topology,_rename,[this,e,t,r],{skipSessions:true})};function _rename(e,t,r,n){var o={_id:t};var s={$set:{filename:r}};e.s._filesCollection.updateOne(o,s,(function(e,r){if(e){return n(e)}if(!r.result.n){return n(a("File with id "+t+" not found"))}n()}))}GridFSBucket.prototype.drop=function(e){return c(this.s.db.s.topology,_drop,[this,e],{skipSessions:true})};GridFSBucket.prototype.getLogger=function(){return this.s.db.s.logger};function _drop(e,t){e.s._filesCollection.drop((function(r){if(r){return t(r)}e.s._chunksCollection.drop((function(e){if(e){return t(e)}return t()}))}))}},1413:(e,t,r)=>{"use strict";const n=r(8072).MONGODB_ERROR_CODES;const o=r(3994);const s=r(6113);const i=r(2781);const a=r(3837);const A=r(1867).Buffer;const c=r(1371).deprecateOptions;const l=c({name:"GridFSBucketWriteStream",deprecatedOptions:["disableMD5"],optionsIndex:2},(function(e,t,r){r=r||{};i.Writable.call(this,r);this.bucket=e;this.chunks=e.s._chunksCollection;this.filename=t;this.files=e.s._filesCollection;this.options=r;this.done=false;this.id=r.id?r.id:o.BSON.ObjectId();this.chunkSizeBytes=this.options.chunkSizeBytes;this.bufToStore=A.alloc(this.chunkSizeBytes);this.length=0;this.md5=!r.disableMD5&&s.createHash("md5");this.n=0;this.pos=0;this.state={streamEnd:false,outstandingRequests:0,errored:false,aborted:false,promiseLibrary:this.bucket.s.promiseLibrary};if(!this.bucket.s.calledOpenUploadStream){this.bucket.s.calledOpenUploadStream=true;var n=this;checkIndexes(this,(function(){n.bucket.s.checkedIndexes=true;n.bucket.emit("index")}))}}));a.inherits(l,i.Writable);l.prototype.write=function(e,t,r){var n=this;return waitForIndexes(this,(function(){return doWrite(n,e,t,r)}))};l.prototype.abort=function(e){if(this.state.streamEnd){var t=new Error("Cannot abort a stream that has already completed");if(typeof e==="function"){return e(t)}return this.state.promiseLibrary.reject(t)}if(this.state.aborted){t=new Error("Cannot call abort() on a stream twice");if(typeof e==="function"){return e(t)}return this.state.promiseLibrary.reject(t)}this.state.aborted=true;this.chunks.deleteMany({files_id:this.id},(function(t){if(typeof e==="function")e(t)}))};l.prototype.end=function(e,t,r){var n=this;if(typeof e==="function"){r=e,e=null,t=null}else if(typeof t==="function"){r=t,t=null}if(checkAborted(this,r)){return}this.state.streamEnd=true;if(r){this.once("finish",(function(e){r(null,e)}))}if(!e){waitForIndexes(this,(function(){writeRemnant(n)}));return}this.write(e,t,(function(){writeRemnant(n)}))};function __handleError(e,t,r){if(e.state.errored){return}e.state.errored=true;if(r){return r(t)}e.emit("error",t)}function createChunkDoc(e,t,r){return{_id:o.BSON.ObjectId(),files_id:e,n:t,data:r}}function checkChunksIndex(e,t){e.chunks.listIndexes().toArray((function(r,o){if(r){if(r.code===n.NamespaceNotFound){var s={files_id:1,n:1};e.chunks.createIndex(s,{background:false,unique:true},(function(e){if(e){return t(e)}t()}));return}return t(r)}var i=false;o.forEach((function(e){if(e.key){var t=Object.keys(e.key);if(t.length===2&&e.key.files_id===1&&e.key.n===1){i=true}}}));if(i){t()}else{s={files_id:1,n:1};var a=getWriteOptions(e);a.background=false;a.unique=true;e.chunks.createIndex(s,a,(function(e){if(e){return t(e)}t()}))}}))}function checkDone(e,t){if(e.done)return true;if(e.state.streamEnd&&e.state.outstandingRequests===0&&!e.state.errored){e.done=true;var r=createFilesDoc(e.id,e.length,e.chunkSizeBytes,e.md5&&e.md5.digest("hex"),e.filename,e.options.contentType,e.options.aliases,e.options.metadata);if(checkAborted(e,t)){return false}e.files.insertOne(r,getWriteOptions(e),(function(n){if(n){return __handleError(e,n,t)}e.emit("finish",r);e.emit("close")}));return true}return false}function checkIndexes(e,t){e.files.findOne({},{_id:1},(function(r,o){if(r){return t(r)}if(o){return t()}e.files.listIndexes().toArray((function(r,o){if(r){if(r.code===n.NamespaceNotFound){var s={filename:1,uploadDate:1};e.files.createIndex(s,{background:false},(function(r){if(r){return t(r)}checkChunksIndex(e,t)}));return}return t(r)}var i=false;o.forEach((function(e){var t=Object.keys(e.key);if(t.length===2&&e.key.filename===1&&e.key.uploadDate===1){i=true}}));if(i){checkChunksIndex(e,t)}else{s={filename:1,uploadDate:1};var a=getWriteOptions(e);a.background=false;e.files.createIndex(s,a,(function(r){if(r){return t(r)}checkChunksIndex(e,t)}))}}))}))}function createFilesDoc(e,t,r,n,o,s,i,a){var A={_id:e,length:t,chunkSize:r,uploadDate:new Date,filename:o};if(n){A.md5=n}if(s){A.contentType=s}if(i){A.aliases=i}if(a){A.metadata=a}return A}function doWrite(e,t,r,n){if(checkAborted(e,n)){return false}var o=A.isBuffer(t)?t:A.from(t,r);e.length+=o.length;if(e.pos+o.length0){var l=o.length-s;o.copy(e.bufToStore,e.pos,l,l+a);e.pos+=a;i-=a;if(i===0){if(e.md5){e.md5.update(e.bufToStore)}var u=createChunkDoc(e.id,e.n,A.from(e.bufToStore));++e.state.outstandingRequests;++c;if(checkAborted(e,n)){return false}e.chunks.insertOne(u,getWriteOptions(e),(function(t){if(t){return __handleError(e,t)}--e.state.outstandingRequests;--c;if(!c){e.emit("drain",u);n&&n();checkDone(e)}}));i=e.chunkSizeBytes;e.pos=0;++e.n}s-=a;a=Math.min(i,s)}return false}function getWriteOptions(e){var t={};if(e.options.writeConcern){t.w=e.options.writeConcern.w;t.wtimeout=e.options.writeConcern.wtimeout;t.j=e.options.writeConcern.j}return t}function waitForIndexes(e,t){if(e.bucket.s.checkedIndexes){return t(false)}e.bucket.once("index",(function(){t(true)}));return true}function writeRemnant(e,t){if(e.pos===0){return checkDone(e,t)}++e.state.outstandingRequests;var r=A.alloc(e.pos);e.bufToStore.copy(r,0,0,e.pos);if(e.md5){e.md5.update(r)}var n=createChunkDoc(e.id,e.n,r);if(checkAborted(e,t)){return false}e.chunks.insertOne(n,getWriteOptions(e),(function(t){if(t){return __handleError(e,t)}--e.state.outstandingRequests;checkDone(e)}))}function checkAborted(e,t){if(e.state.aborted){if(typeof t==="function"){t(new Error("this stream has been aborted"))}return true}return false}e.exports=l},3890:(e,t,r)=>{"use strict";var n=r(3994).BSON.Binary,o=r(3994).BSON.ObjectID;var s=r(1867).Buffer;var Chunk=function(e,t,r){if(!(this instanceof Chunk))return new Chunk(e,t);this.file=e;var i=t==null?{}:t;this.writeConcern=r||{w:1};this.objectId=i._id==null?new o:i._id;this.chunkNumber=i.n==null?0:i.n;this.data=new n;if(typeof i.data==="string"){var a=s.alloc(i.data.length);a.write(i.data,0,i.data.length,"binary");this.data=new n(a)}else if(Array.isArray(i.data)){a=s.alloc(i.data.length);var A=i.data.join("");a.write(A,0,A.length,"binary");this.data=new n(a)}else if(i.data&&i.data._bsontype==="Binary"){this.data=i.data}else if(!s.isBuffer(i.data)&&!(i.data==null)){throw Error("Illegal chunk format")}this.internalPosition=0};Chunk.prototype.write=function(e,t){this.data.write(e,this.internalPosition,e.length,"binary");this.internalPosition=this.data.length();if(t!=null)return t(null,this);return this};Chunk.prototype.read=function(e){e=e==null||e===0?this.length():e;if(this.length()-this.internalPosition+1>=e){var t=this.data.read(this.internalPosition,e);this.internalPosition=this.internalPosition+e;return t}else{return""}};Chunk.prototype.readSlice=function(e){if(this.length()-this.internalPosition>=e){var t=null;if(this.data.buffer!=null){t=this.data.buffer.slice(this.internalPosition,this.internalPosition+e)}else{t=s.alloc(e);e=this.data.readInto(t,this.internalPosition)}this.internalPosition=this.internalPosition+e;return t}else{return null}};Chunk.prototype.eof=function(){return this.internalPosition===this.length()?true:false};Chunk.prototype.getc=function(){return this.read(1)};Chunk.prototype.rewind=function(){this.internalPosition=0;this.data=new n};Chunk.prototype.save=function(e,t){var r=this;if(typeof e==="function"){t=e;e={}}r.file.chunkCollection((function(n,o){if(n)return t(n);var s={upsert:true};for(var i in e)s[i]=e[i];for(i in r.writeConcern)s[i]=r.writeConcern[i];if(r.data.length()>0){r.buildMongoObject((function(e){var n={forceServerObjectId:true};for(var i in r.writeConcern){n[i]=r.writeConcern[i]}o.replaceOne({_id:r.objectId},e,s,(function(e){t(e,r)}))}))}else{t(null,r)}}))};Chunk.prototype.buildMongoObject=function(e){var t={files_id:this.file.fileId,n:this.chunkNumber,data:this.data};if(this.objectId!=null)t._id=this.objectId;e(t)};Chunk.prototype.length=function(){return this.data.length()};Object.defineProperty(Chunk.prototype,"position",{enumerable:true,get:function(){return this.internalPosition},set:function(e){this.internalPosition=e}});Chunk.DEFAULT_CHUNK_SIZE=1024*255;e.exports=Chunk},9406:(e,t,r)=>{"use strict";const n=r(3890);const o=r(3994).BSON.ObjectID;const s=r(3994).ReadPreference;const i=r(1867).Buffer;const a=r(7147);const A=r(3837).format;const c=r(3837);const l=r(3994).MongoError;const u=c.inherits;const h=r(2781).Duplex;const d=r(1371).shallowClone;const g=r(1371).executeLegacyOperation;const p=r(3837).deprecate;var E=0,m=1;const C=p((()=>{}),"GridStore is deprecated, and will be removed in a future version. Please use GridFSBucket instead");var I=function GridStore(e,t,r,i,a){C();if(!(this instanceof GridStore))return new GridStore(e,t,r,i,a);this.db=e;if(typeof a==="undefined")a={};if(typeof i==="undefined"){i=r;r=undefined}else if(typeof i==="object"){a=i;i=r;r=undefined}if(t&&t._bsontype==="ObjectID"){this.referenceBy=m;this.fileId=t;this.filename=r}else if(typeof r==="undefined"){this.referenceBy=E;this.filename=t;if(i.indexOf("w")!=null){this.fileId=new o}}else{this.referenceBy=m;this.fileId=t;this.filename=r}this.mode=i==null?"r":i;this.options=a||{};this.isOpen=false;this.root=this.options["root"]==null?GridStore.DEFAULT_ROOT_COLLECTION:this.options["root"];this.position=0;this.readPreference=this.options.readPreference||e.options.readPreference||s.primary;this.writeConcern=_getWriteConcern(e,this.options);this.internalChunkSize=this.options["chunkSize"]==null?n.DEFAULT_CHUNK_SIZE:this.options["chunkSize"];var A=this.options.promiseLibrary||Promise;this.promiseLibrary=A;Object.defineProperty(this,"chunkSize",{enumerable:true,get:function(){return this.internalChunkSize},set:function(e){if(!(this.mode[0]==="w"&&this.position===0&&this.uploadDate==null)){this.internalChunkSize=this.internalChunkSize}else{this.internalChunkSize=e}}});Object.defineProperty(this,"md5",{enumerable:true,get:function(){return this.internalMd5}});Object.defineProperty(this,"chunkNumber",{enumerable:true,get:function(){return this.currentChunk&&this.currentChunk.chunkNumber?this.currentChunk.chunkNumber:null}})};I.prototype.open=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};if(this.mode!=="w"&&this.mode!=="w+"&&this.mode!=="r"){throw l.create({message:"Illegal mode "+this.mode,driver:true})}return g(this.db.s.topology,open,[this,e,t],{skipSessions:true})};var open=function(e,t,r){var n=_getWriteConcern(e.db,e.options);if(e.mode==="w"||e.mode==="w+"){var o=e.collection();o.ensureIndex([["filename",1]],n,(function(){var t=e.chunkCollection();var o=d(n);o.unique=true;t.ensureIndex([["files_id",1],["n",1]],o,(function(){_open(e,n,(function(t,n){if(t)return r(t);e.isOpen=true;r(t,n)}))}))}))}else{_open(e,n,(function(t,n){if(t)return r(t);e.isOpen=true;r(t,n)}))}};I.prototype.eof=function(){return this.position===this.length?true:false};I.prototype.getc=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};return g(this.db.s.topology,getc,[this,e,t],{skipSessions:true})};var getc=function(e,t,r){if(e.eof()){r(null,null)}else if(e.currentChunk.eof()){nthChunk(e,e.currentChunk.chunkNumber+1,(function(t,n){e.currentChunk=n;e.position=e.position+1;r(t,e.currentChunk.getc())}))}else{e.position=e.position+1;r(null,e.currentChunk.getc())}};I.prototype.puts=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};var n=e.match(/\n$/)==null?e+"\n":e;return g(this.db.s.topology,this.write.bind(this),[n,t,r],{skipSessions:true})};I.prototype.stream=function(){return new GridStoreStream(this)};I.prototype.write=function write(e,t,r,n){if(typeof r==="function")n=r,r={};r=r||{};return g(this.db.s.topology,_writeNormal,[this,e,t,r,n],{skipSessions:true})};I.prototype.destroy=function destroy(){if(!this.writable)return;this.readable=false;if(this.writable){this.writable=false;this._q.length=0;this.emit("close")}};I.prototype.writeFile=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};return g(this.db.s.topology,writeFile,[this,e,t,r],{skipSessions:true})};var writeFile=function(e,t,r,o){if(typeof t==="string"){a.open(t,"r",(function(t,r){if(t)return o(t);e.writeFile(r,o)}));return}e.open((function(e,r){if(e)return o(e,r);a.fstat(t,(function(e,s){if(e)return o(e,r);var A=0;var c=0;var writeChunk=function(){var e=i.alloc(r.chunkSize);a.read(t,e,0,e.length,A,(function(e,i,l){if(e)return o(e,r);A=A+i;var u=new n(r,{n:c++},r.writeConcern);u.write(l.slice(0,i),(function(e,n){if(e)return o(e,r);n.save({},(function(e){if(e)return o(e,r);r.position=r.position+i;r.currentChunk=n;if(A>=s.size){a.close(t,(function(e){if(e)return o(e);r.close((function(e){if(e)return o(e,r);return o(null,r)}))}))}else{return process.nextTick(writeChunk)}}))}))}))};process.nextTick(writeChunk)}))}))};I.prototype.close=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};return g(this.db.s.topology,close,[this,e,t],{skipSessions:true})};var close=function(e,t,r){if(e.mode[0]==="w"){t=Object.assign({},e.writeConcern,t);if(e.currentChunk!=null&&e.currentChunk.position>0){e.currentChunk.save({},(function(n){if(n&&typeof r==="function")return r(n);e.collection((function(n,o){if(n&&typeof r==="function")return r(n);if(e.uploadDate!=null){buildMongoObject(e,(function(e,n){if(e){if(typeof r==="function")return r(e);else throw e}o.save(n,t,(function(e){if(typeof r==="function")r(e,n)}))}))}else{e.uploadDate=new Date;buildMongoObject(e,(function(e,n){if(e){if(typeof r==="function")return r(e);else throw e}o.save(n,t,(function(e){if(typeof r==="function")r(e,n)}))}))}}))}))}else{e.collection((function(n,o){if(n&&typeof r==="function")return r(n);e.uploadDate=new Date;buildMongoObject(e,(function(e,n){if(e){if(typeof r==="function")return r(e);else throw e}o.save(n,t,(function(e){if(typeof r==="function")r(e,n)}))}))}))}}else if(e.mode[0]==="r"){if(typeof r==="function")r(null,null)}else{if(typeof r==="function")r(l.create({message:A("Illegal mode %s",e.mode),driver:true}))}};I.prototype.chunkCollection=function(e){if(typeof e==="function")return this.db.collection(this.root+".chunks",e);return this.db.collection(this.root+".chunks")};I.prototype.unlink=function(e,t){if(typeof e==="function")t=e,e={};e=e||{};return g(this.db.s.topology,unlink,[this,e,t],{skipSessions:true})};var unlink=function(e,t,r){deleteChunks(e,(function(t){if(t!==null){t.message="at deleteChunks: "+t.message;return r(t)}e.collection((function(t,n){if(t!==null){t.message="at collection: "+t.message;return r(t)}n.remove({_id:e.fileId},e.writeConcern,(function(t){r(t,e)}))}))}))};I.prototype.collection=function(e){if(typeof e==="function")this.db.collection(this.root+".files",e);return this.db.collection(this.root+".files")};I.prototype.readlines=function(e,t,r){var n=Array.prototype.slice.call(arguments,0);r=typeof n[n.length-1]==="function"?n.pop():undefined;e=n.length?n.shift():"\n";e=e||"\n";t=n.length?n.shift():{};return g(this.db.s.topology,readlines,[this,e,t,r],{skipSessions:true})};var readlines=function(e,t,r,n){e.read((function(e,r){if(e)return n(e);var o=r.toString().split(t);o=o.length>0?o.splice(0,o.length-1):[];for(var s=0;s=s){var A=e.currentChunk.readSlice(s-a._index);A.copy(a,a._index);e.position=e.position+a.length;if(s===0&&a.length===0)return o(l.create({message:"File does not exist",driver:true}),null);return o(null,a)}A=e.currentChunk.readSlice(e.currentChunk.length()-e.currentChunk.position);A.copy(a,a._index);a._index+=A.length;nthChunk(e,e.currentChunk.chunkNumber+1,(function(r,n){if(r)return o(r);if(n.length()>0){e.currentChunk=n;e.read(t,a,o)}else{if(a._index>0){o(null,a)}else{o(l.create({message:"no chunks found for file, possibly corrupt",driver:true}),null)}}}))};I.prototype.tell=function(e){var t=this;if(typeof e==="function")return e(null,this.position);return new t.promiseLibrary((function(e){e(t.position)}))};I.prototype.seek=function(e,t,r,n){var o=Array.prototype.slice.call(arguments,1);n=typeof o[o.length-1]==="function"?o.pop():undefined;t=o.length?o.shift():null;r=o.length?o.shift():{};return g(this.db.s.topology,seek,[this,e,t,r,n],{skipSessions:true})};var seek=function(e,t,r,n,o){if(e.mode!=="r"){return o(l.create({message:"seek is only supported for mode r",driver:true}))}var s=r==null?I.IO_SEEK_SET:r;var i=t;var a=0;if(s===I.IO_SEEK_CUR){a=e.position+i}else if(s===I.IO_SEEK_END){a=e.length+i}else{a=i}var A=Math.floor(a/e.chunkSize);var seekChunk=function(){nthChunk(e,A,(function(t,r){if(t)return o(t,null);if(r==null)return o(new Error("no chunk found"));e.currentChunk=r;e.position=a;e.currentChunk.position=e.position%e.chunkSize;o(t,e)}))};seekChunk()};var _open=function(e,t,r){var s=e.collection();var i=e.referenceBy===m?{_id:e.fileId}:{filename:e.filename};i=null==e.fileId&&e.filename==null?null:i;t.readPreference=e.readPreference;if(i!=null){s.findOne(i,t,(function(s,i){if(s){return error(s)}if(i!=null){e.fileId=i._id;e.filename=e.mode==="r"||e.filename===undefined?i.filename:e.filename;e.contentType=i.contentType;e.internalChunkSize=i.chunkSize;e.uploadDate=i.uploadDate;e.aliases=i.aliases;e.length=i.length;e.metadata=i.metadata;e.internalMd5=i.md5}else if(e.mode!=="r"){e.fileId=e.fileId==null?new o:e.fileId;e.contentType=I.DEFAULT_CONTENT_TYPE;e.internalChunkSize=e.internalChunkSize==null?n.DEFAULT_CHUNK_SIZE:e.internalChunkSize;e.length=0}else{e.length=0;var a=e.fileId._bsontype==="ObjectID"?e.fileId.toHexString():e.fileId;return error(l.create({message:A("file with id %s not opened for writing",e.referenceBy===m?a:e.filename),driver:true}),e)}if(e.mode==="r"){nthChunk(e,0,t,(function(t,n){if(t)return error(t);e.currentChunk=n;e.position=0;r(null,e)}))}else if(e.mode==="w"&&i){deleteChunks(e,t,(function(t){if(t)return error(t);e.currentChunk=new n(e,{n:0},e.writeConcern);e.contentType=e.options["content_type"]==null?e.contentType:e.options["content_type"];e.internalChunkSize=e.options["chunk_size"]==null?e.internalChunkSize:e.options["chunk_size"];e.metadata=e.options["metadata"]==null?e.metadata:e.options["metadata"];e.aliases=e.options["aliases"]==null?e.aliases:e.options["aliases"];e.position=0;r(null,e)}))}else if(e.mode==="w"){e.currentChunk=new n(e,{n:0},e.writeConcern);e.contentType=e.options["content_type"]==null?e.contentType:e.options["content_type"];e.internalChunkSize=e.options["chunk_size"]==null?e.internalChunkSize:e.options["chunk_size"];e.metadata=e.options["metadata"]==null?e.metadata:e.options["metadata"];e.aliases=e.options["aliases"]==null?e.aliases:e.options["aliases"];e.position=0;r(null,e)}else if(e.mode==="w+"){nthChunk(e,lastChunkNumber(e),t,(function(t,o){if(t)return error(t);e.currentChunk=o==null?new n(e,{n:0},e.writeConcern):o;e.currentChunk.position=e.currentChunk.data.length();e.metadata=e.options["metadata"]==null?e.metadata:e.options["metadata"];e.aliases=e.options["aliases"]==null?e.aliases:e.options["aliases"];e.position=e.length;r(null,e)}))}}))}else{e.fileId=null==e.fileId?new o:e.fileId;e.contentType=I.DEFAULT_CONTENT_TYPE;e.internalChunkSize=e.internalChunkSize==null?n.DEFAULT_CHUNK_SIZE:e.internalChunkSize;e.length=0;if(e.mode==="w"){deleteChunks(e,t,(function(t){if(t)return error(t);e.currentChunk=new n(e,{n:0},e.writeConcern);e.contentType=e.options["content_type"]==null?e.contentType:e.options["content_type"];e.internalChunkSize=e.options["chunk_size"]==null?e.internalChunkSize:e.options["chunk_size"];e.metadata=e.options["metadata"]==null?e.metadata:e.options["metadata"];e.aliases=e.options["aliases"]==null?e.aliases:e.options["aliases"];e.position=0;r(null,e)}))}else if(e.mode==="w+"){nthChunk(e,lastChunkNumber(e),t,(function(t,o){if(t)return error(t);e.currentChunk=o==null?new n(e,{n:0},e.writeConcern):o;e.currentChunk.position=e.currentChunk.data.length();e.metadata=e.options["metadata"]==null?e.metadata:e.options["metadata"];e.aliases=e.options["aliases"]==null?e.aliases:e.options["aliases"];e.position=e.length;r(null,e)}))}}function error(e){if(error.err)return;r(error.err=e)}};var writeBuffer=function(e,t,r,o){if(typeof r==="function"){o=r;r=null}var s=typeof r==="boolean"?r:false;if(e.mode!=="w"){o(l.create({message:A("file with id %s not opened for writing",e.referenceBy===m?e.referenceBy:e.filename),driver:true}),null)}else{if(e.currentChunk.position+t.length>=e.chunkSize){var i=e.currentChunk.chunkNumber;var a=e.chunkSize-e.currentChunk.position;var c=t.slice(0,a);var u=t.slice(a);var h=[e.currentChunk.write(c)];while(u.length>=e.chunkSize){var d=new n(e,{n:i+1},e.writeConcern);c=u.slice(0,e.chunkSize);u=u.slice(e.chunkSize);i=i+1;d.write(c);h.push(d)}e.currentChunk=new n(e,{n:i+1},e.writeConcern);if(u.length>0)e.currentChunk.write(u);e.position=e.position+t.length;var g=h.length;for(var p=0;p=t.length)return s("offset larger than size of file",null);if(r&&r>t.length)return s("length is larger than the size of the file",null);if(n&&r&&n+r>t.length)return s("offset and length is larger than the size of the file",null);if(n!=null){t.seek(n,(function(e,t){if(e)return s(e);t.read(r,s)}))}else{t.read(r,s)}}))};I.readlines=function(e,t,r,n,o){var s=Array.prototype.slice.call(arguments,2);o=typeof s[s.length-1]==="function"?s.pop():undefined;r=s.length?s.shift():null;n=s.length?s.shift():null;n=n||{};return g(e.s.topology,readlinesStatic,[e,t,r,n,o],{skipSessions:true})};var readlinesStatic=function(e,t,r,n,o){var s=r==null?"\n":r;new I(e,t,"r",n).open((function(e,t){if(e)return o(e);t.readlines(s,o)}))};I.unlink=function(e,t,r,n){var o=Array.prototype.slice.call(arguments,2);n=typeof o[o.length-1]==="function"?o.pop():undefined;r=o.length?o.shift():{};r=r||{};return g(e.s.topology,unlinkStatic,[this,e,t,r,n],{skipSessions:true})};var unlinkStatic=function(e,t,r,n,o){var s=_getWriteConcern(t,n);if(r.constructor===Array){var i=0;for(var a=0;ae.totalBytesToRead){e.totalBytesToRead=e.totalBytesToRead-r._index;e.push(r.slice(0,r._index))}if(e.totalBytesToRead<=0){e.endCalled=true}}))};var t=e.gs.length{"use strict";const n=r(1117);const o=r(6662);const s=r(2361).EventEmitter;const i=r(3837).inherits;const a=r(3994).MongoError;const A=r(3994).ValidServerApiVersions;const c=r(3837).deprecate;const l=r(2481);const u=r(1371).MongoDBNamespace;const h=r(4485);const d=r(1371).maybePromise;const g=r(2632);const p=r(5210).connect;const E=r(5210).validOptions;function MongoClient(e,t){t=t||{};if(!(this instanceof MongoClient))return new MongoClient(e,t);s.call(this);if(t.autoEncryption)r(3012);if(t.serverApi){const e=typeof t.serverApi==="string"?{version:t.serverApi}:t.serverApi;const r=e&&e.version;if(!r){throw new a(`Invalid \`serverApi\` property; must specify a version from the following enum: ["${A.join('", "')}"]`)}if(!A.some((e=>e===r))){throw new a(`Invalid server API version=${r}; must be in the following enum: ["${A.join('", "')}"]`)}t.serverApi=e}this.s={url:e,options:t,promiseLibrary:t&&t.promiseLibrary||Promise,dbCache:new Map,sessions:new Set,writeConcern:l.fromOptions(t),readPreference:h.fromOptions(t)||h.primary,namespace:new u("admin")}}i(MongoClient,s);Object.defineProperty(MongoClient.prototype,"writeConcern",{enumerable:true,get:function(){return this.s.writeConcern}});Object.defineProperty(MongoClient.prototype,"readPreference",{enumerable:true,get:function(){return this.s.readPreference}});MongoClient.prototype.connect=function(e){if(typeof e==="string"){throw new TypeError("`connect` only accepts a callback")}const t=this;return d(this,e,(e=>{const r=E(t.s.options);if(r)return e(r);p(t,t.s.url,t.s.options,(r=>{if(r)return e(r);e(null,t)}))}))};MongoClient.prototype.logout=c((function(e,t){if(typeof e==="function")t=e,e={};if(typeof t==="function")t(null,true)}),"Multiple authentication is prohibited on a connected client, please only authenticate once per MongoClient");MongoClient.prototype.close=function(e,t){if(typeof e==="function"){t=e;e=false}const r=this;return d(this,t,(t=>{const completeClose=e=>{r.emit("close",r);if(!(r.topology instanceof g)){for(const e of r.s.dbCache){e[1].emit("close",r)}}r.removeAllListeners("close");t(e)};if(r.topology==null){completeClose();return}r.topology.close(e,(t=>{const n=r.topology.s.options.encrypter;if(n){return n.close(r,e,(e=>{completeClose(t||e)}))}completeClose(t)}))}))};MongoClient.prototype.db=function(e,t){t=t||{};if(!e){e=this.s.options.dbName}const r=Object.assign({},this.s.options,t);if(this.s.dbCache.has(e)&&r.returnNonCachedInstance!==true){return this.s.dbCache.get(e)}r.promiseLibrary=this.s.promiseLibrary;if(!this.topology){throw new a("MongoClient must be connected before calling MongoClient.prototype.db")}const n=new o(e,this.topology,r);this.s.dbCache.set(e,n);return n};MongoClient.prototype.isConnected=c((function(e){e=e||{};if(!this.topology)return false;return this.topology.isConnected(e)}),"isConnected is deprecated and will be removed in the next major version");MongoClient.connect=function(e,t,r){const n=Array.prototype.slice.call(arguments,1);r=typeof n[n.length-1]==="function"?n.pop():undefined;t=n.length?n.shift():null;t=t||{};const o=new MongoClient(e,t);return o.connect(r)};MongoClient.prototype.startSession=function(e){e=Object.assign({explicit:true},e);if(!this.topology){throw new a("Must connect to a server before calling this method")}return this.topology.startSession(e,this.s.options)};MongoClient.prototype.withSession=function(e,t){if(typeof e==="function")t=e,e=undefined;const r=this.startSession(e);let cleanupHandler=(e,t,n)=>{cleanupHandler=()=>{throw new ReferenceError("cleanupHandler was called too many times")};n=Object.assign({throw:true},n);r.endSession();if(e){if(n.throw)throw e;return Promise.reject(e)}};try{const e=t(r);return Promise.resolve(e).then((e=>cleanupHandler(null,e))).catch((e=>cleanupHandler(e,null,{throw:true})))}catch(e){return cleanupHandler(e,null,{throw:false})}};MongoClient.prototype.watch=function(e,t){e=e||[];t=t||{};if(!Array.isArray(e)){t=e;e=[]}return new n(this,e,t)};MongoClient.prototype.getLogger=function(){return this.s.options.logger};e.exports=MongoClient},7057:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(499);const s=r(1018).defineAspects;const i=r(6113);const a=r(1371).handleCallback;const A=r(1371).toError;const c=r(1371).emitWarning;class AddUserOperation extends o{constructor(e,t,r,n){super(e,n);this.username=t;this.password=r}_buildCommand(){const e=this.db;const t=this.username;const r=this.password;const n=this.options;let o=[];if(Array.isArray(n.roles))o=n.roles;if(typeof n.roles==="string")o=[n.roles];if(o.length===0){c("Creating a user without roles is deprecated in MongoDB >= 2.6")}if((e.databaseName.toLowerCase()==="admin"||n.dbName==="admin")&&!Array.isArray(n.roles)){o=["root"]}else if(!Array.isArray(n.roles)){o=["dbOwner"]}const s=e.s.topology.lastIsMaster().maxWireVersion>=7;let a=r;if(!s){const e=i.createHash("md5");e.update(t+":mongo:"+r);a=e.digest("hex")}const A={createUser:t,customData:n.customData||{},roles:o,digestPassword:s};if(typeof r==="string"){A.pwd=a}return A}execute(e){const t=this.options;if(t.digestPassword!=null){return e(A("The digestPassword option is not supported via add_user. Please use db.command('createUser', ...) instead for this option."))}super.execute(((t,r)=>{if(!t){return a(e,t,r)}return a(e,t,null)}))}}s(AddUserOperation,n.WRITE_OPERATION);e.exports=AddUserOperation},1554:(e,t,r)=>{"use strict";const n=r(1189);const o=r(3994).MongoError;const s=r(1178).maxWireVersion;const i=r(3994).ReadPreference;const a=r(1018).Aspect;const A=r(1018).defineAspects;const c=1;const l=8;class AggregateOperation extends n{constructor(e,t,r){super(e,r,{fullResponse:true});this.target=e.s.namespace&&e.s.namespace.collection?e.s.namespace.collection:c;this.pipeline=t;this.hasWriteStage=false;if(typeof r.out==="string"){this.pipeline=this.pipeline.concat({$out:r.out});this.hasWriteStage=true}else if(t.length>0){const e=t[t.length-1];if(e.$out||e.$merge){this.hasWriteStage=true}}if(this.hasWriteStage){this.readPreference=i.primary}if(this.explain&&this.writeConcern){throw new o('"explain" cannot be used on an aggregate call with writeConcern')}if(r.cursor!=null&&typeof r.cursor!=="object"){throw new o("cursor options must be an object")}}get canRetryRead(){return!this.hasWriteStage}addToPipeline(e){this.pipeline.push(e)}execute(e,t){const r=this.options;const n=s(e);const o={aggregate:this.target,pipeline:this.pipeline};if(this.hasWriteStage&&n=5){if(this.hasWriteStage&&this.writeConcern){Object.assign(o,{writeConcern:this.writeConcern})}}if(r.bypassDocumentValidation===true){o.bypassDocumentValidation=r.bypassDocumentValidation}if(typeof r.allowDiskUse==="boolean"){o.allowDiskUse=r.allowDiskUse}if(r.hint){o.hint=r.hint}if(this.explain){r.full=false}o.cursor=r.cursor||{};if(r.batchSize&&!this.hasWriteStage){o.cursor.batchSize=r.batchSize}super.executeCommand(e,o,t)}}A(AggregateOperation,[a.READ_OPERATION,a.RETRYABLE,a.EXECUTE_WITH_SELECTION,a.EXPLAINABLE]);e.exports=AggregateOperation},6976:(e,t,r)=>{"use strict";const n=r(1371).applyRetryableWrites;const o=r(1371).applyWriteConcern;const s=r(3994).MongoError;const i=r(1018).OperationBase;class BulkWriteOperation extends i{constructor(e,t,r){super(r);this.collection=e;this.operations=t}execute(e){const t=this.collection;const r=this.operations;let i=this.options;if(t.s.options.ignoreUndefined){i=Object.assign({},i);i.ignoreUndefined=t.s.options.ignoreUndefined}const a=i.ordered===true||i.ordered==null?t.initializeOrderedBulkOp(i):t.initializeUnorderedBulkOp(i);let A=false;try{for(let e=0;e{if(!r&&t){return e(t,null)}e(null,r)}))}}e.exports=BulkWriteOperation},6716:(e,t,r)=>{"use strict";const n=r(1371).applyWriteConcern;const o=r(3994).BSON.Code;const s=r(2226).createIndex;const i=r(1371).decorateWithCollation;const a=r(1371).decorateWithReadConcern;const A=r(2226).ensureIndex;const c=r(2226).evaluate;const l=r(2226).executeCommand;const u=r(1371).handleCallback;const h=r(2226).indexInformation;const d=r(3994).BSON.Long;const g=r(3994).MongoError;const p=r(3994).ReadPreference;const E=r(2296).insertDocuments;const m=r(2296).updateDocuments;const C='function () {\nvar c = db[ns].find(condition);\nvar map = new Map();\nvar reduce_function = reduce;\n\nwhile (c.hasNext()) {\nvar obj = c.next();\nvar key = {};\n\nfor (var i = 0, len = keys.length; i < len; ++i) {\nvar k = keys[i];\nkey[k] = obj[k];\n}\n\nvar aggObj = map.get(key);\n\nif (aggObj == null) {\nvar newObj = Object.extend({}, key);\naggObj = Object.extend(newObj, initial);\nmap.put(key, aggObj);\n}\n\nreduce_function(obj, aggObj);\n}\n\nreturn { "result": map.values() };\n}';function createIndex(e,t,r,n){s(e.s.db,e.collectionName,t,r,n)}function createIndexes(e,t,r,n){const o=e.s.topology.capabilities();for(let e=0;e{e[t]=1}));h.group.key=e}d=Object.assign({},d);d.readPreference=p.resolve(e,d);a(h,e,d);try{i(h,e,d)}catch(e){return g(e,null)}l(e.s.db,h,d,((e,t)=>{if(e)return u(g,e,null);u(g,null,t.retval)}))}else{const i=s!=null&&s._bsontype==="Code"?s.scope:{};i.ns=e.collectionName;i.keys=t;i.condition=r;i.initial=n;const a=C.replace(/ reduce;/,s.toString()+";");c(e.s.db,new o(a,i),null,d,((e,t)=>{if(e)return u(g,e,null);u(g,null,t.result||t)}))}}function indexes(e,t,r){t=Object.assign({},{full:true},t);h(e.s.db,e.collectionName,t,r)}function indexExists(e,t,r,n){indexInformation(e,r,((e,r)=>{if(e!=null)return u(n,e,null);if(!Array.isArray(t))return u(n,null,r[t]!=null);for(let e=0;e{if(n)return u(r,n,null);if(s==null)return u(r,new Error("no result returned for parallelCollectionScan"),null);t=Object.assign({explicitlyIgnoreSession:true},t);const i=[];if(o)t.raw=o;for(let r=0;r{if(o==null)return;if(t==null)return u(o,null,null);if(e)return u(o,e,null);u(o,null,r)}))}e.exports={createIndex:createIndex,createIndexes:createIndexes,ensureIndex:ensureIndex,group:group,indexes:indexes,indexExists:indexExists,indexInformation:indexInformation,parallelCollectionScan:parallelCollectionScan,save:save}},286:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).handleCallback;let s;function loadCollection(){if(!s){s=r(5193)}return s}class CollectionsOperation extends n{constructor(e,t){super(t);this.db=e}execute(e){const t=this.db;let r=this.options;let n=loadCollection();r=Object.assign({},r,{nameOnly:true});t.listCollections({},r).toArray(((r,s)=>{if(r!=null)return o(e,r,null);s=s.filter((e=>e.name.indexOf("$")===-1));o(e,null,s.map((e=>new n(t,t.s.topology,t.databaseName,e.name,t.s.pkFactory,t.s.options))))}))}}e.exports=CollectionsOperation},499:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).OperationBase;const s=r(1371).applyWriteConcern;const i=r(1371).debugOptions;const a=r(1371).handleCallback;const A=r(3994).MongoError;const c=r(3994).ReadPreference;const l=r(1371).MongoDBNamespace;const u=r(7703).extractCommand;const h=["authSource","w","wtimeout","j","native_parser","forceServerObjectId","serializeFunctions","raw","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","bufferMaxEntries","numberOfRetries","retryMiliSeconds","readPreference","pkFactory","parentDb","promiseLibrary","noListener"];class CommandOperation extends o{constructor(e,t,r,o){super(t);if(!this.hasAspect(n.WRITE_OPERATION)){if(r!=null){this.options.readPreference=c.resolve(r,t)}else{this.options.readPreference=c.resolve(e,t)}}else{if(r!=null){s(this.options,{db:e,coll:r},this.options)}else{s(this.options,{db:e},this.options)}this.options.readPreference=c.primary}this.db=e;if(o!=null){this.command=o}if(r!=null){this.collection=r}}_buildCommand(){if(this.command!=null){return this.command}}execute(e){const t=this.db;const r=Object.assign({},this.options);if(t.serverConfig&&t.serverConfig.isDestroyed()){return e(new A("topology was destroyed"))}let o;try{o=this._buildCommand()}catch(t){return e(t)}const s=r.dbName||r.authdb||t.databaseName;if(this.hasAspect(n.WRITE_OPERATION)){if(r.writeConcern&&(!r.session||!r.session.inTransaction())){o.writeConcern=r.writeConcern}}if(t.s.logger.isDebug()){const e=u(o);t.s.logger.debug(`executing command ${JSON.stringify(e.shouldRedact?`${e.name} details REDACTED`:o)} against ${s}.$cmd with options [${JSON.stringify(i(h,r))}]`)}const c=this.namespace!=null?this.namespace:new l(s,"$cmd");t.s.topology.command(c,o,r,((t,n)=>{if(t)return a(e,t);if(r.full)return a(e,null,n);a(e,null,n.result)}))}}e.exports=CommandOperation},1189:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).OperationBase;const s=r(3994).ReadPreference;const i=r(7289);const a=r(2481);const A=r(1178).maxWireVersion;const c=r(1371).decorateWithExplain;const l=r(5474).commandSupportsReadConcern;const u=r(3111).MongoError;const h=r(7703).extractCommand;const d=5;class CommandOperationV2 extends o{constructor(e,t,r){super(t);this.ns=e.s.namespace.withCollection("$cmd");const o=this.hasAspect(n.NO_INHERIT_OPTIONS)?undefined:e;this.readPreference=this.hasAspect(n.WRITE_OPERATION)?s.primary:s.resolve(o,this.options);this.readConcern=resolveReadConcern(o,this.options);this.writeConcern=resolveWriteConcern(o,this.options);if(r&&typeof r.fullResponse==="boolean"){this.fullResponse=true}this.options.readPreference=this.readPreference;if(e.s.logger){this.logger=e.s.logger}else if(e.s.db&&e.s.db.logger){this.logger=e.s.db.logger}}executeCommand(e,t,r){this.server=e;const o=this.options;const s=A(e);const i=this.session&&this.session.inTransaction();if(this.readConcern&&l(t)&&!i){Object.assign(t,{readConcern:this.readConcern})}if(o.collation&&s=d){if(this.writeConcern&&this.hasAspect(n.WRITE_OPERATION)){Object.assign(t,{writeConcern:this.writeConcern})}if(o.collation&&typeof o.collation==="object"){Object.assign(t,{collation:o.collation})}}if(typeof o.maxTimeMS==="number"){t.maxTimeMS=o.maxTimeMS}if(typeof o.comment==="string"){t.comment=o.comment}if(this.hasAspect(n.EXPLAINABLE)&&this.explain){if(s<6&&t.aggregate){t.explain=true}else{t=c(t,this.explain)}}if(this.logger&&this.logger.isDebug()){const e=h(t);this.logger.debug(`executing command ${JSON.stringify(e.shouldRedact?`${e.name} details REDACTED`:t)} against ${this.ns}`)}e.command(this.ns.toString(),t,this.options,((e,t)=>{if(e){r(e,null);return}if(this.fullResponse){r(null,t);return}r(null,t.result)}))}}function resolveWriteConcern(e,t){return a.fromOptions(t)||e&&e.writeConcern}function resolveReadConcern(e,t){return i.fromOptions(t)||e&&e.readConcern}e.exports=CommandOperationV2},2296:(e,t,r)=>{"use strict";const n=r(1371).applyRetryableWrites;const o=r(1371).applyWriteConcern;const s=r(1371).decorateWithCollation;const i=r(1371).decorateWithReadConcern;const a=r(2226).executeCommand;const A=r(1371).formattedOrderClause;const c=r(1371).handleCallback;const l=r(3994).MongoError;const u=r(3994).ReadPreference;const h=r(1371).toError;const d=r(4847).CursorState;const g=r(1178).maxWireVersion;function buildCountCommand(e,t,r){const n=r.skip;const o=r.limit;let a=r.hint;const A=r.maxTimeMS;t=t||{};const c={count:r.collectionName,query:t};if(e.s.numberOfRetries){if(e.options.hint){a=e.options.hint}else if(e.cmd.hint){a=e.cmd.hint}s(c,e,e.cmd)}else{s(c,e,r)}if(typeof n==="number")c.skip=n;if(typeof o==="number")c.limit=o;if(typeof A==="number")c.maxTimeMS=A;if(a)c.hint=a;i(c,e);return c}function findAndModify(e,t,r,i,l,h){const d={findAndModify:e.collectionName,query:t};r=A(r);if(r){d.sort=r}d.new=l.new?true:false;d.remove=l.remove?true:false;d.upsert=l.upsert?true:false;const g=l.projection||l.fields;if(g){d.fields=g}if(l.arrayFilters){d.arrayFilters=l.arrayFilters;delete l.arrayFilters}if(i&&!l.remove){d.update=i}if(l.maxTimeMS)d.maxTimeMS=l.maxTimeMS;l.serializeFunctions=l.serializeFunctions||e.s.serializeFunctions;l.checkKeys=false;let p=Object.assign({},l);p=n(p,e.s.db);p=o(p,{db:e.s.db,collection:e},l);if(p.writeConcern){d.writeConcern=p.writeConcern}if(p.bypassDocumentValidation===true){d.bypassDocumentValidation=p.bypassDocumentValidation}p.readPreference=u.primary;try{s(d,e,p)}catch(e){return h(e,null)}a(e.s.db,d,p,((e,t)=>{if(e)return c(h,e,null);return c(h,null,t)}))}function indexInformation(e,t,r,n){const o=r["full"]==null?false:r["full"];if(e.serverConfig&&e.serverConfig.isDestroyed())return n(new l("topology was destroyed"));function processResults(e){let t={};for(let r=0;r{if(e)return n(h(e));if(!Array.isArray(t))return c(n,null,[]);if(o)return c(n,null,t);c(n,null,processResults(t))}))}function prepareDocs(e,t,r){const n=typeof r.forceServerObjectId==="boolean"?r.forceServerObjectId:e.s.db.options.forceServerObjectId;if(n===true){return t}return t.map((t=>{if(n!==true&&t._id==null){t._id=e.s.pkFactory.createPk()}return t}))}function nextObject(e,t){if(e.s.state===d.CLOSED||e.isDead&&e.isDead()){return c(t,l.create({message:"Cursor is closed",driver:true}))}if(e.s.state===d.INIT&&e.cmd&&e.cmd.sort){try{e.cmd.sort=A(e.cmd.sort)}catch(e){return c(t,e)}}e._next(((r,n)=>{e.s.state=d.OPEN;if(r)return c(t,r);c(t,null,n)}))}function insertDocuments(e,t,r,s){if(typeof r==="function")s=r,r={};r=r||{};t=Array.isArray(t)?t:[t];let i=Object.assign({},r);i=n(i,e.s.db);i=o(i,{db:e.s.db,collection:e},r);if(i.keepGoing===true)i.ordered=false;i.serializeFunctions=r.serializeFunctions||e.s.serializeFunctions;t=prepareDocs(e,t,r);e.s.topology.insert(e.s.namespace,t,i,((e,r)=>{if(s==null)return;if(e)return c(s,e);if(r==null)return c(s,null,null);if(r.result.code)return c(s,h(r.result));if(r.result.writeErrors)return c(s,h(r.result.writeErrors[0]));r.ops=t;c(s,null,r)}))}function removeDocuments(e,t,r,i){if(typeof r==="function"){i=r,r={}}else if(typeof t==="function"){i=t;r={};t={}}r=r||{};let a=Object.assign({},r);a=n(a,e.s.db);a=o(a,{db:e.s.db,collection:e},r);if(t==null)t={};const A={q:t,limit:0};if(r.single){A.limit=1}else if(a.retryWrites){a.retryWrites=false}if(r.hint){A.hint=r.hint}try{s(a,e,r)}catch(e){return i(e,null)}if(r.explain!==undefined&&g(e.s.topology)<3){return i?i(new l(`server does not support explain on remove`)):undefined}e.s.topology.remove(e.s.namespace,[A],a,((e,t)=>{if(i==null)return;if(e)return c(i,e,null);if(t==null)return c(i,null,null);if(t.result.code)return c(i,h(t.result));if(t.result.writeErrors){return c(i,h(t.result.writeErrors[0]))}c(i,null,t)}))}function updateDocuments(e,t,r,i,a){if("function"===typeof i)a=i,i=null;if(i==null)i={};if(!("function"===typeof a))a=null;if(t==null||typeof t!=="object")return a(h("selector must be a valid JavaScript object"));if(r==null||typeof r!=="object")return a(h("document must be a valid JavaScript object"));let A=Object.assign({},i);A=n(A,e.s.db);A=o(A,{db:e.s.db,collection:e},i);A.serializeFunctions=i.serializeFunctions||e.s.serializeFunctions;const u={q:t,u:r};u.upsert=i.upsert!==void 0?!!i.upsert:false;u.multi=i.multi!==void 0?!!i.multi:false;if(i.hint){u.hint=i.hint}if(A.arrayFilters){u.arrayFilters=A.arrayFilters;delete A.arrayFilters}if(A.retryWrites&&u.multi){A.retryWrites=false}try{s(A,e,i)}catch(e){return a(e,null)}if(i.explain!==undefined&&g(e.s.topology)<3){return a?a(new l(`server does not support explain on update`)):undefined}e.s.topology.update(e.s.namespace,[u],A,((e,t)=>{if(a==null)return;if(e)return c(a,e,null);if(t==null)return c(a,null,null);if(t.result.code)return c(a,h(t.result));if(t.result.writeErrors)return c(a,h(t.result.writeErrors[0]));c(a,null,t)}))}e.exports={buildCountCommand:buildCountCommand,findAndModify:findAndModify,indexInformation:indexInformation,nextObject:nextObject,prepareDocs:prepareDocs,insertDocuments:insertDocuments,removeDocuments:removeDocuments,updateDocuments:updateDocuments}},5210:(e,t,r)=>{"use strict";const n=r(3837).deprecate;const o=r(3994).Logger;const s=r(3994).MongoCredentials;const i=r(3994).MongoError;const a=r(2048);const A=r(2632);const c=r(3994).parseConnectionString;const l=r(7289);const u=r(3994).ReadPreference;const h=r(382);const d=r(8421);const g=r(3994).Sessions.ServerSessionPool;const p=r(1371).emitDeprecationWarning;const E=r(1371).emitWarningOnce;const m=r(7147);const C=r(2481);const I=r(897).CMAP_EVENT_NAMES;let y;function loadClient(){if(!y){y=r(1545)}return y}const B=n(r(8729),"current URL string parser is deprecated, and will be removed in a future version. "+"To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.");const Q={DEFAULT:"default",PLAIN:"plain",GSSAPI:"gssapi","MONGODB-CR":"mongocr","MONGODB-X509":"x509","MONGODB-AWS":"mongodb-aws","SCRAM-SHA-1":"scram-sha-1","SCRAM-SHA-256":"scram-sha-256"};const b=["timeout","close","serverOpening","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","serverClosed","topologyOpening","topologyClosed","topologyDescriptionChanged","commandStarted","commandSucceeded","commandFailed","joined","left","ping","ha","all","fullsetup","open"];const w=new Set(["DEFAULT","PLAIN","GSSAPI","MONGODB-CR","MONGODB-X509","MONGODB-AWS","SCRAM-SHA-1","SCRAM-SHA-256"]);const S=["poolSize","ssl","sslValidate","sslCA","sslCert","sslKey","sslPass","sslCRL","autoReconnect","noDelay","keepAlive","keepAliveInitialDelay","connectTimeoutMS","family","socketTimeoutMS","reconnectTries","reconnectInterval","ha","haInterval","replicaSet","secondaryAcceptableLatencyMS","acceptableLatencyMS","connectWithNoPrimary","authSource","w","wtimeout","j","writeConcern","forceServerObjectId","serializeFunctions","ignoreUndefined","raw","bufferMaxEntries","readPreference","pkFactory","promiseLibrary","readConcern","maxStalenessSeconds","loggerLevel","logger","promoteValues","promoteBuffers","promoteLongs","bsonRegExp","domainsEnabled","checkServerIdentity","validateOptions","appname","auth","user","password","authMechanism","compression","fsync","readPreferenceTags","numberOfRetries","auto_reconnect","minSize","monitorCommands","serverApi","retryWrites","retryReads","useNewUrlParser","useUnifiedTopology","serverSelectionTimeoutMS","useRecoveryToken","autoEncryption","driverInfo","tls","tlsInsecure","tlsinsecure","tlsAllowInvalidCertificates","tlsAllowInvalidHostnames","tlsCAFile","tlsCertificateFile","tlsCertificateKeyFile","tlsCertificateKeyFilePassword","minHeartbeatFrequencyMS","heartbeatFrequencyMS","directConnection","appName","maxPoolSize","minPoolSize","maxIdleTimeMS","waitQueueTimeoutMS"];const v=["native_parser"];const R=["server","replset","replSet","mongos","db"];function validOptions(e){const t=S.concat(R);for(const r in e){if(v.indexOf(r)!==-1){continue}if(t.indexOf(r)===-1){if(e.validateOptions){return new i(`option ${r} is not supported`)}else{E(`the options [${r}] is not supported`)}}if(R.indexOf(r)!==-1){E(`the server/replset/mongos/db options are deprecated, `+`all their options are supported at the top level of the options object [${S}]`)}}}const k=S.reduce(((e,t)=>{e[t.toLowerCase()]=t;return e}),{});function addListeners(e,t){t.on("authenticated",createListener(e,"authenticated"));t.on("error",createListener(e,"error"));t.on("timeout",createListener(e,"timeout"));t.on("close",createListener(e,"close"));t.on("parseError",createListener(e,"parseError"));t.once("open",createListener(e,"open"));t.once("fullsetup",createListener(e,"fullsetup"));t.once("all",createListener(e,"all"));t.on("reconnect",createListener(e,"reconnect"))}function assignTopology(e,t){e.topology=t;if(!(t instanceof A)){t.s.sessionPool=new g(t.s.coreTopology)}}function clearAllEvents(e){b.forEach((t=>e.removeAllListeners(t)))}function collectEvents(e,t){let r=loadClient();const n=[];if(e instanceof r){b.forEach((r=>{t.on(r,((t,o)=>{if(r==="open"){n.push({event:r,object1:e})}else{n.push({event:r,object1:t,object2:o})}}))}))}return n}function resolveTLSOptions(e){if(e.tls==null){return}["sslCA","sslKey","sslCert"].forEach((t=>{if(e[t]){e[t]=m.readFileSync(e[t])}}))}function connect(e,t,r,n){r=Object.assign({},r);if(n==null){throw new Error("no callback function provided")}let s=false;const A=o("MongoClient",r);if(t instanceof d||t instanceof h||t instanceof a){return connectWithUrl(e,t,r,connectCallback)}const l=r.useNewUrlParser!==false;const g=l?c:B;const p=l?transformUrlOptions:legacyTransformUrlOptions;g(t,r,((t,o)=>{if(t)return n(t);const i=p(o);const a=createUnifiedOptions(i,r);if(a.socketTimeoutMS==null)a.socketTimeoutMS=0;if(a.connectTimeoutMS==null)a.connectTimeoutMS=1e4;if(a.retryWrites==null)a.retryWrites=true;if(a.useRecoveryToken==null)a.useRecoveryToken=true;if(a.readPreference==null)a.readPreference="primary";if(a.db_options&&a.db_options.auth){delete a.db_options.auth}resolveTLSOptions(a);e.s.options=a;e.s.readPreference=u.fromOptions(a);e.s.writeConcern=C.fromOptions(a);if(i.servers.length===0){return n(new Error("connection string must contain at least one seed host"))}if(a.auth&&!a.credentials){try{s=true;a.credentials=generateCredentials(e,a.auth.user,a.auth.password,a)}catch(t){return n(t)}}if(a.useUnifiedTopology){return createTopology(e,"unified",a,connectCallback)}E("Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.");if(a.replicaSet||a.rs_name){return createTopology(e,"replicaset",a,connectCallback)}else if(i.servers.length>1){return createTopology(e,"mongos",a,connectCallback)}else{return createServer(e,a,connectCallback)}}));function connectCallback(t,r){const o=`seed list contains no mongos proxies, replicaset connections requires the parameter replicaSet to be supplied in the URI or options object, mongodb://server:port/db?replicaSet=name`;if(t&&t.message==="no mongos proxies found in seed list"){if(A.isWarn()){A.warn(o)}return n(new i(o))}if(s){e.emit("authenticated",null,true)}n(t,r)}}function connectWithUrl(e,t,r,n){assignTopology(e,t);addListeners(e,t);relayEvents(e,t);let o=Object.assign({},r);if(typeof r.readPreference==="string"||typeof r.read_preference==="string"){o.readPreference=new u(r.readPreference||r.read_preference)}const s=o.user||o.password||o.authMechanism;if(s&&!o.credentials){try{o.credentials=generateCredentials(e,o.user,o.password,o)}catch(e){return n(e,t)}}return t.connect(o,n)}function createListener(e,t){const r=new Set(["all","fullsetup","open","reconnect"]);return(n,o)=>{if(r.has(t)){return e.emit(t,e)}e.emit(t,n,o)}}function createServer(e,t,r){t.promiseLibrary=e.s.promiseLibrary;const n=translateOptions(t);const o=n[0];const s=collectEvents(e,o);o.connect(t,((n,i)=>{if(n){o.close(true);return r(n)}clearAllEvents(o);relayEvents(e,o);addListeners(e,o);const a=i.lastIsMaster();assignTopology(e,i);if(a&&a.msg==="isdbgrid"){i.close();return createTopology(e,"mongos",t,r)}replayEvents(e,s);r(n,i)}))}const D=new Set(["reconnect","reconnectFailed","attemptReconnect","joined","left","ping","ha","all","fullsetup","open"]);function registerDeprecatedEventNotifiers(e){e.on("newListener",(e=>{if(D.has(e)){p(`The \`${e}\` event is no longer supported by the unified topology, please read more by visiting http://bit.ly/2D8WfT6`,"DeprecationWarning")}}))}function createTopology(e,t,n,o){n.promiseLibrary=e.s.promiseLibrary;const s={};if(t==="unified")s.createServers=false;const i=translateOptions(n,s);if(n.autoEncryption!=null){const t=r(3012).Encrypter;n.encrypter=new t(e,n);n.autoEncrypter=n.encrypter.autoEncrypter}let c;if(t==="mongos"){c=new a(i,n)}else if(t==="replicaset"){c=new h(i,n)}else if(t==="unified"){c=new A(n.servers,n);registerDeprecatedEventNotifiers(e)}addListeners(e,c);relayEvents(e,c);assignTopology(e,c);if(n.autoEncrypter){n.autoEncrypter.init((e=>{if(e){o(e);return}c.connect(n,(e=>{if(e){c.close(true);o(e);return}n.encrypter.connectInternalClient((e=>{if(e)return o(e);o(undefined,c)}))}))}));return}c.connect(n,(e=>{if(e){c.close(true);return o(e)}o(undefined,c);return}))}function createUnifiedOptions(e,t){const r=["mongos","server","db","replset","db_options","server_options","rs_options","mongos_options"];const n=["readconcern","compression","autoencryption"];const o=["w","wtimeout","j","journal","fsync","writeconcern"];for(const s in t){if(o.indexOf(s.toLowerCase())!==-1){continue}else if(n.indexOf(s.toLowerCase())!==-1){e[s]=t[s]}else if(r.indexOf(s.toLowerCase())!==-1){e=mergeOptions(e,t[s],false)}else{if(t[s]&&typeof t[s]==="object"&&!Buffer.isBuffer(t[s])&&!Array.isArray(t[s])){e=mergeOptions(e,t[s],true)}else{e[s]=t[s]}}}const s=C.fromOptions(t);if(s){e.writeConcern=Object.assign({},e.writeConcern,s)}return e}function generateCredentials(e,t,r,n){n=Object.assign({},n);const o=n.authSource||n.authdb||n.dbName;const a=n.authMechanism||"DEFAULT";const A=a.toUpperCase();const c=n.authMechanismProperties;if(!w.has(A)){throw i.create({message:`authentication mechanism ${a} not supported', options.authMechanism`,driver:true})}return new s({mechanism:Q[A],mechanismProperties:c,source:o,username:t,password:r})}function legacyTransformUrlOptions(e){return mergeOptions(createUnifiedOptions({},e),e,false)}function mergeOptions(e,t,r){for(const n in t){if(t[n]&&typeof t[n]==="object"&&r){e=mergeOptions(e,t[n],r)}else{e[n]=t[n]}}return e}function relayEvents(e,t){const r=["commandStarted","commandSucceeded","commandFailed","serverOpening","serverClosed","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","topologyOpening","topologyClosed","topologyDescriptionChanged","joined","left","ping","ha"].concat(I);r.forEach((r=>{t.on(r,((t,n)=>{e.emit(r,t,n)}))}))}function replayEvents(e,t){for(let r=0;rt.domain_socket?new d(t.domain_socket,27017,e):new d(t.host,t.port,e)))}e.exports={validOptions:validOptions,connect:connect}},7885:(e,t,r)=>{"use strict";const n=r(2296).buildCountCommand;const o=r(1018).OperationBase;class CountOperation extends o{constructor(e,t,r){super(r);this.cursor=e;this.applySkipLimit=t}execute(e){const t=this.cursor;const r=this.applySkipLimit;const o=this.options;if(r){if(typeof t.cursorSkip()==="number")o.skip=t.cursorSkip();if(typeof t.cursorLimit()==="number")o.limit=t.cursorLimit()}if(o.readPreference){t.setReadPreference(o.readPreference)}if(typeof o.maxTimeMS!=="number"&&t.cmd&&typeof t.cmd.maxTimeMS==="number"){o.maxTimeMS=t.cmd.maxTimeMS}let s={};s.skip=o.skip;s.limit=o.limit;s.hint=o.hint;s.maxTimeMS=o.maxTimeMS;s.collectionName=t.namespace.collection;let i;try{i=n(t,t.cmd.query,s)}catch(t){return e(t)}t.server=t.topology.s.coreTopology;t.topology.command(t.namespace.withCollection("$cmd"),i,t.options,((t,r)=>{e(t,r?r.result.n:null)}))}}e.exports=CountOperation},5131:(e,t,r)=>{"use strict";const n=r(1554);class CountDocumentsOperation extends n{constructor(e,t,r){const n=[{$match:t}];if(typeof r.skip==="number"){n.push({$skip:r.skip})}if(typeof r.limit==="number"){n.push({$limit:r.limit})}n.push({$group:{_id:1,n:{$sum:1}}});super(e,n,r)}execute(e,t){super.execute(e,((e,r)=>{if(e){t(e,null);return}const n=r.result;if(n.cursor==null||n.cursor.firstBatch==null){t(null,0);return}const o=n.cursor.firstBatch;t(null,o.length?o[0].n:0)}))}}e.exports=CountDocumentsOperation},5561:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(499);const i=r(1371).applyWriteConcern;const a=r(8275).loadCollection;const A=r(3994).MongoError;const c=r(3994).ReadPreference;const l=new Set(["w","wtimeout","j","fsync","autoIndexId","strict","serializeFunctions","pkFactory","raw","readPreference","session","readConcern","writeConcern"]);class CreateCollectionOperation extends s{constructor(e,t,r){super(e,r);this.name=t}_buildCommand(){const e=this.name;const t=this.options;const r={create:e};for(let e in t){if(t[e]!=null&&typeof t[e]!=="function"&&!l.has(e)){r[e]=t[e]}}return r}execute(e){const t=this.db;const r=this.name;const n=this.options;const o=a();let s=Object.assign({nameOnly:true,strict:false},n);s=i(s,{db:t},s);function done(s){if(s){return e(s)}try{e(null,new o(t,t.s.topology,t.databaseName,r,t.s.pkFactory,n))}catch(s){e(s)}}const l=s.strict;if(l){t.listCollections({name:r},s).setReadPreference(c.PRIMARY).toArray(((t,n)=>{if(t){return e(t)}if(n.length>0){return e(new A(`Collection ${r} already exists. Currently in strict mode.`))}super.execute(done)}));return}super.execute(done)}}o(CreateCollectionOperation,n.WRITE_OPERATION);e.exports=CreateCollectionOperation},6394:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(1189);const i=r(3994).MongoError;const a=r(1371).parseIndexOptions;const A=r(1178).maxWireVersion;const c=new Set(["background","unique","name","partialFilterExpression","sparse","expireAfterSeconds","storageEngine","collation","weights","default_language","language_override","textIndexVersion","2dsphereIndexVersion","bits","min","max","bucketSize","wildcardProjection"]);class CreateIndexesOperation extends s{constructor(e,t,r,n){super(e,n);this.collection=t;if(!Array.isArray(r)||Array.isArray(r[0])){this.onlyReturnNameOfCreatedIndex=true;const e=a(r);const t=typeof n.name==="string"?n.name:e.name;const o={name:t,key:e.fieldHash};for(let e in n){if(c.has(e)){o[e]=n[e]}}this.indexes=[o];return}this.indexes=r}execute(e,t){const r=this.options;const n=this.indexes;const o=A(e);for(let r=0;r{if(e){t(e);return}t(null,this.onlyReturnNameOfCreatedIndex?n[0].name:r)}))}}o(CreateIndexesOperation,[n.WRITE_OPERATION,n.EXECUTE_WITH_SELECTION]);e.exports=CreateIndexesOperation},3554:(e,t,r)=>{"use strict";const n=r(6716).buildCountCommand;const o=r(1371).handleCallback;const s=r(3994).MongoError;const i=Array.prototype.push;const a=r(4847).CursorState;function count(e,t,r,o){if(t){if(typeof e.cursorSkip()==="number")r.skip=e.cursorSkip();if(typeof e.cursorLimit()==="number")r.limit=e.cursorLimit()}if(r.readPreference){e.setReadPreference(r.readPreference)}if(typeof r.maxTimeMS!=="number"&&e.cmd&&typeof e.cmd.maxTimeMS==="number"){r.maxTimeMS=e.cmd.maxTimeMS}let s={};s.skip=r.skip;s.limit=r.limit;s.hint=r.hint;s.maxTimeMS=r.maxTimeMS;s.collectionName=e.namespace.collection;let i;try{i=n(e,e.cmd.query,s)}catch(e){return o(e)}e.server=e.topology.s.coreTopology;e.topology.command(e.namespace.withCollection("$cmd"),i,e.options,((e,t)=>{o(e,t?t.result.n:null)}))}function each(e,t){if(!t)throw s.create({message:"callback is mandatory",driver:true});if(e.isNotified())return;if(e.s.state===a.CLOSED||e.isDead()){return o(t,s.create({message:"Cursor is closed",driver:true}))}if(e.s.state===a.INIT){e.s.state=a.OPEN}let r=null;if(e.bufferedCount()>0){while(r=loop(e,t))r(e,t);each(e,t)}else{e.next(((r,n)=>{if(r)return o(t,r);if(n==null){return e.close({skipKillCursors:true},(()=>o(t,null,null)))}if(o(t,null,n)===false)return;each(e,t)}))}}function loop(e,t){if(e.bufferedCount()===0)return;e._next(t);return loop}function toArray(e,t){const r=[];e.rewind();e.s.state=a.INIT;const fetchDocs=()=>{e._next(((n,s)=>{if(n){return o(t,n)}if(s==null){return e.close({skipKillCursors:true},(()=>o(t,null,r)))}r.push(s);if(e.bufferedCount()>0){let t=e.readBufferedDocuments(e.bufferedCount());if(e.s.transforms&&typeof e.s.transforms.doc==="function"){t=t.map(e.s.transforms.doc)}i.apply(r,t)}fetchDocs()}))};fetchDocs()}e.exports={count:count,each:each,toArray:toArray}},2226:(e,t,r)=>{"use strict";const n=r(8072).MONGODB_ERROR_CODES;const o=r(1371).applyWriteConcern;const s=r(3994).BSON.Code;const i=r(1371).debugOptions;const a=r(1371).handleCallback;const A=r(3994).MongoError;const c=r(1371).parseIndexOptions;const l=r(3994).ReadPreference;const u=r(1371).toError;const h=r(7703).extractCommand;const d=r(147);const g=r(1371).MongoDBNamespace;const p=["authSource","w","wtimeout","j","native_parser","forceServerObjectId","serializeFunctions","raw","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","bufferMaxEntries","numberOfRetries","retryMiliSeconds","readPreference","pkFactory","parentDb","promiseLibrary","noListener"];function createIndex(e,t,r,s,i){let c=Object.assign({},{readPreference:l.PRIMARY},s);c=o(c,{db:e},s);if(c.writeConcern&&typeof i!=="function"){throw A.create({message:"Cannot use a writeConcern without a provided callback",driver:true})}if(e.serverConfig&&e.serverConfig.isDestroyed())return i(new A("topology was destroyed"));createIndexUsingCreateIndexes(e,t,r,c,((o,l)=>{if(o==null)return a(i,o,l);if(o.code===n.CannotCreateIndex||o.code===n.DuplicateKey||o.code===n.IndexOptionsConflict||o.code===n.IndexKeySpecsConflict||o.code===n.InterruptedAtShutdown||o.code===n.InvalidIndexSpecificationOption){return a(i,o,l)}const u=createCreateIndexCommand(e,t,r,s);c.checkKeys=false;e.s.topology.insert(e.s.namespace.withCollection(d.SYSTEM_INDEX_COLLECTION),u,c,((e,t)=>{if(i==null)return;if(e)return a(i,e);if(t==null)return a(i,null,null);if(t.result.writeErrors)return a(i,A.create(t.result.writeErrors[0]),null);a(i,null,u.name)}))}))}function createListener(e,t,r){function listener(n){if(r.listeners(t).length>0){r.emit(t,n,e);for(let r=0;r{if(o!=null&&o.code!==n.NamespaceNotFound){return a(i,o,null)}if(A==null||!A[h]){createIndex(e,t,r,s,i)}else{if(typeof i==="function")return a(i,null,h)}}))}function evaluate(e,t,r,n,o){let i=t;let c=[];if(e.serverConfig&&e.serverConfig.isDestroyed())return o(new A("topology was destroyed"));if(!(i&&i._bsontype==="Code"))i=new s(i);if(r!=null&&!Array.isArray(r)&&typeof r!=="function"){c=[r]}else if(r!=null&&Array.isArray(r)&&typeof r!=="function"){c=r}let u={$eval:i,args:c};if(n["nolock"]){u["nolock"]=n["nolock"]}n.readPreference=new l(l.PRIMARY);executeCommand(e,u,n,((e,t)=>{if(e)return a(o,e,null);if(t&&t.ok===1)return a(o,null,t.retval);if(t)return a(o,A.create({message:`eval failed: ${t.errmsg}`,driver:true}),null);a(o,e,t)}))}function executeCommand(e,t,r,n){if(e.serverConfig&&e.serverConfig.isDestroyed())return n(new A("topology was destroyed"));const o=r.dbName||r.authdb||e.databaseName;r.readPreference=l.resolve(e,r);if(e.s.logger.isDebug()){const n=h(t);e.s.logger.debug(`executing command ${JSON.stringify(n.shouldRedact?`${n.name} details REDACTED`:t)} against ${o}.$cmd with options [${JSON.stringify(i(p,r))}]`)}e.s.topology.command(e.s.namespace.withCollection("$cmd"),t,r,((e,t)=>{if(e)return a(n,e);if(r.full)return a(n,null,t);a(n,null,t.result)}))}function executeDbAdminCommand(e,t,r,n){const o=new g("admin","$cmd");e.s.topology.command(o,t,r,((t,r)=>{if(e.serverConfig&&e.serverConfig.isDestroyed()){return n(new A("topology was destroyed"))}if(t)return a(n,t);a(n,null,r.result)}))}function indexInformation(e,t,r,n){const o=r["full"]==null?false:r["full"];if(e.serverConfig&&e.serverConfig.isDestroyed())return n(new A("topology was destroyed"));function processResults(e){let t={};for(let r=0;r{if(e)return n(u(e));if(!Array.isArray(t))return a(n,null,[]);if(o)return a(n,null,t);a(n,null,processResults(t))}))}function profilingInfo(e,t,r){try{e.collection("system.profile").find({},t).toArray(r)}catch(e){return r(e,null)}}function validateDatabaseName(e){if(typeof e!=="string")throw A.create({message:"database name must be a string",driver:true});if(e.length===0)throw A.create({message:"database name cannot be the empty string",driver:true});if(e==="$external")return;const t=[" ",".","$","/","\\"];for(let r=0;r{if(e)return a(s,e,null);if(t.ok===0)return a(s,u(t),null);a(s,null,h)}))}e.exports={createListener:createListener,createIndex:createIndex,ensureIndex:ensureIndex,evaluate:evaluate,executeCommand:executeCommand,executeDbAdminCommand:executeDbAdminCommand,indexInformation:indexInformation,profilingInfo:profilingInfo,validateDatabaseName:validateDatabaseName}},323:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).removeDocuments;const s=r(1018).Aspect;const i=r(1018).defineAspects;class DeleteManyOperation extends n{constructor(e,t,r){super(r);this.collection=e;this.filter=t}execute(e){const t=this.collection;const r=this.filter;const n=this.options;n.single=false;o(t,r,n,((t,r)=>{if(e==null)return;if(t&&e)return e(t);if(r==null)return e(null,{result:{ok:1}});if(this.explain)return e(undefined,r.result);r.deletedCount=r.result.n;e(null,r)}))}}i(DeleteManyOperation,[s.EXPLAINABLE]);e.exports=DeleteManyOperation},6352:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).removeDocuments;const s=r(1018).Aspect;const i=r(1018).defineAspects;class DeleteOneOperation extends n{constructor(e,t,r){super(r);this.collection=e;this.filter=t}execute(e){const t=this.collection;const r=this.filter;const n=this.options;n.single=true;o(t,r,n,((t,r)=>{if(e==null)return;if(t&&e)return e(t);if(r==null)return e(null,{result:{ok:1}});if(this.explain)return e(undefined,r.result);r.deletedCount=r.result.n;e(null,r)}))}}i(DeleteOneOperation,[s.EXPLAINABLE]);e.exports=DeleteOneOperation},6469:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(1189);const i=r(1371).decorateWithCollation;const a=r(1371).decorateWithReadConcern;const A=r(1178).maxWireVersion;const c=r(9386).MongoError;class DistinctOperation extends s{constructor(e,t,r,n){super(e,n);this.collection=e;this.key=t;this.query=r}execute(e,t){const r=this.collection;const n=this.key;const o=this.query;const s=this.options;const l={distinct:r.collectionName,key:n,query:o};if(typeof s.maxTimeMS==="number"){l.maxTimeMS=s.maxTimeMS}a(l,r,s);try{i(l,r,s)}catch(e){return t(e,null)}if(this.explain&&A(e)<4){t(new c(`server does not support explain on distinct`));return}super.executeCommand(e,l,((e,r)=>{if(e){t(e);return}t(null,this.options.full||this.explain?r:r.values)}))}}o(DistinctOperation,[n.READ_OPERATION,n.RETRYABLE,n.EXECUTE_WITH_SELECTION,n.EXPLAINABLE]);e.exports=DistinctOperation},2360:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(499);const s=r(1018).defineAspects;const i=r(1371).handleCallback;class DropOperation extends o{constructor(e,t){const r=Object.assign({},t,e.s.options);if(t.session){r.session=t.session}super(e,r)}execute(e){super.execute(((t,r)=>{if(t)return i(e,t);if(r.ok)return i(e,null,true);i(e,null,false)}))}}s(DropOperation,n.WRITE_OPERATION);class DropCollectionOperation extends DropOperation{constructor(e,t,r){super(e,r);this.name=t;this.namespace=`${e.namespace}.${t}`}_buildCommand(){return{drop:this.name}}}class DropDatabaseOperation extends DropOperation{_buildCommand(){return{dropDatabase:1}}}e.exports={DropOperation:DropOperation,DropCollectionOperation:DropCollectionOperation,DropDatabaseOperation:DropDatabaseOperation}},3560:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(499);const i=r(1371).applyWriteConcern;const a=r(1371).handleCallback;class DropIndexOperation extends s{constructor(e,t,r){super(e.s.db,r,e);this.collection=e;this.indexName=t}_buildCommand(){const e=this.collection;const t=this.indexName;const r=this.options;let n={dropIndexes:e.collectionName,index:t};n=i(n,{db:e.s.db,collection:e},r);return n}execute(e){super.execute(((t,r)=>{if(typeof e!=="function")return;if(t)return a(e,t,null);a(e,null,r)}))}}o(DropIndexOperation,n.WRITE_OPERATION);e.exports=DropIndexOperation},5328:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(3560);const i=r(1371).handleCallback;class DropIndexesOperation extends s{constructor(e,t){super(e,"*",t)}execute(e){super.execute((t=>{if(t)return i(e,t,false);i(e,null,true)}))}}o(DropIndexesOperation,n.WRITE_OPERATION);e.exports=DropIndexesOperation},4451:(e,t,r)=>{"use strict";const n=r(8072).MONGODB_ERROR_CODES;const o=r(1018).Aspect;const s=r(1018).defineAspects;const i=r(1189);const a=r(1178).maxWireVersion;const A=r(5131);class EstimatedDocumentCountOperation extends i{constructor(e,t){super(e,t);this.collection=e;this.collectionName=e.s.namespace.collection}execute(e,t){if(a(e)<12){return this.executeLegacy(e,t)}if(this.options.query){const r=new A(this.collection,this.options.query,this.options);return r.execute(e,t)}const r=[{$collStats:{count:{}}},{$group:{_id:1,n:{$sum:"$count"}}}];const o={aggregate:this.collectionName,pipeline:r,cursor:{}};if(typeof this.options.maxTimeMS==="number"){o.maxTimeMS=this.options.maxTimeMS}super.executeCommand(e,o,((e,r)=>{if(e&&e.code!==n.NamespaceNotFound){t(e);return}t(undefined,r&&r.cursor&&r.cursor.firstBatch&&r.cursor.firstBatch[0].n||0)}))}executeLegacy(e,t){const r={count:this.collectionName};const n=this.options;if(n.query){r.query=n.query}if(n.hint){r.hint=n.hint}if(typeof n.maxTimeMS==="number"){r.maxTimeMS=n.maxTimeMS}if(typeof n.skip==="number"){r.skip=n.skip}if(typeof n.limit==="number"){r.limit=n.limit}super.executeCommand(e,r,((e,r)=>{if(e){t(e);return}t(null,r.n)}))}}s(EstimatedDocumentCountOperation,[o.READ_OPERATION,o.RETRYABLE,o.EXECUTE_WITH_SELECTION]);e.exports=EstimatedDocumentCountOperation},1681:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).handleCallback;const s=r(3994).MongoError;const i=r(1371).MongoDBNamespace;class ExecuteDbAdminCommandOperation extends n{constructor(e,t,r){super(r);this.db=e;this.selector=t}execute(e){const t=this.db;const r=this.selector;const n=this.options;const a=new i("admin","$cmd");t.s.topology.command(a,r,n,((r,n)=>{if(t.serverConfig&&t.serverConfig.isDestroyed()){return e(new s("topology was destroyed"))}if(r)return o(e,r);o(e,null,n.result)}))}}e.exports=ExecuteDbAdminCommandOperation},2548:(e,t,r)=>{"use strict";const n=r(1371).maybePromise;const o=r(3111).MongoError;const s=r(1018).Aspect;const i=r(1018).OperationBase;const a=r(4485);const A=r(3111).isRetryableError;const c=r(1178).maxWireVersion;const l=r(1178).isUnifiedTopology;function executeOperation(e,t,r){if(e==null){throw new TypeError("This method requires a valid topology instance")}if(!(t instanceof i)){throw new TypeError("This method requires a valid operation instance")}return n(e,r,(r=>{if(l(e)&&e.shouldCheckForSessionSupport()){return selectServerForSessionSupport(e,t,r)}let n,i;if(e.hasSessionSupport()){if(t.session==null){i=Symbol();n=e.startSession({owner:i});t.session=n}else if(t.session.hasEnded){return r(new o("Use of expired sessions is not permitted"))}}else if(t.session){return r(new o("Current topology does not support sessions"))}function executeCallback(e,o){if(n&&n.owner===i){n.endSession();if(t.session===n){t.clearSession()}}r(e,o)}try{if(t.hasAspect(s.EXECUTE_WITH_SELECTION)){executeWithServerSelection(e,t,executeCallback)}else{t.execute(executeCallback)}}catch(e){if(n&&n.owner===i){n.endSession();if(t.session===n){t.clearSession()}}r(e)}}))}function supportsRetryableReads(e){return c(e)>=6}function executeWithServerSelection(e,t,r){const n=t.readPreference||a.primary;const i=t.session&&t.session.inTransaction();if(i&&!n.equals(a.primary)){r(new o(`Read preference in a transaction must be primary, not: ${n.mode}`));return}const c={readPreference:n,session:t.session};function callbackWithRetry(n,o){if(n==null){return r(null,o)}if(!A(n)){return r(n)}e.selectServer(c,((e,n)=>{if(e||!supportsRetryableReads(n)){r(e,null);return}t.execute(n,r)}))}e.selectServer(c,((n,o)=>{if(n){r(n,null);return}const a=e.s.options.retryReads!==false&&t.session&&!i&&supportsRetryableReads(o)&&t.canRetryRead;if(t.hasAspect(s.RETRYABLE)&&a){t.execute(o,callbackWithRetry);return}t.execute(o,r)}))}function selectServerForSessionSupport(e,t,r){e.selectServer(a.primaryPreferred,(n=>{if(n){return r(n)}executeOperation(e,t,r)}))}e.exports=executeOperation},9961:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1018).Aspect;const s=r(1018).defineAspects;const i=r(3994).ReadPreference;const a=r(1178).maxWireVersion;const A=r(3111).MongoError;class FindOperation extends n{constructor(e,t,r,n){super(n);this.ns=t;this.cmd=r;this.readPreference=i.resolve(e,this.options)}execute(e,t){this.server=e;this.readPreference=i.resolve(this,this.options);if(typeof this.cmd.allowDiskUse!=="undefined"&&a(e)<4){t(new A("The `allowDiskUse` option is not supported on MongoDB < 3.2"));return}if(this.explain){this.options.explain=this.explain.verbosity}const r=this.cursorState||{};e.query(this.ns.toString(),this.cmd,r,this.options,t)}}s(FindOperation,[o.READ_OPERATION,o.RETRYABLE,o.EXECUTE_WITH_SELECTION,o.EXPLAINABLE]);e.exports=FindOperation},711:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).applyRetryableWrites;const s=r(1371).applyWriteConcern;const i=r(1371).decorateWithCollation;const a=r(2226).executeCommand;const A=r(1371).formattedOrderClause;const c=r(1371).handleCallback;const l=r(3994).ReadPreference;const u=r(1178).maxWireVersion;const h=r(9386).MongoError;const d=r(1018).Aspect;const g=r(1018).defineAspects;const p=r(1371).decorateWithExplain;class FindAndModifyOperation extends n{constructor(e,t,r,n,o){super(o);this.collection=e;this.query=t;this.sort=r;this.doc=n}execute(e){const t=this.collection;const r=this.query;const n=A(this.sort);const d=this.doc;let g=this.options;let E={findAndModify:t.collectionName,query:r};if(n){E.sort=n}E.new=g.new?true:false;E.remove=g.remove?true:false;E.upsert=g.upsert?true:false;const m=g.projection||g.fields;if(m){E.fields=m}if(g.arrayFilters){E.arrayFilters=g.arrayFilters}if(d&&!g.remove){E.update=d}if(g.maxTimeMS)E.maxTimeMS=g.maxTimeMS;g.serializeFunctions=g.serializeFunctions||t.s.serializeFunctions;g.checkKeys=false;g=o(g,t.s.db);g=s(g,{db:t.s.db,collection:t},g);if(g.writeConcern){E.writeConcern=g.writeConcern}if(g.bypassDocumentValidation===true){E.bypassDocumentValidation=g.bypassDocumentValidation}g.readPreference=l.primary;try{i(E,t,g)}catch(t){return e(t,null)}if(g.hint){const r=g.writeConcern&&g.writeConcern.w===0;if(r||u(t.s.topology)<8){e(new h("The current topology does not support a hint on findAndModify commands"));return}E.hint=g.hint}if(this.explain){if(u(t.s.topology)<4){e(new h(`server does not support explain on findAndModify`));return}E=p(E,this.explain)}a(t.s.db,E,g,((t,r)=>{if(t)return c(e,t,null);return c(e,null,r)}))}}g(FindAndModifyOperation,[d.EXPLAINABLE]);e.exports=FindAndModifyOperation},4497:(e,t,r)=>{"use strict";const n=r(1371).handleCallback;const o=r(1018).OperationBase;const s=r(1371).toError;const i=r(1018).Aspect;const a=r(1018).defineAspects;class FindOneOperation extends o{constructor(e,t,r){super(r);this.collection=e;this.query=t}execute(e){const t=this.collection;const r=this.query;const o=this.options;try{const i=t.find(r,o).limit(-1).batchSize(1);i.next(((t,r)=>{if(t!=null)return n(e,s(t),null);n(e,null,r)}))}catch(t){e(t)}}}a(FindOneOperation,[i.EXPLAINABLE]);e.exports=FindOneOperation},5841:(e,t,r)=>{"use strict";const n=r(711);class FindOneAndDeleteOperation extends n{constructor(e,t,r){const n=Object.assign({},r);n.fields=r.projection;n.remove=true;if(t==null||typeof t!=="object"){throw new TypeError("Filter parameter must be an object")}super(e,t,n.sort,null,n)}}e.exports=FindOneAndDeleteOperation},4316:(e,t,r)=>{"use strict";const n=r(3994).MongoError;const o=r(711);const s=r(1371).hasAtomicOperators;class FindOneAndReplaceOperation extends o{constructor(e,t,r,o){if("returnDocument"in o&&"returnOriginal"in o){throw new n("findOneAndReplace option returnOriginal is deprecated in favor of returnDocument and cannot be combined")}const i=Object.assign({},o);i.fields=o.projection;i.update=true;i.new=o.returnDocument==="after"||o.returnOriginal===false;i.upsert=o.upsert===true;if(t==null||typeof t!=="object"){throw new TypeError("Filter parameter must be an object")}if(r==null||typeof r!=="object"){throw new TypeError("Replacement parameter must be an object")}if(s(r)){throw new TypeError("Replacement document must not contain atomic operators")}super(e,t,i.sort,r,i)}}e.exports=FindOneAndReplaceOperation},1925:(e,t,r)=>{"use strict";const n=r(3994).MongoError;const o=r(711);const s=r(1371).hasAtomicOperators;class FindOneAndUpdateOperation extends o{constructor(e,t,r,o){if("returnDocument"in o&&"returnOriginal"in o){throw new n("findOneAndUpdate option returnOriginal is deprecated in favor of returnDocument and cannot be combined")}const i=Object.assign({},o);i.fields=o.projection;i.update=true;i.new=o.returnDocument==="after"||o.returnOriginal===false;i.upsert=o.upsert===true;if(t==null||typeof t!=="object"){throw new TypeError("Filter parameter must be an object")}if(r==null||typeof r!=="object"){throw new TypeError("Update parameter must be an object")}if(!s(r)){throw new TypeError("Update document requires atomic operators")}super(e,t,i.sort,r,i)}}e.exports=FindOneAndUpdateOperation},8169:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(1018).OperationBase;const i=r(1371).decorateCommand;const a=r(1371).decorateWithReadConcern;const A=r(2226).executeCommand;const c=r(1371).handleCallback;const l=r(3994).ReadPreference;const u=r(1371).toError;class GeoHaystackSearchOperation extends s{constructor(e,t,r,n){super(n);this.collection=e;this.x=t;this.y=r}execute(e){const t=this.collection;const r=this.x;const n=this.y;let o=this.options;let s={geoSearch:t.collectionName,near:[r,n]};s=i(s,o,["readPreference","session"]);o=Object.assign({},o);o.readPreference=l.resolve(t,o);a(s,t,o);A(t.s.db,s,o,((t,r)=>{if(t)return c(e,t);if(r.err||r.errmsg)c(e,u(r));c(e,null,r)}))}}o(GeoHaystackSearchOperation,n.READ_OPERATION);e.exports=GeoHaystackSearchOperation},7809:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).handleCallback;const s=r(2226).indexInformation;class IndexExistsOperation extends n{constructor(e,t,r){super(r);this.collection=e;this.indexes=t}execute(e){const t=this.collection;const r=this.indexes;const n=this.options;s(t.s.db,t.collectionName,n,((t,n)=>{if(t!=null)return o(e,t,null);if(!Array.isArray(r))return o(e,null,n[r]!=null);for(let t=0;t{"use strict";const n=r(1018).OperationBase;const o=r(2296).indexInformation;class IndexInformationOperation extends n{constructor(e,t,r){super(r);this.db=e;this.name=t}execute(e){const t=this.db;const r=this.name;const n=this.options;o(t,r,n,e)}}e.exports=IndexInformationOperation},4218:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).indexInformation;class IndexesOperation extends n{constructor(e,t){super(t);this.collection=e}execute(e){const t=this.collection;let r=this.options;r=Object.assign({},{full:true},r);o(t.s.db,t.collectionName,r,e)}}e.exports=IndexesOperation},3592:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(6976);const s=r(3994).MongoError;const i=r(2296).prepareDocs;class InsertManyOperation extends n{constructor(e,t,r){super(r);this.collection=e;this.docs=t}execute(e){const t=this.collection;let r=this.docs;const n=this.options;if(!Array.isArray(r)){return e(s.create({message:"docs parameter must be an array of documents",driver:true}))}n["serializeFunctions"]=n["serializeFunctions"]||t.s.serializeFunctions;r=i(t,r,n);const a=r.map((e=>({insertOne:{document:e}})));const A=new o(t,a,n);A.execute(((t,n)=>{if(t)return e(t,null);e(null,mapInsertManyResults(r,n))}))}}function mapInsertManyResults(e,t){const r={result:{ok:1,n:t.insertedCount},ops:e,insertedCount:t.insertedCount,insertedIds:t.insertedIds};if(t.getLastOp()){r.result.opTime=t.getLastOp()}return r}e.exports=InsertManyOperation},9915:(e,t,r)=>{"use strict";const n=r(3994).MongoError;const o=r(1018).OperationBase;const s=r(2296).insertDocuments;class InsertOneOperation extends o{constructor(e,t,r){super(r);this.collection=e;this.doc=t}execute(e){const t=this.collection;const r=this.doc;const o=this.options;if(Array.isArray(r)){return e(n.create({message:"doc parameter must be an object",driver:true}))}s(t,[r],o,((t,n)=>{if(e==null)return;if(t&&e)return e(t);if(n==null)return e(null,{result:{ok:1}});n.insertedCount=n.result.n;n.insertedId=r._id;if(e)e(null,n)}))}}e.exports=InsertOneOperation},4956:(e,t,r)=>{"use strict";const n=r(43);const o=r(1371).handleCallback;class IsCappedOperation extends n{constructor(e,t){super(e,t)}execute(e){super.execute(((t,r)=>{if(t)return o(e,t);o(e,null,!!(r&&r.capped))}))}}e.exports=IsCappedOperation},840:(e,t,r)=>{"use strict";const n=r(1189);const o=r(1018).Aspect;const s=r(1018).defineAspects;const i=r(1178).maxWireVersion;const a=r(147);const A=3;function listCollectionsTransforms(e){const t=`${e}.`;return{doc:e=>{const r=e.name.indexOf(t);if(e.name&&r===0){e.name=e.name.substr(r+t.length)}return e}}}class ListCollectionsOperation extends n{constructor(e,t,r){super(e,r,{fullResponse:true});this.db=e;this.filter=t;this.nameOnly=!!this.options.nameOnly;if(typeof this.options.batchSize==="number"){this.batchSize=this.options.batchSize}}execute(e,t){if(i(e){if(r&&r.message&&r.message.documents&&Array.isArray(r.message.documents)){r.message.documents=r.message.documents.map(o.doc)}t(e,r)}));return}const r={listCollections:1,filter:this.filter,cursor:this.batchSize?{batchSize:this.batchSize}:{},nameOnly:this.nameOnly};return super.executeCommand(e,r,t)}}s(ListCollectionsOperation,[o.READ_OPERATION,o.RETRYABLE,o.EXECUTE_WITH_SELECTION]);e.exports=ListCollectionsOperation},9929:(e,t,r)=>{"use strict";const n=r(1189);const o=r(1018).Aspect;const s=r(1018).defineAspects;const i=r(1371).MongoDBNamespace;class ListDatabasesOperation extends n{constructor(e,t){super(e,t);this.ns=new i("admin","$cmd")}execute(e,t){const r={listDatabases:1};if(this.options.nameOnly){r.nameOnly=Number(r.nameOnly)}if(this.options.filter){r.filter=this.options.filter}if(typeof this.options.authorizedDatabases==="boolean"){r.authorizedDatabases=this.options.authorizedDatabases}super.executeCommand(e,r,t)}}s(ListDatabasesOperation,[o.READ_OPERATION,o.RETRYABLE,o.EXECUTE_WITH_SELECTION]);e.exports=ListDatabasesOperation},28:(e,t,r)=>{"use strict";const n=r(1189);const o=r(1018).Aspect;const s=r(1018).defineAspects;const i=r(1178).maxWireVersion;const a=3;class ListIndexesOperation extends n{constructor(e,t){super(e,t,{fullResponse:true});this.collectionNamespace=e.s.namespace}execute(e,t){const r=i(e);if(r{"use strict";const n=r(1371).applyWriteConcern;const o=r(3994).BSON.Code;const s=r(1371).decorateWithCollation;const i=r(1371).decorateWithReadConcern;const a=r(2226).executeCommand;const A=r(1371).handleCallback;const c=r(1371).isObject;const l=r(8275).loadDb;const u=r(1018).OperationBase;const h=r(3994).ReadPreference;const d=r(1371).toError;const g=r(1018).Aspect;const p=r(1018).defineAspects;const E=r(1371).decorateWithExplain;const m=r(1178).maxWireVersion;const C=r(9386).MongoError;const I=["explain","readPreference","session","bypassDocumentValidation","w","wtimeout","j","writeConcern"];class MapReduceOperation extends u{constructor(e,t,r,n){super(n);this.collection=e;this.map=t;this.reduce=r}execute(e){const t=this.collection;const r=this.map;const o=this.reduce;let c=this.options;let u={mapReduce:t.collectionName,map:r,reduce:o};for(let e in c){if("scope"===e){u[e]=processScope(c[e])}else{if(I.indexOf(e)===-1){u[e]=c[e]}}}c=Object.assign({},c);c.readPreference=h.resolve(t,c);if(c.readPreference!==false&&c.readPreference!=="primary"&&c["out"]&&c["out"].inline!==1&&c["out"]!=="inline"){c.readPreference="primary";n(u,{db:t.s.db,collection:t},c)}else{i(u,t,c)}if(c.bypassDocumentValidation===true){u.bypassDocumentValidation=c.bypassDocumentValidation}try{s(u,t,c)}catch(t){return e(t,null)}if(this.explain){if(m(t.s.topology)<9){e(new C(`server does not support explain on mapReduce`));return}u=E(u,this.explain)}a(t.s.db,u,c,((r,n)=>{if(r)return A(e,r);if(1!==n.ok||n.err||n.errmsg){return A(e,d(n))}if(this.explain)return e(undefined,n);const o={};if(n.timeMillis)o["processtime"]=n.timeMillis;if(n.counts)o["counts"]=n.counts;if(n.timing)o["timing"]=n.timing;if(n.results){if(c["verbose"]==null||!c["verbose"]){return A(e,null,n.results)}return A(e,null,{results:n.results,stats:o})}let s=null;if(n.result!=null&&typeof n.result==="object"){const e=n.result;let r=l();s=new r(e.db,t.s.db.s.topology,t.s.db.s.options).collection(e.collection)}else{s=t.s.db.collection(n.result)}if(c["verbose"]==null||!c["verbose"]){return A(e,r,s)}A(e,r,{collection:s,stats:o})}))}}function processScope(e){if(!c(e)||e._bsontype==="ObjectID"){return e}const t=Object.keys(e);let r;const n={};for(let s=t.length-1;s>=0;s--){r=t[s];if("function"===typeof e[r]){n[r]=new o(String(e[r]))}else{n[r]=processScope(e[r])}}return n}p(MapReduceOperation,[g.EXPLAINABLE]);e.exports=MapReduceOperation},1018:(e,t,r)=>{"use strict";const n=r(5293).Explain;const o=r(3111).MongoError;const s={READ_OPERATION:Symbol("READ_OPERATION"),WRITE_OPERATION:Symbol("WRITE_OPERATION"),RETRYABLE:Symbol("RETRYABLE"),EXECUTE_WITH_SELECTION:Symbol("EXECUTE_WITH_SELECTION"),NO_INHERIT_OPTIONS:Symbol("NO_INHERIT_OPTIONS"),EXPLAINABLE:Symbol("EXPLAINABLE")};class OperationBase{constructor(e){this.options=Object.assign({},e);if(this.hasAspect(s.EXPLAINABLE)){this.explain=n.fromOptions(e)}else if(this.options.explain!==undefined){throw new o(`explain is not supported on this command`)}}hasAspect(e){if(this.constructor.aspects==null){return false}return this.constructor.aspects.has(e)}set session(e){Object.assign(this.options,{session:e})}get session(){return this.options.session}clearSession(){delete this.options.session}get canRetryRead(){return true}execute(){throw new TypeError("`execute` must be implemented for OperationBase subclasses")}}function defineAspects(e,t){if(!Array.isArray(t)&&!(t instanceof Set)){t=[t]}t=new Set(t);Object.defineProperty(e,"aspects",{value:t,writable:false});return t}e.exports={Aspect:s,defineAspects:defineAspects,OperationBase:OperationBase}},43:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).handleCallback;const s=r(3994).MongoError;class OptionsOperation extends n{constructor(e,t){super(t);this.collection=e}execute(e){const t=this.collection;const r=this.options;t.s.db.listCollections({name:t.collectionName},r).toArray(((r,n)=>{if(r)return o(e,r);if(n.length===0){return o(e,s.create({message:`collection ${t.namespace} not found`,driver:true}))}o(e,r,n[0].options||null)}))}}e.exports=OptionsOperation},3969:(e,t,r)=>{"use strict";const n=r(499);class ProfilingLevelOperation extends n{constructor(e,t,r){super(e,r)}_buildCommand(){const e={profile:-1};return e}execute(e){super.execute(((t,r)=>{if(t==null&&r.ok===1){const t=r.was;if(t===0)return e(null,"off");if(t===1)return e(null,"slow_only");if(t===2)return e(null,"all");return e(new Error("Error: illegal profiling level value "+t),null)}else{t!=null?e(t,null):e(new Error("Error with profile command"),null)}}))}}e.exports=ProfilingLevelOperation},6331:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(1018).defineAspects;const s=r(1189);const i=r(2291).serverType;const a=r(2291).ServerType;const A=r(3994).MongoError;class ReIndexOperation extends s{constructor(e,t){super(e,t);this.collectionName=e.collectionName}execute(e,t){if(i(e)!==a.Standalone){t(new A(`reIndex can only be executed on standalone servers.`));return}super.executeCommand(e,{reIndex:this.collectionName},((e,r)=>{if(e){t(e);return}t(null,!!r.ok)}))}}o(ReIndexOperation,[n.EXECUTE_WITH_SELECTION]);e.exports=ReIndexOperation},1969:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(499);const s=r(1018).defineAspects;const i=r(1371).handleCallback;const a=r(2481);class RemoveUserOperation extends o{constructor(e,t,r){const n={};const o=a.fromOptions(r);if(o!=null){n.writeConcern=o}if(r.dbName){n.dbName=r.dbName}if(typeof r.maxTimeMS==="number"){n.maxTimeMS=r.maxTimeMS}super(e,n);this.username=t}_buildCommand(){const e=this.username;const t={dropUser:e};return t}execute(e){super.execute(((t,r)=>{if(t)return i(e,t,null);i(e,t,r.ok?true:false)}))}}s(RemoveUserOperation,n.WRITE_OPERATION);e.exports=RemoveUserOperation},2808:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(1371).applyWriteConcern;const s=r(1371).checkCollectionName;const i=r(2226).executeDbAdminCommand;const a=r(1371).handleCallback;const A=r(8275).loadCollection;const c=r(1371).toError;class RenameOperation extends n{constructor(e,t,r){super(r);this.collection=e;this.newName=t}execute(e){const t=this.collection;const r=this.newName;const n=this.options;let l=A();s(r);const u=t.namespace;const h=t.s.namespace.withCollection(r).toString();const d=typeof n.dropTarget==="boolean"?n.dropTarget:false;const g={renameCollection:u,to:h,dropTarget:d};o(g,{db:t.s.db,collection:t},n);i(t.s.db.admin().s.db,g,n,((n,o)=>{if(n)return a(e,n,null);if(o.errmsg)return a(e,c(o),null);try{return a(e,null,new l(t.s.db,t.s.topology,t.s.namespace.db,r,t.s.pkFactory,t.s.options))}catch(n){return a(e,c(n),null)}}))}}e.exports=RenameOperation},2508:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).updateDocuments;const s=r(1371).hasAtomicOperators;class ReplaceOneOperation extends n{constructor(e,t,r,n){super(n);if(s(r)){throw new TypeError("Replacement document must not contain atomic operators")}this.collection=e;this.filter=t;this.replacement=r}execute(e){const t=this.collection;const r=this.filter;const n=this.replacement;const s=this.options;s.multi=false;o(t,r,n,s,((t,r)=>replaceCallback(t,r,n,e)))}}function replaceCallback(e,t,r,n){if(n==null)return;if(e&&n)return n(e);if(t==null)return n(null,{result:{ok:1}});t.modifiedCount=t.result.nModified!=null?t.result.nModified:t.result.n;t.upsertedId=Array.isArray(t.result.upserted)&&t.result.upserted.length>0?t.result.upserted[0]:null;t.upsertedCount=Array.isArray(t.result.upserted)&&t.result.upserted.length?t.result.upserted.length:0;t.matchedCount=Array.isArray(t.result.upserted)&&t.result.upserted.length>0?0:t.result.n;t.ops=[r];if(n)n(null,t)}e.exports=ReplaceOneOperation},1363:(e,t,r)=>{"use strict";const n=r(1189);const o=r(1018).defineAspects;const s=r(1018).Aspect;class RunCommandOperation extends n{constructor(e,t,r){super(e,r);this.command=t}execute(e,t){const r=this.command;this.executeCommand(e,r,t)}}o(RunCommandOperation,[s.EXECUTE_WITH_SELECTION,s.NO_INHERIT_OPTIONS]);e.exports=RunCommandOperation},6301:(e,t,r)=>{"use strict";const n=r(499);const o=new Set(["off","slow_only","all"]);class SetProfilingLevelOperation extends n{constructor(e,t,r){let n=0;if(t==="off"){n=0}else if(t==="slow_only"){n=1}else if(t==="all"){n=2}super(e,r);this.level=t;this.profile=n}_buildCommand(){const e=this.profile;const t={profile:e};return t}execute(e){const t=this.level;if(!o.has(t)){return e(new Error("Error: illegal profiling level value "+t))}super.execute(((r,n)=>{if(r==null&&n.ok===1)return e(null,t);return r!=null?e(r,null):e(new Error("Error with profile command"),null)}))}}e.exports=SetProfilingLevelOperation},968:(e,t,r)=>{"use strict";const n=r(1018).Aspect;const o=r(499);const s=r(1018).defineAspects;class StatsOperation extends o{constructor(e,t){super(e.s.db,t,e)}_buildCommand(){const e=this.collection;const t=this.options;const r={collStats:e.collectionName};if(t["scale"]!=null){r["scale"]=t["scale"]}return r}}s(StatsOperation,n.READ_OPERATION);e.exports=StatsOperation},9350:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).updateDocuments;const s=r(1371).hasAtomicOperators;const i=r(1018).Aspect;const a=r(1018).defineAspects;class UpdateManyOperation extends n{constructor(e,t,r,n){super(n);if(!s(r)){throw new TypeError("Update document requires atomic operators")}this.collection=e;this.filter=t;this.update=r}execute(e){const t=this.collection;const r=this.filter;const n=this.update;const s=this.options;s.multi=true;o(t,r,n,s,((t,r)=>{if(e==null)return;if(t)return e(t);if(r==null)return e(null,{result:{ok:1}});if(this.explain)return e(undefined,r.result);r.modifiedCount=r.result.nModified!=null?r.result.nModified:r.result.n;r.upsertedId=Array.isArray(r.result.upserted)&&r.result.upserted.length>0?r.result.upserted[0]:null;r.upsertedCount=Array.isArray(r.result.upserted)&&r.result.upserted.length?r.result.upserted.length:0;r.matchedCount=Array.isArray(r.result.upserted)&&r.result.upserted.length>0?0:r.result.n;e(null,r)}))}}a(UpdateManyOperation,[i.EXPLAINABLE]);e.exports=UpdateManyOperation},9068:(e,t,r)=>{"use strict";const n=r(1018).OperationBase;const o=r(2296).updateDocuments;const s=r(1371).hasAtomicOperators;const i=r(1018).Aspect;const a=r(1018).defineAspects;class UpdateOneOperation extends n{constructor(e,t,r,n){super(n);if(!s(r)){throw new TypeError("Update document requires atomic operators")}this.collection=e;this.filter=t;this.update=r}execute(e){const t=this.collection;const r=this.filter;const n=this.update;const s=this.options;s.multi=false;o(t,r,n,s,((t,r)=>{if(e==null)return;if(t)return e(t);if(r==null)return e(null,{result:{ok:1}});if(this.explain)return e(undefined,r.result);r.modifiedCount=r.result.nModified!=null?r.result.nModified:r.result.n;r.upsertedId=Array.isArray(r.result.upserted)&&r.result.upserted.length>0?r.result.upserted[0]:null;r.upsertedCount=Array.isArray(r.result.upserted)&&r.result.upserted.length?r.result.upserted.length:0;r.matchedCount=Array.isArray(r.result.upserted)&&r.result.upserted.length>0?0:r.result.n;e(null,r)}))}}a(UpdateOneOperation,[i.EXPLAINABLE]);e.exports=UpdateOneOperation},9263:(e,t,r)=>{"use strict";const n=r(499);class ValidateCollectionOperation extends n{constructor(e,t,r){let n={validate:t};const o=Object.keys(r);for(let e=0;e{if(r!=null)return e(r,null);if(n.ok===0)return e(new Error("Error with validate command"),null);if(n.result!=null&&n.result.constructor!==String)return e(new Error("Error with validation data"),null);if(n.result!=null&&n.result.match(/exception|corrupt/)!=null)return e(new Error("Error: invalid collection "+t),null);if(n.valid!=null&&!n.valid)return e(new Error("Error: invalid collection "+t),null);return e(null,n)}))}}e.exports=ValidateCollectionOperation},7289:e=>{"use strict";class ReadConcern{constructor(e){if(e!=null){this.level=e}}static fromOptions(e){if(e==null){return}if(e.readConcern){if(e.readConcern instanceof ReadConcern){return e.readConcern}return new ReadConcern(e.readConcern.level)}if(e.level){return new ReadConcern(e.level)}}static get MAJORITY(){return"majority"}static get AVAILABLE(){return"available"}static get LINEARIZABLE(){return"linearizable"}static get SNAPSHOT(){return"snapshot"}}e.exports=ReadConcern},2048:(e,t,r)=>{"use strict";const n=r(8589).oF;const o=r(3994).MongoError;const s=r(3994).Mongos;const i=r(7159);const a=r(8421);const A=r(8589).yh;const c=r(1371).MAX_JS_INT;const l=r(1371).translateOptions;const u=r(1371).filterOptions;const h=r(1371).mergeOptions;var d=["ha","haInterval","acceptableLatencyMS","poolSize","ssl","checkServerIdentity","sslValidate","sslCA","sslCRL","sslCert","ciphers","ecdhCurve","sslKey","sslPass","socketOptions","bufferMaxEntries","store","auto_reconnect","autoReconnect","emitError","keepAlive","keepAliveInitialDelay","noDelay","connectTimeoutMS","socketTimeoutMS","loggerLevel","logger","reconnectTries","appname","domainsEnabled","servername","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","promiseLibrary","monitorCommands"];class Mongos extends n{constructor(e,t){super();t=t||{};var r=this;t=u(t,d);for(var n=0;n0?t.socketOptions:t;C=l(C,I);this.s={coreTopology:new s(E,C),sCapabilities:null,debug:C.debug,storeOptions:g,clonedOptions:C,store:p,options:t,sessionPool:null,sessions:new Set,promiseLibrary:t.promiseLibrary||Promise}}connect(e,t){var r=this;if("function"===typeof e)t=e,e={};if(e==null)e={};if(!("function"===typeof t))t=null;e=Object.assign({},this.s.clonedOptions,e);r.s.options=e;r.s.storeOptions.bufferMaxEntries=typeof e.bufferMaxEntries==="number"?e.bufferMaxEntries:-1;var connectErrorHandler=function(){return function(e){var n=["timeout","error","close"];n.forEach((function(e){r.removeListener(e,connectErrorHandler)}));r.s.coreTopology.removeListener("connect",connectErrorHandler);r.close(true);try{t(e)}catch(e){process.nextTick((function(){throw e}))}}};var errorHandler=function(e){return function(t){if(e!=="error"){r.emit(e,t)}}};var reconnectHandler=function(){r.emit("reconnect");r.s.store.execute()};var relay=function(e){return function(t,n){r.emit(e,t,n)}};var connectHandler=function(){var e=["timeout","error","close","fullsetup"];e.forEach((function(e){r.s.coreTopology.removeAllListeners(e)}));r.s.coreTopology.on("timeout",errorHandler("timeout"));r.s.coreTopology.on("error",errorHandler("error"));r.s.coreTopology.on("close",errorHandler("close"));r.s.coreTopology.on("fullsetup",(function(){r.emit("fullsetup",r)}));r.emit("open",null,r);try{t(null,r)}catch(e){process.nextTick((function(){throw e}))}};var n=["timeout","error","close","serverOpening","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","serverClosed","topologyOpening","topologyClosed","topologyDescriptionChanged","commandStarted","commandSucceeded","commandFailed"];n.forEach((function(e){r.s.coreTopology.removeAllListeners(e)}));r.s.coreTopology.on("serverDescriptionChanged",relay("serverDescriptionChanged"));r.s.coreTopology.on("serverHeartbeatStarted",relay("serverHeartbeatStarted"));r.s.coreTopology.on("serverHeartbeatSucceeded",relay("serverHeartbeatSucceeded"));r.s.coreTopology.on("serverHeartbeatFailed",relay("serverHeartbeatFailed"));r.s.coreTopology.on("serverOpening",relay("serverOpening"));r.s.coreTopology.on("serverClosed",relay("serverClosed"));r.s.coreTopology.on("topologyOpening",relay("topologyOpening"));r.s.coreTopology.on("topologyClosed",relay("topologyClosed"));r.s.coreTopology.on("topologyDescriptionChanged",relay("topologyDescriptionChanged"));r.s.coreTopology.on("commandStarted",relay("commandStarted"));r.s.coreTopology.on("commandSucceeded",relay("commandSucceeded"));r.s.coreTopology.on("commandFailed",relay("commandFailed"));r.s.coreTopology.once("timeout",connectErrorHandler("timeout"));r.s.coreTopology.once("error",connectErrorHandler("error"));r.s.coreTopology.once("close",connectErrorHandler("close"));r.s.coreTopology.once("connect",connectHandler);r.s.coreTopology.on("joined",relay("joined"));r.s.coreTopology.on("left",relay("left"));r.s.coreTopology.on("reconnect",reconnectHandler);r.s.coreTopology.connect(e)}}Object.defineProperty(Mongos.prototype,"haInterval",{enumerable:true,get:function(){return this.s.coreTopology.s.haInterval}});e.exports=Mongos},2632:(e,t,r)=>{"use strict";const n=r(3994).Topology;const o=r(8589).ug;const s=r(7159);const i=r(1371).translateOptions;class NativeTopology extends n{constructor(e,t){t=t||{};let r=Object.assign({},{cursorFactory:s,reconnect:false,emitError:typeof t.emitError==="boolean"?t.emitError:true,maxPoolSize:typeof t.maxPoolSize==="number"?t.maxPoolSize:typeof t.poolSize==="number"?t.poolSize:10,minPoolSize:typeof t.minPoolSize==="number"?t.minPoolSize:typeof t.minSize==="number"?t.minSize:0,monitorCommands:typeof t.monitorCommands==="boolean"?t.monitorCommands:false});r=i(r,t);var n=t.socketOptions&&Object.keys(t.socketOptions).length>0?t.socketOptions:t;r=i(r,n);r.serverApi=t.serverApi;r.useUnifiedTopology=t.useUnifiedTopology;super(e,r)}capabilities(){if(this.s.sCapabilities)return this.s.sCapabilities;if(this.lastIsMaster()==null)return null;this.s.sCapabilities=new o(this.lastIsMaster());return this.s.sCapabilities}command(e,t,r,n){super.command(e.toString(),t,r,n)}insert(e,t,r,n){super.insert(e.toString(),t,r,n)}update(e,t,r,n){super.update(e.toString(),t,r,n)}remove(e,t,r,n){super.remove(e.toString(),t,r,n)}}e.exports=NativeTopology},382:(e,t,r)=>{"use strict";const n=r(8421);const o=r(7159);const s=r(3994).MongoError;const i=r(8589).oF;const a=r(8589).yh;const A=r(3994).ReplSet;const c=r(1371).MAX_JS_INT;const l=r(1371).translateOptions;const u=r(1371).filterOptions;const h=r(1371).mergeOptions;var d=["ha","haInterval","replicaSet","rs_name","secondaryAcceptableLatencyMS","connectWithNoPrimary","poolSize","ssl","checkServerIdentity","sslValidate","sslCA","sslCert","ciphers","ecdhCurve","sslCRL","sslKey","sslPass","socketOptions","bufferMaxEntries","store","auto_reconnect","autoReconnect","emitError","keepAlive","keepAliveInitialDelay","noDelay","connectTimeoutMS","socketTimeoutMS","strategy","debug","family","loggerLevel","logger","reconnectTries","appname","domainsEnabled","servername","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","maxStalenessSeconds","promiseLibrary","minSize","monitorCommands"];class ReplSet extends i{constructor(e,t){super();t=t||{};var r=this;t=u(t,d);for(var i=0;i0?t.socketOptions:t;m=l(m,C);var I=new A(E,m);I.on("reconnect",(function(){r.emit("reconnect");p.execute()}));this.s={coreTopology:I,sCapabilities:null,tag:t.tag,storeOptions:g,clonedOptions:m,store:p,options:t,sessionPool:null,sessions:new Set,promiseLibrary:t.promiseLibrary||Promise};if(m.debug){Object.defineProperty(this,"replset",{enumerable:true,get:function(){return I}})}}connect(e,t){var r=this;if("function"===typeof e)t=e,e={};if(e==null)e={};if(!("function"===typeof t))t=null;e=Object.assign({},this.s.clonedOptions,e);r.s.options=e;r.s.storeOptions.bufferMaxEntries=typeof e.bufferMaxEntries==="number"?e.bufferMaxEntries:-1;var errorHandler=function(e){return function(t){if(e!=="error"){r.emit(e,t)}}};var n=["timeout","error","close","serverOpening","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","serverClosed","topologyOpening","topologyClosed","topologyDescriptionChanged","commandStarted","commandSucceeded","commandFailed","joined","left","ping","ha"];n.forEach((function(e){r.s.coreTopology.removeAllListeners(e)}));var relay=function(e){return function(t,n){r.emit(e,t,n)}};var replsetRelay=function(e){return function(t,n){r.emit(e,t,n.lastIsMaster(),n)}};var relayHa=function(e,t){r.emit("ha",e,t);if(e==="start"){r.emit("ha_connect",e,t)}else if(e==="end"){r.emit("ha_ismaster",e,t)}};r.s.coreTopology.on("joined",replsetRelay("joined"));r.s.coreTopology.on("left",relay("left"));r.s.coreTopology.on("ping",relay("ping"));r.s.coreTopology.on("ha",relayHa);r.s.coreTopology.on("serverDescriptionChanged",relay("serverDescriptionChanged"));r.s.coreTopology.on("serverHeartbeatStarted",relay("serverHeartbeatStarted"));r.s.coreTopology.on("serverHeartbeatSucceeded",relay("serverHeartbeatSucceeded"));r.s.coreTopology.on("serverHeartbeatFailed",relay("serverHeartbeatFailed"));r.s.coreTopology.on("serverOpening",relay("serverOpening"));r.s.coreTopology.on("serverClosed",relay("serverClosed"));r.s.coreTopology.on("topologyOpening",relay("topologyOpening"));r.s.coreTopology.on("topologyClosed",relay("topologyClosed"));r.s.coreTopology.on("topologyDescriptionChanged",relay("topologyDescriptionChanged"));r.s.coreTopology.on("commandStarted",relay("commandStarted"));r.s.coreTopology.on("commandSucceeded",relay("commandSucceeded"));r.s.coreTopology.on("commandFailed",relay("commandFailed"));r.s.coreTopology.on("fullsetup",(function(){r.emit("fullsetup",r,r)}));r.s.coreTopology.on("all",(function(){r.emit("all",null,r)}));var connectHandler=function(){r.s.coreTopology.once("timeout",errorHandler("timeout"));r.s.coreTopology.once("error",errorHandler("error"));r.s.coreTopology.once("close",errorHandler("close"));r.emit("open",null,r);try{t(null,r)}catch(e){process.nextTick((function(){throw e}))}};var connectErrorHandler=function(){return function(e){["timeout","error","close"].forEach((function(e){r.s.coreTopology.removeListener(e,connectErrorHandler)}));r.s.coreTopology.removeListener("connect",connectErrorHandler);r.s.coreTopology.destroy();try{t(e)}catch(e){if(!r.s.coreTopology.isConnected())process.nextTick((function(){throw e}))}}};r.s.coreTopology.once("timeout",connectErrorHandler("timeout"));r.s.coreTopology.once("error",connectErrorHandler("error"));r.s.coreTopology.once("close",connectErrorHandler("close"));r.s.coreTopology.once("connect",connectHandler);r.s.coreTopology.connect(e)}close(e,t){["timeout","error","close","joined","left"].forEach((e=>this.removeAllListeners(e)));super.close(e,t)}}Object.defineProperty(ReplSet.prototype,"haInterval",{enumerable:true,get:function(){return this.s.coreTopology.s.haInterval}});e.exports=ReplSet},8421:(e,t,r)=>{"use strict";const n=r(3994).Server;const o=r(7159);const s=r(8589).oF;const i=r(8589).yh;const a=r(3994).MongoError;const A=r(1371).MAX_JS_INT;const c=r(1371).translateOptions;const l=r(1371).filterOptions;const u=r(1371).mergeOptions;var h=["ha","haInterval","acceptableLatencyMS","poolSize","ssl","checkServerIdentity","sslValidate","sslCA","sslCRL","sslCert","ciphers","ecdhCurve","sslKey","sslPass","socketOptions","bufferMaxEntries","store","auto_reconnect","autoReconnect","emitError","keepAlive","keepAliveInitialDelay","noDelay","connectTimeoutMS","socketTimeoutMS","family","loggerLevel","logger","reconnectTries","reconnectInterval","monitoring","appname","domainsEnabled","servername","promoteLongs","promoteValues","promoteBuffers","bsonRegExp","compression","promiseLibrary","monitorCommands"];class Server extends s{constructor(e,t,r){super();var s=this;r=l(r,h);const d=r.promiseLibrary;var g={force:false,bufferMaxEntries:typeof r.bufferMaxEntries==="number"?r.bufferMaxEntries:A};var p=r.store||new i(s,g);if(e.indexOf("/")!==-1){if(t!=null&&typeof t==="object"){r=t;t=null}}else if(t==null){throw a.create({message:"port must be specified",driver:true})}var E=typeof r.auto_reconnect==="boolean"?r.auto_reconnect:true;E=typeof r.autoReconnect==="boolean"?r.autoReconnect:E;var m=u({},{host:e,port:t,disconnectHandler:p,cursorFactory:o,reconnect:E,emitError:typeof r.emitError==="boolean"?r.emitError:true,size:typeof r.poolSize==="number"?r.poolSize:5,monitorCommands:typeof r.monitorCommands==="boolean"?r.monitorCommands:false});m=c(m,r);var C=r.socketOptions&&Object.keys(r.socketOptions).length>0?r.socketOptions:r;m=c(m,C);this.s={coreTopology:new n(m),sCapabilities:null,clonedOptions:m,reconnect:m.reconnect,emitError:m.emitError,poolSize:m.size,storeOptions:g,store:p,host:e,port:t,options:r,sessionPool:null,sessions:new Set,promiseLibrary:d||Promise}}connect(e,t){var r=this;if("function"===typeof e)t=e,e={};if(e==null)e=this.s.clonedOptions;if(!("function"===typeof t))t=null;e=Object.assign({},this.s.clonedOptions,e);r.s.options=e;r.s.storeOptions.bufferMaxEntries=typeof e.bufferMaxEntries==="number"?e.bufferMaxEntries:-1;var connectErrorHandler=function(){return function(e){var o=["timeout","error","close"];o.forEach((function(e){r.s.coreTopology.removeListener(e,n[e])}));r.s.coreTopology.removeListener("connect",connectErrorHandler);try{t(e)}catch(e){process.nextTick((function(){throw e}))}}};var errorHandler=function(e){return function(t){if(e!=="error"){r.emit(e,t)}}};var reconnectHandler=function(){r.emit("reconnect",r);r.s.store.execute()};var reconnectFailedHandler=function(e){r.emit("reconnectFailed",e);r.s.store.flush(e)};var destroyHandler=function(){r.s.store.flush()};var relay=function(e){return function(t,n){r.emit(e,t,n)}};var connectHandler=function(){["timeout","error","close","destroy"].forEach((function(e){r.s.coreTopology.removeAllListeners(e)}));r.s.coreTopology.on("timeout",errorHandler("timeout"));r.s.coreTopology.once("error",errorHandler("error"));r.s.coreTopology.on("close",errorHandler("close"));r.s.coreTopology.on("destroy",destroyHandler);r.emit("open",null,r);try{t(null,r)}catch(e){process.nextTick((function(){throw e}))}};var n={timeout:connectErrorHandler("timeout"),error:connectErrorHandler("error"),close:connectErrorHandler("close")};["timeout","error","close","serverOpening","serverDescriptionChanged","serverHeartbeatStarted","serverHeartbeatSucceeded","serverHeartbeatFailed","serverClosed","topologyOpening","topologyClosed","topologyDescriptionChanged","commandStarted","commandSucceeded","commandFailed"].forEach((function(e){r.s.coreTopology.removeAllListeners(e)}));r.s.coreTopology.once("timeout",n.timeout);r.s.coreTopology.once("error",n.error);r.s.coreTopology.once("close",n.close);r.s.coreTopology.once("connect",connectHandler);r.s.coreTopology.on("reconnect",reconnectHandler);r.s.coreTopology.on("reconnectFailed",reconnectFailedHandler);r.s.coreTopology.on("serverDescriptionChanged",relay("serverDescriptionChanged"));r.s.coreTopology.on("serverHeartbeatStarted",relay("serverHeartbeatStarted"));r.s.coreTopology.on("serverHeartbeatSucceeded",relay("serverHeartbeatSucceeded"));r.s.coreTopology.on("serverHeartbeatFailed",relay("serverHeartbeatFailed"));r.s.coreTopology.on("serverOpening",relay("serverOpening"));r.s.coreTopology.on("serverClosed",relay("serverClosed"));r.s.coreTopology.on("topologyOpening",relay("topologyOpening"));r.s.coreTopology.on("topologyClosed",relay("topologyClosed"));r.s.coreTopology.on("topologyDescriptionChanged",relay("topologyDescriptionChanged"));r.s.coreTopology.on("commandStarted",relay("commandStarted"));r.s.coreTopology.on("commandSucceeded",relay("commandSucceeded"));r.s.coreTopology.on("commandFailed",relay("commandFailed"));r.s.coreTopology.on("attemptReconnect",relay("attemptReconnect"));r.s.coreTopology.on("monitoring",relay("monitoring"));r.s.coreTopology.connect(e)}}Object.defineProperty(Server.prototype,"poolSize",{enumerable:true,get:function(){return this.s.coreTopology.connections().length}});Object.defineProperty(Server.prototype,"autoReconnect",{enumerable:true,get:function(){return this.s.reconnect}});Object.defineProperty(Server.prototype,"host",{enumerable:true,get:function(){return this.s.host}});Object.defineProperty(Server.prototype,"port",{enumerable:true,get:function(){return this.s.port}});e.exports=Server},8589:(e,t,r)=>{"use strict";const n=r(2361),o=r(3994).MongoError,s=r(3837).format,i=r(3994).ReadPreference,a=r(3994).Sessions.ClientSession;var Store=function(e,t){var r=this;var n=[];t=t||{force:false,bufferMaxEntries:-1};this.s={storedOps:n,storeOptions:t,topology:e};Object.defineProperty(this,"length",{enumerable:true,get:function(){return r.s.storedOps.length}})};Store.prototype.add=function(e,t,r,n,i){if(this.s.storeOptions.force){return i(o.create({message:"db closed by application",driver:true}))}if(this.s.storeOptions.bufferMaxEntries===0){return i(o.create({message:s("no connection available for operation and number of stored operation > %s",this.s.storeOptions.bufferMaxEntries),driver:true}))}if(this.s.storeOptions.bufferMaxEntries>0&&this.s.storedOps.length>this.s.storeOptions.bufferMaxEntries){while(this.s.storedOps.length>0){var a=this.s.storedOps.shift();a.c(o.create({message:s("no connection available for operation and number of stored operation > %s",this.s.storeOptions.bufferMaxEntries),driver:true}))}return}this.s.storedOps.push({t:e,n:t,o:r,op:n,c:i})};Store.prototype.addObjectAndMethod=function(e,t,r,n,i){if(this.s.storeOptions.force){return i(o.create({message:"db closed by application",driver:true}))}if(this.s.storeOptions.bufferMaxEntries===0){return i(o.create({message:s("no connection available for operation and number of stored operation > %s",this.s.storeOptions.bufferMaxEntries),driver:true}))}if(this.s.storeOptions.bufferMaxEntries>0&&this.s.storedOps.length>this.s.storeOptions.bufferMaxEntries){while(this.s.storedOps.length>0){var a=this.s.storedOps.shift();a.c(o.create({message:s("no connection available for operation and number of stored operation > %s",this.s.storeOptions.bufferMaxEntries),driver:true}))}return}this.s.storedOps.push({t:e,m:r,o:t,p:n,c:i})};Store.prototype.flush=function(e){while(this.s.storedOps.length>0){this.s.storedOps.shift().c(e||o.create({message:s("no connection available for operation"),driver:true}))}};var A=["primary","primaryPreferred","nearest","secondaryPreferred"];var c=["secondary","secondaryPreferred"];Store.prototype.execute=function(e){e=e||{};var t=this.s.storedOps;this.s.storedOps=[];var r=typeof e.executePrimary==="boolean"?e.executePrimary:true;var n=typeof e.executeSecondary==="boolean"?e.executeSecondary:true;while(t.length>0){var o=t.shift();if(o.t==="cursor"){if(r&&n){o.o[o.m].apply(o.o,o.p)}else if(r&&o.o.options&&o.o.options.readPreference&&A.indexOf(o.o.options.readPreference.mode)!==-1){o.o[o.m].apply(o.o,o.p)}else if(!r&&n&&o.o.options&&o.o.options.readPreference&&c.indexOf(o.o.options.readPreference.mode)!==-1){o.o[o.m].apply(o.o,o.p)}}else if(o.t==="auth"){this.s.topology[o.t].apply(this.s.topology,o.o)}else{if(r&&n){this.s.topology[o.t](o.n,o.o,o.op,o.c)}else if(r&&o.op&&o.op.readPreference&&A.indexOf(o.op.readPreference.mode)!==-1){this.s.topology[o.t](o.n,o.o,o.op,o.c)}else if(!r&&n&&o.op&&o.op.readPreference&&c.indexOf(o.op.readPreference.mode)!==-1){this.s.topology[o.t](o.n,o.o,o.op,o.c)}}}};Store.prototype.all=function(){return this.s.storedOps};var ServerCapabilities=function(e){var setup_get_property=function(e,t,r){Object.defineProperty(e,t,{enumerable:true,get:function(){return r}})};var t=false;var r=false;var n=false;var o=false;var s=false;var i=false;var a=e.maxWriteBatchSize||1e3;var A=false;var c=false;if(e.minWireVersion>=0){n=true}if(e.maxWireVersion>=1){t=true;o=true}if(e.maxWireVersion>=2){r=true}if(e.maxWireVersion>=3){s=true;i=true}if(e.maxWireVersion>=5){A=true;c=true}if(e.minWireVersion==null){e.minWireVersion=0}if(e.maxWireVersion==null){e.maxWireVersion=0}setup_get_property(this,"hasAggregationCursor",t);setup_get_property(this,"hasWriteCommands",r);setup_get_property(this,"hasTextSearch",n);setup_get_property(this,"hasAuthCommands",o);setup_get_property(this,"hasListCollectionsCommand",s);setup_get_property(this,"hasListIndexesCommand",i);setup_get_property(this,"minWireVersion",e.minWireVersion);setup_get_property(this,"maxWireVersion",e.maxWireVersion);setup_get_property(this,"maxNumberOfDocsInBatch",a);setup_get_property(this,"commandsTakeWriteConcern",A);setup_get_property(this,"commandsTakeCollation",c)};class TopologyBase extends n{constructor(){super();this.setMaxListeners(Infinity)}hasSessionSupport(){return this.logicalSessionTimeoutMinutes!=null}startSession(e,t){const r=new a(this,this.s.sessionPool,e,t);r.once("ended",(()=>{this.s.sessions.delete(r)}));this.s.sessions.add(r);return r}endSessions(e,t){return this.s.coreTopology.endSessions(e,t)}get clientMetadata(){return this.s.coreTopology.s.options.metadata}capabilities(){if(this.s.sCapabilities)return this.s.sCapabilities;if(this.s.coreTopology.lastIsMaster()==null)return null;this.s.sCapabilities=new ServerCapabilities(this.s.coreTopology.lastIsMaster());return this.s.sCapabilities}command(e,t,r,n){this.s.coreTopology.command(e.toString(),t,i.translate(r),n)}insert(e,t,r,n){this.s.coreTopology.insert(e.toString(),t,r,n)}update(e,t,r,n){this.s.coreTopology.update(e.toString(),t,r,n)}remove(e,t,r,n){this.s.coreTopology.remove(e.toString(),t,r,n)}isConnected(e){e=e||{};e=i.translate(e);return this.s.coreTopology.isConnected(e)}isDestroyed(){return this.s.coreTopology.isDestroyed()}cursor(e,t,r){r=r||{};r=i.translate(r);r.disconnectHandler=this.s.store;r.topology=this;return this.s.coreTopology.cursor(e,t,r)}lastIsMaster(){return this.s.coreTopology.lastIsMaster()}selectServer(e,t,r){return this.s.coreTopology.selectServer(e,t,r)}unref(){return this.s.coreTopology.unref()}connections(){return this.s.coreTopology.connections()}close(e,t){this.s.sessions.forEach((e=>e.endSession()));if(this.s.sessionPool){this.s.sessionPool.endAllPooledSessions()}if(e===true){this.s.storeOptions.force=e;this.s.store.flush()}this.s.coreTopology.destroy({force:typeof e==="boolean"?e:false},t)}}Object.defineProperty(TopologyBase.prototype,"bson",{enumerable:true,get:function(){return this.s.coreTopology.s.bson}});Object.defineProperty(TopologyBase.prototype,"parserType",{enumerable:true,get:function(){return this.s.coreTopology.parserType}});Object.defineProperty(TopologyBase.prototype,"logicalSessionTimeoutMinutes",{enumerable:true,get:function(){return this.s.coreTopology.logicalSessionTimeoutMinutes}});Object.defineProperty(TopologyBase.prototype,"type",{enumerable:true,get:function(){return this.s.coreTopology.type}});t.yh=Store;t.ug=ServerCapabilities;t.oF=TopologyBase},8729:(e,t,r)=>{"use strict";const n=r(3994).ReadPreference;const o=r(7310);const s=r(3837).format;const i=r(3994).Logger;const a=r(7578);const A=r(7289);const c=r(3477);const l=r(3111).MongoParseError;e.exports=function(e,t,r){if(typeof t==="function")r=t,t={};t=t||{};let n;try{n=o.parse(e,true)}catch(e){return r(new Error("URL malformed, cannot be parsed"))}if(n.protocol!=="mongodb:"&&n.protocol!=="mongodb+srv:"){return r(new Error("Invalid schema, expected `mongodb` or `mongodb+srv`"))}if(n.protocol==="mongodb:"){return parseHandler(e,t,r)}if(n.hostname.split(".").length<3){return r(new Error("URI does not have hostname, domain name and tld"))}n.domainLength=n.hostname.split(".").length;const s=e.substring("mongodb+srv://".length).split("/")[0];if(s.match(",")){return r(new Error("Invalid URI, cannot contain multiple hostnames"))}if(n.port){return r(new Error("Ports not accepted with `mongodb+srv` URIs"))}let i=`_mongodb._tcp.${n.host}`;a.resolveSrv(i,(function(e,o){if(e)return r(e);if(o.length===0){return r(new Error("No addresses found at host"))}for(let e=0;e1){return r(new l("Multiple text records not allowed"))}n=n[0].join("");const e=c.parse(n);const t=Object.keys(e);if(Object.keys(t).some((e=>e.toLowerCase()==="loadbalanced"))){return r(new l("Load balancer mode requires driver version 4+"))}if(t.some((e=>e!=="authSource"&&e!=="replicaSet"))){return r(new l("Text record must only set `authSource` or `replicaSet`"))}if(t.length>0){u.push(n)}}if(u.length){A+=`?${u.join("&")}`}parseHandler(A,t,r)}))}))};function matchesParentDomain(e,t){let r=/^.*?\./;let n=`.${e.replace(r,"")}`;let o=`.${t.replace(r,"")}`;if(n.endsWith(o))return true;else return false}function parseHandler(e,t,r){let n,o;try{n=parseConnectionString(e,t)}catch(e){o=e}return o?r(o,null):r(null,n)}function parseConnectionString(e,t){let r="";let a="";let c="";let u="admin";let h=o.parse(e,true);if((h.hostname==null||h.hostname==="")&&e.indexOf(".sock")===-1){throw new Error("No hostname or hostnames provided in connection string")}if(h.port==="0"){throw new Error("Invalid port (zero) with hostname")}if(!isNaN(parseInt(h.port,10))&&parseInt(h.port,10)>65535){throw new Error("Invalid port (larger than 65535) with hostname")}if(h.path&&h.path.length>0&&h.path[0]!=="/"&&e.indexOf(".sock")===-1){throw new Error("Missing delimiting slash between hosts and options")}if(h.query){for(let e in h.query){if(e.indexOf("::")!==-1){throw new Error("Double colon in host identifier")}if(h.query[e]===""){throw new Error("Query parameter "+e+" is an incomplete value pair")}}}if(h.auth){let t=h.auth.split(":");if(e.indexOf(h.auth)!==-1&&t.length>2){throw new Error("Username with password containing an unescaped colon")}if(e.indexOf(h.auth)!==-1&&h.auth.indexOf("@")!==-1){throw new Error("Username containing an unescaped at-sign")}}let d=e.split("?").shift();let g=d.split(",");let p=[];for(let e=0;e1&&t.path.indexOf("::")===-1){throw new Error("Slash in host identifier")}else{throw new Error("Double colon in host identifier")}}}if(e.indexOf("?")!==-1){c=e.substr(e.indexOf("?")+1);r=e.substring("mongodb://".length,e.indexOf("?"))}else{r=e.substring("mongodb://".length)}if(r.indexOf("@")!==-1){a=r.split("@")[0];r=r.split("@")[1]}if(r.split("/").length>2){throw new Error("Unsupported host '"+r.split("?")[0]+"', hosts must be URL encoded and contain at most one unencoded slash")}if(r.indexOf(".sock")!==-1){if(r.indexOf(".sock/")!==-1){u=r.split(".sock/")[1];if(u.indexOf("/")!==-1){if(u.split("/").length===2&&u.split("/")[1].length===0){throw new Error("Illegal trailing backslash after database name")}throw new Error("More than 1 database name in URL")}r=r.split("/",r.indexOf(".sock")+".sock".length)}}else if(r.indexOf("/")!==-1){if(r.split("/").length>2){if(r.split("/")[2].length===0){throw new Error("Illegal trailing backslash after database name")}throw new Error("More than 1 database name in URL")}u=r.split("/")[1];r=r.split("/")[0]}r=decodeURIComponent(r);let E={};let m=a||"";let C=m.split(":",2);let I=decodeURIComponent(C[0]);if(C[0]!==encodeURIComponent(I)){throw new Error("Username contains an illegal unescaped character")}C[0]=I;if(C[1]){let e=decodeURIComponent(C[1]);if(C[1]!==encodeURIComponent(e)){throw new Error("Password contains an illegal unescaped character")}C[1]=e}if(C.length===2)E.auth={user:C[0],password:C[1]};if(t&&t.auth!=null)E.auth=t.auth;let y;let B;let Q;let b;let w={socketOptions:{}};let S={read_preference_tags:[]};let v={socketOptions:{}};let R={socketOptions:{}};E.server_options=w;E.db_options=S;E.rs_options=v;E.mongos_options=R;if(e.match(/\.sock/)){let t=e.substring(e.indexOf("mongodb://")+"mongodb://".length,e.lastIndexOf(".sock")+".sock".length);if(t.indexOf("@")!==-1)t=t.split("@")[1];t=decodeURIComponent(t);Q=[{domain_socket:t}]}else{y=r;let e={};Q=y.split(",").map((function(t){let r,n,o;if(o=/\[([^\]]+)\](?::(.+))?/.exec(t)){r=o[1];n=parseInt(o[2],10)||27017}else{let e=t.split(":",2);r=e[0]||"localhost";n=e[1]!=null?parseInt(e[1],10):27017;if(r.indexOf("?")!==-1)r=r.split(/\?/)[0]}if(e[r+"_"+n])return null;e[r+"_"+n]=1;return{host:r,port:n}})).filter((function(e){return e!=null}))}E.dbName=u||"admin";B=(c||"").split(/[&;]/);if(B.some((e=>e.toLowerCase()==="loadbalanced"))){throw new l("Load balancer mode requires driver version 4+")}B.forEach((function(e){if(!e)return;var t=e.split("="),r=t[0],o=t[1];switch(r){case"slaveOk":case"slave_ok":w.slave_ok=o==="true";S.slaveOk=o==="true";break;case"maxPoolSize":case"poolSize":w.poolSize=parseInt(o,10);v.poolSize=parseInt(o,10);break;case"appname":E.appname=decodeURIComponent(o);break;case"autoReconnect":case"auto_reconnect":w.auto_reconnect=o==="true";break;case"ssl":if(o==="prefer"){w.ssl=o;v.ssl=o;R.ssl=o;break}w.ssl=o==="true";v.ssl=o==="true";R.ssl=o==="true";break;case"sslValidate":w.sslValidate=o==="true";v.sslValidate=o==="true";R.sslValidate=o==="true";break;case"replicaSet":case"rs_name":v.rs_name=o;break;case"reconnectWait":v.reconnectWait=parseInt(o,10);break;case"retries":v.retries=parseInt(o,10);break;case"readSecondary":case"read_secondary":v.read_secondary=o==="true";break;case"fsync":S.fsync=o==="true";break;case"journal":S.j=o==="true";break;case"safe":S.safe=o==="true";break;case"nativeParser":case"native_parser":S.native_parser=o==="true";break;case"readConcernLevel":S.readConcern=new A(o);break;case"connectTimeoutMS":w.socketOptions.connectTimeoutMS=parseInt(o,10);v.socketOptions.connectTimeoutMS=parseInt(o,10);R.socketOptions.connectTimeoutMS=parseInt(o,10);break;case"socketTimeoutMS":w.socketOptions.socketTimeoutMS=parseInt(o,10);v.socketOptions.socketTimeoutMS=parseInt(o,10);R.socketOptions.socketTimeoutMS=parseInt(o,10);break;case"w":S.w=parseInt(o,10);if(isNaN(S.w))S.w=o;break;case"authSource":S.authSource=o;break;case"gssapiServiceName":S.gssapiServiceName=o;break;case"authMechanism":if(o==="GSSAPI"){if(E.auth==null){let e=decodeURIComponent(m);if(e.indexOf("@")===-1)throw new Error("GSSAPI requires a provided principal");E.auth={user:e,password:null}}else{E.auth.user=decodeURIComponent(E.auth.user)}}else if(o==="MONGODB-X509"){E.auth={user:decodeURIComponent(m)}}if(o!=="GSSAPI"&&o!=="MONGODB-X509"&&o!=="MONGODB-CR"&&o!=="DEFAULT"&&o!=="SCRAM-SHA-1"&&o!=="SCRAM-SHA-256"&&o!=="PLAIN")throw new Error("Only DEFAULT, GSSAPI, PLAIN, MONGODB-X509, or SCRAM-SHA-1 is supported by authMechanism");S.authMechanism=o;break;case"authMechanismProperties":{let e=o.split(",");let t={};e.forEach((function(e){let r=e.split(":");t[r[0]]=r[1]}));S.authMechanismProperties=t;if(typeof t.SERVICE_NAME==="string")S.gssapiServiceName=t.SERVICE_NAME;if(typeof t.SERVICE_REALM==="string")S.gssapiServiceRealm=t.SERVICE_REALM;if(typeof t.CANONICALIZE_HOST_NAME==="string")S.gssapiCanonicalizeHostName=t.CANONICALIZE_HOST_NAME==="true"?true:false}break;case"wtimeoutMS":S.wtimeout=parseInt(o,10);break;case"readPreference":if(!n.isValid(o))throw new Error("readPreference must be either primary/primaryPreferred/secondary/secondaryPreferred/nearest");S.readPreference=o;break;case"maxStalenessSeconds":S.maxStalenessSeconds=parseInt(o,10);break;case"readPreferenceTags":{o=decodeURIComponent(o);let e={};if(o==null||o===""){S.read_preference_tags.push(e);break}let t=o.split(/,/);for(let r=0;r9){throw new Error("zlibCompressionLevel must be an integer between -1 and 9")}b.zlibCompressionLevel=e;w.compression=b}break;case"retryWrites":S.retryWrites=o==="true";break;case"minSize":S.minSize=parseInt(o,10);break;default:{let e=i("URL Parser");e.warn(`${r} is not supported as a connection string option`)}break}}));if(S.read_preference_tags.length===0){S.read_preference_tags=null}if((S.w===-1||S.w===0)&&(S.journal===true||S.fsync===true||S.safe===true))throw new Error("w set to -1 or 0 cannot be combined with safe/w/journal/fsync");if(!S.readPreference){S.readPreference="primary"}S=Object.assign(S,t);E.servers=Q;return E}},1371:(e,t,r)=>{"use strict";const n=r(3111).MongoError;const o=r(2481);var shallowClone=function(e){var t={};for(var r in e)t[r]=e[r];return t};var getSingleProperty=function(e,t,r){Object.defineProperty(e,t,{enumerable:true,get:function(){return r}})};var s=t.formatSortValue=function(e){var t=(""+e).toLowerCase();switch(t){case"ascending":case"asc":case"1":return 1;case"descending":case"desc":case"-1":return-1;default:throw new Error("Illegal sort clause, must be of the form "+"[['field1', '(ascending|descending)'], "+"['field2', '(ascending|descending)']]")}};var i=t.formattedOrderClause=function(e){var t=new Map;if(e==null)return null;if(Array.isArray(e)){if(e.length===0){return null}for(var r=0;r{if(e==null){throw new TypeError("This method requires a valid topology instance")}if(!Array.isArray(r)){throw new TypeError("This method requires an array of arguments to apply")}o=o||{};const s=e.s.promiseLibrary;let i=r[r.length-1];let a,A,c;if(!o.skipSessions&&e.hasSessionSupport()){A=r[r.length-2];if(A==null||A.session==null){c=Symbol();a=e.startSession({owner:c});const t=r.length-2;r[t]=Object.assign({},r[t],{session:a})}else if(A.session&&A.session.hasEnded){throw new n("Use of expired sessions is not permitted")}}const makeExecuteCallback=(e,t)=>function executeCallback(r,n){if(a&&a.owner===c&&!o.returnsCursor){a.endSession((()=>{delete A.session;if(r)return t(r);e(n)}))}else{if(r)return t(r);e(n)}};if(typeof i==="function"){i=r.pop();const e=makeExecuteCallback((e=>i(null,e)),(e=>i(e,null)));r.push(e);try{return t.apply(null,r)}catch(t){e(t);throw t}}if(r[r.length-1]!=null){throw new TypeError("final argument to `executeLegacyOperation` must be a callback")}return new s((function(e,n){const o=makeExecuteCallback(e,n);r[r.length-1]=o;try{return t.apply(null,r)}catch(e){o(e)}}))};function applyRetryableWrites(e,t){if(t&&t.s.options.retryWrites){e.retryWrites=true}return e}function applyWriteConcern(e,t,r){r=r||{};const n=t.db;const s=t.collection;if(r.session&&r.session.inTransaction()){if(e.writeConcern){delete e.writeConcern}return e}const i=o.fromOptions(r);if(i){return Object.assign(e,{writeConcern:i})}if(s&&s.writeConcern){return Object.assign(e,{writeConcern:Object.assign({},s.writeConcern)})}if(n&&n.writeConcern){return Object.assign(e,{writeConcern:Object.assign({},n.writeConcern)})}return e}function isPromiseLike(e){return e&&typeof e.then==="function"}function decorateWithCollation(e,t,r){const o=t.s&&t.s.topology||t.topology;if(!o){throw new TypeError('parameter "target" is missing a topology')}const s=o.capabilities();if(r.collation&&typeof r.collation==="object"){if(s&&s.commandsTakeCollation){e.collation=r.collation}else{throw new n(`Current topology does not support collation`)}}}function decorateWithReadConcern(e,t,r){if(r&&r.session&&r.session.inTransaction()){return}let n=Object.assign({},e.readConcern||{});if(t.s.readConcern){Object.assign(n,t.s.readConcern)}if(Object.keys(n).length>0){Object.assign(e,{readConcern:n})}}function decorateWithExplain(e,t){if(e.explain){return e}return{explain:e,verbosity:t.verbosity}}const u=+process.version.split(".")[0].substring(1);const emitProcessWarning=e=>u<=6?process.emitWarning(e,"DeprecationWarning",g):process.emitWarning(e,{type:"DeprecationWarning",code:g});const emitConsoleWarning=e=>console.error(e);const h=process.emitWarning?emitProcessWarning:emitConsoleWarning;function defaultMsgHandler(e,t){return`${e} option [${t}] is deprecated and will be removed in a later version.`}function deprecateOptions(e,t){if(process.noDeprecation===true){return t}const r=e.msgHandler?e.msgHandler:defaultMsgHandler;const n=new Set;function deprecated(){const o=arguments[e.optionsIndex];if(!c(o)||Object.keys(o).length===0){return t.apply(this,arguments)}e.deprecatedOptions.forEach((t=>{if(Object.prototype.hasOwnProperty.call(o,t)&&!n.has(t)){n.add(t);const o=r(e.name,t);h(o);if(this&&this.getLogger){const e=this.getLogger();if(e){e.warn(o)}}}}));return t.apply(this,arguments)}Object.setPrototypeOf(deprecated,t);if(t.prototype){deprecated.prototype=t.prototype}return deprecated}const d={};try{r(1749);d.ASYNC_ITERATOR=true}catch(e){d.ASYNC_ITERATOR=false}class MongoDBNamespace{constructor(e,t){this.db=e;this.collection=t}toString(){return this.collection?`${this.db}.${this.collection}`:this.db}withCollection(e){return new MongoDBNamespace(this.db,e)}static fromString(e){if(!e){throw new Error(`Cannot parse namespace from "${e}"`)}const t=e.indexOf(".");return new MongoDBNamespace(e.substring(0,t),e.substring(t+1))}}function*makeCounter(e){let t=e||0;while(true){const e=t;t+=1;yield e}}function maybePromise(e,t,r){const n=e&&e.s&&e.s.promiseLibrary||Promise;let o;if(typeof t!=="function"){o=new n(((e,r)=>{t=(t,n)=>{if(t)return r(t);e(n)}}))}r((function(e,r){if(e!=null){try{t(e)}catch(e){return process.nextTick((()=>{throw e}))}return}t(e,r)}));return o}function now(){const e=process.hrtime();return Math.floor(e[0]*1e3+e[1]/1e6)}function calculateDurationInMs(e){if(typeof e!=="number"){throw TypeError("numeric value required to calculate duration")}const t=now()-e;return t<0?0:t}function makeInterruptableAsyncInterval(e,t){let r;let n;let o;let s=false;t=t||{};const i=t.interval||1e3;const a=t.minInterval||500;const A=typeof t.immediate==="boolean"?t.immediate:false;const c=typeof t.clock==="function"?t.clock:now;function wake(){const e=c();const t=e-o;const r=e-n;const s=i-r;o=e;if(ta){reschedule(a)}if(s<0){executeAndReschedule()}}function stop(){s=true;if(r){clearTimeout(r);r=null}n=0;o=0}function reschedule(e){if(s)return;clearTimeout(r);r=setTimeout(executeAndReschedule,e||i)}function executeAndReschedule(){o=0;n=c();e((e=>{if(e)throw e;reschedule(i)}))}if(A){executeAndReschedule()}else{n=c();reschedule()}return{wake:wake,stop:stop}}function hasAtomicOperators(e){if(Array.isArray(e)){return e.reduce(((e,t)=>e||hasAtomicOperators(t)),null)}return Object.keys(typeof e.toBSON!=="function"?e:e.toBSON()).map((e=>e[0])).indexOf("$")>=0}const g="MONGODB DRIVER";function emitWarning(e){if(process.emitWarning){return u<=6?process.emitWarning(e,undefined,g):process.emitWarning(e,{code:g})}else{return console.error(`[${g}] Warning:`,e)}}const p=new Set;function emitWarningOnce(e){if(!p.has(e)){p.add(e);return emitWarning(e)}}function isSuperset(e,t){e=Array.isArray(e)?new Set(e):e;t=Array.isArray(t)?new Set(t):t;for(const r of t){if(!e.has(r)){return false}}return true}function isRecord(e,t){const r=Object.prototype.toString;const n=Object.prototype.hasOwnProperty;const isObject=e=>r.call(e)==="[object Object]";if(!isObject(e)){return false}const o=e.constructor;if(o&&o.prototype){if(!isObject(o.prototype)){return false}if(!n.call(o.prototype,"isPrototypeOf")){return false}}if(t){const r=Object.keys(e);return isSuperset(r,t)}return true}function deepCopy(e){if(e==null){return e}else if(Array.isArray(e)){return e.map((e=>deepCopy(e)))}else if(isRecord(e)){const t={};for(const r in e){t[r]=deepCopy(e[r])}return t}const t=e.constructor;if(t){switch(t.name.toLowerCase()){case"date":return new t(Number(e));case"map":return new Map(e);case"set":return new Set(e);case"buffer":return Buffer.from(e)}}return e}function parsePackageVersion(e){const t=e.version.split(".").map((e=>Number.parseInt(e,10)));return{major:t[0],minor:t[1],patch:t[2]}}e.exports={filterOptions:filterOptions,mergeOptions:mergeOptions,translateOptions:translateOptions,shallowClone:shallowClone,getSingleProperty:getSingleProperty,checkCollectionName:a,toError:toError,formattedOrderClause:i,parseIndexOptions:parseIndexOptions,normalizeHintField:A,handleCallback:handleCallback,decorateCommand:decorateCommand,isObject:c,debugOptions:debugOptions,MAX_JS_INT:Number.MAX_SAFE_INTEGER+1,conditionallyMergeWriteConcern:conditionallyMergeWriteConcern,executeLegacyOperation:executeLegacyOperation,applyRetryableWrites:applyRetryableWrites,applyWriteConcern:applyWriteConcern,isPromiseLike:isPromiseLike,decorateWithCollation:decorateWithCollation,decorateWithReadConcern:decorateWithReadConcern,decorateWithExplain:decorateWithExplain,deprecateOptions:deprecateOptions,SUPPORTS:d,MongoDBNamespace:MongoDBNamespace,emitDeprecationWarning:h,makeCounter:makeCounter,maybePromise:maybePromise,now:now,calculateDurationInMs:calculateDurationInMs,makeInterruptableAsyncInterval:makeInterruptableAsyncInterval,hasAtomicOperators:hasAtomicOperators,MONGODB_WARNING_CODE:g,emitWarning:emitWarning,emitWarningOnce:emitWarningOnce,deepCopy:deepCopy,parsePackageVersion:parsePackageVersion}},2481:(e,t,r)=>{"use strict";const n=new Set(["w","wtimeout","j","journal","fsync"]);let o;class WriteConcern{constructor(e,t,r,n){if(e!=null){this.w=e}if(t!=null){this.wtimeout=t}if(r!=null){this.j=r}if(n!=null){this.fsync=n}}static fromOptions(e){if(e==null||e.writeConcern==null&&e.w==null&&e.wtimeout==null&&e.j==null&&e.journal==null&&e.fsync==null){return}if(e.writeConcern){if(typeof e.writeConcern==="string"){return new WriteConcern(e.writeConcern)}if(!Object.keys(e.writeConcern).some((e=>n.has(e)))){return}return new WriteConcern(e.writeConcern.w,e.writeConcern.wtimeout,e.writeConcern.j||e.writeConcern.journal,e.writeConcern.fsync)}if(!o)o=r(1371);o.emitWarningOnce(`Top-level use of w, wtimeout, j, and fsync is deprecated. Use writeConcern instead.`);return new WriteConcern(e.w,e.wtimeout,e.j||e.journal,e.fsync)}}e.exports=WriteConcern},900:e=>{var t=1e3;var r=t*60;var n=r*60;var o=n*24;var s=o*7;var i=o*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isFinite(e)){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a){return}var A=parseFloat(a[1]);var c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return A*i;case"weeks":case"week":case"w":return A*s;case"days":case"day":case"d":return A*o;case"hours":case"hour":case"hrs":case"hr":case"h":return A*n;case"minutes":case"minute":case"mins":case"min":case"m":return A*r;case"seconds":case"second":case"secs":case"sec":case"s":return A*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return A;default:return undefined}}function fmtShort(e){var s=Math.abs(e);if(s>=o){return Math.round(e/o)+"d"}if(s>=n){return Math.round(e/n)+"h"}if(s>=r){return Math.round(e/r)+"m"}if(s>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){var s=Math.abs(e);if(s>=o){return plural(e,s,o,"day")}if(s>=n){return plural(e,s,n,"hour")}if(s>=r){return plural(e,s,r,"minute")}if(s>=t){return plural(e,s,t,"second")}return e+" ms"}function plural(e,t,r,n){var o=t>=r*1.5;return Math.round(e/r)+" "+n+(o?"s":"")}},1156:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.findSync=t.find=t.findAsync=void 0;const n=r(4351);const o=r(1017);const s=r(7147);const i=r(8237);const a=i("new-find-package-json:main");function findAsync(e,t,r){return n.__asyncGenerator(this,arguments,(function*findAsync_1(){a(`findSync: called with "${e}" and "${t}" and "${r}"`);t=!!t?t:"";const s=!!r?r:"package.json";const i=!!t||o.isAbsolute(t)?t:process.cwd();let A=o.resolve(i,e);let c=false;while(A){if(A===o.parse(A).root){c=true}const e=o.resolve(A,s);a(`findSync: testing path "${e}"`);const t=yield n.__await(statPathAsync(e));if(!!t&&t.isFile()){a(`findSync: path exists and is file "${e}"`);yield yield n.__await(e);a(`findSync: after yield`)}if(c){break}A=o.resolve(A,"..")}}))}t.findAsync=findAsync;t.find=findAsync;function*findSync(e,t,r){a(`findSync: called with "${e}" and "${t}" and "${r}"`);t=!!t?t:"";const n=!!r?r:"package.json";const s=!!t||o.isAbsolute(t)?t:process.cwd();let i=o.resolve(s,e);let A=false;while(i){if(i===o.parse(i).root){A=true}const e=o.resolve(i,n);a(`findSync: testing path "${e}"`);const t=statPathSync(e);if(!!t&&t.isFile()){a(`findSync: path exists and is file "${e}"`);yield e;a(`findSync: after yield`)}if(A){break}i=o.resolve(i,"..")}}t.findSync=findSync;function statPathSync(e){try{return s.statSync(e)}catch(e){if(e.code==="ENOENT"){return undefined}throw e}}function statPathAsync(e){return n.__awaiter(this,void 0,void 0,(function*(){return s.promises.stat(e).catch((e=>{if(e.code==="ENOENT"){return undefined}throw e}))}))}},1223:(e,t,r)=>{var n=r(2940);e.exports=n(once);e.exports.strict=n(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},9341:function(__unused_webpack_module,exports,__nccwpck_require__){"use strict";var __assign=this&&this.__assign||function(){__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r{"use strict";const n=r(9341);e.exports=function(){return n.makeOptionalRequire.apply(n,arguments)};e.exports.tryRequire=n.tryRequire;e.exports.tryResolve=n.tryResolve;e.exports["try"]=n.tryRequire;e.exports.resolve=n.tryResolve;e.exports.makeOptionalRequire=n.makeOptionalRequire;e.exports.optionalRequire=n.optionalRequire;e.exports.optionalRequireCwd=n.optionalRequireCwd;e.exports.optionalRequireTop=n.optionalRequireTop;let o;Object.defineProperty(e.exports,"log",{set(e){o=e;n.setDefaultLog(e)},get(){return o}})},6978:(e,t,r)=>{"use strict";const n=r(7147);const{promisify:o}=r(3837);const s=o(n.access);e.exports=async e=>{try{await s(e);return true}catch(e){return false}};e.exports.sync=e=>{try{n.accessSync(e);return true}catch(e){return false}}},8714:e=>{"use strict";function posix(e){return e.charAt(0)==="/"}function win32(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;var r=t.exec(e);var n=r[1]||"";var o=Boolean(n&&n.charAt(1)!==":");return Boolean(r[2]||o)}e.exports=process.platform==="win32"?win32:posix;e.exports.posix=posix;e.exports.win32=win32},4833:e=>{e.exports=Pend;function Pend(){this.pending=0;this.max=Infinity;this.listeners=[];this.waiting=[];this.error=null}Pend.prototype.go=function(e){if(this.pending0&&e.pending{"use strict";const n=r(1017);const o=r(1812);const pkgDir=async e=>{const t=await o("package.json",{cwd:e});return t&&n.dirname(t)};e.exports=pkgDir;e.exports["default"]=pkgDir;e.exports.sync=e=>{const t=o.sync("package.json",{cwd:e});return t&&n.dirname(t)}},1812:(e,t,r)=>{"use strict";const n=r(1017);const o=r(5937);const s=r(6978);const i=Symbol("findUp.stop");e.exports=async(e,t={})=>{let r=n.resolve(t.cwd||"");const{root:s}=n.parse(r);const a=[].concat(e);const runMatcher=async t=>{if(typeof e!=="function"){return o(a,t)}const r=await e(t.cwd);if(typeof r==="string"){return o([r],t)}return r};while(true){const e=await runMatcher({...t,cwd:r});if(e===i){return}if(e){return n.resolve(r,e)}if(r===s){return}r=n.dirname(r)}};e.exports.sync=(e,t={})=>{let r=n.resolve(t.cwd||"");const{root:s}=n.parse(r);const a=[].concat(e);const runMatcher=t=>{if(typeof e!=="function"){return o.sync(a,t)}const r=e(t.cwd);if(typeof r==="string"){return o.sync([r],t)}return r};while(true){const e=runMatcher({...t,cwd:r});if(e===i){return}if(e){return n.resolve(r,e)}if(r===s){return}r=n.dirname(r)}};e.exports.exists=s;e.exports.sync.exists=s.sync;e.exports.stop=i},5937:(e,t,r)=>{"use strict";const n=r(1017);const o=r(7147);const{promisify:s}=r(3837);const i=r(6249);const a=s(o.stat);const A=s(o.lstat);const c={directory:"isDirectory",file:"isFile"};function checkType({type:e}){if(e in c){return}throw new Error(`Invalid type specified: ${e}`)}const matchType=(e,t)=>e===undefined||t[c[e]]();e.exports=async(e,t)=>{t={cwd:process.cwd(),type:"file",allowSymlinks:true,...t};checkType(t);const r=t.allowSymlinks?a:A;return i(e,(async e=>{try{const o=await r(n.resolve(t.cwd,e));return matchType(t.type,o)}catch(e){return false}}),t)};e.exports.sync=(e,t)=>{t={cwd:process.cwd(),allowSymlinks:true,type:"file",...t};checkType(t);const r=t.allowSymlinks?o.statSync:o.lstatSync;for(const o of e){try{const e=r(n.resolve(t.cwd,o));if(matchType(t.type,e)){return o}}catch(e){}}}},4752:(e,t,r)=>{"use strict";const n=r(7471);const pLimit=e=>{if(!((Number.isInteger(e)||e===Infinity)&&e>0)){return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"))}const t=[];let r=0;const next=()=>{r--;if(t.length>0){t.shift()()}};const run=(e,t,...o)=>{r++;const s=n(e,...o);t(s);s.then(next,next)};const enqueue=(n,o,...s)=>{if(rnew Promise((r=>enqueue(e,r,...t)));Object.defineProperties(generator,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}});return generator};e.exports=pLimit;e.exports["default"]=pLimit},6249:(e,t,r)=>{"use strict";const n=r(4752);class EndError extends Error{constructor(e){super();this.value=e}}const testElement=async(e,t)=>t(await e);const finder=async e=>{const t=await Promise.all(e);if(t[1]===true){throw new EndError(t[0])}return false};const pLocate=async(e,t,r)=>{r={concurrency:Infinity,preserveOrder:true,...r};const o=n(r.concurrency);const s=[...e].map((e=>[e,o(testElement,e,t)]));const i=n(r.preserveOrder?1:Infinity);try{await Promise.all(s.map((e=>i(finder,e))))}catch(e){if(e instanceof EndError){return e.value}throw e}};e.exports=pLocate;e.exports["default"]=pLocate},7471:e=>{"use strict";const pTry=(e,...t)=>new Promise((r=>{r(e(...t))}));e.exports=pTry;e.exports["default"]=pTry},7214:e=>{"use strict";const t={};function createErrorType(e,r,n){if(!n){n=Error}function getMessage(e,t,n){if(typeof r==="string"){return r}else{return r(e,t,n)}}class NodeError extends n{constructor(e,t,r){super(getMessage(e,t,r))}}NodeError.prototype.name=n.name;NodeError.prototype.code=e;t[e]=NodeError}function oneOf(e,t){if(Array.isArray(e)){const r=e.length;e=e.map((e=>String(e)));if(r>2){return`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]}else if(r===2){return`one of ${t} ${e[0]} or ${e[1]}`}else{return`of ${t} ${e[0]}`}}else{return`of ${t} ${String(e)}`}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!=="number"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError);createErrorType("ERR_INVALID_ARG_TYPE",(function(e,t,r){let n;if(typeof t==="string"&&startsWith(t,"not ")){n="must not be";t=t.replace(/^not /,"")}else{n="must be"}let o;if(endsWith(e," argument")){o=`The ${e} ${n} ${oneOf(t,"type")}`}else{const r=includes(e,".")?"property":"argument";o=`The "${e}" ${r} ${n} ${oneOf(t,"type")}`}o+=`. Received type ${typeof r}`;return o}),TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"}));createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"}));createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");e.exports.q=t},1359:(e,t,r)=>{"use strict";var n=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var o=r(1433);var s=r(6993);r(4124)(Duplex,o);{var i=n(s.prototype);for(var a=0;a{"use strict";e.exports=PassThrough;var n=r(4415);r(4124)(PassThrough,n);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);n.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},1433:(e,t,r)=>{"use strict";e.exports=Readable;var n;Readable.ReadableState=ReadableState;var o=r(2361).EventEmitter;var s=function EElistenerCount(e,t){return e.listeners(t).length};var i=r(2387);var a=r(4300).Buffer;var A=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return a.from(e)}function _isUint8Array(e){return a.isBuffer(e)||e instanceof A}var c=r(3837);var l;if(c&&c.debuglog){l=c.debuglog("stream")}else{l=function debug(){}}var u=r(2746);var h=r(7049);var d=r(9948),g=d.getHighWaterMark;var p=r(7214).q,E=p.ERR_INVALID_ARG_TYPE,m=p.ERR_STREAM_PUSH_AFTER_EOF,C=p.ERR_METHOD_NOT_IMPLEMENTED,I=p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var y;var B;var Q;r(4124)(Readable,i);var b=h.errorOrDestroy;var w=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if(typeof e.prependListener==="function")return e.prependListener(t,r);if(!e._events||!e._events[t])e.on(t,r);else if(Array.isArray(e._events[t]))e._events[t].unshift(r);else e._events[t]=[r,e._events[t]]}function ReadableState(e,t,o){n=n||r(1359);e=e||{};if(typeof o!=="boolean")o=t instanceof n;this.objectMode=!!e.objectMode;if(o)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=g(this,e,"readableHighWaterMark",o);this.buffer=new u;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!y)y=r(4841).s;this.decoder=new y(e.encoding);this.encoding=e.encoding}}function Readable(e){n=n||r(1359);if(!(this instanceof Readable))return new Readable(e);var t=this instanceof n;this._readableState=new ReadableState(e,this,t);this.readable=true;if(e){if(typeof e.read==="function")this._read=e.read;if(typeof e.destroy==="function")this._destroy=e.destroy}i.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=h.destroy;Readable.prototype._undestroy=h.undestroy;Readable.prototype._destroy=function(e,t){t(e)};Readable.prototype.push=function(e,t){var r=this._readableState;var n;if(!r.objectMode){if(typeof e==="string"){t=t||r.defaultEncoding;if(t!==r.encoding){e=a.from(e,t);t=""}n=true}}else{n=true}return readableAddChunk(this,e,t,false,n)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,r,n,o){l("readableAddChunk",t);var s=e._readableState;if(t===null){s.reading=false;onEofChunk(e,s)}else{var i;if(!o)i=chunkInvalid(s,t);if(i){b(e,i)}else if(s.objectMode||t&&t.length>0){if(typeof t!=="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==a.prototype){t=_uint8ArrayToBuffer(t)}if(n){if(s.endEmitted)b(e,new I);else addChunk(e,s,t,true)}else if(s.ended){b(e,new m)}else if(s.destroyed){return false}else{s.reading=false;if(s.decoder&&!r){t=s.decoder.write(t);if(s.objectMode||t.length!==0)addChunk(e,s,t,false);else maybeReadMore(e,s)}else{addChunk(e,s,t,false)}}}else if(!n){s.reading=false;maybeReadMore(e,s)}}return!s.ended&&(s.length=S){e=S}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){l("read",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended)){l("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var n=t.needReadable;l("need readable",n);if(t.length===0||t.length-e0)o=fromList(e,t);else o=null;if(o===null){t.needReadable=t.length<=t.highWaterMark;e=0}else{t.length-=e;t.awaitDrain=0}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(o!==null)this.emit("data",o);return o};function onEofChunk(e,t){l("onEofChunk");if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;if(t.sync){emitReadable(e)}else{t.needReadable=false;if(!t.emittedReadable){t.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var t=e._readableState;l("emitReadable",t.needReadable,t.emittedReadable);t.needReadable=false;if(!t.emittedReadable){l("emitReadable",t.flowing);t.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var t=e._readableState;l("emitReadable_",t.destroyed,t.length,t.ended);if(!t.destroyed&&(t.length||t.ended)){e.emit("readable");t.emittedReadable=false}t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark;flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;process.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){while(!t.reading&&!t.ended&&(t.length1&&indexOf(n.pipes,e)!==-1)&&!A){l("false write response, pause",n.awaitDrain);n.awaitDrain++}r.pause()}}function onerror(t){l("onerror",t);unpipe();e.removeListener("error",onerror);if(s(e,"error")===0)b(e,t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){l("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){l("unpipe");r.unpipe(e)}e.emit("pipe",r);if(!n.flowing){l("pipe resume");r.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var t=e._readableState;l("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&s(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,r);return this}if(!e){var n=t.pipes;var o=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var s=0;s0;if(n.flowing!==false)this.resume()}else if(e==="readable"){if(!n.endEmitted&&!n.readableListening){n.readableListening=n.needReadable=true;n.flowing=false;n.emittedReadable=false;l("on readable",n.length,n.reading);if(n.length){emitReadable(this)}else if(!n.reading){process.nextTick(nReadingNextTick,this)}}}return r};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,t){var r=i.prototype.removeListener.call(this,e,t);if(e==="readable"){process.nextTick(updateReadableListening,this)}return r};Readable.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);if(e==="readable"||e===undefined){process.nextTick(updateReadableListening,this)}return t};function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0;if(t.resumeScheduled&&!t.paused){t.flowing=true}else if(e.listenerCount("data")>0){e.resume()}}function nReadingNextTick(e){l("readable nexttick read 0");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){l("resume");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,t){if(!t.resumeScheduled){t.resumeScheduled=true;process.nextTick(resume_,e,t)}}function resume_(e,t){l("resume",t.reading);if(!t.reading){e.read(0)}t.resumeScheduled=false;e.emit("resume");flow(e);if(t.flowing&&!t.reading)e.read(0)}Readable.prototype.pause=function(){l("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){l("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(e){var t=e._readableState;l("flow",t.flowing);while(t.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var t=this;var r=this._readableState;var n=false;e.on("end",(function(){l("wrapped end");if(r.decoder&&!r.ended){var e=r.decoder.end();if(e&&e.length)t.push(e)}t.push(null)}));e.on("data",(function(o){l("wrapped data");if(r.decoder)o=r.decoder.write(o);if(r.objectMode&&(o===null||o===undefined))return;else if(!r.objectMode&&(!o||!o.length))return;var s=t.push(o);if(!s){n=true;e.pause()}}));for(var o in e){if(this[o]===undefined&&typeof e[o]==="function"){this[o]=function methodWrap(t){return function methodWrapReturnFunction(){return e[t].apply(e,arguments)}}(o)}}for(var s=0;s=t.length){if(t.decoder)r=t.buffer.join("");else if(t.buffer.length===1)r=t.buffer.first();else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=t.buffer.consume(e,t.decoder)}return r}function endReadable(e){var t=e._readableState;l("endReadable",t.endEmitted);if(!t.endEmitted){t.ended=true;process.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){l("endReadableNT",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end");if(e.autoDestroy){var r=t._writableState;if(!r||r.autoDestroy&&r.finished){t.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(e,t){if(Q===undefined){Q=r(9082)}return Q(Readable,e,t)}}function indexOf(e,t){for(var r=0,n=e.length;r{"use strict";e.exports=Transform;var n=r(7214).q,o=n.ERR_METHOD_NOT_IMPLEMENTED,s=n.ERR_MULTIPLE_CALLBACK,i=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0;var A=r(1359);r(4124)(Transform,A);function afterTransform(e,t){var r=this._transformState;r.transforming=false;var n=r.writecb;if(n===null){return this.emit("error",new s)}r.writechunk=null;r.writecb=null;if(t!=null)this.push(t);n(e);var o=this._readableState;o.reading=false;if(o.needReadable||o.length{"use strict";e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var n;Writable.WritableState=WritableState;var o={deprecate:r(5278)};var s=r(2387);var i=r(4300).Buffer;var a=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return i.from(e)}function _isUint8Array(e){return i.isBuffer(e)||e instanceof a}var A=r(7049);var c=r(9948),l=c.getHighWaterMark;var u=r(7214).q,h=u.ERR_INVALID_ARG_TYPE,d=u.ERR_METHOD_NOT_IMPLEMENTED,g=u.ERR_MULTIPLE_CALLBACK,p=u.ERR_STREAM_CANNOT_PIPE,E=u.ERR_STREAM_DESTROYED,m=u.ERR_STREAM_NULL_VALUES,C=u.ERR_STREAM_WRITE_AFTER_END,I=u.ERR_UNKNOWN_ENCODING;var y=A.errorOrDestroy;r(4124)(Writable,s);function nop(){}function WritableState(e,t,o){n=n||r(1359);e=e||{};if(typeof o!=="boolean")o=t instanceof n;this.objectMode=!!e.objectMode;if(o)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=l(this,e,"writableHighWaterMark",o);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var s=e.decodeStrings===false;this.decodeStrings=!s;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:o.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var B;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){B=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(B.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{B=function realHasInstance(e){return e instanceof this}}function Writable(e){n=n||r(1359);var t=this instanceof n;if(!t&&!B.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}s.call(this)}Writable.prototype.pipe=function(){y(this,new p)};function writeAfterEnd(e,t){var r=new C;y(e,r);process.nextTick(t,r)}function validChunk(e,t,r,n){var o;if(r===null){o=new m}else if(typeof r!=="string"&&!t.objectMode){o=new h("chunk",["string","Buffer"],r)}if(o){y(e,o);process.nextTick(n,o);return false}return true}Writable.prototype.write=function(e,t,r){var n=this._writableState;var o=false;var s=!n.objectMode&&_isUint8Array(e);if(s&&!i.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){r=t;t=null}if(s)t="buffer";else if(!t)t=n.defaultEncoding;if(typeof r!=="function")r=nop;if(n.ending)writeAfterEnd(this,r);else if(s||validChunk(this,n,e,r)){n.pendingcb++;o=writeOrBuffer(this,n,s,e,t,r)}return o};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new I(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=i.from(t,r)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,n,o,s){if(!r){var i=decodeChunk(t,n,o);if(n!==i){r=true;o="buffer";n=i}}var a=t.objectMode?1:n.length;t.length+=a;var A=t.length{"use strict";var n;function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var o=r(6080);var s=Symbol("lastResolve");var i=Symbol("lastReject");var a=Symbol("error");var A=Symbol("ended");var c=Symbol("lastPromise");var l=Symbol("handlePromise");var u=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[s];if(t!==null){var r=e[u].read();if(r!==null){e[c]=null;e[s]=null;e[i]=null;t(createIterResult(r,false))}}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,n){e.then((function(){if(t[A]){r(createIterResult(undefined,true));return}t[l](r,n)}),n)}}var h=Object.getPrototypeOf((function(){}));var d=Object.setPrototypeOf((n={get stream(){return this[u]},next:function next(){var e=this;var t=this[a];if(t!==null){return Promise.reject(t)}if(this[A]){return Promise.resolve(createIterResult(undefined,true))}if(this[u].destroyed){return new Promise((function(t,r){process.nextTick((function(){if(e[a]){r(e[a])}else{t(createIterResult(undefined,true))}}))}))}var r=this[c];var n;if(r){n=new Promise(wrapForNext(r,this))}else{var o=this[u].read();if(o!==null){return Promise.resolve(createIterResult(o,false))}n=new Promise(this[l])}this[c]=n;return n}},_defineProperty(n,Symbol.asyncIterator,(function(){return this})),_defineProperty(n,"return",(function _return(){var e=this;return new Promise((function(t,r){e[u].destroy(null,(function(e){if(e){r(e);return}t(createIterResult(undefined,true))}))}))})),n),h);var g=function createReadableStreamAsyncIterator(e){var t;var r=Object.create(d,(t={},_defineProperty(t,u,{value:e,writable:true}),_defineProperty(t,s,{value:null,writable:true}),_defineProperty(t,i,{value:null,writable:true}),_defineProperty(t,a,{value:null,writable:true}),_defineProperty(t,A,{value:e._readableState.endEmitted,writable:true}),_defineProperty(t,l,{value:function value(e,t){var n=r[u].read();if(n){r[c]=null;r[s]=null;r[i]=null;e(createIterResult(n,false))}else{r[s]=e;r[i]=t}},writable:true}),t));r[c]=null;o(e,(function(e){if(e&&e.code!=="ERR_STREAM_PREMATURE_CLOSE"){var t=r[i];if(t!==null){r[c]=null;r[s]=null;r[i]=null;t(e)}r[a]=e;return}var n=r[s];if(n!==null){r[c]=null;r[s]=null;r[i]=null;n(createIterResult(undefined,true))}r[A]=true}));e.on("readable",onReadable.bind(null,r));return r};e.exports=g},2746:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t0)this.tail.next=t;else this.head=t;this.tail=t;++this.length}},{key:"unshift",value:function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(e){if(this.length===0)return"";var t=this.head;var r=""+t.data;while(t=t.next){r+=e+t.data}return r}},{key:"concat",value:function concat(e){if(this.length===0)return o.alloc(0);var t=o.allocUnsafe(e>>>0);var r=this.head;var n=0;while(r){copyBuffer(r.data,t,n);n+=r.data.length;r=r.next}return t}},{key:"consume",value:function consume(e,t){var r;if(eo.length?o.length:e;if(s===o.length)n+=o;else n+=o.slice(0,e);e-=s;if(e===0){if(s===o.length){++r;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=o.slice(s)}break}++r}this.length-=r;return n}},{key:"_getBuffer",value:function _getBuffer(e){var t=o.allocUnsafe(e);var r=this.head;var n=1;r.data.copy(t);e-=r.data.length;while(r=r.next){var s=r.data;var i=e>s.length?s.length:e;s.copy(t,t.length-e,0,i);e-=i;if(e===0){if(i===s.length){++n;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=s.slice(i)}break}++n}this.length-=n;return t}},{key:a,value:function value(e,t){return i(this,_objectSpread({},t,{depth:0,customInspect:false}))}}]);return BufferList}()},7049:e=>{"use strict";function destroy(e,t){var r=this;var n=this._readableState&&this._readableState.destroyed;var o=this._writableState&&this._writableState.destroyed;if(n||o){if(t){t(e)}else if(e){if(!this._writableState){process.nextTick(emitErrorNT,this,e)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,e)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,(function(e){if(!t&&e){if(!r._writableState){process.nextTick(emitErrorAndCloseNT,r,e)}else if(!r._writableState.errorEmitted){r._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,r,e)}else{process.nextTick(emitCloseNT,r)}}else if(t){process.nextTick(emitCloseNT,r);t(e)}else{process.nextTick(emitCloseNT,r)}}));return this}function emitErrorAndCloseNT(e,t){emitErrorNT(e,t);emitCloseNT(e)}function emitCloseNT(e){if(e._writableState&&!e._writableState.emitClose)return;if(e._readableState&&!e._readableState.emitClose)return;e.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit("error",t)}function errorOrDestroy(e,t){var r=e._readableState;var n=e._writableState;if(r&&r.autoDestroy||n&&n.autoDestroy)e.destroy(t);else e.emit("error",t)}e.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}},6080:(e,t,r)=>{"use strict";var n=r(7214).q.ERR_STREAM_PREMATURE_CLOSE;function once(e){var t=false;return function(){if(t)return;t=true;for(var r=arguments.length,n=new Array(r),o=0;o{"use strict";function asyncGeneratorStep(e,t,r,n,o,s,i){try{var a=e[s](i);var A=a.value}catch(e){r(e);return}if(a.done){t(A)}else{Promise.resolve(A).then(n,o)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var s=e.apply(t,r);function _next(e){asyncGeneratorStep(s,n,o,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(s,n,o,_next,_throw,"throw",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t{"use strict";var n;function once(e){var t=false;return function(){if(t)return;t=true;e.apply(void 0,arguments)}}var o=r(7214).q,s=o.ERR_MISSING_ARGS,i=o.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort==="function"}function destroyer(e,t,o,s){s=once(s);var a=false;e.on("close",(function(){a=true}));if(n===undefined)n=r(6080);n(e,{readable:t,writable:o},(function(e){if(e)return s(e);a=true;s()}));var A=false;return function(t){if(a)return;if(A)return;A=true;if(isRequest(e))return e.abort();if(typeof e.destroy==="function")return e.destroy();s(t||new i("pipe"))}}function call(e){e()}function pipe(e,t){return e.pipe(t)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!=="function")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,t=new Array(e),r=0;r0;return destroyer(e,s,a,(function(e){if(!o)o=e;if(e)i.forEach(call);if(s)return;i.forEach(call);n(o)}))}));return t.reduce(pipe)}e.exports=pipeline},9948:(e,t,r)=>{"use strict";var n=r(7214).q.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function getHighWaterMark(e,t,r,o){var s=highWaterMarkFrom(t,o,r);if(s!=null){if(!(isFinite(s)&&Math.floor(s)===s)||s<0){var i=o?r:"highWaterMark";throw new n(i,s)}return Math.floor(s)}return e.objectMode?16:16*1024}e.exports={getHighWaterMark:getHighWaterMark}},2387:(e,t,r)=>{e.exports=r(2781)},1642:(e,t,r)=>{var n=r(2781);if(process.env.READABLE_STREAM==="disable"&&n){e.exports=n.Readable;Object.assign(e.exports,n);e.exports.Stream=n}else{t=e.exports=r(1433);t.Stream=n||t;t.Readable=t;t.Writable=r(6993);t.Duplex=r(1359);t.Transform=r(4415);t.PassThrough=r(1542);t.finished=r(6080);t.pipeline=r(6989)}},545:(module,__unused_webpack_exports,__nccwpck_require__)=>{"use strict";const Module=__nccwpck_require__(8188);const xrequire=eval("require");const createRequireFromPath=Module.createRequire||Module.createRequireFromPath||((e,t)=>{const r=new Module(e);r.filename=e;r.paths=Module._nodeModulePaths(t);function _require(e){return xrequire(resolve(e))}function resolve(e,t){return Module._resolveFilename(e,r,false,t)}_require.resolve=resolve;function paths(e){return Module._resolveLookupPaths(e,r,true)}resolve.paths=paths;_require.main=process.mainModule;_require.extensions=Module._extensions;_require.cache=Module._cache;return _require});module.exports=createRequireFromPath},2058:(e,t,r)=>{"use strict";const n=r(1017);const o=r(7147);const s=r(545);const i=new Map;function requireAt(e,t){const makeIt=(r,i)=>{let a=requireAt.cache&&requireAt.cache.get(r);if(!a){let t;try{t=o.statSync(r)}catch(e){throw new Error(`require-at: stat '${r}' failed: ${e.message}`)}if(!t||!t.isDirectory()){if(i)throw new Error(`require-at: not a directory: '${e}'`);return makeIt(n.dirname(r),true)}a=s(n.join(r,"._require-at_"),r);requireAt.cache&&requireAt.cache.set(r,a)}return t?a(t):a};return makeIt(n.resolve(e),false)}requireAt.cache=i;e.exports=requireAt},4959:(e,t,r)=>{const n=r(9491);const o=r(1017);const s=r(7147);let i=undefined;try{i=r(1957)}catch(e){}const a={nosort:true,silent:true};let A=0;const c=process.platform==="win32";const defaults=e=>{const t=["unlink","chmod","stat","lstat","rmdir","readdir"];t.forEach((t=>{e[t]=e[t]||s[t];t=t+"Sync";e[t]=e[t]||s[t]}));e.maxBusyTries=e.maxBusyTries||3;e.emfileWait=e.emfileWait||1e3;if(e.glob===false){e.disableGlob=true}if(e.disableGlob!==true&&i===undefined){throw Error("glob dependency not found, set `options.disableGlob = true` if intentional")}e.disableGlob=e.disableGlob||false;e.glob=e.glob||a};const rimraf=(e,t,r)=>{if(typeof t==="function"){r=t;t={}}n(e,"rimraf: missing path");n.equal(typeof e,"string","rimraf: path should be a string");n.equal(typeof r,"function","rimraf: callback function required");n(t,"rimraf: invalid options argument provided");n.equal(typeof t,"object","rimraf: options should be object");defaults(t);let o=0;let s=null;let a=0;const next=e=>{s=s||e;if(--a===0)r(s)};const afterGlob=(e,n)=>{if(e)return r(e);a=n.length;if(a===0)return r();n.forEach((e=>{const CB=r=>{if(r){if((r.code==="EBUSY"||r.code==="ENOTEMPTY"||r.code==="EPERM")&&orimraf_(e,t,CB)),o*100)}if(r.code==="EMFILE"&&Arimraf_(e,t,CB)),A++)}if(r.code==="ENOENT")r=null}A=0;next(r)};rimraf_(e,t,CB)}))};if(t.disableGlob||!i.hasMagic(e))return afterGlob(null,[e]);t.lstat(e,((r,n)=>{if(!r)return afterGlob(null,[e]);i(e,t.glob,afterGlob)}))};const rimraf_=(e,t,r)=>{n(e);n(t);n(typeof r==="function");t.lstat(e,((n,o)=>{if(n&&n.code==="ENOENT")return r(null);if(n&&n.code==="EPERM"&&c)fixWinEPERM(e,t,n,r);if(o&&o.isDirectory())return rmdir(e,t,n,r);t.unlink(e,(n=>{if(n){if(n.code==="ENOENT")return r(null);if(n.code==="EPERM")return c?fixWinEPERM(e,t,n,r):rmdir(e,t,n,r);if(n.code==="EISDIR")return rmdir(e,t,n,r)}return r(n)}))}))};const fixWinEPERM=(e,t,r,o)=>{n(e);n(t);n(typeof o==="function");t.chmod(e,438,(n=>{if(n)o(n.code==="ENOENT"?null:r);else t.stat(e,((n,s)=>{if(n)o(n.code==="ENOENT"?null:r);else if(s.isDirectory())rmdir(e,t,r,o);else t.unlink(e,o)}))}))};const fixWinEPERMSync=(e,t,r)=>{n(e);n(t);try{t.chmodSync(e,438)}catch(e){if(e.code==="ENOENT")return;else throw r}let o;try{o=t.statSync(e)}catch(e){if(e.code==="ENOENT")return;else throw r}if(o.isDirectory())rmdirSync(e,t,r);else t.unlinkSync(e)};const rmdir=(e,t,r,o)=>{n(e);n(t);n(typeof o==="function");t.rmdir(e,(n=>{if(n&&(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM"))rmkids(e,t,o);else if(n&&n.code==="ENOTDIR")o(r);else o(n)}))};const rmkids=(e,t,r)=>{n(e);n(t);n(typeof r==="function");t.readdir(e,((n,s)=>{if(n)return r(n);let i=s.length;if(i===0)return t.rmdir(e,r);let a;s.forEach((n=>{rimraf(o.join(e,n),t,(n=>{if(a)return;if(n)return r(a=n);if(--i===0)t.rmdir(e,r)}))}))}))};const rimrafSync=(e,t)=>{t=t||{};defaults(t);n(e,"rimraf: missing path");n.equal(typeof e,"string","rimraf: path should be a string");n(t,"rimraf: missing options");n.equal(typeof t,"object","rimraf: options should be object");let r;if(t.disableGlob||!i.hasMagic(e)){r=[e]}else{try{t.lstatSync(e);r=[e]}catch(n){r=i.sync(e,t.glob)}}if(!r.length)return;for(let e=0;e{n(e);n(t);try{t.rmdirSync(e)}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR")throw r;if(n.code==="ENOTEMPTY"||n.code==="EEXIST"||n.code==="EPERM")rmkidsSync(e,t)}};const rmkidsSync=(e,t)=>{n(e);n(t);t.readdirSync(e).forEach((r=>rimrafSync(o.join(e,r),t)));const r=c?100:1;let s=0;do{let n=true;try{const r=t.rmdirSync(e,t);n=false;return r}finally{if(++s{var n=r(4300);var o=n.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow){e.exports=n}else{copyProps(n,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return o(e,t,r)}copyProps(o,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e==="number"){throw new TypeError("Argument must not be a number")}return o(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}var n=o(e);if(t!==undefined){if(typeof r==="string"){n.fill(t,r)}else{n.fill(t)}}else{n.fill(0)}return n};SafeBuffer.allocUnsafe=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return o(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!=="number"){throw new TypeError("Argument must be a number")}return n.SlowBuffer(e)}},9178:(e,t,r)=>{"use strict";const{unassigned_code_points:n,commonly_mapped_to_nothing:o,non_ASCII_space_characters:s,prohibited_characters:i,bidirectional_r_al:a,bidirectional_l:A}=r(8916);e.exports=saslprep;const c=s;const l=o;const getCodePoint=e=>e.codePointAt(0);const first=e=>e[0];const last=e=>e[e.length-1];function toCodePoints(e){const t=[];const r=e.length;for(let n=0;n=55296&&o<=56319&&r>n+1){const r=e.charCodeAt(n+1);if(r>=56320&&r<=57343){t.push((o-55296)*1024+r-56320+65536);n+=1;continue}}t.push(o)}return t}function saslprep(e,t={}){if(typeof e!=="string"){throw new TypeError("Expected string.")}if(e.length===0){return""}const r=toCodePoints(e).map((e=>c.get(e)?32:e)).filter((e=>!l.get(e)));const o=String.fromCodePoint.apply(null,r).normalize("NFKC");const s=toCodePoints(o);const u=s.some((e=>i.get(e)));if(u){throw new Error("Prohibited character, see https://tools.ietf.org/html/rfc4013#section-2.3")}if(t.allowUnassigned!==true){const e=s.some((e=>n.get(e)));if(e){throw new Error("Unassigned code point, see https://tools.ietf.org/html/rfc4013#section-2.5")}}const h=s.some((e=>a.get(e)));const d=s.some((e=>A.get(e)));if(h&&d){throw new Error("String must not contain RandALCat and LCat at the same time,"+" see https://tools.ietf.org/html/rfc3454#section-6")}const g=a.get(getCodePoint(first(o)));const p=a.get(getCodePoint(last(o)));if(h&&!(g&&p)){throw new Error("Bidirectional RandALCat character must be the first and the last"+" character of the string, see https://tools.ietf.org/html/rfc3454#section-6")}return o}},8916:(e,t,r)=>{"use strict";const n=r(7147);const o=r(1017);const s=r(1453);const i=n.readFileSync(r.ab+"code-points.mem");let a=0;function read(){const e=i.readUInt32BE(a);a+=4;const t=i.slice(a,a+e);a+=e;return s({buffer:t})}const A=read();const c=read();const l=read();const u=read();const h=read();const d=read();e.exports={unassigned_code_points:A,commonly_mapped_to_nothing:c,non_ASCII_space_characters:l,prohibited_characters:u,bidirectional_r_al:h,bidirectional_l:d}},1532:(e,t,r)=>{const n=Symbol("SemVer ANY");class Comparator{static get ANY(){return n}constructor(e,t){t=o(t);if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}e=e.trim().split(/\s+/).join(" ");A("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===n){this.value=""}else{this.value=this.operator+this.semver.version}A("comp",this)}parse(e){const t=this.options.loose?s[i.COMPARATORLOOSE]:s[i.COMPARATOR];const r=e.match(t);if(!r){throw new TypeError(`Invalid comparator: ${e}`)}this.operator=r[1]!==undefined?r[1]:"";if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=n}else{this.semver=new c(r[2],this.options.loose)}}toString(){return this.value}test(e){A("Comparator.test",e,this.options.loose);if(this.semver===n||e===n){return true}if(typeof e==="string"){try{e=new c(e,this.options)}catch(e){return false}}return a(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(this.operator===""){if(this.value===""){return true}return new l(e.value,t).test(this.value)}else if(e.operator===""){if(e.value===""){return true}return new l(this.value,t).test(e.semver)}t=o(t);if(t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")){return false}if(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))){return false}if(this.operator.startsWith(">")&&e.operator.startsWith(">")){return true}if(this.operator.startsWith("<")&&e.operator.startsWith("<")){return true}if(this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")){return true}if(a(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")){return true}if(a(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")){return true}return false}}e.exports=Comparator;const o=r(785);const{safeRe:s,t:i}=r(9523);const a=r(5098);const A=r(427);const c=r(8088);const l=r(9828)},9828:(e,t,r)=>{class Range{constructor(e,t){t=s(t);if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof i){this.raw=e.value;this.set=[[e]];this.format();return this}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e.trim().split(/\s+/).join(" ");this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length));if(!this.set.length){throw new TypeError(`Invalid SemVer Range: ${this.raw}`)}if(this.set.length>1){const e=this.set[0];this.set=this.set.filter((e=>!isNullSet(e[0])));if(this.set.length===0){this.set=[e]}else if(this.set.length>1){for(const e of this.set){if(e.length===1&&isAny(e[0])){this.set=[e];break}}}}this.format()}format(){this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim();return this.range}toString(){return this.range}parseRange(e){const t=(this.options.includePrerelease&&g)|(this.options.loose&&p);const r=t+":"+e;const n=o.get(r);if(n){return n}const s=this.options.loose;const A=s?c[l.HYPHENRANGELOOSE]:c[l.HYPHENRANGE];e=e.replace(A,hyphenReplace(this.options.includePrerelease));a("hyphen replace",e);e=e.replace(c[l.COMPARATORTRIM],u);a("comparator trim",e);e=e.replace(c[l.TILDETRIM],h);a("tilde trim",e);e=e.replace(c[l.CARETTRIM],d);a("caret trim",e);let E=e.split(" ").map((e=>parseComparator(e,this.options))).join(" ").split(/\s+/).map((e=>replaceGTE0(e,this.options)));if(s){E=E.filter((e=>{a("loose invalid filter",e,this.options);return!!e.match(c[l.COMPARATORLOOSE])}))}a("range list",E);const m=new Map;const C=E.map((e=>new i(e,this.options)));for(const e of C){if(isNullSet(e)){return[e]}m.set(e.value,e)}if(m.size>1&&m.has("")){m.delete("")}const I=[...m.values()];o.set(r,I);return I}intersects(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some((r=>isSatisfiable(r,t)&&e.set.some((e=>isSatisfiable(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e){return false}if(typeof e==="string"){try{e=new A(e,this.options)}catch(e){return false}}for(let t=0;te.value==="<0.0.0-0";const isAny=e=>e.value==="";const isSatisfiable=(e,t)=>{let r=true;const n=e.slice();let o=n.pop();while(r&&n.length){r=n.every((e=>o.intersects(e,t)));o=n.pop()}return r};const parseComparator=(e,t)=>{a("comp",e,t);e=replaceCarets(e,t);a("caret",e);e=replaceTildes(e,t);a("tildes",e);e=replaceXRanges(e,t);a("xrange",e);e=replaceStars(e,t);a("stars",e);return e};const isX=e=>!e||e.toLowerCase()==="x"||e==="*";const replaceTildes=(e,t)=>e.trim().split(/\s+/).map((e=>replaceTilde(e,t))).join(" ");const replaceTilde=(e,t)=>{const r=t.loose?c[l.TILDELOOSE]:c[l.TILDE];return e.replace(r,((t,r,n,o,s)=>{a("tilde",e,t,r,n,o,s);let i;if(isX(r)){i=""}else if(isX(n)){i=`>=${r}.0.0 <${+r+1}.0.0-0`}else if(isX(o)){i=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`}else if(s){a("replaceTilde pr",s);i=`>=${r}.${n}.${o}-${s} <${r}.${+n+1}.0-0`}else{i=`>=${r}.${n}.${o} <${r}.${+n+1}.0-0`}a("tilde return",i);return i}))};const replaceCarets=(e,t)=>e.trim().split(/\s+/).map((e=>replaceCaret(e,t))).join(" ");const replaceCaret=(e,t)=>{a("caret",e,t);const r=t.loose?c[l.CARETLOOSE]:c[l.CARET];const n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,o,s,i)=>{a("caret",e,t,r,o,s,i);let A;if(isX(r)){A=""}else if(isX(o)){A=`>=${r}.0.0${n} <${+r+1}.0.0-0`}else if(isX(s)){if(r==="0"){A=`>=${r}.${o}.0${n} <${r}.${+o+1}.0-0`}else{A=`>=${r}.${o}.0${n} <${+r+1}.0.0-0`}}else if(i){a("replaceCaret pr",i);if(r==="0"){if(o==="0"){A=`>=${r}.${o}.${s}-${i} <${r}.${o}.${+s+1}-0`}else{A=`>=${r}.${o}.${s}-${i} <${r}.${+o+1}.0-0`}}else{A=`>=${r}.${o}.${s}-${i} <${+r+1}.0.0-0`}}else{a("no pr");if(r==="0"){if(o==="0"){A=`>=${r}.${o}.${s}${n} <${r}.${o}.${+s+1}-0`}else{A=`>=${r}.${o}.${s}${n} <${r}.${+o+1}.0-0`}}else{A=`>=${r}.${o}.${s} <${+r+1}.0.0-0`}}a("caret return",A);return A}))};const replaceXRanges=(e,t)=>{a("replaceXRanges",e,t);return e.split(/\s+/).map((e=>replaceXRange(e,t))).join(" ")};const replaceXRange=(e,t)=>{e=e.trim();const r=t.loose?c[l.XRANGELOOSE]:c[l.XRANGE];return e.replace(r,((r,n,o,s,i,A)=>{a("xRange",e,r,n,o,s,i,A);const c=isX(o);const l=c||isX(s);const u=l||isX(i);const h=u;if(n==="="&&h){n=""}A=t.includePrerelease?"-0":"";if(c){if(n===">"||n==="<"){r="<0.0.0-0"}else{r="*"}}else if(n&&h){if(l){s=0}i=0;if(n===">"){n=">=";if(l){o=+o+1;s=0;i=0}else{s=+s+1;i=0}}else if(n==="<="){n="<";if(l){o=+o+1}else{s=+s+1}}if(n==="<"){A="-0"}r=`${n+o}.${s}.${i}${A}`}else if(l){r=`>=${o}.0.0${A} <${+o+1}.0.0-0`}else if(u){r=`>=${o}.${s}.0${A} <${o}.${+s+1}.0-0`}a("xRange return",r);return r}))};const replaceStars=(e,t)=>{a("replaceStars",e,t);return e.trim().replace(c[l.STAR],"")};const replaceGTE0=(e,t)=>{a("replaceGTE0",e,t);return e.trim().replace(c[t.includePrerelease?l.GTE0PRE:l.GTE0],"")};const hyphenReplace=e=>(t,r,n,o,s,i,a,A,c,l,u,h)=>{if(isX(n)){r=""}else if(isX(o)){r=`>=${n}.0.0${e?"-0":""}`}else if(isX(s)){r=`>=${n}.${o}.0${e?"-0":""}`}else if(i){r=`>=${r}`}else{r=`>=${r}${e?"-0":""}`}if(isX(c)){A=""}else if(isX(l)){A=`<${+c+1}.0.0-0`}else if(isX(u)){A=`<${c}.${+l+1}.0-0`}else if(h){A=`<=${c}.${l}.${u}-${h}`}else if(e){A=`<${c}.${l}.${+u+1}-0`}else{A=`<=${A}`}return`${r} ${A}`.trim()};const testSet=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch){return true}}}return false}return true}},8088:(e,t,r)=>{const n=r(427);const{MAX_LENGTH:o,MAX_SAFE_INTEGER:s}=r(2293);const{safeRe:i,t:a}=r(9523);const A=r(785);const{compareIdentifiers:c}=r(2463);class SemVer{constructor(e,t){t=A(t);if(e instanceof SemVer){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{e=e.version}}else if(typeof e!=="string"){throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`)}if(e.length>o){throw new TypeError(`version is longer than ${o} characters`)}n("SemVer",e,t);this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?i[a.LOOSE]:i[a.FULL]);if(!r){throw new TypeError(`Invalid Version: ${e}`)}this.raw=e;this.major=+r[1];this.minor=+r[2];this.patch=+r[3];if(this.major>s||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>s||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>s||this.patch<0){throw new TypeError("Invalid patch version")}if(!r[4]){this.prerelease=[]}else{this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0){if(typeof this.prerelease[n]==="number"){this.prerelease[n]++;n=-2}}if(n===-1){if(t===this.prerelease.join(".")&&r===false){throw new Error("invalid increment argument: identifier already exists")}this.prerelease.push(e)}}if(t){let n=[t,e];if(r===false){n=[t]}if(c(this.prerelease[0],t)===0){if(isNaN(this.prerelease[1])){this.prerelease=n}}else{this.prerelease=n}}break}default:throw new Error(`invalid increment argument: ${e}`)}this.raw=this.format();if(this.build.length){this.raw+=`+${this.build.join(".")}`}return this}}e.exports=SemVer},8848:(e,t,r)=>{const n=r(5925);const clean=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};e.exports=clean},5098:(e,t,r)=>{const n=r(1898);const o=r(6017);const s=r(4123);const i=r(5522);const a=r(194);const A=r(7520);const cmp=(e,t,r,c)=>{switch(t){case"===":if(typeof e==="object"){e=e.version}if(typeof r==="object"){r=r.version}return e===r;case"!==":if(typeof e==="object"){e=e.version}if(typeof r==="object"){r=r.version}return e!==r;case"":case"=":case"==":return n(e,r,c);case"!=":return o(e,r,c);case">":return s(e,r,c);case">=":return i(e,r,c);case"<":return a(e,r,c);case"<=":return A(e,r,c);default:throw new TypeError(`Invalid operator: ${t}`)}};e.exports=cmp},3466:(e,t,r)=>{const n=r(8088);const o=r(5925);const{safeRe:s,t:i}=r(9523);const coerce=(e,t)=>{if(e instanceof n){return e}if(typeof e==="number"){e=String(e)}if(typeof e!=="string"){return null}t=t||{};let r=null;if(!t.rtl){r=e.match(t.includePrerelease?s[i.COERCEFULL]:s[i.COERCE])}else{const n=t.includePrerelease?s[i.COERCERTLFULL]:s[i.COERCERTL];let o;while((o=n.exec(e))&&(!r||r.index+r[0].length!==e.length)){if(!r||o.index+o[0].length!==r.index+r[0].length){r=o}n.lastIndex=o.index+o[1].length+o[2].length}n.lastIndex=-1}if(r===null){return null}const a=r[2];const A=r[3]||"0";const c=r[4]||"0";const l=t.includePrerelease&&r[5]?`-${r[5]}`:"";const u=t.includePrerelease&&r[6]?`+${r[6]}`:"";return o(`${a}.${A}.${c}${l}${u}`,t)};e.exports=coerce},2156:(e,t,r)=>{const n=r(8088);const compareBuild=(e,t,r)=>{const o=new n(e,r);const s=new n(t,r);return o.compare(s)||o.compareBuild(s)};e.exports=compareBuild},2804:(e,t,r)=>{const n=r(4309);const compareLoose=(e,t)=>n(e,t,true);e.exports=compareLoose},4309:(e,t,r)=>{const n=r(8088);const compare=(e,t,r)=>new n(e,r).compare(new n(t,r));e.exports=compare},4297:(e,t,r)=>{const n=r(5925);const diff=(e,t)=>{const r=n(e,null,true);const o=n(t,null,true);const s=r.compare(o);if(s===0){return null}const i=s>0;const a=i?r:o;const A=i?o:r;const c=!!a.prerelease.length;const l=!!A.prerelease.length;if(l&&!c){if(!A.patch&&!A.minor){return"major"}if(a.patch){return"patch"}if(a.minor){return"minor"}return"major"}const u=c?"pre":"";if(r.major!==o.major){return u+"major"}if(r.minor!==o.minor){return u+"minor"}if(r.patch!==o.patch){return u+"patch"}return"prerelease"};e.exports=diff},1898:(e,t,r)=>{const n=r(4309);const eq=(e,t,r)=>n(e,t,r)===0;e.exports=eq},4123:(e,t,r)=>{const n=r(4309);const gt=(e,t,r)=>n(e,t,r)>0;e.exports=gt},5522:(e,t,r)=>{const n=r(4309);const gte=(e,t,r)=>n(e,t,r)>=0;e.exports=gte},929:(e,t,r)=>{const n=r(8088);const inc=(e,t,r,o,s)=>{if(typeof r==="string"){s=o;o=r;r=undefined}try{return new n(e instanceof n?e.version:e,r).inc(t,o,s).version}catch(e){return null}};e.exports=inc},194:(e,t,r)=>{const n=r(4309);const lt=(e,t,r)=>n(e,t,r)<0;e.exports=lt},7520:(e,t,r)=>{const n=r(4309);const lte=(e,t,r)=>n(e,t,r)<=0;e.exports=lte},6688:(e,t,r)=>{const n=r(8088);const major=(e,t)=>new n(e,t).major;e.exports=major},8447:(e,t,r)=>{const n=r(8088);const minor=(e,t)=>new n(e,t).minor;e.exports=minor},6017:(e,t,r)=>{const n=r(4309);const neq=(e,t,r)=>n(e,t,r)!==0;e.exports=neq},5925:(e,t,r)=>{const n=r(8088);const parse=(e,t,r=false)=>{if(e instanceof n){return e}try{return new n(e,t)}catch(e){if(!r){return null}throw e}};e.exports=parse},2866:(e,t,r)=>{const n=r(8088);const patch=(e,t)=>new n(e,t).patch;e.exports=patch},4016:(e,t,r)=>{const n=r(5925);const prerelease=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null};e.exports=prerelease},6417:(e,t,r)=>{const n=r(4309);const rcompare=(e,t,r)=>n(t,e,r);e.exports=rcompare},8701:(e,t,r)=>{const n=r(2156);const rsort=(e,t)=>e.sort(((e,r)=>n(r,e,t)));e.exports=rsort},6055:(e,t,r)=>{const n=r(9828);const satisfies=(e,t,r)=>{try{t=new n(t,r)}catch(e){return false}return t.test(e)};e.exports=satisfies},1426:(e,t,r)=>{const n=r(2156);const sort=(e,t)=>e.sort(((e,r)=>n(e,r,t)));e.exports=sort},9601:(e,t,r)=>{const n=r(5925);const valid=(e,t)=>{const r=n(e,t);return r?r.version:null};e.exports=valid},1383:(e,t,r)=>{const n=r(9523);const o=r(2293);const s=r(8088);const i=r(2463);const a=r(5925);const A=r(9601);const c=r(8848);const l=r(929);const u=r(4297);const h=r(6688);const d=r(8447);const g=r(2866);const p=r(4016);const E=r(4309);const m=r(6417);const C=r(2804);const I=r(2156);const y=r(1426);const B=r(8701);const Q=r(4123);const b=r(194);const w=r(1898);const S=r(6017);const v=r(5522);const R=r(7520);const k=r(5098);const D=r(3466);const N=r(1532);const T=r(9828);const O=r(6055);const _=r(2706);const M=r(579);const L=r(832);const F=r(4179);const U=r(2098);const P=r(420);const G=r(9380);const Y=r(3323);const V=r(7008);const W=r(5297);const J=r(7863);e.exports={parse:a,valid:A,clean:c,inc:l,diff:u,major:h,minor:d,patch:g,prerelease:p,compare:E,rcompare:m,compareLoose:C,compareBuild:I,sort:y,rsort:B,gt:Q,lt:b,eq:w,neq:S,gte:v,lte:R,cmp:k,coerce:D,Comparator:N,Range:T,satisfies:O,toComparators:_,maxSatisfying:M,minSatisfying:L,minVersion:F,validRange:U,outside:P,gtr:G,ltr:Y,intersects:V,simplifyRange:W,subset:J,SemVer:s,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:o.SEMVER_SPEC_VERSION,RELEASE_TYPES:o.RELEASE_TYPES,compareIdentifiers:i.compareIdentifiers,rcompareIdentifiers:i.rcompareIdentifiers}},2293:e=>{const t="2.0.0";const r=256;const n=Number.MAX_SAFE_INTEGER||9007199254740991;const o=16;const s=r-6;const i=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e.exports={MAX_LENGTH:r,MAX_SAFE_COMPONENT_LENGTH:o,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,RELEASE_TYPES:i,SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},427:e=>{const t=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},2463:e=>{const t=/^[0-9]+$/;const compareIdentifiers=(e,r)=>{const n=t.test(e);const o=t.test(r);if(n&&o){e=+e;r=+r}return e===r?0:n&&!o?-1:o&&!n?1:ecompareIdentifiers(t,e);e.exports={compareIdentifiers:compareIdentifiers,rcompareIdentifiers:rcompareIdentifiers}},5339:e=>{class LRUCache{constructor(){this.max=1e3;this.map=new Map}get(e){const t=this.map.get(e);if(t===undefined){return undefined}else{this.map.delete(e);this.map.set(e,t);return t}}delete(e){return this.map.delete(e)}set(e,t){const r=this.delete(e);if(!r&&t!==undefined){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}e.exports=LRUCache},785:e=>{const t=Object.freeze({loose:true});const r=Object.freeze({});const parseOptions=e=>{if(!e){return r}if(typeof e!=="object"){return t}return e};e.exports=parseOptions},9523:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:o,MAX_LENGTH:s}=r(2293);const i=r(427);t=e.exports={};const a=t.re=[];const A=t.safeRe=[];const c=t.src=[];const l=t.t={};let u=0;const h="[a-zA-Z0-9-]";const d=[["\\s",1],["\\d",s],[h,o]];const makeSafeRegex=e=>{for(const[t,r]of d){e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`)}return e};const createToken=(e,t,r)=>{const n=makeSafeRegex(t);const o=u++;i(e,o,t);l[e]=o;c[o]=t;a[o]=new RegExp(t,r?"g":undefined);A[o]=new RegExp(n,r?"g":undefined)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`);createToken("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.`+`(${c[l.NUMERICIDENTIFIER]})\\.`+`(${c[l.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[l.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${c[l.NUMERICIDENTIFIER]}|${c[l.NONNUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NUMERICIDENTIFIERLOOSE]}|${c[l.NONNUMERICIDENTIFIER]})`);createToken("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${h}+`);createToken("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`);createToken("FULL",`^${c[l.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`);createToken("LOOSE",`^${c[l.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})`+`(?:\\.(${c[l.XRANGEIDENTIFIER]})`+`(?:\\.(${c[l.XRANGEIDENTIFIER]})`+`(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?`+`)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})`+`(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?`+`)?)?`);createToken("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`${"(^|[^\\d])"+"(\\d{1,"}${n}})`+`(?:\\.(\\d{1,${n}}))?`+`(?:\\.(\\d{1,${n}}))?`);createToken("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?`+`(?:${c[l.BUILD]})?`+`(?:$|[^\\d])`);createToken("COERCERTL",c[l.COERCE],true);createToken("COERCERTLFULL",c[l.COERCEFULL],true);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,true);t.tildeTrimReplace="$1~";createToken("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,true);t.caretTrimReplace="$1^";createToken("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,true);t.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})`+`\\s+-\\s+`+`(${c[l.XRANGEPLAIN]})`+`\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})`+`\\s+-\\s+`+`(${c[l.XRANGEPLAINLOOSE]})`+`\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},9380:(e,t,r)=>{const n=r(420);const gtr=(e,t,r)=>n(e,t,">",r);e.exports=gtr},7008:(e,t,r)=>{const n=r(9828);const intersects=(e,t,r)=>{e=new n(e,r);t=new n(t,r);return e.intersects(t,r)};e.exports=intersects},3323:(e,t,r)=>{const n=r(420);const ltr=(e,t,r)=>n(e,t,"<",r);e.exports=ltr},579:(e,t,r)=>{const n=r(8088);const o=r(9828);const maxSatisfying=(e,t,r)=>{let s=null;let i=null;let a=null;try{a=new o(t,r)}catch(e){return null}e.forEach((e=>{if(a.test(e)){if(!s||i.compare(e)===-1){s=e;i=new n(s,r)}}}));return s};e.exports=maxSatisfying},832:(e,t,r)=>{const n=r(8088);const o=r(9828);const minSatisfying=(e,t,r)=>{let s=null;let i=null;let a=null;try{a=new o(t,r)}catch(e){return null}e.forEach((e=>{if(a.test(e)){if(!s||i.compare(e)===1){s=e;i=new n(s,r)}}}));return s};e.exports=minSatisfying},4179:(e,t,r)=>{const n=r(8088);const o=r(9828);const s=r(4123);const minVersion=(e,t)=>{e=new o(e,t);let r=new n("0.0.0");if(e.test(r)){return r}r=new n("0.0.0-0");if(e.test(r)){return r}r=null;for(let t=0;t{const t=new n(e.semver.version);switch(e.operator){case">":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!i||s(t,i)){i=t}break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}}));if(i&&(!r||s(r,i))){r=i}}if(r&&e.test(r)){return r}return null};e.exports=minVersion},420:(e,t,r)=>{const n=r(8088);const o=r(1532);const{ANY:s}=o;const i=r(9828);const a=r(6055);const A=r(4123);const c=r(194);const l=r(7520);const u=r(5522);const outside=(e,t,r,h)=>{e=new n(e,h);t=new i(t,h);let d,g,p,E,m;switch(r){case">":d=A;g=l;p=c;E=">";m=">=";break;case"<":d=c;g=u;p=A;E="<";m="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(a(e,t,h)){return false}for(let r=0;r{if(e.semver===s){e=new o(">=0.0.0")}i=i||e;a=a||e;if(d(e.semver,i.semver,h)){i=e}else if(p(e.semver,a.semver,h)){a=e}}));if(i.operator===E||i.operator===m){return false}if((!a.operator||a.operator===E)&&g(e,a.semver)){return false}else if(a.operator===m&&p(e,a.semver)){return false}}return true};e.exports=outside},5297:(e,t,r)=>{const n=r(6055);const o=r(4309);e.exports=(e,t,r)=>{const s=[];let i=null;let a=null;const A=e.sort(((e,t)=>o(e,t,r)));for(const e of A){const o=n(e,t,r);if(o){a=e;if(!i){i=e}}else{if(a){s.push([i,a])}a=null;i=null}}if(i){s.push([i,null])}const c=[];for(const[e,t]of s){if(e===t){c.push(e)}else if(!t&&e===A[0]){c.push("*")}else if(!t){c.push(`>=${e}`)}else if(e===A[0]){c.push(`<=${t}`)}else{c.push(`${e} - ${t}`)}}const l=c.join(" || ");const u=typeof t.raw==="string"?t.raw:String(t);return l.length{const n=r(9828);const o=r(1532);const{ANY:s}=o;const i=r(6055);const a=r(4309);const subset=(e,t,r={})=>{if(e===t){return true}e=new n(e,r);t=new n(t,r);let o=false;e:for(const n of e.set){for(const e of t.set){const t=simpleSubset(n,e,r);o=o||t!==null;if(t){continue e}}if(o){return false}}return true};const A=[new o(">=0.0.0-0")];const c=[new o(">=0.0.0")];const simpleSubset=(e,t,r)=>{if(e===t){return true}if(e.length===1&&e[0].semver===s){if(t.length===1&&t[0].semver===s){return true}else if(r.includePrerelease){e=A}else{e=c}}if(t.length===1&&t[0].semver===s){if(r.includePrerelease){return true}else{t=c}}const n=new Set;let o,l;for(const t of e){if(t.operator===">"||t.operator===">="){o=higherGT(o,t,r)}else if(t.operator==="<"||t.operator==="<="){l=lowerLT(l,t,r)}else{n.add(t.semver)}}if(n.size>1){return null}let u;if(o&&l){u=a(o.semver,l.semver,r);if(u>0){return null}else if(u===0&&(o.operator!==">="||l.operator!=="<=")){return null}}for(const e of n){if(o&&!i(e,String(o),r)){return null}if(l&&!i(e,String(l),r)){return null}for(const n of t){if(!i(e,String(n),r)){return false}}return true}let h,d;let g,p;let E=l&&!r.includePrerelease&&l.semver.prerelease.length?l.semver:false;let m=o&&!r.includePrerelease&&o.semver.prerelease.length?o.semver:false;if(E&&E.prerelease.length===1&&l.operator==="<"&&E.prerelease[0]===0){E=false}for(const e of t){p=p||e.operator===">"||e.operator===">=";g=g||e.operator==="<"||e.operator==="<=";if(o){if(m){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===m.major&&e.semver.minor===m.minor&&e.semver.patch===m.patch){m=false}}if(e.operator===">"||e.operator===">="){h=higherGT(o,e,r);if(h===e&&h!==o){return false}}else if(o.operator===">="&&!i(o.semver,String(e),r)){return false}}if(l){if(E){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===E.major&&e.semver.minor===E.minor&&e.semver.patch===E.patch){E=false}}if(e.operator==="<"||e.operator==="<="){d=lowerLT(l,e,r);if(d===e&&d!==l){return false}}else if(l.operator==="<="&&!i(l.semver,String(e),r)){return false}}if(!e.operator&&(l||o)&&u!==0){return false}}if(o&&g&&!l&&u!==0){return false}if(l&&p&&!o&&u!==0){return false}if(m||E){return false}return true};const higherGT=(e,t,r)=>{if(!e){return t}const n=a(e.semver,t.semver,r);return n>0?e:n<0?t:t.operator===">"&&e.operator===">="?t:e};const lowerLT=(e,t,r)=>{if(!e){return t}const n=a(e.semver,t.semver,r);return n<0?e:n>0?t:t.operator==="<"&&e.operator==="<="?t:e};e.exports=subset},2706:(e,t,r)=>{const n=r(9828);const toComparators=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));e.exports=toComparators},2098:(e,t,r)=>{const n=r(9828);const validRange=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}};e.exports=validRange},1453:(e,t,r)=>{var n=r(1529);e.exports=Bitfield;function Bitfield(e){if(!(this instanceof Bitfield))return new Bitfield(e);if(!e)e={};if(Buffer.isBuffer(e))e={buffer:e};this.pageOffset=e.pageOffset||0;this.pageSize=e.pageSize||1024;this.pages=e.pages||n(this.pageSize);this.byteLength=this.pages.length*this.pageSize;this.length=8*this.byteLength;if(!powerOfTwo(this.pageSize))throw new Error("The page size should be a power of two");this._trackUpdates=!!e.trackUpdates;this._pageMask=this.pageSize-1;if(e.buffer){for(var t=0;t>t)};Bitfield.prototype.getByte=function(e){var t=e&this._pageMask;var r=(e-t)/this.pageSize;var n=this.pages.get(r,true);return n?n.buffer[t+this.pageOffset]:0};Bitfield.prototype.set=function(e,t){var r=e&7;var n=(e-r)/8;var o=this.getByte(n);return this.setByte(n,t?o|128>>r:o&(255^128>>r))};Bitfield.prototype.toBuffer=function(){var e=alloc(this.pages.length*this.pageSize);for(var t=0;t=this.byteLength){this.byteLength=e+1;this.length=this.byteLength*8}if(this._trackUpdates)this.pages.updated(o);return true};function alloc(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);t.fill(0);return t}function powerOfTwo(e){return!(e&e-1)}},4841:(e,t,r)=>{"use strict";var n=r(1867).Buffer;var o=n.isEncoding||function(e){e=""+e;switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(e){if(!e)return"utf8";var t;while(true){switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!=="string"&&(n.isEncoding===o||!o(e)))throw new Error("Unknown encoding: "+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;t=4;break;case"utf8":this.fillLast=utf8FillLast;t=4;break;case"base64":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=n.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return"";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return"";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var n=t.length-1;if(n=0){if(o>0)e.lastNeed=o-1;return o}if(--n=0){if(o>0)e.lastNeed=o-2;return o}if(--n=0){if(o>0){if(o===2)o=0;else e.lastNeed=o-3}return o}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,n);return e.toString("utf8",t,n)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString("base64",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},9318:(e,t,r)=>{"use strict";const n=r(2037);const o=r(6224);const s=r(1621);const{env:i}=process;let a;if(s("no-color")||s("no-colors")||s("color=false")||s("color=never")){a=0}else if(s("color")||s("colors")||s("color=true")||s("color=always")){a=1}if("FORCE_COLOR"in i){if(i.FORCE_COLOR==="true"){a=1}else if(i.FORCE_COLOR==="false"){a=0}else{a=i.FORCE_COLOR.length===0?1:Math.min(parseInt(i.FORCE_COLOR,10),3)}}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e,t){if(a===0){return 0}if(s("color=16m")||s("color=full")||s("color=truecolor")){return 3}if(s("color=256")){return 2}if(e&&!t&&a===undefined){return 0}const r=a||0;if(i.TERM==="dumb"){return r}if(process.platform==="win32"){const e=n.release().split(".");if(Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in i){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((e=>e in i))||i.CI_NAME==="codeship"){return 1}return r}if("TEAMCITY_VERSION"in i){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0}if(i.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in i){const e=parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(i.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)){return 1}if("COLORTERM"in i){return 1}return r}function getSupportLevel(e){const t=supportsColor(e,e&&e.isTTY);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:translateLevel(supportsColor(true,o.isatty(1))),stderr:translateLevel(supportsColor(true,o.isatty(2)))}},7882:(e,t,r)=>{var n=r(3837);var o=r(336);var s=r(8860);var i=r(1642).Writable;var a=r(1642).PassThrough;var noop=function(){};var overflow=function(e){e&=511;return e&&512-e};var emptyStream=function(e,t){var r=new Source(e,t);r.end();return r};var mixinPax=function(e,t){if(t.path)e.name=t.path;if(t.linkpath)e.linkname=t.linkpath;if(t.size)e.size=parseInt(t.size,10);e.pax=t;return e};var Source=function(e,t){this._parent=e;this.offset=t;a.call(this,{autoDestroy:false})};n.inherits(Source,a);Source.prototype.destroy=function(e){this._parent.destroy(e)};var Extract=function(e){if(!(this instanceof Extract))return new Extract(e);i.call(this,e);e=e||{};this._offset=0;this._buffer=o();this._missing=0;this._partial=false;this._onparse=noop;this._header=null;this._stream=null;this._overflow=null;this._cb=null;this._locked=false;this._destroyed=false;this._pax=null;this._paxGlobal=null;this._gnuLongPath=null;this._gnuLongLinkPath=null;var t=this;var r=t._buffer;var oncontinue=function(){t._continue()};var onunlock=function(e){t._locked=false;if(e)return t.destroy(e);if(!t._stream)oncontinue()};var onstreamend=function(){t._stream=null;var e=overflow(t._header.size);if(e)t._parse(e,ondrain);else t._parse(512,onheader);if(!t._locked)oncontinue()};var ondrain=function(){t._buffer.consume(overflow(t._header.size));t._parse(512,onheader);oncontinue()};var onpaxglobalheader=function(){var e=t._header.size;t._paxGlobal=s.decodePax(r.slice(0,e));r.consume(e);onstreamend()};var onpaxheader=function(){var e=t._header.size;t._pax=s.decodePax(r.slice(0,e));if(t._paxGlobal)t._pax=Object.assign({},t._paxGlobal,t._pax);r.consume(e);onstreamend()};var ongnulongpath=function(){var n=t._header.size;this._gnuLongPath=s.decodeLongPath(r.slice(0,n),e.filenameEncoding);r.consume(n);onstreamend()};var ongnulonglinkpath=function(){var n=t._header.size;this._gnuLongLinkPath=s.decodeLongPath(r.slice(0,n),e.filenameEncoding);r.consume(n);onstreamend()};var onheader=function(){var n=t._offset;var o;try{o=t._header=s.decode(r.slice(0,512),e.filenameEncoding,e.allowUnknownFormat)}catch(e){t.emit("error",e)}r.consume(512);if(!o){t._parse(512,onheader);oncontinue();return}if(o.type==="gnu-long-path"){t._parse(o.size,ongnulongpath);oncontinue();return}if(o.type==="gnu-long-link-path"){t._parse(o.size,ongnulonglinkpath);oncontinue();return}if(o.type==="pax-global-header"){t._parse(o.size,onpaxglobalheader);oncontinue();return}if(o.type==="pax-header"){t._parse(o.size,onpaxheader);oncontinue();return}if(t._gnuLongPath){o.name=t._gnuLongPath;t._gnuLongPath=null}if(t._gnuLongLinkPath){o.linkname=t._gnuLongLinkPath;t._gnuLongLinkPath=null}if(t._pax){t._header=o=mixinPax(o,t._pax);t._pax=null}t._locked=true;if(!o.size||o.type==="directory"){t._parse(512,onheader);t.emit("entry",o,emptyStream(t,n),onunlock);return}t._stream=new Source(t,n);t.emit("entry",o,t._stream,onunlock);t._parse(o.size,onstreamend);oncontinue()};this._onheader=onheader;this._parse(512,onheader)};n.inherits(Extract,i);Extract.prototype.destroy=function(e){if(this._destroyed)return;this._destroyed=true;if(e)this.emit("error",e);this.emit("close");if(this._stream)this._stream.emit("close")};Extract.prototype._parse=function(e,t){if(this._destroyed)return;this._offset+=e;this._missing=e;if(t===this._onheader)this._partial=false;this._onparse=t};Extract.prototype._continue=function(){if(this._destroyed)return;var e=this._cb;this._cb=noop;if(this._overflow)this._write(this._overflow,undefined,e);else e()};Extract.prototype._write=function(e,t,r){if(this._destroyed)return;var n=this._stream;var o=this._buffer;var s=this._missing;if(e.length)this._partial=true;if(e.lengths){i=e.slice(s);e=e.slice(0,s)}if(n)n.end(e);else o.append(e);this._overflow=i;this._onparse()};Extract.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()};e.exports=Extract},8860:(e,t)=>{var r=Buffer.alloc;var n="0000000000000000000";var o="7777777777777777777";var s="0".charCodeAt(0);var i=Buffer.from("ustar\0","binary");var a=Buffer.from("00","binary");var A=Buffer.from("ustar ","binary");var c=Buffer.from(" \0","binary");var l=parseInt("7777",8);var u=257;var h=263;var clamp=function(e,t,r){if(typeof e!=="number")return r;e=~~e;if(e>=t)return t;if(e>=0)return e;e+=t;if(e>=0)return e;return 0};var toType=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null};var toTypeflag=function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0};var indexOf=function(e,t,r,n){for(;rt)return o.slice(0,t)+" ";else return n.slice(0,t-e.length)+e+" "};function parse256(e){var t;if(e[0]===128)t=true;else if(e[0]===255)t=false;else return null;var r=[];for(var n=e.length-1;n>0;n--){var o=e[n];if(t)r.push(o);else r.push(255-o)}var s=0;var i=r.length;for(n=0;n=Math.pow(10,r))r++;return t+r+e};t.decodeLongPath=function(e,t){return decodeStr(e,0,e.length,t)};t.encodePax=function(e){var t="";if(e.name)t+=addLength(" path="+e.name+"\n");if(e.linkname)t+=addLength(" linkpath="+e.linkname+"\n");var r=e.pax;if(r){for(var n in r){t+=addLength(" "+n+"="+r[n]+"\n")}}return Buffer.from(t)};t.decodePax=function(e){var t={};while(e.length){var r=0;while(r100){var A=n.indexOf("/");if(A===-1)return null;o+=o?"/"+n.slice(0,A):n.slice(0,A);n=n.slice(A+1)}if(Buffer.byteLength(n)>100||Buffer.byteLength(o)>155)return null;if(e.linkname&&Buffer.byteLength(e.linkname)>100)return null;t.write(n);t.write(encodeOct(e.mode&l,6),100);t.write(encodeOct(e.uid,6),108);t.write(encodeOct(e.gid,6),116);t.write(encodeOct(e.size,11),124);t.write(encodeOct(e.mtime.getTime()/1e3|0,11),136);t[156]=s+toTypeflag(e.type);if(e.linkname)t.write(e.linkname,157);i.copy(t,u);a.copy(t,h);if(e.uname)t.write(e.uname,265);if(e.gname)t.write(e.gname,297);t.write(encodeOct(e.devmajor||0,6),329);t.write(encodeOct(e.devminor||0,6),337);if(o)t.write(o,345);t.write(encodeOct(cksum(t),6),148);return t};t.decode=function(e,t,r){var n=e[156]===0?0:e[156]-s;var o=decodeStr(e,0,100,t);var a=decodeOct(e,100,8);var l=decodeOct(e,108,8);var d=decodeOct(e,116,8);var g=decodeOct(e,124,12);var p=decodeOct(e,136,12);var E=toType(n);var m=e[157]===0?null:decodeStr(e,157,100,t);var C=decodeStr(e,265,32);var I=decodeStr(e,297,32);var y=decodeOct(e,329,8);var B=decodeOct(e,337,8);var Q=cksum(e);if(Q===8*32)return null;if(Q!==decodeOct(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(i.compare(e,u,u+6)===0){if(e[345])o=decodeStr(e,345,155,t)+"/"+o}else if(A.compare(e,u,u+6)===0&&c.compare(e,h,h+2)===0){}else{if(!r){throw new Error("Invalid tar header: unknown format.")}}if(n===0&&o&&o[o.length-1]==="/")n=5;return{name:o,mode:a,uid:l,gid:d,size:g,mtime:new Date(1e3*p),type:E,linkname:m,uname:C,gname:I,devmajor:y,devminor:B}}},2283:(e,t,r)=>{t.extract=r(7882);t.pack=r(4930)},4930:(e,t,r)=>{var n=r(3186);var o=r(1205);var s=r(4124);var i=Buffer.alloc;var a=r(1642).Readable;var A=r(1642).Writable;var c=r(1576).StringDecoder;var l=r(8860);var u=parseInt("755",8);var h=parseInt("644",8);var d=i(1024);var noop=function(){};var overflow=function(e,t){t&=511;if(t)e.push(d.slice(0,512-t))};function modeToType(e){switch(e&n.S_IFMT){case n.S_IFBLK:return"block-device";case n.S_IFCHR:return"character-device";case n.S_IFDIR:return"directory";case n.S_IFIFO:return"fifo";case n.S_IFLNK:return"symlink"}return"file"}var Sink=function(e){A.call(this);this.written=0;this._to=e;this._destroyed=false};s(Sink,A);Sink.prototype._write=function(e,t,r){this.written+=e.length;if(this._to.push(e))return r();this._to._drain=r};Sink.prototype.destroy=function(){if(this._destroyed)return;this._destroyed=true;this.emit("close")};var LinkSink=function(){A.call(this);this.linkname="";this._decoder=new c("utf-8");this._destroyed=false};s(LinkSink,A);LinkSink.prototype._write=function(e,t,r){this.linkname+=this._decoder.write(e);r()};LinkSink.prototype.destroy=function(){if(this._destroyed)return;this._destroyed=true;this.emit("close")};var Void=function(){A.call(this);this._destroyed=false};s(Void,A);Void.prototype._write=function(e,t,r){r(new Error("No body allowed for this entry"))};Void.prototype.destroy=function(){if(this._destroyed)return;this._destroyed=true;this.emit("close")};var Pack=function(e){if(!(this instanceof Pack))return new Pack(e);a.call(this,e);this._drain=noop;this._finalized=false;this._finalizing=false;this._destroyed=false;this._stream=null};s(Pack,a);Pack.prototype.entry=function(e,t,r){if(this._stream)throw new Error("already piping an entry");if(this._finalized||this._destroyed)return;if(typeof t==="function"){r=t;t=null}if(!r)r=noop;var n=this;if(!e.size||e.type==="symlink")e.size=0;if(!e.type)e.type=modeToType(e.mode);if(!e.mode)e.mode=e.type==="directory"?u:h;if(!e.uid)e.uid=0;if(!e.gid)e.gid=0;if(!e.mtime)e.mtime=new Date;if(typeof t==="string")t=Buffer.from(t);if(Buffer.isBuffer(t)){e.size=t.length;this._encode(e);var s=this.push(t);overflow(n,e.size);if(s)process.nextTick(r);else this._drain=r;return new Void}if(e.type==="symlink"&&!e.linkname){var i=new LinkSink;o(i,(function(t){if(t){n.destroy();return r(t)}e.linkname=i.linkname;n._encode(e);r()}));return i}this._encode(e);if(e.type!=="file"&&e.type!=="contiguous-file"){process.nextTick(r);return new Void}var a=new Sink(this);this._stream=a;o(a,(function(t){n._stream=null;if(t){n.destroy();return r(t)}if(a.written!==e.size){n.destroy();return r(new Error("size mismatch"))}overflow(n,e.size);if(n._finalizing)n.finalize();r()}));return a};Pack.prototype.finalize=function(){if(this._stream){this._finalizing=true;return}if(this._finalized)return;this._finalized=true;this.push(d);this.push(null)};Pack.prototype.destroy=function(e){if(this._destroyed)return;this._destroyed=true;if(e)this.emit("error",e);this.emit("close");if(this._stream&&this._stream.destroy)this._stream.destroy()};Pack.prototype._encode=function(e){if(!e.pax){var t=l.encode(e);if(t){this.push(t);return}}this._encodePax(e)};Pack.prototype._encodePax=function(e){var t=l.encodePax({name:e.name,linkname:e.linkname,pax:e.pax});var r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(l.encode(r));this.push(t);overflow(this,t.length);r.size=e.size;r.type=e.type;this.push(l.encode(r))};Pack.prototype._read=function(e){var t=this._drain;this._drain=noop;t()};e.exports=Pack},8517:(e,t,r)=>{ +/*! + * Tmp + * + * Copyright (c) 2011-2017 KARASZI Istvan + * + * MIT Licensed + */ +const n=r(7147);const o=r(2037);const s=r(1017);const i=r(6113);const a={fs:n.constants,os:o.constants};const A=r(4959);const c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",l=/XXXXXX/,u=3,h=(a.O_CREAT||a.fs.O_CREAT)|(a.O_EXCL||a.fs.O_EXCL)|(a.O_RDWR||a.fs.O_RDWR),d=o.platform()==="win32",g=a.EBADF||a.os.errno.EBADF,p=a.ENOENT||a.os.errno.ENOENT,E=448,m=384,C="exit",I=[],y=n.rmdirSync.bind(n),B=A.sync;let Q=false;function tmpName(e,t){const r=_parseArguments(e,t),o=r[0],s=r[1];try{_assertAndSanitizeOptions(o)}catch(e){return s(e)}let i=o.tries;(function _getUniqueName(){try{const e=_generateTmpName(o);n.stat(e,(function(t){if(!t){if(i-- >0)return _getUniqueName();return s(new Error("Could not get a unique tmp filename, max tries reached "+e))}s(null,e)}))}catch(e){s(e)}})()}function tmpNameSync(e){const t=_parseArguments(e),r=t[0];_assertAndSanitizeOptions(r);let o=r.tries;do{const e=_generateTmpName(r);try{n.statSync(e)}catch(t){return e}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(e,t){const r=_parseArguments(e,t),o=r[0],s=r[1];tmpName(o,(function _tmpNameCreated(e,t){if(e)return s(e);n.open(t,h,o.mode||m,(function _fileCreated(e,r){if(e)return s(e);if(o.discardDescriptor){return n.close(r,(function _discardCallback(e){return s(e,t,undefined,_prepareTmpFileRemoveCallback(t,-1,o,false))}))}else{const e=o.discardDescriptor||o.detachDescriptor;s(null,t,r,_prepareTmpFileRemoveCallback(t,e?-1:r,o,false))}}))}))}function fileSync(e){const t=_parseArguments(e),r=t[0];const o=r.discardDescriptor||r.detachDescriptor;const s=tmpNameSync(r);var i=n.openSync(s,h,r.mode||m);if(r.discardDescriptor){n.closeSync(i);i=undefined}return{name:s,fd:i,removeCallback:_prepareTmpFileRemoveCallback(s,o?-1:i,r,true)}}function dir(e,t){const r=_parseArguments(e,t),o=r[0],s=r[1];tmpName(o,(function _tmpNameCreated(e,t){if(e)return s(e);n.mkdir(t,o.mode||E,(function _dirCreated(e){if(e)return s(e);s(null,t,_prepareTmpDirRemoveCallback(t,o,false))}))}))}function dirSync(e){const t=_parseArguments(e),r=t[0];const o=tmpNameSync(r);n.mkdirSync(o,r.mode||E);return{name:o,removeCallback:_prepareTmpDirRemoveCallback(o,r,true)}}function _removeFileAsync(e,t){const _handler=function(e){if(e&&!_isENOENT(e)){return t(e)}t()};if(0<=e[0])n.close(e[0],(function(){n.unlink(e[1],_handler)}));else n.unlink(e[1],_handler)}function _removeFileSync(e){let t=null;try{if(0<=e[0])n.closeSync(e[0])}catch(e){if(!_isEBADF(e)&&!_isENOENT(e))throw e}finally{try{n.unlinkSync(e[1])}catch(e){if(!_isENOENT(e))t=e}}if(t!==null){throw t}}function _prepareTmpFileRemoveCallback(e,t,r,n){const o=_prepareRemoveCallback(_removeFileSync,[t,e],n);const s=_prepareRemoveCallback(_removeFileAsync,[t,e],n,o);if(!r.keep)I.unshift(o);return n?o:s}function _prepareTmpDirRemoveCallback(e,t,r){const o=t.unsafeCleanup?A:n.rmdir.bind(n);const s=t.unsafeCleanup?B:y;const i=_prepareRemoveCallback(s,e,r);const a=_prepareRemoveCallback(o,e,r,i);if(!t.keep)I.unshift(i);return r?i:a}function _prepareRemoveCallback(e,t,r,n){let o=false;return function _cleanupCallback(s){if(!o){const i=n||_cleanupCallback;const a=I.indexOf(i);if(a>=0)I.splice(a,1);o=true;if(r||e===y||e===B){return e(t)}else{return e(t,s||function(){})}}}}function _garbageCollector(){if(!Q)return;while(I.length){try{I[0]()}catch(e){}}}function _randomChars(e){let t=[],r=null;try{r=i.randomBytes(e)}catch(t){r=i.pseudoRandomBytes(e)}for(var n=0;n{var t;var r;var n;var o;var s;var i;var a;var A;var c;var l;var u;var h;var d;var g;var p;var E;var m;var C;var I;var y;var B;var Q;var b;var w;var S;var v;var R;var k;var D;var N;var T;(function(t){var r=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(r,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(r,createExporter(e.exports)))}else{t(createExporter(r))}function createExporter(e,t){if(e!==r){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(r,n){return e[r]=t?t(r,n):n}}})((function(e){var O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r))e[r]=t[r]};t=function(e,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");O(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;a--)if(i=e[a])s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s;return o>3&&s&&Object.defineProperty(t,r,s),s};s=function(e,t){return function(r,n){t(r,n,e)}};i=function(e,t,r,n,o,s){function accept(e){if(e!==void 0&&typeof e!=="function")throw new TypeError("Function expected");return e}var i=n.kind,a=i==="getter"?"get":i==="setter"?"set":"value";var A=!t&&e?n["static"]?e:e.prototype:null;var c=t||(A?Object.getOwnPropertyDescriptor(A,n.name):{});var l,u=false;for(var h=r.length-1;h>=0;h--){var d={};for(var g in n)d[g]=g==="access"?{}:n[g];for(var g in n.access)d.access[g]=n.access[g];d.addInitializer=function(e){if(u)throw new TypeError("Cannot add initializers after decoration has completed");s.push(accept(e||null))};var p=(0,r[h])(i==="accessor"?{get:c.get,set:c.set}:c[a],d);if(i==="accessor"){if(p===void 0)continue;if(p===null||typeof p!=="object")throw new TypeError("Object expected");if(l=accept(p.get))c.get=l;if(l=accept(p.set))c.set=l;if(l=accept(p.init))o.unshift(l)}else if(l=accept(p)){if(i==="field")o.unshift(l);else c[a]=l}}if(A)Object.defineProperty(A,n.name,c);u=true};a=function(e,t,r){var n=arguments.length>2;for(var o=0;o0&&s[s.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]=e.length)e=void 0;return{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};p=function(e,t){var r=typeof Symbol==="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,s=[],i;try{while((t===void 0||t-- >0)&&!(o=n.next()).done)s.push(o.value)}catch(e){i={error:e}}finally{try{if(o&&!o.done&&(r=n["return"]))r.call(n)}finally{if(i)throw i.error}}return s};E=function(){for(var e=[],t=0;t1||resume(e,t)}))};if(t)o[e]=t(o[e])}}function resume(e,t){try{step(n[e](t))}catch(e){settle(s[0][3],e)}}function step(e){e.value instanceof I?Promise.resolve(e.value.v).then(fulfill,reject):settle(s[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),s.shift(),s.length)resume(s[0][0],s[0][1])}};B=function(e){var t,r;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:I(e[n](t)),done:false}:o?o(t):t}:o}};Q=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof g==="function"?g(e):e[Symbol.iterator](),r={},verb("next"),verb("throw"),verb("return"),r[Symbol.asyncIterator]=function(){return this},r);function verb(t){r[t]=e[t]&&function(r){return new Promise((function(n,o){r=e[t](r),settle(n,o,r.done,r.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};b=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var _=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t};w=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))D(t,e,r);_(t,e);return t};S=function(e){return e&&e.__esModule?e:{default:e}};v=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)};R=function(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r};k=function(e,t){if(t===null||typeof t!=="object"&&typeof t!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e==="function"?t===e:e.has(t)};N=function(e,t,r){if(t!==null&&t!==void 0){if(typeof t!=="object"&&typeof t!=="function")throw new TypeError("Object expected.");var n,o;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose];if(r)o=n}if(typeof n!=="function")throw new TypeError("Object not disposable.");if(o)n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}};e.stack.push({value:t,dispose:n,async:r})}else if(r){e.stack.push({async:true})}return t};var M=typeof SuppressedError==="function"?SuppressedError:function(e,t,r){var n=new Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};T=function(e){function fail(t){e.error=e.hasError?new M(t,e.error,"An error was suppressed during disposal."):t;e.hasError=true}function next(){while(e.stack.length){var t=e.stack.pop();try{var r=t.dispose&&t.dispose.call(t.value);if(t.async)return Promise.resolve(r).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(e.hasError)throw e.error}return next()};e("__extends",t);e("__assign",r);e("__rest",n);e("__decorate",o);e("__param",s);e("__esDecorate",i);e("__runInitializers",a);e("__propKey",A);e("__setFunctionName",c);e("__metadata",l);e("__awaiter",u);e("__generator",h);e("__exportStar",d);e("__createBinding",D);e("__values",g);e("__read",p);e("__spread",E);e("__spreadArrays",m);e("__spreadArray",C);e("__await",I);e("__asyncGenerator",y);e("__asyncDelegator",B);e("__asyncValues",Q);e("__makeTemplateObject",b);e("__importStar",w);e("__importDefault",S);e("__classPrivateFieldGet",v);e("__classPrivateFieldSet",R);e("__classPrivateFieldIn",k);e("__addDisposableResource",N);e("__disposeResources",T)}))},4294:(e,t,r)=>{e.exports=r(4219)},4219:(e,t,r)=>{"use strict";var n=r(1808);var o=r(4404);var s=r(3685);var i=r(5687);var a=r(2361);var A=r(9491);var c=r(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||s.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var s=toOptions(r,n,o);for(var i=0,a=t.requests.length;i=this.maxSockets){o.requests.push(s);return}o.createSocket(s,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,s)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}l("making CONNECT request");var s=r.request(o);s.useChunkedEncodingByDefault=false;s.once("response",onResponse);s.once("upgrade",onUpgrade);s.once("connect",onConnect);s.once("error",onError);s.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,i,a){s.removeAllListeners();i.removeAllListeners();if(o.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",o.statusCode);i.destroy();var A=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(n);return}if(a.length>0){l("got illegal response body from proxy");i.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(n);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=i;return t(i)}function onError(t){s.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var s=e.request.getHeader("host");var i=mergeOptions({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):e.host});var a=o.connect(0,i);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";const n=r(3598);const o=r(412);const s=r(8045);const i=r(4634);const a=r(7931);const A=r(7890);const c=r(3983);const{InvalidArgumentError:l}=s;const u=r(4059);const h=r(2067);const d=r(8687);const g=r(6771);const p=r(6193);const E=r(888);const m=r(7858);const C=r(2286);const{getGlobalDispatcher:I,setGlobalDispatcher:y}=r(1892);const B=r(6930);const Q=r(2860);const b=r(8861);let w;try{r(6113);w=true}catch{w=false}Object.assign(o.prototype,u);e.exports.Dispatcher=o;e.exports.Client=n;e.exports.Pool=i;e.exports.BalancedPool=a;e.exports.Agent=A;e.exports.ProxyAgent=m;e.exports.RetryHandler=C;e.exports.DecoratorHandler=B;e.exports.RedirectHandler=Q;e.exports.createRedirectInterceptor=b;e.exports.buildConnector=h;e.exports.errors=s;function makeDispatcher(e){return(t,r,n)=>{if(typeof r==="function"){n=r;r=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new l("invalid url")}if(r!=null&&typeof r!=="object"){throw new l("invalid opts")}if(r&&r.path!=null){if(typeof r.path!=="string"){throw new l("invalid opts.path")}let e=r.path;if(!r.path.startsWith("/")){e=`/${e}`}t=new URL(c.parseOrigin(t).origin+e)}else{if(!r){r=typeof t==="object"?t:{}}t=c.parseURL(t)}const{agent:o,dispatcher:s=I()}=r;if(o){throw new l("unsupported opts.agent. Did you mean opts.client?")}return e.call(s,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},n)}}e.exports.setGlobalDispatcher=y;e.exports.getGlobalDispatcher=I;if(c.nodeMajor>16||c.nodeMajor===16&&c.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=r(4881).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=r(554).Headers;e.exports.Response=r(7823).Response;e.exports.Request=r(8359).Request;e.exports.FormData=r(2015).FormData;e.exports.File=r(8511).File;e.exports.FileReader=r(6049).FileReader;const{setGlobalOrigin:n,getGlobalOrigin:o}=r(1246);e.exports.setGlobalOrigin=n;e.exports.getGlobalOrigin=o;const{CacheStorage:s}=r(7907);const{kConstruct:i}=r(9174);e.exports.caches=new s(i)}if(c.nodeMajor>=16){const{deleteCookie:t,getCookies:n,getSetCookies:o,setCookie:s}=r(1724);e.exports.deleteCookie=t;e.exports.getCookies=n;e.exports.getSetCookies=o;e.exports.setCookie=s;const{parseMIMEType:i,serializeAMimeType:a}=r(685);e.exports.parseMIMEType=i;e.exports.serializeAMimeType=a}if(c.nodeMajor>=18&&w){const{WebSocket:t}=r(4284);e.exports.WebSocket=t}e.exports.request=makeDispatcher(u.request);e.exports.stream=makeDispatcher(u.stream);e.exports.pipeline=makeDispatcher(u.pipeline);e.exports.connect=makeDispatcher(u.connect);e.exports.upgrade=makeDispatcher(u.upgrade);e.exports.MockClient=d;e.exports.MockPool=p;e.exports.MockAgent=g;e.exports.mockErrors=E},7890:(e,t,r)=>{"use strict";const{InvalidArgumentError:n}=r(8045);const{kClients:o,kRunning:s,kClose:i,kDestroy:a,kDispatch:A,kInterceptors:c}=r(8381);const l=r(4839);const u=r(4634);const h=r(3598);const d=r(3983);const g=r(8861);const{WeakRef:p,FinalizationRegistry:E}=r(6436)();const m=Symbol("onConnect");const C=Symbol("onDisconnect");const I=Symbol("onConnectionError");const y=Symbol("maxRedirections");const B=Symbol("onDrain");const Q=Symbol("factory");const b=Symbol("finalizer");const w=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new h(e,t):new u(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:r,...s}={}){super();if(typeof e!=="function"){throw new n("factory must be a function.")}if(r!=null&&typeof r!=="function"&&typeof r!=="object"){throw new n("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new n("maxRedirections must be a positive number")}if(r&&typeof r!=="function"){r={...r}}this[c]=s.interceptors&&s.interceptors.Agent&&Array.isArray(s.interceptors.Agent)?s.interceptors.Agent:[g({maxRedirections:t})];this[w]={...d.deepClone(s),connect:r};this[w].interceptors=s.interceptors?{...s.interceptors}:undefined;this[y]=t;this[Q]=e;this[o]=new Map;this[b]=new E((e=>{const t=this[o].get(e);if(t!==undefined&&t.deref()===undefined){this[o].delete(e)}}));const i=this;this[B]=(e,t)=>{i.emit("drain",e,[i,...t])};this[m]=(e,t)=>{i.emit("connect",e,[i,...t])};this[C]=(e,t,r)=>{i.emit("disconnect",e,[i,...t],r)};this[I]=(e,t,r)=>{i.emit("connectionError",e,[i,...t],r)}}get[s](){let e=0;for(const t of this[o].values()){const r=t.deref();if(r){e+=r[s]}}return e}[A](e,t){let r;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){r=String(e.origin)}else{throw new n("opts.origin must be a non-empty string or URL.")}const s=this[o].get(r);let i=s?s.deref():null;if(!i){i=this[Q](e.origin,this[w]).on("drain",this[B]).on("connect",this[m]).on("disconnect",this[C]).on("connectionError",this[I]);this[o].set(r,new p(i));this[b].register(i,r)}return i.dispatch(e,t)}async[i](){const e=[];for(const t of this[o].values()){const r=t.deref();if(r){e.push(r.close())}}await Promise.all(e)}async[a](e){const t=[];for(const r of this[o].values()){const n=r.deref();if(n){t.push(n.destroy(e))}}await Promise.all(t)}}e.exports=Agent},7032:(e,t,r)=>{const{addAbortListener:n}=r(3983);const{RequestAbortedError:o}=r(8045);const s=Symbol("kListener");const i=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new o)}}function addSignal(e,t){e[i]=null;e[s]=null;if(!t){return}if(t.aborted){abort(e);return}e[i]=t;e[s]=()=>{abort(e)};n(e[i],e[s])}function removeSignal(e){if(!e[i]){return}if("removeEventListener"in e[i]){e[i].removeEventListener("abort",e[s])}else{e[i].removeListener("abort",e[s])}e[i]=null;e[s]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},9744:(e,t,r)=>{"use strict";const{AsyncResource:n}=r(852);const{InvalidArgumentError:o,RequestAbortedError:s,SocketError:i}=r(8045);const a=r(3983);const{addSignal:A,removeSignal:c}=r(7032);class ConnectHandler extends n{constructor(e,t){if(!e||typeof e!=="object"){throw new o("invalid opts")}if(typeof t!=="function"){throw new o("invalid callback")}const{signal:r,opaque:n,responseHeaders:s}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=n||null;this.responseHeaders=s||null;this.callback=t;this.abort=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new s}this.abort=e;this.context=t}onHeaders(){throw new i("bad connect",null)}onUpgrade(e,t,r){const{callback:n,opaque:o,context:s}=this;c(this);this.callback=null;let i=t;if(i!=null){i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t)}this.runInAsyncScope(n,null,null,{statusCode:e,headers:i,socket:r,opaque:o,context:s})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,r)=>{connect.call(this,e,((e,n)=>e?r(e):t(n)))}))}try{const r=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},r)}catch(r){if(typeof t!=="function"){throw r}const n=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:n})))}}e.exports=connect},8752:(e,t,r)=>{"use strict";const{Readable:n,Duplex:o,PassThrough:s}=r(2781);const{InvalidArgumentError:i,InvalidReturnValueError:a,RequestAbortedError:A}=r(8045);const c=r(3983);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:h}=r(7032);const d=r(9491);const g=Symbol("resume");class PipelineRequest extends n{constructor(){super({autoDestroy:true});this[g]=null}_read(){const{[g]:e}=this;if(e){this[g]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends n{constructor(e){super({autoDestroy:true});this[g]=e}_read(){this[g]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new A}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid handler")}const{signal:r,method:n,opaque:s,onInfo:a,responseHeaders:l}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new i("invalid method")}if(a&&typeof a!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=s||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=a||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new o({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,r)=>{const{req:n}=this;if(n.push(e,t)||n._readableState.destroyed){r()}else{n[g]=r}},destroy:(e,t)=>{const{body:r,req:n,res:o,ret:s,abort:i}=this;if(!e&&!s._readableState.endEmitted){e=new A}if(i&&e){i()}c.destroy(r,e);c.destroy(n,e);c.destroy(o,e);h(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;u(this,r)}onConnect(e,t){const{ret:r,res:n}=this;d(!n,"pipeline cannot be retried");if(r.destroyed){throw new A}this.abort=e;this.context=t}onHeaders(e,t,r){const{opaque:n,handler:o,context:s}=this;if(e<200){if(this.onInfo){const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:r})}return}this.res=new PipelineResponse(r);let i;try{this.handler=null;const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);i=this.runInAsyncScope(o,null,{statusCode:e,headers:r,opaque:n,body:this.res,context:s})}catch(e){this.res.on("error",c.nop);throw e}if(!i||typeof i.on!=="function"){throw new a("expected Readable")}i.on("data",(e=>{const{ret:t,body:r}=this;if(!t.push(e)&&r.pause){r.pause()}})).on("error",(e=>{const{ret:t}=this;c.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new A)}}));this.body=i}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const r=new PipelineHandler(e,t);this.dispatch({...e,body:r.req},r);return r.ret}catch(e){return(new s).destroy(e)}}e.exports=pipeline},5448:(e,t,r)=>{"use strict";const n=r(3858);const{InvalidArgumentError:o,RequestAbortedError:s}=r(8045);const i=r(3983);const{getResolveErrorBodyCallback:a}=r(7474);const{AsyncResource:A}=r(852);const{addSignal:c,removeSignal:l}=r(7032);class RequestHandler extends A{constructor(e,t){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:r,method:n,opaque:s,body:a,onInfo:A,responseHeaders:l,throwOnError:u,highWaterMark:h}=e;try{if(typeof t!=="function"){throw new o("invalid callback")}if(h&&(typeof h!=="number"||h<0)){throw new o("invalid highWaterMark")}if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new o("invalid method")}if(A&&typeof A!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(a)){i.destroy(a.on("error",i.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=s||null;this.callback=t;this.res=null;this.abort=null;this.body=a;this.trailers={};this.context=null;this.onInfo=A||null;this.throwOnError=u;this.highWaterMark=h;if(i.isStream(a)){a.on("error",(e=>{this.onError(e)}))}c(this,r)}onConnect(e,t){if(!this.callback){throw new s}this.abort=e;this.context=t}onHeaders(e,t,r,o){const{callback:s,opaque:A,abort:c,context:l,responseHeaders:u,highWaterMark:h}=this;const d=u==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:d})}return}const g=u==="raw"?i.parseHeaders(t):d;const p=g["content-type"];const E=new n({resume:r,abort:c,contentType:p,highWaterMark:h});this.callback=null;this.res=E;if(s!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(a,null,{callback:s,body:E,contentType:p,statusCode:e,statusMessage:o,headers:d})}else{this.runInAsyncScope(s,null,null,{statusCode:e,headers:d,trailers:this.trailers,opaque:A,body:E,context:l})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;l(this);i.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:r,body:n,opaque:o}=this;l(this);if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:o})}))}if(t){this.res=null;queueMicrotask((()=>{i.destroy(t,e)}))}if(n){this.body=null;i.destroy(n,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,r)=>{request.call(this,e,((e,n)=>e?r(e):t(n)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(r){if(typeof t!=="function"){throw r}const n=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:n})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},5395:(e,t,r)=>{"use strict";const{finished:n,PassThrough:o}=r(2781);const{InvalidArgumentError:s,InvalidReturnValueError:i,RequestAbortedError:a}=r(8045);const A=r(3983);const{getResolveErrorBodyCallback:c}=r(7474);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:h}=r(7032);class StreamHandler extends l{constructor(e,t,r){if(!e||typeof e!=="object"){throw new s("invalid opts")}const{signal:n,method:o,opaque:i,body:a,onInfo:c,responseHeaders:l,throwOnError:h}=e;try{if(typeof r!=="function"){throw new s("invalid callback")}if(typeof t!=="function"){throw new s("invalid factory")}if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}if(o==="CONNECT"){throw new s("invalid method")}if(c&&typeof c!=="function"){throw new s("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(A.isStream(a)){A.destroy(a.on("error",A.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=i||null;this.factory=t;this.callback=r;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=a;this.onInfo=c||null;this.throwOnError=h||false;if(A.isStream(a)){a.on("error",(e=>{this.onError(e)}))}u(this,n)}onConnect(e,t){if(!this.callback){throw new a}this.abort=e;this.context=t}onHeaders(e,t,r,s){const{factory:a,opaque:l,context:u,callback:h,responseHeaders:d}=this;const g=d==="raw"?A.parseRawHeaders(t):A.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:g})}return}this.factory=null;let p;if(this.throwOnError&&e>=400){const r=d==="raw"?A.parseHeaders(t):g;const n=r["content-type"];p=new o;this.callback=null;this.runInAsyncScope(c,null,{callback:h,body:p,contentType:n,statusCode:e,statusMessage:s,headers:g})}else{if(a===null){return}p=this.runInAsyncScope(a,null,{statusCode:e,headers:g,opaque:l,context:u});if(!p||typeof p.write!=="function"||typeof p.end!=="function"||typeof p.on!=="function"){throw new i("expected Writable")}n(p,{readable:false},(e=>{const{callback:t,res:r,opaque:n,trailers:o,abort:s}=this;this.res=null;if(e||!r.readable){A.destroy(r,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:n,trailers:o});if(e){s()}}))}p.on("drain",r);this.res=p;const E=p.writableNeedDrain!==undefined?p.writableNeedDrain:p._writableState&&p._writableState.needDrain;return E!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;h(this);if(!t){return}this.trailers=A.parseHeaders(e);t.end()}onError(e){const{res:t,callback:r,opaque:n,body:o}=this;h(this);this.factory=null;if(t){this.res=null;A.destroy(t,e)}else if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:n})}))}if(o){this.body=null;A.destroy(o,e)}}}function stream(e,t,r){if(r===undefined){return new Promise(((r,n)=>{stream.call(this,e,t,((e,t)=>e?n(e):r(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,r))}catch(t){if(typeof r!=="function"){throw t}const n=e&&e.opaque;queueMicrotask((()=>r(t,{opaque:n})))}}e.exports=stream},6923:(e,t,r)=>{"use strict";const{InvalidArgumentError:n,RequestAbortedError:o,SocketError:s}=r(8045);const{AsyncResource:i}=r(852);const a=r(3983);const{addSignal:A,removeSignal:c}=r(7032);const l=r(9491);class UpgradeHandler extends i{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:r,opaque:o,responseHeaders:s}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=s||null;this.opaque=o||null;this.callback=t;this.abort=null;this.context=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=null}onHeaders(){throw new s("bad upgrade",null)}onUpgrade(e,t,r){const{callback:n,opaque:o,context:s}=this;l.strictEqual(e,101);c(this);this.callback=null;const i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);this.runInAsyncScope(n,null,null,{headers:i,socket:r,opaque:o,context:s})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,r)=>{upgrade.call(this,e,((e,n)=>e?r(e):t(n)))}))}try{const r=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},r)}catch(r){if(typeof t!=="function"){throw r}const n=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:n})))}}e.exports=upgrade},4059:(e,t,r)=>{"use strict";e.exports.request=r(5448);e.exports.stream=r(5395);e.exports.pipeline=r(8752);e.exports.upgrade=r(6923);e.exports.connect=r(9744)},3858:(e,t,r)=>{"use strict";const n=r(9491);const{Readable:o}=r(2781);const{RequestAbortedError:s,NotSupportedError:i,InvalidArgumentError:a}=r(8045);const A=r(3983);const{ReadableStreamFrom:c,toUSVString:l}=r(3983);let u;const h=Symbol("kConsume");const d=Symbol("kReading");const g=Symbol("kBody");const p=Symbol("abort");const E=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends o{constructor({resume:e,abort:t,contentType:r="",highWaterMark:n=64*1024}){super({autoDestroy:true,read:e,highWaterMark:n});this._readableState.dataEmitted=false;this[p]=t;this[h]=null;this[g]=null;this[E]=r;this[d]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new s}if(e){this[p]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[d]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const r=super.off(e,...t);if(e==="data"||e==="readable"){this[d]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return r}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[h]&&e!==null&&this.readableLength===0){consumePush(this[h],e);return this[d]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new i}get bodyUsed(){return A.isDisturbed(this)}get body(){if(!this[g]){this[g]=c(this);if(this[h]){this[g].getReader();n(this[g].locked)}}return this[g]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const r=e&&e.signal;if(r){try{if(typeof r!=="object"||!("aborted"in r)){throw new a("signal must be an AbortSignal")}A.throwIfAborted(r)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,n)=>{const o=r?A.addAbortListener(r,(()=>{this.destroy()})):noop;this.on("close",(function(){o();if(r&&r.aborted){n(r.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[g]&&e[g].locked===true||e[h]}function isUnusable(e){return A.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}n(!e[h]);return new Promise(((r,n)=>{e[h]={type:t,stream:e,resolve:r,reject:n,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[h],e)})).on("close",(function(){if(this[h].body!==null){consumeFinish(this[h],new s)}}));process.nextTick(consumeStart,e[h])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const r of t.buffer){consumePush(e,r)}if(t.endEmitted){consumeEnd(this[h])}else{e.stream.on("end",(function(){consumeEnd(this[h])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:n,resolve:o,stream:s,length:i}=e;try{if(t==="text"){o(l(Buffer.concat(n)))}else if(t==="json"){o(JSON.parse(Buffer.concat(n)))}else if(t==="arrayBuffer"){const e=new Uint8Array(i);let t=0;for(const r of n){e.set(r,t);t+=r.byteLength}o(e.buffer)}else if(t==="blob"){if(!u){u=r(4300).Blob}o(new u(n,{type:s[E]}))}consumeFinish(e)}catch(e){s.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},7474:(e,t,r)=>{const n=r(9491);const{ResponseStatusCodeError:o}=r(8045);const{toUSVString:s}=r(3983);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:r,statusCode:i,statusMessage:a,headers:A}){n(t);let c=[];let l=0;for await(const e of t){c.push(e);l+=e.length;if(l>128*1024){c=null;break}}if(i===204||!r||!c){process.nextTick(e,new o(`Response status code ${i}${a?`: ${a}`:""}`,i,A));return}try{if(r.startsWith("application/json")){const t=JSON.parse(s(Buffer.concat(c)));process.nextTick(e,new o(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}if(r.startsWith("text/")){const t=s(Buffer.concat(c));process.nextTick(e,new o(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}}catch(e){}process.nextTick(e,new o(`Response status code ${i}${a?`: ${a}`:""}`,i,A))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},7931:(e,t,r)=>{"use strict";const{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:o}=r(8045);const{PoolBase:s,kClients:i,kNeedDrain:a,kAddClient:A,kRemoveClient:c,kGetDispatcher:l}=r(3198);const u=r(4634);const{kUrl:h,kInterceptors:d}=r(8381);const{parseOrigin:g}=r(3983);const p=Symbol("factory");const E=Symbol("options");const m=Symbol("kGreatestCommonDivisor");const C=Symbol("kCurrentWeight");const I=Symbol("kIndex");const y=Symbol("kWeight");const B=Symbol("kMaxWeightPerServer");const Q=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new u(e,t)}class BalancedPool extends s{constructor(e=[],{factory:t=defaultFactory,...r}={}){super();this[E]=r;this[I]=-1;this[C]=0;this[B]=this[E].maxWeightPerServer||100;this[Q]=this[E].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new o("factory must be a function.")}this[d]=r.interceptors&&r.interceptors.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[];this[p]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=g(e).origin;if(this[i].find((e=>e[h].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const r=this[p](t,Object.assign({},this[E]));this[A](r);r.on("connect",(()=>{r[y]=Math.min(this[B],r[y]+this[Q])}));r.on("connectionError",(()=>{r[y]=Math.max(1,r[y]-this[Q]);this._updateBalancedPoolStats()}));r.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){r[y]=Math.max(1,r[y]-this[Q]);this._updateBalancedPoolStats()}}));for(const e of this[i]){e[y]=this[B]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[m]=this[i].map((e=>e[y])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=g(e).origin;const r=this[i].find((e=>e[h].origin===t&&e.closed!==true&&e.destroyed!==true));if(r){this[c](r)}return this}get upstreams(){return this[i].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[h].origin))}[l](){if(this[i].length===0){throw new n}const e=this[i].find((e=>!e[a]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[i].map((e=>e[a])).reduce(((e,t)=>e&&t),true);if(t){return}let r=0;let o=this[i].findIndex((e=>!e[a]));while(r++this[i][o][y]&&!e[a]){o=this[I]}if(this[I]===0){this[C]=this[C]-this[m];if(this[C]<=0){this[C]=this[B]}}if(e[y]>=this[C]&&!e[a]){return e}}this[C]=this[i][o][y];this[I]=o;return this[i][o]}}e.exports=BalancedPool},6101:(e,t,r)=>{"use strict";const{kConstruct:n}=r(9174);const{urlEquals:o,fieldValues:s}=r(2396);const{kEnumerableProperty:i,isDisturbed:a}=r(3983);const{kHeadersList:A}=r(8381);const{webidl:c}=r(1744);const{Response:l,cloneResponse:u}=r(7823);const{Request:h}=r(8359);const{kState:d,kHeaders:g,kGuard:p,kRealm:E}=r(5861);const{fetching:m}=r(4881);const{urlIsHttpHttpsScheme:C,createDeferredPromise:I,readAllBytes:y}=r(2538);const B=r(9491);const{getGlobalDispatcher:Q}=r(1892);class Cache{#e;constructor(){if(arguments[0]!==n){c.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);const r=await this.matchAll(e,t);if(r.length===0){return}return r[0]}async matchAll(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof h){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new h(e)[d]}}const n=[];if(e===undefined){for(const e of this.#e){n.push(e[1])}}else{const e=this.#t(r,t);for(const t of e){n.push(t[1])}}const o=[];for(const e of n){const t=new l(e.body?.source??null);const r=t[d].body;t[d]=e;t[d].body=r;t[g][A]=e.headersList;t[g][p]="immutable";o.push(t)}return Object.freeze(o)}async add(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=c.converters.RequestInfo(e);const t=[e];const r=this.addAll(t);return await r}async addAll(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=c.converters["sequence"](e);const t=[];const r=[];for(const t of e){if(typeof t==="string"){continue}const e=t[d];if(!C(e.url)||e.method!=="GET"){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const n=[];for(const o of e){const e=new h(o)[d];if(!C(e.url)){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";r.push(e);const i=I();n.push(m({request:e,dispatcher:Q(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(c.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=s(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(c.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of n){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));t.push(i.promise)}const o=Promise.all(t);const i=await o;const a=[];let A=0;for(const e of i){const t={type:"put",request:r[A],response:e};a.push(t);A++}const l=I();let u=null;try{this.#r(a)}catch(e){u=e}queueMicrotask((()=>{if(u===null){l.resolve(undefined)}else{l.reject(u)}}));return l.promise}async put(e,t){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=c.converters.RequestInfo(e);t=c.converters.Response(t);let r=null;if(e instanceof h){r=e[d]}else{r=new h(e)[d]}if(!C(r.url)||r.method!=="GET"){throw c.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const n=t[d];if(n.status===206){throw c.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(n.headersList.contains("vary")){const e=s(n.headersList.get("vary"));for(const t of e){if(t==="*"){throw c.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(n.body&&(a(n.body.stream)||n.body.stream.locked)){throw c.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const o=u(n);const i=I();if(n.body!=null){const e=n.body.stream;const t=e.getReader();y(t).then(i.resolve,i.reject)}else{i.resolve(undefined)}const A=[];const l={type:"put",request:r,response:o};A.push(l);const g=await i.promise;if(o.body!=null){o.body.source=g}const p=I();let E=null;try{this.#r(A)}catch(e){E=e}queueMicrotask((()=>{if(E===null){p.resolve()}else{p.reject(E)}}));return p.promise}async delete(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e instanceof h){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return false}}else{B(typeof e==="string");r=new h(e)[d]}const n=[];const o={type:"delete",request:r,options:t};n.push(o);const s=I();let i=null;let a;try{a=this.#r(n)}catch(e){i=e}queueMicrotask((()=>{if(i===null){s.resolve(!!a?.length)}else{s.reject(i)}}));return s.promise}async keys(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof h){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new h(e)[d]}}const n=I();const o=[];if(e===undefined){for(const e of this.#e){o.push(e[0])}}else{const e=this.#t(r,t);for(const t of e){o.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of o){const r=new h("https://a");r[d]=t;r[g][A]=t.headersList;r[g][p]="immutable";r[E]=t.client;e.push(r)}n.resolve(Object.freeze(e))}));return n.promise}#r(e){const t=this.#e;const r=[...t];const n=[];const o=[];try{for(const r of e){if(r.type!=="delete"&&r.type!=="put"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(r.type==="delete"&&r.response!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(r.request,r.options,n).length){throw new DOMException("???","InvalidStateError")}let e;if(r.type==="delete"){e=this.#t(r.request,r.options);if(e.length===0){return[]}for(const r of e){const e=t.indexOf(r);B(e!==-1);t.splice(e,1)}}else if(r.type==="put"){if(r.response==null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const o=r.request;if(!C(o.url)){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(o.method!=="GET"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(r.options!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(r.request);for(const r of e){const e=t.indexOf(r);B(e!==-1);t.splice(e,1)}t.push([r.request,r.response]);n.push([r.request,r.response])}o.push([r.request,r.response])}return o}catch(e){this.#e.length=0;this.#e=r;throw e}}#t(e,t,r){const n=[];const o=r??this.#e;for(const r of o){const[o,s]=r;if(this.#n(e,o,s,t)){n.push(r)}}return n}#n(e,t,r=null,n){const i=new URL(e.url);const a=new URL(t.url);if(n?.ignoreSearch){a.search="";i.search=""}if(!o(i,a,true)){return false}if(r==null||n?.ignoreVary||!r.headersList.contains("vary")){return true}const A=s(r.headersList.get("vary"));for(const r of A){if(r==="*"){return false}const n=t.headersList.get(r);const o=e.headersList.get(r);if(n!==o){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:i,matchAll:i,add:i,addAll:i,put:i,delete:i,keys:i});const b=[{key:"ignoreSearch",converter:c.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:c.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:c.converters.boolean,defaultValue:false}];c.converters.CacheQueryOptions=c.dictionaryConverter(b);c.converters.MultiCacheQueryOptions=c.dictionaryConverter([...b,{key:"cacheName",converter:c.converters.DOMString}]);c.converters.Response=c.interfaceConverter(l);c.converters["sequence"]=c.sequenceConverter(c.converters.RequestInfo);e.exports={Cache:Cache}},7907:(e,t,r)=>{"use strict";const{kConstruct:n}=r(9174);const{Cache:o}=r(6101);const{webidl:s}=r(1744);const{kEnumerableProperty:i}=r(3983);class CacheStorage{#o=new Map;constructor(){if(arguments[0]!==n){s.illegalConstructor()}}async match(e,t={}){s.brandCheck(this,CacheStorage);s.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=s.converters.RequestInfo(e);t=s.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#o.has(t.cacheName)){const r=this.#o.get(t.cacheName);const s=new o(n,r);return await s.match(e,t)}}else{for(const r of this.#o.values()){const s=new o(n,r);const i=await s.match(e,t);if(i!==undefined){return i}}}}async has(e){s.brandCheck(this,CacheStorage);s.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=s.converters.DOMString(e);return this.#o.has(e)}async open(e){s.brandCheck(this,CacheStorage);s.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=s.converters.DOMString(e);if(this.#o.has(e)){const t=this.#o.get(e);return new o(n,t)}const t=[];this.#o.set(e,t);return new o(n,t)}async delete(e){s.brandCheck(this,CacheStorage);s.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=s.converters.DOMString(e);return this.#o.delete(e)}async keys(){s.brandCheck(this,CacheStorage);const e=this.#o.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:i,has:i,open:i,delete:i,keys:i});e.exports={CacheStorage:CacheStorage}},9174:(e,t,r)=>{"use strict";e.exports={kConstruct:r(8381).kConstruct}},2396:(e,t,r)=>{"use strict";const n=r(9491);const{URLSerializer:o}=r(685);const{isValidHeaderName:s}=r(2538);function urlEquals(e,t,r=false){const n=o(e,r);const s=o(t,r);return n===s}function fieldValues(e){n(e!==null);const t=[];for(let r of e.split(",")){r=r.trim();if(!r.length){continue}else if(!s(r)){continue}t.push(r)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},3598:(e,t,r)=>{"use strict";const n=r(9491);const o=r(1808);const s=r(3685);const{pipeline:i}=r(2781);const a=r(3983);const A=r(9459);const c=r(2905);const l=r(4839);const{RequestContentLengthMismatchError:u,ResponseContentLengthMismatchError:h,InvalidArgumentError:d,RequestAbortedError:g,HeadersTimeoutError:p,HeadersOverflowError:E,SocketError:m,InformationalError:C,BodyTimeoutError:I,HTTPParserError:y,ResponseExceededMaxSizeError:B,ClientDestroyedError:Q}=r(8045);const b=r(2067);const{kUrl:w,kReset:S,kServerName:v,kClient:R,kBusy:k,kParser:D,kConnect:N,kBlocking:T,kResuming:O,kRunning:_,kPending:M,kSize:L,kWriting:F,kQueue:U,kConnected:P,kConnecting:G,kNeedDrain:Y,kNoRef:V,kKeepAliveDefaultTimeout:W,kHostHeader:J,kPendingIdx:q,kRunningIdx:j,kError:z,kPipelining:$,kSocket:K,kKeepAliveTimeoutValue:X,kMaxHeadersSize:Z,kKeepAliveMaxTimeout:ee,kKeepAliveTimeoutThreshold:te,kHeadersTimeout:re,kBodyTimeout:ne,kStrictContentLength:oe,kConnector:se,kMaxRedirections:ie,kMaxRequests:ae,kCounter:Ae,kClose:ce,kDestroy:le,kDispatch:ue,kInterceptors:fe,kLocalAddress:he,kMaxResponseSize:de,kHTTPConnVersion:ge,kHost:pe,kHTTP2Session:Ee,kHTTP2SessionState:me,kHTTP2BuildRequest:Ce,kHTTP2CopyHeaders:Ie,kHTTP1BuildRequest:ye}=r(8381);let Be;try{Be=r(5158)}catch{Be={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Qe,HTTP2_HEADER_METHOD:be,HTTP2_HEADER_PATH:we,HTTP2_HEADER_SCHEME:Se,HTTP2_HEADER_CONTENT_LENGTH:ve,HTTP2_HEADER_EXPECT:Re,HTTP2_HEADER_STATUS:ke}}=Be;let De=false;const Ne=Buffer[Symbol.species];const Te=Symbol("kClosedResolve");const Oe={};try{const e=r(7643);Oe.sendHeaders=e.channel("undici:client:sendHeaders");Oe.beforeConnect=e.channel("undici:client:beforeConnect");Oe.connectError=e.channel("undici:client:connectError");Oe.connected=e.channel("undici:client:connected")}catch{Oe.sendHeaders={hasSubscribers:false};Oe.beforeConnect={hasSubscribers:false};Oe.connectError={hasSubscribers:false};Oe.connected={hasSubscribers:false}}class Client extends l{constructor(e,{interceptors:t,maxHeaderSize:r,headersTimeout:n,socketTimeout:i,requestTimeout:A,connectTimeout:c,bodyTimeout:l,idleTimeout:u,keepAlive:h,keepAliveTimeout:g,maxKeepAliveTimeout:p,keepAliveMaxTimeout:E,keepAliveTimeoutThreshold:m,socketPath:C,pipelining:I,tls:y,strictContentLength:B,maxCachedSessions:Q,maxRedirections:S,connect:R,maxRequestsPerClient:k,localAddress:D,maxResponseSize:N,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:_,allowH2:M,maxConcurrentStreams:L}={}){super();if(h!==undefined){throw new d("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new d("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(A!==undefined){throw new d("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(u!==undefined){throw new d("unsupported idleTimeout, use keepAliveTimeout instead")}if(p!==undefined){throw new d("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(r!=null&&!Number.isFinite(r)){throw new d("invalid maxHeaderSize")}if(C!=null&&typeof C!=="string"){throw new d("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new d("invalid connectTimeout")}if(g!=null&&(!Number.isFinite(g)||g<=0)){throw new d("invalid keepAliveTimeout")}if(E!=null&&(!Number.isFinite(E)||E<=0)){throw new d("invalid keepAliveMaxTimeout")}if(m!=null&&!Number.isFinite(m)){throw new d("invalid keepAliveTimeoutThreshold")}if(n!=null&&(!Number.isInteger(n)||n<0)){throw new d("headersTimeout must be a positive integer or zero")}if(l!=null&&(!Number.isInteger(l)||l<0)){throw new d("bodyTimeout must be a positive integer or zero")}if(R!=null&&typeof R!=="function"&&typeof R!=="object"){throw new d("connect must be a function or an object")}if(S!=null&&(!Number.isInteger(S)||S<0)){throw new d("maxRedirections must be a positive number")}if(k!=null&&(!Number.isInteger(k)||k<0)){throw new d("maxRequestsPerClient must be a positive number")}if(D!=null&&(typeof D!=="string"||o.isIP(D)===0)){throw new d("localAddress must be valid string IP address")}if(N!=null&&(!Number.isInteger(N)||N<-1)){throw new d("maxResponseSize must be a positive number")}if(_!=null&&(!Number.isInteger(_)||_<-1)){throw new d("autoSelectFamilyAttemptTimeout must be a positive number")}if(M!=null&&typeof M!=="boolean"){throw new d("allowH2 must be a valid boolean value")}if(L!=null&&(typeof L!=="number"||L<1)){throw new d("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof R!=="function"){R=b({...y,maxCachedSessions:Q,allowH2:M,socketPath:C,timeout:c,...a.nodeHasAutoSelectFamily&&T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:_}:undefined,...R})}this[fe]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[Me({maxRedirections:S})];this[w]=a.parseOrigin(e);this[se]=R;this[K]=null;this[$]=I!=null?I:1;this[Z]=r||s.maxHeaderSize;this[W]=g==null?4e3:g;this[ee]=E==null?6e5:E;this[te]=m==null?1e3:m;this[X]=this[W];this[v]=null;this[he]=D!=null?D:null;this[O]=0;this[Y]=0;this[J]=`host: ${this[w].hostname}${this[w].port?`:${this[w].port}`:""}\r\n`;this[ne]=l!=null?l:3e5;this[re]=n!=null?n:3e5;this[oe]=B==null?true:B;this[ie]=S;this[ae]=k;this[Te]=null;this[de]=N>-1?N:-1;this[ge]="h1";this[Ee]=null;this[me]=!M?null:{openStreams:0,maxConcurrentStreams:L!=null?L:100};this[pe]=`${this[w].hostname}${this[w].port?`:${this[w].port}`:""}`;this[U]=[];this[j]=0;this[q]=0}get pipelining(){return this[$]}set pipelining(e){this[$]=e;resume(this,true)}get[M](){return this[U].length-this[q]}get[_](){return this[q]-this[j]}get[L](){return this[U].length-this[j]}get[P](){return!!this[K]&&!this[G]&&!this[K].destroyed}get[k](){const e=this[K];return e&&(e[S]||e[F]||e[T])||this[L]>=(this[$]||1)||this[M]>0}[N](e){connect(this);this.once("connect",e)}[ue](e,t){const r=e.origin||this[w].origin;const n=this[ge]==="h2"?c[Ce](r,e,t):c[ye](r,e,t);this[U].push(n);if(this[O]){}else if(a.bodyLength(n.body)==null&&a.isIterable(n.body)){this[O]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[O]&&this[Y]!==2&&this[k]){this[Y]=2}return this[Y]<2}async[ce](){return new Promise((e=>{if(!this[L]){e(null)}else{this[Te]=e}}))}async[le](e){return new Promise((t=>{const r=this[U].splice(this[q]);for(let t=0;t{if(this[Te]){this[Te]();this[Te]=null}t()};if(this[Ee]!=null){a.destroy(this[Ee],e);this[Ee]=null;this[me]=null}if(!this[K]){queueMicrotask(callback)}else{a.destroy(this[K].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){n(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[K][z]=e;onError(this[R],e)}function onHttp2FrameError(e,t,r){const n=new C(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(r===0){this[K][z]=n;onError(this[R],n)}}function onHttp2SessionEnd(){a.destroy(this,new m("other side closed"));a.destroy(this[K],new m("other side closed"))}function onHTTP2GoAway(e){const t=this[R];const r=new C(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[K]=null;t[Ee]=null;if(t.destroyed){n(this[M]===0);const e=t[U].splice(t[j]);for(let t=0;t0){const e=t[U][t[j]];t[U][t[j]++]=null;errorRequest(t,e,r)}t[q]=t[j];n(t[_]===0);t.emit("disconnect",t[w],[t],r);resume(t)}const _e=r(953);const Me=r(8861);const Le=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?r(1145):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(r(5627),"base64"))}catch(n){t=await WebAssembly.compile(Buffer.from(e||r(1145),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,r)=>0,wasm_on_status:(e,t,r)=>{n.strictEqual(Ue.ptr,e);const o=t-Ge+Pe.byteOffset;return Ue.onStatus(new Ne(Pe.buffer,o,r))||0},wasm_on_message_begin:e=>{n.strictEqual(Ue.ptr,e);return Ue.onMessageBegin()||0},wasm_on_header_field:(e,t,r)=>{n.strictEqual(Ue.ptr,e);const o=t-Ge+Pe.byteOffset;return Ue.onHeaderField(new Ne(Pe.buffer,o,r))||0},wasm_on_header_value:(e,t,r)=>{n.strictEqual(Ue.ptr,e);const o=t-Ge+Pe.byteOffset;return Ue.onHeaderValue(new Ne(Pe.buffer,o,r))||0},wasm_on_headers_complete:(e,t,r,o)=>{n.strictEqual(Ue.ptr,e);return Ue.onHeadersComplete(t,Boolean(r),Boolean(o))||0},wasm_on_body:(e,t,r)=>{n.strictEqual(Ue.ptr,e);const o=t-Ge+Pe.byteOffset;return Ue.onBody(new Ne(Pe.buffer,o,r))||0},wasm_on_message_complete:e=>{n.strictEqual(Ue.ptr,e);return Ue.onMessageComplete()||0}}})}let Fe=null;let xe=lazyllhttp();xe.catch();let Ue=null;let Pe=null;let He=0;let Ge=null;const Ye=1;const Ve=2;const We=3;class Parser{constructor(e,t,{exports:r}){n(Number.isFinite(e[Z])&&e[Z]>0);this.llhttp=r;this.ptr=this.llhttp.llhttp_alloc(_e.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[Z];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[de]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){A.clearTimeout(this.timeout);if(e){this.timeout=A.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}n(this.ptr!=null);n(Ue==null);this.llhttp.llhttp_resume(this.ptr);n(this.timeoutType===Ve);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Le);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){n(this.ptr!=null);n(Ue==null);n(!this.paused);const{socket:t,llhttp:r}=this;if(e.length>He){if(Ge){r.free(Ge)}He=Math.ceil(e.length/4096)*4096;Ge=r.malloc(He)}new Uint8Array(r.memory.buffer,Ge,He).set(e);try{let n;try{Pe=e;Ue=this;n=r.llhttp_execute(this.ptr,Ge,e.length)}catch(e){throw e}finally{Ue=null;Pe=null}const o=r.llhttp_get_error_pos(this.ptr)-Ge;if(n===_e.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(o))}else if(n===_e.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(o))}else if(n!==_e.ERROR.OK){const t=r.llhttp_get_error_reason(this.ptr);let s="";if(t){const e=new Uint8Array(r.memory.buffer,t).indexOf(0);s="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,t,e).toString()+")"}throw new y(s,_e.ERROR[n],e.slice(o))}}catch(e){a.destroy(t,e)}}destroy(){n(this.ptr!=null);n(Ue==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;A.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const r=t[U][t[j]];if(!r){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const r=this.headers[t-2];if(r.length===10&&r.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(r.length===10&&r.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(r.length===14&&r.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){a.destroy(this.socket,new E)}}onUpgrade(e){const{upgrade:t,client:r,socket:o,headers:s,statusCode:i}=this;n(t);const A=r[U][r[j]];n(A);n(!o.destroyed);n(o===r[K]);n(!this.paused);n(A.upgrade||A.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;n(this.headers.length%2===0);this.headers=[];this.headersSize=0;o.unshift(e);o[D].destroy();o[D]=null;o[R]=null;o[z]=null;o.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);r[K]=null;r[U][r[j]++]=null;r.emit("disconnect",r[w],[r],new C("upgrade"));try{A.onUpgrade(i,s,o)}catch(e){a.destroy(o,e)}resume(r)}onHeadersComplete(e,t,r){const{client:o,socket:s,headers:i,statusText:A}=this;if(s.destroyed){return-1}const c=o[U][o[j]];if(!c){return-1}n(!this.upgrade);n(this.statusCode<200);if(e===100){a.destroy(s,new m("bad response",a.getSocketInfo(s)));return-1}if(t&&!c.upgrade){a.destroy(s,new m("bad upgrade",a.getSocketInfo(s)));return-1}n.strictEqual(this.timeoutType,Ye);this.statusCode=e;this.shouldKeepAlive=r||c.method==="HEAD"&&!s[S]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:o[ne];this.setTimeout(e,Ve)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){n(o[_]===1);this.upgrade=true;return 2}if(t){n(o[_]===1);this.upgrade=true;return 2}n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&o[$]){const e=this.keepAlive?a.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-o[te],o[ee]);if(t<=0){s[S]=true}else{o[X]=t}}else{o[X]=o[W]}}else{s[S]=true}const l=c.onHeaders(e,i,this.resume,A)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(s[T]){s[T]=false;resume(o)}return l?_e.ERROR.PAUSED:0}onBody(e){const{client:t,socket:r,statusCode:o,maxResponseSize:s}=this;if(r.destroyed){return-1}const i=t[U][t[j]];n(i);n.strictEqual(this.timeoutType,Ve);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}n(o>=200);if(s>-1&&this.bytesRead+e.length>s){a.destroy(r,new B);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return _e.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:r,upgrade:o,headers:s,contentLength:i,bytesRead:A,shouldKeepAlive:c}=this;if(t.destroyed&&(!r||c)){return-1}if(o){return}const l=e[U][e[j]];n(l);n(r>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(r<200){return}if(l.method!=="HEAD"&&i&&A!==parseInt(i,10)){a.destroy(t,new h);return-1}l.onComplete(s);e[U][e[j]++]=null;if(t[F]){n.strictEqual(e[_],0);a.destroy(t,new C("reset"));return _e.ERROR.PAUSED}else if(!c){a.destroy(t,new C("reset"));return _e.ERROR.PAUSED}else if(t[S]&&e[_]===0){a.destroy(t,new C("reset"));return _e.ERROR.PAUSED}else if(e[$]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:r,client:o}=e;if(r===Ye){if(!t[F]||t.writableNeedDrain||o[_]>1){n(!e.paused,"cannot be paused while waiting for headers");a.destroy(t,new p)}}else if(r===Ve){if(!e.paused){a.destroy(t,new I)}}else if(r===We){n(o[_]===0&&o[X]);a.destroy(t,new C("socket idle timeout"))}}function onSocketReadable(){const{[D]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[R]:t,[D]:r}=this;n(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[ge]!=="h2"){if(e.code==="ECONNRESET"&&r.statusCode&&!r.shouldKeepAlive){r.onMessageComplete();return}}this[z]=e;onError(this[R],e)}function onError(e,t){if(e[_]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){n(e[q]===e[j]);const r=e[U].splice(e[j]);for(let n=0;n0&&r.code!=="UND_ERR_INFO"){const t=e[U][e[j]];e[U][e[j]++]=null;errorRequest(e,t,r)}e[q]=e[j];n(e[_]===0);e.emit("disconnect",e[w],[e],r);resume(e)}async function connect(e){n(!e[G]);n(!e[K]);let{host:t,hostname:r,protocol:s,port:i}=e[w];if(r[0]==="["){const e=r.indexOf("]");n(e!==-1);const t=r.substring(1,e);n(o.isIP(t));r=t}e[G]=true;if(Oe.beforeConnect.hasSubscribers){Oe.beforeConnect.publish({connectParams:{host:t,hostname:r,protocol:s,port:i,servername:e[v],localAddress:e[he]},connector:e[se]})}try{const o=await new Promise(((n,o)=>{e[se]({host:t,hostname:r,protocol:s,port:i,servername:e[v],localAddress:e[he]},((e,t)=>{if(e){o(e)}else{n(t)}}))}));if(e.destroyed){a.destroy(o.on("error",(()=>{})),new Q);return}e[G]=false;n(o);const A=o.alpnProtocol==="h2";if(A){if(!De){De=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Be.connect(e[w],{createConnection:()=>o,peerMaxConcurrentStreams:e[me].maxConcurrentStreams});e[ge]="h2";t[R]=e;t[K]=o;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[Ee]=t;o[Ee]=t}else{if(!Fe){Fe=await xe;xe=null}o[V]=false;o[F]=false;o[S]=false;o[T]=false;o[D]=new Parser(e,o,Fe)}o[Ae]=0;o[ae]=e[ae];o[R]=e;o[z]=null;o.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[K]=o;if(Oe.connected.hasSubscribers){Oe.connected.publish({connectParams:{host:t,hostname:r,protocol:s,port:i,servername:e[v],localAddress:e[he]},connector:e[se],socket:o})}e.emit("connect",e[w],[e])}catch(o){if(e.destroyed){return}e[G]=false;if(Oe.connectError.hasSubscribers){Oe.connectError.publish({connectParams:{host:t,hostname:r,protocol:s,port:i,servername:e[v],localAddress:e[he]},connector:e[se],error:o})}if(o.code==="ERR_TLS_CERT_ALTNAME_INVALID"){n(e[_]===0);while(e[M]>0&&e[U][e[q]].servername===e[v]){const t=e[U][e[q]++];errorRequest(e,t,o)}}else{onError(e,o)}e.emit("connectionError",e[w],[e],o)}resume(e)}function emitDrain(e){e[Y]=0;e.emit("drain",e[w],[e])}function resume(e,t){if(e[O]===2){return}e[O]=2;_resume(e,t);e[O]=0;if(e[j]>256){e[U].splice(0,e[j]);e[q]-=e[j];e[j]=0}}function _resume(e,t){while(true){if(e.destroyed){n(e[M]===0);return}if(e[Te]&&!e[L]){e[Te]();e[Te]=null;return}const r=e[K];if(r&&!r.destroyed&&r.alpnProtocol!=="h2"){if(e[L]===0){if(!r[V]&&r.unref){r.unref();r[V]=true}}else if(r[V]&&r.ref){r.ref();r[V]=false}if(e[L]===0){if(r[D].timeoutType!==We){r[D].setTimeout(e[X],We)}}else if(e[_]>0&&r[D].statusCode<200){if(r[D].timeoutType!==Ye){const t=e[U][e[j]];const n=t.headersTimeout!=null?t.headersTimeout:e[re];r[D].setTimeout(n,Ye)}}}if(e[k]){e[Y]=2}else if(e[Y]===2){if(t){e[Y]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[M]===0){return}if(e[_]>=(e[$]||1)){return}const o=e[U][e[q]];if(e[w].protocol==="https:"&&e[v]!==o.servername){if(e[_]>0){return}e[v]=o.servername;if(r&&r.servername!==o.servername){a.destroy(r,new C("servername changed"));return}}if(e[G]){return}if(!r&&!e[Ee]){connect(e);return}if(r.destroyed||r[F]||r[S]||r[T]){return}if(e[_]>0&&!o.idempotent){return}if(e[_]>0&&(o.upgrade||o.method==="CONNECT")){return}if(e[_]>0&&a.bodyLength(o.body)!==0&&(a.isStream(o.body)||a.isAsyncIterable(o.body))){return}if(!o.aborted&&write(e,o)){e[q]++}else{e[U].splice(e[q],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[ge]==="h2"){writeH2(e,e[Ee],t);return}const{body:r,method:o,path:s,host:i,upgrade:A,headers:c,blocking:l,reset:h}=t;const d=o==="PUT"||o==="POST"||o==="PATCH";if(r&&typeof r.read==="function"){r.read(0)}const p=a.bodyLength(r);let E=p;if(E===null){E=t.contentLength}if(E===0&&!d){E=null}if(shouldSendContentLength(o)&&E>0&&t.contentLength!==null&&t.contentLength!==E){if(e[oe]){errorRequest(e,t,new u);return false}process.emitWarning(new u)}const m=e[K];try{t.onConnect((r=>{if(t.aborted||t.completed){return}errorRequest(e,t,r||new g);a.destroy(m,new C("aborted"))}))}catch(r){errorRequest(e,t,r)}if(t.aborted){return false}if(o==="HEAD"){m[S]=true}if(A||o==="CONNECT"){m[S]=true}if(h!=null){m[S]=h}if(e[ae]&&m[Ae]++>=e[ae]){m[S]=true}if(l){m[T]=true}let I=`${o} ${s} HTTP/1.1\r\n`;if(typeof i==="string"){I+=`host: ${i}\r\n`}else{I+=e[J]}if(A){I+=`connection: upgrade\r\nupgrade: ${A}\r\n`}else if(e[$]&&!m[S]){I+="connection: keep-alive\r\n"}else{I+="connection: close\r\n"}if(c){I+=c}if(Oe.sendHeaders.hasSubscribers){Oe.sendHeaders.publish({request:t,headers:I,socket:m})}if(!r||p===0){if(E===0){m.write(`${I}content-length: 0\r\n\r\n`,"latin1")}else{n(E===null,"no body must not have content length");m.write(`${I}\r\n`,"latin1")}t.onRequestSent()}else if(a.isBuffer(r)){n(E===r.byteLength,"buffer body must have content length");m.cork();m.write(`${I}content-length: ${E}\r\n\r\n`,"latin1");m.write(r);m.uncork();t.onBodySent(r);t.onRequestSent();if(!d){m[S]=true}}else if(a.isBlobLike(r)){if(typeof r.stream==="function"){writeIterable({body:r.stream(),client:e,request:t,socket:m,contentLength:E,header:I,expectsPayload:d})}else{writeBlob({body:r,client:e,request:t,socket:m,contentLength:E,header:I,expectsPayload:d})}}else if(a.isStream(r)){writeStream({body:r,client:e,request:t,socket:m,contentLength:E,header:I,expectsPayload:d})}else if(a.isIterable(r)){writeIterable({body:r,client:e,request:t,socket:m,contentLength:E,header:I,expectsPayload:d})}else{n(false)}return true}function writeH2(e,t,r){const{body:o,method:s,path:i,host:A,upgrade:l,expectContinue:h,signal:d,headers:p}=r;let E;if(typeof p==="string")E=c[Ie](p.trim());else E=p;if(l){errorRequest(e,r,new Error("Upgrade not supported for H2"));return false}try{r.onConnect((t=>{if(r.aborted||r.completed){return}errorRequest(e,r,t||new g)}))}catch(t){errorRequest(e,r,t)}if(r.aborted){return false}let m;const I=e[me];E[Qe]=A||e[pe];E[be]=s;if(s==="CONNECT"){t.ref();m=t.request(E,{endStream:false,signal:d});if(m.id&&!m.pending){r.onUpgrade(null,null,m);++I.openStreams}else{m.once("ready",(()=>{r.onUpgrade(null,null,m);++I.openStreams}))}m.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0)t.unref()}));return true}E[we]=i;E[Se]="https";const y=s==="PUT"||s==="POST"||s==="PATCH";if(o&&typeof o.read==="function"){o.read(0)}let B=a.bodyLength(o);if(B==null){B=r.contentLength}if(B===0||!y){B=null}if(shouldSendContentLength(s)&&B>0&&r.contentLength!=null&&r.contentLength!==B){if(e[oe]){errorRequest(e,r,new u);return false}process.emitWarning(new u)}if(B!=null){n(o,"no body must not have content length");E[ve]=`${B}`}t.ref();const Q=s==="GET"||s==="HEAD";if(h){E[Re]="100-continue";m=t.request(E,{endStream:Q,signal:d});m.once("continue",writeBodyH2)}else{m=t.request(E,{endStream:Q,signal:d});writeBodyH2()}++I.openStreams;m.once("response",(e=>{const{[ke]:t,...n}=e;if(r.onHeaders(Number(t),n,m.resume.bind(m),"")===false){m.pause()}}));m.once("end",(()=>{r.onComplete([])}));m.on("data",(e=>{if(r.onData(e)===false){m.pause()}}));m.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0){t.unref()}}));m.once("error",(function(t){if(e[Ee]&&!e[Ee].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(m,t)}}));m.once("frameError",((t,n)=>{const o=new C(`HTTP/2: "frameError" received - type ${t}, code ${n}`);errorRequest(e,r,o);if(e[Ee]&&!e[Ee].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(m,o)}}));return true;function writeBodyH2(){if(!o){r.onRequestSent()}else if(a.isBuffer(o)){n(B===o.byteLength,"buffer body must have content length");m.cork();m.write(o);m.uncork();m.end();r.onBodySent(o);r.onRequestSent()}else if(a.isBlobLike(o)){if(typeof o.stream==="function"){writeIterable({client:e,request:r,contentLength:B,h2stream:m,expectsPayload:y,body:o.stream(),socket:e[K],header:""})}else{writeBlob({body:o,client:e,request:r,contentLength:B,expectsPayload:y,h2stream:m,header:"",socket:e[K]})}}else if(a.isStream(o)){writeStream({body:o,client:e,request:r,contentLength:B,expectsPayload:y,socket:e[K],h2stream:m,header:""})}else if(a.isIterable(o)){writeIterable({body:o,client:e,request:r,contentLength:B,expectsPayload:y,header:"",h2stream:m,socket:e[K]})}else{n(false)}}}function writeStream({h2stream:e,body:t,client:r,request:o,socket:s,contentLength:A,header:c,expectsPayload:l}){n(A!==0||r[_]===0,"stream body cannot be pipelined");if(r[ge]==="h2"){const d=i(t,e,(r=>{if(r){a.destroy(t,r);a.destroy(e,r)}else{o.onRequestSent()}}));d.on("data",onPipeData);d.once("end",(()=>{d.removeListener("data",onPipeData);a.destroy(d)}));function onPipeData(e){o.onBodySent(e)}return}let u=false;const h=new AsyncWriter({socket:s,request:o,contentLength:A,client:r,expectsPayload:l,header:c});const onData=function(e){if(u){return}try{if(!h.write(e)&&this.pause){this.pause()}}catch(e){a.destroy(this,e)}};const onDrain=function(){if(u){return}if(t.resume){t.resume()}};const onAbort=function(){if(u){return}const e=new g;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(u){return}u=true;n(s.destroyed||s[F]&&r[_]<=1);s.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{h.end()}catch(t){e=t}}h.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){a.destroy(t,e)}else{a.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}s.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:r,request:o,socket:s,contentLength:i,header:A,expectsPayload:c}){n(i===t.size,"blob body must have content length");const l=r[ge]==="h2";try{if(i!=null&&i!==t.size){throw new u}const n=Buffer.from(await t.arrayBuffer());if(l){e.cork();e.write(n);e.uncork()}else{s.cork();s.write(`${A}content-length: ${i}\r\n\r\n`,"latin1");s.write(n);s.uncork()}o.onBodySent(n);o.onRequestSent();if(!c){s[S]=true}resume(r)}catch(t){a.destroy(l?e:s,t)}}async function writeIterable({h2stream:e,body:t,client:r,request:o,socket:s,contentLength:i,header:a,expectsPayload:A}){n(i!==0||r[_]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{n(c===null);if(s[z]){t(s[z])}else{c=e}}));if(r[ge]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const r of t){if(s[z]){throw s[z]}const t=e.write(r);o.onBodySent(r);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{o.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}s.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({socket:s,request:o,contentLength:i,client:r,expectsPayload:A,header:a});try{for await(const e of t){if(s[z]){throw s[z]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{s.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:r,client:n,expectsPayload:o,header:s}){this.socket=e;this.request=t;this.contentLength=r;this.client=n;this.bytesWritten=0;this.expectsPayload=o;this.header=s;e[F]=true}write(e){const{socket:t,request:r,contentLength:n,client:o,bytesWritten:s,expectsPayload:i,header:a}=this;if(t[z]){throw t[z]}if(t.destroyed){return false}const A=Buffer.byteLength(e);if(!A){return true}if(n!==null&&s+A>n){if(o[oe]){throw new u}process.emitWarning(new u)}t.cork();if(s===0){if(!i){t[S]=true}if(n===null){t.write(`${a}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${a}content-length: ${n}\r\n\r\n`,"latin1")}}if(n===null){t.write(`\r\n${A.toString(16)}\r\n`,"latin1")}this.bytesWritten+=A;const c=t.write(e);t.uncork();r.onBodySent(e);if(!c){if(t[D].timeout&&t[D].timeoutType===Ye){if(t[D].timeout.refresh){t[D].timeout.refresh()}}}return c}end(){const{socket:e,contentLength:t,client:r,bytesWritten:n,expectsPayload:o,header:s,request:i}=this;i.onRequestSent();e[F]=false;if(e[z]){throw e[z]}if(e.destroyed){return}if(n===0){if(o){e.write(`${s}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${s}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&n!==t){if(r[oe]){throw new u}else{process.emitWarning(new u)}}if(e[D].timeout&&e[D].timeoutType===Ye){if(e[D].timeout.refresh){e[D].timeout.refresh()}}resume(r)}destroy(e){const{socket:t,client:r}=this;t[F]=false;if(e){n(r[_]<=1,"pipeline should only contain this request");a.destroy(t,e)}}}function errorRequest(e,t,r){try{t.onError(r);n(t.aborted)}catch(r){e.emit("error",r)}}e.exports=Client},6436:(e,t,r)=>{"use strict";const{kConnected:n,kSize:o}=r(8381);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[n]===0&&this.value[o]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[n]===0&&e[o]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},663:e=>{"use strict";const t=1024;const r=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:r}},1724:(e,t,r)=>{"use strict";const{parseSetCookie:n}=r(4408);const{stringify:o,getHeadersList:s}=r(3121);const{webidl:i}=r(1744);const{Headers:a}=r(554);function getCookies(e){i.argumentLengthCheck(arguments,1,{header:"getCookies"});i.brandCheck(e,a,{strict:false});const t=e.get("cookie");const r={};if(!t){return r}for(const e of t.split(";")){const[t,...n]=e.split("=");r[t.trim()]=n.join("=")}return r}function deleteCookie(e,t,r){i.argumentLengthCheck(arguments,2,{header:"deleteCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.DOMString(t);r=i.converters.DeleteCookieAttributes(r);setCookie(e,{name:t,value:"",expires:new Date(0),...r})}function getSetCookies(e){i.argumentLengthCheck(arguments,1,{header:"getSetCookies"});i.brandCheck(e,a,{strict:false});const t=s(e).cookies;if(!t){return[]}return t.map((e=>n(Array.isArray(e)?e[1]:e)))}function setCookie(e,t){i.argumentLengthCheck(arguments,2,{header:"setCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.Cookie(t);const r=o(t);if(r){e.append("Set-Cookie",o(t))}}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null}]);i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:"name"},{converter:i.converters.DOMString,key:"value"},{converter:i.nullableConverter((e=>{if(typeof e==="number"){return i.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:i.nullableConverter(i.converters["long long"]),key:"maxAge",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"secure",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"httpOnly",defaultValue:null},{converter:i.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:i.sequenceConverter(i.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},4408:(e,t,r)=>{"use strict";const{maxNameValuePairSize:n,maxAttributeValueSize:o}=r(663);const{isCTLExcludingHtab:s}=r(3121);const{collectASequenceOfCodePointsFast:i}=r(685);const a=r(9491);function parseSetCookie(e){if(s(e)){return null}let t="";let r="";let o="";let a="";if(e.includes(";")){const n={position:0};t=i(";",e,n);r=e.slice(n.position)}else{t=e}if(!t.includes("=")){a=t}else{const e={position:0};o=i("=",t,e);a=t.slice(e.position+1)}o=o.trim();a=a.trim();if(o.length+a.length>n){return null}return{name:o,value:a,...parseUnparsedAttributes(r)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}a(e[0]===";");e=e.slice(1);let r="";if(e.includes(";")){r=i(";",e,{position:0});e=e.slice(r.length)}else{r=e;e=""}let n="";let s="";if(r.includes("=")){const e={position:0};n=i("=",r,e);s=r.slice(e.position+1)}else{n=r}n=n.trim();s=s.trim();if(s.length>o){return parseUnparsedAttributes(e,t)}const A=n.toLowerCase();if(A==="expires"){const e=new Date(s);t.expires=e}else if(A==="max-age"){const r=s.charCodeAt(0);if((r<48||r>57)&&s[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(s)){return parseUnparsedAttributes(e,t)}const n=Number(s);t.maxAge=n}else if(A==="domain"){let e=s;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(A==="path"){let e="";if(s.length===0||s[0]!=="/"){e="/"}else{e=s}t.path=e}else if(A==="secure"){t.secure=true}else if(A==="httponly"){t.httpOnly=true}else if(A==="samesite"){let e="Default";const r=s.toLowerCase();if(r.includes("none")){e="None"}if(r.includes("strict")){e="Strict"}if(r.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${n}=${s}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3121:(e,t,r)=>{"use strict";const n=r(9491);const{kHeadersList:o}=r(8381);function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const n=t[e.getUTCDay()];const o=e.getUTCDate().toString().padStart(2,"0");const s=r[e.getUTCMonth()];const i=e.getUTCFullYear();const a=e.getUTCHours().toString().padStart(2,"0");const A=e.getUTCMinutes().toString().padStart(2,"0");const c=e.getUTCSeconds().toString().padStart(2,"0");return`${n}, ${o} ${s} ${i} ${a}:${A}:${c} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const r of e.unparsed){if(!r.includes("=")){throw new Error("Invalid unparsed")}const[e,...n]=r.split("=");t.push(`${e.trim()}=${n.join("=")}`)}return t.join("; ")}let s;function getHeadersList(e){if(e[o]){return e[o]}if(!s){s=Object.getOwnPropertySymbols(e).find((e=>e.description==="headers list"));n(s,"Headers cannot be parsed")}const t=e[s];n(t);return t}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},2067:(e,t,r)=>{"use strict";const n=r(1808);const o=r(9491);const s=r(3983);const{InvalidArgumentError:i,ConnectTimeoutError:a}=r(8045);let A;let c;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){c=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:a,timeout:l,...u}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxCachedSessions must be a positive integer or zero")}const h={path:a,...u};const d=new c(t==null?100:t);l=l==null?1e4:l;e=e!=null?e:false;return function connect({hostname:t,host:i,protocol:a,port:c,servername:u,localAddress:g,httpSocket:p},E){let m;if(a==="https:"){if(!A){A=r(4404)}u=u||h.servername||s.getServerName(i)||null;const n=u||t;const a=d.get(n)||null;o(n);m=A.connect({highWaterMark:16384,...h,servername:u,session:a,localAddress:g,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:p,port:c||443,host:t});m.on("session",(function(e){d.set(n,e)}))}else{o(!p,"httpSocket can only be sent on TLS update");m=n.connect({highWaterMark:64*1024,...h,localAddress:g,port:c||80,host:t})}if(h.keepAlive==null||h.keepAlive){const e=h.keepAliveInitialDelay===undefined?6e4:h.keepAliveInitialDelay;m.setKeepAlive(true,e)}const C=setupTimeout((()=>onConnectTimeout(m)),l);m.setNoDelay(true).once(a==="https:"?"secureConnect":"connect",(function(){C();if(E){const e=E;E=null;e(null,this)}})).on("error",(function(e){C();if(E){const t=E;E=null;t(e)}}));return m}}function setupTimeout(e,t){if(!t){return()=>{}}let r=null;let n=null;const o=setTimeout((()=>{r=setImmediate((()=>{if(process.platform==="win32"){n=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(o);clearImmediate(r);clearImmediate(n)}}function onConnectTimeout(e){s.destroy(e,new a)}e.exports=buildConnector},4462:e=>{"use strict";const t={};const r=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,r,n){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=n;this.status=t;this.statusCode=t;this.headers=r}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,r){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=r?r.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:r,data:n}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=n;this.headers=r}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},2905:(e,t,r)=>{"use strict";const{InvalidArgumentError:n,NotSupportedError:o}=r(8045);const s=r(9491);const{kHTTP2BuildRequest:i,kHTTP2CopyHeaders:a,kHTTP1BuildRequest:A}=r(8381);const c=r(3983);const l=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const u=/[^\t\x20-\x7e\x80-\xff]/;const h=/[^\u0021-\u00ff]/;const d=Symbol("handler");const g={};let p;try{const e=r(7643);g.create=e.channel("undici:request:create");g.bodySent=e.channel("undici:request:bodySent");g.headers=e.channel("undici:request:headers");g.trailers=e.channel("undici:request:trailers");g.error=e.channel("undici:request:error")}catch{g.create={hasSubscribers:false};g.bodySent={hasSubscribers:false};g.headers={hasSubscribers:false};g.trailers={hasSubscribers:false};g.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:o,body:s,headers:i,query:a,idempotent:A,blocking:u,upgrade:E,headersTimeout:m,bodyTimeout:C,reset:I,throwOnError:y,expectContinue:B},Q){if(typeof t!=="string"){throw new n("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&o!=="CONNECT"){throw new n("path must be an absolute URL or start with a slash")}else if(h.exec(t)!==null){throw new n("invalid request path")}if(typeof o!=="string"){throw new n("method must be a string")}else if(l.exec(o)===null){throw new n("invalid request method")}if(E&&typeof E!=="string"){throw new n("upgrade must be a string")}if(m!=null&&(!Number.isFinite(m)||m<0)){throw new n("invalid headersTimeout")}if(C!=null&&(!Number.isFinite(C)||C<0)){throw new n("invalid bodyTimeout")}if(I!=null&&typeof I!=="boolean"){throw new n("invalid reset")}if(B!=null&&typeof B!=="boolean"){throw new n("invalid expectContinue")}this.headersTimeout=m;this.bodyTimeout=C;this.throwOnError=y===true;this.method=o;this.abort=null;if(s==null){this.body=null}else if(c.isStream(s)){this.body=s;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(c.isBuffer(s)){this.body=s.byteLength?s:null}else if(ArrayBuffer.isView(s)){this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null}else if(s instanceof ArrayBuffer){this.body=s.byteLength?Buffer.from(s):null}else if(typeof s==="string"){this.body=s.length?Buffer.from(s):null}else if(c.isFormDataLike(s)||c.isIterable(s)||c.isBlobLike(s)){this.body=s}else{throw new n("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=E||null;this.path=a?c.buildURL(t,a):t;this.origin=e;this.idempotent=A==null?o==="HEAD"||o==="GET":A;this.blocking=u==null?false:u;this.reset=I==null?null:I;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=B!=null?B:false;if(Array.isArray(i)){if(i.length%2!==0){throw new n("headers array must be even")}for(let e=0;e{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3983:(e,t,r)=>{"use strict";const n=r(9491);const{kDestroyed:o,kBodyUsed:s}=r(8381);const{IncomingMessage:i}=r(3685);const a=r(2781);const A=r(1808);const{InvalidArgumentError:c}=r(8045);const{Blob:l}=r(4300);const u=r(3837);const{stringify:h}=r(3477);const{headerNameLowerCasedRecord:d}=r(4462);const[g,p]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return l&&e instanceof l||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const r=h(t);if(r){e+="?"+r}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new c("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new c("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new c("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new c("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new c("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new c("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let r=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let n=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(r.endsWith("/")){r=r.substring(0,r.length-1)}if(n&&!n.startsWith("/")){n=`/${n}`}e=new URL(r+n)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new c("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");n(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}n.strictEqual(typeof e,"string");const t=getHostname(e);if(A.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[o])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===i){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[o]=true}}const E=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(E);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return d[e]||e.toLowerCase()}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let r=0;re.toString("utf8")))}else{t[n]=e[r+1].toString("utf8")}}else{if(!Array.isArray(o)){o=[o];t[n]=o}o.push(e[r+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let r=false;let n=-1;for(let o=0;o{e.close()}))}else{const t=Buffer.isBuffer(n)?n:Buffer.from(n);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const C=!!String.prototype.toWellFormed;function toUSVString(e){if(C){return`${e}`.toWellFormed()}else if(u.toUSVString){return u.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const I=Object.create(null);I.enumerable=true;e.exports={kEnumerableProperty:I,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:g,nodeMinor:p,nodeHasAutoSelectFamily:g>18||g===18&&p>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},4839:(e,t,r)=>{"use strict";const n=r(412);const{ClientDestroyedError:o,ClientClosedError:s,InvalidArgumentError:i}=r(8045);const{kDestroy:a,kClose:A,kDispatch:c,kInterceptors:l}=r(8381);const u=Symbol("destroyed");const h=Symbol("closed");const d=Symbol("onDestroyed");const g=Symbol("onClosed");const p=Symbol("Intercepted Dispatch");class DispatcherBase extends n{constructor(){super();this[u]=false;this[d]=null;this[h]=false;this[g]=[]}get destroyed(){return this[u]}get closed(){return this[h]}get interceptors(){return this[l]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[l][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[l]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((r,n)=>r?t(r):e(n)))}))}if(typeof e!=="function"){throw new i("invalid callback")}if(this[u]){queueMicrotask((()=>e(new o,null)));return}if(this[h]){if(this[g]){this[g].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[h]=true;this[g].push(e);const onClosed=()=>{const e=this[g];this[g]=null;for(let t=0;tthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,r)=>{this.destroy(e,((e,n)=>e?r(e):t(n)))}))}if(typeof t!=="function"){throw new i("invalid callback")}if(this[u]){if(this[d]){this[d].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new o}this[u]=true;this[d]=this[d]||[];this[d].push(t);const onDestroyed=()=>{const e=this[d];this[d]=null;for(let t=0;t{queueMicrotask(onDestroyed)}))}[p](e,t){if(!this[l]||this[l].length===0){this[p]=this[c];return this[c](e,t)}let r=this[c].bind(this);for(let e=this[l].length-1;e>=0;e--){r=this[l][e](r)}this[p]=r;return r(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[u]||this[d]){throw new o}if(this[h]){throw new s}return this[p](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},412:(e,t,r)=>{"use strict";const n=r(2361);class Dispatcher extends n{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},1472:(e,t,r)=>{"use strict";const n=r(727);const o=r(3983);const{ReadableStreamFrom:s,isBlobLike:i,isReadableStreamLike:a,readableStreamClose:A,createDeferredPromise:c,fullyReadBody:l}=r(2538);const{FormData:u}=r(2015);const{kState:h}=r(5861);const{webidl:d}=r(1744);const{DOMException:g,structuredClone:p}=r(1037);const{Blob:E,File:m}=r(4300);const{kBodyUsed:C}=r(8381);const I=r(9491);const{isErrored:y}=r(3983);const{isUint8Array:B,isArrayBuffer:Q}=r(9830);const{File:b}=r(8511);const{parseMIMEType:w,serializeAMimeType:S}=r(685);let v=globalThis.ReadableStream;const R=m??b;const k=new TextEncoder;const D=new TextDecoder;function extractBody(e,t=false){if(!v){v=r(5356).ReadableStream}let n=null;if(e instanceof v){n=e}else if(i(e)){n=e.stream()}else{n=new v({async pull(e){e.enqueue(typeof l==="string"?k.encode(l):l);queueMicrotask((()=>A(e)))},start(){},type:undefined})}I(a(n));let c=null;let l=null;let u=null;let h=null;if(typeof e==="string"){l=e;h="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){l=e.toString();h="application/x-www-form-urlencoded;charset=UTF-8"}else if(Q(e)){l=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){l=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(o.isFormDataLike(e)){const t=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const r=`--${t}\r\nContent-Disposition: form-data` +/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const n=[];const o=new Uint8Array([13,10]);u=0;let s=false;for(const[t,i]of e){if(typeof i==="string"){const e=k.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(i)}\r\n`);n.push(e);u+=e.byteLength}else{const e=k.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(i.name?`; filename="${escape(i.name)}"`:"")+"\r\n"+`Content-Type: ${i.type||"application/octet-stream"}\r\n\r\n`);n.push(e,i,o);if(typeof i.size==="number"){u+=e.byteLength+i.size+o.byteLength}else{s=true}}}const i=k.encode(`--${t}--`);n.push(i);u+=i.byteLength;if(s){u=null}l=e;c=async function*(){for(const e of n){if(e.stream){yield*e.stream()}else{yield e}}};h="multipart/form-data; boundary="+t}else if(i(e)){l=e;u=e.size;if(e.type){h=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(o.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}n=e instanceof v?e:s(e)}if(typeof l==="string"||o.isBuffer(l)){u=Buffer.byteLength(l)}if(c!=null){let t;n=new v({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:o}=await t.next();if(o){queueMicrotask((()=>{e.close()}))}else{if(!y(n)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const d={stream:n,source:l,length:u};return[d,h]}function safelyExtractBody(e,t=false){if(!v){v=r(5356).ReadableStream}if(e instanceof v){I(!o.isDisturbed(e),"The body has already been consumed.");I(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const n=p(r,{transfer:[r]});const[,o]=n.tee();e.stream=t;return{stream:o,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(B(e)){yield e}else{const t=e.stream;if(o.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new g("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=S(t)}return new E([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){d.brandCheck(this,e);throwIfAborted(this[h]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new u;let r;try{r=new n({headers:e,preservePath:true})}catch(e){throw new g(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,n,o,s)=>{const i=[];if(o==="base64"||o.toLowerCase()==="base64"){let o="";r.on("data",(e=>{o+=e.toString().replace(/[\r\n]/gm,"");const t=o.length-o.length%4;i.push(Buffer.from(o.slice(0,t),"base64"));o=o.slice(t)}));r.on("end",(()=>{i.push(Buffer.from(o,"base64"));t.append(e,new R(i,n,{type:s}))}))}else{r.on("data",(e=>{i.push(e)}));r.on("end",(()=>{t.append(e,new R(i,n,{type:s}))}))}}));const o=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[h].body))r.write(e);r.end();await o;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[h].body)){if(!B(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new u;for(const[r,n]of e){t.append(r,n)}return t}else{await Promise.resolve();throwIfAborted(this[h]);throw d.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){d.brandCheck(e,r);throwIfAborted(e[h]);if(bodyUnusable(e[h].body)){throw new TypeError("Body is unusable")}const n=c();const errorSteps=e=>n.reject(e);const successSteps=e=>{try{n.resolve(t(e))}catch(e){errorSteps(e)}};if(e[h].body==null){successSteps(new Uint8Array);return n.promise}await l(e[h].body,successSteps,errorSteps);return n.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||o.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=D.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[h];const r=t.get("content-type");if(r===null){return"failure"}return w(r)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},1037:(e,t,r)=>{"use strict";const{MessageChannel:n,receiveMessageOnPort:o}=r(1267);const s=["GET","HEAD","POST"];const i=new Set(s);const a=[101,204,205,304];const A=[301,302,303,307,308];const c=new Set(A);const l=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const u=new Set(l);const h=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const d=new Set(h);const g=["follow","manual","error"];const p=["GET","HEAD","OPTIONS","TRACE"];const E=new Set(p);const m=["navigate","same-origin","no-cors","cors"];const C=["omit","same-origin","include"];const I=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const y=["content-encoding","content-language","content-location","content-type","content-length"];const B=["half"];const Q=["CONNECT","TRACE","TRACK"];const b=new Set(Q);const w=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const S=new Set(w);const v=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let R;const k=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!R){R=new n}R.port1.unref();R.port2.unref();R.port1.postMessage(e,t?.transfer);return o(R.port2).message};e.exports={DOMException:v,structuredClone:k,subresource:w,forbiddenMethods:Q,requestBodyHeader:y,referrerPolicy:h,requestRedirect:g,requestMode:m,requestCredentials:C,requestCache:I,redirectStatus:A,corsSafeListedMethods:s,nullBodyStatus:a,safeMethods:p,badPorts:l,requestDuplex:B,subresourceSet:S,badPortsSet:u,redirectStatusSet:c,corsSafeListedMethodsSet:i,safeMethodsSet:E,forbiddenMethodsSet:b,referrerPolicySet:d}},685:(e,t,r)=>{const n=r(9491);const{atob:o}=r(4300);const{isomorphicDecode:s}=r(2538);const i=new TextEncoder;const a=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const A=/(\u000A|\u000D|\u0009|\u0020)/;const c=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){n(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const r={position:0};let o=collectASequenceOfCodePointsFast(",",t,r);const i=o.length;o=removeASCIIWhitespace(o,true,true);if(r.position>=t.length){return"failure"}r.position++;const a=t.slice(i+1);let A=stringPercentDecode(a);if(/;(\u0020){0,}base64$/i.test(o)){const e=s(A);A=forgivingBase64(e);if(A==="failure"){return"failure"}o=o.slice(0,-6);o=o.replace(/(\u0020)+$/,"");o=o.slice(0,-1)}if(o.startsWith(";")){o="text/plain"+o}let c=parseMIMEType(o);if(c==="failure"){c=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:c,body:A}}function URLSerializer(e,t=false){if(!t){return e.href}const r=e.href;const n=e.hash.length;return n===0?r:r.substring(0,r.length-n)}function collectASequenceOfCodePoints(e,t,r){let n="";while(r.positione.length){return"failure"}t.position++;let n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0||!a.test(n)){return"failure"}const o=r.toLowerCase();const s=n.toLowerCase();const i={type:o,subtype:s,parameters:new Map,essence:`${o}/${s}`};while(t.positionA.test(e)),e,t);let r=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);r=r.toLowerCase();if(t.positione.length){break}let n=null;if(e[t.position]==='"'){n=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0){continue}}if(r.length!==0&&a.test(r)&&(n.length===0||c.test(n))&&!i.parameters.has(r)){i.parameters.set(r,n)}}return i}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=o(e);const r=new Uint8Array(t.length);for(let e=0;ee!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const r=e[t.position];t.position++;if(r==="\\"){if(t.position>=e.length){s+="\\";break}s+=e[t.position];t.position++}else{n(r==='"');break}}if(r){return s}return e.slice(o,t.position)}function serializeAMimeType(e){n(e!=="failure");const{parameters:t,essence:r}=e;let o=r;for(let[e,r]of t.entries()){o+=";";o+=e;o+="=";if(!a.test(r)){r=r.replace(/(\\|")/g,"\\$1");r='"'+r;r+='"'}o+=r}return o}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,r=true){let n=0;let o=e.length-1;if(t){for(;n0&&isHTTPWhiteSpace(e[o]);o--);}return e.slice(n,o+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,r=true){let n=0;let o=e.length-1;if(t){for(;n0&&isASCIIWhitespace(e[o]);o--);}return e.slice(n,o+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},8511:(e,t,r)=>{"use strict";const{Blob:n,File:o}=r(4300);const{types:s}=r(3837);const{kState:i}=r(5861);const{isBlobLike:a}=r(2538);const{webidl:A}=r(1744);const{parseMIMEType:c,serializeAMimeType:l}=r(685);const{kEnumerableProperty:u}=r(3983);const h=new TextEncoder;class File extends n{constructor(e,t,r={}){A.argumentLengthCheck(arguments,2,{header:"File constructor"});e=A.converters["sequence"](e);t=A.converters.USVString(t);r=A.converters.FilePropertyBag(r);const n=t;let o=r.type;let s;e:{if(o){o=c(o);if(o==="failure"){o="";break e}o=l(o).toLowerCase()}s=r.lastModified}super(processBlobParts(e,r),{type:o});this[i]={name:n,lastModified:s,type:o}}get name(){A.brandCheck(this,File);return this[i].name}get lastModified(){A.brandCheck(this,File);return this[i].lastModified}get type(){A.brandCheck(this,File);return this[i].type}}class FileLike{constructor(e,t,r={}){const n=t;const o=r.type;const s=r.lastModified??Date.now();this[i]={blobLike:e,name:n,type:o,lastModified:s}}stream(...e){A.brandCheck(this,FileLike);return this[i].blobLike.stream(...e)}arrayBuffer(...e){A.brandCheck(this,FileLike);return this[i].blobLike.arrayBuffer(...e)}slice(...e){A.brandCheck(this,FileLike);return this[i].blobLike.slice(...e)}text(...e){A.brandCheck(this,FileLike);return this[i].blobLike.text(...e)}get size(){A.brandCheck(this,FileLike);return this[i].blobLike.size}get type(){A.brandCheck(this,FileLike);return this[i].blobLike.type}get name(){A.brandCheck(this,FileLike);return this[i].name}get lastModified(){A.brandCheck(this,FileLike);return this[i].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:u,lastModified:u});A.converters.Blob=A.interfaceConverter(n);A.converters.BlobPart=function(e,t){if(A.util.Type(e)==="Object"){if(a(e)){return A.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||s.isAnyArrayBuffer(e)){return A.converters.BufferSource(e,t)}}return A.converters.USVString(e,t)};A.converters["sequence"]=A.sequenceConverter(A.converters.BlobPart);A.converters.FilePropertyBag=A.dictionaryConverter([{key:"lastModified",converter:A.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:A.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=A.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const r=[];for(const n of e){if(typeof n==="string"){let e=n;if(t.endings==="native"){e=convertLineEndingsNative(e)}r.push(h.encode(e))}else if(s.isAnyArrayBuffer(n)||s.isTypedArray(n)){if(!n.buffer){r.push(new Uint8Array(n))}else{r.push(new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}}else if(a(n)){r.push(n)}}return r}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return o&&e instanceof o||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},2015:(e,t,r)=>{"use strict";const{isBlobLike:n,toUSVString:o,makeIterator:s}=r(2538);const{kState:i}=r(5861);const{File:a,FileLike:A,isFileLike:c}=r(8511);const{webidl:l}=r(1744);const{Blob:u,File:h}=r(4300);const d=h??a;class FormData{constructor(e){if(e!==undefined){throw l.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[i]=[]}append(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=n(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?l.converters.USVString(r):undefined;const o=makeEntry(e,t,r);this[i].push(o)}delete(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=l.converters.USVString(e);this[i]=this[i].filter((t=>t.name!==e))}get(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=l.converters.USVString(e);const t=this[i].findIndex((t=>t.name===e));if(t===-1){return null}return this[i][t].value}getAll(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=l.converters.USVString(e);return this[i].filter((t=>t.name===e)).map((e=>e.value))}has(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=l.converters.USVString(e);return this[i].findIndex((t=>t.name===e))!==-1}set(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=n(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?o(r):undefined;const s=makeEntry(e,t,r);const a=this[i].findIndex((t=>t.name===e));if(a!==-1){this[i]=[...this[i].slice(0,a),s,...this[i].slice(a+1).filter((t=>t.name!==e))]}else{this[i].push(s)}}entries(){l.brandCheck(this,FormData);return s((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){l.brandCheck(this,FormData);return s((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key")}values(){l.brandCheck(this,FormData);return s((()=>this[i].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[r,n]of this){e.apply(t,[n,r,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,r){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!c(t)){t=t instanceof u?new d([t],"blob",{type:t.type}):new A(t,"blob",{type:t.type})}if(r!==undefined){const e={type:t.type,lastModified:t.lastModified};t=h&&t instanceof h||t instanceof a?new d([t],r,e):new A(t,r,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},1246:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`)}Object.defineProperty(globalThis,t,{value:r,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},554:(e,t,r)=>{"use strict";const{kHeadersList:n,kConstruct:o}=r(8381);const{kGuard:s}=r(5861);const{kEnumerableProperty:i}=r(3983);const{makeIterator:a,isValidHeaderName:A,isValidHeaderValue:c}=r(2538);const{webidl:l}=r(1744);const u=r(9491);const h=Symbol("headers map");const d=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let r=e.length;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(r-1)))--r;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&r===e.length?e:e.substring(t,r)}function fill(e,t){if(Array.isArray(t)){for(let r=0;r>","record"]})}}function appendHeader(e,t,r){r=headerValueNormalize(r);if(!A(t)){throw l.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!c(r)){throw l.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}if(e[s]==="immutable"){throw new TypeError("immutable")}else if(e[s]==="request-no-cors"){}return e[n].append(t,r)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[h]=new Map(e[h]);this[d]=e[d];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[h]=new Map(e);this[d]=null}}contains(e){e=e.toLowerCase();return this[h].has(e)}clear(){this[h].clear();this[d]=null;this.cookies=null}append(e,t){this[d]=null;const r=e.toLowerCase();const n=this[h].get(r);if(n){const e=r==="cookie"?"; ":", ";this[h].set(r,{name:n.name,value:`${n.value}${e}${t}`})}else{this[h].set(r,{name:e,value:t})}if(r==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[d]=null;const r=e.toLowerCase();if(r==="set-cookie"){this.cookies=[t]}this[h].set(r,{name:e,value:t})}delete(e){this[d]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[h].delete(e)}get(e){const t=this[h].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[h]){yield[e,t]}}get entries(){const e={};if(this[h].size){for(const{name:t,value:r}of this[h].values()){e[t]=r}}return e}}class Headers{constructor(e=undefined){if(e===o){return}this[n]=new HeadersList;this[s]="none";if(e!==undefined){e=l.converters.HeadersInit(e);fill(this,e)}}append(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[s]==="immutable"){throw new TypeError("immutable")}else if(this[s]==="request-no-cors"){}if(!this[n].contains(e)){return}this[n].delete(e)}get(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[n].get(e)}has(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[n].contains(e)}set(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);t=headerValueNormalize(t);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!c(t)){throw l.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[s]==="immutable"){throw new TypeError("immutable")}else if(this[s]==="request-no-cors"){}this[n].set(e,t)}getSetCookie(){l.brandCheck(this,Headers);const e=this[n].cookies;if(e){return[...e]}return[]}get[d](){if(this[n][d]){return this[n][d]}const e=[];const t=[...this[n]].sort(((e,t)=>e[0]e),"Headers","key")}return a((()=>[...this[d].values()]),"Headers","key")}values(){l.brandCheck(this,Headers);if(this[s]==="immutable"){const e=this[d];return a((()=>e),"Headers","value")}return a((()=>[...this[d].values()]),"Headers","value")}entries(){l.brandCheck(this,Headers);if(this[s]==="immutable"){const e=this[d];return a((()=>e),"Headers","key+value")}return a((()=>[...this[d].values()]),"Headers","key+value")}forEach(e,t=globalThis){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[r,n]of this){e.apply(t,[n,r,this])}}[Symbol.for("nodejs.util.inspect.custom")](){l.brandCheck(this,Headers);return this[n]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,keys:i,values:i,entries:i,forEach:i,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});l.converters.HeadersInit=function(e){if(l.util.Type(e)==="Object"){if(e[Symbol.iterator]){return l.converters["sequence>"](e)}return l.converters["record"](e)}throw l.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},4881:(e,t,r)=>{"use strict";const{Response:n,makeNetworkError:o,makeAppropriateNetworkError:s,filterResponse:i,makeResponse:a}=r(7823);const{Headers:A}=r(554);const{Request:c,makeRequest:l}=r(8359);const u=r(9796);const{bytesMatch:h,makePolicyContainer:d,clonePolicyContainer:g,requestBadPort:p,TAOCheck:E,appendRequestOriginHeader:m,responseLocationURL:C,requestCurrentURL:I,setRequestReferrerPolicyOnRedirect:y,tryUpgradeRequestToAPotentiallyTrustworthyURL:B,createOpaqueTimingInfo:Q,appendFetchMetadata:b,corsCheck:w,crossOriginResourcePolicyCheck:S,determineRequestsReferrer:v,coarsenedSharedCurrentTime:R,createDeferredPromise:k,isBlobLike:D,sameOrigin:N,isCancelled:T,isAborted:O,isErrorLike:_,fullyReadBody:M,readableStreamClose:L,isomorphicEncode:F,urlIsLocal:U,urlIsHttpHttpsScheme:P,urlHasHttpsScheme:G}=r(2538);const{kState:Y,kHeaders:V,kGuard:W,kRealm:J}=r(5861);const q=r(9491);const{safelyExtractBody:j}=r(1472);const{redirectStatusSet:z,nullBodyStatus:$,safeMethodsSet:K,requestBodyHeader:X,subresourceSet:Z,DOMException:ee}=r(1037);const{kHeadersList:te}=r(8381);const re=r(2361);const{Readable:ne,pipeline:oe}=r(2781);const{addAbortListener:se,isErrored:ie,isReadable:ae,nodeMajor:Ae,nodeMinor:ce}=r(3983);const{dataURLProcessor:le,serializeAMimeType:ue}=r(685);const{TransformStream:fe}=r(5356);const{getGlobalDispatcher:he}=r(1892);const{webidl:de}=r(1744);const{STATUS_CODES:ge}=r(3685);const pe=["GET","HEAD"];let Ee;let me=globalThis.ReadableStream;class Fetch extends re{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new ee("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){de.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const r=k();let o;try{o=new c(e,t)}catch(e){r.reject(e);return r.promise}const s=o[Y];if(o.signal.aborted){abortFetch(r,s,null,o.signal.reason);return r.promise}const i=s.client.globalObject;if(i?.constructor?.name==="ServiceWorkerGlobalScope"){s.serviceWorkers="none"}let a=null;const A=null;let l=false;let u=null;se(o.signal,(()=>{l=true;q(u!=null);u.abort(o.signal.reason);abortFetch(r,s,a,o.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(l){return Promise.resolve()}if(e.aborted){abortFetch(r,s,a,u.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){r.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}a=new n;a[Y]=e;a[J]=A;a[V][te]=e.headersList;a[V][W]="immutable";a[V][J]=A;r.resolve(a)};u=fetching({request:s,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??he()});return r.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const r=e.urlList[0];let n=e.timingInfo;let o=e.cacheState;if(!P(r)){return}if(n===null){return}if(!e.timingAllowPassed){n=Q({startTime:n.startTime});o=""}n.endTime=R();e.timingInfo=n;markResourceTiming(n,r,t,globalThis,o)}function markResourceTiming(e,t,r,n,o){if(Ae>18||Ae===18&&ce>=2){performance.markResourceTiming(e,t.href,r,n,o)}}function abortFetch(e,t,r,n){if(!n){n=new ee("The operation was aborted.","AbortError")}e.reject(n);if(t.body!=null&&ae(t.body?.stream)){t.body.stream.cancel(n).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(r==null){return}const o=r[Y];if(o.body!=null&&ae(o.body?.stream)){o.body.stream.cancel(n).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseEndOfBody:o,processResponseConsumeBody:s,useParallelQueue:i=false,dispatcher:a}){let A=null;let c=false;if(e.client!=null){A=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=R(c);const u=Q({startTime:l});const h={controller:new Fetch(a),request:e,timingInfo:u,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseConsumeBody:s,processResponseEndOfBody:o,taskDestination:A,crossOriginIsolatedCapability:c};q(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=g(e.client.policyContainer)}else{e.policyContainer=d()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(Z.has(e.destination)){}mainFetch(h).catch((e=>{h.controller.terminate(e)}));return h.controller}async function mainFetch(e,t=false){const r=e.request;let n=null;if(r.localURLsOnly&&!U(I(r))){n=o("local URLs only")}B(r);if(p(r)==="blocked"){n=o("bad port")}if(r.referrerPolicy===""){r.referrerPolicy=r.policyContainer.referrerPolicy}if(r.referrer!=="no-referrer"){r.referrer=v(r)}if(n===null){n=await(async()=>{const t=I(r);if(N(t,r.url)&&r.responseTainting==="basic"||t.protocol==="data:"||(r.mode==="navigate"||r.mode==="websocket")){r.responseTainting="basic";return await schemeFetch(e)}if(r.mode==="same-origin"){return o('request mode cannot be "same-origin"')}if(r.mode==="no-cors"){if(r.redirect!=="follow"){return o('redirect mode cannot be "follow" for "no-cors" request')}r.responseTainting="opaque";return await schemeFetch(e)}if(!P(I(r))){return o("URL scheme must be a HTTP(S) scheme")}r.responseTainting="cors";return await httpFetch(e)})()}if(t){return n}if(n.status!==0&&!n.internalResponse){if(r.responseTainting==="cors"){}if(r.responseTainting==="basic"){n=i(n,"basic")}else if(r.responseTainting==="cors"){n=i(n,"cors")}else if(r.responseTainting==="opaque"){n=i(n,"opaque")}else{q(false)}}let s=n.status===0?n:n.internalResponse;if(s.urlList.length===0){s.urlList.push(...r.urlList)}if(!r.timingAllowFailed){n.timingAllowPassed=true}if(n.type==="opaque"&&s.status===206&&s.rangeRequested&&!r.headers.contains("range")){n=s=o()}if(n.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||$.includes(s.status))){s.body=null;e.controller.dump=true}if(r.integrity){const processBodyError=t=>fetchFinale(e,o(t));if(r.responseTainting==="opaque"||n.body==null){processBodyError(n.error);return}const processBody=t=>{if(!h(t,r.integrity)){processBodyError("integrity mismatch");return}n.body=j(t)[0];fetchFinale(e,n)};await M(n.body,processBody,processBodyError)}else{fetchFinale(e,n)}}function schemeFetch(e){if(T(e)&&e.request.redirectCount===0){return Promise.resolve(s(e))}const{request:t}=e;const{protocol:n}=I(t);switch(n){case"about:":{return Promise.resolve(o("about scheme is not supported"))}case"blob:":{if(!Ee){Ee=r(4300).resolveObjectURL}const e=I(t);if(e.search.length!==0){return Promise.resolve(o("NetworkError when attempting to fetch resource."))}const n=Ee(e.toString());if(t.method!=="GET"||!D(n)){return Promise.resolve(o("invalid method"))}const s=j(n);const i=s[0];const A=F(`${i.length}`);const c=s[1]??"";const l=a({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:A}],["content-type",{name:"Content-Type",value:c}]]});l.body=i;return Promise.resolve(l)}case"data:":{const e=I(t);const r=le(e);if(r==="failure"){return Promise.resolve(o("failed to fetch the data URL"))}const n=ue(r.mimeType);return Promise.resolve(a({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:j(r.body)[0]}))}case"file:":{return Promise.resolve(o("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>o(e)))}default:{return Promise.resolve(o("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=Q({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new fe({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=r=>e.processResponseConsumeBody(t,r);const processBodyError=r=>e.processResponseConsumeBody(t,r);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return M(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let r=null;let n=null;const s=e.timingInfo;if(t.serviceWorkers==="all"){}if(r===null){if(t.redirect==="follow"){t.serviceWorkers="none"}n=r=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&w(t,r)==="failure"){return o("cors failure")}if(E(t,r)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||r.type==="opaque")&&S(t.origin,t.client,t.destination,n)==="blocked"){return o("blocked")}if(z.has(n.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){r=o("unexpected redirect")}else if(t.redirect==="manual"){r=n}else if(t.redirect==="follow"){r=await httpRedirectFetch(e,r)}else{q(false)}}r.timingInfo=s;return r}function httpRedirectFetch(e,t){const r=e.request;const n=t.internalResponse?t.internalResponse:t;let s;try{s=C(n,I(r).hash);if(s==null){return t}}catch(e){return Promise.resolve(o(e))}if(!P(s)){return Promise.resolve(o("URL scheme must be a HTTP(S) scheme"))}if(r.redirectCount===20){return Promise.resolve(o("redirect count exceeded"))}r.redirectCount+=1;if(r.mode==="cors"&&(s.username||s.password)&&!N(r,s)){return Promise.resolve(o('cross origin not allowed for request mode "cors"'))}if(r.responseTainting==="cors"&&(s.username||s.password)){return Promise.resolve(o('URL cannot contain credentials for request mode "cors"'))}if(n.status!==303&&r.body!=null&&r.body.source==null){return Promise.resolve(o())}if([301,302].includes(n.status)&&r.method==="POST"||n.status===303&&!pe.includes(r.method)){r.method="GET";r.body=null;for(const e of X){r.headersList.delete(e)}}if(!N(I(r),s)){r.headersList.delete("authorization");r.headersList.delete("proxy-authorization",true);r.headersList.delete("cookie");r.headersList.delete("host")}if(r.body!=null){q(r.body.source!=null);r.body=j(r.body.source)[0]}const i=e.timingInfo;i.redirectEndTime=i.postRedirectStartTime=R(e.crossOriginIsolatedCapability);if(i.redirectStartTime===0){i.redirectStartTime=i.startTime}r.urlList.push(s);y(r,n);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,r=false){const n=e.request;let i=null;let a=null;let A=null;const c=null;const u=false;if(n.window==="no-window"&&n.redirect==="error"){i=e;a=n}else{a=l(n);i={...e};i.request=a}const h=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic";const d=a.body?a.body.length:null;let g=null;if(a.body==null&&["POST","PUT"].includes(a.method)){g="0"}if(d!=null){g=F(`${d}`)}if(g!=null){a.headersList.append("content-length",g)}if(d!=null&&a.keepalive){}if(a.referrer instanceof URL){a.headersList.append("referer",F(a.referrer.href))}m(a);b(a);if(!a.headersList.contains("user-agent")){a.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(a.cache==="default"&&(a.headersList.contains("if-modified-since")||a.headersList.contains("if-none-match")||a.headersList.contains("if-unmodified-since")||a.headersList.contains("if-match")||a.headersList.contains("if-range"))){a.cache="no-store"}if(a.cache==="no-cache"&&!a.preventNoCacheCacheControlHeaderModification&&!a.headersList.contains("cache-control")){a.headersList.append("cache-control","max-age=0")}if(a.cache==="no-store"||a.cache==="reload"){if(!a.headersList.contains("pragma")){a.headersList.append("pragma","no-cache")}if(!a.headersList.contains("cache-control")){a.headersList.append("cache-control","no-cache")}}if(a.headersList.contains("range")){a.headersList.append("accept-encoding","identity")}if(!a.headersList.contains("accept-encoding")){if(G(I(a))){a.headersList.append("accept-encoding","br, gzip, deflate")}else{a.headersList.append("accept-encoding","gzip, deflate")}}a.headersList.delete("host");if(h){}if(c==null){a.cache="no-store"}if(a.mode!=="no-store"&&a.mode!=="reload"){}if(A==null){if(a.mode==="only-if-cached"){return o("only if cached")}const e=await httpNetworkFetch(i,h,r);if(!K.has(a.method)&&e.status>=200&&e.status<=399){}if(u&&e.status===304){}if(A==null){A=e}}A.urlList=[...a.urlList];if(a.headersList.contains("range")){A.rangeRequested=true}A.requestIncludesCredentials=h;if(A.status===407){if(n.window==="no-window"){return o()}if(T(e)){return s(e)}return o("proxy authentication required")}if(A.status===421&&!r&&(n.body==null||n.body.source!=null)){if(T(e)){return s(e)}e.controller.connection.destroy();A=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return A}async function httpNetworkFetch(e,t=false,n=false){q(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new ee("The operation was aborted.","AbortError"))}}};const i=e.request;let c=null;const l=e.timingInfo;const h=null;if(h==null){i.cache="no-store"}const d=n?"yes":"no";if(i.mode==="websocket"){}else{}let g=null;if(i.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(i.body!=null){const processBodyChunk=async function*(t){if(T(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(T(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(T(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};g=async function*(){try{for await(const e of i.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:r,statusText:n,headersList:o,socket:s}=await dispatch({body:g});if(s){c=a({status:r,statusText:n,headersList:o,socket:s})}else{const s=t[Symbol.asyncIterator]();e.controller.next=()=>s.next();c=a({status:r,statusText:n,headersList:o})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return s(e,t)}return o(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!me){me=r(5356).ReadableStream}const p=new me({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});c.body={stream:p};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let r;try{const{done:r,value:n}=await e.controller.next();if(O(e)){break}t=r?undefined:n}catch(n){if(e.controller.ended&&!l.encodedBodySize){t=undefined}else{t=n;r=true}}if(t===undefined){L(e.controller.controller);finalizeResponse(e,c);return}l.decodedBodySize+=t?.byteLength??0;if(r){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(ie(p)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(O(e)){c.aborted=true;if(ae(p)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ae(p)){e.controller.controller.error(new TypeError("terminated",{cause:_(t)?t:undefined}))}}e.controller.connection.destroy()}return c;async function dispatch({body:t}){const r=I(i);const n=e.controller.dispatcher;return new Promise(((o,s)=>n.dispatch({path:r.pathname+r.search,origin:r.origin,method:i.method,body:e.controller.dispatcher.isMockActive?i.body&&(i.body.source||i.body.stream):t,headers:i.headersList.entries,maxRedirections:0,upgrade:i.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:r}=e.controller;if(r.destroyed){t(new ee("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=r.abort=t}},onHeaders(e,t,r,n){if(e<200){return}let s=[];let a="";const c=new A;if(Array.isArray(t)){for(let e=0;ee.trim()))}else if(r.toLowerCase()==="location"){a=n}c[te].append(r,n)}}else{const e=Object.keys(t);for(const r of e){const e=t[r];if(r.toLowerCase()==="content-encoding"){s=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(r.toLowerCase()==="location"){a=e}c[te].append(r,e)}}this.body=new ne({read:r});const l=[];const h=i.redirect==="follow"&&a&&z.has(e);if(i.method!=="HEAD"&&i.method!=="CONNECT"&&!$.includes(e)&&!h){for(const e of s){if(e==="x-gzip"||e==="gzip"){l.push(u.createGunzip({flush:u.constants.Z_SYNC_FLUSH,finishFlush:u.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){l.push(u.createInflate())}else if(e==="br"){l.push(u.createBrotliDecompress())}else{l.length=0;break}}}o({status:e,statusText:n,headersList:c[te],body:l.length?oe(this.body,...l,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const r=t;l.encodedBodySize+=r.byteLength;return this.body.push(r)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);s(t)},onUpgrade(e,t,r){if(e!==101){return}const n=new A;for(let e=0;e{"use strict";const{extractBody:n,mixinBody:o,cloneBody:s}=r(1472);const{Headers:i,fill:a,HeadersList:A}=r(554);const{FinalizationRegistry:c}=r(6436)();const l=r(3983);const{isValidHTTPToken:u,sameOrigin:h,normalizeMethod:d,makePolicyContainer:g,normalizeMethodRecord:p}=r(2538);const{forbiddenMethodsSet:E,corsSafeListedMethodsSet:m,referrerPolicy:C,requestRedirect:I,requestMode:y,requestCredentials:B,requestCache:Q,requestDuplex:b}=r(1037);const{kEnumerableProperty:w}=l;const{kHeaders:S,kSignal:v,kState:R,kGuard:k,kRealm:D}=r(5861);const{webidl:N}=r(1744);const{getGlobalOrigin:T}=r(1246);const{URLSerializer:O}=r(685);const{kHeadersList:_,kConstruct:M}=r(8381);const L=r(9491);const{getMaxListeners:F,setMaxListeners:U,getEventListeners:P,defaultMaxListeners:G}=r(2361);let Y=globalThis.TransformStream;const V=Symbol("abortController");const W=new c((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===M){return}N.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=N.converters.RequestInfo(e);t=N.converters.RequestInit(t);this[D]={settingsObject:{baseUrl:T(),get origin(){return this.baseUrl?.origin},policyContainer:g()}};let o=null;let s=null;const c=this[D].settingsObject.baseUrl;let C=null;if(typeof e==="string"){let t;try{t=new URL(e,c)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}o=makeRequest({urlList:[t]});s="cors"}else{L(e instanceof Request);o=e[R];C=e[v]}const I=this[D].settingsObject.origin;let y="client";if(o.window?.constructor?.name==="EnvironmentSettingsObject"&&h(o.window,I)){y=o.window}if(t.window!=null){throw new TypeError(`'window' option '${y}' must be null`)}if("window"in t){y="no-window"}o=makeRequest({method:o.method,headersList:o.headersList,unsafeRequest:o.unsafeRequest,client:this[D].settingsObject,window:y,priority:o.priority,origin:o.origin,referrer:o.referrer,referrerPolicy:o.referrerPolicy,mode:o.mode,credentials:o.credentials,cache:o.cache,redirect:o.redirect,integrity:o.integrity,keepalive:o.keepalive,reloadNavigation:o.reloadNavigation,historyNavigation:o.historyNavigation,urlList:[...o.urlList]});const B=Object.keys(t).length!==0;if(B){if(o.mode==="navigate"){o.mode="same-origin"}o.reloadNavigation=false;o.historyNavigation=false;o.origin="client";o.referrer="client";o.referrerPolicy="";o.url=o.urlList[o.urlList.length-1];o.urlList=[o.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){o.referrer="no-referrer"}else{let t;try{t=new URL(e,c)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||I&&!h(t,this[D].settingsObject.baseUrl)){o.referrer="client"}else{o.referrer=t}}}if(t.referrerPolicy!==undefined){o.referrerPolicy=t.referrerPolicy}let Q;if(t.mode!==undefined){Q=t.mode}else{Q=s}if(Q==="navigate"){throw N.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(Q!=null){o.mode=Q}if(t.credentials!==undefined){o.credentials=t.credentials}if(t.cache!==undefined){o.cache=t.cache}if(o.cache==="only-if-cached"&&o.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){o.redirect=t.redirect}if(t.integrity!=null){o.integrity=String(t.integrity)}if(t.keepalive!==undefined){o.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!u(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(E.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=p[e]??d(e);o.method=e}if(t.signal!==undefined){C=t.signal}this[R]=o;const b=new AbortController;this[v]=b.signal;this[v][D]=this[D];if(C!=null){if(!C||typeof C.aborted!=="boolean"||typeof C.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(C.aborted){b.abort(C.reason)}else{this[V]=b;const e=new WeakRef(b);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof F==="function"&&F(C)===G){U(100,C)}else if(P(C,"abort").length>=G){U(100,C)}}catch{}l.addAbortListener(C,abort);W.register(b,{signal:C,abort:abort})}}this[S]=new i(M);this[S][_]=o.headersList;this[S][k]="request";this[S][D]=this[D];if(Q==="no-cors"){if(!m.has(o.method)){throw new TypeError(`'${o.method} is unsupported in no-cors mode.`)}this[S][k]="request-no-cors"}if(B){const e=this[S][_];const r=t.headers!==undefined?t.headers:new A(e);e.clear();if(r instanceof A){for(const[t,n]of r){e.append(t,n)}e.cookies=r.cookies}else{a(this[S],r)}}const w=e instanceof Request?e[R].body:null;if((t.body!=null||w!=null)&&(o.method==="GET"||o.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let O=null;if(t.body!=null){const[e,r]=n(t.body,o.keepalive);O=e;if(r&&!this[S][_].contains("content-type")){this[S].append("content-type",r)}}const J=O??w;if(J!=null&&J.source==null){if(O!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(o.mode!=="same-origin"&&o.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}o.useCORSPreflightFlag=true}let q=J;if(O==null&&w!=null){if(l.isDisturbed(w.stream)||w.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!Y){Y=r(5356).TransformStream}const e=new Y;w.stream.pipeThrough(e);q={source:w.source,length:w.length,stream:e.readable}}this[R].body=q}get method(){N.brandCheck(this,Request);return this[R].method}get url(){N.brandCheck(this,Request);return O(this[R].url)}get headers(){N.brandCheck(this,Request);return this[S]}get destination(){N.brandCheck(this,Request);return this[R].destination}get referrer(){N.brandCheck(this,Request);if(this[R].referrer==="no-referrer"){return""}if(this[R].referrer==="client"){return"about:client"}return this[R].referrer.toString()}get referrerPolicy(){N.brandCheck(this,Request);return this[R].referrerPolicy}get mode(){N.brandCheck(this,Request);return this[R].mode}get credentials(){return this[R].credentials}get cache(){N.brandCheck(this,Request);return this[R].cache}get redirect(){N.brandCheck(this,Request);return this[R].redirect}get integrity(){N.brandCheck(this,Request);return this[R].integrity}get keepalive(){N.brandCheck(this,Request);return this[R].keepalive}get isReloadNavigation(){N.brandCheck(this,Request);return this[R].reloadNavigation}get isHistoryNavigation(){N.brandCheck(this,Request);return this[R].historyNavigation}get signal(){N.brandCheck(this,Request);return this[v]}get body(){N.brandCheck(this,Request);return this[R].body?this[R].body.stream:null}get bodyUsed(){N.brandCheck(this,Request);return!!this[R].body&&l.isDisturbed(this[R].body.stream)}get duplex(){N.brandCheck(this,Request);return"half"}clone(){N.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[R]);const t=new Request(M);t[R]=e;t[D]=this[D];t[S]=new i(M);t[S][_]=e.headersList;t[S][k]=this[S][k];t[S][D]=this[S][D];const r=new AbortController;if(this.signal.aborted){r.abort(this.signal.reason)}else{l.addAbortListener(this.signal,(()=>{r.abort(this.signal.reason)}))}t[v]=r.signal;return t}}o(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new A(e.headersList):new A};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=s(e.body)}return t}Object.defineProperties(Request.prototype,{method:w,url:w,headers:w,redirect:w,clone:w,signal:w,duplex:w,destination:w,body:w,bodyUsed:w,isHistoryNavigation:w,isReloadNavigation:w,keepalive:w,integrity:w,cache:w,credentials:w,attribute:w,referrerPolicy:w,referrer:w,mode:w,[Symbol.toStringTag]:{value:"Request",configurable:true}});N.converters.Request=N.interfaceConverter(Request);N.converters.RequestInfo=function(e){if(typeof e==="string"){return N.converters.USVString(e)}if(e instanceof Request){return N.converters.Request(e)}return N.converters.USVString(e)};N.converters.AbortSignal=N.interfaceConverter(AbortSignal);N.converters.RequestInit=N.dictionaryConverter([{key:"method",converter:N.converters.ByteString},{key:"headers",converter:N.converters.HeadersInit},{key:"body",converter:N.nullableConverter(N.converters.BodyInit)},{key:"referrer",converter:N.converters.USVString},{key:"referrerPolicy",converter:N.converters.DOMString,allowedValues:C},{key:"mode",converter:N.converters.DOMString,allowedValues:y},{key:"credentials",converter:N.converters.DOMString,allowedValues:B},{key:"cache",converter:N.converters.DOMString,allowedValues:Q},{key:"redirect",converter:N.converters.DOMString,allowedValues:I},{key:"integrity",converter:N.converters.DOMString},{key:"keepalive",converter:N.converters.boolean},{key:"signal",converter:N.nullableConverter((e=>N.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:N.converters.any},{key:"duplex",converter:N.converters.DOMString,allowedValues:b}]);e.exports={Request:Request,makeRequest:makeRequest}},7823:(e,t,r)=>{"use strict";const{Headers:n,HeadersList:o,fill:s}=r(554);const{extractBody:i,cloneBody:a,mixinBody:A}=r(1472);const c=r(3983);const{kEnumerableProperty:l}=c;const{isValidReasonPhrase:u,isCancelled:h,isAborted:d,isBlobLike:g,serializeJavascriptValueToJSONString:p,isErrorLike:E,isomorphicEncode:m}=r(2538);const{redirectStatusSet:C,nullBodyStatus:I,DOMException:y}=r(1037);const{kState:B,kHeaders:Q,kGuard:b,kRealm:w}=r(5861);const{webidl:S}=r(1744);const{FormData:v}=r(2015);const{getGlobalOrigin:R}=r(1246);const{URLSerializer:k}=r(685);const{kHeadersList:D,kConstruct:N}=r(8381);const T=r(9491);const{types:O}=r(3837);const _=globalThis.ReadableStream||r(5356).ReadableStream;const M=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[B]=makeNetworkError();t[w]=e;t[Q][D]=t[B].headersList;t[Q][b]="immutable";t[Q][w]=e;return t}static json(e,t={}){S.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=S.converters.ResponseInit(t)}const r=M.encode(p(e));const n=i(r);const o={settingsObject:{}};const s=new Response;s[w]=o;s[Q][b]="response";s[Q][w]=o;initializeResponse(s,t,{body:n[0],type:"application/json"});return s}static redirect(e,t=302){const r={settingsObject:{}};S.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=S.converters.USVString(e);t=S.converters["unsigned short"](t);let n;try{n=new URL(e,R())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!C.has(t)){throw new RangeError("Invalid status code "+t)}const o=new Response;o[w]=r;o[Q][b]="immutable";o[Q][w]=r;o[B].status=t;const s=m(k(n));o[B].headersList.append("location",s);return o}constructor(e=null,t={}){if(e!==null){e=S.converters.BodyInit(e)}t=S.converters.ResponseInit(t);this[w]={settingsObject:{}};this[B]=makeResponse({});this[Q]=new n(N);this[Q][b]="response";this[Q][D]=this[B].headersList;this[Q][w]=this[w];let r=null;if(e!=null){const[t,n]=i(e);r={body:t,type:n}}initializeResponse(this,t,r)}get type(){S.brandCheck(this,Response);return this[B].type}get url(){S.brandCheck(this,Response);const e=this[B].urlList;const t=e[e.length-1]??null;if(t===null){return""}return k(t,true)}get redirected(){S.brandCheck(this,Response);return this[B].urlList.length>1}get status(){S.brandCheck(this,Response);return this[B].status}get ok(){S.brandCheck(this,Response);return this[B].status>=200&&this[B].status<=299}get statusText(){S.brandCheck(this,Response);return this[B].statusText}get headers(){S.brandCheck(this,Response);return this[Q]}get body(){S.brandCheck(this,Response);return this[B].body?this[B].body.stream:null}get bodyUsed(){S.brandCheck(this,Response);return!!this[B].body&&c.isDisturbed(this[B].body.stream)}clone(){S.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw S.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[B]);const t=new Response;t[B]=e;t[w]=this[w];t[Q][D]=e.headersList;t[Q][b]=this[Q][b];t[Q][w]=this[Q][w];return t}}A(Response);Object.defineProperties(Response.prototype,{type:l,url:l,status:l,ok:l,redirected:l,statusText:l,headers:l,clone:l,body:l,bodyUsed:l,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:l,redirect:l,error:l});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=a(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new o(e.headersList):new o,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=E(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,r){return r in t?t[r]:e[r]},set(e,r,n){T(!(r in t));e[r]=n;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{T(false)}}function makeAppropriateNetworkError(e,t=null){T(h(e));return d(e)?makeNetworkError(Object.assign(new y("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new y("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,r){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!u(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[B].status=t.status}if("statusText"in t&&t.statusText!=null){e[B].statusText=t.statusText}if("headers"in t&&t.headers!=null){s(e[Q],t.headers)}if(r){if(I.includes(e.status)){throw S.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[B].body=r.body;if(r.type!=null&&!e[B].headersList.contains("Content-Type")){e[B].headersList.append("content-type",r.type)}}}S.converters.ReadableStream=S.interfaceConverter(_);S.converters.FormData=S.interfaceConverter(v);S.converters.URLSearchParams=S.interfaceConverter(URLSearchParams);S.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return S.converters.USVString(e)}if(g(e)){return S.converters.Blob(e,{strict:false})}if(O.isArrayBuffer(e)||O.isTypedArray(e)||O.isDataView(e)){return S.converters.BufferSource(e)}if(c.isFormDataLike(e)){return S.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return S.converters.URLSearchParams(e)}return S.converters.DOMString(e)};S.converters.BodyInit=function(e){if(e instanceof _){return S.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return S.converters.XMLHttpRequestBodyInit(e)};S.converters.ResponseInit=S.dictionaryConverter([{key:"status",converter:S.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:S.converters.ByteString,defaultValue:""},{key:"headers",converter:S.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},5861:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},2538:(e,t,r)=>{"use strict";const{redirectStatusSet:n,referrerPolicySet:o,badPortsSet:s}=r(1037);const{getGlobalOrigin:i}=r(1246);const{performance:a}=r(4074);const{isBlobLike:A,toUSVString:c,ReadableStreamFrom:l}=r(3983);const u=r(9491);const{isUint8Array:h}=r(9830);let d=[];let g;try{g=r(6113);const e=["sha256","sha384","sha512"];d=g.getHashes().filter((t=>e.includes(t)))}catch{}function responseURL(e){const t=e.urlList;const r=t.length;return r===0?null:t[r-1].toString()}function responseLocationURL(e,t){if(!n.has(e.status)){return null}let r=e.headersList.get("location");if(r!==null&&isValidHeaderValue(r)){r=new URL(r,responseURL(e))}if(r&&!r.hash){r.hash=t}return r}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&s.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&r<=126||r>=128&&r<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t0){for(let e=n.length;e!==0;e--){const t=n[e-1].trim();if(o.has(t)){s=t;break}}}if(s!==""){e.referrerPolicy=s}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return a.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;u(t);let r=null;if(e.referrer==="client"){const e=i();if(!e||e.origin==="null"){return"no-referrer"}r=new URL(e)}else if(e.referrer instanceof URL){r=e.referrer}let n=stripURLForReferrer(r);const o=stripURLForReferrer(r,true);if(n.toString().length>4096){n=o}const s=sameOrigin(e,n);const a=isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return o!=null?o:stripURLForReferrer(r,true);case"unsafe-url":return n;case"same-origin":return s?o:"no-referrer";case"origin-when-cross-origin":return s?n:o;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(n,t)){return n}if(isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return o}case"strict-origin":case"no-referrer-when-downgrade":default:return a?"no-referrer":o}}function stripURLForReferrer(e,t){u(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(g===undefined){return true}const r=parseMetadata(t);if(r==="no metadata"){return true}if(r.length===0){return true}const n=getStrongestMetadata(r);const o=filterMetadataListByAlgorithm(r,n);for(const t of o){const r=t.algo;const n=t.hash;let o=g.createHash(r).update(e).digest("base64");if(o[o.length-1]==="="){if(o[o.length-2]==="="){o=o.slice(0,-2)}else{o=o.slice(0,-1)}}if(compareBase64Mixed(o,n)){return true}}return false}const p=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let r=true;for(const n of e.split(" ")){r=false;const e=p.exec(n);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const o=e.groups.algo.toLowerCase();if(d.includes(o)){t.push(e.groups)}}if(r===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let r=1;r{e=r;t=n}));return{promise:r,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const E={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(E,null);function normalizeMethod(e){return E[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}u(typeof t==="string");return t}const m=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,r){const n={index:0,kind:r,target:e};const o={next(){if(Object.getPrototypeOf(this)!==o){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:r,target:s}=n;const i=s();const a=i.length;if(e>=a){return{value:undefined,done:true}}const A=i[e];n.index=e+1;return iteratorResult(A,r)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(o,m);return Object.setPrototypeOf({},o)}function iteratorResult(e,t){let r;switch(t){case"key":{r=e[0];break}case"value":{r=e[1];break}case"key+value":{r=e;break}}return{value:r,done:false}}async function fullyReadBody(e,t,r){const n=t;const o=r;let s;try{s=e.stream.getReader()}catch(e){o(e);return}try{const e=await readAllBytes(s);n(e)}catch(e){o(e)}}let C=globalThis.ReadableStream;function isReadableStreamLike(e){if(!C){C=r(5356).ReadableStream}return e instanceof C||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const I=65535;function isomorphicDecode(e){if(e.lengthe+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;tObject.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:l,toUSVString:c,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:A,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:y,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:E,parseMetadata:parseMetadata}},1744:(e,t,r)=>{"use strict";const{types:n}=r(3837);const{hasOwn:o,toUSVString:s}=r(2538);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const r=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:r})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,r=undefined){if(r?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};i.argumentLengthCheck=function({length:e},t,r){if(eo){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${s}-${o}, got ${a}.`})}return a}if(!Number.isNaN(a)&&n.clamp===true){a=Math.min(Math.max(a,s),o);if(Math.floor(a)%2===0){a=Math.floor(a)}else{a=Math.ceil(a)}return a}if(Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY){return 0}a=i.util.IntegerPart(a);a=a%Math.pow(2,t);if(r==="signed"&&a>=Math.pow(2,t)-1){return a-Math.pow(2,t)}return a};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.sequenceConverter=function(e){return t=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:"Sequence",message:`Value of type ${i.util.Type(t)} is not an Object.`})}const r=t?.[Symbol.iterator]?.();const n=[];if(r===undefined||typeof r.next!=="function"){throw i.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:o}=r.next();if(t){break}n.push(e(o))}return n}};i.recordConverter=function(e,t){return r=>{if(i.util.Type(r)!=="Object"){throw i.errors.exception({header:"Record",message:`Value of type ${i.util.Type(r)} is not an Object.`})}const o={};if(!n.isProxy(r)){const n=Object.keys(r);for(const s of n){const n=e(s);const i=t(r[s]);o[n]=i}return o}const s=Reflect.ownKeys(r);for(const n of s){const s=Reflect.getOwnPropertyDescriptor(r,n);if(s?.enumerable){const s=e(n);const i=t(r[n]);o[s]=i}}return o}};i.interfaceConverter=function(e){return(t,r={})=>{if(r.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return t=>{const r=i.util.Type(t);const n={};if(r==="Null"||r==="Undefined"){return n}else if(r!=="Object"){throw i.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const r of e){const{key:e,defaultValue:s,required:a,converter:A}=r;if(a===true){if(!o(t,e)){throw i.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let c=t[e];const l=o(r,"defaultValue");if(l&&c!==null){c=c??s}if(a||l||c!==undefined){c=A(c);if(r.allowedValues&&!r.allowedValues.includes(c)){throw i.errors.exception({header:"Dictionary",message:`${c} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`})}n[e]=c}}return n}};i.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};i.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};i.converters.ByteString=function(e){const t=i.converters.DOMString(e);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};i.converters.USVString=s;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e){const t=i.util.ConvertToInt(e,64,"signed");return t};i.converters["unsigned long long"]=function(e){const t=i.util.ConvertToInt(e,64,"unsigned");return t};i.converters["unsigned long"]=function(e){const t=i.util.ConvertToInt(e,32,"unsigned");return t};i.converters["unsigned short"]=function(e,t){const r=i.util.ConvertToInt(e,16,"unsigned",t);return r};i.converters.ArrayBuffer=function(e,t={}){if(i.util.Type(e)!=="Object"||!n.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&n.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.TypedArray=function(e,t,r={}){if(i.util.Type(e)!=="Object"||!n.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(r.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.DataView=function(e,t={}){if(i.util.Type(e)!=="Object"||!n.isDataView(e)){throw i.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.BufferSource=function(e,t={}){if(n.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t)}if(n.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor)}if(n.isDataView(e)){return i.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},4854:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},6049:(e,t,r)=>{"use strict";const{staticPropertyDescriptors:n,readOperation:o,fireAProgressEvent:s}=r(7530);const{kState:i,kError:a,kResult:A,kEvents:c,kAborted:l}=r(9054);const{webidl:u}=r(1744);const{kEnumerableProperty:h}=r(3983);class FileReader extends EventTarget{constructor(){super();this[i]="empty";this[A]=null;this[a]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=u.converters.Blob(e,{strict:false});o(this,e,"ArrayBuffer")}readAsBinaryString(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=u.converters.Blob(e,{strict:false});o(this,e,"BinaryString")}readAsText(e,t=undefined){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=u.converters.Blob(e,{strict:false});if(t!==undefined){t=u.converters.DOMString(t)}o(this,e,"Text",t)}readAsDataURL(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=u.converters.Blob(e,{strict:false});o(this,e,"DataURL")}abort(){if(this[i]==="empty"||this[i]==="done"){this[A]=null;return}if(this[i]==="loading"){this[i]="done";this[A]=null}this[l]=true;s("abort",this);if(this[i]!=="loading"){s("loadend",this)}}get readyState(){u.brandCheck(this,FileReader);switch(this[i]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){u.brandCheck(this,FileReader);return this[A]}get error(){u.brandCheck(this,FileReader);return this[a]}get onloadend(){u.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){u.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){u.brandCheck(this,FileReader);return this[c].error}set onerror(e){u.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){u.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){u.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){u.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){u.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){u.brandCheck(this,FileReader);return this[c].load}set onload(e){u.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){u.brandCheck(this,FileReader);return this[c].abort}set onabort(e){u.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:n,LOADING:n,DONE:n,readAsArrayBuffer:h,readAsBinaryString:h,readAsText:h,readAsDataURL:h,abort:h,readyState:h,result:h,error:h,onloadstart:h,onprogress:h,onload:h,onabort:h,onerror:h,onloadend:h,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:n,LOADING:n,DONE:n});e.exports={FileReader:FileReader}},5504:(e,t,r)=>{"use strict";const{webidl:n}=r(1744);const o=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=n.converters.DOMString(e);t=n.converters.ProgressEventInit(t??{});super(e,t);this[o]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){n.brandCheck(this,ProgressEvent);return this[o].lengthComputable}get loaded(){n.brandCheck(this,ProgressEvent);return this[o].loaded}get total(){n.brandCheck(this,ProgressEvent);return this[o].total}}n.converters.ProgressEventInit=n.dictionaryConverter([{key:"lengthComputable",converter:n.converters.boolean,defaultValue:false},{key:"loaded",converter:n.converters["unsigned long long"],defaultValue:0},{key:"total",converter:n.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},9054:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},7530:(e,t,r)=>{"use strict";const{kState:n,kError:o,kResult:s,kAborted:i,kLastProgressEventFired:a}=r(9054);const{ProgressEvent:A}=r(5504);const{getEncoding:c}=r(4854);const{DOMException:l}=r(1037);const{serializeAMimeType:u,parseMIMEType:h}=r(685);const{types:d}=r(3837);const{StringDecoder:g}=r(1576);const{btoa:p}=r(4300);const E={enumerable:true,writable:false,configurable:false};function readOperation(e,t,r,A){if(e[n]==="loading"){throw new l("Invalid state","InvalidStateError")}e[n]="loading";e[s]=null;e[o]=null;const c=t.stream();const u=c.getReader();const h=[];let g=u.read();let p=true;(async()=>{while(!e[i]){try{const{done:c,value:l}=await g;if(p&&!e[i]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}p=false;if(!c&&d.isUint8Array(l)){h.push(l);if((e[a]===undefined||Date.now()-e[a]>=50)&&!e[i]){e[a]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}g=u.read()}else if(c){queueMicrotask((()=>{e[n]="done";try{const n=packageData(h,r,t.type,A);if(e[i]){return}e[s]=n;fireAProgressEvent("load",e)}catch(t){e[o]=t;fireAProgressEvent("error",e)}if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[i]){return}queueMicrotask((()=>{e[n]="done";e[o]=t;fireAProgressEvent("error",e);if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const r=new A(e,{bubbles:false,cancelable:false});t.dispatchEvent(r)}function packageData(e,t,r,n){switch(t){case"DataURL":{let t="data:";const n=h(r||"application/octet-stream");if(n!=="failure"){t+=u(n)}t+=";base64,";const o=new g("latin1");for(const r of e){t+=p(o.write(r))}t+=p(o.end());return t}case"Text":{let t="failure";if(n){t=c(n)}if(t==="failure"&&r){const e=h(r);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const r=new g("latin1");for(const n of e){t+=r.write(n)}t+=r.end();return t}}}function decode(e,t){const r=combineByteSequences(e);const n=BOMSniffing(r);let o=0;if(n!==null){t=n;o=n==="UTF-8"?3:2}const s=r.slice(o);return new TextDecoder(t).decode(s)}function BOMSniffing(e){const[t,r,n]=e;if(t===239&&r===187&&n===191){return"UTF-8"}else if(t===254&&r===255){return"UTF-16BE"}else if(t===255&&r===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let r=0;return e.reduce(((e,t)=>{e.set(t,r);r+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:E,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},1892:(e,t,r)=>{"use strict";const n=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:o}=r(8045);const s=r(7890);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new s)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new o("Argument agent must implement Agent")}Object.defineProperty(globalThis,n,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[n]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},6930:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},2860:(e,t,r)=>{"use strict";const n=r(3983);const{kBodyUsed:o}=r(8381);const s=r(9491);const{InvalidArgumentError:i}=r(8045);const a=r(2361);const A=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[o]=false}async*[Symbol.asyncIterator](){s(!this[o],"disturbed");this[o]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,r,A){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxRedirections must be a positive number")}n.validateHandler(A,r.method,r.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...r,maxRedirections:0};this.maxRedirections=t;this.handler=A;this.history=[];if(n.isStream(this.opts.body)){if(n.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){s(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[o]=false;a.prototype.on.call(this.opts.body,"data",(function(){this[o]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&n.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,r){this.handler.onUpgrade(e,t,r)}onError(e){this.handler.onError(e)}onHeaders(e,t,r,o){this.location=this.history.length>=this.maxRedirections||n.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,r,o)}const{origin:s,pathname:i,search:a}=n.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const A=a?`${i}${a}`:i;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==s);this.opts.path=A;this.opts.origin=s;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(A.indexOf(e)===-1){return null}for(let e=0;e{const n=r(9491);const{kRetryHandlerDefaultRetry:o}=r(8381);const{RequestRetryError:s}=r(8045);const{isDisturbed:i,parseHeaders:a,parseRangeHeader:A}=r(3983);function calculateRetryAfterHeader(e){const t=Date.now();const r=new Date(e).getTime()-t;return r}class RetryHandler{constructor(e,t){const{retryOptions:r,...n}=e;const{retry:s,maxRetries:i,maxTimeout:a,minTimeout:A,timeoutFactor:c,methods:l,errorCodes:u,retryAfter:h,statusCodes:d}=r??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=n;this.abort=null;this.aborted=false;this.retryOpts={retry:s??RetryHandler[o],retryAfter:h??true,maxTimeout:a??30*1e3,timeout:A??500,timeoutFactor:c??2,maxRetries:i??5,methods:l??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:d??[500,502,503,504,429],errorCodes:u??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,r){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,r)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[o](e,{state:t,opts:r},n){const{statusCode:o,code:s,headers:i}=e;const{method:a,retryOptions:A}=r;const{maxRetries:c,timeout:l,maxTimeout:u,timeoutFactor:h,statusCodes:d,errorCodes:g,methods:p}=A;let{counter:E,currentTimeout:m}=t;m=m!=null&&m>0?m:l;if(s&&s!=="UND_ERR_REQ_RETRY"&&s!=="UND_ERR_SOCKET"&&!g.includes(s)){n(e);return}if(Array.isArray(p)&&!p.includes(a)){n(e);return}if(o!=null&&Array.isArray(d)&&!d.includes(o)){n(e);return}if(E>c){n(e);return}let C=i!=null&&i["retry-after"];if(C){C=Number(C);C=isNaN(C)?calculateRetryAfterHeader(C):C*1e3}const I=C>0?Math.min(C,u):Math.min(m*h**E,u);t.currentTimeout=I;setTimeout((()=>n(null)),I)}onHeaders(e,t,r,o){const i=a(t);this.retryCount+=1;if(e>=300){this.abort(new s("Request failed",e,{headers:i,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=A(i["content-range"]);if(!t){this.abort(new s("Content-Range mismatch",e,{headers:i,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==i.etag){this.abort(new s("ETag mismatch",e,{headers:i,count:this.retryCount}));return false}const{start:o,size:a,end:c=a}=t;n(this.start===o,"content-range mismatch");n(this.end==null||this.end===c,"content-range mismatch");this.resume=r;return true}if(this.end==null){if(e===206){const s=A(i["content-range"]);if(s==null){return this.handler.onHeaders(e,t,r,o)}const{start:a,size:c,end:l=c}=s;n(a!=null&&Number.isFinite(a)&&this.start!==a,"content-range mismatch");n(Number.isFinite(a));n(l!=null&&Number.isFinite(l)&&this.end!==l,"invalid content-length");this.start=a;this.end=l}if(this.end==null){const e=i["content-length"];this.end=e!=null?Number(e):null}n(Number.isFinite(this.start));n(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=r;this.etag=i.etag!=null?i.etag:null;return this.handler.onHeaders(e,t,r,o)}const c=new s("Request failed",e,{headers:i,count:this.retryCount});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||i(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||i(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},8861:(e,t,r)=>{"use strict";const n=r(2860);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(r,o){const{maxRedirections:s=e}=r;if(!s){return t(r,o)}const i=new n(t,s,r,o);r={...r,maxRedirections:0};return t(r,i)}}e.exports=createRedirectInterceptor},953:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const n=r(1891);var o;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(o=t.ERROR||(t.ERROR={}));var s;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(s=t.TYPE||(t.TYPE={}));var i;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(i=t.FLAGS||(t.FLAGS={}));var a;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(a=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var A;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(A=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[A.DELETE,A.GET,A.HEAD,A.POST,A.PUT,A.CONNECT,A.OPTIONS,A.TRACE,A.COPY,A.LOCK,A.MKCOL,A.MOVE,A.PROPFIND,A.PROPPATCH,A.SEARCH,A.UNLOCK,A.BIND,A.REBIND,A.UNBIND,A.ACL,A.REPORT,A.MKACTIVITY,A.CHECKOUT,A.MERGE,A["M-SEARCH"],A.NOTIFY,A.SUBSCRIBE,A.UNSUBSCRIBE,A.PATCH,A.PURGE,A.MKCALENDAR,A.LINK,A.UNLINK,A.PRI,A.SOURCE];t.METHODS_ICE=[A.SOURCE];t.METHODS_RTSP=[A.OPTIONS,A.DESCRIBE,A.ANNOUNCE,A.SETUP,A.PLAY,A.PAUSE,A.TEARDOWN,A.GET_PARAMETER,A.SET_PARAMETER,A.REDIRECT,A.RECORD,A.FLUSH,A.GET,A.POST];t.METHOD_MAP=n.enumToMap(A);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},1145:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},5627:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},1891:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((r=>{const n=e[r];if(typeof n==="number"){t[r]=n}}));return t}t.enumToMap=enumToMap},6771:(e,t,r)=>{"use strict";const{kClients:n}=r(8381);const o=r(7890);const{kAgent:s,kMockAgentSet:i,kMockAgentGet:a,kDispatches:A,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:h,kFactory:d}=r(4347);const g=r(8687);const p=r(6193);const{matchValue:E,buildMockOptions:m}=r(9323);const{InvalidArgumentError:C,UndiciError:I}=r(8045);const y=r(412);const B=r(8891);const Q=r(6823);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends y{constructor(e){super(e);this[l]=true;this[c]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new C("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new o(e);this[s]=t;this[n]=t[n];this[h]=m(e)}get(e){let t=this[a](e);if(!t){t=this[d](e);this[i](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[s].dispatch(e,t)}async close(){await this[s].close();this[n].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new C("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[i](e,t){this[n].set(e,new FakeWeakRef(t))}[d](e){const t=Object.assign({agent:this},this[h]);return this[h]&&this[h].connections===1?new g(e,t):new p(e,t)}[a](e){const t=this[n].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[d]("http://localhost:9999");this[i](e,t);return t}for(const[t,r]of Array.from(this[n])){const n=r.deref();if(n&&typeof t!=="string"&&E(t,e)){const t=this[d](e);this[i](e,t);t[A]=n[A];return t}}}[u](){return this[l]}pendingInterceptors(){const e=this[n];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[A].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new Q}={}){const t=this.pendingInterceptors();if(t.length===0){return}const r=new B("interceptor","interceptors").pluralize(t.length);throw new I(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},8687:(e,t,r)=>{"use strict";const{promisify:n}=r(3837);const o=r(3598);const{buildMockDispatch:s}=r(9323);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:h}=r(4347);const{MockInterceptor:d}=r(410);const g=r(8381);const{InvalidArgumentError:p}=r(8045);class MockClient extends o{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new p("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[h]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=s.call(this);this.close=this[A]}get[g.kConnected](){return this[h]}intercept(e){return new d(e,this[i])}async[A](){await n(this[c])();this[h]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockClient},888:(e,t,r)=>{"use strict";const{UndiciError:n}=r(8045);class MockNotMatchedError extends n{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},410:(e,t,r)=>{"use strict";const{getResponseData:n,buildKey:o,addMockDispatch:s}=r(9323);const{kDispatches:i,kDispatchKey:a,kDefaultHeaders:A,kDefaultTrailers:c,kContentLength:l,kMockDispatch:u}=r(4347);const{InvalidArgumentError:h}=r(8045);const{buildURL:d}=r(3983);class MockScope{constructor(e){this[u]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new h("waitInMs must be a valid integer > 0")}this[u].delay=e;return this}persist(){this[u].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new h("repeatTimes must be a valid integer > 0")}this[u].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new h("opts must be an object")}if(typeof e.path==="undefined"){throw new h("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=d(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[a]=o(e);this[i]=t;this[A]={};this[c]={};this[l]=false}createMockScopeDispatchData(e,t,r={}){const o=n(t);const s=this[l]?{"content-length":o.length}:{};const i={...this[A],...s,...r.headers};const a={...this[c],...r.trailers};return{statusCode:e,data:t,headers:i,trailers:a}}validateReplyParameters(e,t,r){if(typeof e==="undefined"){throw new h("statusCode must be defined")}if(typeof t==="undefined"){throw new h("data must be defined")}if(typeof r!=="object"){throw new h("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const r=e(t);if(typeof r!=="object"){throw new h("reply options callback must return an object")}const{statusCode:n,data:o="",responseOptions:s={}}=r;this.validateReplyParameters(n,o,s);return{...this.createMockScopeDispatchData(n,o,s)}};const t=s(this[i],this[a],wrappedDefaultsCallback);return new MockScope(t)}const[t,r="",n={}]=[...arguments];this.validateReplyParameters(t,r,n);const o=this.createMockScopeDispatchData(t,r,n);const A=s(this[i],this[a],o);return new MockScope(A)}replyWithError(e){if(typeof e==="undefined"){throw new h("error must be defined")}const t=s(this[i],this[a],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new h("headers must be defined")}this[A]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new h("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},6193:(e,t,r)=>{"use strict";const{promisify:n}=r(3837);const o=r(4634);const{buildMockDispatch:s}=r(9323);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:h}=r(4347);const{MockInterceptor:d}=r(410);const g=r(8381);const{InvalidArgumentError:p}=r(8045);class MockPool extends o{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new p("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[h]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=s.call(this);this.close=this[A]}get[g.kConnected](){return this[h]}intercept(e){return new d(e,this[i])}async[A](){await n(this[c])();this[h]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockPool},4347:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},9323:(e,t,r)=>{"use strict";const{MockNotMatchedError:n}=r(888);const{kDispatches:o,kMockAgent:s,kOriginalDispatch:i,kOrigin:a,kGetNetConnect:A}=r(4347);const{buildURL:c,nop:l}=r(3983);const{STATUS_CODES:u}=r(3685);const{types:{isPromise:h}}=r(3837);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let r=0;r!e)).filter((({path:e})=>matchValue(safeUrl(e),o)));if(s.length===0){throw new n(`Mock dispatch not matched for path '${o}'`)}s=s.filter((({method:e})=>matchValue(e,t.method)));if(s.length===0){throw new n(`Mock dispatch not matched for method '${t.method}'`)}s=s.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(s.length===0){throw new n(`Mock dispatch not matched for body '${t.body}'`)}s=s.filter((e=>matchHeaders(e,t.headers)));if(s.length===0){throw new n(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return s[0]}function addMockDispatch(e,t,r){const n={timesInvoked:0,times:1,persist:false,consumed:false};const o=typeof r==="function"?{callback:r}:{...r};const s={...n,...t,pending:true,data:{error:null,...o}};e.push(s);return s}function deleteMockDispatch(e,t){const r=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(r!==-1){e.splice(r,1)}}function buildKey(e){const{path:t,method:r,body:n,headers:o,query:s}=e;return{path:t,method:r,body:n,headers:o,query:s}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,r])=>[...e,Buffer.from(`${t}`),Array.isArray(r)?r.map((e=>Buffer.from(`${e}`))):Buffer.from(`${r}`)]),[])}function getStatusText(e){return u[e]||"unknown"}async function getResponse(e){const t=[];for await(const r of e){t.push(r)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const r=buildKey(e);const n=getMockDispatch(this[o],r);n.timesInvoked++;if(n.data.callback){n.data={...n.data,...n.data.callback(e)}}const{data:{statusCode:s,data:i,headers:a,trailers:A,error:c},delay:u,persist:d}=n;const{timesInvoked:g,times:p}=n;n.consumed=!d&&g>=p;n.pending=g0){setTimeout((()=>{handleReply(this[o])}),u)}else{handleReply(this[o])}function handleReply(n,o=i){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const u=typeof o==="function"?o({...e,headers:c}):o;if(h(u)){u.then((e=>handleReply(n,e)));return}const d=getResponseData(u);const g=generateKeyValues(a);const p=generateKeyValues(A);t.abort=l;t.onHeaders(s,g,resume,getStatusText(s));t.onData(Buffer.from(d));t.onComplete(p);deleteMockDispatch(n,r)}function resume(){}return true}function buildMockDispatch(){const e=this[s];const t=this[a];const r=this[i];return function dispatch(o,s){if(e.isMockActive){try{mockDispatch.call(this,o,s)}catch(i){if(i instanceof n){const a=e[A]();if(a===false){throw new n(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(a,t)){r.call(this,o,s)}else{throw new n(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw i}}}else{r.call(this,o,s)}}}function checkNetConnect(e,t){const r=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,r.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...r}=e;return r}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},6823:(e,t,r)=>{"use strict";const{Transform:n}=r(2781);const{Console:o}=r(6206);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new n({transform(e,t,r){r(null,e)}});this.logger=new o({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:r},persist:n,times:o,timesInvoked:s,origin:i})=>({Method:e,Origin:i,Path:t,"Status code":r,Persistent:n?"✅":"❌",Invocations:s,Remaining:n?Infinity:o-s})));this.logger.table(t);return this.transform.read().toString()}}},8891:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const r={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const n=e===1;const o=n?t:r;const s=n?this.singular:this.plural;return{...o,count:e,noun:s}}}},8266:e=>{"use strict";const t=2048;const r=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&r)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&r}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&r;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},3198:(e,t,r)=>{"use strict";const n=r(4839);const o=r(8266);const{kConnected:s,kSize:i,kRunning:a,kPending:A,kQueued:c,kBusy:l,kFree:u,kUrl:h,kClose:d,kDestroy:g,kDispatch:p}=r(8381);const E=r(9689);const m=Symbol("clients");const C=Symbol("needDrain");const I=Symbol("queue");const y=Symbol("closed resolve");const B=Symbol("onDrain");const Q=Symbol("onConnect");const b=Symbol("onDisconnect");const w=Symbol("onConnectionError");const S=Symbol("get dispatcher");const v=Symbol("add client");const R=Symbol("remove client");const k=Symbol("stats");class PoolBase extends n{constructor(){super();this[I]=new o;this[m]=[];this[c]=0;const e=this;this[B]=function onDrain(t,r){const n=e[I];let o=false;while(!o){const t=n.shift();if(!t){break}e[c]--;o=!this.dispatch(t.opts,t.handler)}this[C]=o;if(!this[C]&&e[C]){e[C]=false;e.emit("drain",t,[e,...r])}if(e[y]&&n.isEmpty()){Promise.all(e[m].map((e=>e.close()))).then(e[y])}};this[Q]=(t,r)=>{e.emit("connect",t,[e,...r])};this[b]=(t,r,n)=>{e.emit("disconnect",t,[e,...r],n)};this[w]=(t,r,n)=>{e.emit("connectionError",t,[e,...r],n)};this[k]=new E(this)}get[l](){return this[C]}get[s](){return this[m].filter((e=>e[s])).length}get[u](){return this[m].filter((e=>e[s]&&!e[C])).length}get[A](){let e=this[c];for(const{[A]:t}of this[m]){e+=t}return e}get[a](){let e=0;for(const{[a]:t}of this[m]){e+=t}return e}get[i](){let e=this[c];for(const{[i]:t}of this[m]){e+=t}return e}get stats(){return this[k]}async[d](){if(this[I].isEmpty()){return Promise.all(this[m].map((e=>e.close())))}else{return new Promise((e=>{this[y]=e}))}}async[g](e){while(true){const t=this[I].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[m].map((t=>t.destroy(e))))}[p](e,t){const r=this[S]();if(!r){this[C]=true;this[I].push({opts:e,handler:t});this[c]++}else if(!r.dispatch(e,t)){r[C]=true;this[C]=!this[S]()}return!this[C]}[v](e){e.on("drain",this[B]).on("connect",this[Q]).on("disconnect",this[b]).on("connectionError",this[w]);this[m].push(e);if(this[C]){process.nextTick((()=>{if(this[C]){this[B](e[h],[this,e])}}))}return this}[R](e){e.close((()=>{const t=this[m].indexOf(e);if(t!==-1){this[m].splice(t,1)}}));this[C]=this[m].some((e=>!e[C]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:m,kNeedDrain:C,kAddClient:v,kRemoveClient:R,kGetDispatcher:S}},9689:(e,t,r)=>{const{kFree:n,kConnected:o,kPending:s,kQueued:i,kRunning:a,kSize:A}=r(8381);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][o]}get free(){return this[c][n]}get pending(){return this[c][s]}get queued(){return this[c][i]}get running(){return this[c][a]}get size(){return this[c][A]}}e.exports=PoolStats},4634:(e,t,r)=>{"use strict";const{PoolBase:n,kClients:o,kNeedDrain:s,kAddClient:i,kGetDispatcher:a}=r(3198);const A=r(3598);const{InvalidArgumentError:c}=r(8045);const l=r(3983);const{kUrl:u,kInterceptors:h}=r(8381);const d=r(2067);const g=Symbol("options");const p=Symbol("connections");const E=Symbol("factory");function defaultFactory(e,t){return new A(e,t)}class Pool extends n{constructor(e,{connections:t,factory:r=defaultFactory,connect:n,connectTimeout:o,tls:s,maxCachedSessions:i,socketPath:a,autoSelectFamily:A,autoSelectFamilyAttemptTimeout:m,allowH2:C,...I}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof r!=="function"){throw new c("factory must be a function.")}if(n!=null&&typeof n!=="function"&&typeof n!=="object"){throw new c("connect must be a function or an object")}if(typeof n!=="function"){n=d({...s,maxCachedSessions:i,allowH2:C,socketPath:a,timeout:o,...l.nodeHasAutoSelectFamily&&A?{autoSelectFamily:A,autoSelectFamilyAttemptTimeout:m}:undefined,...n})}this[h]=I.interceptors&&I.interceptors.Pool&&Array.isArray(I.interceptors.Pool)?I.interceptors.Pool:[];this[p]=t||null;this[u]=l.parseOrigin(e);this[g]={...l.deepClone(I),connect:n,allowH2:C};this[g].interceptors=I.interceptors?{...I.interceptors}:undefined;this[E]=r}[a](){let e=this[o].find((e=>!e[s]));if(e){return e}if(!this[p]||this[o].length{"use strict";const{kProxy:n,kClose:o,kDestroy:s,kInterceptors:i}=r(8381);const{URL:a}=r(7310);const A=r(7890);const c=r(4634);const l=r(4839);const{InvalidArgumentError:u,RequestAbortedError:h}=r(8045);const d=r(2067);const g=Symbol("proxy agent");const p=Symbol("proxy client");const E=Symbol("proxy headers");const m=Symbol("request tls settings");const C=Symbol("proxy tls settings");const I=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new c(e,t)}class ProxyAgent extends l{constructor(e){super(e);this[n]=buildProxyOptions(e);this[g]=new A(e);this[i]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new u("Proxy opts.clientFactory must be a function.")}this[m]=e.requestTls;this[C]=e.proxyTls;this[E]=e.headers||{};const r=new a(e.uri);const{origin:o,port:s,host:c,username:l,password:y}=r;if(e.auth&&e.token){throw new u("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[E]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[E]["proxy-authorization"]=e.token}else if(l&&y){this[E]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(l)}:${decodeURIComponent(y)}`).toString("base64")}`}const B=d({...e.proxyTls});this[I]=d({...e.requestTls});this[p]=t(r,{connect:B});this[g]=new A({...e,connect:async(e,t)=>{let r=e.host;if(!e.port){r+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:n,statusCode:i}=await this[p].connect({origin:o,port:s,path:r,signal:e.signal,headers:{...this[E],host:c}});if(i!==200){n.on("error",(()=>{})).destroy();t(new h(`Proxy response (${i}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,n);return}let a;if(this[m]){a=this[m].servername}else{a=e.servername}this[I]({...e,servername:a,httpSocket:n},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:r}=new a(e.origin);const n=buildHeaders(e.headers);throwIfProxyAuthIsSent(n);return this[g].dispatch({...e,headers:{...n,host:r}},t)}async[o](){await this[g].close();await this[p].close()}async[s](){await this[g].destroy();await this[p].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let r=0;re.toLowerCase()==="proxy-authorization"));if(t){throw new u("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},9459:e=>{"use strict";let t=Date.now();let r;const n=[];function onTimeout(){t=Date.now();let e=n.length;let r=0;while(r0&&t>=o.state){o.state=-1;o.callback(o.opaque)}if(o.state===-1){o.state=-2;if(r!==e-1){n[r]=n.pop()}else{n.pop()}e-=1}else{r+=1}}if(n.length>0){refreshTimeout()}}function refreshTimeout(){if(r&&r.refresh){r.refresh()}else{clearTimeout(r);r=setTimeout(onTimeout,1e3);if(r.unref){r.unref()}}}class Timeout{constructor(e,t,r){this.callback=e;this.delay=t;this.opaque=r;this.state=-2;this.refresh()}refresh(){if(this.state===-2){n.push(this);if(!r||n.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,r){return t<1e3?setTimeout(e,t,r):new Timeout(e,t,r)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},5354:(e,t,r)=>{"use strict";const n=r(7643);const{uid:o,states:s}=r(9188);const{kReadyState:i,kSentClose:a,kByteParser:A,kReceivedClose:c}=r(5226);const{fireEvent:l,failWebsocketConnection:u}=r(5515);const{CloseEvent:h}=r(2611);const{makeRequest:d}=r(8359);const{fetching:g}=r(4881);const{Headers:p}=r(554);const{getGlobalDispatcher:E}=r(1892);const{kHeadersList:m}=r(8381);const C={};C.open=n.channel("undici:websocket:open");C.close=n.channel("undici:websocket:close");C.socketError=n.channel("undici:websocket:socket_error");let I;try{I=r(6113)}catch{}function establishWebSocketConnection(e,t,r,n,s){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const a=d({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(s.headers){const e=new p(s.headers)[m];a.headersList=e}const A=I.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",A);a.headersList.append("sec-websocket-version","13");for(const e of t){a.headersList.append("sec-websocket-protocol",e)}const c="";const l=g({request:a,useParallelQueue:true,dispatcher:s.dispatcher??E(),processResponse(e){if(e.type==="error"||e.status!==101){u(r,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){u(r,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){u(r,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){u(r,'Server did not set Connection header to "upgrade".');return}const s=e.headersList.get("Sec-WebSocket-Accept");const i=I.createHash("sha1").update(A+o).digest("base64");if(s!==i){u(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const l=e.headersList.get("Sec-WebSocket-Extensions");if(l!==null&&l!==c){u(r,"Received different permessage-deflate than the one set.");return}const h=e.headersList.get("Sec-WebSocket-Protocol");if(h!==null&&h!==a.headersList.get("Sec-WebSocket-Protocol")){u(r,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(C.open.hasSubscribers){C.open.publish({address:e.socket.address(),protocol:h,extensions:l})}n(e)}});return l}function onSocketData(e){if(!this.ws[A].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[a]&&e[c];let r=1005;let n="";const o=e[A].closingInfo;if(o){r=o.code??1005;n=o.reason}else if(!e[a]){r=1006}e[i]=s.CLOSED;l("close",e,h,{wasClean:t,code:r,reason:n});if(C.close.hasSubscribers){C.close.publish({websocket:e,code:r,reason:n})}}function onSocketError(e){const{ws:t}=this;t[i]=s.CLOSING;if(C.socketError.hasSubscribers){C.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},9188:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const r={enumerable:true,writable:false,configurable:false};const n={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const o={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const s=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const a=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:r,states:n,opcodes:o,maxUnsigned16Bit:s,parserStates:i,emptyBuffer:a}},2611:(e,t,r)=>{"use strict";const{webidl:n}=r(1744);const{kEnumerableProperty:o}=r(3983);const{MessagePort:s}=r(1267);class MessageEvent extends Event{#s;constructor(e,t={}){n.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=n.converters.DOMString(e);t=n.converters.MessageEventInit(t);super(e,t);this.#s=t}get data(){n.brandCheck(this,MessageEvent);return this.#s.data}get origin(){n.brandCheck(this,MessageEvent);return this.#s.origin}get lastEventId(){n.brandCheck(this,MessageEvent);return this.#s.lastEventId}get source(){n.brandCheck(this,MessageEvent);return this.#s.source}get ports(){n.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#s.ports)){Object.freeze(this.#s.ports)}return this.#s.ports}initMessageEvent(e,t=false,r=false,o=null,s="",i="",a=null,A=[]){n.brandCheck(this,MessageEvent);n.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:r,data:o,origin:s,lastEventId:i,source:a,ports:A})}}class CloseEvent extends Event{#s;constructor(e,t={}){n.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=n.converters.DOMString(e);t=n.converters.CloseEventInit(t);super(e,t);this.#s=t}get wasClean(){n.brandCheck(this,CloseEvent);return this.#s.wasClean}get code(){n.brandCheck(this,CloseEvent);return this.#s.code}get reason(){n.brandCheck(this,CloseEvent);return this.#s.reason}}class ErrorEvent extends Event{#s;constructor(e,t){n.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=n.converters.DOMString(e);t=n.converters.ErrorEventInit(t??{});this.#s=t}get message(){n.brandCheck(this,ErrorEvent);return this.#s.message}get filename(){n.brandCheck(this,ErrorEvent);return this.#s.filename}get lineno(){n.brandCheck(this,ErrorEvent);return this.#s.lineno}get colno(){n.brandCheck(this,ErrorEvent);return this.#s.colno}get error(){n.brandCheck(this,ErrorEvent);return this.#s.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:o,origin:o,lastEventId:o,source:o,ports:o,initMessageEvent:o});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:o,code:o,wasClean:o});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:o,filename:o,lineno:o,colno:o,error:o});n.converters.MessagePort=n.interfaceConverter(s);n.converters["sequence"]=n.sequenceConverter(n.converters.MessagePort);const i=[{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}];n.converters.MessageEventInit=n.dictionaryConverter([...i,{key:"data",converter:n.converters.any,defaultValue:null},{key:"origin",converter:n.converters.USVString,defaultValue:""},{key:"lastEventId",converter:n.converters.DOMString,defaultValue:""},{key:"source",converter:n.nullableConverter(n.converters.MessagePort),defaultValue:null},{key:"ports",converter:n.converters["sequence"],get defaultValue(){return[]}}]);n.converters.CloseEventInit=n.dictionaryConverter([...i,{key:"wasClean",converter:n.converters.boolean,defaultValue:false},{key:"code",converter:n.converters["unsigned short"],defaultValue:0},{key:"reason",converter:n.converters.USVString,defaultValue:""}]);n.converters.ErrorEventInit=n.dictionaryConverter([...i,{key:"message",converter:n.converters.DOMString,defaultValue:""},{key:"filename",converter:n.converters.USVString,defaultValue:""},{key:"lineno",converter:n.converters["unsigned long"],defaultValue:0},{key:"colno",converter:n.converters["unsigned long"],defaultValue:0},{key:"error",converter:n.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},5444:(e,t,r)=>{"use strict";const{maxUnsigned16Bit:n}=r(9188);let o;try{o=r(6113)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=o.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let r=t;let o=6;if(t>n){o+=8;r=127}else if(t>125){o+=2;r=126}const s=Buffer.allocUnsafe(t+o);s[0]=s[1]=0;s[0]|=128;s[0]=(s[0]&240)+e; +/*! ws. MIT License. Einar Otto Stangvik */s[o-4]=this.maskKey[0];s[o-3]=this.maskKey[1];s[o-2]=this.maskKey[2];s[o-1]=this.maskKey[3];s[1]=r;if(r===126){s.writeUInt16BE(t,2)}else if(r===127){s[2]=s[3]=0;s.writeUIntBE(t,4,6)}s[1]|=128;for(let e=0;e{"use strict";const{Writable:n}=r(2781);const o=r(7643);const{parserStates:s,opcodes:i,states:a,emptyBuffer:A}=r(9188);const{kReadyState:c,kSentClose:l,kResponse:u,kReceivedClose:h}=r(5226);const{isValidStatusCode:d,failWebsocketConnection:g,websocketMessageReceived:p}=r(5515);const{WebsocketFrameSend:E}=r(5444);const m={};m.ping=o.channel("undici:websocket:ping");m.pong=o.channel("undici:websocket:pong");class ByteParser extends n{#i=[];#a=0;#A=s.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#i.push(e);this.#a+=e.length;this.run(r)}run(e){while(true){if(this.#A===s.INFO){if(this.#a<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==i.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==i.BINARY&&this.#c.opcode!==i.TEXT){g(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#A=s.READ_DATA}else if(r===126){this.#A=s.PAYLOADLENGTH_16}else if(r===127){this.#A=s.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){g(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===i.PING||this.#c.opcode===i.PONG||this.#c.opcode===i.CLOSE)&&r>125){g(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===i.CLOSE){if(r===1){g(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new E(e);this.ws[u].socket.write(t.createFrame(i.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=a.CLOSING;this.ws[h]=true;this.end();return}else if(this.#c.opcode===i.PING){const t=this.consume(r);if(!this.ws[h]){const e=new E(t);this.ws[u].socket.write(e.createFrame(i.PONG));if(m.ping.hasSubscribers){m.ping.publish({payload:t})}}this.#A=s.INFO;if(this.#a>0){continue}else{e();return}}else if(this.#c.opcode===i.PONG){const t=this.consume(r);if(m.pong.hasSubscribers){m.pong.publish({payload:t})}if(this.#a>0){continue}else{e();return}}}else if(this.#A===s.PAYLOADLENGTH_16){if(this.#a<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#A=s.READ_DATA}else if(this.#A===s.PAYLOADLENGTH_64){if(this.#a<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){g(this.ws,"Received payload length > 2^31 bytes.");return}const n=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+n;this.#A=s.READ_DATA}else if(this.#A===s.READ_DATA){if(this.#a=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===i.CONTINUATION){const e=Buffer.concat(this.#l);p(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#A=s.INFO}}if(this.#a>0){continue}else{e();break}}}consume(e){if(e>this.#a){return null}else if(e===0){return A}if(this.#i[0].length===e){this.#a-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const n=this.#i[0];const{length:o}=n;if(o+r===e){t.set(this.#i.shift(),r);break}else if(o+r>e){t.set(n.subarray(0,e-r),r);this.#i[0]=n.subarray(e-r);break}else{t.set(this.#i.shift(),r);r+=n.length}}this.#a-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!d(r)){return null}return{code:r}}let n=t.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(r!==undefined&&!d(r)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:r,reason:n}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},5226:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5515:(e,t,r)=>{"use strict";const{kReadyState:n,kController:o,kResponse:s,kBinaryType:i,kWebSocketURL:a}=r(5226);const{states:A,opcodes:c}=r(9188);const{MessageEvent:l,ErrorEvent:u}=r(2611);function isEstablished(e){return e[n]===A.OPEN}function isClosing(e){return e[n]===A.CLOSING}function isClosed(e){return e[n]===A.CLOSED}function fireEvent(e,t,r=Event,n){const o=new r(e,n);t.dispatchEvent(o)}function websocketMessageReceived(e,t,r){if(e[n]!==A.OPEN){return}let o;if(t===c.TEXT){try{o=new TextDecoder("utf-8",{fatal:true}).decode(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){o=new Blob([r])}else{o=new Uint8Array(r).buffer}}fireEvent("message",e,l,{origin:e[a].origin,data:o})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[o]:r,[s]:n}=e;r.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(t){fireEvent("error",e,u,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},4284:(e,t,r)=>{"use strict";const{webidl:n}=r(1744);const{DOMException:o}=r(1037);const{URLSerializer:s}=r(685);const{getGlobalOrigin:i}=r(1246);const{staticPropertyDescriptors:a,states:A,opcodes:c,emptyBuffer:l}=r(9188);const{kWebSocketURL:u,kReadyState:h,kController:d,kBinaryType:g,kResponse:p,kSentClose:E,kByteParser:m}=r(5226);const{isEstablished:C,isClosing:I,isValidSubprotocol:y,failWebsocketConnection:B,fireEvent:Q}=r(5515);const{establishWebSocketConnection:b}=r(5354);const{WebsocketFrameSend:w}=r(5444);const{ByteParser:S}=r(1688);const{kEnumerableProperty:v,isBlobLike:R}=r(3983);const{getGlobalDispatcher:k}=r(1892);const{types:D}=r(3837);let N=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#f=0;#h="";#d="";constructor(e,t=[]){super();n.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!N){N=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const r=n.converters["DOMString or sequence or WebSocketInit"](t);e=n.converters.USVString(e);t=r.protocols;const s=i();let a;try{a=new URL(e,s)}catch(e){throw new o(e,"SyntaxError")}if(a.protocol==="http:"){a.protocol="ws:"}else if(a.protocol==="https:"){a.protocol="wss:"}if(a.protocol!=="ws:"&&a.protocol!=="wss:"){throw new o(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError")}if(a.hash||a.href.endsWith("#")){throw new o("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new o("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>y(e)))){throw new o("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[u]=new URL(a.href);this[d]=b(a,t,this,(e=>this.#g(e)),r);this[h]=WebSocket.CONNECTING;this[g]="blob"}close(e=undefined,t=undefined){n.brandCheck(this,WebSocket);if(e!==undefined){e=n.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=n.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new o("invalid code","InvalidAccessError")}}let r=0;if(t!==undefined){r=Buffer.byteLength(t);if(r>123){throw new o(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError")}}if(this[h]===WebSocket.CLOSING||this[h]===WebSocket.CLOSED){}else if(!C(this)){B(this,"Connection was closed before it was established.");this[h]=WebSocket.CLOSING}else if(!I(this)){const n=new w;if(e!==undefined&&t===undefined){n.frameData=Buffer.allocUnsafe(2);n.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){n.frameData=Buffer.allocUnsafe(2+r);n.frameData.writeUInt16BE(e,0);n.frameData.write(t,2,"utf-8")}else{n.frameData=l}const o=this[p].socket;o.write(n.createFrame(c.CLOSE),(e=>{if(!e){this[E]=true}}));this[h]=A.CLOSING}else{this[h]=WebSocket.CLOSING}}send(e){n.brandCheck(this,WebSocket);n.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=n.converters.WebSocketSendData(e);if(this[h]===WebSocket.CONNECTING){throw new o("Sent before connected.","InvalidStateError")}if(!C(this)||I(this)){return}const t=this[p].socket;if(typeof e==="string"){const r=Buffer.from(e);const n=new w(r);const o=n.createFrame(c.TEXT);this.#f+=r.byteLength;t.write(o,(()=>{this.#f-=r.byteLength}))}else if(D.isArrayBuffer(e)){const r=Buffer.from(e);const n=new w(r);const o=n.createFrame(c.BINARY);this.#f+=r.byteLength;t.write(o,(()=>{this.#f-=r.byteLength}))}else if(ArrayBuffer.isView(e)){const r=Buffer.from(e,e.byteOffset,e.byteLength);const n=new w(r);const o=n.createFrame(c.BINARY);this.#f+=r.byteLength;t.write(o,(()=>{this.#f-=r.byteLength}))}else if(R(e)){const r=new w;e.arrayBuffer().then((e=>{const n=Buffer.from(e);r.frameData=n;const o=r.createFrame(c.BINARY);this.#f+=n.byteLength;t.write(o,(()=>{this.#f-=n.byteLength}))}))}}get readyState(){n.brandCheck(this,WebSocket);return this[h]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#f}get url(){n.brandCheck(this,WebSocket);return s(this[u])}get extensions(){n.brandCheck(this,WebSocket);return this.#d}get protocol(){n.brandCheck(this,WebSocket);return this.#h}get onopen(){n.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){n.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){n.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){n.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){n.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[g]}set binaryType(e){n.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[g]="blob"}else{this[g]=e}}#g(e){this[p]=e;const t=new S(this);t.on("drain",(function onParserDrain(){this.ws[p].socket.resume()}));e.socket.ws=this;this[m]=t;this[h]=A.OPEN;const r=e.headersList.get("sec-websocket-extensions");if(r!==null){this.#d=r}const n=e.headersList.get("sec-websocket-protocol");if(n!==null){this.#h=n}Q("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=A.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=A.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=A.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=A.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a,url:v,readyState:v,bufferedAmount:v,onopen:v,onerror:v,onclose:v,close:v,onmessage:v,binaryType:v,send:v,extensions:v,protocol:v,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a});n.converters["sequence"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence"]=function(e){if(n.util.Type(e)==="Object"&&Symbol.iterator in e){return n.converters["sequence"](e)}return n.converters.DOMString(e)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return k()}},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence or WebSocketInit"]=function(e){if(n.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return n.converters.WebSocketInit(e)}return{protocols:n.converters["DOMString or sequence"](e)}};n.converters.WebSocketSendData=function(e){if(n.util.Type(e)==="Object"){if(R(e)){return n.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||D.isAnyArrayBuffer(e)){return n.converters.BufferSource(e)}}return n.converters.USVString(e)};e.exports={WebSocket:WebSocket}},5278:(e,t,r)=>{e.exports=r(3837).deprecate},5840:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return A.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return u.default}});var n=_interopRequireDefault(r(8628));var o=_interopRequireDefault(r(6409));var s=_interopRequireDefault(r(5122));var i=_interopRequireDefault(r(9120));var a=_interopRequireDefault(r(5350));var A=_interopRequireDefault(r(1595));var c=_interopRequireDefault(r(6900));var l=_interopRequireDefault(r(8950));var u=_interopRequireDefault(r(4848));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},5350:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},4848:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let s=o.length;function rng(){if(s>o.length-16){n.default.randomFillSync(o);s=0}return o.slice(s,s+=16)}},5274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},8950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var s=stringify;t["default"]=s},8628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let s;let i;let a=0;let A=0;function v1(e,t,r){let c=t&&r||0;const l=t||new Array(16);e=e||{};let u=e.node||s;let h=e.clockseq!==undefined?e.clockseq:i;if(u==null||h==null){const t=e.random||(e.rng||n.default)();if(u==null){u=s=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(h==null){h=i=(t[6]<<8|t[7])&16383}}let d=e.msecs!==undefined?e.msecs:Date.now();let g=e.nsecs!==undefined?e.nsecs:A+1;const p=d-a+(g-A)/1e4;if(p<0&&e.clockseq===undefined){h=h+1&16383}if((p<0||d>a)&&e.nsecs===undefined){g=0}if(g>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=d;A=g;i=h;d+=122192928e5;const E=((d&268435455)*1e4+g)%4294967296;l[c++]=E>>>24&255;l[c++]=E>>>16&255;l[c++]=E>>>8&255;l[c++]=E&255;const m=d/4294967296*1e4&268435455;l[c++]=m>>>8&255;l[c++]=m&255;l[c++]=m>>>24&15|16;l[c++]=m>>>16&255;l[c++]=h>>>8|128;l[c++]=h&255;for(let e=0;e<6;++e){l[c+e]=u[e]}return t||(0,o.default)(l)}var c=v1;t["default"]=c},6409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(5998));var o=_interopRequireDefault(r(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const s=(0,n.default)("v3",48,o.default);var i=s;t["default"]=i},5998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(8950));var o=_interopRequireDefault(r(4848));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const s=e.random||(e.rng||n.default)();s[6]=s[6]&15|64;s[8]=s[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=s[e]}return t}return(0,o.default)(s)}var s=v4;t["default"]=s},9120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(5998));var o=_interopRequireDefault(r(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const s=(0,n.default)("v5",80,o.default);var i=s;t["default"]=i},6900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},1595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},2940:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r{var n=r(7147);var o=r(9796);var s=r(5010);var i=r(4794);var a=r(3837);var A=r(2361).EventEmitter;var c=r(2781).Transform;var l=r(2781).PassThrough;var u=r(2781).Writable;t.open=open;t.fromFd=fromFd;t.fromBuffer=fromBuffer;t.fromRandomAccessReader=fromRandomAccessReader;t.dosDateTimeToDate=dosDateTimeToDate;t.validateFileName=validateFileName;t.ZipFile=ZipFile;t.Entry=Entry;t.RandomAccessReader=RandomAccessReader;function open(e,t,r){if(typeof t==="function"){r=t;t=null}if(t==null)t={};if(t.autoClose==null)t.autoClose=true;if(t.lazyEntries==null)t.lazyEntries=false;if(t.decodeStrings==null)t.decodeStrings=true;if(t.validateEntrySizes==null)t.validateEntrySizes=true;if(t.strictFileNames==null)t.strictFileNames=false;if(r==null)r=defaultCallback;n.open(e,"r",(function(e,o){if(e)return r(e);fromFd(o,t,(function(e,t){if(e)n.close(o,defaultCallback);r(e,t)}))}))}function fromFd(e,t,r){if(typeof t==="function"){r=t;t=null}if(t==null)t={};if(t.autoClose==null)t.autoClose=false;if(t.lazyEntries==null)t.lazyEntries=false;if(t.decodeStrings==null)t.decodeStrings=true;if(t.validateEntrySizes==null)t.validateEntrySizes=true;if(t.strictFileNames==null)t.strictFileNames=false;if(r==null)r=defaultCallback;n.fstat(e,(function(n,o){if(n)return r(n);var i=s.createFromFd(e,{autoClose:true});fromRandomAccessReader(i,o.size,t,r)}))}function fromBuffer(e,t,r){if(typeof t==="function"){r=t;t=null}if(t==null)t={};t.autoClose=false;if(t.lazyEntries==null)t.lazyEntries=false;if(t.decodeStrings==null)t.decodeStrings=true;if(t.validateEntrySizes==null)t.validateEntrySizes=true;if(t.strictFileNames==null)t.strictFileNames=false;var n=s.createFromBuffer(e,{maxChunkSize:65536});fromRandomAccessReader(n,e.length,t,r)}function fromRandomAccessReader(e,t,r,n){if(typeof r==="function"){n=r;r=null}if(r==null)r={};if(r.autoClose==null)r.autoClose=true;if(r.lazyEntries==null)r.lazyEntries=false;if(r.decodeStrings==null)r.decodeStrings=true;var o=!!r.decodeStrings;if(r.validateEntrySizes==null)r.validateEntrySizes=true;if(r.strictFileNames==null)r.strictFileNames=false;if(n==null)n=defaultCallback;if(typeof t!=="number")throw new Error("expected totalSize parameter to be a number");if(t>Number.MAX_SAFE_INTEGER){throw new Error("zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.")}e.ref();var s=22;var i=65535;var a=Math.min(s+i,t);var A=d(a);var c=t-A.length;readAndAssertNoEof(e,A,0,a,c,(function(i){if(i)return n(i);for(var l=a-s;l>=0;l-=1){if(A.readUInt32LE(l)!==101010256)continue;var u=A.slice(l);var h=u.readUInt16LE(4);if(h!==0){return n(new Error("multi-disk zip files are not supported: found disk number: "+h))}var g=u.readUInt16LE(10);var p=u.readUInt32LE(16);var E=u.readUInt16LE(20);var m=u.length-s;if(E!==m){return n(new Error("invalid comment length. expected: "+m+". found: "+E))}var C=o?decodeBuffer(u,22,u.length,false):u.slice(22);if(!(g===65535||p===4294967295)){return n(null,new ZipFile(e,p,t,g,C,r.autoClose,r.lazyEntries,o,r.validateEntrySizes,r.strictFileNames))}var I=d(20);var y=c+l-I.length;readAndAssertNoEof(e,I,0,I.length,y,(function(s){if(s)return n(s);if(I.readUInt32LE(0)!==117853008){return n(new Error("invalid zip64 end of central directory locator signature"))}var i=readUInt64LE(I,8);var a=d(56);readAndAssertNoEof(e,a,0,a.length,i,(function(s){if(s)return n(s);if(a.readUInt32LE(0)!==101075792){return n(new Error("invalid zip64 end of central directory record signature"))}g=readUInt64LE(a,32);p=readUInt64LE(a,48);return n(null,new ZipFile(e,p,t,g,C,r.autoClose,r.lazyEntries,o,r.validateEntrySizes,r.strictFileNames))}))}));return}n(new Error("end of central directory record signature not found"))}))}a.inherits(ZipFile,A);function ZipFile(e,t,r,n,o,s,i,a,c,l){var u=this;A.call(u);u.reader=e;u.reader.on("error",(function(e){emitError(u,e)}));u.reader.once("close",(function(){u.emit("close")}));u.readEntryCursor=t;u.fileSize=r;u.entryCount=n;u.comment=o;u.entriesRead=0;u.autoClose=!!s;u.lazyEntries=!!i;u.decodeStrings=!!a;u.validateEntrySizes=!!c;u.strictFileNames=!!l;u.isOpen=true;u.emittedError=false;if(!u.lazyEntries)u._readEntry()}ZipFile.prototype.close=function(){if(!this.isOpen)return;this.isOpen=false;this.reader.unref()};function emitErrorAndAutoClose(e,t){if(e.autoClose)e.close();emitError(e,t)}function emitError(e,t){if(e.emittedError)return;e.emittedError=true;e.emit("error",t)}ZipFile.prototype.readEntry=function(){if(!this.lazyEntries)throw new Error("readEntry() called without lazyEntries:true");this._readEntry()};ZipFile.prototype._readEntry=function(){var e=this;if(e.entryCount===e.entriesRead){setImmediate((function(){if(e.autoClose)e.close();if(e.emittedError)return;e.emit("end")}));return}if(e.emittedError)return;var t=d(46);readAndAssertNoEof(e.reader,t,0,t.length,e.readEntryCursor,(function(r){if(r)return emitErrorAndAutoClose(e,r);if(e.emittedError)return;var n=new Entry;var o=t.readUInt32LE(0);if(o!==33639248)return emitErrorAndAutoClose(e,new Error("invalid central directory file header signature: 0x"+o.toString(16)));n.versionMadeBy=t.readUInt16LE(4);n.versionNeededToExtract=t.readUInt16LE(6);n.generalPurposeBitFlag=t.readUInt16LE(8);n.compressionMethod=t.readUInt16LE(10);n.lastModFileTime=t.readUInt16LE(12);n.lastModFileDate=t.readUInt16LE(14);n.crc32=t.readUInt32LE(16);n.compressedSize=t.readUInt32LE(20);n.uncompressedSize=t.readUInt32LE(24);n.fileNameLength=t.readUInt16LE(28);n.extraFieldLength=t.readUInt16LE(30);n.fileCommentLength=t.readUInt16LE(32);n.internalFileAttributes=t.readUInt16LE(36);n.externalFileAttributes=t.readUInt32LE(38);n.relativeOffsetOfLocalHeader=t.readUInt32LE(42);if(n.generalPurposeBitFlag&64)return emitErrorAndAutoClose(e,new Error("strong encryption is not supported"));e.readEntryCursor+=46;t=d(n.fileNameLength+n.extraFieldLength+n.fileCommentLength);readAndAssertNoEof(e.reader,t,0,t.length,e.readEntryCursor,(function(r){if(r)return emitErrorAndAutoClose(e,r);if(e.emittedError)return;var o=(n.generalPurposeBitFlag&2048)!==0;n.fileName=e.decodeStrings?decodeBuffer(t,0,n.fileNameLength,o):t.slice(0,n.fileNameLength);var s=n.fileNameLength+n.extraFieldLength;var a=t.slice(n.fileNameLength,s);n.extraFields=[];var A=0;while(Aa.length)return emitErrorAndAutoClose(e,new Error("extra field length exceeds extra field buffer size"));var g=d(l);a.copy(g,0,u,h);n.extraFields.push({id:c,data:g});A=h}n.fileComment=e.decodeStrings?decodeBuffer(t,s,s+n.fileCommentLength,o):t.slice(s,s+n.fileCommentLength);n.comment=n.fileComment;e.readEntryCursor+=t.length;e.entriesRead+=1;if(n.uncompressedSize===4294967295||n.compressedSize===4294967295||n.relativeOffsetOfLocalHeader===4294967295){var p=null;for(var A=0;Ap.length){return emitErrorAndAutoClose(e,new Error("zip64 extended information extra field does not include uncompressed size"))}n.uncompressedSize=readUInt64LE(p,m);m+=8}if(n.compressedSize===4294967295){if(m+8>p.length){return emitErrorAndAutoClose(e,new Error("zip64 extended information extra field does not include compressed size"))}n.compressedSize=readUInt64LE(p,m);m+=8}if(n.relativeOffsetOfLocalHeader===4294967295){if(m+8>p.length){return emitErrorAndAutoClose(e,new Error("zip64 extended information extra field does not include relative header offset"))}n.relativeOffsetOfLocalHeader=readUInt64LE(p,m);m+=8}}if(e.decodeStrings){for(var A=0;Ae.compressedSize)throw new Error("options.start > entry.compressedSize")}if(t.end!=null){i=t.end;if(i<0)throw new Error("options.end < 0");if(i>e.compressedSize)throw new Error("options.end > entry.compressedSize");if(in.fileSize){return r(new Error("file data overflows file bounds: "+g+" + "+e.compressedSize+" > "+n.fileSize))}}var E=n.reader.createReadStream({start:g+s,end:g+i});var m=E;if(d){var C=false;var I=o.createInflateRaw();E.on("error",(function(e){setImmediate((function(){if(!C)I.emit("error",e)}))}));E.pipe(I);if(n.validateEntrySizes){m=new AssertByteCountStream(e.uncompressedSize);I.on("error",(function(e){setImmediate((function(){if(!C)m.emit("error",e)}))}));I.pipe(m)}else{m=I}m.destroy=function(){C=true;if(I!==m)I.unpipe(m);E.unpipe(I);E.destroy()}}r(null,m)}finally{n.reader.unref()}}))};function Entry(){}Entry.prototype.getLastModDate=function(){return dosDateTimeToDate(this.lastModFileDate,this.lastModFileTime)};Entry.prototype.isEncrypted=function(){return(this.generalPurposeBitFlag&1)!==0};Entry.prototype.isCompressed=function(){return this.compressionMethod===8};function dosDateTimeToDate(e,t){var r=e&31;var n=(e>>5&15)-1;var o=(e>>9&127)+1980;var s=0;var i=(t&31)*2;var a=t>>5&63;var A=t>>11&31;return new Date(o,n,r,A,a,i,s)}function validateFileName(e){if(e.indexOf("\\")!==-1){return"invalid characters in fileName: "+e}if(/^[a-zA-Z]:/.test(e)||/^\//.test(e)){return"absolute path: "+e}if(e.split("/").indexOf("..")!==-1){return"invalid relative path: "+e}return null}function readAndAssertNoEof(e,t,r,n,o,s){if(n===0){return setImmediate((function(){s(null,d(0))}))}e.read(t,r,n,o,(function(e,t){if(e)return s(e);if(tthis.expectedByteCount){var n="too many bytes in the stream. expected "+this.expectedByteCount+". got at least "+this.actualByteCount;return r(new Error(n))}r(null,e)};AssertByteCountStream.prototype._flush=function(e){if(this.actualByteCount0)return;if(e.refCount<0)throw new Error("invalid unref");e.close(onCloseDone);function onCloseDone(t){if(t)return e.emit("error",t);e.emit("close")}};RandomAccessReader.prototype.createReadStream=function(e){var t=e.start;var r=e.end;if(t===r){var n=new l;setImmediate((function(){n.end()}));return n}var o=this._readStreamForRange(t,r);var s=false;var i=new RefUnrefFilter(this);o.on("error",(function(e){setImmediate((function(){if(!s)i.emit("error",e)}))}));i.destroy=function(){o.unpipe(i);i.unref();o.destroy()};var a=new AssertByteCountStream(r-t);i.on("error",(function(e){setImmediate((function(){if(!s)a.emit("error",e)}))}));a.destroy=function(){s=true;i.unpipe(a);i.destroy()};return o.pipe(i).pipe(a)};RandomAccessReader.prototype._readStreamForRange=function(e,t){throw new Error("not implemented")};RandomAccessReader.prototype.read=function(e,t,r,n,o){var s=this.createReadStream({start:n,end:n+r});var i=new u;var a=0;i._write=function(r,n,o){r.copy(e,t+a,0,r.length);a+=r.length;o()};i.on("finish",o);s.on("error",(function(e){o(e)}));s.pipe(i)};RandomAccessReader.prototype.close=function(e){setImmediate(e)};a.inherits(RefUnrefFilter,l);function RefUnrefFilter(e){l.call(this);this.context=e;this.context.ref();this.unreffedYet=false}RefUnrefFilter.prototype._flush=function(e){this.unref();e()};RefUnrefFilter.prototype.unref=function(e){if(this.unreffedYet)return;this.unreffedYet=true;this.context.unref()};var h="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ";function decodeBuffer(e,t,r,n){if(n){return e.toString("utf8",t,r)}else{var o="";for(var s=t;s{module.exports=eval("require")("aws4")},5764:module=>{module.exports=eval("require")("mongodb-client-encryption")},9491:e=>{"use strict";e.exports=require("assert")},852:e=>{"use strict";e.exports=require("async_hooks")},4300:e=>{"use strict";e.exports=require("buffer")},2081:e=>{"use strict";e.exports=require("child_process")},6206:e=>{"use strict";e.exports=require("console")},2057:e=>{"use strict";e.exports=require("constants")},6113:e=>{"use strict";e.exports=require("crypto")},7643:e=>{"use strict";e.exports=require("diagnostics_channel")},7578:e=>{"use strict";e.exports=require("dns")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5158:e=>{"use strict";e.exports=require("http2")},5687:e=>{"use strict";e.exports=require("https")},8188:e=>{"use strict";e.exports=require("module")},1808:e=>{"use strict";e.exports=require("net")},5673:e=>{"use strict";e.exports=require("node:events")},4492:e=>{"use strict";e.exports=require("node:stream")},7261:e=>{"use strict";e.exports=require("node:util")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},4074:e=>{"use strict";e.exports=require("perf_hooks")},3477:e=>{"use strict";e.exports=require("querystring")},4521:e=>{"use strict";e.exports=require("readline")},2781:e=>{"use strict";e.exports=require("stream")},5356:e=>{"use strict";e.exports=require("stream/web")},1576:e=>{"use strict";e.exports=require("string_decoder")},4404:e=>{"use strict";e.exports=require("tls")},6224:e=>{"use strict";e.exports=require("tty")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9830:e=>{"use strict";e.exports=require("util/types")},1267:e=>{"use strict";e.exports=require("worker_threads")},9796:e=>{"use strict";e.exports=require("zlib")},2960:(e,t,r)=>{"use strict";const n=r(4492).Writable;const o=r(7261).inherits;const s=r(1142);const i=r(1620);const a=r(2032);const A=45;const c=Buffer.from("-");const l=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}n.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new a(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}o(Dicer,n);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{n.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,r){if(!this._hparser&&!this._bparser){return r()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new i(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t{"use strict";const n=r(5673).EventEmitter;const o=r(7261).inherits;const s=r(1467);const i=r(1142);const a=Buffer.from("\r\n\r\n");const A=/\r\n/g;const c=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){n.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=s(e,"maxHeaderPairs",2e3);this.maxHeaderSize=s(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new i(a);this.ss.on("info",(function(e,r,n,o){if(r&&!t.maxed){if(t.nread+o-n>=t.maxHeaderSize){o=t.maxHeaderSize-t.nread+n;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=o-n}t.buffer+=r.toString("binary",n,o)}if(e){t._finish()}}))}o(HeaderParser,n);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(A);const t=e.length;let r,n;for(var o=0;o{"use strict";const n=r(7261).inherits;const o=r(4492).Readable;function PartStream(e){o.call(this,e)}n(PartStream,o);PartStream.prototype._read=function(e){};e.exports=PartStream},1142:(e,t,r)=>{"use strict";const n=r(5673).EventEmitter;const o=r(7261).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var r=0;r=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const r=this._lookbehind_size+s;if(r>0){this.emit("info",false,this._lookbehind,0,r)}this._lookbehind.copy(this._lookbehind,0,r,this._lookbehind_size-r);this._lookbehind_size-=r;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}s+=(s>=0)*this._bufpos;if(e.indexOf(r,s)!==-1){s=e.indexOf(r,s);++this.matches;if(s>0){this.emit("info",true,e,this._bufpos,s)}else{this.emit("info",true)}return this._bufpos=s+n}else{s=t-n}while(s0){this.emit("info",false,e,this._bufpos,s{"use strict";const n=r(4492).Writable;const{inherits:o}=r(7261);const s=r(2960);const i=r(2183);const a=r(8306);const A=r(1854);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...r}=e;this.opts={autoDestroy:false,...r};n.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}o(Busboy,n);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}n.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=A(e["content-type"]);const r={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(i.detect.test(t[0])){return new i(this,r)}if(a.detect.test(t[0])){return new a(this,r)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,r){this._parser.write(e,r)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=s},2183:(e,t,r)=>{"use strict";const{Readable:n}=r(4492);const{inherits:o}=r(7261);const s=r(2960);const i=r(1854);const a=r(4619);const A=r(8647);const c=r(1467);const l=/^boundary$/i;const u=/^form-data$/i;const h=/^charset$/i;const d=/^filename$/i;const g=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let r;let n;const o=this;let p;const E=t.limits;const m=t.isPartAFile||((e,t,r)=>t==="application/octet-stream"||r!==undefined);const C=t.parsedConType||[];const I=t.defCharset||"utf8";const y=t.preservePath;const B={highWaterMark:t.fileHwm};for(r=0,n=C.length;rv){o.parser.removeListener("part",onPart);o.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(_){const e=_;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(s){let c;let l;let p;let E;let C;let v;let R=0;if(s["content-type"]){p=i(s["content-type"][0]);if(p[0]){c=p[0].toLowerCase();for(r=0,n=p.length;rb){const n=b-R+e.length;if(n>0){r.push(e.slice(0,n))}r.truncated=true;r.bytesRead=b;t.removeAllListeners("data");r.emit("limit");return}else if(!r.push(e)){o._pause=true}r.bytesRead=R};M=function(){O=undefined;r.push(null)}}else{if(N===S){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++N;++T;let r="";let n=false;_=t;k=function(e){if((R+=e.length)>Q){const o=Q-(R-e.length);r+=e.toString("binary",0,o);n=true;t.removeAllListeners("data")}else{r+=e.toString("binary")}};M=function(){_=undefined;if(r.length){r=a(r,"binary",E)}e.emit("field",l,r,false,n,C,c);--T;checkFinished()}}t._readableState.sync=false;t.on("data",k);t.on("end",M)})).on("error",(function(e){if(O){O.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){M=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const r=this.parser.write(e);if(r&&!this._pause){t()}else{this._needDrain=!r;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){n.call(this,e);this.bytesRead=0;this.truncated=false}o(FileStream,n);FileStream.prototype._read=function(e){};e.exports=Multipart},8306:(e,t,r)=>{"use strict";const n=r(7100);const o=r(4619);const s=r(1467);const i=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const r=t.limits;const o=t.parsedConType;this.boy=e;this.fieldSizeLimit=s(r,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=s(r,"fieldNameSize",100);this.fieldsLimit=s(r,"fields",Infinity);let a;for(var A=0,c=o.length;Ai){this._key+=this.decoder.write(e.toString("binary",i,r))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();i=r+1}else if(n!==undefined){++this._fields;let r;const s=this._keyTrunc;if(n>i){r=this._key+=this.decoder.write(e.toString("binary",i,n))}else{r=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(r.length){this.boy.emit("field",o(r,"binary",this.charset),"",s,false)}i=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(s>i){this._key+=this.decoder.write(e.toString("binary",i,s))}i=s;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ii){this._val+=this.decoder.write(e.toString("binary",i,n))}this.boy.emit("field",o(this._key,"binary",this.charset),o(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();i=n+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(s>i){this._val+=this.decoder.write(e.toString("binary",i,s))}i=s;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(i0){this.boy.emit("field",o(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",o(this._key,"binary",this.charset),o(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},7100:e=>{"use strict";const t=/\+/g;const r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let n="";let o=0;let s=0;const i=e.length;for(;os){n+=e.substring(s,o);s=o}this.buffer="";++s}}if(s{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},4619:function(e){"use strict";const t=new TextDecoder("utf-8");const r=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return n.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return n.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return n.utf16le;case"base64":return n.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return n.other.bind(e)}}}const n={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(r.has(this.toString())){try{return r.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,r){if(e){return getDecoder(r)(e,t)}return e}e.exports=decodeText},1467:e=>{"use strict";e.exports=function getLimit(e,t,r){if(!e||e[t]===undefined||e[t]===null){return r}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},1854:(e,t,r)=>{"use strict";const n=r(4619);const o=/%[a-fA-F0-9][a-fA-F0-9]/g;const s={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return s[e]}const i=0;const a=1;const A=2;const c=3;function parseParams(e){const t=[];let r=i;let s="";let l=false;let u=false;let h=0;let d="";const g=e.length;for(var p=0;p{"use strict";e.exports={i8:"3.7.4"}}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var n=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);n=false}finally{if(n)delete __webpack_module_cache__[e]}return r.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(1667);module.exports=__webpack_exports__})(); \ No newline at end of file