dwt
Version:
Dynamic Web TWAIN is a TWAIN/ICA/SANE-based scanning SDK software specifically designed for web applications running on Windows/macOS/Linux. With just a few lines of code, you can develop robust applications to scan documents from TWAIN/ICA/SANE-compatibl
20 lines (17 loc) • 578 kB
JavaScript
/*!
* Dynamsoft JavaScript Library
* @product Dynamsoft Image IO WASM Worker JS
* @website http://www.dynamsoft.com
* @copyright Copyright 2022, Dynamsoft Corporation
* @author Dynamsoft
* @version 1.7.3 (2022-06-22T11:11:05.912Z)
* @fileoverview Dynamsoft JavaScript Library for Image IO WASM Worker
*
*/
var ImageIOModule = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(ImageIOModule) {
ImageIOModule = ImageIOModule || {};
var Module=typeof ImageIOModule!=="undefined"?ImageIOModule:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function getNativeTypeSize(type){switch(type){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(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var LDSO={nextHandle:1,loadedLibs:{"-1":{refcount:Infinity,name:"__self__",module:Module,global:true}},loadedLibNames:{"__self__":-1}};Module["LDSO"]=LDSO;function fetchBinary(url){return fetch(url,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load binary file at '"+url+"'"}return response["arrayBuffer"]()}).then(function(buffer){return new Uint8Array(buffer)})}function loadDynamicLibrary(lib,flags){flags=flags||{global:true,nodelete:true};var handle=LDSO.loadedLibNames[lib];var dso;if(handle){dso=LDSO.loadedLibs[handle];if(flags.global&&!dso.global){dso.global=true;if(dso.module!=="loading"){mergeLibSymbols(dso.module)}}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;return flags.loadAsync?Promise.resolve(handle):handle}handle=LDSO.nextHandle++;dso={refcount:flags.nodelete?Infinity:1,name:lib,module:"loading",global:flags.global};LDSO.loadedLibNames[lib]=handle;LDSO.loadedLibs[handle]=dso;function loadLibData(libFile){if(flags.fs){var libData=flags.fs.readFile(libFile,{encoding:"binary"});if(!(libData instanceof Uint8Array)){libData=new Uint8Array(lib_data)}return flags.loadAsync?Promise.resolve(libData):libData}if(flags.loadAsync){return flags.fetchRetry(libFile,flags.fetchOptions).then(function(response){if(!response["ok"]){throw"failed to load binary file at '"+libFile+"'"}return response["arrayBuffer"]()}).then(function(buffer){return new Uint8Array(buffer)})}return readBinary(libFile)}function createLibModule(libData){return loadWebAssemblyModule(libData,flags)}function getLibModule(){if(Module["preloadedWasm"]!==undefined&&Module["preloadedWasm"][lib]!==undefined){var libModule=Module["preloadedWasm"][lib];return flags.loadAsync?Promise.resolve(libModule):libModule}if(flags.loadAsync){return loadLibData(lib).then(function(libData){return createLibModule(libData)})}return createLibModule(loadLibData(lib))}function mergeLibSymbols(libModule){for(var sym in libModule){if(!libModule.hasOwnProperty(sym)){continue}var module_sym=sym;if(sym[0]!=="_"){continue}if(!Module.hasOwnProperty(module_sym)){Module[module_sym]=libModule[sym]}}}function moduleLoaded(libModule){if(dso.global){mergeLibSymbols(libModule)}dso.module=libModule}if(flags.loadAsync){return getLibModule().then(function(libModule){moduleLoaded(libModule);return handle})}moduleLoaded(getLibModule());return handle}function relocateExports(exports,memoryBase,tableBase,moduleLocal){var relocated={};for(var e in exports){var value=exports[e];if(typeof value==="object"){value=value.value}if(typeof value==="number"){value+=memoryBase}relocated[e]=value;if(moduleLocal){moduleLocal[e]=value}}return relocated}function loadWebAssemblyModule(binary,flags){var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);assert(int32View[0]==1836278016,"need to see wasm magic number");assert(binary[8]===0,"need the dylink section to be first");var next=9;function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[next++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}var sectionSize=getLEB();assert(binary[next]===6);next++;assert(binary[next]==="d".charCodeAt(0));next++;assert(binary[next]==="y".charCodeAt(0));next++;assert(binary[next]==="l".charCodeAt(0));next++;assert(binary[next]==="i".charCodeAt(0));next++;assert(binary[next]==="n".charCodeAt(0));next++;assert(binary[next]==="k".charCodeAt(0));next++;var memorySize=getLEB();var memoryAlign=getLEB();var tableSize=getLEB();var tableAlign=getLEB();var neededDynlibsCount=getLEB();var neededDynlibs=[];for(var i=0;i<neededDynlibsCount;++i){var nameLen=getLEB();var nameUTF8=binary.subarray(next,next+nameLen);next+=nameLen;var name=UTF8ArrayToString(nameUTF8,0);neededDynlibs.push(name)}function loadModule(){memoryAlign=Math.pow(2,memoryAlign);tableAlign=Math.pow(2,tableAlign);memoryAlign=Math.max(memoryAlign,STACK_ALIGN);var memoryBase=alignMemory(getMemory(memorySize+memoryAlign),memoryAlign);var env=asmLibraryArg;var table=wasmTable;var tableBase=table.length;var originalTable=table;table.grow(tableSize);assert(table===originalTable);for(var i=memoryBase;i<memoryBase+memorySize;i++){HEAP8[i]=0}for(var i=tableBase;i<tableBase+tableSize;i++){table.set(i,null)}var moduleLocal={};var resolveSymbol=function(sym,type,legalized){if(legalized){sym="orig$"+sym}var resolved=Module["asm"][sym];if(!resolved){resolved=Module[sym];if(!resolved){resolved=moduleLocal[sym]}}return resolved};for(var x in Module){if(!(x in env)){env[x]=Module[x]}}var proxyHandler={"get":function(obj,prop){switch(prop){case"__memory_base":case"gb":return memoryBase;case"__table_base":case"fb":return tableBase}if(prop in obj){return obj[prop]}if(prop.startsWith("g$")){var name=prop.substr(2);return obj[prop]=function(){return resolveSymbol(name,"global")}}if(prop.startsWith("fp$")){var parts=prop.split("$");assert(parts.length==3);var name=parts[1];var sig=parts[2];var legalized=sig.indexOf("j")>=0;var fp=0;return obj[prop]=function(){if(!fp){var f=resolveSymbol(name,"function",legalized);fp=addFunction(f,sig)}return fp}}if(prop.startsWith("invoke_")){return obj[prop]=invoke_X}return obj[prop]=function(){return resolveSymbol(prop,"function").apply(null,arguments)}}};var proxy=new Proxy(env,proxyHandler);var info={global:{"NaN":NaN,Infinity:Infinity},"global.Math":Math,env:proxy,wasi_snapshot_preview1:proxy,"asm2wasm":asm2wasmImports};function postInstantiation(instance,moduleLocal){var exports=relocateExports(instance.exports,memoryBase,tableBase,moduleLocal);var init=exports["__post_instantiate"];if(init){if(runtimeInitialized){init()}else{__ATINIT__.push(init)}}return exports}if(flags.loadAsync){if(flags.wasmModule){if(flags.log)flags.log("instantiate with wasm module.");return WebAssembly.instantiate(flags.wasmModule,info).then(function(result){return postInstantiation(result, moduleLocal)})}else{return WebAssembly.instantiate(binary, info).then(function(result){flags.wasmModule = result.module;return postInstantiation(result.instance,moduleLocal)})}} else{var instance=new WebAssembly.Instance(new WebAssembly.Module(binary),info);return postInstantiation(instance, moduleLocal)}}if(flags.loadAsync){return Promise.all(neededDynlibs.map(function(dynNeeded){return loadDynamicLibrary(dynNeeded,flags)})).then(function(){return loadModule()})}neededDynlibs.forEach(function(dynNeeded){loadDynamicLibrary(dynNeeded,flags)});return loadModule()}Module["loadWebAssemblyModule"]=loadWebAssemblyModule;function registerFunctions(sigs,newModule){sigs.forEach(function(sig){if(!Module["FUNCTION_TABLE_"+sig]){Module["FUNCTION_TABLE_"+sig]=[]}});var oldMaxx=alignFunctionTables();var newMaxx=alignFunctionTables(newModule);var maxx=oldMaxx+newMaxx;sigs.forEach(function(sig){var newTable=newModule["FUNCTION_TABLE_"+sig];var oldTable=Module["FUNCTION_TABLE_"+sig];assert(newTable!==oldTable);assert(oldTable.length===oldMaxx);for(var i=0;i<newTable.length;i++){oldTable.push(newTable[i])}assert(oldTable.length===maxx)});assert(maxx===alignFunctionTables())}Module["registerFunctions"]=registerFunctions;function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){type.parameters.push(typeNames[sig[i]])}return new WebAssembly.Function(type,func)}var typeSection=[1,0,1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={"i":127,"j":126,"f":125,"d":124};typeSection.push(sigParam.length);for(var i=0;i<sigParam.length;++i){typeSection.push(typeCodes[sigParam[i]])}if(sigRet=="v"){typeSection.push(0)}else{typeSection=typeSection.concat([1,typeCodes[sigRet]])}typeSection[1]=typeSection.length-2;var bytes=new Uint8Array([0,97,115,109,1,0,0,0].concat(typeSection,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{"e":{"f":func}});var wrappedFunc=instance.exports["f"];return wrappedFunc}var freeTableIndexes=[];var functionsInTableMap;function addFunctionWasm(func,sig){var table=wasmTable;if(!functionsInTableMap){functionsInTableMap=new WeakMap;for(var i=0;i<table.length;i++){var item=table.get(i);if(item){functionsInTableMap.set(item,i)}}}if(functionsInTableMap.has(func)){return functionsInTableMap.get(func)}var ret;if(freeTableIndexes.length){ret=freeTableIndexes.pop()}else{ret=table.length;try{table.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}}try{table.set(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}functionsInTableMap.set(func,ret);return ret}function removeFunctionWasm(index){functionsInTableMap.delete(wasmTable.get(index));freeTableIndexes.push(index)}function addFunction(func,sig){return addFunctionWasm(func,sig)}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=1024;GLOBAL_BASE=alignMemory(GLOBAL_BASE,16);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":4096,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=52176,STACKTOP=STACK_BASE,STACK_MAX=5295056,DYNAMIC_BASE=5295056,DYNAMICTOP_PTR=51984;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];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 initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};Module["preloadedWasm"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}addOnPreRun(function(){function loadDynamicLibraries(libs){if(libs){libs.forEach(function(lib){loadDynamicLibrary(lib,{global:true,nodelete:true})})}}if(Module["dynamicLibraries"]&&Module["dynamicLibraries"].length>0&&!readBinary){addRunDependency("preload_dynamicLibraries");Promise.all(Module["dynamicLibraries"].map(function(lib){return loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true})})).then(function(){removeRunDependency("preload_dynamicLibraries")});return}loadDynamicLibraries(Module["dynamicLibraries"])});function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="dynamsoft.imageio.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;exports=relocateExports(exports,GLOBAL_BASE,0);Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var tempDouble;var tempI64;__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=52160;function demangle(func){return func}Module["demangle"]=demangle;function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}Module["demangleAll"]=demangleAll;function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}Module["jsStackTrace"]=jsStackTrace;function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;function _AddAnnotationToPage(){return Module["_AddAnnotationToPage"].apply(null,arguments)}function _AddDIBToPage(){return Module["_AddDIBToPage"].apply(null,arguments)}function _AddImageToPage(){return Module["_AddImageToPage"].apply(null,arguments)}function _AddImageWatermarkToPage(){return Module["_AddImageWatermarkToPage"].apply(null,arguments)}function _AddPathToPage(){return Module["_AddPathToPage"].apply(null,arguments)}function _AddPdfPage(){return Module["_AddPdfPage"].apply(null,arguments)}function _AddTextToPage(){return Module["_AddTextToPage"].apply(null,arguments)}function _CreatePageFromImageDIB(){return Module["_CreatePageFromImageDIB"].apply(null,arguments)}function _CreatePageFromImageFileStream(){return Module["_CreatePageFromImageFileStream"].apply(null,arguments)}function _DIBChangeBitDepth(){return Module["_DIBChangeBitDepth"].apply(null,arguments)}function _DIBtoRGBA(){return Module["_DIBtoRGBA"].apply(null,arguments)}function _DeleteFile(){return Module["_DeleteFile"].apply(null,arguments)}function _DestroyDynamImageProc(){return Module["_DestroyDynamImageProc"].apply(null,arguments)}function _DynamImageProcAutoBrightnessAndContrast(){return Module["_DynamImageProcAutoBrightnessAndContrast"].apply(null,arguments)}function _DynamImageProcChangeBrightnessAndContrast(){return Module["_DynamImageProcChangeBrightnessAndContrast"].apply(null,arguments)}function _DynamImageProcColorFilter(){return Module["_DynamImageProcColorFilter"].apply(null,arguments)}function _DynamImageProcConvert(){return Module["_DynamImageProcConvert"].apply(null,arguments)}function _DynamImageProcConvertToBWScale(){return Module["_DynamImageProcConvertToBWScale"].apply(null,arguments)}function _DynamImageProcConvertToGrayScale(){return Module["_DynamImageProcConvertToGrayScale"].apply(null,arguments)}function _DynamImageProcCrop(){return Module["_DynamImageProcCrop"].apply(null,arguments)}function _DynamImageProcDocumentDetect(){return Module["_DynamImageProcDocumentDetect"].apply(null,arguments)}function _DynamImageProcDrawQuadrangle(){return Module["_DynamImageProcDrawQuadrangle"].apply(null,arguments)}function _DynamImageProcEqualize(){return Module["_DynamImageProcEqualize"].apply(null,arguments)}function _DynamImageProcErase(){return Module["_DynamImageProcErase"].apply(null,arguments)}function _DynamImageProcGetBlurryScore(){return Module["_DynamImageProcGetBlurryScore"].apply(null,arguments)}function _DynamImageProcGetBrightnessScore(){return Module["_DynamImageProcGetBrightnessScore"].apply(null,arguments)}function _DynamImageProcGetDataPointer(){return Module["_DynamImageProcGetDataPointer"].apply(null,arguments)}function _DynamImageProcGetErrorString(){return Module["_DynamImageProcGetErrorString"].apply(null,arguments)}function _DynamImageProcGetHeight(){return Module["_DynamImageProcGetHeight"].apply(null,arguments)}function _DynamImageProcGetSkewAngle(){return Module["_DynamImageProcGetSkewAngle"].apply(null,arguments)}function _DynamImageProcGetWidth(){return Module["_DynamImageProcGetWidth"].apply(null,arguments)}function _DynamImageProcInvert(){return Module["_DynamImageProcInvert"].apply(null,arguments)}function _DynamImageProcNormalize(){return Module["_DynamImageProcNormalize"].apply(null,arguments)}function _DynamImageProcPerspective(){return Module["_DynamImageProcPerspective"].apply(null,arguments)}function _DynamImageProcResize(){return Module["_DynamImageProcResize"].apply(null,arguments)}function _DynamImageProcRotateEX(){return Module["_DynamImageProcRotateEX"].apply(null,arguments)}function _DynamImageProcRotateFlipType(){return Module["_DynamImageProcRotateFlipType"].apply(null,arguments)}function _DynamImageProcSave(){return Module["_DynamImageProcSave"].apply(null,arguments)}function _DynamImageProcSetDPI(){return Module["_DynamImageProcSetDPI"].apply(null,arguments)}function _DynamImageProcSetDebugMode(){return Module["_DynamImageProcSetDebugMode"].apply(null,arguments)}function _DynamImageProcSetImageHeight(){return Module["_DynamImageProcSetImageHeight"].apply(null,arguments)}function _DynamImageProcSetImageWidth(){return Module["_DynamImageProcSetImageWidth"].apply(null,arguments)}function _DynamImageProcShadowRemovel(){return Module["_DynamImageProcShadowRemovel"].apply(null,arguments)}function _EndWritePdfPage(){return Module["_EndWritePdfPage"].apply(null,arguments)}function _FreeWatermarkAndFormXObject(){return Module["_FreeWatermarkAndFormXObject"].apply(null,arguments)}function _GetDIBMetaData(){return Module["_GetDIBMetaData"].apply(null,arguments)}function _GetDynamImageProcWasmVersion(){return Module["_GetDynamImageProcWasmVersion"].apply(null,arguments)}function _GetDynamicImageCoreWasmVersion(){return Module["_GetDynamicImageCoreWasmVersion"].apply(null,arguments)}function _GetDynamicPdfWWasmVersion(){return Module["_GetDynamicPdfWWasmVersion"].apply(null,arguments)}function _GetImageMetaData(){return Module["_GetImageMetaData"].apply(null,arguments)}function _GetJPEGExifData(){return Module["_GetJPEGExifData"].apply(null,arguments)}function _GetJPEGMetaData(){return Module["_GetJPEGMetaData"].apply(null,arguments)}function _GetPdfStream(){return Module["_GetPdfStream"].apply(null,arguments)}function _IfJPEGHaveExifInfo(){return Module["_IfJPEGHaveExifInfo"].apply(null,arguments)}function _InitDynamImageProc(){return Module["_InitDynamImageProc"].apply(null,arguments)}function _NewImageWatermark(){return Module["_NewImageWatermark"].apply(null,arguments)}function _NewWatermarkFormXObject(){return Module["_NewWatermarkFormXObject"].apply(null,arguments)}function _PDFInitFromJsonString(){return Module["_PDFInitFromJsonString"].apply(null,arguments)}function _RGBAtoDIB(){return Module["_RGBAtoDIB"].apply(null,arguments)}function _ReleasePdf(){return Module["_ReleasePdf"].apply(null,arguments)}function _RotateJPEGByExif(){return Module["_RotateJPEGByExif"].apply(null,arguments)}function _SaveDIBtoJP2(){return Module["_SaveDIBtoJP2"].apply(null,arguments)}function _SaveDIBtoJPEG(){return Module["_SaveDIBtoJPEG"].apply(null,arguments)}function _SaveDIBtoOnePageTiff(){return Module["_SaveDIBtoOnePageTiff"].apply(null,arguments)}function _SaveDIBtoPNG(){return Module["_SaveDIBtoPNG"].apply(null,arguments)}function _SaveRGBA_BGRAtoJPEG(){return Module["_SaveRGBA_BGRAtoJPEG"].apply(null,arguments)}function _SaveRGBA_BGRAtoPNG(){return Module["_SaveRGBA_BGRAtoPNG"].apply(null,arguments)}function _SetFileAttributes(){return Module["_SetFileAttributes"].apply(null,arguments)}function _SetPdfPageRotate(){return Module["_SetPdfPageRotate"].apply(null,arguments)}function __ZNSt12length_errorD1Ev(){return Module["__ZNSt12length_errorD1Ev"].apply(null,arguments)}function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_(){return Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_"].apply(null,arguments)}function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_(){return Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_"].apply(null,arguments)}function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_(){return Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_"].apply(null,arguments)}function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev(){return Module["__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev"].apply(null,arguments)}function __ZNSt3__24cerrE(){return Module["__ZNSt3__24cerrE"].apply(null,arguments)}function __ZNSt3__24coutE(){return Module["__ZNSt3__24coutE"].apply(null,arguments)}function __ZNSt3__25ctypeIcE2idE(){return Module["__ZNSt3__25ctypeIcE2idE"].apply(null,arguments)}function __ZNSt3__26localeC1ERKS0_(){return Module["__ZNSt3__26localeC1ERKS0_"].apply(null,arguments)}function __ZNSt3__26localeD1Ev(){return Module["__ZNSt3__26localeD1Ev"].apply(null,arguments)}function __ZTINSt3__213basic_istreamIcNS_11char_traitsIcEEEE(){return Module["__ZTINSt3__213basic_istreamIcNS_11char_traitsIcEEEE"].apply(null,arguments)}function __ZTINSt3__213basic_ostreamIcNS_11char_traitsIcEEEE(){return Module["__ZTINSt3__213basic_ostreamIcNS_11char_traitsIcEEEE"].apply(null,arguments)}function __ZTINSt3__214basic_iostreamIcNS_11char_traitsIcEEEE(){return Module["__ZTINSt3__214basic_iostreamIcNS_11char_traitsIcEEEE"].apply(null,arguments)}function __ZTINSt3__215basic_streambufIcNS_11char_traitsIcEEEE(){return Module["__ZTINSt3__215basic_streambufIcNS_11char_traitsIcEEEE"].apply(null,arguments)}function __ZTINSt3__219__shared_weak_countE(){return Module["__ZTINSt3__219__shared_weak_countE"].apply(null,arguments)}function __ZTISt12length_error(){return Module["__ZTISt12length_error"].apply(null,arguments)}function __ZTISt9exception(){return Module["__ZTISt9exception"].apply(null,arguments)}function __ZTVN10__cxxabiv116__enum_type_infoE(){return Module["__ZTVN10__cxxabiv116__enum_type_infoE"].apply(null,arguments)}function __ZTVN10__cxxabiv117__class_type_infoE(){return Module["__ZTVN10__cxxabiv117__class_type_infoE"].apply(null,arguments)}function __ZTVN10__cxxabiv120__si_class_type_infoE(){return Module["__ZTVN10__cxxabiv120__si_class_type_infoE"].apply(null,arguments)}function __ZTVN10__cxxabiv121__vmi_class_type_infoE(){return Module["__ZTVN10__cxxabiv121__vmi_class_type_infoE"].apply(null,arguments)}function __ZTVSt12length_error(){return Module["__ZTVSt12length_error"].apply(null,arguments)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}Module["___assert_fail"]=___assert_fail;function ___atomic_load_8(ptr,memmodel){return(setTempRet0(HEAP32[ptr+4>>2]),HEAP32[ptr>>2])|0}Module["___atomic_load_8"]=___atomic_load_8;function ___atomic_store_8(ptr,vall,valh,memmodel){HEAP32[ptr>>2]=vall;HEAP32[ptr+4>>2]=valh}Module["___atomic_store_8"]=___atomic_store_8;var ENV={};Module["ENV"]=ENV;function __getExecutableName(){return thisProgram||"./this.program"}Module["__getExecutableName"]=__getExecutableName;function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=__getExecutableName();poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}Module["___buildEnvironment"]=___buildEnvironment;function ___cxa_allocate_exception(size){return _malloc(size)}Module["___cxa_allocate_exception"]=___cxa_allocate_exception;var ___exception_infos={};Module["___exception_infos"]=___exception_infos;var ___exception_caught=[];Module["___exception_caught"]=___exception_caught;function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}Module["___exception_addRef"]=___exception_addRef;function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted}Module["___exception_deAdjust"]=___exception_deAdjust;function ___cxa_begin_catch(ptr){var info=___exception_infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exceptions--}if(info)info.rethrown=false;___exception_caught.push(ptr);___exception_addRef(___exception_deAdjust(ptr));return ptr}Module["___cxa_begin_catch"]=___cxa_begin_catch;var ___exception_last=0;Module["___exception_last"]=___exception_last;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}Module["___cxa_throw"]=___cxa_throw;function _llvm_cttz_i32(x){x=x|0;return(x?31-(Math_clz32(x^x-1)|0)|0:32)|0}Module["_llvm_cttz_i32"]=_llvm_cttz_i32;function ___gxx_personality_v0(){}Module["___gxx_personality_v0"]=___gxx_personality_v0;function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}Module["setErrNo"]=setErrNo;function ___map_file(pathname,size){setErrNo(63);return-1}Module["___map_file"]=___map_file;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};Module["PATH"]=PATH;var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};Module["PATH_FS"]=PATH_FS;var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;try{bytesRead=nodeFS.readSync(process.stdin.fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};Module["TTY"]=TTY;var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,new