UNPKG

espz

Version:

Bundle and flash Espruino code, optimally.

2 lines 3.82 MB
#!/usr/bin/env node "use strict";const require$$0$2=require("path"),fs$4=require("fs"),net$2=require("net"),require$$1$1=require("stream"),Binding=require("@serialport/bindings"),require$$0$1=require("util"),readline$2=require("readline"),crypto$2=require("crypto");require("events");const url$2=require("url"),http$2=require("http"),https$2=require("https");function toArr(any){return any==null?[]:Array.isArray(any)?any:[any]}function toVal(out,key,val,opts){var x,old=out[key],nxt=!!~opts.string.indexOf(key)?val==null||val===true?"":String(val):typeof val==="boolean"?val:!!~opts.boolean.indexOf(key)?val==="false"?false:val==="true"||(out._.push((x=+val,x*0===0)?x:val),!!val):(x=+val,x*0===0)?x:val;out[key]=old==null?nxt:Array.isArray(old)?old.concat(nxt):[old,nxt]}function index(args,opts){args=args||[];opts=opts||{};var k,arr,arg,name,val,out={_:[]};var i=0,j=0,idx=0,len=args.length;const alibi=opts.alias!==void 0;const strict=opts.unknown!==void 0;const defaults=opts.default!==void 0;opts.alias=opts.alias||{};opts.string=toArr(opts.string);opts.boolean=toArr(opts.boolean);if(alibi){for(k in opts.alias){arr=opts.alias[k]=toArr(opts.alias[k]);for(i=0;i<arr.length;i++){(opts.alias[arr[i]]=arr.concat(k)).splice(i,1)}}}for(i=opts.boolean.length;i-- >0;){arr=opts.alias[opts.boolean[i]]||[];for(j=arr.length;j-- >0;)opts.boolean.push(arr[j])}for(i=opts.string.length;i-- >0;){arr=opts.alias[opts.string[i]]||[];for(j=arr.length;j-- >0;)opts.string.push(arr[j])}if(defaults){for(k in opts.default){name=typeof opts.default[k];arr=opts.alias[k]=opts.alias[k]||[];if(opts[name]!==void 0){opts[name].push(k);for(i=0;i<arr.length;i++){opts[name].push(arr[i])}}}}const keys=strict?Object.keys(opts.alias):[];for(i=0;i<len;i++){arg=args[i];if(arg==="--"){out._=out._.concat(args.slice(++i));break}for(j=0;j<arg.length;j++){if(arg.charCodeAt(j)!==45)break}if(j===0){out._.push(arg)}else if(arg.substring(j,j+3)==="no-"){name=arg.substring(j+3);if(strict&&!~keys.indexOf(name)){return opts.unknown(arg)}out[name]=false}else{for(idx=j+1;idx<arg.length;idx++){if(arg.charCodeAt(idx)===61)break}name=arg.substring(j,idx);val=arg.substring(++idx)||(i+1===len||(""+args[i+1]).charCodeAt(0)===45||args[++i]);arr=j===2?[name]:name;for(idx=0;idx<arr.length;idx++){name=arr[idx];if(strict&&!~keys.indexOf(name))return opts.unknown("-".repeat(j)+name);toVal(out,name,idx+1<arr.length||val,opts)}}}if(defaults){for(k in opts.default){if(out[k]===void 0){out[k]=opts.default[k]}}}if(alibi){for(k in out){arr=opts.alias[k]||[];while(arr.length>0){out[arr.shift()]=out[k]}}}return out}const lib$2={__proto__:null,default:index};const GAP=4;const __=" ";const ALL$1="__all__";const DEF$1="__default__";const NL="\n";function format(arr){if(!arr.length)return"";let len=maxLen(arr.map((x=>x[0])))+GAP;let join=a=>a[0]+" ".repeat(len-a[0].length)+a[1]+(a[2]==null?"":` (default ${a[2]})`);return arr.map(join)}function maxLen(arr){let c=0,d=0,l=0,i=arr.length;if(i)while(i--){d=arr[i].length;if(d>c){l=i;c=d}}return arr[l].length}function noop$1(s){return s}function section(str,arr,fn){if(!arr||!arr.length)return"";let i=0,out="";out+=NL+__+str;for(;i<arr.length;i++){out+=NL+__+__+fn(arr[i])}return out+NL}var help=function(bin,tree,key,single){let out="",cmd=tree[key],pfx=`$ ${bin}`,all=tree[ALL$1];let prefix=s=>`${pfx} ${s}`.replace(/\s+/g," ");let tail=[["-h, --help","Displays this message"]];if(key===DEF$1)tail.unshift(["-v, --version","Displays current version"]);cmd.options=(cmd.options||[]).concat(all.options,tail);if(cmd.options.length>0)cmd.usage+=" [options]";out+=section("Description",cmd.describe,noop$1);out+=section("Usage",[cmd.usage],prefix);if(!single&&key===DEF$1){let key,rgx=/^__/,help="",cmds=[];for(key in tree){if(typeof tree[key]=="string"||rgx.test(key))continue;if(cmds.push([key,(tree[key].describe||[""])[0]])<3){help+=NL+__+__+`${pfx} ${key} --help`}}out+=section("Available Commands",format(cmds),noop$1);out+=NL+__+"For more info, run any command with the `--help` flag"+help+NL}else if(!single&&key!==DEF$1){out+=section("Aliases",cmd.alibi,prefix)}out+=section("Options",format(cmd.options),noop$1);out+=section("Examples",cmd.examples.map(prefix),noop$1);return out};var error$1=function(bin,str,num=1){let out=section("ERROR",[str],noop$1);out+=NL+__+`Run \`$ ${bin} --help\` for more info.`+NL;console.error(out);process.exit(num)};var parse$5=function(str){return(str||"").split(/^-{1,2}|,|\s+-{1,2}|\s+/).filter(Boolean)};var sentences=function(str){return(str||"").replace(/([.?!])\s*(?=[A-Z])/g,"$1|").split("|")};var utils$1={help,error:error$1,parse:parse$5,sentences};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x["default"]:x}function getDefaultExportFromNamespaceIfNotNamed(n){return n&&Object.prototype.hasOwnProperty.call(n,"default")&&Object.keys(n).length===1?n["default"]:n}function createCommonjsModule(fn){var module={exports:{}};return fn(module,module.exports),module.exports}function commonjsRequire(target){throw new Error('Could not dynamically require "'+target+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}const mri=getDefaultExportFromNamespaceIfNotNamed(lib$2);const ALL="__all__";const DEF="__default__";class Sade{constructor(name,isOne){let[bin,...rest]=name.split(/\s+/);isOne=isOne||rest.length>0;this.bin=bin;this.ver="0.0.0";this.default="";this.tree={};this.command(ALL);this.command([DEF].concat(isOne?rest:"<command>").join(" "));this.single=isOne;this.curr=""}command(str,desc,opts={}){if(this.single){throw new Error('Disable "single" mode to add commands')}let cmd=[],usage=[],rgx=/(\[|<)/;str.split(/\s+/).forEach((x=>{(rgx.test(x.charAt(0))?usage:cmd).push(x)}));cmd=cmd.join(" ");if(cmd in this.tree){throw new Error(`Command already exists: ${cmd}`)}cmd.includes("__")||usage.unshift(cmd);usage=usage.join(" ");this.curr=cmd;if(opts.default)this.default=cmd;this.tree[cmd]={usage,alibi:[],options:[],alias:{},default:{},examples:[]};if(opts.alias)this.alias(opts.alias);if(desc)this.describe(desc);return this}describe(str){this.tree[this.curr||DEF].describe=Array.isArray(str)?str:utils$1.sentences(str);return this}alias(...names){if(this.single)throw new Error('Cannot call `alias()` in "single" mode');if(!this.curr)throw new Error("Cannot call `alias()` before defining a command");let arr=this.tree[this.curr].alibi=this.tree[this.curr].alibi.concat(...names);arr.forEach((key=>this.tree[key]=this.curr));return this}option(str,desc,val){let cmd=this.tree[this.curr||ALL];let[flag,alias]=utils$1.parse(str);if(alias&&alias.length>1)[flag,alias]=[alias,flag];str=`--${flag}`;if(alias&&alias.length>0){str=`-${alias}, ${str}`;let old=cmd.alias[alias];cmd.alias[alias]=(old||[]).concat(flag)}let arr=[str,desc||""];if(val!==void 0){arr.push(val);cmd.default[flag]=val}else if(!alias){cmd.default[flag]=void 0}cmd.options.push(arr);return this}action(handler){this.tree[this.curr||DEF].handler=handler;return this}example(str){this.tree[this.curr||DEF].examples.push(str);return this}version(str){this.ver=str;return this}parse(arr,opts={}){arr=arr.slice();let offset=2,tmp,idx,isVoid,cmd;let alias={h:"help",v:"version"};let argv=mri(arr.slice(offset),{alias});let isSingle=this.single;let bin=this.bin;let name="";if(isSingle){cmd=this.tree[DEF]}else{let i=1,xyz,len=argv._.length+1;for(;i<len;i++){tmp=argv._.slice(0,i).join(" ");xyz=this.tree[tmp];if(typeof xyz==="string"){idx=(name=xyz).split(" ");arr.splice(arr.indexOf(argv._[0]),i,...idx);i+=idx.length-i}else if(xyz){name=tmp}else if(name){break}}cmd=this.tree[name];isVoid=cmd===void 0;if(isVoid){if(this.default){name=this.default;cmd=this.tree[name];arr.unshift(name);offset++}else if(tmp){return utils$1.error(bin,`Invalid command: ${tmp}`)}}}if(argv.help)return this.help(!isSingle&&!isVoid&&name);if(argv.version)return this._version();if(!isSingle&&cmd===void 0){return utils$1.error(bin,"No command specified.")}let all=this.tree[ALL];opts.alias=Object.assign(all.alias,cmd.alias,opts.alias);opts.default=Object.assign(all.default,cmd.default,opts.default);tmp=name.split(" ");idx=arr.indexOf(tmp[0],2);if(!!~idx)arr.splice(idx,tmp.length);let vals=mri(arr.slice(offset),opts);if(!vals||typeof vals==="string"){return utils$1.error(bin,vals||"Parsed unknown option flag(s)!")}let segs=cmd.usage.split(/\s+/);let reqs=segs.filter((x=>x.charAt(0)==="<"));let args=vals._.splice(0,reqs.length);if(args.length<reqs.length){if(name)bin+=` ${name}`;return utils$1.error(bin,"Insufficient arguments!")}segs.filter((x=>x.charAt(0)==="[")).forEach((_=>{args.push(vals._.shift())}));args.push(vals);let handler=cmd.handler;return opts.lazy?{args,name,handler}:handler.apply(null,args)}help(str){console.log(utils$1.help(this.bin,this.tree,str||DEF,this.single))}_version(){console.log(`${this.bin}, ${this.ver}`)}}var lib$1=(str,isOne)=>new Sade(str,isOne);let FORCE_COLOR,NODE_DISABLE_COLORS,NO_COLOR,TERM,isTTY=true;if(typeof process!=="undefined"){({FORCE_COLOR,NODE_DISABLE_COLORS,NO_COLOR,TERM}=process.env);isTTY=process.stdout&&process.stdout.isTTY}const $={enabled:!NODE_DISABLE_COLORS&&NO_COLOR==null&&TERM!=="dumb"&&(FORCE_COLOR!=null&&FORCE_COLOR!=="0"||isTTY),reset:init(0,0),bold:init(1,22),dim:init(2,22),italic:init(3,23),underline:init(4,24),inverse:init(7,27),hidden:init(8,28),strikethrough:init(9,29),black:init(30,39),red:init(31,39),green:init(32,39),yellow:init(33,39),blue:init(34,39),magenta:init(35,39),cyan:init(36,39),white:init(37,39),gray:init(90,39),grey:init(90,39),bgBlack:init(40,49),bgRed:init(41,49),bgGreen:init(42,49),bgYellow:init(43,49),bgBlue:init(44,49),bgMagenta:init(45,49),bgCyan:init(46,49),bgWhite:init(47,49)};function run$1(arr,str){let i=0,tmp,beg="",end="";for(;i<arr.length;i++){tmp=arr[i];beg+=tmp.open;end+=tmp.close;if(str.includes(tmp.close)){str=str.replace(tmp.rgx,tmp.close+tmp.open)}}return beg+str+end}function chain(has,keys){let ctx={has,keys};ctx.reset=$.reset.bind(ctx);ctx.bold=$.bold.bind(ctx);ctx.dim=$.dim.bind(ctx);ctx.italic=$.italic.bind(ctx);ctx.underline=$.underline.bind(ctx);ctx.inverse=$.inverse.bind(ctx);ctx.hidden=$.hidden.bind(ctx);ctx.strikethrough=$.strikethrough.bind(ctx);ctx.black=$.black.bind(ctx);ctx.red=$.red.bind(ctx);ctx.green=$.green.bind(ctx);ctx.yellow=$.yellow.bind(ctx);ctx.blue=$.blue.bind(ctx);ctx.magenta=$.magenta.bind(ctx);ctx.cyan=$.cyan.bind(ctx);ctx.white=$.white.bind(ctx);ctx.gray=$.gray.bind(ctx);ctx.grey=$.grey.bind(ctx);ctx.bgBlack=$.bgBlack.bind(ctx);ctx.bgRed=$.bgRed.bind(ctx);ctx.bgGreen=$.bgGreen.bind(ctx);ctx.bgYellow=$.bgYellow.bind(ctx);ctx.bgBlue=$.bgBlue.bind(ctx);ctx.bgMagenta=$.bgMagenta.bind(ctx);ctx.bgCyan=$.bgCyan.bind(ctx);ctx.bgWhite=$.bgWhite.bind(ctx);return ctx}function init(open,close){let blk={open:`[${open}m`,close:`[${close}m`,rgx:new RegExp(`\\x1b\\[${close}m`,"g")};return function(txt){if(this!==void 0&&this.has!==void 0){this.has.includes(open)||(this.has.push(open),this.keys.push(blk));return txt===void 0?this:$.enabled?run$1(this.keys,txt+""):txt+""}return txt===void 0?chain([open],[blk]):$.enabled?run$1([blk],txt+""):txt+""}}var s=1e3;var m=s*60;var h=m*60;var d=h*24;var w=d*7;var y=d*365.25;var ms=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0){return parse$4(val)}else if(type==="number"&&isFinite(val)){return options.long?fmtLong(val):fmtShort(val)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse$4(str){str=String(str);if(str.length>100){return}var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match){return}var n=parseFloat(match[1]);var type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return undefined}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return Math.round(ms/d)+"d"}if(msAbs>=h){return Math.round(ms/h)+"h"}if(msAbs>=m){return Math.round(ms/m)+"m"}if(msAbs>=s){return Math.round(ms/s)+"s"}return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return plural(ms,msAbs,d,"day")}if(msAbs>=h){return plural(ms,msAbs,h,"hour")}if(msAbs>=m){return plural(ms,msAbs,m,"minute")}if(msAbs>=s){return plural(ms,msAbs,s,"second")}return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}function setup(env){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=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;let enableOverride=null;function debug(...args){if(!debug.enabled){return}const self=debug;const curr=Number(new Date);const ms=curr-(prevTime||curr);self.diff=ms;self.prev=prevTime;self.curr=curr;prevTime=curr;args[0]=createDebug.coerce(args[0]);if(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++;const formatter=createDebug.formatters[format];if(typeof formatter==="function"){const val=args[index];match=formatter.call(self,val);args.splice(index,1);index--}return match}));createDebug.formatArgs.call(self,args);const logFn=self.log||createDebug.log;logFn.apply(self,args)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>enableOverride===null?createDebug.enabled(namespace):enableOverride,set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.names=[];createDebug.skips=[];let i;const split=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split.length;for(i=0;i<len;i++){if(!split[i]){continue}namespaces=split[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){createDebug.skips.push(new RegExp("^"+namespaces.substr(1)+"$"))}else{createDebug.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map((namespace=>"-"+namespace))].join(",");createDebug.enable("");return namespaces}function enabled(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true}}return false}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}function coerce(val){if(val instanceof Error){return val.stack||val.message}return 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`.")}createDebug.enable(createDebug.load());return createDebug}var common=setup;var browser=createCommonjsModule((function(module,exports){exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage=localstorage();exports.destroy=(()=>{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}}));args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports.storage.setItem("debug",namespaces)}else{exports.storage.removeItem("debug")}}catch(error){}}function load(){let r;try{r=exports.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module.exports=common(exports);const{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}));var hasFlag=(flag,argv=process.argv)=>{const prefix=flag.startsWith("-")?"":flag.length===1?"-":"--";const position=argv.indexOf(prefix+flag);const terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)};const os$2=require("os");const tty$2=require("tty");const{env}=process;let flagForceColor;if(hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")){flagForceColor=0}else if(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always")){flagForceColor=1}function envForceColor(){if("FORCE_COLOR"in env){if(env.FORCE_COLOR==="true"){return 1}if(env.FORCE_COLOR==="false"){return 0}return env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}}function translateLevel(level){if(level===0){return false}return{level,hasBasic:true,has256:level>=2,has16m:level>=3}}function supportsColor(haveStream,{streamIsTTY,sniffFlags=true}={}){const noFlagForceColor=envForceColor();if(noFlagForceColor!==undefined){flagForceColor=noFlagForceColor}const forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0){return 0}if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor")){return 3}if(hasFlag("color=256")){return 2}}if(haveStream&&!streamIsTTY&&forceColor===undefined){return 0}const min=forceColor||0;if(env.TERM==="dumb"){return min}if(process.platform==="win32"){const osRelease=os$2.release().split(".");if(Number(osRelease[0])>=10&&Number(osRelease[2])>=10586){return Number(osRelease[2])>=14931?3:2}return 1}if("CI"in env){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((sign=>sign in env))||env.CI_NAME==="codeship"){return 1}return min}if("TEAMCITY_VERSION"in env){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0}if(env.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in env){const version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(env.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)){return 1}if("COLORTERM"in env){return 1}return min}function getSupportLevel(stream,options={}){const level=supportsColor(stream,{streamIsTTY:stream&&stream.isTTY,...options});return translateLevel(level)}var supportsColor_1={supportsColor:getSupportLevel,stdout:getSupportLevel({isTTY:tty$2.isatty(1)}),stderr:getSupportLevel({isTTY:tty$2.isatty(2)})};var node=createCommonjsModule((function(module,exports){const tty=require("tty");const util=require("util");exports.init=init;exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.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`.");exports.colors=[6,2,3,4,5,1];try{const supportsColor=supportsColor_1;if(supportsColor&&(supportsColor.stderr||supportsColor).level>=2){exports.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(error){}exports.inspectOpts=Object.keys(process.env).filter((key=>/^debug_/i.test(key))).reduce(((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,((_,k)=>k.toUpperCase()));let val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val)){val=true}else if(/^(no|off|false|disabled)$/i.test(val)){val=false}else if(val==="null"){val=null}else{val=Number(val)}obj[prop]=val;return obj}),{});function useColors(){return"colors"in exports.inspectOpts?Boolean(exports.inspectOpts.colors):tty.isatty(process.stderr.fd)}function formatArgs(args){const{namespace:name,useColors}=this;if(useColors){const c=this.color;const colorCode="[3"+(c<8?c:"8;5;"+c);const prefix=` ${colorCode};1m${name} `;args[0]=prefix+args[0].split("\n").join("\n"+prefix);args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"")}else{args[0]=getDate()+name+" "+args[0]}}function getDate(){if(exports.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...args){return process.stderr.write(util.format(...args)+"\n")}function save(namespaces){if(namespaces){process.env.DEBUG=namespaces}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(debug){debug.inspectOpts={};const keys=Object.keys(exports.inspectOpts);for(let i=0;i<keys.length;i++){debug.inspectOpts[keys[i]]=exports.inspectOpts[keys[i]]}}module.exports=common(exports);const{formatters}=module.exports;formatters.o=function(v){this.inspectOpts.colors=this.useColors;return util.inspect(v,this.inspectOpts).split("\n").map((str=>str.trim())).join(" ")};formatters.O=function(v){this.inspectOpts.colors=this.useColors;return util.inspect(v,this.inspectOpts)}}));var src$1=createCommonjsModule((function(module){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){module.exports=browser}else{module.exports=node}}));const stream$2=require("stream");const util$3=require("util");const debug=src$1("serialport/stream");const DATABITS=Object.freeze([5,6,7,8]);const STOPBITS=Object.freeze([1,1.5,2]);const PARITY=Object.freeze(["none","even","mark","odd","space"]);const FLOWCONTROLS=Object.freeze(["xon","xoff","xany","rtscts"]);const defaultSettings=Object.freeze({autoOpen:true,endOnClose:false,baudRate:9600,dataBits:8,hupcl:true,lock:true,parity:"none",rtscts:false,stopBits:1,xany:false,xoff:false,xon:false,highWaterMark:64*1024});const defaultSetFlags=Object.freeze({brk:false,cts:false,dtr:true,dts:false,rts:true});function allocNewReadPool(poolSize){const pool=Buffer.allocUnsafe(poolSize);pool.used=0;return pool}function SerialPort(path,options,openCallback){if(!(this instanceof SerialPort)){return new SerialPort(path,options,openCallback)}if(options instanceof Function){openCallback=options;options={}}const settings={...defaultSettings,...options};stream$2.Duplex.call(this,{highWaterMark:settings.highWaterMark});const Binding=settings.binding||SerialPort.Binding;if(!Binding){throw new TypeError('"Bindings" is invalid pass it as `options.binding` or set it on `SerialPort.Binding`')}if(!path){throw new TypeError(`"path" is not defined: ${path}`)}if(settings.baudrate){throw new TypeError(`"baudrate" is an unknown option, did you mean "baudRate"?`)}if(typeof settings.baudRate!=="number"){throw new TypeError(`"baudRate" must be a number: ${settings.baudRate}`)}if(DATABITS.indexOf(settings.dataBits)===-1){throw new TypeError(`"databits" is invalid: ${settings.dataBits}`)}if(STOPBITS.indexOf(settings.stopBits)===-1){throw new TypeError(`"stopbits" is invalid: ${settings.stopbits}`)}if(PARITY.indexOf(settings.parity)===-1){throw new TypeError(`"parity" is invalid: ${settings.parity}`)}FLOWCONTROLS.forEach((control=>{if(typeof settings[control]!=="boolean"){throw new TypeError(`"${control}" is not boolean: ${settings[control]}`)}}));const binding=new Binding({bindingOptions:settings.bindingOptions});Object.defineProperties(this,{binding:{enumerable:true,value:binding},path:{enumerable:true,value:path},settings:{enumerable:true,value:settings}});this.opening=false;this.closing=false;this._pool=allocNewReadPool(this.settings.highWaterMark);this._kMinPoolSpace=128;if(this.settings.autoOpen){this.open(openCallback)}}util$3.inherits(SerialPort,stream$2.Duplex);Object.defineProperties(SerialPort.prototype,{isOpen:{enumerable:true,get(){return this.binding.isOpen&&!this.closing}},baudRate:{enumerable:true,get(){return this.settings.baudRate}}});SerialPort.prototype._error=function(error,callback){if(callback){callback.call(this,error)}else{this.emit("error",error)}};SerialPort.prototype._asyncError=function(error,callback){process.nextTick((()=>this._error(error,callback)))};SerialPort.prototype.open=function(openCallback){if(this.isOpen){return this._asyncError(new Error("Port is already open"),openCallback)}if(this.opening){return this._asyncError(new Error("Port is opening"),openCallback)}this.opening=true;debug("opening",`path: ${this.path}`);this.binding.open(this.path,this.settings).then((()=>{debug("opened",`path: ${this.path}`);this.opening=false;this.emit("open");if(openCallback){openCallback.call(this,null)}}),(err=>{this.opening=false;debug("Binding #open had an error",err);this._error(err,openCallback)}))};SerialPort.prototype.update=function(options,callback){if(typeof options!=="object"){throw TypeError('"options" is not an object')}if(!this.isOpen){debug("update attempted, but port is not open");return this._asyncError(new Error("Port is not open"),callback)}const settings={...defaultSettings,...options};this.settings.baudRate=settings.baudRate;debug("update",`baudRate: ${settings.baudRate}`);this.binding.update(this.settings).then((()=>{debug("binding.update","finished");if(callback){callback.call(this,null)}}),(err=>{debug("binding.update","error",err);return this._error(err,callback)}))};const superWrite=SerialPort.prototype.write;SerialPort.prototype.write=function(data,encoding,callback){if(Array.isArray(data)){data=Buffer.from(data)}return superWrite.call(this,data,encoding,callback)};SerialPort.prototype._write=function(data,encoding,callback){if(!this.isOpen){return this.once("open",(function afterOpenWrite(){this._write(data,encoding,callback)}))}debug("_write",`${data.length} bytes of data`);this.binding.write(data).then((()=>{debug("binding.write","write finished");callback(null)}),(err=>{debug("binding.write","error",err);if(!err.canceled){this._disconnected(err)}callback(err)}))};SerialPort.prototype._writev=function(data,callback){debug("_writev",`${data.length} chunks of data`);const dataV=data.map((write=>write.chunk));this._write(Buffer.concat(dataV),null,callback)};SerialPort.prototype._read=function(bytesToRead){if(!this.isOpen){debug("_read","queueing _read for after open");this.once("open",(()=>{this._read(bytesToRead)}));return}if(!this._pool||this._pool.length-this._pool.used<this._kMinPoolSpace){debug("_read","discarding the read buffer pool because it is below kMinPoolSpace");this._pool=allocNewReadPool(this.settings.highWaterMark)}const pool=this._pool;const toRead=Math.min(pool.length-pool.used,bytesToRead);const start=pool.used;debug("_read",`reading`,{start,toRead});this.binding.read(pool,start,toRead).then((({bytesRead})=>{debug("binding.read",`finished`,{bytesRead});if(bytesRead===0){debug("binding.read","Zero bytes read closing readable stream");this.push(null);return}pool.used+=bytesRead;this.push(pool.slice(start,start+bytesRead))}),(err=>{debug("binding.read",`error`,err);if(!err.canceled){this._disconnected(err)}this._read(bytesToRead)}))};SerialPort.prototype._disconnected=function(err){if(!this.isOpen){debug("disconnected aborted because already closed",err);return}debug("disconnected",err);err.disconnected=true;this.close(null,err)};SerialPort.prototype.close=function(callback,disconnectError){disconnectError=disconnectError||null;if(!this.isOpen){debug("close attempted, but port is not open");return this._asyncError(new Error("Port is not open"),callback)}this.closing=true;debug("#close");this.binding.close().then((()=>{this.closing=false;debug("binding.close","finished");this.emit("close",disconnectError);if(this.settings.endOnClose){this.emit("end")}if(callback){callback.call(this,disconnectError)}}),(err=>{this.closing=false;debug("binding.close","had an error",err);return this._error(err,callback)}))};SerialPort.prototype.set=function(options,callback){if(typeof options!=="object"){throw TypeError('"options" is not an object')}if(!this.isOpen){debug("set attempted, but port is not open");return this._asyncError(new Error("Port is not open"),callback)}const settings={...defaultSetFlags,...options};debug("#set",settings);this.binding.set(settings).then((()=>{debug("binding.set","finished");if(callback){callback.call(this,null)}}),(err=>{debug("binding.set","had an error",err);return this._error(err,callback)}))};SerialPort.prototype.get=function(callback){if(!this.isOpen){debug("get attempted, but port is not open");return this._asyncError(new Error("Port is not open"),callback)}debug("#get");this.binding.get().then((status=>{debug("binding.get","finished");if(callback){callback.call(this,null,status)}}),(err=>{debug("binding.get","had an error",err);return this._error(err,callback)}))};SerialPort.prototype.flush=function(callback){if(!this.isOpen){debug("flush attempted, but port is not open");return this._asyncError(new Error("Port is not open"),callback)}debug("#flush");this.binding.flush().then((()=>{debug("binding.flush","finished");if(callback){callback.call(this,null)}}),(err=>{debug("binding.flush","had an error",err);return this._error(err,callback)}))};SerialPort.prototype.drain=function(callback){debug("drain");if(!this.isOpen){debug("drain queuing on port open");return this.once("open",(()=>{this.drain(callback)}))}this.binding.drain().then((()=>{debug("binding.drain","finished");if(callback){callback.call(this,null)}}),(err=>{debug("binding.drain","had an error",err);return this._error(err,callback)}))};SerialPort.list=async function(callback){debug(".list");if(!SerialPort.Binding){throw new TypeError("No Binding set on `SerialPort.Binding`")}if(callback){throw new TypeError("SerialPort.list no longer takes a callback and only returns a promise")}return SerialPort.Binding.list()};var lib=SerialPort;lib.Binding=Binding;const sleep=ms=>new Promise((resolve=>setTimeout(resolve,ms)));class Board{cmdCache=new Map;cmdId=0;cmdQueue=[];connection=null;pendingConnection=null;constructor({type,address}){this.type=type;this.address=address;this.outputBuffer="";this.output=new require$$1$1.Readable({encoding:"ascii",read(){}})}async init(){try{await this._ensureConnection();try{await this._exec("42",{timeout:5e3})}catch(e){}try{return await this.info({cache:false,timeout:2e3})}catch(e){}console.log("Trying to reset before connecting...");try{await sleep(50);await this._exec("",{timeout:5e3});await sleep(500);return await this.info({cache:false,timeout:2e3})}catch(e){}console.log("Still trying to connect...");await this._write("");await sleep(1e3);return await this.info({cache:false,timeout:5e3})}finally{await sleep(500)}}async info(opts){return this._execCached("process.env",opts)}async gc(){return this._exec(`global['\\xFF'].history=[];process.memory();undefined;`)}async sendCode(code){}async writeFile(fileName,contents){const f=JSON.stringify(fileName);const large=contents.length>1e3;const after=large?`,0,${contents.length}`:"";const substr=contents.substring(0,1e3);await this._exec(`require('Storage').write(${f},${JSON.stringify(substr)}${after})`);for(let i=1e3;i<contents.length;i+=1e3){const substr=contents.substring(i,i+1e3);await this._exec(`require('Storage').write(${f},${JSON.stringify(substr)},${i})`)}}_ensureConnection(){return this.connection||this.pendingConnection||this._connect()}_connect(){return this.pendingConnection=new Promise(((resolve,reject)=>{let parsed,host,port,conn;const connected=()=>{if(this.connection)this.connection.end();this.cmdCache.clear();this.pendingConnection=null;this.connection=conn;conn.on("data",this._handleData.bind(this));resolve(conn)};try{if(this.address[0]==="/"){conn=new lib(this.address,{baudRate:115200,lock:false,highWaterMark:23},connected)}else{parsed=new URL(`http://${this.address}`);host=parsed.hostname;port=parseInt(parsed.port,10)||23;conn=net$2.connect({host,port},connected)}}catch(e){console.error(e)}conn.on("error",(err=>{console.log("Connection Error: ",err);if(err.code==="ENOTFOUND"){return reject(Error(`Failed to connect to address ${host}:${port}`))}reject(err)}))}))}_handleData(data){this.outputBuffer+=data.toString("ascii");if(this.outputBuffer[this.outputBuffer.length-1]!==">")return;this.outputBuffer=this.outputBuffer.replace(/(^|\n)>.*?\r\n(?:\:.*?\r\n)*/g,"$1");const lines=/.*?\r\n/g;const isRepl=/^(?:=|(?:\x1b\[J)?\$[RE]\$\d+ )/;let line;let index=0;while(line=lines.exec(this.outputBuffer)){index=lines.lastIndex;if(isRepl.test(line[0]))continue;this.output.push(line[0])}if(index)this.outputBuffer=this.outputBuffer.substring(index)}_execCached(expression,opts){const allowCache=!opts||opts.cache!==false;if(allowCache&&this.cmdCache.has(expression))return this.cmdCache.get(expression);const r=this._exec(expression,opts);this.cmdCache.set(expression,r);return r}_exec(expression,{timeout=0}={}){return new Promise(((resolve,reject)=>{if(this.cmdQueue.push({expression,resolve,reject,timeout})===1){this._processQueue()}}))}_written=[];_write(expression,{timeout=0}={}){return new Promise(((resolve,reject)=>{let timer;if(timeout&&timeout>0){timer=setTimeout((()=>{reject(Error("Timed out"))}),timeout)}this._written.push(expression);this.connection.write(expression,(err=>{clearTimeout(timer);if(err)reject(err);else resolve()}))}))}async resetPrompt(){try{await this._write(``)}catch(e){}}async recover(opts){return this._write("echo(1)\n",opts)}async _processQueue(){if(!this.cmdQueue.length)return;let c;try{c=await this._ensureConnection()}catch(e){console.error(`Failed to connect (retrying in 5s): ${e}`);return setTimeout(this._processQueue.bind(this),5e3)}const cmd=this.cmdQueue.shift();const id=++this.cmdId;let timer;if(cmd.timeout&&cmd.timeout>0){timer=setTimeout((()=>{done(Error("Timed out"))}),cmd.timeout)}const done=(err,data)=>{clearTimeout(timer);c.off("data",handler);if(err)cmd.reject(err);else cmd.resolve(data);setTimeout((()=>this._processQueue()),20)};let buffer="";const reg=new RegExp("(?:\\r\\n|\\r\\x1b\\[J|^)\\$(R|E)\\$"+id+" (.*?)\\r\\n");const handler=data=>{buffer+=data.toString("ascii");reg.lastIndex=0;const result=reg.exec(buffer);if(!result)return;let value,parseError;if(result[2]!=="undefined"){try{value=JSON.parse(result[2])}catch(e){parseError=e}}if(parseError){const err=new Error("Failed to parse response: "+parseError.message+"\n "+result[2]);done(err)}else if(result[1]==="E"){const err=new Error(value.message);err.stack=value.stack;done(err)}else{done(null,value)}};c.on("data",handler);try{const expr=cmd.expression.replace(/[\s;]+$/g,"");await this._write(`Promise.resolve().then(function(){try{return global.eval(${JSON.stringify(expr)})}catch(e){return Promise.reject(e);}}).then(r=>print('$R$${id}',JSON.stringify(r))).catch(e=>print('$E$${id}',JSON.stringify({message:e.message,stack:e.stack})))\n`)}catch(e){console.error(`Failed to execute command ${cmd.expression}: ${e}`);done(e)}}}var version$1="2.40.0";var charToInteger={};var chars$1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(var i=0;i<chars$1.length;i++){charToInteger[chars$1.charCodeAt(i)]=i}function decode(mappings){var decoded=[];var line=[];var segment=[0,0,0,0,0];var j=0;for(var i=0,shift=0,value=0;i<mappings.length;i++){var c=mappings.charCodeAt(i);if(c===44){segmentify(line,segment,j);j=0}else if(c===59){segmentify(line,segment,j);j=0;decoded.push(line);line=[];segment[0]=0}else{var integer=charToInteger[c];if(integer===undefined){throw new Error("Invalid character ("+String.fromCharCode(c)+")")}var hasContinuationBit=integer&32;integer&=31;value+=integer<<shift;if(hasContinuationBit){shift+=5}else{var shouldNegate=value&1;value>>>=1;if(shouldNegate){value=value===0?-2147483648:-value}segment[j]+=value;j++;value=shift=0}}}segmentify(line,segment,j);decoded.push(line);return decoded}function segmentify(line,segment,j){if(j===4)line.push([segment[0],segment[1],segment[2],segment[3]]);else if(j===5)line.push([segment[0],segment[1],segment[2],segment[3],segment[4]]);else if(j===1)line.push([segment[0]])}function encode$2(decoded){var sourceFileIndex=0;var sourceCodeLine=0;var sourceCodeColumn=0;var nameIndex=0;var mappings="";for(var i=0;i<decoded.length;i++){var line=decoded[i];if(i>0)mappings+=";";if(line.length===0)continue;var generatedCodeColumn=0;var lineMappings=[];for(var _i=0,line_1=line;_i<line_1.length;_i++){var segment=line_1[_i];var segmentMappings=encodeInteger(segment[0]-generatedCodeColumn);generatedCodeColumn=segment[0];if(segment.length>1){segmentMappings+=encodeInteger(segment[1]-sourceFileIndex)+encodeInteger(segment[2]-sourceCodeLine)+encodeInteger(segment[3]-sourceCodeColumn);sourceFileIndex=segment[1];sourceCodeLine=segment[2];sourceCodeColumn=segment[3]}if(segment.length===5){segmentMappings+=encodeInteger(segment[4]-nameIndex);nameIndex=segment[4]}lineMappings.push(segmentMappings)}mappings+=lineMappings.join(",")}return mappings}function encodeInteger(num){var result="";num=num<0?-num<<1|1:num<<1;do{var clamped=num&31;num>>>=5;if(num>0){clamped|=32}result+=chars$1[clamped]}while(num>0);return result}var BitSet=function BitSet(arg){this.bits=arg instanceof BitSet?arg.bits.slice():[]};BitSet.prototype.add=function add(n){this.bits[n>>5]|=1<<(n&31)};BitSet.prototype.has=function has(n){return!!(this.bits[n>>5]&1<<(n&31))};var Chunk$1=function Chunk(start,end,content){this.start=start;this.end=end;this.original=content;this.intro="";this.outro="";this.content=content;this.storeName=false;this.edited=false;Object.defineProperties(this,{previous:{writable:true,value:null},next:{writable:true,value:null}})};Chunk$1.prototype.appendLeft=function appendLeft(content){this.outro+=content};Chunk$1.prototype.appendRight=function appendRight(content){this.intro=this.intro+content};Chunk$1.prototype.clone=function clone(){var chunk=new Chunk$1(this.start,this.end,this.original);chunk.intro=this.intro;chunk.outro=this.outro;chunk.content=this.content;chunk.storeName=this.storeName;chunk.edited=this.edited;return chunk};Chunk$1.prototype.contains=function contains(index){return this.start<index&&index<this.end};Chunk$1.prototype.eachNext=function eachNext(fn){var chunk=this;while(chunk){fn(chunk);chunk=chunk.next}};Chunk$1.prototype.eachPrevious=function eachPrevious(fn){var chunk=this;while(chunk){fn(chunk);chunk=chunk.previous}};Chunk$1.prototype.edit=function edit(content,storeName,contentOnly){this.content=content;if(!contentOnly){this.intro="";this.outro=""}this.storeName=storeName;this.edited=true;return this};Chunk$1.prototype.prependLeft=function prependLeft(content){this.outro=content+this.outro};Chunk$1.prototype.prependRight=function prependRight(content){this.intro=content+this.intro};Chunk$1.prototype.split=function split(index){var sliceIndex=index-this.start;var originalBefore=this.original.slice(0,sliceIndex);var originalAfter=this.original.slice(sliceIndex);this.original=originalBefore;var newChunk=new Chunk$1(index,this.end,originalAfter);newChunk.outro=this.outro;this.outro="";this.end=index;if(this.edited){newChunk.edit("",false);this.content=""}else{this.content=originalBefore}newChunk.next=this.next;if(newChunk.next){newChunk.next.previous=newChunk}newChunk.previous=this;this.next=newChunk;return newChunk};Chunk$1.prototype.toString=function toString(){return this.intro+this.content+this.outro};Chunk$1.prototype.trimEnd=function trimEnd(rx){this.outro=this.outro.replace(rx,"");if(this.outro.length){return true}var trimmed=this.content.replace(rx,"");if(trimmed.length){if(trimmed!==this.content){this.split(this.start+trimmed.length).edit("",undefined,true)}return true}else{this.edit("",undefined,true);this.intro=this.intro.replace(rx,"");if(this.intro.length){return true}}};Chunk$1.prototype.trimStart=function trimStart(rx){this.intro=this.intro.replace(rx,"");if(this.intro.length){return true}var trimmed=this.content.replace(rx,"");if(trimmed.length){if(trimmed!==this.content){this.split(this.end-trimmed.length);this.edit("",undefined,true)}return true}else{this.edit("",undefined,true);this.outro=this.outro.replace(rx,"");if(this.outro.length){return true}}};var btoa$1=function(){throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")};if(typeof window!=="undefined"&&typeof window.btoa==="function"){btoa$1=function(str){return window.btoa(unescape(encodeURIComponent(str)))}}else if(typeof Buffer==="function"){btoa$1=function(str){return Buffer.from(str,"utf-8").toString("base64")}}var SourceMap$1=function SourceMap(properties){this.version=3;this.file=properties.file;this.sources=properties.sources;this.sourcesContent=properties.sourcesContent;this.names=properties.names;this.mappings=encode$2(properties.mappings)};SourceMap$1.prototype.toString=function toString(){return JSON.stringify(this)};SourceMap$1.prototype.toUrl=function toUrl(){return"data:application/json;charset=utf-8;base64,"+btoa$1(this.toString())};function guessIndent(code){var lines=code.split("\n");var tabbed=lines.filter((function(line){return/^\t+/.test(line)}));var spaced=lines.filter((function(line){return/^ {2,}/.test(line)}));if(tabbed.length===0&&spaced.length===0){return null}if(tabbed.length>=spaced.length){return"\t"}var min=spaced.reduce((function(previous,current){var numSpaces=/^ +/.exec(current)[0].length;return Math.min(numSpaces,previous)}),Infinity);return new Array(min+1).join(" ")}function getRelativePath(from,to){var fromParts=from.split(/[/\\]/);var toParts=to.split(/[/\\]/);fromParts.pop();while(fromParts[0]===toParts[0]){fromParts.shift();toParts.shift()}if(fromParts.length){var i=fromParts.length;while(i--){fromParts[i]=".."}}return fromParts.concat(toParts).join("/")}var toString$1=Object.prototype.toString;function isObject$1(thing){return toString$1.call(thing)==="[object Object]"}function getLocator$1(source){var originalLines=source.split("\n");var lineOffsets=[];for(var i=0,pos=0;i<originalLines.length;i++){lineOffsets.push(pos);pos+=originalLines[i].length+1}return function locate(index){var i=0;var j=lineOffsets.length;while(i<j){var m=i+j>>1;if(index<lineOffsets[m]){j=m}else{i=m+1}}var line=i-1;var column=index-lineOffsets[line];return{line,column}}}var Mappings=function Mappings(hires){this.hires=hires;this.generatedCodeLine=0;this.generatedCodeColumn=0;this.raw=[];this.rawSegments=this.raw[this.generatedCodeLine]=[];this.pending=null};Mappings.prototype.addEdit=function addEdit(sourceIndex,content,loc,nameIndex){if(content.length){var segment=[this.generatedCodeColumn,sourceIndex,loc.line,loc.column];if(nameIndex>=0){segment.push(nameIndex)}this.rawSegments.push(segment)}else if(this.pending){this.rawSegments.push(this.pending)}this.advance(content);this.pending=null};Mappings.prototype.addUneditedChunk=function addUneditedChunk(sourceIndex,chunk,original,loc,sourcemapLocations){var originalCharIndex=chunk.start;var first=true;while(originalCharIndex<chunk.end){if(this.hires||first||sourcemapLocations.has(originalCharIndex)){this.rawSegments.push([this.generatedCodeColumn,sourceIndex,loc.line,loc.column])}if(original[originalCharIndex]==="\n"){loc.line+=1;loc.column=0;this.generatedCodeLine+=1;this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0;first=true}else{loc.column+=1;this.generatedCodeColumn+=1;first=false}originalCharIndex+=1}this.pending=null};Mappings.prototype.advance=function advance(str){if(!str){return}var lines=str.split("\n");if(lines.length>1){for(var i=0;i<lines.length-1;i++){this.generatedCodeLine++;this.raw[this.generatedCodeLine]=this.rawSegments=[]}this.generatedCodeColumn=0}this.generatedCodeColumn+=lines[lines.length-1].length};var n="\n";var warned={insertLeft:false,insertRight:false,storeName:false};var MagicString=function MagicString(string,options){if(options===void 0)options={};var chunk=new Chunk$1(0,string.length,string);Object.defineProperties(this,{original:{writable:true,value:string},outro:{writable:true,value:""},intro:{writable:true,value:""},firstChunk:{writable:true,value:chunk},lastChunk:{writable:true,value:chunk},lastSearchedChunk:{writable:true,value:chunk},byStart:{writable:true,value:{}},byEnd:{writable:true,value:{}},filename:{writable:true,value:options.filename},indentExclusionRanges:{writable:true,value:options.indentExclusionRanges},sourcemapLocations:{writable:true,value:new BitSet},storedNames:{writable:true,value:{}},indentStr:{writable:true,value:guessIndent(string)}});this.byStart[0]=chunk;this.byEnd[string.length]=chunk};MagicString.prototype.addSourcemapLocation=function addSourcemapLocation(char){this.sourcemapLocations.add(char)};MagicString.prototype.append=function append(content){if(typeof content!=="string"){throw new TypeError("outro content must be a string")}this.outro+=content;return this};MagicString.prototype.appendLeft=function appendLeft(index,content){if(typeof content!=="string"){throw new TypeError("inserted content must be a string")}this._split(index);var chunk=this.byEnd[index];if(chunk){chunk.appendLeft(content)}else{this.intro+=content}return this};MagicString.prototype.appendRight=function appendRight(index,content){if(typeof content!=="string"){throw new TypeError("inserted content must be a string")}this._split(index);var chunk=this.byStart[index];if(chunk){chunk.appendRight(content)}else{this.outro+=content}return this};MagicString.prototype.clone=function clone(){var cloned=new MagicString(this.original,{filename:this.filename});var originalChunk=this.firstChunk;var clonedChunk=cloned.firstChunk=cloned.lastSearchedChunk=originalChunk.clone();while(originalChunk){cloned.byStart[clonedChunk.start]=clonedChunk;cloned.byEnd[clonedChunk.end]=clonedChunk;var nextOriginalChunk=originalChunk.next;var nextClonedChunk=nextOriginalChunk&&nextOriginalChunk.clone();if(nextClonedChunk){clonedChunk.next=nextClonedChunk;nextClonedChunk.previous=clonedChunk;clonedChunk=nextClonedChunk}originalChunk=nextOriginalChunk}cloned.lastChunk=clonedChunk;if(this.indentExclusionRanges){cloned.indentExclusionRanges=this.indentExclusionRanges.slice()}cloned.sourcemapLocations=new BitSet(this.sourcemapLocations);cloned.intro=this.intro;cloned.outro=this.outro;return cloned};MagicString.prototype.generateDecodedMap=function generateDecodedMap(options){var this$1=this;options=options||{};var sourceIndex=0;var names=Object.keys(this.storedNames);var mappings=new Mappings(options.hires);var locate=getLocator$1(this.original);if(this.intro){mappings.advance(this.intro)}this.firstChunk.eachNext((function(chunk){var loc=locate(chunk.start);if(chunk.intro.length){mappings.advance(chunk.intro)}if(chunk.edited){mappings.addEdit(sourceIndex,chunk.content,loc,chunk.storeName?names.indexOf(chunk.original):-1)}else{mappings.addUneditedChunk(sourceIndex,chunk,this$1.original,loc,this$1.sourcemapLocatio