web-audio-recorder-js
Version:
WebAudioRecorder.js is a JavaScript library that records audio input (Web Audio API AudioNode object) and encodes to audio file image (Blob object). It supports three encoding formats.
2 lines • 395 kB
JavaScript
(function(self){var Module=self.Mp3LameEncoderConfig;var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function e(e){process["stdout"].write(e+"\n")};if(!Module["printErr"])Module["printErr"]=function r(e){process["stderr"].write(e+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function i(e,i){e=nodePath["normalize"](e);var r=nodeFS["readFileSync"](e);if(!r&&e!=nodePath["resolve"](e)){e=path.join(__dirname,"..","src",e);r=nodeFS["readFileSync"](e)}if(r&&!i)r=r.toString();return r};Module["readBinary"]=function t(e){return Module["read"](e,true)};Module["load"]=function n(e){globalEval(read(e))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(e){if(!(e instanceof ExitStatus)){throw e}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function o(){throw"no read() available (jsc?)"}}Module["readBinary"]=function a(e){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(e))}var r=read(e,"binary");assert(typeof r==="object");return r};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function s(r){var e=new XMLHttpRequest;e.open("GET",r,false);e.send(null);return e.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function f(e){console.log(e)};if(!Module["printErr"])Module["printErr"]=function l(e){console.log(e)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(e){dump(e)}:function(e){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(e){document.title=e}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(e){eval.call(null,e)}if(!Module["load"]&&Module["read"]){Module["load"]=function u(e){globalEval(Module["read"](e))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(e[0]==="i"){var r=parseInt(e.substr(1));assert(r%8===0);return r/8}else{return 0}}}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){if(r==="double"||r==="i64"){if(e&7){assert((e&7)===4);e+=4}}else{assert((e&3)===0)}return e},getAlignSize:function(e,r,i){if(!i&&(e=="i64"||e=="double"))return 8;if(!e)return Math.min(r,8);return Math.min(r||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE)},dynCall:function(r,i,e){if(e&&e.length){if(!e.splice)e=Array.prototype.slice.call(e);e.splice(0,0,i);return Module["dynCall_"+r].apply(null,e)}else{return Module["dynCall_"+r].call(null,i)}},functionPointers:[],addFunction:function(r){for(var e=0;e<Runtime.functionPointers.length;e++){if(!Runtime.functionPointers[e]){Runtime.functionPointers[e]=r;return 2*(1+e)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[e]){Runtime.warnOnce.shown[e]=1;Module.printErr(e)}},funcWrappers:{},getFuncWrapper:function(r,e){assert(e);if(!Runtime.funcWrappers[e]){Runtime.funcWrappers[e]={}}var i=Runtime.funcWrappers[e];if(!i[r]){i[r]=function t(){return Runtime.dynCall(e,r,arguments)}}return i[r]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=STACKTOP;STACKTOP=STACKTOP+e|0;STACKTOP=STACKTOP+15&-16;return r},staticAlloc:function(e){var r=STATICTOP;STATICTOP=STATICTOP+e|0;STATICTOP=STATICTOP+15&-16;return r},dynamicAlloc:function(r){var e=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+r|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var i=enlargeMemory();if(!i){DYNAMICTOP=e;return 0}}return e},alignMemory:function(r,e){var i=r=Math.ceil(r/(e?e:16))*(e?e:16);return i},makeBigInt:function(e,r,i){var t=i?+(e>>>0)+ +(r>>>0)*+4294967296:+(e>>>0)+ +(r|0)*+4294967296;return t},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,r){if(!e){abort("Assertion failed: "+r)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);writeArrayToMemory(e,r);return r},stringToC:function(e){var r=0;if(e!==null&&e!==undefined&&e!==0){r=Runtime.stackAlloc((e.length<<2)+1);writeStringToMemory(e,r)}return r}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function e(u,l,s,i,o){var f=getCFunc(u);var n=[];var r=0;if(i){for(var e=0;e<i.length;e++){var a=toC[s[e]];if(a){if(r===0)r=Runtime.stackSave();n[e]=a(i[e])}else{n[e]=i[e]}}}var t=f.apply(null,n);if(l==="string")t=Pointer_stringify(t);if(r!==0){if(o&&o.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(r)});return}Runtime.stackRestore(r)}return t};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(r){var e=r.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every(function(e){return e==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map(function(r,e){return"$"+e});var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}})();Module["cwrap"]=cwrap;Module["ccall"]=ccall;function setValue(e,r,i,t){i=i||"i8";if(i.charAt(i.length-1)==="*")i="i32";switch(i){case"i1":HEAP8[e>>0]=r;break;case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+i)}}Module["setValue"]=setValue;function getValue(e,r,i){r=r||"i8";if(r.charAt(r.length-1)==="*")r="i32";switch(r){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(r,s,c,t){var l,n;if(typeof r==="number"){l=true;n=r}else{l=false;n=r.length}var u=typeof s==="string"?s:null;var e;if(c==ALLOC_NONE){e=t}else{e=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][c===undefined?ALLOC_STATIC:c](Math.max(n,u?1:s.length))}if(l){var t=e,f;assert((e&3)==0);f=e+(n&~3);for(;t<f;t+=4){HEAP32[t>>2]=0}f=e+n;while(t<f){HEAP8[t++>>0]=0}return e}if(u==="i8"){if(r.subarray||r.slice){HEAPU8.set(r,e)}else{HEAPU8.set(new Uint8Array(r),e)}return e}var o=0,i,d,h;while(o<n){var a=r[o];if(typeof a==="function"){a=Runtime.getFunctionIndex(a)}i=u||s[o];if(i===0){o++;continue}if(i=="i64")i="i32";setValue(e+o,a,i);if(h!==i){d=Runtime.getNativeTypeSize(i);h=i}o+=d}return e}Module["allocate"]=allocate;function getMemory(e){if(!staticSealed)return Runtime.staticAlloc(e);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(e);return _malloc(e)}Module["getMemory"]=getMemory;function Pointer_stringify(r,e){if(e===0||!r)return"";var s=0;var n;var i=0;while(1){n=HEAPU8[r+i>>0];s|=n;if(n==0&&!e)break;i++;if(e&&i==e)break}if(!e)e=i;var t="";if(s<128){var o=1024;var a;while(e>0){a=String.fromCharCode.apply(String,HEAPU8.subarray(r,r+Math.min(e,o)));t=t?t+a:a;r+=o;e-=o}return t}return Module["UTF8ToString"](r)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(i){var e="";while(1){var r=HEAP8[i++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(e,r){return writeAsciiToMemory(e,r,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(r,i){var e,t,n,a,s,f;var o="";while(1){e=r[i++];if(!e)return o;if(!(e&128)){o+=String.fromCharCode(e);continue}t=r[i++]&63;if((e&224)==192){o+=String.fromCharCode((e&31)<<6|t);continue}n=r[i++]&63;if((e&240)==224){e=(e&15)<<12|t<<6|n}else{a=r[i++]&63;if((e&248)==240){e=(e&7)<<18|t<<12|n<<6|a}else{s=r[i++]&63;if((e&252)==248){e=(e&3)<<24|t<<18|n<<12|a<<6|s}else{f=r[i++]&63;e=(e&1)<<30|t<<24|n<<18|a<<12|s<<6|f}}}if(e<65536){o+=String.fromCharCode(e)}else{var l=e-65536;o+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(o,i,e,a){if(!(a>0))return 0;var s=e;var t=e+a-1;for(var n=0;n<o.length;++n){var r=o.charCodeAt(n);if(r>=55296&&r<=57343)r=65536+((r&1023)<<10)|o.charCodeAt(++n)&1023;if(r<=127){if(e>=t)break;i[e++]=r}else if(r<=2047){if(e+1>=t)break;i[e++]=192|r>>6;i[e++]=128|r&63}else if(r<=65535){if(e+2>=t)break;i[e++]=224|r>>12;i[e++]=128|r>>6&63;i[e++]=128|r&63}else if(r<=2097151){if(e+3>=t)break;i[e++]=240|r>>18;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}else if(r<=67108863){if(e+4>=t)break;i[e++]=248|r>>24;i[e++]=128|r>>18&63;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}else{if(e+5>=t)break;i[e++]=252|r>>30;i[e++]=128|r>>24&63;i[e++]=128|r>>18&63;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}}i[e]=0;return e-s}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(e,r,i){return stringToUTF8Array(e,HEAPU8,r,i)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(t){var r=0;for(var i=0;i<t.length;++i){var e=t.charCodeAt(i);if(e>=55296&&e<=57343)e=65536+((e&1023)<<10)|t.charCodeAt(++i)&1023;if(e<=127){++r}else if(e<=2047){r+=2}else if(e<=65535){r+=3}else if(e<=2097151){r+=4}else if(e<=67108863){r+=5}else{r+=6}}return r}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(t){var e=0;var r="";while(1){var i=HEAP16[t+e*2>>1];if(i==0)return r;++e;r+=String.fromCharCode(i)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(i,r,e){if(e===undefined){e=2147483647}if(e<2)return 0;e-=2;var n=r;var o=e<i.length*2?e/2:i.length;for(var t=0;t<o;++t){var a=i.charCodeAt(t);HEAP16[r>>1]=a;r+=2}HEAP16[r>>1]=0;return r-n}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(e){return e.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(n){var i=0;var r="";while(1){var e=HEAP32[n+i*4>>2];if(e==0)return r;++i;if(e>=65536){var t=e-65536;r+=String.fromCharCode(55296|t>>10,56320|t&1023)}else{r+=String.fromCharCode(e)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(n,e,i){if(i===undefined){i=2147483647}if(i<4)return 0;var o=e;var a=o+i-4;for(var t=0;t<n.length;++t){var r=n.charCodeAt(t);if(r>=55296&&r<=57343){var s=n.charCodeAt(++t);r=65536+((r&1023)<<10)|s&1023}HEAP32[e>>2]=r;e+=4;if(e+4>a)break}HEAP32[e>>2]=0;return e-o}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(r){var i=0;for(var e=0;e<r.length;++e){var t=r.charCodeAt(e);if(t>=55296&&t<=57343)++e;i+=4}return i}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(r){var s=!!Module["___cxa_demangle"];if(s){try{var a=_malloc(r.length);writeStringToMemory(r.substr(1),a);var t=_malloc(4);var n=Module["___cxa_demangle"](a,0,0,t);if(getValue(t,"i32")===0&&n){return Pointer_stringify(n)}}catch(h){}finally{if(a)_free(a);if(t)_free(t);if(n)_free(n)}}var e=3;var u={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var f=[];var l=true;function d(i){if(i)Module.print(i);Module.print(r);var t="";for(var n=0;n<e;n++)t+=" ";Module.print(t+"^")}function c(){e++;if(r[e]==="K")e++;var i=[];while(r[e]!=="E"){if(r[e]==="S"){e++;var o=r.indexOf("_",e);var s=r.substring(e,o)||0;i.push(f[s]||"?");e=o+1;continue}if(r[e]==="C"){i.push(i[i.length-1]);e+=2;continue}var t=parseInt(r.substr(e));var n=t.toString().length;if(!t||!n){e--;break}var a=r.substr(e+n,t);i.push(a);f.push(a);e+=n+t}e++;return i}function i(d,s,_){s=s||Infinity;var a="",t=[];function m(){return"("+t.join(", ")+")"}var o;if(r[e]==="N"){o=c().join("::");s--;if(s===0)return d?[o]:o}else{if(r[e]==="K"||l&&r[e]==="L")e++;var n=parseInt(r.substr(e));if(n){var h=n.toString().length;o=r.substr(e+h,n);e+=h+n}}l=false;if(r[e]==="I"){e++;var w=i(true);var p=i(true,1,true);a+=p[0]+" "+o+"<"+w.join(", ")+">"}else{a=o}e:while(e<r.length&&s-->0){var f=r[e++];if(f in u){t.push(u[f])}else{switch(f){case"P":t.push(i(true,1,true)[0]+"*");break;case"R":t.push(i(true,1,true)[0]+"&");break;case"L":{e++;var E=r.indexOf("E",e);var n=E-e;t.push(r.substr(e,n));e+=n+2;break};case"A":{var n=parseInt(r.substr(e));e+=n.toString().length;if(r[e]!=="_")throw"?";e++;t.push(i(true,1,true)[0]+" ["+n+"]");break};case"E":break e;default:a+="?"+f;break e}}}if(!_&&t.length===1&&t[0]==="void")t=[];if(d){if(a){t.push(a+"?")}return t}else{return a+m()}}var o=r;try{if(r=="Object._main"||r=="_main"){return"main()"}if(typeof r==="number")r=Pointer_stringify(r);if(r[0]!=="_")return r;if(r[1]!=="_")return r;if(r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=i()}catch(h){o+="?"}if(o.indexOf("?")>=0&&!s){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var r=demangle(e);return e===r?e:e+" ["+r+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(r){e=r}if(!e.stack){return"(no stack trace available)"}}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(e){if(e%4096>0){e+=4096-e%4096}return e}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!new Int32Array(1)["subarray"]&&!!new Int32Array(1)["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(i){while(i.length>0){var e=i.shift();if(typeof e=="function"){e();continue}var r=e.func;if(typeof r==="number"){if(e.arg===undefined){Runtime.dynCall("v",r)}else{Runtime.dynCall("vi",r,[e.arg])}}else{r(e.arg===undefined?null:e.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(e){__ATINIT__.unshift(e)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(e){__ATMAIN__.unshift(e)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(e){__ATEXIT__.unshift(e)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(r,t,i){var n=i>0?i:lengthBytesUTF8(r)+1;var e=new Array(n);var o=stringToUTF8Array(r,e,0,e.length);if(t)e.length=o;return e}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(i){var t=[];for(var e=0;e<i.length;e++){var r=i[e];if(r>255){r&=255}t.push(String.fromCharCode(r))}return t.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(i,t,n){var r=intArrayFromString(i,n);var e=0;while(e<r.length){var o=r[e];HEAP8[t+e>>0]=o;e=e+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(r,i){for(var e=0;e<r.length;e++){HEAP8[i++>>0]=r[e]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(r,i,t){for(var e=0;e<r.length;++e){HEAP8[i++>>0]=r.charCodeAt(e)}if(!t)HEAP8[i>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(e,r,i){if(e>=0){return e}return r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e}function reSign(e,r,t){if(e<=0){return e}var i=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);if(e>=i&&(r<=32||e>i)){e=-2*i+e}return e}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function c(e,r){var n=e>>>16;var i=e&65535;var o=r>>>16;var t=r&65535;return i*t+(n*t+i*o<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(r){r=r>>>0;for(var e=0;e<32;e++){if(r&1<<31-e)return e}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(r){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var e=dependenciesFulfilled;dependenciesFulfilled=null;e()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+96992;__ATINIT__.push();memoryInitializer="Mp3LameEncoder.min.js.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e];HEAP8[tempDoublePtr+1]=HEAP8[e+1];HEAP8[tempDoublePtr+2]=HEAP8[e+2];HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e];HEAP8[tempDoublePtr+1]=HEAP8[e+1];HEAP8[tempDoublePtr+2]=HEAP8[e+2];HEAP8[tempDoublePtr+3]=HEAP8[e+3];HEAP8[tempDoublePtr+4]=HEAP8[e+4];HEAP8[tempDoublePtr+5]=HEAP8[e+5];HEAP8[tempDoublePtr+6]=HEAP8[e+6];HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _InitGainAnalysis(){Module["printErr"]("missing function: InitGainAnalysis");abort(-1)}function _AnalyzeSamples(){Module["printErr"]("missing function: AnalyzeSamples");abort(-1)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;var _floorf=Math_floor;Module["_memset"]=_memset;var _BDtoILow=true;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ___errno_state=0;function ___setErrNo(e){HEAP32[___errno_state>>2]=e;return e}function _strerror_r(e,r,i){if(e in ERRNO_MESSAGES){if(ERRNO_MESSAGES[e].length>i-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var t=ERRNO_MESSAGES[e];writeAsciiToMemory(t,r);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(e){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(e,_strerror.buffer,256);return _strerror.buffer}function _VBR_encode_frame(){Module["printErr"]("missing function: VBR_encode_frame");abort(-1)}function _abort(){Module["abort"]()}function _init_xrpow_core_sse(){Module["printErr"]("missing function: init_xrpow_core_sse");abort(-1)}var PATH={splitPath:function(e){var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:function(e,n){var i=0;for(var r=e.length-1;r>=0;r--){var t=e[r];if(t==="."){e.splice(r,1)}else if(t===".."){e.splice(r,1);i++}else if(i){e.splice(r,1);i--}}if(n){for(;i--;i){e.unshift("..")}}return e},normalize:function(e){var r=e.charAt(0)==="/",i=e.substr(-1)==="/";e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/");if(!e&&!r){e="."}if(e&&i){e+="/"}return(r?"/":"")+e},dirname:function(t){var r=PATH.splitPath(t),i=r[0],e=r[1];if(!i&&!e){return"."}if(e){e=e.substr(0,e.length-1)}return i+e},basename:function(e){if(e==="/")return"/";var r=e.lastIndexOf("/");if(r===-1)return e;return e.substr(r+1)},extname:function(e){return PATH.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return PATH.normalize(e.join("/"))},join2:function(e,r){return PATH.normalize(e+"/"+r)},resolve:function(){var e="",r=false;for(var i=arguments.length-1;i>=-1&&!r;i--){var t=i>=0?arguments[i]:FS.cwd();if(typeof t!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!t){return""}e=t+"/"+e;r=t.charAt(0)==="/"}e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/");return(r?"/":"")+e||"."},relative:function(i,t){i=PATH.resolve(i).substr(1);t=PATH.resolve(t).substr(1);function s(r){var e=0;for(;e<r.length;e++){if(r[e]!=="")break}var i=r.length-1;for(;i>=0;i--){if(r[i]!=="")break}if(e>i)return[];return r.slice(e,i-e+1)}var n=s(i.split("/"));var o=s(t.split("/"));var f=Math.min(n.length,o.length);var a=f;for(var e=0;e<f;e++){if(n[e]!==o[e]){a=e;break}}var r=[];for(var e=a;e<n.length;e++){r.push("..")}r=r.concat(o.slice(a));return r.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){TTY.ttys[e]={input:[],output:[],ops:r};FS.registerDevice(e,TTY.stream_ops);
},stream_ops:{open:function(e){var r=TTY.ttys[e.node.rdev];if(!r){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}e.tty=r;e.seekable=false},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,n,o,a,s){if(!e.tty||!e.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var i=0;for(var t=0;t<a;t++){var r;try{r=e.tty.ops.get_char(e.tty)}catch(f){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(r===undefined&&i===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(r===null||r===undefined)break;i++;n[o+t]=r}if(i){e.node.timestamp=Date.now()}return i},write:function(e,t,n,i,o){if(!e.tty||!e.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var r=0;r<i;r++){try{e.tty.ops.put_char(e.tty,t[n+r])}catch(a){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(i){e.node.timestamp=Date.now()}return r}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(ENVIRONMENT_IS_NODE){var n=256;var o=new Buffer(n);var i=0;var t=process.stdin.fd;var a=false;try{t=fs.openSync("/dev/stdin","r");a=true}catch(s){}i=fs.readSync(t,o,0,n,null);if(a){fs.closeSync(t)}if(i>0){e=o.slice(0,i).toString("utf-8")}else{e=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){e=window.prompt("Input: ");if(e!==null){e+="\n"}}else if(typeof readline=="function"){e=readline();if(e!==null){e+="\n"}}if(!e){return null}r.input=intArrayFromString(e,true)}return r.input.shift()},put_char:function(r,e){if(e===null||e===10){Module["print"](UTF8ArrayToString(r.output,0));r.output=[]}else{if(e!=0)r.output.push(e)}},flush:function(e){if(e.output&&e.output.length>0){Module["print"](UTF8ArrayToString(e.output,0));e.output=[]}}},default_tty1_ops:{put_char:function(r,e){if(e===null||e===10){Module["printErr"](UTF8ArrayToString(r.output,0));r.output=[]}else{if(e!=0)r.output.push(e)}},flush:function(e){if(e.output&&e.output.length>0){Module["printErr"](UTF8ArrayToString(e.output,0));e.output=[]}}}};var MEMFS={ops_table:null,mount:function(e){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(r,t,i,n){if(FS.isBlkdev(i)||FS.isFIFO(i)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var e=FS.createNode(r,t,i,n);if(FS.isDir(e.mode)){e.node_ops=MEMFS.ops_table.dir.node;e.stream_ops=MEMFS.ops_table.dir.stream;e.contents={}}else if(FS.isFile(e.mode)){e.node_ops=MEMFS.ops_table.file.node;e.stream_ops=MEMFS.ops_table.file.stream;e.usedBytes=0;e.contents=null}else if(FS.isLink(e.mode)){e.node_ops=MEMFS.ops_table.link.node;e.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(e.mode)){e.node_ops=MEMFS.ops_table.chrdev.node;e.stream_ops=MEMFS.ops_table.chrdev.stream}e.timestamp=Date.now();if(r){r.contents[t]=e}return e},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){var i=[];for(var r=0;r<e.usedBytes;++r)i.push(e.contents[r]);return i}return e.contents},getFileDataAsTypedArray:function(e){if(!e.contents)return new Uint8Array;if(e.contents.subarray)return e.contents.subarray(0,e.usedBytes);return new Uint8Array(e.contents)},expandFileStorage:function(e,r){if(e.contents&&e.contents.subarray&&r>e.contents.length){e.contents=MEMFS.getFileDataAsRegularArray(e);e.usedBytes=e.contents.length}if(!e.contents||e.contents.subarray){var i=e.contents?e.contents.buffer.byteLength:0;if(i>=r)return;var t=1024*1024;r=Math.max(r,i*(i<t?2:1.125)|0);if(i!=0)r=Math.max(r,256);var n=e.contents;e.contents=new Uint8Array(r);if(e.usedBytes>0)e.contents.set(n.subarray(0,e.usedBytes),0);return}if(!e.contents&&r>0)e.contents=[];while(e.contents.length<r)e.contents.push(0)},resizeFileStorage:function(e,r){if(e.usedBytes==r)return;if(r==0){e.contents=null;e.usedBytes=0;return}if(!e.contents||e.contents.subarray){var i=e.contents;e.contents=new Uint8Array(new ArrayBuffer(r));if(i){e.contents.set(i.subarray(0,Math.min(r,e.usedBytes)))}e.usedBytes=r;return}if(!e.contents)e.contents=[];if(e.contents.length>r)e.contents.length=r;else while(e.contents.length<r)e.contents.push(0);e.usedBytes=r},node_ops:{getattr:function(r){var e={};e.dev=FS.isChrdev(r.mode)?r.id:1;e.ino=r.id;e.mode=r.mode;e.nlink=1;e.uid=0;e.gid=0;e.rdev=r.rdev;if(FS.isDir(r.mode)){e.size=4096}else if(FS.isFile(r.mode)){e.size=r.usedBytes}else if(FS.isLink(r.mode)){e.size=r.link.length}else{e.size=0}e.atime=new Date(r.timestamp);e.mtime=new Date(r.timestamp);e.ctime=new Date(r.timestamp);e.blksize=4096;e.blocks=Math.ceil(e.size/e.blksize);return e},setattr:function(r,e){if(e.mode!==undefined){r.mode=e.mode}if(e.timestamp!==undefined){r.timestamp=e.timestamp}if(e.size!==undefined){MEMFS.resizeFileStorage(r,e.size)}},lookup:function(e,r){throw FS.genericErrors[ERRNO_CODES.ENOENT]},mknod:function(e,r,i,t){return MEMFS.createNode(e,r,i,t)},rename:function(e,r,i){if(FS.isDir(e.mode)){var t;try{t=FS.lookupNode(r,i)}catch(n){}if(t){for(var o in t.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete e.parent.contents[e.name];e.name=i;r.contents[i]=e;e.parent=r},unlink:function(e,r){delete e.contents[r]},rmdir:function(e,r){var i=FS.lookupNode(e,r);for(var t in i.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete e.contents[r]},readdir:function(e){var r=[".",".."];for(var i in e.contents){if(!e.contents.hasOwnProperty(i)){continue}r.push(i)}return r},symlink:function(r,i,t){var e=MEMFS.createNode(r,i,511|40960,0);e.link=t;return e},readlink:function(e){if(!FS.isLink(e.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e.link}},stream_ops:{read:function(t,o,a,s,e){var n=t.node.contents;if(e>=t.node.usedBytes)return 0;var r=Math.min(t.node.usedBytes-e,s);assert(r>=0);if(r>8&&n.subarray){o.set(n.subarray(e,e+r),a)}else{for(var i=0;i<r;i++)o[a+i]=n[e+i]}return r},write:function(a,t,i,r,n,s){if(!r)return 0;var e=a.node;e.timestamp=Date.now();if(t.subarray&&(!e.contents||e.contents.subarray)){if(s){e.contents=t.subarray(i,i+r);e.usedBytes=r;return r}else if(e.usedBytes===0&&n===0){e.contents=new Uint8Array(t.subarray(i,i+r));e.usedBytes=r;return r}else if(n+r<=e.usedBytes){e.contents.set(t.subarray(i,i+r),n);return r}}MEMFS.expandFileStorage(e,n+r);if(e.contents.subarray&&t.subarray)e.contents.set(t.subarray(i,i+r),n);else{for(var o=0;o<r;o++){e.contents[n+o]=t[i+o]}}e.usedBytes=Math.max(e.usedBytes,n+r);return r},llseek:function(r,t,i){var e=t;if(i===1){e+=r.position}else if(i===2){if(FS.isFile(r.node.mode)){e+=r.node.usedBytes}}if(e<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e},allocate:function(e,r,i){MEMFS.expandFileStorage(e.node,r+i);e.node.usedBytes=Math.max(e.node.usedBytes,r+i)},mmap:function(n,o,f,t,r,l,s){if(!FS.isFile(n.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var i;var a;var e=n.node.contents;if(!(s&2)&&(e.buffer===o||e.buffer===o.buffer)){a=false;i=e.byteOffset}else{if(r>0||r+t<n.node.usedBytes){if(e.subarray){e=e.subarray(r,r+t)}else{e=Array.prototype.slice.call(e,r,r+t)}}a=true;i=_malloc(t);if(!i){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}o.set(e,i)}return{ptr:i,allocated:a}},msync:function(e,r,i,t,n){if(!FS.isFile(e.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(n&2){return 0}var o=MEMFS.stream_ops.write(e,r,0,t,i,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var e=null;if(typeof window==="object")e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(e,"IDBFS used, but indexedDB not supported");return e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return MEMFS.mount.apply(null,arguments)},syncfs:function(r,i,e){IDBFS.getLocalSet(r,function(t,n){if(t)return e(t);IDBFS.getRemoteSet(r,function(r,t){if(r)return e(r);var o=i?t:n;var a=i?n:t;IDBFS.reconcile(o,a,e)})})},getDB:function(t,i){var e=IDBFS.dbs[t];if(e){return i(null,e)}var r;try{r=IDBFS.indexedDB().open(t,IDBFS.DB_VERSION)}catch(n){return i(n)}r.onupgradeneeded=function(r){var i=r.target.result;var t=r.target.transaction;var e;if(i.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){e=t.objectStore(IDBFS.DB_STORE_NAME)}else{e=i.createObjectStore(IDBFS.DB_STORE_NAME)}if(!e.indexNames.contains("timestamp")){e.createIndex("timestamp","timestamp",{unique:false})}};r.onsuccess=function(){e=r.result;IDBFS.dbs[t]=e;i(null,e)};r.onerror=function(e){i(this.error);e.preventDefault()}},getLocalSet:function(t,n){var o={};function a(e){return e!=="."&&e!==".."}function s(e){return function(r){return PATH.join2(e,r)}}var e=FS.readdir(t.mountpoint).filter(a).map(s(t.mountpoint));while(e.length){var r=e.pop();var i;try{i=FS.stat(r)}catch(f){return n(f)}if(FS.isDir(i.mode)){e.push.apply(e,FS.readdir(r).filter(a).map(s(r)))}o[r]={timestamp:i.mtime}}return n(null,{type:"local",entries:o})},getRemoteSet:function(i,e){var r={};IDBFS.getDB(i.mountpoint,function(i,t){if(i)return e(i);var n=t.transaction([IDBFS.DB_STORE_NAME],"readonly");n.onerror=function(r){e(this.error);r.preventDefault()};var o=n.objectStore(IDBFS.DB_STORE_NAME);var a=o.index("timestamp");a.openKeyCursor().onsuccess=function(n){var i=n.target.result;if(!i){return e(null,{type:"remote",db:t,entries:r})}r[i.primaryKey]={timestamp:i.key};i.continue()}})},loadLocalEntry:function(t,r){var e,i;try{var n=FS.lookupPath(t);i=n.node;e=FS.stat(t)}catch(o){return r(o)}if(FS.isDir(e.mode)){return r(null,{timestamp:e.mtime,mode:e.mode})}else if(FS.isFile(e.mode)){i.contents=MEMFS.getFileDataAsTypedArray(i);return r(null,{timestamp:e.mtime,mode:e.mode,contents:i.contents})}else{return r(new Error("node type not supported"))}},storeLocalEntry:function(r,e,i){try{if(FS.isDir(e.mode)){FS.mkdir(r,e.mode)}else if(FS.isFile(e.mode)){FS.writeFile(r,e.contents,{encoding:"binary",canOwn:true})}else{return i(new Error("node type not supported"))}FS.chmod(r,e.mode);FS.utime(r,e.timestamp,e.timestamp)}catch(t){return i(t)}i(null)},removeLocalEntry:function(e,r){try{var n=FS.lookupPath(e);var i=FS.stat(e);if(FS.isDir(i.mode)){FS.rmdir(e)}else if(FS.isFile(i.mode)){FS.unlink(e)}}catch(t){return r(t)}r(null)},loadRemoteEntry:function(i,t,e){var r=i.get(t);r.onsuccess=function(r){e(null,r.target.result)};r.onerror=function(r){e(this.error);r.preventDefault()}},storeRemoteEntry:function(i,t,n,e){var r=i.put(n,t);r.onsuccess=function(){e(null)};r.onerror=function(r){e(this.error);r.preventDefault()}},removeRemoteEntry:function(i,t,e){var r=i.delete(t);r.onsuccess=function(){e(null)};r.onerror=function(r){e(this.error);r.preventDefault()}},reconcile:function(i,r,n){var t=0;var a=[];Object.keys(i.entries).forEach(function(e){var o=i.entries[e];var n=r.entries[e];if(!n||o.timestamp>n.timestamp){a.push(e);t++}});var s=[];Object.keys(r.entries).forEach(function(e){var o=r.entries[e];var n=i.entries[e];if(!n){s.push(e);t++}});if(!t){return n(null)}var c=false;var l=0;var u=i.type==="remote"?i.db:r.db;var f=u.transaction([IDBFS.DB_STORE_NAME],"readwrite");var o=f.objectStore(IDBFS.DB_STORE_NAME);function e(r){if(r){if(!e.errored){e.errored=true;return n(r)}return}if(++l>=t){return n(null)}}f.onerror=function(r){e(this.error);r.preventDefault()};a.sort().forEach(function(i){if(r.type==="local"){IDBFS.loadRemoteEntry(o,i,function(r,t){if(r)return e(r);IDBFS.storeLocalEntry(i,t,e)})}else{IDBFS.loadLocalEntry(i,function(r,t){if(r)return e(r);IDBFS.storeRemoteEntry(o,i,t,e)})}});s.sort().reverse().forEach(function(i){if(r.type==="local"){IDBFS.removeLocalEntry(i,e)}else{IDBFS.removeRemoteEntry(o,i,e)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/)},mount:function(e){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(e.opts.root),0)},createNode:function(i,t,e,n){if(!FS.isDir(e)&&!FS.isFile(e)&&!FS.isLink(e)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var r=FS.createNode(i,t,e);r.node_ops=NODEFS.node_ops;r.stream_ops=NODEFS.stream_ops;return r},getMode:function(i){var e;try{e=fs.lstatSync(i);if(NODEFS.isWindows){e.mode=e.mode|(e.mode&146)>>1}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}return e.mode},realPath:function(e){var r=[];while(e.parent!==e){r.push(e.name);e=e.parent}r.push(e.mount.opts.root);r.reverse();return PATH.join.apply(null,r)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(e){if(e in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[e]}else{return e}},node_ops:{getattr:function(i){var t=NODEFS.realPath(i);var e;try{e=fs.lstatSync(t)}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}if(NODEFS.isWindows&&!e.blksize){e.blksize=4096}if(NODEFS.isWindows&&!e.blocks){e.blocks=(e.size+e.blksize-1)/e.blksize|0}return{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(t,e){var r=NODEFS.realPath(t);try{if(e.mode!==undefined){fs.chmodSync(r,e.mode);t.mode=e.mode}if(e.timestamp!==undefined){var n=new Date(e.timestamp);fs.utimesSync(r,n,n)}if(e.size!==undefined){fs.truncateSync(r,e.size)}}catch(i){if(!i.code)throw i;throw new FS.ErrnoError(ERRNO_CODES[i.code])}},lookup:function(e,r){var i=PATH.join2(NODEFS.realPath(e),r);var t=NODEFS.getMode(i);return NODEFS.createNode(e,r,t)},mknod:function(t,n,o,a){var e=NODEFS.createNode(t,n,o,a);var i=NODEFS.realPath(e);try{if(FS.isDir(e.mode)){fs.mkdirSync(i,e.mode)}else{fs.writeFileSync(i,"",{mode:e.mode})}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}return e},rename:function(r,i,t){var n=NODEFS.realPath(r);var o=PATH.join2(NODEFS.realPath(i),t);try{fs.renameSync(n,o)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(r,i){var t=PATH.join2(NODEFS.realPath(r),i);try{fs.unlinkSync(t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(r,i){var t=PATH.join2(NODEFS.realPath(r),i);try{fs.rmdirSync(t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(r){var i=NODEFS.realPath(r);try{return fs.readdirSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(r,i,t){var n=PATH.join2(NODEFS.realPath(r),i);try{fs.symlinkSync(t,n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(i){var e=NODEFS.realPath(i);try{e=fs.readlinkSync(e);e=NODEJS_PATH.relative(NODEJS_PATH.resolve(i.mount.opts.root),e);return e}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}}},stream_ops:{open:function(e){var i=NODEFS.realPath(e.node);try{if(FS.isFile(e.node.mode)){e.nfd=fs.openSync(i,NODEFS.flagsToPermissionString(e.flags))}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}},close:function(e){try{if(FS.isFile(e.node.mode)&&e.nfd){fs.closeSync(e.nfd)}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}},read:function(n,o,a,i,s){if(i===0)return 0;var t=new Buffer(i);var e;try{e=fs.readSync(n.nfd,t,0,i,s)}catch(f){throw new FS.ErrnoError(ERRNO_CODES[f.code])}if(e>0){for(var r=0;r<e;r++){o[a+r]=t[r]}}return e},write:function(t,n,e,r,o){var a=new Buffer(n.subarray(e,e+r));var i;try{i=fs.writeSync(t.nfd,a,0,r,o)}catch(s){throw new FS.ErrnoError(ERRNO_CODES[s.code])}return i},llseek:function(r,t,i){var e=t;if(i===1){e+=r.position}else if(i===2){if(FS.isFile(r.node.mode)){try{var n=fs.fstatSync(r.nfd);e+=n.size}catch(o){throw new FS.ErrnoError(ERRNO_CODES[o.code])}}}if(e<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e}}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(a,e){a=PATH.resolve(FS.cwd(),a);e=e||{};if(!a)return{path:"",node:null};var f={follow_mount:true,recurse_count:0};for(var s in f){if(e[s]===undefined){e[s]=f[s]}}if(e.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var n=PATH.normalizeArray(a.split("/").filter(function(e){return!!e}),false);var r=FS.root;var i="/";for(var t=0;t<n.length;t++){var o=t===n.length-1;if(o&&e.parent){break}r=FS.lookupNode(r,n[t]);i=PATH.join2(i,n[t]);if(FS.isMountpoint(r)){if(!o||o&&e.follow_mount){r=r.mounted.root}}if(!o||e.follow){var l=0;while(FS.isLink(r.mode)){var u=FS.readlink(i);i=PATH.resolve(PATH.dirname(i),u);var c=FS.lookupPath(i,{recurse_count:e.recurse_count});r=c.node;if(l++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:i,node:r}},getPath:function(e){var r;while(true){if(FS.isRoot(e)){var i=e.mount.mountpoint;if(!r)return i;return i[i.length-1]!=="/"?i+"/"+r:i+r}r=r?e.name+"/"+r:e.name;e=e.parent}},hashName:function