mock-service-cli 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/runtime.js CHANGED
@@ -13,10 +13,10 @@ GFS4: `),console.error(m)});fs[gracefulQueue]||(queue=global[gracefulQueue]||[],
13
13
 
14
14
  see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat,destStat}=stat.checkPathsSync(src,dest,"copy",opts);if(stat.checkParentPathsSync(src,srcStat,dest,"copy"),opts.filter&&!opts.filter(src,dest))return;let destParent=path.dirname(dest);return fs.existsSync(destParent)||mkdirsSync(destParent),getStats(destStat,src,dest,opts)}function getStats(destStat,src,dest,opts){let srcStat=(opts.dereference?fs.statSync:fs.lstatSync)(src);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts);if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts);if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts);throw srcStat.isSocket()?new Error(`Cannot copy a socket file: ${src}`):srcStat.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${src}`):new Error(`Unknown file: ${src}`)}function onFile(srcStat,destStat,src,dest,opts){return destStat?mayCopyFile(srcStat,src,dest,opts):copyFile(srcStat,src,dest,opts)}function mayCopyFile(srcStat,src,dest,opts){if(opts.overwrite)return fs.unlinkSync(dest),copyFile(srcStat,src,dest,opts);if(opts.errorOnExist)throw new Error(`'${dest}' already exists`)}function copyFile(srcStat,src,dest,opts){return fs.copyFileSync(src,dest),opts.preserveTimestamps&&handleTimestamps(srcStat.mode,src,dest),setDestMode(dest,srcStat.mode)}function handleTimestamps(srcMode,src,dest){return fileIsNotWritable(srcMode)&&makeFileWritable(dest,srcMode),setDestTimestamps(src,dest)}function fileIsNotWritable(srcMode){return(srcMode&128)===0}function makeFileWritable(dest,srcMode){return setDestMode(dest,srcMode|128)}function setDestMode(dest,srcMode){return fs.chmodSync(dest,srcMode)}function setDestTimestamps(src,dest){let updatedSrcStat=fs.statSync(src);return utimesMillisSync(dest,updatedSrcStat.atime,updatedSrcStat.mtime)}function onDir(srcStat,destStat,src,dest,opts){return destStat?copyDir(src,dest,opts):mkDirAndCopy(srcStat.mode,src,dest,opts)}function mkDirAndCopy(srcMode,src,dest,opts){return fs.mkdirSync(dest),copyDir(src,dest,opts),setDestMode(dest,srcMode)}function copyDir(src,dest,opts){let dir=fs.opendirSync(src);try{let dirent;for(;(dirent=dir.readSync())!==null;)copyDirItem(dirent.name,src,dest,opts)}finally{dir.closeSync()}}function copyDirItem(item,src,dest,opts){let srcItem=path.join(src,item),destItem=path.join(dest,item);if(opts.filter&&!opts.filter(srcItem,destItem))return;let{destStat}=stat.checkPathsSync(srcItem,destItem,"copy",opts);return getStats(destStat,srcItem,destItem,opts)}function onLink(destStat,src,dest,opts){let resolvedSrc=fs.readlinkSync(src);if(opts.dereference&&(resolvedSrc=path.resolve(process.cwd(),resolvedSrc)),destStat){let resolvedDest;try{resolvedDest=fs.readlinkSync(dest)}catch(err){if(err.code==="EINVAL"||err.code==="UNKNOWN")return fs.symlinkSync(resolvedSrc,dest);throw err}if(opts.dereference&&(resolvedDest=path.resolve(process.cwd(),resolvedDest)),resolvedSrc!==resolvedDest){if(stat.isSrcSubdir(resolvedSrc,resolvedDest))throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);if(stat.isSrcSubdir(resolvedDest,resolvedSrc))throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)}return copyLink(resolvedSrc,dest)}else return fs.symlinkSync(resolvedSrc,dest)}function copyLink(resolvedSrc,dest){return fs.unlinkSync(dest),fs.symlinkSync(resolvedSrc,dest)}module2.exports=copySync}});var require_copy2=__commonJS({"node_modules/fs-extra/lib/copy/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise;module2.exports={copy:u(require_copy()),copySync:require_copy_sync()}}});var require_remove=__commonJS({"node_modules/fs-extra/lib/remove/index.js"(exports2,module2){"use strict";var fs=require_graceful_fs(),u=require_universalify().fromCallback;function remove(path,callback){fs.rm(path,{recursive:!0,force:!0},callback)}function removeSync(path){fs.rmSync(path,{recursive:!0,force:!0})}module2.exports={remove:u(remove),removeSync}}});var require_empty=__commonJS({"node_modules/fs-extra/lib/empty/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,fs=require_fs(),path=require("path"),mkdir=require_mkdirs(),remove=require_remove(),emptyDir=u(async function(dir){let items;try{items=await fs.readdir(dir)}catch{return mkdir.mkdirs(dir)}return Promise.all(items.map(item=>remove.remove(path.join(dir,item))))});function emptyDirSync(dir){let items;try{items=fs.readdirSync(dir)}catch{return mkdir.mkdirsSync(dir)}items.forEach(item=>{item=path.join(dir,item),remove.removeSync(item)})}module2.exports={emptyDirSync,emptydirSync:emptyDirSync,emptyDir,emptydir:emptyDir}}});var require_file=__commonJS({"node_modules/fs-extra/lib/ensure/file.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,path=require("path"),fs=require_fs(),mkdir=require_mkdirs();async function createFile(file){let stats;try{stats=await fs.stat(file)}catch{}if(stats&&stats.isFile())return;let dir=path.dirname(file),dirStats=null;try{dirStats=await fs.stat(dir)}catch(err){if(err.code==="ENOENT"){await mkdir.mkdirs(dir),await fs.writeFile(file,"");return}else throw err}dirStats.isDirectory()?await fs.writeFile(file,""):await fs.readdir(dir)}function createFileSync(file){let stats;try{stats=fs.statSync(file)}catch{}if(stats&&stats.isFile())return;let dir=path.dirname(file);try{fs.statSync(dir).isDirectory()||fs.readdirSync(dir)}catch(err){if(err&&err.code==="ENOENT")mkdir.mkdirsSync(dir);else throw err}fs.writeFileSync(file,"")}module2.exports={createFile:u(createFile),createFileSync}}});var require_link=__commonJS({"node_modules/fs-extra/lib/ensure/link.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,path=require("path"),fs=require_fs(),mkdir=require_mkdirs(),{pathExists}=require_path_exists(),{areIdentical}=require_stat();async function createLink(srcpath,dstpath){let dstStat;try{dstStat=await fs.lstat(dstpath,{bigint:!0})}catch{}let srcStat;try{srcStat=await fs.lstat(srcpath,{bigint:!0})}catch(err){throw err.message=err.message.replace("lstat","ensureLink"),err}if(dstStat&&areIdentical(srcStat,dstStat))return;let dir=path.dirname(dstpath);await pathExists(dir)||await mkdir.mkdirs(dir),await fs.link(srcpath,dstpath)}function createLinkSync(srcpath,dstpath){let dstStat;try{dstStat=fs.lstatSync(dstpath,{bigint:!0})}catch{}try{let srcStat=fs.lstatSync(srcpath,{bigint:!0});if(dstStat&&areIdentical(srcStat,dstStat))return}catch(err){throw err.message=err.message.replace("lstat","ensureLink"),err}let dir=path.dirname(dstpath);return fs.existsSync(dir)||mkdir.mkdirsSync(dir),fs.linkSync(srcpath,dstpath)}module2.exports={createLink:u(createLink),createLinkSync}}});var require_symlink_paths=__commonJS({"node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2,module2){"use strict";var path=require("path"),fs=require_fs(),{pathExists}=require_path_exists(),u=require_universalify().fromPromise;async function symlinkPaths(srcpath,dstpath){if(path.isAbsolute(srcpath)){try{await fs.lstat(srcpath)}catch(err){throw err.message=err.message.replace("lstat","ensureSymlink"),err}return{toCwd:srcpath,toDst:srcpath}}let dstdir=path.dirname(dstpath),relativeToDst=path.join(dstdir,srcpath);if(await pathExists(relativeToDst))return{toCwd:relativeToDst,toDst:srcpath};try{await fs.lstat(srcpath)}catch(err){throw err.message=err.message.replace("lstat","ensureSymlink"),err}return{toCwd:srcpath,toDst:path.relative(dstdir,srcpath)}}function symlinkPathsSync(srcpath,dstpath){if(path.isAbsolute(srcpath)){if(!fs.existsSync(srcpath))throw new Error("absolute srcpath does not exist");return{toCwd:srcpath,toDst:srcpath}}let dstdir=path.dirname(dstpath),relativeToDst=path.join(dstdir,srcpath);if(fs.existsSync(relativeToDst))return{toCwd:relativeToDst,toDst:srcpath};if(!fs.existsSync(srcpath))throw new Error("relative srcpath does not exist");return{toCwd:srcpath,toDst:path.relative(dstdir,srcpath)}}module2.exports={symlinkPaths:u(symlinkPaths),symlinkPathsSync}}});var require_symlink_type=__commonJS({"node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2,module2){"use strict";var fs=require_fs(),u=require_universalify().fromPromise;async function symlinkType(srcpath,type){if(type)return type;let stats;try{stats=await fs.lstat(srcpath)}catch{return"file"}return stats&&stats.isDirectory()?"dir":"file"}function symlinkTypeSync(srcpath,type){if(type)return type;let stats;try{stats=fs.lstatSync(srcpath)}catch{return"file"}return stats&&stats.isDirectory()?"dir":"file"}module2.exports={symlinkType:u(symlinkType),symlinkTypeSync}}});var require_symlink=__commonJS({"node_modules/fs-extra/lib/ensure/symlink.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,path=require("path"),fs=require_fs(),{mkdirs,mkdirsSync}=require_mkdirs(),{symlinkPaths,symlinkPathsSync}=require_symlink_paths(),{symlinkType,symlinkTypeSync}=require_symlink_type(),{pathExists}=require_path_exists(),{areIdentical}=require_stat();async function createSymlink(srcpath,dstpath,type){let stats;try{stats=await fs.lstat(dstpath)}catch{}if(stats&&stats.isSymbolicLink()){let srcStat;if(path.isAbsolute(srcpath))srcStat=await fs.stat(srcpath,{bigint:!0});else{let dstdir=path.dirname(dstpath),relativeToDst=path.join(dstdir,srcpath);try{srcStat=await fs.stat(relativeToDst,{bigint:!0})}catch{srcStat=await fs.stat(srcpath,{bigint:!0})}}let dstStat=await fs.stat(dstpath,{bigint:!0});if(areIdentical(srcStat,dstStat))return}let relative=await symlinkPaths(srcpath,dstpath);srcpath=relative.toDst;let toType=await symlinkType(relative.toCwd,type),dir=path.dirname(dstpath);return await pathExists(dir)||await mkdirs(dir),fs.symlink(srcpath,dstpath,toType)}function createSymlinkSync(srcpath,dstpath,type){let stats;try{stats=fs.lstatSync(dstpath)}catch{}if(stats&&stats.isSymbolicLink()){let srcStat;if(path.isAbsolute(srcpath))srcStat=fs.statSync(srcpath,{bigint:!0});else{let dstdir=path.dirname(dstpath),relativeToDst=path.join(dstdir,srcpath);try{srcStat=fs.statSync(relativeToDst,{bigint:!0})}catch{srcStat=fs.statSync(srcpath,{bigint:!0})}}let dstStat=fs.statSync(dstpath,{bigint:!0});if(areIdentical(srcStat,dstStat))return}let relative=symlinkPathsSync(srcpath,dstpath);srcpath=relative.toDst,type=symlinkTypeSync(relative.toCwd,type);let dir=path.dirname(dstpath);return fs.existsSync(dir)||mkdirsSync(dir),fs.symlinkSync(srcpath,dstpath,type)}module2.exports={createSymlink:u(createSymlink),createSymlinkSync}}});var require_ensure=__commonJS({"node_modules/fs-extra/lib/ensure/index.js"(exports2,module2){"use strict";var{createFile,createFileSync}=require_file(),{createLink,createLinkSync}=require_link(),{createSymlink,createSymlinkSync}=require_symlink();module2.exports={createFile,createFileSync,ensureFile:createFile,ensureFileSync:createFileSync,createLink,createLinkSync,ensureLink:createLink,ensureLinkSync:createLinkSync,createSymlink,createSymlinkSync,ensureSymlink:createSymlink,ensureSymlinkSync:createSymlinkSync}}});var require_utils2=__commonJS({"node_modules/jsonfile/utils.js"(exports2,module2){function stringify(obj,{EOL=`
15
15
  `,finalEOL=!0,replacer=null,spaces}={}){let EOF=finalEOL?EOL:"";return JSON.stringify(obj,replacer,spaces).replace(/\n/g,EOL)+EOF}function stripBom(content){return Buffer.isBuffer(content)&&(content=content.toString("utf8")),content.replace(/^\uFEFF/,"")}module2.exports={stringify,stripBom}}});var require_jsonfile=__commonJS({"node_modules/jsonfile/index.js"(exports2,module2){var _fs;try{_fs=require_graceful_fs()}catch{_fs=require("fs")}var universalify=require_universalify(),{stringify,stripBom}=require_utils2();async function _readFile(file,options={}){typeof options=="string"&&(options={encoding:options});let fs=options.fs||_fs,shouldThrow="throws"in options?options.throws:!0,data=await universalify.fromCallback(fs.readFile)(file,options);data=stripBom(data);let obj;try{obj=JSON.parse(data,options?options.reviver:null)}catch(err){if(shouldThrow)throw err.message=`${file}: ${err.message}`,err;return null}return obj}var readFile=universalify.fromPromise(_readFile);function readFileSync(file,options={}){typeof options=="string"&&(options={encoding:options});let fs=options.fs||_fs,shouldThrow="throws"in options?options.throws:!0;try{let content=fs.readFileSync(file,options);return content=stripBom(content),JSON.parse(content,options.reviver)}catch(err){if(shouldThrow)throw err.message=`${file}: ${err.message}`,err;return null}}async function _writeFile(file,obj,options={}){let fs=options.fs||_fs,str=stringify(obj,options);await universalify.fromCallback(fs.writeFile)(file,str,options)}var writeFile=universalify.fromPromise(_writeFile);function writeFileSync(file,obj,options={}){let fs=options.fs||_fs,str=stringify(obj,options);return fs.writeFileSync(file,str,options)}var jsonfile={readFile,readFileSync,writeFile,writeFileSync};module2.exports=jsonfile}});var require_jsonfile2=__commonJS({"node_modules/fs-extra/lib/json/jsonfile.js"(exports2,module2){"use strict";var jsonFile=require_jsonfile();module2.exports={readJson:jsonFile.readFile,readJsonSync:jsonFile.readFileSync,writeJson:jsonFile.writeFile,writeJsonSync:jsonFile.writeFileSync}}});var require_output_file=__commonJS({"node_modules/fs-extra/lib/output-file/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,fs=require_fs(),path=require("path"),mkdir=require_mkdirs(),pathExists=require_path_exists().pathExists;async function outputFile(file,data,encoding="utf-8"){let dir=path.dirname(file);return await pathExists(dir)||await mkdir.mkdirs(dir),fs.writeFile(file,data,encoding)}function outputFileSync(file,...args){let dir=path.dirname(file);fs.existsSync(dir)||mkdir.mkdirsSync(dir),fs.writeFileSync(file,...args)}module2.exports={outputFile:u(outputFile),outputFileSync}}});var require_output_json=__commonJS({"node_modules/fs-extra/lib/json/output-json.js"(exports2,module2){"use strict";var{stringify}=require_utils2(),{outputFile}=require_output_file();async function outputJson(file,data,options={}){let str=stringify(data,options);await outputFile(file,str,options)}module2.exports=outputJson}});var require_output_json_sync=__commonJS({"node_modules/fs-extra/lib/json/output-json-sync.js"(exports2,module2){"use strict";var{stringify}=require_utils2(),{outputFileSync}=require_output_file();function outputJsonSync(file,data,options){let str=stringify(data,options);outputFileSync(file,str,options)}module2.exports=outputJsonSync}});var require_json=__commonJS({"node_modules/fs-extra/lib/json/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise,jsonFile=require_jsonfile2();jsonFile.outputJson=u(require_output_json());jsonFile.outputJsonSync=require_output_json_sync();jsonFile.outputJSON=jsonFile.outputJson;jsonFile.outputJSONSync=jsonFile.outputJsonSync;jsonFile.writeJSON=jsonFile.writeJson;jsonFile.writeJSONSync=jsonFile.writeJsonSync;jsonFile.readJSON=jsonFile.readJson;jsonFile.readJSONSync=jsonFile.readJsonSync;module2.exports=jsonFile}});var require_move=__commonJS({"node_modules/fs-extra/lib/move/move.js"(exports2,module2){"use strict";var fs=require_fs(),path=require("path"),{copy}=require_copy2(),{remove}=require_remove(),{mkdirp}=require_mkdirs(),{pathExists}=require_path_exists(),stat=require_stat();async function move(src,dest,opts={}){let overwrite=opts.overwrite||opts.clobber||!1,{srcStat,isChangingCase=!1}=await stat.checkPaths(src,dest,"move",opts);await stat.checkParentPaths(src,srcStat,dest,"move");let destParent=path.dirname(dest);return path.parse(destParent).root!==destParent&&await mkdirp(destParent),doRename(src,dest,overwrite,isChangingCase)}async function doRename(src,dest,overwrite,isChangingCase){if(!isChangingCase){if(overwrite)await remove(dest);else if(await pathExists(dest))throw new Error("dest already exists.")}try{await fs.rename(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;await moveAcrossDevice(src,dest,overwrite)}}async function moveAcrossDevice(src,dest,overwrite){return await copy(src,dest,{overwrite,errorOnExist:!0,preserveTimestamps:!0}),remove(src)}module2.exports=move}});var require_move_sync=__commonJS({"node_modules/fs-extra/lib/move/move-sync.js"(exports2,module2){"use strict";var fs=require_graceful_fs(),path=require("path"),copySync=require_copy2().copySync,removeSync=require_remove().removeSync,mkdirpSync=require_mkdirs().mkdirpSync,stat=require_stat();function moveSync(src,dest,opts){opts=opts||{};let overwrite=opts.overwrite||opts.clobber||!1,{srcStat,isChangingCase=!1}=stat.checkPathsSync(src,dest,"move",opts);return stat.checkParentPathsSync(src,srcStat,dest,"move"),isParentRoot(dest)||mkdirpSync(path.dirname(dest)),doRename(src,dest,overwrite,isChangingCase)}function isParentRoot(dest){let parent=path.dirname(dest);return path.parse(parent).root===parent}function doRename(src,dest,overwrite,isChangingCase){if(isChangingCase)return rename(src,dest,overwrite);if(overwrite)return removeSync(dest),rename(src,dest,overwrite);if(fs.existsSync(dest))throw new Error("dest already exists.");return rename(src,dest,overwrite)}function rename(src,dest,overwrite){try{fs.renameSync(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;return moveAcrossDevice(src,dest,overwrite)}}function moveAcrossDevice(src,dest,overwrite){return copySync(src,dest,{overwrite,errorOnExist:!0,preserveTimestamps:!0}),removeSync(src)}module2.exports=moveSync}});var require_move2=__commonJS({"node_modules/fs-extra/lib/move/index.js"(exports2,module2){"use strict";var u=require_universalify().fromPromise;module2.exports={move:u(require_move()),moveSync:require_move_sync()}}});var require_lib=__commonJS({"node_modules/fs-extra/lib/index.js"(exports2,module2){"use strict";module2.exports={...require_fs(),...require_copy2(),...require_empty(),...require_ensure(),...require_json(),...require_mkdirs(),...require_move2(),...require_output_file(),...require_path_exists(),...require_remove()}}});var require_minimist=__commonJS({"node_modules/minimist/index.js"(exports2,module2){"use strict";function hasKey(obj,keys){var o=obj;keys.slice(0,-1).forEach(function(key2){o=o[key2]||{}});var key=keys[keys.length-1];return key in o}function isNumber(x){return typeof x=="number"||/^0x[0-9a-f]+$/i.test(x)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x)}function isConstructorOrProto(obj,key){return key==="constructor"&&typeof obj[key]=="function"||key==="__proto__"}module2.exports=function(args,opts){opts||(opts={});var flags={bools:{},strings:{},unknownFn:null};typeof opts.unknown=="function"&&(flags.unknownFn=opts.unknown),typeof opts.boolean=="boolean"&&opts.boolean?flags.allBools=!0:[].concat(opts.boolean).filter(Boolean).forEach(function(key2){flags.bools[key2]=!0});var aliases={};function aliasIsBoolean(key2){return aliases[key2].some(function(x){return flags.bools[x]})}Object.keys(opts.alias||{}).forEach(function(key2){aliases[key2]=[].concat(opts.alias[key2]),aliases[key2].forEach(function(x){aliases[x]=[key2].concat(aliases[key2].filter(function(y){return x!==y}))})}),[].concat(opts.string).filter(Boolean).forEach(function(key2){flags.strings[key2]=!0,aliases[key2]&&[].concat(aliases[key2]).forEach(function(k){flags.strings[k]=!0})});var defaults=opts.default||{},argv={_:[]};function argDefined(key2,arg2){return flags.allBools&&/^--[^=]+$/.test(arg2)||flags.strings[key2]||flags.bools[key2]||aliases[key2]}function setKey(obj,keys,value2){for(var o=obj,i2=0;i2<keys.length-1;i2++){var key2=keys[i2];if(isConstructorOrProto(o,key2))return;o[key2]===void 0&&(o[key2]={}),(o[key2]===Object.prototype||o[key2]===Number.prototype||o[key2]===String.prototype)&&(o[key2]={}),o[key2]===Array.prototype&&(o[key2]=[]),o=o[key2]}var lastKey=keys[keys.length-1];isConstructorOrProto(o,lastKey)||((o===Object.prototype||o===Number.prototype||o===String.prototype)&&(o={}),o===Array.prototype&&(o=[]),o[lastKey]===void 0||flags.bools[lastKey]||typeof o[lastKey]=="boolean"?o[lastKey]=value2:Array.isArray(o[lastKey])?o[lastKey].push(value2):o[lastKey]=[o[lastKey],value2])}function setArg(key2,val,arg2){if(!(arg2&&flags.unknownFn&&!argDefined(key2,arg2)&&flags.unknownFn(arg2)===!1)){var value2=!flags.strings[key2]&&isNumber(val)?Number(val):val;setKey(argv,key2.split("."),value2),(aliases[key2]||[]).forEach(function(x){setKey(argv,x.split("."),value2)})}}Object.keys(flags.bools).forEach(function(key2){setArg(key2,defaults[key2]===void 0?!1:defaults[key2])});var notFlags=[];args.indexOf("--")!==-1&&(notFlags=args.slice(args.indexOf("--")+1),args=args.slice(0,args.indexOf("--")));for(var i=0;i<args.length;i++){var arg=args[i],key,next;if(/^--.+=/.test(arg)){var m=arg.match(/^--([^=]+)=([\s\S]*)$/);key=m[1];var value=m[2];flags.bools[key]&&(value=value!=="false"),setArg(key,value,arg)}else if(/^--no-.+/.test(arg))key=arg.match(/^--no-(.+)/)[1],setArg(key,!1,arg);else if(/^--.+/.test(arg))key=arg.match(/^--(.+)/)[1],next=args[i+1],next!==void 0&&!/^(-|--)[^-]/.test(next)&&!flags.bools[key]&&!flags.allBools&&(!aliases[key]||!aliasIsBoolean(key))?(setArg(key,next,arg),i+=1):/^(true|false)$/.test(next)?(setArg(key,next==="true",arg),i+=1):setArg(key,flags.strings[key]?"":!0,arg);else if(/^-[^-]+/.test(arg)){for(var letters=arg.slice(1,-1).split(""),broken=!1,j=0;j<letters.length;j++){if(next=arg.slice(j+2),next==="-"){setArg(letters[j],next,arg);continue}if(/[A-Za-z]/.test(letters[j])&&next[0]==="="){setArg(letters[j],next.slice(1),arg),broken=!0;break}if(/[A-Za-z]/.test(letters[j])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(next)){setArg(letters[j],next,arg),broken=!0;break}if(letters[j+1]&&letters[j+1].match(/\W/)){setArg(letters[j],arg.slice(j+2),arg),broken=!0;break}else setArg(letters[j],flags.strings[letters[j]]?"":!0,arg)}key=arg.slice(-1)[0],!broken&&key!=="-"&&(args[i+1]&&!/^(-|--)[^-]/.test(args[i+1])&&!flags.bools[key]&&(!aliases[key]||!aliasIsBoolean(key))?(setArg(key,args[i+1],arg),i+=1):args[i+1]&&/^(true|false)$/.test(args[i+1])?(setArg(key,args[i+1]==="true",arg),i+=1):setArg(key,flags.strings[key]?"":!0,arg))}else if((!flags.unknownFn||flags.unknownFn(arg)!==!1)&&argv._.push(flags.strings._||!isNumber(arg)?arg:Number(arg)),opts.stopEarly){argv._.push.apply(argv._,args.slice(i+1));break}}return Object.keys(defaults).forEach(function(k){hasKey(argv,k.split("."))||(setKey(argv,k.split("."),defaults[k]),(aliases[k]||[]).forEach(function(x){setKey(argv,x.split("."),defaults[k])}))}),opts["--"]?argv["--"]=notFlags.slice():notFlags.forEach(function(k){argv._.push(k)}),argv}}});var require_utils3=__commonJS({"src/lib/utils.js"(exports2,module2){var fs=require("fs"),colors=require_safe(),path=require("path"),getLogger=function(logFileDirPath){let options={flags:"a",encoding:"utf8"},output=fs.createWriteStream(path.resolve(logFileDirPath||path.resolve(process.cwd()),"./stdout.log"),options),errorOutput=fs.createWriteStream(path.resolve(logFileDirPath||path.resolve(process.cwd()),"./stderr.log"),options),logger2=new console.Console(output,errorOutput);return{log:(...args)=>logger2.log.call(null,`[${dateFormat("YYYY-mm-dd HH:MM:SS:fff")}] - `,...args),error:(...args)=>logger2.error.call(null,`[${dateFormat("YYYY-mm-dd HH:MM:SS:fff")}] - `,...args)}};function dateFormat(fmt,date=new Date){let ret,opt={"Y+":date.getFullYear().toString(),"m+":(date.getMonth()+1).toString(),"d+":date.getDate().toString(),"H+":date.getHours().toString(),"M+":date.getMinutes().toString(),"S+":date.getSeconds().toString(),"f+":date.getMilliseconds().toString()};for(let k in opt)ret=new RegExp("("+k+")").exec(fmt),ret&&(fmt=fmt.replace(ret[1],ret[1].length===1?opt[k]:opt[k].padStart(ret[1].length,"0")));return fmt}function logger(isSilent=!1){let logObj=null;return isSilent?logObj={info:function(){},assert:function(){}}:logObj={info:console.log,assert:console.assert},logObj}var SupportMethods=["GET","POST","PUT","DELETE","HEAD","PATCH","OPTIONS","COPY","LINK","UNLINK","PURGE"],DefaultHeaders="Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token,Token",isValidMethod=function(m){return SupportMethods.includes(String(m).toLocaleUpperCase())},getFileLatestContent=function(filePath){try{return delete require.cache[require.resolve(filePath)],require(path.resolve(process.cwd(),filePath))}catch(error){return console.error(colors.red("[error]:"),error),"getFileLatestContent_ERROR"}},filePath2ApiUrl=function(filePath){return filePath.split(path.sep).join("/")},getDataType=function(data){return Object.prototype.toString.call(data).slice(8,-1).toLowerCase()},isEmptyObj=function(obj){return getDataType(obj)==="object"&&Object.keys(obj).length===0},writeStream=function(filePath,data){return new Promise((resolve,reject)=>{let writerStream=fs.createWriteStream(filePath);writerStream.write(data,"utf-8"),writerStream.end(),writerStream.on("finish",()=>{}),writerStream.on("close",()=>{setTimeout(()=>{resolve(data)})}),writerStream.on("error",err=>{getLogger(path.resolve(process.cwd())).error(filePath,require.cache[require.resolve(filePath)],err),reject(err)})})},readStream=function(filePath){let data="";return new Promise((resovle,reject)=>{let readerStream=fs.createReadStream(filePath);readerStream.setEncoding("UTF8"),readerStream.on("data",function(chunk){data+=chunk}),readerStream.on("end",function(){resovle(data)}),readerStream.on("error",function(err){reject(err),console.log(err.stack)})})},debounce=(func,wait)=>{let timeout,canceled=!1,f=function(...args){canceled||(clearTimeout(timeout),timeout=setTimeout(()=>{func.call(this,...args)},wait))};return f.cancel=()=>{clearTimeout(timeout),canceled=!0},f},throttle=(func,wait,immediate)=>{let timeout,canceled=!1,lastCalledTime=0,f=function(...args){if(canceled)return;let now=Date.now(),call=()=>{lastCalledTime=now,func.call(this,...args)};if(lastCalledTime===0){if(immediate)return call();lastCalledTime=now;return}lastCalledTime+wait-now>0?(clearTimeout(timeout),timeout=setTimeout(()=>call(),wait)):call()};return f.cancel=()=>{clearTimeout(timeout),canceled=!0},f};module2.exports={getLogger,dateFormat,logger,SupportMethods,DefaultHeaders,isValidMethod,getFileLatestContent,filePath2ApiUrl,getDataType,isEmptyObj,writeStream,readStream,debounce,throttle}}});var require_packageInfo=__commonJS({"src/lib/packageInfo.js"(exports2,module2){var{readFileSync}=require("fs"),path=require("path");function getPackageVersion(){let packagePaths=[path.resolve(__dirname,"../package.json"),path.resolve(__dirname,"../../package.json")];for(let packagePath of packagePaths)try{return JSON.parse(readFileSync(packagePath,"utf8")).version}catch{}return"unknown"}module2.exports={getPackageVersion}}});var require_mock_service_cli=__commonJS({"src/bin/mock-service-cli"(exports2){var colors=require_safe(),portfinder=require_portfinder(),{resolve}=require("path"),nodemon=require("nodemon"),{existsSync}=require_lib(),argv=require_minimist()(process.argv.slice(2)),{logger}=require_utils3(),{getPackageVersion}=require_packageInfo(),spawn=require("child_process").spawn,node=process.execPath;process.title="mock-service-cli";(argv.h||argv.help)&&(console.log(["usage: mock-service-cli [options]","","PS: Mock File\u4EC5\u652F\u6301commonjs\u89C4\u8303\u7684js\u3001cjs\u6587\u4EF6\uFF0C\u4E0D\u652F\u6301ES Module","options:"," -p --port Mock server port to use. If 0, look for open port. [8090]"," -d Specify mock directory, default [./mock] directory,"," Also watch js files changes and support hot reload"," -f --file Specify the input data source, support javascript "," The priority is over the directory watches"," -s --silent Suppress log messages from output"," -S --socket-server Whether start socket server or not, default false."," -a --api-stat Whether print api url and file path or not, default false."," -t --track Whether record operation info by write file, default false."," -o --cors-origin Allow origin by cors, list separated by commas, must not be * when withCredential is true",' .If specified, cors-headers will be "Authorization,Content-Type,Accept,Origin,User-Agent,DNT',' ,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token,Token", default *.'," -H --cors-headers When start Mock Server, optionally provide CORS headers list separated by commas. default *"," -A --append-headers When start Mock/Web/Static Server, optionally add response headers list separated by commas."," For example: X-Frame-options=DENY,content-security-policy=frame-ancestors",""," -O --proxy-options Optionally provide proxy options list separated by commas."," -r --rewrite rewrite http or https request url prefix of proxy, default false.",""," -D --web-dir Enable web server, specify web directory, default [./dist] directory"," -P --web-port Web server port to use. If 0, look for open port. [9090]"," -b --web-baseurl Specify website public path when enabled web server.",""," -R --static-server Specify static resource file directory when enabled static server.",""," -h --help Print this list and exit."," -v --version Print the version and exit."," -w --open Open API overview page automatically, default false."," -e --explorer Enable file explorer server, specify directory to browse, default [./]."].join(`
16
- `)),process.exit());process.env.ARGV=JSON.stringify(argv);var port=argv.p||argv.port,watchDir=argv.d,specifiedFile=argv.f||argv.file,version=argv.v||argv.version,isStartSocketServer=argv.S||!1,rewrite=argv.r||argv.rewrite||!1,isOpenApiOverview=argv.w||argv.open||!1,explorerDir=argv.e||argv.explorer,log=null;!argv.s&&!argv.silent?log=logger(!1):colors&&(process.env.SILENT=!0,log=logger(!0));var injectEnvVariable=(envName,envArgs)=>{envArgs&&(process.env[envName]=envArgs)};isStartSocketServer&&(process.env.SOCKET_SERVER=!0);isOpenApiOverview&&(process.env.OPEN_API_OVERVIEW=!0);version&&(log.info("v"+getPackageVersion()),process.exit());injectEnvVariable("PREFIX_REWRITE",rewrite);injectEnvVariable("CORS_ORIGIN",argv.o||argv["cors-origin"]);injectEnvVariable("CORS_HEADERS",argv.H||argv["cors-headers"]);injectEnvVariable("WEB_PUBLIC_PATH",argv.b||argv["web-baseurl"]);injectEnvVariable("STATIC_DIRECTORY",argv.R||argv["static-server"]);injectEnvVariable("EXPLORER_DIRECTORY",explorerDir);var proxyArg=argv.O||argv["proxy-options"];if(proxyArg){let proxyTable={};if(proxyArg.endsWith(".js")||proxyArg.endsWith(".json")){let proxyOptFile=resolve(process.cwd(),proxyArg);existsSync(proxyOptFile)||(console.error(`proxy-options: \u6587\u4EF6 ${proxyOptFile} \u4E0D\u5B58\u5728`),process.exit());let proxyObj=require(proxyOptFile);Object.keys(proxyObj).forEach(function(h){proxyTable[h]=proxyObj[h]},exports2)}else try{proxyArg.split(/\s*,\s*/).forEach(function(h){let[origin,target]=h.split("|");proxyTable[origin]=target},exports2)}catch(error){throw console.warn(colors.yellow(`
17
- Parse web proxy options Failed:`,error)),error}process.env.PROXY_OPTIONS=JSON.stringify(proxyTable)}argv.D||argv["web-dir"]?(process.env.WEB_ROOT=resolve(process.cwd(),argv.D||argv["web-dir"]),existsSync(process.env.WEB_ROOT)||(console.error(`web-dir: \u76EE\u5F55 ${process.env.WEB_ROOT} \u4E0D\u5B58\u5728`),process.exit()),portfinder.basePort=argv.P||argv["web-port"]||9090,portfinder.getPort(function(err,webPort){if(err)throw err;process.env.WEB_PORT=webPort,portfinder.basePort=port||8090,portfinder.getPort(function(err2,port2){if(err2)throw err2;process.env.PORT=port2,initServe()})})):(portfinder.basePort=port||8090,portfinder.getPort(function(err,port2){if(err)throw err;process.env.PORT=port2,initServe()}));function watchMockFiles(watchDir2){nodemon({script:resolve(__dirname,"./mockServer.js"),watch:[watchDir2],ext:"cjs,js,json"}),nodemon.on("start",function(){}).on("quit",function(){process.exit()}).on("restart",function(files){process.env.RESTARTED=!0,log.info([colors.green(`
16
+ `)),process.exit());process.env.ARGV=JSON.stringify(argv);var port=argv.p||argv.port,watchDir=argv.d,specifiedFile=argv.f||argv.file,version=argv.v||argv.version,isStartSocketServer=argv.S||!1,rewrite=argv.r||argv.rewrite||!1,isOpenApiOverview=argv.w||argv.open||!1,explorerDir=argv.e||argv.explorer,log=null;!argv.s&&!argv.silent?log=logger(!1):colors&&(process.env.SILENT=!0,log=logger(!0));var injectEnvVariable=(envName,envArgs)=>{envArgs&&(process.env[envName]=envArgs)};function resolveServerEntry(fileName){let builtEntry=resolve(__dirname,`./${fileName}.js`);if(existsSync(builtEntry))return builtEntry;let sourceEntry=resolve(__dirname,`../lib/${fileName}.js`);return existsSync(sourceEntry)?sourceEntry:builtEntry}isStartSocketServer&&(process.env.SOCKET_SERVER=!0);isOpenApiOverview&&(process.env.OPEN_API_OVERVIEW=!0);version&&(log.info("v"+getPackageVersion()),process.exit());injectEnvVariable("PREFIX_REWRITE",rewrite);injectEnvVariable("CORS_ORIGIN",argv.o||argv["cors-origin"]);injectEnvVariable("CORS_HEADERS",argv.H||argv["cors-headers"]);injectEnvVariable("WEB_PUBLIC_PATH",argv.b||argv["web-baseurl"]);injectEnvVariable("STATIC_DIRECTORY",argv.R||argv["static-server"]);injectEnvVariable("EXPLORER_DIRECTORY",explorerDir);var proxyArg=argv.O||argv["proxy-options"];if(proxyArg){let proxyTable={};if(proxyArg.endsWith(".js")||proxyArg.endsWith(".json")){let proxyOptFile=resolve(process.cwd(),proxyArg);existsSync(proxyOptFile)||(console.error(`proxy-options: \u6587\u4EF6 ${proxyOptFile} \u4E0D\u5B58\u5728`),process.exit());let proxyObj=require(proxyOptFile);Object.keys(proxyObj).forEach(function(h){proxyTable[h]=proxyObj[h]},exports2)}else try{proxyArg.split(/\s*,\s*/).forEach(function(h){let[origin,target]=h.split("|");proxyTable[origin]=target},exports2)}catch(error){throw console.warn(colors.yellow(`
17
+ Parse web proxy options Failed:`,error)),error}process.env.PROXY_OPTIONS=JSON.stringify(proxyTable)}argv.D||argv["web-dir"]?(process.env.WEB_ROOT=resolve(process.cwd(),argv.D||argv["web-dir"]),existsSync(process.env.WEB_ROOT)||(console.error(`web-dir: \u76EE\u5F55 ${process.env.WEB_ROOT} \u4E0D\u5B58\u5728`),process.exit()),portfinder.basePort=argv.P||argv["web-port"]||9090,portfinder.getPort(function(err,webPort){if(err)throw err;process.env.WEB_PORT=webPort,portfinder.basePort=port||8090,portfinder.getPort(function(err2,port2){if(err2)throw err2;process.env.PORT=port2,initServe()})})):(portfinder.basePort=port||8090,portfinder.getPort(function(err,port2){if(err)throw err;process.env.PORT=port2,initServe()}));function watchMockFiles(watchDir2){nodemon({script:resolveServerEntry("mockServer"),watch:[watchDir2],ext:"cjs,js,json"}),nodemon.on("start",function(){}).on("quit",function(){process.exit()}).on("restart",function(files){process.env.RESTARTED=!0,log.info([colors.green(`
18
18
  nodemon: mockServer restarted due to: `),files,colors.green(" have changed"),`
19
- `].join(""))})}function startMockServer(){spawn(node,[resolve(__dirname,"./mockServer.js")],{stdio:"inherit"})}function startStaticServer(){spawn(node,[resolve(__dirname,"./staticServer.js")],{stdio:"inherit"})}function startFileExplorerServer(){spawn(node,[resolve(__dirname,"./fileExplorerServer.js")],{stdio:"inherit"})}function initServe(){explorerDir?(process.env.EXPLORER_DIRECTORY=resolve(process.cwd(),explorerDir),existsSync(process.env.EXPLORER_DIRECTORY)||(console.error(`explorer: \u76EE\u5F55 ${process.env.EXPLORER_DIRECTORY} \u4E0D\u5B58\u5728`),process.exit()),startFileExplorerServer()):specifiedFile?(process.env.SPECIFIED_FILE=resolve(process.cwd(),specifiedFile),isStartSocketServer?startMockServer():watchMockFiles(process.env.SPECIFIED_FILE)):watchDir?(process.env.SPECIFIED_DIR=resolve(process.cwd(),watchDir),isStartSocketServer?startMockServer():watchMockFiles(process.env.SPECIFIED_DIR)):process.env.STATIC_DIRECTORY?(process.env.STATIC_DIRECTORY=resolve(process.cwd(),process.env.STATIC_DIRECTORY),startStaticServer()):(watchDir=process.env.SPECIFIED_DIR=resolve(process.cwd(),"./mock"),isStartSocketServer||(process.env.STATIC_DIRECTORY||process.env.WEB_ROOT)&&!existsSync(resolve(process.cwd(),watchDir))?startMockServer():watchMockFiles(watchDir))}}});var require_depd=__commonJS({"node_modules/depd/index.js"(exports2,module2){var relative=require("path").relative;module2.exports=depd;var basePath=process.cwd();function containsNamespace(str,namespace){for(var vals=str.split(/[ ,]+/),ns=String(namespace).toLowerCase(),i=0;i<vals.length;i++){var val=vals[i];if(val&&(val==="*"||val.toLowerCase()===ns))return!0}return!1}function convertDataDescriptorToAccessor(obj,prop,message){var descriptor=Object.getOwnPropertyDescriptor(obj,prop),value=descriptor.value;return descriptor.get=function(){return value},descriptor.writable&&(descriptor.set=function(val){return value=val}),delete descriptor.value,delete descriptor.writable,Object.defineProperty(obj,prop,descriptor),descriptor}function createArgumentsString(arity){for(var str="",i=0;i<arity;i++)str+=", arg"+i;return str.substr(2)}function createStackString(stack){var str=this.name+": "+this.namespace;this.message&&(str+=" deprecated "+this.message);for(var i=0;i<stack.length;i++)str+=`
19
+ `].join(""))})}function startMockServer(){spawn(node,[resolveServerEntry("mockServer")],{stdio:"inherit"})}function startStaticServer(){spawn(node,[resolveServerEntry("staticServer")],{stdio:"inherit"})}function startFileExplorerServer(){spawn(node,[resolveServerEntry("fileExplorerServer")],{stdio:"inherit"})}function initServe(){explorerDir?(process.env.EXPLORER_DIRECTORY=resolve(process.cwd(),explorerDir),existsSync(process.env.EXPLORER_DIRECTORY)||(console.error(`explorer: \u76EE\u5F55 ${process.env.EXPLORER_DIRECTORY} \u4E0D\u5B58\u5728`),process.exit()),startFileExplorerServer()):specifiedFile?(process.env.SPECIFIED_FILE=resolve(process.cwd(),specifiedFile),isStartSocketServer?startMockServer():watchMockFiles(process.env.SPECIFIED_FILE)):watchDir?(process.env.SPECIFIED_DIR=resolve(process.cwd(),watchDir),isStartSocketServer?startMockServer():watchMockFiles(process.env.SPECIFIED_DIR)):process.env.STATIC_DIRECTORY?(process.env.STATIC_DIRECTORY=resolve(process.cwd(),process.env.STATIC_DIRECTORY),startStaticServer()):(watchDir=process.env.SPECIFIED_DIR=resolve(process.cwd(),"./mock"),isStartSocketServer||(process.env.STATIC_DIRECTORY||process.env.WEB_ROOT)&&!existsSync(resolve(process.cwd(),watchDir))?startMockServer():watchMockFiles(watchDir))}}});var require_depd=__commonJS({"node_modules/depd/index.js"(exports2,module2){var relative=require("path").relative;module2.exports=depd;var basePath=process.cwd();function containsNamespace(str,namespace){for(var vals=str.split(/[ ,]+/),ns=String(namespace).toLowerCase(),i=0;i<vals.length;i++){var val=vals[i];if(val&&(val==="*"||val.toLowerCase()===ns))return!0}return!1}function convertDataDescriptorToAccessor(obj,prop,message){var descriptor=Object.getOwnPropertyDescriptor(obj,prop),value=descriptor.value;return descriptor.get=function(){return value},descriptor.writable&&(descriptor.set=function(val){return value=val}),delete descriptor.value,delete descriptor.writable,Object.defineProperty(obj,prop,descriptor),descriptor}function createArgumentsString(arity){for(var str="",i=0;i<arity;i++)str+=", arg"+i;return str.substr(2)}function createStackString(stack){var str=this.name+": "+this.namespace;this.message&&(str+=" deprecated "+this.message);for(var i=0;i<stack.length;i++)str+=`
20
20
  at `+stack[i].toString();return str}function depd(namespace){if(!namespace)throw new TypeError("argument namespace is required");var stack=getStack(),site=callSiteLocation(stack[1]),file=site[0];function deprecate(message){log.call(deprecate,message)}return deprecate._file=file,deprecate._ignored=isignored(namespace),deprecate._namespace=namespace,deprecate._traced=istraced(namespace),deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate}function eehaslisteners(emitter,type){var count=typeof emitter.listenerCount!="function"?emitter.listeners(type).length:emitter.listenerCount(type);return count>0}function isignored(namespace){if(process.noDeprecation)return!0;var str=process.env.NO_DEPRECATION||"";return containsNamespace(str,namespace)}function istraced(namespace){if(process.traceDeprecation)return!0;var str=process.env.TRACE_DEPRECATION||"";return containsNamespace(str,namespace)}function log(message,site){var haslisteners=eehaslisteners(process,"deprecation");if(!(!haslisteners&&this._ignored)){var caller,callFile,callSite,depSite,i=0,seen=!1,stack=getStack(),file=this._file;for(site?(depSite=site,callSite=callSiteLocation(stack[1]),callSite.name=depSite.name,file=callSite[0]):(i=2,depSite=callSiteLocation(stack[i]),callSite=depSite);i<stack.length;i++)if(caller=callSiteLocation(stack[i]),callFile=caller[0],callFile===file)seen=!0;else if(callFile===this._file)file=this._file;else if(seen)break;var key=caller?depSite.join(":")+"__"+caller.join(":"):void 0;if(!(key!==void 0&&key in this._warned)){this._warned[key]=!0;var msg=message;if(msg||(msg=callSite===depSite||!callSite.name?defaultMessage(depSite):defaultMessage(callSite)),haslisteners){var err=DeprecationError(this._namespace,msg,stack.slice(i));process.emit("deprecation",err);return}var format=process.stderr.isTTY?formatColor:formatPlain,output=format.call(this,msg,caller,stack.slice(i));process.stderr.write(output+`
21
21
  `,"utf8")}}}function callSiteLocation(callSite){var file=callSite.getFileName()||"<anonymous>",line=callSite.getLineNumber(),colm=callSite.getColumnNumber();callSite.isEval()&&(file=callSite.getEvalOrigin()+", "+file);var site=[file,line,colm];return site.callSite=callSite,site.name=callSite.getFunctionName(),site}function defaultMessage(site){var callSite=site.callSite,funcName=site.name;funcName||(funcName="<anonymous@"+formatLocation(site)+">");var context=callSite.getThis(),typeName=context&&callSite.getTypeName();return typeName==="Object"&&(typeName=void 0),typeName==="Function"&&(typeName=context.name||typeName),typeName&&callSite.getMethodName()?typeName+"."+funcName:funcName}function formatPlain(msg,caller,stack){var timestamp=new Date().toUTCString(),formatted=timestamp+" "+this._namespace+" deprecated "+msg;if(this._traced){for(var i=0;i<stack.length;i++)formatted+=`
22
22
  at `+stack[i].toString();return formatted}return caller&&(formatted+=" at "+formatLocation(caller)),formatted}function formatColor(msg,caller,stack){var formatted="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+msg+"\x1B[39m";if(this._traced){for(var i=0;i<stack.length;i++)formatted+=`
@@ -86,7 +86,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
86
86
  `)+`\r
87
87
  \r
88
88
  `};common.setupSocket(socket),head&&head.length&&socket.unshift(head);var proxyReq=(common.isSSL.test(options.target.protocol)?https:http).request(common.setupOutgoing(options.ssl||{},options,req));return server&&server.emit("proxyReqWs",proxyReq,req,socket,options,head),proxyReq.on("error",onOutgoingError),proxyReq.on("response",function(res){res.upgrade||(socket.write(createHttpHeader("HTTP/"+res.httpVersion+" "+res.statusCode+" "+res.statusMessage,res.headers)),res.pipe(socket))}),proxyReq.on("upgrade",function(proxyRes,proxySocket,proxyHead){proxySocket.on("error",onOutgoingError),proxySocket.on("end",function(){server.emit("close",proxyRes,proxySocket,proxyHead)}),socket.on("error",function(){proxySocket.end()}),common.setupSocket(proxySocket),proxyHead&&proxyHead.length&&proxySocket.unshift(proxyHead),socket.write(createHttpHeader("HTTP/1.1 101 Switching Protocols",proxyRes.headers)),proxySocket.pipe(socket).pipe(proxySocket),server.emit("open",proxySocket),server.emit("proxySocket",proxySocket)}),proxyReq.end();function onOutgoingError(err){clb?clb(err,req,socket):server.emit("error",err,req,socket),socket.end()}}}}});var require_http_proxy=__commonJS({"node_modules/http-proxy/lib/http-proxy/index.js"(exports2,module2){var httpProxy=module2.exports,extend=require("util")._extend,parse_url=require("url").parse,EE3=require_eventemitter3(),http=require("http"),https=require("https"),web=require_web_incoming(),ws=require_ws_incoming();httpProxy.Server=ProxyServer;function createRightProxy(type){return function(options){return function(req,res){var passes=type==="ws"?this.wsPasses:this.webPasses,args=[].slice.call(arguments),cntr=args.length-1,head,cbl;typeof args[cntr]=="function"&&(cbl=args[cntr],cntr--);var requestOptions=options;if(!(args[cntr]instanceof Buffer)&&args[cntr]!==res&&(requestOptions=extend({},options),extend(requestOptions,args[cntr]),cntr--),args[cntr]instanceof Buffer&&(head=args[cntr]),["target","forward"].forEach(function(e){typeof requestOptions[e]=="string"&&(requestOptions[e]=parse_url(requestOptions[e]))}),!requestOptions.target&&!requestOptions.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var i=0;i<passes.length&&!passes[i](req,res,requestOptions,head,this,cbl);i++);}}}httpProxy.createRightProxy=createRightProxy;function ProxyServer(options){EE3.call(this),options=options||{},options.prependPath=options.prependPath!==!1,this.web=this.proxyRequest=createRightProxy("web")(options),this.ws=this.proxyWebsocketRequest=createRightProxy("ws")(options),this.options=options,this.webPasses=Object.keys(web).map(function(pass){return web[pass]}),this.wsPasses=Object.keys(ws).map(function(pass){return ws[pass]}),this.on("error",this.onError,this)}require("util").inherits(ProxyServer,EE3);ProxyServer.prototype.onError=function(err){if(this.listeners("error").length===1)throw err};ProxyServer.prototype.listen=function(port,hostname){var self2=this,closure=function(req,res){self2.web(req,res)};return this._server=this.options.ssl?https.createServer(this.options.ssl,closure):http.createServer(closure),this.options.ws&&this._server.on("upgrade",function(req,socket,head){self2.ws(req,socket,head)}),this._server.listen(port,hostname),this};ProxyServer.prototype.close=function(callback){var self2=this;this._server&&this._server.close(done);function done(){self2._server=null,callback&&callback.apply(null,arguments)}};ProxyServer.prototype.before=function(type,passName,callback){if(type!=="ws"&&type!=="web")throw new Error("type must be `web` or `ws`");var passes=type==="ws"?this.wsPasses:this.webPasses,i=!1;if(passes.forEach(function(v,idx){v.name===passName&&(i=idx)}),i===!1)throw new Error("No such pass");passes.splice(i,0,callback)};ProxyServer.prototype.after=function(type,passName,callback){if(type!=="ws"&&type!=="web")throw new Error("type must be `web` or `ws`");var passes=type==="ws"?this.wsPasses:this.webPasses,i=!1;if(passes.forEach(function(v,idx){v.name===passName&&(i=idx)}),i===!1)throw new Error("No such pass");passes.splice(i++,0,callback)}}});var require_http_proxy2=__commonJS({"node_modules/http-proxy/lib/http-proxy.js"(exports2,module2){var ProxyServer=require_http_proxy().Server;function createProxyServer(options){return new ProxyServer(options)}ProxyServer.createProxyServer=createProxyServer;ProxyServer.createServer=createProxyServer;ProxyServer.createProxy=createProxyServer;module2.exports=ProxyServer}});var require_http_proxy3=__commonJS({"node_modules/http-proxy/index.js"(exports2,module2){module2.exports=require_http_proxy2()}});var require_is_plain_obj=__commonJS({"node_modules/http-proxy-middleware/node_modules/is-plain-obj/index.js"(exports2,module2){"use strict";module2.exports=value=>{if(Object.prototype.toString.call(value)!=="[object Object]")return!1;let prototype=Object.getPrototypeOf(value);return prototype===null||prototype===Object.prototype}}});var require_errors=__commonJS({"node_modules/http-proxy-middleware/dist/errors.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ERRORS=void 0;var ERRORS;(function(ERRORS2){ERRORS2.ERR_CONFIG_FACTORY_TARGET_MISSING='[HPM] Missing "target" option. Example: {target: "http://www.example.org"}',ERRORS2.ERR_CONTEXT_MATCHER_GENERIC='[HPM] Invalid context. Expecting something like: "/api" or ["/api", "/ajax"]',ERRORS2.ERR_CONTEXT_MATCHER_INVALID_ARRAY='[HPM] Invalid context. Expecting something like: ["/api", "/ajax"] or ["/api/**", "!**.html"]',ERRORS2.ERR_PATH_REWRITER_CONFIG="[HPM] Invalid pathRewrite config. Expecting object with pathRewrite config or a rewrite function"})(ERRORS=exports2.ERRORS||(exports2.ERRORS={}))}});var require_logger=__commonJS({"node_modules/http-proxy-middleware/dist/logger.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.getArrow=exports2.getInstance=void 0;var util=require("util"),loggerInstance,defaultProvider={log:console.log,debug:console.log,info:console.info,warn:console.warn,error:console.error},LEVELS;(function(LEVELS2){LEVELS2[LEVELS2.debug=10]="debug",LEVELS2[LEVELS2.info=20]="info",LEVELS2[LEVELS2.warn=30]="warn",LEVELS2[LEVELS2.error=50]="error",LEVELS2[LEVELS2.silent=80]="silent"})(LEVELS||(LEVELS={}));function getInstance(){return loggerInstance||(loggerInstance=new Logger),loggerInstance}exports2.getInstance=getInstance;var Logger=class{constructor(){this.setLevel("info"),this.setProvider(()=>defaultProvider)}log(){this.provider.log(this._interpolate.apply(null,arguments))}debug(){this._showLevel("debug")&&this.provider.debug(this._interpolate.apply(null,arguments))}info(){this._showLevel("info")&&this.provider.info(this._interpolate.apply(null,arguments))}warn(){this._showLevel("warn")&&this.provider.warn(this._interpolate.apply(null,arguments))}error(){this._showLevel("error")&&this.provider.error(this._interpolate.apply(null,arguments))}setLevel(v){this.isValidLevel(v)&&(this.logLevel=v)}setProvider(fn){fn&&this.isValidProvider(fn)&&(this.provider=fn(defaultProvider))}isValidProvider(fnProvider){if(fnProvider&&typeof fnProvider!="function")throw new Error("[HPM] Log provider config error. Expecting a function.");return!0}isValidLevel(levelName){let isValid=Object.keys(LEVELS).includes(levelName);if(!isValid)throw new Error("[HPM] Log level error. Invalid logLevel.");return isValid}_showLevel(showLevel){let result=!1,currentLogLevel=LEVELS[this.logLevel];return currentLogLevel&&currentLogLevel<=LEVELS[showLevel]&&(result=!0),result}_interpolate(format,...args){return util.format(format,...args)}};function getArrow(originalPath,newPath,originalTarget,newTarget){let arrow=[">"],isNewTarget=originalTarget!==newTarget,isNewPath=originalPath!==newPath;return isNewPath&&!isNewTarget?arrow.unshift("~"):!isNewPath&&isNewTarget?arrow.unshift("="):isNewPath&&isNewTarget?arrow.unshift("\u2248"):arrow.unshift("-"),arrow.join("")}exports2.getArrow=getArrow}});var require_config_factory=__commonJS({"node_modules/http-proxy-middleware/dist/config-factory.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createConfig=void 0;var isPlainObj=require_is_plain_obj(),url=require("url"),errors_1=require_errors(),logger_1=require_logger(),logger=(0,logger_1.getInstance)();function createConfig(context,opts){let config={context:void 0,options:{}};if(isContextless(context,opts))config.context="/",config.options=Object.assign(config.options,context);else if(isStringShortHand(context)){let oUrl=url.parse(context),target=[oUrl.protocol,"//",oUrl.host].join("");config.context=oUrl.pathname||"/",config.options=Object.assign(config.options,{target},opts),(oUrl.protocol==="ws:"||oUrl.protocol==="wss:")&&(config.options.ws=!0)}else config.context=context,config.options=Object.assign(config.options,opts);if(configureLogger(config.options),!config.options.target&&!config.options.router)throw new Error(errors_1.ERRORS.ERR_CONFIG_FACTORY_TARGET_MISSING);return config}exports2.createConfig=createConfig;function isStringShortHand(context){if(typeof context=="string")return!!url.parse(context).host}function isContextless(context,opts){return isPlainObj(context)&&(opts==null||Object.keys(opts).length===0)}function configureLogger(options){options.logLevel&&logger.setLevel(options.logLevel),options.logProvider&&logger.setProvider(options.logProvider)}}});var require_is_extglob=__commonJS({"node_modules/is-extglob/index.js"(exports2,module2){module2.exports=function(str){if(typeof str!="string"||str==="")return!1;for(var match;match=/(\\).|([@?!+*]\(.*\))/g.exec(str);){if(match[2])return!0;str=str.slice(match.index+match[0].length)}return!1}}});var require_is_glob=__commonJS({"node_modules/is-glob/index.js"(exports2,module2){var isExtglob=require_is_extglob(),chars={"{":"}","(":")","[":"]"},strictCheck=function(str){if(str[0]==="!")return!0;for(var index=0,pipeIndex=-2,closeSquareIndex=-2,closeCurlyIndex=-2,closeParenIndex=-2,backSlashIndex=-2;index<str.length;){if(str[index]==="*"||str[index+1]==="?"&&/[\].+)]/.test(str[index])||closeSquareIndex!==-1&&str[index]==="["&&str[index+1]!=="]"&&(closeSquareIndex<index&&(closeSquareIndex=str.indexOf("]",index)),closeSquareIndex>index&&(backSlashIndex===-1||backSlashIndex>closeSquareIndex||(backSlashIndex=str.indexOf("\\",index),backSlashIndex===-1||backSlashIndex>closeSquareIndex)))||closeCurlyIndex!==-1&&str[index]==="{"&&str[index+1]!=="}"&&(closeCurlyIndex=str.indexOf("}",index),closeCurlyIndex>index&&(backSlashIndex=str.indexOf("\\",index),backSlashIndex===-1||backSlashIndex>closeCurlyIndex))||closeParenIndex!==-1&&str[index]==="("&&str[index+1]==="?"&&/[:!=]/.test(str[index+2])&&str[index+3]!==")"&&(closeParenIndex=str.indexOf(")",index),closeParenIndex>index&&(backSlashIndex=str.indexOf("\\",index),backSlashIndex===-1||backSlashIndex>closeParenIndex))||pipeIndex!==-1&&str[index]==="("&&str[index+1]!=="|"&&(pipeIndex<index&&(pipeIndex=str.indexOf("|",index)),pipeIndex!==-1&&str[pipeIndex+1]!==")"&&(closeParenIndex=str.indexOf(")",pipeIndex),closeParenIndex>pipeIndex&&(backSlashIndex=str.indexOf("\\",pipeIndex),backSlashIndex===-1||backSlashIndex>closeParenIndex))))return!0;if(str[index]==="\\"){var open=str[index+1];index+=2;var close=chars[open];if(close){var n=str.indexOf(close,index);n!==-1&&(index=n+1)}if(str[index]==="!")return!0}else index++}return!1},relaxedCheck=function(str){if(str[0]==="!")return!0;for(var index=0;index<str.length;){if(/[*?{}()[\]]/.test(str[index]))return!0;if(str[index]==="\\"){var open=str[index+1];index+=2;var close=chars[open];if(close){var n=str.indexOf(close,index);n!==-1&&(index=n+1)}if(str[index]==="!")return!0}else index++}return!1};module2.exports=function(str,options){if(typeof str!="string"||str==="")return!1;if(isExtglob(str))return!0;var check=strictCheck;return options&&options.strict===!1&&(check=relaxedCheck),check(str)}}});var require_utils6=__commonJS({"node_modules/braces/lib/utils.js"(exports2){"use strict";exports2.isInteger=num=>typeof num=="number"?Number.isInteger(num):typeof num=="string"&&num.trim()!==""?Number.isInteger(Number(num)):!1;exports2.find=(node,type)=>node.nodes.find(node2=>node2.type===type);exports2.exceedsLimit=(min,max,step=1,limit)=>limit===!1||!exports2.isInteger(min)||!exports2.isInteger(max)?!1:(Number(max)-Number(min))/Number(step)>=limit;exports2.escapeNode=(block,n=0,type)=>{let node=block.nodes[n];node&&(type&&node.type===type||node.type==="open"||node.type==="close")&&node.escaped!==!0&&(node.value="\\"+node.value,node.escaped=!0)};exports2.encloseBrace=node=>node.type!=="brace"?!1:node.commas>>0+node.ranges>>0===0?(node.invalid=!0,!0):!1;exports2.isInvalidBrace=block=>block.type!=="brace"?!1:block.invalid===!0||block.dollar?!0:block.commas>>0+block.ranges>>0===0||block.open!==!0||block.close!==!0?(block.invalid=!0,!0):!1;exports2.isOpenOrClose=node=>node.type==="open"||node.type==="close"?!0:node.open===!0||node.close===!0;exports2.reduce=nodes=>nodes.reduce((acc,node)=>(node.type==="text"&&acc.push(node.value),node.type==="range"&&(node.type="text"),acc),[]);exports2.flatten=(...args)=>{let result=[],flat=arr=>{for(let i=0;i<arr.length;i++){let ele=arr[i];if(Array.isArray(ele)){flat(ele);continue}ele!==void 0&&result.push(ele)}return result};return flat(args),result}}});var require_stringify2=__commonJS({"node_modules/braces/lib/stringify.js"(exports2,module2){"use strict";var utils=require_utils6();module2.exports=(ast,options={})=>{let stringify=(node,parent={})=>{let invalidBlock=options.escapeInvalid&&utils.isInvalidBrace(parent),invalidNode=node.invalid===!0&&options.escapeInvalid===!0,output="";if(node.value)return(invalidBlock||invalidNode)&&utils.isOpenOrClose(node)?"\\"+node.value:node.value;if(node.value)return node.value;if(node.nodes)for(let child of node.nodes)output+=stringify(child);return output};return stringify(ast)}}});var require_is_number=__commonJS({"node_modules/is-number/index.js"(exports2,module2){"use strict";module2.exports=function(num){return typeof num=="number"?num-num===0:typeof num=="string"&&num.trim()!==""?Number.isFinite?Number.isFinite(+num):isFinite(+num):!1}}});var require_to_regex_range=__commonJS({"node_modules/to-regex-range/index.js"(exports2,module2){"use strict";var isNumber=require_is_number(),toRegexRange=(min,max,options)=>{if(isNumber(min)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(max===void 0||min===max)return String(min);if(isNumber(max)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let opts={relaxZeros:!0,...options};typeof opts.strictZeros=="boolean"&&(opts.relaxZeros=opts.strictZeros===!1);let relax=String(opts.relaxZeros),shorthand=String(opts.shorthand),capture=String(opts.capture),wrap=String(opts.wrap),cacheKey=min+":"+max+"="+relax+shorthand+capture+wrap;if(toRegexRange.cache.hasOwnProperty(cacheKey))return toRegexRange.cache[cacheKey].result;let a=Math.min(min,max),b=Math.max(min,max);if(Math.abs(a-b)===1){let result=min+"|"+max;return opts.capture?`(${result})`:opts.wrap===!1?result:`(?:${result})`}let isPadded=hasPadding(min)||hasPadding(max),state={min,max,a,b},positives=[],negatives=[];if(isPadded&&(state.isPadded=isPadded,state.maxLen=String(state.max).length),a<0){let newMin=b<0?Math.abs(b):1;negatives=splitToPatterns(newMin,Math.abs(a),state,opts),a=state.a=0}return b>=0&&(positives=splitToPatterns(a,b,state,opts)),state.negatives=negatives,state.positives=positives,state.result=collatePatterns(negatives,positives,opts),opts.capture===!0?state.result=`(${state.result})`:opts.wrap!==!1&&positives.length+negatives.length>1&&(state.result=`(?:${state.result})`),toRegexRange.cache[cacheKey]=state,state.result};function collatePatterns(neg,pos,options){let onlyNegative=filterPatterns(neg,pos,"-",!1,options)||[],onlyPositive=filterPatterns(pos,neg,"",!1,options)||[],intersected=filterPatterns(neg,pos,"-?",!0,options)||[];return onlyNegative.concat(intersected).concat(onlyPositive).join("|")}function splitToRanges(min,max){let nines=1,zeros=1,stop=countNines(min,nines),stops=new Set([max]);for(;min<=stop&&stop<=max;)stops.add(stop),nines+=1,stop=countNines(min,nines);for(stop=countZeros(max+1,zeros)-1;min<stop&&stop<=max;)stops.add(stop),zeros+=1,stop=countZeros(max+1,zeros)-1;return stops=[...stops],stops.sort(compare),stops}function rangeToPattern(start,stop,options){if(start===stop)return{pattern:start,count:[],digits:0};let zipped=zip(start,stop),digits=zipped.length,pattern="",count=0;for(let i=0;i<digits;i++){let[startDigit,stopDigit]=zipped[i];startDigit===stopDigit?pattern+=startDigit:startDigit!=="0"||stopDigit!=="9"?pattern+=toCharacterClass(startDigit,stopDigit,options):count++}return count&&(pattern+=options.shorthand===!0?"\\d":"[0-9]"),{pattern,count:[count],digits}}function splitToPatterns(min,max,tok,options){let ranges=splitToRanges(min,max),tokens=[],start=min,prev;for(let i=0;i<ranges.length;i++){let max2=ranges[i],obj=rangeToPattern(String(start),String(max2),options),zeros="";if(!tok.isPadded&&prev&&prev.pattern===obj.pattern){prev.count.length>1&&prev.count.pop(),prev.count.push(obj.count[0]),prev.string=prev.pattern+toQuantifier(prev.count),start=max2+1;continue}tok.isPadded&&(zeros=padZeros(max2,tok,options)),obj.string=zeros+obj.pattern+toQuantifier(obj.count),tokens.push(obj),start=max2+1,prev=obj}return tokens}function filterPatterns(arr,comparison,prefix,intersection,options){let result=[];for(let ele of arr){let{string}=ele;!intersection&&!contains(comparison,"string",string)&&result.push(prefix+string),intersection&&contains(comparison,"string",string)&&result.push(prefix+string)}return result}function zip(a,b){let arr=[];for(let i=0;i<a.length;i++)arr.push([a[i],b[i]]);return arr}function compare(a,b){return a>b?1:b>a?-1:0}function contains(arr,key,val){return arr.some(ele=>ele[key]===val)}function countNines(min,len){return Number(String(min).slice(0,-len)+"9".repeat(len))}function countZeros(integer,zeros){return integer-integer%Math.pow(10,zeros)}function toQuantifier(digits){let[start=0,stop=""]=digits;return stop||start>1?`{${start+(stop?","+stop:"")}}`:""}function toCharacterClass(a,b,options){return`[${a}${b-a===1?"":"-"}${b}]`}function hasPadding(str){return/^-?(0+)\d/.test(str)}function padZeros(value,tok,options){if(!tok.isPadded)return value;let diff=Math.abs(tok.maxLen-String(value).length),relax=options.relaxZeros!==!1;switch(diff){case 0:return"";case 1:return relax?"0?":"0";case 2:return relax?"0{0,2}":"00";default:return relax?`0{0,${diff}}`:`0{${diff}}`}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};module2.exports=toRegexRange}});var require_fill_range=__commonJS({"node_modules/fill-range/index.js"(exports2,module2){"use strict";var util=require("util"),toRegexRange=require_to_regex_range(),isObject=val=>val!==null&&typeof val=="object"&&!Array.isArray(val),transform=toNumber=>value=>toNumber===!0?Number(value):String(value),isValidValue=value=>typeof value=="number"||typeof value=="string"&&value!=="",isNumber=num=>Number.isInteger(+num),zeros=input=>{let value=`${input}`,index=-1;if(value[0]==="-"&&(value=value.slice(1)),value==="0")return!1;for(;value[++index]==="0";);return index>0},stringify=(start,end,options)=>typeof start=="string"||typeof end=="string"?!0:options.stringify===!0,pad=(input,maxLength,toNumber)=>{if(maxLength>0){let dash=input[0]==="-"?"-":"";dash&&(input=input.slice(1)),input=dash+input.padStart(dash?maxLength-1:maxLength,"0")}return toNumber===!1?String(input):input},toMaxLen=(input,maxLength)=>{let negative=input[0]==="-"?"-":"";for(negative&&(input=input.slice(1),maxLength--);input.length<maxLength;)input="0"+input;return negative?"-"+input:input},toSequence=(parts,options,maxLen)=>{parts.negatives.sort((a,b)=>a<b?-1:a>b?1:0),parts.positives.sort((a,b)=>a<b?-1:a>b?1:0);let prefix=options.capture?"":"?:",positives="",negatives="",result;return parts.positives.length&&(positives=parts.positives.map(v=>toMaxLen(String(v),maxLen)).join("|")),parts.negatives.length&&(negatives=`-(${prefix}${parts.negatives.map(v=>toMaxLen(String(v),maxLen)).join("|")})`),positives&&negatives?result=`${positives}|${negatives}`:result=positives||negatives,options.wrap?`(${prefix}${result})`:result},toRange=(a,b,isNumbers,options)=>{if(isNumbers)return toRegexRange(a,b,{wrap:!1,...options});let start=String.fromCharCode(a);if(a===b)return start;let stop=String.fromCharCode(b);return`[${start}-${stop}]`},toRegex=(start,end,options)=>{if(Array.isArray(start)){let wrap=options.wrap===!0,prefix=options.capture?"":"?:";return wrap?`(${prefix}${start.join("|")})`:start.join("|")}return toRegexRange(start,end,options)},rangeError=(...args)=>new RangeError("Invalid range arguments: "+util.inspect(...args)),invalidRange=(start,end,options)=>{if(options.strictRanges===!0)throw rangeError([start,end]);return[]},invalidStep=(step,options)=>{if(options.strictRanges===!0)throw new TypeError(`Expected step "${step}" to be a number`);return[]},fillNumbers=(start,end,step=1,options={})=>{let a=Number(start),b=Number(end);if(!Number.isInteger(a)||!Number.isInteger(b)){if(options.strictRanges===!0)throw rangeError([start,end]);return[]}a===0&&(a=0),b===0&&(b=0);let descending=a>b,startString=String(start),endString=String(end),stepString=String(step);step=Math.max(Math.abs(step),1);let padded=zeros(startString)||zeros(endString)||zeros(stepString),maxLen=padded?Math.max(startString.length,endString.length,stepString.length):0,toNumber=padded===!1&&stringify(start,end,options)===!1,format=options.transform||transform(toNumber);if(options.toRegex&&step===1)return toRange(toMaxLen(start,maxLen),toMaxLen(end,maxLen),!0,options);let parts={negatives:[],positives:[]},push=num=>parts[num<0?"negatives":"positives"].push(Math.abs(num)),range=[],index=0;for(;descending?a>=b:a<=b;)options.toRegex===!0&&step>1?push(a):range.push(pad(format(a,index),maxLen,toNumber)),a=descending?a-step:a+step,index++;return options.toRegex===!0?step>1?toSequence(parts,options,maxLen):toRegex(range,null,{wrap:!1,...options}):range},fillLetters=(start,end,step=1,options={})=>{if(!isNumber(start)&&start.length>1||!isNumber(end)&&end.length>1)return invalidRange(start,end,options);let format=options.transform||(val=>String.fromCharCode(val)),a=`${start}`.charCodeAt(0),b=`${end}`.charCodeAt(0),descending=a>b,min=Math.min(a,b),max=Math.max(a,b);if(options.toRegex&&step===1)return toRange(min,max,!1,options);let range=[],index=0;for(;descending?a>=b:a<=b;)range.push(format(a,index)),a=descending?a-step:a+step,index++;return options.toRegex===!0?toRegex(range,null,{wrap:!1,options}):range},fill=(start,end,step,options={})=>{if(end==null&&isValidValue(start))return[start];if(!isValidValue(start)||!isValidValue(end))return invalidRange(start,end,options);if(typeof step=="function")return fill(start,end,1,{transform:step});if(isObject(step))return fill(start,end,0,step);let opts={...options};return opts.capture===!0&&(opts.wrap=!0),step=step||opts.step||1,isNumber(step)?isNumber(start)&&isNumber(end)?fillNumbers(start,end,step,opts):fillLetters(start,end,Math.max(Math.abs(step),1),opts):step!=null&&!isObject(step)?invalidStep(step,opts):fill(start,end,1,step)};module2.exports=fill}});var require_compile=__commonJS({"node_modules/braces/lib/compile.js"(exports2,module2){"use strict";var fill=require_fill_range(),utils=require_utils6(),compile=(ast,options={})=>{let walk=(node,parent={})=>{let invalidBlock=utils.isInvalidBrace(parent),invalidNode=node.invalid===!0&&options.escapeInvalid===!0,invalid=invalidBlock===!0||invalidNode===!0,prefix=options.escapeInvalid===!0?"\\":"",output="";if(node.isOpen===!0)return prefix+node.value;if(node.isClose===!0)return console.log("node.isClose",prefix,node.value),prefix+node.value;if(node.type==="open")return invalid?prefix+node.value:"(";if(node.type==="close")return invalid?prefix+node.value:")";if(node.type==="comma")return node.prev.type==="comma"?"":invalid?node.value:"|";if(node.value)return node.value;if(node.nodes&&node.ranges>0){let args=utils.reduce(node.nodes),range=fill(...args,{...options,wrap:!1,toRegex:!0,strictZeros:!0});if(range.length!==0)return args.length>1&&range.length>1?`(${range})`:range}if(node.nodes)for(let child of node.nodes)output+=walk(child,node);return output};return walk(ast)};module2.exports=compile}});var require_expand=__commonJS({"node_modules/braces/lib/expand.js"(exports2,module2){"use strict";var fill=require_fill_range(),stringify=require_stringify2(),utils=require_utils6(),append=(queue="",stash="",enclose=!1)=>{let result=[];if(queue=[].concat(queue),stash=[].concat(stash),!stash.length)return queue;if(!queue.length)return enclose?utils.flatten(stash).map(ele=>`{${ele}}`):stash;for(let item of queue)if(Array.isArray(item))for(let value of item)result.push(append(value,stash,enclose));else for(let ele of stash)enclose===!0&&typeof ele=="string"&&(ele=`{${ele}}`),result.push(Array.isArray(ele)?append(item,ele,enclose):item+ele);return utils.flatten(result)},expand=(ast,options={})=>{let rangeLimit=options.rangeLimit===void 0?1e3:options.rangeLimit,walk=(node,parent={})=>{node.queue=[];let p=parent,q=parent.queue;for(;p.type!=="brace"&&p.type!=="root"&&p.parent;)p=p.parent,q=p.queue;if(node.invalid||node.dollar){q.push(append(q.pop(),stringify(node,options)));return}if(node.type==="brace"&&node.invalid!==!0&&node.nodes.length===2){q.push(append(q.pop(),["{}"]));return}if(node.nodes&&node.ranges>0){let args=utils.reduce(node.nodes);if(utils.exceedsLimit(...args,options.step,rangeLimit))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let range=fill(...args,options);range.length===0&&(range=stringify(node,options)),q.push(append(q.pop(),range)),node.nodes=[];return}let enclose=utils.encloseBrace(node),queue=node.queue,block=node;for(;block.type!=="brace"&&block.type!=="root"&&block.parent;)block=block.parent,queue=block.queue;for(let i=0;i<node.nodes.length;i++){let child=node.nodes[i];if(child.type==="comma"&&node.type==="brace"){i===1&&queue.push(""),queue.push("");continue}if(child.type==="close"){q.push(append(q.pop(),queue,enclose));continue}if(child.value&&child.type!=="open"){queue.push(append(queue.pop(),child.value));continue}child.nodes&&walk(child,node)}return queue};return utils.flatten(walk(ast))};module2.exports=expand}});var require_constants=__commonJS({"node_modules/braces/lib/constants.js"(exports2,module2){"use strict";module2.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
89
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}}});var require_parse2=__commonJS({"node_modules/braces/lib/parse.js"(exports2,module2){"use strict";var stringify=require_stringify2(),{MAX_LENGTH,CHAR_BACKSLASH,CHAR_BACKTICK,CHAR_COMMA,CHAR_DOT,CHAR_LEFT_PARENTHESES,CHAR_RIGHT_PARENTHESES,CHAR_LEFT_CURLY_BRACE,CHAR_RIGHT_CURLY_BRACE,CHAR_LEFT_SQUARE_BRACKET,CHAR_RIGHT_SQUARE_BRACKET,CHAR_DOUBLE_QUOTE,CHAR_SINGLE_QUOTE,CHAR_NO_BREAK_SPACE,CHAR_ZERO_WIDTH_NOBREAK_SPACE}=require_constants(),parse=(input,options={})=>{if(typeof input!="string")throw new TypeError("Expected a string");let opts=options||{},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH;if(input.length>max)throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);let ast={type:"root",input,nodes:[]},stack=[ast],block=ast,prev=ast,brackets=0,length=input.length,index=0,depth=0,value,advance=()=>input[index++],push=node=>{if(node.type==="text"&&prev.type==="dot"&&(prev.type="text"),prev&&prev.type==="text"&&node.type==="text"){prev.value+=node.value;return}return block.nodes.push(node),node.parent=block,node.prev=prev,prev=node,node};for(push({type:"bos"});index<length;)if(block=stack[stack.length-1],value=advance(),!(value===CHAR_ZERO_WIDTH_NOBREAK_SPACE||value===CHAR_NO_BREAK_SPACE)){if(value===CHAR_BACKSLASH){push({type:"text",value:(options.keepEscaping?value:"")+advance()});continue}if(value===CHAR_RIGHT_SQUARE_BRACKET){push({type:"text",value:"\\"+value});continue}if(value===CHAR_LEFT_SQUARE_BRACKET){brackets++;let next;for(;index<length&&(next=advance());){if(value+=next,next===CHAR_LEFT_SQUARE_BRACKET){brackets++;continue}if(next===CHAR_BACKSLASH){value+=advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET&&(brackets--,brackets===0))break}push({type:"text",value});continue}if(value===CHAR_LEFT_PARENTHESES){block=push({type:"paren",nodes:[]}),stack.push(block),push({type:"text",value});continue}if(value===CHAR_RIGHT_PARENTHESES){if(block.type!=="paren"){push({type:"text",value});continue}block=stack.pop(),push({type:"text",value}),block=stack[stack.length-1];continue}if(value===CHAR_DOUBLE_QUOTE||value===CHAR_SINGLE_QUOTE||value===CHAR_BACKTICK){let open=value,next;for(options.keepQuotes!==!0&&(value="");index<length&&(next=advance());){if(next===CHAR_BACKSLASH){value+=next+advance();continue}if(next===open){options.keepQuotes===!0&&(value+=next);break}value+=next}push({type:"text",value});continue}if(value===CHAR_LEFT_CURLY_BRACE){depth++;let brace={type:"brace",open:!0,close:!1,dollar:prev.value&&prev.value.slice(-1)==="$"||block.dollar===!0,depth,commas:0,ranges:0,nodes:[]};block=push(brace),stack.push(block),push({type:"open",value});continue}if(value===CHAR_RIGHT_CURLY_BRACE){if(block.type!=="brace"){push({type:"text",value});continue}let type="close";block=stack.pop(),block.close=!0,push({type,value}),depth--,block=stack[stack.length-1];continue}if(value===CHAR_COMMA&&depth>0){if(block.ranges>0){block.ranges=0;let open=block.nodes.shift();block.nodes=[open,{type:"text",value:stringify(block)}]}push({type:"comma",value}),block.commas++;continue}if(value===CHAR_DOT&&depth>0&&block.commas===0){let siblings=block.nodes;if(depth===0||siblings.length===0){push({type:"text",value});continue}if(prev.type==="dot"){if(block.range=[],prev.value+=value,prev.type="range",block.nodes.length!==3&&block.nodes.length!==5){block.invalid=!0,block.ranges=0,prev.type="text";continue}block.ranges++,block.args=[];continue}if(prev.type==="range"){siblings.pop();let before=siblings[siblings.length-1];before.value+=prev.value+value,prev=before,block.ranges--;continue}push({type:"dot",value});continue}push({type:"text",value})}do if(block=stack.pop(),block.type!=="root"){block.nodes.forEach(node=>{node.nodes||(node.type==="open"&&(node.isOpen=!0),node.type==="close"&&(node.isClose=!0),node.nodes||(node.type="text"),node.invalid=!0)});let parent=stack[stack.length-1],index2=parent.nodes.indexOf(block);parent.nodes.splice(index2,1,...block.nodes)}while(stack.length>0);return push({type:"eos"}),ast};module2.exports=parse}});var require_braces=__commonJS({"node_modules/braces/index.js"(exports2,module2){"use strict";var stringify=require_stringify2(),compile=require_compile(),expand=require_expand(),parse=require_parse2(),braces=(input,options={})=>{let output=[];if(Array.isArray(input))for(let pattern of input){let result=braces.create(pattern,options);Array.isArray(result)?output.push(...result):output.push(result)}else output=[].concat(braces.create(input,options));return options&&options.expand===!0&&options.nodupes===!0&&(output=[...new Set(output)]),output};braces.parse=(input,options={})=>parse(input,options);braces.stringify=(input,options={})=>stringify(typeof input=="string"?braces.parse(input,options):input,options);braces.compile=(input,options={})=>(typeof input=="string"&&(input=braces.parse(input,options)),compile(input,options));braces.expand=(input,options={})=>{typeof input=="string"&&(input=braces.parse(input,options));let result=expand(input,options);return options.noempty===!0&&(result=result.filter(Boolean)),options.nodupes===!0&&(result=[...new Set(result)]),result};braces.create=(input,options={})=>input===""||input.length<3?[input]:options.expand!==!0?braces.compile(input,options):braces.expand(input,options);module2.exports=braces}});var require_constants2=__commonJS({"node_modules/picomatch/lib/constants.js"(exports2,module2){"use strict";var path=require("path"),WIN_SLASH="\\\\/",WIN_NO_SLASH=`[^${WIN_SLASH}]`,DOT_LITERAL="\\.",PLUS_LITERAL="\\+",QMARK_LITERAL="\\?",SLASH_LITERAL="\\/",ONE_CHAR="(?=.)",QMARK="[^/]",END_ANCHOR=`(?:${SLASH_LITERAL}|$)`,START_ANCHOR=`(?:^|${SLASH_LITERAL})`,DOTS_SLASH=`${DOT_LITERAL}{1,2}${END_ANCHOR}`,NO_DOT=`(?!${DOT_LITERAL})`,NO_DOTS=`(?!${START_ANCHOR}${DOTS_SLASH})`,NO_DOT_SLASH=`(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`,NO_DOTS_SLASH=`(?!${DOTS_SLASH})`,QMARK_NO_DOT=`[^.${SLASH_LITERAL}]`,STAR=`${QMARK}*?`,POSIX_CHARS={DOT_LITERAL,PLUS_LITERAL,QMARK_LITERAL,SLASH_LITERAL,ONE_CHAR,QMARK,END_ANCHOR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK_NO_DOT,STAR,START_ANCHOR},WINDOWS_CHARS={...POSIX_CHARS,SLASH_LITERAL:`[${WIN_SLASH}]`,QMARK:WIN_NO_SLASH,STAR:`${WIN_NO_SLASH}*?`,DOTS_SLASH:`${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,NO_DOT:`(?!${DOT_LITERAL})`,NO_DOTS:`(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,NO_DOT_SLASH:`(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,NO_DOTS_SLASH:`(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,QMARK_NO_DOT:`[^.${WIN_SLASH}]`,START_ANCHOR:`(?:^|[${WIN_SLASH}])`,END_ANCHOR:`(?:[${WIN_SLASH}]|$)`},POSIX_REGEX_SOURCE={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};module2.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:path.sep,extglobChars(chars){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${chars.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(win32){return win32===!0?WINDOWS_CHARS:POSIX_CHARS}}}});var require_utils7=__commonJS({"node_modules/picomatch/lib/utils.js"(exports2){"use strict";var path=require("path"),win32=process.platform==="win32",{REGEX_BACKSLASH,REGEX_REMOVE_BACKSLASH,REGEX_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_GLOBAL}=require_constants2();exports2.isObject=val=>val!==null&&typeof val=="object"&&!Array.isArray(val);exports2.hasRegexChars=str=>REGEX_SPECIAL_CHARS.test(str);exports2.isRegexChar=str=>str.length===1&&exports2.hasRegexChars(str);exports2.escapeRegex=str=>str.replace(REGEX_SPECIAL_CHARS_GLOBAL,"\\$1");exports2.toPosixSlashes=str=>str.replace(REGEX_BACKSLASH,"/");exports2.removeBackslashes=str=>str.replace(REGEX_REMOVE_BACKSLASH,match=>match==="\\"?"":match);exports2.supportsLookbehinds=()=>{let segs=process.version.slice(1).split(".").map(Number);return segs.length===3&&segs[0]>=9||segs[0]===8&&segs[1]>=10};exports2.isWindows=options=>options&&typeof options.windows=="boolean"?options.windows:win32===!0||path.sep==="\\";exports2.escapeLast=(input,char,lastIdx)=>{let idx=input.lastIndexOf(char,lastIdx);return idx===-1?input:input[idx-1]==="\\"?exports2.escapeLast(input,char,idx-1):`${input.slice(0,idx)}\\${input.slice(idx)}`};exports2.removePrefix=(input,state={})=>{let output=input;return output.startsWith("./")&&(output=output.slice(2),state.prefix="./"),output};exports2.wrapOutput=(input,state={},options={})=>{let prepend=options.contains?"":"^",append=options.contains?"":"$",output=`${prepend}(?:${input})${append}`;return state.negated===!0&&(output=`(?:^(?!${output}).*$)`),output}}});var require_scan=__commonJS({"node_modules/picomatch/lib/scan.js"(exports2,module2){"use strict";var utils=require_utils7(),{CHAR_ASTERISK,CHAR_AT,CHAR_BACKWARD_SLASH,CHAR_COMMA,CHAR_DOT,CHAR_EXCLAMATION_MARK,CHAR_FORWARD_SLASH,CHAR_LEFT_CURLY_BRACE,CHAR_LEFT_PARENTHESES,CHAR_LEFT_SQUARE_BRACKET,CHAR_PLUS,CHAR_QUESTION_MARK,CHAR_RIGHT_CURLY_BRACE,CHAR_RIGHT_PARENTHESES,CHAR_RIGHT_SQUARE_BRACKET}=require_constants2(),isPathSeparator=code=>code===CHAR_FORWARD_SLASH||code===CHAR_BACKWARD_SLASH,depth=token=>{token.isPrefix!==!0&&(token.depth=token.isGlobstar?1/0:1)},scan=(input,options)=>{let opts=options||{},length=input.length-1,scanToEnd=opts.parts===!0||opts.scanToEnd===!0,slashes=[],tokens=[],parts=[],str=input,index=-1,start=0,lastIndex=0,isBrace=!1,isBracket=!1,isGlob=!1,isExtglob=!1,isGlobstar=!1,braceEscaped=!1,backslashes=!1,negated=!1,negatedExtglob=!1,finished=!1,braces=0,prev,code,token={value:"",depth:0,isGlob:!1},eos=()=>index>=length,peek=()=>str.charCodeAt(index+1),advance=()=>(prev=code,str.charCodeAt(++index));for(;index<length;){code=advance();let next;if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance(),code===CHAR_LEFT_CURLY_BRACE&&(braceEscaped=!0);continue}if(braceEscaped===!0||code===CHAR_LEFT_CURLY_BRACE){for(braces++;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(code===CHAR_LEFT_CURLY_BRACE){braces++;continue}if(braceEscaped!==!0&&code===CHAR_DOT&&(code=advance())===CHAR_DOT){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(braceEscaped!==!0&&code===CHAR_COMMA){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_RIGHT_CURLY_BRACE&&(braces--,braces===0)){braceEscaped=!1,isBrace=token.isBrace=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(code===CHAR_FORWARD_SLASH){if(slashes.push(index),tokens.push(token),token={value:"",depth:0,isGlob:!1},finished===!0)continue;if(prev===CHAR_DOT&&index===start+1){start+=2;continue}lastIndex=index+1;continue}if(opts.noext!==!0&&(code===CHAR_PLUS||code===CHAR_AT||code===CHAR_ASTERISK||code===CHAR_QUESTION_MARK||code===CHAR_EXCLAMATION_MARK)===!0&&peek()===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,isExtglob=token.isExtglob=!0,finished=!0,code===CHAR_EXCLAMATION_MARK&&index===start&&(negatedExtglob=!0),scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){isGlob=token.isGlob=!0,finished=!0;break}}continue}break}if(code===CHAR_ASTERISK){if(prev===CHAR_ASTERISK&&(isGlobstar=token.isGlobstar=!0),isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_QUESTION_MARK){if(isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_LEFT_SQUARE_BRACKET){for(;eos()!==!0&&(next=advance());){if(next===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET){isBracket=token.isBracket=!0,isGlob=token.isGlob=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(opts.nonegate!==!0&&code===CHAR_EXCLAMATION_MARK&&index===start){negated=token.negated=!0,start++;continue}if(opts.noparen!==!0&&code===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_LEFT_PARENTHESES){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){finished=!0;break}}continue}break}if(isGlob===!0){if(finished=!0,scanToEnd===!0)continue;break}}opts.noext===!0&&(isExtglob=!1,isGlob=!1);let base=str,prefix="",glob="";start>0&&(prefix=str.slice(0,start),str=str.slice(start),lastIndex-=start),base&&isGlob===!0&&lastIndex>0?(base=str.slice(0,lastIndex),glob=str.slice(lastIndex)):isGlob===!0?(base="",glob=str):base=str,base&&base!==""&&base!=="/"&&base!==str&&isPathSeparator(base.charCodeAt(base.length-1))&&(base=base.slice(0,-1)),opts.unescape===!0&&(glob&&(glob=utils.removeBackslashes(glob)),base&&backslashes===!0&&(base=utils.removeBackslashes(base)));let state={prefix,input,start,base,glob,isBrace,isBracket,isGlob,isExtglob,isGlobstar,negated,negatedExtglob};if(opts.tokens===!0&&(state.maxDepth=0,isPathSeparator(code)||tokens.push(token),state.tokens=tokens),opts.parts===!0||opts.tokens===!0){let prevIndex;for(let idx=0;idx<slashes.length;idx++){let n=prevIndex?prevIndex+1:start,i=slashes[idx],value=input.slice(n,i);opts.tokens&&(idx===0&&start!==0?(tokens[idx].isPrefix=!0,tokens[idx].value=prefix):tokens[idx].value=value,depth(tokens[idx]),state.maxDepth+=tokens[idx].depth),(idx!==0||value!=="")&&parts.push(value),prevIndex=i}if(prevIndex&&prevIndex+1<input.length){let value=input.slice(prevIndex+1);parts.push(value),opts.tokens&&(tokens[tokens.length-1].value=value,depth(tokens[tokens.length-1]),state.maxDepth+=tokens[tokens.length-1].depth)}state.slashes=slashes,state.parts=parts}return state};module2.exports=scan}});var require_parse3=__commonJS({"node_modules/picomatch/lib/parse.js"(exports2,module2){"use strict";var constants=require_constants2(),utils=require_utils7(),{MAX_LENGTH,POSIX_REGEX_SOURCE,REGEX_NON_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_BACKREF,REPLACEMENTS}=constants,expandRange=(args,options)=>{if(typeof options.expandRange=="function")return options.expandRange(...args,options);args.sort();let value=`[${args.join("-")}]`;try{new RegExp(value)}catch{return args.map(v=>utils.escapeRegex(v)).join("..")}return value},syntaxError=(type,char)=>`Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`,parse=(input,options)=>{if(typeof input!="string")throw new TypeError("Expected a string");input=REPLACEMENTS[input]||input;let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);let bos={type:"bos",value:"",output:opts.prepend||""},tokens=[bos],capture=opts.capture?"":"?:",win32=utils.isWindows(options),PLATFORM_CHARS=constants.globChars(win32),EXTGLOB_CHARS=constants.extglobChars(PLATFORM_CHARS),{DOT_LITERAL,PLUS_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK,QMARK_NO_DOT,STAR,START_ANCHOR}=PLATFORM_CHARS,globstar=opts2=>`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,nodot=opts.dot?"":NO_DOT,qmarkNoDot=opts.dot?QMARK:QMARK_NO_DOT,star=opts.bash===!0?globstar(opts):STAR;opts.capture&&(star=`(${star})`),typeof opts.noext=="boolean"&&(opts.noextglob=opts.noext);let state={input,index:-1,start:0,dot:opts.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens};input=utils.removePrefix(input,state),len=input.length;let extglobs=[],braces=[],stack=[],prev=bos,value,eos=()=>state.index===len-1,peek=state.peek=(n=1)=>input[state.index+n],advance=state.advance=()=>input[++state.index]||"",remaining=()=>input.slice(state.index+1),consume=(value2="",num=0)=>{state.consumed+=value2,state.index+=num},append=token=>{state.output+=token.output!=null?token.output:token.value,consume(token.value)},negate=()=>{let count=1;for(;peek()==="!"&&(peek(2)!=="("||peek(3)==="?");)advance(),state.start++,count++;return count%2===0?!1:(state.negated=!0,state.start++,!0)},increment=type=>{state[type]++,stack.push(type)},decrement=type=>{state[type]--,stack.pop()},push=tok=>{if(prev.type==="globstar"){let isBrace=state.braces>0&&(tok.type==="comma"||tok.type==="brace"),isExtglob=tok.extglob===!0||extglobs.length&&(tok.type==="pipe"||tok.type==="paren");tok.type!=="slash"&&tok.type!=="paren"&&!isBrace&&!isExtglob&&(state.output=state.output.slice(0,-prev.output.length),prev.type="star",prev.value="*",prev.output=star,state.output+=prev.output)}if(extglobs.length&&tok.type!=="paren"&&(extglobs[extglobs.length-1].inner+=tok.value),(tok.value||tok.output)&&append(tok),prev&&prev.type==="text"&&tok.type==="text"){prev.value+=tok.value,prev.output=(prev.output||"")+tok.value;return}tok.prev=prev,tokens.push(tok),prev=tok},extglobOpen=(type,value2)=>{let token={...EXTGLOB_CHARS[value2],conditions:1,inner:""};token.prev=prev,token.parens=state.parens,token.output=state.output;let output=(opts.capture?"(":"")+token.open;increment("parens"),push({type,value:value2,output:state.output?"":ONE_CHAR}),push({type:"paren",extglob:!0,value:advance(),output}),extglobs.push(token)},extglobClose=token=>{let output=token.close+(opts.capture?")":""),rest;if(token.type==="negate"){let extglobStar=star;if(token.inner&&token.inner.length>1&&token.inner.includes("/")&&(extglobStar=globstar(opts)),(extglobStar!==star||eos()||/^\)+$/.test(remaining()))&&(output=token.close=`)$))${extglobStar}`),token.inner.includes("*")&&(rest=remaining())&&/^\.[^\\/.]+$/.test(rest)){let expression=parse(rest,{...options,fastpaths:!1}).output;output=token.close=`)${expression})${extglobStar})`}token.prev.type==="bos"&&(state.negatedExtglob=!0)}push({type:"paren",extglob:!0,value,output}),decrement("parens")};if(opts.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(input)){let backslashes=!1,output=input.replace(REGEX_SPECIAL_CHARS_BACKREF,(m,esc,chars,first,rest,index)=>first==="\\"?(backslashes=!0,m):first==="?"?esc?esc+first+(rest?QMARK.repeat(rest.length):""):index===0?qmarkNoDot+(rest?QMARK.repeat(rest.length):""):QMARK.repeat(chars.length):first==="."?DOT_LITERAL.repeat(chars.length):first==="*"?esc?esc+first+(rest?star:""):star:esc?m:`\\${m}`);return backslashes===!0&&(opts.unescape===!0?output=output.replace(/\\/g,""):output=output.replace(/\\+/g,m=>m.length%2===0?"\\\\":m?"\\":"")),output===input&&opts.contains===!0?(state.output=input,state):(state.output=utils.wrapOutput(output,state,options),state)}for(;!eos();){if(value=advance(),value==="\0")continue;if(value==="\\"){let next=peek();if(next==="/"&&opts.bash!==!0||next==="."||next===";")continue;if(!next){value+="\\",push({type:"text",value});continue}let match=/^\\+/.exec(remaining()),slashes=0;if(match&&match[0].length>2&&(slashes=match[0].length,state.index+=slashes,slashes%2!==0&&(value+="\\")),opts.unescape===!0?value=advance():value+=advance(),state.brackets===0){push({type:"text",value});continue}}if(state.brackets>0&&(value!=="]"||prev.value==="["||prev.value==="[^")){if(opts.posix!==!1&&value===":"){let inner=prev.value.slice(1);if(inner.includes("[")&&(prev.posix=!0,inner.includes(":"))){let idx=prev.value.lastIndexOf("["),pre=prev.value.slice(0,idx),rest2=prev.value.slice(idx+2),posix=POSIX_REGEX_SOURCE[rest2];if(posix){prev.value=pre+posix,state.backtrack=!0,advance(),!bos.output&&tokens.indexOf(prev)===1&&(bos.output=ONE_CHAR);continue}}}(value==="["&&peek()!==":"||value==="-"&&peek()==="]")&&(value=`\\${value}`),value==="]"&&(prev.value==="["||prev.value==="[^")&&(value=`\\${value}`),opts.posix===!0&&value==="!"&&prev.value==="["&&(value="^"),prev.value+=value,append({value});continue}if(state.quotes===1&&value!=='"'){value=utils.escapeRegex(value),prev.value+=value,append({value});continue}if(value==='"'){state.quotes=state.quotes===1?0:1,opts.keepQuotes===!0&&push({type:"text",value});continue}if(value==="("){increment("parens"),push({type:"paren",value});continue}if(value===")"){if(state.parens===0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","("));let extglob=extglobs[extglobs.length-1];if(extglob&&state.parens===extglob.parens+1){extglobClose(extglobs.pop());continue}push({type:"paren",value,output:state.parens?")":"\\)"}),decrement("parens");continue}if(value==="["){if(opts.nobracket===!0||!remaining().includes("]")){if(opts.nobracket!==!0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));value=`\\${value}`}else increment("brackets");push({type:"bracket",value});continue}if(value==="]"){if(opts.nobracket===!0||prev&&prev.type==="bracket"&&prev.value.length===1){push({type:"text",value,output:`\\${value}`});continue}if(state.brackets===0){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","["));push({type:"text",value,output:`\\${value}`});continue}decrement("brackets");let prevValue=prev.value.slice(1);if(prev.posix!==!0&&prevValue[0]==="^"&&!prevValue.includes("/")&&(value=`/${value}`),prev.value+=value,append({value}),opts.literalBrackets===!1||utils.hasRegexChars(prevValue))continue;let escaped=utils.escapeRegex(prev.value);if(state.output=state.output.slice(0,-prev.value.length),opts.literalBrackets===!0){state.output+=escaped,prev.value=escaped;continue}prev.value=`(${capture}${escaped}|${prev.value})`,state.output+=prev.value;continue}if(value==="{"&&opts.nobrace!==!0){increment("braces");let open={type:"brace",value,output:"(",outputIndex:state.output.length,tokensIndex:state.tokens.length};braces.push(open),push(open);continue}if(value==="}"){let brace=braces[braces.length-1];if(opts.nobrace===!0||!brace){push({type:"text",value,output:value});continue}let output=")";if(brace.dots===!0){let arr=tokens.slice(),range=[];for(let i=arr.length-1;i>=0&&(tokens.pop(),arr[i].type!=="brace");i--)arr[i].type!=="dots"&&range.unshift(arr[i].value);output=expandRange(range,opts),state.backtrack=!0}if(brace.comma!==!0&&brace.dots!==!0){let out=state.output.slice(0,brace.outputIndex),toks=state.tokens.slice(brace.tokensIndex);brace.value=brace.output="\\{",value=output="\\}",state.output=out;for(let t of toks)state.output+=t.output||t.value}push({type:"brace",value,output}),decrement("braces"),braces.pop();continue}if(value==="|"){extglobs.length>0&&extglobs[extglobs.length-1].conditions++,push({type:"text",value});continue}if(value===","){let output=value,brace=braces[braces.length-1];brace&&stack[stack.length-1]==="braces"&&(brace.comma=!0,output="|"),push({type:"comma",value,output});continue}if(value==="/"){if(prev.type==="dot"&&state.index===state.start+1){state.start=state.index+1,state.consumed="",state.output="",tokens.pop(),prev=bos;continue}push({type:"slash",value,output:SLASH_LITERAL});continue}if(value==="."){if(state.braces>0&&prev.type==="dot"){prev.value==="."&&(prev.output=DOT_LITERAL);let brace=braces[braces.length-1];prev.type="dots",prev.output+=value,prev.value+=value,brace.dots=!0;continue}if(state.braces+state.parens===0&&prev.type!=="bos"&&prev.type!=="slash"){push({type:"text",value,output:DOT_LITERAL});continue}push({type:"dot",value,output:DOT_LITERAL});continue}if(value==="?"){if(!(prev&&prev.value==="(")&&opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("qmark",value);continue}if(prev&&prev.type==="paren"){let next=peek(),output=value;if(next==="<"&&!utils.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(prev.value==="("&&!/[!=<:]/.test(next)||next==="<"&&!/<([!=]|\w+>)/.test(remaining()))&&(output=`\\${value}`),push({type:"text",value,output});continue}if(opts.dot!==!0&&(prev.type==="slash"||prev.type==="bos")){push({type:"qmark",value,output:QMARK_NO_DOT});continue}push({type:"qmark",value,output:QMARK});continue}if(value==="!"){if(opts.noextglob!==!0&&peek()==="("&&(peek(2)!=="?"||!/[!=<:]/.test(peek(3)))){extglobOpen("negate",value);continue}if(opts.nonegate!==!0&&state.index===0){negate();continue}}if(value==="+"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("plus",value);continue}if(prev&&prev.value==="("||opts.regex===!1){push({type:"plus",value,output:PLUS_LITERAL});continue}if(prev&&(prev.type==="bracket"||prev.type==="paren"||prev.type==="brace")||state.parens>0){push({type:"plus",value});continue}push({type:"plus",value:PLUS_LITERAL});continue}if(value==="@"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){push({type:"at",extglob:!0,value,output:""});continue}push({type:"text",value});continue}if(value!=="*"){(value==="$"||value==="^")&&(value=`\\${value}`);let match=REGEX_NON_SPECIAL_CHARS.exec(remaining());match&&(value+=match[0],state.index+=match[0].length),push({type:"text",value});continue}if(prev&&(prev.type==="globstar"||prev.star===!0)){prev.type="star",prev.star=!0,prev.value+=value,prev.output=star,state.backtrack=!0,state.globstar=!0,consume(value);continue}let rest=remaining();if(opts.noextglob!==!0&&/^\([^?]/.test(rest)){extglobOpen("star",value);continue}if(prev.type==="star"){if(opts.noglobstar===!0){consume(value);continue}let prior=prev.prev,before=prior.prev,isStart=prior.type==="slash"||prior.type==="bos",afterStar=before&&(before.type==="star"||before.type==="globstar");if(opts.bash===!0&&(!isStart||rest[0]&&rest[0]!=="/")){push({type:"star",value,output:""});continue}let isBrace=state.braces>0&&(prior.type==="comma"||prior.type==="brace"),isExtglob=extglobs.length&&(prior.type==="pipe"||prior.type==="paren");if(!isStart&&prior.type!=="paren"&&!isBrace&&!isExtglob){push({type:"star",value,output:""});continue}for(;rest.slice(0,3)==="/**";){let after=input[state.index+4];if(after&&after!=="/")break;rest=rest.slice(3),consume("/**",3)}if(prior.type==="bos"&&eos()){prev.type="globstar",prev.value+=value,prev.output=globstar(opts),state.output=prev.output,state.globstar=!0,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&!afterStar&&eos()){state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=globstar(opts)+(opts.strictSlashes?")":"|$)"),prev.value+=value,state.globstar=!0,state.output+=prior.output+prev.output,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&rest[0]==="/"){let end=rest[1]!==void 0?"|$":"";state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=`${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`,prev.value+=value,state.output+=prior.output+prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}if(prior.type==="bos"&&rest[0]==="/"){prev.type="globstar",prev.value+=value,prev.output=`(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`,state.output=prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}state.output=state.output.slice(0,-prev.output.length),prev.type="globstar",prev.output=globstar(opts),prev.value+=value,state.output+=prev.output,state.globstar=!0,consume(value);continue}let token={type:"star",value,output:star};if(opts.bash===!0){token.output=".*?",(prev.type==="bos"||prev.type==="slash")&&(token.output=nodot+token.output),push(token);continue}if(prev&&(prev.type==="bracket"||prev.type==="paren")&&opts.regex===!0){token.output=value,push(token);continue}(state.index===state.start||prev.type==="slash"||prev.type==="dot")&&(prev.type==="dot"?(state.output+=NO_DOT_SLASH,prev.output+=NO_DOT_SLASH):opts.dot===!0?(state.output+=NO_DOTS_SLASH,prev.output+=NO_DOTS_SLASH):(state.output+=nodot,prev.output+=nodot),peek()!=="*"&&(state.output+=ONE_CHAR,prev.output+=ONE_CHAR)),push(token)}for(;state.brackets>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));state.output=utils.escapeLast(state.output,"["),decrement("brackets")}for(;state.parens>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing",")"));state.output=utils.escapeLast(state.output,"("),decrement("parens")}for(;state.braces>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","}"));state.output=utils.escapeLast(state.output,"{"),decrement("braces")}if(opts.strictSlashes!==!0&&(prev.type==="star"||prev.type==="bracket")&&push({type:"maybe_slash",value:"",output:`${SLASH_LITERAL}?`}),state.backtrack===!0){state.output="";for(let token of state.tokens)state.output+=token.output!=null?token.output:token.value,token.suffix&&(state.output+=token.suffix)}return state};parse.fastpaths=(input,options)=>{let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);input=REPLACEMENTS[input]||input;let win32=utils.isWindows(options),{DOT_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOTS_SLASH,STAR,START_ANCHOR}=constants.globChars(win32),nodot=opts.dot?NO_DOTS:NO_DOT,slashDot=opts.dot?NO_DOTS_SLASH:NO_DOT,capture=opts.capture?"":"?:",state={negated:!1,prefix:""},star=opts.bash===!0?".*?":STAR;opts.capture&&(star=`(${star})`);let globstar=opts2=>opts2.noglobstar===!0?star:`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,create=str=>{switch(str){case"*":return`${nodot}${ONE_CHAR}${star}`;case".*":return`${DOT_LITERAL}${ONE_CHAR}${star}`;case"*.*":return`${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"*/*":return`${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;case"**":return nodot+globstar(opts);case"**/*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;case"**/*.*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"**/.*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;default:{let match=/^(.*?)\.(\w+)$/.exec(str);if(!match)return;let source2=create(match[1]);return source2?source2+DOT_LITERAL+match[2]:void 0}}},output=utils.removePrefix(input,state),source=create(output);return source&&opts.strictSlashes!==!0&&(source+=`${SLASH_LITERAL}?`),source};module2.exports=parse}});var require_picomatch=__commonJS({"node_modules/picomatch/lib/picomatch.js"(exports2,module2){"use strict";var path=require("path"),scan=require_scan(),parse=require_parse3(),utils=require_utils7(),constants=require_constants2(),isObject=val=>val&&typeof val=="object"&&!Array.isArray(val),picomatch=(glob,options,returnState=!1)=>{if(Array.isArray(glob)){let fns=glob.map(input=>picomatch(input,options,returnState));return str=>{for(let isMatch of fns){let state2=isMatch(str);if(state2)return state2}return!1}}let isState=isObject(glob)&&glob.tokens&&glob.input;if(glob===""||typeof glob!="string"&&!isState)throw new TypeError("Expected pattern to be a non-empty string");let opts=options||{},posix=utils.isWindows(options),regex=isState?picomatch.compileRe(glob,options):picomatch.makeRe(glob,options,!1,!0),state=regex.state;delete regex.state;let isIgnored=()=>!1;if(opts.ignore){let ignoreOpts={...options,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(opts.ignore,ignoreOpts,returnState)}let matcher=(input,returnObject=!1)=>{let{isMatch,match,output}=picomatch.test(input,regex,options,{glob,posix}),result={glob,state,regex,posix,input,output,match,isMatch};return typeof opts.onResult=="function"&&opts.onResult(result),isMatch===!1?(result.isMatch=!1,returnObject?result:!1):isIgnored(input)?(typeof opts.onIgnore=="function"&&opts.onIgnore(result),result.isMatch=!1,returnObject?result:!1):(typeof opts.onMatch=="function"&&opts.onMatch(result),returnObject?result:!0)};return returnState&&(matcher.state=state),matcher};picomatch.test=(input,regex,options,{glob,posix}={})=>{if(typeof input!="string")throw new TypeError("Expected input to be a string");if(input==="")return{isMatch:!1,output:""};let opts=options||{},format=opts.format||(posix?utils.toPosixSlashes:null),match=input===glob,output=match&&format?format(input):input;return match===!1&&(output=format?format(input):input,match=output===glob),(match===!1||opts.capture===!0)&&(opts.matchBase===!0||opts.basename===!0?match=picomatch.matchBase(input,regex,options,posix):match=regex.exec(output)),{isMatch:!!match,match,output}};picomatch.matchBase=(input,glob,options,posix=utils.isWindows(options))=>(glob instanceof RegExp?glob:picomatch.makeRe(glob,options)).test(path.basename(input));picomatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);picomatch.parse=(pattern,options)=>Array.isArray(pattern)?pattern.map(p=>picomatch.parse(p,options)):parse(pattern,{...options,fastpaths:!1});picomatch.scan=(input,options)=>scan(input,options);picomatch.compileRe=(state,options,returnOutput=!1,returnState=!1)=>{if(returnOutput===!0)return state.output;let opts=options||{},prepend=opts.contains?"":"^",append=opts.contains?"":"$",source=`${prepend}(?:${state.output})${append}`;state&&state.negated===!0&&(source=`^(?!${source}).*$`);let regex=picomatch.toRegex(source,options);return returnState===!0&&(regex.state=state),regex};picomatch.makeRe=(input,options={},returnOutput=!1,returnState=!1)=>{if(!input||typeof input!="string")throw new TypeError("Expected a non-empty string");let parsed={negated:!1,fastpaths:!0};return options.fastpaths!==!1&&(input[0]==="."||input[0]==="*")&&(parsed.output=parse.fastpaths(input,options)),parsed.output||(parsed=parse(input,options)),picomatch.compileRe(parsed,options,returnOutput,returnState)};picomatch.toRegex=(source,options)=>{try{let opts=options||{};return new RegExp(source,opts.flags||(opts.nocase?"i":""))}catch(err){if(options&&options.debug===!0)throw err;return/$^/}};picomatch.constants=constants;module2.exports=picomatch}});var require_picomatch2=__commonJS({"node_modules/picomatch/index.js"(exports2,module2){"use strict";module2.exports=require_picomatch()}});var require_micromatch=__commonJS({"node_modules/micromatch/index.js"(exports2,module2){"use strict";var util=require("util"),braces=require_braces(),picomatch=require_picomatch2(),utils=require_utils7(),isEmptyString=v=>v===""||v==="./",hasBraces=v=>{let index=v.indexOf("{");return index>-1&&v.indexOf("}",index)>-1},micromatch=(list,patterns,options)=>{patterns=[].concat(patterns),list=[].concat(list);let omit=new Set,keep=new Set,items=new Set,negatives=0,onResult=state=>{items.add(state.output),options&&options.onResult&&options.onResult(state)};for(let i=0;i<patterns.length;i++){let isMatch=picomatch(String(patterns[i]),{...options,onResult},!0),negated=isMatch.state.negated||isMatch.state.negatedExtglob;negated&&negatives++;for(let item of list){let matched=isMatch(item,!0);(negated?!matched.isMatch:matched.isMatch)&&(negated?omit.add(matched.output):(omit.delete(matched.output),keep.add(matched.output)))}}let matches=(negatives===patterns.length?[...items]:[...keep]).filter(item=>!omit.has(item));if(options&&matches.length===0){if(options.failglob===!0)throw new Error(`No matches found for "${patterns.join(", ")}"`);if(options.nonull===!0||options.nullglob===!0)return options.unescape?patterns.map(p=>p.replace(/\\/g,"")):patterns}return matches};micromatch.match=micromatch;micromatch.matcher=(pattern,options)=>picomatch(pattern,options);micromatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);micromatch.any=micromatch.isMatch;micromatch.not=(list,patterns,options={})=>{patterns=[].concat(patterns).map(String);let result=new Set,items=[],onResult=state=>{options.onResult&&options.onResult(state),items.push(state.output)},matches=new Set(micromatch(list,patterns,{...options,onResult}));for(let item of items)matches.has(item)||result.add(item);return[...result]};micromatch.contains=(str,pattern,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);if(Array.isArray(pattern))return pattern.some(p=>micromatch.contains(str,p,options));if(typeof pattern=="string"){if(isEmptyString(str)||isEmptyString(pattern))return!1;if(str.includes(pattern)||str.startsWith("./")&&str.slice(2).includes(pattern))return!0}return micromatch.isMatch(str,pattern,{...options,contains:!0})};micromatch.matchKeys=(obj,patterns,options)=>{if(!utils.isObject(obj))throw new TypeError("Expected the first argument to be an object");let keys=micromatch(Object.keys(obj),patterns,options),res={};for(let key of keys)res[key]=obj[key];return res};micromatch.some=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of[].concat(patterns)){let isMatch=picomatch(String(pattern),options);if(items.some(item=>isMatch(item)))return!0}return!1};micromatch.every=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of[].concat(patterns)){let isMatch=picomatch(String(pattern),options);if(!items.every(item=>isMatch(item)))return!1}return!0};micromatch.all=(str,patterns,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);return[].concat(patterns).every(p=>picomatch(p,options)(str))};micromatch.capture=(glob,input,options)=>{let posix=utils.isWindows(options),match=picomatch.makeRe(String(glob),{...options,capture:!0}).exec(posix?utils.toPosixSlashes(input):input);if(match)return match.slice(1).map(v=>v===void 0?"":v)};micromatch.makeRe=(...args)=>picomatch.makeRe(...args);micromatch.scan=(...args)=>picomatch.scan(...args);micromatch.parse=(patterns,options)=>{let res=[];for(let pattern of[].concat(patterns||[]))for(let str of braces(String(pattern),options))res.push(picomatch.parse(str,options));return res};micromatch.braces=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return options&&options.nobrace===!0||!hasBraces(pattern)?[pattern]:braces(pattern,options)};micromatch.braceExpand=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return micromatch.braces(pattern,{...options,expand:!0})};micromatch.hasBraces=hasBraces;module2.exports=micromatch}});var require_context_matcher=__commonJS({"node_modules/http-proxy-middleware/dist/context-matcher.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.match=void 0;var isGlob=require_is_glob(),micromatch=require_micromatch(),url=require("url"),errors_1=require_errors();function match(context,uri,req){if(isStringPath(context))return matchSingleStringPath(context,uri);if(isGlobPath(context))return matchSingleGlobPath(context,uri);if(Array.isArray(context)){if(context.every(isStringPath))return matchMultiPath(context,uri);if(context.every(isGlobPath))return matchMultiGlobPath(context,uri);throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY)}if(typeof context=="function"){let pathname=getUrlPathName(uri);return context(pathname,req)}throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_GENERIC)}exports2.match=match;function matchSingleStringPath(context,uri){return getUrlPathName(uri).indexOf(context)===0}function matchSingleGlobPath(pattern,uri){let pathname=getUrlPathName(uri),matches=micromatch([pathname],pattern);return matches&&matches.length>0}function matchMultiGlobPath(patternList,uri){return matchSingleGlobPath(patternList,uri)}function matchMultiPath(contextList,uri){let isMultiPath=!1;for(let context of contextList)if(matchSingleStringPath(context,uri)){isMultiPath=!0;break}return isMultiPath}function getUrlPathName(uri){return uri&&url.parse(uri).pathname}function isStringPath(context){return typeof context=="string"&&!isGlob(context)}function isGlobPath(context){return isGlob(context)}}});var require_handlers=__commonJS({"node_modules/http-proxy-middleware/dist/_handlers.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.getHandlers=exports2.init=void 0;var logger_1=require_logger(),logger=(0,logger_1.getInstance)();function init(proxy,option){let handlers=getHandlers(option);for(let eventName of Object.keys(handlers))proxy.on(eventName,handlers[eventName]);proxy.on("econnreset",(error,req,res,target)=>{logger.error("[HPM] ECONNRESET: %O",error)}),proxy.on("proxyReqWs",(proxyReq,req,socket,options,head)=>{socket.on("error",error=>{logger.error("[HPM] WebSocket error: %O",error)})}),logger.debug("[HPM] Subscribed to http-proxy events:",Object.keys(handlers))}exports2.init=init;function getHandlers(options){let proxyEventsMap={error:"onError",proxyReq:"onProxyReq",proxyReqWs:"onProxyReqWs",proxyRes:"onProxyRes",open:"onOpen",close:"onClose"},handlers={};for(let[eventName,onEventName]of Object.entries(proxyEventsMap)){let fnHandler=options?options[onEventName]:null;typeof fnHandler=="function"&&(handlers[eventName]=fnHandler)}return typeof handlers.error!="function"&&(handlers.error=defaultErrorHandler),typeof handlers.close!="function"&&(handlers.close=logClose),handlers}exports2.getHandlers=getHandlers;function defaultErrorHandler(err,req,res){if(!req&&!res)throw err;let host=req.headers&&req.headers.host,code=err.code;if(res.writeHead&&!res.headersSent)if(/HPE_INVALID/.test(code))res.writeHead(502);else switch(code){case"ECONNRESET":case"ENOTFOUND":case"ECONNREFUSED":case"ETIMEDOUT":res.writeHead(504);break;default:res.writeHead(500)}res.end(`Error occurred while trying to proxy: ${host}${req.url}`)}function logClose(req,socket,head){logger.info("[HPM] Client disconnected")}}});var require_path_rewriter=__commonJS({"node_modules/http-proxy-middleware/dist/path-rewriter.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createPathRewriter=void 0;var isPlainObj=require_is_plain_obj(),errors_1=require_errors(),logger_1=require_logger(),logger=(0,logger_1.getInstance)();function createPathRewriter(rewriteConfig){let rulesCache;if(!isValidRewriteConfig(rewriteConfig))return;if(typeof rewriteConfig=="function")return rewriteConfig;return rulesCache=parsePathRewriteRules(rewriteConfig),rewritePath;function rewritePath(path){let result=path;for(let rule of rulesCache)if(rule.regex.test(path)){result=result.replace(rule.regex,rule.value),logger.debug('[HPM] Rewriting path from "%s" to "%s"',path,result);break}return result}}exports2.createPathRewriter=createPathRewriter;function isValidRewriteConfig(rewriteConfig){if(typeof rewriteConfig=="function")return!0;if(isPlainObj(rewriteConfig))return Object.keys(rewriteConfig).length!==0;if(rewriteConfig==null)return!1;throw new Error(errors_1.ERRORS.ERR_PATH_REWRITER_CONFIG)}function parsePathRewriteRules(rewriteConfig){let rules=[];if(isPlainObj(rewriteConfig))for(let[key]of Object.entries(rewriteConfig))rules.push({regex:new RegExp(key),value:rewriteConfig[key]}),logger.info('[HPM] Proxy rewrite rule created: "%s" ~> "%s"',key,rewriteConfig[key]);return rules}}});var require_router2=__commonJS({"node_modules/http-proxy-middleware/dist/router.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.getTarget=void 0;var isPlainObj=require_is_plain_obj(),logger_1=require_logger(),logger=(0,logger_1.getInstance)();async function getTarget(req,config){let newTarget,router=config.router;return isPlainObj(router)?newTarget=getTargetFromProxyTable(req,router):typeof router=="function"&&(newTarget=await router(req)),newTarget}exports2.getTarget=getTarget;function getTargetFromProxyTable(req,table){let result,host=req.headers.host||"",path=req.url||"";for(let[key]of Object.entries(table))if(containsPath(key)){if(isHostAndPathKey(key)){let[keyHost,keyPath]=splitHostAndPathKey(key);if(host===keyHost&&path.startsWith(keyPath)){result=table[key],logger.debug('[HPM] Router table match: "%s"',key);break}}else if(path.startsWith(key)){result=table[key],logger.debug('[HPM] Router table match: "%s"',key);break}}else if(key===host){result=table[key],logger.debug('[HPM] Router table match: "%s"',host);break}return result}function containsPath(v){return v.indexOf("/")>-1}function isHostAndPathKey(v){return containsPath(v)&&!v.startsWith("/")}function splitHostAndPathKey(v){let firstSlash=v.indexOf("/");return[v.slice(0,firstSlash),v.slice(firstSlash)]}}});var require_http_proxy_middleware=__commonJS({"node_modules/http-proxy-middleware/dist/http-proxy-middleware.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.HttpProxyMiddleware=void 0;var httpProxy=require_http_proxy3(),config_factory_1=require_config_factory(),contextMatcher=require_context_matcher(),handlers=require_handlers(),logger_1=require_logger(),PathRewriter=require_path_rewriter(),Router=require_router2(),HttpProxyMiddleware=class{constructor(context,opts){this.logger=(0,logger_1.getInstance)(),this.wsInternalSubscribed=!1,this.serverOnCloseSubscribed=!1,this.middleware=async(req,res,next)=>{var _a,_b;if(this.shouldProxy(this.config.context,req))try{let activeProxyOptions=await this.prepareProxyRequest(req);this.proxy.web(req,res,activeProxyOptions)}catch(err){next(err)}else next();let server=(_b=(_a=req.socket)!==null&&_a!==void 0?_a:req.connection)===null||_b===void 0?void 0:_b.server;server&&!this.serverOnCloseSubscribed&&(server.on("close",()=>{this.logger.info("[HPM] server close signal received: closing proxy server"),this.proxy.close()}),this.serverOnCloseSubscribed=!0),this.proxyOptions.ws===!0&&this.catchUpgradeRequest(server)},this.catchUpgradeRequest=server=>{this.wsInternalSubscribed||(server.on("upgrade",this.handleUpgrade),this.wsInternalSubscribed=!0)},this.handleUpgrade=async(req,socket,head)=>{if(this.shouldProxy(this.config.context,req)){let activeProxyOptions=await this.prepareProxyRequest(req);this.proxy.ws(req,socket,head,activeProxyOptions),this.logger.info("[HPM] Upgrading to WebSocket")}},this.shouldProxy=(context2,req)=>{try{let path=req.originalUrl||req.url;return contextMatcher.match(context2,path,req)}catch(error){return this.logger.error(error),!1}},this.prepareProxyRequest=async req=>{req.url=req.originalUrl||req.url;let originalPath=req.url,newProxyOptions=Object.assign({},this.proxyOptions);if(await this.applyRouter(req,newProxyOptions),await this.applyPathRewrite(req,this.pathRewriter),this.proxyOptions.logLevel==="debug"){let arrow=(0,logger_1.getArrow)(originalPath,req.url,this.proxyOptions.target,newProxyOptions.target);this.logger.debug("[HPM] %s %s %s %s",req.method,originalPath,arrow,newProxyOptions.target)}return newProxyOptions},this.applyRouter=async(req,options)=>{let newTarget;options.router&&(newTarget=await Router.getTarget(req,options),newTarget&&(this.logger.debug('[HPM] Router new target: %s -> "%s"',options.target,newTarget),options.target=newTarget))},this.applyPathRewrite=async(req,pathRewriter)=>{if(pathRewriter){let path=await pathRewriter(req.url,req);typeof path=="string"?req.url=path:this.logger.info("[HPM] pathRewrite: No rewritten path found. (%s)",req.url)}},this.logError=(err,req,res,target)=>{var _a;let requestHref=`${((_a=req.headers)===null||_a===void 0?void 0:_a.host)||req.hostname||req.host}${req.url}`,targetHref=`${target==null?void 0:target.href}`;this.logger.error("[HPM] Error occurred while proxying request %s to %s [%s] (%s)",requestHref,targetHref,err.code||err,"https://nodejs.org/api/errors.html#errors_common_system_errors")},this.config=(0,config_factory_1.createConfig)(context,opts),this.proxyOptions=this.config.options,this.proxy=httpProxy.createProxyServer({}),this.logger.info(`[HPM] Proxy created: ${this.config.context} -> ${this.proxyOptions.target}`),this.pathRewriter=PathRewriter.createPathRewriter(this.proxyOptions.pathRewrite),handlers.init(this.proxy,this.proxyOptions),this.proxy.on("error",this.logError),this.middleware.upgrade=(req,socket,head)=>{this.wsInternalSubscribed||this.handleUpgrade(req,socket,head)}}};exports2.HttpProxyMiddleware=HttpProxyMiddleware}});var require_response_interceptor=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/response-interceptor.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.responseInterceptor=void 0;var zlib=require("zlib");function responseInterceptor(interceptor){return async function(proxyRes,req,res){let originalProxyRes=proxyRes,buffer=Buffer.from("","utf8"),_proxyRes=decompress(proxyRes,proxyRes.headers["content-encoding"]);_proxyRes.on("data",chunk=>buffer=Buffer.concat([buffer,chunk])),_proxyRes.on("end",async()=>{copyHeaders(proxyRes,res);let interceptedBuffer=Buffer.from(await interceptor(buffer,originalProxyRes,req,res));res.setHeader("content-length",Buffer.byteLength(interceptedBuffer,"utf8")),res.write(interceptedBuffer),res.end()}),_proxyRes.on("error",error=>{res.end(`Error fetching proxied request: ${error.message}`)})}}exports2.responseInterceptor=responseInterceptor;function decompress(proxyRes,contentEncoding){let _proxyRes=proxyRes,decompress2;switch(contentEncoding){case"gzip":decompress2=zlib.createGunzip();break;case"br":decompress2=zlib.createBrotliDecompress();break;case"deflate":decompress2=zlib.createInflate();break;default:break}return decompress2&&(_proxyRes.pipe(decompress2),_proxyRes=decompress2),_proxyRes}function copyHeaders(originalResponse,response){if(response.statusCode=originalResponse.statusCode,response.statusMessage=originalResponse.statusMessage,response.setHeader){let keys=Object.keys(originalResponse.headers);keys=keys.filter(key=>!["content-encoding","transfer-encoding"].includes(key)),keys.forEach(key=>{let value=originalResponse.headers[key];key==="set-cookie"&&(value=Array.isArray(value)?value:[value],value=value.map(x=>x.replace(/Domain=[^;]+?/i,""))),response.setHeader(key,value)})}else response.headers=originalResponse.headers}}});var require_fix_request_body=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/fix-request-body.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.fixRequestBody=void 0;var querystring=require("querystring");function fixRequestBody(proxyReq,req){if(req.readableLength!==0)return;let requestBody=req.body;if(!requestBody)return;let contentType=proxyReq.getHeader("Content-Type");if(!contentType)return;let writeBody=bodyData=>{proxyReq.setHeader("Content-Length",Buffer.byteLength(bodyData)),proxyReq.write(bodyData)};contentType.includes("application/json")?writeBody(JSON.stringify(requestBody)):contentType.includes("application/x-www-form-urlencoded")&&writeBody(querystring.stringify(requestBody))}exports2.fixRequestBody=fixRequestBody}});var require_public=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/public.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.fixRequestBody=exports2.responseInterceptor=void 0;var response_interceptor_1=require_response_interceptor();Object.defineProperty(exports2,"responseInterceptor",{enumerable:!0,get:function(){return response_interceptor_1.responseInterceptor}});var fix_request_body_1=require_fix_request_body();Object.defineProperty(exports2,"fixRequestBody",{enumerable:!0,get:function(){return fix_request_body_1.fixRequestBody}})}});var require_handlers2=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/index.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0});__exportStar(require_public(),exports2)}});var require_dist=__commonJS({"node_modules/http-proxy-middleware/dist/index.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createProxyMiddleware=void 0;var http_proxy_middleware_1=require_http_proxy_middleware();function createProxyMiddleware(context,options){let{middleware}=new http_proxy_middleware_1.HttpProxyMiddleware(context,options);return middleware}exports2.createProxyMiddleware=createProxyMiddleware;__exportStar(require_handlers2(),exports2)}});var require_base64id=__commonJS({"node_modules/base64id/lib/base64id.js"(exports2,module2){var crypto=require("crypto"),Base64Id=function(){};Base64Id.prototype.getRandomBytes=function(bytes){var BUFFER_SIZE=4096,self2=this;if(bytes=bytes||12,bytes>BUFFER_SIZE)return crypto.randomBytes(bytes);var bytesInBuffer=parseInt(BUFFER_SIZE/bytes),threshold=parseInt(bytesInBuffer*.85);if(!threshold||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==bytesInBuffer&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>threshold)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,crypto.randomBytes(BUFFER_SIZE,function(err,bytes2){self2.bytesBuffer=bytes2,self2.bytesBufferIndex=0,self2.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return crypto.randomBytes(bytes);var result=this.bytesBuffer.slice(bytes*this.bytesBufferIndex,bytes*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,result};Base64Id.prototype.generateId=function(){var rand=Buffer.alloc(15);return rand.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,rand.writeInt32BE(this.sequenceNumber,11),crypto.randomBytes?this.getRandomBytes(12).copy(rand):[0,4,8].forEach(function(i){rand.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)}),rand.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};exports2=module2.exports=new Base64Id}});var require_commons=__commonJS({"node_modules/engine.io-parser/build/cjs/commons.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ERROR_PACKET=exports2.PACKET_TYPES_REVERSE=exports2.PACKET_TYPES=void 0;var PACKET_TYPES=Object.create(null);exports2.PACKET_TYPES=PACKET_TYPES;PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";var PACKET_TYPES_REVERSE=Object.create(null);exports2.PACKET_TYPES_REVERSE=PACKET_TYPES_REVERSE;Object.keys(PACKET_TYPES).forEach(key=>{PACKET_TYPES_REVERSE[PACKET_TYPES[key]]=key});var ERROR_PACKET={type:"error",data:"parser error"};exports2.ERROR_PACKET=ERROR_PACKET}});var require_encodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/encodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.encodePacket=void 0;exports2.encodePacketToBinary=encodePacketToBinary;var commons_js_1=require_commons(),encodePacket=({type,data},supportsBinary,callback)=>data instanceof ArrayBuffer||ArrayBuffer.isView(data)?callback(supportsBinary?data:"b"+toBuffer(data,!0).toString("base64")):callback(commons_js_1.PACKET_TYPES[type]+(data||""));exports2.encodePacket=encodePacket;var toBuffer=(data,forceBufferConversion)=>Buffer.isBuffer(data)||data instanceof Uint8Array&&!forceBufferConversion?data:data instanceof ArrayBuffer?Buffer.from(data):Buffer.from(data.buffer,data.byteOffset,data.byteLength),TEXT_ENCODER;function encodePacketToBinary(packet,callback){if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data))return callback(toBuffer(packet.data,!1));(0,exports2.encodePacket)(packet,!0,encoded=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),callback(TEXT_ENCODER.encode(encoded))})}}});var require_decodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/decodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.decodePacket=void 0;var commons_js_1=require_commons(),decodePacket=(encodedPacket,binaryType)=>{if(typeof encodedPacket!="string")return{type:"message",data:mapBinary(encodedPacket,binaryType)};let type=encodedPacket.charAt(0);if(type==="b"){let buffer=Buffer.from(encodedPacket.substring(1),"base64");return{type:"message",data:mapBinary(buffer,binaryType)}}return commons_js_1.PACKET_TYPES_REVERSE[type]?encodedPacket.length>1?{type:commons_js_1.PACKET_TYPES_REVERSE[type],data:encodedPacket.substring(1)}:{type:commons_js_1.PACKET_TYPES_REVERSE[type]}:commons_js_1.ERROR_PACKET};exports2.decodePacket=decodePacket;var mapBinary=(data,binaryType)=>binaryType==="arraybuffer"?data instanceof ArrayBuffer?data:Buffer.isBuffer(data)?data.buffer.slice(data.byteOffset,data.byteOffset+data.byteLength):data.buffer:Buffer.isBuffer(data)?data:Buffer.from(data)}});var require_cjs=__commonJS({"node_modules/engine.io-parser/build/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.decodePayload=exports2.decodePacket=exports2.encodePayload=exports2.encodePacket=exports2.protocol=void 0;exports2.createPacketEncoderStream=createPacketEncoderStream;exports2.createPacketDecoderStream=createPacketDecoderStream;var encodePacket_js_1=require_encodePacket();Object.defineProperty(exports2,"encodePacket",{enumerable:!0,get:function(){return encodePacket_js_1.encodePacket}});var decodePacket_js_1=require_decodePacket();Object.defineProperty(exports2,"decodePacket",{enumerable:!0,get:function(){return decodePacket_js_1.decodePacket}});var commons_js_1=require_commons(),SEPARATOR="",encodePayload=(packets,callback)=>{let length=packets.length,encodedPackets=new Array(length),count=0;packets.forEach((packet,i)=>{(0,encodePacket_js_1.encodePacket)(packet,!1,encodedPacket=>{encodedPackets[i]=encodedPacket,++count===length&&callback(encodedPackets.join(SEPARATOR))})})};exports2.encodePayload=encodePayload;var decodePayload=(encodedPayload,binaryType)=>{let encodedPackets=encodedPayload.split(SEPARATOR),packets=[];for(let i=0;i<encodedPackets.length;i++){let decodedPacket=(0,decodePacket_js_1.decodePacket)(encodedPackets[i],binaryType);if(packets.push(decodedPacket),decodedPacket.type==="error")break}return packets};exports2.decodePayload=decodePayload;function createPacketEncoderStream(){return new TransformStream({transform(packet,controller){(0,encodePacket_js_1.encodePacketToBinary)(packet,encodedPacket=>{let payloadLength=encodedPacket.length,header;if(payloadLength<126)header=new Uint8Array(1),new DataView(header.buffer).setUint8(0,payloadLength);else if(payloadLength<65536){header=new Uint8Array(3);let view=new DataView(header.buffer);view.setUint8(0,126),view.setUint16(1,payloadLength)}else{header=new Uint8Array(9);let view=new DataView(header.buffer);view.setUint8(0,127),view.setBigUint64(1,BigInt(payloadLength))}packet.data&&typeof packet.data!="string"&&(header[0]|=128),controller.enqueue(header),controller.enqueue(encodedPacket)})}})}var TEXT_DECODER;function totalLength(chunks){return chunks.reduce((acc,chunk)=>acc+chunk.length,0)}function concatChunks(chunks,size){if(chunks[0].length===size)return chunks.shift();let buffer=new Uint8Array(size),j=0;for(let i=0;i<size;i++)buffer[i]=chunks[0][j++],j===chunks[0].length&&(chunks.shift(),j=0);return chunks.length&&j<chunks[0].length&&(chunks[0]=chunks[0].slice(j)),buffer}function createPacketDecoderStream(maxPayload,binaryType){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);let chunks=[],state=0,expectedLength=-1,isBinary=!1;return new TransformStream({transform(chunk,controller){for(chunks.push(chunk);;){if(state===0){if(totalLength(chunks)<1)break;let header=concatChunks(chunks,1);isBinary=(header[0]&128)===128,expectedLength=header[0]&127,expectedLength<126?state=3:expectedLength===126?state=1:state=2}else if(state===1){if(totalLength(chunks)<2)break;let headerArray=concatChunks(chunks,2);expectedLength=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length).getUint16(0),state=3}else if(state===2){if(totalLength(chunks)<8)break;let headerArray=concatChunks(chunks,8),view=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length),n=view.getUint32(0);if(n>Math.pow(2,21)-1){controller.enqueue(commons_js_1.ERROR_PACKET);break}expectedLength=n*Math.pow(2,32)+view.getUint32(4),state=3}else{if(totalLength(chunks)<expectedLength)break;let data=concatChunks(chunks,expectedLength);controller.enqueue((0,decodePacket_js_1.decodePacket)(isBinary?data:TEXT_DECODER.decode(data),binaryType)),state=0}if(expectedLength===0||expectedLength>maxPayload){controller.enqueue(commons_js_1.ERROR_PACKET);break}}}})}exports2.protocol=4}});var require_utf8=__commonJS({"node_modules/engine.io/build/parser-v3/utf8.js"(exports2,module2){var stringFromCharCode=String.fromCharCode;function ucs2decode(string){for(var output=[],counter=0,length=string.length,value,extra;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),(extra&64512)==56320?output.push(((value&1023)<<10)+(extra&1023)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){for(var length=array.length,index=-1,value,output="";++index<length;)value=array[index],value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|value&1023),output+=stringFromCharCode(value);return output}function checkScalarValue(codePoint,strict){if(codePoint>=55296&&codePoint<=57343){if(strict)throw Error("Lone surrogate U+"+codePoint.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function createByte(codePoint,shift){return stringFromCharCode(codePoint>>shift&63|128)}function encodeCodePoint(codePoint,strict){if((codePoint&4294967168)==0)return stringFromCharCode(codePoint);var symbol="";return(codePoint&4294965248)==0?symbol=stringFromCharCode(codePoint>>6&31|192):(codePoint&4294901760)==0?(checkScalarValue(codePoint,strict)||(codePoint=65533),symbol=stringFromCharCode(codePoint>>12&15|224),symbol+=createByte(codePoint,6)):(codePoint&4292870144)==0&&(symbol=stringFromCharCode(codePoint>>18&7|240),symbol+=createByte(codePoint,12),symbol+=createByte(codePoint,6)),symbol+=stringFromCharCode(codePoint&63|128),symbol}function utf8encode(string,opts){opts=opts||{};for(var strict=opts.strict!==!1,codePoints=ucs2decode(string),length=codePoints.length,index=-1,codePoint,byteString="";++index<length;)codePoint=codePoints[index],byteString+=encodeCodePoint(codePoint,strict);return byteString}function readContinuationByte(){if(byteIndex>=byteCount)throw Error("Invalid byte index");var continuationByte=byteArray[byteIndex]&255;if(byteIndex++,(continuationByte&192)==128)return continuationByte&63;throw Error("Invalid continuation byte")}function decodeSymbol(strict){var byte1,byte2,byte3,byte4,codePoint;if(byteIndex>byteCount)throw Error("Invalid byte index");if(byteIndex==byteCount)return!1;if(byte1=byteArray[byteIndex]&255,byteIndex++,(byte1&128)==0)return byte1;if((byte1&224)==192){if(byte2=readContinuationByte(),codePoint=(byte1&31)<<6|byte2,codePoint>=128)return codePoint;throw Error("Invalid continuation byte")}if((byte1&240)==224){if(byte2=readContinuationByte(),byte3=readContinuationByte(),codePoint=(byte1&15)<<12|byte2<<6|byte3,codePoint>=2048)return checkScalarValue(codePoint,strict)?codePoint:65533;throw Error("Invalid continuation byte")}if((byte1&248)==240&&(byte2=readContinuationByte(),byte3=readContinuationByte(),byte4=readContinuationByte(),codePoint=(byte1&7)<<18|byte2<<12|byte3<<6|byte4,codePoint>=65536&&codePoint<=1114111))return codePoint;throw Error("Invalid UTF-8 detected")}var byteArray,byteCount,byteIndex;function utf8decode(byteString,opts){opts=opts||{};var strict=opts.strict!==!1;byteArray=ucs2decode(byteString),byteCount=byteArray.length,byteIndex=0;for(var codePoints=[],tmp;(tmp=decodeSymbol(strict))!==!1;)codePoints.push(tmp);return ucs2encode(codePoints)}module2.exports={version:"2.1.2",encode:utf8encode,decode:utf8decode}}});var require_parser_v3=__commonJS({"node_modules/engine.io/build/parser-v3/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.packets=exports2.protocol=void 0;exports2.encodePacket=encodePacket;exports2.encodeBase64Packet=encodeBase64Packet;exports2.decodePacket=decodePacket;exports2.decodeBase64Packet=decodeBase64Packet;exports2.encodePayload=encodePayload;exports2.decodePayload=decodePayload;exports2.encodePayloadAsBinary=encodePayloadAsBinary;exports2.decodePayloadAsBinary=decodePayloadAsBinary;var utf8=require_utf8();exports2.protocol=3;var hasBinary=packets=>{for(let packet of packets)if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data))return!0;return!1};exports2.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var packetslist=Object.keys(exports2.packets),err={type:"error",data:"parser error"},EMPTY_BUFFER=Buffer.concat([]);function encodePacket(packet,supportsBinary,utf8encode,callback){if(typeof supportsBinary=="function"&&(callback=supportsBinary,supportsBinary=null),typeof utf8encode=="function"&&(callback=utf8encode,utf8encode=null),Buffer.isBuffer(packet.data))return encodeBuffer(packet,supportsBinary,callback);if(packet.data&&(packet.data.buffer||packet.data)instanceof ArrayBuffer)return encodeBuffer({type:packet.type,data:arrayBufferToBuffer(packet.data)},supportsBinary,callback);var encoded=exports2.packets[packet.type];return packet.data!==void 0&&(encoded+=utf8encode?utf8.encode(String(packet.data),{strict:!1}):String(packet.data)),callback(""+encoded)}function encodeBuffer(packet,supportsBinary,callback){if(!supportsBinary)return encodeBase64Packet(packet,callback);var data=packet.data,typeBuffer=Buffer.allocUnsafe(1);return typeBuffer[0]=exports2.packets[packet.type],callback(Buffer.concat([typeBuffer,data]))}function encodeBase64Packet(packet,callback){var data=Buffer.isBuffer(packet.data)?packet.data:arrayBufferToBuffer(packet.data),message="b"+exports2.packets[packet.type];return message+=data.toString("base64"),callback(message)}function decodePacket(data,binaryType,utf8decode){if(data===void 0)return err;let type;if(typeof data=="string")return type=data.charAt(0),type==="b"?decodeBase64Packet(data.slice(1),binaryType):utf8decode&&(data=tryDecode(data),data===!1)||Number(type)!=type||!packetslist[type]?err:data.length>1?{type:packetslist[type],data:data.slice(1)}:{type:packetslist[type]};if(binaryType==="arraybuffer"){var intArray=new Uint8Array(data);return type=intArray[0],{type:packetslist[type],data:intArray.buffer.slice(1)}}return data instanceof ArrayBuffer&&(data=arrayBufferToBuffer(data)),type=data[0],{type:packetslist[type],data:data.slice(1)}}function tryDecode(data){try{data=utf8.decode(data,{strict:!1})}catch{return!1}return data}function decodeBase64Packet(msg,binaryType){var type=packetslist[msg.charAt(0)],data=Buffer.from(msg.slice(1),"base64");if(binaryType==="arraybuffer"){for(var abv=new Uint8Array(data.length),i=0;i<abv.length;i++)abv[i]=data[i];data=abv.buffer}return{type,data}}function encodePayload(packets,supportsBinary,callback){if(typeof supportsBinary=="function"&&(callback=supportsBinary,supportsBinary=null),supportsBinary&&hasBinary(packets))return encodePayloadAsBinary(packets,callback);if(!packets.length)return callback("0:");function encodeOne(packet,doneCallback){encodePacket(packet,supportsBinary,!1,function(message){doneCallback(null,setLengthHeader(message))})}map(packets,encodeOne,function(err2,results){return callback(results.join(""))})}function setLengthHeader(message){return message.length+":"+message}function map(ary,each,done){let results=new Array(ary.length),count=0;for(let i=0;i<ary.length;i++)each(ary[i],(error,msg)=>{results[i]=msg,++count===ary.length&&done(null,results)})}function decodePayload(data,binaryType,callback){if(typeof data!="string")return decodePayloadAsBinary(data,binaryType,callback);if(typeof binaryType=="function"&&(callback=binaryType,binaryType=null),data==="")return callback(err,0,1);for(var length="",n,msg,packet,i=0,l=data.length;i<l;i++){var chr=data.charAt(i);if(chr!==":"){length+=chr;continue}if(length===""||length!=(n=Number(length))||(msg=data.slice(i+1,i+1+n),length!=msg.length))return callback(err,0,1);if(msg.length){if(packet=decodePacket(msg,binaryType,!1),err.type===packet.type&&err.data===packet.data)return callback(err,0,1);var more=callback(packet,i+n,l);if(more===!1)return}i+=n,length=""}if(length!=="")return callback(err,0,1)}function bufferToString(buffer){for(var str="",i=0,l=buffer.length;i<l;i++)str+=String.fromCharCode(buffer[i]);return str}function stringToBuffer(string){for(var buf=Buffer.allocUnsafe(string.length),i=0,l=string.length;i<l;i++)buf.writeUInt8(string.charCodeAt(i),i);return buf}function arrayBufferToBuffer(data){var length=data.byteLength||data.length,offset=data.byteOffset||0;return Buffer.from(data.buffer||data,offset,length)}function encodePayloadAsBinary(packets,callback){if(!packets.length)return callback(EMPTY_BUFFER);map(packets,encodeOneBinaryPacket,function(err2,results){return callback(Buffer.concat(results))})}function encodeOneBinaryPacket(p,doneCallback){function onBinaryPacketEncode(packet){var encodingLength=""+packet.length,sizeBuffer;if(typeof packet=="string"){sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2),sizeBuffer[0]=0;for(var i=0;i<encodingLength.length;i++)sizeBuffer[i+1]=parseInt(encodingLength[i],10);return sizeBuffer[sizeBuffer.length-1]=255,doneCallback(null,Buffer.concat([sizeBuffer,stringToBuffer(packet)]))}sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2),sizeBuffer[0]=1;for(var i=0;i<encodingLength.length;i++)sizeBuffer[i+1]=parseInt(encodingLength[i],10);sizeBuffer[sizeBuffer.length-1]=255,doneCallback(null,Buffer.concat([sizeBuffer,packet]))}encodePacket(p,!0,!0,onBinaryPacketEncode)}function decodePayloadAsBinary(data,binaryType,callback){typeof binaryType=="function"&&(callback=binaryType,binaryType=null);for(var bufferTail=data,buffers=[],i;bufferTail.length>0;){var strLen="",isString=bufferTail[0]===0;for(i=1;bufferTail[i]!==255;i++){if(strLen.length>310)return callback(err,0,1);strLen+=""+bufferTail[i]}bufferTail=bufferTail.slice(strLen.length+1);var msgLength=parseInt(strLen,10),msg=bufferTail.slice(1,msgLength+1);isString&&(msg=bufferToString(msg)),buffers.push(msg),bufferTail=bufferTail.slice(msgLength+1)}var total=buffers.length;for(i=0;i<total;i++){var buffer=buffers[i];callback(decodePacket(buffer,binaryType,!0),i,total)}}}});var require_common4=__commonJS({"node_modules/engine.io/node_modules/debug/src/common.js"(exports2,module2){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args){if(!debug.enabled)return;let self2=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self2.diff=ms,self2.prev=prevTime,self2.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!="string"&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format];if(typeof formatter=="function"){let val=args[index];match=formatter.call(self2,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self2,args),(self2.log||createDebug.log).apply(self2,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>enableOverride!==null?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),typeof createDebug.init=="function"&&createDebug.init(debug),debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces=="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)ns[0]==="-"?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))template[templateIndex]==="*"?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template.length&&template[templateIndex]==="*";)templateIndex++;return templateIndex===template.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module2.exports=setup}});var require_browser7=__commonJS({"node_modules/engine.io/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();exports2.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<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{match!=="%%"&&(index++,match==="%c"&&(lastC=index))}),args.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{namespaces?exports2.storage.setItem("debug",namespaces):exports2.storage.removeItem("debug")}catch{}}function load2(){let r;try{r=exports2.storage.getItem("debug")||exports2.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function localstorage(){try{return localStorage}catch{}}module2.exports=require_common4()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node7=__commonJS({"node_modules/engine.io/node_modules/debug/src/node.js"(exports2,module2){var tty=require("tty"),util=require("util");exports2.init=init;exports2.log=log;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports2.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{}exports2.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];return/^(yes|on|true|enabled)$/i.test(val)?val=!0:/^(no|off|false|disabled)$/i.test(val)?val=!1:val==="null"?val=null:val=Number(val),obj[prop]=val,obj},{});function useColors(){return"colors"in exports2.inspectOpts?!!exports2.inspectOpts.colors:tty.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name,useColors:useColors2}=this;if(useColors2){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args[0]=prefix+args[0].split(`
89
+ `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}}});var require_parse2=__commonJS({"node_modules/braces/lib/parse.js"(exports2,module2){"use strict";var stringify=require_stringify2(),{MAX_LENGTH,CHAR_BACKSLASH,CHAR_BACKTICK,CHAR_COMMA,CHAR_DOT,CHAR_LEFT_PARENTHESES,CHAR_RIGHT_PARENTHESES,CHAR_LEFT_CURLY_BRACE,CHAR_RIGHT_CURLY_BRACE,CHAR_LEFT_SQUARE_BRACKET,CHAR_RIGHT_SQUARE_BRACKET,CHAR_DOUBLE_QUOTE,CHAR_SINGLE_QUOTE,CHAR_NO_BREAK_SPACE,CHAR_ZERO_WIDTH_NOBREAK_SPACE}=require_constants(),parse=(input,options={})=>{if(typeof input!="string")throw new TypeError("Expected a string");let opts=options||{},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH;if(input.length>max)throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);let ast={type:"root",input,nodes:[]},stack=[ast],block=ast,prev=ast,brackets=0,length=input.length,index=0,depth=0,value,advance=()=>input[index++],push=node=>{if(node.type==="text"&&prev.type==="dot"&&(prev.type="text"),prev&&prev.type==="text"&&node.type==="text"){prev.value+=node.value;return}return block.nodes.push(node),node.parent=block,node.prev=prev,prev=node,node};for(push({type:"bos"});index<length;)if(block=stack[stack.length-1],value=advance(),!(value===CHAR_ZERO_WIDTH_NOBREAK_SPACE||value===CHAR_NO_BREAK_SPACE)){if(value===CHAR_BACKSLASH){push({type:"text",value:(options.keepEscaping?value:"")+advance()});continue}if(value===CHAR_RIGHT_SQUARE_BRACKET){push({type:"text",value:"\\"+value});continue}if(value===CHAR_LEFT_SQUARE_BRACKET){brackets++;let next;for(;index<length&&(next=advance());){if(value+=next,next===CHAR_LEFT_SQUARE_BRACKET){brackets++;continue}if(next===CHAR_BACKSLASH){value+=advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET&&(brackets--,brackets===0))break}push({type:"text",value});continue}if(value===CHAR_LEFT_PARENTHESES){block=push({type:"paren",nodes:[]}),stack.push(block),push({type:"text",value});continue}if(value===CHAR_RIGHT_PARENTHESES){if(block.type!=="paren"){push({type:"text",value});continue}block=stack.pop(),push({type:"text",value}),block=stack[stack.length-1];continue}if(value===CHAR_DOUBLE_QUOTE||value===CHAR_SINGLE_QUOTE||value===CHAR_BACKTICK){let open=value,next;for(options.keepQuotes!==!0&&(value="");index<length&&(next=advance());){if(next===CHAR_BACKSLASH){value+=next+advance();continue}if(next===open){options.keepQuotes===!0&&(value+=next);break}value+=next}push({type:"text",value});continue}if(value===CHAR_LEFT_CURLY_BRACE){depth++;let brace={type:"brace",open:!0,close:!1,dollar:prev.value&&prev.value.slice(-1)==="$"||block.dollar===!0,depth,commas:0,ranges:0,nodes:[]};block=push(brace),stack.push(block),push({type:"open",value});continue}if(value===CHAR_RIGHT_CURLY_BRACE){if(block.type!=="brace"){push({type:"text",value});continue}let type="close";block=stack.pop(),block.close=!0,push({type,value}),depth--,block=stack[stack.length-1];continue}if(value===CHAR_COMMA&&depth>0){if(block.ranges>0){block.ranges=0;let open=block.nodes.shift();block.nodes=[open,{type:"text",value:stringify(block)}]}push({type:"comma",value}),block.commas++;continue}if(value===CHAR_DOT&&depth>0&&block.commas===0){let siblings=block.nodes;if(depth===0||siblings.length===0){push({type:"text",value});continue}if(prev.type==="dot"){if(block.range=[],prev.value+=value,prev.type="range",block.nodes.length!==3&&block.nodes.length!==5){block.invalid=!0,block.ranges=0,prev.type="text";continue}block.ranges++,block.args=[];continue}if(prev.type==="range"){siblings.pop();let before=siblings[siblings.length-1];before.value+=prev.value+value,prev=before,block.ranges--;continue}push({type:"dot",value});continue}push({type:"text",value})}do if(block=stack.pop(),block.type!=="root"){block.nodes.forEach(node=>{node.nodes||(node.type==="open"&&(node.isOpen=!0),node.type==="close"&&(node.isClose=!0),node.nodes||(node.type="text"),node.invalid=!0)});let parent=stack[stack.length-1],index2=parent.nodes.indexOf(block);parent.nodes.splice(index2,1,...block.nodes)}while(stack.length>0);return push({type:"eos"}),ast};module2.exports=parse}});var require_braces=__commonJS({"node_modules/braces/index.js"(exports2,module2){"use strict";var stringify=require_stringify2(),compile=require_compile(),expand=require_expand(),parse=require_parse2(),braces=(input,options={})=>{let output=[];if(Array.isArray(input))for(let pattern of input){let result=braces.create(pattern,options);Array.isArray(result)?output.push(...result):output.push(result)}else output=[].concat(braces.create(input,options));return options&&options.expand===!0&&options.nodupes===!0&&(output=[...new Set(output)]),output};braces.parse=(input,options={})=>parse(input,options);braces.stringify=(input,options={})=>stringify(typeof input=="string"?braces.parse(input,options):input,options);braces.compile=(input,options={})=>(typeof input=="string"&&(input=braces.parse(input,options)),compile(input,options));braces.expand=(input,options={})=>{typeof input=="string"&&(input=braces.parse(input,options));let result=expand(input,options);return options.noempty===!0&&(result=result.filter(Boolean)),options.nodupes===!0&&(result=[...new Set(result)]),result};braces.create=(input,options={})=>input===""||input.length<3?[input]:options.expand!==!0?braces.compile(input,options):braces.expand(input,options);module2.exports=braces}});var require_constants2=__commonJS({"node_modules/picomatch/lib/constants.js"(exports2,module2){"use strict";var path=require("path"),WIN_SLASH="\\\\/",WIN_NO_SLASH=`[^${WIN_SLASH}]`,DOT_LITERAL="\\.",PLUS_LITERAL="\\+",QMARK_LITERAL="\\?",SLASH_LITERAL="\\/",ONE_CHAR="(?=.)",QMARK="[^/]",END_ANCHOR=`(?:${SLASH_LITERAL}|$)`,START_ANCHOR=`(?:^|${SLASH_LITERAL})`,DOTS_SLASH=`${DOT_LITERAL}{1,2}${END_ANCHOR}`,NO_DOT=`(?!${DOT_LITERAL})`,NO_DOTS=`(?!${START_ANCHOR}${DOTS_SLASH})`,NO_DOT_SLASH=`(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`,NO_DOTS_SLASH=`(?!${DOTS_SLASH})`,QMARK_NO_DOT=`[^.${SLASH_LITERAL}]`,STAR=`${QMARK}*?`,POSIX_CHARS={DOT_LITERAL,PLUS_LITERAL,QMARK_LITERAL,SLASH_LITERAL,ONE_CHAR,QMARK,END_ANCHOR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK_NO_DOT,STAR,START_ANCHOR},WINDOWS_CHARS={...POSIX_CHARS,SLASH_LITERAL:`[${WIN_SLASH}]`,QMARK:WIN_NO_SLASH,STAR:`${WIN_NO_SLASH}*?`,DOTS_SLASH:`${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,NO_DOT:`(?!${DOT_LITERAL})`,NO_DOTS:`(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,NO_DOT_SLASH:`(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,NO_DOTS_SLASH:`(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,QMARK_NO_DOT:`[^.${WIN_SLASH}]`,START_ANCHOR:`(?:^|[${WIN_SLASH}])`,END_ANCHOR:`(?:[${WIN_SLASH}]|$)`},POSIX_REGEX_SOURCE={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};module2.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:path.sep,extglobChars(chars){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${chars.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(win32){return win32===!0?WINDOWS_CHARS:POSIX_CHARS}}}});var require_utils7=__commonJS({"node_modules/picomatch/lib/utils.js"(exports2){"use strict";var path=require("path"),win32=process.platform==="win32",{REGEX_BACKSLASH,REGEX_REMOVE_BACKSLASH,REGEX_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_GLOBAL}=require_constants2();exports2.isObject=val=>val!==null&&typeof val=="object"&&!Array.isArray(val);exports2.hasRegexChars=str=>REGEX_SPECIAL_CHARS.test(str);exports2.isRegexChar=str=>str.length===1&&exports2.hasRegexChars(str);exports2.escapeRegex=str=>str.replace(REGEX_SPECIAL_CHARS_GLOBAL,"\\$1");exports2.toPosixSlashes=str=>str.replace(REGEX_BACKSLASH,"/");exports2.removeBackslashes=str=>str.replace(REGEX_REMOVE_BACKSLASH,match=>match==="\\"?"":match);exports2.supportsLookbehinds=()=>{let segs=process.version.slice(1).split(".").map(Number);return segs.length===3&&segs[0]>=9||segs[0]===8&&segs[1]>=10};exports2.isWindows=options=>options&&typeof options.windows=="boolean"?options.windows:win32===!0||path.sep==="\\";exports2.escapeLast=(input,char,lastIdx)=>{let idx=input.lastIndexOf(char,lastIdx);return idx===-1?input:input[idx-1]==="\\"?exports2.escapeLast(input,char,idx-1):`${input.slice(0,idx)}\\${input.slice(idx)}`};exports2.removePrefix=(input,state={})=>{let output=input;return output.startsWith("./")&&(output=output.slice(2),state.prefix="./"),output};exports2.wrapOutput=(input,state={},options={})=>{let prepend=options.contains?"":"^",append=options.contains?"":"$",output=`${prepend}(?:${input})${append}`;return state.negated===!0&&(output=`(?:^(?!${output}).*$)`),output}}});var require_scan=__commonJS({"node_modules/picomatch/lib/scan.js"(exports2,module2){"use strict";var utils=require_utils7(),{CHAR_ASTERISK,CHAR_AT,CHAR_BACKWARD_SLASH,CHAR_COMMA,CHAR_DOT,CHAR_EXCLAMATION_MARK,CHAR_FORWARD_SLASH,CHAR_LEFT_CURLY_BRACE,CHAR_LEFT_PARENTHESES,CHAR_LEFT_SQUARE_BRACKET,CHAR_PLUS,CHAR_QUESTION_MARK,CHAR_RIGHT_CURLY_BRACE,CHAR_RIGHT_PARENTHESES,CHAR_RIGHT_SQUARE_BRACKET}=require_constants2(),isPathSeparator=code=>code===CHAR_FORWARD_SLASH||code===CHAR_BACKWARD_SLASH,depth=token=>{token.isPrefix!==!0&&(token.depth=token.isGlobstar?1/0:1)},scan=(input,options)=>{let opts=options||{},length=input.length-1,scanToEnd=opts.parts===!0||opts.scanToEnd===!0,slashes=[],tokens=[],parts=[],str=input,index=-1,start=0,lastIndex=0,isBrace=!1,isBracket=!1,isGlob=!1,isExtglob=!1,isGlobstar=!1,braceEscaped=!1,backslashes=!1,negated=!1,negatedExtglob=!1,finished=!1,braces=0,prev,code,token={value:"",depth:0,isGlob:!1},eos=()=>index>=length,peek=()=>str.charCodeAt(index+1),advance=()=>(prev=code,str.charCodeAt(++index));for(;index<length;){code=advance();let next;if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance(),code===CHAR_LEFT_CURLY_BRACE&&(braceEscaped=!0);continue}if(braceEscaped===!0||code===CHAR_LEFT_CURLY_BRACE){for(braces++;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(code===CHAR_LEFT_CURLY_BRACE){braces++;continue}if(braceEscaped!==!0&&code===CHAR_DOT&&(code=advance())===CHAR_DOT){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(braceEscaped!==!0&&code===CHAR_COMMA){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_RIGHT_CURLY_BRACE&&(braces--,braces===0)){braceEscaped=!1,isBrace=token.isBrace=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(code===CHAR_FORWARD_SLASH){if(slashes.push(index),tokens.push(token),token={value:"",depth:0,isGlob:!1},finished===!0)continue;if(prev===CHAR_DOT&&index===start+1){start+=2;continue}lastIndex=index+1;continue}if(opts.noext!==!0&&(code===CHAR_PLUS||code===CHAR_AT||code===CHAR_ASTERISK||code===CHAR_QUESTION_MARK||code===CHAR_EXCLAMATION_MARK)===!0&&peek()===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,isExtglob=token.isExtglob=!0,finished=!0,code===CHAR_EXCLAMATION_MARK&&index===start&&(negatedExtglob=!0),scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){isGlob=token.isGlob=!0,finished=!0;break}}continue}break}if(code===CHAR_ASTERISK){if(prev===CHAR_ASTERISK&&(isGlobstar=token.isGlobstar=!0),isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_QUESTION_MARK){if(isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_LEFT_SQUARE_BRACKET){for(;eos()!==!0&&(next=advance());){if(next===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET){isBracket=token.isBracket=!0,isGlob=token.isGlob=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(opts.nonegate!==!0&&code===CHAR_EXCLAMATION_MARK&&index===start){negated=token.negated=!0,start++;continue}if(opts.noparen!==!0&&code===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_LEFT_PARENTHESES){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){finished=!0;break}}continue}break}if(isGlob===!0){if(finished=!0,scanToEnd===!0)continue;break}}opts.noext===!0&&(isExtglob=!1,isGlob=!1);let base=str,prefix="",glob="";start>0&&(prefix=str.slice(0,start),str=str.slice(start),lastIndex-=start),base&&isGlob===!0&&lastIndex>0?(base=str.slice(0,lastIndex),glob=str.slice(lastIndex)):isGlob===!0?(base="",glob=str):base=str,base&&base!==""&&base!=="/"&&base!==str&&isPathSeparator(base.charCodeAt(base.length-1))&&(base=base.slice(0,-1)),opts.unescape===!0&&(glob&&(glob=utils.removeBackslashes(glob)),base&&backslashes===!0&&(base=utils.removeBackslashes(base)));let state={prefix,input,start,base,glob,isBrace,isBracket,isGlob,isExtglob,isGlobstar,negated,negatedExtglob};if(opts.tokens===!0&&(state.maxDepth=0,isPathSeparator(code)||tokens.push(token),state.tokens=tokens),opts.parts===!0||opts.tokens===!0){let prevIndex;for(let idx=0;idx<slashes.length;idx++){let n=prevIndex?prevIndex+1:start,i=slashes[idx],value=input.slice(n,i);opts.tokens&&(idx===0&&start!==0?(tokens[idx].isPrefix=!0,tokens[idx].value=prefix):tokens[idx].value=value,depth(tokens[idx]),state.maxDepth+=tokens[idx].depth),(idx!==0||value!=="")&&parts.push(value),prevIndex=i}if(prevIndex&&prevIndex+1<input.length){let value=input.slice(prevIndex+1);parts.push(value),opts.tokens&&(tokens[tokens.length-1].value=value,depth(tokens[tokens.length-1]),state.maxDepth+=tokens[tokens.length-1].depth)}state.slashes=slashes,state.parts=parts}return state};module2.exports=scan}});var require_parse3=__commonJS({"node_modules/picomatch/lib/parse.js"(exports2,module2){"use strict";var constants=require_constants2(),utils=require_utils7(),{MAX_LENGTH,POSIX_REGEX_SOURCE,REGEX_NON_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_BACKREF,REPLACEMENTS}=constants,expandRange=(args,options)=>{if(typeof options.expandRange=="function")return options.expandRange(...args,options);args.sort();let value=`[${args.join("-")}]`;try{new RegExp(value)}catch{return args.map(v=>utils.escapeRegex(v)).join("..")}return value},syntaxError=(type,char)=>`Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`,parse=(input,options)=>{if(typeof input!="string")throw new TypeError("Expected a string");input=REPLACEMENTS[input]||input;let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);let bos={type:"bos",value:"",output:opts.prepend||""},tokens=[bos],capture=opts.capture?"":"?:",win32=utils.isWindows(options),PLATFORM_CHARS=constants.globChars(win32),EXTGLOB_CHARS=constants.extglobChars(PLATFORM_CHARS),{DOT_LITERAL,PLUS_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK,QMARK_NO_DOT,STAR,START_ANCHOR}=PLATFORM_CHARS,globstar=opts2=>`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,nodot=opts.dot?"":NO_DOT,qmarkNoDot=opts.dot?QMARK:QMARK_NO_DOT,star=opts.bash===!0?globstar(opts):STAR;opts.capture&&(star=`(${star})`),typeof opts.noext=="boolean"&&(opts.noextglob=opts.noext);let state={input,index:-1,start:0,dot:opts.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens};input=utils.removePrefix(input,state),len=input.length;let extglobs=[],braces=[],stack=[],prev=bos,value,eos=()=>state.index===len-1,peek=state.peek=(n=1)=>input[state.index+n],advance=state.advance=()=>input[++state.index]||"",remaining=()=>input.slice(state.index+1),consume=(value2="",num=0)=>{state.consumed+=value2,state.index+=num},append=token=>{state.output+=token.output!=null?token.output:token.value,consume(token.value)},negate=()=>{let count=1;for(;peek()==="!"&&(peek(2)!=="("||peek(3)==="?");)advance(),state.start++,count++;return count%2===0?!1:(state.negated=!0,state.start++,!0)},increment=type=>{state[type]++,stack.push(type)},decrement=type=>{state[type]--,stack.pop()},push=tok=>{if(prev.type==="globstar"){let isBrace=state.braces>0&&(tok.type==="comma"||tok.type==="brace"),isExtglob=tok.extglob===!0||extglobs.length&&(tok.type==="pipe"||tok.type==="paren");tok.type!=="slash"&&tok.type!=="paren"&&!isBrace&&!isExtglob&&(state.output=state.output.slice(0,-prev.output.length),prev.type="star",prev.value="*",prev.output=star,state.output+=prev.output)}if(extglobs.length&&tok.type!=="paren"&&(extglobs[extglobs.length-1].inner+=tok.value),(tok.value||tok.output)&&append(tok),prev&&prev.type==="text"&&tok.type==="text"){prev.value+=tok.value,prev.output=(prev.output||"")+tok.value;return}tok.prev=prev,tokens.push(tok),prev=tok},extglobOpen=(type,value2)=>{let token={...EXTGLOB_CHARS[value2],conditions:1,inner:""};token.prev=prev,token.parens=state.parens,token.output=state.output;let output=(opts.capture?"(":"")+token.open;increment("parens"),push({type,value:value2,output:state.output?"":ONE_CHAR}),push({type:"paren",extglob:!0,value:advance(),output}),extglobs.push(token)},extglobClose=token=>{let output=token.close+(opts.capture?")":""),rest;if(token.type==="negate"){let extglobStar=star;if(token.inner&&token.inner.length>1&&token.inner.includes("/")&&(extglobStar=globstar(opts)),(extglobStar!==star||eos()||/^\)+$/.test(remaining()))&&(output=token.close=`)$))${extglobStar}`),token.inner.includes("*")&&(rest=remaining())&&/^\.[^\\/.]+$/.test(rest)){let expression=parse(rest,{...options,fastpaths:!1}).output;output=token.close=`)${expression})${extglobStar})`}token.prev.type==="bos"&&(state.negatedExtglob=!0)}push({type:"paren",extglob:!0,value,output}),decrement("parens")};if(opts.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(input)){let backslashes=!1,output=input.replace(REGEX_SPECIAL_CHARS_BACKREF,(m,esc,chars,first,rest,index)=>first==="\\"?(backslashes=!0,m):first==="?"?esc?esc+first+(rest?QMARK.repeat(rest.length):""):index===0?qmarkNoDot+(rest?QMARK.repeat(rest.length):""):QMARK.repeat(chars.length):first==="."?DOT_LITERAL.repeat(chars.length):first==="*"?esc?esc+first+(rest?star:""):star:esc?m:`\\${m}`);return backslashes===!0&&(opts.unescape===!0?output=output.replace(/\\/g,""):output=output.replace(/\\+/g,m=>m.length%2===0?"\\\\":m?"\\":"")),output===input&&opts.contains===!0?(state.output=input,state):(state.output=utils.wrapOutput(output,state,options),state)}for(;!eos();){if(value=advance(),value==="\0")continue;if(value==="\\"){let next=peek();if(next==="/"&&opts.bash!==!0||next==="."||next===";")continue;if(!next){value+="\\",push({type:"text",value});continue}let match=/^\\+/.exec(remaining()),slashes=0;if(match&&match[0].length>2&&(slashes=match[0].length,state.index+=slashes,slashes%2!==0&&(value+="\\")),opts.unescape===!0?value=advance():value+=advance(),state.brackets===0){push({type:"text",value});continue}}if(state.brackets>0&&(value!=="]"||prev.value==="["||prev.value==="[^")){if(opts.posix!==!1&&value===":"){let inner=prev.value.slice(1);if(inner.includes("[")&&(prev.posix=!0,inner.includes(":"))){let idx=prev.value.lastIndexOf("["),pre=prev.value.slice(0,idx),rest2=prev.value.slice(idx+2),posix=POSIX_REGEX_SOURCE[rest2];if(posix){prev.value=pre+posix,state.backtrack=!0,advance(),!bos.output&&tokens.indexOf(prev)===1&&(bos.output=ONE_CHAR);continue}}}(value==="["&&peek()!==":"||value==="-"&&peek()==="]")&&(value=`\\${value}`),value==="]"&&(prev.value==="["||prev.value==="[^")&&(value=`\\${value}`),opts.posix===!0&&value==="!"&&prev.value==="["&&(value="^"),prev.value+=value,append({value});continue}if(state.quotes===1&&value!=='"'){value=utils.escapeRegex(value),prev.value+=value,append({value});continue}if(value==='"'){state.quotes=state.quotes===1?0:1,opts.keepQuotes===!0&&push({type:"text",value});continue}if(value==="("){increment("parens"),push({type:"paren",value});continue}if(value===")"){if(state.parens===0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","("));let extglob=extglobs[extglobs.length-1];if(extglob&&state.parens===extglob.parens+1){extglobClose(extglobs.pop());continue}push({type:"paren",value,output:state.parens?")":"\\)"}),decrement("parens");continue}if(value==="["){if(opts.nobracket===!0||!remaining().includes("]")){if(opts.nobracket!==!0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));value=`\\${value}`}else increment("brackets");push({type:"bracket",value});continue}if(value==="]"){if(opts.nobracket===!0||prev&&prev.type==="bracket"&&prev.value.length===1){push({type:"text",value,output:`\\${value}`});continue}if(state.brackets===0){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","["));push({type:"text",value,output:`\\${value}`});continue}decrement("brackets");let prevValue=prev.value.slice(1);if(prev.posix!==!0&&prevValue[0]==="^"&&!prevValue.includes("/")&&(value=`/${value}`),prev.value+=value,append({value}),opts.literalBrackets===!1||utils.hasRegexChars(prevValue))continue;let escaped=utils.escapeRegex(prev.value);if(state.output=state.output.slice(0,-prev.value.length),opts.literalBrackets===!0){state.output+=escaped,prev.value=escaped;continue}prev.value=`(${capture}${escaped}|${prev.value})`,state.output+=prev.value;continue}if(value==="{"&&opts.nobrace!==!0){increment("braces");let open={type:"brace",value,output:"(",outputIndex:state.output.length,tokensIndex:state.tokens.length};braces.push(open),push(open);continue}if(value==="}"){let brace=braces[braces.length-1];if(opts.nobrace===!0||!brace){push({type:"text",value,output:value});continue}let output=")";if(brace.dots===!0){let arr=tokens.slice(),range=[];for(let i=arr.length-1;i>=0&&(tokens.pop(),arr[i].type!=="brace");i--)arr[i].type!=="dots"&&range.unshift(arr[i].value);output=expandRange(range,opts),state.backtrack=!0}if(brace.comma!==!0&&brace.dots!==!0){let out=state.output.slice(0,brace.outputIndex),toks=state.tokens.slice(brace.tokensIndex);brace.value=brace.output="\\{",value=output="\\}",state.output=out;for(let t of toks)state.output+=t.output||t.value}push({type:"brace",value,output}),decrement("braces"),braces.pop();continue}if(value==="|"){extglobs.length>0&&extglobs[extglobs.length-1].conditions++,push({type:"text",value});continue}if(value===","){let output=value,brace=braces[braces.length-1];brace&&stack[stack.length-1]==="braces"&&(brace.comma=!0,output="|"),push({type:"comma",value,output});continue}if(value==="/"){if(prev.type==="dot"&&state.index===state.start+1){state.start=state.index+1,state.consumed="",state.output="",tokens.pop(),prev=bos;continue}push({type:"slash",value,output:SLASH_LITERAL});continue}if(value==="."){if(state.braces>0&&prev.type==="dot"){prev.value==="."&&(prev.output=DOT_LITERAL);let brace=braces[braces.length-1];prev.type="dots",prev.output+=value,prev.value+=value,brace.dots=!0;continue}if(state.braces+state.parens===0&&prev.type!=="bos"&&prev.type!=="slash"){push({type:"text",value,output:DOT_LITERAL});continue}push({type:"dot",value,output:DOT_LITERAL});continue}if(value==="?"){if(!(prev&&prev.value==="(")&&opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("qmark",value);continue}if(prev&&prev.type==="paren"){let next=peek(),output=value;if(next==="<"&&!utils.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(prev.value==="("&&!/[!=<:]/.test(next)||next==="<"&&!/<([!=]|\w+>)/.test(remaining()))&&(output=`\\${value}`),push({type:"text",value,output});continue}if(opts.dot!==!0&&(prev.type==="slash"||prev.type==="bos")){push({type:"qmark",value,output:QMARK_NO_DOT});continue}push({type:"qmark",value,output:QMARK});continue}if(value==="!"){if(opts.noextglob!==!0&&peek()==="("&&(peek(2)!=="?"||!/[!=<:]/.test(peek(3)))){extglobOpen("negate",value);continue}if(opts.nonegate!==!0&&state.index===0){negate();continue}}if(value==="+"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("plus",value);continue}if(prev&&prev.value==="("||opts.regex===!1){push({type:"plus",value,output:PLUS_LITERAL});continue}if(prev&&(prev.type==="bracket"||prev.type==="paren"||prev.type==="brace")||state.parens>0){push({type:"plus",value});continue}push({type:"plus",value:PLUS_LITERAL});continue}if(value==="@"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){push({type:"at",extglob:!0,value,output:""});continue}push({type:"text",value});continue}if(value!=="*"){(value==="$"||value==="^")&&(value=`\\${value}`);let match=REGEX_NON_SPECIAL_CHARS.exec(remaining());match&&(value+=match[0],state.index+=match[0].length),push({type:"text",value});continue}if(prev&&(prev.type==="globstar"||prev.star===!0)){prev.type="star",prev.star=!0,prev.value+=value,prev.output=star,state.backtrack=!0,state.globstar=!0,consume(value);continue}let rest=remaining();if(opts.noextglob!==!0&&/^\([^?]/.test(rest)){extglobOpen("star",value);continue}if(prev.type==="star"){if(opts.noglobstar===!0){consume(value);continue}let prior=prev.prev,before=prior.prev,isStart=prior.type==="slash"||prior.type==="bos",afterStar=before&&(before.type==="star"||before.type==="globstar");if(opts.bash===!0&&(!isStart||rest[0]&&rest[0]!=="/")){push({type:"star",value,output:""});continue}let isBrace=state.braces>0&&(prior.type==="comma"||prior.type==="brace"),isExtglob=extglobs.length&&(prior.type==="pipe"||prior.type==="paren");if(!isStart&&prior.type!=="paren"&&!isBrace&&!isExtglob){push({type:"star",value,output:""});continue}for(;rest.slice(0,3)==="/**";){let after=input[state.index+4];if(after&&after!=="/")break;rest=rest.slice(3),consume("/**",3)}if(prior.type==="bos"&&eos()){prev.type="globstar",prev.value+=value,prev.output=globstar(opts),state.output=prev.output,state.globstar=!0,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&!afterStar&&eos()){state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=globstar(opts)+(opts.strictSlashes?")":"|$)"),prev.value+=value,state.globstar=!0,state.output+=prior.output+prev.output,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&rest[0]==="/"){let end=rest[1]!==void 0?"|$":"";state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=`${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`,prev.value+=value,state.output+=prior.output+prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}if(prior.type==="bos"&&rest[0]==="/"){prev.type="globstar",prev.value+=value,prev.output=`(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`,state.output=prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}state.output=state.output.slice(0,-prev.output.length),prev.type="globstar",prev.output=globstar(opts),prev.value+=value,state.output+=prev.output,state.globstar=!0,consume(value);continue}let token={type:"star",value,output:star};if(opts.bash===!0){token.output=".*?",(prev.type==="bos"||prev.type==="slash")&&(token.output=nodot+token.output),push(token);continue}if(prev&&(prev.type==="bracket"||prev.type==="paren")&&opts.regex===!0){token.output=value,push(token);continue}(state.index===state.start||prev.type==="slash"||prev.type==="dot")&&(prev.type==="dot"?(state.output+=NO_DOT_SLASH,prev.output+=NO_DOT_SLASH):opts.dot===!0?(state.output+=NO_DOTS_SLASH,prev.output+=NO_DOTS_SLASH):(state.output+=nodot,prev.output+=nodot),peek()!=="*"&&(state.output+=ONE_CHAR,prev.output+=ONE_CHAR)),push(token)}for(;state.brackets>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));state.output=utils.escapeLast(state.output,"["),decrement("brackets")}for(;state.parens>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing",")"));state.output=utils.escapeLast(state.output,"("),decrement("parens")}for(;state.braces>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","}"));state.output=utils.escapeLast(state.output,"{"),decrement("braces")}if(opts.strictSlashes!==!0&&(prev.type==="star"||prev.type==="bracket")&&push({type:"maybe_slash",value:"",output:`${SLASH_LITERAL}?`}),state.backtrack===!0){state.output="";for(let token of state.tokens)state.output+=token.output!=null?token.output:token.value,token.suffix&&(state.output+=token.suffix)}return state};parse.fastpaths=(input,options)=>{let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);input=REPLACEMENTS[input]||input;let win32=utils.isWindows(options),{DOT_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOTS_SLASH,STAR,START_ANCHOR}=constants.globChars(win32),nodot=opts.dot?NO_DOTS:NO_DOT,slashDot=opts.dot?NO_DOTS_SLASH:NO_DOT,capture=opts.capture?"":"?:",state={negated:!1,prefix:""},star=opts.bash===!0?".*?":STAR;opts.capture&&(star=`(${star})`);let globstar=opts2=>opts2.noglobstar===!0?star:`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,create=str=>{switch(str){case"*":return`${nodot}${ONE_CHAR}${star}`;case".*":return`${DOT_LITERAL}${ONE_CHAR}${star}`;case"*.*":return`${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"*/*":return`${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;case"**":return nodot+globstar(opts);case"**/*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;case"**/*.*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"**/.*":return`(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;default:{let match=/^(.*?)\.(\w+)$/.exec(str);if(!match)return;let source2=create(match[1]);return source2?source2+DOT_LITERAL+match[2]:void 0}}},output=utils.removePrefix(input,state),source=create(output);return source&&opts.strictSlashes!==!0&&(source+=`${SLASH_LITERAL}?`),source};module2.exports=parse}});var require_picomatch=__commonJS({"node_modules/picomatch/lib/picomatch.js"(exports2,module2){"use strict";var path=require("path"),scan=require_scan(),parse=require_parse3(),utils=require_utils7(),constants=require_constants2(),isObject=val=>val&&typeof val=="object"&&!Array.isArray(val),picomatch=(glob,options,returnState=!1)=>{if(Array.isArray(glob)){let fns=glob.map(input=>picomatch(input,options,returnState));return str=>{for(let isMatch of fns){let state2=isMatch(str);if(state2)return state2}return!1}}let isState=isObject(glob)&&glob.tokens&&glob.input;if(glob===""||typeof glob!="string"&&!isState)throw new TypeError("Expected pattern to be a non-empty string");let opts=options||{},posix=utils.isWindows(options),regex=isState?picomatch.compileRe(glob,options):picomatch.makeRe(glob,options,!1,!0),state=regex.state;delete regex.state;let isIgnored=()=>!1;if(opts.ignore){let ignoreOpts={...options,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(opts.ignore,ignoreOpts,returnState)}let matcher=(input,returnObject=!1)=>{let{isMatch,match,output}=picomatch.test(input,regex,options,{glob,posix}),result={glob,state,regex,posix,input,output,match,isMatch};return typeof opts.onResult=="function"&&opts.onResult(result),isMatch===!1?(result.isMatch=!1,returnObject?result:!1):isIgnored(input)?(typeof opts.onIgnore=="function"&&opts.onIgnore(result),result.isMatch=!1,returnObject?result:!1):(typeof opts.onMatch=="function"&&opts.onMatch(result),returnObject?result:!0)};return returnState&&(matcher.state=state),matcher};picomatch.test=(input,regex,options,{glob,posix}={})=>{if(typeof input!="string")throw new TypeError("Expected input to be a string");if(input==="")return{isMatch:!1,output:""};let opts=options||{},format=opts.format||(posix?utils.toPosixSlashes:null),match=input===glob,output=match&&format?format(input):input;return match===!1&&(output=format?format(input):input,match=output===glob),(match===!1||opts.capture===!0)&&(opts.matchBase===!0||opts.basename===!0?match=picomatch.matchBase(input,regex,options,posix):match=regex.exec(output)),{isMatch:!!match,match,output}};picomatch.matchBase=(input,glob,options,posix=utils.isWindows(options))=>(glob instanceof RegExp?glob:picomatch.makeRe(glob,options)).test(path.basename(input));picomatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);picomatch.parse=(pattern,options)=>Array.isArray(pattern)?pattern.map(p=>picomatch.parse(p,options)):parse(pattern,{...options,fastpaths:!1});picomatch.scan=(input,options)=>scan(input,options);picomatch.compileRe=(state,options,returnOutput=!1,returnState=!1)=>{if(returnOutput===!0)return state.output;let opts=options||{},prepend=opts.contains?"":"^",append=opts.contains?"":"$",source=`${prepend}(?:${state.output})${append}`;state&&state.negated===!0&&(source=`^(?!${source}).*$`);let regex=picomatch.toRegex(source,options);return returnState===!0&&(regex.state=state),regex};picomatch.makeRe=(input,options={},returnOutput=!1,returnState=!1)=>{if(!input||typeof input!="string")throw new TypeError("Expected a non-empty string");let parsed={negated:!1,fastpaths:!0};return options.fastpaths!==!1&&(input[0]==="."||input[0]==="*")&&(parsed.output=parse.fastpaths(input,options)),parsed.output||(parsed=parse(input,options)),picomatch.compileRe(parsed,options,returnOutput,returnState)};picomatch.toRegex=(source,options)=>{try{let opts=options||{};return new RegExp(source,opts.flags||(opts.nocase?"i":""))}catch(err){if(options&&options.debug===!0)throw err;return/$^/}};picomatch.constants=constants;module2.exports=picomatch}});var require_picomatch2=__commonJS({"node_modules/picomatch/index.js"(exports2,module2){"use strict";module2.exports=require_picomatch()}});var require_micromatch=__commonJS({"node_modules/micromatch/index.js"(exports2,module2){"use strict";var util=require("util"),braces=require_braces(),picomatch=require_picomatch2(),utils=require_utils7(),isEmptyString=v=>v===""||v==="./",hasBraces=v=>{let index=v.indexOf("{");return index>-1&&v.indexOf("}",index)>-1},micromatch=(list,patterns,options)=>{patterns=[].concat(patterns),list=[].concat(list);let omit=new Set,keep=new Set,items=new Set,negatives=0,onResult=state=>{items.add(state.output),options&&options.onResult&&options.onResult(state)};for(let i=0;i<patterns.length;i++){let isMatch=picomatch(String(patterns[i]),{...options,onResult},!0),negated=isMatch.state.negated||isMatch.state.negatedExtglob;negated&&negatives++;for(let item of list){let matched=isMatch(item,!0);(negated?!matched.isMatch:matched.isMatch)&&(negated?omit.add(matched.output):(omit.delete(matched.output),keep.add(matched.output)))}}let matches=(negatives===patterns.length?[...items]:[...keep]).filter(item=>!omit.has(item));if(options&&matches.length===0){if(options.failglob===!0)throw new Error(`No matches found for "${patterns.join(", ")}"`);if(options.nonull===!0||options.nullglob===!0)return options.unescape?patterns.map(p=>p.replace(/\\/g,"")):patterns}return matches};micromatch.match=micromatch;micromatch.matcher=(pattern,options)=>picomatch(pattern,options);micromatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);micromatch.any=micromatch.isMatch;micromatch.not=(list,patterns,options={})=>{patterns=[].concat(patterns).map(String);let result=new Set,items=[],onResult=state=>{options.onResult&&options.onResult(state),items.push(state.output)},matches=new Set(micromatch(list,patterns,{...options,onResult}));for(let item of items)matches.has(item)||result.add(item);return[...result]};micromatch.contains=(str,pattern,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);if(Array.isArray(pattern))return pattern.some(p=>micromatch.contains(str,p,options));if(typeof pattern=="string"){if(isEmptyString(str)||isEmptyString(pattern))return!1;if(str.includes(pattern)||str.startsWith("./")&&str.slice(2).includes(pattern))return!0}return micromatch.isMatch(str,pattern,{...options,contains:!0})};micromatch.matchKeys=(obj,patterns,options)=>{if(!utils.isObject(obj))throw new TypeError("Expected the first argument to be an object");let keys=micromatch(Object.keys(obj),patterns,options),res={};for(let key of keys)res[key]=obj[key];return res};micromatch.some=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of[].concat(patterns)){let isMatch=picomatch(String(pattern),options);if(items.some(item=>isMatch(item)))return!0}return!1};micromatch.every=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of[].concat(patterns)){let isMatch=picomatch(String(pattern),options);if(!items.every(item=>isMatch(item)))return!1}return!0};micromatch.all=(str,patterns,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);return[].concat(patterns).every(p=>picomatch(p,options)(str))};micromatch.capture=(glob,input,options)=>{let posix=utils.isWindows(options),match=picomatch.makeRe(String(glob),{...options,capture:!0}).exec(posix?utils.toPosixSlashes(input):input);if(match)return match.slice(1).map(v=>v===void 0?"":v)};micromatch.makeRe=(...args)=>picomatch.makeRe(...args);micromatch.scan=(...args)=>picomatch.scan(...args);micromatch.parse=(patterns,options)=>{let res=[];for(let pattern of[].concat(patterns||[]))for(let str of braces(String(pattern),options))res.push(picomatch.parse(str,options));return res};micromatch.braces=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return options&&options.nobrace===!0||!hasBraces(pattern)?[pattern]:braces(pattern,options)};micromatch.braceExpand=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return micromatch.braces(pattern,{...options,expand:!0})};micromatch.hasBraces=hasBraces;module2.exports=micromatch}});var require_context_matcher=__commonJS({"node_modules/http-proxy-middleware/dist/context-matcher.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.match=void 0;var isGlob=require_is_glob(),micromatch=require_micromatch(),url=require("url"),errors_1=require_errors();function match(context,uri,req){if(isStringPath(context))return matchSingleStringPath(context,uri);if(isGlobPath(context))return matchSingleGlobPath(context,uri);if(Array.isArray(context)){if(context.every(isStringPath))return matchMultiPath(context,uri);if(context.every(isGlobPath))return matchMultiGlobPath(context,uri);throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY)}if(typeof context=="function"){let pathname=getUrlPathName(uri);return context(pathname,req)}throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_GENERIC)}exports2.match=match;function matchSingleStringPath(context,uri){return getUrlPathName(uri).indexOf(context)===0}function matchSingleGlobPath(pattern,uri){let pathname=getUrlPathName(uri),matches=micromatch([pathname],pattern);return matches&&matches.length>0}function matchMultiGlobPath(patternList,uri){return matchSingleGlobPath(patternList,uri)}function matchMultiPath(contextList,uri){let isMultiPath=!1;for(let context of contextList)if(matchSingleStringPath(context,uri)){isMultiPath=!0;break}return isMultiPath}function getUrlPathName(uri){return uri&&url.parse(uri).pathname}function isStringPath(context){return typeof context=="string"&&!isGlob(context)}function isGlobPath(context){return isGlob(context)}}});var require_handlers=__commonJS({"node_modules/http-proxy-middleware/dist/_handlers.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.getHandlers=exports2.init=void 0;var logger_1=require_logger(),logger=(0,logger_1.getInstance)();function init(proxy,option){let handlers=getHandlers(option);for(let eventName of Object.keys(handlers))proxy.on(eventName,handlers[eventName]);proxy.on("econnreset",(error,req,res,target)=>{logger.error("[HPM] ECONNRESET: %O",error)}),proxy.on("proxyReqWs",(proxyReq,req,socket,options,head)=>{socket.on("error",error=>{logger.error("[HPM] WebSocket error: %O",error)})}),logger.debug("[HPM] Subscribed to http-proxy events:",Object.keys(handlers))}exports2.init=init;function getHandlers(options){let proxyEventsMap={error:"onError",proxyReq:"onProxyReq",proxyReqWs:"onProxyReqWs",proxyRes:"onProxyRes",open:"onOpen",close:"onClose"},handlers={};for(let[eventName,onEventName]of Object.entries(proxyEventsMap)){let fnHandler=options?options[onEventName]:null;typeof fnHandler=="function"&&(handlers[eventName]=fnHandler)}return typeof handlers.error!="function"&&(handlers.error=defaultErrorHandler),typeof handlers.close!="function"&&(handlers.close=logClose),handlers}exports2.getHandlers=getHandlers;function defaultErrorHandler(err,req,res){if(!req&&!res)throw err;let host=req.headers&&req.headers.host,code=err.code;if(res.writeHead&&!res.headersSent)if(/HPE_INVALID/.test(code))res.writeHead(502);else switch(code){case"ECONNRESET":case"ENOTFOUND":case"ECONNREFUSED":case"ETIMEDOUT":res.writeHead(504);break;default:res.writeHead(500)}res.end(`Error occurred while trying to proxy: ${host}${req.url}`)}function logClose(req,socket,head){logger.info("[HPM] Client disconnected")}}});var require_path_rewriter=__commonJS({"node_modules/http-proxy-middleware/dist/path-rewriter.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createPathRewriter=void 0;var isPlainObj=require_is_plain_obj(),errors_1=require_errors(),logger_1=require_logger(),logger=(0,logger_1.getInstance)();function createPathRewriter(rewriteConfig){let rulesCache;if(!isValidRewriteConfig(rewriteConfig))return;if(typeof rewriteConfig=="function")return rewriteConfig;return rulesCache=parsePathRewriteRules(rewriteConfig),rewritePath;function rewritePath(path){let result=path;for(let rule of rulesCache)if(rule.regex.test(path)){result=result.replace(rule.regex,rule.value),logger.debug('[HPM] Rewriting path from "%s" to "%s"',path,result);break}return result}}exports2.createPathRewriter=createPathRewriter;function isValidRewriteConfig(rewriteConfig){if(typeof rewriteConfig=="function")return!0;if(isPlainObj(rewriteConfig))return Object.keys(rewriteConfig).length!==0;if(rewriteConfig==null)return!1;throw new Error(errors_1.ERRORS.ERR_PATH_REWRITER_CONFIG)}function parsePathRewriteRules(rewriteConfig){let rules=[];if(isPlainObj(rewriteConfig))for(let[key]of Object.entries(rewriteConfig))rules.push({regex:new RegExp(key),value:rewriteConfig[key]}),logger.info('[HPM] Proxy rewrite rule created: "%s" ~> "%s"',key,rewriteConfig[key]);return rules}}});var require_router2=__commonJS({"node_modules/http-proxy-middleware/dist/router.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.getTarget=void 0;var isPlainObj=require_is_plain_obj(),logger_1=require_logger(),logger=(0,logger_1.getInstance)();async function getTarget(req,config){let newTarget,router=config.router;return isPlainObj(router)?newTarget=getTargetFromProxyTable(req,router):typeof router=="function"&&(newTarget=await router(req)),newTarget}exports2.getTarget=getTarget;function getTargetFromProxyTable(req,table){let result,host=req.headers.host||"",path=req.url||"";for(let[key]of Object.entries(table))if(containsPath(key)){if(isHostAndPathKey(key)){let[keyHost,keyPath]=splitHostAndPathKey(key);if(host===keyHost&&path.startsWith(keyPath)){result=table[key],logger.debug('[HPM] Router table match: "%s"',key);break}}else if(path.startsWith(key)){result=table[key],logger.debug('[HPM] Router table match: "%s"',key);break}}else if(key===host){result=table[key],logger.debug('[HPM] Router table match: "%s"',host);break}return result}function containsPath(v){return v.indexOf("/")>-1}function isHostAndPathKey(v){return containsPath(v)&&!v.startsWith("/")}function splitHostAndPathKey(v){let firstSlash=v.indexOf("/");return[v.slice(0,firstSlash),v.slice(firstSlash)]}}});var require_http_proxy_middleware=__commonJS({"node_modules/http-proxy-middleware/dist/http-proxy-middleware.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.HttpProxyMiddleware=void 0;var httpProxy=require_http_proxy3(),config_factory_1=require_config_factory(),contextMatcher=require_context_matcher(),handlers=require_handlers(),logger_1=require_logger(),PathRewriter=require_path_rewriter(),Router=require_router2(),HttpProxyMiddleware=class{constructor(context,opts){this.logger=(0,logger_1.getInstance)(),this.wsInternalSubscribed=!1,this.serverOnCloseSubscribed=!1,this.middleware=async(req,res,next)=>{var _a,_b;if(this.shouldProxy(this.config.context,req))try{let activeProxyOptions=await this.prepareProxyRequest(req);this.proxy.web(req,res,activeProxyOptions)}catch(err){next(err)}else next();let server=(_b=(_a=req.socket)!==null&&_a!==void 0?_a:req.connection)===null||_b===void 0?void 0:_b.server;server&&!this.serverOnCloseSubscribed&&(server.on("close",()=>{this.logger.info("[HPM] server close signal received: closing proxy server"),this.proxy.close()}),this.serverOnCloseSubscribed=!0),this.proxyOptions.ws===!0&&this.catchUpgradeRequest(server)},this.catchUpgradeRequest=server=>{this.wsInternalSubscribed||(server.on("upgrade",this.handleUpgrade),this.wsInternalSubscribed=!0)},this.handleUpgrade=async(req,socket,head)=>{if(this.shouldProxy(this.config.context,req)){let activeProxyOptions=await this.prepareProxyRequest(req);this.proxy.ws(req,socket,head,activeProxyOptions),this.logger.info("[HPM] Upgrading to WebSocket")}},this.shouldProxy=(context2,req)=>{try{let path=req.originalUrl||req.url;return contextMatcher.match(context2,path,req)}catch(error){return this.logger.error(error),!1}},this.prepareProxyRequest=async req=>{req.url=req.originalUrl||req.url;let originalPath=req.url,newProxyOptions=Object.assign({},this.proxyOptions);if(await this.applyRouter(req,newProxyOptions),await this.applyPathRewrite(req,this.pathRewriter),this.proxyOptions.logLevel==="debug"){let arrow=(0,logger_1.getArrow)(originalPath,req.url,this.proxyOptions.target,newProxyOptions.target);this.logger.debug("[HPM] %s %s %s %s",req.method,originalPath,arrow,newProxyOptions.target)}return newProxyOptions},this.applyRouter=async(req,options)=>{let newTarget;options.router&&(newTarget=await Router.getTarget(req,options),newTarget&&(this.logger.debug('[HPM] Router new target: %s -> "%s"',options.target,newTarget),options.target=newTarget))},this.applyPathRewrite=async(req,pathRewriter)=>{if(pathRewriter){let path=await pathRewriter(req.url,req);typeof path=="string"?req.url=path:this.logger.info("[HPM] pathRewrite: No rewritten path found. (%s)",req.url)}},this.logError=(err,req,res,target)=>{var _a;let requestHref=`${((_a=req.headers)===null||_a===void 0?void 0:_a.host)||req.hostname||req.host}${req.url}`,targetHref=`${target?.href}`;this.logger.error("[HPM] Error occurred while proxying request %s to %s [%s] (%s)",requestHref,targetHref,err.code||err,"https://nodejs.org/api/errors.html#errors_common_system_errors")},this.config=(0,config_factory_1.createConfig)(context,opts),this.proxyOptions=this.config.options,this.proxy=httpProxy.createProxyServer({}),this.logger.info(`[HPM] Proxy created: ${this.config.context} -> ${this.proxyOptions.target}`),this.pathRewriter=PathRewriter.createPathRewriter(this.proxyOptions.pathRewrite),handlers.init(this.proxy,this.proxyOptions),this.proxy.on("error",this.logError),this.middleware.upgrade=(req,socket,head)=>{this.wsInternalSubscribed||this.handleUpgrade(req,socket,head)}}};exports2.HttpProxyMiddleware=HttpProxyMiddleware}});var require_response_interceptor=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/response-interceptor.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.responseInterceptor=void 0;var zlib=require("zlib");function responseInterceptor(interceptor){return async function(proxyRes,req,res){let originalProxyRes=proxyRes,buffer=Buffer.from("","utf8"),_proxyRes=decompress(proxyRes,proxyRes.headers["content-encoding"]);_proxyRes.on("data",chunk=>buffer=Buffer.concat([buffer,chunk])),_proxyRes.on("end",async()=>{copyHeaders(proxyRes,res);let interceptedBuffer=Buffer.from(await interceptor(buffer,originalProxyRes,req,res));res.setHeader("content-length",Buffer.byteLength(interceptedBuffer,"utf8")),res.write(interceptedBuffer),res.end()}),_proxyRes.on("error",error=>{res.end(`Error fetching proxied request: ${error.message}`)})}}exports2.responseInterceptor=responseInterceptor;function decompress(proxyRes,contentEncoding){let _proxyRes=proxyRes,decompress2;switch(contentEncoding){case"gzip":decompress2=zlib.createGunzip();break;case"br":decompress2=zlib.createBrotliDecompress();break;case"deflate":decompress2=zlib.createInflate();break;default:break}return decompress2&&(_proxyRes.pipe(decompress2),_proxyRes=decompress2),_proxyRes}function copyHeaders(originalResponse,response){if(response.statusCode=originalResponse.statusCode,response.statusMessage=originalResponse.statusMessage,response.setHeader){let keys=Object.keys(originalResponse.headers);keys=keys.filter(key=>!["content-encoding","transfer-encoding"].includes(key)),keys.forEach(key=>{let value=originalResponse.headers[key];key==="set-cookie"&&(value=Array.isArray(value)?value:[value],value=value.map(x=>x.replace(/Domain=[^;]+?/i,""))),response.setHeader(key,value)})}else response.headers=originalResponse.headers}}});var require_fix_request_body=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/fix-request-body.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.fixRequestBody=void 0;var querystring=require("querystring");function fixRequestBody(proxyReq,req){if(req.readableLength!==0)return;let requestBody=req.body;if(!requestBody)return;let contentType=proxyReq.getHeader("Content-Type");if(!contentType)return;let writeBody=bodyData=>{proxyReq.setHeader("Content-Length",Buffer.byteLength(bodyData)),proxyReq.write(bodyData)};contentType.includes("application/json")?writeBody(JSON.stringify(requestBody)):contentType.includes("application/x-www-form-urlencoded")&&writeBody(querystring.stringify(requestBody))}exports2.fixRequestBody=fixRequestBody}});var require_public=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/public.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.fixRequestBody=exports2.responseInterceptor=void 0;var response_interceptor_1=require_response_interceptor();Object.defineProperty(exports2,"responseInterceptor",{enumerable:!0,get:function(){return response_interceptor_1.responseInterceptor}});var fix_request_body_1=require_fix_request_body();Object.defineProperty(exports2,"fixRequestBody",{enumerable:!0,get:function(){return fix_request_body_1.fixRequestBody}})}});var require_handlers2=__commonJS({"node_modules/http-proxy-middleware/dist/handlers/index.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0});__exportStar(require_public(),exports2)}});var require_dist=__commonJS({"node_modules/http-proxy-middleware/dist/index.js"(exports2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k),Object.defineProperty(o,k2,{enumerable:!0,get:function(){return m[k]}})}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports3,p)&&__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.createProxyMiddleware=void 0;var http_proxy_middleware_1=require_http_proxy_middleware();function createProxyMiddleware(context,options){let{middleware}=new http_proxy_middleware_1.HttpProxyMiddleware(context,options);return middleware}exports2.createProxyMiddleware=createProxyMiddleware;__exportStar(require_handlers2(),exports2)}});var require_base64id=__commonJS({"node_modules/base64id/lib/base64id.js"(exports2,module2){var crypto=require("crypto"),Base64Id=function(){};Base64Id.prototype.getRandomBytes=function(bytes){var BUFFER_SIZE=4096,self2=this;if(bytes=bytes||12,bytes>BUFFER_SIZE)return crypto.randomBytes(bytes);var bytesInBuffer=parseInt(BUFFER_SIZE/bytes),threshold=parseInt(bytesInBuffer*.85);if(!threshold||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==bytesInBuffer&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>threshold)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,crypto.randomBytes(BUFFER_SIZE,function(err,bytes2){self2.bytesBuffer=bytes2,self2.bytesBufferIndex=0,self2.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return crypto.randomBytes(bytes);var result=this.bytesBuffer.slice(bytes*this.bytesBufferIndex,bytes*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,result};Base64Id.prototype.generateId=function(){var rand=Buffer.alloc(15);return rand.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,rand.writeInt32BE(this.sequenceNumber,11),crypto.randomBytes?this.getRandomBytes(12).copy(rand):[0,4,8].forEach(function(i){rand.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)}),rand.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};exports2=module2.exports=new Base64Id}});var require_commons=__commonJS({"node_modules/engine.io-parser/build/cjs/commons.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ERROR_PACKET=exports2.PACKET_TYPES_REVERSE=exports2.PACKET_TYPES=void 0;var PACKET_TYPES=Object.create(null);exports2.PACKET_TYPES=PACKET_TYPES;PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";var PACKET_TYPES_REVERSE=Object.create(null);exports2.PACKET_TYPES_REVERSE=PACKET_TYPES_REVERSE;Object.keys(PACKET_TYPES).forEach(key=>{PACKET_TYPES_REVERSE[PACKET_TYPES[key]]=key});var ERROR_PACKET={type:"error",data:"parser error"};exports2.ERROR_PACKET=ERROR_PACKET}});var require_encodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/encodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.encodePacket=void 0;exports2.encodePacketToBinary=encodePacketToBinary;var commons_js_1=require_commons(),encodePacket=({type,data},supportsBinary,callback)=>data instanceof ArrayBuffer||ArrayBuffer.isView(data)?callback(supportsBinary?data:"b"+toBuffer(data,!0).toString("base64")):callback(commons_js_1.PACKET_TYPES[type]+(data||""));exports2.encodePacket=encodePacket;var toBuffer=(data,forceBufferConversion)=>Buffer.isBuffer(data)||data instanceof Uint8Array&&!forceBufferConversion?data:data instanceof ArrayBuffer?Buffer.from(data):Buffer.from(data.buffer,data.byteOffset,data.byteLength),TEXT_ENCODER;function encodePacketToBinary(packet,callback){if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data))return callback(toBuffer(packet.data,!1));(0,exports2.encodePacket)(packet,!0,encoded=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),callback(TEXT_ENCODER.encode(encoded))})}}});var require_decodePacket=__commonJS({"node_modules/engine.io-parser/build/cjs/decodePacket.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.decodePacket=void 0;var commons_js_1=require_commons(),decodePacket=(encodedPacket,binaryType)=>{if(typeof encodedPacket!="string")return{type:"message",data:mapBinary(encodedPacket,binaryType)};let type=encodedPacket.charAt(0);if(type==="b"){let buffer=Buffer.from(encodedPacket.substring(1),"base64");return{type:"message",data:mapBinary(buffer,binaryType)}}return commons_js_1.PACKET_TYPES_REVERSE[type]?encodedPacket.length>1?{type:commons_js_1.PACKET_TYPES_REVERSE[type],data:encodedPacket.substring(1)}:{type:commons_js_1.PACKET_TYPES_REVERSE[type]}:commons_js_1.ERROR_PACKET};exports2.decodePacket=decodePacket;var mapBinary=(data,binaryType)=>binaryType==="arraybuffer"?data instanceof ArrayBuffer?data:Buffer.isBuffer(data)?data.buffer.slice(data.byteOffset,data.byteOffset+data.byteLength):data.buffer:Buffer.isBuffer(data)?data:Buffer.from(data)}});var require_cjs=__commonJS({"node_modules/engine.io-parser/build/cjs/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.decodePayload=exports2.decodePacket=exports2.encodePayload=exports2.encodePacket=exports2.protocol=void 0;exports2.createPacketEncoderStream=createPacketEncoderStream;exports2.createPacketDecoderStream=createPacketDecoderStream;var encodePacket_js_1=require_encodePacket();Object.defineProperty(exports2,"encodePacket",{enumerable:!0,get:function(){return encodePacket_js_1.encodePacket}});var decodePacket_js_1=require_decodePacket();Object.defineProperty(exports2,"decodePacket",{enumerable:!0,get:function(){return decodePacket_js_1.decodePacket}});var commons_js_1=require_commons(),SEPARATOR="",encodePayload=(packets,callback)=>{let length=packets.length,encodedPackets=new Array(length),count=0;packets.forEach((packet,i)=>{(0,encodePacket_js_1.encodePacket)(packet,!1,encodedPacket=>{encodedPackets[i]=encodedPacket,++count===length&&callback(encodedPackets.join(SEPARATOR))})})};exports2.encodePayload=encodePayload;var decodePayload=(encodedPayload,binaryType)=>{let encodedPackets=encodedPayload.split(SEPARATOR),packets=[];for(let i=0;i<encodedPackets.length;i++){let decodedPacket=(0,decodePacket_js_1.decodePacket)(encodedPackets[i],binaryType);if(packets.push(decodedPacket),decodedPacket.type==="error")break}return packets};exports2.decodePayload=decodePayload;function createPacketEncoderStream(){return new TransformStream({transform(packet,controller){(0,encodePacket_js_1.encodePacketToBinary)(packet,encodedPacket=>{let payloadLength=encodedPacket.length,header;if(payloadLength<126)header=new Uint8Array(1),new DataView(header.buffer).setUint8(0,payloadLength);else if(payloadLength<65536){header=new Uint8Array(3);let view=new DataView(header.buffer);view.setUint8(0,126),view.setUint16(1,payloadLength)}else{header=new Uint8Array(9);let view=new DataView(header.buffer);view.setUint8(0,127),view.setBigUint64(1,BigInt(payloadLength))}packet.data&&typeof packet.data!="string"&&(header[0]|=128),controller.enqueue(header),controller.enqueue(encodedPacket)})}})}var TEXT_DECODER;function totalLength(chunks){return chunks.reduce((acc,chunk)=>acc+chunk.length,0)}function concatChunks(chunks,size){if(chunks[0].length===size)return chunks.shift();let buffer=new Uint8Array(size),j=0;for(let i=0;i<size;i++)buffer[i]=chunks[0][j++],j===chunks[0].length&&(chunks.shift(),j=0);return chunks.length&&j<chunks[0].length&&(chunks[0]=chunks[0].slice(j)),buffer}function createPacketDecoderStream(maxPayload,binaryType){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);let chunks=[],state=0,expectedLength=-1,isBinary=!1;return new TransformStream({transform(chunk,controller){for(chunks.push(chunk);;){if(state===0){if(totalLength(chunks)<1)break;let header=concatChunks(chunks,1);isBinary=(header[0]&128)===128,expectedLength=header[0]&127,expectedLength<126?state=3:expectedLength===126?state=1:state=2}else if(state===1){if(totalLength(chunks)<2)break;let headerArray=concatChunks(chunks,2);expectedLength=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length).getUint16(0),state=3}else if(state===2){if(totalLength(chunks)<8)break;let headerArray=concatChunks(chunks,8),view=new DataView(headerArray.buffer,headerArray.byteOffset,headerArray.length),n=view.getUint32(0);if(n>Math.pow(2,21)-1){controller.enqueue(commons_js_1.ERROR_PACKET);break}expectedLength=n*Math.pow(2,32)+view.getUint32(4),state=3}else{if(totalLength(chunks)<expectedLength)break;let data=concatChunks(chunks,expectedLength);controller.enqueue((0,decodePacket_js_1.decodePacket)(isBinary?data:TEXT_DECODER.decode(data),binaryType)),state=0}if(expectedLength===0||expectedLength>maxPayload){controller.enqueue(commons_js_1.ERROR_PACKET);break}}}})}exports2.protocol=4}});var require_utf8=__commonJS({"node_modules/engine.io/build/parser-v3/utf8.js"(exports2,module2){var stringFromCharCode=String.fromCharCode;function ucs2decode(string){for(var output=[],counter=0,length=string.length,value,extra;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),(extra&64512)==56320?output.push(((value&1023)<<10)+(extra&1023)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){for(var length=array.length,index=-1,value,output="";++index<length;)value=array[index],value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|value&1023),output+=stringFromCharCode(value);return output}function checkScalarValue(codePoint,strict){if(codePoint>=55296&&codePoint<=57343){if(strict)throw Error("Lone surrogate U+"+codePoint.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function createByte(codePoint,shift){return stringFromCharCode(codePoint>>shift&63|128)}function encodeCodePoint(codePoint,strict){if((codePoint&4294967168)==0)return stringFromCharCode(codePoint);var symbol="";return(codePoint&4294965248)==0?symbol=stringFromCharCode(codePoint>>6&31|192):(codePoint&4294901760)==0?(checkScalarValue(codePoint,strict)||(codePoint=65533),symbol=stringFromCharCode(codePoint>>12&15|224),symbol+=createByte(codePoint,6)):(codePoint&4292870144)==0&&(symbol=stringFromCharCode(codePoint>>18&7|240),symbol+=createByte(codePoint,12),symbol+=createByte(codePoint,6)),symbol+=stringFromCharCode(codePoint&63|128),symbol}function utf8encode(string,opts){opts=opts||{};for(var strict=opts.strict!==!1,codePoints=ucs2decode(string),length=codePoints.length,index=-1,codePoint,byteString="";++index<length;)codePoint=codePoints[index],byteString+=encodeCodePoint(codePoint,strict);return byteString}function readContinuationByte(){if(byteIndex>=byteCount)throw Error("Invalid byte index");var continuationByte=byteArray[byteIndex]&255;if(byteIndex++,(continuationByte&192)==128)return continuationByte&63;throw Error("Invalid continuation byte")}function decodeSymbol(strict){var byte1,byte2,byte3,byte4,codePoint;if(byteIndex>byteCount)throw Error("Invalid byte index");if(byteIndex==byteCount)return!1;if(byte1=byteArray[byteIndex]&255,byteIndex++,(byte1&128)==0)return byte1;if((byte1&224)==192){if(byte2=readContinuationByte(),codePoint=(byte1&31)<<6|byte2,codePoint>=128)return codePoint;throw Error("Invalid continuation byte")}if((byte1&240)==224){if(byte2=readContinuationByte(),byte3=readContinuationByte(),codePoint=(byte1&15)<<12|byte2<<6|byte3,codePoint>=2048)return checkScalarValue(codePoint,strict)?codePoint:65533;throw Error("Invalid continuation byte")}if((byte1&248)==240&&(byte2=readContinuationByte(),byte3=readContinuationByte(),byte4=readContinuationByte(),codePoint=(byte1&7)<<18|byte2<<12|byte3<<6|byte4,codePoint>=65536&&codePoint<=1114111))return codePoint;throw Error("Invalid UTF-8 detected")}var byteArray,byteCount,byteIndex;function utf8decode(byteString,opts){opts=opts||{};var strict=opts.strict!==!1;byteArray=ucs2decode(byteString),byteCount=byteArray.length,byteIndex=0;for(var codePoints=[],tmp;(tmp=decodeSymbol(strict))!==!1;)codePoints.push(tmp);return ucs2encode(codePoints)}module2.exports={version:"2.1.2",encode:utf8encode,decode:utf8decode}}});var require_parser_v3=__commonJS({"node_modules/engine.io/build/parser-v3/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.packets=exports2.protocol=void 0;exports2.encodePacket=encodePacket;exports2.encodeBase64Packet=encodeBase64Packet;exports2.decodePacket=decodePacket;exports2.decodeBase64Packet=decodeBase64Packet;exports2.encodePayload=encodePayload;exports2.decodePayload=decodePayload;exports2.encodePayloadAsBinary=encodePayloadAsBinary;exports2.decodePayloadAsBinary=decodePayloadAsBinary;var utf8=require_utf8();exports2.protocol=3;var hasBinary=packets=>{for(let packet of packets)if(packet.data instanceof ArrayBuffer||ArrayBuffer.isView(packet.data))return!0;return!1};exports2.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var packetslist=Object.keys(exports2.packets),err={type:"error",data:"parser error"},EMPTY_BUFFER=Buffer.concat([]);function encodePacket(packet,supportsBinary,utf8encode,callback){if(typeof supportsBinary=="function"&&(callback=supportsBinary,supportsBinary=null),typeof utf8encode=="function"&&(callback=utf8encode,utf8encode=null),Buffer.isBuffer(packet.data))return encodeBuffer(packet,supportsBinary,callback);if(packet.data&&(packet.data.buffer||packet.data)instanceof ArrayBuffer)return encodeBuffer({type:packet.type,data:arrayBufferToBuffer(packet.data)},supportsBinary,callback);var encoded=exports2.packets[packet.type];return packet.data!==void 0&&(encoded+=utf8encode?utf8.encode(String(packet.data),{strict:!1}):String(packet.data)),callback(""+encoded)}function encodeBuffer(packet,supportsBinary,callback){if(!supportsBinary)return encodeBase64Packet(packet,callback);var data=packet.data,typeBuffer=Buffer.allocUnsafe(1);return typeBuffer[0]=exports2.packets[packet.type],callback(Buffer.concat([typeBuffer,data]))}function encodeBase64Packet(packet,callback){var data=Buffer.isBuffer(packet.data)?packet.data:arrayBufferToBuffer(packet.data),message="b"+exports2.packets[packet.type];return message+=data.toString("base64"),callback(message)}function decodePacket(data,binaryType,utf8decode){if(data===void 0)return err;let type;if(typeof data=="string")return type=data.charAt(0),type==="b"?decodeBase64Packet(data.slice(1),binaryType):utf8decode&&(data=tryDecode(data),data===!1)||Number(type)!=type||!packetslist[type]?err:data.length>1?{type:packetslist[type],data:data.slice(1)}:{type:packetslist[type]};if(binaryType==="arraybuffer"){var intArray=new Uint8Array(data);return type=intArray[0],{type:packetslist[type],data:intArray.buffer.slice(1)}}return data instanceof ArrayBuffer&&(data=arrayBufferToBuffer(data)),type=data[0],{type:packetslist[type],data:data.slice(1)}}function tryDecode(data){try{data=utf8.decode(data,{strict:!1})}catch{return!1}return data}function decodeBase64Packet(msg,binaryType){var type=packetslist[msg.charAt(0)],data=Buffer.from(msg.slice(1),"base64");if(binaryType==="arraybuffer"){for(var abv=new Uint8Array(data.length),i=0;i<abv.length;i++)abv[i]=data[i];data=abv.buffer}return{type,data}}function encodePayload(packets,supportsBinary,callback){if(typeof supportsBinary=="function"&&(callback=supportsBinary,supportsBinary=null),supportsBinary&&hasBinary(packets))return encodePayloadAsBinary(packets,callback);if(!packets.length)return callback("0:");function encodeOne(packet,doneCallback){encodePacket(packet,supportsBinary,!1,function(message){doneCallback(null,setLengthHeader(message))})}map(packets,encodeOne,function(err2,results){return callback(results.join(""))})}function setLengthHeader(message){return message.length+":"+message}function map(ary,each,done){let results=new Array(ary.length),count=0;for(let i=0;i<ary.length;i++)each(ary[i],(error,msg)=>{results[i]=msg,++count===ary.length&&done(null,results)})}function decodePayload(data,binaryType,callback){if(typeof data!="string")return decodePayloadAsBinary(data,binaryType,callback);if(typeof binaryType=="function"&&(callback=binaryType,binaryType=null),data==="")return callback(err,0,1);for(var length="",n,msg,packet,i=0,l=data.length;i<l;i++){var chr=data.charAt(i);if(chr!==":"){length+=chr;continue}if(length===""||length!=(n=Number(length))||(msg=data.slice(i+1,i+1+n),length!=msg.length))return callback(err,0,1);if(msg.length){if(packet=decodePacket(msg,binaryType,!1),err.type===packet.type&&err.data===packet.data)return callback(err,0,1);var more=callback(packet,i+n,l);if(more===!1)return}i+=n,length=""}if(length!=="")return callback(err,0,1)}function bufferToString(buffer){for(var str="",i=0,l=buffer.length;i<l;i++)str+=String.fromCharCode(buffer[i]);return str}function stringToBuffer(string){for(var buf=Buffer.allocUnsafe(string.length),i=0,l=string.length;i<l;i++)buf.writeUInt8(string.charCodeAt(i),i);return buf}function arrayBufferToBuffer(data){var length=data.byteLength||data.length,offset=data.byteOffset||0;return Buffer.from(data.buffer||data,offset,length)}function encodePayloadAsBinary(packets,callback){if(!packets.length)return callback(EMPTY_BUFFER);map(packets,encodeOneBinaryPacket,function(err2,results){return callback(Buffer.concat(results))})}function encodeOneBinaryPacket(p,doneCallback){function onBinaryPacketEncode(packet){var encodingLength=""+packet.length,sizeBuffer;if(typeof packet=="string"){sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2),sizeBuffer[0]=0;for(var i=0;i<encodingLength.length;i++)sizeBuffer[i+1]=parseInt(encodingLength[i],10);return sizeBuffer[sizeBuffer.length-1]=255,doneCallback(null,Buffer.concat([sizeBuffer,stringToBuffer(packet)]))}sizeBuffer=Buffer.allocUnsafe(encodingLength.length+2),sizeBuffer[0]=1;for(var i=0;i<encodingLength.length;i++)sizeBuffer[i+1]=parseInt(encodingLength[i],10);sizeBuffer[sizeBuffer.length-1]=255,doneCallback(null,Buffer.concat([sizeBuffer,packet]))}encodePacket(p,!0,!0,onBinaryPacketEncode)}function decodePayloadAsBinary(data,binaryType,callback){typeof binaryType=="function"&&(callback=binaryType,binaryType=null);for(var bufferTail=data,buffers=[],i;bufferTail.length>0;){var strLen="",isString=bufferTail[0]===0;for(i=1;bufferTail[i]!==255;i++){if(strLen.length>310)return callback(err,0,1);strLen+=""+bufferTail[i]}bufferTail=bufferTail.slice(strLen.length+1);var msgLength=parseInt(strLen,10),msg=bufferTail.slice(1,msgLength+1);isString&&(msg=bufferToString(msg)),buffers.push(msg),bufferTail=bufferTail.slice(msgLength+1)}var total=buffers.length;for(i=0;i<total;i++){var buffer=buffers[i];callback(decodePacket(buffer,binaryType,!0),i,total)}}}});var require_common4=__commonJS({"node_modules/engine.io/node_modules/debug/src/common.js"(exports2,module2){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args){if(!debug.enabled)return;let self2=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self2.diff=ms,self2.prev=prevTime,self2.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!="string"&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format];if(typeof formatter=="function"){let val=args[index];match=formatter.call(self2,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self2,args),(self2.log||createDebug.log).apply(self2,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>enableOverride!==null?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),typeof createDebug.init=="function"&&createDebug.init(debug),debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces=="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)ns[0]==="-"?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))template[templateIndex]==="*"?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template.length&&template[templateIndex]==="*";)templateIndex++;return templateIndex===template.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module2.exports=setup}});var require_browser7=__commonJS({"node_modules/engine.io/node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();exports2.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<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{match!=="%%"&&(index++,match==="%c"&&(lastC=index))}),args.splice(lastC,0,c)}exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{namespaces?exports2.storage.setItem("debug",namespaces):exports2.storage.removeItem("debug")}catch{}}function load2(){let r;try{r=exports2.storage.getItem("debug")||exports2.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function localstorage(){try{return localStorage}catch{}}module2.exports=require_common4()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node7=__commonJS({"node_modules/engine.io/node_modules/debug/src/node.js"(exports2,module2){var tty=require("tty"),util=require("util");exports2.init=init;exports2.log=log;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load2;exports2.useColors=useColors;exports2.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports2.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{}exports2.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];return/^(yes|on|true|enabled)$/i.test(val)?val=!0:/^(no|off|false|disabled)$/i.test(val)?val=!1:val==="null"?val=null:val=Number(val),obj[prop]=val,obj},{});function useColors(){return"colors"in exports2.inspectOpts?!!exports2.inspectOpts.colors:tty.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name,useColors:useColors2}=this;if(useColors2){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args[0]=prefix+args[0].split(`
90
90
  `).join(`
91
91
  `+prefix),args.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else args[0]=getDate()+name+" "+args[0]}function getDate(){return exports2.inspectOpts.hideDate?"":new Date().toISOString()+" "}function log(...args){return process.stderr.write(util.formatWithOptions(exports2.inspectOpts,...args)+`
92
92
  `)}function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}function load2(){return process.env.DEBUG}function init(debug){debug.inspectOpts={};let keys=Object.keys(exports2.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports2.inspectOpts[keys[i]]}module2.exports=require_common4()(exports2);var{formatters}=module2.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(`
@@ -112,7 +112,7 @@ Content-Length: `+length+`\r
112
112
  `+Object.keys(headers).map(h=>`${h}: ${headers[h]}`).join(`\r
113
113
  `)+`\r
114
114
  \r
115
- `+message)}function abortHandshakeOrEmitwsClientError(server,req,socket,code,message){if(server.listenerCount("wsClientError")){let err=new Error(message);Error.captureStackTrace(err,abortHandshakeOrEmitwsClientError),server.emit("wsClientError",err,socket,req)}else abortHandshake(socket,code,message)}}});var require_ws2=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/index.js"(exports2,module2){"use strict";var WebSocket=require_websocket4();WebSocket.createWebSocketStream=require_stream2();WebSocket.Server=require_websocket_server2();WebSocket.Receiver=require_receiver2();WebSocket.Sender=require_sender2();WebSocket.WebSocket=WebSocket;WebSocket.WebSocketServer=WebSocket.Server;module2.exports=WebSocket}});var require_dist2=__commonJS({"node_modules/socket.io-adapter/dist/index.js"(exports2){"use strict";var _a;Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SessionAwareAdapter=exports2.Adapter=void 0;var events_1=require("events"),yeast_1=require_yeast(),WebSocket=require_ws2(),canPreComputeFrame=typeof((_a=WebSocket==null?void 0:WebSocket.Sender)===null||_a===void 0?void 0:_a.frame)=="function",Adapter=class extends events_1.EventEmitter{constructor(nsp){super(),this.nsp=nsp,this.rooms=new Map,this.sids=new Map,this.encoder=nsp.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(id,rooms){this.sids.has(id)||this.sids.set(id,new Set);for(let room of rooms)this.sids.get(id).add(room),this.rooms.has(room)||(this.rooms.set(room,new Set),this.emit("create-room",room)),this.rooms.get(room).has(id)||(this.rooms.get(room).add(id),this.emit("join-room",room,id))}del(id,room){this.sids.has(id)&&this.sids.get(id).delete(room),this._del(room,id)}_del(room,id){let _room=this.rooms.get(room);_room!=null&&(_room.delete(id)&&this.emit("leave-room",room,id),_room.size===0&&this.rooms.delete(room)&&this.emit("delete-room",room))}delAll(id){if(this.sids.has(id)){for(let room of this.sids.get(id))this._del(room,id);this.sids.delete(id)}}broadcast(packet,opts){let flags=opts.flags||{},packetOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;let encodedPackets=this._encode(packet,packetOpts);this.apply(opts,socket=>{typeof socket.notifyOutgoingListeners=="function"&&socket.notifyOutgoingListeners(packet),socket.client.writeToEngine(encodedPackets,packetOpts)})}broadcastWithAck(packet,opts,clientCountCallback,ack){let flags=opts.flags||{},packetOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name,packet.id=this.nsp._ids++;let encodedPackets=this._encode(packet,packetOpts),clientCount=0;this.apply(opts,socket=>{clientCount++,socket.acks.set(packet.id,ack),typeof socket.notifyOutgoingListeners=="function"&&socket.notifyOutgoingListeners(packet),socket.client.writeToEngine(encodedPackets,packetOpts)}),clientCountCallback(clientCount)}_encode(packet,packetOpts){let encodedPackets=this.encoder.encode(packet);if(canPreComputeFrame&&encodedPackets.length===1&&typeof encodedPackets[0]=="string"){let data=Buffer.from("4"+encodedPackets[0]);packetOpts.wsPreEncodedFrame=WebSocket.Sender.frame(data,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return encodedPackets}sockets(rooms){let sids=new Set;return this.apply({rooms},socket=>{sids.add(socket.id)}),Promise.resolve(sids)}socketRooms(id){return this.sids.get(id)}fetchSockets(opts){let sockets=[];return this.apply(opts,socket=>{sockets.push(socket)}),Promise.resolve(sockets)}addSockets(opts,rooms){this.apply(opts,socket=>{socket.join(rooms)})}delSockets(opts,rooms){this.apply(opts,socket=>{rooms.forEach(room=>socket.leave(room))})}disconnectSockets(opts,close){this.apply(opts,socket=>{socket.disconnect(close)})}apply(opts,callback){let rooms=opts.rooms,except=this.computeExceptSids(opts.except);if(rooms.size){let ids=new Set;for(let room of rooms)if(this.rooms.has(room))for(let id of this.rooms.get(room)){if(ids.has(id)||except.has(id))continue;let socket=this.nsp.sockets.get(id);socket&&(callback(socket),ids.add(id))}}else for(let[id]of this.sids){if(except.has(id))continue;let socket=this.nsp.sockets.get(id);socket&&callback(socket)}}computeExceptSids(exceptRooms){let exceptSids=new Set;if(exceptRooms&&exceptRooms.size>0)for(let room of exceptRooms)this.rooms.has(room)&&this.rooms.get(room).forEach(sid=>exceptSids.add(sid));return exceptSids}serverSideEmit(packet){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(session){}restoreSession(pid,offset){return null}};exports2.Adapter=Adapter;var SessionAwareAdapter=class extends Adapter{constructor(nsp){super(nsp),this.nsp=nsp,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=nsp.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let threshold=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((session,sessionId)=>{session.disconnectedAt<threshold&&this.sessions.delete(sessionId)});for(let i=this.packets.length-1;i>=0;i--)if(this.packets[i].emittedAt<threshold){this.packets.splice(0,i+1);break}},60*1e3).unref()}persistSession(session){session.disconnectedAt=Date.now(),this.sessions.set(session.pid,session)}restoreSession(pid,offset){let session=this.sessions.get(pid);if(!session)return null;if(session.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(pid),null;let index=this.packets.findIndex(packet=>packet.id===offset);if(index===-1)return null;let missedPackets=[];for(let i=index+1;i<this.packets.length;i++){let packet=this.packets[i];shouldIncludePacket(session.rooms,packet.opts)&&missedPackets.push(packet.data)}return Promise.resolve(Object.assign(Object.assign({},session),{missedPackets}))}broadcast(packet,opts){var _a2;let isEventPacket=packet.type===2,withoutAcknowledgement=packet.id===void 0,notVolatile=((_a2=opts.flags)===null||_a2===void 0?void 0:_a2.volatile)===void 0;if(isEventPacket&&withoutAcknowledgement&&notVolatile){let id=(0,yeast_1.yeast)();packet.data.push(id),this.packets.push({id,opts,data:packet.data,emittedAt:Date.now()})}super.broadcast(packet,opts)}};exports2.SessionAwareAdapter=SessionAwareAdapter;function shouldIncludePacket(sessionRooms,opts){let included=opts.rooms.size===0||sessionRooms.some(room=>opts.rooms.has(room)),notExcluded=sessionRooms.every(room=>!opts.except.has(room));return included&&notExcluded}}});var require_parent_namespace=__commonJS({"node_modules/socket.io/dist/parent-namespace.js"(exports2){"use strict";var __importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ParentNamespace=void 0;var namespace_1=require_namespace(),socket_io_adapter_1=require_dist2(),debug_1=__importDefault(require_src8()),debug=(0,debug_1.default)("socket.io:parent-namespace"),ParentNamespace=class _ParentNamespace extends namespace_1.Namespace{constructor(server){super(server,"/_"+_ParentNamespace.count++),this.children=new Set}_initAdapter(){this.adapter=new ParentBroadcastAdapter(this)}emit(ev,...args){return this.children.forEach(nsp=>{nsp.emit(ev,...args)}),!0}createChild(name){debug("creating child namespace %s",name);let namespace=new namespace_1.Namespace(this.server,name);if(this._fns.forEach(fn=>namespace.use(fn)),this.listeners("connect").forEach(listener=>namespace.on("connect",listener)),this.listeners("connection").forEach(listener=>namespace.on("connection",listener)),this.children.add(namespace),this.server._opts.cleanupEmptyChildNamespaces){let remove=namespace._remove;namespace._remove=socket=>{remove.call(namespace,socket),namespace.sockets.size===0&&(debug("closing child namespace %s",name),namespace.adapter.close(),this.server._nsps.delete(namespace.name),this.children.delete(namespace))}}return this.server._nsps.set(name,namespace),this.server.sockets.emitReserved("new_namespace",namespace),namespace}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};exports2.ParentNamespace=ParentNamespace;ParentNamespace.count=0;var ParentBroadcastAdapter=class extends socket_io_adapter_1.Adapter{broadcast(packet,opts){this.nsp.children.forEach(nsp=>{nsp.adapter.broadcast(packet,opts)})}}}});var require_uws=__commonJS({"node_modules/socket.io/dist/uws.js"(exports2){"use strict";var __importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.patchAdapter=patchAdapter;exports2.restoreAdapter=restoreAdapter;exports2.serveFile=serveFile;var socket_io_adapter_1=require_dist2(),fs_1=require("fs"),debug_1=__importDefault(require_src8()),debug=(0,debug_1.default)("socket.io:adapter-uws"),SEPARATOR="",{addAll,del,broadcast}=socket_io_adapter_1.Adapter.prototype;function patchAdapter(app){socket_io_adapter_1.Adapter.prototype.addAll=function(id,rooms){let isNew=!this.sids.has(id);addAll.call(this,id,rooms);let socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(socket){if(socket.conn.transport.name==="websocket"){subscribe(this.nsp.name,socket,isNew,rooms);return}isNew&&socket.conn.on("upgrade",()=>{let rooms2=this.sids.get(id);rooms2&&subscribe(this.nsp.name,socket,isNew,rooms2)})}},socket_io_adapter_1.Adapter.prototype.del=function(id,room){del.call(this,id,room);let socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(socket&&socket.conn.transport.name==="websocket"){let sessionId=socket.conn.id,websocket=socket.conn.transport.socket,topic=`${this.nsp.name}${SEPARATOR}${room}`;debug("unsubscribe connection %s from topic %s",sessionId,topic),websocket.unsubscribe(topic)}},socket_io_adapter_1.Adapter.prototype.broadcast=function(packet,opts){if(!(opts.rooms.size<=1&&opts.except.size===0)){broadcast.call(this,packet,opts);return}let flags=opts.flags||{},basePacketOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;let encodedPackets=this.encoder.encode(packet),topic=opts.rooms.size===0?this.nsp.name:`${this.nsp.name}${SEPARATOR}${opts.rooms.keys().next().value}`;debug("fast publish to %s",topic),encodedPackets.forEach(encodedPacket=>{let isBinary=typeof encodedPacket!="string";app.publish(topic,isBinary?encodedPacket:"4"+encodedPacket,isBinary)}),this.apply(opts,socket=>{socket.conn.transport.name!=="websocket"&&socket.client.writeToEngine(encodedPackets,basePacketOpts)})}}function subscribe(namespaceName,socket,isNew,rooms){let sessionId=socket.conn.id,websocket=socket.conn.transport.socket;isNew&&(debug("subscribe connection %s to topic %s",sessionId,namespaceName),websocket.subscribe(namespaceName)),rooms.forEach(room=>{let topic=`${namespaceName}${SEPARATOR}${room}`;debug("subscribe connection %s to topic %s",sessionId,topic),websocket.subscribe(topic)})}function restoreAdapter(){socket_io_adapter_1.Adapter.prototype.addAll=addAll,socket_io_adapter_1.Adapter.prototype.del=del,socket_io_adapter_1.Adapter.prototype.broadcast=broadcast}var toArrayBuffer=buffer=>{let{buffer:arrayBuffer,byteOffset,byteLength}=buffer;return arrayBuffer.slice(byteOffset,byteOffset+byteLength)};function serveFile(res,filepath){let{size}=(0,fs_1.statSync)(filepath),readStream=(0,fs_1.createReadStream)(filepath),destroyReadStream=()=>!readStream.destroyed&&readStream.destroy(),onError=error=>{throw destroyReadStream(),error},onDataChunk=chunk=>{let arrayBufferChunk=toArrayBuffer(chunk);res.cork(()=>{let lastOffset=res.getWriteOffset(),[ok,done]=res.tryEnd(arrayBufferChunk,size);!done&&!ok&&(readStream.pause(),res.onWritable(offset=>{let[ok2,done2]=res.tryEnd(arrayBufferChunk.slice(offset-lastOffset),size);return!done2&&ok2&&readStream.resume(),ok2}))})};res.onAborted(destroyReadStream),readStream.on("data",onDataChunk).on("error",onError).on("end",destroyReadStream)}}});var require_package=__commonJS({"node_modules/socket.io/package.json"(exports2,module2){module2.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}}});var require_dist3=__commonJS({"node_modules/socket.io/dist/index.js"(exports2,module2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports2&&exports2.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports2&&exports2.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Namespace=exports2.Socket=exports2.Server=void 0;var http_1=__importDefault(require("http")),fs_1=require("fs"),zlib_1=require("zlib"),accepts=require_accepts(),stream_1=require("stream"),path=require("path"),engine_io_1=require_engine_io(),client_1=require_client(),events_1=require("events"),namespace_1=require_namespace();Object.defineProperty(exports2,"Namespace",{enumerable:!0,get:function(){return namespace_1.Namespace}});var parent_namespace_1=require_parent_namespace(),socket_io_adapter_1=require_dist2(),parser=__importStar(require_cjs2()),debug_1=__importDefault(require_src8()),socket_1=require_socket2();Object.defineProperty(exports2,"Socket",{enumerable:!0,get:function(){return socket_1.Socket}});var typed_events_1=require_typed_events(),uws_1=require_uws(),cors_1=__importDefault(require_lib4()),debug=(0,debug_1.default)("socket.io:server"),clientVersion=require_package().version,dotMapRegex=/\.map/,Server=class _Server extends typed_events_1.StrictEventEmitter{constructor(srv,opts={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof srv=="object"&&srv instanceof Object&&!srv.listen&&(opts=srv,srv=void 0),this.path(opts.path||"/socket.io"),this.connectTimeout(opts.connectTimeout||45e3),this.serveClient(opts.serveClient!==!1),this._parser=opts.parser||parser,this.encoder=new this._parser.Encoder,this.opts=opts,opts.connectionStateRecovery?(opts.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},opts.connectionStateRecovery),this.adapter(opts.adapter||socket_io_adapter_1.SessionAwareAdapter)):this.adapter(opts.adapter||socket_io_adapter_1.Adapter),opts.cleanupEmptyChildNamespaces=!!opts.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(srv||typeof srv=="number")&&this.attach(srv),this.opts.cors&&(this._corsMiddleware=(0,cors_1.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(v){return arguments.length?(this._serveClient=v,this):this._serveClient}_checkNamespace(name,auth,fn){if(this.parentNsps.size===0)return fn(!1);let keysIterator=this.parentNsps.keys(),run=()=>{let nextFn=keysIterator.next();if(nextFn.done)return fn(!1);nextFn.value(name,auth,(err,allow)=>{if(err||!allow)return run();if(this._nsps.has(name))return debug("dynamic namespace %s already exists",name),fn(this._nsps.get(name));let namespace=this.parentNsps.get(nextFn.value).createChild(name);debug("dynamic namespace %s was created",name),fn(namespace)})};run()}path(v){if(!arguments.length)return this._path;this._path=v.replace(/\/$/,"");let escapedPath=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+escapedPath+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(v){return v===void 0?this._connectTimeout:(this._connectTimeout=v,this)}adapter(v){if(!arguments.length)return this._adapter;this._adapter=v;for(let nsp of this._nsps.values())nsp._initAdapter();return this}listen(srv,opts={}){return this.attach(srv,opts)}attach(srv,opts={}){if(typeof srv=="function"){let msg="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(msg)}if(Number(srv)==srv&&(srv=Number(srv)),typeof srv=="number"){debug("creating http server and binding to %d",srv);let port=srv;srv=http_1.default.createServer((req,res)=>{res.writeHead(404),res.end()}),srv.listen(port)}return Object.assign(opts,this.opts),opts.path=opts.path||this._path,this.initEngine(srv,opts),this}attachApp(app,opts={}){Object.assign(opts,this.opts),opts.path=opts.path||this._path,debug("creating uWebSockets.js-based engine with opts %j",opts);let engine=new engine_io_1.uServer(opts);engine.attach(app,opts),this.bind(engine),this._serveClient&&app.get(`${this._path}/*`,(res,req)=>{if(!this.clientPathRegex.test(req.getUrl())){req.setYield(!0);return}let filename=req.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),isMap=dotMapRegex.test(filename),type=isMap?"map":"source",expectedEtag='"'+clientVersion+'"',weakEtag="W/"+expectedEtag,etag=req.getHeader("if-none-match");if(etag&&(expectedEtag===etag||weakEtag===etag)){debug("serve client %s 304",type),res.writeStatus("304 Not Modified"),res.end();return}debug("serve client %s",type),res.writeHeader("cache-control","public, max-age=0"),res.writeHeader("content-type","application/"+(isMap?"json":"javascript")+"; charset=utf-8"),res.writeHeader("etag",expectedEtag);let filepath=path.join(__dirname,"../client-dist/",filename);(0,uws_1.serveFile)(res,filepath)}),(0,uws_1.patchAdapter)(app)}initEngine(srv,opts){debug("creating engine.io instance with opts %j",opts),this.eio=(0,engine_io_1.attach)(srv,opts),this._serveClient&&this.attachServe(srv),this.httpServer=srv,this.bind(this.eio)}attachServe(srv){debug("attaching client serving req handler");let evs=srv.listeners("request").slice(0);srv.removeAllListeners("request"),srv.on("request",(req,res)=>{if(this.clientPathRegex.test(req.url))this._corsMiddleware?this._corsMiddleware(req,res,()=>{this.serve(req,res)}):this.serve(req,res);else for(let i=0;i<evs.length;i++)evs[i].call(srv,req,res)})}serve(req,res){let filename=req.url.replace(this._path,"").replace(/\?.*$/,""),isMap=dotMapRegex.test(filename),type=isMap?"map":"source",expectedEtag='"'+clientVersion+'"',weakEtag="W/"+expectedEtag,etag=req.headers["if-none-match"];if(etag&&(expectedEtag===etag||weakEtag===etag)){debug("serve client %s 304",type),res.writeHead(304),res.end();return}debug("serve client %s",type),res.setHeader("Cache-Control","public, max-age=0"),res.setHeader("Content-Type","application/"+(isMap?"json":"javascript")+"; charset=utf-8"),res.setHeader("ETag",expectedEtag),_Server.sendFile(filename,req,res)}static sendFile(filename,req,res){let readStream=(0,fs_1.createReadStream)(path.join(__dirname,"../client-dist/",filename)),encoding=accepts(req).encodings(["br","gzip","deflate"]),onError=err=>{err&&res.end()};switch(encoding){case"br":res.writeHead(200,{"content-encoding":"br"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createBrotliCompress)(),res,onError);break;case"gzip":res.writeHead(200,{"content-encoding":"gzip"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createGzip)(),res,onError);break;case"deflate":res.writeHead(200,{"content-encoding":"deflate"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createDeflate)(),res,onError);break;default:res.writeHead(200),(0,stream_1.pipeline)(readStream,res,onError)}}bind(engine){return this.engine=engine,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(conn){debug("incoming connection with id %s",conn.id);let client=new client_1.Client(this,conn);return conn.protocol===3&&client.connect("/"),this}of(name,fn){if(typeof name=="function"||name instanceof RegExp){let parentNsp=new parent_namespace_1.ParentNamespace(this);return debug("initializing parent namespace %s",parentNsp.name),typeof name=="function"?this.parentNsps.set(name,parentNsp):(this.parentNsps.set((nsp2,conn,next)=>next(null,name.test(nsp2)),parentNsp),this.parentNamespacesFromRegExp.set(name,parentNsp)),fn&&parentNsp.on("connect",fn),parentNsp}String(name)[0]!=="/"&&(name="/"+name);let nsp=this._nsps.get(name);if(!nsp){for(let[regex,parentNamespace]of this.parentNamespacesFromRegExp)if(regex.test(name))return debug("attaching namespace %s to parent namespace %s",name,regex),parentNamespace.createChild(name);debug("initializing namespace %s",name),nsp=new namespace_1.Namespace(this,name),this._nsps.set(name,nsp),name!=="/"&&this.sockets.emitReserved("new_namespace",nsp)}return fn&&nsp.on("connect",fn),nsp}async close(fn){if(await Promise.allSettled([...this._nsps.values()].map(async nsp=>{nsp.sockets.forEach(socket=>{socket._onclose("server shutting down")}),await nsp.adapter.close()})),this.engine.close(),(0,uws_1.restoreAdapter)(),this.httpServer)return new Promise(resolve=>{this.httpServer.close(err=>{fn&&fn(err),err&&debug("server was not running"),resolve()})});fn&&fn()}use(fn){return this.sockets.use(fn),this}to(room){return this.sockets.to(room)}in(room){return this.sockets.in(room)}except(room){return this.sockets.except(room)}send(...args){return this.sockets.emit("message",...args),this}write(...args){return this.sockets.emit("message",...args),this}serverSideEmit(ev,...args){return this.sockets.serverSideEmit(ev,...args)}serverSideEmitWithAck(ev,...args){return this.sockets.serverSideEmitWithAck(ev,...args)}allSockets(){return this.sockets.allSockets()}compress(compress){return this.sockets.compress(compress)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(timeout){return this.sockets.timeout(timeout)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(room){return this.sockets.socketsJoin(room)}socketsLeave(room){return this.sockets.socketsLeave(room)}disconnectSockets(close=!1){return this.sockets.disconnectSockets(close)}};exports2.Server=Server;var emitterMethods=Object.keys(events_1.EventEmitter.prototype).filter(function(key){return typeof events_1.EventEmitter.prototype[key]=="function"});emitterMethods.forEach(function(fn){Server.prototype[fn]=function(){return this.sockets[fn].apply(this.sockets,arguments)}});module2.exports=(srv,opts)=>new Server(srv,opts);module2.exports.Server=Server;module2.exports.Namespace=namespace_1.Namespace;module2.exports.Socket=socket_1.Socket}});var require_listCacheClear=__commonJS({"node_modules/lodash/_listCacheClear.js"(exports2,module2){function listCacheClear(){this.__data__=[],this.size=0}module2.exports=listCacheClear}});var require_eq=__commonJS({"node_modules/lodash/eq.js"(exports2,module2){function eq(value,other){return value===other||value!==value&&other!==other}module2.exports=eq}});var require_assocIndexOf=__commonJS({"node_modules/lodash/_assocIndexOf.js"(exports2,module2){var eq=require_eq();function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}module2.exports=assocIndexOf}});var require_listCacheDelete=__commonJS({"node_modules/lodash/_listCacheDelete.js"(exports2,module2){var assocIndexOf=require_assocIndexOf(),arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),--this.size,!0}module2.exports=listCacheDelete}});var require_listCacheGet=__commonJS({"node_modules/lodash/_listCacheGet.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]}module2.exports=listCacheGet}});var require_listCacheHas=__commonJS({"node_modules/lodash/_listCacheHas.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}module2.exports=listCacheHas}});var require_listCacheSet=__commonJS({"node_modules/lodash/_listCacheSet.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}module2.exports=listCacheSet}});var require_ListCache=__commonJS({"node_modules/lodash/_ListCache.js"(exports2,module2){var listCacheClear=require_listCacheClear(),listCacheDelete=require_listCacheDelete(),listCacheGet=require_listCacheGet(),listCacheHas=require_listCacheHas(),listCacheSet=require_listCacheSet();function ListCache(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype.delete=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;module2.exports=ListCache}});var require_stackClear=__commonJS({"node_modules/lodash/_stackClear.js"(exports2,module2){var ListCache=require_ListCache();function stackClear(){this.__data__=new ListCache,this.size=0}module2.exports=stackClear}});var require_stackDelete=__commonJS({"node_modules/lodash/_stackDelete.js"(exports2,module2){function stackDelete(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result}module2.exports=stackDelete}});var require_stackGet=__commonJS({"node_modules/lodash/_stackGet.js"(exports2,module2){function stackGet(key){return this.__data__.get(key)}module2.exports=stackGet}});var require_stackHas=__commonJS({"node_modules/lodash/_stackHas.js"(exports2,module2){function stackHas(key){return this.__data__.has(key)}module2.exports=stackHas}});var require_freeGlobal=__commonJS({"node_modules/lodash/_freeGlobal.js"(exports2,module2){var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;module2.exports=freeGlobal}});var require_root=__commonJS({"node_modules/lodash/_root.js"(exports2,module2){var freeGlobal=require_freeGlobal(),freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")();module2.exports=root}});var require_Symbol=__commonJS({"node_modules/lodash/_Symbol.js"(exports2,module2){var root=require_root(),Symbol2=root.Symbol;module2.exports=Symbol2}});var require_getRawTag=__commonJS({"node_modules/lodash/_getRawTag.js"(exports2,module2){var Symbol2=require_Symbol(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol2?Symbol2.toStringTag:void 0;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch{}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}module2.exports=getRawTag}});var require_objectToString=__commonJS({"node_modules/lodash/_objectToString.js"(exports2,module2){var objectProto=Object.prototype,nativeObjectToString=objectProto.toString;function objectToString(value){return nativeObjectToString.call(value)}module2.exports=objectToString}});var require_baseGetTag=__commonJS({"node_modules/lodash/_baseGetTag.js"(exports2,module2){var Symbol2=require_Symbol(),getRawTag=require_getRawTag(),objectToString=require_objectToString(),nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol2?Symbol2.toStringTag:void 0;function baseGetTag(value){return value==null?value===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}module2.exports=baseGetTag}});var require_isObject=__commonJS({"node_modules/lodash/isObject.js"(exports2,module2){function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}module2.exports=isObject}});var require_isFunction=__commonJS({"node_modules/lodash/isFunction.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isObject=require_isObject(),asyncTag="[object AsyncFunction]",funcTag="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}module2.exports=isFunction}});var require_coreJsData=__commonJS({"node_modules/lodash/_coreJsData.js"(exports2,module2){var root=require_root(),coreJsData=root["__core-js_shared__"];module2.exports=coreJsData}});var require_isMasked=__commonJS({"node_modules/lodash/_isMasked.js"(exports2,module2){var coreJsData=require_coreJsData(),maskSrcKey=(function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""})();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}module2.exports=isMasked}});var require_toSource=__commonJS({"node_modules/lodash/_toSource.js"(exports2,module2){var funcProto=Function.prototype,funcToString=funcProto.toString;function toSource(func){if(func!=null){try{return funcToString.call(func)}catch{}try{return func+""}catch{}}return""}module2.exports=toSource}});var require_baseIsNative=__commonJS({"node_modules/lodash/_baseIsNative.js"(exports2,module2){var isFunction=require_isFunction(),isMasked=require_isMasked(),isObject=require_isObject(),toSource=require_toSource(),reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}module2.exports=baseIsNative}});var require_getValue=__commonJS({"node_modules/lodash/_getValue.js"(exports2,module2){function getValue(object,key){return object==null?void 0:object[key]}module2.exports=getValue}});var require_getNative=__commonJS({"node_modules/lodash/_getNative.js"(exports2,module2){var baseIsNative=require_baseIsNative(),getValue=require_getValue();function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:void 0}module2.exports=getNative}});var require_Map=__commonJS({"node_modules/lodash/_Map.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Map2=getNative(root,"Map");module2.exports=Map2}});var require_nativeCreate=__commonJS({"node_modules/lodash/_nativeCreate.js"(exports2,module2){var getNative=require_getNative(),nativeCreate=getNative(Object,"create");module2.exports=nativeCreate}});var require_hashClear=__commonJS({"node_modules/lodash/_hashClear.js"(exports2,module2){var nativeCreate=require_nativeCreate();function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}module2.exports=hashClear}});var require_hashDelete=__commonJS({"node_modules/lodash/_hashDelete.js"(exports2,module2){function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}module2.exports=hashDelete}});var require_hashGet=__commonJS({"node_modules/lodash/_hashGet.js"(exports2,module2){var nativeCreate=require_nativeCreate(),HASH_UNDEFINED="__lodash_hash_undefined__",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?void 0:result}return hasOwnProperty.call(data,key)?data[key]:void 0}module2.exports=hashGet}});var require_hashHas=__commonJS({"node_modules/lodash/_hashHas.js"(exports2,module2){var nativeCreate=require_nativeCreate(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==void 0:hasOwnProperty.call(data,key)}module2.exports=hashHas}});var require_hashSet=__commonJS({"node_modules/lodash/_hashSet.js"(exports2,module2){var nativeCreate=require_nativeCreate(),HASH_UNDEFINED="__lodash_hash_undefined__";function hashSet(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&value===void 0?HASH_UNDEFINED:value,this}module2.exports=hashSet}});var require_Hash=__commonJS({"node_modules/lodash/_Hash.js"(exports2,module2){var hashClear=require_hashClear(),hashDelete=require_hashDelete(),hashGet=require_hashGet(),hashHas=require_hashHas(),hashSet=require_hashSet();function Hash(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=hashClear;Hash.prototype.delete=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;module2.exports=Hash}});var require_mapCacheClear=__commonJS({"node_modules/lodash/_mapCacheClear.js"(exports2,module2){var Hash=require_Hash(),ListCache=require_ListCache(),Map2=require_Map();function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map2||ListCache),string:new Hash}}module2.exports=mapCacheClear}});var require_isKeyable=__commonJS({"node_modules/lodash/_isKeyable.js"(exports2,module2){function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}module2.exports=isKeyable}});var require_getMapData=__commonJS({"node_modules/lodash/_getMapData.js"(exports2,module2){var isKeyable=require_isKeyable();function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}module2.exports=getMapData}});var require_mapCacheDelete=__commonJS({"node_modules/lodash/_mapCacheDelete.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheDelete(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result}module2.exports=mapCacheDelete}});var require_mapCacheGet=__commonJS({"node_modules/lodash/_mapCacheGet.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheGet(key){return getMapData(this,key).get(key)}module2.exports=mapCacheGet}});var require_mapCacheHas=__commonJS({"node_modules/lodash/_mapCacheHas.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheHas(key){return getMapData(this,key).has(key)}module2.exports=mapCacheHas}});var require_mapCacheSet=__commonJS({"node_modules/lodash/_mapCacheSet.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}module2.exports=mapCacheSet}});var require_MapCache=__commonJS({"node_modules/lodash/_MapCache.js"(exports2,module2){var mapCacheClear=require_mapCacheClear(),mapCacheDelete=require_mapCacheDelete(),mapCacheGet=require_mapCacheGet(),mapCacheHas=require_mapCacheHas(),mapCacheSet=require_mapCacheSet();function MapCache(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype.delete=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;module2.exports=MapCache}});var require_stackSet=__commonJS({"node_modules/lodash/_stackSet.js"(exports2,module2){var ListCache=require_ListCache(),Map2=require_Map(),MapCache=require_MapCache(),LARGE_ARRAY_SIZE=200;function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map2||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this}module2.exports=stackSet}});var require_Stack=__commonJS({"node_modules/lodash/_Stack.js"(exports2,module2){var ListCache=require_ListCache(),stackClear=require_stackClear(),stackDelete=require_stackDelete(),stackGet=require_stackGet(),stackHas=require_stackHas(),stackSet=require_stackSet();function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}Stack.prototype.clear=stackClear;Stack.prototype.delete=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;module2.exports=Stack}});var require_setCacheAdd=__commonJS({"node_modules/lodash/_setCacheAdd.js"(exports2,module2){var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(value){return this.__data__.set(value,HASH_UNDEFINED),this}module2.exports=setCacheAdd}});var require_setCacheHas=__commonJS({"node_modules/lodash/_setCacheHas.js"(exports2,module2){function setCacheHas(value){return this.__data__.has(value)}module2.exports=setCacheHas}});var require_SetCache=__commonJS({"node_modules/lodash/_SetCache.js"(exports2,module2){var MapCache=require_MapCache(),setCacheAdd=require_setCacheAdd(),setCacheHas=require_setCacheHas();function SetCache(values){var index=-1,length=values==null?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;module2.exports=SetCache}});var require_arraySome=__commonJS({"node_modules/lodash/_arraySome.js"(exports2,module2){function arraySome(array,predicate){for(var index=-1,length=array==null?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}module2.exports=arraySome}});var require_cacheHas=__commonJS({"node_modules/lodash/_cacheHas.js"(exports2,module2){function cacheHas(cache,key){return cache.has(key)}module2.exports=cacheHas}});var require_equalArrays=__commonJS({"node_modules/lodash/_equalArrays.js"(exports2,module2){var SetCache=require_SetCache(),arraySome=require_arraySome(),cacheHas=require_cacheHas(),COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(compared!==void 0){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,function(othValue2,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=!1;break}}return stack.delete(array),stack.delete(other),result}module2.exports=equalArrays}});var require_Uint8Array=__commonJS({"node_modules/lodash/_Uint8Array.js"(exports2,module2){var root=require_root(),Uint8Array2=root.Uint8Array;module2.exports=Uint8Array2}});var require_mapToArray=__commonJS({"node_modules/lodash/_mapToArray.js"(exports2,module2){function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}module2.exports=mapToArray}});var require_setToArray=__commonJS({"node_modules/lodash/_setToArray.js"(exports2,module2){function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}module2.exports=setToArray}});var require_equalByTag=__commonJS({"node_modules/lodash/_equalByTag.js"(exports2,module2){var Symbol2=require_Symbol(),Uint8Array2=require_Uint8Array(),eq=require_eq(),equalArrays=require_equalArrays(),mapToArray=require_mapToArray(),setToArray=require_setToArray(),COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol2?Symbol2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array2(object),new Uint8Array2(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=COMPARE_UNORDERED_FLAG,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}module2.exports=equalByTag}});var require_arrayPush=__commonJS({"node_modules/lodash/_arrayPush.js"(exports2,module2){function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}module2.exports=arrayPush}});var require_isArray=__commonJS({"node_modules/lodash/isArray.js"(exports2,module2){var isArray=Array.isArray;module2.exports=isArray}});var require_baseGetAllKeys=__commonJS({"node_modules/lodash/_baseGetAllKeys.js"(exports2,module2){var arrayPush=require_arrayPush(),isArray=require_isArray();function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}module2.exports=baseGetAllKeys}});var require_arrayFilter=__commonJS({"node_modules/lodash/_arrayFilter.js"(exports2,module2){function arrayFilter(array,predicate){for(var index=-1,length=array==null?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}module2.exports=arrayFilter}});var require_stubArray=__commonJS({"node_modules/lodash/stubArray.js"(exports2,module2){function stubArray(){return[]}module2.exports=stubArray}});var require_getSymbols=__commonJS({"node_modules/lodash/_getSymbols.js"(exports2,module2){var arrayFilter=require_arrayFilter(),stubArray=require_stubArray(),objectProto=Object.prototype,propertyIsEnumerable=objectProto.propertyIsEnumerable,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols?function(object){return object==null?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)}))}:stubArray;module2.exports=getSymbols}});var require_baseTimes=__commonJS({"node_modules/lodash/_baseTimes.js"(exports2,module2){function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}module2.exports=baseTimes}});var require_isObjectLike=__commonJS({"node_modules/lodash/isObjectLike.js"(exports2,module2){function isObjectLike(value){return value!=null&&typeof value=="object"}module2.exports=isObjectLike}});var require_baseIsArguments=__commonJS({"node_modules/lodash/_baseIsArguments.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isObjectLike=require_isObjectLike(),argsTag="[object Arguments]";function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}module2.exports=baseIsArguments}});var require_isArguments=__commonJS({"node_modules/lodash/isArguments.js"(exports2,module2){var baseIsArguments=require_baseIsArguments(),isObjectLike=require_isObjectLike(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,propertyIsEnumerable=objectProto.propertyIsEnumerable,isArguments=baseIsArguments((function(){return arguments})())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};module2.exports=isArguments}});var require_stubFalse=__commonJS({"node_modules/lodash/stubFalse.js"(exports2,module2){function stubFalse(){return!1}module2.exports=stubFalse}});var require_isBuffer=__commonJS({"node_modules/lodash/isBuffer.js"(exports2,module2){var root=require_root(),stubFalse=require_stubFalse(),freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2,freeModule=freeExports&&typeof module2=="object"&&module2&&!module2.nodeType&&module2,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer2=moduleExports?root.Buffer:void 0,nativeIsBuffer=Buffer2?Buffer2.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse;module2.exports=isBuffer}});var require_isIndex=__commonJS({"node_modules/lodash/_isIndex.js"(exports2,module2){var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type=typeof value;return length=length??MAX_SAFE_INTEGER,!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}module2.exports=isIndex}});var require_isLength=__commonJS({"node_modules/lodash/isLength.js"(exports2,module2){var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module2.exports=isLength}});var require_baseIsTypedArray=__commonJS({"node_modules/lodash/_baseIsTypedArray.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isLength=require_isLength(),isObjectLike=require_isObjectLike(),argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}module2.exports=baseIsTypedArray}});var require_baseUnary=__commonJS({"node_modules/lodash/_baseUnary.js"(exports2,module2){function baseUnary(func){return function(value){return func(value)}}module2.exports=baseUnary}});var require_nodeUtil=__commonJS({"node_modules/lodash/_nodeUtil.js"(exports2,module2){var freeGlobal=require_freeGlobal(),freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2,freeModule=freeExports&&typeof module2=="object"&&module2&&!module2.nodeType&&module2,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=(function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch{}})();module2.exports=nodeUtil}});var require_isTypedArray=__commonJS({"node_modules/lodash/isTypedArray.js"(exports2,module2){var baseIsTypedArray=require_baseIsTypedArray(),baseUnary=require_baseUnary(),nodeUtil=require_nodeUtil(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;module2.exports=isTypedArray}});var require_arrayLikeKeys=__commonJS({"node_modules/lodash/_arrayLikeKeys.js"(exports2,module2){var baseTimes=require_baseTimes(),isArguments=require_isArguments(),isArray=require_isArray(),isBuffer=require_isBuffer(),isIndex=require_isIndex(),isTypedArray=require_isTypedArray(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)(inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length)))&&result.push(key);return result}module2.exports=arrayLikeKeys}});var require_isPrototype=__commonJS({"node_modules/lodash/_isPrototype.js"(exports2,module2){var objectProto=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto}module2.exports=isPrototype}});var require_overArg=__commonJS({"node_modules/lodash/_overArg.js"(exports2,module2){function overArg(func,transform){return function(arg){return func(transform(arg))}}module2.exports=overArg}});var require_nativeKeys=__commonJS({"node_modules/lodash/_nativeKeys.js"(exports2,module2){var overArg=require_overArg(),nativeKeys=overArg(Object.keys,Object);module2.exports=nativeKeys}});var require_baseKeys=__commonJS({"node_modules/lodash/_baseKeys.js"(exports2,module2){var isPrototype=require_isPrototype(),nativeKeys=require_nativeKeys(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&key!="constructor"&&result.push(key);return result}module2.exports=baseKeys}});var require_isArrayLike=__commonJS({"node_modules/lodash/isArrayLike.js"(exports2,module2){var isFunction=require_isFunction(),isLength=require_isLength();function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}module2.exports=isArrayLike}});var require_keys=__commonJS({"node_modules/lodash/keys.js"(exports2,module2){var arrayLikeKeys=require_arrayLikeKeys(),baseKeys=require_baseKeys(),isArrayLike=require_isArrayLike();function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}module2.exports=keys}});var require_getAllKeys=__commonJS({"node_modules/lodash/_getAllKeys.js"(exports2,module2){var baseGetAllKeys=require_baseGetAllKeys(),getSymbols=require_getSymbols(),keys=require_keys();function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}module2.exports=getAllKeys}});var require_equalObjects=__commonJS({"node_modules/lodash/_equalObjects.js"(exports2,module2){var getAllKeys=require_getAllKeys(),COMPARE_PARTIAL_FLAG=1,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor=key=="constructor")}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)&&(result=!1)}return stack.delete(object),stack.delete(other),result}module2.exports=equalObjects}});var require_DataView=__commonJS({"node_modules/lodash/_DataView.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),DataView2=getNative(root,"DataView");module2.exports=DataView2}});var require_Promise=__commonJS({"node_modules/lodash/_Promise.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Promise2=getNative(root,"Promise");module2.exports=Promise2}});var require_Set=__commonJS({"node_modules/lodash/_Set.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Set2=getNative(root,"Set");module2.exports=Set2}});var require_WeakMap=__commonJS({"node_modules/lodash/_WeakMap.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),WeakMap2=getNative(root,"WeakMap");module2.exports=WeakMap2}});var require_getTag=__commonJS({"node_modules/lodash/_getTag.js"(exports2,module2){var DataView2=require_DataView(),Map2=require_Map(),Promise2=require_Promise(),Set2=require_Set(),WeakMap2=require_WeakMap(),baseGetTag=require_baseGetTag(),toSource=require_toSource(),mapTag="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]",dataViewTag="[object DataView]",dataViewCtorString=toSource(DataView2),mapCtorString=toSource(Map2),promiseCtorString=toSource(Promise2),setCtorString=toSource(Set2),weakMapCtorString=toSource(WeakMap2),getTag=baseGetTag;(DataView2&&getTag(new DataView2(new ArrayBuffer(1)))!=dataViewTag||Map2&&getTag(new Map2)!=mapTag||Promise2&&getTag(Promise2.resolve())!=promiseTag||Set2&&getTag(new Set2)!=setTag||WeakMap2&&getTag(new WeakMap2)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});module2.exports=getTag}});var require_baseIsEqualDeep=__commonJS({"node_modules/lodash/_baseIsEqualDeep.js"(exports2,module2){var Stack=require_Stack(),equalArrays=require_equalArrays(),equalByTag=require_equalByTag(),equalObjects=require_equalObjects(),getTag=require_getTag(),isArray=require_isArray(),isBuffer=require_isBuffer(),isTypedArray=require_isTypedArray(),COMPARE_PARTIAL_FLAG=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag,othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return isSameTag?(stack||(stack=new Stack),equalObjects(object,other,bitmask,customizer,equalFunc,stack)):!1}module2.exports=baseIsEqualDeep}});var require_baseIsEqual=__commonJS({"node_modules/lodash/_baseIsEqual.js"(exports2,module2){var baseIsEqualDeep=require_baseIsEqualDeep(),isObjectLike=require_isObjectLike();function baseIsEqual(value,other,bitmask,customizer,stack){return value===other?!0:value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}module2.exports=baseIsEqual}});var require_isEqual=__commonJS({"node_modules/lodash/isEqual.js"(exports2,module2){var baseIsEqual=require_baseIsEqual();function isEqual(value,other){return baseIsEqual(value,other)}module2.exports=isEqual}});var require_manageMockFiles=__commonJS({"src/lib/manageMockFiles.js"(exports2,module2){var fsa=require_lib(),fs=require("fs"),path=require("path"),isEqual=require_isEqual(),colors=require_safe(),{getFileLatestContent,SupportMethods,filePath2ApiUrl,logger,getDataType,getLogger,writeStream}=require_utils3(),log=logger(process.env.SILENT),processArgv=process.env.ARGV?JSON.parse(process.env.ARGV):{},methodRegExp=new RegExp(`(${SupportMethods.join("|")}) +(.*)`,"i"),logFile=(isWriteLogFile=!1,mockDir)=>isWriteLogFile?getLogger(mockDir):{log:function(){},error:function(){}},genMockFiles=async function({url:apiUrl,method,data:resJsonData,dir:mockDir}){let type=getDataType(resJsonData);if(!apiUrl||!method||!resJsonData||!mockDir){log.info(colors.red([`\u53C2\u6570: apiUrl: ${apiUrl}, method: ${method}, mockDir: ${mockDir} `,"\u5FC5\u987B\u662F\u6709\u6548\u503C"].join(",")));return}else if(!["object","array"].includes(type)||type==="object"&&Object.keys(resJsonData).length===0||type==="array"&&resJsonData.length===0){log.info(`\u53C2\u6570: apiUrl: ${apiUrl}, method: ${method}, resJsonData:`,resJsonData,colors.red("\uFF0C \u53C2\u6570\u5B57\u6BB5resJsonData\u5FC5\u987B\u662F\u975E\u7A7A\u7684\u6570\u7EC4\u6216\u5BF9\u8C61\uFF01"));return}apiUrl=apiUrl.trim().split("?")[0];let LOGGER=logFile(processArgv.t||processArgv.track,mockDir),normalizeApiUrl=filePath2ApiUrl(path.normalize(apiUrl)),mockListFilePath=path.resolve(process.cwd(),`${mockDir}/mock-list.json`),mockFilePath=path.resolve(process.cwd(),`${mockDir}/${encodeURIComponent(path.normalize(apiUrl))}.json`),newMockListContent={};fsa.pathExistsSync(mockListFilePath)?newMockListContent=getFileLatestContent(mockListFilePath):fsa.ensureFileSync(mockListFilePath);let isChange=!1;if(newMockListContent.hasOwnProperty(normalizeApiUrl)?newMockListContent[normalizeApiUrl].includes(method)||(newMockListContent[normalizeApiUrl].push(method),isChange=!0):(newMockListContent[normalizeApiUrl]=[method],isChange=!0),isChange&&Object.keys(newMockListContent).length>0&&fs.writeFileSync(mockListFilePath,JSON.stringify(newMockListContent,null,2)),fsa.pathExistsSync(mockFilePath)){let mockFileContent=getFileLatestContent(mockFilePath);if(mockFileContent.hasOwnProperty(method)&&isEqual(mockFileContent[method],resJsonData))return;mockFileContent[method]=resJsonData;try{await writeStream(mockFilePath,JSON.stringify(mockFileContent,null,2))}catch{LOGGER.error(`Update file: ${method} ${apiUrl} ${mockFilePath}`)}LOGGER.log(`Update file: ${method} ${apiUrl} ${mockFilePath}`)}else{try{await writeStream(mockFilePath,JSON.stringify({[method]:resJsonData},null,2))}catch{LOGGER.error(`New file: ${method} ${apiUrl} ${mockFilePath}`)}LOGGER.log(`New file: ${method} ${apiUrl} ${mockFilePath}`)}},collectMockDataFromJsFile=function(mockDataMap,filePath){let fileObject=getFileLatestContent(filePath);Object.keys(fileObject).forEach(item=>{let reqMethod="get",reqUrl=item;if(methodRegExp.exec(item)){let[,method,url]=methodRegExp.exec(item);reqMethod=method.toLowerCase(),reqUrl=path.normalize(url)}typeof fileObject[item]=="function"?mockDataMap[`${reqMethod} ${reqUrl}`]=String(fileObject[item]):typeof fileObject[item]=="object"&&(mockDataMap[`${reqMethod} ${reqUrl}`]=fileObject[item])})},deepCollectMockData=function(mockDataMap,specialDir="../mock"){let files=fs.readdirSync(path.resolve(process.cwd(),specialDir),{withFileTypes:!0}),curFilesSize=files.length;for(let index=0;index<curFilesSize;index++){let el=files[index],filePath=path.normalize(`${specialDir}/${el.name}`);if(el.isFile()||deepCollectMockData(mockDataMap,filePath),el.name.endsWith(".json")&&el.name!=="mock-list.json"){let fileObject=getFileLatestContent(filePath);Object.keys(fileObject).forEach(method=>{mockDataMap[`${method.toLocaleLowerCase()} ${decodeURIComponent(el.name).split(".json")[0]}`]=fileObject[method]});continue}el.name.endsWith(".js")&&collectMockDataFromJsFile(mockDataMap,filePath)}},getMockStatFromDir=dirPath=>{if(!fsa.pathExistsSync(dirPath)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${dirPath} \u76EE\u5F55\u4E0D\u5B58\u5728`);return}let mockDataMap={};deepCollectMockData(mockDataMap,dirPath);let mockListFilePath=path.resolve(process.cwd(),`${dirPath}/mock-list.json`);if(Object.keys(mockDataMap).length>0&&!fsa.pathExistsSync(mockListFilePath)){fsa.ensureFileSync(mockListFilePath);let reverseMockList={};Object.keys(mockDataMap).forEach(it=>{if(methodRegExp.exec(it)){let[,method,url]=methodRegExp.exec(it);url.trim()&&method.trim()&&(reverseMockList.hasOwnProperty(url)?reverseMockList[url].push(method):reverseMockList[url]=[method])}}),writeStream(mockListFilePath,JSON.stringify(reverseMockList,null,2))}return mockDataMap},getMockStatFromFile=filePath=>{if(!fsa.pathExistsSync(filePath)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${filePath} \u6587\u4EF6\u4E0D\u5B58\u5728`);return}let mockDataMap={};return collectMockDataFromJsFile(mockDataMap,filePath),mockDataMap},hasMockApi=function(mockDataMap,apiUrl,method){if(!apiUrl||!method||!mockDataMap||!(mockDataMap instanceof Object)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${mockDataMap} \u5FC5\u987B\u662F mock\u6570\u636E\u7684Object\u5BF9\u8C61`);return}return mockDataMap.hasOwnProperty(`${method.toLocaleLowerCase()} ${path.normalize(apiUrl)}`)};module2.exports={genMockFiles,getMockStatFromDir,getMockStatFromFile,hasMockApi}}});var require_asyncTaskQueue=__commonJS({"src/lib/asyncTaskQueue.js"(exports2,module2){var AsyncTaskQueue=class{constructor(isSaveItem=!1){this.list=[],this.index=0,this.isStop=!1,this.isParallel=!1,this.isSaveItem=isSaveItem}next(){if(this.index>=this.list.length-1||this.isStop)return;this.isSaveItem||this.list.splice(this.index,1,"");let cur=this.list[++this.index];cur(this.next.bind(this))}add(...fn){this.list.push(...fn)}run(){let cur=this.list[this.index];typeof cur=="function"&&cur(this.next.bind(this))}parallelRun(){this.isParallel=!0;for(let fn of this.list)fn(this.next.bind(this))}stop(){this.isStop=!0}retry(){this.isStop=!1,this.run()}goOn(){this.isStop=!1,this.next()}};module2.exports=AsyncTaskQueue}});var require_mockServer=__commonJS({"src/lib/mockServer.js"(exports2,module2){var express=require_express2(),{readdirSync,existsSync}=require("fs"),os=require("os"),path=require("path"),colors=require_safe(),portfinder=require_portfinder(),{exec}=require("child_process"),{createProxyMiddleware}=require_dist(),ifaces=os.networkInterfaces(),{Server}=require_dist3(),{dateFormat,logger,SupportMethods,DefaultHeaders,getFileLatestContent,filePath2ApiUrl,isEmptyObj}=require_utils3(),{getPackageVersion}=require_packageInfo(),{genMockFiles,getMockStatFromDir,getMockStatFromFile}=require_manageMockFiles(),registeredApis=[],methodRegExp=new RegExp(`((${SupportMethods.join("|")}) +)?([^?]*)`,"i"),app=express(),log=logger(process.env.SILENT),argv=JSON.parse(process.env.ARGV),socketServer=null,corsOrigin=[],corsHeaders="",httpsRE=/^https:\/\//,count=0,fileCount=0,mockDirStat={},mockFileStat={},includesWebServe=process.env.STATIC_DIRECTORY||process.env.WEB_ROOT,mockFileOrDir=process.env.SPECIFIED_FILE||process.env.SPECIFIED_DIR;process.env.PORT?init():(portfinder.basePort=8090,portfinder.getPort(function(err,port){if(err)throw err;process.env.PORT=port,init()}));function init(){process.env.CORS_ORIGIN&&(process.env.CORS_ORIGIN.split(/\s*,\s*/).forEach(function(h){corsOrigin.push(h)},this),corsHeaders=DefaultHeaders),process.env.CORS_HEADERS&&process.env.CORS_HEADERS.split(/\s*,\s*/).forEach(function(h){corsHeaders+=corsHeaders?", "+h:h},this),app.use(crossDomain()),app.use(express.json()),app.get("/__api-overview",(req,res)=>{let htmlPath=path.resolve(__dirname,"./api-overview.html");existsSync(htmlPath)?res.sendFile(htmlPath):res.status(404).send("API overview page not found")}),app.get("/__api-data",(req,res)=>{let groupedApis={};registeredApis.forEach(api=>{let dirPath=path.dirname(api.file);groupedApis[dirPath]||(groupedApis[dirPath]=[]),groupedApis[dirPath].push(api)}),res.json({apis:registeredApis,groupedApis,port:process.env.PORT})});let requireMockServe=!0;process.env.SPECIFIED_FILE?composeRouteFromJsFile(process.env.SPECIFIED_FILE):includesWebServe&&!existsSync(path.resolve(process.cwd(),process.env.SPECIFIED_DIR))?requireMockServe=!1:parseMockFiles(process.env.SPECIFIED_DIR),requireMockServe&&argv.a&&log.info(colors.yellow(`${fileCount} mock file are parsed in total.`)),startServer()}function crossDomain(){return(req,res,next)=>{if(typeof argv.A=="string"){let resHeaders={};argv.A.split(/\s*,\s*/).forEach(function(h){let[key,value]=h.split("=");resHeaders[key]=value},this);for(let key in resHeaders)resHeaders.hasOwnProperty(key)&&res.header(key,resHeaders[key])}res.header("Access-Control-Allow-Credentials",!0),res.header("Access-Control-Allow-Origin",corsOrigin.includes(req.headers.origin)?req.headers.origin:"*"),res.header("Access-Control-Allow-Methods",SupportMethods.join(",")),res.header("Access-Control-Allow-Headers",corsHeaders||"*"),req.method==="OPTIONS"&&res.status(200),next()}}function composeRouteFromJsFile(file){let fileObject=getFileLatestContent(file);argv.a&&log.info(colors.green(`Mockfile ${++fileCount}: `),file,colors.yellow("all API URL is follows: ")),fileObject!=="getFileLatestContent_ERROR"&&Object.keys(fileObject).forEach(item=>{let reqMethod="get",reqUrl=item,[,,method,url]=methodRegExp.exec(item);method&&(reqMethod=method.toLowerCase()),reqUrl=url,argv.a&&log.info(colors.grey(`path ${String(++count).padStart(3," ")}: `),colors.cyan(reqMethod.padEnd(8," ")),colors.cyan(reqUrl),colors.grey(typeof fileObject[item])),log.assert(typeof app[reqMethod]=="function",colors.red(`${file}, ${reqMethod}`)),typeof fileObject[item]=="function"?app[reqMethod](reqUrl,fileObject[item]):typeof fileObject[item]=="object"&&app[reqMethod](reqUrl,function(req,res){res.json(fileObject[item])}),registeredApis.push({method:reqMethod.toUpperCase(),url:reqUrl,file,data:fileObject[item]})})}function parseMockFiles(specialDir="../mock"){let files=readdirSync(path.resolve(process.cwd(),specialDir),{withFileTypes:!0}),curFilesSize=files.length;for(let index=0;index<curFilesSize;index++){let el=files[index],filePath=path.normalize(`${specialDir}/${el.name}`);if(el.isFile()||parseMockFiles(filePath),el.name.endsWith(".json")&&el.name!=="mock-list.json"){argv.a&&log.info(colors.green(`Mockfile ${++fileCount}: `),filePath,colors.yellow("all API URL is follows: "));let fileObject=getFileLatestContent(filePath);if(fileObject==="getFileLatestContent_ERROR")continue;Object.keys(fileObject).forEach(method=>{let apiUrl=filePath2ApiUrl(decodeURIComponent(el.name.split(".")[0]));argv.a&&log.info(colors.grey(`path ${String(++count).padStart(3," ")}: `),colors.cyan(method.padEnd(8," ")),colors.cyan(apiUrl),colors.grey(typeof fileObject[method])),log.assert(typeof app[method]=="function",colors.red(`${filePath}, ${method}`)),app[method](apiUrl,function(req,res){res.json(fileObject[method])}),registeredApis.push({method:method.toUpperCase(),url:apiUrl,file:filePath,data:fileObject[method]})});continue}!el.name.endsWith(".js")&&!el.name.endsWith(".cjs")||composeRouteFromJsFile(filePath)}}function startServer(){let webApp=null,webPublicPath="/",proxyTable={};if(process.env.WEB_ROOT){if(webApp=express(),process.env.PROXY_OPTIONS)try{let options=JSON.parse(process.env.PROXY_OPTIONS);Object.keys(options).forEach(function(prefix){proxyTable[prefix]=options[prefix];let opts={target:options[prefix],changeOrigin:!0,ws:!0};httpsRE.test(options[prefix])&&(opts.secure=!1),process.env.PREFIX_REWRITE&&(opts.pathRewrite=path2=>path2.replace(new RegExp(`^${prefix}`),"")),webApp.use(prefix,createProxyMiddleware(opts))},this)}catch(error){console.warn(colors.yellow(`
115
+ `+message)}function abortHandshakeOrEmitwsClientError(server,req,socket,code,message){if(server.listenerCount("wsClientError")){let err=new Error(message);Error.captureStackTrace(err,abortHandshakeOrEmitwsClientError),server.emit("wsClientError",err,socket,req)}else abortHandshake(socket,code,message)}}});var require_ws2=__commonJS({"node_modules/socket.io-adapter/node_modules/ws/index.js"(exports2,module2){"use strict";var WebSocket=require_websocket4();WebSocket.createWebSocketStream=require_stream2();WebSocket.Server=require_websocket_server2();WebSocket.Receiver=require_receiver2();WebSocket.Sender=require_sender2();WebSocket.WebSocket=WebSocket;WebSocket.WebSocketServer=WebSocket.Server;module2.exports=WebSocket}});var require_dist2=__commonJS({"node_modules/socket.io-adapter/dist/index.js"(exports2){"use strict";var _a;Object.defineProperty(exports2,"__esModule",{value:!0});exports2.SessionAwareAdapter=exports2.Adapter=void 0;var events_1=require("events"),yeast_1=require_yeast(),WebSocket=require_ws2(),canPreComputeFrame=typeof((_a=WebSocket?.Sender)===null||_a===void 0?void 0:_a.frame)=="function",Adapter=class extends events_1.EventEmitter{constructor(nsp){super(),this.nsp=nsp,this.rooms=new Map,this.sids=new Map,this.encoder=nsp.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(id,rooms){this.sids.has(id)||this.sids.set(id,new Set);for(let room of rooms)this.sids.get(id).add(room),this.rooms.has(room)||(this.rooms.set(room,new Set),this.emit("create-room",room)),this.rooms.get(room).has(id)||(this.rooms.get(room).add(id),this.emit("join-room",room,id))}del(id,room){this.sids.has(id)&&this.sids.get(id).delete(room),this._del(room,id)}_del(room,id){let _room=this.rooms.get(room);_room!=null&&(_room.delete(id)&&this.emit("leave-room",room,id),_room.size===0&&this.rooms.delete(room)&&this.emit("delete-room",room))}delAll(id){if(this.sids.has(id)){for(let room of this.sids.get(id))this._del(room,id);this.sids.delete(id)}}broadcast(packet,opts){let flags=opts.flags||{},packetOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;let encodedPackets=this._encode(packet,packetOpts);this.apply(opts,socket=>{typeof socket.notifyOutgoingListeners=="function"&&socket.notifyOutgoingListeners(packet),socket.client.writeToEngine(encodedPackets,packetOpts)})}broadcastWithAck(packet,opts,clientCountCallback,ack){let flags=opts.flags||{},packetOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name,packet.id=this.nsp._ids++;let encodedPackets=this._encode(packet,packetOpts),clientCount=0;this.apply(opts,socket=>{clientCount++,socket.acks.set(packet.id,ack),typeof socket.notifyOutgoingListeners=="function"&&socket.notifyOutgoingListeners(packet),socket.client.writeToEngine(encodedPackets,packetOpts)}),clientCountCallback(clientCount)}_encode(packet,packetOpts){let encodedPackets=this.encoder.encode(packet);if(canPreComputeFrame&&encodedPackets.length===1&&typeof encodedPackets[0]=="string"){let data=Buffer.from("4"+encodedPackets[0]);packetOpts.wsPreEncodedFrame=WebSocket.Sender.frame(data,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return encodedPackets}sockets(rooms){let sids=new Set;return this.apply({rooms},socket=>{sids.add(socket.id)}),Promise.resolve(sids)}socketRooms(id){return this.sids.get(id)}fetchSockets(opts){let sockets=[];return this.apply(opts,socket=>{sockets.push(socket)}),Promise.resolve(sockets)}addSockets(opts,rooms){this.apply(opts,socket=>{socket.join(rooms)})}delSockets(opts,rooms){this.apply(opts,socket=>{rooms.forEach(room=>socket.leave(room))})}disconnectSockets(opts,close){this.apply(opts,socket=>{socket.disconnect(close)})}apply(opts,callback){let rooms=opts.rooms,except=this.computeExceptSids(opts.except);if(rooms.size){let ids=new Set;for(let room of rooms)if(this.rooms.has(room))for(let id of this.rooms.get(room)){if(ids.has(id)||except.has(id))continue;let socket=this.nsp.sockets.get(id);socket&&(callback(socket),ids.add(id))}}else for(let[id]of this.sids){if(except.has(id))continue;let socket=this.nsp.sockets.get(id);socket&&callback(socket)}}computeExceptSids(exceptRooms){let exceptSids=new Set;if(exceptRooms&&exceptRooms.size>0)for(let room of exceptRooms)this.rooms.has(room)&&this.rooms.get(room).forEach(sid=>exceptSids.add(sid));return exceptSids}serverSideEmit(packet){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(session){}restoreSession(pid,offset){return null}};exports2.Adapter=Adapter;var SessionAwareAdapter=class extends Adapter{constructor(nsp){super(nsp),this.nsp=nsp,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=nsp.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let threshold=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((session,sessionId)=>{session.disconnectedAt<threshold&&this.sessions.delete(sessionId)});for(let i=this.packets.length-1;i>=0;i--)if(this.packets[i].emittedAt<threshold){this.packets.splice(0,i+1);break}},60*1e3).unref()}persistSession(session){session.disconnectedAt=Date.now(),this.sessions.set(session.pid,session)}restoreSession(pid,offset){let session=this.sessions.get(pid);if(!session)return null;if(session.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(pid),null;let index=this.packets.findIndex(packet=>packet.id===offset);if(index===-1)return null;let missedPackets=[];for(let i=index+1;i<this.packets.length;i++){let packet=this.packets[i];shouldIncludePacket(session.rooms,packet.opts)&&missedPackets.push(packet.data)}return Promise.resolve(Object.assign(Object.assign({},session),{missedPackets}))}broadcast(packet,opts){var _a2;let isEventPacket=packet.type===2,withoutAcknowledgement=packet.id===void 0,notVolatile=((_a2=opts.flags)===null||_a2===void 0?void 0:_a2.volatile)===void 0;if(isEventPacket&&withoutAcknowledgement&&notVolatile){let id=(0,yeast_1.yeast)();packet.data.push(id),this.packets.push({id,opts,data:packet.data,emittedAt:Date.now()})}super.broadcast(packet,opts)}};exports2.SessionAwareAdapter=SessionAwareAdapter;function shouldIncludePacket(sessionRooms,opts){let included=opts.rooms.size===0||sessionRooms.some(room=>opts.rooms.has(room)),notExcluded=sessionRooms.every(room=>!opts.except.has(room));return included&&notExcluded}}});var require_parent_namespace=__commonJS({"node_modules/socket.io/dist/parent-namespace.js"(exports2){"use strict";var __importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.ParentNamespace=void 0;var namespace_1=require_namespace(),socket_io_adapter_1=require_dist2(),debug_1=__importDefault(require_src8()),debug=(0,debug_1.default)("socket.io:parent-namespace"),ParentNamespace=class _ParentNamespace extends namespace_1.Namespace{constructor(server){super(server,"/_"+_ParentNamespace.count++),this.children=new Set}_initAdapter(){this.adapter=new ParentBroadcastAdapter(this)}emit(ev,...args){return this.children.forEach(nsp=>{nsp.emit(ev,...args)}),!0}createChild(name){debug("creating child namespace %s",name);let namespace=new namespace_1.Namespace(this.server,name);if(this._fns.forEach(fn=>namespace.use(fn)),this.listeners("connect").forEach(listener=>namespace.on("connect",listener)),this.listeners("connection").forEach(listener=>namespace.on("connection",listener)),this.children.add(namespace),this.server._opts.cleanupEmptyChildNamespaces){let remove=namespace._remove;namespace._remove=socket=>{remove.call(namespace,socket),namespace.sockets.size===0&&(debug("closing child namespace %s",name),namespace.adapter.close(),this.server._nsps.delete(namespace.name),this.children.delete(namespace))}}return this.server._nsps.set(name,namespace),this.server.sockets.emitReserved("new_namespace",namespace),namespace}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};exports2.ParentNamespace=ParentNamespace;ParentNamespace.count=0;var ParentBroadcastAdapter=class extends socket_io_adapter_1.Adapter{broadcast(packet,opts){this.nsp.children.forEach(nsp=>{nsp.adapter.broadcast(packet,opts)})}}}});var require_uws=__commonJS({"node_modules/socket.io/dist/uws.js"(exports2){"use strict";var __importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.patchAdapter=patchAdapter;exports2.restoreAdapter=restoreAdapter;exports2.serveFile=serveFile;var socket_io_adapter_1=require_dist2(),fs_1=require("fs"),debug_1=__importDefault(require_src8()),debug=(0,debug_1.default)("socket.io:adapter-uws"),SEPARATOR="",{addAll,del,broadcast}=socket_io_adapter_1.Adapter.prototype;function patchAdapter(app){socket_io_adapter_1.Adapter.prototype.addAll=function(id,rooms){let isNew=!this.sids.has(id);addAll.call(this,id,rooms);let socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(socket){if(socket.conn.transport.name==="websocket"){subscribe(this.nsp.name,socket,isNew,rooms);return}isNew&&socket.conn.on("upgrade",()=>{let rooms2=this.sids.get(id);rooms2&&subscribe(this.nsp.name,socket,isNew,rooms2)})}},socket_io_adapter_1.Adapter.prototype.del=function(id,room){del.call(this,id,room);let socket=this.nsp.sockets.get(id)||this.nsp._preConnectSockets.get(id);if(socket&&socket.conn.transport.name==="websocket"){let sessionId=socket.conn.id,websocket=socket.conn.transport.socket,topic=`${this.nsp.name}${SEPARATOR}${room}`;debug("unsubscribe connection %s from topic %s",sessionId,topic),websocket.unsubscribe(topic)}},socket_io_adapter_1.Adapter.prototype.broadcast=function(packet,opts){if(!(opts.rooms.size<=1&&opts.except.size===0)){broadcast.call(this,packet,opts);return}let flags=opts.flags||{},basePacketOpts={preEncoded:!0,volatile:flags.volatile,compress:flags.compress};packet.nsp=this.nsp.name;let encodedPackets=this.encoder.encode(packet),topic=opts.rooms.size===0?this.nsp.name:`${this.nsp.name}${SEPARATOR}${opts.rooms.keys().next().value}`;debug("fast publish to %s",topic),encodedPackets.forEach(encodedPacket=>{let isBinary=typeof encodedPacket!="string";app.publish(topic,isBinary?encodedPacket:"4"+encodedPacket,isBinary)}),this.apply(opts,socket=>{socket.conn.transport.name!=="websocket"&&socket.client.writeToEngine(encodedPackets,basePacketOpts)})}}function subscribe(namespaceName,socket,isNew,rooms){let sessionId=socket.conn.id,websocket=socket.conn.transport.socket;isNew&&(debug("subscribe connection %s to topic %s",sessionId,namespaceName),websocket.subscribe(namespaceName)),rooms.forEach(room=>{let topic=`${namespaceName}${SEPARATOR}${room}`;debug("subscribe connection %s to topic %s",sessionId,topic),websocket.subscribe(topic)})}function restoreAdapter(){socket_io_adapter_1.Adapter.prototype.addAll=addAll,socket_io_adapter_1.Adapter.prototype.del=del,socket_io_adapter_1.Adapter.prototype.broadcast=broadcast}var toArrayBuffer=buffer=>{let{buffer:arrayBuffer,byteOffset,byteLength}=buffer;return arrayBuffer.slice(byteOffset,byteOffset+byteLength)};function serveFile(res,filepath){let{size}=(0,fs_1.statSync)(filepath),readStream=(0,fs_1.createReadStream)(filepath),destroyReadStream=()=>!readStream.destroyed&&readStream.destroy(),onError=error=>{throw destroyReadStream(),error},onDataChunk=chunk=>{let arrayBufferChunk=toArrayBuffer(chunk);res.cork(()=>{let lastOffset=res.getWriteOffset(),[ok,done]=res.tryEnd(arrayBufferChunk,size);!done&&!ok&&(readStream.pause(),res.onWritable(offset=>{let[ok2,done2]=res.tryEnd(arrayBufferChunk.slice(offset-lastOffset),size);return!done2&&ok2&&readStream.resume(),ok2}))})};res.onAborted(destroyReadStream),readStream.on("data",onDataChunk).on("error",onError).on("end",destroyReadStream)}}});var require_package=__commonJS({"node_modules/socket.io/package.json"(exports2,module2){module2.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}}});var require_dist3=__commonJS({"node_modules/socket.io/dist/index.js"(exports2,module2){"use strict";var __createBinding=exports2&&exports2.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports2&&exports2.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports2&&exports2.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports2&&exports2.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports2,"__esModule",{value:!0});exports2.Namespace=exports2.Socket=exports2.Server=void 0;var http_1=__importDefault(require("http")),fs_1=require("fs"),zlib_1=require("zlib"),accepts=require_accepts(),stream_1=require("stream"),path=require("path"),engine_io_1=require_engine_io(),client_1=require_client(),events_1=require("events"),namespace_1=require_namespace();Object.defineProperty(exports2,"Namespace",{enumerable:!0,get:function(){return namespace_1.Namespace}});var parent_namespace_1=require_parent_namespace(),socket_io_adapter_1=require_dist2(),parser=__importStar(require_cjs2()),debug_1=__importDefault(require_src8()),socket_1=require_socket2();Object.defineProperty(exports2,"Socket",{enumerable:!0,get:function(){return socket_1.Socket}});var typed_events_1=require_typed_events(),uws_1=require_uws(),cors_1=__importDefault(require_lib4()),debug=(0,debug_1.default)("socket.io:server"),clientVersion=require_package().version,dotMapRegex=/\.map/,Server=class _Server extends typed_events_1.StrictEventEmitter{constructor(srv,opts={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof srv=="object"&&srv instanceof Object&&!srv.listen&&(opts=srv,srv=void 0),this.path(opts.path||"/socket.io"),this.connectTimeout(opts.connectTimeout||45e3),this.serveClient(opts.serveClient!==!1),this._parser=opts.parser||parser,this.encoder=new this._parser.Encoder,this.opts=opts,opts.connectionStateRecovery?(opts.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},opts.connectionStateRecovery),this.adapter(opts.adapter||socket_io_adapter_1.SessionAwareAdapter)):this.adapter(opts.adapter||socket_io_adapter_1.Adapter),opts.cleanupEmptyChildNamespaces=!!opts.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(srv||typeof srv=="number")&&this.attach(srv),this.opts.cors&&(this._corsMiddleware=(0,cors_1.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(v){return arguments.length?(this._serveClient=v,this):this._serveClient}_checkNamespace(name,auth,fn){if(this.parentNsps.size===0)return fn(!1);let keysIterator=this.parentNsps.keys(),run=()=>{let nextFn=keysIterator.next();if(nextFn.done)return fn(!1);nextFn.value(name,auth,(err,allow)=>{if(err||!allow)return run();if(this._nsps.has(name))return debug("dynamic namespace %s already exists",name),fn(this._nsps.get(name));let namespace=this.parentNsps.get(nextFn.value).createChild(name);debug("dynamic namespace %s was created",name),fn(namespace)})};run()}path(v){if(!arguments.length)return this._path;this._path=v.replace(/\/$/,"");let escapedPath=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+escapedPath+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(v){return v===void 0?this._connectTimeout:(this._connectTimeout=v,this)}adapter(v){if(!arguments.length)return this._adapter;this._adapter=v;for(let nsp of this._nsps.values())nsp._initAdapter();return this}listen(srv,opts={}){return this.attach(srv,opts)}attach(srv,opts={}){if(typeof srv=="function"){let msg="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(msg)}if(Number(srv)==srv&&(srv=Number(srv)),typeof srv=="number"){debug("creating http server and binding to %d",srv);let port=srv;srv=http_1.default.createServer((req,res)=>{res.writeHead(404),res.end()}),srv.listen(port)}return Object.assign(opts,this.opts),opts.path=opts.path||this._path,this.initEngine(srv,opts),this}attachApp(app,opts={}){Object.assign(opts,this.opts),opts.path=opts.path||this._path,debug("creating uWebSockets.js-based engine with opts %j",opts);let engine=new engine_io_1.uServer(opts);engine.attach(app,opts),this.bind(engine),this._serveClient&&app.get(`${this._path}/*`,(res,req)=>{if(!this.clientPathRegex.test(req.getUrl())){req.setYield(!0);return}let filename=req.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),isMap=dotMapRegex.test(filename),type=isMap?"map":"source",expectedEtag='"'+clientVersion+'"',weakEtag="W/"+expectedEtag,etag=req.getHeader("if-none-match");if(etag&&(expectedEtag===etag||weakEtag===etag)){debug("serve client %s 304",type),res.writeStatus("304 Not Modified"),res.end();return}debug("serve client %s",type),res.writeHeader("cache-control","public, max-age=0"),res.writeHeader("content-type","application/"+(isMap?"json":"javascript")+"; charset=utf-8"),res.writeHeader("etag",expectedEtag);let filepath=path.join(__dirname,"../client-dist/",filename);(0,uws_1.serveFile)(res,filepath)}),(0,uws_1.patchAdapter)(app)}initEngine(srv,opts){debug("creating engine.io instance with opts %j",opts),this.eio=(0,engine_io_1.attach)(srv,opts),this._serveClient&&this.attachServe(srv),this.httpServer=srv,this.bind(this.eio)}attachServe(srv){debug("attaching client serving req handler");let evs=srv.listeners("request").slice(0);srv.removeAllListeners("request"),srv.on("request",(req,res)=>{if(this.clientPathRegex.test(req.url))this._corsMiddleware?this._corsMiddleware(req,res,()=>{this.serve(req,res)}):this.serve(req,res);else for(let i=0;i<evs.length;i++)evs[i].call(srv,req,res)})}serve(req,res){let filename=req.url.replace(this._path,"").replace(/\?.*$/,""),isMap=dotMapRegex.test(filename),type=isMap?"map":"source",expectedEtag='"'+clientVersion+'"',weakEtag="W/"+expectedEtag,etag=req.headers["if-none-match"];if(etag&&(expectedEtag===etag||weakEtag===etag)){debug("serve client %s 304",type),res.writeHead(304),res.end();return}debug("serve client %s",type),res.setHeader("Cache-Control","public, max-age=0"),res.setHeader("Content-Type","application/"+(isMap?"json":"javascript")+"; charset=utf-8"),res.setHeader("ETag",expectedEtag),_Server.sendFile(filename,req,res)}static sendFile(filename,req,res){let readStream=(0,fs_1.createReadStream)(path.join(__dirname,"../client-dist/",filename)),encoding=accepts(req).encodings(["br","gzip","deflate"]),onError=err=>{err&&res.end()};switch(encoding){case"br":res.writeHead(200,{"content-encoding":"br"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createBrotliCompress)(),res,onError);break;case"gzip":res.writeHead(200,{"content-encoding":"gzip"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createGzip)(),res,onError);break;case"deflate":res.writeHead(200,{"content-encoding":"deflate"}),(0,stream_1.pipeline)(readStream,(0,zlib_1.createDeflate)(),res,onError);break;default:res.writeHead(200),(0,stream_1.pipeline)(readStream,res,onError)}}bind(engine){return this.engine=engine,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(conn){debug("incoming connection with id %s",conn.id);let client=new client_1.Client(this,conn);return conn.protocol===3&&client.connect("/"),this}of(name,fn){if(typeof name=="function"||name instanceof RegExp){let parentNsp=new parent_namespace_1.ParentNamespace(this);return debug("initializing parent namespace %s",parentNsp.name),typeof name=="function"?this.parentNsps.set(name,parentNsp):(this.parentNsps.set((nsp2,conn,next)=>next(null,name.test(nsp2)),parentNsp),this.parentNamespacesFromRegExp.set(name,parentNsp)),fn&&parentNsp.on("connect",fn),parentNsp}String(name)[0]!=="/"&&(name="/"+name);let nsp=this._nsps.get(name);if(!nsp){for(let[regex,parentNamespace]of this.parentNamespacesFromRegExp)if(regex.test(name))return debug("attaching namespace %s to parent namespace %s",name,regex),parentNamespace.createChild(name);debug("initializing namespace %s",name),nsp=new namespace_1.Namespace(this,name),this._nsps.set(name,nsp),name!=="/"&&this.sockets.emitReserved("new_namespace",nsp)}return fn&&nsp.on("connect",fn),nsp}async close(fn){if(await Promise.allSettled([...this._nsps.values()].map(async nsp=>{nsp.sockets.forEach(socket=>{socket._onclose("server shutting down")}),await nsp.adapter.close()})),this.engine.close(),(0,uws_1.restoreAdapter)(),this.httpServer)return new Promise(resolve=>{this.httpServer.close(err=>{fn&&fn(err),err&&debug("server was not running"),resolve()})});fn&&fn()}use(fn){return this.sockets.use(fn),this}to(room){return this.sockets.to(room)}in(room){return this.sockets.in(room)}except(room){return this.sockets.except(room)}send(...args){return this.sockets.emit("message",...args),this}write(...args){return this.sockets.emit("message",...args),this}serverSideEmit(ev,...args){return this.sockets.serverSideEmit(ev,...args)}serverSideEmitWithAck(ev,...args){return this.sockets.serverSideEmitWithAck(ev,...args)}allSockets(){return this.sockets.allSockets()}compress(compress){return this.sockets.compress(compress)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(timeout){return this.sockets.timeout(timeout)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(room){return this.sockets.socketsJoin(room)}socketsLeave(room){return this.sockets.socketsLeave(room)}disconnectSockets(close=!1){return this.sockets.disconnectSockets(close)}};exports2.Server=Server;var emitterMethods=Object.keys(events_1.EventEmitter.prototype).filter(function(key){return typeof events_1.EventEmitter.prototype[key]=="function"});emitterMethods.forEach(function(fn){Server.prototype[fn]=function(){return this.sockets[fn].apply(this.sockets,arguments)}});module2.exports=(srv,opts)=>new Server(srv,opts);module2.exports.Server=Server;module2.exports.Namespace=namespace_1.Namespace;module2.exports.Socket=socket_1.Socket}});var require_listCacheClear=__commonJS({"node_modules/lodash/_listCacheClear.js"(exports2,module2){function listCacheClear(){this.__data__=[],this.size=0}module2.exports=listCacheClear}});var require_eq=__commonJS({"node_modules/lodash/eq.js"(exports2,module2){function eq(value,other){return value===other||value!==value&&other!==other}module2.exports=eq}});var require_assocIndexOf=__commonJS({"node_modules/lodash/_assocIndexOf.js"(exports2,module2){var eq=require_eq();function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}module2.exports=assocIndexOf}});var require_listCacheDelete=__commonJS({"node_modules/lodash/_listCacheDelete.js"(exports2,module2){var assocIndexOf=require_assocIndexOf(),arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),--this.size,!0}module2.exports=listCacheDelete}});var require_listCacheGet=__commonJS({"node_modules/lodash/_listCacheGet.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]}module2.exports=listCacheGet}});var require_listCacheHas=__commonJS({"node_modules/lodash/_listCacheHas.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}module2.exports=listCacheHas}});var require_listCacheSet=__commonJS({"node_modules/lodash/_listCacheSet.js"(exports2,module2){var assocIndexOf=require_assocIndexOf();function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}module2.exports=listCacheSet}});var require_ListCache=__commonJS({"node_modules/lodash/_ListCache.js"(exports2,module2){var listCacheClear=require_listCacheClear(),listCacheDelete=require_listCacheDelete(),listCacheGet=require_listCacheGet(),listCacheHas=require_listCacheHas(),listCacheSet=require_listCacheSet();function ListCache(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype.delete=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;module2.exports=ListCache}});var require_stackClear=__commonJS({"node_modules/lodash/_stackClear.js"(exports2,module2){var ListCache=require_ListCache();function stackClear(){this.__data__=new ListCache,this.size=0}module2.exports=stackClear}});var require_stackDelete=__commonJS({"node_modules/lodash/_stackDelete.js"(exports2,module2){function stackDelete(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result}module2.exports=stackDelete}});var require_stackGet=__commonJS({"node_modules/lodash/_stackGet.js"(exports2,module2){function stackGet(key){return this.__data__.get(key)}module2.exports=stackGet}});var require_stackHas=__commonJS({"node_modules/lodash/_stackHas.js"(exports2,module2){function stackHas(key){return this.__data__.has(key)}module2.exports=stackHas}});var require_freeGlobal=__commonJS({"node_modules/lodash/_freeGlobal.js"(exports2,module2){var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;module2.exports=freeGlobal}});var require_root=__commonJS({"node_modules/lodash/_root.js"(exports2,module2){var freeGlobal=require_freeGlobal(),freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")();module2.exports=root}});var require_Symbol=__commonJS({"node_modules/lodash/_Symbol.js"(exports2,module2){var root=require_root(),Symbol2=root.Symbol;module2.exports=Symbol2}});var require_getRawTag=__commonJS({"node_modules/lodash/_getRawTag.js"(exports2,module2){var Symbol2=require_Symbol(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol2?Symbol2.toStringTag:void 0;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch{}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}module2.exports=getRawTag}});var require_objectToString=__commonJS({"node_modules/lodash/_objectToString.js"(exports2,module2){var objectProto=Object.prototype,nativeObjectToString=objectProto.toString;function objectToString(value){return nativeObjectToString.call(value)}module2.exports=objectToString}});var require_baseGetTag=__commonJS({"node_modules/lodash/_baseGetTag.js"(exports2,module2){var Symbol2=require_Symbol(),getRawTag=require_getRawTag(),objectToString=require_objectToString(),nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol2?Symbol2.toStringTag:void 0;function baseGetTag(value){return value==null?value===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}module2.exports=baseGetTag}});var require_isObject=__commonJS({"node_modules/lodash/isObject.js"(exports2,module2){function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}module2.exports=isObject}});var require_isFunction=__commonJS({"node_modules/lodash/isFunction.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isObject=require_isObject(),asyncTag="[object AsyncFunction]",funcTag="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}module2.exports=isFunction}});var require_coreJsData=__commonJS({"node_modules/lodash/_coreJsData.js"(exports2,module2){var root=require_root(),coreJsData=root["__core-js_shared__"];module2.exports=coreJsData}});var require_isMasked=__commonJS({"node_modules/lodash/_isMasked.js"(exports2,module2){var coreJsData=require_coreJsData(),maskSrcKey=(function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""})();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}module2.exports=isMasked}});var require_toSource=__commonJS({"node_modules/lodash/_toSource.js"(exports2,module2){var funcProto=Function.prototype,funcToString=funcProto.toString;function toSource(func){if(func!=null){try{return funcToString.call(func)}catch{}try{return func+""}catch{}}return""}module2.exports=toSource}});var require_baseIsNative=__commonJS({"node_modules/lodash/_baseIsNative.js"(exports2,module2){var isFunction=require_isFunction(),isMasked=require_isMasked(),isObject=require_isObject(),toSource=require_toSource(),reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}module2.exports=baseIsNative}});var require_getValue=__commonJS({"node_modules/lodash/_getValue.js"(exports2,module2){function getValue(object,key){return object?.[key]}module2.exports=getValue}});var require_getNative=__commonJS({"node_modules/lodash/_getNative.js"(exports2,module2){var baseIsNative=require_baseIsNative(),getValue=require_getValue();function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:void 0}module2.exports=getNative}});var require_Map=__commonJS({"node_modules/lodash/_Map.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Map2=getNative(root,"Map");module2.exports=Map2}});var require_nativeCreate=__commonJS({"node_modules/lodash/_nativeCreate.js"(exports2,module2){var getNative=require_getNative(),nativeCreate=getNative(Object,"create");module2.exports=nativeCreate}});var require_hashClear=__commonJS({"node_modules/lodash/_hashClear.js"(exports2,module2){var nativeCreate=require_nativeCreate();function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}module2.exports=hashClear}});var require_hashDelete=__commonJS({"node_modules/lodash/_hashDelete.js"(exports2,module2){function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}module2.exports=hashDelete}});var require_hashGet=__commonJS({"node_modules/lodash/_hashGet.js"(exports2,module2){var nativeCreate=require_nativeCreate(),HASH_UNDEFINED="__lodash_hash_undefined__",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?void 0:result}return hasOwnProperty.call(data,key)?data[key]:void 0}module2.exports=hashGet}});var require_hashHas=__commonJS({"node_modules/lodash/_hashHas.js"(exports2,module2){var nativeCreate=require_nativeCreate(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==void 0:hasOwnProperty.call(data,key)}module2.exports=hashHas}});var require_hashSet=__commonJS({"node_modules/lodash/_hashSet.js"(exports2,module2){var nativeCreate=require_nativeCreate(),HASH_UNDEFINED="__lodash_hash_undefined__";function hashSet(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&value===void 0?HASH_UNDEFINED:value,this}module2.exports=hashSet}});var require_Hash=__commonJS({"node_modules/lodash/_Hash.js"(exports2,module2){var hashClear=require_hashClear(),hashDelete=require_hashDelete(),hashGet=require_hashGet(),hashHas=require_hashHas(),hashSet=require_hashSet();function Hash(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=hashClear;Hash.prototype.delete=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;module2.exports=Hash}});var require_mapCacheClear=__commonJS({"node_modules/lodash/_mapCacheClear.js"(exports2,module2){var Hash=require_Hash(),ListCache=require_ListCache(),Map2=require_Map();function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map2||ListCache),string:new Hash}}module2.exports=mapCacheClear}});var require_isKeyable=__commonJS({"node_modules/lodash/_isKeyable.js"(exports2,module2){function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}module2.exports=isKeyable}});var require_getMapData=__commonJS({"node_modules/lodash/_getMapData.js"(exports2,module2){var isKeyable=require_isKeyable();function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}module2.exports=getMapData}});var require_mapCacheDelete=__commonJS({"node_modules/lodash/_mapCacheDelete.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheDelete(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result}module2.exports=mapCacheDelete}});var require_mapCacheGet=__commonJS({"node_modules/lodash/_mapCacheGet.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheGet(key){return getMapData(this,key).get(key)}module2.exports=mapCacheGet}});var require_mapCacheHas=__commonJS({"node_modules/lodash/_mapCacheHas.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheHas(key){return getMapData(this,key).has(key)}module2.exports=mapCacheHas}});var require_mapCacheSet=__commonJS({"node_modules/lodash/_mapCacheSet.js"(exports2,module2){var getMapData=require_getMapData();function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}module2.exports=mapCacheSet}});var require_MapCache=__commonJS({"node_modules/lodash/_MapCache.js"(exports2,module2){var mapCacheClear=require_mapCacheClear(),mapCacheDelete=require_mapCacheDelete(),mapCacheGet=require_mapCacheGet(),mapCacheHas=require_mapCacheHas(),mapCacheSet=require_mapCacheSet();function MapCache(entries){var index=-1,length=entries==null?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype.delete=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;module2.exports=MapCache}});var require_stackSet=__commonJS({"node_modules/lodash/_stackSet.js"(exports2,module2){var ListCache=require_ListCache(),Map2=require_Map(),MapCache=require_MapCache(),LARGE_ARRAY_SIZE=200;function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map2||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this}module2.exports=stackSet}});var require_Stack=__commonJS({"node_modules/lodash/_Stack.js"(exports2,module2){var ListCache=require_ListCache(),stackClear=require_stackClear(),stackDelete=require_stackDelete(),stackGet=require_stackGet(),stackHas=require_stackHas(),stackSet=require_stackSet();function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}Stack.prototype.clear=stackClear;Stack.prototype.delete=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;module2.exports=Stack}});var require_setCacheAdd=__commonJS({"node_modules/lodash/_setCacheAdd.js"(exports2,module2){var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(value){return this.__data__.set(value,HASH_UNDEFINED),this}module2.exports=setCacheAdd}});var require_setCacheHas=__commonJS({"node_modules/lodash/_setCacheHas.js"(exports2,module2){function setCacheHas(value){return this.__data__.has(value)}module2.exports=setCacheHas}});var require_SetCache=__commonJS({"node_modules/lodash/_SetCache.js"(exports2,module2){var MapCache=require_MapCache(),setCacheAdd=require_setCacheAdd(),setCacheHas=require_setCacheHas();function SetCache(values){var index=-1,length=values==null?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;module2.exports=SetCache}});var require_arraySome=__commonJS({"node_modules/lodash/_arraySome.js"(exports2,module2){function arraySome(array,predicate){for(var index=-1,length=array==null?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}module2.exports=arraySome}});var require_cacheHas=__commonJS({"node_modules/lodash/_cacheHas.js"(exports2,module2){function cacheHas(cache,key){return cache.has(key)}module2.exports=cacheHas}});var require_equalArrays=__commonJS({"node_modules/lodash/_equalArrays.js"(exports2,module2){var SetCache=require_SetCache(),arraySome=require_arraySome(),cacheHas=require_cacheHas(),COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(compared!==void 0){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,function(othValue2,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=!1;break}}return stack.delete(array),stack.delete(other),result}module2.exports=equalArrays}});var require_Uint8Array=__commonJS({"node_modules/lodash/_Uint8Array.js"(exports2,module2){var root=require_root(),Uint8Array2=root.Uint8Array;module2.exports=Uint8Array2}});var require_mapToArray=__commonJS({"node_modules/lodash/_mapToArray.js"(exports2,module2){function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}module2.exports=mapToArray}});var require_setToArray=__commonJS({"node_modules/lodash/_setToArray.js"(exports2,module2){function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}module2.exports=setToArray}});var require_equalByTag=__commonJS({"node_modules/lodash/_equalByTag.js"(exports2,module2){var Symbol2=require_Symbol(),Uint8Array2=require_Uint8Array(),eq=require_eq(),equalArrays=require_equalArrays(),mapToArray=require_mapToArray(),setToArray=require_setToArray(),COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol2?Symbol2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array2(object),new Uint8Array2(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=COMPARE_UNORDERED_FLAG,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}module2.exports=equalByTag}});var require_arrayPush=__commonJS({"node_modules/lodash/_arrayPush.js"(exports2,module2){function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}module2.exports=arrayPush}});var require_isArray=__commonJS({"node_modules/lodash/isArray.js"(exports2,module2){var isArray=Array.isArray;module2.exports=isArray}});var require_baseGetAllKeys=__commonJS({"node_modules/lodash/_baseGetAllKeys.js"(exports2,module2){var arrayPush=require_arrayPush(),isArray=require_isArray();function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}module2.exports=baseGetAllKeys}});var require_arrayFilter=__commonJS({"node_modules/lodash/_arrayFilter.js"(exports2,module2){function arrayFilter(array,predicate){for(var index=-1,length=array==null?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}module2.exports=arrayFilter}});var require_stubArray=__commonJS({"node_modules/lodash/stubArray.js"(exports2,module2){function stubArray(){return[]}module2.exports=stubArray}});var require_getSymbols=__commonJS({"node_modules/lodash/_getSymbols.js"(exports2,module2){var arrayFilter=require_arrayFilter(),stubArray=require_stubArray(),objectProto=Object.prototype,propertyIsEnumerable=objectProto.propertyIsEnumerable,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols?function(object){return object==null?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)}))}:stubArray;module2.exports=getSymbols}});var require_baseTimes=__commonJS({"node_modules/lodash/_baseTimes.js"(exports2,module2){function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}module2.exports=baseTimes}});var require_isObjectLike=__commonJS({"node_modules/lodash/isObjectLike.js"(exports2,module2){function isObjectLike(value){return value!=null&&typeof value=="object"}module2.exports=isObjectLike}});var require_baseIsArguments=__commonJS({"node_modules/lodash/_baseIsArguments.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isObjectLike=require_isObjectLike(),argsTag="[object Arguments]";function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}module2.exports=baseIsArguments}});var require_isArguments=__commonJS({"node_modules/lodash/isArguments.js"(exports2,module2){var baseIsArguments=require_baseIsArguments(),isObjectLike=require_isObjectLike(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,propertyIsEnumerable=objectProto.propertyIsEnumerable,isArguments=baseIsArguments((function(){return arguments})())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};module2.exports=isArguments}});var require_stubFalse=__commonJS({"node_modules/lodash/stubFalse.js"(exports2,module2){function stubFalse(){return!1}module2.exports=stubFalse}});var require_isBuffer=__commonJS({"node_modules/lodash/isBuffer.js"(exports2,module2){var root=require_root(),stubFalse=require_stubFalse(),freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2,freeModule=freeExports&&typeof module2=="object"&&module2&&!module2.nodeType&&module2,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer2=moduleExports?root.Buffer:void 0,nativeIsBuffer=Buffer2?Buffer2.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse;module2.exports=isBuffer}});var require_isIndex=__commonJS({"node_modules/lodash/_isIndex.js"(exports2,module2){var MAX_SAFE_INTEGER=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type=typeof value;return length=length??MAX_SAFE_INTEGER,!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}module2.exports=isIndex}});var require_isLength=__commonJS({"node_modules/lodash/isLength.js"(exports2,module2){var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module2.exports=isLength}});var require_baseIsTypedArray=__commonJS({"node_modules/lodash/_baseIsTypedArray.js"(exports2,module2){var baseGetTag=require_baseGetTag(),isLength=require_isLength(),isObjectLike=require_isObjectLike(),argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}module2.exports=baseIsTypedArray}});var require_baseUnary=__commonJS({"node_modules/lodash/_baseUnary.js"(exports2,module2){function baseUnary(func){return function(value){return func(value)}}module2.exports=baseUnary}});var require_nodeUtil=__commonJS({"node_modules/lodash/_nodeUtil.js"(exports2,module2){var freeGlobal=require_freeGlobal(),freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2,freeModule=freeExports&&typeof module2=="object"&&module2&&!module2.nodeType&&module2,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=(function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch{}})();module2.exports=nodeUtil}});var require_isTypedArray=__commonJS({"node_modules/lodash/isTypedArray.js"(exports2,module2){var baseIsTypedArray=require_baseIsTypedArray(),baseUnary=require_baseUnary(),nodeUtil=require_nodeUtil(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;module2.exports=isTypedArray}});var require_arrayLikeKeys=__commonJS({"node_modules/lodash/_arrayLikeKeys.js"(exports2,module2){var baseTimes=require_baseTimes(),isArguments=require_isArguments(),isArray=require_isArray(),isBuffer=require_isBuffer(),isIndex=require_isIndex(),isTypedArray=require_isTypedArray(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)(inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length)))&&result.push(key);return result}module2.exports=arrayLikeKeys}});var require_isPrototype=__commonJS({"node_modules/lodash/_isPrototype.js"(exports2,module2){var objectProto=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto}module2.exports=isPrototype}});var require_overArg=__commonJS({"node_modules/lodash/_overArg.js"(exports2,module2){function overArg(func,transform){return function(arg){return func(transform(arg))}}module2.exports=overArg}});var require_nativeKeys=__commonJS({"node_modules/lodash/_nativeKeys.js"(exports2,module2){var overArg=require_overArg(),nativeKeys=overArg(Object.keys,Object);module2.exports=nativeKeys}});var require_baseKeys=__commonJS({"node_modules/lodash/_baseKeys.js"(exports2,module2){var isPrototype=require_isPrototype(),nativeKeys=require_nativeKeys(),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&key!="constructor"&&result.push(key);return result}module2.exports=baseKeys}});var require_isArrayLike=__commonJS({"node_modules/lodash/isArrayLike.js"(exports2,module2){var isFunction=require_isFunction(),isLength=require_isLength();function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}module2.exports=isArrayLike}});var require_keys=__commonJS({"node_modules/lodash/keys.js"(exports2,module2){var arrayLikeKeys=require_arrayLikeKeys(),baseKeys=require_baseKeys(),isArrayLike=require_isArrayLike();function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}module2.exports=keys}});var require_getAllKeys=__commonJS({"node_modules/lodash/_getAllKeys.js"(exports2,module2){var baseGetAllKeys=require_baseGetAllKeys(),getSymbols=require_getSymbols(),keys=require_keys();function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}module2.exports=getAllKeys}});var require_equalObjects=__commonJS({"node_modules/lodash/_equalObjects.js"(exports2,module2){var getAllKeys=require_getAllKeys(),COMPARE_PARTIAL_FLAG=1,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor=key=="constructor")}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)&&(result=!1)}return stack.delete(object),stack.delete(other),result}module2.exports=equalObjects}});var require_DataView=__commonJS({"node_modules/lodash/_DataView.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),DataView2=getNative(root,"DataView");module2.exports=DataView2}});var require_Promise=__commonJS({"node_modules/lodash/_Promise.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Promise2=getNative(root,"Promise");module2.exports=Promise2}});var require_Set=__commonJS({"node_modules/lodash/_Set.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),Set2=getNative(root,"Set");module2.exports=Set2}});var require_WeakMap=__commonJS({"node_modules/lodash/_WeakMap.js"(exports2,module2){var getNative=require_getNative(),root=require_root(),WeakMap2=getNative(root,"WeakMap");module2.exports=WeakMap2}});var require_getTag=__commonJS({"node_modules/lodash/_getTag.js"(exports2,module2){var DataView2=require_DataView(),Map2=require_Map(),Promise2=require_Promise(),Set2=require_Set(),WeakMap2=require_WeakMap(),baseGetTag=require_baseGetTag(),toSource=require_toSource(),mapTag="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]",dataViewTag="[object DataView]",dataViewCtorString=toSource(DataView2),mapCtorString=toSource(Map2),promiseCtorString=toSource(Promise2),setCtorString=toSource(Set2),weakMapCtorString=toSource(WeakMap2),getTag=baseGetTag;(DataView2&&getTag(new DataView2(new ArrayBuffer(1)))!=dataViewTag||Map2&&getTag(new Map2)!=mapTag||Promise2&&getTag(Promise2.resolve())!=promiseTag||Set2&&getTag(new Set2)!=setTag||WeakMap2&&getTag(new WeakMap2)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});module2.exports=getTag}});var require_baseIsEqualDeep=__commonJS({"node_modules/lodash/_baseIsEqualDeep.js"(exports2,module2){var Stack=require_Stack(),equalArrays=require_equalArrays(),equalByTag=require_equalByTag(),equalObjects=require_equalObjects(),getTag=require_getTag(),isArray=require_isArray(),isBuffer=require_isBuffer(),isTypedArray=require_isTypedArray(),COMPARE_PARTIAL_FLAG=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag,othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return isSameTag?(stack||(stack=new Stack),equalObjects(object,other,bitmask,customizer,equalFunc,stack)):!1}module2.exports=baseIsEqualDeep}});var require_baseIsEqual=__commonJS({"node_modules/lodash/_baseIsEqual.js"(exports2,module2){var baseIsEqualDeep=require_baseIsEqualDeep(),isObjectLike=require_isObjectLike();function baseIsEqual(value,other,bitmask,customizer,stack){return value===other?!0:value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}module2.exports=baseIsEqual}});var require_isEqual=__commonJS({"node_modules/lodash/isEqual.js"(exports2,module2){var baseIsEqual=require_baseIsEqual();function isEqual(value,other){return baseIsEqual(value,other)}module2.exports=isEqual}});var require_manageMockFiles=__commonJS({"src/lib/manageMockFiles.js"(exports2,module2){var fsa=require_lib(),fs=require("fs"),path=require("path"),isEqual=require_isEqual(),colors=require_safe(),{getFileLatestContent,SupportMethods,filePath2ApiUrl,logger,getDataType,getLogger,writeStream}=require_utils3(),log=logger(process.env.SILENT),processArgv=process.env.ARGV?JSON.parse(process.env.ARGV):{},methodRegExp=new RegExp(`(${SupportMethods.join("|")}) +(.*)`,"i"),normalizeApiPath=apiUrl=>path.posix.normalize(String(apiUrl||"").trim()).replace(/\/+$/,"")||"/",logFile=(isWriteLogFile=!1,mockDir)=>isWriteLogFile?getLogger(mockDir):{log:function(){},error:function(){}},genMockFiles=async function({url:apiUrl,method,data:resJsonData,dir:mockDir}){let type=getDataType(resJsonData);if(!apiUrl||!method||!resJsonData||!mockDir){log.info(colors.red([`\u53C2\u6570: apiUrl: ${apiUrl}, method: ${method}, mockDir: ${mockDir} `,"\u5FC5\u987B\u662F\u6709\u6548\u503C"].join(",")));return}else if(!["object","array"].includes(type)||type==="object"&&Object.keys(resJsonData).length===0||type==="array"&&resJsonData.length===0){log.info(`\u53C2\u6570: apiUrl: ${apiUrl}, method: ${method}, resJsonData:`,resJsonData,colors.red("\uFF0C \u53C2\u6570\u5B57\u6BB5resJsonData\u5FC5\u987B\u662F\u975E\u7A7A\u7684\u6570\u7EC4\u6216\u5BF9\u8C61\uFF01"));return}apiUrl=apiUrl.trim().split("?")[0];let LOGGER=logFile(processArgv.t||processArgv.track,mockDir),normalizeApiUrl=filePath2ApiUrl(normalizeApiPath(apiUrl)),mockListFilePath=path.resolve(process.cwd(),`${mockDir}/mock-list.json`),mockFilePath=path.resolve(process.cwd(),`${mockDir}/${encodeURIComponent(normalizeApiPath(apiUrl))}.json`),newMockListContent={};fsa.pathExistsSync(mockListFilePath)?newMockListContent=getFileLatestContent(mockListFilePath):fsa.ensureFileSync(mockListFilePath);let isChange=!1;if(newMockListContent.hasOwnProperty(normalizeApiUrl)?newMockListContent[normalizeApiUrl].includes(method)||(newMockListContent[normalizeApiUrl].push(method),isChange=!0):(newMockListContent[normalizeApiUrl]=[method],isChange=!0),isChange&&Object.keys(newMockListContent).length>0&&fs.writeFileSync(mockListFilePath,JSON.stringify(newMockListContent,null,2)),fsa.pathExistsSync(mockFilePath)){let mockFileContent=getFileLatestContent(mockFilePath);if(mockFileContent.hasOwnProperty(method)&&isEqual(mockFileContent[method],resJsonData))return;mockFileContent[method]=resJsonData;try{await writeStream(mockFilePath,JSON.stringify(mockFileContent,null,2))}catch{LOGGER.error(`Update file: ${method} ${apiUrl} ${mockFilePath}`)}LOGGER.log(`Update file: ${method} ${apiUrl} ${mockFilePath}`)}else{try{await writeStream(mockFilePath,JSON.stringify({[method]:resJsonData},null,2))}catch{LOGGER.error(`New file: ${method} ${apiUrl} ${mockFilePath}`)}LOGGER.log(`New file: ${method} ${apiUrl} ${mockFilePath}`)}},collectMockDataFromJsFile=function(mockDataMap,filePath){let fileObject=getFileLatestContent(filePath);Object.keys(fileObject).forEach(item=>{let reqMethod="get",reqUrl=item;if(methodRegExp.exec(item)){let[,method,url]=methodRegExp.exec(item);reqMethod=method.toLowerCase(),reqUrl=normalizeApiPath(url)}typeof fileObject[item]=="function"?mockDataMap[`${reqMethod} ${reqUrl}`]=String(fileObject[item]):typeof fileObject[item]=="object"&&(mockDataMap[`${reqMethod} ${reqUrl}`]=fileObject[item])})},deepCollectMockData=function(mockDataMap,specialDir="../mock"){let files=fs.readdirSync(path.resolve(process.cwd(),specialDir),{withFileTypes:!0}),curFilesSize=files.length;for(let index=0;index<curFilesSize;index++){let el=files[index],filePath=path.normalize(`${specialDir}/${el.name}`);if(el.isFile()||deepCollectMockData(mockDataMap,filePath),el.name.endsWith(".json")&&el.name!=="mock-list.json"){let fileObject=getFileLatestContent(filePath);Object.keys(fileObject).forEach(method=>{mockDataMap[`${method.toLocaleLowerCase()} ${normalizeApiPath(decodeURIComponent(el.name).split(".json")[0])}`]=fileObject[method]});continue}el.name.endsWith(".js")&&collectMockDataFromJsFile(mockDataMap,filePath)}},getMockStatFromDir=dirPath=>{if(!fsa.pathExistsSync(dirPath)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${dirPath} \u76EE\u5F55\u4E0D\u5B58\u5728`);return}let mockDataMap={};deepCollectMockData(mockDataMap,dirPath);let mockListFilePath=path.resolve(process.cwd(),`${dirPath}/mock-list.json`);if(Object.keys(mockDataMap).length>0&&!fsa.pathExistsSync(mockListFilePath)){fsa.ensureFileSync(mockListFilePath);let reverseMockList={};Object.keys(mockDataMap).forEach(it=>{if(methodRegExp.exec(it)){let[,method,url]=methodRegExp.exec(it),normalizedUrl=normalizeApiPath(url);normalizedUrl.trim()&&method.trim()&&(reverseMockList.hasOwnProperty(normalizedUrl)?reverseMockList[normalizedUrl].push(method):reverseMockList[normalizedUrl]=[method])}}),writeStream(mockListFilePath,JSON.stringify(reverseMockList,null,2))}return mockDataMap},getMockStatFromFile=filePath=>{if(!fsa.pathExistsSync(filePath)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${filePath} \u6587\u4EF6\u4E0D\u5B58\u5728`);return}let mockDataMap={};return collectMockDataFromJsFile(mockDataMap,filePath),mockDataMap},hasMockApi=function(mockDataMap,apiUrl,method){if(!apiUrl||!method||!mockDataMap||!(mockDataMap instanceof Object)){getLogger(path.resolve(process.cwd())).error(`\u5165\u53C2\u65E0\u6548\uFF0C${mockDataMap} \u5FC5\u987B\u662F mock\u6570\u636E\u7684Object\u5BF9\u8C61`);return}return mockDataMap.hasOwnProperty(`${method.toLocaleLowerCase()} ${normalizeApiPath(apiUrl)}`)};module2.exports={genMockFiles,getMockStatFromDir,getMockStatFromFile,hasMockApi}}});var require_asyncTaskQueue=__commonJS({"src/lib/asyncTaskQueue.js"(exports2,module2){var AsyncTaskQueue=class{constructor(isSaveItem=!1){this.list=[],this.index=0,this.isStop=!1,this.isParallel=!1,this.isSaveItem=isSaveItem}next(){if(this.index>=this.list.length-1||this.isStop)return;this.isSaveItem||this.list.splice(this.index,1,"");let cur=this.list[++this.index];cur(this.next.bind(this))}add(...fn){this.list.push(...fn)}run(){let cur=this.list[this.index];typeof cur=="function"&&cur(this.next.bind(this))}parallelRun(){this.isParallel=!0;for(let fn of this.list)fn(this.next.bind(this))}stop(){this.isStop=!0}retry(){this.isStop=!1,this.run()}goOn(){this.isStop=!1,this.next()}};module2.exports=AsyncTaskQueue}});var require_mockServer=__commonJS({"src/lib/mockServer.js"(exports2,module2){var express=require_express2(),{readdirSync,existsSync}=require("fs"),os=require("os"),path=require("path"),colors=require_safe(),portfinder=require_portfinder(),{exec}=require("child_process"),{createProxyMiddleware}=require_dist(),ifaces=os.networkInterfaces(),{Server}=require_dist3(),{dateFormat,logger,SupportMethods,DefaultHeaders,getFileLatestContent,filePath2ApiUrl,isEmptyObj}=require_utils3(),{getPackageVersion}=require_packageInfo(),{genMockFiles,getMockStatFromDir,getMockStatFromFile}=require_manageMockFiles(),registeredApis=[],methodRegExp=new RegExp(`((${SupportMethods.join("|")}) +)?([^?]*)`,"i"),app=express(),log=logger(process.env.SILENT),argv=JSON.parse(process.env.ARGV),socketServer=null,corsOrigin=[],corsHeaders="",httpsRE=/^https:\/\//,count=0,fileCount=0,mockDirStat={},mockFileStat={},includesWebServe=process.env.STATIC_DIRECTORY||process.env.WEB_ROOT,mockFileOrDir=process.env.SPECIFIED_FILE||process.env.SPECIFIED_DIR;process.env.PORT?init():(portfinder.basePort=8090,portfinder.getPort(function(err,port){if(err)throw err;process.env.PORT=port,init()}));function init(){process.env.CORS_ORIGIN&&(process.env.CORS_ORIGIN.split(/\s*,\s*/).forEach(function(h){corsOrigin.push(h)},this),corsHeaders=DefaultHeaders),process.env.CORS_HEADERS&&process.env.CORS_HEADERS.split(/\s*,\s*/).forEach(function(h){corsHeaders+=corsHeaders?", "+h:h},this),app.use(crossDomain()),app.use(express.json()),app.get("/__api-overview",(req,res)=>{let htmlPath=path.resolve(__dirname,"./api-overview.html");existsSync(htmlPath)?res.sendFile(htmlPath):res.status(404).send("API overview page not found")}),app.get("/__api-data",(req,res)=>{let groupedApis={};registeredApis.forEach(api=>{let dirPath=path.dirname(api.file);groupedApis[dirPath]||(groupedApis[dirPath]=[]),groupedApis[dirPath].push(api)}),res.json({apis:registeredApis,groupedApis,port:process.env.PORT})});let requireMockServe=!0;process.env.SPECIFIED_FILE?composeRouteFromJsFile(process.env.SPECIFIED_FILE):includesWebServe&&!existsSync(path.resolve(process.cwd(),process.env.SPECIFIED_DIR))?requireMockServe=!1:parseMockFiles(process.env.SPECIFIED_DIR),requireMockServe&&argv.a&&log.info(colors.yellow(`${fileCount} mock file are parsed in total.`)),startServer()}function crossDomain(){return(req,res,next)=>{if(typeof argv.A=="string"){let resHeaders={};argv.A.split(/\s*,\s*/).forEach(function(h){let[key,value]=h.split("=");resHeaders[key]=value},this);for(let key in resHeaders)resHeaders.hasOwnProperty(key)&&res.header(key,resHeaders[key])}res.header("Access-Control-Allow-Credentials",!0),res.header("Access-Control-Allow-Origin",corsOrigin.includes(req.headers.origin)?req.headers.origin:"*"),res.header("Access-Control-Allow-Methods",SupportMethods.join(",")),res.header("Access-Control-Allow-Headers",corsHeaders||"*"),req.method==="OPTIONS"&&res.status(200),next()}}function composeRouteFromJsFile(file){let fileObject=getFileLatestContent(file);argv.a&&log.info(colors.green(`Mockfile ${++fileCount}: `),file,colors.yellow("all API URL is follows: ")),fileObject!=="getFileLatestContent_ERROR"&&Object.keys(fileObject).forEach(item=>{let reqMethod="get",reqUrl=item,[,,method,url]=methodRegExp.exec(item);method&&(reqMethod=method.toLowerCase()),reqUrl=url,argv.a&&log.info(colors.grey(`path ${String(++count).padStart(3," ")}: `),colors.cyan(reqMethod.padEnd(8," ")),colors.cyan(reqUrl),colors.grey(typeof fileObject[item])),log.assert(typeof app[reqMethod]=="function",colors.red(`${file}, ${reqMethod}`)),typeof fileObject[item]=="function"?app[reqMethod](reqUrl,fileObject[item]):typeof fileObject[item]=="object"&&app[reqMethod](reqUrl,function(req,res){res.json(fileObject[item])}),registeredApis.push({method:reqMethod.toUpperCase(),url:reqUrl,file,data:fileObject[item]})})}function parseMockFiles(specialDir="../mock"){let files=readdirSync(path.resolve(process.cwd(),specialDir),{withFileTypes:!0}),curFilesSize=files.length;for(let index=0;index<curFilesSize;index++){let el=files[index],filePath=path.normalize(`${specialDir}/${el.name}`);if(el.isFile()||parseMockFiles(filePath),el.name.endsWith(".json")&&el.name!=="mock-list.json"){argv.a&&log.info(colors.green(`Mockfile ${++fileCount}: `),filePath,colors.yellow("all API URL is follows: "));let fileObject=getFileLatestContent(filePath);if(fileObject==="getFileLatestContent_ERROR")continue;Object.keys(fileObject).forEach(method=>{let apiUrl=filePath2ApiUrl(decodeURIComponent(el.name.split(".")[0]));argv.a&&log.info(colors.grey(`path ${String(++count).padStart(3," ")}: `),colors.cyan(method.padEnd(8," ")),colors.cyan(apiUrl),colors.grey(typeof fileObject[method])),log.assert(typeof app[method]=="function",colors.red(`${filePath}, ${method}`)),app[method](apiUrl,function(req,res){res.json(fileObject[method])}),registeredApis.push({method:method.toUpperCase(),url:apiUrl,file:filePath,data:fileObject[method]})});continue}!el.name.endsWith(".js")&&!el.name.endsWith(".cjs")||composeRouteFromJsFile(filePath)}}function startServer(){let webApp=null,webPublicPath="/",proxyTable={};if(process.env.WEB_ROOT){if(webApp=express(),process.env.PROXY_OPTIONS)try{let options=JSON.parse(process.env.PROXY_OPTIONS);Object.keys(options).forEach(function(prefix){proxyTable[prefix]=options[prefix];let opts={target:options[prefix],changeOrigin:!0,ws:!0};httpsRE.test(options[prefix])&&(opts.secure=!1),process.env.PREFIX_REWRITE&&(opts.pathRewrite=path2=>path2.replace(new RegExp(`^${prefix}`),"")),webApp.use(prefix,createProxyMiddleware(opts))},this)}catch(error){console.warn(colors.yellow(`
116
116
  Enable web proxy Failed:`,error))}typeof argv.A=="string"&&webApp.use((req,res,next)=>{let resHeaders={};argv.A.split(/\s*,\s*/).forEach(function(h){let[key,value]=h.split("=");resHeaders[key]=value},this);for(let key in resHeaders)resHeaders.hasOwnProperty(key)&&res.header(key,resHeaders[key]);next()}),process.env.WEB_PUBLIC_PATH&&(webPublicPath=process.env.WEB_PUBLIC_PATH),webApp.use(webPublicPath,express.static(process.env.WEB_ROOT));let defaultStaticEntry=`${process.env.WEB_ROOT}/index.html`;existsSync(defaultStaticEntry)?webApp.use((req,res)=>{res.sendFile(defaultStaticEntry)}):webApp.use(webPublicPath,(req,res)=>{res.status(200).send(`Hi, welcome to web server entrance ui, you can test http proxy on browser console or api request tools. Examples as follows:<br />
117
117
  fetch("http://localhost:${process.env.WEB_PORT}/api/permission/auth/login", {
118
118
  method: 'post',
@@ -135,7 +135,7 @@ Opening API overview page...`));let openCommand;switch(process.platform){case"da
135
135
  Enable proxy at web server on:`)),Object.keys(proxyTable).forEach(prefix=>{console.info(` ${prefix} -> ${proxyTable[prefix]}`)}))})}process.platform==="win32"&&require("readline").createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",function(){process.emit("SIGINT")});process.on("SIGINT",function(){log.info(colors.red("mock-server process stopped.")),process.exit()});process.on("SIGTERM",function(){log.info(colors.red("mock-server process stopped.")),process.exit()});module2.exports={composeRouteFromJsFile,parseMockFiles}}});var require_staticServer=__commonJS({"src/lib/staticServer.js"(){var express=require_express2(),os=require("os"),colors=require_safe(),portfinder=require_portfinder(),{dateFormat,logger}=require_utils3(),ifaces=os.networkInterfaces(),log=logger(process.env.SILENT),argv=JSON.parse(process.env.ARGV),resHeaders={};process.env.PORT?startServer():(portfinder.basePort=8090,portfinder.getPort(function(err,port){if(err)throw err;process.env.PORT=port,startServer()}));function appendResHeaders(){return(req,res,next)=>{for(let key in resHeaders)resHeaders.hasOwnProperty(key)&&res.header(key,resHeaders[key]);next()}}function startServer(){let app=express();typeof argv.A=="string"&&(argv.A.split(/\s*,\s*/).forEach(function(h){let[key,value]=h.split("=");resHeaders[key]=value},this),app.use(appendResHeaders())),app.use(express.static(process.env.STATIC_DIRECTORY)),app.listen(Number.parseInt(process.env.PORT,10),()=>{console.info([colors.yellow(`
136
136
  Starting up Static Server, serving `),colors.cyan(process.env.STATIC_DIRECTORY),colors.yellow(` ${dateFormat("YYYY-mm-dd HH:MM:SS",new Date)}`)].join("")),console.info(colors.yellow(`
137
137
  Static Server available on:
138
- `)),console.info(" http://localhost:"+colors.green(process.env.PORT)),Object.keys(ifaces).forEach(function(dev){ifaces[dev].forEach(function(details){details.family==="IPv4"&&console.info(" http://"+details.address+":"+colors.green(process.env.PORT))})})})}process.platform==="win32"&&require("readline").createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",function(){process.emit("SIGINT")});process.on("SIGINT",function(){log.info(colors.red("static-server process stopped.")),process.exit()});process.on("SIGTERM",function(){log.info(colors.red("static-server process stopped.")),process.exit()})}});var require_fileExplorerServer=__commonJS({"src/lib/fileExplorerServer.js"(){var express=require_express2(),{readdirSync,existsSync,readFileSync,statSync,createReadStream}=require("fs"),os=require("os"),path=require("path"),colors=require_safe(),portfinder=require_portfinder(),{exec}=require("child_process"),ifaces=os.networkInterfaces(),{dateFormat,logger}=require_utils3(),{getPackageVersion}=require_packageInfo(),app=express(),log=logger(process.env.SILENT),argv=JSON.parse(process.env.ARGV),explorerRoot=process.env.EXPLORER_DIRECTORY||process.cwd(),port=argv.p||argv.port;process.env.PORT?init():(portfinder.basePort=port||8090,portfinder.getPort(function(err,foundPort){if(err)throw err;process.env.PORT=foundPort,init()}));function init(){app.use(crossDomain()),app.use(express.json()),app.get("/",(req,res)=>{let htmlPath=path.resolve(__dirname,"./file-explorer.html");existsSync(htmlPath)?res.sendFile(htmlPath):res.status(404).send("File explorer page not found")}),app.get("/__api/list",(req,res)=>{let dirPath=req.query.path||"/";dirPath=decodeURIComponent(dirPath);let fullPath,resolvedRoot=path.resolve(explorerRoot);if(explorerRoot==="/")fullPath=dirPath;else{let relativePath=dirPath.startsWith("/")?dirPath.substring(1):dirPath;fullPath=path.resolve(explorerRoot,relativePath)}if(explorerRoot!=="/"&&!fullPath.startsWith(resolvedRoot))return res.status(403).json({error:"Access denied"});if(!existsSync(fullPath))return res.status(404).json({error:"Path not found"});if(!statSync(fullPath).isDirectory())return res.status(400).json({error:"Not a directory"});try{let files=readdirSync(fullPath,{withFileTypes:!0}),result=[];files.forEach(file=>{let filePath=path.join(fullPath,file.name),fileStats,hasError=!1;try{fileStats=statSync(filePath)}catch{hasError=!0}let relativePath=path.join(dirPath,file.name),isDirectory=hasError?file.isDirectory():fileStats.isDirectory();result.push({name:file.name,path:relativePath.replace(/\\/g,"/"),isDirectory,size:hasError?0:fileStats.size,mtime:hasError?new Date:fileStats.mtime,birthtime:hasError?new Date:fileStats.birthtime,isHidden:file.name.startsWith("."),error:hasError?"Cannot access file":null})}),result.sort((a,b)=>a.isDirectory!==b.isDirectory?a.isDirectory?-1:1:a.name.localeCompare(b.name)),res.json({currentPath:dirPath,parentPath:dirPath==="/"?null:path.dirname(dirPath).replace(/\\/g,"/"),files:result})}catch(error){res.status(500).json({error:error.message})}}),app.get("/__api/file",(req,res)=>{let filePath=req.query.path||"/";filePath=decodeURIComponent(filePath);let fullPath,resolvedRoot=path.resolve(explorerRoot);if(explorerRoot==="/")fullPath=filePath;else{let relativePath=filePath.startsWith("/")?filePath.substring(1):filePath;fullPath=path.resolve(explorerRoot,relativePath)}if(explorerRoot!=="/"&&!fullPath.startsWith(resolvedRoot))return res.status(403).json({error:"Access denied"});if(!existsSync(fullPath))return res.status(404).json({error:"File not found"});let stats=statSync(fullPath);if(stats.isDirectory())return res.status(400).json({error:"Is a directory"});let ext=path.extname(filePath).toLowerCase(),imageExts=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg",".ico"],textExts=[".txt",".json",".js",".css",".html",".xml",".md",".csv",".yaml",".yml",".log"];if(imageExts.includes(ext))res.sendFile(fullPath);else if(textExts.includes(ext)||stats.size<1024*1024)try{let content=readFileSync(fullPath,"utf-8");res.json({name:path.basename(filePath),type:"text",content,size:stats.size})}catch{res.download(fullPath)}else res.download(fullPath)}),app.post("/__api/open-in-explorer",(req,res)=>{let filePath=req.body.path||"/";filePath=decodeURIComponent(filePath);let fullPath,resolvedRoot=path.resolve(explorerRoot);if(explorerRoot==="/")fullPath=filePath;else{let relativePath=filePath.startsWith("/")?filePath.substring(1):filePath;fullPath=path.resolve(explorerRoot,relativePath)}if(explorerRoot!=="/"&&!fullPath.startsWith(resolvedRoot))return res.status(403).json({error:"Access denied"});if(!existsSync(fullPath))return res.status(404).json({error:"Path not found"});let openCommand;switch(process.platform){case"darwin":openCommand=`open "${fullPath}"`;break;case"win32":openCommand=`explorer "${fullPath}"`;break;case"linux":openCommand=`xdg-open "${fullPath}"`;break;default:return res.status(400).json({error:"Unsupported platform"})}exec(openCommand,error=>{if(error)return console.error(colors.red(`Failed to open in explorer: ${error.message}`)),res.status(500).json({error:"Failed to open in explorer"});res.json({success:!0,path:fullPath})})}),startServer()}function crossDomain(){return(req,res,next)=>{res.header("Access-Control-Allow-Origin","*"),res.header("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"),res.header("Access-Control-Allow-Headers","*"),req.method==="OPTIONS"&&res.status(200),next()}}function startServer(){require("http").createServer(app).listen(Number.parseInt(process.env.PORT,10),()=>{if(console.info([colors.yellow(`
138
+ `)),console.info(" http://localhost:"+colors.green(process.env.PORT)),Object.keys(ifaces).forEach(function(dev){ifaces[dev].forEach(function(details){details.family==="IPv4"&&console.info(" http://"+details.address+":"+colors.green(process.env.PORT))})})})}process.platform==="win32"&&require("readline").createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",function(){process.emit("SIGINT")});process.on("SIGINT",function(){log.info(colors.red("static-server process stopped.")),process.exit()});process.on("SIGTERM",function(){log.info(colors.red("static-server process stopped.")),process.exit()})}});var require_fileExplorerServer=__commonJS({"src/lib/fileExplorerServer.js"(){var express=require_express2(),{readdirSync,existsSync,readFileSync,statSync,rmSync,mkdirSync,writeFileSync,renameSync}=require("fs"),os=require("os"),path=require("path"),colors=require_safe(),portfinder=require_portfinder(),{exec}=require("child_process"),ifaces=os.networkInterfaces(),{dateFormat,logger}=require_utils3(),{getPackageVersion}=require_packageInfo(),app=express(),log=logger(process.env.SILENT),argv=JSON.parse(process.env.ARGV),explorerRoot=process.env.EXPLORER_DIRECTORY||process.cwd(),port=argv.p||argv.port;function isPathInsideRoot(fullPath,resolvedRoot){let relativePath=path.relative(resolvedRoot,fullPath);return relativePath===""||!relativePath.startsWith("..")&&!path.isAbsolute(relativePath)}function normalizeExplorerInputPath(inputPath){let decodedPath=decodeURIComponent(String(inputPath||"/")).replace(/\\/g,"/");return!decodedPath||decodedPath==="."?"/":decodedPath.startsWith("/")?decodedPath:`/${decodedPath}`}function resolveExplorerPath(inputPath){let targetPath=normalizeExplorerInputPath(inputPath),resolvedRoot=path.resolve(explorerRoot),relativePath=targetPath.replace(/^\/+/,""),fullPath=path.resolve(resolvedRoot,relativePath);if(!isPathInsideRoot(fullPath,resolvedRoot)){let error=new Error("Access denied");throw error.statusCode=403,error}return fullPath}function validateEntryName(name){if(typeof name!="string")return"Name must be a string";let normalizedName=name.trim();if(!normalizedName||normalizedName==="."||normalizedName==="..")return"Invalid name";if(/[/\\\0<>:"|?*]/.test(normalizedName))return"Name contains invalid characters";if(process.platform==="win32"){let upperName=normalizedName.replace(/[. ]+$/g,"").split(".")[0].toUpperCase();if(new Set(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"]).has(upperName)||normalizedName.endsWith(" ")||normalizedName.endsWith("."))return"Name is not supported on Windows"}return null}function getChildPath(parentPath,name){let nameError=validateEntryName(name);if(nameError){let error=new Error(nameError);throw error.statusCode=400,error}let parentFullPath=resolveExplorerPath(parentPath||"/");if(!existsSync(parentFullPath)||!statSync(parentFullPath).isDirectory()){let error=new Error("Parent directory not found");throw error.statusCode=404,error}let childPath=path.resolve(parentFullPath,name.trim()),resolvedRoot=path.resolve(explorerRoot);if(!isPathInsideRoot(childPath,resolvedRoot)){let error=new Error("Access denied");throw error.statusCode=403,error}return childPath}function deleteExplorerPath(targetPath){let fullPath=resolveExplorerPath(targetPath);if(path.resolve(fullPath)===path.resolve(explorerRoot)){let error=new Error("Cannot delete explorer root");throw error.statusCode=400,error}if(!existsSync(fullPath)){let error=new Error("Path not found");throw error.statusCode=404,error}rmSync(fullPath,{recursive:!0,force:!1})}process.env.PORT?init():(portfinder.basePort=port||8090,portfinder.getPort(function(err,foundPort){if(err)throw err;process.env.PORT=foundPort,init()}));function init(){app.use(crossDomain()),app.use(express.json()),app.get("/",(req,res)=>{let htmlPath=path.resolve(__dirname,"./file-explorer.html");existsSync(htmlPath)?res.sendFile(htmlPath):res.status(404).send("File explorer page not found")}),app.get("/__api/list",(req,res)=>{let dirPath=normalizeExplorerInputPath(req.query.path||"/"),fullPath;try{fullPath=resolveExplorerPath(dirPath)}catch(error){return res.status(error.statusCode||500).json({error:error.message})}if(!existsSync(fullPath))return res.status(404).json({error:"Path not found"});if(!statSync(fullPath).isDirectory())return res.status(400).json({error:"Not a directory"});try{let files=readdirSync(fullPath,{withFileTypes:!0}),result=[];files.forEach(file=>{let filePath=path.join(fullPath,file.name),fileStats,hasError=!1;try{fileStats=statSync(filePath)}catch{hasError=!0}let relativePath=path.posix.join(dirPath,file.name),isDirectory=hasError?file.isDirectory():fileStats.isDirectory();result.push({name:file.name,path:relativePath.replace(/\\/g,"/"),isDirectory,size:hasError?0:fileStats.size,mtime:hasError?new Date:fileStats.mtime,birthtime:hasError?new Date:fileStats.birthtime,isHidden:file.name.startsWith("."),error:hasError?"Cannot access file":null})}),result.sort((a,b)=>a.isDirectory!==b.isDirectory?a.isDirectory?-1:1:a.name.localeCompare(b.name)),res.json({currentPath:dirPath,parentPath:dirPath==="/"?null:path.posix.dirname(dirPath),files:result})}catch(error){res.status(500).json({error:error.message})}}),app.get("/__api/file",(req,res)=>{let filePath=normalizeExplorerInputPath(req.query.path||"/"),fullPath;try{fullPath=resolveExplorerPath(filePath)}catch(error){return res.status(error.statusCode||500).json({error:error.message})}if(!existsSync(fullPath))return res.status(404).json({error:"File not found"});let stats=statSync(fullPath);if(stats.isDirectory())return res.status(400).json({error:"Is a directory"});let ext=path.extname(filePath).toLowerCase(),imageExts=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg",".ico"],textExts=[".txt",".json",".js",".css",".html",".xml",".md",".csv",".yaml",".yml",".log"];if(imageExts.includes(ext))res.sendFile(fullPath);else if(textExts.includes(ext)||stats.size<1024*1024)try{let content=readFileSync(fullPath,"utf-8");res.json({name:path.basename(filePath),type:"text",content,size:stats.size})}catch{res.download(fullPath)}else res.download(fullPath)}),app.post("/__api/open-in-explorer",(req,res)=>{let filePath=normalizeExplorerInputPath(req.body.path||"/"),fullPath;try{fullPath=resolveExplorerPath(filePath)}catch(error){return res.status(error.statusCode||500).json({error:error.message})}if(!existsSync(fullPath))return res.status(404).json({error:"Path not found"});let openCommand;switch(process.platform){case"darwin":openCommand=`open "${fullPath}"`;break;case"win32":openCommand=`explorer "${fullPath}"`;break;case"linux":openCommand=`xdg-open "${fullPath}"`;break;default:return res.status(400).json({error:"Unsupported platform"})}exec(openCommand,error=>{if(error)return console.error(colors.red(`Failed to open in explorer: ${error.message}`)),res.status(500).json({error:"Failed to open in explorer"});res.json({success:!0,path:fullPath})})}),app.post("/__api/path",(req,res)=>{let parentPath=req.body&&req.body.parentPath||"/",name=req.body&&req.body.name,type=req.body&&req.body.type||"file";if(type!=="file"&&type!=="directory")return res.status(400).json({error:"Invalid type"});let fullPath;try{fullPath=getChildPath(parentPath,name)}catch(error){return res.status(error.statusCode||500).json({error:error.message})}if(existsSync(fullPath))return res.status(409).json({error:"Path already exists"});try{type==="directory"?mkdirSync(fullPath):writeFileSync(fullPath,""),res.json({success:!0,path:fullPath})}catch(error){console.error(colors.red(`Failed to create path: ${error.message}`)),res.status(500).json({error:"Failed to create path"})}}),app.patch("/__api/path",(req,res)=>{let sourcePath=req.body&&req.body.path,name=req.body&&req.body.name,fullPath,nextPath;try{if(fullPath=resolveExplorerPath(sourcePath),path.resolve(fullPath)===path.resolve(explorerRoot))return res.status(400).json({error:"Cannot rename explorer root"});if(!existsSync(fullPath))return res.status(404).json({error:"Path not found"});nextPath=getChildPath(path.posix.dirname(normalizeExplorerInputPath(sourcePath||"/")),name)}catch(error){return res.status(error.statusCode||500).json({error:error.message})}if(existsSync(nextPath))return res.status(409).json({error:"Path already exists"});try{renameSync(fullPath,nextPath),res.json({success:!0,path:sourcePath,nextPath})}catch(error){console.error(colors.red(`Failed to rename path: ${error.message}`)),res.status(500).json({error:"Failed to rename path"})}}),app.delete("/__api/path",(req,res)=>{let targetPath=req.body&&req.body.path||"/";try{deleteExplorerPath(targetPath),res.json({success:!0,path:targetPath})}catch(error){console.error(colors.red(`Failed to delete path: ${error.message}`)),res.status(error.statusCode||500).json({error:error.statusCode?error.message:"Failed to delete path"})}}),app.delete("/__api/paths",(req,res)=>{let paths=req.body&&req.body.paths||[];if(!Array.isArray(paths)||paths.length===0)return res.status(400).json({error:"Paths must be a non-empty array"});let deleted=[];try{paths.forEach(targetPath=>{deleteExplorerPath(targetPath),deleted.push(targetPath)}),res.json({success:!0,deleted})}catch(error){console.error(colors.red(`Failed to delete paths: ${error.message}`)),res.status(error.statusCode||500).json({error:error.statusCode?error.message:"Failed to delete paths",deleted})}}),startServer()}function crossDomain(){return(req,res,next)=>{res.header("Access-Control-Allow-Origin","*"),res.header("Access-Control-Allow-Methods","GET,POST,PUT,PATCH,DELETE,OPTIONS"),res.header("Access-Control-Allow-Headers","*"),req.method==="OPTIONS"&&res.status(200),next()}}function startServer(){require("http").createServer(app).listen(Number.parseInt(process.env.PORT,10),()=>{if(console.info([colors.yellow(`
139
139
  Starting up file-explorer-server, serving `),colors.cyan(explorerRoot),colors.yellow(` ${dateFormat("YYYY-mm-dd HH:MM:SS",new Date)}`)].join("")),console.info([colors.yellow(`
140
140
  \u{1F30D} file-explorer-server version: `),colors.cyan(getPackageVersion()),`
141
141
  `].join("")),console.info(colors.yellow(`